/***************
CLEARFIX
***************/

.cf:before,
.cf:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}
.cf:after {
    clear: both;
}
.cf {
    *zoom: 1;
}

/***************
STICKY FOOTER 
***************/

.wrap {
	display: -webkit-box;      
	display: -moz-box;        
	display: -ms-flexbox;     
	display: -webkit-flex;   
	display: flex;
	min-height: 100vh;
	flex-direction: column;
}
.content_wrap {
	flex: 1 0 auto;
}

/***************
GENERAL
***************/

body {
	background: #ededed;
	font-size: 62.5%;
	color: #fff;
    letter-spacing: -0.1em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;	
}

::-moz-selection { background: #4598ff; color: #fff;}
::selection { background: #4598ff; color: #fff; }

.table { display: table; width: 100%; height: 100%;}
.table_row { display: table-row; }
.table_cell { display: table-cell; vertical-align: top;}
.align_top { vertical-align: top; }
.align_middle { vertical-align: middle; }
.align_bottom { vertical-align: bottom; }
.flex {
	display: -webkit-box;      
	display: -moz-box;        
	display: -ms-flexbox;     
	display: -webkit-flex;   
	display: flex;       
	align-items: center;      
}
.flex_half { flex-basis: 50%; flex-grow: 1; }

.pull_left { float: left; }
.pull_right { float: right !important; }
.align_right { text-align: right; }
.align_center { text-align: center; }
.no_mrgn { margin: 0; }
.hidden { display: none; }

/* FONT FORMAT */

body, select, input, textarea{
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

h1, 
h1 a,
h2, 
h2 a,
h3, 
h3 a,
h4, 
h4 a,
h5, 
p,
p a {
	color: #fff;
}

h1 {
	font-size: 30px;
	font-weight: normal;
	line-height: 38px;	
}
h2 {
	font-size: 42px;
	font-weight: 400;
	line-height: 50px;
	color: #fff;
}
h2 strong,
h2 em {
	text-transform: uppercase;
	font-weight: bold;
}
h2 strong {
	font-size: 50px;
}
h3 {
	font-size: 22px;
	font-weight: 400;
	line-height: 30px;
}
p {
	font-size: 18px;
	line-height: 24px;
	margin-bottom: 20px;
}
p:last-child {
	margin-bottom: 0;
}
p small {
    font-size: 12px;
    letter-spacing: normal;
}
a, a strong {
	text-decoration: none;
	transition: all 0.3s;
	-o-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-webkit-transition: all 0.3s;
}

i:before {
	vertical-align: middle;
}

.no_mrgn {
	margin-bottom: 0;
}

ul, 
ol {
	padding: 0 0 0 16px;
	margin-bottom: 20px;
}
ul li, 
ol li {
	color: #000;
	font-size: 16px;
	font-weight: 300;
	margin: 0 0 10px 0;
	padding-left: 9px;
	line-height: 24px;
}
ul li a, 
ol li a {
	color: #4599ff;
}

ol {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
ol li {
	counter-increment: step-counter;
    position: relative;
    padding-left: 30px;
    font-weight: 400;
    font-size: 18px;
    margin-bottom: 20px;
}
ol li:before {
	content: counter(step-counter) '.';
	font-size: 18px;
	font-weight: 900;
	color: #000;
	position: absolute;
	top: 0; left: 0;
}
img {
	width: 100%;
	display: block;
}

/* Buttons & Icons */

button {
	cursor: pointer;
	border: none;
}
.btn {
	display: inline-block;
	border: none;
	padding: 13px 15px;
	color: #fff;
	font-size: 18px;
	font-weight: 400;
	text-align: center;

}
.btn:hover {
	background: #4599ff;
}
.btn:focus {
	outline: none;
}

/************
HEADER & FOOTER
************/

header {
	position: relative;
	background-color: #e4032e;
	padding: 50px;
}
header #logo {
	text-align: right;
	margin-bottom: 60px;
}
header #logo img {
	width: auto;
    display: inline-block;
}
header p,
header a {
	color: #fff;
	font-size: 22px;
	margin-bottom: 0;
}

/* STRUCTURE */

.page_wrap {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
.content {
	padding: 50px;
	margin-bottom: 10px;
}
.gray_bg {
	background-color: #787a82;
}
.red_bg {
	background-color: #e4032e;
}
.padding {
	padding: 50px;
}
.padding_vert {
	padding: 50px 0;
}
.padding_btm {
	padding: 0 0 50px 0;
}
.padding_top {
	padding: 50px 0 0 0;
}

#brochure {
	display: block;
}
#brochure .table_cell {
	width: 50%;
	vertical-align: middle;
}
#brochure .table_cell.image {
	padding-right: 2.5%;
}
#brochure .table_cell.text {
	padding-right: 10%;
}
#brochure img {
	width: auto;
    max-height: 375px;
    margin: 0 0 0 auto;
}

.grid_layout {
	font-size: 0;
	margin: 0 -0.5%;
}
.grid_item {
	display: inline-block;
	margin: 0 0.5% 10px 0.5%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.grid_item.width_40 {
	width: 39%;
}
.grid_item.width_60 {
	width: 59%;
}
.grid_item:after {
    content: '';
    display: block;
}
.grid_item.width_40:after {
    padding-bottom: 100%;
}
.grid_item.width_60:after {
    padding-bottom: 66%;
}

/****************
RESPONSIVE STYLES
****************/

@media screen and (max-width: 1024px) {
	
	#brochure img {
		margin: 0 auto;
	}
	#brochure .table_cell.text {
		padding-right: 0;
	}
	
}

@media screen and (max-width: 768px) {
	
	h2 {
		font-size: 30px;
		line-height: 1.2;
	}
	h2 strong {
		font-size: 36px;
	}
	p {
		line-height: 1.2;
	}
	
}

@media screen and (max-width: 480px) {
	
	header,
	.content {
		padding: 30px;
	}
	header p, 
	header a {
		font-size: 18px;
	}
	h1 {
		font-size: 24px;
		line-height: 1.2;
	}
	h2 {
		font-size: 20px;
	}
	h2 strong {
		font-size: 24px;
	}
	.table_cell {
		display: block;
		width: 100% !important;
		padding: 0;
	}
	#brochure p.align_center {
		text-align: left;
		margin-top: 25px;
	}
	
	.grid_item {
		width: 100% !important;
	}
	.grid_item:after {
		padding-bottom: 100% !important;
	}
	
}