@import "static/fonts.css";
@import "static/inputs.css";
@import "static/slider.css";
@import "static/wo.css";

:root {
    --body-color: #FFF;
    --bg-color: #EDEDED;
    --wo-bg-color: #f6f6f6;
    --input-bg-color: #fff;
    --text-color: #000;
    --text-main-color: #1E1E1E;
    --first-color: #EFE339;
    --hover-color: #FFFBC0;
    --second-color: #EFDF00;
    --border-color: #747A8C;
    --slider-dot-border-color: #F5F5F5;
    --gray-color: #ECECEC;
    --link-first-color: #A4A4A4;
    --link-second-color: #797100;
    --link-third-color: #D4C600;
    --input-focus-border-color: #000;
    --green-color: #2DA771;
    --error-color: rgba(255, 2, 2, 0.8);
    --main-side-padding: 0 140px;
    --max-width: 1440px;
    --max-width-regform: 1040px;
    --border-radius: 24px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


html, body {
    font-family: 'HelveticaNeuCur', Arial, sans-serif;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: var(--body-color);
}

.size_wrap {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: var(--main-side-padding);
}

.size_wrap.form_wrap {
    max-width: var(--max-width-regform);
}

/* Header */

header > div {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    height: 102px;
    padding: var(--main-side-padding);
}

header a {
    display: inline-block;
    color: var(--text-color);
    text-decoration: none;
    cursor: pointer;
    margin: 0 14px;
    /*font-size: 20px;*/
    font-size: 1.25rem;
    font-weight: 300;
    border-bottom: solid 1px transparent;
    transition: border-color .3s ease;
}

header a.active {
    border-color: var(--text-color);
    cursor: default;
}

header a:hover {
    border-color: var(--text-color);
}

.login header {
    background-color: var(--bg-color);
}

.head_logo {
    flex: 0;
    width: 105px;
}

.head_logo > a {
    border: none !important;
    margin: 0 !important;
    font-size: 0;
}

.head_nav {
    flex: 1;
    white-space: nowrap;
    margin: 0 35px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
}

.head_nav_account {
    display: none;
    flex: 0;
    text-align: right;
    font-size: 0;
    cursor: pointer;
}

.head_nav_account > a {
    font-size: 1.7rem;
    margin-right: 40px;
    color: var(--text-color);
    transition: color .3s ease;
    border: none;
}

.head_nav_account > a:hover {
    color: var(--link-third-color);
}

.head_nav_menu {
    display: none;
}

.head_nav_modal {
    display: flex;
    align-items: center;
    flex-flow: row nowrap;
    flex: 1;
}

.head_nav_shadow {
    position: fixed;
    height: 0;
    width: 0;
    z-index: -1;
}

.head_right {
    flex: 0;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    white-space: nowrap;
}

.head_right > a {
    margin: 0;
    font-weight: 400;
    text-transform: uppercase;
}

.head_right > a.btn {
    padding: 9px 21px;
    background-color: var(--first-color);
    border-radius: var(--border-radius);
    border: none !important;
    margin-right: 10px;
    font-weight: 300;
    transition: background-color .3s ease;
    text-transform: capitalize;
}

.head_right > a.btn:hover {
    background-color: var(--hover-color);
}

/* Footer */

footer {
    background-color: var(--bg-color);
}

footer > div {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    height: 150px;
    padding: var(--main-side-padding);
}

.footer_logos {
    display: flex;
    flex-flow: row nowrap;
    flex: 1;
    align-items: center;
}

.footer_logos > a {
    text-decoration: none;
    font-size: 0;
    cursor: pointer;
    margin-right: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer_logos > a > img {
    max-width: 100%;
    max-height: 100%;
}

.footer_text {
    opacity: .6;
}

/* Main content */
main {
    min-height: calc(100vh - 252px);
}

h2 {
    display: block;
    /*font-size: 29px;
     */
    font-size: 1.8125rem;
    font-weight: 700;
    margin: 20px 0;
}

a {
    text-decoration: none;
}

.spacer {
    flex: 1;
}

.page_header {
    /*padding: var(--main-side-padding);*/
    background: var(--second-color);
    padding: 44px 0;
}

.page_header h2 {
    margin: 0;
    /*font-size: 42px;
    line-height: 44px;*/
    font-size: 2.625rem;
    line-height: 105%;
}

.page_content {
    /*padding: var(--main-side-padding);*/
}

.page_block_header {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}

.page_block_header > h2 {
    margin: 0;
    /*font-size: 42px;*/
    font-size: 2.625rem;
    flex: 1;
}

.page_block_header > .input {
    margin: 0;
}

.page_block_header > h3 {
    margin: 0;
    /*font-size: 30px;*/
    font-size: 1.875rem;
    flex: 1;
}

.page_block_header select {
    background-color: var(--second-color);
    border-color: var(--second-color);
}


.page_block_header option {
    background-color: #fff;
}

.page_block_header option:checked,
.page_block_header option:hover {
    background-color: var(--hover-color);
}

p.page_p, .page_p > p {
    font-weight: 400;
    /*font-size: 20px;*/
    font-size: 1.25rem;
    margin: 60px 0;
}

.plus {
    display: inline-block;
    height: 40px;
    width: 40px;
    background: url("static/imgs/plus.svg") no-repeat center;
    background-size: contain;
    cursor: pointer;
}

.fs64 {
    /*font-size: 44px !important;*/
    font-size: 2.75rem !important;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt40 {
    margin-top: 40px;
}

.mt60 {
    margin-top: 60px;
}

.mt80 {
    margin-top: 80px;
}

.mt100 {
    margin-top: 100px;
}

.mt120 {
    margin-top: 120px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb60 {
    margin-bottom: 60px;
}

.mb80 {
    margin-bottom: 80px;
}

.mb100 {
    margin-bottom: 100px;
}

.mb120 {
    margin-bottom: 120px;
}

/* Login page */

.login_cont {
    min-height: calc(100vh - 252px);
    display: flex;
    flex-flow: row nowrap;
}

.login_cont > div {
    flex: 1 50%;
}

.login_cont .right_col {
    display: flex;
    align-items: center;
    flex: 0;
}

.login_cont .left_col {
    background: url("static/imgs/login/left_bg1.jpg") no-repeat center;
    background-size: cover;
}

.login_cont .right_col > form {
    display: block;
    width: 400px;
    margin: 0 100px;
}

.login_reminder {
    display: flex;
    align-items: center;
}

.login_reminder > a {
    display: inline-block;
    text-align: right;
    /*width: 125px;*/
    text-decoration: none;
    color: var(--link-first-color);
    border-bottom: solid 1px transparent;
    opacity: .8;
    transition: .3s ease;
    cursor: pointer;
}

.login_reminder > a:hover {
    border-color: var(--link-first-color);
    opacity: 1;
}

.login_reg > a {
    display: inline-block;
    text-align: right;
    text-decoration: none;
    color: var(--link-second-color);
    border-bottom: solid 1px transparent;
    transition: border-color .3s ease;
    cursor: pointer;

}

.login_reg > a:hover {
    border-color: var(--link-second-color);
}

/* Main page */

.main_page_slider {
    display: flex;
    flex-flow: row nowrap;
}

.mps_left_col {
    width: 55%;
    padding-bottom: 45%;
    background: url("static/imgs/login/left_bg.png") no-repeat center;
    background-size: cover;
    border-radius: var(--border-radius);
}

.mps_left_col1 {
    width: 55%;
    padding-bottom: 45%;
    background: url("/discovermoscow-website/1500-0005_shutterstock_157631090.jpg") no-repeat center;
    background-size: cover;
    border-radius: var(--border-radius);
}

.mps_left_col2 {
    width: 55%;
    padding-bottom: 45%;
    background: url("/discovermoscow-website/1500-0000_shutterstock_1422218621.jpg") no-repeat center;
    background-size: cover;
    border-radius: var(--border-radius);
}

.mps_left_col3 {
    width: 55%;
    padding-bottom: 45%;
    background: url("/discovermoscow-website/2.jpg") no-repeat center;
    background-size: cover;
    border-radius: var(--border-radius);
}

.mps_left_col4 {
    width: 55%;
    padding-bottom: 45%;
    background: url("/discovermoscow-website/GUM_.jpg") no-repeat center;
    background-size: cover;
    border-radius: var(--border-radius);
}

.mps_left_col5 {
    width: 55%;
    padding-bottom: 45%;
    background: url("/discovermoscow-website/Polytechnic_Museum.jpg") no-repeat center;
    background-size: cover;
    border-radius: var(--border-radius);
}

.mps_left_col6 {
    width: 55%;
    padding-bottom: 45%;
    background: url("/discovermoscow-website/Red_Square.jpg") no-repeat center;
    background-size: cover;
    border-radius: var(--border-radius);
}

.mps_left_col7 {
    width: 55%;
    padding-bottom: 45%;
    background: url("/discovermoscow-website/Triumphal_Arch.jpg") no-repeat center;
    background-size: cover;
    border-radius: var(--border-radius);
}

.mps_left_col8 {
    width: 55%;
    padding-bottom: 45%;
    background: url("/discovermoscow-website/Zaryadye_Park.jpg") no-repeat center;
    background-size: cover;
    border-radius: var(--border-radius);
}

.mps_left_col9 {
    width: 55%;
    padding-bottom: 45%;
    background: url("/discovermoscow-website/shutterstock_1391130497.jpg") no-repeat center;
    background-size: cover;
    border-radius: var(--border-radius);
}

.mps_left_col10 {
    width: 55%;
    padding-bottom: 45%;
    background: url("/discovermoscow-website/shutterstock_1421807288.jpg") no-repeat center;
    background-size: cover;
    border-radius: var(--border-radius);
}


.mps_right_col {
    flex: 1;
    margin-left: 40px;
    text-align: center;
    display: flex;
    flex-flow: column;
    justify-content: center;
    border: solid 10px var(--second-color);
    border-radius: var(--border-radius);
    padding: 14px;
    /*font-size: 40px;*/
    font-size: 2.5rem;
    font-weight: 500;
}

.mps_right_col > b {
    display: block;
    /*font-size: 96px;*/
    font-size: 6rem;
}

.events_calendar_slider {
    width: calc(100% + 25px);
    display: flex;
    /*justify-content: space-between;*/
    flex-flow: row wrap;
}

.events_calendar_slider > div {
    display: flex;
    flex-flow: column nowrap;
    width: calc(33.333% - 25px);
    border: 10px solid var(--second-color);
    box-sizing: border-box;
    border-radius: var(--border-radius);
    padding: 40px 35px;
    margin: 0 25px 25px 0;
}

.events_calendar_slider > div > h4 {
    display: block;
    flex: 1;
    /*font-size: 24px;*/
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 30px;
    height: 137px;
    overflow: hidden;
}

.events_calendar_slider > div > p {
    margin: 0;
    /*font-size: 20px;*/
    font-size: 1.25rem;
    font-weight: 700;
    vertical-align: bottom;
    text-align: right;
}

.events_calendar_slider > div > p > b {
    /*font-size: 40px;*/
    font-size: 2.5rem;
    margin-right: 10px;
}

.events_calendar_slider > div > span {
    display: block;
    text-align: right;
    font-weight: 500;
    /*font-size: 24px;
    line-height: 44px;*/
    font-size: 1.5rem;
    line-height: 183%;
    opacity: .5;
    margin-bottom: 35px;
}

.events_calendar_slider > div > button {
    border-radius: var(--border-radius);
    margin: 0;
    /*line-height: 64px;*/
}

.partners_logo {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    padding: 60px 0;
}

.partners_logo > div,
.partners_logo > a {
    display: block;
    max-height: 111px;
    width: calc(25% - 35px);
    min-width: 200px;
    padding-bottom: 30%;
    border: none;
    text-decoration: none;
    margin-bottom: 70px;
    background: no-repeat center;
    background-size: contain;
}

.partners_logo > div > img, .partners_logo > div > a > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.partners_logo > div > image {
    max-height: 100%;
    max-width: 100%;
}

/* Events page */

.events_refs {
    display: flex;
    flex-flow: row wrap;
    width: calc(100% + 40px);
}

.events_refs > div {
    margin: 0 40px 40px 0;
    width: calc(50% - 40px);
    border: solid 10px var(--second-color);
    border-radius: var(--border-radius);
    padding: 30px;
}

.events_refs > div > div {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 220px;
    margin: 30px 0 50px;
}

.events_refs > div > div > img {
    max-height: 100%;
    max-width: 100%;
    opacity: .6;
}

.events_refs > div > p {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
}

.events_refs > div > p > button {
    width: auto;
    /*font-size: 24px;
    line-height: 24px;*/
    font-size: 1.5rem;
    border-radius: var(--border-radius);
    margin: 0 10px 0 0;
    padding: 18px;
    line-height: 100%;
}

.events_refs > div > p > .plus {
    flex: 0 0 40px;
}

.events_page_slider {
    position: relative;
    width: 100%;
    padding-bottom: 45%;
    background-size: cover;
    background-position: center;
    background-repeat: repeat;
    border-radius: var(--border-radius);
    overflow: hidden;
}

/* Digital page */

.digital_gallery {
    display: flex;
    flex-flow: row wrap;
    width: calc(100% + 25px);
    margin: 60px 0 95px;
}

.digital_gallery > div {
    position: relative;
    width: calc(33.333% - 25px);
    padding-top: calc(33.333% - 25px);
    margin: 0 25px 25px 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border-radius: var(--border-radius);
    overflow: hidden;
}

/* About page */

.about_block {
    margin: 120px 0;
    padding: 60px 30px;
    border: solid 10px var(--second-color);
    border-radius: var(--border-radius);
    text-align: center;
}

.about_block > h5 {
    display: block;
    font-weight: 500;
    /*font-size: 54px;*/
    font-size: 3.375rem;
    align-items: center;
    margin: 0 0 40px;
}

.about_block > div {
    height: 5px;
    width: 35%;
    margin: 40px auto;
    background: var(--second-color);
}

.about_block > p {
    /*font-size: 20px;
    line-height: 24px;*/
    font-size: 1.25rem;
    line-height: 120%;
}

/* News page */

.news_block {
    display: block;
    border: 10px solid var(--second-color);
    border-radius: var(--border-radius);
    padding: 20px 50px 50px;
}

.news_block:not(:first-child) {
    margin-top: 30px;
}

.news_block > span {
    display: inline-block;
    background: var(--gray-color);
    border-radius: 15px;
    padding: 10px;
    /*font-size: 20px;*/
    font-size: 1.25rem;
}

.news_block > h5 {
    display: block;
    font-weight: 400;
    /*font-size: 40px;
    line-height: 40px;*/
    font-size: 2.5rem;
    line-height: 100%;
    margin: 30px 0 40px;
}

.news_block > div {
    display: flex;
    flex-flow: row nowrap;
}

.news_block > div > .news_img {
    flex: 0 50%;
    min-height: 250px;
    border-radius: var(--border-radius);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin-right: 40px;
}

.news_block > div > .news_text {
    flex: 1;
    height: 230px;
    padding: 0 10px 0;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 400;
    /*font-size: 24px;
    line-height: 24px;*/
    font-size: 1.5rem;
    line-height: 100%;
}

.news_full_view {
    /*font-size: 16px;*/
    font-size: 1rem;
    text-align: right;
    padding: 7px 0;
    color: var(--link-second-color);
}

.news_full_view > b {
    font-weight: 500;
    cursor: pointer;
}

.news_modal {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: none;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .3s ease;
    z-index: 99;
}

.news_modal.show_step1 {
    display: flex;
}

.news_modal.show_step2 {
    opacity: 1;
}

.news_modal .nm_content {
    position: relative;
    width: 75%;
    max-width: 950px;
    max-height: 90%;
    overflow: auto;
    background: #fff;
    padding: 40px;
    border-radius: var(--border-radius);
    margin: 0 auto;
    z-index: 2;
}

.news_modal .nm_content > h4 {
    /*font-size: 24px;*/
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 35px;
}

.news_modal .nm_content > p {
    display: block;
    width: auto;
    max-width: 300px;
    margin: 0 auto;
}

.news_modal .nm_shadow {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    cursor: pointer;
    background: rgba(0, 0, 0, .3);
}

/* Digital curr page */

.buttons_cont {
    font-size: 0;
}

.buttons_cont.form_controls {
    text-align: right;
}

.buttons_cont > button {
    display: inline-block;
    width: auto;
    vertical-align: top;
    margin: 0 30px 30px 0;
}

.buttons_cont > button.block {
    display: block;

}

.dig_curr_block {
    padding: 40px 50px;
    border: 10px solid var(--second-color);
    border-radius: var(--border-radius);
}

.dcb_header {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
}

.dcb_header > p {
    margin: 0;
    /*font-size: 24px;*/
    font-size: 1.5rem;
    font-weight: 700;
    vertical-align: bottom;
    text-align: right;
}

.dcb_header > p > b {
    /*font-size: 36px;*/
    font-size: 2.25rem;
    margin-right: 10px;
}

.dcb_header > div {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}

.dcb_header > div > span {
    display: inline-block;
    /*padding: 5px 25px;*/
    margin-left: 20px;
    /*background: var(--gray-color);*/
    flex: 0;
    /*height: 50px;*/
}

.dcb_header > div > span > img {
    max-width: 175px;
    max-height: 175px;
}

.dig_curr_block > p {
    margin: 40px 0 30px;
    font-weight: 400;
    /*font-size: 20px;
    line-height: 24px;*/
    font-size: 1.25rem;
    line-height: 120%;
}

.dcb_program {
    padding: 30px 40px;
    background: var(--gray-color);
    border-radius: var(--border-radius);
}

.dcb_program > span {
    display: block;
    font-weight: 400;
    /*font-size: 24px;
    line-height: 24px;*/
    font-size: 1.5rem;
    line-height: 100%;
    margin: 0 0 20px;
}

.dcb_program > p {
    display: block;
    font-weight: 400;
    /*font-size: 24px;
    line-height: 24px;*/
    font-size: 1.5rem;
    line-height: 100%;
    margin: 0 0 10px;
}

.dcb_program ul {
    margin: 24px 0;
}

.dcb_program li {
    margin: 0 0 10px 23px;
    font-weight: 400;
    /*font-size: 18px;
    line-height: 28px;*/
    font-size: 1.125rem;
    line-height: 155%;
}

.dcb_program li:last-child {
    margin-bottom: 0;
}

.dc_reg_block {
    display: flex;
    flex-flow: row nowrap;
}

.dc_reg_block .left_col {
    flex: 0 0 50%;
    background: url('static/imgs/login/left_bg.png') no-repeat center;
    background-size: cover;
    border-radius: var(--border-radius);
}

.dc_reg_block .right_col {
    flex: 1;
    padding: 30px 50px;
    border: solid 10px var(--second-color);
    border-radius: var(--border-radius);
    margin-left: 40px;
}

.dc_reg_block .right_col > form > h2 {
    margin: 0 0 30px;
    font-weight: 400;
    /*font-size: 29px;
    line-height: 29px;*/
    font-size: 1.8125rem;
    line-height: 100%;
}

.dc_reg_block .right_col > form button {
    padding: 12px 25px;
    border-radius: 10px;
}

.program_portal_cont {
    width: calc(100% + 25px);
    display: flex;
    /*justify-content: space-between;*/
    flex-flow: row wrap;
}

.program_portal_cont > div {
    width: calc(33.333% - 25px);
    border: 10px solid var(--second-color);
    box-sizing: border-box;
    border-radius: var(--border-radius);
    padding: 40px 35px;
    margin: 0 25px 25px 0;
}

.program_portal_cont > div > h4 {
    display: block;
    font-weight: 700;
    /*font-size: 28px;*/
    font-size: 1.75rem;
    margin-bottom: 30px;
}

.program_portal_cont > div > p {
    display: block;
    margin: 0 0 15px;
    color: #666666;
    /*font-size: 20px;*/
    font-size: 1.25rem;
}

.program_portal_cont > div > p > span {
    display: inline-block;
    background: var(--gray-color);
    border-radius: 15px;
    padding: 10px;
    min-width: 70px;
    text-align: center;
    margin: 0 25px 0 0;
    /*font-size: 18px;*/
    font-size: 1.125rem;
    vertical-align: middle;
}


.program_slider {
    width: calc(100% + 25px);
    display: flex;
    /*justify-content: space-between;*/
    flex-flow: row wrap;
}

.program_slider > div {
    display: flex;
    flex-flow: column nowrap;
    width: calc(33.333% - 25px);
    border: 10px solid var(--second-color);
    box-sizing: border-box;
    border-radius: var(--border-radius);
    padding: 40px 25px;
    margin: 0 25px 25px 0;
}

.program_slider > div > span {
    display: inline-block;
    font-weight: 400;
    /*font-size: 20px;
    line-height: 20px;*/
    font-size: 1.25rem;
    line-height: 100%;
    padding: 10px;
    border-radius: 15px;
    background: var(--gray-color);
}

.program_slider > div > div,
.program_slider > div > a.logo_link {
    display: block;
    flex: 1;
    width: 100%;
    padding-bottom: 50%;
    background: no-repeat center;
    background-size: contain;
    border-radius: var(--border-radius);
    margin: 30px 0;
    border: none;
    text-decoration: none;
}

.program_slider > div > button {
    margin: 0;
}

.program_slider > div > p {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    margin: 30px 0 0;
}

.program_slider > div > p > a {
    font-weight: 400;
    /*font-size: 20px;
    line-height: 20px;*/
    font-size: 1.25rem;
    line-height: 100%;
    color: var(--text-color);
    text-decoration: none;
}

.video_cont {
    position: relative;
    width: 100%;
    padding-bottom: 44%;
    margin: 120px 0;
}

.video_cont > div {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    border-radius: var(--border-radius);
    background: var(--gray-color);
    overflow: hidden;
}

.video_cont > div > iframe {
    border: none;
}

select:required:invalid {
    color: gray;
}


.regform_block > span {
    display: block;
    margin: 0 0 10px;
    /*font-size: 18px;*/
    font-size: 1.125rem;
    font-weight: 400;
    color: var(--text-color);
    opacity: .8;
}

.regform_row {
    display: flex;
    flex-flow: row nowrap;
}

.regform_row .code {
    flex: 2;
    margin-right: 10px;
}

.regform_row .code:before {
    content: "+";
    position: absolute;
    color: #747a8c;
    margin-top: 10px;
    margin-left: 7px;
    font-weight: 400;
    font-size: 1.5rem;
}

.regform_row .operator {
    flex: 2;
    margin-right: 10px;
}

.regform_row .nums {
    flex: 4;
}

.video_elem {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
}

.breadcrumbs {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    margin: 60px 0;
    /*font-size: 18px;*/
    font-size: 1.125rem;
}

.breadcrumbs > a {
    display: inline-block;
    color: var(--text-color);
    cursor: pointer;
    text-decoration: none;
    margin-right: 15px;
    transition: color .3s ease;
}

.breadcrumbs > a:hover {
    color: var(--link-second-color);
}

.breadcrumbs > a:after {
    content: '/';
    margin-left: 15px;
    color: var(--text-color);
}

.breadcrumbs > span {
    color: var(--link-second-color);
    cursor: default;
}

.regform_row .code input {
    padding: 14px 17px 14px 28px;
}

@media (max-width: 1350px) {
    :root {
        --main-side-padding: 0 75px;
    }

    html, body {
        font-size: 14px;
    }
}

@media (max-width: 1200px) {
    :root {
        --main-side-padding: 0 35px;
    }

    html, body {
        font-size: 20px;
    }

    .page_header h2 {
        font-size: 2rem;
    }

    header > div {
        justify-content: space-between;
        height: 142px;
    }

    .head_logo {
        flex: 1;
        width: auto;
    }

    .head_logo > a > img {
        height: 70px;
    }

    .head_nav_account {
        display: block;
    }

    .head_login_btn {
        display: none;
    }

    .head_nav_menu {
        display: block;
        flex: 0;
        text-align: right;
        font-size: 2rem;
        cursor: pointer;
        color: var(--text-color);
        transition: color .3s ease;
    }

    .head_nav_menu:hover {
        color: var(--link-third-color);
    }

    .head_nav_shadow {
        position: fixed;
        top: 0;
        left: 0;
        height: 100vh;
        width: 100vw;
        background: rgba(0, 0, 0, 0.25);
        opacity: 0;
        cursor: pointer;
        visibility: hidden;
        transition: opacity .5s ease, visibility .5s ease;
        z-index: 98;
    }

    .head_nav_shadow.active {
        visibility: visible;
        opacity: 1;
    }

    .head_nav_modal {
        position: fixed;
        top: 0;
        bottom: 0;
        width: 470px;
        right: -490px;
        padding: 40px 0;
        flex-flow: column wrap;
        background: var(--bg-color);
        box-shadow: 0 0 16px rgba(0, 0, 0, 0.25);
        border-radius: 0;
        transition: right .5s ease;
        z-index: 99;
    }

    .head_nav_modal.active {
        right: 0;
    }

    .head_nav {
        flex-flow: column;
    }

    .head_nav > a {
        margin: 0 14px 28px;
        font-size: 2rem;
    }

    .head_right {
        flex-flow: column;
    }

    .head_right > a.btn {
        margin: 0 14px 14px;
    }

    .dc_reg_block {
        flex-flow: column wrap;
    }

    .dc_reg_block .left_col {
        flex: 1;
        padding-bottom: 100%;
        margin-bottom: 30px;
    }

    .dc_reg_block .right_col {
        flex: 1;
        margin: 0;
    }

    .program_portal_cont > div {
        width: calc(50% - 25px);
    }

    footer > div {
        flex-flow: column wrap;
        height: auto;
    }

    .footer_logos {
        flex-flow: row wrap;
        justify-content: center;
        margin: 20px 0;
    }

    .footer_logos > a {
        margin: 20px 10px;
        flex: 0 1 calc(33.333% - 20px);
        text-align: center;
    }

    .footer_text {
        margin-bottom: 40px;
    }

    .events_calendar_slider > div {
        width: calc(50% - 25px);
    }

    .main_page_slider > div {
        flex: 0;
        margin: 10px 0;
        width: 100%;
        height: 350px !important;
    }

    .main_page_slider {
        display: block;
    }

    .digital_gallery {
        width: 100%;
    }

    .digital_gallery > div {
        width: 100%;
        padding-top: 55%;
        margin: 0 0 25px;
    }

    .events_refs {
        display: block;
        width: 100%;
    }

    .events_refs > div {
        width: 100%;
    }

    .events_refs > div > div {
        height: 120px;
    }

    .login_cont .left_col {
        display: none;
    }

    .login_cont .right_col {
        flex: 1;
        justify-content: center;
    }

    .login_cont .right_col > form {
        margin: 0;
    }

    .buttons_cont > button {
        margin: 0 7px 7px 0;
    }
}
