@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;900&display=swap');

.grecaptcha-badge{
	display: none !important;
}

body{
	font-family: 'TT Hoves';
	position: relative;
	min-height: 100vh;
}

body, a{
	color: #1F448D;
}

h1, h2, h3, h4, h5, h6{
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	line-height: 1.15;
}

h1, h2, h3, h4, h5, h6,
p,
address{
	margin: 0;
	padding: 0;
}

*{
	box-sizing: border-box;
}

a{
	text-decoration: none;
}

ul{
	margin: 0;
	padding: 0;
	list-style-type: none;
}

b, strong {
	font-weight: 700;
}

a.active.focus,
a.active:focus,
a.focus,
a:active.focus,
a:active:focus,
a:focus,
input:active,
input:focus,
textarea:active,
textarea:focus,
select:active.focus,
select:active:focus,
select:focus,
option:active.focus,
option:active:focus,
option:focus,
button.active.focus,
button.active:focus,
button.focus,
button:active.focus,
button:active:focus,
button:focus,
.btn.active.focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn:active:focus,
.btn:focus {
outline: 0!important;
outline-color: transparent!important;
outline-width: 0!important;
outline-style: none!important;
box-shadow: 0 0 0 0 rgba(0,123,255,0)!important;
}

.back-color-1{
	background-color: #1D3869;
}

.container{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.inner-row{
	width: 100%;
	max-width: 1240px;
	padding-left: 20px;
	padding-right: 20px;
	display: flex;
	flex-direction: row;
}

.inner-column{
	width: 100%;
	max-width: 1240px;
	padding-left: 20px;
	padding-right: 20px;
	display: flex;
	flex-direction: column;
}

.button{
	display: inline-block;
	font-size: 22px;
	padding: 15px 40px;
	transition: 0.3s;
	cursor: pointer;
}

.button--white{
	border: solid 2px #fff;
	color: #fff;
}
.button--white:hover{
	background-color: #fff;
	color: #1d3869;
	transition: 0.3s;
}

.button--blue{
	color: #fff;
	border: solid 2px #1D3869;
	background-color: #1D3869;
}

.button--blue:hover{
	background-color: #fff;
	color: #1D3869;
}

.h-big{
	font-size: 46px;
	font-weight: 700;
	border-bottom: 1px solid #1F3C69;
	padding-bottom: 40px;
}

.h-big--white{
	color: #fff;
	border-color: #fff;
}

.text{
	font-size: 22px;
	font-weight: 300;
	line-height: 1.3;
}

.text p{
	margin-bottom: 15px;
}

.text--richtext h2,
.text--richtext h3,
.text--richtext h4,
.text--richtext h5,
.text--richtext h6{
	margin-bottom: 30px;
	font-weight: 700;
}

#to_top_scrollup{z-index: 99;}

/* ---------------------- HEADER --------------- */
/* ---------------------------------------------*/

.top-bar{
	width: 100%;
	height: 50px;
	display: flex;
	flex-direction: row;
	align-items: center;
}

.top-bar-inner{
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
}

.top-bar__item{
	padding: 5px 30px;
	border-right: 2px solid #fff;
	display: flex;
	flex-direction: row;
	align-items: center;
	font-size: 17px;
	font-style: normal;
	color: #fff;
}
.top-bar__item:first-child{
	padding-left: 0px;
}
.top-bar__item:last-child{
	padding-right: 0px;
	border: none;
}

.top-bar__item--address{
	border: none;
	flex-grow: 1;
}

.top-bar__item address{
	font-style: normal;
}

.top-bar a{
	color: #fff;
}

.top-bar i{
	margin-right: 10px;
}

.top-bar i:before{
	color: #fff;
}

.header{
	position: relative;
}

.header .inner-row{
	align-items: center;
	justify-content: space-between;
	padding-top: 45px;
	padding-bottom: 45px;
}

.header-menu ul{
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
}

.header-menu ul li{
	padding: 15px 35px;
}
.header-menu ul li:first-child{
	padding-left: 0px;
}
.header-menu ul li:last-child{
	padding-right: 0px;
}

.header-menu ul li a{
	font-size: 22px;
	text-transform: uppercase;
	font-weight: bold;
	transition: 0.3s;
}
.header-menu ul li a:hover{
	color: #3e7adc;
	transition: 0.3s;
}

.menu-main li{
	position: relative;
}

.menu-main li ul{
	width: 340px;
	position: absolute;
	left: 0;
	top: 100%;
	z-index: 2;
	display: flex;
	flex-direction: column;
	background-color: #fff;
	align-items: flex-start;
	-webkit-box-shadow: 5px 5px 9px 1px rgba(0,0,0,0.3); 
	box-shadow: 5px 5px 9px 1px rgba(0,0,0,0.3);
	padding: 20px 25px;
	visibility: hidden;
	opacity: 0;
	transition: 0.4s;
}

.menu-main li.menu-item-has-children:hover ul{
	visibility: visible;
	opacity: 1;
	transition: 0.4s;
}

.menu-main li ul li{
	width:100%;
	padding: 13px 0px !important;
	border-bottom: 2px dotted #d4d4d4;
}

.menu-main li ul li:last-child{
	border: none;
}

.menu-main li ul li a{
	font-size: 18px;
	font-weight: 400;
	text-transform: initial;
}

.logo{
	margin-top: -25px;
}

.logo a img{
	height: 70px;
}


section{
	position: relative;
}

/* ---------------SECTION BANNER --------------- */
section.banner{
	padding: 60px 0px;
	color: #fff;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.banner-overlay{
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 0;
}

section.banner .inner-row{
	position: relative;
	z-index: 1;
}

section.banner .banner-left{
	flex-grow: 1;
}

section.banner .banner-right{
	width: 100%;
	max-width: 450px;
	display: flex;
	flex-direction: column;
}

section.banner h1,
section.banner h2{
	font-size: 55px;
}

section.banner .banner-content{
	font-size: 22px;
	margin-top: 50px;
}

.banner-button-cont{margin-top:60px;}


/* ---------------SECTION CARDS  --------------- */
section.cards{
	padding: 100px 0px;
	color: #fff;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

section.cards .inner-row{
	position: relative;
	z-index: 1;
}

section.cards .container{
	position: relative;
	z-index: 1;
}

section.cards .h-big{
	text-shadow: 0px 0px 14px rgba(0,0,0,0.34);
}

.cards-items{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin-left: -30px;
	margin-right: -30px;
	margin-top: 30px;
}

.card{
	width: 25%;
	flex-shrink: 0;
	padding: 30px;
	box-sizing: border-box;
	display: flex;
	flex-grow: 1;
}

.card-inner{
	width: 100%;
	display: flex;
	flex-direction: column;
	border: solid 1px #fff;
	padding: 35px 18px;
	text-align: center;
	font-size: 18px;
	text-shadow: 0px 0px 10px rgb(0 0 0 / 25%);
	word-wrap: break-word;
}

.card-inner h3{
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
}

.card-inner p{
	margin-top: 30px;
}

.card-inner.valign-center{
	justify-content: center;
}

/* ---------------SECTION CARDS TYPE TWO ------ */
.cards--two .card-inner{
	padding: 0;
	position: relative;
	padding-bottom: 100%;
}

.cards--two .card-inner__content{
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 15px;
}

.cards--two .card-inner h3{
	font-weight: 400;
	line-height: 1.3;
}

.cards--two .h-big{
	font-weight: 600;
	padding-bottom: 20px;
}


/* ---------------SECTION INFO --------------- */
.info-container{
	width: 100%;
	display: flex;
	flex-direction: row;
}

.info-col{
	display: flex;
	flex-direction: column;
}

.info-col--image{
	width: 40%;
	flex-shrink: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.info-col--content{
	flex-grow: 1;
	padding-right: calc( (100vw - 1200px) / 2 );
}

.info-content-inner{
	padding: 55px 20px 55px 88px;
}

/* --- left col content orientation -- */
section.info--left .info-container{
	flex-direction: row-reverse;
}
section.info--left .info-content-inner{
	padding: 55px 88px 55px 20px;
}

section.info--left .info-col--content{
	flex-grow: 1;
	padding-right: 0px;
	padding-left: calc( (100vw - 1200px) / 2 );
}

section.info h2{
	margin-bottom: 40px;
}

.info-button-cont{
	margin-top: 58px;
}

@media screen and (max-width: 650px) {}


/* ------------------ BANNER THIN SECTION ------- */
section.banner-thin{
	width: 100%;
	display: flex;
	flex-direction: column;
}

.banner-thin__image{
	width: 100%;
	position: relative;
	height: 180px;
	background-repeat: no-repeat;
	background-size:cover;
	background-position: center;
}

.banner-thin-panel{
	width: 100%;
	background-color: #3E7ADC;
}

.banner-thin-panel{
	padding: 12px 0px;
}

.banner-thin-panel .title{
	color: #fff;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.15;
	font-family: 'Montserrat', sans-serif;
}



/* ---------------SECTION TEXT  -- */
section.text{
	padding: 50px 0px;
}




/* ---------------SECTION TEXT with background -- */
section.text-back{
	background-color: #1D3869;
	padding: 50px 0px;
}

section.text-back,
section.text-back *,
section.text-back a,
section.text-back p{
	color: #fff;
}


/* ---------------SECTION contacts -------------- */
section.contacts{
	padding: 60px 0px;
}

/* ---------------SECTION MAP -------------- */
section.map{
	width: 100%;
}

section.map frame,
section.map iframe{
	width: 100% !important;
	height: 30vw !important;
	display: block;
}


/* ---------------SECTION Contacts -------------- */
.contacts-content{
	margin-top: 37px;
}

.contacts-content .text{
	line-height: 1.5;
}

.contacts-content{
	display: flex;
	flex-direction: row;
}

.contacts-left,
.contacts-right{
	flex-shrink: 0;
}

.contacts-left{
	width: 33.33%;
	padding-right: 20px;
}

.contacts-right{
	width: 66.66%;
	padding-left: 20px;
}

.cform{
	display: flex;
	flex-direction: column;
}

.cform_fields{
	display: flex;
	flex-direction: column;
	background-color: #faf9f8;
	padding: 25px 100px 65px 100px;
	margin-bottom: 60px;
}

.cf-input,
.cf-textarea{
	width: 100%;
	border: none;
	background-color: #fff;
	margin-bottom: 25px;
	font-family: 'TT Hoves';
	font-size: 24px;
	color: #1F448D;
	padding:15px;
}

.cf-textarea{
	height: 110px;
}

.cf-input::placeholder,
.cf-textarea::placeholder{
  color: #1F448D;
  opacity: 1;
}

.cf-input:-ms-input-placeholder,
.cf-textarea:-ms-input-placeholder{
  color: #1F448D;
}

.cf-input::-ms-input-placeholder,
.cf-textarea::-ms-input-placeholder{
  color: #1F448D;
}

.cf-submit-container{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.wpcf7-spinner{
	margin-top: 20px;
}

.wpcf7-response-output{
	padding: 10px !important;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #ffb900;
	background-color: #ffb900;
	color: #fff;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #46b450;
	background-color: #46b450;
	color: #fff;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: #dc3232; /* Red */
	background-color: #dc3232; 
	color: #fff;
}

/* ----------------SERVICES     --------------- */
section.services{
	padding: 55px 0px;
	background-color: #f2f1f0;
}

.service-content{
	outline: 4px solid #f2f1f0;
	transition: 0.4s;
}
.service-content:hover{
	/* background-color: #3E7ADC;
	outline: 4px solid #3E7ADC; */
	transition: 0.4s;
}

.service-content:hover .title{
	/* color: #fff; */
	color: #3E7ADC ;
	transition: 0.4s;
}

.service-title .title{
	font-size: 18px;
	text-align: center;
	font-weight: 500;
	padding: 15px;
}

section.services .h-big{
	margin-bottom: 40px;
}

.services-container{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin-left: -10px;
	margin-right: -10px;
}

.service-container{
	display: flex;
	flex-direction: column;
	width: 25%;
	padding: 10px;
}

.service-content{
	display: flex;
	flex-direction: column;
	position: relative;
	width: 100%;
	max-width: 400px;
}

.service-content a{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}





.service-image{
	width: 100%;
	padding-bottom: 77%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

/* ------------- SERVICE SINLGE PAGE ------------ */
.banner-thin-panel--single .inner-row span{
	padding-right: 60px;
	position: relative;
}

.banner-thin-panel--single .inner-row span:after{
	content: "";
	display: block;
	position: absolute;
	right: 30px;
	top: 0;
	height: 100%;
	width: 2px;
	background-color: #fff;
}

.page{
	padding: 60px 0px;
}

.page--sidebar .inner-row .sidebar{
	flex-shrink: 0;
	width: 300px;
}

.page--sidebar .page-content{
	padding-left: 60px;
	flex-grow: 1;
}

.side-menu{
	display: flex;
	flex-direction: column;
}

.side-menu a{
	text-transform: uppercase;
	font-size: 22px;
	font-weight: bold;
	border-bottom: 2px dotted #d4d4d4;
	padding-bottom: 2px;
	margin-bottom: 25px;
	transition: 0.3s;
	line-height: 1;
}

.side-menu a.active,
.side-menu a:hover{
	color: #3E7ADC;
	transition: 0.3s;
}

.accordion__item{
	display: flex;
	flex-direction: column;
	background-color: #faf9f8;
	margin-bottom: 25px;
	padding: 25px;
	box-sizing: border-box;
}

.accordion-left{
	display: flex;
	flex-direction: row;
}

.accordion-thumb{
	width: 275px;
	height: 205px;
	flex-shrink: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.accordion-anons__title{
	color: #3E7ADC;
	font-family: 'TT Hoves';
	font-weight: 400;
	font-size: 26px;
	margin-bottom: 13px;
}

.accordion-anons__text{
	font-size: 20px;
	line-height: 1.5;
	flex-grow: 1;
	margin-bottom: 15px;
}

.accordion-anons{
	display: flex;
	flex-direction: column;
	padding-left: 30px;
}

.accordion-anons__button{
	text-align: right;
	color: #3E7ADC;
	font-family: 'TT Hoves';
	font-weight: 400;
	font-size: 22px;
	align-self: flex-end;
	cursor: pointer;
	position: relative;
	padding-right: 28px;
}

.accordion-anons__button i{
	transform: rotate(0deg);
	transition: transform 0.3s ease-in;
}

.accordion-anons__button.accordion-active i{
	transform: rotate(90deg);
	transition: transform 0.3s ease-in;
}

.accordion-anons__button-icon{
	width: 25px;
	height: 25px;
	position: absolute;
	right: 0;
	top: 3px;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}

.accordion__content{
	display: none;
	padding-top: 30px;
	padding-bottom: 15px;
	margin-top: 20px;
}

.accordion__content-inner{
	border-left: 1px solid rgb(29, 56, 105);
	padding-left: 25px;
}

.text--accordion{
	font-size: 20px;
}


/* ---------------------- FOOTER --------------- */
/* ---------------------------------------------*/
.footer{
	background-color: #1D3869;
	padding: 45px 0px;
}

.footer,
.footer a{
	color: #fff;
	font-size: 18px;
	line-height: 1.5;
}

.footer-menu{
	margin-bottom: 25px;
	width: 100%;
}

.footer-menu ul{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin-left: -10px;
	margin-right: -10px;
	justify-content: space-between;
}

.footer-menu ul li{
	padding: 15px 10px;
}

.footer-menu ul li a{
	color: #fff;
	text-transform: uppercase;
	font-size: 25px;
	transition: 0.3s;
}

.footer-menu .menu-main li ul{
	bottom: 100%;
	top: auto;
}

.footer-menu .menu-main li ul li a{
	color: #1D3869;
}

.footer-menu .menu-main li ul li a:hover{
	color: #3e7adc;
	transition: 0.3s;
}

.footer-menu ul li a:hover{
	color: #3e7adc;
	transition: 0.3s;
}

.footer-main{
	width: 100%;
	display: flex;
	flex-direction: row;
}

.footer-cont,
.footer-side{
	display: flex;
	flex-direction: column;
	width: 50%;
	flex-shrink: 0;
}

.footer-cont{
	align-items: flex-start;
	padding-right: 110px;
}

.footer-phone{
	margin-bottom: 40px;
}

.footer-map{
	width: 100%;
	height: 100%;
}

.footer-map frame,
.footer-map iframe{
	height: 300px !important;
	width: 100% !important;
}

.copyright{
	width: 100%;
	text-align: right;
}

.footer-logo{
	margin-bottom: 78px;
}

.footer-logo img{
	max-width: 100%;
	height: 100%;
	max-height: 82px;
}

.separ{
	width: 100%;
	height: 1px;
	background-color: #fff;
}

.separ--footer{
	margin-bottom: 30px;
}

.footer-side{
	padding-top: 45px;
	padding-left: 15px;
}


/* ---------------------- mods ----------------- */
/* ---------------------------------------------*/









































