/* normal */

* {
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	transition-duration:0.2s;
}
html,
body {
	font-family: articulat-cf, sans-serif;
	font-size: 19px;
	color: #7c7c7c;
	font-weight: 600;
	line-height:1.9;
	scroll-behavior:smooth;
}

body {
	background: #fff;
}
img {
	border: 0px;
	display: block;
	max-width: 100%;
	height:auto;
}
a{color:inherit; text-decoration: none;}

input,
select,
textarea,
button{ -webkit-appearance: none;-moz-appearance:none; appearance:none; outline: none;}
input[type="checkbox"]{-webkit-appearance: unset;-moz-appearance:unset; appearance:unset;}

ul {
	list-style: disc;
}
h1,.h1,
h2,.h2,
h3,.h3,
h4,.h4,
h5,.h5,
h6,.h6 {
	font-weight: 900; line-height:1.3; color:#000; font-family: articulat-heavy-cf, sans-serif;
}

h1, .h1{font-size:40px; margin-bottom: 1em}
h2, .h2{font-size:24px;}
h3, .h3{font-size:22px;}
h4, .h4{font-size:21px;}
h5, .h5{font-size:20px;}
h6, .h6{font-size:19px;}

p{margin-bottom:1em}

h2.h1:after{content:"."; color:#235deb }

.maxw1{max-width:1390px; margin:0 auto; padding:0 20px;}
.maxw2{max-width:1170px; margin:0 auto; padding:0 20px;}
.maxw3{max-width:750px; margin:0 auto; padding:0 20px;}

.center{text-align:center}
.align_right{text-align:right}

.clear{clear:both;}

.flexbox{display:flex; flex-wrap: nowrap;    justify-content: space-between;}
.flexbox.stretch{align-items: stretch;}
.flexbox.align_top{align-items: flex-start;}
.flexbox.align_center{align-items: center;}

.grecaptcha-badge {display: none}

.col25{width:25%; float:left}
.col33{width:33.3333%; float:left}
.col50{width:50%; float:left}

.bgclr1{background:#235deb; color:#fff;}
.bgclr2{background:#000000;  color:#fff; }
.bgclr3{background:#eee; }

.clr1{color:#235deb;}
.clr2{color:#000000; }
.clr3{color:#eee; }

.btns{margin-top: 30px}
.btns .btn{margin: 0 10px 5px 0}
.btn{display:inline-block; text-decoration:none!important; line-height:1!important; cursor:pointer; border:none!important}
.btn:hover{transform:translatey(-3px)}
.btn.icon_right i{display:inline-block; margin-left:20px; color:inherit!important}
.btn.icon_left i{display:inline-block; margin-right:20px; color:inherit!important}
.btn.n_btn{border-radius:100px; font-size:18px; font-weight:700; padding: 22px 35px;}

.menu_overlay{position:fixed; bottom:100%; z-index:9998; height:100%; width:100%; transition-duration:0.2s; background:rgba(0,0,0,0)}
.menu_overlay.open{ background:rgba(0,0,0,0.3); bottom:0}

.mob_menu{position:absolute; background:#235deb; color:#fff; width:calc(100% - 40px); left:20px; z-index:9999;  height:0; overflow-y:scroll; transition-duration:0.2s; border-bottom-right-radius: 30px; border-bottom-left-radius:30px;}
.mob_menu.open{height:calc(100vh - 20px);}
.mob_menu .close{text-align:right; font-size:22px; margin-bottom:20px}
.mob_menu .inner{ padding: 50px 30px}
.mob_menu .menu_items{text-align:left;  font-size:130%; max-width:700px; margin: 0 auto}
.mob_menu .menu_items ul li{list-style:none; line-height:2.5; position:relative; overflow:hidden}
.mob_menu .menu_items ul li a{position:relative;}
.mob_menu .menu_items > ul > li.menu-item-has-children > a:after{content:""; position:absolute; width: 2000px; height:1px; background:rgba(255,255,255,0.1); top:50%; left: calc(100% + 40px)}
.mob_menu .menu_items ul li.menu-item-has-children i{position:absolute; right:0px;  border-radius:100%;   top: 0.7em;  border:1px solid #fff; width: 25px; height:25px; font-size:20px; line-height:25px; text-align:center; transition-duration:0.5s; background:#235deb }
.mob_menu .menu_items ul li.menu-item-has-children.sub i{transform: rotateX(180deg);}
.mob_menu .menu_items ul li ul{display:none; font-size:85%; margin-left:20px}

.header{padding: 50px 0}
.header .logo{width:260px}
.header .menu_bar .menu{display:inline-block; text-transform:lowercase; margin-right: 20px}
.header .menu_bar ul li{display:inline-block; margin-right: 30px;}
.header .menu_bar ul li a{position:relative;}
.header .menu_bar ul li a:hover:after{content:"."; color:#235deb; font-weight:900; font-family: articulat-heavy-cf, sans-serif; position:absolute; left:calc(100% + 2px)}
.header .menu_btn{display:none}

.front_head{margin-bottom: 100px}
.front_head .bg{border-radius:30px; border-bottom-right-radius:150px; overflow:hidden; padding: 100px 110px 0; }
.front_head .left{width: 70%; padding-top:20px; font-size:17px}
.front_head .left .top_content h1{max-width:500px; color:#fff; margin-bottom: 30px}
.subpage_head .top_content h1{max-width:750px; color:#fff; margin-bottom: 0px}
.front_head .left .top_content p{max-width:630px}
.front_head .usps{margin-top: 40px; margin-bottom:40px; padding-left:10px}
.front_head .usps .usp{width:33.3333%; float:left;}
.front_head .usps .usp .icon{display:inline-block; width: 35px; vertical-align:top }
.front_head .usps .usp .text{width:calc(100% - 70px); display:inline-block; vertical-align:top}
.front_head .right{width: 30%; position:relative;}
.front_head .right img{position:absolute; bottom:0; right: -30px;    width: calc(100% + 35px);    max-width: unset;}

.subpage_head{margin-bottom: 100px}
.subpage_head .bg{border-radius:30px; border-bottom-right-radius:150px; overflow:hidden; padding: 70px 110px ; }
.subpage_head h1{color:#fff}
.subpage_head h1.no_mrgn_btm{margin-bottom:0}

.contentblock{margin-bottom: 100px}
.contentblock.content ul, .contentblock.content ol{margin-left:25px; margin-bottom: 1em}

.rounded_block .bg{border-radius:30px; border-bottom-left-radius:150px; padding: 0px 110px; overflow:hidden}
.rounded_block .left{width:50%; position:relative; }
.rounded_block .left .fullimg{position:absolute; width:100%; height:100%}
.rounded_block .right{width:50%; padding: 100px 0 65px 75px}
.rounded_block .right b{color:#000}

.faq_block .left{width:58%}
.faq_block .right{width:34%}
.faq .faq_item{padding-left:30px; position:relative; margin-bottom: 10px}
.faq .faq_item .faq_que:before{content:"+"; font-size:120%; position:absolute; left:-30px; line-height:1; font-weight: 900;  color:#235deb; font-family: articulat-heavy-cf, sans-serif;}
.faq .faq_item.active .faq_que:before{content:"-"}
.faq .faq_que{font-weight:700; font-size:120%; color:#000; line-height:1.3; cursor:pointer; position:relative;}
.faq .faq_item:first-of-type .faq_ans{display:block}
.faq .faq_ans{display:none}
.faq .faq_ans ul, .faq .faq_ans ol{margin-left:30px}

.cases .bg{border-radius:30px; border-bottom-left-radius:150px; padding: 70px 110px 110px; }
.cases .bg .cases_wrap{width:calc(100% + 270px); margin-left:-10px}
.cases .bg .case{width:calc(33.333% - 20px); float:left; margin: 0 10px; background:#fff; padding:40px; border-radius:10px }
.cases .bg .case .name{color:#000; font-weight:700}

.blog_list .blog_item {margin-bottom:30px; display:block; border-radius:30px; border-bottom-right-radius:70px; overflow:hidden  }
.blog_list .blog_item:hover{transform:translatey(-3px)}
.blog_list .blog_item .image{width: 200px;}
.blog_list .blog_item .image:after{content:""; padding-bottom:100%; display:block;}
.blog_list .blog_item .text{width: calc(100% - 200px); padding: 30px;}


.footer .bg{border-top-left-radius:10px; border-top-right-radius:10px;  padding: 60px 110px 0; font-size:18px; line-height:2}
.footer img{margin-bottom: 40px; max-width: 220px}
.footer a i{color:#235deb; display:inline-block; width:35px}
.footer span{color:#235deb; display:inline-block; width:35px}
.footer ul{margin-top: 63px}
.footer ul li{list-style:none; margin-left: 30px;}
.footer ul li:before{content:"\f061"; font-family:"Font Awesome 6 Pro"; font-weight:900; display:inline-block; line-height:1; color:#235deb; margin-left:-30px; margin-right: 13px}
.footer ul li a:hover{color:#235deb;}
.footer .address a:hover{color:#235deb;}

.bottom{color:#4b4b4b; padding: 30px 0; border-top:1px solid #303030; margin-top: 70px}
.bottom a{display:inline-block}
.bottom a:hover{color:#fff}

.login {}
.login .flexbox {border-radius:30px; border-bottom-left-radius:70px; overflow:hidden}
.login .left{width:50%; padding: 50px 50px}
.login .left .input_field{margin-bottom: 15px;}
.login .left input{width:100%; border:none; background:#fff; padding:5px 15px; border: 1px solid #7c7c7c ; font:inherit; border-radius:10px;}
.login .left .forgot_password{font-size:80%; margin-bottom:20px; display:block;}
.login .right{width:50%;  padding: 50px 50px }
.login .right h2{color:#fff; margin-bottom: 20px}

.wpcf7 h3{margin-top:40px}
.wpcf7 .form_item{margin-bottom: 20px;}
.wpcf7 .label{width: 100%; display:block;}
.wpcf7 .form_field{width: 100%; display:block;}
.wpcf7 input, .wpcf7 textarea,  .wpcf7 select{width:100%; padding:5px 15px; border: 1px solid #7c7c7c ; font:inherit; border-radius:10px;  }
.wpcf7 textarea{height:200px}
.wpcf7 input[type="submit"]{border:none; width:auto}
.wpcf7 input[type="submit"]:hover{}
.wpcf7 select{background:url(img/angle-down.png) no-repeat calc(100% - 10px) 50% #fff;}

span.wpcf7-list-item {display: inline-block;margin: 0px 0 0;}
span.checkbox{margin-top:10px; display: block;}
.wpcf7 .wpcf7-list-item {display: block;}
.wpcf7 h3 {
	color: #235deb;
    font-size: 30px;
    border-bottom: 2px dotted #d9d9d9;
    padding-bottom: 10px;
    margin-bottom: 20px;
}
.wpcf7-list-item-label {margin-left: 30px;display: inline-block; vertical-align: top;}
.wpcf7-checkbox {padding: 5px 0px; display:inline-block}
.wpcf7-checkbox label {position: relative;cursor: pointer;}
.wpcf7-checkbox input[type=checkbox] {position: absolute;visibility: hidden;width: 16px;height: 16px;top: 0;left: 0;}
.wpcf7-checkbox input[type=checkbox] + span:before {display: block;position: absolute;content: '';border-radius: 0;height:16px;width: 16px;top: 0px;left: 0px;border: 1px solid #1b1a1a; background:#fff}
.wpcf7-checkbox input[type=checkbox] + span:after {display: block;position: absolute;content: "\f00d";font-family:"Font Awesome 6 Pro";font-weight:900;height: 16px;width: 16px;color:#235deb;top: 1px;left: 1px;visibility: hidden;font-size: 16px;text-align: center;line-height: 16px;}
.wpcf7-checkbox input[type=checkbox]:checked + span:before {background: transparent;}
.wpcf7-checkbox input[type=checkbox]:checked + span:after {visibility: visible;}

.wpcf7-radio label {position: relative;cursor: pointer;}
.wpcf7-radio input[type=radio] {position: absolute;visibility: hidden;width: 16px;height: 16px;top: 0;left: 0;}
.wpcf7-radio input[type=radio] + span:before {display: block;position: absolute;content: '';border-radius: 100%;height: 16px;width: 16px;top: -2px;left: 0px;border: 1px solid #1b1a1a; background:#fff}
.wpcf7-radio input[type=radio] + span:after {display: block;position: absolute;content: "";font-family:"Font Awesome 5 Free";font-weight:900;height: 12px;width: 12px;color:#235deb; background:#235deb; border-radius:100%; top: 1px;left: 3px;visibility: hidden;font-size: 15px;text-align: center;line-height: 16px;}
.wpcf7-radio input[type=radio]:checked + span:before {background: transparent;}
.wpcf7-radio input[type=radio]:checked + span:after {visibility: visible;}


@media only screen and (max-width: 1680px) {
	.cases .bg .cases_wrap{width:calc(100% + 20px); margin-left:-10px}
}

@media only screen and (max-width: 1390px) {
	.front_head .bg{ padding: 30px 50px 0; }
	.front_head .usps{padding-left:0px}
	
	.subpage_head .bg{padding: 30px 50px 30px;}
	.rounded_block .bg{ padding: 0px 50px; }
	.rounded_block .left{width:50%; position:relative; }	
	.rounded_block .right{width:50%; padding: 70px 0 45px 50px}
	.cases .bg{padding: 70px 50px 110px;}
	.footer .bg{  padding: 60px 50px 0;}
	
}
@media only screen and (max-width: 1150px) {
	.rounded_block .left{width:30%; position:relative; }	
	.rounded_block .right{width:70%; padding: 50px 0 35px 50px}
	.rounded_block .left .fullimg.map{position:relative; width:100%; height:auto; margin-top: 70px; max-width: 240px}
	.rounded_block .left .fullimg.map:after{content:""; display:block; padding-bottom: 115%;}
}


@media only screen and (max-width: 1050px) {
	.header .menu_bar .menu{display:none}
	.header .menu_btn{display:inline-block;}
	.front_head .bg{ padding: 0px 50px 0; }
	
	
	.front_head .usps{margin-top: 30px}
	.front_head .usps .usp{width:100%; float:none;}
	.front_head .usps .usp .icon{ width: 30px;  }
	.front_head .usps .usp .text{width:calc(100% - 35px);}
	.front_head .usps .usp .text br{display:none}
	.front_head .right img{  width: calc(100%);}
	
	
	.cases .bg .case { width: calc(100% - 20px); margin-bottom: 20px}
	
	.footer .flexbox{display:block;}
	.footer .col33{width:50%; margin-bottom: 40px; float:left;}
	.footer .col33.align_right{text-align:left;}
}

@media only screen and (max-width: 780px) {
	.front_head .bg{position:relative;}
	.front_head .left{width:100%}
	.front_head .left .usps{width:calc(100% - 150px)}
	.front_head .right {position:absolute; width: 150px; right:0; bottom:0 }
	.front_head .right img{position:relative; right:0}
	.rounded_block .flexbox{display:block}
	.rounded_block .left{width:100%; }	
	.rounded_block .right{width:100%; padding-left:0 }
	.rounded_block .left .fullimg.map{max-width:270px; margin-top:30px}
	.faq_block .flexbox{display:block}
	.faq_block .left{width:100%}
	.faq_block .right{width:100%}
	.footer .col33{width:100%;}
	.footer ul{margin-top:0}
	.bottom{margin-top:50px; padding: 20px 0}
	
	.login .flexbox {display:block;}
	.login .left{width:100%; }
	.login .right{width:100%; }
	
}

@media only screen and (max-width: 580px) {
	body{font-size:17px}
	h1, .h1{font-size:32px;}
	h2, .h2{font-size:22px;}
	h3, .h3{font-size:20px;}
	h4, .h4{font-size:19px;}
	h5, .h5{font-size:18px;}
	h6, .h6{font-size:17px;}
	
	.btn.n_btn {  padding: 15px 28px;}
	.btn.icon_right i{ margin-left:15px;}
	.btn.icon_left i{margin-right:15px; }
	.header {padding: 25px 0}
	.header .logo {    width: 185px;}
	
	.contentblock{margin-bottom: 70px}
	.front_head {margin-bottom: 70px}
	.front_head .bg{ padding: 0px 25px 0;   border-radius:20px;    border-bottom-right-radius: 70px;}
	.front_head .right {display:none;}
	.front_head .left .usps{width:calc(100%)}
	.subpage_head{margin-bottom: 70px}
	.subpage_head .bg{padding: 30px 25px 30px; border-radius:20px;   border-bottom-right-radius: 70px;}
	
	.rounded_block .bg{ padding: 0px 25px; border-radius:20px;   border-bottom-left-radius: 70px;}
	.cases .bg{padding: 30px 25px 50px; border-radius:20px;  border-bottom-left-radius: 70px;}
	
	.blog_list .blog_item .flexbox{display:block;}
	.blog_list .blog_item .image{width: 100%;}
	.blog_list .blog_item .image:after{padding-bottom: 60%}
	.blog_list .blog_item .text{width: calc(100%); padding: 25px;}
	
	.footer{font-size:16px;}
	.footer .bg{  padding: 60px 25px 0;}
}

@media only screen and (max-width: 480px) {
	.mob_menu .menu_items{font-size:120%;	}
	.menu_btn span{display:none}
	.btn.icon_right.menu_btn i{margin-left:0}
	.cases .bg .case{padding: 25px; font-size:80%}
	.login .left{padding: 40px 25px }
	.login .right{padding: 40px 25px }
}

@media only screen and (max-width: 400px) {
	
	.header .flexbox{display:block; text-align:center;}
	.header .flexbox .logo{display:inline-block; margin-bottom: 20px;}
	.menu_btn span{display:inline-block}
	.btn.icon_right.menu_btn i{margin-left:15px}
	.front_head{margin-bottom: 50px}
	.subpage_head{margin-bottom: 50px}
	.contentblock{margin-bottom: 50px}
}
