html { overflow-y: scroll; font-size: 62.5%; }
body { min-height: 100vh;  position: relative;  -webkit-font-smoothing: antialiased;}
.oldie body { width: 1170px; margin: 0 auto; }

.full_width { clear: both; margin: 0 auto; box-sizing: border-box; position: relative; z-index: 0; }
.inner_width { width: 96%; padding: 0; max-width: 1170px; margin: 0 auto !important; box-sizing: border-box; }
.padded { padding: 0 2%; }

input[type=text], textarea { -webkit-appearance: none; border-radius: 0; }
input[type=email], input[type=submit], input[type=image], select { border-radius: 0; }

/* SET DEFAULT FONTS */
p, li, div, th, td, h1, h2, h3, h4, input, option, textarea {   font-family: 'Open Sans', Arial, Helvetica, sans-serif; color: #555; font-weight: normal; }
p { font-size: 20px; font-size: 1.8rem; line-height: 1.50em; margin: 0 0 1.4em 0; }
ul { font-size: 20px; font-size: 1.8rem; margin: 0 0 1.0em 0; padding-left: 2.0em; }
li { font-size: 20px; font-size: 1.8rem; line-height: 1.50em; padding: 0; }
a:link, a:visited { color: #3fa9f5; }
a:hover, a:active { color: #2690dc; }

strong, b { font-weight: 600; }

table { width: 100%; background-image:url()}
th, td { font-size: 18px; font-size: 1.8rem; line-height: 1.50em; }

h1,h2,h3,h4 { font-family: Arial, Helvetica, sans-serif; }

h1 { font-size: 42px; font-size: 4.4rem; line-height: 1.10em; color: #555; font-weight: 600; margin: 0 0 0.4em 0; font-family: 'Open Sans',arial,helvetica,sans-serif; }
h2 { font-size: 36px; font-size: 3.6rem; line-height: 1.25em; color: #555; font-weight: 600; margin: 0.3em 0 0.3em 0; font-family: 'Open Sans',arial,helvetica,sans-serif; }
h3 { font-size: 34px; font-size: 3.3rem; line-height: 1.25em; color: #555; font-weight: 600; margin: 0.3em 0 0.3em 0; font-family: 'Open Sans',arial,helvetica,sans-serif; }
h4 { font-size: 32px; font-size: 3.0rem; line-height: 1.25em; color: #555; font-weight: 600; margin: 0.3em 0 0.3em 0; font-family: 'Open Sans',arial,helvetica,sans-serif; }


article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; }

iframe { margin-bottom: 3%; }

.cf:after {
    content:"";
    display:table;
    clear:both;
}

@media only screen and (max-width: 780px) {
	html { font-size: 50%; }
}


/***********************************/
/**
/**  HEADER
/**
/***********************************/

	#header_container { display: table; width: 100%; padding: 20px 0; }
		#header_logo { display: table-cell; vertical-align: middle; padding-right: 2.6%; }
			#header_logo img { width: 100%; max-width: 410px; float: left; }
			#mobile_menu { display: none; }
		#header_banner { display: table-cell; width: 728px; vertical-align: middle;  }
			#header_banner > * { float: right; width: 728px; height: 90px; }

		@media only screen and (max-width: 1023px) { #header_logo img { max-width: 276px; } #header_banner { width: 468px; } #header_banner > * { width: 468px; height: 60px;} }
		@media only screen and (max-width: 740px) { #header_banner { width: 320px; } #header_banner > * { width: 320px; height: 50px;} }
		@media only screen and (max-width: 640px) {
			#site_header { width: 100%; }
			#header_container {
				display: block;
				overflow: auto;
				padding: 0;
				text-align: center;
			}
			#header_logo {
				display: block;
				width: 100%;
				padding: 10px 0;
				-webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.25);
				-moz-box-shadow:    0px 0px 20px 0px rgba(0, 0, 0, 0.25);
				box-shadow:         0px 0px 20px 0px rgba(0, 0, 0, 0.25);
				text-align: center;
				overflow: auto;
			}
				#header_logo img { float: none; display: inline-block; width: calc(100% - 100px); max-height: 45px; }

				#mobile_menu {
					display: inline-block;
					width: 45px;
					height: 45px;
					background: #f93;
					margin-left: 20px;
					overflow: hidden;
				}

					#mobile_menu:after {
						content: "\f0c9";
						font-family: 'FontAwesome';
						font-size: 24px;
						line-height: 45px;
						width: 45px;
						text-align: center;
						color: #fff;
						display: block;
						position: absolute;
					}



			#header_banner {
				display: block;
				width: 100%;
				text-align: center;
				padding: 15px 0;
			}
				#header_banner > * { float: none; width: 468px; height: 60px; }
		}
		@media only screen and (max-width: 500px) { #header_banner > * { width: 320px; height: 50px; max-width: 100%; } }


/***********************************/
/**
/**  NAV
/**
/***********************************/

	#navbar { background: #f93; z-index: 999; }
	#navbar * { font-size: 20px; font-size: 2.0rem; }
		#navbar nav { position: relative; }
		#topnav { margin: 0; padding: 0; overflow: auto; background: #f93; }
			#topnav > li {
				margin: 0; padding: 0; list-style: none; float: left;

				line-height: 2.0em;
				color: #fff;
			}
				#topnav > li > a { color: #fff; text-decoration: none; display: block; padding: 0 0.5em; }
				#topnav > li > a:hover { background: #e6801a; }
				#topnav > li.active > a { background: #e6801a; }

			#topnav > li#mobile_search { display: none; }

		#desktop_search {
			position: absolute;
			right: 0; top: 0;
			line-height: 2.0em;
			height: 2.0em;
		}

			#desktop_search img { height: 1.6em; margin: 0.2em 0; float: right; }

			#desktop_search form {
				display: none;
				position: absolute;
				right: 0; top: 0;
				height: 1.6em;
				background: #fff;
				width: 11.6em;
				margin: 0.2em 0;
				border-left: 0.2em solid #f93;
			}

				#desktop_search form input:first-of-type {
					border: 0;
					height: 1.6em;
					line-height: 1.6em;
					float: left;
					width: 10em;
					box-sizing: border-box;
					background: #fff;
					padding: 0 0.5em;
					color: #f93;
				}
				#desktop_search form input:first-of-type::-webkit-input-placeholder { color: #f93; }
				#desktop_search form input:first-of-type:-moz-placeholder { color: #f93; }
				#desktop_search form input:first-of-type::-moz-placeholder { color: #f93; }
				#desktop_search form input:first-of-type:-ms-input-placeholder { color: #f93; }
				#desktop_search form input:last-of-type {
					float: right;
					padding: 0em;
					width: 1.6em;
					height: 1.6em;
					box-sizing: border-box;
					background: #fff;
				}

	@media only screen and (max-width: 930px) { #navbar * { font-size: 16px; font-size: 1.6rem; } }
	@media only screen and (max-width: 780px) { #navbar * { font-size: 20px; font-size: 2.0rem; } }
	@media only screen and (max-width: 740px) { #navbar * { font-size: 18px; font-size: 1.8rem; } }
	@media only screen and (max-width: 640px) { #navbar { top: -93px; } }
	@media only screen and (max-width: 500px) { #navbar { top: -83px; } }

	@media only screen and (max-width: 640px) {
		#navbar * { font-size: 20px; font-size: 2.0rem; }
		nav.inner_width { width: 100%; padding: 0; }
		#topnav { width: 100%; display: none; position: absolute; }
		#topnav > li { width: 100%; float: none; line-height: 2.6em; border-bottom: 1px solid #e5892e; }
		#topnav > li > a { padding: 0 1.0em; }
		#topnav > li#mobile_search {
			display: block;

		}
			#mobile_search form {
				overflow: auto;
				font-size: 20px; font-size: 2.0rem;
				padding: 0.5em 1.0em;
			}

				#mobile_search form input:first-of-type {
					border: 0;
					height: 2.0em;
					line-height: 2.0em;
					float: left;
					width: calc(100% - 2.0em);
					box-sizing: border-box;
					background: #fff;
					padding: 0 0.5em;
					color: #f93;
					font-size: 16px;
				}
				#mobile_search form input:first-of-type::-webkit-input-placeholder { color: #f93; }
				#mobile_search form input:first-of-type:-moz-placeholder { color: #f93; }
				#mobile_search form input:first-of-type::-moz-placeholder { color: #f93; }
				#mobile_search form input:first-of-type:-ms-input-placeholder { color: #f93; }
				#mobile_search form input:last-of-type {
					float: right;
					padding: 0em;
					width: 2.0em;
					height: 2.0em;
					box-sizing: border-box;
					background: #fff;
				}


		#desktop_search { display: none; }
	}
	@media only screen and (min-width: 641px) { #topnav { display: block !important; } }


/***********************************/
/**
/**  TORSO
/**
/***********************************/

#breadcrumb {}
	#breadcrumb ul { margin: 0; padding: 0; overflow: auto; }
		#breadcrumb ul li { margin: 0; padding: 0; list-style: none;
			font-size: 16px; font-size: 1.6rem;
			color: #555;
			float: left;
			padding: 1.2em 0;
		}
			#breadcrumb ul li:after { content: '>'; padding: 0 0.5em; color: #ddd; }
			#breadcrumb ul li:last-of-type:after { display: none; }

			#breadcrumb ul li a { color: #3fa9f5; text-decoration: none; }
			#breadcrumb ul li a:hover, #breadcrumb ul li a:active { color: #2690dc; }

#site_torso { display: table; table-layout: fixed; }

	#site_torso img { max-width: 100%; }

	#site_torso_left {
		display: block;
		vertical-align: top;
		padding-right: 2.6%;
		box-sizing: border-box;

	}

	#site_torso_right {
		display: table-cell;
		vertical-align: top;
		width: 360px; /* 336 banner + 2 border + 11 padding */
	}

		#site_torso_right > * { margin-bottom: 6%; }


	@media only screen and (max-width: 1023px) {
		#site_torso_right { width: 320px; /* 300 banner + 2 border + 9 padding */ }
	}
	@media only screen and (max-width: 899px) {
		#site_torso { display: block; }
		#site_torso_left { display: block; padding-right: 0; }
		#site_torso_right { display: block; width: 100%; }
		#site_torso_right > * { margin-bottom: 3%; }
	}
	@media only screen and (max-width: 640px) {
		#breadcrumb { display: none; }
	}

/***********************************/
/**
/**  FOOTER
/**
/***********************************/

#footerbar { background: #3fa9f5; }

	#footer { overflow: auto; }

	#footer > div { width: 32%; margin-right: 2%; float: left; padding-bottom: 2%; font-size: 16px; font-size: 1.6rem; }
	#footer > div:last-of-type { margin-right: 0; float: right; }

	#footer > div h5 { font-size: 22px; font-size: 2.2rem; color: #fff; font-weight: bold; text-align: center; margin: 0.3em 0 0.2em 0; padding: 0; line-height: 2.0em; }

	#footer > div:nth-of-type(1) ul { margin: 0 auto; padding: 0; width: 14em; overflow: auto; }
	#footer > div:nth-of-type(1) ul li { line-height: 1.1em; margin: 0; padding: 0 0 0.3em 0; list-style: none; float: left; width: 50%; color: #fff; font-size: 16px; font-size: 1.6rem; }
	#footer > div:nth-of-type(1) ul li:before { content: '\2022'; padding: 0 1.0em; }
	#footer > div:nth-of-type(1) ul li a { color: #fff; text-decoration: none; }

	#footer > div:nth-of-type(2) ul { margin: 0 auto; padding: 0; width: 14em; }
	#footer > div:nth-of-type(2) ul li { margin: 0; padding: 0; list-style: none; float: left; width: 23.5%; margin-right: 2%; color: #fff; text-align: center; position: relative; }
	#footer > div:nth-of-type(2) ul li:last-of-type { margin-right: 0; }
	#footer > div:nth-of-type(2) ul li a {
		line-height: 1.0em;
		font-size: 30px; font-size: 3.0rem;
	}
	#footer > div:nth-of-type(2) ul li a span { display: none; }
	#footer > div:nth-of-type(2) ul li a { color: #fff; }

	#footer > div:nth-of-type(3) { text-align: center; }
	#footer > div:nth-of-type(3) p { margin: 0; }
	#footer > div:nth-of-type(3) input:nth-of-type(1) {
		font-size: 16px; font-size: 1.6rem;
		border: 0;
		height: 2.0em;
		line-height: 2.0em;
		padding: 0 0.5em;
		margin-bottom: 0.5em;
	}
	#footer > div:nth-of-type(3) input:nth-of-type(2) {
		background: #153953;
		font-size: 16px; font-size: 1.6rem;
		border: 0;
		height: 2.0em;
		line-height: 2.0em !important;
		padding: 0 0.5em;
		vertical-align: top;
		color: #fff;
		font-weight: bold;
		text-transform: uppercase;
	}

	#footer > p {
		clear: both;
		color: #fff;
		text-align: center;
		font-size: 14px; font-size: 1.4rem;
	}

	@media only screen and (max-width: 640px) {
		#footer > div { width: 100%; margin-right: 0%; float: left; padding-bottom: 2%; font-size: 16px; font-size: 1.6rem; }
		#footer > div:nth-of-type(3) input { font-size: 16px !important; }
	}



/***********************************/
/**  STYLED SELECT BOXES
/***********************************/

select.styled_select {
	-webkit-appearance: none;
	-moz-appearance: none;
	outline: 0;
}
select.styled_select:disabled { opacity: 0.5; }
select.styled_select:disabled + span { background: none; opacity: 0.5; }
select.styled_select:-moz-focusring { color: transparent; text-shadow: 0 0 0 #000; }
select.styled_select + span {
	float: left;
	background: #fff;
	color: #555;
	text-align: center;
	pointer-events: none;
	cursor: arrow;
	margin-top: 2px;
}
html.oldie select.styled_select + span { display: none; }

select.select_orange + span { color: #f93; }

/***********************************/
/**  TYPEAHEAD DROPDOWN
/***********************************/

.tt-menu {
	background: #FFFFFF;
	width: 100%;
}

.twitter-typeahead {
    width: 100%;
    overflow: visible;
    display: block;
}

.tt-menu .tt-suggestion {
	padding: 0.8em 1.0em;
	cursor: pointer;
	box-sizing: border-box;
	width: 100% !important;
}

.tt-dropdown-menu .tt-suggestion:hover {
	background: #EEE;
}

div.search_container input.typeahead { background: #FFF; }

.modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgb(0, 0, 0);
    background-color: rgba(0, 0, 0, 0.4);
}

.solidModal
{

}

.modal-content {
    margin: 15% auto;
    padding: 20px;
    border: none;
    margin-left: auto;
    margin-right: auto;
    max-width: 90%;
    width: 400px;
}

.solidModal .modal-content
{
    background-color: white;
    border-radius: 18px;
    max-width: 568px;
    box-sizing: border-box;
    width: 90%;
    padding: 30px;
}

.solidModal .modal-content img.modal-logo
{
    display: block;
    margin: 10px auto 30px auto;
    width: 100%;
    max-width: 400px;
}

.solidModal .modal-content p
{
    max-width: 475px;
    margin: 1em auto;
}

.modal-footer
{
    text-align: right;
    padding-top: 20px;
}

.modal-footer a
{
    margin-left: 20px;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
}

.button.button_accept_privacy_policy
{
    font-weight: bold;
    font-size: 18px;
    padding: 0.75em;
}

/***********************************/
/**  Bottom Cookie Banner
/***********************************/

.cookieBanner
{
    position: fixed;
    opacity: 0;
    opacity: 1;
    width: 100%;
    bottom: 0;
    left: 0;
    background-color: white;
    background-color: rgba(255,255,255,0.95);
    box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.2);
}

.cookieBannerInner
{
    max-width: 1170px;
    padding: 10px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
}

.cookieBannerInner p
{
    margin-bottom: 0;
    font-size: 12px;
}

.cookieBannerInner .button_accept_privacy_policy
{
    display: block;
    text-align: center;
    font-size: 12px;
    margin-left: 10px;
}

@media only screen and (min-width: 680px)
{
    .cookieBannerInner
    {
        padding: 20px;
        align-items: center;
    }
    .cookieBannerInner p
    {
        font-size: 16px;
    }
    .cookieBannerInner .button_accept_privacy_policy
    {
        margin-left: 20px;
        font-size: 18px;
    }
}
