﻿/***** BEGIN RESET *****/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	background: transparent;
	border: 0;
	margin: 0;
	padding: 0;	
}

ol, ul {
	list-style: none;
}

table{border-collapse:collapse; width:100%;}
td{vertical-align:top;}

/* Make HTML 5 elements display block-level for consistent styling */  
header, nav, article, footer, address {  
    display: block;  
} 
html{scroll-behavior: smooth;}

/*-------- COLORS --------

*/

/***** END RESET *****/
::-moz-selection {
    background: #000; 
    color: #fff;
    text-shadow: none;
}
::selection {
    background: #000;
    color: #fff;
    text-shadow: none;
}


/* Clearfix */
.cf:before,
.cf:after {
    content: " ";
    display: table;
}
.cf:after {
    clear: both;
}
.cf {
    *zoom: 1;
}

/*-------- BODY STYLES --------*/

body {

}

a:link, a:visited, a:active {text-decoration:none;}
a:hover {text-decoration:none;}


hr{border:#000 1px solid;}


/*---AESTHETIC--------------------------------*/

.white{
	color: #fff;
}
.green{
	color: #29af6f;
}
.light-blue{
	color: #4bb5ff;
}
.blue{
	color: #0068c7;
}
.dark-blue{
	color: #000035;
}
.light-red{
	color: #ff3545;
}
.red{
	color: #df0f1f;
}
.yellow{
	color: #ffebb0;
}
.offwhite{
	color: #e7e7f5;
}
.rounded{
	border-radius: 8px;
	overflow: hidden;
}
.bg-img{
	background-size: cover;
	background-position: center center;
}
.bg-tl{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
	background-size: auto auto;
	background-position: top left;
	background-repeat: no-repeat;
}
.bg-tr{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
	background-size: auto auto;
	background-position: top right;
	background-repeat: no-repeat;
}
.bg-bl{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
	background-size: auto auto;
	background-position: bottom left;
	background-repeat: no-repeat;
}
.bg-br{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
	background-size: auto auto;
	background-position: bottom right;
	background-repeat: no-repeat;
}

.bg-offwhite{
	background-color: #e7e7f5;
	color: #000035;
}
.bg-yellow{
	background-color: #ffebb0;
	color: #000035;
}
.bg-red{
	background-color: #df0f1f;
	color: #fff;
}
.bg-dark{
	background-color: #000035;
	color: #fff;
}
.bg-blue{
	background-color: #0068c7;
	color: #fff;
}

.hero.bg-overlay{
	position: relative;
}
.hero.bg-overlay:before{
	position: absolute;
	pointer-events: none;
	content: '';
	left: 0;
	right: 50%;
	top: 0;
	bottom: 0;
	opacity: 0.8;
	background: linear-gradient(to right, #031224, transparent);
}

/*---STRUCTURE--------------------------------*/

.relative{
	position: relative;
}
.pad-top{
	padding-top: max(120px, 5vw);
}
.pad-bottom{
	padding-bottom: max(120px, 5vw);
}

.pad-top-half{
	padding-top: max(60px, 2.5vw);
}
.pad-bottom-half{
	padding-bottom: max(60px, 2.5vw);
}
.cs-wrapper{
	padding-left:4.1665vw;
	padding-right:4.1665vw;
}
.cs-wrapper-extra{
	padding-left:8.333vw;
	padding-right:8.333vw;
}
/*---TEXT--------------------------------*/

.heading-xl, .heading-lg, .heading-md, .heading-sm, .heading-xs{
	font-family: "urbane-condensed", sans-serif;
	display: block;
    letter-spacing: -0.025em;
}

.heading-xl{
	font-weight: 700;
	text-transform: uppercase;
	font-size: clamp(36px, 6vw, 100px);
	line-height: 0.93;
	letter-spacing: normal;
	margin-bottom: 12px;
}
.heading-lg{
	font-weight: 700;
	text-transform: uppercase;
	font-size: clamp(24px, 2.9vw, 40px);
	line-height: 1;
	letter-spacing: normal;
}
.custom-form .heading-lg{
	font-size: clamp(24px, 2vw, 30px);
}
.heading-md{
	font-weight: 700;
	text-transform: uppercase;
	font-size: clamp(18px, 1.1vw, 24px);
	line-height: 1.1;
	letter-spacing: normal;
}
.heading-sm{
	font-weight: 700;
	text-transform: uppercase;
	font-size: 18px;
	line-height: 1.1;
}
.heading-xs{
	margin: 25px 0;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 14px;
	line-height: 1.3;
}
.brush-script.alt{
    font-feature-settings: "aalt" 2;
}
.brush-script{
    font-family: "brush-up-too", sans-serif;
    font-weight: 400;
    letter-spacing: -0.025em;
}
.paragraph{	
	font-family: "urbane-condensed", sans-serif;
	font-weight: 300;
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: normal;
}
.paragraph-sm{	
	font-family: "urbane-condensed", sans-serif;
	font-weight: 300;
	font-size: 14px;
	line-height: 1.3;
	letter-spacing: normal;
}

.paragraph-xs{	
	font-family: "urbane-condensed", sans-serif;
	font-weight: 300;
	font-size: 12px;
	line-height: 1.3;
	letter-spacing: normal;
	text-transform: none !important;
	margin-bottom: 4px;
	margin-top: 4px;
}


/*---BUTTONS--------------------------------*/

.cta{
	display: inline-block;
	padding: 0 18px 0;
	line-height: 48px;
	max-width: 100%;
	position: relative;
	font-family: "urbane-condensed", sans-serif;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 14px;
	color: #fff;
	background-color: #0068c7;
	text-align: center;
	border-radius: 8px;
    box-sizing: border-box;
}
.cta-red{
	color: #fff;
	background-color: #0068c7;
}
.cta-offwhite{
	color: #000035;
	background-color: #e7e7f5;
}
.cta-dark{
	color: #fff;
	background-color: #000035;
}
.cta-red{
	color: #fff;
	background-color: #df0f1f;
}
.cta-white{
	color: #000035;
	background-color: #fff;
}
.cta-yellow{
	background: #f7f7d6;
	color: #031224;
}
.cta-simple{
	
    font-family: "brush-up-too", sans-serif;
    font-weight: 400;
    letter-spacing: normal;
	padding-top: 6px;
}
.cta-simple i{
	padding-left: 6px;
}
.cta-align-center{
	margin: 0 auto !important;
	display: block;
	width: 200px;
}

@media screen and (min-width: 1200px){
	.cs-panel .cta-simple{
		font-size: 24px;
	}
	.cta-large{
		font-size: 24px;
		line-height: 60px;
	}
}
/* CUSTOM */

.cs-breadcrumbs{
    padding-top: 50px;
    padding-bottom: 20px;
    font-size: 13px;
	color: #fff !important;
    background-color: #2563eb;
	font-family: "urbane-condensed", sans-serif;
	
	background-size: cover;
	background-position: center center;
	background-image: url("/siteart/bg-blue-mountains.webp");
}
.cs-breadcrumbs a {
	display: inline-block;
    color: #fff;
}
.cs-breadcrumbs a:hover {
    color: #e7e7f5;
	text-decoration: underline;
}

.hero-controls{
		display: flex;
		gap: 10px;
		margin-top: 10px;
		
	}
.hero-controls i{
	padding-right: 10px;
		
	}
	.hero-controls > a{
		cursor: pointer;
		color: #e7e7f5;
	}
	.hero-controls > a.active{
		color: #fff;
	}
	.hero-content {
		display: flex;
		align-items: center;
    	height: inherit;
	}
	.hero-tabs{
		padding: 20px 2vw;
    	height: calc(100% - 34px);
	}
	.cat-grid{
		display: flex;
		flex-wrap: wrap;
		width: 100%;
	}
	.cat-box{
		flex-grow: 1;
		width: 200px;
	}
	
	.cat-box > div{
		margin: 10px;
		border-radius: 20px;
		background: #000035;
		padding: 30px;
		color: #fff;
		text-align: center;
		transition: ease all 0.3s;
    height: calc(100% - 20px);
    box-sizing: border-box;
	}
	.cat-box > div .cta-simple i{
		transition: ease all 0.3s;
	}
	.cat-box:hover > div .cta-simple i{
		transform: translateX(10px);
	}
	
	
	.cs-tab{
		display: none;
		animation: fadeInUp 0.3s forwards;
	}
	.cs-tab.active{
		display: flex;
		flex-wrap: wrap;
		width: 100%;
	}
	.cs-tab .cta-blue{
		margin: 10px;
		flex-grow: 1;
	}

@media screen and (max-width: 767px){
	.cat-box{
		width: 50%;
	}
	.hero-controls{
		gap: 5px;
	}
	.hero-controls i{
		font-size: 14px !important;
	}
	.tab-toggle{
		font-size: 14px;
	}
}

@media screen and (max-width: 1199px){
	.map-col iframe{
		border-radius: 0 !important; 
	}
	.map-col > div{
		margin-top: 0 !important;
		gap: 0 !important;
	}
	.map-col > div a{
		border-radius: 0 !important; 
		flex-grow: 1;
		
	}
}

	.cs-panel{
		margin: 10px;
		border-radius: 20px;
		background: #000035;
		padding: 30px;
		color: #fff;
		transition: ease all 0.3s;
		box-sizing: border-box;
    height: calc(100% - 20px);
	}
.bg-blue .cs-panel{
	background-color: #003fb1;
}
/*--------FORM STYLES--------------------*/

		.mv-home-search form{
			max-width: 100%;
			width: 300px;
			display: block;
			margin: 0 auto !important;
			position: relative;
		}
		.mv-home-search input{
			-webkit-transition: background-color .25s ease-in-out;
			-o-transition: background-color .25s ease-in-out;
			transition: background-color .25s ease-in-out;
			width: 100%;
			height: 48px !important;
			font-family: "urbane-condensed", sans-serif;
			font-weight: 400;
			font-size: 14px;
			line-height: 48px !important;
			color: #000035;
			background: #e7e7f5;
			text-transform: none;
			letter-spacing: 0em;
			padding-right: 20px;
			border: none;
			border-radius: 8px;
			padding-left: 20px;
			box-sizing: border-box;
		}
		.mv-home-search button{
			font-family: "urbane-condensed", sans-serif;
			position: absolute;
			width: 40px !important;
			text-align: center;
			border: none;
			padding: 0;
			font-size: 14px;
			appearance: none;
			outline: none;
			right: 6px;
			top: 6px;
			bottom: 6px;
			cursor: pointer;
			border-radius: 8px;
			display: flex; align-items: center; justify-content: center;
		}

/* FORM PAGINATION */

		#multiStepForm {
			position: relative;
			display: block;
		  	margin: 0 auto;
			font-family: "urbane-condensed", sans-serif;
			padding: 4vw;
			border-radius: 8px;
			background-color: #000035;
			color:#fff;
			box-shadow: 0 0 24px 0 rgba(0,0,0,0.1);
		}
		#multiStepForm .nav-buttons {
			margin-left: 1px;
			display: flex; gap: 10px;
			
		}
		#multiStepForm .swiper-pagination{
			display: flex;
			gap: 0;
			position: relative;
			margin-top: 30px;
			margin-bottom: 30px;
			border-radius: 90px;
			overflow: hidden;
		}
		#multiStepForm .form-swiper .heading-md{
			margin-bottom: 12px;
		}
		#multiStepForm .swiper-pagination > .swiper-pagination-bullet{
			width: 100%; margin: 0;
			border-radius: 0;
			background-color: dodgerblue !important;
    		opacity: 1;
		}
		#multiStepForm .swiper-pagination > .swiper-pagination-bullet-active ~ .swiper-pagination-bullet{
			background-color: #e7e7f5 !important;
		}

		.form-swiper button {
		  margin-top: 1.5rem;
		  border: none;
		  border-radius: 4px;
		  cursor: pointer;
		  background: #2563eb;
		  color: #fff;
			transition: ease all 0.2s;
		}
		.form-swiper button:hover {
		  background: #2563eb;
		}
		.form-swiper button.prev-btn {
		  background: #6b7280;
		}
		.form-swiper button.prev-btn:hover {
		  background: #6b7280;
		}
		.form-swiper .submit-btn {
		  background: #16a34a;
		}
		.form-swiper .submit-btn:hover {
		  background: #16a34a;
		}

.custom-form input, .custom-form select{
	padding: 10px;
	font-weight: 300;
	font-size: 14px;
	color: #fff;
	line-height: 24px;
	resize: none;
	outline: none;
	border: none;
	box-sizing: border-box;
	width: 100%;
	border-bottom: solid 1px #e7e7f5;
	background: transparent !important;
	border-radius: 0;
	margin-bottom: 10px;    
	font-family: "urbane-condensed", sans-serif !important;
}
.custom-form input[type="radio"], .custom-form input[type="checkbox"]{
	width: 24px;
    height: 14px;
}

.custom-form .flex{
	gap: 10px;
	display: flex;
}
.custom-form textarea{
	width: 100%;
	box-sizing: border-box;
	padding: 10px;
	font-weight: 300;
	font-size: 14px;
	color: #fff;
	line-height: 24px;
	resize: none;
	margin-bottom: 10px;
	border: none;
	border-bottom: solid 1px #e7e7f5;
	background: transparent !important;
	border-radius: 0;
	outline: none;
	font-family: "urbane-condensed", sans-serif !important;
}


.custom-form select option{
	background: #fff !important;
	color: #000035 !important;
}
.custom-form ::placeholder{
	color: #e7e7f5 !important;
}
.custom-form input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1); /* Turns a dark icon white */
}
#formcaptcha {
    position: absolute;
    left: 4vw;
    top: calc(100% - 4vw - 72px);
    padding: 10px;
    border-radius: 8px;
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.3);
	background: #525271;
	z-index: 100;
    width: 215px;
}
#formcaptcha button {
	border: unset;
	outline: unset;
	appearance: none;
	cursor: pointer;
	border-radius: 8px;
	margin-top: 12px;
	background: #df0f1f !important;
}
#formcaptcha i {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 18px;
	text-align: center;
	font-size: 18px;
	color: #525271;
	cursor: pointer;
	padding: 4px;
	background: #e7e7f5;
	border-radius: 4px;
}
.CaptchaPanel{
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
	font-family: "urbane-condensed", sans-serif !important;
}
.CaptchaPanel img{
	border: unset !important;
	border-radius: 10px;
	width: 100%;
}
.CaptchaPanel, .CaptchaAnswerPanel, .CaptchaImagePanel, .CaptchaMessagePanel{
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.CaptchaWhatsThisPanel a{
	color: #fff !important;
}
.CaptchaMessagePanel, .CaptchaWhatsThisPanel{
	padding: 0 !important;
	font-size: 12px;
}


.bg-white .cs-hours-dropdown{
	font-family: "urbane-condensed", sans-serif;
	text-transform: uppercase;
    padding: 10px 20px;
    background: #e7e7f5;
	color: #000035;
	font-weight: 700;
    border-radius: 5px;
	line-height: 2;
}
.bg-white .cs-hours-dropdown .is-today .cs-hours-time{
	color: #0068c7 !important;
}

.bg-white .cs-hours-time{
	color: #0068c7;
	float: right;
}
.bg-white .paragraph-xs{
	margin: 10px 0;
}
/*-------- FOOTER STYLES ----------------*/

.icon-list li{
	position: relative;
	padding-left: 40px;
}
.icon-list li i{
	position: absolute;
	left: 0;
	top: 10px;
	width: 24px;
	text-align: center;
}
.cs-footer a{
	color: #000035;
}


.cs-footer .yellow{
	color: #df0f1f !important;
}
.cs-footer .cs-hours-status{
	font-weight: 700; padding-right: 20px;
}
.cs-footer .cs-hours-value{
	font-weight: 700; 
}
/*---------- RESPONSIVE STYLES ----------*/

@media only screen and (max-width: 1200px) {

	
}
@media only screen and (max-width: 767px) {

	.custom-form .flex{flex-wrap: wrap; gap: 0px;}
.cs-wrapper-extra{
	padding-left:4.1665vw;
	padding-right:4.1665vw;
}
	#multiStepForm{
		padding: 30px;
	}
}






