﻿/***** 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: #082f56; 
    color: #fff;
    text-shadow: none;
}
::selection {
    background: #082f56;
    color: #fff;
    text-shadow: none;
}


/* Clearfix */
.cf:before,
.cf:after {
    content: " ";
    display: table;
}
.cf:after {
    clear: both;
}
.cf {
    *zoom: 1;
}

/*-------- BODY STYLES --------*/

body {
	font-family: "pragmatica", sans-serif;
	font-weight: 300;
	font-style: normal;
}

a:link, a:visited, a:active {text-decoration:none;}
a:hover {text-decoration:none;}


hr{border:#eee 1px solid;}

/*--- HEADER STYLES ---------------------*/
header {}

.header{
	font-family: "pragmatica", sans-serif;
	font-weight: 300;
	font-style: normal;
	display: flex; 
	justify-content: space-between;
    align-items: center;
	line-height: 70px;
	padding: 20px 40px;
}
.secondary .header{margin: 0 !important;}
.header .menu-toggle, .menu-phone{
	font-family: "pragmatica", sans-serif;
	font-weight: 700;
	font-size: 22px;
	color: #004080;
	width: 77px;
	text-align: center;
}


/*---BODY--------------------------------*/

.padding-vertical{padding: 100px 0;}
.halfpad-bottom{padding-bottom: 50px;}
.nopad-top{padding-top: 0 !important;}
.wrapper{padding: 0 8.1%;}

.flex{display: flex;}
.flex-wrap{flex-wrap: wrap;}
.justify-center{justify-content: center;}
.align-center{align-items: center;}

.col25{width: 25%;}
.col50{width: 50%;}

.col25.border-right{position: relative;}
.col25.border-right:before{
    content: '';
    background: #a3bbd0;
    display: block;
    width: 1px;
    top: -14px;
    bottom: -14px;
    right: 25%;
    position: absolute;
}
/* BUTTONS */

.btn-grid{
	display: flex; 
	flex-wrap: wrap;
	padding: 0 20px 20px;
	
}
.btn-grid a h2, .btn-grid a div{
	position: relative;
	top: 0;
	transition: ease all 0.2s;
}
.btn-grid a:hover div{
	background: #fff !important;
	color: #004080 !important;
}
.btn-grid a:hover h2, .btn-grid a:hover div{
	top: 7px;
}
.btn-grid a{
	-moz-background-size: cover;
	-o-background-size: cover;
	-webkit-background-size: cover;
	background-size: cover;
	
	-moz-background-position: center center;
	-o-background-position: center center;
	-webkit-background-position: center center;
	background-position: center center;
	
	
	padding: 60px 40px;
	
	border-bottom: 14px solid #004080;
	color: #fff;
	
	text-transform: uppercase;
	
	width: calc(25% - 40px);
	box-sizing: border-box;
	margin: 20px;
	position: relative;
	background-color: black;
	
}
.btn-grid a:before{
	top: 100%;
	bottom: 0;
	left: 0;
	right: 0;
	content: '';
	position: absolute;
	background: #004080;
	transition: ease all 0.3s;
	opacity: 0.75;
}
.btn-grid a:hover:before{
	top: 0;
}



.cta{
	font-family: "pragmatica", sans-serif;
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: #fff;
	background: #004080;
	max-width: 200px;
	width: 100%;
	display: block;
	margin-top: 20px;
	line-height: 50px;
	box-sizing: border-box;
	text-align: center;
	padding: 0 20px;
	border: solid 2px #004080;
	
	-moz-transition: ease all 0.2s;
	-o-transition: ease all 0.2s;
	-webkit-transition: ease all 0.2s;
	transition: ease all 0.2s;
	
	cursor: pointer;
}

.cta:hover{
	color: #004080;
	background: none !important;
}
.bg-dark .cta:hover{
	color: #fff;border-color: #fff;
	background: none !important;
}
.cta.outline{
	background: none !important;
	border: solid 2px #fff;
}
.bg-white .cta.outline{
	background: none !important;
	border: solid 2px #004080 !important;
	color: #004080 !important;
    max-width: unset;
    display: inline-block;
    width: unset;
}
.bg-white .cta.outline:hover{
	background: #004080 !important;
	color: #fff !important;
}
.align-center .cta{margin: 0 30px !important;}

/* TYPOGRAPHY */

.center{text-align: center;}
.heading{
	font-size: 30px;
	font-family: "pragmatica", sans-serif;
	font-weight: 900;
	letter-spacing: 3px;
    line-height: 1.25;
	text-transform: uppercase;
}
.heading-sm{
	font-size: 18px;
	font-family: "pragmatica", sans-serif;
	font-weight: 900;
	letter-spacing: 3px;
    line-height: 1.25;
	text-transform: uppercase;
	margin-bottom: 20px;
}
.light{font-weight: 300;}


/* OTHER */

.bg-white {
	font-family: "pragmatica", sans-serif;
	color: #082f56;
	background: #fff;
}
.bg-offwhite {
	font-family: "pragmatica", sans-serif;
	color: #082f56;
	background: #f7f7f7;
}
.bg-dark {
	font-family: "pragmatica", sans-serif;
	color: #fff;
	background: #082f56;
}
.bg-split{
	background: linear-gradient(90deg, #f7f7f7 0%, #f7f7f7 50%, #082f56 51%, #082f56 100%);
	
}
.bg-white p{
	font-weight: 300;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 1px;
	font-family: "pragmatica", sans-serif;
	color: #082f56;
}
.bg-white p a{
	font-weight: 700;
	color: #082f56;
}
.bg-split ul li {
	font-weight: 300;
	font-size: 14px;
	line-height:24px;
	letter-spacing: 1px;
	font-family: "pragmatica", sans-serif;
}
.pad{padding: 50px 40px; box-sizing: border-box;}

.border-left{
	border-left: solid 4px #a3bbd0;
	padding-left: 40px;
}
.heading-sm.border-left{
	padding-left: 20px;
}

/* MISC */

.bg-mark{
	background: url("/siteart/logo-mark.png") center 39%;
	-moz-background-size: auto;
	-o-background-size: auto;
	-webkit-background-size: auto;
	background-size: auto;
	
	background-repeat: no-repeat;
}
.bg-envelope{
	background: url("/siteart/bg-envelope.jpg") center 75%;
	-moz-background-size: auto;
	-o-background-size: auto;
	-webkit-background-size: auto;
	background-size: auto;
	
	background-repeat: no-repeat;
}


/*--------FORM STYLES--------------------*/

.custom-form input{
	padding: 14px;
	font-family: "pragmatica", sans-serif;
	font-weight: 300;
	font-size: 14px;
	letter-spacing: 1px;
	color: #082f56;
	line-height: 24px;
	resize: none;
	outline: none;
	border: none;
	background: #f7f7f7;
	box-sizing: border-box;
	width: 100%;
	border-left: solid 5px #004080;
}
.custom-form ::placeholder{
	color: #004080;
}
.custom-form .flex{
	gap: 20px;
}
.flex-column{
	flex-wrap: wrap;
}
.custom-form textarea{
	width: 100%;
	box-sizing: border-box;
	padding: 14px;
	font-family: "pragmatica", sans-serif;
	font-weight: 300;
	font-size: 14px;
	letter-spacing: 1px;
	color: #082f56;
	line-height: 24px;
	resize: none;
	outline: none;
	border: none;
	background: #f7f7f7;
	border-left: solid 5px #004080;
}

.CaptchaPanel{
	font-family: "pragmatica", sans-serif;
	text-align: left !important;
}
.CaptchaPanel, .CaptchaAnswerPanel, .CaptchaImagePanel, .CaptchaMessagePanel{
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.CaptchaWhatsThisPanel a{
	color: #004080 !important;
}

.bg-dark .CaptchaWhatsThisPanel a {
    color: #fff !important;
}


/*-------- FOOTER STYLES ----------------*/
footer{}


.footer{
	font-family: "pragmatica", sans-serif;
}
.footer .heading-sm{
	color: #004080;
}
.footer ul li a{
	color: #004080;
	letter-spacing: 1px;
	font-size: 16px;
	line-height: 30px;
}
.footer p{
	color: #004080;
	letter-spacing: 1px;
	font-size: 16px;
	line-height: 30px;
}

.footer .col50 .flex{
	    gap: 30px;
}
.footer .col50 .flex a{
	    color: #004080;
}

.col-logo a:nth-of-type(1) img{
	float: right;
}
.col-logo a:nth-of-type(2){
	position: absolute; bottom: 0; right: 0;
	
	font-weight: 900;
	color: #004080;
}

.footer a i{
	padding-right: 20px;
}

/*----INVENTORY STYLES - KEEP AT BOTTOM OF CSS----*/







/*---------- RESPONSIVE STYLES ----------*/

@media only screen and (min-width: 768px) {
	
	.hero{
		background: url("/siteart/hero-desktop.jpg") center center;
		-moz-background-size: cover;
		-o-background-size: cover;
		-webkit-background-size: cover;
		background-size: cover;
		padding-bottom: 34.5%;
	}
}
@media only screen and (max-width: 1280px) {
	.btn-grid a{
		width: calc(50% - 40px);
	}
}
@media only screen and (max-width: 1023px) {
	.menu-phone, .header .menu-toggle{width: unset;}
	.menu-phone i{padding-right: 10px;}
	
	.col50{width: 100%;}
	.bg-split .wrapper{padding: 0;}
	.bg-split .wrapper .col50{padding: 0 8.1%;}
	
	.footer .flex{flex-wrap: wrap;}
	.footer .col25{width: 50%;}
	.footer .col50{order: 2; padding: 60px 0 90px;}
	.col25.border-right:before{
		content: none;
	}
	.pad {
		padding: 50px 0;
		box-sizing: border-box;
	}

}
@media only screen and (max-width: 767px) {
	.col50 .border-left{
		border-left: 0;
		padding: 0 8.1%;
	}
	.bg-mark {
		-moz-background-size: contain;
		-o-background-size: contain;
		-webkit-background-size: contain;
		background-size: contain;
		background-repeat: no-repeat;
	}
	.btn-grid {
		padding: 0;
	}
	.btn-grid a{
    	padding: 20px;
		width: calc(100% - 40px);
	}
	.custom-form .flex{
		flex-wrap: wrap;
	}
	.hero{
		background: #ecf2f6 url("/siteart/hero-mobile.jpg") center center;
		-moz-background-size: cover;
		-o-background-size: cover;
		-webkit-background-size: cover;
		background-size: cover;
		padding-bottom: 100%;
		padding-top: 60px;
	}
	.header{margin-top: -60px;}
	.footer .col25{width: 100%;}
	.footer .col25:nth-of-type(2){order: 1;}
	.footer .col25:nth-of-type(1){order: 2;}
	.col-logo a:nth-of-type(1) img{
		margin: 0 auto;
		float: none;
		display: block;
		padding-bottom: 60px;
	}
	
	.bg-split .wrapper .col50{padding: 0;}
	.align-center .cta{
   		margin: 0 !important;
	}
	
	.justify-center p{
		text-align: center;
		margin: 0 0 20px;
	}
	
	.col-logo a:nth-of-type(2){
		position: relative;
		margin-bottom: 20px;
		display: block;
		margin-top: -10px;
	}
}







