html {
	color: #000;
	font-size: 1rem;
	line-height: 1.5;
	-moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
	scroll-padding-top: 120px;
}

html:focus-within {
	scroll-behavior: smooth;
}
/*	Если делать фикс шапку через pos: sticky, то нужно задавать min-height 100vh.
	Высота нужна, если нам нужно на ПК прибить книзу footer с помощью flex для коротких стр. */
html, body {
	min-height: 100vh;
	-webkit-overflow-scrolling: touch;
}

main {
	flex: 1;
	overflow-x: hidden;
}

::-moz-selection {
	color: #fff;
	background: #9a84ee;
	text-shadow: none;
}

::selection {
	color: #fff;
	background: #9a84ee;
	text-shadow: none;
}

hr {
	border: 0;
	border-top: 1px solid #ddd;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

textarea {
	resize: vertical;
}

input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: auto;
	display: none;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
body, input, textarea {
	background-color: #fff;
	-webkit-text-size-adjust: none;
			text-size-adjust: none;
}

body {
	background-color: #f8f7fc;
	font-family: "Inter", sans-serif;
	overscroll-behavior-y: contain;
}

button, input, textarea {
	color: inherit;
	border: 0;
	border-radius: 0;
	background-color: transparent;
}

button:not(:disabled),
label,
[role="button"],
[role="link"],
[class*="btn"] {
	cursor: pointer;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}

input,
textarea,
button,
button:focus {
	font-family: inherit;
-webkit-appearance: none;
   -moz-appearance: none;
	    appearance: none;
	       outline: none;
}
	
@media screen and (-webkit-min-device-pixel-ratio:0) and (max-width:576px) { 
	select,
	textarea,
	input {
		font-size: 16px !important;
	}
}

:invalid {
	box-shadow: none;
}

select {outline: none;}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm,
[class*="mx-"] {  
	--bs-gutter-x: 2.5rem;
}

h1,
.h1 {
	font-size: 2rem;
	line-height: 1.2;
}

h2,
.h2 {
	font-size: 1.75rem;
	line-height: 1.2;
}

.h3 {
	font-size: 1.25rem;
	line-height: 1.2;
}

@media (min-width: 576px) {
	h1,
	.h1	{
		font-size: 2.375rem;
	}
	h2,
	.h2 {
		font-size: 1.6rem;
	}
	.h3 {
		font-size: 1.5rem;
	}
}

@media (min-width: 992px) {
	h1,
	.h1 {
		font-size: 3.75rem;
	}
	h2,
	.h2 {
		font-size: 1.8rem;
	}
}

.small, small {
	font-size: 80%;
}

a, img, button, input, textarea, svg, [class*="btn"], [role="link"], .p-link, .o-hover, .dropdown-menu, .dropdown-ico, .dropdown-item {
 -webkit-transition: all .15s ease;
    -moz-transition: all .15s ease;
         transition: all .15s ease;
}

a {
	color: #4f6bf8;
	text-decoration: none;
}


.flex {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.clients .tabs ul li a.active h2, .clients .tabs ul li a.active .title-h2 {
	color: #3e16cb;
}

.clients .tabs ul li a h2, .clients .tabs ul li a .title-h2 {
	color: #c1c1c3;
	font-size: 28px;
}

.clients .tabs ul li:not(:last-child) {
	margin-right: 45px;
}

.scroller {
	overflow-x: scroll;
	overflow-y: hidden;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	user-select: none;
}

@media (min-width: 576px) {
	.scroller-sm {
		overflow-x: scroll;
		overflow-y: hidden;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		user-select: none;
	}
}

@media (min-width: 768px) {
	.scroller-md {
		overflow-x: scroll;
		overflow-y: hidden;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		user-select: none;
	}
	
}

.scroller::-webkit-scrollbar,
.scroller-sm::-webkit-scrollbar,
.scroller-md::-webkit-scrollbar {
	display: none;
}

.sticky {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
}

.p-link {
	color: inherit;
	cursor: pointer;
	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: .14em;
	text-decoration-thickness: 1px;
}

.u-line {
	text-decoration: underline;
	text-underline-offset: .14em;
	text-decoration-thickness: 1px;
}

.no-u-line {
	text-decoration: none;
}

.s-line {
	text-decoration: line-through;
}

.stretched-link::before {
	content:'';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 5;
}

.hr-dashed {
	border-top: 1px dashed #b5b5b5;
}

.hr-dotted {
	border-top: 1px dotted #b5b5b5;
}

[class*="border"] {
	--border-color: #ddd;
}

.border,
.border-y,
.border-top {
	border-top: 1px solid var(--border-color);
}

.border,
.border-y,
.border-bottom {
	border-bottom: 1px solid var(--border-color);
}

.border,
.border-x,
.border-left {
	border-left: 1px solid var(--border-color);
}

.border,
.border-x,
.border-right {
	border-right: 1px solid var(--border-color);
}

.radius-1 {
	border-radius: 10px;
}

.radius-2 {
	border-radius: 20px;
}

.radius-3 {
	border-radius: 40px;
}

.object-fit {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.gap-1 {
	gap: .25rem;
}

.gap-2 {
	gap: .5rem;
}

.gap-3 {
	gap: 1rem;
}

.gap-4 {
	gap: 1.5rem;
}

.gap-5 {
	gap: 3rem;
}

.c-black {
	color: #000;
}

.c-white {
	color: #fff;
}

.c-blue {
	color: #4f6bf8;
}

.c-purple {
	color: #5237df;
}

.c-gray {
	color: #747474;
}

.c-gray-dark {
	color: #525252;
}

.c-gray-light {
	color: #929292;
}

.bg-white {
	background-color: #fff;
}

.bg-lilac {
	background-color: #f8f7fc;
}

.shadow {
	box-shadow: 0 4px 24px rgba(213,207,246, .25);
}

.text-crop-1 {
	display: -webkit-box !important;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.text-crop-2 {
	display: -webkit-box !important;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.text-crop-3 {
	display: -webkit-box !important;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.text-crop-4 {
	display: -webkit-box !important;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.height-line-3 {
	height: 5.6rem;
}

@media (min-width: 576px) {
	.height-line-3 {
		height: 6.2rem;
	}
}


.fs-12 {
	font-size: 12px;
}

.fs-13 {
	font-size: 13px;
}

.fs-14 {
	font-size: 14px;
}

.fs-16 {
	font-size: 16px;
}

.fs-18 {
	font-size: 18px;
}

.fs-20 {
	font-size: 20px;
}

.fs-22 {
	font-size: 22px;
}

.fs-24 {
	font-size: 24px;
}

.fs-26 {
	font-size: 26px;
}

.fs-28 {
	font-size: 28px;
}

.fs-30 {
	font-size: 30px;
}

.fw-300 {
	font-weight: 300;
}

.fw-500 {
	font-weight: 500;
}

.fw-600 {
	font-weight: 600;
}

b,
strong,
.fw-700 {
	font-weight: 700;
}

.lh-1 {
	line-height: 1;
}

.lh-1_2 {
	line-height: 1.2;
}

.lh-1_5 {
	line-height: 1.5;
}

.lh-1_75 {
	line-height: 1.75;
}

.o-10 {
	opacity: .1;
}

.o-15 {
	opacity: .15;
}

.o-25 {
	opacity: .25;
}

.o-5 {
	opacity: .5;
}

.o-75 {
	opacity: .75;
}

.o-8 {
	opacity: .8;
}

@media (max-width: 575px) {
	.mx-n20 {
		margin-left: calc(-.5 * var(--bs-gutter-x));
		margin-right: calc(-.5 * var(--bs-gutter-x));
	}
	.tac-sm {
		text-align: center;
	}
}

@media (max-width: 767px) {
	.mx-md-n20 {
		margin-left: calc(-.5 * var(--bs-gutter-x));
		margin-right: calc(-.5 * var(--bs-gutter-x));
	}
	.tac-md {
		text-align: center;
	}
}

@media (max-width: 992px) {
	.tac-lg {
		text-align: center;
	}
}

.tac {
	text-align: center;
}

.mh-360 {
	min-height: 360px;
}

.mw-360 {
	max-width: 360px;
}

.mw-440 {
	max-width: 440px;
}

.mw-540 {
	max-width: 540px;
}

.mw-600 {
	max-width: 600px;
}

.mw-800 {
	max-width: 800px;
}

/* кнопки */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	vertical-align: middle;
	-ms-touch-action: manipulation;
	    touch-action: manipulation;
	background-image: none;
	background-color: transparent;
	white-space: nowrap;
	z-index: 1;
	line-height: normal;
	transition: color .15s ease-in-out,
				background-color .15s ease-in-out,
				border-color .15s ease-in-out,
				box-shadow .15s ease-in-out,
				opacity .15s ease-in-out;
}

.btn-disabled,
.btn:disabled {
	cursor: default;
	opacity: .5;
	pointer-events: none;
}

.btn-primary {
	color: #fff;
	font-weight: 600;
	background-color: #f8b249;
	background: linear-gradient(#f8b249 0%, #fb8442 100%);
	background: #f8b249;
	border-radius: 40px;
	box-shadow: inset 0 -30px 40px 5px #fb8442;
	padding: 16px 34px 16px;
}

.btn-lg {
	padding: 22px 60px 22px;
}

.btn-blank {
	color: #000;
	font-weight: 600;
	border: 1px solid #c5d8e5;
	border-radius: 40px;
	padding: 14px 32px;
}

.btn-arrow {
	color: #aa7d68;
	background-color: #fff;
	border-radius: 6px;
	font-size: 14px;
	padding: 4px 16px;
}

.btn-arrow.active {
	color: #fff;
	background-color: #aa7d68;
	border-color: #aa7d68;
}

.link-arrow,
.link-arrow-l,
.btn-arrow {
	font-weight: 500;
	text-decoration: none;
}

.link-arrow::after,
.btn-arrow::after {
	content: "\f061";
	display: inline-block;
	position: relative;
	font-family: "Font Awesome 6 Free";
	font-size: 85%;
	font-weight: 900;
	margin-left: 6px;
}

.link-arrow-l::before {
	content: "\f104";
	display: inline-block;
	position: relative;
	font-family: "Font Awesome 6 Free";
	font-size: 85%;
	font-weight: 900;
	margin-right: 6px;
}

.btn-play {
	color: #000;
	justify-content: normal;
	background-color: #fff;
	font-size: .75rem;
	font-weight: 500;
	border: 1px solid transparent;
	border-radius: 40px;
	padding: 3px;
	min-width: 120px;
	gap: 10px;
}

.btn-play-lg {
	color: #fff;
	justify-content: normal;
	background-color: rgba(0, 0, 0, .56);
	font-size: .875rem;
	font-weight: 500;
	border: 1px solid transparent;
	border-radius: 40px;
	padding: 6px;
}

.btn-play-lg span {
	margin: 0 36px;
}

.btn-play-lg .ico-play {
	width: 42px;
	height: 42px;
}

.btn-play-lg .ico-play::after {
	width: 12px;
	height: 12px;
}

.btn-play-lg.btn-m100 span {
	margin: auto;
	transform: translateX(-25%);
}

.ico-play {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: linear-gradient(#f8b249 0%, #fb8442 100%);
	transition: all .15s;
}

.ico-play::after {
	content: "";
	background: url(../img/ico-play.svg) no-repeat center / contain;
	width: 9px;
	height: 10px;
	margin-left: 1px;
	filter: drop-shadow(0 4px 6px rgba(0,0,0, .06));
}

.btn-phone,
.btn-whatsapp {
	border: 1px solid;
	border-radius: 40px;
	font-size: .875rem;
	font-weight: 500;
	padding: 14px 32px;
	gap: 10px;
}

.btn-whatsapp {
	color: #2cb742;
	border-color: #c2ebc8;
}

.btn-phone {
	color: #598beb;
	border-color: #c5d8e5;
}

.btn-100,
.btn-m100 {
	width: 100%;
}

@media (min-width: 576px) {
	.btn-m100 {
		width: auto;
	}
	
	.btn-sm-lg {
		padding: 22px 60px 22px;
	}
	
	.btn-play-lg {
		font-size: 1rem;
	}
	
	.btn-play-lg .ico-play {
		width: 56px;
		height: 56px;
	}
	
	.btn-play-lg .ico-play::after {
		width: 16px;
		height: 16px;
	}
	
	.btn-play-lg.btn-m100 span {
		margin: 0 36px;
		transform: none;
	}
}

/* hovers */
@media (any-hover: hover) {
	a:not(.btn, .link-arrow):hover,
	a:not(.btn).c-blue:hover
	/* .c-blue[role="button"]:hover */{
		color: #000;
		text-decoration: underline;
		text-underline-offset: .14em;
		text-decoration-thickness: 1px;
	}

	a.c-black:hover {
		color: #4f6bf8;
	}
		
	.o-hover:hover {
		opacity: .6;
	}

	.btn-primary:hover {
		background-color: #d93f3d;
		box-shadow: inset 0 -30px 30px 0 #ff6234;
		box-shadow:inset 0 -30px 40px 5px #ff6234;
	}

	.btn-primary:active,
	.btn-primary.active	{
		background-color: #d93f3d;
		box-shadow: none;
	}

	.btn-blank:hover {
		color: #598beb;
		background-color: #eff4ff;
	}

	.btn-arrow:hover {
		color: #fff;
		background-color: #aa7d68;
		border-color: #aa7d68;
	}
	
	.btn-play:hover {
		color: #dc8c5e;
		border-color: #f8aa48;
	}
	
	.btn-play:hover i {
		opacity: .8;
	}
	
	.btn-play-lg:hover {
		background-color: rgba(255,151,55, .56);
	}
	
	.btn-play-lg:hover i {
		background: transparent;
		border: 1px solid #fff;
	}
}

/* элементы формы */
::placeholder {
	color: #8f989e;
}

.form-check {
	position: relative;
	display: block;
	padding-left: 1.25rem;
}

.form-check-inline {
	display: -ms-inline-flexbox;
	display: inline-flex;
	align-items: center;
	padding-left: 0;
	margin-right: .75rem;
}

.form-check-input {
	padding: 0;
	margin: 0;
	opacity: 0;
	position: absolute;
	z-index: 100;
	width: 16px;
	height: 16px;
	border: none;
	left: 0;
	top: 7px;
-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
		transform: translateY(-50%);
}

.form-check-label .radio {
	display: inline-block;
	border: 1px solid #222;
	width: 16px;
	height: 16px;
	margin-right: 10px;
	border-radius: 50%;
-webkit-transform: translateY(15%);
	-ms-transform: translateY(15%);
		transform: translateY(15%);
}

.form-check-label [type='radio']:checked + span {
	-webkit-box-shadow: inset 0 0 0 4px #fff,inset 0 0 0 10px #222;
            box-shadow: inset 0 0 0 4px #fff,inset 0 0 0 10px #222;
}

.block-radio {
	border: 1px solid transparent;
}

.block-radio.selected {
	border-color: #222;
}

.block-radio:not(.selected) {
	opacity: .5;
}

.block-radio .radio-group {
	top: 0;
	left: -7px;
	bottom: 0;
	height: 14px;
	margin: auto;
}

.block-radio .radio {
	transform: none;
}

.form-check-label .checkbox {
	display: inline-block;
	border: 1px solid #222;
	width: 14px;
	height: 14px;
	margin-right: 10px;
-webkit-transform: translateY(15%);
	-ms-transform: translateY(15%);
		transform: translateY(15%);
}

.form-check-label [type='checkbox']:checked + span::after {
	content: "";
	position: absolute;
	display: block;
	width: 5px;
	height: 10px;
	border-bottom: 2px solid #222;
	border-right: 2px solid #222;
	top: 0;
	left: 4px;
-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
		transform: rotate(45deg);
}

.has-icons .form-control {
	padding-left: 2rem;
}

.has-icons .ico-input {
	color: #8f989e;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	top: 0;
	left: 12px;
	bottom: 0;
}

.form-control {
	display: block;
	width: 100%;
	padding: .625rem 1rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #000;
	background-color: #f3f6f8;
	background-clip: padding-box;
	border: 1px solid #bbc6d3;
	border-radius: .5rem;
	transition: background-color .15s ease-in-out,
				border-color .15s ease-in-out,
				box-shadow .15s ease-in-out;
}

@media (min-width: 576px) {
	.form-control {
		padding: .875rem 1.5rem;
	}
	
	.has-icons .form-control {
		padding-left: 3rem;
	}

	.has-icons .ico-input {
		left: 24px;
	}
}

.form-control:focus,
.form-group:focus-within .form-control,
.form-control.input-filled {
	background-color: #fff;
}

textarea.form-control {
	height: auto;
}

.form-control:focus + .placeholder,
/* .form-control:valid + .placeholder, */
.form-control.input-filled + .placeholder {
	top: -12px;
	font-size: 12px;
	opacity: .75;
}

.placeholder {
	position: absolute;
	left: 0;
	top: 7px;
	color: #888;
	pointer-events: none;
-webkit-transition: all .2s ease;
		transition: all .2s ease;
}

.input-error,
.input-error:focus,
.form-error .form-control:invalid{
	color: #c85555;
	border-color: #ed7976;
	background-color: #fff6f6;
}

.input-error + .ico-input {
	color: #c85555;
}

.error-msg {
	color: #dd6565;
	font-size: 12px;
	margin-top: 6px;
	animation: hintShow .15s ease-in forwards;
}

.input-success,
.input-success:focus {
	color: #70ad5a;
	border-color: #86bb7d;
	background-color: #f5f8f3;
}

.input-success + .ico-input {
	color: #70ad5a;
}

.error-msg {
	color: #dd6565;
	font-size: 12px;
	margin-top: 6px;
	animation: hintShow .15s ease-in forwards;
}

@keyframes hintShow {
	0% {
		opacity: 0;
		transform: translateY(-6px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.ul-columns {
	margin: -5px 0;
}

.ul-columns li {
	padding: 5px 0;
}
	
@media (min-width: 576px) {
	.ul-columns {
		columns: 2
	}
}

@media (min-width: 768px) {
	.ul-columns {
		columns: 3
	}
}

@media (min-width: 992px) {
	.ul-columns {
		columns: 4
	}
}

/* ------------------------------------------------ */

/* Крошки */
.breadcrumb {
	display: flex;
	flex-wrap: wrap;
}

.breadcrumb-item {
	display: flex;
	align-items: center;
	font-size: 12px;
}

.breadcrumb-item a {
	color: #888;
}

.breadcrumb-item:not(:last-child)::after {
	content: url("data:image/svg+xml,%3Csvg width='13' height='13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='6' cy='6.5' r='5.5' transform='rotate(-90 6 6.5)' stroke='%235237df'/%3E%3Cpath d='M4.875 8.75 6.75 6.714 4.875 4.677' stroke='%235237df' stroke-width='1.5'/%3E%3C/svg%3E");
	padding: 0 1rem;
	line-height: 1;
}

.breadcrumb-item.active {
	color: #000;
	font-weight: 600;
}

/* -- Шапка -- */
.header {
	background-color: #fff;
	position: sticky;
	top: 0;
	z-index: 10;
}

.header .logo svg {
	width: 42px;
}

.header .logo {
	width: auto;
}

@media (max-width: 576px) {
.header .logo {
	width: 90px;
}
}

.header .header-inner {
	background-color: #fff;
	margin-left: calc(var(--bs-gutter-x)* -.5);
	margin-right: calc(var(--bs-gutter-x)* -.5);
	padding: 10px calc(var(--bs-gutter-x)* .5);
	position: relative;
	transition: padding .35s ease;
	z-index: 10;
}

.header .header-menu {
	gap: 20px;
}

.header .header-menu a {
	color: #525252;
}

.header .header-menu .active,
.footer .footer-menu .menu-list .active {
	color: #000;
	font-weight: 600;
}
/*
.header-phone::before,
.footer-phone::before {
	content: url(../img/ico-phone.svg);
	width: 22px;
	height: 22px;
}
*/
.header-phone span,
.footer-phone span {
	background-image: radial-gradient(circle, #ffa857 1px, transparent 1.5px);
	background-repeat: repeat-x;
	background-size: 6px 6px;
	background-position: center bottom -2px;
}

/* кнопка меню */
.header-hamburger {
	display: block;
	background-color: transparent;
	width: 20px;
	height: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
}

.header-hamburger span {
	display: block;
	height: 3px;
	width: 100%;
	background-color: #5237df;
	border-radius: 10px;
	position: absolute;
	left: 0;

	-webkit-transition: all .2s ease-in-out;
			transition: all .2s ease-in-out;
}

.header-hamburger span:first-child {
	top: 2px;
}

.header-hamburger span:nth-child(2) {
	top: 9px;
}

.header-hamburger span:last-child {
	top: 16px;
	width: 70%;
}

.header-hamburger.open span:first-child {
-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	position: absolute;
	top: 10px;
}

.header-hamburger.open span:last-child {
-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
	position: absolute;
	top: 10px;
	width: 100%;
}

.header-hamburger.open span:nth-child(2) {
	opacity: 0;
}

@media (any-hover: hover) {
	.header .logo:hover,
	.footer .logo:hover	{
		opacity: .6;
	}
	
	a.header-phone:hover,
	a.footer-phone:hover {
		text-decoration: none;
	}

	.header .header-menu a:hover,
	.header .header-menu li:hover > a,
	.footer .footer-menu .menu-list a:hover {
		color: #000;
		text-decoration: none;
	}
	
	.header .header-menu .more:hover > a::after {
		transform: rotate(180deg);
	}
	
	.header .header-menu .more:hover ul.dn {
		display: block;
	}
	
	.header .header-menu .more > a + ul.dn a:hover,
	.footer .footer-menu .menu-list a:hover	{
		background-color: #fbfaf6;
	}
	
	.header .header-menu .more > a + ul.dn a:hover::after,
	.footer .footer-menu .menu-list a:hover::after {
		color: #ff9e45;
	}
}

@media (min-width: 576px) {
	.header .logo svg {
		width: 222px;
	}
}

@media (min-width: 992px) {
	.header .header-inner {
		padding-top:10px;
		padding-bottom:10px;
	}
	
	.header.js-sticky .header-inner {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	
	.header .header-menu > li > a {
		padding-top: 35px;
		padding-bottom: 45px;
	}
	
	.header .header-menu .more > a::after {
		content: "\f107";
		color: #ff9e45;
		display: inline-block;
		font-family: "Font Awesome 6 Free";
		font-size: 85%;
		font-weight: 900;
		margin-left: 6px;
		transition: all .15s ease-in-out;
	}

	.header .header-menu .more > a + ul.dn {
		background: #fff;
		position: absolute;
		top: 100%;
		border-radius: 0 10px 10px 10px;
		box-shadow: 0 4px 14px rgba(98,120,179, .2);
		transform: translateY(5px);
		overflow: hidden;
		animation: fadeInSub ease .35s;
	}
	
	.header .header-menu .more > a + ul.dn a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 10px 16px;
		gap: 20px;
	}
	
	.header .header-menu .more > a + ul.dn a::after {
		content: "\f105";
		color: #939393;
		display: inline-block;
		position: relative;
		font-family: "Font Awesome 6 Free";
		font-size: 85%;
		font-weight: 900;
	}

	@keyframes fadeInSub {
		from {
			top: 120%;
			opacity: 0;
		}
		to {
			top: 100%;
			opacity: 1;
		}
	}
}

@media (min-width: 1200px) {
	.header .header-menu {
		gap: 30px;
	}
}


@media (min-width: 200px) {
.fix-call {
	display: fidex;
	z-index: 9;
	position: fixed;
	right: 80px;
	bottom: 20px;
	width: 40px;
	height: 40px;
}
}


@media (min-width: 500px) {
.fix-call {
	display: fidex;
	z-index: 9;
	position: fixed;
	right: 90px;
	bottom: 30px;
	width: 40px;
	height: 40px;
}
}


@media (min-width: 768px) {
.fix-call {
	display: fidex;
	z-index: 9;
	position: fixed;
	right: 130px;
	bottom: 50px;
	width: 50px;
	height: 50px;
}
}

@media (max-width: 991px) {
			.header-phone .d-none {
	display: inline-block !important;
}.about {
 
	 
	background: url("../img/decal-about.svg") no-repeat bottom 20px center /80%, url("../img/bg-about.jpg") no-repeat center /cover !important;
	 
 
 
}
.f-carousel__nav {display:none;}
	
	.header .header-bottom {
		position: absolute;
		background-color: #f8f7fc;
		/* border-top: 1px solid #e7e7e7; */
		max-height: calc(100vh - 62px);
		min-height: calc(100vh - 62px);
		height: 100vh;
		overscroll-behavior-y: contain;
		overflow-y: auto;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 555;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		
-webkit-overflow-scrolling: touch;
		transition: all .2s ease-in-out;
	}

	.open-menu {
		overflow: hidden;
		/* position: fixed; */
		max-width: 100%;
		width: 100%;
	}

	.open-menu .header .header-bottom {
		opacity: 1;
		visibility: visible;
		pointer-events: all;
	}
	/* меню */
	.header .header-menu {
		padding: 10px;
	}

	.header .header-menu > li {
		background-color: #fff;
		border-radius: 10px;
		margin-bottom: 5px;
	}

	.header .header-menu li.more > a span {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 47px;
		z-index: 100;
	}

	.header .header-menu li.more > a span::after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		right: 17px;
		bottom: 0;
		width: 7px;
		height: 7px;
		margin: auto;
		border: 2px solid #ff9e45;
		border-bottom: none;
		border-right: none;
		transform: rotate(135deg);
		transition: all .1s ease-in-out;
	}
	
	.header .header-menu li.more > a.active span::after {
		transform: rotate(45deg);
	}

	.header .header-bottom ul > li a {
		display: block;
		padding-left: 15px;
		padding-right: 15px;
	}
	
	.header .header-menu > li > a {
		padding-top: 15px;
		padding-bottom: 15px;
	}
	
	.header .header-menu li.more > a {
		display: block;
		position: relative;
	}
	
	.header .header-menu li.more > ul {		
		display: block;
		max-height: 0;
		visibility: hidden;
		opacity: 0;
		transition: all .3s ease;
	}
	
	.header .header-menu li.more > ul.dn {
		position: relative;
		/* border-top: 1px solid #eaeaea; */
		margin-top: -1px;
	}
	
	.header .header-menu li.more > ul.dn::before {
		content: "";
		border-top: 1px solid #eaeaea;
		position: absolute;
		top: 0;
		left: 15px;
		right: 15px;
	}
	
	.header .header-menu li.more > ul.dn > li:first-child {
		padding-top: 7px;
	}
	
	.header .header-menu li.more > ul.dn > li:last-child {
		padding-bottom: 7px;
	}
	
	.header .header-menu li.more > ul.dn > li a {
		padding-top: 7px;
		padding-bottom: 7px;
	}
	
	.header .header-menu li.more > ul.dn ul {
		padding-left: 10px;
	}
	
	/* menu show */
	.header .header-menu li.more .active + ul {
		display: block;
		max-height: 100rem;
		visibility: visible;
		opacity: 1;
	}
	
	.header .header-menu li.more .active + ul.dn {
		margin-top: 0;
	}

	.menu-overlay {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100vh;
		background-color: rgba(0,0,0, .35);
		z-index: 2;
		visibility: hidden;
		opacity: 0;
	}
	
	.menu-overlay.show {
		visibility: visible;
		opacity: 1;

	-webkit-transition: all .25s ease-in-out .25s;
	   -moz-transition: all .25s ease-in-out .25s;
			transition: all .25s ease-in-out .25s;
	}
}

/* -- Главная -- */

.f-carousel__dots li {
 
	margin-right: 10px !important;
}

.pc-right {text-align:right}
.pc-right .call {color: #ffa857}
.f-carousel__nav {
	position: relative;
	top: 30px;
	left: -20px;
}

/* Главный оффер */
.main-hero {
	background: url("../img/bg-rfmap.png") no-repeat center top 5rem /120%;
	position: relative;
	overflow: hidden;
}

.main-hero .description {
	font-size: .875rem;
}

.main-hero .circles	{
	position: absolute;
	top: 36%;
	left: 50%;
	bottom: 0;
	z-index: -1;
}

.main-hero .circles .c {
	display: inline-flex;
	position: absolute;
	border: 1px solid rgba(153,157,255, .25);
	border-radius: 50%;
	transform: translateX(-50%) translateY(-50%);
	
	--c1-size: 1.75rem;
	--c2-size: 5.5rem;
	--c3-size: 11rem;
	--c4-size: 19rem;
	--c5-size: 31rem;
	--c6-size: 43rem;
}

.main-hero .circles .c1 {
	width: var(--c1-size);
	height: var(--c1-size);
}

.main-hero .circles .c2 {
	width: var(--c2-size);
	height: var(--c2-size);
}

.main-hero .circles .c3 {
	width: var(--c3-size);
	height: var(--c3-size);
}

.main-hero .circles .c4 {
	width: var(--c4-size);
	height: var(--c4-size);
}

.main-hero .circles .c5 {
	width: var(--c5-size);
	height: var(--c5-size);
}

.main-hero .circles .c6 {
	width: var(--c6-size);
	height: var(--c6-size);
}

@media (min-width: 768px) {
	.main-hero .description {
		font-size: 1.125rem;
	}
}

@media (min-width: 992px) {
	.main-hero {
		background: url("../img/bg-rfmap.png") no-repeat center bottom -150px;
		background-size: auto;
	}

	.main-hero .circles	{
		top: auto;
		bottom: 0;
	}

	.main-hero .circles .c {
		--c1-size: 4rem;
		--c2-size: 13rem;
		--c3-size: 26rem;
		--c4-size: 46rem;
		--c5-size: 76rem;
		--c6-size: 104rem;
	}
}

/* О компании */
.about {
	background: url("../img/decal-about.svg") no-repeat bottom -20px center /contain,
				url("../img/bg-about.jpg") no-repeat center /cover;
	height: 500px;
}

.about p {
	font-size: .875rem;
	font-weight: 300;
}

.about p + p {
	margin-top: 20px;
}

@media (min-width: 576px) {
	.about {
		background-position: bottom -35px center, center;
	}
	
	.about p {
		font-size: 1rem;
	}
}

@media (min-width: 768px) {
	.about {
		background-position: bottom -45px center, center;
	}
}

@media (min-width: 992px) {
	.about {
		background-position: bottom -55px center, center;
		height: 600px;
	}
	
	.about p {
		font-size: 1.125rem;
	}
}

@media (min-width: 1400px) {
	.about {
	background-size: 70%, cover;
	background-position: bottom 10px center, center;
}
}

/* Мы лучше */
.features .features-item .title {
	font-size: 2rem;
	line-height: 1;
}

.features .features-item .title::after {
	content: "";
	display: block;
	border-top: 1px solid #dcdcdc;
	width: 65px;
	margin-top: 10px;
	margin-bottom: 10px;
}

.features .features-item .description {
	font-size: .875rem;
}

/* [слайдер] */
.features .features-slider .f-carousel__slide {
	--f-carousel-slide-width: 90%;
	--f-carousel-spacing: 20px;
}

@media (min-width: 576px) {
	.features .features-slider .f-carousel__slide {
		--f-carousel-slide-width: 60%;
	}
}

@media (min-width: 768px) {
	.features .features-slider .f-carousel__slide {
		--f-carousel-spacing: 24px;
		--f-carousel-slides-per-page: 2.1;
		--f-carousel-slide-width: calc((100% - ((var(--f-carousel-slides-per-page) - 1) * var(--f-carousel-spacing))) / var(--f-carousel-slides-per-page));
	}
	
	.features .features-item .title {
		font-size: 2.25rem;
	}
}

@media (min-width: 992px) {
	.features .features-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 3.1;
	}
	
	/* .features .features-item .title { */
		/* font-size: 2.75rem; */
	/* } */
}

@media (min-width: 1400px) {
	.features .features-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 3;
	}
}

/* Наши услуги */
.services .services-item .bottom {
	border-top: 1px dotted #252525;
}

.services .services-item.i1 {
	background: linear-gradient(#ffebeb 0%, rgba(255, 209, 209, 0) 100%);
}

.services .services-item.i2 {
	background: linear-gradient(#d8eefe 0%, rgba(209, 250, 255, 0) 100%);
}

.services .services-item.i3 {
	background: linear-gradient(#fff7e7 0%, #ffffff 100%);
}

.services .services-item.i4 {
	background: linear-gradient(#e7fff6 0%, #ffffff 100%);
}

.services .services-item.i5 {
	background: linear-gradient(#f3e7ff 0%, #ffffff 100%);
}

/* [слайдер] */
.services .services-slider .f-carousel__slide {
	--f-carousel-slide-width: 90%;
	--f-carousel-spacing: 20px;
}

@media (min-width: 576px) {
	.services .services-slider .f-carousel__slide {
		--f-carousel-slide-width: 60%;		
	}
}

@media (min-width: 768px) {
	.services .services-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 2.1;
		--f-carousel-spacing: 24px;
		--f-carousel-slide-width: calc((100% - ((var(--f-carousel-slides-per-page) - 1) * var(--f-carousel-spacing))) / var(--f-carousel-slides-per-page));
	}
}
@media (max-width: 768px) {.mob-off{display:none;}

.header .header-inner {
	 
	padding: 5px calc(var(--bs-gutter-x)* .5);
	 
}

}
/* времянка */
@media (min-width: 992px) {
	
	
	.services .services-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 0;
		--f-carousel-spacing: 0;
		--f-carousel-slide-width: 33.33333333%;
		--f-carousel-slide-padding: 0 calc(var(--bs-gutter-x) * .5);
		margin-top: var(--bs-gutter-y);
	}
	
	.services .services-slider .f-carousel__slide.col-lg-6 {
		--f-carousel-slide-width: 50%;
	}
}
/* /времянка */

/* Наша команда */
/* [слайдер] */
.our-team .our-team-slider .f-carousel__slide {
	--f-carousel-slide-width: 90%;
	--f-carousel-spacing: 20px;
}

@media (min-width: 576px) {
	.our-team .our-team-slider .f-carousel__slide {
		--f-carousel-slide-width: 60%;
	}
}

@media (min-width: 768px) {
	.our-team .our-team-slider .f-carousel__slide {
		--f-carousel-spacing: 24px;
		--f-carousel-slides-per-page: 2.1;
		--f-carousel-slide-width: calc((100% - ((var(--f-carousel-slides-per-page) - 1) * var(--f-carousel-spacing))) / var(--f-carousel-slides-per-page));
	}
}

@media (min-width: 992px) {
	.our-team .our-team-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 3.1;
	}
}

@media (min-width: 1400px) {
	.our-team .our-team-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 3;
	}
}

/* Как мы работаем */
.how-work .how-work-items {
	counter-reset: myCounter;
}

.how-work .how-work-item {
	background: linear-gradient(127deg, #fffcec 28%, #fff8d3 98%);
	position: relative;
	overflow: hidden;
}

.how-work .how-work-item::before {
	counter-increment: myCounter;
	content: counter(myCounter);
	position: absolute;
	background: linear-gradient(#ffd698, #fff3d3);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: 10.5rem;
	line-height: 75%;
	right: -20px;
	bottom: 0;
}

/* [слайдер] */
.how-work .how-work-slider .f-carousel__slide {
	--f-carousel-slide-width: 90%;
	--f-carousel-spacing: 20px;
}

@media (min-width: 576px) {
	.how-work .how-work-slider .f-carousel__slide {
		--f-carousel-slide-width: 60%;
	}
}

@media (min-width: 768px) {
	.how-work .how-work-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 2.1;
		--f-carousel-spacing: 24px;
		--f-carousel-slide-width: calc((100% - ((var(--f-carousel-slides-per-page) - 1) * var(--f-carousel-spacing))) / var(--f-carousel-slides-per-page));
	}
}

@media (min-width: 992px) {
	.how-work .how-work-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 3.1;
	}
}

@media (min-width: 1400px) {
	.how-work .how-work-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 3;
	}
}

/* Наши операторы */
.operators .operator-item .photo {
	border-radius: 50%;
	max-width: 265px;
	width: 100%;
}

.operators .operator-item .spec {
	font-size: .875rem;
}

/* [слайдер] */
.operators .operators-slider .f-carousel__slide {
	--f-carousel-slide-width: 65%;
	--f-carousel-spacing: 24px;
}

@media (min-width: 576px) {
	.operators .operators-slider .f-carousel__slide {
		--f-carousel-slide-width: 50%;
		--f-carousel-spacing: 40px;
	}
}

@media (min-width: 768px) {
	.operators .operators-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 2.5;
		--f-carousel-slide-width: calc((100% - ((var(--f-carousel-slides-per-page) - 1) * var(--f-carousel-spacing))) / var(--f-carousel-slides-per-page));
	}

	.operators .operator-item .spec {
		font-size: 1rem;
	}
}

@media (min-width: 992px) {
	.operators .operators-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 4;
	}
}

@media (min-width: 1200px) {
	.operators .operators-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 4.5;
	}
}

@media (min-width: 1400px) {
	.operators .operators-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 6;
	}
}

/* Примеры проектов */
.projects-table .table-head {
	background-color: #5237df;
	border-radius: 20px 20px 0 0;
	margin-bottom: -16px;
}

.projects-table .project-item {
	background-color: #fff;
	border-radius: 20px;
	box-shadow: 0 4px 24px rgba(213,207,246, .25);
}

.projects-table .table-body .project-price {
	border-top: 1px solid #e7e7e7;
	border-bottom: 1px solid #e7e7e7;
}

/* [слайдер] */
.projects .projects-slider .f-carousel__slide {
	--f-carousel-slide-width: 90%;
	--f-carousel-spacing: 20px;
}

@media (min-width: 576px) {
	.projects .projects-slider .f-carousel__slide {
		--f-carousel-slide-width: 60%;
	}
}

@media (min-width: 768px) {
	.projects .projects-slider .f-carousel__slide {
		--f-carousel-slide-width: 100%;
		--f-carousel-spacing: 0;
	}

	.projects-table .table-body {
		background-color: #fff;
		border-radius: 20px;
		box-shadow: 0 4px 24px rgba(213,207,246, .25);
		overflow: hidden;
	}
	
	.projects-table .table-body > div:nth-child(even) {
		background-color: #fcfbff;
	}

	.projects-table .project-item {
		background-color: transparent;
		box-shadow: none;
		border-radius: 0;
	}

	.projects-table .table-body .project-price {
		border: 0;
	}	
}

@media (min-width: 992px) {	
	.projects-table .table-body .project-name {
		border-right: 1px solid #e7e7e7;
	}	
}

/* Тарифы */
.tariffs .tariffs-item .detailed-list {
	box-shadow: 0 4px 14px rgba(0,0,0, .04);
}

.tariffs .tariffs-item .detailed-list {
	background-color: var(--bg-list-color, #f8f8f8);
}

.tariffs .tariffs-item ul li {
	padding: .625rem 1.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}

.tariffs .tariffs-item ul li:nth-child(even) {
	background-color: rgba(255,255,255, .5);
}

.tariffs .tariffs-item ul li::after {
	color: #70ad5a;
	content: "\f058";
	font-family: "Font Awesome 6 Free";
	font-size: 20px;
	line-height: 1;
	font-weight: 400;
}

.tariffs .tariffs-item ul li.excluded::after {
	color: #b0b0b0;
	content: "\f057";
}

/* [слайдер] */
.tariffs .tariffs-slider .f-carousel__slide {
	--f-carousel-slide-width: 100%;
	--f-carousel-spacing: 20px;
}

@media (min-width: 576px) {
	.tariffs .tariffs-slider .f-carousel__slide {
		--f-carousel-slide-width: 60%;
	}
}

@media (min-width: 768px) {
	.tariffs .tariffs-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 2.1;
		--f-carousel-spacing: 24px;
		--f-carousel-slide-width: calc((100% - ((var(--f-carousel-slides-per-page) - 1) * var(--f-carousel-spacing))) / var(--f-carousel-slides-per-page));
	}
}

@media (min-width: 992px) {
	.tariffs .tariffs-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 2.3;
	}
}

@media (min-width: 1200px) {
	.tariffs .tariffs-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 3.1;
	}
}

@media (min-width: 1400px) {
	.tariffs .tariffs-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 3;
	}
}

/* Рассчитайте стоимость [лид секция] */
.request-offer {
	background: linear-gradient(265deg, #682beb 14%, #7a77ff 88%);
}

.request-offer .content {
	padding-top: 80px;
	padding-bottom: 110px;
	z-index: 1;
}

.request-offer .bg-image {
	position: absolute;
	background: url(../img/bg-phone-red.png) no-repeat calc(50% + 20px) calc(100% + 8px) /160px,
				url(../img/bg-star-orange.svg) no-repeat -100px -200px /310px,
				url(../img/bg-star-rub.svg) no-repeat right -110px bottom -90px /280px;
	top: -3rem;
	right: 0;
	bottom: -3rem;
}

@media (min-width: 576px) {
	.request-offer .bg-image {
		background-position: right 64px bottom -8px, -100px -200px, right -110px bottom -90px;
		background-size: 240px, 310px, 340px;
	}
}

@media (min-width: 768px) {
	.request-offer .content {
		padding-bottom: 0;
	}
}

@media (min-width: 992px) {
	.request-offer .content {
		padding-top: 0;
		padding-bottom: 0;
	}

	.request-offer .bg-image {
		background-position: 29% 31px, left top -240px, 85% -90%;
		background-size: auto;
	}
}

/* Ответим на вопросы [лид секция] */
.questions-offer {
	background: linear-gradient(265deg, #eb872b 14%, #6e32ee 88%);
}

.questions-offer .content {
	padding-bottom: 220px;
	z-index: 1;
}

.questions-offer .bg-image {
	position: absolute;
	background: url(../img/bg-qalead-man.png) no-repeat calc(50% + 20px) calc(100% + 100px) /380px;
	top: -3rem;
	right: 0;
	bottom: -3rem;
}

@media (min-width: 576px) {
	.questions-offer .bg-image {
		background-size: 70%;
	}
}

@media (min-width: 768px) {
	.questions-offer .content {
		padding-bottom: 0;
	}
	
	.questions-offer .bg-image {
		top: -5rem;
		background-size: auto;
	}
}

@media (min-width: 992px) {
	.questions-offer {
		margin-top: 4rem;
	}

	.questions-offer .bg-image {
		top: -10rem;
		background-position: center bottom;
	}
}

/* Отраслевые решения */
@media (any-hover: hover) {
	.solutions-item:has(.stretched-link:hover) .icon img {
		transform: scale(1.2);
	}
}

/* [слайдер] */
.solutions .solutions-slider .f-carousel__slide {
	--f-carousel-slide-width: 90%;
	--f-carousel-spacing: 20px;
}

@media (min-width: 576px) {
	.solutions .solutions-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 2;
		--f-carousel-spacing: 24px;
		--f-carousel-slide-width: calc((100% - ((var(--f-carousel-slides-per-page) - 1) * var(--f-carousel-spacing))) / var(--f-carousel-slides-per-page));
	}
}

@media (min-width: 768px) {
	.solutions .solutions-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 2.1;
	}
}

/* времянка (перебивка фанси классов, класс нужно вырезать из dom при смене ширины экрана) */
@media (min-width: 992px) {
	.solutions .solutions-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 0;
		--f-carousel-spacing: 0;
		--f-carousel-slide-width: 33.33333333%;
		--f-carousel-slide-padding: 0 calc(var(--bs-gutter-x) * .5);
		margin-top: var(--bs-gutter-y);
	}
}

@media (min-width: 1200px) {
	.solutions .solutions-slider .f-carousel__slide {
		--f-carousel-slide-width: 25%;
	}
}
/* /времянка */

/* Вопросы и ответы */
.faq-accordion .btn-collapse {
	border-radius: 15px;
	line-height: 1.25;
}

.faq-accordion .btn-collapse::before {
	content: "\2b";
	display: inline-block;
	position: relative;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	margin-left: 10px;
	margin-right: 10px;
}

.faq-accordion .btn-collapse.active::before {
	content: "\f068";
}

.faq-accordion .btn-collapse.active {
	color: #fff;
	background-color: #8145ff;
}

.faq-accordion .collapse-content {
	font-size: .875rem;
}

@media (min-width: 576px) {
	.faq-accordion .btn-collapse {
		font-size: 1.125rem;
		border-radius: 30px;
	}

	.faq-accordion .collapse-content {
		font-size: 1rem;
	}
}

/* Акции */
.promotion .promotion-item {
	min-height: 300px;
}

.promotion .promotion-item .title {
	text-shadow: 0 1px 0 rgba(0,0,0, .5);
}

.promotion .promotion-item .pa {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
}

.promotion .promotion-item .bottom {
	border-top: 1px dotted #fff;
}

.promotion .promotion-item::before {
	content: "Акция";
	color: #fff;
	position: absolute;
	background: linear-gradient(#f8b249 0%, #fb8442 100%);
	top: 20px;
	left: 20px;
	padding: 7px 20px;
	border-radius: 20px;
	z-index: 2;
}

.promotion .promotion-item .cover::after {
	content: "";
	position: absolute;
	background: linear-gradient(transparent 60%, rgba(0,0,0,.5) 100%);
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}

@media (any-hover: hover) {
	.promotion .promotion-item:hover .cover img {
		transform: scale(1.05);
	}
}

/* [слайдер] */
.promotion .promotion-slider .f-carousel__slide {
	--f-carousel-slide-width: 90%;
	--f-carousel-spacing: 20px;
}

@media (min-width: 768px) {
	.promotion .promotion-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 2;
		--f-carousel-spacing: 24px;
		--f-carousel-slide-width: calc((100% - ((var(--f-carousel-slides-per-page) - 1) * var(--f-carousel-spacing))) / var(--f-carousel-slides-per-page));
	}
}

/* Блог */
.blog .blog-item {
	min-height: 300px;
	max-height: 400px;
}

.blog .blog-tile div:first-child .blog-item {
	min-height: 400px;
}

@media (max-width: 991px) {
	.blog .blog-tile div:first-child .blog-item {
		border-radius: 0;
		margin-top: -3rem;
		margin-left: calc(var(--bs-gutter-x) * -1);
		margin-right: calc(var(--bs-gutter-x) * -1);
	}
}

.blog .blog-item .pa {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
}

.blog .blog-item .description,
.blog .blog-item .date {
	font-size: .875rem;
}

.blog .blog-item .bottom {
	border-top: 1px dotted #b1b1b1;
}

.blog .blog-item .pa .bottom {
	border-top: 1px dotted #fff;
}

.blog .blog-item .cover::after {
	content: "";
	position: absolute;
	background: linear-gradient(transparent 0%, rgba(45, 45, 45, 0.83) 100%);
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}

@media (any-hover: hover) {
	.blog .blog-item:hover .cover img {
		transform: scale(1.05);
	}
}

@media (min-width: 576px) {
	.blog .blog-item .description,
	.blog .blog-item .date {
		font-size: 1rem;
	}
}

/* [слайдер] */
.blog .blog-slider .f-carousel__slide {
	--f-carousel-slide-width: 90%;
	--f-carousel-spacing: 20px;
}

@media (min-width: 768px) {
	.blog .blog-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 2;
		--f-carousel-spacing: 24px;
		--f-carousel-slide-width: calc((100% - ((var(--f-carousel-slides-per-page) - 1) * var(--f-carousel-spacing))) / var(--f-carousel-slides-per-page));
	}
}

/* Отзывы о колл-центре */
.reviews .reviews-item {
	cursor: pointer;
}

.reviews .reviews-item .item-wrap {
	margin-top: -100px;
}

.reviews .reviews-item .ava {
	max-width: 155px;
}

.reviews .reviews-item .ava .photo {
	border-radius: 50%;
	box-shadow: 0 0 0 8px #f8f7fc;
}

.reviews .reviews-item .ava::before {
	content: url("data:image/svg+xml,%3Csvg width='31' height='31' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30.017 20.943c.636-1.694.983-3.528.983-5.443C31 6.94 24.06 0 15.5 0 6.94 0 0 6.94 0 15.5 0 24.06 6.94 31 15.5 31c1.938 0 3.794-.356 5.504-1.006L21 30c1.667-.5 5.7-1.1 8.5.5 1.597.913 1.424.367.954-1.113-.56-1.763-1.541-4.854-.454-8.387l.017-.057Z' fill='url(%23a)'/%3E%3Cpath d='m13.612 9.88-.968 5.368h1.76v5.94h-5.94V15.16l1.584-5.28h3.564Zm8.272 0-.968 5.368h1.76v5.94h-5.94V15.16l1.584-5.28h3.564Z' fill='%23fff'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='15.5' y1='0' x2='15.5' y2='31' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%234970F8'/%3E%3Cstop offset='1' stop-color='%237D42FB'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
	position: absolute;
	top: 5%;
	left: 0;
}

.reviews .reviews-item .text {
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	min-height: 125px;
	max-height: 125px;
	overflow: hidden;
	transition: all .5s ease-out;
}

.reviews .reviews-item .text.opened {
	-webkit-line-clamp: 100;
	max-height: 100vh;
}

/* [слайдер] */
.reviews .reviews-slider .f-carousel__slide {
	--f-carousel-slide-width: 100%;
	--f-carousel-spacing: 20px;
	margin-top: 76px;
}

@media (min-width: 576px) {
	.reviews .reviews-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 2;
		--f-carousel-spacing: 24px;
		--f-carousel-slide-width: calc((100% - ((var(--f-carousel-slides-per-page) - 1) * var(--f-carousel-spacing))) / var(--f-carousel-slides-per-page));
	}
	
	.reviews .reviews-item .author {
		font-size: 1.25rem;
	}
}

@media (min-width: 768px) {
	.reviews .reviews-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 2.1;
	}
}

/* Баннер-врезки, блоки сообщений */
.banner-reviews {
	background: #fff url(../img/bg-banner-1.png) no-repeat center bottom -20px / 300px;
	min-height: 300px;
}

.banner-case {
	background: #fff url(../img/bg-banner-2.png) no-repeat right -20px bottom -40px / 240px;
	min-height: 260px;
}

.banner-projects {
	background: #fff url(../img/bg-logo-wm.svg) no-repeat center bottom -30px / 240px;
	min-height: 260px;
}

.banner-reviews .text,
.banner-case .text,
.banner-projects .text {
	font-size: .875rem;
}

@media (min-width: 576px) {
	.banner-reviews {
		background-position: right bottom -20px;
		background-size: auto;
	}

	.banner-case {
		background-position: right -20px bottom -40px;
		background-size: auto;
	}
	
	.banner-projects {
		background-position: right -20px bottom -40px;
		background-size: auto;
	}
	
	.banner-reviews .text,
	.banner-case .text,
	.banner-projects .text {
		font-size: 1rem;
	}
}

@media (min-width: 768px) {
	.banner-reviews {
		background-position: right -10px center;
		min-height: auto;
	}
	
	.banner-case {
		background-position: right -20px center;
		min-height: auto;
	}
	
	.banner-projects {
		background-position: right -35px top 20px;
		min-height: auto;
	}
}

/* глобальные [табы] */
.scroller.tabs {
	white-space: wrap;
}

.tab-pane + .tab-pane {
	display: none;
}

/* Общие настройки слайдера */
.f-carousel__dots li.is-current .f-carousel__dot {
	background-color: #5237df;
}

.f-carousel__dots {
	--f-carousel-dot-opacity: 1;
	--f-carousel-dot-color: #d9d9d9;
	--f-carousel-dot-width: 100%;
	--f-carousel-dot-height: 2px;
	--f-carousel-dots-width: 42px;
	--f-carousel-dots-height: 22px;
	--f-carousel-dot-radius: 0;
	justify-content: normal;
	top: calc(100% + 3rem);
	max-width: 1320px;
	/* padding-right: calc(var(--bs-gutter-x)* .5); */
}

.operators-slider .f-carousel__dots {
	--bs-gutter-x: 2.5rem;
}

.operators-slider .f-carousel__dots,
.row .f-carousel__dots {
	padding-left: calc(var(--bs-gutter-x)* .5);
}

/* -- Блог (каталог и статья) -- */
.blog-categories li {
	line-height: 1.75;
}

.blog-infobar {
	font-size: .75rem;
}

.blog-page .cover img  {
	min-height: 320px;
}

.blog-page .cover::after {
	content: "";
	position: absolute;
	background: linear-gradient(transparent 60%, rgba(0,0,0,.5) 100%);
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}

.blog-page .cover .title {
	left: 0;
	bottom: 0;
	z-index: 2;
}

@media (min-width: 768px) {
	

	.blog-infobar {
		font-size: .875rem;
	}
	
	.blog-page .page-text {
		border-radius: 20px;
		box-shadow: 0 4px 24px rgba(213, 207, 246, .25);
	}
	
	.blog-page .cover img {
		max-height: 360px;
	}
}

/* Оформление текстового контента стр. и блога */
.page-text :not(h2, h3, h4, .c-white) {
	color: #313131;
}

.page-text h2 {
	font-size: 1.5rem;
	margin-bottom: 10px;
}

.page-text h3 {
	font-size: 1.125rem;
	line-height: 1.2;
	margin-bottom: 10px;
}

.page-text h2:not(:first-child) {
	margin-top: 2rem;
}

.page-text h2:not(:first-child) + h2,
.page-text h3 + h2:not(:first-child) {
	margin-top: 0;
}

.page-text h3:not(:first-child) {
	margin-top: 1rem;
}

.page-text p {
	font-size: .875rem;
	line-height: 1.75;
-webkit-hyphens: auto;
	-ms-hyphens: auto;
		hyphens: auto;
}

.page-text ul,
.page-text ol {
	font-size: .75rem;
	line-height: 1.75;
-webkit-hyphens: auto;
	-ms-hyphens: auto;
		hyphens: auto;
}

.page-text p:not(:last-child),
.page-text ul:not(:last-child),
.page-text ol:not(:last-child),
.page-text li:not(:last-child),
.page-text > img:not(:last-child) {
	margin-bottom: 1rem;
}

.page-text ul:not(:last-child):has(+ h2),
.page-text ol:not(:last-child):has(+ h2) {
	margin-bottom: 0;
}

.page-text p:empty {
	min-height: 0;
	margin: 0;
	padding: 0
}

.page-text li ul {
	margin-top: 1rem;
}

.page-text:not(.sitemap) ul:not(.ul-styled-positive),
.page-text:not(.sitemap) ol {
	display: inline-block;
}

.page-text ul:not([class]) li {
	position: relative;
	padding-left: 32px;
}

.page-text ul:not([class]) li::before {
	content: "";
	position: absolute;
	border: 2px solid #5237df;
	border-radius: 50%;
	width: 9px;
	height: 9px;
	left: 10px;
	top: 6px;
}

.page-text ol {
	counter-reset: myCounter;
}

.page-text ol li {
	position: relative;
	padding-left: 32px;
}

.page-text ol li::before {
	--marker-size: 24px;
	counter-increment: myCounter;
	content: counter(myCounter) ".";
	position: absolute;
	color: #000;
	background: #f2f2f2;
	font-size: 12px;
	font-weight: 700;
	line-height: var(--marker-size);
	text-align: center;
	width: var(--marker-size);
	height: var(--marker-size);
	border-radius: 6px;
	left: 0;
	top: 0;
}

.page-text .ul-styled-positive > li {
	background-color: #f1f9f0;
	border-radius: 10px;
	padding: 10px;
	padding-left: 46px;
}

.page-text .ul-styled-positive > li::before {
	position: absolute;
	content: url(../img/ico-check.svg);
	margin-left: -34px;
}

.page-text .ul-styled-negative > li {
	border-radius: 10px;
	padding-left: 35px;
}

.page-text .ul-styled-negative > li::before {
	position: absolute;
	content: url(../img/ico-cancel.svg);
	margin-left: -35px;
}

.page-text .ul-styled-steps {
	counter-reset: myCounter2;
}

.page-text .ul-styled-steps h3 {
	font-size: 22px;
	line-height: 1.2;
}

.page-text .ul-styled-steps h3::before {
	--marker-size: 42px;
	counter-increment: myCounter2;
	content: counter(myCounter2);
	display: block;
	background: linear-gradient(160deg, #f7e7fd 0%, #fff4ed 100%);
	border-radius: 50%;
	font-size: 14px;
	line-height: var(--marker-size);
	text-align: center;
	width: var(--marker-size);
	height: var(--marker-size);
	margin-bottom: 12px;
}

.page-text .ul-styled-steps > li {
	border: 1px solid #e5e5e5;
	border-radius: 4px;
	padding: 24px 35px;
	margin-bottom: 24px;
}

.page-text .ul-styled-steps > li p {
	color: #8e8e8e;
	margin-top: 12px;
}

.page-text:not(.sitemap) a {
	color: #aa7d68;
	text-decoration: underline;
	text-underline-offset: 0.14em;
	text-decoration-thickness: 1px;
}

.page-text blockquote {
	position: relative;
	background: linear-gradient(180deg, #f7e7fd 0%, #fff4ed 100%);
	border-radius: 10px;
	font-size: 20px;
	text-align: center;
	padding: 40px 20px;
	margin: 24px 0;
}

.page-text blockquote::before {
	content: "";
	position: absolute;
	top: 10px;
	bottom: 10px;
	left: 10px;
	right: 10px;
	border: 1px solid #fff;
	border-radius: 6px;
}

.page-text img {
	width: 100%;
	border-radius: 10px;
}

.pagination a,
.pagination .current {
	padding: 10px 15px;
	border-radius: 5px;
}

.pagination .current {
	background: linear-gradient(#f8b049 0%, #fb8843 100%);
}

@media (any-hover: hover) {
	.page-text:not(.sitemap) a:hover {
		color: #584a44;
	}
	
	.pagination a:hover {
		color: #fff;
		background: linear-gradient(#f8b049 0%, #fb8843 100%);
		text-decoration: none;
	}
}

@media (min-width: 768px) {
	

	
	.page-text h2 {
		font-size: 28px;
	}
	
	.page-text h2:not(:first-child) {
		margin-top: 36px;
	}
		
	.page-text .ul-styled-steps h3 {
		display: flex;
		align-items: center;
		font-size: 24px;
		gap: 12px;
	}
	
	.page-text .ul-styled-steps h3::before {
		margin-bottom: 0;
	}
	
	.page-text blockquote {
		font-size: 24px;
	}
	
	.page-text img.fl,
	.page-text img.fr {
		width: 50%;
	}

	.page-text img.fr {
		margin-left: 48px;
	}

	.page-text img.fl {
		margin-right: 48px;
	}
	
	.pagination a,
	.pagination .current {
		padding: 15px 20px;
		border-radius: 10px
	}
}

@media (min-width: 992px) {
	.page-text img.fl,
	.page-text img.fr {
		width: 55%;
	}
}

/* -- Акции -- */
.promo-page-hero {
	background-color: var(--bg-teaser-color,);
}

.promo-terms {
	background-color: #fff;
}

.promo-terms ol,
.ul-steps {
	counter-reset: myCounter;
}

.promo-terms li,
.ul-steps li,
.ul-negative li {
	display: flex;
	align-items: center;
	font-size: .875rem;
	margin-top: 16px;
	gap: 10px;
}

.promo-terms ol li::before,
.ul-steps li::before {
	--marker-size: 24px;
	counter-increment: myCounter;
	content: counter(myCounter);
	color: #fff;
	background: linear-gradient(#4970f8 0%, #7d42fb 100%);
	border-radius: 50%;
	font-weight: 700;
	line-height: var(--marker-size);
	text-align: center;
	width: var(--marker-size);
	height: var(--marker-size);
	flex-shrink: 0;
}

.promo-terms ul li::before,
.ul-negative li::before {
	--marker-size: 24px;
	content: "✖";
	color: #fff;
	background: linear-gradient(#ff4e4b 0%, #c93939 100%);
	border-radius: 50%;
	font-weight: 600;
	line-height: var(--marker-size);
	text-align: center;
	width: var(--marker-size);
	height: var(--marker-size);
	flex-shrink: 0;
}

@media (min-width: 768px) {
	.promo-page-hero {
		background: var(--bg-teaser-color, #f4f3ff) var(--bg-teaser-image,) no-repeat center right 25%;
	}
}

@media (min-width: 992px) {
	.promo-terms {
		background-color: inherit;
	}
	
	.promo-terms .terms-wrap {
		background-color: #fff;
		border-radius: 20px;
		box-shadow: 0 4px 24px rgba(213, 207, 246, .25);
	}
}

/* -- Услуги (стр. услуги) -- */
.uslugi-page-hero {
	background: var(--bg-teaser-color, #fff9e2);
	position: relative;
	padding-bottom: 140px;
}

.uslugi-page-hero .container-xxl {
	position: relative;
	z-index: 3;
}

.uslugi-page-hero::after {
	content: "";
	position: absolute;
	background: var(--bg-teaser-image,) no-repeat left 50px bottom -40px /400px;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}

/* plyr настройки */
.audio-player {
	background-color: #f1f1f1;
	--plyr-color-main: #444;
	--plyr-font-size-small: 12px;
	--plyr-font-size-time: 12px;
	--plyr-audio-control-color: #696969;
	--plyr-audio-control-background-hover: #ffa654;
	--plyr-control-icon-size: 10px;
	--plyr-control-radius: 50%;
	--plyr-audio-progress-buffered-background: #909090;
	--plyr-range-thumb-height: 12px;
	--plyr-range-track-height: 4px;
	--plyr-control-spacing: 5px;
}

.audio-player .plyr {
	border-radius: 40px;
}

.audio-player .plyr .plyr__controls {
	padding-right: 15px;
}

.audio-player .plyr__control {
	transition: none;
}

.audio-player .plyr__controls .plyr__controls__item:first-child {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
}

.audio-player .plyr__controls .plyr__controls__item.plyr__progress__container {
	margin: 0 10px;
}

.audio-player .plyr__control svg {
	fill: #fff;
	filter: drop-shadow(0 4px 6px rgba(0, 0, 0, .06));
}

.audio-player .plyr__control {
	background: linear-gradient(#f8b249 0%, #fb8442 100%);
}

.uslugi-page-description .about-service,
.uslugi-page-description .about-service-block {
	color: #313131; 
	border-radius: 10px;
}

.uslugi-page-description .about-service-block + .about-service-block {
	margin-top: 1rem;
}

.uslugi-page-description .about-service h3 {
	font-size: 1rem;
	margin-bottom: .5rem;
}

.uslugi-page-description .about-service-block .title {
	font-size: 1.125rem;
	line-height: 1.25;
}

.uslugi-page-description .text {
	font-size: .875rem;
	line-height: 1.75;
	
}
.uslugi-page-description .text .scroll-auto{
	overflow: auto;
}
.uslugi-page-description p + p,
.uslugi-page-description p + ul,
.uslugi-page-description ul + p {
	margin-top: 1rem;
}

.uslugi-page-description ul li {
	position: relative;
	padding-left: 29px;
}

.uslugi-page-description ul li:not(:last-child) {
	margin-bottom: 1rem;
}

.uslugi-page-description ul li::before {
	content: "";
	position: absolute;
	border: 2px solid #5237df;
	border-radius: 50%;
	width: 9px;
	height: 9px;
	left: 10px;
	top: calc(1em - 6px);
}

@media (min-width: 576px) {
	.uslugi-page-hero::after {
		background-position: right bottom -30px;
		background-size: 500px;
	}
}

@media (min-width: 768px) {
	.uslugi-page-hero {
		min-height: 420px;
	}

	.uslugi-page-hero::after {
		background-position: 0 bottom;
		background-size: auto;
		left: 50%;
		width: 50%;
	}
	
	.uslugi-page-description .about-service,
	.uslugi-page-description .about-service-block {
		border-radius: 20px;
	}

	.uslugi-page-description .about-service h3 {
		font-size: 1.25rem;
	}
	
	.uslugi-page-description .text {
		font-size: 1rem;
	}
	
	.uslugi-page-description .about-service-block .title {
		background-color: #fcfcfc;
		font-size: 1.375rem;
	}
}




@media (min-width: 992px) {
	.uslugi-page-description .about-service-block .title {
		background-color: #fcfcfc;
		font-size: 1.5rem;
	}
}

/* -- Колл-центр -- */
.callcenter-page-hero {
	background: var(--bg-teaser-color, #f4f3ff);
	position: relative;
	padding-bottom: 200px;
}

.callcenter-page-hero .container-xxl {
	position: relative;
	z-index: 3;
}

.callcenter-page-hero::after {
	content: "";
	position: absolute;
	background: var(--bg-teaser-image,) no-repeat right -40px bottom -10px /330px;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}

.callcenter-page-description .callcenter-geo {
	border-radius: 10px;
}

.callcenter-page-description .text-block {
	color: #313131;
	background: url(../img/bg-logo-wm2.svg) no-repeat center bottom -30px /245px;
	border-bottom: 1px solid #f2f2f2;
}

.callcenter-page-description .text-block > div {
	padding-bottom: 100px;
}

/* карта колл-центров */
.map-block .city {
	display: flex;
	align-items: center;
	gap: 6px;
	z-index: 1;
}

.map-block .map {
	margin: -100px -24px -24px -24px;
}

.map-block .map-img {
	max-width: none;
}

.map-block .city button {
	box-shadow: 0 2px 10px 0 rgba(0,0,0, .25);
}

.map-block .city::before {
	content: "";
	display: block;
	background-color: #5237df;
	border: 3px solid #5237df;
	border-radius: 50%;
	width: 14px;
	height: 14px;
	transition: all .15s ease;	
}

.map-block .city.active::before {
	background-color: #fff;
}

.map-block .city.active button {
	color: #fff;
	background-color: #5237df;
}

.map-block .city {
	top: var(--city-pos-top);
	left: var(--city-pos-left);
}

.map-block .scroll-notice {
	color: #5237df;
	background-color: #fff;
	display: flex;
	align-items: center;
	font-size: 11px;
	border-radius: 30px;
	border: 1px solid #5237df;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
}

.map-block .scroll-notice::before,
.map-block .scroll-notice::after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	margin: 4px 10px;
}

.map-block .scroll-notice::before {
	content: "\f104";
}

.map-block .scroll-notice::after {
	content: "\f105";
}

.map-block .city-info {
	background-color: #5237df;
	border-radius: 0 0 10px 10px;
}

.map-block .city-info {
	display: none;
}

.map-block .city-info.visible {
	display: block;
}

.map-block .city-info .city-tabs {
	box-shadow: inset 0 -1px 0 #442dbf;
}

.map-block .city-info .city-tab {
	border-bottom: 1px solid transparent;
}

.map-block .city-info .city-tab.active {
	border-color: #fff;
}

@media (min-width: 768px) {
	.map-block .city-info {
		border-radius: 15px;
	}
}

@media (min-width: 992px) {
	.map-block .map {
		margin: -80px 0 0;
	}

	.map-block .city-info-wrap {
		position: absolute;
		max-width: 360px;
		right: 0;
		bottom: 10%;
	}
}

@media (min-width: 1200px) {
	.map-block .city-info-wrap {
		right: 2%;
		bottom: 20%;
	}
}

/* акардион тарифов */
.tariff-accordion .accordion-item + .accordion-item {
	margin-top: .5rem;
}

.tariff-accordion .btn-collapse::after {
	content: "\f107";
	color: #bcbcbc;
	display: inline-block;
	position: relative;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	margin-left: auto;
	margin-right: 10px;
	transition: all .15s ease-in-out;
}

.tariff-accordion .btn-collapse.active::after {
	color: #5237df;
	transform: rotate(180deg);
}

@media (min-width: 576px) {
	.callcenter-page-hero::after {
		background-position: right bottom -40px;
		background-size: 400px;
	}

	.tariff-accordion .accordion-item {
		border-radius: 20px;
	}
	
	.callcenter-page-description .text-block {
		background-size: 340px;
	}
	
	.callcenter-page-description .text-block > div {
		padding-bottom: 140px;
	}
}

@media (min-width: 768px) {
	.callcenter-page-hero {
		min-height: 420px;
	}

	.callcenter-page-hero::after {
		content: "";
		position: absolute;
		background: var(--bg-teaser-image,) no-repeat 0 bottom;
		top: 0;
		left: 50%;
		width: 50%;
		height: 100%;
		z-index: 2;
	}
	
	.callcenter-page-description .callcenter-geo {
		border-radius: 20px;
	}
	
	.callcenter-page-description .text-block {
		background-position: right 40px bottom -60px;
		background-size: auto;
	}
	
	.callcenter-page-description .text-block > div {
		padding-bottom: 0;
	}
}

@media (min-width: 992px) {
	.callcenter-page-hero {
		min-height: 480px;
	}
}

/* -- Проекты (каталог) -- */
.projects .project-card .cover {
	max-height: 300px;
}

.projects .project-card .cover::after {
	content: "";
	position: absolute;
	background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(45, 45, 45, 0.83) 100%);
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}

.projects .project-card .title {
	bottom: 0;
	left: 0;
	z-index: 2;
}

.projects .project-card .description {
	font-size: .875rem;
}

.projects .project-card .bottom {
	border-top: 1px dotted #b1b1b1;
}

@media (any-hover: hover) {
	.projects .project-card:hover .cover img {
		transform: scale(1.05);
	}
}

@media (min-width: 576px) {
	.projects .project-card .description {
		font-size: 1rem;
	}
}

/* -- Проекты (стр. проекта) -- */
.projects-page-hero {
	background-color: #f4f3ff;
	position: relative;
}

.projects-page-description .page-text {
	background-color: #fff;
}

.projects-page-description .features-item .title {
	font-size: 1.625rem;
	line-height: 1;
	hyphens: auto;
}

.projects-page-description .features-item .title::after {
	content: "";
	display: block;
	border-top: 1px solid #dcdcdc;
	width: 65px;
	margin-top: 10px;
	margin-bottom: 10px;
}

.projects-page-description .features-item .description {
	font-size: .875rem;
}

.projects-page-description .task-result .task {
	background: linear-gradient(#f8faff 0%, #eff4ff 100%);
}

.projects-page-description .task-result .result {
	background: linear-gradient(#f8ffee 0%, #f1ffe0 100%);
}

.projects-page-description .task-result h4 {
	margin-bottom: 8px;
}

.projects-page-description .task-result .task h4 {
	background: url(../img/ico-triangle.svg) no-repeat 0 center;
	padding-left: 20px;
}

.projects-page-description .page-text ol li {
	padding-left: 42px;
}

.projects-page-description .page-text ol li::before {
	--marker-size: 25px;
	content: counter(myCounter);
	background: #ffd057;
	font-size: .75rem;
	border-radius: 6px;
}

@media (min-width: 768px) {
	.projects-page-hero::after {
		content: "";
		position: absolute;
		background: url(../img/bg-teaser-mask.svg) no-repeat, var(--bg-teaser-image,) no-repeat 0 center;
		top: 0;
		left: 50%;
		width: 50%;
		height: 100%;
		z-index: 2;
	}

	.projects-page-description .page-text {
		border-radius: 20px;
		box-shadow: 0 4px 24px rgba(213, 207, 246, .25);
	}

	.projects-page-description .features-item .title {
		font-size: 1.75rem;
	}
	
	.projects-page-description .page-text ol li::before {
		--marker-size: 30px;
		font-size: 1rem;
		border-radius: 8px;
	}
}

@media (min-width: 992px) {
	.projects-page-hero {
		min-height: 480px;
	}

	.projects-page-description {
		background-color: inherit;
	}
	
	.projects-page-description .features-item .title {
		font-size: 2rem;
	}
}

/* Что мы предлагаем */
/* [слайдер] */
.weoffer .weoffer-slider .f-carousel__slide {
	--f-carousel-slide-width: 90%;
	--f-carousel-spacing: 20px;
}

@media (min-width: 576px) {
	.weoffer .weoffer-slider .f-carousel__slide {
		--f-carousel-slide-width: 60%;
	}
}

@media (min-width: 768px) {
	.weoffer .weoffer-slider .f-carousel__slide {
		--f-carousel-spacing: 24px;
		--f-carousel-slides-per-page: 2.1;
		--f-carousel-slide-width: calc((100% - ((var(--f-carousel-slides-per-page) - 1) * var(--f-carousel-spacing))) / var(--f-carousel-slides-per-page));
	}
}

@media (min-width: 992px) {
	.weoffer .weoffer-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 3.1;
	}
}

@media (min-width: 1400px) {
	.weoffer .weoffer-slider .f-carousel__slide {
		--f-carousel-slides-per-page: 3;
	}
}

/* -- Отраслевые решения -- */
.solution-page-hero {
	background: var(--bg-teaser-color, #f4f3ff);
	position: relative;
	padding-bottom: 180px;
}

.solution-page-hero .container-xxl {
	position: relative;
	z-index: 3;
}

.solution-page-hero::after {
	content: "";
	position: absolute;
	background: var(--bg-teaser-image,) no-repeat center bottom -10px /340px;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}

.solution-page-description .page-text {
	background-color: #fff;
}

@media (min-width: 576px) {
	.solution-page-hero::after {
		background-position: right bottom -10px;
		background-size: 400px;
	}
}

@media (min-width: 768px) {
	.solution-page-hero {
		min-height: 420px;
	}

	.solution-page-hero::after {
		content: "";
		position: absolute;
		background: var(--bg-teaser-image,) no-repeat 0 bottom;
		top: 0;
		left: 50%;
		width: 50%;
		height: 100%;
		z-index: 2;
	}
	
	.solution-page-description .page-text {
		border-radius: 20px;
		box-shadow: 0 4px 24px rgba(213, 207, 246, .25);
	}
}

/* -- Видео -- */
.videos .video-item {
	min-height: 300px;
}

.videos .video-item .title {
	bottom: 0;
	left: 0;
	z-index: 2;
}

.video-item .play-wrap {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}

@media (min-width: 992px) {
	.videos .col-lg-4 .video-item .btn-play-lg span {
		display: none;
	}
}

/* -- Расчитать стоимость -- */
.calc-offer {
	background: linear-gradient(#755aff 0%, #6353b7 100%);
}

.calc-offer .calc-offer-wrap {
	border-radius: 10px;
}

.calc-offer .form-title {
	font-size: 1.125rem;
}

.calc-offer .right {
	background: url(../img/bg-star-orange.svg) no-repeat right -120px top -90px /240px,
				url(../img/bg-star-rub.svg) no-repeat right -35px bottom -30px /140px,
				linear-gradient(#e3eeff 0%, #ebedff 100%);
}

.calc-offer .right .ico-calc {
	margin: -32px;
}

.calc-offer .right .steps-count .count {
	color: #cccede;
	font-size: 1.5rem;
	font-weight: 500;
	user-select: none;
}

.calc-offer .right .steps-count .active {
	color: #5237df;
}

.calc-offer-form span {
	display: inline-block;
	font-size: .875rem;
	padding: 10px 16px;
	border-radius: 40px;
	/* transition: all .15s ease; */
}

.calc-offer-form label input:checked + span {
	color: #fff;
	background-color: #4a4d5e;
	font-weight: 500;
}

.calc-offer-success {
	background: linear-gradient(#e3eeff 0%, #ebedff 100%);
}

.calc-offer-success .ico-calc-ok {
	margin: -18px;
}

@media (max-width: 575px) {
	.calc-offer .calc-buttons {
		position: fixed;
		background-color: #fff;
		padding: 15px;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 7;
	}
	
	.calc-offer .calc-buttons .btn {
		width: 100%;
	}
}

@media (min-width: 575px) {
	.steps-content {
		border-bottom: 1px solid var(--border-color);
	}
	
	.calc-offer-form span {
		font-size: 1rem;
	}
}

@media (min-width: 768px) {
	.calc-offer .calc-offer-wrap {
		border-radius: 20px;
		min-height: 560px;
	}
	
	.calc-offer .form-title {
		font-size: 1.5rem;
	}
	
	.calc-offer .right .steps-count .count {
		font-size: 2.875rem;
	}
}

/* -- Отзывы -- */
.reviews .reviews-tile .reviews-item {
	transition: all .35s ease-in-out;
}

.reviews .reviews-tile .reviews-item:not(.opened),
.reviews-tile [class^="col"].opened {
	height: 310px;
}

.reviews .reviews-tile .reviews-item .text {
	max-height: 90px;
	overflow: hidden;
	transition: all .5s ease-in-out;
}

/* удалить, времянка */
.reviews-tile [class^="col"]:has(.reviews-item.opened) {
	height: 310px;
}
/* . */

.reviews .reviews-tile .reviews-item.opened .text {
	-webkit-line-clamp: 100;
	max-height: 100vh;
}

.reviews .reviews-tile .reviews-item.opened {
	background-color: #fff;
	box-shadow: 0 4px 24px 0 rgba(96,84,169, .25);
	position: absolute;
	z-index: 2;
	top: 0;
	left: calc(var(--bs-gutter-x) * .5);
	right: calc(var(--bs-gutter-x) * .5);
}

.reviews .reviews-tile .reviews-item .btn-fulltext::after {
	content: "\f107";
	display: inline-block;
	font-family: "Font Awesome 6 Free";
	font-size: 85%;
	font-weight: 900;
	margin-left: 6px;
	transition: all .15s ease-in-out;
}

.reviews .reviews-tile .reviews-item .btn-fulltext.active::after {
	transform: rotate(180deg);
}

/* -- Футер -- */
summary {
	cursor: pointer;
	user-select: none;
}
.my-ps p {border-bottom: 1px solid #eee;margin-bottom: 15px;padding-bottom: 15px;}
.f-mail {
margin-left: 5px;color: #000;}

.footer .footer-menu .more summary {
	outline: none;
	list-style: none;
}

.footer .footer-menu .menu-list {
	background-color: #fff;
	position: absolute;
	width: max-content;
	bottom: calc(100% + 15px);
	z-index: 2;
	border-radius: 10px 10px 10px 0;
	box-shadow: 0 4px 14px rgba(98,120,179, .2);
	transform: translateY(5px);
	overflow: hidden;
	animation: fadeInSub2 ease .35s;
}

.footer .footer-menu summary::after {
	content: "\f107";
	color: #ff9e45;
	display: inline-block;
	font-family: "Font Awesome 6 Free";
	font-size: 85%;
	font-weight: 900;
	margin-left: 6px;
	transition: all .15s ease-in-out;
}

.footer .footer-menu .more[open] summary::after {
	transform: rotate(180deg);
}

.footer .footer-menu .menu-list a {
	color: #525252;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 16px;
	gap: 20px;
}

.footer .footer-menu .menu-list a::after {
	content: "\f105";
	color: #939393;
	display: inline-block;
	position: relative;
	font-family: "Font Awesome 6 Free";
	font-size: 85%;
	font-weight: 900;
}

@keyframes fadeInSub2 {
	from {
		bottom: 100%;
		opacity: 0;
	}
	to {
		bottom: calc(100% + 15px);
		opacity: 1;
	}
}

/* -- Политика конфиденциальности -- */
@media (min-width: 768px) {
	.policy .policy-wrap {
		background-color: #fff;
		border-radius: 20px;
		box-shadow: 0 4px 24px rgba(213, 207, 246, .25);
	}
}

/* -- Fancybox -- */
/* слайдер без границ */
section .f-carousel__viewport {
	overflow: visible;
}

.fancybox__container {
	--fancybox-content-color: #000;
	--fancybox-bg: rgba(0,0,0, .68);
	--fancybox-zIndex: 10100;
}

/* галерея */
.photo-gallery.fancybox__container {
	--fancybox-content-color: #000;
	--fancybox-bg: rgba(0,0,0, 1);
	--fancybox-zIndex: 10100;
}

.fancybox__toolbar {
	--f-button-bg: transparent;
}

.fancybox__thumbs {
	--f-thumb-outline-color: #5237df;
	--f-thumb-border-radius: 6px;
	--f-thumb-outline: 3px;
}

.fancybox__container .fancybox__nav {
	--f-button-bg: #5237df;
	--f-button-svg-filter: none;
	transition: all .15s ease;
}

@media (any-hover: hover) {
	.fancybox__container .fancybox__nav .f-button:hover {
		--f-button-bg: #b6cf1c;
	}
}

/* popup окна */
.fancybox__content :focus {
	outline: 0 !important;
}

.modal-box > .f-button.is-close-btn,
.is-compact .modal-box > .f-button.is-close-btn {
	--f-button-color: #000;
	--f-button-hover-color: #000;
	--f-button-bg: transparent;
	--f-button-active-bg: transparent;
	--f-button-hover-bg: transparent;
	--f-button-svg-filter: none;
	--f-button-width: 32px;
	--f-button-height: 32px;
	--f-button-border: 1px solid #c6c6c6;
	--f-button-border-radius: 50%;
	--f-button-svg-width: 14px;
	--f-button-svg-height: 14px;
	--f-button-svg-stroke-width: 3;
	top: 15px;
	right: 15px;
	opacity: 1;
}

.modal-box .title {
	font-size: 1.5rem;
}

@media (min-width: 576px) {
	.modal-box .title {
		font-size: 1.75rem;
	}
	
	.gap-4 {
	gap: 1.9rem;
	font-size: 14px;
}
}

.mob-on {display:none}
@media (max-width: 991px) {  .mob-on {
	display: block;
	padding: 20px;
}}

@media (max-width: 480px) { 

.fancybox__content iframe {
	width: 300px;
	height: auto;
}

.gap-4 {
	gap: 1.9rem;
	font-size: 14px;
}
/* -- Доп. кастом -- */
/* анимация */
@keyframes float {
	0%,to {
		transform: rotate(-1deg) translate(-.1rem,1rem)
	}

	50% {
		transform: rotate(2deg)
	}

	75% {
		transform: rotate(.5deg) translate(.25rem,.5rem)
	}
}

.animate-float {
	animation: float 8s ease infinite;
}

@keyframes string {
	25% {
		transform: translate(.02rem,-.05rem) scaleY(1.03) scaleX(1.02)
	}

	50% {
		transform: translate(.1rem,.1rem) scaleY(1.05) scaleX(.95)
	}

	75% {
		transform: translate(.05rem,.05rem) scaleY(.96) scaleX(1)
	}
}

.animate-string {
	animation: string .25s ease-in-out infinite;
}

@keyframes blur-in {
	0% {
		filter: brightness(1) blur(10px);
		transform: scale(.54);
		opacity: 0;
	}

	10% {
		filter: brightness(1.15) blur(5px);
		transform: scale(.78);
	}

	to {
		filter: brightness(1) blur(0);
		transform: scale(1);
		opacity: 1;
	}
}

.animate-blur-in {
	animation: blur-in 1s cubic-bezier(0,.55,.45,1) 1s backwards;
}

@keyframes fade {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.animate-fade {
	animation: fade cubic-bezier(0.45, 0.05, 0.55, 0.95) .5s;
}