/* latin-ext */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2');
    unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: local('Montserrat Black'), local('Montserrat-Black'), url(https://fonts.gstatic.com/s/montserrat/v14/JTURjIg1_i6t8kCHKm45_epG3gfD_u50.woff2) format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: local('Montserrat Black'), local('Montserrat-Black'), url(https://fonts.gstatic.com/s/montserrat/v14/JTURjIg1_i6t8kCHKm45_epG3gnD_g.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: local('Montserrat Black'), local('Montserrat-Black'), url(https://fonts.gstatic.com/s/montserrat/v14/JTURjIg1_i6t8kCHKm45_epG3gTD_u50.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: local('Montserrat Black'), local('Montserrat-Black'), url(https://fonts.gstatic.com/s/montserrat/v14/JTURjIg1_i6t8kCHKm45_epG3g3D_u50.woff2) format('woff2');
    unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}



*, *:before, *:after, a {
    box-sizing: border-box;
    outline: none
}

html {
    font-size: 100%;
}

body {
    width: 100%;
    height: 100%;
    position: relative;
    margin: 0px;
    padding: 0px;
    color: #ffffff;
    font-family: 'Roboto';
}

a:link, a:visited, a:focus, a:hover {
    text-decoration: none;
    outline: none;
}

input, button, select {
    outline: none;
    font-family: 'Roboto';
    font-size: 100%;
    font-weight: normal;
}

strong {
    font-weight: normal;
}

h1 {
    font-size: 350%;
    font-style: normal;
    font-weight: normal;
    margin: 0;
    padding: 0;
    font-family: 'Montserrat';
}

h2 {
    font-size: 160%;
    font-style: normal;
    font-weight: normal;
    margin: 0;
    padding: 0;
    font-family: 'Montserrat';
}

h3, h4, h5, h6 {
    font-size: 150%;
    font-style: normal;
    font-weight: normal;
    padding: 0;
    margin: 0;
    font-family: 'Montserrat';
    color: #F50045;
}

table, img, td, tr {
    padding: 0;
    margin: 0;
    border: none;
}

ul {
    padding: 0;
    padding-left: 1rem;
    margin: 0;
    border: none;
}

li {
    list-style: square
}

.center_360_to_320 {
    margin: 0 auto;
    display: block;
    width: 100%;
    min-width: 280px;
    max-width: 360px;
}

.center_640_to_320 {
    margin: 0 auto;
    display: block;
    width: 100%;
    min-width: 280px;
    max-width: 640px;
}


.center_960_to_320 {
    margin: 0 auto;
    display: block;
    width: 100%;
    min-width: 280px;
    max-width: 800px;
}

.center_1200_to_320 {
    margin: 0 auto;
    display: block;
    width: 100%;
    min-width: 280px;
    max-width: 1200px;
}

.center_380_to_320 {
    margin: 0 auto;
    display: block;
    width: 100%;
    min-width: 280px;
    max-width: 380px;
}

.delimeter_2rem { width: 100%; height: 2rem; }
.delimeter_3rem { width: 100%; height: 3rem; }
.delimeter_4rem { width: 100%; height: 4rem; }


.content_section {
    position: relative;
}


#global_bg {
    position: fixed;
    z-index: 0;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background-image: url(images/bg_06_10_2020.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

#global_bg_dec {
    position: fixed;
    z-index: 0;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background-image: url(images/dec_bg.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

#global_top_logo {
    width: 100%;
    padding-top: 4rem;
    padding-bottom: 2rem;
}

#global_top_logo img {
    width: 100%;
}

#global_container {
    position: relative;
    z-index: 100;
    transition: all 400ms;
}

.section_header {
    width: 100%;
    text-align: center;
    color: #F50045;
    margin-bottom: 1rem;
}

.content_body {
    z-index: 1000;
    min-height: 100vh;
}

.flex_grid {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;

    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;

    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;

    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;

    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.flex_grid_half {
    width: 50%;
}

.red_bg {
    background: #F50045;
    color: #ffffff;
    font-size: 140%;
    padding: 2rem;
}

.photo_bg {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.border_8px {
    border: 8px solid #F50045;
}

.display_mob {
    display: none;
}



/* Шапка */
.header_block {
    width: 100%;
    position: relative;
}

#header_block_video {
    width: 100%;
    display: block;
    position: relative;
}

#header_block_img {
    width: 100%;
    display: block;
    line-height: 0;
    text-align: center;

}

#header_block_img img {
    width: 90%;
}

#header_block_datetime {
    width: 100%;
    text-align: center;
    font-size: 200%;
    color: #ffffff;
    text-shadow: 0px 0px 30px #000000;
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 900;
}

#header_block_declive{
    width: 100%;
    text-align: center;
    font-size: 250%;
    color: #F50045;
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 900;
}

#header_block_film_shadow {
    width: 100%;
    display: block;
    position: absolute;
    left: 0;
    bottom: 5.5rem;
    text-align: center;
    font-size: 220%;
    color: #fdcb7c;
    text-shadow: 0px 0px 17px #000000;
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 900;
    line-height: 100%;
}

#header_block_film {
    width: 100%;
    display: block;
    position: absolute;
    left: 0;
    bottom: 5.5rem;
    text-align: center;
    font-size: 220%;
    background: linear-gradient(#e39f55 0%, #fdcb7c 50%, #e39f55 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #fdcb7c;
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 900;
    line-height: 100%;
}

#header_block_buy {
    width: 100%;
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    text-align: center;
    padding: 1rem;
}

.buy_button {
    display: inline-block;
    background: #F50045;
    color: #ffffff;
    padding: 1rem;
    border-radius: 12px;
    min-width: 300px;
    cursor: pointer;
}

.buy_button_soon {
    display: inline-block;
    background: none;
    color: #8C8C8C;
    padding: 1rem;
    border: 1px solid #8C8C8C;
    border-radius: 12px;
    min-width: 300px;
}

.block_buy_line {
    width: 100%;
    text-align: center;
    margin-top: 24px;
}



/* Информация */
.info_block {
    width: 100%;
    background: #212121;
    padding: 24px;
    border-radius: 16px;
    margin-bottom: 3rem;
}

.info_block_header {
    font-family: 'Montserrat';
    color: #F50045;
    font-size: 400%;
}

.info_block_date {
    font-family: 'Montserrat';
    font-size: 250%;
    margin-bottom: 2rem;
}

.info_block_place {
    font-family: 'Montserrat';
    font-size: 140%;
    color: #fcca7b;
}

.info_block_addr {
    font-family: 'Montserrat';
    font-size: 120%;
    color: #fcca7b;
}

.info_block_rem {
    font-size: 110%;
    margin-top: 2rem;
    text-align: justify;
    -ms-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
    -ms-hyphenate-limit-lines: 3;
    -webkit-hyphenate-limit-lines: 3;
    hyphenate-limit-lines: 3;
}

.info_block_text {
    background-color: rgba(0, 0, 0, 0.4);
    padding: 4rem;
    border-radius: 2rem;
    text-align: justify;
}

.info_block_dark {
    background-color: rgba(0, 0, 0, 0.4);
    padding: 4rem;
    border-radius: 2rem;
}


/* карта */
.event_map {
    width: 100%;
    padding: 4rem;
    background-color: rgba(0, 0, 0, 0.4);
    border-radius: 2rem;
}


#event_map_container {
    width: 100%;
    height: 400px;
}

.icon-marker {
    z-index: 100000;
    width: 30px;
    margin-left: -15px;
    margin-top: -15px;
}


@supports (-webkit-appearance: none) or (-moz-appearance: none) {
    input[type=checkbox], input[type=radio] {
        --active: #F50045;
        --active-inner: #fff;
        --focus: 2px rgba(39, 94, 254, .3);
        --border: #fffs;
        --border-hover: #F50045;
        --background: #fff;
        --disabled: #F6F8FF;
        --disabled-inner: #E1E6F9;
        -webkit-appearance: none;
        -moz-appearance: none;
        height: 21px;
        outline: none;
        display: inline-block;
        vertical-align: top;
        position: relative;
        margin: 0;
        cursor: pointer;
        border: 1px solid var(--bc, var(--border));
        background: var(--b, var(--background));
        transition: background 0.3s, border-color 0.3s, box-shadow 0.2s;
    }

    input[type=checkbox]:after, input[type=radio]:after {
        content: "";
        display: block;
        left: 0;
        top: 0;
        position: absolute;
        transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s);
    }
    input[type=checkbox]:checked, input[type=radio]:checked {
        --b: var(--active);
        --bc: var(--active);
        --d-o: .3s;
        --d-t: .6s;
        --d-t-e: cubic-bezier(.2, .85, .32, 1.2);
    }
    input[type=checkbox]:disabled, input[type=radio]:disabled {
        --b: var(--disabled);
        cursor: not-allowed;
        opacity: 0.9;
    }
    input[type=checkbox]:disabled:checked, input[type=radio]:disabled:checked {
        --b: var(--disabled-inner);
        --bc: var(--border);
    }
    input[type=checkbox]:disabled + label, input[type=radio]:disabled + label {
        cursor: not-allowed;
    }
    input[type=checkbox]:hover:not(:checked):not(:disabled), input[type=radio]:hover:not(:checked):not(:disabled) {
        --bc: var(--border-hover);
    }
    input[type=checkbox]:focus, input[type=radio]:focus {
        box-shadow: 0 0 0 var(--focus);
    }
    input[type=checkbox]:not(.switch), input[type=radio]:not(.switch) {
        width: 21px;
    }
    input[type=checkbox]:not(.switch):after, input[type=radio]:not(.switch):after {
        opacity: var(--o, 0);
    }
    input[type=checkbox]:not(.switch):checked, input[type=radio]:not(.switch):checked {
        --o: 1;
    }
    input[type=checkbox] + label, input[type=radio] + label {
        font-size: 14px;
        line-height: 21px;
        display: inline-block;
        vertical-align: top;
        cursor: pointer;
        margin-left: 4px;
    }

    input[type=checkbox]:not(.switch) {
        border-radius: 7px;
    }
    input[type=checkbox]:not(.switch):after {
        width: 5px;
        height: 9px;
        border: 2px solid var(--active-inner);
        border-top: 0;
        border-left: 0;
        left: 7px;
        top: 4px;
        transform: rotate(var(--r, 20deg));
    }
    input[type=checkbox]:not(.switch):checked {
        --r: 43deg;
    }
    input[type=checkbox].switch {
        width: 38px;
        border-radius: 11px;
    }
    input[type=checkbox].switch:after {
        left: 2px;
        top: 2px;
        border-radius: 50%;
        width: 15px;
        height: 15px;
        background: var(--ab, var(--border));
        transform: translateX(var(--x, 0));
    }
    input[type=checkbox].switch:checked {
        --ab: var(--active-inner);
        --x: 17px;
    }
    input[type=checkbox].switch:disabled:not(:checked):after {
        opacity: 0.6;
    }
}



/* логин */
.main_screen_buttons {
    width: 100%;
    text-align: center;
    margin-top: 4rem;
}

.edit_hall_button {
    display: block;
    padding: 1rem;
    background: #F50045;
    color: #FFFFFF;
    text-align: center;
    cursor: pointer;
    border-radius: 1rem;
    min-width: 250px;
}

#logout_button {
    display: inline-block;
    margin-top: 2rem;
    border: 1px solid #ffffff;
    padding: 1rem;
    border-radius: 1rem;
    min-width: 250px;
    cursor: pointer;
}

.login_body {
    width: 100%;
    text-align: center;
}

.login_block {
    width: 100%;
    background: #303030;
    border-radius: 1rem;
    padding: 2rem;
    margin-top: 2rem;
}

.login_block input {
    width: 100%;
    padding: 1rem;
    border: 2px solid #4C4C4C;
    background: #3B3B3B;
    border-radius: 12px;
    color: #ffffff;
    margin-bottom: 0.7rem;
    font-size: 100%;
}

.login_screen_label {
    color: #A1A1A1;
    margin-bottom: 0.3rem;
    font-size: 80%;
}

.login_screen_button {
    display: block;
    padding: 1rem;
    background: #F50045;
    color: #FFFFFF;
    text-align: center;
    cursor: pointer;
    border-radius: 12px;
    margin-top: 1.5rem;
}

.login_screen_message {
    color: #ffffff;
    margin-bottom: 0.3rem;
    font-size: 80%;
}

.login_block_noedit {
    display: inline-block;
    padding: 0.7rem;
    background: #3B3B3B;
    border-radius: 12px;
    color: #ffffff;
    margin-bottom: 1rem;
    font-size: 90%;
}

.login_block_download {
    display: inline-block;
    width: 5rem;
    padding: 0.7rem;
    background: #F50045;
    border-radius: 12px;
    color: #ffffff;
    margin-bottom: 1rem;
    font-size: 70%;
    margin-right: 0.5rem;
    text-align: center;
}

/* Карта */
#map_block {
    border-radius: 2rem;
}


/* епизоды */
.block_episodes_speaker {
    widows: 100%;
    font-size: 150%;
    margin-bottom: 2rem;
}

.episode_item_block {
    width: 48%;
    margin-bottom: 2rem;
    cursor: pointer;
}

.episode_item_name {
    font-size: 110%;
    margin-bottom: 0.5rem;
}

.episode_item_view {
    font-size: 100%;
    color: #F50045;
    font-family: 'Montserrat';
    font-weight: 900;
}

.episode_item_photo {
    width: 100%;
    position: relative;
    margin-bottom: 1rem;
    border-radius: 1rem;
}

.episode_item_photo:before{
    content: "";
    display: block;
    padding-top: 56%;
}

#video_slider_overlay {
    position: fixed;
    padding: 0;
    margin: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    background-color: rgba(0,0,0,0.9);
    z-index: 50000;
    display: none;
}

#video_slider_table { display: table; padding: 0; margin: 0; width: 100%; }
#video_slider_row { display: table-row; padding: 0; margin: 0; width: 100%; }
#video_slider_cell {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    width: 100%; height: 100vh;
    position: relative;
    padding: 0;
    margin: 0;

    padding-right: 4rem;
    padding-left: 4rem;
    padding-top: 2rem;
    padding-bottom: 4rem;
}

.video_slider_block {
    display: inline-block;
    width: 100%;
    height: 100%;
    position: relative;

    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

#video_slider_text {
    width: 100%;
    color: #ffffff;

    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-align-self: auto;
    -ms-flex-item-align: auto;
    align-self: auto;
}

#video_slider_screen {
    width: 100%;
    min-height: 260px;
}

#video_slider_screen iframe {
    width: 100%;
}

#video_slider_close_button {
    position: absolute;
    width: 2.5rem;
    height: 2.5rem;
    top: 1rem;
    right: 1rem;
    background-image: url(images/ico_close.svg);
    background-size: 2rem 2rem;
    background-position: right top;
    background-repeat: no-repeat;
    cursor: pointer;
    z-index: 35000;
}





/* Футер */
.grid_content {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;

    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;

    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.footer {
    color: #ffffff;
    background-color: #F50045;
}

.footer a {
    color: #ffffff;
    border-bottom: 1px dotted #ffffff
}

.footer_block {
    width: 100%;
    padding-top: 2rem;
    padding-bottom: 2rem;
    text-align: center;
}


/* диалог */
#dialog_overlay {
    width:100%;
    height:100%;
    position:fixed;
    top: 0px;
    left: 0px;
    background: rgba(0,0,0,0.5);
    z-index: 5000;
}

#dialog_window {
    position: relative;
    width: 90%;
    max-width: 30rem;
    margin: 0 auto;
    background-color: #ffffff;
    z-index: 10000;
    border-radius: 8px;
}

#dialog_text {
    padding: 2rem;
    text-align: center;
    font-size: 100%;
    color: #000000;
}

.dialog_header {
    font-family: 'Montserrat';
    margin-bottom: 0.5rem;
    color: #A6C3D1;
}

#dialog_body {
    text-align: center;
}

#dialog_buttons {
    position: relative;
    left: 0px;
    bottom: 0px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;

}

.dialog_button {
    height: 3rem;
    line-height: 3rem;
    cursor: pointer;
    text-align: center;
    max-width: 100%;
    flex-grow: 1;
    border-radius: 0px 0px 8px 8px;
}

.dialog_blue_button { background-color: #1E98FF; color: #ffffff; }
.dialog_black_button { background-color: #A6C3D1; color: #ffffff; }
.dialog_red_button { background-color: #F50045; color: #ffffff; }

.dec_links_block {
    width: 100%;
    background: #212121;
    padding: 24px;
    border-radius: 16px;
}


.dec_links_cover {
    width: 100%;
    border-radius: 16px;
}

.dec_links_button {
    display: block;
    width: 100%;
    margin-top: 16px;
    height: 6rem;
    border-radius: 20px;
    background-position: center center;

    background-repeat: no-repeat;
    background-color: #363636;

}

.button_youtube {
    background-image: url(images/logo_youtube.svg);
    background-size: auto 2.5rem;
}

.button_rutube {
    background-image: url(images/logo_rutube.svg);
    background-size: auto 2rem;
}

.button_vkvideo {
    background-image: url(images/logo_vkvideo.svg);
    background-size: auto 2.5rem;
}

.button_dzen {
    background-image: url(images/logo_dzen.svg);
    background-size: auto 3rem;
}

.button_ok {
    background-image: url(images/logo_ok.svg);
    background-size: auto 3.5rem;
}

.button_nuum {
    background-image: url(images/logo_nuum.svg);
    background-size: auto 3.5rem;
}

@media all and (min-width: 1px)and (max-width: 800px) {

    .dec_links_block { padding: 16px; }
    .dec_links_button { height: 5rem; }
}