/***** 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;  
} 

/*-------- 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 --------*/
html{
	scroll-behavior: smooth;
}
body {
font-family: 'Montserrat', sans-serif;
}

a:link, a:visited, a:active {text-decoration:none;}
a:hover {text-decoration:none;}


hr{border:#000 1px solid;}

/*--- HEADER STYLES ---------------------*/
header {}

.header{
	display: flex;
font-family: 'Montserrat', sans-serif;
}
.header-top{
	height: 87px;
	font-size: 22px;
	
}


.header > .col-row > .col-lg-2{
	position: relative;
}
.header-top > .bg-blue{
	position: relative;
}
.header > .col-row > .col-lg-2:after{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
    left: calc(100% - 1px);
    width: 100px;
	clip-path: polygon(0 0, 100% 0%, 0% 100%);
	background: #f4f2ef;
	z-index: 5;
}
.header-top > .bg-blue:after{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
    left: calc(100% - 1px);
    width: 50px;
	clip-path: polygon(0 0, 100% 0%, 0% 100%);
	background: #002357;
	z-index: 5;
}

.header-top > .bg-black{
	box-sizing: border-box;
	padding-left: 25px;
}


.header-top a{
	color: #fff;
	-webkit-transition:.2s ease-in;  
	-moz-transition:.2s ease-in;  
	-o-transition:.2s ease-in;  
	transition:.2s ease-in;	
	line-height: 48px;
	padding: 0 14px;
}
.header-top a:hover{
	color: #ffa918 !important;
}
.header-top .bg-blue a{
	text-transform: uppercase;
	font-weight: 800;
}
.header-top .bg-blue a svg{
	padding-right: 10px;
}
.header-nav{
	height: 87px;
}

.hero{position: relative;}
.hero-slideshow{
	position: absolute;
	background-image: url("/siteart/cutout-1.jpg");
	background-position: 18.8% 50%;
	background-size: contain;
	background-repeat: no-repeat;
	left: 0;
	right: 0;
	bottom: 9.4%;
	top: 0;
	z-index: -1;
}
.hero-slideshow-alt{
	position: absolute;
	background-image: url("/siteart/cutout-2.jpg");
	background-position: 81.2% 50%;
	background-size: contain;
	background-repeat: no-repeat;
	left: 0;
	right: 0;
	bottom: 9.4%;
	top: 9.4%;
	z-index: -1;
}

/*---BODY--------------------------------*/
.relative{position: relative;}
.flex{display: flex;}
.flex-wrap{flex-wrap: wrap;}
.align-center{align-items: center; display: flex;}
.align-center:not(.col-row) > div{width: 100%; 
    box-sizing: border-box;}

.justify-around{justify-content: space-around;}
.justify-center{justify-content: center;}
.justify-right{justify-content: flex-end;}

.center{text-align: center;}

.bg-offwhite{
	background: #f4f2ef;
	color: #002357;
	font-family: 'Montserrat', sans-serif;
}
.bg-white{
	background: #fff;
	color: #002357;
	font-family: 'Montserrat', sans-serif;
}
.bg-blue{
	background: #002357;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
}
.bg-black{
	background: #020202;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
}
.bg-angle-blue-right{
	position: relative;
}
.bg-angle-blue-right:before{
	content: '';
	position: absolute;
	background: #002357;
	right: 0;
	top: 0;
	bottom: 0;
	left: 50%;
	
	clip-path: polygon(75% 0, 105% 0, 105% 100%, 0% 100%);
}

.panel{
	padding: 4.7%;
}
.rounded{
	-moz-border-radius: 28px;
	-o-border-radius: 28px;
	-webkit-border-radius: 28px;
	border-radius: 28px;
	overflow: hidden;
}

.frosted{
	backdrop-filter: blur(12px);
	background: rgba(244,242,239,0.8);
}

.padding-right{
	padding-right: 18.6%;	
}
.padding-left{
	padding-left: 18.6%;	
}
.padding-right-half{
	padding-right: 9.4%;
}
.padding-left-half{
	padding-left: 9.4%;
}

.heading{
	font-size: 24px;
	line-height: 24px;
	text-transform: uppercase;
	font-weight: 500;
	font-family: 'Montserrat', sans-serif;
	margin-bottom: 40px;
}
.heading-lg{
	font-size: 48px;
	line-height: 48px;
	text-transform: uppercase;
	font-weight: 800;
	font-family: 'Montserrat', sans-serif;
	margin-bottom: 40px;
}
.heading span{display: block;}



/* BUTTONS */

.social-icons{
	display: flex; flex-wrap: wrap;
	gap: 15px;
	margin: 40px;
}

.social-icons a{
	line-height: 60px;
	width: 60px;
	border: solid 3px #d6dadd;
	text-align: center;
	font-size: 22px;
	color: #002357;
	-moz-border-radius: 8px;
	-o-border-radius: 8px;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	-moz-transition: ease all 0.3s;
	-o-transition: ease all 0.3s;
	-webkit-transition: ease all 0.3s;
	transition: ease all 0.3s;
}
.social-icons a:hover{
	box-shadow: 0 0 15px 0 #d6dadd;
	background: rgba(244,242,239,0.8);
}

.large-cta{
	font-size: 36px;
	font-weight: 800;
	font-family: 'Montserrat', sans-serif;
}
.large-cta:hover{
	color: #f27e00;
}
/* TYPOGRAPHY */

.blue{
	color: #002357;
}
.white{
	color: #fff;
}
.orange{
	color: #f27e00;
}
.bg-blue .orange{
	color: #ff9a16;
}


.bg-offwhite p, .bg-white p, .bg-blue p, .bg-black p{
	font-size: 16px;
	line-height: 24px;
	font-family: 'Montserrat', sans-serif;
}
.bg-offwhite p:last-of-type, .bg-white p:last-of-type, .bg-blue p:last-of-type{
	margin-bottom: 40px;
}
/* COLUMNS */

.row-min-height{
	min-height: 90vh;
}
.col-row{display: flex; flex-wrap: wrap; position: relative;}
.nopad{padding: 0 !important;}

/*-------- FOOTER STYLES ----------------*/
footer{}

.footer{min-height: 300px;}

.footer a{
	-moz-transition: ease all 0.2s;
	-o-transition: ease all 0.2s;
	-webkit-transition: ease all 0.2s;
	transition: ease all 0.2s;
}



/*----INVENTORY STYLES - KEEP AT BOTTOM OF CSS----*/







/*---------- RESPONSIVE STYLES ----------*/
	.pad{
		padding: 100px 40px !important;
		box-sizing: border-box;
	}
@media (min-width: 1200px){
	.col-lg-12{
		width: 100%;
	}
	.col-lg-11{
		width: 91.66667%;
	}
	.col-lg-10{
		width: 83.33333%;
	}
	.col-lg-9{
		width: 75%;
	}
	.col-lg-8{
		width: 66.666667%;
	}
	.col-lg-7{
		width: 58.333333%;
	}
	.col-lg-6{
		width: 50%;
	}
	.col-lg-5{
		width: 41.66667%;
	}
	.col-lg-4{
		width: 33.33333%;
	}
	.col-lg-3{
		width: 25%;
	}
	.col-lg-2{
		width: 16.66667%;
	}
	.col-lg-1{
		width: 8.33333%;
	}
	.col-lg-hidden{display: none !important;}
	.nopad-lg{padding: 0 !important;}

}
@media (min-width: 992px) and (max-width: 1199px){
	
	
	.col-md-12{
		width: 100%;
	}
	.col-md-11{
		width: 91.66667%;
	}
	.col-md-10{
		width: 83.33333%;
	}
	.col-md-9{
		width: 75%;
	}
	.col-md-8{
		width: 66.666667%;
	}
	.col-md-7{
		width: 58.333333%;
	}
	.col-md-6{
		width: 50%;
	}
	.col-md-5{
		width: 41.66667%;
	}
	.col-md-4{
		width: 33.33333%;
	}
	.col-md-3{
		width: 25%;
	}
	.col-md-2{
		width: 16.66667%;
	}
	.col-md-1{
		width: 8.33333%;
	}
	.col-md-hidden{display: none !important;}
	.nopad-md{padding: 0 !important;}


	.header-top > .bg-blue:after{
		content: none;
	}
	.pad-md{
		padding: 40px 20px !important;
		box-sizing: border-box;
	}
}
@media (min-width: 768px) and (max-width: 991px){
	
	.col-sm-12{
		width: 100%;
	}
	.col-sm-11{
		width: 91.66667%;
	}
	.col-sm-10{
		width: 83.33333%;
	}
	.col-sm-9{
		width: 75%;
	}
	.col-sm-8{
		width: 66.666667%;
	}
	.col-sm-7{
		width: 58.333333%;
	}
	.col-sm-6{
		width: 50%;
	}
	.col-sm-5{
		width: 41.66667%;
	}
	.col-sm-4{
		width: 33.33333%;
	}
	.col-sm-3{
		width: 25%;
	}
	.col-sm-2{
		width: 16.66667%;
	}
	.col-sm-1{
		width: 8.33333%;
	}
	.col-sm-hidden{display: none !important;}
	
	.col-row{padding: 0 20px;}
	.nopad-sm{padding: 0 !important;}
	.pad-sm{
		padding: 40px 40px !important;
		box-sizing: border-box;
	}
	.heading-lg{font-size: 36px; line-height: 36px;}
	.justify-center-sm{justify-content: center;}

	.header-top > .bg-blue:after{
		content: none;
	}
	.flex-3-sm{order: 3;}
	.nopad-sm.rounded{border-radius: unset;}
}
@media (max-width: 767px){
	.col-xs-11{
		width: 91.66667%;
	}
	.col-xs-10{
		width: 83.33333%;
	}
	.col-xs-9{
		width: 75%;
	}
	.col-xs-8{
		width: 66.666667%;
	}
	.col-xs-7{
		width: 58.333333%;
	}
	.col-xs-6{
		width: 50%;
	}
	.col-xs-5{
		width: 41.66667%;
	}
	.col-xs-4{
		width: 33.33333%;
	}
	.col-xs-3{
		width: 25%;
	}
	.col-xs-2{
		width: 16.66667%;
	}
	.col-xs-1{
		width: 8.33333%;
	}
	.col-sm-12, .col-xs-12{width: 100%;}
	.col-xs-hidden{display: none !important;}
	.justify-center-xs{justify-content: center;}
	
	.col-row{padding: 0 20px;}
	.nopad-xs{padding: 0 !important;}
	.pad-xs{
		padding: 40px 40px !important;
		box-sizing: border-box;
	}
	.bg-angle-blue-right:before{content: none;}
	
	.header-top > .bg-blue:after{
		content: none;
	}
	.header > .col-row > .col-lg-2:after{
		width: 50px;
	}
	.bg-offwhite p, .bg-white p, .bg-blue p, .bg-black p{
		font-size: 14px;
	}
	
	.heading{font-size: 21px; line-height: 24px;}
	.heading-lg, .large-cta{font-size: 32px; line-height: 32px;}
	.flex-3-xs{order: 3;}
	.panel{
    	padding: 40px;
	}
	.frosted{backdrop-filter: unset; background: unset;}
	.btn-row{

		grid-template-columns: 100%;
		grid-row-gap: 15px;
	}
	
	.social-icons a {
		line-height: 52px;
		width: 52px;
	}
	.nopad-xs.rounded{border-radius: unset;}

	.custom-form .flex{flex-wrap: wrap; gap: 0px;}
	
	.pad{padding: 80px 40px 40px !important;}
	
}





