@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');

:root {
	--width: 2200;
	--resize_rate: calc(var(--width) / 2200);
}

body, div, h1, h2, a {
	font-size: 23px;
	font-family: Montserrat, Arial, sans-serif;
	color: white;
}

body {
	background-color: black;
}

template {
	display: none;
}

a {
	text-decoration: none;
}

body, form {
	margin: 0;
	padding: 0;
}

h2 {
	text-align: center;
	font-size: calc(var(--resize_rate) * 54px);
	text-transform: uppercase;
	margin: 0;
}

#source {
	position: absolute;
	top: 0;
	margin-left: auto;
	margin-right: auto;
	opacity: 0.3;
	z-index: 1;
	display: none;
	margin-top: 262px;
}

header {
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
	height: calc(var(--resize_rate) * 1300px);
}

header.index,
header.error-404 {
	background-image: url('../images/index-header.jpg');
}

header.news {
	background-image: url('../images/news-header.jpg');
	height: calc(var(--resize_rate) * 950px);
}

header.program {
	background-image: url('../images/program-header.jpg');
	height: calc(var(--resize_rate) * 930px);
}

header .empty {
	height: 20px;
	font-size: 1px;
}

header .logo {
	margin-left: calc(var(--resize_rate) * 158px);
	margin-top: calc(var(--resize_rate) * 4px);
	position: absolute;
}

header .logo a {
	display: block;
	background-image: url('../images/logo.png');
	background-repeat: no-repeat;
	width: calc(var(--resize_rate) * 510px);
	height: calc(var(--resize_rate) * 135px);
	background-size: contain;
}

header .menu {
	display: flex;
	gap: calc(var(--resize_rate) * 56px);
	/* margin-left: calc(var(--resize_rate) * 1321px); */
	margin-top: calc(var(--resize_rate) * 38px);
	position: absolute;
	right: calc(var(--resize_rate) * 56px);
}

header .menu a {
	text-transform: uppercase;
	text-decoration: none;
	font-size: 25px;
}

header .menu a:hover {
	text-decoration: underline;
}

header .timer {
	display: none;
}

header.index .timer {
	width: 345px;
	height: 110px;
	position: absolute;
	border-radius: 6px;
	border: 1px solid #8b8b8b;
	background-color: #01010133;
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	margin-left: calc(var(--resize_rate) * 160px);
	margin-top: calc(var(--resize_rate) * 161px);
	box-sizing: border-box;
}

header .timer .timer-value {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	justify-content: start;
	padding-top: 13px;
}

header .timer .timer-value.days {
	width: 114px;
}

header .timer .timer-value.hours {
	width: 99px;
}

header .timer .timer-value.minutes {
	width: 114px;
}

header .timer .timer-value .timer-value-digit {
    font-size: 41px;
}

header .timer .timer-value .timer-value-text {
	display: flex;
	font-size: 20px;
}

header .timer .timer-delimiter {
	width: 7px;
	display: flex;
	flex-direction: column;
	padding-top: 30px;
	gap: 4px;
}

header .timer .timer-delimiter::before,
header .timer .timer-delimiter::after {
	background-color: red;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	display: block;
	content: ' ';
}

header h1 {
	margin: calc(var(--resize_rate) * 498px) 0 0;
	text-align: center;
	line-height: 1.39em;
	font-size: calc(var(--resize_rate) * 54px);
	text-shadow: 0 0 calc(var(--resize_rate) * 65px) #000000;
	text-transform: uppercase;
}

header.program h1 {
	margin-top: calc(var(--resize_rate) * 557px);
	letter-spacing: 2px;
	line-height: 1.5em;
}

header.news h1 {
	margin-top: calc(var(--resize_rate) * 557px);
	letter-spacing: 2px;
	line-height: 1.5em;
}

header .date {
	display: none;
}

header.index .date {
	text-align: center;
	font-size: calc(var(--resize_rate) * 48px);
	margin-top: calc(var(--resize_rate) * 24px);
	text-shadow: 0 0 calc(var(--resize_rate) * 65px) #000000;
	display: block;
}

header a.button {
	display: none;
}

header.index a.button {
	margin-left: auto;
	margin-right: auto;
	margin-top: calc(var(--resize_rate) * 42px);
	display: flex;
}

.button,
#news button:hover {
	background: red linear-gradient(0deg, rgba(149, 1, 25, 1) 0%, rgba(205, 12, 44, 1) 69%, rgba(205, 12, 44, 1) 100%);
	width: calc(var(--resize_rate) * 500px);
	height: calc(var(--resize_rate) * 110px);
	border-radius: 8px;
	text-align: center;
	color: white;
	text-decoration: none !important;
	text-transform: uppercase;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: calc(var(--resize_rate) * 31px);
	padding-bottom: 5px;
	box-sizing: border-box;
	border: 0;
}

.button:hover {
	background: red linear-gradient(0deg, rgba(129, 1, 5, 1) 0%, rgba(185, 12, 24, 1) 69%, rgba(185, 12, 24, 1) 100%);
}

.border-corner-50 {
	border: 1px solid #828282;
	border-radius: 7px;
	padding: calc(var(--resize_rate) * 41px);
	position: relative;
	box-sizing: border-box;
}

.border-corner-50 img {
}

.border-corner-50::before {
	width: 50px;
	height: 50px;
	background-image: url('../images/corner-top-left-50.png');
	display: block;
	content: ' ';
	position: absolute;
	top: -1px;
	left: -1px;
}

.border-corner-50::after {
	width: 50px;
	height: 50px;
	background-image: url('../images/corner-bottom-right-50.png');
	display: block;
	content: ' ';
	position: absolute;
	right: -1px;
	bottom: -1px;
}

.border-corner-36 {
	border: 1px solid #828282;
	border-radius: 7px;
	padding: calc(var(--resize_rate) * 25px) calc(var(--resize_rate) * 28px);
	position: relative;
	box-sizing: border-box;
}

.border-corner-36 img {
	max-width: 100%;
}

.border-corner-36::before {
	width: 36px;
	height: 36px;
	background-image: url('../images/corner-top-left-36.png');
	display: block;
	content: ' ';
	position: absolute;
	top: -1px;
	left: -1px;
}

.border-corner-36::after {
	width: 36px;
	height: 36px;
	background-image: url('../images/corner-bottom-right-36.png');
	display: block;
	content: ' ';
	position: absolute;
	bottom: -1px;
	right: -1px;
}

main {
}

#index-about {
	width: calc(var(--resize_rate) * 1644px);
	letter-spacing: 4px;
	margin: calc(var(--resize_rate) * 102px) auto calc(var(--resize_rate) * 202px);
}

#index-about h2 {
	margin: 0 0 calc(var(--resize_rate) * 107px);
}

#index-about .index-about-block {
	display: flex;
	flex-direction: row;
	gap: calc(var(--resize_rate) * 190px);
}

#index-about .index-about-block .index-about-text {
	margin-top: calc(var(--resize_rate) * -22px);
	line-height: 2.05em;
	letter-spacing: 0;
}

#index-about .index-about-block .index-about-image {

}

#index-about .index-about-block .index-about-image img {
	width: calc(var(--resize_rate) * 647px);
}

#index-about .timer {
	width: calc(var(--resize_rate) * 390px);
	min-height: calc(var(--resize_rate) * 160px);
	border-radius: 6px;
	border: 1px solid #8b8b8b;
	background-color: #01010133;
	display: flex;
	flex-direction: column;
	justify-content: start;
	margin-left: 2px;
	margin-top: calc(var(--resize_rate) * 46px);
	box-sizing: border-box;
	align-items: center;
}

#index-about .timer .timer-value {
	display: flex;
	flex-direction: row;
	font-size: calc(var(--resize_rate) * 60px);
	font-weight: bold;
	margin-top: calc(var(--resize_rate) * 30px);
	gap: calc(var(--resize_rate) * 27px);
	text-transform: uppercase;
	/* margin-left: calc(var(--resize_rate) * 57px); */
}

#index-about .timer .timer-value .timer-value-digit {
    letter-spacing: calc(var(--resize_rate) * 8px);
    color: red;
    width: calc(var(--resize_rate) * 80px);
    text-align: right;
}

#index-about .timer .timer-value .timer-value-text {
	letter-spacing: calc(var(--resize_rate) * 5px);
}

#index-about .timer .timer-text {
	text-align: center;
	margin-top: calc(var(--resize_rate) * 11px);
	font-size: calc(var(--resize_rate) * 23px);
}

#index-about .timer .text {
}

#form {
	background-image: url('../images/index-center.jpg');
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	min-height: calc(var(--resize_rate) * 1600px);
}

#form h2 {
	text-transform: uppercase;
	letter-spacing: 4px;
	margin-bottom: calc(var(--resize_rate) * 45px);
}

#form .registration-text {
	text-align: center;
	line-height: 1.7em;
}

#registration-app {
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(var(--resize_rate) * 800px);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	margin-top: calc(var(--resize_rate) * 81px);
	background-color: #01010157;
}

#registration-app form {
	width: calc(var(--resize_rate) * 650px);
	display: flex;
	gap: calc(var(--resize_rate) * 24px);
	flex-direction: column;
	margin: calc(var(--resize_rate) * -15px) calc(var(--resize_rate) * 20px) calc(var(--resize_rate) * 28px);
}

#registration-app form .participant_type_header {
	text-align: center;
	display: flex;
	flex-direction: row;
	gap: 20px;
	text-transform: uppercase;
	font-weight: bold;
	align-items: center;
	justify-content: center;
	font-size: calc(var(--resize_rate) * 30px);
	margin-bottom: 4px;
}

#registration-app form .participant_type {
	text-align: center;
	display: flex;
	flex-direction: row;
	gap: 20px;
	text-transform: uppercase;
	font-weight: bold;
	text-decoration: underline;
	align-items: center;
	justify-content: center;
	font-size: calc(var(--resize_rate) * 30px);
	margin-bottom: 4px;
	cursor: pointer;
}

#registration-app form > div {

}

#registration-app form > div.passport {
	display: flex;
	gap: 15px;
}

#registration-app form > div.passport #passport_series {
	flex-basis: 25%;
}

#registration-app form > div label[for] {
	font-weight: bold;
	display: none;
}

#registration-app form > div.dt label[for] {
	display: block;
	font-size: 16px;
	font-weight: normal;
	margin-bottom: 4px;
	padding-left: 8px;
}

#registration-app form > div input[type=text],
#registration-app form > div input[type=number],
#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 {
	box-sizing: border-box;
	width: 100%;
	height: calc(var(--resize_rate) * 75px);
	background-color: #010101bc;
	font-size: calc(var(--resize_rate) * 22px);
	border: 1px solid #828282;
	border-radius: 7px;
	padding-left: calc(var(--resize_rate) * 30px);
	letter-spacing: 2px;
	color: white;
}

#registration-app form > div textarea {
	height: 5.5em;
	padding: calc(var(--resize_rate) * 20px) calc(var(--resize_rate) * 30px);
}

#registration-app form > div input[type=date] {
	background-image: url('../images/input-date.png');
	background-position: calc(var(--resize_rate) * 575px) center;
	background-repeat: no-repeat;
}

#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 {
	border: 1px solid white;
}

#registration-app form > div input[type=checkbox],
#registration-app form > div input[type=radio] {
	box-sizing: border-box;
	width: 20px;
	height: 20px;
	background-color: #010101bc;
	border: 1px solid #828282;
	border-radius: 4px;
	margin-top: 8px;
}

input[type=checkbox],
input[type=radio] {
	display: inline-block;
	border: 0;
	margin: 0;
	position: absolute;
	opacity: 0;
}

input[type=checkbox] + span,
input[type=radio] + span {
	display: inline-block;
	font-size: calc(var(--resize_rate) * 20px);
	padding-left: 25px;
	height: 20px;
	background: url('../images/checkbox-off.png') no-repeat left center;
}

input[type=checkbox] + span a,
input[type=radio] + span a {
	font-size: calc(var(--resize_rate) * 20px);
	text-decoration: underline;
}

input[type=checkbox]:checked + span,
input[type=radio]:checked + span {
	background: url('../images/checkbox-on.png') no-repeat left center;
}

.phone-empty {
	display: flex;
	justify-content: flex-end;
	align-items: center;

	position: absolute;

	height: calc(var(--resize_rate) * 75px);
	margin-top: calc(var(--resize_rate) * -75px);
	padding-right: calc(var(--resize_rate) * 30px);
	width: calc(var(--resize_rate) * 650px);
	box-sizing: border-box;

	color: #828282;
	text-align: right;
	font-size: calc(var(--resize_rate) * 22px);
	border-radius: 7px;
	letter-spacing: 2px;
	pointer-events: none;
}

#registration-app form > div label {
	color: #b7b7b7;
	margin-top: 8px;
	display: block;
}

#registration-app form > div input[type=submit] {
	margin-left: auto;
	margin-right: auto;
	width: calc(var(--resize_rate) * 400px);
	height: calc(var(--resize_rate) * 80px);
	font-size: calc(var(--resize_rate) * 26px);
	letter-spacing: 2px;
	cursor: pointer;
}

#registration-app .success {
	font-weight: bold;
	text-align: center;
}

#registration-app a {
	text-decoration: underline;
}

#news {
	margin-bottom: calc(var(--resize_rate) * 191px);
	padding-left: 7px;
}

#news h2 {
	margin-top: calc(var(--resize_rate) * 313px);
	letter-spacing: 7px;
	margin-bottom: calc(var(--resize_rate) * 101px);
}

#news .news-list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: calc(var(--resize_rate) * 89px);
	width: calc(var(--resize_rate) * 1757px);
	margin-left: auto;
	margin-right: auto;
	margin-bottom: calc(var(--resize_rate) * 177px);
	box-sizing: border-box;
}

#news .news-list .news-item {

}

#news .news-list .news-item-image {
	margin-bottom: calc(var(--resize_rate) * 51px);
}

#news .news-list .news-item-date {
	font-size: calc(var(--resize_rate) * 28px);
	margin-left: calc(var(--resize_rate) * 13px);
	letter-spacing: 2.5px;
	margin-bottom: calc(var(--resize_rate) * 32px);
}

#news .news-list .news-item-name {
	font-weight: bold;
	font-size: calc(var(--resize_rate) * 40px);
	margin-left: calc(var(--resize_rate) * 15px);
	letter-spacing: 1px;
	margin-bottom: calc(var(--resize_rate) * 28px);
	display: block;
}

#news .news-list .news-item-text {
	margin-left: calc(var(--resize_rate) * 15px);
	line-height: 2em;
	margin-bottom: calc(var(--resize_rate) * 34px);
}

#news .news-list .news-item-text,
#news .news-list .news-item-text div {
	font-size: calc(var(--resize_rate) * 23px);
}

#news .news-list .news-item-more {
	font-size: calc(var(--resize_rate) * 23px);
	color: red;
	margin-left: 15px;
	text-decoration: underline;
}

#news button {
	margin-left: auto;
	margin-right: auto;
	display: block;
	text-transform: uppercase;
	width: calc(var(--resize_rate) * 500px);
	height: calc(var(--resize_rate) * 110px);
	box-sizing: border-box;
	border: 1px solid red;
	color: red;
	background-color: transparent;
	font-size: calc(var(--resize_rate) * 29px);
	padding-bottom: 6px;
	letter-spacing: 3px;
	border-radius: 7px;
	cursor: pointer;
}

#news button:hover {
	background: red linear-gradient(0deg, rgba(129, 1, 5, 1) 0%, rgba(185, 12, 24, 1) 69%, rgba(185, 12, 24, 1) 100%);
	font-size: calc(var(--resize_rate) * 29px);
}

#location {
	background-image: url('../images/index-footer.jpg');
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	height: calc(var(--resize_rate) * 1400px);
}

#location h2 {
	letter-spacing: 4px;
}

#location .location-text {
	text-transform: uppercase;
	text-align: center;
	margin-top: calc(var(--resize_rate) * 205px);
	font-size: calc(var(--resize_rate) * 70px);
	letter-spacing: 2px;
	line-height: 1.45em;
	text-shadow: 0 0 calc(var(--resize_rate) * 65px) #000000;
}

#location .location-date {
	text-align: center;
	margin-top: calc(var(--resize_rate) * 104px);
	font-size: calc(var(--resize_rate) * 48px);
	letter-spacing: 2px;
	text-transform: uppercase;
	text-shadow: 0 0 calc(var(--resize_rate) * 65px) #000000;
}

#location a.button {
	margin-left: auto;
	margin-right: auto;
	margin-top: calc(var(--resize_rate) * 132px);
}

footer {
	min-height: calc(var(--resize_rate) * 145px);
	box-sizing: border-box;
	padding-top: 22px;
	padding-bottom: 22px;
}

footer #copyright {
	text-align: center;
	font-size: calc(var(--resize_rate) * 30px);
}

footer #copyright a {
	font-size: calc(var(--resize_rate) * 30px);
	text-decoration: underline;
}

main.program .text {
	width: calc(var(--resize_rate) * 1360px);
	margin: calc(var(--resize_rate) * 25px) auto calc(var(--resize_rate) * 174px);
}

main.program .text,
main.program .text div {
	font-size: 23px;
	line-height: 1.8em;
}

main.program .text a {
	text-decoration: underline;
}

ul {
	/*list-style-image: url('../images/list.png');*/
	list-style: none;
	padding: 0;
	margin: 23px 0 22px;
}

li {
	margin: 0 0 11px;
	padding: 0 0 0 63px;
	vertical-align: text-top;
	line-height: 2em;
	font-size: 23px;
	letter-spacing: 0;
	/*display: flex;*/
	/*flex-direction: row;*/
	/*align-items: center;*/
	background-image: url(../images/list.png);
	background-position: left top;
	background-repeat: no-repeat;
}

main.news {
	margin-top: -8px;
}

main.news > div {
	width: calc(var(--resize_rate) * 1700px);
	margin-left: auto;
	margin-right: auto;
}

.breadcrumbs {
	display: flex;
	gap: 23px;
	color: #606060;
}

.breadcrumbs a {
	color: #606060;
}

.breadcrumbs span {
	color: white;
}

main.news .news-title {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-top: calc(var(--resize_rate) * 61px);
	align-items: baseline;
	margin-bottom: calc(var(--resize_rate) * 54px);
	gap: 30px;
}

main.news .news-title h2 {
	font-size: calc(var(--resize_rate) * 51px);
	letter-spacing: 2px;
	text-align: left;
}

main.news .news-title .news-title-date {
	font-size: 37px;
	padding-right: 2px;
	letter-spacing: 2px;
	white-space: nowrap;
}

main.news .news-image {
	padding: calc(var(--resize_rate) * 50px);
	margin-bottom: calc(var(--resize_rate) * 45px);
}

main.news .news-image img {
	border-radius: 8px;
	max-width: 100%;
}

main.news .news-text {
	line-height: 1.95em;
	margin-bottom: calc(var(--resize_rate) * 110px);
}

main.news .news-text a {
	text-decoration: underline;
}

main.news .news-button {
	display: flex;
	justify-content: center;
}

main.news .news-footer {
	background-image: url(../images/news-footer.jpg);
	height: calc(var(--resize_rate) * 1550px);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
	width: 100%;
	margin-bottom: calc(var(--resize_rate) * 79px);
}

main.news .news-footer .news-footer-logo {
	margin-left: auto;
	margin-right: auto;
	width: calc(var(--resize_rate) * 730px);
	padding-top: calc(var(--resize_rate) * 707px);
}

main.news .news-footer .news-footer-logo a {
	display: block;
	background-image: url(../images/news-logo.png);
	background-size: contain;
	width: calc(var(--resize_rate) * 730px);
	height: calc(var(--resize_rate) * 190px);
}

.v-line {
	position: absolute;
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-left: calc(var(--resize_rate) * -156px);
	font-size: calc(var(--resize_rate) * 50px);
	align-items: center;
	letter-spacing: 0;
	color: red;
}

.v-line:before {
	content: '';
	width: 1px;
	height: calc(var(--resize_rate) * 500px);
	background-color: white;
}

#index-about .v-line {
	margin-top: calc(var(--resize_rate) * -541px);
}

#form .v-line {
	margin-left: calc(var(--resize_rate) * 117px);
	margin-top: calc(var(--resize_rate) * 267px);
	color: red;
}

#news .v-line {
	margin-left: calc(var(--resize_rate) * 111px);
	margin-top: calc(var(--resize_rate) * 249px);
}

#location .v-line {
	margin-left: calc(var(--resize_rate) * 115px);
	margin-top: calc(var(--resize_rate) * 249px);
}

main.program .v-line {
	display: none;
}

.invisible {
	visibility: hidden;
}

#cookie {
	max-width: 100vw;
	position: fixed;
	bottom: 0;
	background-color: black;
	padding: 15px;
	gap: 15px;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}

#cookie .text, #cookie .text div, #cookie .text a {
	font-size: 16px;
}

#cookie .text a {
	text-decoration: underline;
}

#cookie button {
	margin-left: auto;
	margin-right: auto;
	cursor: pointer;
	width: calc(var(--resize_rate) * 250px);
	height: calc(var(--resize_rate) * 55px);
	font-size: calc(var(--resize_rate) * 22px);
	padding-bottom: 0px;
}

.hidden {
	display: none !important;
}

footer .eula {
	margin-bottom: 10px;
	text-align: center;
}

footer .eula a {
	text-decoration: underline;
	font-size: calc(var(--resize_rate) * 23px);
}

@media screen and (max-width: 1200px) {
	#index-about .index-about-block {
		flex-direction: column;
		padding-left: 17px;
		padding-right: 17px;
		gap: 21px;
	}

	#index-about .index-about-block .index-about-image {
		order: 1;
		display: flex;
		justify-content: center;
	}

	#index-about .index-about-block .index-about-image .border-corner-50 {
		display: inline-block;
	}

	#index-about .index-about-block .index-about-text {
		order: 2;
	}


}

@media screen and (min-width: 801px) {
	.desktop {

	}

	.mobile {
		display: none !important;
	}
}