/*!
Theme Name: Kutsyk
Theme URI: http://underscores.me/
Author: WEBTOP
Author URI: https://web24.pro/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: kutsyk
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Kutsyk is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700&display=swap');

:root {
	--container: 1316px;

	--text-size: 16px;
	--text-size-lg: 18px;
	--h1-size: 40px;
	--h2-size: 36px;
	--h3-size: 32px;
	--h4-size: 28px;
	--h5-size: 24px;
	--h6-size: 20px;

	--black: #22201E;
	--white: #FFFFFF;
	--blue: #3694EB;
	--red: #D6261D;
}

body {
	margin: 0;
	padding: 0;
	font-size: var(--text-size);
	font-weight: 400;
	font-family: "Roboto", sans-serif;
	line-height: 1.2;
	color: var(--black);
	background: var(--white);
}
a, a:hover {
	text-decoration: none;
	color: var(--black);
	transition: .25s;
}
img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
}
h1, h2, h3, h4, h5, h6 {
	line-height: 1.2;
	font-weight: 500;
	margin: 0 0 20px;
}
h1 {
	font-size: var(--h1-size);
}
h2 {
	font-size: var(--h2-size);
}
h3 {
	font-size: var(--h3-size);
}
h4 {
	font-size: var(--h4-size);
}
h5 {
	font-size: var(--h5-size);
}
h6 {
	font-size: var(--h6-size);
}
p, ul, ol, blockquote {
	margin: 0 0 20px;
}
h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child, p:last-child, ul:last-child, ol:last-child, blockquote:last-child {
	margin-bottom: 0;
}

.form-field {
	position: relative;
	margin-bottom: 15px;
}
input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
	width: 100%;
	background: var(--white);
	border: 1px solid #838384;
	border-radius: 15px;
	font-size: var(--text-size);
	font-weight: 400;
	font-family: "Roboto", sans-serif;
	color: var(--black);
	line-height: 1.5;
	padding: 12px 20px;
	outline: none;
	transition: .25s;
}
textarea {
	height: 150px;
}
.wpcf7-spinner {
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}
.wpcf7-not-valid-tip {
	font-size: 14px;
	margin-top: 2px;
}
.wpcf7 form .wpcf7-response-output {
	margin: 20px 0 0;
	padding: 10px 15px;
}


.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
	--bs-gutter-x: 30px;
}
@media (min-width: 1400px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
		max-width: 1346px;
	}
}


.btn {
	--bs-btn-padding-x: 50px;
	--bs-btn-padding-y: 12px;
	--bs-btn-font-size: 16px;
	--bs-btn-font-weight: 500;
	--bs-btn-border-radius: 15px;
	--bs-btn-box-shadow: none;
	--bs-btn-focus-box-shadow: none;
	font-family: "Roboto", sans-serif;
	transition: color .25s ease-in-out, background-color .25s ease-in-out, border-color .25s ease-in-out, box-shadow .25s ease-in-out;
}
.btn-primary {
	--bs-btn-color: var(--white);
	--bs-btn-bg: var(--red);
	--bs-btn-border-color: var(--red);
	--bs-btn-hover-color: var(--white);
	--bs-btn-hover-bg: #b21811;
	--bs-btn-hover-border-color: #b21811;
	--bs-btn-active-color: var(--white);
	--bs-btn-active-bg: #b21811;
	--bs-btn-active-border-color: #b21811;
	--bs-btn-disabled-color: var(--white);
	--bs-btn-disabled-bg: var(--red);
	--bs-btn-disabled-border-color: var(--red);
}
.btn-secondary {
	--bs-btn-color: var(--black);
	--bs-btn-bg: var(--white);
	--bs-btn-border-color: var(--white);
	--bs-btn-hover-color: var(--white);
	--bs-btn-hover-bg: var(--black);
	--bs-btn-hover-border-color: var(--black);
	--bs-btn-active-color: var(--white);
	--bs-btn-active-bg: var(--black);
	--bs-btn-active-border-color: var(--black);
	--bs-btn-disabled-color: var(--black);
	--bs-btn-disabled-bg: var(--white);
	--bs-btn-disabled-border-color: var(--white);
}



.soc-links {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	align-items: center;
}
.soc-links li {
	margin-right: 15px;
}
.soc-links li:last-child {
	margin-right: 0;
}
.soc-links li a {
	width: 25px;
	height: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.soc-links li a svg {
	flex: 0 0 100%;
	max-width: 100%;
	height: 100%;
}
.soc-links li a svg path {
	fill: var(--blue);
	transition: .25s;
}
.soc-links li a:hover svg path {
	fill: var(--red);
}
.soc-links.white li a svg path {
	fill: var(--white);
}
.soc-links.white li a:hover svg path {
	fill: var(--blue);
}


.owl-dots {
	position: absolute;
	bottom: 25px;
	left: calc((100% - var(--container)) / 2);
	counter-reset: list-counter;
	display: flex;
	align-items: center;
	z-index: 9;
}
.owl-dots button {
	display: flex;
	align-items: center;
	margin-right: 15px;
}
.owl-dots button:last-child {
	margin-right: 0;
}
.owl-dots button:after {
	content: counter(list-counter, decimal-leading-zero);
	counter-increment: list-counter;
	font-weight: 600;
	color: var(--white);
}
.owl-dots button.active:after {
	color: var(--black);
}
.owl-dots button span {
	display: none;
	flex: 0 0 130px;
	max-width: 130px;
	width: 130px;
	height: 2px;
	background: var(--white);
	margin-right: 15px;
}
.owl-dots button.active span {
	display: block;
}


.owl-nav {
	position: relative;
	margin-top: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9;
}
.owl-nav button {
	flex: 0 0 44px;
	max-width: 44px;
	height: 40px;
	border-radius: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #888889 !important;
	margin-left: 30px;
}
.owl-nav button:first-child {
	margin-left: 0;
	transform: scale(-1,1);
}
.owl-nav button:hover {
	background: var(--red) !important;
}
.owl-nav button:before {
	content: '';
	background: url(images/arrow-right.svg) no-repeat center;
	background-size: contain;
	flex: 0 0 26px;
	max-width: 26px;
	height: 16px;
	transition: .25s;
}


.section {
	position: relative;
	padding-top: 100px;
	padding-bottom: 100px;
	z-index: 1;
}
.heading {
	position: relative;
	margin-bottom: 60px;
}
.heading h2 {
	font-size: var(--h1-size);
	font-weight: 500;
	margin-bottom: 6px;
}
.heading h2:last-child {
	margin-bottom: 0;
}
.heading h3 {
	font-size: var(--text-size);
	font-weight: 500;
	color: var(--red);
}

.bg-grey {
	background: #F8F8F8;
}



.wp-caption {
	max-width: 100%;
}
.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}
.wp-caption-text {
	text-align: center;
}
.gallery {
	display: grid;
	grid-gap: 1.5em;
}
.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
	margin-bottom: 0;
	overflow: hidden;
	border-radius: 20px;
	border: 1px solid #ffffff;
}
.gallery-item * {
	height: 100%;
}
.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}
.gallery-columns-2 .gallery-item {
	height: calc((var(--container) * .66 - 1 * 24px) / 2 / 1.38 );
}
.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}
.gallery-columns-3 .gallery-item {
	height: calc((var(--container) * .66 - 2 * 24px) / 3 / 1.38 );
}
.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}
.gallery-columns-4 .gallery-item {
	height: calc((var(--container) * .66 - 3 * 24px) / 4 / 1.38 );
}
.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}
.gallery-columns-5 .gallery-item {
	height: calc((var(--container) * .66 - 4 * 24px) / 5 / 1.38 );
}
.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}
.gallery-columns-6 .gallery-item {
	height: calc((var(--container) * .66 - 5 * 24px) / 6 / 1.38 );
}
.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}
.gallery-columns-7 .gallery-item {
	height: calc((var(--container) * .66 - 6 * 24px) / 7 / 1.38 );
}
.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}
.gallery-columns-8 .gallery-item {
	height: calc((var(--container) * .66 - 7 * 24px) / 8 / 1.38 );
}
.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}
.gallery-columns-9 .gallery-item {
	height: calc((var(--container) * .66 - 8 * 24px) / 9 / 1.38 );
}
.gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: .25s;
}
.gallery-item:hover img {
	transform: scale(1.05);
}
.gallery-caption {
	display: block;
}
.alignleft {
	float: left;
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}
.alignright {
	float: right;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}



.wrapper {
	position: relative;
	z-index: 1;
}

.header {
	position: sticky;
	top: 0;
	background: #232323;
	color: var(--white);
	padding: 13px 0;
	z-index: 99;
}
.header-wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 76px;
}
.header-logo {
	position: relative;
	margin-right: 30px;
}
.header-logo img {
	width: 100%;
	max-height: 76px;
}
.main-menu {
	flex: auto;
	max-width: 100%;
	margin: 0 36px 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.main-menu li {
	position: relative;
	margin-right: 30px;
}
.main-menu li:last-child {
	margin-right: 0;
}
.main-menu li a {
	display: block;
	padding: 7px 0;
	font-weight: 500;
	color: var(--white);
	text-transform: uppercase;
}
.main-menu li a:after {
	content: '';
	width: 0;
	height: 2px;
	background: var(--blue);
	position: absolute;
	bottom: 0;
	left: 0;
	transition: .25s;
	z-index: 1;
}
.main-menu li a:hover:after {
	width: 100%;
}
.header-phone {
	flex: 0 0 auto;
	position: relative;
	margin-right: 36px;
}
.header-phone a {
	display: flex;
	align-items: center;
	font-weight: 500;
	font-size: var(--h5-size);
	color: var(--white);
}
.header-phone a:hover {
	color: var(--blue);
}
.header-phone a:before {
	content: '';
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-image: url(images/phone.svg);
	mask-image: url(images/phone.svg);
	background-color: var(--white);
	flex: 0 0 25px;
	max-width: 25px;
	width: 25px;
	height: 25px;
	margin-right: 7px;
	transition: .25s;
}
.header-phone a:hover:before {
	background-color: var(--blue);
}

.header-toggle {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.header-toggle button {
    flex: 0 0 32px;
    max-width: 32px;
    width: 32px;
    height: 32px;
    -webkit-mask-image: url(images/menu.svg);
    mask-image: url(images/menu.svg);
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    background-color: var(--white);
    border-radius: 0;
    border: none;
    padding: 0;
    outline: none !important;
    cursor: pointer;
    transition: .25s;
}
.header-toggle button:hover {
    background-color: var(--red);
}


.mainSlider-section {
	position: relative;
	min-height: 640px;
	z-index: 1;
}
.mainSlider-item {
	position: relative;
	background: linear-gradient(270deg, #18D2DE -15.36%, #0267A2 113.51%, #02437A 192.63%);
	min-height: 640px;
	z-index: 1;
}
.mainSlider-item__wrap {
	position: relative;
	display: flex;
}
.mainSlider-item__left {
	position: relative;
	flex: auto;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 86px 0 100px;
	margin-right: 30px;
}
.mainSlider-item__right {
	flex: 0 0 56%;
	max-width: 56%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.mainSlider-item__image {
	width: 120%;
}
.mainSlider-item__info {
	position: relative;
	max-width: 540px;
	background: rgba(55, 55, 55, 0.2);
	border-radius: 30px;
	margin-bottom: 30px;
	padding: 40px;
	color: var(--white);
	z-index: 1;
}
.mainSlider-item__heading {
	position: relative;
	display: flex;
	align-items: center;
	font-size: calc(var(--h1-size) * 1.2);
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 15px;
	z-index: 1;
}
.mainSlider-item__heading:after {
	content: '';
	background: url(images/cable.svg) no-repeat center;
	background-size: contain;
	flex: 0 0 118px;
	max-width: 118px;
	height: 40px;
	margin-left: 23px;
}
.mainSlider-item__sub-heading {
	font-size: var(--h3-size);
	font-weight: 500;
	margin-bottom: 30px;
}
.mainSlider-item__content {
	font-size: var(--text-size-lg);
}
.mainSlider-item__content strong {
	font-weight: 500;
}



.aboutAdvantages-items {
	position: relative;
	margin-bottom: 70px;
}
.aboutAdvantages-item {
	position: relative;
	margin-bottom: 30px;
}
.aboutAdvantages-item__wrap {
	position: relative;
	display: flex;
	align-items: center;
}
.aboutAdvantages-item__image {
	flex: 0 0 calc(50% - 15px);
	max-width: calc(50% - 15px);
}
.aboutAdvantages-item__wrap p {
	flex: auto;
	max-width: 100%;
	margin-left: 30px;
}

.aboutBanner {
	position: relative;
	background: linear-gradient(269.9deg, #46B2EF 38.35%, #02447F 99.91%);
	border-radius: 30px;
	color: var(--white);
	padding: 60px;
	z-index: 1;
}
.aboutBanner-image {
	text-align: center;
}
.aboutBanner-image img {
	border-radius: 30px;
}


.tariffs-items {
	margin: 0 -12px;
}
.owl-tariffs .owl-stage {
	display: flex;
}
.tariffs-item {
	position: relative;
	padding: 8px 12px 16px;
	height: 100%;
	z-index: 1;
}
.tariffs-item__wrap {
	position: relative;
	background: var(--white);
	box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.22);
	border-radius: 30px;
	overflow: hidden;
	padding: 30px 30px 40px;
	height: 100%;
	z-index: 1;
}
.tariffs-item__image {
	position: relative;
	text-align: center;
	height: 110px;
	margin-bottom: 30px;
}
.tariffs-item__image img {
	display: inline !important;
	width: auto !important;
}
.tariffs-item__title {
	font-size: var(--h5-size);
	font-weight: 500;
	color: var(--red);
	margin-bottom: 20px;
	text-align: center;
}
.tariffs-item__sub-title {
	color: #7D7D7E;
	text-align: center;
	margin-bottom: 15px;
}
.tariffs-item__content {
	font-size: var(--text-size-lg);
	margin-bottom: 30px;
	text-align: center;
}
.tariffs-item__content strong {
	font-weight: 500;
}
.tariffs-item__repeaters {
	position: relative;
	margin-bottom: 40px;
}
.tariffs-item__repeater {
	position: relative;
	margin-bottom: 20px;
	color: #525253;
}
.tariffs-item__repeater:last-child {
	margin-bottom: 0;
}
.tariffs-item__repeater > * {
	margin-bottom: 0;
}
.tariffs-item__repeater p strong {
	font-size: var(--h5-size);
}
.tariffs-item__button {
	text-align: center;
}


.bg-lines {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
}



.mapBanner {
	position: relative;
	background: linear-gradient(90.04deg, #3694EB -9.84%, #1F5587 99.97%);
	border-radius: 30px;
	color: var(--white);
	padding: 30px 60px;
	z-index: 1;
}
.mapBanner-image {
	text-align: center;
}
.mapBanner-heading h2 {
	font-size: var(--h5-size);
}
.mapBanner-list {
	margin: 0;
	padding: 0 30px;
	list-style: none;
	column-count: 2;
}
.mapBanner-list li {
	position: relative;
	page-break-inside: avoid;
  	break-inside: avoid;
  	display: flex;
  	align-items: center;
  	font-size: 18px;
  	font-weight: 500;
  	line-height: 1.55;
}
.mapBanner-list li:before {
	content: '';
	background: url(images/location.svg) no-repeat center;
	background-size: contain;
	flex: 0 0 20px;
	max-width: 20px;
	width: 20px;
	height: 20px;
	margin-right: 5px;
}



.services-items {
	position: relative;
	overflow: hidden;
	margin-bottom: -30px;
}
.services-item {
	position: relative;
	float: left;
	width: calc((100% / 3) - (2 * 30px / 3));
	height: calc((var(--container) - 2 * 30px) / 3 / 1.4169);
	border-radius: 15px;
	overflow: hidden;
	margin-right: 30px;
	margin-bottom: 30px;
	z-index: 1;
}
.services-item:nth-child(1) {
	height: calc(((var(--container) - 2 * 30px) / 3 / 1.4169) * 2 + 30px);
}
.services-item:nth-child(3),
.services-item:nth-child(7),
.services-item:nth-child(10),
.services-item:nth-child(13) {
	margin-right: 0;
}
.services-item:nth-child(4) {
	margin-right: 0;
	width: calc(((100% / 3) - (2 * 30px / 3)) * 2 + 30px);
}
.services-item__image {
	position: relative;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
}
.services-item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.services-item__info {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	background: rgba(61, 68, 70, 0.8);
	border-radius: 15px 15px 0 0;
	padding: 30px;
	color: var(--white);
	z-index: 2;
}
.services-item__title {
	font-size: var(--h5-size);
	font-weight: 500;
	margin-bottom: 20px;
}
.services-item__title:last-child {
	margin-bottom: 0;
}
.services-content {
    margin-bottom: 30px;
}



.feedback-bg {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
}
.feedback-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.feedback-bg:after {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(40, 40, 40, 0.8);
	z-index: 1;
}
.feedback-wrap {
	position: relative;
	background: rgba(177, 166, 166, 0.29);
	border-radius: 15px;
	overflow: hidden;
	z-index: 1;
}
.feedback-form {
	position: relative;
	padding: 30px 35px 40px;
	background: var(--blue);
	color: var(--white);
	border-radius: 15px;
	height: 100%;
	z-index: 1;
}
.form-heading {
	text-align: center;
	font-size: var(--h5-size);
	font-weight: 500;
	margin-bottom: 30px;
}
.feedback-info {
	position: relative;
	height: 100%;
	padding: 60px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: var(--white);
}
.feedback-heading {
	margin-bottom: 40px;
}
.feedback-image {
	text-align: center;
	margin-bottom: 40px;
}
.feedback-image img {
	max-height: 250px;
}
.feedback-content {
	font-size: var(--h5-size);
}
.feedback-content strong {
	font-weight: 500;
}



.payment-items {
	position: relative;
}
.payment-item {
	position: relative;
	border: 1px solid #838384;
	border-radius: 30px;
	padding: 10px 50px;
	margin-bottom: 30px;
	display: flex;
	align-items: center;
	z-index: 1;
}
.payment-item:last-child {
	margin-bottom: 0;
}
.payment-item__image {
	flex: 0 0 140px;
	max-width: 140px;
	text-align: center;
	margin-right: 35px;
}
.payment-item__info {
	flex: auto;
	max-width: 100%;
}
.payment-item__title {
	font-size: var(--text-size-lg);
	font-weight: 500;
	margin-bottom: 20px;
}
.payment-item__title:last-child {
	margin-bottom: 0;
}
.payment-item__content {
	line-height: 1.55;
}

.paymentRequisites-heading {
	font-size: var(--h5-size);
	font-weight: 500;
	margin-bottom: 20px;
	text-align: center;
}
.paymentRequisites-content {
	color: #525253;
	line-height: 1.32;
}

.publicAgreement {
	position: relative;
	margin-top: 70px;
	background: linear-gradient(90deg, #4EA3F2 0%, #1F5688 100%);
	border-radius: 30px;
	padding: 40px;
	text-align: center;
	z-index: 1;
}
.publicAgreement a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	color: var(--white);
	text-transform: uppercase;
}
.publicAgreement a:before {
	content: '';
	background: url(images/pdf-document.svg) no-repeat center;
	background-size: contain;
	flex: 0 0 82px;
	max-width: 82px;
	width: 82px;
	height: 82px;
	margin-right: 30px;
	z-index: 1;
}
.publicAgreement a:hover {
	opacity: .8;
	text-decoration: underline;
}




.footer {
	position: relative;
	background: var(--black);
	color: var(--white);
	padding: 60px 0 0;
	overflow: hidden;
	z-index: 1;
}
.footer:before {
	content: '';
	background: url(images/footer-bg.png) no-repeat center;
	background-size: contain;
	width: 777px;
	height: 742px;
	position: absolute;
	top: 50%;
	left: calc((100% - var(--container)) / 2 - 460px);
	transform: translateY(-50%);
	opacity: .6;
	z-index: -1;
}
.footer-widget {
	position: relative;
}
.footer-widget-title {
	font-size: var(--h5-size);
	font-weight: 500;
	margin-bottom: 30px;
}
.footer-logo {
	text-align: center;
}
.footer-logo img {
	max-height: 80px;
}
.footer-menu {
	position: relative;
	padding-left: 20px;
}
.footer-menu li {
	margin-bottom: 10px;
}
.footer-menu li:last-child {
	margin-bottom: 0;
}
.footer-menu li a {
	color: var(--white);
	font-size: var(--text-size-lg);
	font-weight: 500;
}
.footer-menu li a:hover {
	color: var(--red);
}
.footer-contacts {
	position: relative;
}
.footer-contacts p {
	position: relative;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	font-size: var(--text-size-lg);
	font-weight: 500;
}
.footer-contacts p:last-child {
	margin-bottom: 0;
}
.footer-contacts p:before {
	content: '';
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	background-color: var(--blue);
	flex: 0 0 20px;
	max-width: 20px;
	width: 20px;
	height: 20px;
	margin-right: 7px;
	transition: .25s;
}
.footer-contacts p.phone:before {
	-webkit-mask-image: url(images/phone.svg);
	mask-image: url(images/phone.svg);
}
.footer-contacts p.e-mail:before {
	-webkit-mask-image: url(images/mail.svg);
	mask-image: url(images/mail.svg);
}
.footer-contacts p.address:before {
	-webkit-mask-image: url(images/location.svg);
	mask-image: url(images/location.svg);
}
.footer-contacts a {
	color: var(--white);
}
.footer-contacts a:hover {
	color: var(--red);
}
.footer-soc {
	position: relative;
	margin-top: 30px;
}
.footer-bottom {
	position: relative;
	margin-top: 60px;
	border-top: 1px solid var(--white);
	padding: 12px 0;
	z-index: 1;
}
.footer-bottom a {
	color: var(--white);
}
.footer-bottom a:hover {
	color: var(--red);
}



.page-header {
	position: relative;
	padding: 40px 0;
}
.page-title {
	font-weight: 500;
	color: var(--red);
	text-transform: uppercase;
}
.page-content {
	padding-top: 60px;
}
.error-404-number {
	font-size: calc(var(--h1-size) * 7);
	font-weight: 700;
	text-align: center;
	line-height: 1;
	color: var(--red);
}




.modal-mobile {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -9999;
    opacity: 0;
    transition: .25s;
}
.modal-mobile.show {
    z-index: 9999;
    opacity: 1;
}
.modal-mobile-bg {
    background: rgb(0 0 0 / 45%);
    position: absolute;
    opacity: 0;
    transition: .25s;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.modal-mobile.show .modal-mobile-bg {
    opacity: 1;
}
.modal-mobile-wrap {
    position: relative;
    background: #fff;
    height: 100%;
    width: 100%;
    max-width: 360px;
    margin-left: auto;
    transform: translateX(100%);
    transition: .25s;
    overflow: auto;
    display: flex;
    flex-direction: column;
    z-index: 1;
}
.modal-mobile.show .modal-mobile-wrap {
    transform: translateX(0);
}
.modal-mobile-header {
    position: relative;
    background: var(--black);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 15px;
    z-index: 1;
}
.modal-mobile-logo {
    margin-right: 30px;
}
.modal-mobile-logo img {
    max-height: 40px;
}
.modal-mobile-close {
    -webkit-mask-image: url(images/cancel.svg);
    mask-image: url(images/cancel.svg);
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    background-color: var(--white);
    flex: 0 0 24px;
    max-width: 24px;
    height: 24px;
    border: none;
    padding: 0;
    outline: none !important;
    transition: .25s;
}
.modal-mobile-close:hover {
    background-color: var(--red);
}
.modal-mobile-footer {
    position: relative;
    background: var(--black);
    color: var(--white);
    padding: 30px 15px;
    z-index: 1;
}



.viberFixed {
	position: fixed;
	bottom: 50px;
	right: calc((100% - var(--container)) / 2);
	z-index: 80;
}
.viberFixed a {
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.8);
	width: 80px;
	height: 80px;
	border-radius: 50%;
	animation: pulse 2s infinite;
	transition: .25s;
}
@keyframes pulse {
	0% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.1);
	}

	70% {
		transform: scale(1);
		box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
	}

	100% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	}
}


@media (max-width: 1399px) {
    :root {
        --container: 1110px;

        --text-size: 16px;
        --text-size-lg: 17px;
        --h1-size: 35px;
        --h2-size: 32px;
        --h3-size: 28px;
        --h4-size: 24px;
        --h5-size: 20px;
        --h6-size: 18px;
    }
    .header-wrap {
        height: 50px;
    }
    .header-logo img {
        max-height: 50px;
    }
    .header-phone a {
        font-size: var(--h6-size);
    }
    .mainSlider-section,
    .mainSlider-item {
        min-height: 640px;
    }
    .mainSlider-item__heading:after {
        flex: 0 0 90px;
        max-width: 90px;
        height: 32px;
    }
    .mainSlider-item__image {
        width: 110%;
    }
    .mainSlider-item__left {
        padding: 70px 0 80px;
    }
    .services-item__info {
        padding: 20px;
    }
    .footer-logo img {
        max-height: 60px;
    }
}


@media (max-width: 1199px) {
    :root {
        --container: 930px;

        --text-size: 16px;
        --text-size-lg: 17px;
        --h1-size: 34px;
        --h2-size: 30px;
        --h3-size: 26px;
        --h4-size: 22px;
        --h5-size: 20px;
        --h6-size: 18px;
    }
    .section {
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .heading {
        margin-bottom: 40px;
    }
    .header-logo img {
        max-height: 40px;
    }
    .main-menu li {
        margin-right: 15px;
    }
    .main-menu li a {
        font-size: 14px;
    }
    .header-phone a {
        font-size: var(--text-size);
    }   
    .header-phone a:before {
        flex: 0 0 20px;
        max-width: 20px;
        width: 20px;
        height: 20px;
    }
    .mainSlider-item__right {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .mapBanner-list {
        padding: 0;
    }
    .feedback-image img {
        max-height: 200px;
    }
    .payment-item {
        padding: 10px 30px;
    }
    .payment-item__image {
        flex: 0 0 100px;
        max-width: 100px;
        margin-right: 30px;
    }
    .publicAgreement {
        padding: 30px;
    }
    .publicAgreement a:before {
        flex: 0 0 60px;
        max-width: 60px;
        width: 60px;
        height: 60px;
    }
    .page-header {
        padding: 30px 0;
    }
    .page-content {
        padding-top: 40px;
    }
}


@media (max-width: 991px) {
    :root {
        --container: 690px;

        --text-size: 16px;
        --text-size-lg: 18px;
        --h1-size: 32px;
        --h2-size: 28px;
        --h3-size: 26px;
        --h4-size: 22px;
        --h5-size: 20px;
        --h6-size: 18px;
    }
    .heading {
        margin-bottom: 30px;
    }
    .heading h2 {
        font-size: var(--h2-size);
    }
    .header {
        padding: 8px 0;
    }
    .header-logo {
        flex: auto;
        max-width: 100%;
    }
    .header-logo img {
        width: auto;
        max-width: 100%;
    }
    .header-phone a {
        font-size: var(--text-size-lg);
    }
    .mainSlider-section, .mainSlider-item {
        min-height: 580px;
    }
    .mainSlider-item__right {
        flex: 0 0 100%;
        max-width: 100%;
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: -1;
    }
    .mainSlider-item__image {
        width: 100%;
    }
    .mainSlider-item__left {
        margin-right: 0;
        z-index: 2;
    }
    .mainSlider-item__info {
        max-width: 100%;
        text-align: center;
        padding: 45px 20px;
        background: rgba(55, 55, 55, 0.4);
    }
    .mainSlider-item__heading {
        justify-content: center;
    }
    .mainSlider-item__button {
        text-align: center;
    }
    .owl-dots {
        left: 50%;
        transform: translateX(-50%);
    }
    .aboutBanner,
    .mapBanner {
        padding: 40px 30px;
    }
    .aboutBanner-image,
    .mapBanner-image {
        margin-bottom: 30px;
    }
    .aboutBanner-heading,
    .mapBanner-heading {
        text-align: center;
    }
    .services-item {
        width: calc(50% - 15px) !important;
        margin-right: 30px !important;
        height: calc((var(--container) - 1 * 30px) / 2 / 1.2169) !important;
    }
    .services-item:nth-child(2n) {
        margin-right: 0 !important;
    }

    .feedback-wrap {
        background: none;
        border-radius: 0px;
        overflow: inherit;
    }
    .feedback-info {
        background: rgba(177, 166, 166, 0.29);
        border-radius: 15px;
        overflow: hidden;
        margin-bottom: 30px;
        height: auto;
        padding: 30px 20px;
    }
    .feedback-image {
        margin-bottom: 30px;
    }
    .feedback-image img {
        max-height: 140px;
    }
    .payment-items {
        margin-bottom: 40px;
    }
    .footer:before {
        width: 800px;
        height: 800px;
        top: -590px;
        transform: none;
        left: calc(50% - 400px - 23px);
    }
    .footer > .container > .row {
        flex-direction: column;
        align-items: center;
    }
    .footer > .container > .row > * {
        width: auto;
    }
    .footer-widget {
        margin-bottom: 30px;
    }
    .footer-widget-title {
        text-align: center;
        margin-bottom: 20px;
    }
    .footer-menu {
        text-align: center;
    }
    .footer-contacts {
        max-width: 180px;
        margin-left: auto;
        margin-right: auto;
    }
    .footer-soc {
        justify-content: center;
    }
    .footer-bottom {
        text-align: center;
        font-size: 14px;
    }

    .main-menu {
        flex: auto;
        max-height: 100%;
        flex-direction: column;
        padding: 30px 0;
        margin-right: 0;
        justify-content: flex-start;
    }
    .main-menu li {
        margin-right: 0;
        width: 100%;
    }
    .main-menu li a {
        padding: 15px 30px;
        font-size: var(--text-size-lg);
        color: var(--black);
    }
    .main-menu li:nth-child(2n) a {
        background: rgba(54, 148, 235, 0.05);
    }
}



@media (max-width: 767px) {
    :root {
        --container: 510px;

        --text-size: 16px;
        --text-size-lg: 18px;
        --h1-size: 32px;
        --h2-size: 28px;
        --h3-size: 26px;
        --h4-size: 22px;
        --h5-size: 20px;
        --h6-size: 18px;
    }
    .services-item {
        width: 100% !important;
        margin-right: 0 !important;
        height: calc(var(--container) / 1.5) !important;
    }
}




@media (max-width: 575px) {
    :root {
        --container: 510px;

        --text-size: 14px;
        --text-size-lg: 16px;
        --h1-size: 28px;
        --h2-size: 24px;
        --h3-size: 22px;
        --h4-size: 20px;
        --h5-size: 18px;
        --h6-size: 17px;
    }
    .section {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .header {
        padding: 10px 0;
    }
    .header-wrap {
        height: 36px;
    }
    .header-logo img {
        max-height: 36px;
    }
    .header-phone {
        margin-right: 30px;
    }
    .header-phone a {
        font-size: var(--text-size);
    }
    .mainSlider-item__heading {
        font-size: var(--h2-size);
    }
    .mainSlider-item__heading:after {
        flex: 0 0 57px;
        max-width: 57px;
        height: 20px;
    }
    .mainSlider-item__sub-heading {
        font-size: var(--h4-size);
        margin-bottom: 24px;
    }
    .aboutAdvantages-item__image {
        flex: 0 0 150px;
    }
    .aboutBanner, .mapBanner {
        padding: 35px 20px;
    }
    .tariffs-item__wrap {
        padding: 24px 20px 30px;
    }
    .tariffs-item__repeaters {
        margin-bottom: 30px;
    }
    .owl-nav {
        margin-top: 20px;
    }
    .mapBanner-heading h2 {
        font-size: var(--h5-size);
    }
    .mapBanner-list li {
        font-size: 16px;
    }
    .feedback-form {
        padding: 30px 20px;
    }
    .payment-item {
        padding: 10px 15px;
    }
    .payment-item__image {
        flex: 0 0 64px;
        max-width: 64px;
        margin-right: 20px;
    }
    .payment-item__title {
        margin-bottom: 12px;
    }
    .publicAgreement {
        padding: 20px;
        border-radius: 20px;
        margin-top: 40px;
        justify-content: flex-start;
        text-align: left;
    }
    .publicAgreement a:before {
        flex: 0 0 40px;
        max-width: 40px;
        width: 40px;
        height: 40px;
        margin-right: 20px;
    }
    .error-404-number {
        font-size: calc(var(--h1-size)* 5);
    }
    .page-content {
        padding-top: 40px;
    }
    .modal-mobile-wrap {
        max-width: 100%;
    }
	.viberFixed {
		right: 20px;
		bottom: 20px;
	}
}