/*
Theme Name: Maylene
Theme URI: https://wordpress.org/
Description: Тема для Wordpress
Author: Divster
Author URI: https://divster.name/
Version: 100.0
*/
@font-face {
	font-family: 'Playfair Display';
	src: local('Playfair Display Bold'), local('PlayfairDisplay-Bold'),
		url('fonts/PlayfairDisplay-Bold.woff2') format('woff2');
	font-weight: bold;
	font-style: normal;
}
@font-face {
	font-family: 'Plus Jakarta Sans';
	src: local('Plus Jakarta Sans Regular'), local('PlusJakartaSans-Regular'),
		url('fonts/PlusJakartaSans-Regular.woff2') format('woff2');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Plus Jakarta Sans';
	src: local('Plus Jakarta Sans Italic'), local('PlusJakartaSans-Italic'),
		url('fonts/PlusJakartaSans-Italic.woff2') format('woff2');
	font-weight: normal;
	font-style: italic;
}
@font-face {
	font-family: 'Plus Jakarta Sans';
	src: local('Plus Jakarta Sans SemiBold'), local('PlusJakartaSans-SemiBold'),
		url('fonts/PlusJakartaSans-SemiBold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
}
@font-face {
	font-family: 'Plus Jakarta Sans';
	src: local('Plus Jakarta Sans Bold'), local('PlusJakartaSans-Bold'),
		url('fonts/PlusJakartaSans-Bold.woff2') format('woff2');
	font-weight: bold;
	font-style: normal;
}
@font-face {
	font-family: 'Plus Jakarta Sans';
	src: local('Plus Jakarta Sans ExtraBold'), local('PlusJakartaSans-ExtraBold'),
		url('fonts/PlusJakartaSans-ExtraBold.woff2') format('woff2');
	font-weight: 800;
	font-style: normal;
}
/* Eric Meyer's CSS Reset */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
ol, ul {
	list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=);
	list-style-type: none;
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* End of Eric Meyer's CSS Reset */
*{
	box-sizing: border-box;
}
html {
	height: 100%;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
	display: block;
}
:root {
	--star-size: 24px;
	--star-active: #E3572B;
	--star-before: rgba(227, 87, 43, .4);
	--color-blue: #3867F6;
	--color-blue-dark: #39456B;
	--color-black: #0A1128;
	--color-white: #FFF;
	--color-grey-light: #F5F6F8;
	--color-grey-dark: #C7CDDA;
}
body{
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 18px;
	line-height: 1.2;
	color: var(--color-black);
	height: 100%;
}
@media (prefers-color-scheme: dark) {
	body {
		background: var(--color-white);
		color: var(--color-black);
	}
}
:focus-visible:not(iframe){
	outline: 2px solid red !important;
}
body.not-scroll{
	overflow-y: hidden;
}
input[type=text],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=number]{
	width: 100%;
	height: 68px;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 16px;
	line-height: 20px;
	background: #FFF;
	border: 1px solid var(--color-grey-dark);
	border-radius: 8px;
	padding: 10px 18px;
	color: #000;
	outline: none;
}
textarea{
	width: 100%;
	height: 142px;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 16px;
	line-height: 20px;
	background: var(--color-white);
	border: 1px solid var(--color-grey-dark);
	border-radius: 8px;
	padding: 24px 18px;
	color: #000;
	outline: none;
	resize: none;
}
input::placeholder,textarea::placeholder{
	opacity: 1;
	color: #8D909C;
}
input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=number]:focus,textarea:focus,select:focus{
	border-color: var(--color-blue);
	background-color: #ECF0FF;
	outline: none !important;
}
select{
	width: 100%;
	height: 68px;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 16px;
	line-height: 20px;
	background: var(--color-white) url('data:image/svg+xml,<svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.58337 10.8333L13 16.25L18.4167 10.8333" stroke="%230A1128" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat right 10px center;
	border: 1px solid var(--color-grey-dark);
	border-radius: 8px;
	padding: 10px 18px;
	color: #000;
	outline: none;
	-moz-appearance: none;
	-webkit-appearance: none;
}
input[type=submit]:not(.btn), button:not(.btn){
	border: none;
	background: none;
	padding: 0;
	margin: 0;
	-webkit-appearance: none;
	font-family: 'Plus Jakarta Sans', sans-serif;
	outline: none;
	cursor: pointer;
}
button::-moz-focus-inner{
	border: 0;
}
.container{
	min-width: 280px;
	max-width: 1680px;
	padding: 0 60px;
	margin: 0 auto;
}
a {
	color: var(--color-black);
	text-decoration: underline;
	outline: none;
}
a:hover {
	text-decoration: none;
}
img {
	max-width: 100%;
	height: auto;
}
svg{
	max-width: 100%;
	height: auto;
	fill: var(--color-black);
}
:invalid {
	box-shadow: none;
}
strong{
	font-weight: bold;
}
em{
	font-style: italic;
}
details summary::-webkit-details-marker{
	display: none;
}
.site-wrapper {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	overflow: hidden;
	position: relative;
}
.site-container{
	flex: 1 0 auto;
}

/* Common Styles
-----------------------------------------------------------------------------*/
.toptitle{
	font-weight: 800;
	font-size: 18px;
	line-height: 23px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-blue);
	margin-bottom: 12px;
}
.title,.text-body h2,.text-body h3{
	font-family: 'Playfair Display';
	font-weight: bold;
}
.title_h1 {
	font-size: 80px;
	line-height: 80px;
	margin-bottom: 28px;
}
.title_h2,.text-body h2{
	font-size: 58px;
	line-height: 77px;
	margin-bottom: 18px;
}
.title_h3,.text-body h3{
	font-size: 32px;
	line-height: 43px;
	margin-bottom: 14px;
}
.text-body {
	font-size: 18px;
	line-height: 23px;
	color: var(--color-blue-dark);
}
.text-body p:not(:last-child) {
	margin-bottom: 12px;
}
.icon {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 68px;
	height: 68px;
	padding: 13px;
	background: rgba(56, 103, 246, 0.2);
	border-radius: 8px;
	margin-bottom: 30px;
}
.btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 15px 40px;
	height: 68px;
	border: 1px solid;
	border-radius: 8px;
	font-weight: 700;
	font-size: 18px;
	line-height: 23px;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.2s;
}
.btn:disabled{
	opacity: 0.5;
	pointer-events: none;
}
.btn_blue {
	background: var(--color-blue);
	border-color: var(--color-blue);
	color: var(--color-white)
}
.btn_blue:hover {
	background: transparent;
	color: var(--color-blue);
}
.btn_blue-stroke{
	border-color: var(--color-blue);
	color: var(--color-blue);
}
.btn_blue-stroke:hover {
	background: var(--color-blue);
	color: var(--color-white);
}
.btn_white {
	background: var(--color-white);
	border-color: var(--color-white);
	color: var(--color-black);
}
.btn_white:hover {
	background: transparent;
	color: var(--color-white);
}
.btn_black {
	background: var(--color-black);
	border-color: var(--color-black);
	color: var(--color-white);
}
.btn_black:hover {
	background: transparent;
	color: var(--color-black);
}
.rating-static {
	display: inline-flex;
	line-height: 0;
	--star-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.9999 17.2366L7.39844 20.0153C7.26323 20.082 7.13774 20.1091 7.02196 20.0964C6.90703 20.0829 6.79506 20.0431 6.68604 19.9772C6.57618 19.9096 6.49336 19.8141 6.43759 19.6908C6.38181 19.5674 6.37674 19.4326 6.42238 19.2864L7.64689 14.0765L3.59686 10.5652C3.48278 10.4722 3.40757 10.3611 3.37123 10.2318C3.33489 10.1025 3.34292 9.97871 3.39531 9.8604C3.44771 9.74209 3.51743 9.6449 3.60447 9.56885C3.69236 9.49533 3.81067 9.44547 3.9594 9.41927L9.30367 8.95279L11.3876 4.01923C11.4451 3.87979 11.5279 3.77923 11.6361 3.71754C11.7442 3.65585 11.8655 3.625 11.9999 3.625C12.1343 3.625 12.2559 3.65585 12.365 3.71754C12.474 3.77923 12.5564 3.87979 12.6121 4.01923L14.6961 8.95279L20.0391 9.41927C20.1887 9.44462 20.3074 9.4949 20.3953 9.57011C20.4832 9.64448 20.5533 9.74124 20.6057 9.8604C20.6573 9.97871 20.6649 10.1025 20.6285 10.2318C20.5922 10.3611 20.517 10.4722 20.4029 10.5652L16.3529 14.0765L17.5774 19.2864C17.6247 19.4309 17.6201 19.5653 17.5634 19.6895C17.5068 19.8137 17.4236 19.9092 17.3137 19.976C17.2056 20.0436 17.0936 20.0837 16.9778 20.0964C16.8629 20.1091 16.7378 20.082 16.6026 20.0153L11.9999 17.2366Z'/%3E%3C/svg%3E");
}
.rating-static span {
	width: var(--star-size);
	height: var(--star-size);
	position: relative;
	background: #D2D5DB;
	-webkit-mask: var(--star-shape) center / contain no-repeat;
	mask: var(--star-shape) center / contain no-repeat;
}
.rating-static span:before {
	content: '';
	position: absolute;
	inset: 0;
	width: 0;
	background: #E3572B;
}
.rating-static[data-rate="2"]  span:nth-child(-n+1)::before,
.rating-static[data-rate="3"]  span:nth-child(-n+1)::before,
.rating-static[data-rate="4"]  span:nth-child(-n+2)::before,
.rating-static[data-rate="5"]  span:nth-child(-n+2)::before,
.rating-static[data-rate="6"]  span:nth-child(-n+3)::before,
.rating-static[data-rate="7"]  span:nth-child(-n+3)::before,
.rating-static[data-rate="8"]  span:nth-child(-n+4)::before,
.rating-static[data-rate="9"]  span:nth-child(-n+4)::before,
.rating-static[data-rate="10"] span:nth-child(-n+5)::before { width: 100%; }
.rating-static[data-rate="1"] span:nth-child(1)::before,
.rating-static[data-rate="3"] span:nth-child(2)::before,
.rating-static[data-rate="5"] span:nth-child(3)::before,
.rating-static[data-rate="7"] span:nth-child(4)::before,
.rating-static[data-rate="9"] span:nth-child(5)::before { width: 50%; }
.tabs__block {
	height: 0px;
	opacity: 0;
	overflow: hidden;
	transform: translateY(20px);
	transition: transform 0.3s, opacity 0.3s;
}
.tabs__block.active{
	height: auto;
	opacity: 1;
	overflow: visible;
	transform: translateY(0px);
}
.rate-input {
	--star-size: 44px;
	border: 1px solid transparent;
	border-radius: 8px;
	margin: -3px 0 0px; 
	padding: 0;
	display: inline-flex;
	flex-direction: row-reverse;
	gap: 0;
}
.rate-input input {
	position: absolute;
	width: 1px; height: 1px;
	margin: 0; opacity: 0;
	pointer-events: none;
}
.rate-input label {
	--fill: none;
	--stroke: var(--color-grey-dark);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 1px;
	cursor: pointer;
}
.rate-input label svg {
	display: block;
	width: var(--star-size);
	height: var(--star-size);
	fill: var(--fill);
	stroke: var(--stroke);
	stroke-width: 1;
	stroke-linejoin: round;
	transition: fill .12s ease, stroke .12s ease;
}
.rate-input input:checked ~ label { --fill: var(--star-active); --stroke: none; }
.rate-input:hover input ~ label     { --fill: none; --stroke: var(--color-grey-dark); }
.rate-input:hover label:hover ~ label { --fill: var(--star-before); --stroke: none; }
.rate-input:hover label:hover         { --fill: var(--star-active); --stroke: none; }
.rate-input input:focus-visible + label svg {
	outline: 2px solid #1c1c1c;
	outline-offset: 2px;
	border-radius: 4px;
  }
.caption { font-size: 15px; font-weight: 600; margin: 0 0 12px; }
.req { color: var(--star-active); }

/* Header
-----------------------------------------------------------------------------*/
.site-panel {
	position: fixed;
	inset: 0 0 auto;
	padding: 14px 0 10px;
	background: var(--color-black);
	color: var(--color-white);
	z-index: 100;
}
.admin-bar .site-panel{
	top: 32px;
}
.site-panel__container {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.site-panel__contact{
	display: flex;
	gap: 30px;
}
.site-panel__contact a{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	line-height: 17px;
	color: var(--color-white);
	text-decoration: none;
}
.site-panel__contact a:hover{
	color: var(--color-blue);
	transition: color 0.2s;
}
.site-panel__social a:hover svg{
	fill: var(--color-blue);
}
.site-panel__contact a i{
	display: block;
	line-height: 0;
}
.site-panel__contact a svg{
	fill: currentColor;
}
.site-panel__social {
	display: flex;
	gap: 20px;
}
.site-panel__social a svg{
	fill: var(--color-white);
	transition: fill 0.2s;
}
.site-panel__social a:hover svg{
	fill: var(--color-blue);
}
.site-header {
	margin-top: 48px;
	padding: 14px 0;
}
.site-header__container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 50px;
}
.site-header__logo {
	width: 206px;
}
.site-header__logo a{
	display: block;
}
.site-header__info {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 80px;
}
.site-header__nav > ul{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}
.site-header__nav > ul > li{
	position: relative;
}
.site-header__nav > ul > li > a,
.site-header__nav > ul > li > button{
	font-size: 16px;
	line-height: 20px;
	color: var(--color-blue-dark);
	text-decoration: none;
	position: relative;
	transition: color 0.2s;
}
.site-header__nav > ul > li > a::before,
.site-header__nav > ul > li > button::before {
	position: absolute;
	inset: 0 -5px auto;
	content: attr(data-text);
	font-weight: bold;
	color: var(--color-blue-dark);
	white-space: nowrap;
	opacity: 0;
	text-align: center;
	transition: all 0.2s;
}
.site-header__nav > ul > li.menu-item-has-children > a::before,
.site-header__nav > ul > li.menu-item-has-children > button::before {
	right: 8px;
}
.site-header__nav > ul > li:hover > a,
.site-header__nav > ul > li:hover > button{
	color: transparent;
}
.site-header__nav > ul > li:hover > a::before,
.site-header__nav > ul > li:hover > button::before {
	opacity: 1;
}
.site-header__nav > ul > li > a > i,
.site-header__nav > ul > li > button > i{
	display: inline-block;
	line-height: 0;
	margin-left: 8px;
	transform: rotate(90deg);
}
.site-header__nav > ul > li > ul{
	visibility: hidden;
	opacity: 0;
	transform: translateY(-10px);
	background: var(--color-white);
	box-shadow: 0px 2px 20px rgba(48, 51, 61, 0.1);
	border-radius: 14px;
	position: absolute;
	top: calc(100% + 12px);
	left: -7px;
	z-index: 1;
	transition: all 0.2s;
}
.site-header__nav > ul > li:hover > ul::before,
.site-header__nav > ul > li a:focus-visible + ul::before,
.site-header__nav > ul > li button:focus-visible + ul::before,
.site-header__nav > ul > li > ul:has(a:focus-visible)::before{
	content: '';
	display: block;
	height: 12px;
	position: absolute;
	inset: -12px 0 auto;
}
.site-header__nav > ul > li:hover > ul,
.site-header__nav > ul > li a:focus-visible + ul,
.site-header__nav > ul > li button:focus-visible + ul,
.site-header__nav > ul > li > ul:has(a:focus-visible){
	visibility: visible;
	opacity: 1;
	transform: translateY(0px);
}
.site-header__nav > ul > li > ul > li > a,
.site-header__nav > ul > li > ul > li > button{
	display: block;
	padding: 14px 42px 14px 14px;
	border-radius: 14px;
	font-size: 16px;
	line-height: 20px;
	color: var(--color-blue-dark);
	text-decoration: none;
	white-space: nowrap;
	position: relative;
	transition: all 0.2s;
}
.site-header__nav > ul > li > ul > li > a::before,
.site-header__nav > ul > li > ul > li > button::before {
	position: absolute;
	inset: 14px 14px auto;
	content: attr(data-text);
	font-weight: bold;
	color: var(--color-blue-dark);
	white-space: nowrap;
	opacity: 0;
	text-align: left;
	transition: all 0.2s;
}
.site-header__nav > ul > li > ul > li > a:hover,
.site-header__nav > ul > li > ul > li > button:hover{
	color: transparent;
	background: var(--color-grey-light);
}
.site-header__nav > ul > li > ul > li > a:hover::before,
.site-header__nav > ul > li > ul > li > button:hover::before {
	opacity: 1;
}
.site-header__button .btn{
	height: 50px;
	padding: 15px 28px;
	font-size: 16px;
	line-height: 20px;
}
.touch-menu{
	display: none;
}
/* Sections
-----------------------------------------------------------------------------*/
.mainscreen {
	position: relative;
}
.mainscreen__bg {
	position: absolute;
	inset: 0;
}
.mainscreen__bg img{
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	object-fit: cover;
	object-position: left center;
}
.mainscreen__container {
	position: relative;
	display: flex;
}
.mainscreen__content {
	width: 43%;
	padding: 143px 0 174px;
}
.mainscreen__text {
	font-size: 20px;
	line-height: 25px;
	color: var(--color-blue-dark);
	margin-bottom: 40px;
}
.mainscreen__btns {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.mainscreen__image {
	width: 57%;
	position: relative;
}
.mainscreen__image img{
	position: absolute;
	inset: auto -40px 0 auto;
	max-width: 51vw;
}
.advantage {
	padding: 140px 0;
}
.advantage .toptitle,
.advantage .title_h2 {
	text-align: center;
}
.advantage__items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
	margin-top: 60px;
}
.advantage__item {
	display: block;
	text-decoration: none;
	padding: 40px;
	background: var(--color-grey-light);
	border-radius: 14px;
}
.advantage_grey{
	background: var(--color-grey-light);
}
.advantage_grey .advantage__item{
	background: var(--color-white);
}
.firm {
	padding: 140px 0;
	background: var(--color-grey-light);
}
.firm__container {
	display: flex;
	gap: 60px;
}
.firm__images {
	width: calc(55% - 30px);
	display: flex;
	gap: 30px;
}
.firm__images figure {
	width: calc(50% - 15px);
	background: var(--color-white);
	border-radius: 0 0 14px 14px;
}
.firm__images figure > span{
	display: block;
	padding-top: 101%;
	position: relative;
}
.firm__images figure img{
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	object-fit: cover;
}
.firm__images figcaption {
	padding: 28px 20px;
	text-align: center;
}
.firm__name {
	font-family: 'Playfair Display';
	font-weight: 700;
	font-size: 26px;
	line-height: 34px;
	margin-bottom: 14px;
}
.firm__status {
	font-weight: 800;
	font-size: 16px;
	line-height: 20px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-blue);
}
.firm__content {
	width: calc(45% - 30px);
	padding-right: 70px;
}
.firm-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 32px;
}
.firm-tags li{
	display: inline-flex;
	align-items: center;
	padding: 10px 12px 12px;
	background: var(--color-white);
	border-radius: 14px;
	gap: 8px;
	font-weight: 600;
	font-size: 16px;
	line-height: 20px;
	color: var(--color-black);
}
.firm-tags li i{
	display: block;
	width: 24px;
	height: 24px;
	line-height: 0;
}
.firm__btn {
	margin-top: 35px;
}
.elements {
	padding: 140px 0;
}
.description + .elements{
	padding-top: 0;
}
.elements .toptitle,
.elements .title_h2 {
	text-align: center;
}
.elements__items {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px;
	margin-top: 60px;
}
.elements__item {
	position: relative;
	padding: 40px 60px 40px 140px;
	background: var(--color-grey-light);
	border-radius: 14px;
}
.elements_number{
	counter-reset: item;
}
.elements_number .elements__item::before{
	counter-increment: item;
	content: counter(item, decimal-leading-zero);
	font-family: 'Playfair Display';
	font-weight: 700;
	font-size: 52px;
	line-height: 1;
	color: var(--color-blue);
	position: absolute;
	top: 34px;
	left: 40px;
}
.elements__icon{
	position: absolute;
	inset: 40px auto auto 40px;
}
.stories{
	padding: 140px 0;
	background: var(--color-grey-light);
}
.stories .toptitle,
.stories .title_h2 {
	text-align: center;
}
.stories__slider {
	margin-top: 40px;
}
.stories__container{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
}
.review-item {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 40px;
	background: var(--color-white);
	box-shadow: 0px 103px 41px rgba(201, 201, 201, 0.01), 0px 58px 35px rgba(201, 201, 201, 0.05), 0px 26px 26px rgba(201, 201, 201, 0.09), 0px 6px 14px rgba(201, 201, 201, 0.1);
	border-radius: 14px;
}
.review-item__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	margin-bottom: 29px;
}
.review-item__rate {
	flex-shrink: 0;
}
.review-item__sphere {
	padding: 8px 12px;
	background: rgba(56, 103, 246, 0.1);
	border-radius: 8px;
	font-weight: 800;
	font-size: 12px;
	line-height: 14px;
	text-transform: uppercase;
	color: var(--color-blue);
}
.review-item__text {
	font-style: italic;
	font-size: 18px;
	line-height: 24px;
	color: var(--color-blue-dark);
	margin-bottom: 30px;
}
.review-item__author{
	display: flex;
	align-items: center;
	gap: 12px;
}
.review-item__photo {
	display: flex;
	width: 58px;
	height: 58px;
	flex-shrink: 0;
}
.review-item__photo img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}
.review-item__name {
	font-weight: 700;
	font-size: 18px;
	line-height: 24px;
	color: var(--color-black);
	margin-bottom: 5px;
}
.review-item__date {
	font-weight: 600;
	font-size: 16px;
	line-height: 24px;
	color: #8D909C;
}
.slider-control {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 64px;
}
.slider-control__link a{
	display: inline-flex;
	align-items: center;
	gap: 18px;
	font-weight: 800;
	font-size: 18px;
	line-height: 23px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-blue);
	text-decoration: none;
	transition: color 0.2s;
}
.slider-control__link a:hover{
	color: var(--color-black);
}
.slider-control__link a i{
	display: inline-block;
}
.slider-control__link a i svg{
	fill: currentColor;
}
.slider-control__arrows {
	display: flex;
	align-items: center;
	gap: 8px;
}
.slider-control__prev,
.slider-control__next {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--color-grey-dark) !important;
	border-radius: 50%;
}
.slider-control__prev{
	transform: scaleX(-1);
}
.slider-control__prev:hover,
.slider-control__next:hover {
	background: #ECF0FF;
	border-color: #ECF0FF !important;
}
.slider-control__prev:hover svg,
.slider-control__next:hover svg{
	fill: var(--color-blue);
}
.swiper-button-disabled{
	pointer-events: none;
	opacity: 0.3;
}
.schedule{
	padding: 140px 0 200px;
}
.schedule .toptitle,
.schedule .title_h2 {
	text-align: center;
}
.schedule__container {
	display: flex;
	/* align-items: flex-start; */
	gap: 70px;
	margin-top: 60px;
}
.schedule-calendar {
	display: flex;
	width: calc(59.4% - 35px);
	background: var(--color-white);
	border-radius: 0px 14px 14px 0px;
}
.schedule-calendar__info {
	display: flex;
	flex-direction: column;
	width: 49%;
	background: var(--color-grey-light);
}
.schedule-calendar__logo{
	flex-shrink: 0;
	padding: 40px 40px 35px;
	border-bottom: 1px solid #E5E5E5;
}
.schedule-calendar__logo span{
	display: block;
	width: 206px;
	max-width: 100%;
}
.schedule-calendar__content {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 40px;
	padding: 40px;
}
.schedule-calendar__time {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	font-size: 14px;
	line-height: 18px;
	color: var(--color-blue);
	margin: 4px 0 15px;
}
.schedule-calendar__time i{
	flex-shrink: 0;
}
.schedule-calendar__time i svg{
	fill: var(--color-blue);
}
.schedule-calendar__bottom{
	font-weight: 600;
	font-size: 16px;
	line-height: 24px;
	color: #8D909C;
}
.schedule-calendar__widget {
	width: 51%;
	box-shadow: 0px -10px 20px rgba(201, 201, 201, 0.16), 0px 103px 41px rgba(201, 201, 201, 0.01), 0px 58px 35px rgba(201, 201, 201, 0.05), 0px 26px 26px rgba(201, 201, 201, 0.09), 0px 6px 14px rgba(201, 201, 201, 0.1);
	padding: 40px;
}
.schedule-calendar__widget .toptitle{
	text-align: left;
}
.schedule-calendar__code{
	margin-top: 12px;
}
.schedule-form {
	width: calc(40.6% - 35px);
	padding: 40px;
	background: var(--color-grey-light);
	border-radius: 14px;
}
.schedule-form__desc {
	font-size: 18px;
	line-height: 23px;
	color: #8D909C;
	margin-bottom: 30px;
}
.schedule-form__bottom {
  margin-top: 20px;
  font-size: 12px;
  line-height: 18px;
  font-style: italic;
  color: #8D909C;
}
.form-input {
	margin-bottom: 22px;
}
.form-input > label{
	display: block;
	font-weight: 600;
	font-size: 14px;
	line-height: 18px;
	margin-bottom: 12px;
}
.form-btn {
	margin-top: 36px;
}
.form-btn input{
	width: 100%;
}
.hero {
	position: relative;
	padding: 140px 0;
}
.hero__bg {
	position: absolute;
	inset: 0;
}
.hero__bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.hero__container{
	width: 1000px;
	max-width: 100%;
	margin: 0 auto;
	position: relative;
	text-align: center;
}
.hero__text {
	width: 760px;
	max-width: 100%;
	margin: 0 auto;
	font-size: 20px;
	line-height: 25px;
	color: var(--color-blue-dark);
}
.about-founders {
	padding: 140px 0;
}
.about-founders .toptitle,
.about-founders .title_h2 {
	text-align: center;
}
.about-founders .tabs__list {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin: 28px 0 60px;
}
.about-founders .tabs__list button{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 15px 40px;
	min-width: 260px;
	height: 68px;
	border: 1px solid var(--color-grey-dark);
	border-radius: 45px;
	font-weight: 700;
	font-size: 18px;
	line-height: 23px;
	color: var(--color-black);
}
.about-founders .tabs__list button[aria-selected="true"]{
	border-color: var(--color-blue);
	background: var(--color-blue);
	color: var(--color-white);
}
.about-founders .tabs__list button[aria-selected="false"]:hover{
	border-color: var(--color-black);
}
.about-founders__container {
	display: flex;
	gap: 60px
}
.about-founders__image {
	width: calc(48% - 30px);
}
.about-founders__image img{
	border-radius: 22px;
}
.about-founders__content {
	width: calc(52% - 30px);
	padding: 21px 135px 0 0;
}
.about-founders__name {
	font-family: 'Playfair Display';
	font-weight: 700;
	font-size: 40px;
	line-height: 34px;
	margin-bottom: 17px;
}
.about-founders__content .toptitle{
	text-align: left;
	margin-bottom: 31px;
}
.about-founders .firm-tags li{
	background: var(--color-grey-light);
}
.about-founders__btn {
	margin-top: 39px;
}
.about-aligment {
	padding: 140px 0;
}
.about-founders + .about-aligment{
	padding-top: 0;
}
.about-aligment__container {
	display: flex;
	align-items: flex-start;
	gap: 60px;
}
.about-aligment__content {
	width: calc(48% - 30px);
	padding-right: 75px;
}
.about-aligment .title_h2{
	margin-bottom: 27px;
}
.about-aligment__bottom {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	border-top: 1px solid var(--color-grey-dark);
	margin-top: 29px;
	padding-top: 35px;
}
.about-aligment__contact {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	padding-right: 40px;
	border-right: 1px solid #D6DCE9;
}
.about-aligment__contact a{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 18px;
	line-height: 23px;
	text-decoration: none;
}
.about-aligment__contact a i{
	line-height: 0;
	transform: translateY(1px);
}
.about-aligment__contact a i svg{
	fill: var(--color-blue);
}
.about-aligment__social {
	display: flex;
	gap: 20px;
}
.about-aligment__social a svg{
	fill: var(--color-blue);
	transition: fill 0.2s;
}
.about-aligment__social a:hover svg{
	fill: #000;
}
.about-aligment__items {
	width: calc(52% - 30px);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px;
	margin-top: 38px;
}
.about-aligment__item {
	padding: 40px;
	background: var(--color-grey-light);
	border-radius: 14px;
}
.banner {
	padding: 140px 0;
}
.about-aligment + .banner{
	padding-top: 0;
}
.banner__block {
	padding: 84px 80px 77px;
	background: var(--color-black);
	border-radius: 22px;
	color: var(--color-white);
	text-align: center;
}
.banner__block .text-body{
	width: 680px;
	max-width: 100%;
	margin: 0 auto;
	color: #868B98;
}
.banner__btn {
	margin-top: 39px;
}
.description {
	padding: 130px 0;
}
.description__contaner {
	display: flex;
	gap: 60px;
}
.description__head {
	width: calc(56% - 30px);
}
.description__content {
	width: calc(44% - 30px);
}
.faq {
	padding: 140px 0;
}
.faq .toptitle,
.faq .title_h2 {
	text-align: center;
}
.faq__items {
	width: 1260px;
	max-width: 100%;
	margin: 58px auto 0;
	border-top: 1px solid var(--color-grey-dark);
}
.faq__item{
	padding: 22px 0;
	border-bottom: 1px solid var(--color-grey-dark);
}
.faq__question {
	width: 100%;
	padding: 18px 44px 18px 7px !important;
	font-family: 'Playfair Display' !important;
	position: relative;
	text-align: left;
	margin: 0;
}
.faq__question i{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--color-grey-dark);
	border-radius: 50%;
	line-height: 0;
	position: absolute;
	top: 17px;
	right: 0px;
	transform: rotate(90deg);
	transition: all 0.3s;
}
.faq__item.open .faq__question i{
	transform: rotate(-90deg);
	background: #ECF0FF;
	border-color: #ECF0FF;
	color: var(--color-blue);
}
.faq__item .faq__question i svg{
	fill: currentColor;
}
.faq__answer {
	display: none;
	padding: 0 44px 20px 7px;
}
.reviews {
	padding: 140px 0 200px;
	background: var(--color-grey-light);
}
.reviews .toptitle,
.reviews .title_h2 {
	text-align: center;
}
.reviews__container {
	display: flex;
	align-items: flex-start;
	gap: 40px;
	margin-top: 60px;
}
.reviews__filter {
	width: calc(35.3% - 20px);
	padding: 40px;
	background: var(--color-white);
	box-shadow: 0px 103px 41px rgba(201, 201, 201, 0.01), 0px 58px 35px rgba(201, 201, 201, 0.05), 0px 26px 26px rgba(201, 201, 201, 0.09), 0px 6px 14px rgba(201, 201, 201, 0.1);
	border-radius: 14px;
}
.reviews__filter .toptitle{
	text-align: left;
	margin-bottom: 8px;
}
.reviews__rate {
	font-weight: 700;
	font-size: 28px;
	line-height: 35px;
	text-transform: uppercase;
	color: var(--color-blue-dark);
	margin-bottom: 23px;
}
.reviews__rate span{
	font-family: 'Playfair Display';
	font-style: normal;
	font-weight: 800;
	font-size: 96px;
	line-height: 1;
	color: var(--color-black);
}
.reviews__stars {
	--star-size: 36px;
	margin-bottom: 16px;
}
.reviews__number {
	font-weight: 500;
	font-size: 16px;
	line-height: 20px;
	letter-spacing: 0.06em;
	color: #8D909C;
	margin-bottom: 28px;
}
.reviews__form{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.reviews__form label{
	display: block;
	width: 100%;
	cursor: pointer;
	border-radius: 8px;
}
.reviews__form label input{
	opacity: 0;
	position: absolute;
}
.reviews__form label > span{
	display: flex;
	align-items: center;
	padding: 15px 22px;
	min-height: 68px;
	background: var(--color-grey-light);
	border-radius: 8px;
	font-weight: 700;
	font-size: 18px;
	line-height: 23px;
	color: var(--color-black);
	position: relative;
	user-select: none;
}
.reviews__form label > span i{
	display: block;
	padding: 6px 8px;
	background: rgba(150, 160, 180, 0.12);
	border-radius: 30px;
	position: absolute;
	inset: calc(50% - 17px) 22px auto auto;
	color: var(--color-black);
}
.reviews__form label > input:checked + span{
	background: var(--color-blue);
	color: var(--color-white);
}
.reviews__form label > input:checked + span i{
	background: rgba(255,255,255,.12);
	color: var(--color-white);
}
.reviews__btn{
	margin-top: 41px;
}
.reviews__btn .btn{
	width: 100%;
}
.reviews__main{
	width: calc(64.7% - 20px);
	position: relative;
}
.reviews__loader{
	position: absolute;
	inset: 0;
	z-index: 5;
	display: none;
	align-items: flex-start;
	justify-content: center;
	padding-top: 80px;
	background: rgba(255, 255, 255, 0.6);
	border-radius: 14px;
}
.reviews__main.is-loading .reviews__loader{
	display: flex;
}
.reviews__spinner{
	width: 44px;
	height: 44px;
	border: 4px solid rgba(56, 103, 246, 0.2);
	border-top-color: var(--color-blue);
	border-radius: 50%;
	animation: reviews-spin .8s linear infinite;
}
@keyframes reviews-spin{
	to { transform: rotate(360deg); }
}
.reviews__empty{
	padding: 40px;
	background: var(--color-grey-light);
	border-radius: 14px;
	font-weight: 600;
	color: var(--color-blue-dark);
}
.reviews__items{
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.reviews__more{
	margin-top: 30px;
	text-align: center;
}
.contacts {
	padding: 140px 0;
	background: var(--color-grey-light);
}
.contacts .toptitle,
.contacts .title_h2 {
	text-align: center;
}
.contacts__desc{
	width: 900px;
	max-width: 100%;
	margin: 28px auto;
	text-align: center;
}
.contacts__items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
	margin-top: 60px;
}
.contacts__item {
	padding: 40px;
	background: var(--color-white);
	border-radius: 14px;
}
.contacts__text{
	font-size: 16px;
	line-height: 20px;
	margin: -5px 0 13px;
	color: var(--color-blue-dark);
}
.contacts__value{
	font-weight: 600;
	font-size: 18px;
	line-height: 23px;
}
.page-content{
	padding: 50px 0 100px;
}
/* Footer
-----------------------------------------------------------------------------*/
.site-footer {
	flex: 0 0 auto;
	position: relative;
	background: var(--color-black);
	color: var(--color-white);
}
.site-footer__container {
	display: flex;
}
.footer-map {
	width: 50%;
}
.footer-map__container{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	margin-left: calc((100vw - (1680px - 120px)) / -2);
	position: relative;
	padding-top: 40px;
}
.footer-map__bg {
	position: absolute;
	inset: 0;
}
.footer-map__bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.footer-map__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}
.footer-map__marker {
	margin-bottom: 29px;
}
.footer-map__marker svg{
	fill: var(--color-blue);
}
.footer-map__block {
	width: 364px;
	padding: 30px;
	background: var(--color-white);
	border-radius: 14px;
	text-align: center;
	position: relative;
}
.footer-map__block:before{
	content: '';
	display: block;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
	border-bottom: 20px solid var(--color-white);
	position: absolute;
	inset: -19px calc(50% - 12px) auto auto
}
.footer-map__title {
	font-family: 'Playfair Display';
	font-weight: 700;
	font-size: 18px;
	line-height: 24px;
	color: var(--color-black);
	margin-bottom: 10px;
}
.footer-map__text {
	font-size: 14px;
	line-height: 18px;
	color: #8D909C;
	margin-bottom: 18px;
}
.footer-map__link a{
	display: inline-flex;
	align-items: center;
	gap: 14px;
	font-weight: 800;
	font-size: 14px;
	line-height: 18px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-blue);
	text-decoration: none;
	transition: color 0.2s;
}
.footer-map__link a:hover{
	color: var(--color-black);
}
.footer-map__link a svg{
	fill: currentColor;
}
.site-footer__content {
	width: 50%;
	padding: 38px 0 60px 60px;
}
.site-footer__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 58px;
}
.site-footer__logo {
	width: 185px;
}
.site-footer__nav > ul{
	display: flex;
	flex-wrap: wrap;
	gap: 25px;
}
.site-footer__nav > ul > li{
	position: relative;
}
.site-footer__nav > ul > li > a,
.site-footer__nav > ul > li > button{
	font-size: 14px;
	line-height: 18px;
	color: var(--color-white);
	text-decoration: none;
	position: relative;
	transition: color 0.2s;
}
.site-footer__nav > ul > li > a::before,
.site-footer__nav > ul > li > button::before {
	position: absolute;
	inset: 0 -5px auto;
	content: attr(data-text);
	font-weight: bold;
	color: var(--color-white);
	white-space: nowrap;
	opacity: 0;
	text-align: center;
	transition: all 0.2s;
}
.site-footer__nav > ul > li.menu-item-has-children > a::before,
.site-footer__nav > ul > li.menu-item-has-children > button::before {
	right: 8px;
}
.site-footer__nav > ul > li:hover > a,
.site-footer__nav > ul > li:hover > button{
	color: transparent;
}
.site-footer__nav > ul > li:hover > a::before,
.site-footer__nav > ul > li:hover > button::before {
	opacity: 1;
}
.site-footer__nav > ul > li > a i,
.site-footer__nav > ul > li > button i{
	display: inline-block;
	line-height: 0;
	margin-left: 8px;
	transform: rotate(90deg);
}
.site-footer__nav > ul > li > a i svg,
.site-footer__nav > ul > li > button i svg{
	fill: var(--color-white);
}
.site-footer__nav > ul > li > ul{
	visibility: hidden;
	opacity: 0;
	transform: translateY(-10px);
	background: var(--color-white);
	box-shadow: 0px 2px 20px rgba(48, 51, 61, 0.1);
	border-radius: 14px;
	position: absolute;
	top: calc(100% + 12px);
	right: -7px;
	z-index: 1;
	transition: all 0.2s;
}
.site-footer__nav > ul > li:hover > ul::before,
.site-footer__nav > ul > li a:focus-visible + ul::before,
.site-footer__nav > ul > li button:focus-visible + ul::before,
.site-footer__nav > ul > li > ul:has(a:focus-visible)::before{
	content: '';
	display: block;
	height: 12px;
	position: absolute;
	inset: -12px 0 auto;
}
.site-footer__nav > ul > li:hover > ul,
.site-footer__nav > ul > li a:focus-visible + ul,
.site-footer__nav > ul > li button:focus-visible + ul,
.site-footer__nav > ul > li > ul:has(a:focus-visible){
	visibility: visible;
	opacity: 1;
	transform: translateY(0px);
}
.site-footer__nav > ul > li > ul > li > a{
	display: block;
	padding: 14px 42px 14px 14px;
	border-radius: 14px;
	font-size: 16px;
	line-height: 20px;
	color: var(--color-blue-dark);
	text-decoration: none;
	white-space: nowrap;
	position: relative;
	transition: all 0.2s;
}
.site-footer__nav > ul > li > ul > li > a::before,
.site-footer__nav > ul > li > ul > li > button::before {
	position: absolute;
	inset: 14px 14px auto;
	content: attr(data-text);
	font-weight: bold;
	color: var(--color-blue-dark);
	white-space: nowrap;
	opacity: 0;
	text-align: left;
	transition: all 0.2s;
}
.site-footer__nav > ul > li > ul > li > a:hover,
.site-footer__nav > ul > li > ul > li > button:hover{
	color: transparent;
	background: var(--color-grey-light);
}
.site-footer__nav > ul > li > ul > li > a:hover::before,
.site-footer__nav > ul > li > ul > li > button:hover::before {
	opacity: 1;
}
.site-footer__nav > ul > li > ul > li > a:hover{
	background: var(--color-grey-light);
}
.site-footer__button .btn{
	height: 50px;
	padding: 15px 28px;
	font-size: 16px;
	line-height: 20px;
}
.site-footer__main {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.footer-contact__item {
	width: 260px;
	max-width: 100%;
}
.footer-contact__item:not(:last-child){
	margin-bottom: 30px;
}
.footer-contact__label {
	position: relative;
	padding-left: 29px;
	font-weight: 700;
	font-size: 14px;
	line-height: 18px;
	color: var(--color-white);
	position: relative;
	margin-bottom: 8px;
}
.footer-contact__label i{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
.footer-contact__label i svg{
	fill: var(--color-blue);
}
.footer-contact__value {
	padding-left: 29px;
	font-size: 14px;
	line-height: 18px;
	color: #868B98;
}
.footer-contact__value a{
	color: #868B98;
	text-decoration: none;
	transition: color 0.2s;
}
.footer-contact__value a:hover{
	color: var(--color-white);
}
.footer-contact__social {
	display: flex;
	gap: 20px;
	line-height: 0;
}
.footer-contact__social a svg{
	fill: var(--color-white);
	transition: fill 0.2s;
}
.footer-contact__social a:hover svg{
	fill: var(--color-blue);
}
.footer-bottom {
	padding: 26px 0;
	background: #050A19;
	font-size: 14px;
	line-height: 18px;
	color: #868B98;
}
.footer-bottom__container{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
}
.footer-bottom__container a{
	color: #868B98;
	text-decoration: none;
	transition: color 0.2s;
}
.footer-bottom__container a:hover{
	color: var(--color-white);
}
.footer-bottom__row{
	display: flex;
	align-items: center;
	gap: 25px;
}
/* Mobile
-----------------------------------------------------------------------------*/
.mobile-menu-open{
	overflow: hidden;
}
.mobile-panel-overlay{
	visibility: hidden;
	opacity: 0;
	position: fixed;
	inset: 0;
	background: rgba(1, 5, 17, 0.8);
	backdrop-filter: blur(1px);
	z-index: 89;
	overflow-y: scroll;
	transition: all 0.2s;
}
.mobile-menu-open .mobile-panel-overlay{
	visibility: visible;
	opacity: 1;
}
.mobile-panel{
	top: 0;
	right: 0;
	transform: translateX(300px);
	opacity: 0;
	width: 274px;
	max-width: 95%;
	height: 100%;
	position: fixed;
	padding: 68px 30px 30px;
	background: var(--color-white);
	transition: all 0.2s ease-out 0s;
	overflow-y: auto;
	z-index: 90;
}
.mobile-menu-open .mobile-panel{
	transform: translateX(0px);
	opacity: 1;
}
.mobile-panel__close{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 34px;
	height: 34px;
	cursor: pointer;
	margin-bottom: 39px !important;
}
.mobile-panel__close svg{
	fill: #070758;
}
.mobile-menu{
	margin-bottom: 15px;
}
.mobile-menu > ul > li{
	margin-bottom: 28px;
}
.mobile-menu > ul > li > a,
.mobile-menu > ul > li > button{
	font-size: 16px;
	line-height: 20px;
	color: var(--color-blue-dark);
	text-decoration: none;
}
.mobile-menu > ul > li > a > i,
.mobile-menu > ul > li > button > i{
	display: inline-block;
	line-height: 0;
	margin-left: 10px;
	transform: rotate(90deg);
}
.mobile-menu > ul > li > a > i svg,
.mobile-menu > ul > li > button > i svg{
	fill: var(--color-blue-dark);
	transition: all 0.3s;
}
.mobile-menu > ul > li > a.opened > i svg,
.mobile-menu > ul > li > button.opened > i svg{
	transform: rotate(180deg);
}
.mobile-menu > ul > li > ul{
	display: none;
	padding: 28px 0 0 20px;
}
.mobile-menu > ul > li > ul > li:not(:last-child){
	margin-bottom: 14px;
}
.mobile-menu > ul > li > ul > li > a{
	font-size: 16px;
	line-height: 20px;
	color: var(--color-blue-dark);
	text-decoration: none;
}
.mobile-panel__btn{
	padding: 40px 30px 0;
	border-top: 1px solid var(--color-grey-dark);
	margin: 0 -30px;
}
.mobile-panel__btn .btn{
	height: 44px;
	padding: 15px 58px;
	font-size: 14px;
	line-height: 18px;
}
/* Popup
-----------------------------------------------------------------------------*/
.popup{
	visibility: hidden;
	opacity: 0;
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.5);
	z-index: 100;
	overflow-y: auto;
	transition: all 0.2s;
	scrollbar-width: none;
}
.popup::-webkit-scrollbar{
	display: none;
}
.popup.opened{
	visibility: visible;
	opacity: 1;
}
.popup__overlay{
	position: absolute;
	inset: 0;
	padding-top: 100px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
}
.popup__overlay-close{
	position: fixed;
	inset: 0;
	z-index: 101;
}
.popup__window{
	position: relative;
	width: 640px;
	box-sizing: border-box;
	padding: 60px;
	background: var(--color-white);
	box-shadow: 0px 103px 41px rgba(201, 201, 201, 0.01), 0px 58px 35px rgba(201, 201, 201, 0.05), 0px 26px 26px rgba(201, 201, 201, 0.09), 0px 6px 14px rgba(201, 201, 201, 0.1);
	border-radius: 22px;
	z-index: 102;
	transform: scale(1.3);
	transition:  all 0.3s ease-out 0s;
	opacity: 0;
}
.popup__window:after{
	content: '';
	display: block;
	position: absolute;
	inset: auto 0 -30px;
	width: 100%;
	height: 30px;
}
.popup__window.opened{
	opacity: 1;
	transform: scale(1);
}
.popup__close{
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 20px;
	right: 20px;
	cursor: pointer;
}
.popup__close svg{
	fill: #8D909C;
}
.popup__form{
	margin-top: 40px;
}
/* Redactor Styles
-----------------------------------------------------------------------------*/
.alignnone {
	margin: 5px 20px 20px 0;
}
.aligncenter, div.aligncenter {
	margin: auto;
	text-align: center;
}
.alignright {
	float:right;
	margin: 5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin: 5px 20px 20px 0;
}
.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}
a img.alignright {
	float:right;
	margin: 5px 0 20px 20px;
}
a img.alignnone {
	margin: 5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin: 5px 20px 20px 0;
}
a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto
}
.wp-caption {
	max-width: 100%;
	padding: 0 0 10px;
	text-align: center;
	margin-top:20px !important;
	margin-bottom:20px !important;
}
.wp-caption.alignnone {
	margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}
.wp-caption img {
	border:3px solid #dbdddd;
	height: auto;
	margin:0 0 5px 0;
	max-width: 98.5%;
	padding:0;
	width: auto;
}
.wp-caption p.wp-caption-text {
	font-size:12pt;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.only-tablet,
.only-mobile{
	display: none;
}
.wpcf7-not-valid-tip{
	display: none !important;
}
.wpcf7-not-valid{
	border-color: #dc3232 !important;
	background-color: rgba(220, 50, 50, 0.05) !important;
}
.wpcf7-response-output{
	margin: 10px 0 0 !important;
}
.wpcf7-spinner{
	margin: 0;
	position: absolute;
	right: 10px;
	bottom: 10px;
}
/* Responsive
-----------------------------------------------------------------------------*/
@media only screen and (max-width: 14000px){
	.title_h1{
		font-size: 70px;
		line-height: 70px;
	}
	.title_h2,.text-body h2{
		font-size: 50px;
		line-height: 56px;
	}
	.title_h3,.text-body h3{
		font-size: 28px;
		line-height: 37px;
	}
}
@media only screen and (max-width: 1190px){
	.title_h1{
		font-size: 64px;
		line-height: 64px;
	}
	.title_h2,.text-body h2{
		font-size: 42px;
		line-height: 56px;
	}
	.text-body {
		font-size: 16px;
		line-height: 20px;
	}
	.icon{
		margin-bottom: 20px;
	}
	.btn{
		padding: 15px 40px;
		height: 64px;
		font-size: 16px;
		line-height: 20px;
	}
	input[type=text], input[type=email], input[type=password], input[type=search], input[type=tel], input[type=number],select{
		height: 64px;
		font-size: 14px;
		line-height: 18px;
	}
	textarea{
		font-size: 14px;
		line-height: 18px;
	}
	.site-panel__contact {
		gap: 21px;
	}
	.site-panel__contact a{
		font-size: 12px;
		line-height: 15px;
	}
	.site-panel__contact a i{
		transform: translateY(-1px);
	}
	.site-header{
		padding: 13px 0;
	}
	.site-header__nav{
		display: none;
	}
	.site-header__logo {
		width: 188px;
	}
	.site-header__info {
		gap: 20px;
	}
	.site-header__button .btn {
		height: 44px;
		padding: 15px 32px;
		font-size: 14px;
		line-height: 18px;
	}
	.touch-menu{
		display: block;
		padding: 60px 0;
	}
	.mainscreen__container{
		flex-direction: column;
		gap: 29px;
		padding: 60px 0 0;
	}
	.mainscreen__content{
		width: 100%;
		padding: 0;
	}
	.mainscreen__text{
		width: 500px;
		max-width: 100%;
		font-size: 18px;
		line-height: 23px;
	}
	.mainscreen__image{
		width: calc(100% + 120px);
		padding: 0;
		margin: 0 -60px;
	}
	.mainscreen__image img{
		width: 805px;
		position: static;
		max-width: 100%;
		margin: 0 auto;
	}
	.advantage {
		padding: 100px 0;
	}
	.advantage__items {
		grid-template-columns: repeat(2, minmax(0px, 1fr));
		gap: 20px;
		margin-top: 40px;
	}
	.advantage__item {
		padding: 30px 30px 40px;
	}
	.advantage__item:nth-child(odd):last-child{
		grid-column: span 2;
	}
	.firm{
		padding: 100px 0;
	}
	.firm__container{
		flex-direction: column;
		gap: 40px;
	}
	.firm__images{
		width: 100%;
		padding: 0;
		gap: 20px;
	}
	.firm__images figure {
		width: calc(50% - 10px);
		border-radius: 14px;
		overflow: hidden;
	}
	.firm__status {
		font-size: 14px;
		line-height: 18px;
	}
	.firm__content{
		width: 100%;
		padding: 0;
	}
	.firm-tags{
		margin-top: 30px;
	}
	.firm-tags li{
		font-size: 14px;
		line-height: 18px;
		padding: 8px 12px 10px;
	}
	.firm__btn {
		margin-top: 40px;
	}
	.elements {
		padding: 100px 0;
	}
	.elements__items{
		grid-template-columns: repeat(1, minmax(0, 1fr));
		gap: 20px;
		margin-top: 40px;
	}
	.elements__item {
		padding: 30px 60px 40px 120px;
	}
	.elements_number .elements__item::before {
		top: 25px;
		left: 30px;
	}
	.elements__icon {
		inset: 30px auto auto 30px;
	}
	.stories {
		padding: 100px 0;
	}
	.stories__container{
		grid-template-columns: repeat(1, minmax(0px, 1fr));
		gap: 20px;
	}
	.review-item {
		padding: 30px;
	}
	.review-item__head{
		margin-bottom: 21px;
	}
	.review-item__text{
		font-size: 16px;
		line-height: 22px;
		margin-bottom: 20px;
	}
	.review-item__name{
		font-size: 16px;
		line-height: 24px;
		margin-bottom: 3px;
	}
	.review-item__date{
		font-size: 14px;
		line-height: 24px;
	}
	.slider-control {
		margin-top: 40px;
	}
	.schedule{
		padding: 100px 0;
	}
	.schedule__container{
		flex-direction: column;
		margin-top: 40px;
		gap: 40px;
	}
	.schedule-calendar{
		width: 100%;
	}
	.schedule-calendar__logo {
		padding: 29px 29px 25px;
	}
	.schedule-calendar__logo span {
		width: 200px;
	}
	.schedule-calendar__content{
		padding: 30px;
	}
	.schedule-calendar__widget{
		padding: 29px;
	}
	.schedule-calendar__bottom{
		font-size: 14px;
		line-height: 24px;
	}
	.schedule-calendar__time i{
		transform: translateY(2px);
	}
	.schedule-form{
		width: 100%;
		padding: 30px;
	}
	.schedule-form__desc{
		font-size: 16px;
		line-height: 20px;
		margin-bottom: 20px;
	}
	.form-input > label{
		font-size: 12px;
		line-height: 15px;
	}
	.hero {
		padding: 100px 0;
	}
	.hero__text {
		font-size: 18px;
		line-height: 23px;
	}
	.about-founders{
		padding: 100px 0;
	}
	.about-founders .tabs__list{
		margin: 28px 0 41px;
	}
	.about-founders .tabs__list button{
		height: 64px;
		font-size: 16px;
		line-height: 20px;
	}
	.about-founders__container{
		flex-direction: column;
		gap: 28px;
	}
	.about-founders__image{
		width: 100%;
	}
	.about-founders__content{
		width: 100%;
		padding: 0;
	}
	.about-founders__name{
		font-size: 32px;
		line-height: 43px;
	}
	.about-founders__btn .btn{
		width: 100%;
	}
	.about-aligment{
		padding: 100px 0;
	}
	.about-aligment__container{
		flex-direction: column;
		gap: 40px;
	}
	.about-aligment__content{
		width: 100%;
		padding: 0;
	}
	.about-aligment .title_h2 {
		margin-bottom: 19px;
	}
	.about-aligment__items{
		width: 100%;
		padding: 0;
		margin: 0;
		gap: 20px;
	}
	.about-aligment__item {
		padding: 30px 30px 40px;
	}
	.banner__block {
		padding: 61px 80px;
	}
	.description{
		padding: 100px 0;
	}
	.description__contaner{
		flex-direction: column;
		gap: 0px;
	}
	.description__head,
	.description__content{
		width: 100%;
	}
	.faq{
		padding: 100px 0;
	}
	.faq__items {
		margin: 39px auto 0;
	}
	.faq__question {
		padding: 8px 70px 8px 0 !important;
	}
	.faq__answer {
		padding: 10px 0 7px 0;
		line-height: 24px;
	}
	.reviews {
		padding: 100px 0 140px;
	}
	.reviews__container{
		flex-direction: column;
		margin-top: 40px;
	}
	.reviews__filter{
		width: 100%;
		padding: 30px;
	}
	.reviews__filter .toptitle{
		margin-bottom: 0;
	}
	.reviews__rate{
		margin-bottom: 12px;
	}
	.reviews__stars {
		margin-bottom: 9px;
	}
	.reviews__number{
		font-size: 14px;
		line-height: 18px;
		margin-bottom: 21px;
	}
	.reviews__form label{
		width: calc(50% - 6px);
	}
	.reviews__form label > span{
		font-size: 16px;
		line-height: 20px;
	}
	.reviews__main{
		width: 100%;
	}
	.reviews__items{
		gap: 20px;
	}
	.contacts {
		padding: 100px 0;
	}
	.contacts__desc{
		margin: 18px 0 0;
	}
	.contacts__items{
		margin-top: 40px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
	.contacts__item {
		padding: 30px 30px 40px;
	}
	.contacts__items:has(.contacts__item:nth-child(odd):last-child) .contacts__item:first-child{
		grid-column: span 2;
	}
	.contacts__text{
		margin: 0px 0 19px;
	}

	.site-footer__container{
		flex-direction: column;
	}
	.footer-map{
		width: calc(100% + 120px);
		margin: 0 -60px;
		height: 332px;
	}
	.footer-map__container{
		margin: 0;
		padding-top: 0;
	}
	.footer-map__marker{
		width: 42px;
		margin-bottom: 24px;
	}
	.footer-map__block{
		width: 294px;
		padding: 22px 23px;
	}
	.footer-map__block:before {
		inset: -12px calc(50% - 12px) auto auto;
	}
	.footer-map__title{
		font-size: 16px;
		line-height: 21px;
		margin-bottom: 6px;
	}
	.footer-map__text{
		font-size: 12px;
		line-height: 15px;
		margin-bottom: 11px;
	}
	.footer-map__link a{
		font-size: 12px;
		line-height: 15px;
	}
	.footer-map__link a i{
		width: 7px;
	}
	.site-footer__content{
		width: 100%;
		padding: 16px 0 40px;
	}
	.site-footer__head {
		margin-bottom: 41px;
	}
	.footer-contact__item{
		width: 270px;
	}
	.footer-contact__item:not(:last-child) {
		margin-bottom: 22px;
	}
	.footer-contact__label{
		font-size: 12px;
		line-height: 15px;
	}
	.footer-contact__label i {
		top: -2px;
	}
	.footer-contact__value{
		font-size: 12px;
		line-height: 15px;
	}
	.footer-bottom{
		padding: 20px 0;
		font-size: 12px;
		line-height: 15px;
	}
	.popup__window{
		width: 600px;
		padding: 40px;
	}
	.only-desktop{
		display: none;
	}
	.only-tablet{
		display: block;
	}
}
@media only screen and (max-width: 767px){
	.container{
		padding: 0 20px;
	}
	.toptitle{
		font-size: 16px;
		line-height: 20px;
	}
	.title_h1 {
		font-size: 52px;
		line-height: 52px;
		margin-bottom: 21px;
	}
	.title_h2,.text-body h2{
		font-size: 34px;
		line-height: 45px;
	}
	.title_h3,.text-body h3{
		font-size: 22px;
		line-height: 29px;
	}
	.icon {
		width: 64px;
		height: 64px;
	}
	.site-panel {
		padding: 14px 0 16px;
	}
	.site-panel__contact a{
		gap: 5px;
	}
	.site-panel__contact a i,
	.site-panel__social a{
		width: 18px;
		height: 18px;
	}
	.site-panel__social{
		gap: 8px
	}
	.site-header__container {
		gap: 10px
	}
	.site-header__logo {
		width: 164px;
		}
	.site-header__info {
		gap: 8px;
	}
	.site-header__button .btn {
		padding: 15px 18px;
	}
	.mainscreen__text{
		margin-bottom: 32px;
	}
	.mainscreen__btns {
		gap: 8px;
	}
	.mainscreen__btns .btn{
		width: 100%;
	}
	.mainscreen__image {
		display: flex;
		justify-content: center;
		width: calc(100% + 40px);
		margin: 0 -20px;
	}
	.mainscreen__image img{
		max-width: 663px;
		transform: translateX(-3%);
	}
	.advantage,
	.firm,
	.elements,
	.stories,
	.schedule,
	.hero,
	.banner,
	.description,
	.faq,
	.contacts,
	.about-founders{
		padding: 60px 0;
	}
	.advantage__items{
		margin-top: 31px;
		grid-template-columns: repeat(1, minmax(0px, 1fr));
		gap: 8px;
	}
	.advantage__item{
		grid-column: auto !important;
		padding: 20px 20px 30px;
	}
	.firm__container {
		gap: 34px;
	}
	.firm__images{
		flex-direction: column;
		gap: 8px
	}
	.firm__images figure{
		width: 100%;
	}
	.firm-tags {
		margin-top: 19px;
		gap: 6px;
	}
	.firm-tags li{
		justify-content: center;
		width: 100%;
	}
	.firm__btn {
		margin-top: 32px;
	}
	.firm__btn .btn{
		width: 100%;
	}
	.elements__items{
		margin-top: 32px;
		gap: 8px;
	}
	.elements__item {
		padding: 15px 20px 30px 20px;
	}
	.elements_number .elements__item::before{
		display: block;
		position: static;
		margin-bottom: 22px;
	}
	.elements__icon{
		position: static;
	}
	.stories__slider {
		margin-top: 32px;
	}
	.stories__container{
		gap: 8px;
	}
	.slider-control__link a{
		font-size: 16px;
		line-height: 20px;
	}
	.slider-control {
		margin-top: 33px;
	}
	.schedule__container{
		margin-top: 32px;
		gap: 30px;
	}
	.schedule-calendar{
		flex-direction: column;
	}
	.schedule-calendar__info{
		width: 100%;
	}
	.schedule-calendar__logo {
		padding: 20px 19px 15px;
	}
	.schedule-calendar__widget{
		width: 100%;
		padding: 34px 20px 20px;
	}
	.schedule-calendar__content {
		padding: 20px 20px 30px;
	}
	.schedule-calendar .title_h3,
	.schedule-form .title_h3{
		font-size: 28px;
		line-height: 37px;
	}
	.schedule-calendar__time{
		margin-bottom: 17px;
	}
	.schedule-calendar .text-body{
		line-height: 22px;
	}
	.schedule-calendar__bottom{
		display: none;
	}
	.schedule-form {
		padding: 35px 20px 20px;
	}
	.form-btn {
		margin-top: 28px;
	}
	.about-founders .tabs__list {
		margin: 20px 0 32px;
	}
	.about-founders .tabs__list button{
		min-width: 0;
		padding: 15px 25px;
	}
	.about-founders__container {
		gap: 19px;
	}
	.about-founders__name{
		font-size: 28px;
		line-height: 37px;
		margin-bottom: 12px;
	}
	.about-founders__content .toptitle {
		margin-bottom: 21px;
	}
	.about-founders__btn {
		margin-top: 32px;
	}
	.about-aligment {
		padding: 100px 0 60px;
	}
	.about-aligment__container {
		gap: 30px;
	}
	.about-aligment__bottom {
		flex-direction: column;
		gap: 10px;
		margin-top: 18px;
		padding-top: 18px;
	}
	.about-aligment__contact {
		flex-direction: column;
		gap: 8px;
	}
	.about-aligment__items{
		grid-template-columns: repeat(1, minmax(0, 1fr));
		gap: 8px;
	}
	.about-aligment__item {
		padding: 20px 20px 30px;
	}
	.about-aligment__item .title_h3{
		font-size: 28px;
		line-height: 37px;
	}
	.banner__block {
		padding: 33px 20px 20px;
	}
	.banner__btn {
		margin-top: 30px;
	}
	.banner__btn .btn {
		width: 100%;
		padding: 15px 20px;
	}
	.faq__items {
		margin: 30px auto 0;
	}
	.faq__item {
		padding: 22px 0 18px;
	}
	.reviews{
		padding: 60px 0 100px;
	}
	.reviews__container {
		margin-top: 30px;
		gap: 32px;
	}
	.reviews__filter {
		padding: 34px 20px 20px;
	}
	.reviews__rate{
		font-size: 24px;
		line-height: 30px;
	}
	.reviews__rate span{
		font-size: 78px;
	}
	.reviews__number{
		font-size: 12px;
		line-height: 15px;
		margin-bottom: 17px;
	}
	.reviews__form label{
		width: 100%;
	}
	.reviews__form label > span{
		min-height: 64px;
	}
	.reviews__btn {
		margin-top: 32px;
	}
	.reviews__items {
		margin-top: 30px;
		gap: 8px;
	}
	.contacts__items{
		grid-template-columns: repeat(1, minmax(0, 1fr));
		gap: 8px;
	}
	.contacts__item{
		padding: 20px 20px 30px;
		grid-column: auto !important;
	}
	.contacts__item .title_h3 {
	   font-size: 28px;
		line-height: 37px;
	}
	.contacts__value{
		font-size: 16px;
		line-height: 20px;
		margin: 16px 0 20px;
	}
	.page-content{
		padding: 30px 0 50px;
	}
	.footer-map {
		width: calc(100% + 40px);
		margin: 0 -20px;
		height: 259px;
	}
	.footer-map__marker{
		margin-bottom: 20px;
	}
	.footer-map__title{
		font-size: 14px;
		line-height: 19px;
		margin-bottom: 8px;
	}
	.footer-map__text{
		font-size: 10px;
		line-height: 13px;
	}
	.footer-map__block {
		padding: 20px 23px 23px;
	}
	.site-footer__content {
		padding: 19px 0 40px;
		position: relative;
	}
	.site-footer__head{
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
		margin-bottom: 35px;
	}
	.site-footer__nav{
		width: 100%;
	}
	.site-footer__nav > ul {
		width: 100%;
		display: flex;
		justify-content: space-between;
		gap: 10px;
	}
	.footer-contact__social{
		position: absolute;
		top: 32px;
		right: 0px;
	}
	.footer-bottom {
		text-align: center;
		padding: 12px 0 20px;
	}
	.footer-bottom__container{
		flex-direction: column;
		gap: 8px;
	}
	.footer-bottom__row{
		flex-direction: column;
    	gap: 5px;
	}
	.mobile-panel{
		width: 264px;
		padding: 68px 20px 30px;
	}
	.mobile-panel__btn{
		padding: 32px 20px 0;
		margin: 0 -20px;
	}
	.mobile-panel__btn .btn{
		width: 100%;
	}
	.popup__overlay{
		align-items: flex-end;
	}
	.popup__window{
		width: 100vw;
		max-height: 90vh;
		overflow-y: auto;
		padding: 20px;
		border-radius: 22px 22px 0px 0px;
	}
	.popup__window:after{
		display: none;
	}
	.only-tablet{
		display: none;
	}
	.only-mobile{
		display: block;
	}
}

.itl-credit{
  display:inline-flex; align-items:center; gap:7px;
  font-family:inherit; font-size:14px; line-height:1.4;
  color:#6b6b6b; text-decoration:none; transition:color .15s ease;
}
.itl-name{ color:#6b6b6b; font-weight:700; transition:color .15s ease; }
.itl-heart{ width:12px; height:12px; fill:#e04545; flex:none; }

.itl-credit:hover, .itl-credit:hover .itl-name,
.itl-credit:focus-visible, .itl-credit:focus-visible .itl-name{ color:#e04545; }

.itl-credit:focus-visible{ outline:2px solid #e04545; outline-offset:3px; border-radius:4px; }
@media (prefers-reduced-motion:reduce){ .itl-credit, .itl-name{ transition:none; } }

/* Smooth anchor scroll
-----------------------------------------------------------------------------*/
html {
	scroll-behavior: smooth;
	/* --anchor-offset пересчитывается в scripts.js по высоте фиксированной .site-panel */
	scroll-padding-top: var(--anchor-offset, 68px);
}
[id] {
	scroll-margin-top: var(--anchor-offset, 68px);
}
[tabindex="-1"]:focus {
	outline: none !important;
}
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}
