/* set up variables */
:root {
	--baseFont: 'Source Sans Pro';
	--headlineFont: 'Source Sans Pro';
	--navFont: 'Source Sans Pro';
	--navMobileFont: 'Source Sans Pro';
	--black: #000;
	--white: #fff;
	--gray: #58595B;
	--lightGray: #dedede;
	--firebrick: #7E2921;
	--paleGreen: #dff2bf;
	
	--linkColor: #003DA7;
	--linkHoverColor: #4686a0;
	--hxColors: #003DA7; /* h1-h4 color */

	--navColor: #414042;
	--navHoverColor: #4686a0;
	--navDropDown: #414042;
	--navDropDownBg: #F7F7F7;
	--navDropDownHover: #fff;
	--navDropDownBgHover: #7E2921;
	--navDropDownHoverBg: #91b5c9;

	--navMobile: #000;
	--navMobileBg: #909090;
	--navMobileHover: #ffffff;
	--navMobileHoverBg: #414042;
	
	--navSideMenu: #F7F7F7;
	--navSideMenuHover: #00517f;
	
	--buttonColor: #fff;
	--buttonBgColor: #000;
	
	/* site specific colors*/
	--grape: #414042;
	--lightBlue: #E5E9F5;
	--green: #028D51;
	--blue: #003DA7;
	--gold: #4686a0;
}
.red { color: var(--blue);}
.black { color: var(--black);}
.white { color: var(--white);}

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

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

.bgDarkColor { background-color: var(--blue);}
.bgLightColor { background-color: var(--lightGray);}

/***** 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%;}
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%;height:100%; }
body {
    height:100%;
	color: var(--black);
    font-size:16px;
    font-size:1.6rem;
    font-weight:normal;
    font-family: var(--baseFont), san-serif;
    background: var(--white);
}
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:20px;
}
h1 {padding-top:20px;font-weight:bold;}
h2 {font-size:38px;font-size:3.8rem;margin-bottom:20px;font-weight: normal;}
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;max-height:16px;padding-left:0;  transition: 0.3s; }
.socialIcon:hover { opacity: 0.6; }

#topBar { text-align: center; padding:10px 0; }

.header {
 /* overflow: hidden; /* comment out for dropdowns to work */
  background-color: var(--lightGray);
  padding: 20px 10px;	
}

.header a.logo {
  font-size: 25px;
  font-weight: bold;
}

.header a.menuLink {
  float: left;
  color: var(--navColor);
  text-align: center;
  padding: 12px;
  font-size: 18px; 
  font-size: 1.8rem; 
  line-height: 25px;
}

`.header a:hover {
  color: var(--navHoverColor);
}

.header a.active {
  color: var(--navHoverColor);
}

.headerLinks {
  /* float: right; */
}

#headerPhone {
    margin: 20px 0;
    text-align: right;
    padding-right: 12px;	
}

.headerRow {
	display: flex;
    justify-content: space-between;
    align-items: center;	
 }

.header.redButton { margin-top: 0; }
 

/***** Navigation Menu *****/
nav {
	font-family: var(--baseFont), san-serif; 
	font-weight: 600;
}

/* menu navigation bar for desktop */
.menuBar { 
	display: flex;
	justify-content: flex-start;
}

.menuBar ul {
	background: transparent;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

ul#desktopMenu {
    display: flex;
}

.menuBar li {
    color: var(--navColor);
    background: transparent;
    padding: 1rem;
    padding-top: 5px;
    padding: 20px;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: 0.3s;
    font-weight: 500;
    font-size: 16px;
    font-size: 1.5rem;
    text-transform: uppercase;
}
  
.menuBar li a {
	color: var(--navColor);
	transition: 0.3s;
}

.menuBar li:hover, .menuBar li.active, .menuBar li.activeDropDown {
	border-color: var(--blue);
	cursor: pointer;
}

.menuBar li.activeDropDown > a {
	color: var(--navHoverColor);
}

.menuBar ul li ul {
	background: var(--navDropDownBg);
	visibility: hidden;
	min-width: 230px;
	position: absolute;
	transition: all 0.5s ease;
	margin-top: 22px;
	margin-left:-20px;
	display: none;
	z-index: 30;
	opacity: 0.95;
	padding: 5px 0;
	transition: 0.3s;
}

.menuBar ul li ul li:hover, .menuBar ul li ul li.activePageDropDown {
    background: var(--navDropDown);
}

.menuBar ul li ul li.activeDropDown {
    background: var(--navDropDown);
}

.menuBar ul li ul li:hover > a, .menuBar ul li ul li a.active {
	color: var(--white);
}	

.menuBar ul li ul li a {
	display: block;
	line-height: normal;
	color: var(--navDropDown);
	transition: 0.3s;
 	padding-left: 10px;
	padding-right: 10px;
}

.menuBar ul li:hover > ul,
.menuBar ul li:focus-within > ul,
.menuBar ul li ul:hover {
	visibility: visible;
	opacity: 1;
	display: block;
}

.menuBar ul li ul li {
	padding: 12px 0;
	border: none;
	clear: both;
	width: 100%;
	border-bottom: 1px solid var(--grape);	
}

.menuBar ul li ul li:last-child {
	border:none;
}
/* submenu on side of page */
#sideMenu {
	margin-top: 20px;
	margin-left: 20px; 
    /* border-right: 2px solid var(--XXXX);
    border-bottom: 2px solid var(--XXXX);	 */
}

#sideMenu h2 {
    font-size: 26px;
	font-size: 2.6rem;
    padding-left: 15px;
    line-height: normal;	
}

#sideMenu ul {
	list-style: none;
    padding: 5px 0 0 0;
    margin-left: 0;
}

#sideMenu li {
    width: 100%;
    padding: 0;
	line-height: normal;
}

#sideMenu li a {
    display: block;
    padding: 5% 7%;
    border-bottom: 2px solid var(--XXXX);
	color: var(--navSideMenu);
}	

#sideMenu li a:hover, #sideMenu li a.active {
	color: var(--navSideMenuHover);
}
#sideMenu li:last-of-type a {
	border: none;
}

/* slider */
#sliderContainer {     
/* 	max-width: 1200px; */
    position: relative;
    margin: 0 auto;
    overflow: hidden;
}

/***** 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 */
/* Mobile Menu Icon/Link */
a.mobileMenuLink { 
	display: none;
	text-align: right;
	padding-right: 30px;
	clear: right;
	transition: 0.3s;	
}
a.mobileMenuLink:hover { 
	cursor: pointer;
	background: none; 
}

a.mobileMenuLink img { 
	width: 50px;
}

/* Mobile Menu items */
.mobileMenu {
    z-index: 10;
    position: relative;
    margin-top: 0;
    background: var(--navMobileBg);
}

.mobileMenu li {
	width: 100%;
    border-bottom: 1px solid var(--black);
}

.mobileMenu li li:last-child {
	border: none;
}

.mobileMenu li a, .mobileMenu li li a {
	display: block;
	margin: 0;
	font-family: var(--navMobileFont), sans-serif;
	font-size: 18px;
	font-size: 1.8rem;
    padding: 15px 0 10px 10%;
    color: var(--navMobile);
}

.mobileMenu li:hover, .mobileMenu li a.active {
    background: var(--navMobileHoverBg);
	cursor: pointer;
    color: var(--navMobileHover);
}
.mobileMenu li:hover > a, li {
	color: var(--navMobileHover);
}

.mobileMenu ul ul {
	display: none;
}

.mobileMenu li li {
    list-style: none;
	text-align: left;
	padding-left: 12%;
	background: var(--navMobileBg);
}

.mobileMenu li li a {
	padding-left: 15px;
}

.mobileMenu a.lastSub {
	border: 0;
}

.mobileMenu li li.active {
    background: #bfbfbf;
}

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

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

#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;
}

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

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

#footer li a {
  text-decoration: none;
  font-size: 16px;
  font-size: 1.6rem;
}   

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

#footer a { transition: 0.3s; }

#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;font-size:30px;font-size:3rem;line-height:1.2;margin-bottom:10px;}
.wysiwyg h3 {font-weight:bold;font-size:24px;font-size:2.4rem;line-height:1.2;margin-bottom:10px;}
.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%; }

/***** 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-family:var(--baseFont);font-size:16px;font-size:1.6rem;padding:15px 0;text-indent:10px;margin-bottom:10px;border:1px solid var(--gray);}
textarea {/*width:100%;text-indent:10px;*/}

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, var(--black) 50%, transparent 50%),
    linear-gradient(135deg, transparent 50%, var(--black) 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;
}

input.submitButton, a.button, a.button:visited {
    color: var(--buttonColor);
    width:auto;
	text-indent:0;
    padding:15px 25px;
    margin:10px 0 0;
    border:0;
    border-radius:0px;
    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(--buttonBgColor);background:var(--buttonColor); -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:normal;color: initial;}
.wysiwyg ul, .wysiwyg ol {display:inherit;}


.redButton, a.redButton {
	display: inline-block;
    color: var(--blue);
	border: 1px solid var(--blue);
    font-size: 12px;
    font-size: 1.2rem;
	font-weight: bold;
    padding: 12px 16px;
    margin-top: 25px;
	-webkit-appearance:none; 
	transition: 0.3s;
}

.redButton:hover, a:hover.redButton {
	background: var(--blue);
	color: var(--white);
	border-color: var(--blue);
}

#loginContainer a.redButton {
	display: inline-block;
    color: var(--white);
	background: var(--blue);
	border: 1px solid var(--blue);
    font-size: 12px;
    font-size: 1.2rem;
    padding: 12px 16px;
    margin-top: 25px;
	-webkit-appearance:none; 
	transition: 0.5s;
	min-width: 120px;
	width: auto;
	text-align: center;
	margin-left: 20px;
}

#loginContainer a.redButton:hover {
    background: var(--white);
	color: var(--blue);
	border: 1px solid var(--blue);	
}
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(255,222,46, 0.8);
	z-index:999;
	width:40px;
	transition: 0.3s;
}
.backToTop:hover {background-color:rgb(255,222,46);}

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


div#vegasSliderCaption {
    color: rgba(255,255,255, 0.9);
    font-size: 60px;
	font-size: 6.0rem;
    font-weight: bold;
    position: absolute;
    left: 45px;
    text-align: left;
	max-width: 80%;
	line-height: normal; 
}

#sliderButtonText:hover {
	opacity: 0.6;
	cursor: pointer; 
}

div.sliderSmallText { font-size: 30px; font-size: 3.0rem; }

#headerLogo:hover {
	opacity: 0.8;
	cursor: pointer;	
}

/* for top bar above header */
.headerTop {
    padding: 18px;
    font-size: 12px;
    font-size: 1.2rem;
}

.topContact a {
    padding: 0 20px 0 20px;
    display: inline-block;
    transition: 0.3s;
    color: var(--grape);
}

.headerTop a:hover {
	color: var(--gray);
}

.topIcon {
    height: 14px;
    width: auto;
    max-width: 20px;
    margin-right: 10px;
    transition: 0.3s;
}

.topContact a:hover > .topIcon {
	opacity: 0.7;
}	

/* flex classes */
.flexJustified {
    justify-content: space-between;
}
.flexRight {
	justify-content: flex-end;	
}

.flexWrap {
    flex-wrap: wrap;
}

.flexRWrap {
    flex-wrap: wrap-reverse;
}

.flexBox {
    display: flex;
}

.flex50 {
	flex-basis: 50%;
	padding:0 3%;
}

.flex40 {
	flex-basis: 40%;
	padding:0 3%;
}

.flex25 {
	flex-basis: 20%;
	padding:0 1%;
}
.flexColumns { display: flex; }
.flex_1_of_2 { width: 50%; padding: 20px;}
.flex_1_of_2:first-child { padding-left: 0; }
.flex_1_of_2:last-child { padding-right: 0; }

sup {
    vertical-align: super;
    font-size: smaller;
}