@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');


@media screen and (max-width: 800px) {
:root {
	--width: 375;
	--resize_rate: calc(var(--width) / 375);
}

body, div, h1, h2, a {
	font-size: 14px;
	letter-spacing: 0.40px;
}

body {
}

template {
}

a {
}

body, form {
}

h2 {
	font-size: 18px;
}

header {
}

header .menu-open {
	background-color: transparent;
	background-image: url('../images/mobile/menu.png');
	border: 0;
	width: 36px;
	height: 24px;
	position: absolute;
	display: block;
	right: 18px;
	margin-top: 14px;
}

header .menu-close {
	background-color: transparent;
	border: 0;
	color: white;
	font-weight: bold;
	width: 36px;
	height: 36px;
	position: absolute;
	right: 18px;
	margin-top: -16px;
	font-size: 36px;
	display: flex;
	justify-content: center;
	align-items: center;
}

header.index,
header.error-404 {
	background-image: url('../images/mobile/index-header.jpg');
	height: calc(var(--resize_rate) * 510px);
}

header.news {
	background-image: url('../images/mobile/news-header.jpg');
	height: calc(var(--resize_rate) * 350px);
}

header.program {
	background-image: url('../images/mobile/program-header.jpg');
	height: calc(var(--resize_rate) * 380px);
}

header .empty {
	height: 10px;
}

header .logo {
	margin-left: calc(var(--resize_rate) * 82px);
	margin-top: 1px;
}

header .logo a {
	display: block;
	background-image: url('../images/mobile/logo.png');
	background-repeat: no-repeat;
	width: calc(var(--resize_rate) * 200px);
	height: calc(var(--resize_rate) * 60px);
}

header .menu {
	display: none;
}

header .menu.open {
	display: flex;
	margin-top: -10px;
	background-color: black;
	flex-direction: column;
	z-index: 1;
	margin-left: 0;
	width: 100%;
	gap: 20px;
	padding: 30px;
	box-sizing: border-box;
	min-height: 100vh;
	right: unset;
}

header .menu a {
}

header .menu a:hover {
}

header .timer {
}

header.index .timer {
}

header .timer .timer-value {
}

header .timer .timer-value.days {
}

header .timer .timer-value.hours {
}

header .timer .timer-value.minutes {
}

header .timer .timer-value .timer-value-digit {
}

header .timer .timer-value .timer-value-text {
}

header .timer .timer-delimiter {
}

header .timer .timer-delimiter::before,
header .timer .timer-delimiter::after {
}

header h1 {
	margin: 0;
	font-size: calc(var(--resize_rate) * 18px);
	margin-top: calc(var(--resize_rate) * 233px);
	line-height: 1.65em;
}

header.program h1 {
	margin-top: calc(var(--resize_rate) * 246px);
	letter-spacing: 0.5px;
	font-size: 19px;
}

header.news h1 {
	margin-top: calc(var(--resize_rate) * 257px);
	letter-spacing: 1px;
}

header .date {
}

header.index .date {
	text-transform: uppercase;
	font-size: calc(var(--resize_rate) * 15px);
	margin-top: calc(var(--resize_rate) * 14px);
	line-height: 1.8em;
}

header a.button {
}

header.index a.button {
	width: calc(var(--resize_rate) * 240px);
	height: calc(var(--resize_rate) * 50px);
	font-size: calc(var(--resize_rate) * 15px);
	margin-top: calc(var(--resize_rate) * 24px);
	border-radius: 5px;
}

.button,
#news button:hover {
	width: calc(var(--resize_rate) * 240px);
	height: calc(var(--resize_rate) * 50px);
	font-size: calc(var(--resize_rate) * 14px);
}

.button:hover {
}

.border-corner-50 {
	padding: 19px;
}

.border-corner-50 img {
	max-width: 100%;
}

.border-corner-50::before {
	width: 23px;
	height: 23px;
	background-image: url('../images/mobile/corner-top-left-23.png');
}

.border-corner-50::after {
	width: 23px;
	height: 23px;
	background-image: url('../images/mobile/corner-bottom-right-23.png');
}

.border-corner-36 {
	padding: 19px;
}

.border-corner-36 img {
	max-width: 100%;
}

.border-corner-36::before {
	width: 23px;
	height: 23px;
	background-image: url('../images/mobile/corner-top-left-23.png');
}

.border-corner-36::after {
	width: 23px;
	height: 23px;
	background-image: url('../images/mobile/corner-bottom-right-23.png');
}

main {}

#index-about {
	width: 100%;
	letter-spacing: 0;
	margin-top: calc(var(--resize_rate) * 36px);
	margin-bottom: calc(var(--resize_rate) * 53px);
}

#index-about h2 {
	font-size: 19px;
	margin-top: 0;
	letter-spacing: 2px;
	margin-bottom: calc(var(--resize_rate) * 35px);
}

#index-about .index-about-block {
	flex-direction: column;
	padding-left: 17px;
	padding-right: 17px;
	gap: 21px;
}

#index-about .index-about-block .index-about-text {
	line-height: 2em;
	margin-top: 0;
}

#index-about .index-about-block .index-about-image {

}

#index-about .index-about-block .index-about-image img {
	max-width: 100%;
}

#index-about .timer {
	margin-top: 19px;
	width: calc(var(--resize_rate) * 338px);
	min-height: 130px;
	margin-left: 18px;
}

#index-about .timer .timer-values {
	display: flex;
	flex-direction: row;
	width: 100%;
}

#index-about .timer .timer-value {
	flex-direction: column;
	font-size: 14px;
	font-weight: normal;
	margin-top: 8px;
	gap: 11px;
}

#index-about .timer .timer-delimiter {
	width: 4px;
	display: flex;
	flex-direction: column;
	padding-top: 21px;
	gap: 11px;
}

#index-about .timer .timer-delimiter::before,
#index-about .timer .timer-delimiter::after {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	display: block;
	background-color: white;
	content: ' ';
}

#index-about .timer .timer-value.days {
	width: calc(var(--resize_rate) * 102px);
	padding-left: 11px;
}

#index-about .timer .timer-value.hours {
	width: calc(var(--resize_rate) * 95px);
}

#index-about .timer .timer-value.minutes {
	width: calc(var(--resize_rate) * 107px);
	padding-right: calc(var(--resize_rate) * 11px);
}

#index-about .timer .timer-value .timer-value-digit {
	font-size: calc(var(--resize_rate) * 32px);
	text-align: center;
	font-weight: normal;
	width: 100%;
	letter-spacing: 4px;
}

#index-about .timer .timer-value .timer-value-text {
    text-align: center;
    letter-spacing: 1px;
}

#index-about .timer .timer-text {
	color: red;
	font-size: calc(var(--resize_rate) * 19px);
}

#index-about .timer .text {
}

#form {
	background-image: url(../images/mobile/index-center.jpg);
	background-position-y: calc(var(--resize_rate) * 60px);
	background-size: contain;
	min-height: calc(var(--resize_rate) * 660px);
	height: auto;
}

#form h2 {
    letter-spacing: 3px;
    margin-bottom: calc(var(--resize_rate) * 23px);
}

#form .registration-text {
	padding-left: 18px;
	padding-right: 18px;
	line-height: 1.55em;
	color: #737373;
}

#registration-app {
	margin-top: calc(var(--resize_rate) * 40px);
	width: calc(var(--resize_rate) * 350px);
	border-radius: 6px;
}

#registration-app form {
	width: calc(var(--resize_rate) * 300px);
	gap: calc(var(--resize_rate) * 14px);
	margin-top: -5px;
	margin-bottom: calc(var(--resize_rate) * 12px);
}

#registration-app form .participant_type {
	font-size: 16px;
}

#registration-app form > div {
}

#registration-app form > div label[for] {
}

#registration-app form > div.dt label[for] {
	
font-size: 14px;
}

#registration-app form > div input[type=text],
#registration-app form > div input[type=tel],
#registration-app form > div input[type=email],
#registration-app form > div input[type=date],
#registration-app form > div select,
#registration-app form > div textarea {
	width: calc(var(--resize_rate) * 300px);
	height: calc(var(--resize_rate) * 40px);
	border-radius: 4px;
	font-size: calc(var(--resize_rate) * 16px);
	padding-left: calc(var(--resize_rate) * 15px);
}

#registration-app form > div textarea {
	height: 5.5em;
	padding: calc(var(--resize_rate) * 10px) calc(var(--resize_rate) * 15px);
}

#registration-app form > div input[type=date] {
	background-position: calc(var(--resize_rate) * 260px) center;
	background-size: calc(var(--resize_rate) * 20px) calc(var(--resize_rate) * 21px);
}

#registration-app form > div input[type=text]:focus,
#registration-app form > div input[type=tel]:focus,
#registration-app form > div input[type=email]:focus,
#registration-app form > div input[type=date]:focus {
}

#registration-app form > div input[type=checkbox] {
	margin-top: 0;
}

input[type=checkbox] {
}

input[type=checkbox] + span,
input[type=radio] + span,
input[type=checkbox] + span a,
input[type=radio] + span a{
	font-size: 14px;
	color: #b7b7b7;
}

input[type=checkbox]:checked + span {
}

#registration-app form > div label {
}

#registration-app form > div input[type=submit] {
	width: calc(var(--resize_rate) * 200px);
	height: calc(var(--resize_rate) * 40px);
	font-size: calc(var(--resize_rate) * 14px);
	letter-spacing: 1.5px;
	margin-top: calc(var(--resize_rate) * 14px);
	border-radius: 5px;
}

#registration-app form > div.passport {
	width: calc(var(--resize_rate) * 300px);
}

#registration-app form > div.passport input[type=text] {

}

#registration-app form > div.passport #passport_series {
	flex-grow: 0;
	width: calc(var(--resize_rate) * 90px);
	flex-basis: unset;
}

#registration-app form > div.passport #passport_number {
	flex-grow: 1;
	width: calc(var(--resize_rate) * 100px);
}

#registration-app .success {
}

.phone-empty {
	width: calc(var(--resize_rate) * 300px);
	height: calc(var(--resize_rate) * 40px);
	margin-top: calc(var(--resize_rate) * -40px);
	border-radius: 4px;
	font-size: calc(var(--resize_rate) * 16px);
	padding-right: calc(var(--resize_rate) * 15px);
}

#news {
    margin-bottom: calc(var(--resize_rate) * 66px);
}

#news h2 {
	letter-spacing: 3px;
	margin-top: calc(var(--resize_rate) * 145px);
	margin-bottom: calc(var(--resize_rate) * 40px);
}

#news .news-list {
	display: flex;
	flex-direction: column;
	gap: calc(var(--resize_rate) * 51px);
	width: calc(var(--resize_rate) * 338px);
	margin-bottom: calc(var(--resize_rate) * 41px);
}

#news .news-list .news-item {
	display: flex;
	flex-direction: column;
}

#news .news-list .news-item-image {
	order: 3;
	margin-bottom: calc(var(--resize_rate) * 18px);
}

#news .news-list .news-item-date {
    order: 1;
    margin-left: 0;
    font-size: 15px;
    letter-spacing: 0.6px;
    margin-bottom: calc(var(--resize_rate) * 17px);
}

#news .news-list .news-item-name {
	order: 2;
	margin-left: 0;
	font-size: 21px;
	margin-bottom: calc(var(--resize_rate) * 25px);
}

#news .news-list .news-item-text {
	order: 4;
	margin-left: 0;
	margin-bottom: calc(var(--resize_rate) * 25px);
}

#news .news-list .news-item-text, #news .news-list .news-item-text div {
	font-size: 14px;
}

#news .news-list .news-item-more {
	order: 5;
	margin-left: auto;
	font-size: 14px;
}

#news button {
	width: calc(var(--resize_rate) * 240px);
	height: calc(var(--resize_rate) * 50px);
	font-size: calc(var(--resize_rate) * 12px);
	padding-bottom: 1px;
	letter-spacing: 3px;
}

#news button:hover {
}

#location {
	background-image: url(../images/mobile/index-footer.jpg);
	height: calc(var(--resize_rate) * 560px);
}

#location h2 {
	letter-spacing: 3px;
}

#location .location-text {
	margin-top: calc(var(--resize_rate) * 108px);
	font-size: calc(var(--resize_rate) * 24px);
	letter-spacing: 2px;
	line-height: 1.9em;
}

#location .location-date {
	margin-top: calc(var(--resize_rate) * 30px);
	font-size: calc(var(--resize_rate) * 21px);
	letter-spacing: 1px;
}

#location a.button {
	margin-top: calc(var(--resize_rate) * 50px);
	border-radius: 5px;
}

footer {
    padding-top: calc(var(--resize_rate) * 42px);
    min-height: calc(var(--resize_rate) * 100px);
    padding-bottom: calc(var(--resize_rate) * 42px);
}

footer #copyright {
	font-size: 16px;
}

footer #copyright a {
	font-size: 16px;
	text-decoration: underline;
}

main.program .text {
	width: 100%;
	margin-top: -4px;
	padding-left: 13px;
	padding-right: 13px;
	margin-bottom: calc(var(--resize_rate) * 126px);
	box-sizing: border-box;
}

main.program .text,
main.program .text div {
	font-size: 14px;
	line-height: 2em;
}

ul {
	margin-top: -2px;
}

li {
	font-size: 15px;
	background-size: calc(var(--resize_rate) * 25px) calc(var(--resize_rate) * 25px);
	background-position-x: 4px;
	padding-left: calc(var(--resize_rate) * 47px);
	margin-bottom: 2px;
}

main.news {

}

main.news > div {
	width: 100%;
	padding-left: 18px;
	padding-right: 18px;
	box-sizing: border-box;
}

.breadcrumbs {
	gap: calc(var(--resize_rate) * 10px) calc(var(--resize_rate) * 16px);
	flex-wrap: wrap;
}

.breadcrumbs a {
}

.breadcrumbs span {
	/* white-space: nowrap; */
}

main.news .news-title {
	flex-direction: column-reverse;
	margin-top: calc(var(--resize_rate) * 26px);
	gap: calc(var(--resize_rate) * 17px);
	margin-bottom: calc(var(--resize_rate) * 26px);
}

main.news .news-title h2 {
	font-size: 20px;
	text-align: left;
	text-transform: none;
	letter-spacing: 1.5px;
}

main.news .news-title .news-title-date {
	font-size: 15px;
	letter-spacing: 0.5px;
}

main.news .news-image {
	padding: 19px;
	margin-bottom: calc(var(--resize_rate) * 16px);
	margin-left: calc(var(--resize_rate) * 17px);
	width: calc(var(--resize_rate) * 338px);
}

main.news .news-image img {
	border-radius: 0;
}

main.news .news-text {
	line-height: 2em;
	margin-bottom: 0;
	padding-left: 16px;
}

main.news .news-button {
	margin-top: calc(var(--resize_rate) * 29px);
}

main.news .news-footer {
	background-image: url(../images/mobile/news-footer.jpg);
	height: calc(var(--resize_rate) * 550px);
	padding-left: 0;
	padding-right: 0;
	margin-top: calc(var(--resize_rate) * -142px);
	margin-bottom: calc(var(--resize_rate) * -30px);
}

main.news .news-footer .empty {
	height: 10px;
}

main.news .news-footer .news-footer-logo {
	width: calc(var(--resize_rate) * 260px);
	padding-top: 0;
	margin-top: calc(var(--resize_rate) * 199px);
	margin-left: calc(var(--resize_rate) * 60px);
}

main.news .news-footer .news-footer-logo a {
	background-image: url(../images/mobile/news-logo.png);
	width: calc(var(--resize_rate) * 260px);
	height: calc(var(--resize_rate) * 75px);
}

.v-line {
	display: none;
}

.v-line:before {
}

#index-about .v-line {

}

#form .v-line {
}

#news .v-line {
}

#location .v-line {
}

main.program .v-line {
}

#cookie {
	flex-direction: column;
}

#cookie .text, #cookie .text div, #cookie .text a {
	font-size: 13px;
}

#cookie button {
	width: calc(var(--resize_rate) * 125px);
	height: calc(var(--resize_rate) * 30px);
	font-size: calc(var(--resize_rate) * 16px);
	padding-bottom: 0px;
}

footer .eula a {
	font-size: 14px;
}

.desktop {
	display: none !important;
}

.mobile {
}

#badge::placeholder {
	font-size: calc(var(--resize_rate) * 10px);
}
}