:root {
	--color-primary-Hue: 220;
	--color-primary: var(--color-primary-Hue), 50%, 40%;
	--color-second: #C2D823;
	--color-grey-1: #EAEAEA;
	--color-grey-2: #C2C2C2;
	--color-grey-3: #515151;
	--color-grey-99: #151515;
	--color-grisale: #525B6E;
	--color-red: #FF575F;
	--color-black: 0, 0%, 0%;
	--color-white: 0, 0%, 100%;
	--fontPrimary: "Monserrat", Tahoma, Helvetica, Geneva, sans-serif;
	--fontSize: 16px;
	--fontSize-12: 0.75rem;
	--fontSize-14: 0.875rem;
	--fontSize-18: 1.125rem;
	--fontSize-20: 1.25rem;
	--fontSize-22: 1.375rem;
	--fontSize-24: 1.5rem;
	--fontSize-26: 1.625rem;
	--fontSize-28: 1.75rem;
	--unitBase: 0.25rem;
	--size-2: calc(var(--unitBase)*2);
	--size-2_5: calc(var(--unitBase)*2.5);
	--size-3: calc(var(--unitBase)*3);
	--size-4: calc(var(--unitBase)*4);
	--size-5: calc(var(--unitBase)*5);
	--size-6: calc(var(--unitBase)*6);
	--size-7: calc(var(--unitBase)*7);
	--size-8: calc(var(--unitBase)*8);
	--size-9: calc(var(--unitBase)*9);
	--size-10: calc(var(--unitBase)*10);
	--size-11: calc(var(--unitBase)*11);
	--size-12: calc(var(--unitBase)*12);
	--size-13: calc(var(--unitBase)*13);
	--size-14: calc(var(--unitBase)*14);
	--size-15: calc(var(--unitBase)*15);
	--size-16: calc(var(--unitBase)*16);
	--size-20: calc(var(--unitBase)*20);
	--size-24: calc(var(--unitBase)*24);
	--size-26: calc(var(--unitBase)*26);
	--size-30: calc(var(--unitBase)*30);
	--size-38: calc(var(--unitBase)*38);
	--size-40: calc(var(--unitBase)*40);
	--size-58: calc(var(--unitBase)*58);
	--size-80: calc(var(--unitBase)*80);
	--size-96: calc(var(--unitBase)*96);
	--round-md: 28px;
	--round-lg: 32px;
	--round-xl: 64px;
	--round-full: 9999px;
	--round-circle: 50%;
	--heightHeader: 82;
	--container: 1760px;
	--viewport-padding: var(--size-3);
	--h1-size: var(--size-10);
	--h2-size: var(--size-9);
	--h3-size: var(--fontSize-24);
	--transition: ease;
	--shadow: 0px 0px 13px 0 hsla(221, 15%, 38%, 0.25);
	--colorBg: hsl(var(--color-white));
	--colorText: var(--color-grey-99);
	--color-link: hsl(var(--color-primary));
	--color-link_hover: #8b9d01;
	--colorBorderInput: hsl(var(--color-primary));
	--bgInput: hsl(var(--color-white));
	--padInput: var(--size-4) var(--size-6);
	--fszInput: 1rem;
	--colorFocusBorderInput: var(--color-second);
	--focusOutlineColor: 0, 0%, 0%;
	--focusOutlineOpacity: 0.3
}

@media (min-width:768px) {
	:root {
		--viewport-padding: var(--size-5)
	}
}

@media (min-width:1024px) {
	:root {
		--h2-size: var(--size-12);
		--h3-size: var(--size-9)
	}
}

@media (min-width:1256px) {
	:root {
		--heightHeader: 84;
		--h1-size: 5.25rem;
		--h2-size: 3.81rem;
		--h3-size: 2.8rem;
		--padInput: var(--size-5) var(--size-8);
		--fszInput: var(--fontSize-20)
	}
}

@media (min-width:1500px) {
	:root {
		--heightHeader: 140;
		--h1-size: 7.75rem;
		--h2-size: 5.25rem;
		--h3-size: 4rem
	}
}

@font-face {
	font-display: swap;
	font-family: Monserrat;
	font-style: normal;
	font-weight: 500;
	src: url(../fonts/Montserrat-Medium.woff2) format("woff2"), url(../fonts/Montserrat-Medium.woff) format("woff")
}

@font-face {
	font-display: swap;
	font-family: Monserrat;
	font-style: normal;
	font-weight: 600;
	src: url(../fonts/Montserrat-SemiBold.woff2) format("woff2"), url(../fonts/Montserrat-SemiBold.woff) format("woff")
}

* {
	text-rendering: optimizeLegibility !important;
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale;
	font-kerning: auto;
	-ms-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	line-height: 1.2em
}

*,
:after,
:before {
	box-sizing: border-box
}

:focus,
:focus-visible {
	-webkit-tap-highlight-color: transparent
}

button {
	background: none;
	color: inherit;
	cursor: pointer;
	font-family: inherit;
	font-size: 100%;
	padding: 0
}

a img,
button {
	border: none
}

p {
	margin: 0
}

dl,
ol,
ul {
	margin: 0;
	padding: 0
}

ul {
	list-style: none
}

strong {
	font-weight: 600
}

figure {
	margin: 0;
	padding: 0
}

figure img {
	max-width: 100%
}

pre {
	font-family: var(--font-primary)
}

table {
	border: none;
	border-collapse: collapse;
	border-spacing: 0
}

dialog {
	border: none;
	padding: 0
}

body,
html {
	font-size: var(--fontSize)
}

body {
	background: var(--colorBg);
	color: var(--colorText);
	font-family: var(--fontPrimary);
	font-weight: 500;
	margin: 0;
	padding: 0;
	position: relative
}

.hidden {
	display: none
}

[hidden] {
	display: none !important
}

.visually-hidden {
	border: 0;
	clip-path: inset(100%);
	height: 1px;
	margin: -1px;
	padding: 0;
	position: absolute;
	width: 1px;
	clip: rect(0 0 0 0);
	overflow: hidden
}

.scroll-none {
	overflow: hidden
}

a {
	color: var(--color-link);
	text-underline-offset: 2px;
	transition: color .2s ease
}

a:focus-visible {
	color: var(--color-link_hover)
}

@media (hover:hover) {
	a:hover {
		color: var(--color-link_hover)
	}
}

h1,
h2,
h3 {
	margin: 0
}

.h1,
h1 {
	font-size: var(--h1-size);
	font-weight: 600
}

.h1,
.h2,
h1,
h2 {
	margin: 0;
	padding: 0;
	text-wrap: balance
}

.h2,
h2 {
	font-size: var(--h2-size)
}

.h2,
.h3,
h2,
h3 {
	font-weight: 400;
	text-align: center
}

.h3,
h3 {
	font-size: var(--h3-size);
	margin: 0;
	padding: 0;
	text-wrap: balance
}

.icok {
	display: inline-block;
	flex-shrink: 0;
	height: 1em;
	text-align: center;
	transition: color .2s ease-out;
	width: 1em
}

.icok svg {
	display: block;
	fill: currentColor;
	height: 100%;
	stroke: none;
	width: 100%
}

.ico-minus,
.ico-plus {
	--thin: 3px;
	--round: 5px;
	color: currentColor;
	display: inline-block;
	height: 1em;
	position: relative;
	width: 1em
}

.ico-minus:after,
.ico-minus:before,
.ico-plus:after,
.ico-plus:before {
	background: currentColor;
	border-radius: var(--round);
	content: "";
	position: absolute;
	transform-origin: 50% 50%;
	transition: all .2s ease
}

.ico-minus:after,
.ico-plus:after {
	height: var(--thin);
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%
}

.ico-plus:before {
	height: 100%;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%) scaleY(1);
	transition: height .2s ease;
	width: var(--thin)
}

.ico-minus:before {
	display: none
}

ul.ul-text {
	list-style-type: disc;
	margin-left: 2em
}

ul.ul-text li {
	margin-bottom: .5em
}

ul.ul-text ul.ul-text {
	margin-top: .5em
}

.socio {
	align-items: center;
	display: flex;
	gap: var(--size-5);
	justify-content: space-between
}

.socio__item,
.socio__link {
	line-height: 1em
}

.socio__link {
	align-items: center;
	display: flex;
	font-size: var(--size-10);
	justify-content: center
}

.overflow-table {
	overflow: auto;
	width: 100%
}

.table__td {
	border: 1px solid hsla(var(--color-black), .2);
	padding: var(--unitBase)
}

.table__td--th {
	font-size: 1rem
}

button,
form,
input,
option,
select,
textarea {
	font-family: inherit;
	font-size: 100%
}

fieldset {
	border: none;
	margin: 0;
	min-inline-size: auto;
	padding: 0
}

select {
	max-width: 100%;
	width: 100%
}

input {
	transition: background-color .2s var(--transition), color .2s var(--transition), border .2s var(--transition)
}

input:-webkit-autofill,
input:-webkit-autofill:focus,
input:-webkit-autofill:hover {
	-webkit-text-fill-color: hsl(var(--colorPrimary));
	-webkit-box-shadow: 0 0 0 40rem #ffff inset, var(--shadow-default)
}

.default-input {
	--colorText: var(--color-grey-99);
	background-color: var(--bgInput);
	border: 2px solid var(--colorBorderInput);
	border-radius: var(--round-full);
	color: var(--colorText);
	font-size: var(--fszInput);
	line-height: 1.15em;
	line-height: 1em;
	outline: 4px solid transparent;
	outline-offset: 2px;
	padding: var(--padInput);
	transition: opacity .3s var(--transition), border-color .2s var(--transition), color .2s var(--transition), outline-color .3s var(--transition);
	width: 100%
}

.default-input:focus,
.default-input:focus-visible {
	border-color: var(--colorFocusBorderInput);
	outline-color: hsla(var(--focusOutlineColor), var(--focusOutlineOpacity))
}

.default-input:disabled {
	border-color: hsl(var(--colorText), .3);
	color: hsl(var(--colorText), .7);
	cursor: not-allowed;
	pointer-events: none
}

@media (hover:hover) {
	.default-input:hover {
		border-color: var(--colorFocusBorderInput)
	}
}

.default-input::-moz-placeholder {
	color: var(--colorText);
	font-size: 100%;
	opacity: .5
}

.default-input:-ms-input-placeholder {
	color: var(--colorText);
	font-size: 100%;
	opacity: .5
}

.default-input::-webkit-input-placeholder {
	color: var(--colorText);
	font-size: 100%;
	opacity: .5
}

.default-input--error {
	--colorBorderInput: hsl(var(--colorDanger))
}

.default-input--success {
	--colorBorderInput: hsl(var(--colorSuccess))
}

.formDefault__item {
	display: flex;
	gap: 0 var(--size-5)
}

.formDefault__item:not(:last-child) {
	margin: var(--size-2) 0 var(--size-6)
}

.formDefault__row {
	align-items: stretch;
	display: flex;
	flex-direction: column;
	gap: var(--size-5)
}

.formDefault__row:not(:last-child) {
	margin: var(--size-2) 0 var(--size-8)
}

.formDefault__row .formDefault__item,
.formDefault__row .inputGroup {
	margin: 0
}

.formDefault__fieldset {
	margin: var(--size-12) 0 0
}

.formDefault__footer {
	display: flex;
	flex-direction: column;
	gap: var(--size-4);
	justify-content: space-between
}

.formDefault__foot-left,
.formDefault__foot-right {
	align-items: center;
	display: flex;
	gap: var(--size-4)
}

.inputItem {
	align-items: start;
	display: flex;
	flex-direction: column;
	gap: var(--size-3) var(--size-4);
	position: relative;
	width: 100%
}

.inputItem__label {
	display: block;
	font-weight: 700;
	transition: all .4s var(--transition)
}

.inputItem__box {
	display: inline-block;
	position: relative;
	width: 100%
}

.inputItem__helpText {
	color: hsla(var(--colorText), .6);
	font-size: var(--fontSize-sm)
}

.inputItem__error-text,
.inputItem__helpText {
	margin-top: calc(var(--unitBase)*-1)
}

.inputItem--prefix .default-input {
	padding-left: 2.5em;
	width: 100%
}

.inputItem__prefix {
	color: var(--colorIconInput);
	font-size: 1.2em;
	left: .8em;
	line-height: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%)
}

:disabled+.inputItem__prefix,
:disabled+.inputItem__suffix,
:disabled~.inputItem__prefix,
:disabled~.inputItem__suffix {
	opacity: .5
}

.stylized-select {
	display: inline-flex;
	width: 100%
}

.choices {
	--color-arrow: var(--colorText);
	--colorBorderInput: var(--color-grey-3);
	overflow: inherit;
	width: 100%
}

.choices__inner {
	--padInput: var(--size-4) var(--size-10) var(--size-4) var(--size-6);
	--colorText: var(--color-grey-99);
	background-color: var(--bgInput);
	border-radius: var(--round-full);
	border-width: 2px;
	border: 1px solid var(--colorBorderInput);
	color: var(--colorText);
	font-size: var(--fszInput);
	line-height: 1.15em;
	line-height: 1em;
	outline: 4px solid transparent;
	outline-offset: 2px;
	padding: var(--padInput)
}

.choices__inner,
.choices__input {
	background-color: hsl(var(--color-white))
}

.choices[data-type*=select-one]:after {
	display: none
}

.choices[data-type*=select-one]:before {
	background: none;
	border-right: 2px solid var(--color-arrow);
	border-top: 2px solid var(--color-arrow);
	content: "";
	display: block;
	height: 10px;
	position: absolute;
	right: 1.2em;
	top: 50%;
	transform: translateY(-70%) rotate(135deg) skew(0deg);
	width: 10px
}

.choices[data-type*=select-one] .choices__inner {
	display: flex;
	overflow: hidden;
	padding-bottom: var(--size-4)
}

.choices__list--single {
	display: inline-flex;
	padding: 0
}

.choices__list--single .choices__item--selectable {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 100%
}

.choices.is-focused .choices__inner,
.choices.is-open .choices__inner {
	--colorText: var(--color-grey-99);
	background-color: var(--bgInput);
	border-radius: var(--round-full);
	border-width: 2px;
	border: 1px solid var(--colorBorderInput);
	color: var(--colorText);
	line-height: 1.15em;
	outline: 4px solid transparent;
	outline-offset: 2px
}

.choices__list--dropdown,
.choices__list[aria-expanded] {
	--border-color: var(--color-grey-2);
	--border-radius: var(--round-md);
	border: 1px solid var(--border-color) !important;
	border-radius: var(--border-radius) !important;
	box-shadow: 0 4px 44px hsla(221, 15%, 38%, .25);
	margin-top: 0;
	word-break: normal
}

.is-flipped .choices__list--dropdown,
.is-flipped .choices__list[aria-expanded] {
	margin-bottom: 0
}

.choices__list--dropdown .choices__item,
.choices__list[aria-expanded] .choices__item {
	font-size: var(--fontSize);
	padding: var(--size-4)
}

.choices__list--dropdown .choices__item.is-highlighted,
.choices__list[aria-expanded] .choices__item.is-highlighted {
	background-color: var(--color-grey-1)
}

.choices[data-type*=select-one] .choices__input {
	font-size: var(--fontSize);
	padding: var(--size-4);
	padding-top: var(--size-6)
}

@media (min-width:1500px) {
	.choices__inner {
		--padInput: var(--size-5) var(--size-12) var(--size-5) var(--size-8)
	}

	.choices[data-type*=select-one] .choices__inner {
		padding-bottom: var(--size-5)
	}
}

.button {
	--insetV: calc(var(--size-4) - 2px);
	--insetH: var(--size-5);
	--outlinestyle: hsla(var(--focusOutlineColor), var(--focusOutlineOpacity));
	--fsize: 1em;
	align-items: center;
	background-color: hsl(var(--colorGrey-L85));
	border: 1px solid transparent;
	border-radius: var(--round-full);
	color: hsl(var(--colorText));
	cursor: pointer;
	display: inline-flex;
	font-size: var(--fsize);
	justify-content: center;
	letter-spacing: .04ex;
	line-height: 1.15em;
	min-height: var(--size-10);
	outline: 4px solid transparent;
	outline-offset: 2px;
	padding: var(--insetV) var(--insetH);
	text-align: center;
	text-decoration: none;
	text-wrap: balance;
	transition: all .2s var(--transition);
	vertical-align: baseline
}

.button:focus-visible {
	outline-color: var(--outlinestyle)
}

.button._disabled,
.button:disabled {
	box-shadow: none;
	color: hsla(var(--colorText), .6);
	cursor: not-allowed;
	opacity: .3;
	pointer-events: none
}

.button._disabled:focus-visible,
.button:disabled:focus-visible {
	outline: none
}

.button .icok {
	font-size: 1.5em
}

.button--withicon {
	align-items: center;
	display: inline-flex;
	gap: var(--size-3);
	justify-content: center;
	padding: var(--size-2) var(--size-2) var(--size-2) var(--size-6);
	text-align: left
}

.button--withicon .icok {
	background-color: var(--bgicon);
	border-radius: var(--round-circle);
	color: var(--coloricon);
	font-size: var(--size-10);
	padding: calc(var(--size-2) + 1px)
}

.button--onlyicon {
	--insetH: var(--insetV);
	align-items: center;
	aspect-ratio: 1/1;
	display: inline-flex;
	justify-content: center;
	line-height: 0
}

@media (min-width:1400px) {
	.button {
		--insetV: calc(var(--size-5) - 2px);
		--insetH: var(--size-6);
		--fsize: var(--fontSize-20)
	}

	.button--withicon .icok {
		font-size: var(--size-12);
		padding: var(--size-3)
	}
}

.btn-default {
	--color-link_hover: var(--colorText);
	--bgicon: hsl(var(--color-white));
	--coloricon: var(--color-grey-99);
	background-color: var(--color-second);
	border: none;
	color: var(--colorText);
	transition: background-color .2s var(--transition)
}

.btn-default:focus-visible {
	background-color: #D5E941
}

.btn-default:active {
	background-color: #B3C720
}

@media (hover:hover) {
	.btn-default:hover {
		background-color: #D5E941
	}
}

.btn-default._disabled,
.btn-default:disabled {
	background-color: var(--color-grey-2)
}

.btn-second {
	--color-link_hover: hsl(var(--color-white));
	--bgopacity: 0.23;
	--bgcolor: var(--color-white);
	--bgicon: var(--color-second);
	--coloricon: var(--color-grey-99);
	background-color: hsla(var(--bgcolor), var(--bgopacity));
	border: none;
	color: hsl(var(--color-white));
	transition: background-color .2s var(--transition)
}

.btn-second:focus-visible {
	--bgopacity: 0.35
}

.btn-second:active {
	--bgopacity: 0.15
}

@media (hover:hover) {
	.btn-second:hover {
		--bgopacity: 0.35
	}
}

.btn-second._disabled,
.btn-second:disabled {
	--bgopacity: 0.45
}

.btn-outline {
	--colorBtnOutline: var(--colorText);
	background-color: transparent;
	border-color: var(--colorBtnOutline);
	color: var(--colorBtnOutline);
	font-weight: 700
}

@media (hover:hover) {
	.btn-outline:hover {
		--colorBtnOutline: var(--color-link_hover)
	}
}

.btn-outline:focus-visible {
	--colorBtnOutline: var(--color-link_hover)
}

.btn-outline._disabled,
.btn-outline:disabled {
	--colorBtnOutline: var(--color-grey-3)
}

.btn-outline--inverse {
	--colorBtnOutline: hsl(var(--color-white))
}

.btn-outline--inverse._disabled,
.btn-outline--inverse:disabled {
	--colorBtnOutline: var(--color-grey-1)
}

.logo {
	--color: currentColor
}

.logo img,
.logo svg {
	height: 100%
}

.logo svg {
	fill: var(--color)
}

.logo__desctop {
	display: none
}

.hamburger {
	--widthLine: 1em;
	--heightLine: 2px;
	--color: currentColor;
	--marginLine: 6px;
	--round: 12px;
	align-items: center;
	background: none;
	cursor: pointer;
	display: flex;
	font-size: var(--size-5);
	height: var(--size-5);
	justify-content: center;
	padding: .5em 0
}

.hamburger>span {
	position: relative;
	transition: color .2s var(--transition)
}

.hamburger>span,
.hamburger>span:after,
.hamburger>span:before {
	background: var(--color);
	border-radius: var(--round);
	display: block;
	height: var(--heightLine);
	width: var(--widthLine)
}

.hamburger>span:after,
.hamburger>span:before {
	content: "";
	position: absolute;
	transition: font-size 0s, color .2s var(--transition)
}

.hamburger>span:before {
	margin-top: calc(var(--marginLine)*-1)
}

.hamburger>span:after {
	margin-top: var(--marginLine)
}

.hamburger.burger1 {
	transition: transform .3s, font-size 0s;
	transition-timing-function: cubic-bezier(.68, -.35, .265, 1.35)
}

.hamburger.burger1>span {
	transition: transform .1s .3s, font-size 0s
}

.hamburger.burger1>span:after,
.hamburger.burger1>span:before {
	transition: transform .3s 0s, font-size 0s
}

.is-active .hamburger.burger1,
[aria-expanded=true] .hamburger.burger1 {
	transform: rotate(180deg)
}

.is-active .hamburger.burger1>span:before,
[aria-expanded=true] .hamburger.burger1>span:before {
	transform: rotate(45deg) translate(24%, 170%)
}

.is-active .hamburger.burger1>span,
[aria-expanded=true] .hamburger.burger1>span {
	background-color: transparent
}

.is-active .hamburger.burger1>span:after,
[aria-expanded=true] .hamburger.burger1>span:after {
	transform: rotate(-45deg) translate(24%, -200%)
}

.header {
	--bgcolor: var(--colorBg);
	background: var(--bgcolor);
	box-shadow: 0 2px 3px 0 hsla(0, 0%, 0%, .1);
	height: calc(var(--heightHeader)*1px);
	justify-content: center;
	padding: var(--size-6) var(--viewport-padding) var(--size-3);
	position: sticky;
	top: 0;
	transition: all .3s ease-in-out;
	z-index: 100
}

.header,
.header__container {
	align-items: stretch;
	display: flex;
	width: 100%
}

.header__container {
	gap: var(--unitBase);
	justify-content: space-between;
	max-width: var(--container)
}

.header__togglermenu {
	align-items: center;
	aspect-ratio: 1/1;
	background-color: hsl(var(--color-primary));
	border: 1px solid transparent;
	border-radius: var(--round-circle);
	color: hsl(var(--color-white));
	display: flex;
	justify-content: center;
	transition: border-color .2s ease;
	width: 46px
}

.header__togglermenu[aria-expanded] {
	border-color: hsl(var(--color-white))
}

.header__logo {
	height: 46px
}

.header__btn {
	font-size: var(--fontSize-14);
	margin-left: auto
}

.header__navdesctop {
	display: none
}

.header:has(.header__togglermenu[aria-expanded]) {
	--bgcolor: hsl(var(--color-primary));
	color: hsl(var(--color-white))
}

.nav {
	--colorText: hsl(var(--color-white));
	--color-link: hsl(var(--color-white));
	--color-link_hover: var(--color-second);
	background-color: hsl(var(--color-primary));
	box-shadow: -2px 0 3px 0 hsla(0, 0%, 0%, .1);
	display: none;
	height: calc(100dvh - var(--heightHeader)*1px);
	max-width: 400px;
	overflow: auto;
	position: absolute;
	right: 0;
	top: calc(var(--heightHeader)*1px);
	width: 100%
}

.nav__container {
	gap: 0;
	height: 100%;
	justify-content: space-between;
	padding: var(--size-8) var(--viewport-padding)
}

.nav__container,
.nav__list {
	display: flex;
	flex-direction: column
}

.nav__list {
	gap: var(--size-6)
}

.nav__link {
	color: var(--colorText);
	display: flex;
	font-size: var(--fontSize-20);
	padding: var(--size-2) 0;
	text-decoration: none
}

@media (hover:hover) {
	.nav__link:hover {
		text-decoration: underline
	}
}

.nav__item {
	position: relative
}

.nav__item:after {
	background-color: var(--color-second);
	content: "";
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	transform: translateX(-100%);
	transition: opacity .3s ease;
	width: 10px
}

.nav__item.selected {
	padding-left: var(--size-4)
}

.nav__item.selected:after {
	opacity: 1
}

.footer {
	--colorText: hsla(var(--color-white));
	--color-link: hsla(var(--color-white));
	--color-link_hover: var(--color-second);
	display: flex;
	justify-content: center;
	padding: 56px var(--viewport-padding) 0
}

.footer__container {
	background-color: hsl(var(--color-primary));
	border-radius: var(--round-md) var(--round-md) 0 0;
	color: var(--colorText);
	max-width: var(--container);
	padding: var(--size-6);
	width: 100%
}

.footer__content {
	display: flex;
	flex-direction: column;
	gap: var(--size-10)
}

.footer__logo img {
	max-width: 300px;
	width: 100%
}

.footer__contacts {
	display: flex;
	flex-direction: column;
	gap: var(--size-4)
}

.footer__contacts a {
	text-decoration: none
}

@media (hover:hover) {
	.footer__contacts a:hover {
		text-decoration: underline
	}
}

.footer__copy {
	font-size: var(--fontSize-12)
}

.content {
	--gap: 56px;
	--bottom-h2: var(--size-9);
	display: grid;
	font-size: var(--fontSize);
	gap: var(--gap) var(--viewport-padding);
	grid-template-columns: 1fr Min(var(--container), calc(100% - var(--viewport-padding)*2)) 1fr;
	padding-top: var(--size-7);
	width: 100%
}

.content__section {
	grid-column: 2
}

.content__section--full {
	grid-column: 1/-1
}

.content__h2 {
	padding-bottom: var(--bottom-h2)
}

.block--dark {
	--colorText: hsl(var(--color-white));
	--color-link: hsl(var(--color-white));
	--color-link_hover: var(--color-second);
	color: var(--colorText)
}

.block--dark,
.topPage {
	background-color: hsl(var(--color-primary))
}

.topPage {
	align-items: center;
	border: 4px solid hsla(100, 100%, 100%, .7);
	border-radius: 50%;
	bottom: 40px;
	display: flex;
	font-size: 22px;
	height: 50px;
	justify-content: center;
	position: fixed;
	right: 30px;
	transition: all .2s ease;
	width: 50px;
	z-index: 3
}

.topPage,
.topPage:visited {
	color: #fff
}

.topPage:active,
.topPage:hover {
	background-color: var(--color-link_hover);
	color: #fff
}

.topPage:focus-visible {
	background-color: var(--color-link_hover);
	border-color: transparent;
	color: #fff;
	outline: 4px solid var(--color-link_hover);
	outline-offset: 2px
}

.cover {
	border-radius: var(--round-md);
	padding: var(--size-6);
	padding-bottom: 0
}

.cover__container {
	align-items: center;
	display: flex;
	flex-direction: column;
	position: relative
}

.cover__h1 {
	display: inline-flex;
	flex-direction: column;
	font-size: 10vw;
	order: 2
}

.cover__h1_frase {
	line-height: 1em;
	white-space: nowrap
}

.cover__h1_frase:nth-of-type(2) {
	align-self: flex-end
}

.cover__h1_frase:nth-of-type(3) {
	margin-left: 10%
}

.cover__h1_frase:nth-of-type(4) {
	align-self: flex-end;
	margin-right: 2%
}

.cover__dates {
	align-self: flex-end;
	border: 1px solid;
	border-radius: var(--round-full);
	display: inline-flex;
	margin-bottom: var(--size-9);
	order: 1;
	padding: var(--size-3) var(--size-6)
}

.cover__btn {
	margin-bottom: var(--size-8);
	margin-top: -3px;
	order: 3
}

.cover__imges {
	order: 4;
	position: relative;
	width: 82%
}

.cover__img-mask {
	aspect-ratio: 1.06;
	overflow: hidden;
	width: 100%
}

.cover__img {
	max-width: 100%;
	width: 100%
}

.cover__img-3d {
	bottom: -34%;
	left: -17%;
	max-width: 98%;
	position: absolute;
	width: 100%
}

.about {
	--round: var(--size-7);
	--inset: var(--size-6)
}

.about__container {
	padding: var(--size-5) 0
}

.about__content {
	display: grid;
	gap: var(--size-3);
	grid-template-columns: 1fr 1fr
}

.about__img {
	aspect-ratio: 2/1.2;
	grid-column: 1/-1
}

.about__img img {
	border-radius: var(--round);
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%
}

.about__age {
	align-content: flex-end;
	border-radius: var(--round);
	grid-column: 1/2;
	padding: var(--inset)
}

.about__age strong {
	display: block;
	font-size: var(--fontSize-20)
}

.about__quantity {
	align-content: flex-end;
	aspect-ratio: 1.1;
	background-color: var(--color-second);
	border-radius: var(--round);
	grid-column: 2/-1;
	padding: var(--inset)
}

.about__quantity strong {
	display: block;
	font-size: var(--fontSize-20)
}

.about__action {
	align-items: flex-start;
	aspect-ratio: 1.1;
	background-color: var(--color-grey-1);
	border-radius: var(--round);
	display: flex;
	flex-direction: column;
	gap: var(--size-7);
	grid-column: 1/-1;
	padding: var(--inset)
}

.about__tag {
	font-size: var(--fontSize-14)
}

.about__title {
	font-size: var(--fontSize-20);
	text-wrap: balance
}

.about__link {
	margin-top: auto
}

.about__adj {
	grid-column: 1/-1;
	padding-top: var(--size-5)
}

.about__list {
	display: flex;
	flex-direction: column;
	gap: var(--size-7);
	justify-content: space-between;
	text-wrap: balance
}

.select-institute {
	margin: 0 auto;
	max-width: 700px;
	width: 100%
}

.program {
	--color-brd: var(--color-grey-2)
}

.program__list {
	border-bottom: 1px solid var(--color-grey-2);
	padding-top: var(--size-8)
}

.program__item {
	cursor: pointer;
	position: relative
}

.program__item:after {
	background-color: var(--color-brd);
	bottom: -1px;
	content: "";
	height: 1px;
	left: 0;
	opacity: 0;
	position: absolute;
	width: 100%;
	z-index: 2
}

@media (hover:hover) {
	.program__item:hover {
		--color-brd: hsl(var(--color-primary))
	}

	.program__item:hover:after {
		opacity: 1
	}
}

.program__toggle {
	align-items: center;
	border-top: 1px solid var(--color-brd);
	color: var(--colorText);
	display: flex;
	gap: var(--size-5);
	justify-content: space-between;
	padding: var(--size-6) 0;
	transition: color .2s ease, border-color .2s ease
}

@media (hover:hover) {
	.program__toggle:hover {
		--colorText: hsl(var(--color-primary));
		--color-brd: hsl(var(--color-primary))
	}
}

.program__title {
	font-size: var(--fontSize-20);
	line-height: 1.4em
}

.program__date {
	display: inline-flex;
	margin-right: var(--size-5)
}

.program__toggler {
	font-size: var(--size-6);
	padding: 0
}

.program__item[open] .program__toggler .ico-plus:before {
	height: 1px
}

.program__content {
	display: flex;
	flex-direction: column;
	gap: var(--size-8);
	padding-bottom: var(--size-6)
}

.program__description p {
	line-height: 1.3em;
	margin: .5em 0 1em
}

.program__description p:first-child {
	margin-top: 0
}

.program__description p:last-child {
	margin-bottom: 0
}

.program__img {
	line-height: 0
}

.program__img img {
	border-radius: var(--round-lg);
	max-width: 100%;
	width: 100%
}

.program2__container {
	position: relative
}

.program2__img2 {
	position: absolute;
	right: -10px;
	top: -30px;
	width: 105px;
	z-index: -1
}

.program2__img2 img {
	max-width: 100%;
	width: 100%
}

.program2__place {
	align-items: center;
	background-color: var(--color-grey-1);
	border-radius: var(--round-full);
	display: inline-flex;
	font-size: var(--fontSize-14);
	gap: var(--size-2);
	padding: .7em 1.4em .7em .8em
}

.program2__place-ico {
	height: 2.5em
}

.program2__place-ico img {
	height: 100%;
	max-height: 100%;
	width: auto
}

.program2__title {
	display: flex;
	flex-direction: column;
	font-size: clamp(var(--size-7), 9vw, var(--size-20));
	font-weight: 600;
	margin-bottom: var(--size-11);
	margin-top: var(--size-7);
	position: relative
}

.program2__title-phrase {
	line-height: 1em
}

.program2__title-phrase:first-of-type {
	text-align: right
}

.program2__img1 {
	display: none
}

.program2__list {
	background-color: hsl(var(--color-white));
	border-top: 1px solid var(--color-grey-2);
	display: flex;
	flex-direction: column
}

.program2__item {
	border-bottom: 1px solid var(--color-grey-2);
	display: flex;
	font-size: var(--fontSize-20);
	gap: var(--size-5);
	padding: var(--size-4) 0
}

.program2__time {
	flex-basis: 30%;
	flex-shrink: 0;
	white-space: nowrap
}

.program2__time,
.program2__value {
	margin: 0;
	padding: 0
}

.register__container {
	border-radius: var(--round-md);
	display: flex;
	flex-direction: column;
	gap: var(--size-10);
	padding: var(--size-8) var(--size-6)
}

.register__subtitle {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: var(--size-3)
}

.register__date {
	border: 1px solid;
	border-radius: var(--round-full);
	display: inline-flex;
	font-size: var(--fontSize-20);
	padding: var(--size-3) var(--size-6)
}

.register__title {
	font-size: clamp(var(--size-7), 9vw, var(--size-20));
	font-weight: 600;
	position: relative;
	text-align: left
}

.register__img-3d {
	bottom: -71%;
	pointer-events: none;
	position: absolute;
	right: -11%;
	width: 45%;
	z-index: 1
}

.register__img-3d img {
	max-width: 100%;
	width: 100%
}

.register__form-note {
	font-size: var(--fontSize-12);
	line-height: 1.4em;
	margin-top: var(--size-7);
	opacity: .95
}

.register__fieldset {
	display: flex;
	flex-direction: column;
	gap: var(--size-3)
}

.register__submit {
	margin-top: var(--size-9)
}

.directions__slider {
	position: relative
}

.directions__item {
	--round: var(--size-7);
	--bgcolor: hsl(var(--color-white));
	--color-link_hover: hsl(var(--color-primary));
	--bgicon: hsl(var(--color-white));
	--bgicon-hover: hsl(var(--color-primary));
	--coloricon-hover: hsl(var(--color-white));
	--blend-mode: multiply;
	border-radius: var(--round);
	color: var(--colorText);
	height: auto;
	overflow: hidden
}


/* .directions__item:nth-of-type(4n+1) {
	--bgcolor: hsl(var(--color-primary));
	--bgcolor2: var(--bgcolor);
	--colorText: hsl(var(--color-white));
	--color-link: hsl(var(--color-white));
	--color-link_hover: var(--color-second);
	--bgicon-hover: var(--color-second);
	--coloricon-hover: var(--color-grey-99)
}

.directions__item:nth-of-type(4n - 1) {
	--bgcolor: var(--color-second);
	--bgcolor2: var(--bgcolor);
	--color-link_hover: hsl(var(--color-black))
} */

.directions .swiper-wrapper {
	align-items: stretch
}

.directions .swiper-button-next,
.directions .swiper-button-prev {
	background-color: hsl(var(--color-white));
	border-radius: var(--round-circle);
	box-shadow: var(--shadow);
	color: var(--colorText);
	font-size: var(--fontSize-24);
	transition: background-color .2s ease
}

.directions .swiper-button-next:active,
.directions .swiper-button-prev:active {
	background-color: var(--color-second);
	box-shadow: none
}

@media (hover:hover) {

	.directions .swiper-button-next:hover,
	.directions .swiper-button-prev:hover {
		background-color: var(--color-second)
	}
}

@media (max-width:1256px) {
	.directions__nav {
		align-items: center;
		display: flex;
		gap: var(--size-7);
		justify-content: center;
		margin-top: var(--size-3)
	}

	.directions .swiper-button-next,
	.directions .swiper-button-prev {
		margin: 0;
		position: static
	}
}

.dircard {
	height: 100%
}

.dircard__short {
	display: none
}

.dircard__full {
	background-blend-mode: var(--blend-mode);
	background-color: var(--bgcolor);
	background-position: 60% 100%;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	flex-direction: column-reverse;
	gap: var(--size-8);
	height: 100%;
	padding: var(--size-6);
	position: relative
}

.dircard__title {
	--color-link: var(--colorText);
	--opsh: 0;
	font-size: var(--fontSize-20);
	margin-top: auto;
	padding-top: var(--size-3);
	text-align: left;
	text-decoration: none;
	text-wrap: balance;
	transition: color .2s ease, text-shadow .2s ease;
	width: 90%
}


.dircard__title:after {
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%
}

@media (hover:hover) {
	.dircard__title:hover {
		--opsh: 0.25
	}
}

.dircard__link {
	--color-link: var(--color-grey-99);
	--size: var(--size-9);
	--bgcolor: var(--bgicon);
	align-items: center;
	background-color: var(--bgcolor);
	border-radius: var(--round-circle);
	display: flex;
	font-size: var(--fontSize-24);
	height: var(--size);
	justify-content: center;
	pointer-events: none;
	position: absolute;
	right: var(--size-6);
	top: var(--size-6);
	transform: rotate(-45deg);
	transition: background-color .2s ease, color .2s ease;
	width: var(--size)
}

.dircard__title:hover~.dircard__link {
	--bgcolor: var(--bgicon-hover);
	--color-link: var(--coloricon-hover)
}

.dircard__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--size-2)
}

.dircard__bonus {
	border: 1px solid;
	border-radius: var(--round-full);
	font-size: var(--fontSize-12);
	padding: .5em 1em;
	white-space: nowrap
}

.dircard__tag {
	font-size: var(--fontSize-14)
}

.partners__slider {
	position: relative
}

.partners__item {
	align-items: center;
	display: flex;
	height: auto;
	justify-content: center
}

.partners__img {
	max-width: 100%;
	width: 100%
}

.partners__nav {
	--swiper-navigation-size: 54px
}

.partners .swiper-wrapper {
	align-items: stretch
}

.partners .swiper-button-next,
.partners .swiper-button-prev {
	background-color: hsl(var(--color-white));
	border-radius: var(--round-circle);
	box-shadow: var(--shadow);
	color: var(--colorText);
	font-size: var(--fontSize-24);
	transition: background-color .2s ease
}

.partners .swiper-button-next:active,
.partners .swiper-button-prev:active {
	background-color: var(--color-second);
	box-shadow: none
}

@media (hover:hover) {

	.partners .swiper-button-next:hover,
	.partners .swiper-button-prev:hover {
		background-color: var(--color-second)
	}
}

@media (max-width:767px) {
	.partners__nav {
		align-items: center;
		display: flex;
		gap: var(--size-7);
		justify-content: center;
		margin-top: var(--size-3)
	}

	.partners .swiper-button-next,
	.partners .swiper-button-prev {
		margin: 0;
		position: static
	}
}

.reviews__container {
	background-color: var(--color-grey-1);
	border-radius: var(--size-7);
	display: flex;
	flex-direction: column;
	padding: var(--size-4) var(--size-6) var(--size-6);
	position: relative
}

.reviews__slider {
	padding-top: var(--size-5)
}

.reviews__thumbnails {
	align-self: center;
	max-width: 100%
}

.reviews__card {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--size-5)
}

.reviews__portrait {
	text-align: center
}

.reviews__portrait img {
	max-width: 80%;
	width: 100%
}

.reviews__content {
	display: flex;
	flex-direction: column;
	gap: var(--size-4)
}

.reviews__name1 {
	font-size: var(--fontSize-20)
}

.reviews__name2 {
	color: var(--color-grey-3)
}

.thumbs {
	--size: var(--size-26);
	padding: var(--size-2) 0
}

.thumbs__item {
	max-width: var(--size);
	padding: var(--size-5)
}

.thumbs__box {
	aspect-ratio: 1;
	border: 4px solid transparent;
	border-radius: var(--round-circle);
	filter: grayscale(1);
	overflow: hidden;
	transition: transform .2s ease, width .2s ease
}

.swiper-slide-thumb-active .thumbs__box {
	border-color: #fff;
	box-shadow: 0 0 6px 0 hsla(221, 15%, 38%, .25);
	filter: grayscale(0);
	transform: scale(1.7)
}

.thumbs__box img {
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%
}

.slogan__container {
	padding-top: 16vw;
	position: relative
}

.slogan__img2 {
	max-width: 311px;
	position: absolute;
	right: 0;
	top: -4vw;
	width: 35vw;
	z-index: -1
}

.slogan__img2 img {
	max-width: 100%;
	width: 100%
}

.slogan__comment {
	align-items: center;
	background-color: var(--color-grey-1);
	border-radius: var(--round-full);
	display: inline-flex;
	font-size: var(--fontSize-14);
	gap: var(--size-2);
	padding: .7em 1.4em .7em .8em
}

.slogan__comment-ico {
	height: 2.5em
}

.slogan__comment-ico img {
	height: 100%;
	max-height: 100%;
	width: auto
}

.slogan__title {
	display: flex;
	flex-direction: column;
	font-size: clamp(var(--size-7), 9vw, var(--size-20));
	font-weight: 600;
	margin-bottom: var(--size-7);
	margin-top: var(--size-7);
	position: relative
}

.slogan__title-phrase {
	line-height: 1em
}

.slogan__title-phrase:first-of-type,
.slogan__title-phrase:nth-of-type(3) {
	text-align: right
}

.slogan__title-phrase:nth-of-type(4) {
	padding-right: 1ex;
	text-align: right
}

.slogan__btn {
	float: right
}

.slogan__img1 {
	display: flex;
	height: 3.8em;
	justify-content: flex-end;
	left: calc(var(--viewport-padding)*-1);
	overflow: hidden;
	position: absolute;
	top: 2.4em;
	width: 2.8em
}

.slogan__img1 img {
	height: 100%
}


/* Mochalov fixes for directions */

.white .dircard__tag,
.white .dircard__title,
.white .dircard__list
 {
	color: #fff !important;
}

.white .dircard__title:hover~.dircard__link {

	outline: 2px solid #fff !important;
}
