body{
    font-family: 'Oxygen', sans-serif;
    background: #FFF;
    color: #717171;
}
input,
textarea,
select,
button{
    font-family: 'Oxygen', sans-serif;
}

/*** MISC ***/
#page_wrapper{
    overflow: hidden;
    padding-top: 100px;
}
.section_title{
    color: #0a3949;
    font-size: 30px;
    text-transform: uppercase;
    margin-bottom: 30px;
	font-family: "Fira Sans", sans-serif;
}
.section_subtitle{
    font-weight: normal;
    font-size: 16px;
    line-height: 140%;
}
.button{
    display: inline-block;
    line-height: 50px;
    border-radius: 30px;
    padding:0 30px;
    font-size: 16px;
    color: #FFF;
    background: #74045d;
    font-weight: bold;
    font-family: 'Oxygen', sans-serif;
    border:none;
    min-width: 140px;
    cursor: pointer;
}
.section_buttons{
    margin-top:40px;
}
.section_buttons .button{
    margin: 0 12px;
}
.section_head{
    max-width: 480px;
}

/*** HEADER ***/
#header{
    position: fixed;
    top:0;
    left:0;
    background: #FFF;
    padding:30px 0;
    box-shadow: 0 5px 5px -5px rgba(0,0,0,0.2);
    z-index: 9;
}
#header_logo{
    float:left;
    width: 200px;
}
#header_logo img{
    float:left;
    width:150px;
}
#header_menu{
    float:left;
    width: calc(100% - 400px);
    text-align: center;
	padding: 0;
    margin: 0;
}
#header_menu li{
	position:relative;
    display: inline-block;
    margin: 0 15px;
}
#header_menu a{
	float:left;
	width:100%;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    color: #0a3949;
    line-height: 40px;
}
.sub-menu{
	position: absolute;
    top: 40px;
    left: 0;
    width: 210px;
    background: #0a3949;
    text-align: left;
    padding:10px 0;
    margin: 0;
	opacity:0;
	visibility:hidden;
	transform:translatey(10px);
	transition:All 0.5s;
}
li:hover .sub-menu{
	opacity:1;
	visibility:visible;
	transform:translatey(0);
}
#header_menu .sub-menu li{
	float:left;
	width:100%;
	margin:0;
}
#header_menu .sub-menu a{
	float:left;
	width:100%;
	color:#FFF;
	line-height:30px;
	margin:0;
	padding:5px 10px;
	font-size:14px;
	transition:All 0.5s;
	box-sizing:border-box;
}
#header_menu .sub-menu a:hover{
	background:rgba(0,0,0,0.2);
}
#header_actions{
    float: right;
    width: 200px;
    text-align: right;
}
#header_actions a{
    display: inline-block;
    width:30px;
    height: 40px;
    text-align: center;
    line-height: 40px;
    color: #0a3949;
    font-size: 18px;
}


/*** LANDING SECITON ***/
.landing_section{
    padding-bottom: 80px;
}
.landing_section .pw{
    max-width: 650px;
}
.landing_carousel_item{
    border-radius: 0 0 30px 30px;
    background: #b2dae3;
    color: #3b5a90;
    overflow: hidden;
}
.landing_item_main{
    padding: 30px;
	padding: 60px 60px 30px;
}
.landing_item_main h2{
    color: #0a3949;
    font-size: 40px;
    text-transform: uppercase;
    font-weight: bolder;
	font-family: "Fira Sans", sans-serif;
}
.landing_item_main p{
    margin: 20px 0 0 0;
}
.landing_section_left{
    position: absolute;
    background: #bbe1eb;
    top: 15px;
    left:0;
    height:100%;
    width: 270px;
	width: 25%;
    border-radius: 0 30px 30px 0;
    overflow: hidden;
}
.landing_section_right{
    position: absolute;
    background: #bbe1eb;
    top: 15px;
    right:0;
    height:100%;
    width: 270px;
	width: 25%;
    border-radius:30px 0 0 30px;
    overflow: hidden;
}
.landing_section_left img,
.landing_section_right img{
    position: absolute;
    bottom: 0;
    left: 0;
	/*FULL*/
	/*width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;*/
}
.landing_carousel .owl-dots{
    float:left;
    width: 100%;
    text-align: center;
}
.landing_carousel .owl-dots .owl-dot{
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #d8d8d8;
    margin: 0 4px;
    outline: none;
    transition: all 0.5s;
}
.landing_carousel .owl-dots .owl-dot.active{
    background: #6e6e6e;
}
.owl-carousel .owl-item img {
    display: block;
    width: 70%;
    margin: auto;
}

/*** SERVICES SECTION ***/
.services_section{
    padding: 30px 0 50px;
}
.services_section .pw{
    max-width: 880px;
}
.services_grid{
    display: inline-grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-items: stretch;
    justify-content: space-between;
    grid-gap: 25px;
    margin-top: 40px;
}
.services_grid_item img{
    float: left;
    width: 100%;
    transform: rotate(15deg) translate(-20px, -35px);
    border-radius: 15px;
    transition:all 0.8s;
}
.services_grid_item:hover img{
    float: left;
    width: 100%;
    transform: rotate(0deg) translate(0, 0);
    border-radius: 0;
}
.services_grid_item{
    border-radius: 10px;
    overflow: hidden;
    background: #FFF;
    box-shadow: 0 0 5px rgb(0 0 0 / 30%);
}
.service_name{
    position: relative;
    margin: 15px 0;
    padding: 0px 15px;
    font-weight: bold;
    color: #404040;
    box-sizing: border-box;
}
.services_grid_item:hover .service_name{
    color: #74045d;
}
.service_name:after{
    content: '\f105';
    position: absolute;
    font-family: fontawesome;
    top: 0;
    right: 10px;
    width: 20px;
    height: 20px;
    font-size: 25px;
    line-height: 20px;
    text-align: center;
}
.services_contents_wrapper{
    margin-top:50px;
}

.services_content{
    display: none;
}
#service_content_1{
    display: inline-block;
}
.services_content h3{
    font-size: 20px;
    margin-bottom: 30px;
}
.services_content p{
    line-height: 140%;
}

/*** ABOUT SECTION ***/
.about_us_section{
    padding: 50px 0 120px;
}
.about_us_section .pw{
    max-width: 880px;
}
.about_us_box{
    border-radius: 20px;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
	overflow: hidden;
}
.about_us_box_content{
    padding: 60px;
}
.about_us_box img{
    float:left;
    width:100%;
}
.about_us_box_content .section_title{
    margin-bottom: 20px;
}
.about_us_box_content p{
    margin-bottom: 25px;
}
.about_us_box_content p:last-child{
    margin-bottom: 0;
}

/*** BLOG ***/
.blog_section{
    padding: 90px 0;
    background: #fbfbfb;
}
.blog_section .pw{
    max-width: 880px;
}
.blog_carousel{
    margin-top: 40px;
}
.blog_carousel.owl-carousel .owl-item{
    padding:10px;
    box-sizing: border-box;
}
.blog_carousel_item{
    float:left;
    width:100%;
    background: #FFF;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 0 5px rgba(0,0,0,0.2);
}
.blog_item_image img{
    float:left;
    width:100% !important;
}
.blog_item_content{
    padding:20px;
}
.blog_item_date{
    font-size: 14px;
    font-weight: bold;
    color: #000;
    margin-bottom: 20px;
}
.blog_item_date i{
    color: #6e6e6e;
}
.blog_item_content{
    font-size: 14px;
    color: #000;
}
.blog_item_excerpt p{
    margin-bottom: 30px;
}
.blog_item_excerpt a{
    font-size: 16px;
    color: #74045d;
    font-weight: bold;
}
.blog_carousel.owl-carousel .owl-dots{
    float:left;
    width: 100%;
    text-align: center;
}
.blog_carousel .owl-dots .owl-dot{
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #d8d8d8;
    margin: 0 4px;
    outline: none;
    transition: all 0.5s;
}
.blog_carousel .owl-dots .owl-dot.active{
    background: #6e6e6e;
}
.allies_section {    
    padding:120px 0;
}
.allies_logos{
    margin-top: 40px;
}
.allies_logos img{
    float:left;
    width: calc(20% - 20px);
    margin:0 10px;
}


/***CONTACT SECTION ***/
.contact_section{
    background: #fbfbfb;
}
.contact_section_image{
    position: absolute;
    top:0;
    left:0;
    width:50%;    
    height: 100%;
    background-size:cover;
    background-position: center;
}
.contact_section_1{
    float: right;
    padding:70px;
}
.contact_section_1 .section_title {
    margin-bottom: 15px;
}
.contact_form{
    margin-top:30px
}
.form_field{
    margin-bottom: 25px;
}
.form_field label{
    position: absolute;
    float:left;
    width:100%;
    top: 0;
    left: 20px;
    font-size: 12px;
    z-index: 2;
    transform: translateY(-50%);
}
.form_field label span{
    padding:0 10px;
    background: #FFF;
}
.text-input{
    float:left;
    width: 100%;
    height: 50px;
    line-height: 50px;
    border:1px solid #000;
    background: none;
    padding:0 10px;
    box-sizing: border-box;
	border-radius:5px;
}

/*** FOOTER ***/
#footer_main_bar{
    padding: 60px 0;
}
#footer_logo img{
    display: inline-block;
    width: 150px;
}
#footer_menu{
    margin: 50px 0;
}
#footer_menu a{
    display: inline-block;
    font-weight: bold;
    color: #000;
    font-size: 15px;
    margin: 0 15px;
}
#footer_social a{
    display: inline-block;
    color: #0a3949;
    font-size: 20px;
    margin: 0 15px;
}
#footer_bar{
    padding: 40px 0;
    background: #0a3949;
    color: #FFF;
    font-size: 12px;
}

/*** BLOG PAGE ***/
.page_content{
    padding: 50px 0;
}
.page_content .pw{
    max-width: 880px;
}
.blog_header {
    background: #87e1ff;
    border-radius: 10px;
    overflow: hidden;
}
.blog_header_content{
    float:left;
    padding:30px;
    box-sizing: border-box;
    width:calc(100% - 290px);
}
.blog_header_content h1{
    font-size: 40px;
    color: #0a3949;
    text-transform: uppercase;
}
.blog_header_content p{
    font-size: 18px;
    color: #717171;
}
.blog_grid{
    display: inline-grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	justify-items: stretch;
	justify-content: space-between;
	grid-gap:40px 20px;
    margin: 40px 0;
}

.blog_grid_item{
    float:left;
    width:100%;
    background: #FFF;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 0 5px rgba(0,0,0,0.2);
}
.single_post_image {
    float: left;
    width: 100%;
    max-width: 380px;
    box-sizing: border-box;
}
.single_page .pw{
    max-width: 1080px;
}
.single_post_content{
    float:left;
    width: calc(100% - 380px);
    box-sizing: border-box;
    padding-left: 50px;
}
.page_title{
    color: #000;
    line-height: 130%;
    margin-bottom: 30px;
}
.single_post_content p{
    line-height: 140%;
    font-size: 14px;
    margin-bottom: 25px;
    color: #000;
}
.related_post{
    padding: 120px 0;
}
.related_post .pw{
    max-width: 880px;
}
.related_post .section_title{
    margin: 0;
}

/*** MAP SECTION ***/
.map_section .spacer{
    padding-top:30%;
    background: #f7f7f7;
}
.map_section iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
/*** CONTACT DATA SECTION ***/
.contact_data_section{
    padding: 160px 0;
}
.contact_data_section .pw{
    max-width: 880px;
}
.contact_data_section_1{
    padding-right: 60px;
}
.contact_data_section_1 p{
    font-size: 18px;
    color: #000;
    line-height: 140%;
}
.contact_data_section_1 p:last-child{
    margin-bottom: 0;
}
.contact_list{
    list-style: none;
}
.contact_list li{
    float: left;
    position: relative;
    width: 100%;
    padding: 2px 0 0 40px;
    margin-bottom: 30px;
    line-height: 25px;
}
.contact_list li a{
    color: #000;
}
.contact_list li i{
    position: absolute;
    top:0;
    left:0;
    color: #74045d;
    font-size: 20px;
    width:30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
}

/*** DETAILS PAGE ***/
.images_top_section{
    padding-bottom: 60px;
}
.images_top_section .pw{
    max-width: 640px;
}
.images_top_middle{
    height: calc(100vh - 100px);
    background-size: cover;
    background-position: center;
    border-radius: 0 0 30px 30px;
}
.images_top_middle_content {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 70px;
    color: #FFF;
    transform: translateY(-25%);
}
.images_top_middle_content  h1{
    font-size: 60px;
    text-transform: uppercase;
    margin-bottom: 30px;
	font-family: "Fira Sans", sans-serif;
}
.images_top_left{
    position: absolute;
    top:70px;
    left:0;
    width:20%;
	width: 27%;
    height: calc(100vh - 100px);
    border-radius: 0 30px 30px 0;
    background-size: cover;
    background-position: center;
}
.images_top_right{
    position: absolute;
    top:70px;
    right:0;
    width:20%;
	width: 27%;
    height: calc(100vh - 100px);
    border-radius: 30px 0 0 30px;
    background-size: cover;
    background-position: center;
}
.page_content_section .page_title{
    font-size: 20px;
    color: #6e6e6e;
}
.page_content_section{
    padding:50px 0 100px
}
.page_content p{
    font-size: 16px;
    line-height: 140%;
	line-height: 165%;
    margin-bottom: 25px;
}
.page_content p:last-child{
    margin-bottom: 0;
}

figure.wp-block-image{
	margin: 0 0 30px 0
}
.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: #74045d #74045d #74045d 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;
}
.form_message{
	position:absolute;
	top:50%;
	left:50%;
	padding:10px 20px;
	border-radius:5px;
	color:#FFF;
	font-size:12px;
	transform:translate(-50%, -50%);
	text-align:center;
	opacity:0;
	visibility:hidden;
}
.form_message.success{
	background:#00bc66
}
.success_active .success{
	opacity:1;
	visibility:visible;
}
.form_message.error{
	background:#ff2b6a
}
.error_active .error{
	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)
	}
}

@media(max-width:800px) {
    #page_wrapper {
        padding-top: 75px;
    }
    #header {
        padding: 20px 0;
    }
    #header_menu{
        display: none;
    }
    #header_logo {
        width: 130px;
    }
    #header_actions a {
        height: 35px;
        line-height: 35px;
    }
    .landing_section_left,
    .landing_section_right{
        display: none;
    }
    .landing_item_main h2 {
        font-size: 25px;
    }
    .section_title {
        font-size: 22px;
    }
    .services_grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .about_us_box_content {
        padding: 30px;
    }
    .about_us_box_content p {
        font-size: 14px;
        line-height: 140%;
    }
    .allies_logos img {
        float: none;
        display: inline-block;
        width: calc(32% - 10px);
        margin: 0 5px 20px;
    }
    .contact_section_image{
        display: none;
    }
    .allies_section {
        padding: 80px 0;
    }
    .contact_section_1 {
        padding: 40px;
    }
    .blog_header_content {
        width: 100%;
    }
    .blog_header img{
        display: none;
    }
    .blog_grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .single_post_image{
        max-width: 100%;
    }
    .single_post_content {
        width: 100%;
        padding: 0 20px;
        margin-top: 40px;
    }
    .map_section .spacer {
        padding-top: 120%;
    }
    .contact_data_section {
        padding: 70px 30px;
    }
    .contact_data_section_2{
        margin-top: 40px;
    }
    .images_top_left,
    .images_top_right{
        display: none;
    }
    .images_top_middle_content h1 {
        font-size: 30px;
    }
    .images_top_middle {
        height: calc(70vh - 100px);
    }
    .page_content_section {
        padding: 0 40px 60px;
    }
}