:root {
    --font-family: "Manrope", sans-serif;
    --second-family: "Inter", 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: 500;
    font-size: 16px;
    line-height: 150%;
	word-wrap: break-word;
	color: #3f3f3f;
}

body.menu-open,
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: #3f3f3f;
	text-decoration: none;
    overflow: hidden;
}

a:hover {
	color: #1E1D1D;
}

svg path {
    transition: 0.3s;
}

.section-wrap {
	position: relative;
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
    max-width: 1440px;
}

section {
    margin: 110px 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;
}

.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 */
}

.section-grey {
	margin: 0;
	padding: 80px 0;
	background-color: #F8FAFC;
}

.text-black {
	color: #0F172A;
}

ul {
    padding-left: 0;
}

.hidden {
	display: none;
}