body{
    background: #FFF;
    color:#555;
    font-family: 'Roboto', sans-serif;
}

/*** MISC ***/
#page_wrapper{
    padding-top:70px;
    overflow: hidden;
}
.button{
    display: inline-block;
    padding: 0 25px;
    line-height: 40px;
    border-radius: 20px;
    color: #FFF;
    background: #d62724;
    cursor: pointer;
    border: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    font-size: 15px;
}
.section_title{
    font-size: 35px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #004c8d;
}
.section_subtitle{
    font-weight: normal;
    margin-bottom: 70px;
}

/*** HEADER ***/
#header{
    position: fixed;
    top: 0;
    left: 0;
    background: #FFF;
    padding: 23px 0;
    height: 70px;
    z-index: 9;
}
#header_logo{
    float:left;
    width: 160px;
}
#header_menu{
    float:right;
}
#header_menu a{
    display: inline-block;
    color: #283c83;
    font-size:14px;
    text-transform: uppercase;
    margin:0 0 0 30px;
    line-height: 26px;
	transition:all 0.5;
	font-weight:bold;
}
#header_menu a:hover{
	color:#d62724
}
#menu_trigger{
    position: absolute;
    top: -10px;
    right: 10px;
    width: 40px;
    height: 40px;
    text-align: center;
    line-height: 40px;
    font-size: 25px;
    color: #004c8d;
    display: none;
}
.menu_open #menu_trigger i:before{
    content: '\f00d';
}
#mobile_menu_wrapper{
    position: fixed;
    top:0;
    left:0;
    width: 100%;
    height: 100%;
    background:rgba(0, 76, 141, 0.8);
    z-index: 8;
    visibility: hidden;
    opacity: 0;
    transition: all 0.5s;
}
.menu_open #mobile_menu_wrapper{
    visibility: visible;
    opacity: 1;
}
#mobile_menu{
    position: absolute;
    top:50%;
    left:0;
    transform: translateY(-50%);
}
#mobile_menu a{
    float:left;
    width:100%;
    color: #FFF;
    font-size: 4vh;
    margin-bottom: 5vh;
    font-weight: bold;
    line-height: 100%;
}
#mobile_menu a:last-child{
    margin-bottom: 0;
}

/*** LANDING SECTION ***/
.landing_section .pw{
	padding:0;
	z-index: 2;
}
.landing_background_slider {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.owl-stage-outer,
.owl-stage,
.owl-item{
	height:100%;
}
.owl-carousel .owl-nav button.owl-next, 
.owl-carousel .owl-nav button.owl-prev{
	position:absolute;
	top:calc(50% - 20px);
	width:40px;
	height:40px;
	line-height:40px;
	text-align:center;
	font-size:40px;
	color:#FFF;
}
.owl-carousel .owl-nav button.owl-prev{
	left:10px;
}
.owl-carousel .owl-nav button.owl-next{
	right:10px;
}
.landing_bg_item{
	height:100%;
    background-size: cover;
	background-position: top center;
}
.landing_content{
	float: left;
    padding: 30px;
    margin: 40px 0;
    box-sizing: border-box;
    width: calc(100% - 40px);
    max-width: 400px;
    background: #FFF;
}
.landing_content h3{
    font-weight: normal;
    line-height: 120%;
    font-size: 22px;
    margin-bottom: 30px;
}
.form_field{
	padding:0 5px;
    margin-bottom: 15px;
}
.form_field .text-input{
    float:left;
    width: 100%;
    height: 40px;
    line-height: 40px;
    font-size: 14px;
    padding:0 10px;
    box-sizing: border-box;
    border:1px solid #CCC
}
.form_field select{
	float: left;
    width: 100%;
    height: 40px;
    border: 1px solid #CCC;
    padding: 0 10px;
}
.checkbox_label{
	font-size:12px;
}
.form_field_label{
    font-size: 14px;
    margin-bottom: 5px;
}
.form_footer{
    margin-top:10px;
}
.form_footer .button{
    padding:0;
    width:100%;
}
.form_message{
	position:absolute;
	top:50%;
	left:17%;
	width:90%;
	max-width:300px;
	padding:10px 15px;
	border-radius:5px;
	box-sizing:border-box;
	color:#FFF;
	font-size:14px;
	line-height:110%;
	text-align:center;
	transform:translate(-50%, 0);
	opacity:0;
	visibility:hidden;
	transition:all 0.5s;
}
.form_message.success{
	background:#84db1a
}
.success_message .form_message.success{
	visibility:visible;
	opacity: 1;
	transform:translate(-50%, -50%);
}
.form_message.error{
	background:#ff165c
}
.error_message .form_message.error{
	visibility:visible;
	opacity: 1;
	transform:translate(-50%, -50%);
}
.ajax_form:before{
	content:'';
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(255,255,255,0.8);
	z-index:2;
	visibility: hidden;
	opacity: 0;
}
.ajax_form:after{
	content:'';
	position: absolute;
	top:calc(50% - 25px);
	left:calc(50% - 25px);
	width:40px;
	height:40px;
	border-width: 5px;
	border-style: solid;
	border-color: #004c8d #004c8d #004c8d transparent;
	border-radius: 50%;
	z-index:3;
	-webkit-animation: loadingRotate 1s infinite ease;
	-moz-animation: loadingRotate 1s infinite ease;
	-o-animation: loadingRotate 1s infinite ease;
	visibility: hidden;
	opacity: 0;
}
.ajax_form.loading:before,
.ajax_form.loading:after{
	opacity: 1;
	visibility: visible;
}
@-webkit-keyframes loadingRotate {
	from{
		transform: rotate(0deg)
	}
	to{
		transform: rotate(359deg)
	}
}
@-moz-keyframes loadingRotate {
	from{
		transform: rotate(0deg)
	}
	to{
		transform: rotate(359deg)
	}
}
@-o-keyframes loadingRotate {
	from{
		transform: rotate(0deg)
	}
	to{
		transform: rotate(359deg)
	}
}

/*** TEXT IMAGE SECTION ***/
.text_image_section{
    padding: 100px 0;
}
.text_image_1{
    position:absolute;
    top:50%;
    left:0;
    padding:0 50px;
    transform: translateY(-50%);
}
.text_image_1 p{
    font-size:30px;
    font-weight: bold;
}
.text_image_1 p:last-child{
    margin-bottom: 0;
}
.text_image_1 p strong{
    color: #d62724;
}
.text_image_2 {
    float:right
}

.text_center_section {
	padding:90px 0;
	background:#f7f7f7;
}

/*** SERVICES SECTION ***/
.services_section{
    padding:100px 0;
    background: #f7f7f7;
}
.services_section .pw{
    max-width: 850px;
}
.services_grid{
	display: inline-grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	justify-items: stretch;
	justify-content: space-between;
	grid-gap: 50px;
}
.service_icon{
    margin-bottom: 10px;
}
.services_grid_item,
.services_grid_item p{
    font-size: 14px;
    color:#666
}
.services_grid_item p:last-child{
    margin-bottom: 0;
}
.service_title{
    font-weight: bold;
    color:#d62724;
    margin-bottom: 5px;
}
.button_wrapper {
    margin-top:70px;
}

/*** ABOUT SECTION ***/
.about_section{
    padding:100px 0;
}
.about_section .pw{
    max-width: 900px;
}
.about_section h2{
    font-size: 40px;
    margin-bottom: 40px;
}
.about_section h2 span{
    color: #d62724;
}
.about_section p{
    font-size: 18px;
    line-height: 140%;
    margin-bottom: 25px;
}
.about_grid{
    display: inline-grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	justify-items: stretch;
	justify-content: space-between;
	grid-gap: 50px;
    margin-top:50px
}
.about_grid_item{
    position: relative;
    padding:20px;
    box-shadow: 0 0 5px rgba(0,0,0,0.2);
}
.about_grid_item .spacer{
    padding-top: 70%;
}
.about_item_content{
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.about_item_content .sps{
    font-size: 35px;
    font-weight: bold;
    color: #d62724;
    margin-bottom: 15px;
}
.about_item_content p:last-child{
    margin-bottom: 0;
}

/*** CERTIFICATION SECTION ***/
.certifications_section{
    background: #f7f7f7;
    padding: 100px 0;
}
.certifications_section .pw{
    max-width: 800PX;
}
.logos_list{
    list-style: none;
}
.logos_list li{
    display: inline-block;
    margin:0 20px 20px;
}

/*** FOOTTER ***/
#footer{
    background: #004c8d;
    color: #FFF;
}
#footer_main{
    padding:50px 0;
}
#footer_menu{
	margin:20px 0 0;
}
#footer_menu a{
	display:inline-block;
	font-size:14px;
	color:#FFF;
	margin:0 10px;
}
#footer_bar{
    background: rgba(0,0,0,0.2);
    line-height: 40px;
}
#footer_text{
    font-size: 12px;
    line-height: 50px;
}
.footer_phone{
	margin-top:10px;
}
#footer_social_area{
	margin-top:30px;
}
#footer_social{
	margin-top:5px;
}
#footer_social a{
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    color: #FFF;
    font-size: 20px;
    margin: 0 10px;
}
#footer_extenden_text{
	margin-top:20px;
}
#footer_extenden_text p{
	font-size:12px;
	margin:0 0 5px 0;
}
#footer_extenden_text p:last-child{
	margin-bottom:0;
}

/*** PAGES ***/
.page_content_wrapper {
	padding:90px 0;
}
.page_content_wrapper p{
	font-size:14px;
	line-height:140%;
	margin-bottom:20px;
}
.page_content_wrapper p:last-child{
	marbin-bottom:0;
}
.page_title{
	margin-bottom:30px;
}

@media(max-width:800px) {
    #header_menu{
        display: none;
    }
    #menu_trigger{
        display: inline-block;
    }
    .landing_content {
		margin: 30px 20px;
	}
    .text_image_1{
        position: relative;
        transform: none;
        margin-bottom: 50px;
        padding: 0 30px;
    }
    .services_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-gap: 50px 25px;
    }
    .about_section h2 {
        line-height: 130%;
        font-size: 25px;
    }
    .about_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-gap: 10px;
    }
    .about_item_content{
        position: relative;
        transform: none;
        top: initial;    
    }
    .about_grid_item .spacer{
        display: none;
    }
    .about_item_content .sps {
        font-size: 25px;
    }
    .about_item_content p {
        font-size: 15px;
    }
	.form_message{
		left: 50%;
	}
	
	textarea{
		width:290px !important;
	}
}