@font-face {
	font-family: 'Gilroy Light';
	src: url('../fonts/Gilroy-Light.woff2') format('woff2'),
		url('../fonts/Gilroy-Light.woff') format('woff'),
		url('../fonts/Gilroy-Light.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Gilroy Regular';
	src: url('../fonts/Gilroy-Regular.woff2') format('woff2'),
		url('../fonts/Gilroy-Regular.woff') format('woff'),
		url('../fonts/Gilroy-Regular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Gilroy Medium';
	src: url('../fonts/Gilroy-Medium.woff2') format('woff2'),
		url('../fonts/Gilroy-Medium.woff') format('woff'),
		url('../fonts/Gilroy-Medium.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Gilroy Bold';
	src: url('../fonts/Gilroy-Bold.woff2') format('woff2'),
		url('../fonts/Gilroy-Bold.woff') format('woff'),
		url('../fonts/Gilroy-Bold.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Gilroy Extrabold';
	src: url('../fonts/Gilroy-Extrabold.woff2') format('woff2'),
		url('../fonts/Gilroy-Extrabold.woff') format('woff'),
		url('../fonts/Gilroy-Extrabold.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

:root {
	--white: #ffffff; /* Белый */
	--rgb-white: 255, 255, 255;
	--black: #1d2633; /* Тёмно-серый (почти чёрный) */
	--rgb-black: 29, 38, 51;
	--pink: #bb69a6; /* Розово-лиловый */
	--rgb-pink: 187, 105, 166;
	--cyan: #4dbbe9; /* Ярко-голубой */
	--rgb-cyan: 77, 187, 233;
	--very-light-blue: #e7eff6; /* Очень светлный голубой */
	--rgb-very-light-blue: 231, 239, 246;
	--light-blue: #9cbbe3; /* Светло-голубой */
	--rgb-light-blue: 156, 187, 227;
	--gray-blue: #c6cfda; /* Серо-голубой */
	--rgb-gray-blue: 198, 207, 218;
	--teal: #01b8bc; /* Бирюзовый */
	--rgb-teal: 1, 184, 188;
	--gold: #d7b56d; /* Золотисто-бежевый */
	--rgb-gold: 215, 181, 109;
	--orange: #f57f20; /* Насыщенный оранжевый */
	--rgb-orange: 245, 127, 32;
	--green: #009d75; /* Изумрудно-зелёный */
	--rgb-green: 0, 157, 117;
	--steel-blue: #537ba1; /* Стальной синий */
	--rgb-steel-blue: 83, 123, 161;
	--bright-blue: #0093d1; /* Ярко-синий */
	--rgb-bright-blue: 0, 147, 209;
	--navy-blue: #0072b6; /* Тёмно-синий (нэви) */
	--rgb-navy-blue: 0, 114, 182;
	--dark-blue: #314a63;
	--rgb-dark-blue: 49, 74, 99;
	--gradient-1: linear-gradient(90deg, var(--black), var(--navy-blue));
	--gradient-2: linear-gradient(90deg, var(--bright-blue), var(--light-blue), var(--gray-blue));
	--gradient-3: linear-gradient(90deg, var(--gold), var(--cyan), var(--pink), var(--navy-blue));
	--border-radius-xs: 15px;
	--border-radius: 25px;
	--border-radius-xl: 35px;
	--text-color: var(--black);
	--font-light: 'Gilroy Light', sans-serif;
	--font-normal: 'Gilroy Regular', sans-serif;
	--font-medium: 'Gilroy Medium', sans-serif;
	--font-bold: 'Gilroy Bold', sans-serif;
	--font-extrabold: 'Gilroy Extrabold', sans-serif;
	--font-size: 1rem;
	--font-size-big: 1.25rem;
	--line-height: 1.255;
	--this-transition: .25s linear 0s;
	--transition: all var(--this-transition);
	--slow-transition: all .5s linear 0s
}

*,
*::before,
*::after {
	box-sizing: border-box
}

*:focus {
	outline: none
}

@media (prefers-reduced-motion: no-preference) {
	:root {
		scroll-behavior: smooth
	}
}

.bg-black { background-color: var(--black); }
.bg-blue-navy { background-color: var(--navy-blue); }
.bg-cyan { background-color: var(--cyan); }
.bg-light-blue { background-color: var(--light-blue); }
.bg-teal { background-color: var(--teal); }
.bg-green { background-color: var(--green); }
.bg-blue-steel { background-color: var(--steel-blue); }
.bg-gray-blue { background-color: var(--gray-blue); }
.bg-orange { background-color: var(--orange); }
.bg-pink { background-color: var(--pink); }
.bg-gold { background-color: var(--gold); }

.lazy,
.lazy-bg {
	background: rgba(var(--rgb-gray-blue), .5);
	transition: var(--transition)
}

.lazy.lazy-loaded,
.lazy-bg.lazy-loaded {
	opacity: 1
}

body {
	min-height: 100vh;
	margin: 0;
	font-family: var(--font-normal);
	font-size: var(--font-size);
	line-height: var(--line-height);
	background-color: var(--white);
	color: var(--text-color);
	text-align: left;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
	transition: var(--transition)
}

h6, h5, h4, h3, h2, h1 {
	margin: 0 0 1rem;
	font-weight: 500;
	line-height: 1.2;
	font-family: var(--font-extrabold);
	color: var(--text-color);
	transition: var(--transition)
}

h1 {
	font-size: calc(1.375rem + 1.5vw)
}

h2 {
	font-size: calc(1.325rem + .9vw)
}

h3 {
	font-size: calc(1.3rem + .6vw)
}

h4 {
	font-size: calc(1.275rem + .3vw)
}

h5 {
	font-size: 1.25rem
}

h6 {
	font-size: 1rem
}

@media (min-width: 1200px) {
	h1 {
		font-size: 3.5rem
	}

	h2 {
		font-size: 3rem
	}

	h3 {
		font-size: 2.25rem
	}

	h4 {
		font-size: 2rem
	}
}

p {
	margin-top: 0;
	margin-bottom: 1rem
}

ol,
ul {
	padding-left: 2rem
}

ol,
ul,
dl {
	margin-top: 0;
	margin-bottom: 1rem
}

ol ol,
ul ul,
ol ul,
ul ol {
	margin-bottom: 0
}

strong {
	font-weight: bolder
}

small {
	font-size: .875em
}

small.little {
	font-size: .5em
}

a {
	text-decoration: none
}

a,
.link {
	cursor: pointer;
	color: var(--text-color);
	transition: var(--transition)
}

a:hover,
.link:hover {
	color: var(--navy-blue)
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
	color: inherit;
	text-decoration: none
}

img,
svg {
	max-width: 100%;
	vertical-align: middle
}

table {
	caption-side: bottom;
	border-collapse: collapse
}

thead,
tbody,
tfoot,
tr,
td,
th {
	border-color: inherit;
	border-style: solid;
	border-width: 0
}

label {
	display: block;
	margin: 0 0 .15rem
}

input,
button,
select,
optgroup,
textarea {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit
}

select {
	word-wrap: normal
}

select:disabled {
	opacity: 1
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
	display: none !important
}

::-moz-focus-inner {
	padding: 0;
	border-style: none
}

textarea {
	resize: vertical
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
	padding: 0
}

::-webkit-inner-spin-button {
	height: auto
}

::-webkit-file-upload-button {
	font: inherit;
	-webkit-appearance: button
}

::file-selector-button {
	font: inherit;
	-webkit-appearance: button
}

*:not(.hide)[hidden],
*:not(.hide).hidden {
	display: none !important
}

iframe {
	border: 0
}