/* ------------------- */
/* STYLESHEET SECTIONS */
/* ------------------- */
/*  1__CSS Resets
    2__Layout
    3__Header
    4__Main content
    5__Footer
    6__Typo3 overrides
	 7__Bootstrap overrides
    8__Media queries
*/

/* ------------------------ */
/* 1__CSS Resets            */
/* ------------------------ */
/* Limited CSS reset */
/* See normalize-4.1.1.css */

html, body, button, input, select, textarea,
.pure-g [class *= "pure-u"] {
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;

}

html {
	height: 100%;
	font-size: 15px;	/* This is the base size the rem unit refers to */
}

body {
	font-size: 15px;
	min-height: 100%;
	margin: 0;
	padding: 0;
	color: #333;
	background: url(../images/meshtile.gif);
}


/* ------------------------ */
/* 2__Layout styles         */
/* ------------------------ */
.clear {
	clear: both;
}

.clearfix {
	zoom: 1;
}

.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.halign-l {
	text-align: left;
}

.halign-r {
	text-align: right;
}

.halign-c {
	text-align: center;
}

.valign-t {
	vertical-align: top;
}

.valign-m {
	vertical-align: middle;
}

.valign-b {
	vertical-align: bottom;
}

.css-table {
	display: table;
	width: 100%;
	table-layout: fixed;
}

.css-table-cell {
	display: table-cell;
}

.full-width-img {
	width: 100%;
	height: auto;
	display: block;
}

.img-width-auto {
	max-width: 100%;
	width: auto;
	height: auto;
}

.constrain {
	width: 1000px;
	margin: 0 auto;
}

.constrain-1100w {
	max-width: 1130px;
	margin: 0 auto;
}

.constrain-1920w {
	width: 1920px;
	margin: 0 auto;
}

/* ----------------------------- */
/* Bootstrap full height columns */
/* ----------------------------- */
/* Full height Bootstrap row */
/* Requires the following HTML structure
						<div class="row">
							 <div class="bs-row-full-height">
								<div class="col-xs-6 bs-col-full-height">
								  <div class="bs-col-inside">
									  Your content in here
								  </div>
								</div>
							</div>
						</div>
*/
.bs-row-full-height {
	display: table;
	width: 100%;
	height: 100%;
	table-layout: fixed;
}

/* Full height Bootstrap column */
.bs-col-full-height {
	display: table-cell;
	float: none;
	height: 100%;
}

/* Column internal container for full height Bootstrap column */
.bs-col-inside {
	margin-top: 1px;
	margin-bottom: 1px;
}

/* Responsive container for Youtube video clips. The Youtube iframe should be a child of a div with a class of
	"video-container". If creating such a container is not possible because you don't have access to the HTML eg in
	a CMS content element, you can call the ICIT responsifyYoutubeClips() JavaScript function to do it programmatically.
*/
.video-container {
	position: relative;
	padding-bottom: 56.25%;  /* 16:9 aspect ratio */
	height: 0;
	overflow: hidden;
	max-width: 100%;
}

.video-container iframe, .video-container object, .video-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/* ------------------------ */
/* 3__Header styles         */
/* ------------------------ */
header {
	padding: 15px 25px;
}

#header__col1 {
	width: 300px;
}

#header-logo {
	max-width: 100%;
	height: auto;
}

#header__col2 {
	position: relative;
	text-align: right;
}

#header-cta--desktop {
	position: absolute;
	top: 15px;
	right: 15px;
	font-weight: 700;
}

#header-cta--desktop .pre {
	margin-right: 10px;
	color: #E31E25;
	font-size: .95em;
}

#header-cta--desktop .numbers {
	font-size: 1.1em;
}

/* ------------------------ */
/* 4__Main Content          */
/* ------------------------ */

#page-wrap {
	background-color: #fff;
	-webkit-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.75);
	box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.75);
}

#header-cta--mobile {
	display: none;
	margin-bottom: 15px;
	text-align: center;
}

#header-cta--mobile img {
	width: 100%;
	max-width: 170px;
	height: auto;
}

#header-cta--mobile .spacer {
	width: 15px;
}

#top-hero-wrap {
	position: relative;
	min-width: 100%;
	text-align: center;
	overflow: hidden;
	/*z-index: -1;*/
	border-top: 4px solid #E31E25;
	border-bottom: 4px solid #E31E25;
}

#top-hero-wrap img {
	position: relative;
	height: 100%;
	left: 100%;
	margin-left: -200%;
	display: inline-block;
	margin-bottom: -5px;
}

#top-hero-image {
	width: 100%;
	height: auto;
	border-top: 4px solid #E31E25;
	border-bottom: 4px solid #E31E25;
}

#masthead {
	padding: 30px 40px;
	background-color: #1D1F1E;
	color: #fff;
}

#masthead h1:first-child,
#masthead h2:first-child,
#masthead h3:first-child,
#masthead h4:first-child,
#masthead h5:first-child,
#masthead p:first-child {
	margin-top: 0;
}


#masthead .col2,
#masthead .col4 {
	width: 40px;
	background: url(../images/masthead-divider.png) repeat-y top center / 2px auto;
}


#site-body {
	padding: 30px 20px;
}

#site-body img {
	max-width: 100%;
	height: auto;
}

hr {
	border-top: 1px solid #ddd;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 400;
	color: #E31E25;
}

h1,
h2 {
	font-size: 2em;
}

a,
a:visited,
a:hover,
a:active,
a:focus {
	color: #E31E25;
	text-decoration: none;
}

a:hover,
a:active,
a:focus {
	text-decoration: underline;
}

#site-body ul,
footer ul {
	list-style-type: none;
	padding-left: 20px;
}

ol li {
	padding-left: 3px;
}

#site-body ul li,
footer ul li {
	list-style-position: inside
}

#site-body ul li:before,
footer ul li:before {
	display: inline-block;
	position: relative;
	content: '\2022';
	margin-left: -4px;
	margin-right: 7px;
	font-size: 1.6em;
	line-height: .5em;
	color: #E31E25;
	top: 3px;
}

#site-body ol,
footer ol {
	padding-left: 32px;
}


/* ------------------------ */
/* 5__Footer Content        */
/* ------------------------ */
footer {
	margin-top: 30px!important;
	padding: 20px 15px;
	background-color: #9B9B9B;
	font-size: .9em;
	font-weight: 700;
	color: #000;
	border-top: 4px solid #E31E25;
}

footer h1:first-child,
footer h2:first-child,
footer h3:first-child,
footer h4:first-child,
footer h5:first-child,
footer h6:first-child,
footer p:first-child {
	margin-top: 0;
}

footer .footer-cta-email-wrap {
	margin-top: 10px;
}

footer .footer-cta-phone-wrap--desktop > div:first-child,
footer .footer-cta-email-wrap > div:first-child {
	width: 30px;
	padding-right: 10px;
}

footer .footer-cta-phone-wrap--desktop > div:first-child img,
footer .footer-cta-email-wrap > div:first-child img {
	width: 100%;
	height: auto;
}


footer .footer-cta-phone-wrap--mobile {
	display: none;
}

footer .footer-cta-phone-wrap--mobile a {
	font-size: 1.15em;
}

footer .footer-cta-phone-wrap--mobile > div:nth-child(1),
footer .footer-cta-phone-wrap--mobile > div:nth-child(4),
footer .footer-cta-email-wrap > div:first-child {
	width: 36px;
	padding-right: 10px;
}

footer .footer-cta-phone-wrap--mobile > div:nth-child(1) img,
footer .footer-cta-phone-wrap--mobile > div:nth-child(4) img,
footer .footer-cta-email-wrap > div:first-child img {
	width: 100%;
	height: auto;
}

footer .footer-cta-phone-wrap--mobile > div.spacer {
	width: 20px;
}


footer [class*="footer-cta-"] a,
footer [class*="footer-cta-"] a,
footer [class*="footer-cta-"] a,
footer [class*="footer-cta-"] a,
footer [class*="footer-cta-"] a {
	color: #000;
	text-decoration: none;
}


/* ------------------------ */
/* 6__Typo3 Overrides       */
/* ------------------------ */
.ce-gallery figure {
	display: block;
}

.ce-gallery figcaption {
	display: block;
}


/* This fixes issues caused by Typo3 fluid layouts for our top hero image */
#top-hero-wrap .ce-gallery,
#top-hero-wrap .ce-gallery .ce-column {
	float: none;
}

#top-hero-wrap .ce-gallery img {
	max-width: inherit;
	width: auto;
	height: 100%;
}

#top-hero-wrap .ce-intext.ce-right .ce-gallery {
	margin-left: 0;
	margin-bottom: 0;
}

#top-hero-wrap > div[id^="c"],
#top-hero-wrap .ce-textpic,
#top-hero-wrap .ce-gallery,
#top-hero-wrap .ce-outer,
#top-hero-wrap .ce-inner,
#top-hero-wrap .ce-row,
#top-hero-wrap .ce-column,
#top-hero-wrap .ce-media {
	height: 100%;
}

/* Typo3 overrides for correct image height in #top-hero-wrap once inside of a flexslider */
#top-hero-wrap .flexslider {
	margin-bottom: 0;
	border: none;
}

#top-hero-wrap > div {
	height: 100%;
}
#top-hero-wrap > div .tx-ws-flexslider {
	height: 100%;
}
#top-hero-wrap > div .tx-ws-flexslider .flexslider {
	height: 100%;
}
#top-hero-wrap > div .tx-ws-flexslider .flexslider ul.slides {
	height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider .flexslider ul.slides > li {
	height: 100%;
}

#top-hero-wrap > div .tx-ws-flexslider .flexslider ul.slides > li > div {
	height: 100%;
}

#top-hero-wrap > div .flexslider .slides img {
	width: inherit;
}

/* Typo3 overrides - fixes for IE 11 */
.ce-gallery,
.ce-column {
	max-width: 100%;
	/*width: 100% */ /* this is optional, but will allow the column to go full width in mobile view */
}

.ce-gallery img {
	max-width: 100%;
	height: auto;
}


/* ------------------------ */
/* 7__Bootstrap Overrides   */
/* ------------------------ */
.btn {
	border-radius: 0;
	border: none;
}
.btn-primary {
	color: #fff;
	background-color: #E31E25;
}

.btn-primary:hover {
	color: #fff;
	background-color: #c71a20;
}

.btn-primary:focus,
.btn-primary.focus {
	color: #fff;
	background-color: #ac161c;
}

.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
	color: #fff;
	background-color: #ac161c;
}

.btn-primary:active:hover, .btn-primary.active:hover, .open > .dropdown-toggle.btn-primary:hover, .btn-primary:active:focus, .btn-primary.active:focus, .open > .dropdown-toggle.btn-primary:focus, .btn-primary:active.focus, .btn-primary.active.focus, .open > .dropdown-toggle.btn-primary.focus {
	color: #fff;
	background-color: #ac161c;
}


/* ------------------------ */
/* 8__Media Queries         */
/* ------------------------ */
/* Large Devices, Wide Screens (Bootstrap col-lg-*) */
@media only screen and (max-width : 1200px) {
	#top-hero-wrap {
		height: 400px;
	}
}


@media all and (max-width: 1100px) {
	body {
		background: none;
	}
}


/* Medium Devices, Desktops (Bootstrap col-md-*) */
@media only screen and (max-width : 992px) {
	#top-hero-wrap {
		height: 310px;
	}
}

@media only screen and (max-width : 800px) {
	#header-cta--desktop {
		display: none;
	}

	#header-cta--mobile {
		display: block;
	}
}

/* Small Devices, Tablets (Bootstrap col-sm-*) */
@media only screen and (max-width : 768px) {
	body {
		font-size: .85em;
	}

	h1,
	h2 {
		font-size: 1.9em;
	}

	h3 {
		font-size: 1.6em;
	}

	header {
		padding: 15px 20px;
	}

	#masthead {
		padding: 30px 35px;
	}

	#site-body {
		padding: 30px 15px;
	}

	#top-hero-wrap {
		height: 260px;
	}

	footer {
		padding: 20px 10px;
		font-size: 1em;
	}

	footer .footer__col2 {
		margin-top: 15px;
		text-align: left;
	}
}


@media only screen and (max-width : 700px) {
	#masthead .col2,
	#masthead .col4 {
		display: none;
	}

	#masthead .col1,
	#masthead .col3,
	#masthead .col5 {
		display: block;
	}

	#masthead .col3,
	#masthead .col5 {
		margin-top: 18px;
		padding-top: 15px;
		border-top: 2px solid #333;
	}

}


@media only screen and (max-width : 600px) {
	header {
		padding: 15px 15px;
	}

	#masthead {
		padding: 20px 20px;
	}

	#site-body {
		padding: 20px 5px;
	}

	footer {
		padding: 20px 0;
	}
}


@media only screen and (min-width : 481px) {
	.flex-row.row {
		display: flex;
		flex-wrap: wrap;
	}
	.flex-row.row > [class*='col-'] {
		display: flex;
		flex-direction: column;
	}
	.flex-row.row:after,
	.flex-row.row:before {
		display: flex;
	}
}

/* Extra Small Devices, Phones (Bootstrap col-xs-*) */
@media only screen and (max-width : 480px) {
	#header-cta--mobile {
		margin-bottom: 10px;
		padding-left: 10px;
		padding-right: 10px;
	}

	#top-hero-wrap {
		height: 150px;
	}

	footer .footer-cta-phone-wrap--desktop {
		display: none;
	}

	footer .footer-cta-phone-wrap--mobile {
		display: block;
	}

	footer .footer-cta-email-wrap {
		margin-bottom: 10px;
		font-size: .9em;
	}
}


@media only screen and (max-width : 430px) {
	#header__col1 {
		width: 225px;
	}
}


/* Custom, iPhone Retina */
@media only screen and (max-width : 320px) {

}