/* set up variables */
:root {
	--baseFont: 'Roboto';
	--headlineFont: 'Roboto';
	--black: #231F20;
	--white: #fff;
	--gray: #909090;
	--lightGray: #ececec;
	--firebrick: #cc3333;
	--paleGreen: #dff2bf;
	
	--linkColor: #008DDB;
	--linkHoverColor: #004f79;
	--hxColors: #000; /* h1-h4 color */
	--navColor: #fff;
	--navHoverColor: #0095D8;
	
	--buttonColor: #fff;
	--buttonBgColor: #ED2A38;
	
	/* site specific colors*/
	--red: #ED2A38;
	--darkBlue: #0D3B60;
	--aubergine: #231F20;
}

.black { color: var(--black);}
.white { color: var(--white);}

.darkColor { color: var(--gray); } 
.lightColor { color: var(--lightGray) } 

.bgWhite { background-color: var(--white);}
.bgBlack { background-color:var(--black);}

.bgDarkColor { background-color: var(--darkBlue);}
.bgLightColor { background-color: var(--red);}

/***** CSS 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, 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,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    font-size:100%;
    font:inherit;
    vertical-align:baseline;
	background:transparent;
}

/***** HTML5 display-role reset for older browsers *****/
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {display: block;}
body {line-height:1;-webkit-text-size-adjust:100%;color:var(--green);}
ul {list-style:none;}
ol li {
	padding-bottom: 20px;
    line-height: normal;
    margin-left: 20px;
    padding-left: 5px;    
}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after, q:before, q:after {content:'';content:none;}
table {border-collapse:collapse;border-spacing:0;}
.tableCell { display: table-cell; }

/*************************/
html {font-size:62.5%;}
body {
    color: var(--black);
    font-size:20px;
    font-size:2.0rem;
    font-weight:normal;
    /*font-family: var(--baseFont), san-serif; */
    background: var(--white);
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;	
}

em {
	font-style: italic;
	font-size: 90%;
}

body>iframe {display:none;} /* This kills the empty iframe from captcha that causes a white block at the bottom of the contact page. */

/***** Defaults *****/
strong {font-weight:bold;}
p {line-height:1.7;margin-bottom:20px;}
.grayLine {margin:30px 0;border-top:1px solid var(--gray);}
.center {text-align:center;}
.right {text-align:right;}
.relative {position:relative;}
.noMargin {margin:0;}
.noBMargin { margin-bottom: 0; }
.section.nestedSection {padding:0;}
.col.noTopMargin {margin-top:0;}
.col.noTopBotMargin {margin-top:0;margin-bottom:0;}
.imgResponsive {display:block;max-width:100%;}
.imgResponsive.center {margin:0 auto;}

/***** Default Headers *****/
h1, h2, h3, h4, h5 {
    display:block;
	color: var(--hxColors);
    font-size:44px;
	font-size:4.4rem;
	font-family: var(--headlineFont), san-serif;
	line-height:1;
	margin-bottom:40px;
}
h1 {padding-top:20px;font-weight:bold;}
h2 {font-size:40px;font-size:4.0rem;margin-bottom:20px;font-weight: bold;}
h3 {font-size:30px;font-size:3rem;margin-bottom:20px;}
h4 {font-size:24px;font-size:2.4rem;margin-bottom:20px;}
h5 {font-size:18px;font-size:1.8rem;margin-bottom:20px;}

/***** Default Links *****/
a, a:active, a:visited {color:var(--linkColor);text-decoration:none;} 
a:hover {color:var(--linkHoverColor);text-decoration:none;}

/***** Default Container Classes *****/
.inner, footer, .section.group.inner {
    max-width:1200px;
    position:relative;
    margin:0 auto;
}

/* header */
.socialIcon { width: 16px;padding-left:20px;  transition: 0.3s; }
.socialIcon:hover { opacity: 0.6; }

#topBar { float: right; padding:10px 0; }

#bgHeader { 
	position: relative;
	width: 100%;
}

#headerContainer {
    max-width: 1200px;
    position: relative;
    margin: 0 auto;
    height: 100%;
    padding-left: 3% 0;
    padding-right: 3%;    
}

#headerLogoDiv {
	background: var(--darkBlue);
	margin: 0;
}
#headerLogo {
}

/* header nav */
.headerBar { width:100%;background: var(--red);/* position: absolute;bottom: 0; */ }


/***** Navigation Menu *****/
nav { clear: both;
    font-family: var(--baseFont), san-serif; 
    font-weight: 600;
    max-width: 1200px;
    margin: 0 auto;
}

nav ul {
	display: flex;
    overflow: hidden;
    margin: 0 20px;
    background: transparent;
    align-items: center;
}

nav li {float:left;}

.nav li a {
    font-size: 16px;
    font-size: 1.6rem;
    color: var(--navColor);
    display: block;
    padding: 0 25px;
    margin: 16px 0;
    text-transform: uppercase;
    font-weight: normal;
}

.nav li a.active, .nav li a:hover { color: var(--navHoverColor) }

nav li:first-of-type a {padding-left:0;}
/* nav li a.last {padding-right:0;border:0;} */

/* slider */
#sliderContainer {     
	min-height: 600px;
    position: relative;
    margin: 0 auto;
}

/***** Slider *****/
#slides {
    height: 430px;
    width: 100%;
	max-height: 500px;
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;	
}

#slides_mobile {
    min-height: 440px;
    width: 100%;
    display: none;
}

.sliderLearnMoreButton:hover { cursor: pointer; }

/* mobile menu */
.mobileMenuLink { text-align: right;clear:right;margin: 10px 20px 10px 0;}
.mobileMenuLink:hover {cursor:pointer;}

.mobileMenu {
    z-index: 10;
    position: relative;
    margin-top: -2px;
}
    
.mobileMenu li {width:100%;}
.mobileMenu li a {display:block;margin:0;font-size:18px;font-size:1.8rem;padding:15px 0 15px 10%;
    padding: 15px 0 15px 10%;
    border-top: 1px solid var(--black);
    color: var(--white);
}
.mobileMenu a:hover, .mobileMenu li a.active {color:var(--black);background:var(--gray);cursor:pointer;}
.mobileMenu ul ul {display:none;background:var(--lightGray);}
.mobileMenu li li {text-align:left;}
.mobileMenu li li a {font-size:16px;font-size:1.6rem;padding-left:15%;}
.mobileMenu a.lastSub {border:0;}
.mobileMenuLink img { width:50px; }

.mobileMenuLink, .mobileMenu, .mobileOnly, .col.mobileOnly {display:none;}

#headerInterior {
    background-repeat: no-repeat;
    background-position: left center;
    background-size: cover;
}

/*
.headerInterior, .headerInterior_mobile {
    font-size: 0;
    height: 240px;
*/
    
#headerInteriorTitle { 
    font-family: var(--headlineFont), san-serif;
    width: 100%;
	font-weight: bold;
    text-align: center;
    color: rgba(255, 255, 255, 0.80);
    font-size: 45px;
    font-size: 4.5rem;
    padding: 4% 0;
    margin-bottom: 0;
}  

#cmsContainer { padding-bottom: 4%; }

#socialContainer {
    padding: 5%;
    clear: both;
    width:100%;
}

#footer { 
	padding: 2% 4% 0 4%;
	margin:0 auto;
}

#footer h2 {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    color: var(--white);
}

#footer ul { 
  margin: 1% 0 0 0;
  padding: 0;
  text-align: center;
  overflow: hidden;
}

#footer li {
    display: inline-block;
    margin: 0 15px;
	/* float: left;
	padding-right: 5%; */
}

#footer li:first-child {
	margin-left: 0;
}

#footer li:last-child {
	margin-right: 0;
}

#footer li a {
  display: block;
  color: var(--white);
  text-align: center;
  text-decoration: none;
  font-size: 18px;
  font-size: 1.8rem;
  text-transform: uppercase;
}   

#footer li a:hover {
  color: var(--black);
}	
	

#footer span {
    display: block;
    font-size: 15px;
    font-size: 1.5rem;
    padding: 0;
    margin: 12px 0;
    color: var(--white);
    font-weight: 400;
}   

#footer a { color: var(--white); }

#footer a:hover, #footer a.active { color: var(--black); }

#logoFooter { width:auto;height:175px; }

#copyright { 
	font-size: 12px;
	font-size: 1.2rem;
    padding: 2% 2% 0 0;
    color: var(--white);
}

#copyright a {
    color: var(--white);
    text-decoration: underline;
}

#copyright a:hover {
	text-decoration: none;
}

#designedBy {
	text-align: right;
    color: var(--white);
    padding: 0 0 1% 2%;
	font-size: 12px;
	font-size: 1.2rem;
}

#designedBy a { color: var(--white); }
#designedBy a:hover { color: var(--black); }

#pageContent {
    padding-top: 3%;
    padding-bottom: 3%;}
}

/***** WYSIWYG Content *****/
.wysiwyg {min-height:400px;}
.wysiwyg h1 {padding-top:20px;font-weight:bold;}
.wysiwyg h2 {font-weight:bold;color:var(--darkBlue);line-height:1.2;margin-bottom:26px;}
.wysiwyg h3 {color:var(--red);font-weight:bold;font-size:24px;font-size:2.4rem;line-height:1.2;margin-bottom:26px;}
.wysiwyg p {font-size:inherit;line-height:1.7;}
.wysiwyg p+ul {margin-top:-10px;}
.wysiwyg li+ul {list-style:circle;margin-bottom:0;}
.wysiwyg span {font-size:inherit !important;line-height:inherit !important;}
.wysiwyg img {max-width:100%;height:auto;}
.imageLeft {float:left;margin:0 40px 40px 0;}
.imageRight {float:right;margin:0 0 40px 40px;}
.imageCenter {display:block;margin:0 auto;}
.imageFull { width: 100%; }

.wysiwyg a, .wysiwyg a:active, .wysiwyg a:visited {
	font-weight: bold;
}

/***** Contact Section *****/
.contactInfo {line-height:1.5;}
.contactInfo span {display:block;}
#googleMap {height:375px;width:100%;margin-bottom: 40px;}

/***** Contact Form Table *****/
label { margin: 15px 0 10px;display: inline-block;line-height: normal;}

input, textarea {width:100%;font-size:16px;font-size:1.6rem;padding:15px 0;text-indent:10px;margin-bottom:10px;border:1px solid var(--gray);}
textarea {width:98%;padding-left:10px;text-indent:0;}

select {
  background-color: white;
  border: 1px solid var(--gray);;
  border-radius: 0px;
  display: inline-block;
  font: inherit;
  line-height: 1.5em;
  padding: 0.5em 3.5em 0.5em 1em;
  /* reset */
  margin: 0 0 10px 0;      
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>') 100% 50% no-repeat #fff; }
}

select.minimal {
  background-image:
    linear-gradient(45deg, transparent 50%, gray 50%),
    linear-gradient(135deg, gray 50%, transparent 50%),
    linear-gradient(to right, var(--gray), var(--gray));
  background-position:
    calc(100% - 20px) calc(1em + 2px),
    calc(100% - 15px) calc(1em + 2px),
    calc(100% - 2.5em) 0.5em;
  background-size:
    5px 5px,
    5px 5px,
    1px 1.5em;
  background-repeat: no-repeat;
  width: 100%;
}

select.minimal:focus {
  background-image:
    linear-gradient(45deg, green 50%, transparent 50%),
    linear-gradient(135deg, transparent 50%, green 50%),
    linear-gradient(to right, var(--gray), var(--gray));
  background-position:
    calc(100% - 15px) 1em,
    calc(100% - 20px) 1em,
    calc(100% - 2.5em) 0.5em;
  background-size:
    5px 5px,
    5px 5px,
    1px 1.5em;
  background-repeat: no-repeat;
  outline: 0;
}

textarea { font-family: Arial, san-serif; }

input.submitButton, a.button, a.button:visited {
    color: var(--buttonColor);
    width:auto;
	text-indent:0;
    padding:15px 25px;
    margin:10px 0 0 0;
    border:0;
    border-radius:0px;
	font-size: 150%;
    background:var(--buttonBgColor);
    border:1px solid var(--buttonBgColor);
	transition-property:background;
	transition-duration:.3s;
	transition-timing-function:linear;
	-webkit-appearance:none; /* kills weird styling Apple does to the button on the phone. Dumb Apple. */
}

input.submitButton:hover, a.button:hover {cursor:pointer;color:var(--white);background:var(--darkBlue); border: none;-webkit-appearance:none; /* kills weird styling Apple does to the button on the phone */
 }

/***** Form Error Message *****/
#errorMessage, #successMessage {
    width:auto;
    color:var(--white);
    line-height:1;
    padding:20px;
    margin-bottom:20px;
    background:var(--firebrick);
}
#successMessage {color:var(--black);padding-left:70px;background:var(--paleGreen) url("/img/greenCheck.png") no-repeat 10px 50%;
}
span.errorGeneral, span.errorLine {display:block;}
span.errorLine {text-indent:15px;}

/* left menu on inside pages */
/*** Left Menu ***/
.rightMenu {width:90%; border-left: 2px solid var(--black);min-height: 200px;padding-bottom: 2%;}
h3.rightMenuHead {color:var(--black);font-size:24px;font-size:2.4rem;padding-left: 16px;}
/*
.rightMenu ul {width:100%;list-style-image:none;padding:0;margin:0;}
.rightMenu li {padding:4px 0;line-height: normal;}
*/
.rightMenu a {display:block;padding-left: 6px;}
/* .rightMenu a.active, .rightMenu a:hover {color:var(--white);background:var(--black);line-height: normal; } */

ul.list {list-style:disc;margin:0;padding-left:20px;}
.arrowList, .wysiwyg ul, .wysiwyg ol {display:inline-block;margin:0 0 20px 20px;padding-left:20px;list-style:disc;/*list-style-image:url('/img/arrow.png');*/}
.wysiwyg ol {list-style-image:none;list-style:decimal;}
.arrowList li, .wysiwyg li {padding:5px 0;line-height:1.3;}
.wysiwyg ul, .wysiwyg ol {display:inherit;}


.redButton {
	display: inline-block;
    background: var(--firebrick);
    color: var(--white);
    font-size: 16px;
    font-size: 1.6rem;
    padding: 12px 30px;
    border: 1px solid var(--firebrick);	
    margin-top: 25px;
	-webkit-appearance:none; /* kills weird styling Apple does to the button on the phone */
}

span.whiteLink {
    color: var(--white);
    border-bottom: 1px solid var(--black);
    padding: 20px 0 7px 0;
    display: inline-block;
    font-size: 20px;
    font-size: 2.0rem;
}

span.whiteLink:hover { 
    color: var(--black);
    border-bottom: 1px solid var(--white);
}

.floatLeft { float:left ; }
.floatRight { float:right; }

/* https://caniuse.com/?search=align-items */
.centerVertical {
    display: flex;
	align-items: center;
	justify-content: center;
}

.centerVH {
    display: flex;
	align-items: center;
	justify-content: center;
}

/* Back to top */
.backToTop:link, .backToTop:active, .backToTop:visited {float:right;display:none;position:fixed;bottom:5%;right:2%;color:#000;font-size:18px;font-size:1.8rem;padding:15px 10px 10px;text-align:center;background:rgba(0, 142, 219, 0.8);-webkit-transition: background-color 0.2s ease-in-out;-moz-transition:background-color 0.5s ease-in-out;-o-transition:background-color 0.5s ease-in-out;transition:background-color 0.5s ease-in-out;z-index:999;width:40px;}
.backToTop:hover {background-color:rgb(0,0,0);color: var(--white);}

/* old web browser */
#oldBrowser {
	background: #ffff93;
	border-bottom: 2px solid #000;
}
#oldBrowser h1 { margin-bottom:5px; }
