:root {
    --font-family: 'Gilroy', sans-serif;
}

@font-face {
    font-family: "Gilroy";
    font-style: normal;
    font-weight: 400;
    /* Браузер сначала попробует найти шрифт локально */
    src: local("Gilroy"),
         /* Если не получилось, загрузит woff2 */
         url("../fonts/gilroy-regular.woff2") format("woff2"),
         /* Если браузер не поддерживает woff2, загрузит woff */
         url("../fonts/gilroy-regular.woff") format("woff");
}

@font-face {
    font-family: "Gilroy";
    font-style: normal;
    font-weight: 300;
    /* Браузер сначала попробует найти шрифт локально */
    src: local("Gilroy"),
         /* Если не получилось, загрузит woff2 */
         url("../fonts/gilroy-light.woff2") format("woff2"),
         /* Если браузер не поддерживает woff2, загрузит woff */
         url("../fonts/gilroy-light.woff") format("woff");
}

@font-face {
    font-family: "Gilroy";
    font-style: normal;
    font-weight: 600;
    /* Браузер сначала попробует найти шрифт локально */
    src: local("Gilroy"),
         /* Если не получилось, загрузит woff2 */
         url("../fonts/gilroy-semibold.woff2") format("woff2"),
         /* Если браузер не поддерживает woff2, загрузит woff */
         url("../fonts/gilroy-semibold.woff") format("woff");
}

@font-face {
    font-family: "Gilroy";
    font-style: normal;
    font-weight: 700;
    /* Браузер сначала попробует найти шрифт локально */
    src: local("Gilroy"),
         /* Если не получилось, загрузит woff2 */
         url("../fonts/gilroy-bold.woff2") format("woff2"),
         /* Если браузер не поддерживает woff2, загрузит woff */
         url("../fonts/gilroy-bold.woff") format("woff");
}

* {
	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-size: 16px;
	line-height: 140%;
    letter-spacing: 0.02em;
    font-weight: 400;
	word-wrap: break-word;
	color: #333;
}

body.modal-open {
	height: 100vh;
	overflow-y: hidden;
}

.scale {
    display: inline-block; /* Строчно-блочный элемент */
    overflow: hidden; /* Скрываем всё за контуром */
}

.scale img {
    transition: 0.5s; /* Время эффекта */
    display: block; /* Убираем небольшой отступ снизу */
}

.scale img:hover {
    transform: scale(1.05); /* Увеличиваем масштаб */
}

.text-iconed {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.w-100 {
    width: 100%;
}

.clear {
	clear: both;
}

a {
    position: relative;
    color: #333;
	text-decoration: none;
    overflow: hidden;
}

a:hover {
	color: #1E1D1D;
}

svg path {
    transition: 0.3s;
}

.section-wrap {
	position: relative;
    margin: 0 auto;
    padding: 0 16px;
    width: 100%;
    max-width: 1472px;
}

.link-arrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 24px;
    box-shadow: 0 8px 7px 0 rgba(164, 206, 255, 0.28);
    transition: 0.3s;
    text-wrap: nowrap;
    font-size: 16px;
    color: #fff;
    font-weight: 600;
    border-radius: 32px;
    background: #0039ff;
    cursor: pointer;
    transition: 0.3s;
}

.btn:hover {
    background: #1436af;
}

.btn-bordered {
    padding: 14px 24px;
    background: #fff;
    border: 1px solid #0039ff;
    border-radius: 48px;
    color: #333;
    box-shadow: unset;
}

.btn-bordered:hover {
    color: #fff;
    background: #0039ff;
}

.btn-arrowed {
    gap: 10px;
    font-weight: 700;
    color: #0039FF;
    cursor: pointer;
    text-wrap: nowrap;
}

section {
    padding: 80px 0;
}

.smooth-box {
	position: relative;
	width: 100%;
	float: left;
}
  
.smooth-box:before {
	content: "";
	display: block;
	margin-top: 100%; 
}
  
.ratio4_4:before {
	margin-top: 100%;
}

.ration_banner:before {
    margin-top: 70%;
}

.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;
}

.mrg-top-40 {
	margin-top: 40px;
}

.title-18 {
	margin-bottom: 32px;
	font-size: 18px;
	font-weight: 500;
	line-height: 28px;
	color: #171717;
}

.column-2-gap-40 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 40px;
}

.column-4-gap-40 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-column-gap: 40px;
}

.column-4x3-gap40 {
	display: grid;
	grid-template-columns: 2fr 1fr;
	grid-column-gap: 40px;
}

.flex-space-between {
	display: flex;
	justify-content: space-between;
}

.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;
}

.mrg-bot-24 {
    margin-bottom: 24px;
}

.divider-24 {
    height: 24px;
}

.txt-center {
    text-align: center;
}
