@font-face {
    font-family: "Neris Light";
    src: url("../font/Neris/Neris-Light.otf") format("opentype");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Neris SemiBold";
    src: url("../font/Neris/Neris-SemiBold.otf") format("opentype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Waterway Display";
    src: url("../font/Waterway Display Font.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

:root {
    --font-family: "Neris Light", sans-serif;
    --font-family-semi-bold: "Neris SemiBold", sans-serif;
	--second-family: "Waterway Display", sans-serif;
}

* {
	box-sizing: border-box;
	outline: none;
}

* p:first-child {
    margin-top: 0;
}

* p:last-child {
    margin-bottom: 0;
}

html {
	padding: 0px;
	margin: 0px;
}

body {
	padding: 0px;
	margin: 0px;
    font-family: var(--font-family);
	font-weight: 400;
    font-size: 16px;
    line-height: 140%;
	word-wrap: break-word;
	color: #000;
	background: #fff;
}

body.menu-open,
body.modal-open {
	height: 100vh;
	overflow-y: hidden;
}

/* Эффект масштабирования img при навадении Start */
.scale {
    display: inline-block;
    overflow: hidden; 
}

.scale img {
    transition: 0.5s; 
    display: block; 
}

.scale img:hover {
    transform: scale(1.05);
}
/* Эффект масштабирования img при навадении End */

.text-iconed {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.btn__arrow-link {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    color: #111;
    font-family: var(--font-family-semi-bold);
    font-size: 14px;
    line-height: 1;
    overflow: visible;
    cursor: pointer;
}

.btn__arrow-link svg {
    transition: transform 0.3s ease;
}

.btn__arrow-link:hover {
    color: #111;
}

.btn__arrow-link:hover svg {
    transform: translateX(6px);
}

.btn__arrow-link--white,
.btn__arrow-link--white:hover {
    color: #fff;
}

.btn__black {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 12px 24px;
    border: 0;
    background: #000;
    color: #fff;
    font-family: var(--font-family-semi-bold);
    font-size: 14px;
    line-height: 1.2;
    cursor: pointer;
}

.btn__black:hover {
    color: #fff;
}

.text--green {
    color: #7fad3c;
    font-weight: 600;
}

.w-100 {
    width: 100%;
}

.clear {
	clear: both;
}

a {
    position: relative;
	text-decoration: none;
    overflow: hidden;
}


svg path {
    transition: 0.3s;
}

.section-wrap {
	position: relative;
    margin: 0 auto;
	padding: 0 80px;
	width: 100%;
	max-width: 1920px;
}

section {
    padding: 80px 0;
}

.dark-layer-box {
    position: absolute;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background-color: rgb(23 23 23 / 0%);
	opacity: 0;
    color: #fff;
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
	transition: 0.2s;
}

.overflow-visible {
    overflow: visible;
}

.max-width-544 {
	max-width: 544px;
}

.service-gallery__slider {
	display: none;
	position: relative;
}

.no-shadow {
	box-shadow: none;
}

.noselect {
	-webkit-touch-callout: none; /* iOS Safari */
	  -webkit-user-select: none; /* Safari */
	   -khtml-user-select: none; /* Konqueror HTML */
		 -moz-user-select: none; /* Old versions of Firefox */
		  -ms-user-select: none; /* Internet Explorer/Edge */
			  user-select: none; /* Non-prefixed version, currently
									supported by Chrome, Edge, Opera and Firefox */
}

ul {
    padding-left: 0;
}

.hidden {
	display: none;
}

/* Fancybox: видео в iframe (Rutube, YouTube и т.д.) — соотношение 16:9 */
.fancybox-slide--iframe .fancybox-content {
	width: min(92vw, 960px, calc(90vh * 16 / 9)) !important;
	aspect-ratio: 16 / 9;
	height: auto !important;
	padding: 0 !important;
	background: #000;
	position: relative;
	overflow: hidden;
}

.fancybox-slide--iframe .fancybox-content iframe {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	border: 0 !important;
}