:root {
	--bright: #f7bd1e;
	--bright-light: #f7da1e;
	--body: #f7f5fa;
	--dark: #1a181c;
	--white: #fff;
	--transition-duration: 200ms;
	--transition-timing-function: ease-in-out;
	--offset-page: 20px
}

html {
	scroll-behavior: smooth
}

body {
	margin: 0;
	padding: 0;
	font-weight: 500;
	font-family: Montserrat, Arial, Helvetica, sans-serif;
	color: var(--dark)
}

img {
	max-width: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.visually-hidden {
	position: absolute;
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 0
}

[class$=__wrap] {
	position: relative;
	box-sizing: border-box;
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px
}

.underline {
	text-decoration: underline
}

.bright,
.number-seats span {
	color: var(--bright)
}

.bright-apple,
.button:hover .button__apple {
	fill: var(--bright)
}

.number-seats {
	margin: 0;
	padding-bottom: 18px;
	font-size: 11px;
	line-height: 28px;
	text-align: center;
	letter-spacing: .8px
}

.number-seats span {
	display: inline-block;
	box-sizing: border-box;
	width: 38px;
	height: 39px;
	padding-top: 6px;
	font-weight: 700;
	font-size: 16px;
	background: var(--dark);
	background-image: url(../img/number-seats.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain
}

.overflow {
	overflow: hidden
}

.animation-arrow-up {
	position: absolute;
	top: 0;
	right: -10px;
	width: 32px;
	height: 42px
}

.animation-arrow-up::after,
.animation-arrow-up::before {
	content: "";
	position: absolute;
	top: 20px;
	left: 0;
	width: 17px;
	height: 17px;
	border-top: 2px solid var(--bright);
	border-left: 2px solid var(--bright);
	transform: rotate(45deg) translateY(-50%);
	animation: animation-arrow-up 3s linear infinite
}

.animation-arrow-up::after {
	animation-delay: 1.5s
}

.animation-arrow-up:last-child::before {
	animation-delay: .75s
}

.animation-arrow-up:last-child::after {
	animation-delay: 2.25s
}

section {
	position: relative
}

[class$=__downstairs] svg {
	position: absolute;
	bottom: -29px;
	left: 50%;
	z-index: 1;
	width: 700px;
	height: 30px;
	transform: translateX(-50%)
}

[class$=__heading] {
	margin-top: 0;
	margin-bottom: 28px;
	font-weight: 900;
	font-size: 26px;
	line-height: 1;
	text-transform: uppercase
}

[class$=__heading] span {
	display: block
}

.hero,
.hero__text::before {
	background-repeat: no-repeat
}

.hero {
	padding-bottom: 40px;
	color: var(--white);
	background-color: var(--dark);
	background-image: url(../img/hero/up/bg-content-left.webp), url(../img/hero/up/bg-content-right.webp), url(../img/hero/bg-top.webp), url(../img/hero/bg-end.webp);
	background-position: left top, right top, center top, center bottom
}

.hero__text {
	position: relative;
	margin: 0 0 1em;
	font-size: 16px;
	line-height: 22px;
}

.hero__text::before {
	content: "";
	position: absolute;
	top: -24px;
	left: -5px;
	width: 18px;
	height: 18px;
	background-image: url(../img/shape-aquare.svg);
	background-size: contain;
	animation: rotate 2s linear infinite
}

.hero__wrap {
	padding-top: 16px;
	padding-bottom: 34px
}

.about-training__downstairs {
	fill: var(--body)
}

.hero-training__downstairs svg {
	bottom: -1px;
	fill: var(--body)
}

.left-lg {
	max-width: 550px;
	margin-right: auto;
	margin-left: auto
}

.left-lg__title {
	margin: 0 0 12px;
	font-weight: 500;
	font-size: 13px;
	line-height: 18px;
	text-transform: uppercase;
	letter-spacing: 2px
}

.left-lg__img {
	display: block;
	margin-bottom: 18px
}

.left-lg__subtitle {
	position: relative;
	box-sizing: border-box;
	max-width: 285px;
	margin: 0 0 24px;
	padding-right: 76px;
	font-weight: 700;
	font-size: 16px;
	line-height: 22px
}

.button-wrap {
	display: grid;
	width: -moz-fit-content;
	width: fit-content;
	margin-right: auto;
	margin-left: auto;
	justify-items: center
}

.button-wrap::after {
	content: "";
	display: block;
	grid-row-start: 2;
	width: 47px;
	height: 10px;
	background-image: url(../img/shape-wave.svg);
	background-repeat: repeat-x;
	background-position: center bottom 2px;
	animation: bg-left 5s linear infinite
}

.button {
	position: relative;
	display: block;
	width: -moz-fit-content;
	width: fit-content;
	margin-bottom: 20px;
	padding: 16px 34px 9px;
	overflow: hidden;
	font-weight: 900;
	font-size: 18px;
	line-height: 22px;
	text-align: center;
	color: var(--dark);
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: -1.8px;
	background-color: var(--bright);
	border: 0;
	border-radius: 35px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	transition: background-color var(--transition-duration) var(--transition-timing-function), box-shadow var(--transition-duration) var(--transition-timing-function);
	box-shadow: 0 5px 20px #aa8214
}

.button:hover {
	box-shadow: 0 5px 10px #aa8214;
	background-color: var(--bright-light)
}

.button:focus-visible {
	outline: 2px solid var(--bright-light);
	outline-offset: 2px
}

.button > span,
.button__small {
	position: relative;
	z-index: 1
}

.button__small {
	display: block;
	font-weight: 500;
	font-size: 13px;
	text-transform: lowercase;
	letter-spacing: -.5px
}

.button__apple {
	position: absolute;
	top: 5px;
	left: 50%;
	transform: translateX(-50%);
	fill: var(--bright-light);
	transition: fill var(--transition-duration) var(--transition-timing-function)
}

.about-training {
	background-color: var(--body)
}

.about-training__wrap {
	padding-top: 60px;
	padding-bottom: 20px
}

.about-training__heading {
	text-align: center;
	text-shadow: 0 3px 0 var(--white)
}

.about-training__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	margin: 0;
	padding: 0;
	list-style-type: none;
	gap: 20px
}

.about-training__item {
	padding-right: 5px;
	padding-left: 5px;
	font-size: 13px;
	line-height: 18px;
	text-align: center
}

.about-training__item::before {
	display: block;
	width: auto;
	height: 111px;
	margin: 0 auto
}

.about-training__item--heart::before {
	content: url(../img/about-training/heart.png)
}

.about-training__item--apple::before {
	content: url(../img/about-training/apple.png)
}

.about-training__item--graph::before {
	content: url(../img/about-training/graph.png)
}

.about-training__item--diamond::before {
	content: url(../img/about-training/diamond.png)
}

.about-training__item--buttocks::before {
	content: url(../img/about-training/buttocks.png)
}

.about-training__item--message::before {
	content: url(../img/about-training/message.png)
}

.about {
	padding-top: 60px;
	background-color: #f7c027
}

.about__text {
	margin-bottom: 10px
}

.about__text p {
	margin-top: 0;
	font-size: 13px;
	line-height: 18px
}

.about__text::before {
	content: "";
	display: block;
	width: 303px;
	height: 365px;
	margin: -128px auto 0;
	background-image: url(../img/about/alina.png);
	transform: translateX(-10px)
}

.about__heading {
	margin-bottom: 18px;
	color: var(--white);
	text-shadow: 0 3px 0#f7d91d
}

.about__heading span {
	color: var(--dark)
}

.about__subheading {
	max-width: 640px;
	margin-top: 0;
	margin-bottom: 25px;
	font-weight: 700;
	font-size: 14px;
	line-height: 20px
}

.about__button {
	background-color: var(--bright-light)
}

.about__button .button__apple {
	fill: var(--bright)
}

.about__button:hover {
	background-color: var(--bright)
}

.about__button:hover .button__apple {
	fill: var(--bright-light)
}

.about__list img {
	width: auto;
	max-width: none;
	height: 159px
}

.about__downstairs {
	fill: #f7c027
}

.shapes {
	padding-top: 60px;
	background-color: var(--body)
}

.shapes__downstairs svg {
	fill: var(--body)
}

.shapes__heading {
	text-shadow: 0 3px 0 var(--white);
	font-size: 30px;
	text-align: center
}

.shapes__heading-small {
	font-size: 20px;
	line-height: 22px
}

.shapes__subtitle {
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 20px;
	text-align: center
}

.shapes__block-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 100%
}

.shapes__block {
	position: relative
}

.shapes__block h4,
.shapes__block p {
	margin: 0 0 20px;
	font-size: 13px;
	line-height: 18px
}

.shapes__block h4 {
	margin: 0 0 6px;
	font-weight: 700
}

.shapes__block-title {
	width: -moz-fit-content;
	width: fit-content;
	margin: 16px -20px 10px;
	padding-right: 6px;
	padding-left: 20px;
	font-weight: 900;
	font-size: 14px;
	line-height: 18px;
	color: var(--bright);
	text-transform: uppercase;
	letter-spacing: 1px;
	background-color: var(--dark)
}

.shapes__request-list,
.shapes__results-list {
	margin: 0 0 16px;
	padding: 0;
	list-style-type: none
}

.shapes__request-item,
.shapes__results-item {
	position: relative;
	padding-left: 14px;
	font-size: 13px;
	line-height: 18px
}

.shapes__request-item:not(:last-child),
.shapes__results-item:not(:last-child) {
	margin-bottom: 12px
}

.shapes__request-item::before,
.shapes__results-item::before {
	content: "";
	position: absolute;
	top: 4px;
	left: 0;
	box-sizing: border-box
}

.shapes__request-item::before {
	width: 10px;
	height: 10px;
	border: 3px solid var(--bright);
	border-radius: 50%
}

.shapes__results-item::before {
	width: 6px;
	height: 9px;
	border-right: 3px solid var(--bright);
	border-bottom: 3px solid var(--bright);
	transform: rotate(45deg)
}

.program {
	padding-top: 60px;
	padding-bottom: 40px;
	color: var(--white);
	background-color: var(--dark)
}

.program__heading {
	text-align: center;
	text-shadow: 0 3px 0#3e3b42
}

.program__subheading {
	margin-bottom: 32px;
	font-size: 14px;
	line-height: 20px;
	text-align: center
}

.program__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	margin: 0;
	padding: 0 0 84px;
	list-style-type: none
}

.program__title {
	margin: 0 0 14px;
	font-weight: 900;
	font-size: 18px;
	line-height: 1;
	color: var(--bright);
	text-transform: uppercase
}

.program__item {
	box-sizing: border-box;
	font-size: 13px;
	line-height: 18px
}

details.program__details summary::-webkit-details-marker {
	display: none
}

details.program__details summary.program__summary {
	list-style: none
}

.program__details {
	margin-bottom: 12px;
	border: 1px solid var(--bright)
}

.program__summary {
	position: relative;
	display: block;
	padding: 6px 8px;
	font-weight: 700;
	font-size: 13px;
	line-height: 20px;
	color: var(--bright);
	transition: background-color var(--transition-duration) var(--transition-timing-function), color var(--transition-duration) var(--transition-timing-function)
}

.program__summary::after,
.program__summary::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 2px;
	height: 10px;
	background-color: var(--bright);
	transform: rotate(45deg) translateY(-50%);
	transition: background-color var(--transition-duration) var(--transition-timing-function), right var(--transition-duration) var(--transition-timing-function)
}

.program__summary::after {
	transform: rotate(-45deg) translateY(-50%)
}

.details--open .program__summary {
	color: var(--dark);
	background-color: var(--bright)
}

.details--open .program__summary::before {
	right: 26px;
	background-color: var(--dark)
}

.details--open .program__summary::after {
	background-color: var(--dark);
	right: 14px
}

.program__list-details {
	margin: 0;
	padding: 14px 10px;
	list-style-type: none
}

.program__item-details {
	position: relative;
	padding-left: 16px;
	font-size: 12px;
	line-height: 18px
}

.program__item-details:not(:last-child) {
	margin-bottom: 8px
}

.program__item-details::before {
	content: "";
	position: absolute;
	top: 6px;
	left: 2px;
	width: 6px;
	height: 6px;
	background-color: var(--bright);
	border-radius: 50%
}

.program__bottom {
	margin: 0;
	font-weight: 900;
	font-size: 16px;
	line-height: 22px;
	text-align: center;
}

.details {
	overflow: hidden;
	transition: height var(--transition-duration) var(--transition-timing-function)
}

.details--close .details__content {
	opacity: 0;
	transition: opacity var(--transition-duration) var(--transition-timing-function)
}

.details--open .details__content {
	opacity: 1
}

.form {
	padding-top: 40px;
	color: var(--white);
	background-color: var(--dark);
	background-image: url(../img/hero/end/bg-content-left.webp), url(../img/hero/end/bg-content-right.webp), url(../img/hero/bg-end.webp);
	background-repeat: no-repeat;
	background-position: left bottom, right bottom, center bottom
}

.form div.button-wrap {
	margin-right: auto;
	margin-left: auto
}

.form__form {
	max-width: 600px;
	margin-right: -10px;
	margin-left: -10px;
	padding: 20px;
	background-color: #0d0c0e
}

.form__notes {
	position: relative;
	margin: 0 0 1em;
	font-size: 13px;
	line-height: 18px
}

.form__notes::before {
	content: "";
	position: absolute;
	top: -24px;
	left: -5px;
	width: 18px;
	height: 18px;
	background-image: url(../img/shape-aquare.svg);
	background-repeat: no-repeat;
	background-size: contain;
	animation: rotate 2s linear infinite
}

.form__control {
	display: flex;
	flex-direction: column-reverse;
	margin-bottom: 20px
}

.form__label {
	display: block;
	font-weight: 900;
	font-size: 11px;
	line-height: 20px;
	color: rgba(255, 255, 255, .4);
	text-transform: uppercase;
	letter-spacing: 1px;
	transition: color var(--transition-duration) var(--transition-timing-function)
}

.form__input {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 9px 18px;
	font-size: 15px;
	line-height: 28px;
	font-family: inherit;
	color: var(--bright);
	background-color: rgba(255, 255, 255, .2);
	background-clip: padding-box;
	border: 2px solid rgba(255, 255, 255, .4);
	transition: background-color var(--transition-duration) var(--transition-timing-function), color var(--transition-duration) var(--transition-timing-function), border var(--transition-duration) var(--transition-timing-function)
}

.form__input:focus {
	color: var(--dark);
	background-color: var(--white);
	outline: 0
}

.form__input:not(:-moz-placeholder-shown) {
	border-color: var(--bright)
}

.form__input:not(:placeholder-shown) {
	border-color: var(--bright)
}

.form__input:not(:-moz-placeholder-shown) + .form__label {
	color: var(--body)
}

.form__input:not(:placeholder-shown) + .form__label {
	color: var(--body)
}

.form__input:invalid {
	color: tomato
}

.timer {
	width: -moz-fit-content;
	width: fit-content
}

.timer p {
	margin: 0
}

.timer__title {
	display: block;
	font-weight: 500;
	font-size: 10px;
	line-height: 18px;
	text-align: center;
	color: var(--text)
}

.timer__items {
	display: flex;
	font-weight: 900;
	font-size: 28px;
	line-height: 18px;
	color: var(--light-text);
	letter-spacing: -3.7px
}

.timer__end,
.timer__item {
	display: block;
	text-align: center
}

.timer__item {
	min-width: 40px;
	color: var(--bright);
	letter-spacing: 0
}

.timer__end {
	font-weight: 900;
	font-size: 10px;
	line-height: 18px;
	color: var(--body)
}

@media (min-width:400) {
	.shapes__block-title {
		margin-right: 0
	}
}

@media (min-width:575px) {
	.number-seats {
		font-size: 12px
	}

	.animation-arrow-up {
		width: 50px;
		height: 70px
	}

	.animation-arrow-up::after,
	.animation-arrow-up::before {
		width: 27px;
		height: 27px
	}

	.hero__text {
		font-size: 20px;
		line-height: 28px;
	}

	.left-lg__title {
		margin-bottom: 50px;
		font-size: 14px;
		line-height: 28px
	}

	.left-lg__title b {
		font-size: 18px;
		display: block
	}

	.left-lg__img {
		margin-bottom: 20px
	}

	.left-lg__subtitle {
		font-size: 20px;
		line-height: 28px
	}

	.form__notes {
		font-size: 14px;
		line-height: 22px
	}

	.form__label {
		font-size: 12px
	}

	.form__input {
		padding: 14px 20px;
		font-size: 18px
	}

	.timer__title {
		font-size: 13px
	}

	.timer__items {
		font-size: 46px;
		line-height: 40px
	}

	.timer__item {
		min-width: 64px
	}

	.timer__end {
		font-size: 13px
	}
}

@media (min-width:600px) {
	.program__list::before {
		content: "";
		display: block;
		width: 100%;
		height: 7px;
		margin: 10px 0;
		background-image: url(../img/divider-gray.svg);
		background-repeat: repeat-x;
		animation: bg-left 43s linear infinite
	}

	.program__item {
		width: 50%;
		margin-right: auto;
		margin-left: auto;
		padding-right: 10px;
		padding-left: 10px
	}

	.program__item:not(:last-child) {
		margin-bottom: 20px
	}

	.program__item:last-child {
		width: 70%
	}

	.form__form {
		margin-right: auto;
		margin-left: auto
	}
}

@media (min-width:610px) {
	.left-lg__subtitle {
		max-width: 550px
	}
}

@media (min-width:650px) {
	.shapes__block {
		box-sizing: border-box;
		width: 50%;
		padding-right: 50px
	}

	.shapes__block:last-child {
		width: calc(50% - 15px);
		margin-left: 15px
	}

	.shapes__block:first-child::after,
	.shapes__block:first-child::before,
	.shapes__block:last-child::after {
		content: "";
		position: absolute;
		top: 0;
		left: -40px;
		width: 40px;
		height: 100%;
		background-image: url(../img/divider.svg);
		background-repeat: repeat-y;
		background-position-x: center;
		animation: bg-top 25s linear infinite;
		z-index: 1
	}

	.shapes__block:first-child::after {
		right: -10px;
		left: auto;
		animation: bg-bottom 17s linear infinite
	}

	.shapes__block:last-child::after {
		right: -40px;
		left: auto;
		animation: bg-bottom 32s linear infinite
	}
}

@media (min-width:700px) {
	[class$=__downstairs] svg {
		bottom: -49px;
		width: 990px;
		height: 50px
	}

	.hero {
		background-image: url(../img/hero/up/bg-content-left@desktop.webp), url(../img/hero/up/bg-content-right@desktop.webp), url(../img/hero/bg-top@desktop.webp), url(../img/hero/bg-end@desktop.webp)
	}

	.hero-training__downstairs svg {
		bottom: -1px
	}

	.about,
	.program,
	.shapes {
		padding-top: 80px
	}

	.form {
		background-image: url(../img/hero/end/bg-content-left@desktop.webp), url(../img/hero/end/bg-content-right@desktop.webp), url(../img/hero/bg-end@desktop.webp)
	}
}

@media (min-width:768px) {
	.about__text {
		position: relative;
		z-index: 1;
		max-width: calc(50% - 25px);
		margin-bottom: 90px
	}

	.about__text p {
		font-size: 16px;
		line-height: 24px
	}

	.about__text::before {
		content: "";
		position: absolute;
		bottom: -77px;
		left: 100%;
		width: 602px;
		height: 730px;
		margin: 0;
		background-image: url(../img/about/alina@desktop.png);
		transform: none
	}

	.about__subheading,
	.shapes__subtitle {
		font-size: 20px;
		line-height: 28px
	}

	.shapes__subtitle {
		margin-bottom: 50px
	}

	.shapes__block h4,
	.shapes__request-item,
	.shapes__results-item {
		font-size: 14px;
		line-height: 22px
	}

	.shapes__request-item:not(:last-child),
	.shapes__results-item:not(:last-child) {
		margin-bottom: 18px
	}

	.program__subheading {
		margin-bottom: 56px;
		font-size: 20px;
		line-height: 22px
	}

	.program__title {
		margin-bottom: 16px;
		font-size: 20px;
		line-height: 24px
	}

	.program__summary {
		padding: 8px 10px
	}

	.program__item-details {
		font: 13px;
		line-height: 20px
	}

	.program__item-details:not(:last-child) {
		margin-bottom: 12px
	}

	.program__bottom {
		font-size: 44px;
		line-height: 56px
	}
}

@media (min-width:990px) {
	[class$=__wrap] {
		padding-right: 40px;
		padding-left: 40px
	}

	[class$=__downstairs] svg {
		bottom: -99px;
		width: 1920px;
		height: 100px
	}

	[class$=__heading] {
		margin-bottom: 72px;
		font-size: 60px
	}

	.hero__wrap::before {
		content: "";
		position: absolute;
		top: 0;
		right: 50%;
		width: 1467px;
		height: 906px;
		background-image: url(../img/hero/up/alina@desktop.png);
		background-repeat: no-repeat;
		pointer-events: none
	}

	.hero__wrap::after {
		content: url(../img/shape-triangle.svg);
		position: absolute;
		right: -437px;
		bottom: -65px;
		animation: rotate-end 15s linear infinite
	}

	.hero__text {
		grid-row-start: 5;
		margin-bottom: 44px
	}

	.hero__text::before {
		top: -40px;
		left: -20px;
		width: 37px;
		height: 37px
	}

	.hero__wrap {
		padding-top: 144px;
		padding-bottom: 90px
	}

	.hero-training__downstairs svg {
		bottom: -1px
	}

	.hero__timer {
		margin-top: -105px
	}

	.left-lg__subtitle {
		margin-bottom: 82px
	}

	.left-lg {
		display: grid;
		margin-right: 0
	}

	.left-lg .button-wrap {
		margin-left: 0
	}

	.button {
		padding: 23px 76px 15px;
		border-radius: 40px
	}

	.about-training__wrap {
		padding-top: 160px
	}

	.about-training__list {
		grid-template-columns: repeat(auto-fit, minmax(360px, 1fr))
	}

	.about-training__item {
		font-size: 16px;
		line-height: 24px;
		padding-left: 10px;
		padding-right: 10px
	}

	.about-training__item::before {
		height: 159px
	}

	.about-training__item--heart::before {
		content: url(../img/about-training/heart@desktop.png)
	}

	.about-training__item--apple::before {
		content: url(../img/about-training/apple@desktop.png)
	}

	.about-training__item--graph::before {
		content: url(../img/about-training/graph@desktop.png)
	}

	.about-training__item--diamond::before {
		content: url(../img/about-training/diamond@desktop.png)
	}

	.about-training__item--buttocks::before {
		content: url(../img/about-training/buttocks@desktop.png)
	}

	.about-training__item--message::before {
		content: url(../img/about-training/message@desktop.png)
	}

	.about,
	.shapes {
		padding-top: 174px
	}

	.about__list img {
		height: 309px
	}

	.shapes__heading-small {
		font-size: 44px;
		line-height: 50px
	}

	.shapes__block p {
		font-size: 14px;
		line-height: 22px
	}

	.shapes__block-title {
		width: 100%;
		padding-left: 0;
		font-size: 20px;
		line-height: 24px;
		text-align: center;
		letter-spacing: 2px
	}

	.program {
		padding-top: 174px
	}

	.program__list {
		display: grid;
		grid-template-columns: 1fr 20px 1fr 20px 1fr
	}

	.program__list::after,
	.program__list::before {
		content: "";
		display: block;
		width: 20px;
		height: 100%;
		background-image: url(../img/divider-1.svg);
		background-repeat: repeat-y;
		background-position-x: center
	}

	.program__list::before {
		grid-column-start: 2;
		margin: 0;
		animation: bg-top 15s linear infinite
	}

	.program__list::after {
		grid-column-start: 4;
		animation: bg-top 30s linear infinite
	}

	.program__item {
		grid-row-start: 1;
		width: auto !important;
		margin-bottom: 0 !important;
		padding: 0
	}

	.program__item:nth-child(1) {
		grid-column-start: 1
	}

	.program__item:nth-child(2) {
		grid-column-start: 3
	}

	.program__item:nth-child(3) {
		grid-column-start: 5
	}

	.form__notes {
		grid-row-start: 5;
		margin-bottom: 44px
	}

	.form__notes::before {
		top: -40px;
		left: -20px;
		width: 37px;
		height: 37px
	}

	.form__wrap {
		padding-bottom: 40px
	}

	.form__wrap::before {
		content: "";
		position: absolute;
		right: 40%;
		bottom: 0;
		width: 846px;
		height: 1101px;
		background-image: url(../img/hero/end/alina@desktop.png);
		background-repeat: no-repeat;
		pointer-events: none
	}
}

@media (min-width:1200px) {
	.program__list {
		grid-template-columns: 1fr 60px 1fr 60px 1fr;
		padding-bottom: 114px
	}

	.program__list::after,
	.program__list::before {
		width: 60px
	}
}

@media (min-width:1920px) {
	[class$=__downstairs] svg {
		bottom: -99px;
		width: 100vw;
		height: 100px
	}

	.hero-training__downstairs svg {
		bottom: -1px
	}
}

@media (max-width:989px) {
	.hero__wrap::after {
		content: "";
		display: block;
		width: 441px;
		height: 272px;
		margin: 0 auto;
		background-image: url(../img/hero/up/alina.png);
		background-repeat: no-repeat;
		transform: translateX(-126px)
	}

	.hero__timer {
		margin-bottom: 10px
	}

	.form__wrap::after {
		content: "";
		display: block;
		width: 253px;
		height: 329px;
		margin: -16px auto 0;
		background-image: url(../img/hero/end/alina.png)
	}
}

@media (max-width:650px) {
	.shapes__block {
		max-width: 470px
	}

	.shapes__block:first-child {
		margin-bottom: 14px;
		padding-bottom: 36px;
		background-image: url(../img/shape-wave.svg);
		background-repeat: repeat-x;
		background-position: left bottom 2px;
		animation: bg-left 5s linear infinite
	}
}

@media (max-width:600px) {
	.program__item:not(:last-child) {
		margin-bottom: 16px;
		padding-bottom: 36px;
		background-image: url(../img/divider-gray.svg);
		background-repeat: repeat-x;
		background-position: left bottom 2px;
		animation: bg-left 3s linear infinite
	}

	.program__item:nth-child(2) {
		animation: bg-right 43s linear infinite;
		animation-duration: 6s
	}
}

@media (min-width:990px) and (max-width:1200px) {
	.hero__wrap::before {
		right: 55%
	}
}

@media (min-width:600px) and (max-width:989px) {
	.program__item:nth-child(1) {
		order: 1
	}

	.program__item:nth-child(2) {
		order: 2
	}

	.program__item:nth-child(3) {
		order: 4
	}

	.program__list::before {
		order: 3
	}
}
