﻿@charset "UTF-8";


/* RESET 
------------------------------------------------*/
* {margin:0; padding: 0; border: 0; outline: 0; background: transparent;}
	

/* GLOBAL SITE FRAMEWORK
------------------------------------------------*/
html {scroll-behavior: smooth;}
body {/*margin:0; line-height:12px;*/ font-size:100%; font-family: darkmode-off, sans-serif !important; color:#2f2f2f; background:#fff;}

:target:before {
    content: "";
    display: block;
    height: 100px;
    margin: -100px 0 0;
}

.section {
  scroll-margin-top: 75px;
}

/* SELECTION */	
::selection {color:#fff; background: #004aad;}
::-moz-selection {color:#fff; background: #004aad;}


/* CLEAR */
.clear {clear: both;}

/* HEADERS */
/*Remove or simplify font-weight and font-height */
h1, h2, h3, h4 ,h5 ,h6 {line-height: normal;}
h1 {font-size:42px; font-weight:700; font-family: urw-din-semi-condensed,sans-serif;}
h2 {font-size:38px; font-weight:700; font-family: urw-din-semi-condensed,sans-serif;}
h3 {font-size:36px; font-weight:700; letter-spacing:-1px; color:#262626; font-family: urw-din-semi-condensed,sans-serif;}
h4 {font-size:28px; font-weight:700; font-family: urw-din-semi-condensed,sans-serif;}
h5 {font-size:24px; font-weight:700; color:#262626; font-family: urw-din-semi-condensed,sans-serif;}
h5 span{font-size:26px; font-weight:500;}
h6 {font-size:24px; font-weight:700; font-family: urw-din-semi-condensed,sans-serif;}


/* PARAGRAPH/LIST/GENERAL TEXT */

/* LINKS */
a{-webkit-transition:.5s ease; -moz-transition:.5s ease; -o-transition:.5s ease; transition:.5s ease;}
a:link, a:visited {color:inherit; text-decoration:none;}
a:hover, a:active {color:#004aad; text-decoration:none;}

a[href^="tel:"] {color:inherit;  text-decoration: none;}

/* IMAGES */
img {display:block;}

/* TEXT EMPHASIS */
em {font-style:italic;}
strong {font-weight: 700;}

/* TEXT STYLINGS */
.dark {color:#131313;}
.gray {color:#4F4F4F;}
.heavy {font-weight:800;}

.blue {color:#004aad;}
.darkBlue {color:#00357c;}
.red {color:#ee2625;}
.gray {color:#ccc;}


/* ALIGNMENT */
.left {float:left;}
.right {float:right;}
.center {text-align:center;}


hr {border-top: 1px #d9d9d9 solid; border-bottom:0;}
 /*#e7e7e*/



/*

font-family: urw-din,sans-serif;
font-family: urw-din-semi-condensed,sans-serif;

font-family: darkmode-off, sans-serif;

*/


/* ROUND BORDER
------------------------------------------------*/
.roundBorderSmall {-webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;}
.roundBorder {-webkit-border-radius: 20px; -moz-border-radius: 20px; border-radius: 20px;}
.roundBorderLarge {-webkit-border-radius: 30px; -moz-border-radius: 30px; border-radius: 30px;}



/* LINK BUTTON
------------------------------------------------*/
button.linkButtonBox,
a.linkButtonBox {
	display:inline-block; box-sizing:content-box; width:225px; min-width:210px; margin:8px 15px; padding:14px 25px 12px 25px; font-size:1.15em !important; line-height:2.5; font-weight:600; text-align:center; color:#fff; cursor:pointer;
	background-color: #004aad; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%2300357c' fill-opacity='0.2' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E"); font-family: urw-din,sans-serif;
	-webkit-transition:.5s ease; -moz-transition:.5s ease; -o-transition:.5s ease; transition:.5s ease;
	-webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px;	
}
button:hover.linkButtonBox,
a:hover.linkButtonBox {background-color:#00357c;}


button.deptButton,
a.deptButton {
	display:inline-block; width:auto; min-width:215px; margin:8px 15px 8px 5px; padding:12px 5px; font-size:16px !important; line-height:2.5; font-weight:600; text-align:center; color:#fff; cursor:pointer;
	background-color: #004aad; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%2300357c' fill-opacity='0.2' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E"); font-family: urw-din,sans-serif;
	-webkit-transition:.5s ease; -moz-transition:.5s ease; -o-transition:.5s ease; transition:.5s ease;
	-webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px;	
}
button:hover.deptButton,
a:hover.deptButton {background-color:#00357c;}



button.linkButtonSmall,
a.linkButtonSmall {width:auto; min-width:0; padding:14px 25px 14px 25px; font-size:.95em !important;line-height:1.5;}

button.linkButtonLong,
a.linkButtonLong {width:300px; }

button.linkDarkButtonBox,
a.linkDarkButtonBox {
	background-color: #00357c; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%2300357c' fill-opacity='0.2' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E"); font-family: urw-din,sans-serif;
}
button:hover.linkDarkButtonBox,
a:hover.linkDarkButtonBox {background-color:#012658;}


button.redButton,
a.redButton {
background-color: #d61615;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23a90707' fill-opacity='0.2' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E");
}
button:hover.redButton,
a:hover.redButton {background-color:#a90707;}


button.lightButton,
a.lightButton {color:#f9f9f9; background:#a9a9a9;}
button:hover.lightButton,
a:hover.lightButton {background:#c7c7c7;}


button.whiteButton,
a.whiteButton {color:#004aad; background:#fff;}
button:hover.whiteButton,
a:hover.whiteButton {background:#c7c7c7;}





a.calloutButton {padding:14px 15px 12px 15px; color:#fff; background:#000;}
a.calloutButton:hover {background:#7b7b7b;}


/* HEADER
------------------------------------------------*/	
.site-header {
	position: fixed; top:0;left: 0;z-index: 1000; width:95%; /*width:100%;*/
	box-sizing: content-box;
	display:flex; flex-flow:row wrap; align-items:center; justify-content: space-between; padding:30px 2.5%; background:#fff; 
	-webkit-box-shadow: 0px 0px 13px rgba(0,0,0,0.1); -moz-box-shadow: 0px 0px 13px  rgba(0,0,0,0.1); box-shadow: 0px 0px 13px  rgba(0,0,0,0.1);
	-webkit-transition: height 0.5s; -moz-transition: height 0.5s; transition: height 0.5s;	
}	

.site-header.site-header-shrink {padding:10px 2.5%;}

/* LOGO
------------------------------------------------*/	
.logo {width:284px; transition: all .2s ease-in-out; -moz-transition: all .2s ease-in-out; -webkit-transition: all .2s ease-in-out;}	
.logo img {width:100%; max-width:284px;}

.site-header.site-header-shrink .logo {width:150px;}

/* HEADER PHONE
------------------------------------------------*/	
.headerPhone {font-size:1.875em; font-weight:600; font-family: urw-din,sans-serif;}
.headerPhone a[href^="tel:"] {color:#004aad;}

.site-header.site-header-shrink .headerPhone {font-size:1.75em;}

/*  NAVIGATION
------------------------------------------------*/
#menu-button{display:none;}
nav.mobile {display:none;}

nav.primary {z-index:500; position:relative; margin:0; padding:0;}

nav.primary ul {display:flex; flex-flow:row wrap; align-items:center; justify-content:space-around; margin:0; padding:0;}
nav.primary ul li {margin:0; padding:0; list-style-type:none;}
				
nav.primary ul li a {
	display:flex; flex-flow:row; align-items: center; margin:0 5px; padding:12px 8px; position:relative; 
    font-size:1em; line-height:1; font-weight:600; text-align:center; text-decoration:none; text-transform:uppercase;
	color:#3c3c3c; font-family: urw-din,sans-serif; cursor:pointer;
	-webkit-transition:.35s ease-in; -moz-transition:.35s ease-in; -o-transition:.35s ease-in; transition:.35s ease-in;	
}	

nav.primary ul li a:hover {color:#777;}
nav.primary ul li a i {margin:0 0 0 3px; font-size:.55em;  color:#888;}


nav.primary ul li a:hover::before,
nav.primary ul li a:focus::before,
nav.primary ul li a:hover::after,
nav.primary ul li a:focus::after {
	opacity: 1;
	-webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
	transform: translateY(0px);
}

/*  SUB NAV
------------------------------------------------*/
nav.primary ul li li {width: 240px; border-right: none; border-left: none; border-bottom: #fff solid 1px;}
nav.primary ul li li a:link, nav.primary ul li li a:visited{
	margin:0; padding:20px 15px; font-size: 15px; line-height:1; font-weight: 700; text-align:left; color:#fff; background:#222;
	text-transform: uppercase; 
    box-sizing: border-box !important;
    display: flex;
    align-items: center;
}
nav.primary ul li li:last-of-type {border:0;}
nav.primary ul li li:last-of-type a{
	-webkit-border-bottom-right-radius: 20px; -webkit-border-bottom-left-radius: 20px; -moz-border-radius-bottomright: 20px;
	-moz-border-radius-bottomleft: 20px; border-bottom-right-radius: 20px; border-bottom-left-radius: 20px;
}
nav.primary ul li li a:hover,nav.primary ul li li a:active {line-height:1; color:#fff !important; background:#00357c;}

nav.primary ul li li a::before,
nav.primary ul li li a::after {display: none;  background:transparent;}




a:link.highlightLink, a:visited.highlightLink {background:#a90707 !important;}
a:hover.highlightLink, a:active.highlightLink  {background:#d61615 !important;}


/*  NAV DROPDOWNS
------------------------------------------------*/
nav.primary ul ul {display:none; position:absolute; width:240px;} 
nav.primary ul ul ul {position: absolute; left:100%; top:0;}
nav.primary ul li:hover > ul {display:block; flex-flow:initial; align-items:initial; justify-content:initial; line-height:18px; z-index: 500;}
nav.primary ul ul li {float: none; position: relative; margin:0;}

nav.primary ul ul.dualDropDown {-webkit-columns:2; -moz-columns:2; columns:2;}
nav.primary ul ul.dualDropDown li {float:left; width:240px; border-right:#fff solid 1px;}
nav.primary ul ul.dualDropDown li:nth-of-type(n+11){margin:0 0 0 113px;border-right:0;}
nav.primary ul ul.dualDropDown a {height:60px;}

nav.primary ul ul.dualDropDown li:nth-of-type(10) {border-bottom:0;}





/*.announcement-banner {
	display:flex; flex-flow:row wrap; align-items:center; justify-content:center; margin:181px 0 0 0; padding:.75em 1em;  color:#fff; background: rgb(219,219,219); background: linear-gradient(31deg, rgba(219,219,219,1) 0%, rgba(233,233,233,1) 100%);
}
.announcement-banner p {margin:0 .75em 0 0; font-size:1.5em; font-weight:600; text-align:center; color:#004aad;}
.announcement-banner a{font-family: darkmode-off, sans-serif !important;}
*/

#hs-content-wrapper {margin:210px auto 0 auto !important; padding: .5% 5% 6.5% 5% !important;}



.hs-btn.hs-highlighted {background-color:#a3bee3 !important;}

.hs-modal-heading{color:black;}
label{color:black;}


/*  FOOTER
------------------------------------------------*/
.footerCompanyInfo {
	position:relative; display:flex; flex-flow:row wrap; justify-content: space-between; padding:33px 2.5%;
	border-top:4px #004aad solid; background:#004aad url("../siteart/footerbg.jpg") no-repeat top center; background-size: cover;
}

/*  FOOTER MAP
------------------------------------------------*/
.footerMap {z-index:1; width:30%; padding:5px; line-height:0; background:#f5f5f5; }
.footerMap iframe{width:100%; height:100%;}

/*  FOOTER CONTACT DETAILS
------------------------------------------------*/
.footerContact {
	position:relative; display:flex; flex-flow:row wrap; justify-content: space-between;
	z-index:1; width:30%; margin:1.5% 0 2.5% 0; font-size:1.5em; line-height:1.15; font-weight:200; text-align:center; color:#fff; font-family: urw-din,sans-serif;
}
.footerContact span {font-weight:400;}

.footerContact h4 {width:100%; margin:0 0 20px 0; line-height:1.1;}

.footerContact a:hover {color:#ccc;}

.footerAddress {width:50%; margin:0 0 20px 0; text-align:left;}

.footerHours {width:50%; margin:0 0 20px 0; text-align:right;}

.footerPhone {margin:3px 0 0 0;}

.footerSocial {font-size:1.167em;}
.footerSocial a {padding:8px;}


/*  FOOTER FORM
------------------------------------------------*/
.footerForm {z-index:1;  width:25%; padding:5px; text-align:center; background:#e1e1e1;}
.footerForm h3 {font-size:24px; margin:0 0 8px 0;}
.footerForm h4 {font-size:18px; margin:0 0 8px 0; }
.footerForm hr {width:35%; margin:16px auto;}
.footerForm p {width:85%; margin:0 auto;}

.footerInner {box-sizing: content-box; display:flex; flex-flow:column wrap; align-item:center; justify-content:center; height: 92%; padding:2% 2.5%; background:#fff;}

.footerGradient {
	position:absolute; top:0; left:0; z-index:0; width:100%; height:100%;
	background: rgb(0,26,115); background: linear-gradient(45deg, rgba(0,26,115,0.65) 0%, rgba(0,26,115,0) 100%);
}

/*  FOOTER COPYRIGHT
------------------------------------------------*/
.footerCopyright {padding:20px 2.5%;font-size:1em; font-weight:200; text-align:right; color:#ebebeb; background:#000;}
.footerCopyright a {color:#ebebeb;}









/************************************************ Responsive Styles **/

@media screen and (max-width: 1680px) {
	#hs-content-wrapper {margin:176px auto 0 auto !important;}
	
	.logo {width:220px}	
	.headerPhone {font-size:1.75em;}
	nav.primary ul li a {margin:0 5px; padding:12px 9px; font-size:1em;}
	.announcement-banner {margin:153px 0 0 0;}
}

@media screen and (max-width: 1550px) {
	#hs-content-wrapper {margin:179px auto 0 auto !important;}
	
	.logo {width:225px}	
	.headerPhone {font-size:1.65em;}
	nav.primary ul li a {margin:0 3px; font-size:0.9em;}
	.announcement-banner {margin:155px 0 0 0;}
}

@media screen and (max-width: 1375px) {
	#hs-content-wrapper {margin:155px auto 0 auto !important;}
	
	.logo {width:180px}	
	.headerPhone {font-size:1.5em;}
	nav.primary {margin: 4px 0 0 0;}
	nav.primary ul li a {font-size:0.85em; padding: 12px 4px;}
	.announcement-banner {margin:136px 0 0 0;}
	.footerMap {width:27%;}
	.footerContact {width:36%;}
	.footerForm {zwidth:27%;}
}

@media screen and (max-width: 1250px) {
	#hs-content-wrapper {margin:155px auto 0 auto !important;}
	
	
	.logo {order:1;}	
	.headerPhone {order:2; margin: 0 20px 0 auto; font-size: 1.75em}

	nav.primary{display:none;}
	#menu-button{order:3; display: block; font-size:2em; position: relative; z-index:400; margin:3px 0 0 0;}
	#menu-button a{padding:.5em; color:#555; cursor:pointer; }
	
	nav.mobile ul li a .fa{
		width:25px;
		font-weight:100;
		padding:8px 3px;
		margin:0 0 0 5px;
		text-align:center;
		background:#292929;
		-webkit-border-radius: 30px;
		-moz-border-radius: 30px;
		border-radius: 30px;
		text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	}
	
	nav.mobile ul li .fa-chevron-down {position:absolute; right:10px; margin:18px 0 0 0;}

	nav.mobile {
		display:block;
		position: fixed;
		top: 0;
		right: -285px;
		width: 285px;
		height: 100%;
		z-index:11000;
		overflow:auto;
		background:#333;
	}
	
	/* MENU HEADER SOCIAL MEDIA */
	nav.mobile .social-media {
		position: absolute;
		text-decoration: none;
		vertical-align: top;
		z-index:9999;
		display: inline-block;
		
		top: 15px;
		left: 15px;
		font-size:16px;
		word-spacing:13px;
		color: #ccc !important;
	}
	
	nav.mobile .social-media a:link, nav.mobile .social-media a:visited {color:#ccc; text-decoration:none;}
	nav.mobile .social-media a:hover, nav.mobile .social-media a:active {color:#fff; text-decoration:underline;}
	
	nav.mobile .social-media a:nth-of-type(n+2) {padding:0 0 0 13px;}
	
	/* MENU HEADER STYLES */
	nav.mobile h3 {	
		color: #ccc;
		padding: 23px 0;
		position: relative;
		font-size: 18px;
		background:#313131;
	}			
	nav.mobile .menu-title {position: absolute; vertical-align: top; top: 16px; right: 47px; text-transform:uppercase; font-size:12px; color: #ccc;}
		
	/* MENU CLOSE 'X' BUTTON */
	nav.mobile .menu-toggle {position: absolute; top: 8px; right: 10px; padding: 6px 9px 5px; display: inline-block; font-weight: 700; font-size: 18px; line-height: 1; color: #ccc; text-decoration: none; vertical-align: top; font-family: Arial, sans-serif; cursor:pointer; }
	nav.mobile .menu-toggle:hover {color: #fff;}
	
	/* MENU LIST STYLE */
	nav.mobile ul {list-style: none; font-weight: 300; margin:0; padding:0;}
	nav.mobile ul li {color: #999; font-size:15px; border-bottom: 1px solid #303030;}
	
	/* FIRST LEVEL */
	nav.mobile ul li a {
		color: #999;
		position: relative;
		display: block;
		font-size:15px;
		text-align:left;
		cursor:pointer;
		text-decoration: none;
		border-left:4px #333 solid;
		padding: 15px 35px 15px 20px;
		text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	}
	nav.mobile ul li a:hover {background:rgba(45,45,45,0.5); color: #fff; border-left:4px #004aad solid;}
	
	/* SECOND LEVEL */
	nav.mobile ul li li:last-child {border:none;}
	nav.mobile ul li li a {color: #ccc; background: #444; border-left:4px #444 solid; padding: 15px 10px 15px 15px;}
	nav.mobile ul li li a:hover {background:rgba(65,65,65,0.5);}
	
	/* THIRD LEVEL */
	nav.mobile ul li li li:last-child {border:none;}
	nav.mobile ul li li li a {color: #ccc; background: #555; border-left:4px #555 solid;}
	nav.mobile ul li li li a:hover {background:rgba(85,85,85,0.5);}
	
	.nav-footer {color:#777; position:relative; text-align:center; font-size:13px; line-height:13px; padding:15px 0;}
		
	.announcement-banner {margin:134px 0 0 0;}
}

@media screen and (max-width: 1125px) {
	.footerMap {order:2; width:calc(48.75% - 10px);}
	.footerMap iframe{height:290px;}
	.footerContact {order:1; width:53%; margin:0 auto 33px auto;}
	.footerForm {order:3; width:calc(48.75% - 10px);}
}

@media screen and (max-width: 1024px) {	
	.footerMap {order:2; width:calc(48.75% - 10px);}
	.footerMap iframe{height:290px;}
	.footerContact {order:1; width:55%; margin:0 auto 33px auto;}
	.footerForm {order:3; width:calc(48.75% - 10px);}	
}

@media screen and (max-width: 768px) {
	.footerCompanyInfo {flex-flow:column wrap; background:#004aad url("/siteart/footerbg-mobile.jpg") no-repeat top center; background-size: cover;}
	.footerMap {order:3; width:calc(100% - 10px);}
	.footerMap iframe{height:400px;}
	.footerContact {order:2; width:85%; margin:35px auto;}
	.footerForm {order:1; width:calc(100% - 10px);}
	.footerCopyright {font-size:.92em; text-align:center;}
}

@media screen and (max-width: 650px){
	button.linkButtonLong, a.linkButtonLong  {margin:8px 0; padding: 14px 15px 12px 15px; font-size: 1em !important; box-sizing: border-box; min-width: 0;}
}

@media screen and (max-width: 550px){
	.hero {height:605px;}
	.heroTitle {font-size:2.75em;}	
	.footerCopyright {font-size:.85em;}
}

@media screen and (max-width: 480px){
	.headerPhone {margin: 0 10px 0 auto; }
	.site-header.site-header-shrink .logo {width:115px}
	.site-header.site-header-shrink .headerPhone {font-size:1.35em;}
	.site-header.site-header-shrink #menu-button{font-size:1.75em; margin:3px 0 0 0;}
	.footerAddress {width:100%; text-align:center;}
	.footerHours {width:100%; text-align:center;}
	.footerCopyright {display:flex; flex-flow:row-reverse wrap; align-content:center; justify-content:center; font-size:1em; line-height:1.5; } 
	.footerCopyright a {width:40%;}
	.footerCopyright span {display:none;}
}

@media screen and (max-width: 450px){
	.headerPhone {font-size:1.35em;}
	#menu-button{font-size:1.75em; }
}

@media screen and (max-width: 420px){
	#hs-content-wrapper {margin:180px auto 0 auto !important;}
	
	.site-header {padding: 15px 2.5%;}
	.logo {width:100%; margin: 0 0 15px 0;}
	.logo img {max-width:180px; margin:0 auto;}
	.headerPhone {margin:0 auto;}
	#menu-button{margin:3px auto 0;}
	.announcement-banner {margin:161px 0 0 0;}
	.site-header.site-header-shrink .logo {margin:0;}
}

@media screen and (max-width: 350px){
	.hero {height:650px;}
	.site-header.site-header-shrink .logo {width:100px}
	.site-header.site-header-shrink .headerPhone {margin: 0 10px 0 auto; font-size:1.15em;}
}
