/* Fonts */

@font-face {
	font-family: 'Rawline';
	src: url('../font/rawline-500.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Rawline';
	src: url('../font/rawline-600.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Rawline';
	src: url('../font/rawline-700.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Rawline';
	src: url('../font/rawline-800.woff2') format('woff2');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}




/* Reset */

* {padding: 0;	margin: 0; -webkit-tap-highlight-color:transparent;}
*, *:before, *:after {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
:focus, :active, a:focus, a:active {outline: none;}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}
html, body {
	width: 100%;
	min-height: 100%;
	font-size: 100%;
	line-height: normal;
	-webkit-text-size-adjust: none
}

input, button, textarea, select {
	font-family: inherit;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border-radius: 0;
}
input::placeholder {opacity: 1;}
input::-ms-clear {display: none;}
button::-moz-focus-inner {padding: 0; border: 0;}
button, .button, input[type="button"], input[type=submit] {cursor: pointer;}
button[disabled], input[disabled] {cursor: default;}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {display: none;}

a, a:hover, a:visited {text-decoration: none;}
img {vertical-align: top; max-width: 100%;}

h1,h2,h3,h4,h5,h6 {font-size: inherit; font-weight: normal;}

ol, ul {list-style: none;}
ol {counter-reset: myCounter;}
ol li:before {
	counter-increment: myCounter;
	content:counter(myCounter);
	margin-right: 5px;
}

table {border-collapse: collapse; border-spacing: 0;}
th {font-weight: inherit;}

/* position:fixed блокирует скролл в iOS, чтобы бургер не уезжал из-за эластичного скрола, 100vh тоже нужен для safari */
.scroll_disable {overflow: hidden; height: 100vh;}
.scroll_disable .page {position: fixed;}





/* Global */

:root {
	--white: #FFFFFF;
	--black: #0E1016;
	--lightblack: #6B7280;
	--gray: #D1D5DB;
	--lightgray: #E7EAEF;
	--blue: #0048D9;
	--lightblue: #EEF3FF;
	--orange: #FDDCC5;
}

body {
	font-family: 'Rawline', sans-serif;
	font-weight: 500;
	font-size: 18px;
	color: var(--black);
	background: var(--white); 
	overflow-x: hidden;
}

.page {
	width: 100%;
	min-width: 320px;
	overflow: hidden;
	position: relative;
}

.section, .footer {
	max-width: 1200px;
	padding: 0 60px;
	margin: 0 auto;
	position: relative;
}
.section::after, .header::after, .footer::after {
	content:'';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc((100% - 100vw) / 2);
	right: calc((100% - 100vw) / 2);
	z-index: -1;
}
.section, .header {
	margin-bottom: 120px;
}

.title {
	font-weight: 700;
	font-size: 48px;
	text-align: center;
	display: block;
	margin-bottom: 40px;
}
.title_medium {
	font-weight: 600;
	font-size: 36px;
	text-align: left;
	margin-bottom: 16px;
}

.bigtext {
	font-weight: 600;
	font-size: 22px;
}

a, a:before, button {
	transition: 0.3s;
}
p:not(:last-child) {
	margin-bottom: 16px;
}

.photo {
	object-fit: cover;
	object-position: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 56px;
	padding: 0 16px;
	border: none;
	border-radius: 8px;
	background: var(--blue);
	color: var(--white);
	font-weight: 700;
	font-size: 18px;
}
.button_arrow::after {
	content:'';
	display: block;
	width: 24px;
	height: 24px;
	background: url(../img/arrow-button.svg) center no-repeat;
	background-size: contain;
	margin-left: 8px;
}
@media (hover: hover) {
	.button:hover {
		filter: brightness(120%);
		cursor: pointer;
	}
}
.button:active {
	opacity: 0.7;
}

.bitrix24-script {
	display: none;
}





/* Header */

.header {
	max-width: 1440px;
	margin-left: auto;
	margin-right: auto;
	height: 64px;
	padding: 0 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	z-index: 10;
}
.header::after {
	box-shadow: 0px 6px 18px 0px rgba(0, 0, 0, 0.12);
}
.header__logo {
	font-weight: 700;
	font-size: 20px;
	display: grid;
	grid-template-columns: repeat(2, auto);
	grid-gap: 0.4em;
	align-items: center;
	justify-content: start;
	position: relative;
	z-index: 1001;
}
.header__logo img {
	width: 2em;
}

.header__actions {
	display: grid;
	grid-auto-flow: column;
	grid-gap: 12px;
	align-items: center;
	z-index: 1000;
}

.header__phone {
	font-size: 16px;
	display: flex;
}
.header__phone-text {
	color: var(--lightblack);
	margin-right: 4px;
}
.header__phone-tel {
	font-weight: 700;
	color: var(--black);
}
@media (hover: hover) {
	.header__phone-tel:hover {
		color: var(--blue);
	}
}

.header__lang {
	position: relative;
	width: 92px;
}
.header__lang-list {
	position: absolute;
	top: calc(100% - 1px);
	left: 0;
	width: 100%;
	background: var(--white);
	padding: 0;
	border-radius: 0 0 4px 4px;
	border: 1px solid var(--gray);
	border-top: none;
	display: none;
}
.header__lang-item {
	height: 40px;
	width: 100%;
	padding-left: 10px;
	font-size: 18px;
	text-transform: uppercase;
	cursor: pointer;
	display: grid;
	grid-auto-flow: column;
	grid-gap: 7px;
	align-items: center;
	justify-content: start;
	transition: 0.3s;
}
.header__lang-item_active {
	border-radius: 4px;
	border: 1px solid var(--gray);
}
.header__lang-item_open {
	border-radius: 4px 4px 0 0;
}
.header__lang-item:hover {
	background: var(--lightgray);
}

.header__button {
	height: 40px;
	width: fit-content;
	padding: 0 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--blue);
	border: none;
	border-radius: 8px;
	font-weight: 700;
	font-size: 18px;
	color: var(--white);
	transition: 0.3s;
}
.header__button:hover {
	cursor: pointer;
	filter: brightness(120%);
}
.header__button:active {
	opacity: 0.7;
}

.header__lang_up .header__lang-list {
	top: unset;
	bottom: calc(100% - 1px);
	border-radius: 4px 4px 0 0;
	border: 1px solid var(--gray);
	border-bottom: none;
}
.header__lang_up .header__lang-item_open {
	border-radius: 0 0 4px 4px;
}





/* Menu */

.menu__body {
	display: grid;
	grid-auto-flow: column;
	grid-gap: 24px;
}
.menu__item {
	display: block;
	color: var(--black);
	padding: 6px 0;
	position: relative;
}
.menu__item::before {
	content:'';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--blue);
	transform: scale(0, 1);
	transition: 0.3s;
}
@media (hover: hover) {
	.menu__item:hover::before {
		transform: scale(1, 1);
	}
}
.menu__buttons {
	display: none;
}




/* Burger */

.burger {
	padding: 7px;
	margin-right: -7px;
	overflow: hidden;
	position: relative;
	z-index: 1004;
	display: none;
}
.burger__icon {
	width: 28px;
	height: 24px;
	position: relative;
}
.burger__line {
	background: #000;
	height: 4px;
	position: absolute;
	width: 100%;
}
.burger__line_1 {top: 0;}
.burger__line_2 {top: 50%; transform: translateY(-50%);}
.burger__line_3 {bottom: 0;}


/* Burger close animation */

.burger__line {
	transition-duration: 0.2s;
	transition-property: transform, top, bottom, opacity;
	transition-delay: 0s, 0.1s, 0.1s, 0s;
}
.burger__icon_close .burger__line {
	transition-duration: 0.2s;
	transition-property: transform, top, bottom, opacity, width, margin;
	transition-delay: 0.1s, 0s, 0s, 0s, 0.1s, 0.1s;
}
.burger__icon_close .burger__line_1 {
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 120%;
	margin: 0 -10%;
}
.burger__icon_close .burger__line_2 {
	opacity: 0;
}
.burger__icon_close .burger__line_3 {
	bottom: 50%;
	transform: translateY(50%) rotate(-45deg);
	width: 120%;
	margin: 0 -10%;
}




/* Menu on mobile */

@media (max-width:1023px) {
	.burger {
		display: block;
	}
	.menu {
		position: fixed;
		top: 0;
		left: 0;
		overflow: auto;
		background: var(--white);
		width: 100%;
		height: calc(100% + 70px);
		border-bottom: 70px solid var(--white); /* отступ, чтобы меню не прилипало к низу */
		border-top: 90px solid var(--white); /* подложка под логотип и крестик, чтоб меню не налазило на них */
		padding-bottom: 60px;
		display: flex;
		z-index: 1000;
		transform: translateY(-100%);
		transition: 0.4s;
	}
	.menu_open {
		transform: translateY(0);
	}
	.menu__body {
		width: 100%;
		margin: auto;
		grid-auto-flow: row;
		justify-content: center;
	}
	.menu__item {
		text-align: center;
		font-size: 22px;
	}
	.menu__buttons {
		display: grid;
		grid-auto-flow: column;
		grid-gap: 12px;
		align-items: center;
		justify-content: center;
		margin-top: 40px;
	}
	.menu__item,
	.menu__buttons {
		transition: 0.2s 0s; 
		transform: translateY(-100px); 
		opacity: 0;
	}
	.menu_open .menu__item,
	.menu_open .menu__buttons {
		transition: 0.4s 0.2s; 
		transform: translateY(0); 
		opacity: 1;
	}
}




/* Main */

.main {
	display: grid;
	grid-template-columns: 1fr 1.5fr;
	grid-gap: 20px;
	align-items: center;
}
.main__title {
	font-weight: 800;
	font-size: 64px;
	display: block;
	margin-bottom: 8px;
}
.main__text b {
	font-weight: 600;
	font-size: 22px;
	display: block;
	max-width: 350px;
	margin-bottom: 20px;
}
.main__button {
	width: 90%;
}
.main__image {
	position: relative;
	height: 0;
	padding-bottom: 57%;
	border-radius: 20px;
	overflow: hidden;
	isolation: isolate;
}





/* Clients */

section.clients {
	max-width: 100%;
	padding: 0;
}
.clients__title {
	text-align: center;
	padding: 0 20px;
	margin-bottom: 20px;
}
.clients__list {
	transition-timing-function: linear!important;
}
.clients__logo {
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
}
.clients__logo img {
	max-height: 100%;
}





/* Phone */

.phone__body {
	background: url(../img/phone-bg.jpg) center no-repeat;
	background-size: cover;
	border-radius: 16px;
	box-shadow: 0px 6px 18px 0px rgba(0, 0, 0, 0.12);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 30px 32px;
}
.phone__text {
	font-weight: 600;
	font-size: 22px;
	color: var(--white);
}
.phone__number {
	font-weight: 700;
	font-size: 28px;
	color: var(--white);
	display: flex;
	align-items: center;
}
.phone__number::before {
	content:'';
	display: block;
	width: 1.286em;
	height: 1.286em;
	background: url(../img/phone-icon.svg) center no-repeat;
	background-size: contain;
	margin-right: 0.286em;
}
@media (hover: hover) {
	.phone__number:hover {
		opacity: 0.9;
	}
	.phone__number:hover:before {
		transform: rotate(45deg);
	}
}





/* Solutions */

.solutions {
	padding-top: 20px;
	margin-top: -20px;
}
.solutions__category {
	display: flex;
	align-items: flex-start;
	width: calc(100% + 16px);
	margin-bottom: 16px;
}
.solutions__category-text {
	display: flex;
	align-items: center;
	margin: 12px 16px 12px 0;
	white-space: nowrap;
}
.solutions__category-text::after {
	content:'';
	display: block;
	width: 24px;
	height: 24px;
	background: url(../img/arrow-right.svg) center no-repeat;
	background-size: contain;
	margin-left: 8px;
}
.solutions__category-list {
	display: flex;
	flex-wrap: wrap;
}
.solutions__category-item {
	font-weight: 700;
	display: block;
	padding: 12px 20px;
	border-radius: 100px;
	border: 1px solid var(--gray);
	color: var(--black);
	margin: 0 12px 12px 0;
}
.solutions__category-item_active {
	border: 1px solid var(--black);
	background: var(--black);
	color: var(--white);
	cursor: default;
}
@media (hover: hover) {
	.solutions__category-item:hover {
		border: 1px solid var(--black);
	}
}

.solutions__slider {
	padding: 0 70px;
	position: relative;
}
.solutions__slider-head {
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.solutions__slider-title {
	font-weight: 700;
	font-size: 28px;
}
.solutions__slider-more {
	font-weight: 700;
	color: var(--blue);
	display: flex;
	align-items: center;
	transition: 0.3s;
	cursor: default;
}
.solutions__slider-more::after {
	content:'';
	display: block;
	width: 24px;
	height: 24px;
	background: url(../img/arrow-more.svg) center no-repeat;
	background-size: contain;
	margin-left: 8px;
	transition: 0.3s;
}
@media (hover: hover) {
	.solutions__slider-more:hover:after {
		transform: translateX(5px);
	}
}

.solutions__slider-container {
	position: static;
}
.solutions__slider-item:nth-child(2n+1) {
	width: 240px;
}
.solutions__slider-item:nth-child(2n) {
	width: 420px;
}
.solutions__slider-image {
	position: relative;
	border-radius: 12px;
	overflow: hidden;
	isolation: isolate;
	height: 360px;
	background: var(--orange);
	padding: 16px;
	margin-bottom: 12px;
	font-weight: 600;
	font-size: 22px;
}
.solutions__slider-arrow {
	width: 48px;
	height: 48px;
	border-radius: 150px;
	background: url(../img/arrow-slider.svg) center no-repeat;
	background-color: var(--lightgray);
	transition: 0.3s;
}
.solutions__slider-arrow:hover {
	opacity: 0.8;
}
.solutions__slider-arrow.swiper-button-disabled {
	opacity: 0.35;
}
.solutions__slider-next {
	right: 0;
}
.solutions__slider-prev {
	left: 0;
	transform: scale(-1,1);
}
.solutions__slider-pagination {
	display: none;
}




/* About */

.about {
	margin-bottom: 130px;
}
.about__text {
	margin-bottom: 20px;
}
.about__body {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	grid-gap: 40px;
	align-items: center;
}
.about__button {
	max-width: 312px;
	margin-top: 40px;
}
.about__image {
	position: relative;
}
.about__image img {
	max-width: unset;
	width: 136%;
	margin-left: -17%;
}
.about__ellipse {
	width: 265%;
	padding-bottom: 100%;
	border-radius: 1200%;
	background: linear-gradient(131deg, #3276FF 14.65%, #0048D9 56.16%, #003AAE 83.31%);
	position: absolute;
	top: -15%;
	left: -30%;
	z-index: -1;
}




/* Benefit */

.benefit__list {
	max-width: 860px;
	margin: 0 auto 40px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 28px 20px;
}
.benefit__item {
	border-radius: 12px;
	box-shadow: 0px 6px 18px 0px rgba(0, 0, 0, 0.12);
	padding: 20px;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	display: grid;
	grid-template-rows: auto 1fr auto;
}
.benefit__icon {
	width: 120px;
	height: 120px;
	border-radius: 150px;
	background: var(--lightblue);
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(13%, -13%);
	z-index: -1;
}
.benefit__caption {
	font-weight: 700;
	font-size: 28px;
	display: block;
	margin-bottom: 28px;
}
.benefit__text {
	margin-bottom: 28px;
}
.benefit__image {
	position: relative;
	height: 0;
	padding-bottom: 53%;
	border-radius: 8px;
	overflow: hidden;
	isolation: isolate;
}
.benefit__more {
	font-weight: 700;
	font-size: 28px;
	text-align: center;
}




/* Download */

.download {
	display: grid;
	grid-template-columns: 2fr 1.2fr;
	grid-gap: 0 40px;
	padding-top: 15px;
}
.download__title {
	margin-bottom: 20px;
}
.download__content {
	grid-column: 1;
}
.download__text {
	display: grid;
	grid-auto-flow: row;
	grid-gap: 16px;
	margin-bottom: 20px;
}
.download__text li {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-gap: 12px;
	align-items: center;
}
.download__text li::before {
	content:'';
	display: block;
	width: 28px;
	height: 28px;
	background: url(../img/check.svg) center no-repeat;
	background-size: contain;
}
.download__links {
	display: grid;
	grid-template-columns: repeat(2, auto);
	justify-content: start;
	grid-gap: 20px;
}
@media (hover: hover) {
	.download__link:hover {
		transform: scale(1.05);
	}
}
.download__image {
	grid-column: 2;
	grid-row: 1 / span 2;
	display: flex;
	align-items: center;
	justify-content: center;
}
.download__phone {
	position: relative;
}
.download__ellipse {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
}
.download__ellipse::before {
	content:'';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 166%;
	height: 0;
	padding-bottom: 104%;
	border-radius: 1200%;
	transform: translate(-50%, -54%) rotate(24deg);
	background: linear-gradient(131deg, #3276FF 14.65%, #0048D9 56.16%, #003AAE 83.31%);
}




/* Reviews */

section.reviews {
	max-width: 100%;
	padding: 0;
	padding-top: 20px;
	margin-top: -20px;
}
.reviews__clients-slider {
	margin-bottom: 40px;
}
.reviews__slider {
	overflow: visible;
	margin: 20px;
}
@media (min-width: 1950px) {
	.reviews__slider_1 {
		margin: 20px auto;
		max-width: fit-content;
		left: 10px;
	}
}
@media (min-width: 1480px) {
	.reviews__slider_2 {
		margin: 20px auto;
		max-width: fit-content;
		left: 10px;
	}
}
.reviews__item {
	width: 460px;
	border-radius: 12px;
	box-shadow: 0px 6px 18px 0px rgba(0, 0, 0, 0.12);
	padding: 20px;
}
.reviews__author {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-gap: 0 12px;
	margin-bottom: 16px;
}
.reviews__avatar {
	grid-row: span 2;
	position: relative;
	width: 52px;
	height: 52px;
	border-radius: 150px;
	overflow: hidden;
	isolation: isolate;
}
.reviews__name {
	font-weight: 600;
	font-size: 22px;
}
.reviews__post {
	color: var(--lightblack);
}
.reviews__stars {
	display: grid;
	grid-template-columns: repeat(5, max-content);
	grid-gap: 1px;
	margin: 16px 0;
}
.reviews__star {
	width: 16px;
	height: 15px;
	background: url(../img/star.svg) center no-repeat;
	background-size: contain;
	font-size: 0;
}
.reviews__star_empty {
	opacity: 0.3;
}




/* FAQ */

.faq__list,
.faq__button {
	max-width: 860px;
	margin: 0 auto;
}
.faq__item {
	padding: 16px;
	border-radius: 12px;
	box-shadow: 0px 6px 18px 0px rgba(0, 0, 0, 0.12);
	margin-bottom: 20px;
}
.faq__question {
	font-weight: 600;
	font-size: 22px;
	display: grid;
	grid-template-columns: 1fr auto;
	grid-gap: 40px;
	align-items: center;
	transition: 0.3s;
}
.faq__question::after {
	content:'';
	display: block;
	width: 32px;
	height: 32px;
	background: url(../img/arrow-down.svg) center no-repeat;
	background-color: var(--lightgray);
	border-radius: 150px;
	transition: 0.3s;
}
.faq__question_open::after {
	transform: rotate(180deg);
}
@media (hover: hover) {
	.faq__question:hover {
		opacity: 0.8;
		cursor: pointer;
	}
}
.faq__answer {
	padding-top: 16px;
	display: none;
}




/* Contacts */

.contacts {
	padding-top: 20px;
	margin-top: -20px;
}
.contacts__list {
	max-width: 860px;
	margin: 0 auto;
}
.contacts__item {
	border-radius: 12px;
	box-shadow: 0px 6px 18px 0px rgba(0, 0, 0, 0.12);
	padding: 20px;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.contacts__links {
	display: grid;
	grid-auto-flow: row;
	grid-gap: 12px;
}
.contacts__link {
	font-weight: 700;
	font-size: 22px;
	color: var(--black);
	display: flex;
	align-items: center;
}
.contacts__link::before {
	content:'';
	display: block;
	width: 1.455em;
	height: 1.455em;
	margin-right: 0.364em;
}
.contacts__link_phone::before {
	background: url(../img/contacts-icon-phone.svg) center no-repeat;
	background-size: contain;
}
.contacts__link_email::before {
	background: url(../img/contacts-icon-email.svg) center no-repeat;
	background-size: contain;
}
.contacts__link_instagram::before {
	background: url(../img/contacts-icon-instagram.svg) center no-repeat;
	background-size: contain;
}
@media (hover: hover) {
	.contacts__link:hover {
		color: var(--blue);
	}
}




/* Press */

.press {
	padding-top: 20px;
	margin-top: -20px;
}
.press__list {
	display: flex;
	align-items: center;
	justify-content: center;
}
.press__link {
	margin: 0 20px;
}
@media (hover: hover) {
	.press__link:hover {
		transform: scale(1.05);
	}
}





/* Footer */

.footer {
	position: relative;
	padding-top: 40px;
	padding-bottom: 40px;
	display: flex;
	justify-content: space-evenly;
}
.footer::after {
	background: var(--black);
}
.footer__link {
	font-weight: 600;
	font-size: 16px;
	color: var(--white);
}
@media (hover: hover) {
	.footer__link:hover {
		text-decoration: underline;
	}
}






/* Up button */

.up {
	position: fixed;
	bottom: 34px;
	right: 34px;
	width: fit-content;
	padding: 16px;
	border-radius: 100px;
	background: var(--white);
	box-shadow: 0px 6px 18px 0px rgba(0, 0, 0, 0.12);
	font-weight: 700;
	color: var(--lightblack);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.4s, bottom 0s;
	z-index: 150;
	opacity: 0;
	visibility: hidden;
}
.up_show {
	opacity: 1;
	visibility: visible;
}
.up:after {
	content: '';
	display: block;
	width: 24px;
	height: 24px;
	background: url(../img/arrow-up.svg) center no-repeat;
	margin-left: 4px;
	transition: 0.2s;
}
.up:hover {
	background: var(--blue);
	color: var(--white);
}
.up:hover:after {
	filter: brightness(1000%);
}
/* прячем кнопку UP на тач устройствах */
@media (pointer:coarse) {
	.up {visibility: hidden;}
}




/* Responsive */

/* 1024 */
@media (max-width:1330px) {
	.header__phone-text {display: none;}
	.header__phone-tel {background: url(../img/contacts-icon-phone.svg) left center no-repeat; background-size: contain; padding-left: 26px; height: 22px;}
}
@media (max-width:1135px) {
	.header__phone-tel {font-size: 0;}
}
@media (max-width:1220px) {
	.section, .footer {max-width: 1024px; padding-left: 40px; padding-right: 40px;}

	.solutions__category-text {display: none;}
	.solutions__category-list {justify-content: center; width: 100%;}
	.solutions__slider-item:nth-child(2n) {width: 540px;}

	.about__image img {margin-left: -22%;}
}


/* 768 */

@media (max-width:1023px) {
	.section, .footer {max-width: 768px; padding-left: 30px; padding-right: 30px;}

	.title {font-size: 45px; line-height: 1.2em;}
	.title_medium {font-size: 33px; line-height: normal;}
	.bigtext {font-size: 21px;}

	.header {margin-bottom: 80px; transform: none!important;}
	.header__actions {flex: 1; justify-content: end; margin-right: 20px;}
	.header__phone-tel {font-size: 18px;}

	.main {grid-template-columns: repeat(2, 1fr); align-items: stretch;}
	.main__content {margin-top: -20px;}
	.main__title {font-size: 60px;}
	.main__text b {font-size: 21px;}
	.main__image {padding-bottom: 0; height: auto;}

	.phone__body {padding: 28px 32px;}
	.phone__text {font-size: 21px;}
	.phone__number {font-size: 24px;}

	.solutions__slider-item:nth-child(2n) {width: 568px;}
	.solutions__slider-item:nth-child(2n+1) {width: 274px;}

	.about {margin-bottom: 100px;}

	.benefit__icon {width: 100px; height: 100px;}
	.benefit__caption {font-size: 26px; line-height: 1.3em; padding-right: 45px; margin-bottom: 24px;}
	.benefit__more {font-size: 26px;}

	.download {grid-template-columns: 2fr 1fr; grid-gap: 0 60px;}
	.download__title {grid-column: span 2;}
	.download__image {grid-row: 2;}
}

/* 414 */

@media (max-width:767px) {
	body {font-size: 16px;}

	.section, .header, .footer {max-width: 414px; padding-left: 20px; padding-right: 20px;}
	.section {margin-bottom: 80px;}

	.title {font-size: 34px; margin-bottom: 30px;}
	.title_medium {font-size: 28px; margin-bottom: 16px;}
	.bigtext {font-size: 19px;}
	.button {max-width: unset; width: 100%;}

	.header {margin-bottom: 40px;}
	.header__phone-tel {font-size: 0; height: 26px;}

	.menu__body {grid-gap: 16px;}
	.menu__item {font-size: 20px;}

	.main {grid-template-columns: 1fr; grid-gap: 30px;}
	.main__image {height: 0; padding-bottom: 57%; grid-row: 1;}
	.main__text b {font-size: 20px;}

	.clients__logo img {transform: scale(0.8);}

	.phone__body {flex-direction: column;}
	.phone__text {font-size: 20px; text-align: center; margin-bottom: 12px;}

	.solutions__category {width: calc(100% + 10px);}
	.solutions__category-item {padding: 10px 20px; margin: 0 10px 10px 0;}
	.solutions__slider {padding: 0;}
	.solutions__slider-container {overflow: visible;}
	.solutions__slider-item:nth-child(2n), .solutions__slider-item:nth-child(2n+1) {width: 245px;}
	.solutions__slider-arrow {display: none;}
	.solutions__slider-pagination {display: grid; grid-auto-flow: column; justify-content: center; margin-top: 16px;}
	.solutions__slider-pagination .swiper-pagination-bullet {width: 14px; height: 14px; background: var(--lightgray);}
	.solutions__slider-pagination .swiper-pagination-bullet-active {background: var(--blue);}

	.about__body {grid-template-columns: 1fr;}
	.about__image {grid-row: 1; margin-top: 30px;}
	.about__image img {width: 124%; margin-left: -12%;}
	.about__ellipse {padding-bottom: 92%;}

	.benefit__list {grid-template-columns: 1fr; margin-bottom: 30px;}
	.benefit__caption {font-size: 22px; margin-bottom: 20px;}
	.benefit__more {font-size: 22px;}

	.download {grid-template-columns: 1fr;}
	.download__title {grid-column: 1;}
	.download__image {grid-column: 1; padding: 0 16%;}
	.download__ellipse::before {width: 156%;}
	.download__links {grid-gap: 12px;}

	.reviews__name {font-size: 19px;}
	.reviews__post {font-size: 14px;}

	.faq__question {font-size: 19px; grid-gap: 15px;}

	.contacts__item {flex-direction: column;}
	.contacts__caption {margin-bottom: 8px;}
	.contacts__link {font-size: 19px;}

	.footer {justify-content: space-around;}
}
@media (min-width:541px) {
	.reviews__item {width: 460px!important;}
}

/* 360 */

@media (max-width:370px) {
	.section, .header, .footer {padding-left: 15px; padding-right: 15px;}
	.section::after, .header::after, .footer::after {left: -15px; right: -15px;}

	.main__title {font-size: 58px;}
}

/* 320 */

@media (max-width:350px) {
	.title {font-size: 30px;}
	.title_medium {font-size: 25px;}
	.button {font-size: 16px;}

	.main__title {font-size: 52px;}

	.phone__text {font-size: 18px;}

	.solutions__category-item {padding: 10px 16px;}
	.solutions__slider-title {font-size: 22px;}
	.solutions__slider-morelink, .reviews__text, .footer__link {font-size: 15px;}

	.contacts__link {font-size: 17px;}
}