/*  ==========  INFO  ==========  */
    /* laptop: 1200px */
    /* tablet: 960px */
    /* large-mobile: 640px */
    /* mobile: 480px */
    /* mini-mobile: 320px */
/*  ==========  END INFO  ==========  */



/*  ==========  GLOBAL STYLES  ==========  */
*{
	--color-main: rgb(37, 114, 231); /* #2572e7 */
	--color-main-alpha: rgba(37, 114, 217, .25);
	--color-gray-bg: rgb(246, 247, 248);
	--color-purple: rgb(117, 59, 250);
	--color-gold: rgb(248,154,43);
	--color-light-red: rgb(255,103,70);
	--color-light-green: rgb(49, 189, 75);
    --color-black: #080f0f;
    --color-text-gray: #6e7494;
    --color-border: rgba(0, 0, 0, .12);
    --color-border-6: rgba(0, 0, 0, .06);
	--box-shadow: 0 0 20px rgb(95 125 149 / 12%);

    --font-primary: 'Manrope', sans-serif;
    --font-secondary: 'Montserrat', sans-serif;

    margin: 0;
    padding: 0;
}
html{scroll-behavior: smooth;}
body{font-family: var(--font-primary);}
img{max-width: 100%; max-height: 100%;}
.mark-text{color: var(--color-main);}
.text-fill{color: var(--color-text-gray);}

.pad-16{padding: 16px 0;}
.pad-32{padding: 32px 0;}
.pad-64{padding: 64px 0;}
.pad-top-16{padding-top: 16px;}
.pad-top-32{padding-top: 32px;}
.pad-top-64{padding-top: 64px;}
.pad-bottom-16{padding-bottom: 16px;}
.pad-bottom-32{padding-bottom: 32px;}
.pad-bottom-64{padding-bottom: 64px;}

.flex-centered{width: 100%;display: flex;justify-content: center;}
.flex-column{display: flex;flex-direction: column;}
.grid-col-1{
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
}
.grid-col-2{
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}
.grid-col-3{
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 15px;
}
@media screen and (max-width: 767px){
    .grid-col-3,
    .grid-col-2{grid-template-columns: 1fr;}
}

.container{
    width: 100%;
    max-width: 1220px;
}
.container-2{
    max-width: 900px;
}
a{text-decoration: none;}
.page-header{
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	font-size: 36px;
	font-weight: 600;
	font-family: var(--font-secondary);
}
.page-header:before{
	content: '';
	background: var(--color-main);
	border-radius: 50%;
	box-shadow: 0 0 0 0 rgb(37, 114, 231, 1);
	width: 7px;
	height: 7px;
	transform: scale(1);
	animation: pulse-blue 2s infinite;
}
.page-header-centered{
	text-align: center;
	justify-content: center;
}
  
@keyframes pulse-blue {
	0% {
		transform: scale(0.98);
		box-shadow: 0 0 0 0 rgba(37, 114, 231, 0.7);
	}
	70% {
		transform: scale(1);
		box-shadow: 0 0 0 10px rgba(37, 114, 231, 0);
	}
	100% {
		transform: scale(0.98);
		box-shadow: 0 0 0 0 rgba(37, 114, 231, 0);
	}
}
.page-sub-header{
	font-size: 18px;
	font-weight: 500;
	color: var(--color-text-gray);
}
.page-sub-header-centered{text-align: center;}
.alert-text{
	width: 100%;
	margin: 10px 0;
	color: var(--color-text-gray);
	text-align: center;
}
.button{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px 32px;
    border-radius: 5px;
    background-color: var(--color-main);
    color: #fff;
    font-size: 15px;
    font-weight: 500;
	font-family: var(--font-secondary);
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: all .3s ease;
    position: relative;
    box-shadow: 3px 4px 5px 0 rgba(0,0,0,.1), 0 0 0 0 var(--color-main);
	outline: none;
	border: none;
}
.button:hover{
    transition: box-shadow 0.5s;
    box-shadow: 3px 4px 5px 0 rgba(0,0,0,.1), 0 0 0 10px rgba(255, 195, 16, 0)
}
.button:disabled{
	opacity: .5;
}
.button.button-secondary{
	border: 1px solid var(--color-main);
	background: transparent;
	color: var(--color-main);
	font-weight: 600;
	border-width: 1.5px;
}
.achor-link{
	display: block;
	opacity: 0;
	width: 100%;
	position: relative;
	top: -100px;
}

.input-group{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    position: relative;
}
.input-group label{
	width: calc(100% - 36px);
	max-height: 40px;
    font-size: 14px;
    font-weight: 500;
    color: var(--color-text-gray);
	position: absolute;
	top: 50%;
	left: 18px;
	transform: translateY(-50%);
	pointer-events: none;
	transition: .1s ease-in-out all;

	display: -webkit-box;
	line-clamp: 3;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}
.input-group.textarea label{
	top: 16px;
	transform: unset;
}
.input-group.textarea textarea{padding-top: 28px;}

.input-group input,
.input-group textarea,
.input-group select{
    width: 100%;
    height: 62px;
    padding: 18px 18px 0 18px;
    box-sizing: border-box;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    color: var(--color-black);
    font-size: 15px;
    font-family: var(--font-primary);
	font-weight: 600;
    color: #2e2f38;
    outline: none;
	max-width: 100%;
	min-width: 100%;
	transition: .1s ease-in-out all;
}
.input-group textarea{height: 100px;}
.input-group select{padding-top: 0;}

.input-group input:focus,
.input-group textarea:focus{
	border: 2px solid var(--color-main);
}

.input-group input:focus + label,
.input-group textarea:focus + label{
	color: var(--color-main) !important;
}
.input-group input:focus + label,
.input-group input:not(:placeholder-shown) + label,
.input-group textarea:focus + label,
.input-group textarea:not(:placeholder-shown) + label{
	height: 18px;
	font-size: 13px;
	color: var(--color-black);
	transform: unset;
	top: 8px;
	line-clamp: 1;
	-webkit-line-clamp: 1;
}

.input-group.iconed input,
.input-group.iconed textarea{
	padding-left: 45px;
}

.input-group.iconed input + label,
.input-group.iconed textarea + label{
	left: 45px;
}

.input-group.iconed .icon {
	position: absolute;
	top: 50%;
	left: 16px;
	transform: translateY(-50%);
}
.input-group.iconed .icon i{color: #ccc;}
input.invalid_input,
textarea.invalid_input{border: 1px solid var(--color-light-red);}


.alert-area{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-bottom: 8px;
}
.alert-area .alert.error{
	color: var(--color-light-red);
}
.alert-area .alert.no_error{
	color: var(--color-light-green);
}
.alert-area .alert{
	text-align: center;
	font-size: 14px;
}

@media screen and (max-width: 1220px){
    .container,
	.container-2{
		padding-left: 10px;
		padding-right: 10px;
        box-sizing: border-box;
    }
}
@media screen and (max-width: 767px){
	.page-header{font-size: 30px;}
}
@media screen and (max-width: 480px){
	*{cursor: default !important; }
    .adaptive-padding {padding: 0 0;}
	.page-header{font-size: 24px; text-align: center; justify-content: center;}
	.page-sub-header{font-size: 16px; text-align: center;}
}
.fullscreen{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 100;
}
.blackout{background: rgba(8,25,43,0.8);}
.spliter{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.spliter span{
	font-size: 14px;
	color: var(--color-text-gray);
}
.spliter::before,
.spliter::after{
	content: '';
	flex: 1;
	height: 1px;
	background-color: var(--color-border);
	display: block;
}
/*  ==========  END GLOBAL STYLES  ==========  */





/*  ==========  HEADER STYLES  ==========  */
.header-offset{
	width: 100%;
	height: 90px;
}
header{
	width: 100%;
	height: 90px;
	padding: 10px 0;
	box-sizing: border-box;
	position: fixed;
	top: 0;
	border-bottom: 1px solid var(--color-border);
	background: rgba(255, 255, 255, .85);
	z-index: 99;
	transition: .3s;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
header .container{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
header .group{
	display: flex;
	align-items: center;
	gap: 28px;
}
header .logo-wrap{height: 35px;}
header .logo{
	height: 35px;
	transition: .1s;
}
header .header-phone{
	display: flex;
	flex-direction: column;
	align-items: center;
}
header .header-phone .phone{
	font-size: 16px;
	font-weight: 600;
	font-family: var(--font-secondary);
	color: #121212;
}
header .header-phone .phone:hover{color: var(--color-main);}
header .header-phone .callback-text{
	font-size: 13px;
	font-weight: 500;
	color: #909090;
	border-bottom: 1px solid var(--color-border);
}
header .header-phone .callback-text:hover{color: var(--color-main);}
header .menu{
	height: max-content;
	display: flex;
	align-items: center;
	gap: 16px;
}
header .menu .item{
	letter-spacing: .5px;
	font-size: 16px;
	font-weight: 600;
	color: #232323;
	padding: 4px 0;
}
header .menu .item:hover{
	color: var(--color-main);
}
header .iconed-button{
	display: flex;
	align-items: center;
	height: 44px;
	border: none;
	border-radius: 10px;
	background-color: #2572e7;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	font-family: var(--font-main);
	letter-spacing: .2px;
	cursor: pointer;
	transition: .1s;
}
header .iconed-button:hover{background-color: #0e56da;}
header .iconed-button .label{
	padding: 0 15px;
	border-right: 1px solid #0e56da;
}
header .iconed-button .icon{padding: 0 15px;}
header .menu .secret{display: none;}
header .menu_icon{
	display: none;
	flex-direction: column;
	justify-content: space-around;
	align-items: flex-end;
	width: 28px;
	height: 28px;
	transition: .3s;
	position: relative;
}
header .menu_icon span{
	width: 100%;
	height: 2px;
	background-color: #000;
	border-radius: 5px;
	transition: .3s all;
}
header .menu_icon span:nth-child(2){width: 70%;}
header .menu_icon.active span{
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background-color: #1A73E8;
}
header .menu_icon.active span:nth-child(1){transform: rotate(45deg);}
header .menu_icon.active span:nth-child(2){display: none;}
header .menu_icon.active span:nth-child(3){transform: rotate(-45deg);}

header.scrolled{height: 65px;}

.menu_back{z-index: 98 !important;}

@media screen and (max-width: 1024px){
	.header-offset{height: 60px;}
	header{height: 60px;}
	header .menu_icon{display: flex !important;}
	header .menu{
		flex-direction: column;
		align-items: start;
		width: 100%;
		height: 450px;
		position: fixed;
		top: -450px;
		left: 0;
		background-color: #FFF;
		padding: 40px;
		padding-top: 80px;
		box-sizing: border-box;
		box-shadow: var(--box-shadow);
		z-index: -1;
		transition: .3s;
	}
	header .menu.opened_menu{top: 0;}
	header .menu .item{
		width: 100%;
		text-transform: uppercase;
		font-size: 24px;
	}
}
@media screen and (max-width: 767px){
	/* .secret{display: none !important;} */
	/* header .menu .secret{display: flex !important;} */
}
@media screen and (max-width: 480px){
	header .menu{height: 430px;}
	header .menu .item{font-size: 20px;}
}
/*  ==========  END HEADER STYLES  ==========  */





/*  ==========  MODAL CALLBACK STYLES  ==========  */
.fullscreen.modal-centered{
	display: flex;
	align-items: center;
	justify-content: center;
}
.modal-wrap{
    display: flex;
    flex-direction: column;
    width: 490px;
    min-height: 200px;
    border-radius: 10px;
    background-color: #fff;
}
.modal-wrap .header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 22px;
    box-sizing: border-box;
    border-bottom: 1px solid var(--color-border);
    position: relative;
	background-color: var(--color-gray-bg);
    border-radius: 10px 10px 0 0;
}
.modal-wrap .header .name{
    font-size: 14px;
}
.modal-wrap .header .close-item{
    width: 26px;
    height: 26px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    border-radius: 26px;
    border: 1px solid var(--color-border);
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(50%, -50%);
    cursor: pointer;
}
.modal-wrap .header .close-item:before{
    content: '';
    position: absolute;
    width: 80%;
    height: 1px;
    background-color: #708086;
    border-radius: 10px;
    transform: rotate(-45deg);
}
.modal-wrap .header .close-item:after{
    content: '';
    position: absolute;
    width: 8cqi;
    height: 1px;
    background-color: #708086;
    border-radius: 10px;
    transform: rotate(45deg);
}
.modal-wrap .header .close-item::after,
.modal-wrap .header .close-item::before{
    width: 60%;
}
.modal-wrap .content{
    padding: 40px 60px;
    box-sizing: border-box;
}
.modal-wrap form{
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
}
.modal-wrap .title{
	font-size: 22px;
	font-weight: 600;
	font-family: var(--font-secondary);
}
.modal-wrap .action-button{width: 100%;}

.modal-wrap .alternative-form{
	padding-top: 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.modal-wrap .alternative-form .button{
	display: flex;
	height: 55px;
	padding: 12px;
	box-sizing: border-box;
	gap: 16px;
	color: #000;
	box-shadow: none;
	background-color: #f1f2f3;
	border: 1px solid var(--color-border-6);
}
.modal-wrap .alternative-form .button:hover{
	opacity: .75;
}
.modal-wrap .alternative-form .button .text{
	display: flex;
	flex-direction: column;
	font-size: 14px;
}
.modal-wrap .alternative-form .button .hint{
	font-size: 11px;
	font-weight: 400;
}
@media screen and (max-width: 480px){
	.modal-wrap{
		width: 100%;
		height: 100%;
	}
	.modal-wrap .close-item{
		transform: translate(0, -50%) !important;
		top: 50% !important;
		right: 16px !important;
	}
	.modal-wrap .content{padding: 32px;}
}
/*  ==========  END MODAL CALLBACK STYLES  ==========  */





/*  ==========  COLLECT WHATSAPP SECTION  ==========  */
.collect-whatsapp{
	margin-top: 150px;
    background-color: #a9d9ce;
}
.collect-whatsapp .container{
    display: grid;
    grid-template-columns: 2.5fr 1fr;
    gap: 20px;
    height: 200px;
    align-items: center;
    position: relative;
}
.collect-whatsapp .content-group{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.collect-whatsapp .title{
    width: 100%;
    font-family: var(--font-secondary);
    font-size: 28px;
    font-weight: 600;
}
.collect-whatsapp .sub-title{
    width: 100%;
    font-size: 18px;
}
.collect-whatsapp .button{
    background-color: #fff;
    color: #212121;
}
.collect-whatsapp .button:hover{opacity: .85;}
.collect-whatsapp .image{
    height: calc(100% + 80px);
    position: absolute;
    right: 0;
    bottom: 0;
}
@media screen and (max-width: 780px){
    .collect-whatsapp .image{display: none;}
    .collect-whatsapp .container{
        display: flex; 
        height: unset;
        padding-top: 25px;
        padding-bottom: 25px;
    }
    .collect-whatsapp .content-group{width: 100%; align-items: center;}
    .collect-whatsapp .title,
    .collect-whatsapp .sub-title{text-align: center;}
}
/*  ==========  END COLLECT WHATSAPP SECTION  ==========  */





/*  ==========  FOOTER STYLES  ==========  */
footer{
    width: 100%;
    padding: 40px 0;
    background-color: rgba(0 0 0 / 95%);
    background-image: url(../assets/pattern-dark.png);
    background-size: cover;
    color: #fff;
}
footer .container{
    display: flex;
    flex-direction: column;
}
footer .footer-contacts{
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    justify-content: space-between;
	align-items: start;
    gap: 80px;
    padding-bottom: 40px;
    border-bottom: 1px solid #212121;
}
footer .footer-contacts .about img{height: 48px;}
footer .footer-contacts .about{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    font-size: 15px;
    color: var(--color-text-secondary-dark);
}
footer .group{
	display: flex;
	flex-direction: column;
	gap: 12px;
}
footer .title{
    font-size: 22px;
    font-family: var(--font-secondary);
    font-weight: 600;
}
footer .text-fill{
	font-size: 14px;
	color: #ccc;
}
#footer-contacts-form{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    min-width: 290px;
}
#footer-contacts-form .input-group{width: 100%;}
#footer-contacts-form button{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    width: 100%;
    background-color: var(--color-main);
    border: none;
    border-radius: 8px;
    color: #fff;
    font-family: var(--font-primary);
    font-size: 15px;
    font-weight: 600;
    outline: none;
    cursor: pointer;
}
#footer-contacts-form button:hover{opacity: .85;}

footer .contacts{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    min-width: 270px;
    padding: 20px;
    box-sizing: border-box;
    border-radius: 10px;
    border: 1px solid #212121;
    background-color: var(--color-black);
}
footer .contacts a{
    display: flex;
    gap: 12px;
    color: #fff;
    font-size: 15px;
    font-family: var(--font-secondary);
    font-weight: 600;
    padding: 8px;
    box-sizing: border-box;
}
footer .contacts a:hover{color: var(--color-main);}
footer .contacts i{display: flex; align-items: center;}

footer .the-end{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    padding-top: 20px;
    color: #ccc;
    font-size: 15px;
}
footer .company a{color: #fff;}
footer .company a:hover{padding: 2px 0; border-bottom: 1px dashed #fff;}

@media screen and (max-width: 1024px) {
    footer .footer-contacts{gap: 20px;}
}
@media screen and (max-width: 890px) {
    footer .footer-contacts{grid-template-columns: 1fr 1fr;}
    footer .footer-contacts .about{grid-column: 1/3;}
}
@media screen and (max-width: 767px) {
    footer .footer-contacts{grid-template-columns: 1fr;}
    footer .footer-contacts .about{grid-column: unset;}
}

/*  ==========  END FOOTER STYLES  ==========  */





/*  ==========  HAT SECTION  ==========  */
.hat{
	display: flex;
	justify-content: center;
	width: 100%;
	background: var(--color-gray-bg);
	padding: 50px 0;
	box-sizing: border-box;
	position: relative;
}
.hat .hat-inner{
	max-width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.hat .hat-inner .group{
	overflow: hidden;
}
.hat .header-wrap{
	display: flex;
	flex-direction: column;
	align-items: start;
	gap: 20px;
}
.hat .title{
	color: var(--color-black);
	font-size: 34px;
	font-family: var(--font-secondary);
	font-weight: 600;
}
.hat .sub-title{
	display: flex;
	align-items: center;
	color: var(--color-text-gray);
}
.hat .sub-title i{
	font-size: 9px;
	margin: 0 8px;
}
@media screen and (max-width: 767px){
	.hat .hat-inner{
		display: flex;
		flex-direction: column-reverse;
	}
	.hat .header-wrap{align-items: center;}
	.hat .title,
	.hat .sub-title{text-align: center;}
}
/*  ==========  END HAT SECTION  ==========  */





/*  ==========  INTREGRATION FORM SECTION  ==========  */
#integration-form{
	margin-top: 150px;
}
#integration-form .integration-form-inner{
	display: flex;
	gap: 40px;
	justify-content: space-between;
}
#integration-form .content{
	width: 470px;
	padding: 48px 48px;
	box-sizing: border-box;
	background-color: #fff6d6;
	/* mask-image: url('/assets/symbol-line.svg');
	mask-size: 230px;
	mask-position: bottom right;
	mask-repeat: no-repeat; */
	border-radius: 12px;
}
/* #integration-form .content */
#integration-form .content form{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
	margin-top: 32px;
}
#integration-form .info{
	width: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
#integration-form .headers{
	display: flex;
	flex-direction: column;
	gap: 10px;
}
#integration-form .headers .title{
	font-size: 28px;
	font-weight: 600;
	font-family: var(--font-secondary);
}
#integration-form .info .title{font-size: 36px;}
#integration-form .headers .text{font-size: 15px;}
@media screen and (max-width: 767px){
	#integration-form .integration-form-inner{
		flex-direction: column-reverse;
		align-items: center;
	}
	#integration-form .info,
	#integration-form .content{width: 80%;}
	#integration-form .headers .title,
	#integration-form .headers .text{text-align: center;}
}
@media screen and (max-width: 767px){
	#integration-form .info,
	#integration-form .content{width: 100%;}
}
/*  ==========  END INTREGRATION FORM SECTION  ==========  */