/* July 2020 csnell - add content box for hero area */
@media (min-width: 200px) and (max-width: 900px){
    .hero_content_inner{
        width: 90% !important;
        margin: auto !important;
        padding-left: 0 !important;
    }
    .hero_selection .bootstrap-select{
        width: 95% !important;
        max-width: 300px !important;
    margin: auto !important;
    }
    .hero_selection .bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn){
        width: 95% !important;
        max-width: 300px !important;
        margin: auto !important;
    }
    #hero-announcement{
        width: 95% !important;
        max-width: 300px !important;
    margin: auto !important;
    }
}
 #hero-announcement{
	background-color: rgba(255, 255, 255, 0.8); 
	padding: 1em;
	color: black;

}
#hero-announcement p {
    margin: 1em 0;
}
#hero-announcement img{
    max-width: 98%;
    margin: auto;
}
#hero-announcement h1{
	text-shadow: none;
}
#hero-announcement .hero-button-link{
	background-color: rgba(4,83,156,1); ;
	padding: .5em;
	text-align: right;
}
#hero-announcement .hero-button-link a{
	color: white;
	font-weight: 900;
}

/*march/april 2020 cmsnell
 Header and Footer refactoring so the site has search on all devices; improve the mobile design; clean up the code
*/

/* do this on all **/
body{
	overflow-x: hidden;
}
.gsc-search-button {
	
width: 90px !important;
font-size: 14px !important;
font-family: Lato, sans;
}

.sr-text {
	position: absolute;
	left: -30em;
	
	width: 1px;
	height: 1px;
	overflow: hidden;
	top: -30em;
  }
  .sr-text:focus {
	color: black;
	display: inline-block;
	height: auto;
	width: auto;
	position: static;
	margin: auto;
  }
.header_top_search {
    display: inline-block;
	/*background: #003667;
	border-radius: 3px;
	border: 1px solid #04539c;*/
    position: relative;
	width: auto;
	padding: .5em;
	text-transform: uppercase;
font-family: 'Roboto Slab', serif;
font-size: 1.25em;
}
input.search-box{color: black;}
.header .header_top a{
	color: #fff;
}
.gsc-search-button{
	background: #003667;
	border-radius: 3px;
	border: 1px solid #04539c;
	padding: .5em;
}
.home-logo{
	margin: .2em;
	width: 162px;
	display: flex;
	align-content: space-between;
}
.home-logo img{
	width: 100%;
	padding-top: .2em;
	
	vertical-align: middle;
}

.bc_main_button{
	margin-top: .2em;
}

.header-top{
width: 100%;
background-color: #04539c;
color: #fff;
margin: 0;

}
.header-top-wrap{
	display: flex;
	
}
.header-top a{
	color: white;
	padding: .5em;
}
#main-header-wrap{
	display: flex;

}
.header-navs-wrap{
	width: 100%;
}
.header ul {
	list-style-type: none;
	margin-bottom: auto;
}
.main-menu{
	display: block;
color: #003667;
list-style: none;
    list-style-type: none;
font-family: 'Roboto Slab', serif;
font-size: 1.1em;
font-weight: 400;
}
.sub-menu{
	background-color: white;
}
li.has-mega-menu > ul{
	padding-bottom: 3em;
}
.main-menu li{
	list-style-type: none;
}
.main-menu li a{
	display: block;
padding: .5em 0 .5em 0;
color: #003667;
}

.header_cta_buttons a{
	color: white;
}
.header_cta_buttons a:hover{
	color: #003667;
}
ul.header_cta_buttons > li{
	
    text-transform:uppercase;
    font-family: 'Roboto Slab', serif;
    font-size:1.25em;
	border:none;
	color: white;
}

.header_cta_buttons li:nth-child(1){
	color:white;
    background:#157bc2;
}
.header_cta_buttons li:nth-child(2){
	color:white;
    background:rgba(4,83,156,1);
	
}
.header_cta_buttons li:nth-child(3){
	color:white;
    background:#003667;
}
ul.header_cta_buttons > li:hover{
	background:#479dda;
    color:#003667;
}

.header-top a:hover{
	color: white;
	text-decoration: underline;;
}
.header-top ul li{
	list-style-type: none;
	/*display: inline-block;*/
}


.header_top_nav{
	display: block;
	padding-top: .7em;
}

.header_mobile{
	display: none;
}

.select-css {
    display: block;
    font-size: 16px;
    font-family: sans-serif;
    font-weight: 700;
    color: #444;
    line-height: 1.3;
    padding: .6em 1.4em .5em .8em;
    width: 100%;
    max-width: 100%; 
    box-sizing: border-box;
    margin: 0;
    border: 1px solid #aaa;
   
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff;
   
    background-size: .65em auto, 100%;
}
.select-css::-ms-expand {
    display: none;
}
.select-css:hover {
    border-color: #888;
}
.select-css:focus {
    border-color: #aaa;
    box-shadow: 0 0 1px 3px rgba(59, 153, 252, .7);
    box-shadow: 0 0 0 3px -moz-mac-focusring;
    color: #222; 
    outline: none;
}
.select-css option {
    font-weight:normal;
}

/*footer style*/
.footer_bottom{
    background:#04539c;
	color:white;
	overflow: hidden;
}
.footer_statement h5{
    -webkit-transform: rotate(-90deg) translatey(-10em);
	transform: rotate(-90deg) translatey(-12em);
    font-family:'Lato', sans-serif;
    font-weight:400;
    text-transform:uppercase;
   
    letter-spacing:1px;
}
.footer_statement p{
	font-size: 2rem;
	font-style: normal;
}
.footer_copyright{
	font-size: 2rem;
	font-style: normal;
}
.footer_copyright ul{
    margin-bottom:0.5rem;
    list-style:none;
    padding:0;
}
.footer_copyright ul li {
    list-style:none;
    display:inline;
}
.footer_copyright ul a{
    color:white;
}
.footer_copyright ul a:hover{
    color:#52b8ff;
}
/*--------------------------------------------------------------200-900*/
@media (min-width: 200px) and (max-width: 900px){
	.header-top-wrap{
		width: 98%;
		max-width: 1200px;
		margin: 0 auto;
		flex-wrap: wrap;
		justify-content: space-around;
		align-items: center;
		align-content: center;

	}
	#main-header-wrap{
		display: flex;
		flex-wrap: wrap;
	}
	.header_mobile span{
		float: right;
clear: right;
padding: .8em;
position: relative;
top: -2.7em;
	}
	.header_top_nav{
		flex-basis: 99%;
		margin: 0;
		padding: 0;
	}
	.header_top_search{
		align-self: center;	

	}
	.header-top ul li{
		padding: .5em 0 .5em 0;
		border-bottom: 1px solid white;
	}
	.header-top ul li:last-child{
		border-bottom: none;
	}
	.header_top_nav{
		display: none;
	}
	.home-logo{
		padding: .3em;
	}
	.main-menu{
		display: block;
	color: #003667;
	list-style: none;
		list-style-type: none;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.1em;
	font-weight: 400;
	}
	.main-menu{
		display: none;
	}
	.sub-menu > li ul {
		display: none;
	}
	li.has-mega-menu{
		border-bottom: 1px solid #003667;
	}

	li.has-mega-menu:last-child{
		border-bottom: none;
	}
	.header_mobile{
		display: block;
	}
	.header_cta_buttons{
		width: 100%;
		margin: 0;
		padding: 0;
		display: block;
	}
		.header_cta_buttons li{
			display: block;
		}
		.header_cta_buttons li a{
			width: 100%;
			padding: 1rem;
			height: 45px;
			display: block;
		}
		#header_cta_menu{
			width: 100%;
			margin: 0;
			padding: 0;
		}
	}
		@media (min-width: 200px) and (max-width: 999px){
		.footer_copyright{
			width: 90%;
			margin: 2rem auto;
			padding: 2rem 0;
			border-bottom: #fff 1px solid;
		}
		.footer_logo{
			width: 90%;
			max-width: 120px;
			margin: 3rem auto;
			padding-top: 2rem;
			padding-bottom: 2em;
			transform: translatey(4em);
		
			
		}
		.footer_statement{
			width: 90%;
			margin: 2rem auto;
			padding: 2rem 0;
			margin: 2rem auto;
		
			
		}
		.footer_statement p{
			width: 90%;
			float: right;
		}
}
/*--------------------------------------------------------------700-1000*/
@media (min-width: 700px) and (max-width: 1175px){
	.header-top-wrap{
		width: 98%;
		max-width: 1200px;
		margin: 0 auto;
		flex-wrap: wrap;
		justify-content: space-around;
		align-items: center;
		align-content: center;

	}
	#main-header-wrap{
		display: flex;
		flex-wrap: wrap;
	}
	.header_mobile span{
		float: right;
clear: right;
padding: .8em;
position: relative;
top: -2.7em;
	}
	.header_top_nav{
		flex-basis: 99%;
		margin: 0;
		padding: 0;
	}
	.header_top_search{
		align-self: center;	

	}
	.header-top ul li{
		padding: .5em 0 .5em 0;
		border-bottom: 1px solid white;
	}
	.header-top ul li:last-child{
		border-bottom: none;
	}
	.header_top_nav{
		display: none;
	}
	.home-logo{
		padding: .3em;
	}
	.main-menu{
		display: block;
	color: #003667;
	list-style: none;
		list-style-type: none;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.1em;
	font-weight: 400;
	}
	.main-menu{
		display: none;
	}
	.sub-menu > li ul {
		display: none;
	}
	li.has-mega-menu{
		border-bottom: 1px solid #003667;
	}

	li.has-mega-menu:last-child{
		border-bottom: none;
	}
	.header_mobile{
		display: block;
	}
	.header_cta_buttons{
		width: 100%;
		margin: 0;
		padding: 0;
		display: block;
	}
		.header_cta_buttons li{
			display: block;
		}
		.header_cta_buttons li a{
			width: 100%;
			padding: 1rem;
			height: 45px;
			display: block;
		}
		#header_cta_menu{
			width: 100%;
			margin: 0;
			padding: 0;
		}
	}
		@media (min-width: 200px) and (max-width: 999px){
		.footer_copyright{
			width: 90%;
			margin: 2rem auto;
			padding: 2rem 0;
			border-bottom: #fff 1px solid;
		}
		.footer_logo{
			width: 90%;
			max-width: 120px;
			margin: 3rem auto;
			padding-top: 2rem;
			padding-bottom: 2em;
			transform: translatey(4em);
		
			
		}
		.footer_statement{
			width: 90%;
			margin: 2rem auto;
			padding: 2rem 0;
			margin: 2rem auto;
		
			
		}
		.footer_statement p{
			width: 90%;
			float: right;
		}
	
	.footer_copyright{
		width: 90%;
		max-width: 750px;
		margin: 1rem auto;
	}
	.footer_logo{
		width:20%;
		max-width: 200px;
	
		
	
	}
	.footer_statement{
		width:90%;
		max-width: 750px;
		margin: 1rem auto;
		float:left;
		clear: both;
		
	}
	.footer_statement p{
		width: 90%;
		float: right;
	}
	.footer_statement h5{
		-webkit-transform: rotate(-90deg) translatey(-21em) translatex(17em);
		transform: rotate(-90deg) translatey(-21em) translatex(17em);
	}

}
/*--------------------------------------------------------------1000-1200*/
@media (min-width: 1176px) and (max-width: 1199px){
	.header_mobile{
		display: none;
	}

	.header-top-wrap{
		width: 99%;
		max-width: 1200px;
		margin: 0 auto;
		flex-wrap: nowrap;
		justify-content: flex-end;
		align-items: baseline;
		align-content: flex-end;

	}
	.header_top_nav{
	
		align-self: flex-end;
		
	}

	.header-top ul li{
		padding: .5em .3em;
		border-bottom: none;
	}
	.header-top ul li:last-child{
		border-bottom: none;
	}
	.header_top_search{
		align-self: flex-end;
		margin-right: 0;

	}
	#main-header-wrap{
		width: 99%;
		max-width: 1200px;
		margin: 0 auto;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: stretch;
		align-content: space-between;
		overflow: hidden;
		padding: 0;
	}
.header-navs-wrap{
	width: 99%;
	max-width: 1200px;
	margin: 0 auto -1.5em auto;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: baseline;
	align-content: space-between;
	overflow: hidden;
	padding: 0;
}
	.home-logo{
		position: relative;
		min-height: 1px;
		padding-right: 15px;
		padding-left: 15px;
width: 16.66666667%;
max-width: 175px;
	}
	.header_top_nav{
		display: block;
	}
	.header_top_nav li{
		display: inline-block;
	}
	.main-menu{
		display: block;
		margin-right: 3em;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
	}
	.main-menu li{
		list-style-type: none;
	}
	.main-menu{ margin: -2em 0; padding: 0}
	.main-menu .sub-menu{
		font-weight: 700;
	}
	.main-menu .sub-menu li .sub-menu{
		font-weight: 300;
		font-size: .8em;
		margin-left: -3em;
		margin-right: 4em;
	}

	li.has-mega-menu{
		display: inline-block;
		padding: 2em;
	}

	li.has-mega-menu > ul{
		display: flex;
		flex-wrap: nowrap;
		flex-direction: row;
	}
	li.has-mega-menu > ul > li{
		display: inline-block;
	}

	li.has-mega-menu > ul li ul li{
		display: block;
	}
	.header_cta_buttons{
		height: 100%;
		width: auto;
		padding: 0;
		display: flex;
		align-content: stretch;
		align-items: flex-end;
	}
	.header_cta_buttons{
		height: 100%;
	}
	ul.header_cta_buttons > li{
		display: inline-block;
	}
	.header_cta_buttons li a{
		width: 100%;
		padding: 1.2em 1em;
		height: 100%;
		display: block;
		border-bottom: 1px solid navy;
	}
	
	.footer_statement h5{
		-webkit-transform: rotate(-90deg) translatey(-13em) translatex(4em);
		transform: rotate(-90deg) translatey(-13em) translatex(4em);
		}
		.footer_statement p{
			font-size: 1.3rem;
			width: 60%;
			float: left;
		}
		.footer_logo{
			width: 20%;
			max-width: 120px;
			float: right;
		}
		.footer_copyright{
			font-size: 1.3rem;
			margin-top: 4rem;
			width: 40%;
			max-width: 400px;
		}
		.footer_bottom .container{
			width: 90%;
			max-width: 1000px;
			margin: 0 auto;
		}
	
	
}

/*--------------------------------------------------------------1200+*/
@media (min-width: 1200px){
	.header_mobile{
		display: none;
	}

	.header-top-wrap{
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
		flex-wrap: nowrap;
		justify-content: flex-end;
		align-items: baseline;
		align-content: flex-end;

	}
	.header_top_nav{
	
		align-self: flex-end;
		
	}

	.header-top ul li{
		padding: .5em .3em;
		border-bottom: none;
	}
	.header-top ul li:last-child{
		border-bottom: none;
	}
	.header_top_search{
		align-self: flex-end;
		margin-right: 0;

	}
	#main-header-wrap{
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: stretch;
		align-content: space-between;
		overflow: hidden;
		padding: 0;
	}
.header-navs-wrap{
	width: 90%;
	max-width: 1200px;
	margin: 0 auto -1.5em auto;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: baseline;
	align-content: space-between;
	overflow: hidden;
	padding: 0;
}
	.home-logo{
		position: relative;
		min-height: 1px;
		padding-right: 15px;
		padding-left: 15px;
width: 16.66666667%;
max-width: 175px;
	}
	.header_top_nav{
		display: block;
	}
	.header_top_nav li{
		display: inline-block;
	}
	.main-menu{
		display: block;
		margin-right: 3em;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
	}
	.main-menu li{
		list-style-type: none;
	}
	.main-menu{ margin: -2em 0; padding: 0}
	.main-menu .sub-menu{
		font-weight: 700;
	}
	.main-menu .sub-menu li .sub-menu{
		font-weight: 300;
		font-size: .8em;
		margin-left: -3em;
		margin-right: 4em;
	}

	li.has-mega-menu{
		display: inline-block;
		padding: 2em;
	}

	li.has-mega-menu > ul{
		display: flex;
		flex-wrap: nowrap;
		flex-direction: row;
	}
	li.has-mega-menu > ul > li{
		display: inline-block;
	}

	li.has-mega-menu > ul li ul li{
		display: block;
	}
	.header_cta_buttons{
		height: 100%;
		width: auto;
		padding: 0;
		display: flex;
		align-content: stretch;
		align-items: flex-end;
	}
	.header_cta_buttons{
		height: 100%;
	}
	ul.header_cta_buttons > li{
		display: inline-block;
	}
	.header_cta_buttons li a{
		width: 100%;
		padding: 1.2em 1em;
		height: 100%;
		display: block;
		border-bottom: 1px solid navy;
	}
	.footer_statement h5{
		-webkit-transform: rotate(-90deg) translatey(-13em) translatex(4em);
		transform: rotate(-90deg) translatey(-13em) translatex(4em);
		}
		.footer_statement p{
			font-size: 1.3rem;
			width: 60%;
			float: left;
		}
		.footer_logo{
			width: 20%;
			max-width: 120px;
			float: right;
		}
		.footer_copyright{
			font-size: 1.3rem;
			margin-top: 4rem;
			width: 40%;
			max-width: 400px;
		}
		.footer_bottom .container{
			width: 90%;
			max-width: 1000px;
			margin: 0 auto;
		}

}
@media screen and (min-width: 770px){
    .has-mega-menu{
		position:static;
		
    }
  li.has-mega-menu > ul {
        width: 100%;
        position: absolute;
        /* top: 150px; insert the needed value*/
        z-index: 100;
        left:0px;
		right:0px;
		border-top: 1px solid #003667;
		border-bottom: 1px solid #003667;
	}
	li.has-mega-menu > ul{
		display: none;
	}
	li.has-mega-menu:hover > ul{
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
		align-items: flex-start;
		align-content: flex-start;
	}
	li.has-mega-menu:active > ul{
		display: flex;
	}

    li.has-mega-menu:hover> ul{
    /*flexbox fallback for browsers that do not support CSS GRID lyout*/
        display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
		align-items: flex-start;
		align-content: flex-start;
     
    }
}


@media screen and (min-width: 770px){
    li.mega-menu-column {
	  width: 23%;
	  max-width: 320px;
        min-height: 1px;
		padding: 10px 25px;
		align-self: flex-start;
	flex-grow: 1;
       
	}

}
@media screen and (min-width: 992px){
    li.mega-menu-column { width: 23%;
		max-width: 320px;}
}
@media screen and (min-width: 1200px){
    li.mega-menu-column { width: 23%;
		max-width: 320px;}
}