﻿/***** 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 i{
	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;
}
.blue{color: #002357;}
a.blue{ font-weight: 700;}
.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%;
}


/* HERO */

.btn-row {
    display: grid;
    grid-template-columns: calc(33.3333% - 10px) calc(33.3333% - 10px) calc(33.3333% - 10px);
    column-gap: 15px;
}
.btn-row a{
	-moz-border-radius: 8px;
	-o-border-radius: 8px;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	border: solid 3px #d6dadd;
	-moz-transition: ease all 0.3s;
	-o-transition: ease all 0.3s;
	-webkit-transition: ease all 0.3s;
	transition: ease all 0.3s;
}
.btn-row a:hover{
	box-shadow: 0 0 15px 0 #d6dadd;
	background: rgba(244,242,239,0.8);
}
.btn-row a img{
	display: block;
	margin: 25px auto 10px;
	max-width: 100%;
}
.btn-row a div, .btn-row a div{
	padding: 15px;
	text-align: center;
	color: #002357;
	font-size: 16px;
	text-transform: uppercase;
    font-weight: 700;
}


/* 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);
}

/* 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;
}
.small-cta{
	font-size: 16px;
	line-height: 24px;
	font-family: 'Montserrat', sans-serif;
	position: relative;
	font-weight: 800;
	-moz-transition: ease all 0.2s;
	-o-transition: ease all 0.2s;
	-webkit-transition: ease all 0.2s;
	transition: ease all 0.2s;
	padding: 10px !important;
	margin-left: -10px !important;
	margin-top: -10px !important; 
}
.small-cta:hover{
	filter: brightness(1.1);
}
.small-cta:after{
    content: "\f061";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
	position: absolute;
	left: 100%;
	font-size: 16px;
	line-height: 24px;
	-moz-transition: ease all 0.2s;
	-o-transition: ease all 0.2s;
	-webkit-transition: ease all 0.2s;
	transition: ease all 0.2s;
	
}
.small-cta:hover:after{
	left: calc(100% + 10px);
	
}
.large-cta{
	font-size: 36px;
	font-weight: 800;
	font-family: 'Montserrat', sans-serif;
}
.large-cta:hover{
	color: #f27e00;
}
.heading{
	font-size: 21px;
	line-height: 24px;
	text-transform: unset;
	font-weight: 500;
	font-family: 'Montserrat', sans-serif;
	margin-bottom: 40px;
}
.heading + p:last-of-type{
	margin-bottom: 40px;
}
.heading-lg{
	font-size: 40px;
	line-height: 40px;
	text-transform: uppercase;
	font-weight: 800;
	font-family: 'Montserrat', sans-serif;
	margin-bottom: 40px;
}
.heading span{display: block;}


.disc-list{
	list-style: disc;
	padding-left: 24px;
}
.disc-list li{
	margin-bottom: 10px;
}
/* COLUMNS */

.row-min-height{
	min-height: 90vh;
}
.col-row{display: flex; flex-wrap: wrap; position: relative;}
.nopad{padding: 0 !important;}

/* GRID */

.product-grid{
	display: grid;
	grid-template-columns: 25% 25% 25% 25%;
	gap: 15px;
}
.product-grid > div{
	display: block;
	background: #fff;
	color: #002357;
	padding: 15px 15px 40px;
	position: relative;
}
.product-grid > div .small-cta{
	position: absolute;
	bottom: 5px;
	left: 15px;
		font-weight: 400;
}
.product-grid > div .small-cta span{
	font-weight: 700;
	
}
.product-grid > div p{
	color: #002357;
}
.product-grid > div img{
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 10px;
	border: solid 1px #eee;
}

.bullet-list{
	list-style: disc;
    padding: 0 20px;
}
.bullet-list li{
	padding-left: 10px;
	margin-bottom: 5px;
	
}
.right-img{
	float: right;
	max-width: 100%;
	padding: 0 40px;
	margin: -40px 0;
}

/*--------FORM STYLES--------------------*/

.custom-form ::placeholder{
	color: #f4f2ef;
}
.custom-form input, .custom-form select{
	padding: 15px 15px 15px 0;
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	font-size: 14px;
	letter-spacing: 1px;
	color: #fff;
	line-height: 24px;
	resize: none;
	outline: none;
	border: none;
	background: none;
	border-bottom: solid #f4f2ef 1px;
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 15px;
}
.custom-form select option{
	background-color: #020202;
}
.custom-form .flex{
	gap: 15px;
}
.custom-form textarea{
	width: 100%;
	box-sizing: border-box;
	padding: 15px 15px 15px 0;
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	font-size: 14px;
	letter-spacing: 1px;
	color: #fff;
	line-height: 24px;
	resize: none;
	margin-bottom: 10px;
	background: none;
	outline: none;
	border: none;
	border-bottom: solid #f4f2ef 1px;
}

.CaptchaPanel{
	text-align: left !important;
}
.CaptchaPanel, .CaptchaAnswerPanel, .CaptchaImagePanel, .CaptchaMessagePanel, .CaptchaWhatsThisPanel{
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.CaptchaWhatsThisPanel a{
	color: #fff !important;
}

.custom-form .small-cta{appearance: none; border: none; outline: none; background: none; cursor: pointer;}
/*-------- 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;
}



	#cs-reviews-widget{
		width: 91.6%;
		margin: -25px auto 0; 
		padding-bottom: 20px;
		box-sizing: border-box;
	}
	.review-box{
		background: #f4f2ef;
		text-align: left;
		padding: 40px;
		border-radius: 20px;
		box-shadow: 0 0 12px 0 rgba(0,0,0,0.3);
		margin: 20px;
		min-height: 240px;
	}
	.review-box .heading{
		margin: 0;
	}
	.review-img{
		width: 90px;
		flex-shrink: 1;
	}
	
	@media screen and (max-width: 991px){
		#cs-reviews-widget{
			padding: 0 !important;
		}
	}



.custom-accordion{
	overflow: hidden;
	text-align: left;
}

.custom-accordion > div{
	padding: 32px 24px;
	background: #fff;
	color: #002357;
	display: block;
	
	cursor: pointer;
	font-size: 18px;
	line-height: 28px;
	letter-spacing: 0.05em;
	font-weight: 300;
	transition: ease all 0.2s;
	position: relative;
}
.custom-accordion > div.open{
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
	background: #f4f2ef;
}
.custom-accordion > div:after{
	content:'';
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	height: 1px;
	background: #fff;
	transition: ease all 0.3s;
}
.custom-accordion > div.open:after{
	content:'';
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	height: 1px;
	background: #f4f2ef;
}

.custom-accordion > div:hover{
	background: #f4f2ef;
}

.custom-accordion .drop-list .paragraph:not(.smaller){
	position: relative;
	padding-left: 24px !important;
}
.custom-accordion i.green{
	color: limegreen;
	position: absolute;
	left: -6px;
	transform: translateY(7px);
}
.custom-accordion > div i{
	color: #002357;
	padding-right: 14px;
	float: right;
}
.custom-accordion > ul p{
	margin: 0 !important;
}

.custom-accordion > .drop-list{
	padding: 32px 24px;
	background: #fff;
	color: #515160;
	display: block;
	font-weight: 200;
	
	font-size: 18px;
}
.custom-accordion .click.open i:before{
    content: "\f068";
}
.custom-accordion strong{font-weight: 700;}





/*----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 (max-width: 1439px){
	.header-top{
		height: unset;
	}
	.header-top > div{
		min-height: unset !important;
	}
	.header-top a{
		font-size: 16px;
		line-height: 60px;
	}
.heading-lg{
	font-size: 24px;
	line-height: 24px;
}
	    .btn-row a img {
        max-width: 50px;
    }
}
@media (min-width: 992px) and (max-width: 1199px){
	
	
	
.right-img{
	float: none;
	max-width: 100%;
	padding: 0 0;
	margin: -40px 0 0;
}
.product-grid{
	grid-template-columns: 50% 50%;
}
	
	.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){
	
.product-grid{
	grid-template-columns: 50% 50%;
}
	.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;
	}
	.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){
.product-grid{
	grid-template-columns: 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-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: 24px; line-height: 24px;}
	
	.flex-3-xs{order: 3;}
	.panel{
    	padding: 40px;
	}
	.frosted{backdrop-filter: unset; background: unset;}
	.btn-row{

		grid-template-columns: 100%;
		grid-row-gap: 15px;
	}
	
	.hero-slideshow, .hero-slideshow-alt{
		opacity: 0.1;
		background-size: cover;
	}
	.btn-row a img {
		max-width: 21%;
	}
	.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;}
	
	
.right-img{
	float: none;
	max-width: 100%;
	padding: 0 0;
	margin: -40px 0 0;
}
}





