.promo {
    display: flex;
    position: relative;
    flex-flow: column wrap;
    justify-content: center;
    max-width: 300px;
    min-height: 300px
}

@media only screen and (min-width:1198px) {
    .promo {
        justify-content: flex-start
    }
}

.promo__photo {
    display: block;
    margin-bottom: 1rem
}

@media only screen and (min-width:1198px) {
    .promo__text {
        margin: 0 10px
    }
}

.promo__tag {
    margin-bottom: .5rem;
    color: #666;
    font: 1.1rem/1.5rem a;
    font-family: inherit
}

.promo__link_more {
    z-index: 1;
    position: relative;
    color: #004465
}

.promo__link_more:before {
    color: #666;
    white-space: pre;
    content: "  |  "
}

.promo__name {
    color: #111;
    font: 700 1.8rem/2.3rem a;
    font-family: inherit
}

.promo__subtitle {
    margin-top: .5rem;
    color: #111;
    font: 1.3rem/1.6rem a;
    font-family: inherit
}

.promo__remark {
    margin-top: 1rem;
    color: #999;
    font: .9rem/1.2 a;
    font-family: inherit
}

.promo__remark--slider {
    font-size: 1.3rem;
    line-height: 1.6rem
}

.promo__link {
    color: inherit;
    text-decoration: none
}

.promo__link--overlay:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: ""
}

@media only screen and (min-width:1198px) {
    .promo:hover .promo__tag {
        color: #999
    }

    .promo:hover .promo__name,
    .promo:hover .promo__subtitle {
        color: #666
    }
}

.promo_slider__canvas {
    display: flex;
    margin: -5px 0
}

.promo_slider__item {
    flex-shrink: 0;
    width: 100%;
    margin-right: -100%;
    padding: 5px 0
}

.notification {
    visibility: hidden;
    z-index: 100;
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 30px 0;
    transform: translate3d(0, 40px, 0);
    background-color: #004465;
    opacity: 0;
    transition: opacity .4s ease-out, transform .4s ease-out, visibility 0s ease-out .4s;
    will-change: opacity, transform
}

@media only screen and (min-width:1600px) {
    html:not(.webview) .notification {
        margin-right: 318px
    }
}

.notification:before {
    display: inline-block;
    width: 100%;
    content: ""
}

.notification:not(:first-child) {
    margin-top: 10px
}

.notification.is_shown {
    visibility: visible;
    transform: translateZ(0);
    opacity: 1;
    transition: opacity .4s ease-out, transform .4s ease-out, visibility 0s ease-out 0s
}

.notification__message {
    display: inline-block;
    position: relative;
    width: calc(100% - 45px);
    color: #fff;
    font: 2rem/2.8rem a;
    font-family: inherit;
    vertical-align: middle
}

@media only screen and (min-width:1198px) {
    .notification__message {
        box-sizing: border-box;
        width: calc(100% - 55px);
        padding-left: 50px;
        line-height: 1.5
    }
}

.notification__message a {
    color: inherit
}

.notification__vicon {
    font-size: 20px
}

@media only screen and (min-width:1198px) {
    .notification__vicon {
        font-size: 30px
    }
}

.notification__close {
    display: inline-block;
    margin-left: 20px;
    color: #fff;
    vertical-align: middle
}

.notification__logo {
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    fill: transparent
}

.notification--subscribe {
    background-color: #eee
}

.notification--subscribe .notification__close {
    color: #111
}

.notification--subscribe .notification__logo {
    color: #004465;
    fill: #fff
}

@media only screen and (min-width:1198px) {
    .notification__form {
        width: 50%
    }
}

.notification__field {
    margin-bottom: 1rem
}

.fixed_bottom {
    visibility: hidden;
    z-index: 52;
    position: fixed;
    right: 0;
    bottom: 0;
    width: 100%;
    font-size: 0
}

.fixed_bottom__flow_holder {
    display: block;
    visibility: hidden;
    width: 100%;
    text-align: justify;
    text-justify: distribute-all-lines
}

.fixed_bottom__flow_holder:after {
    display: inline-block;
    width: 100%;
    content: ""
}

.fixed_bottom__flow {
    display: inline-block;
    visibility: hidden;
    vertical-align: bottom
}

@media only screen and (min-width:1198px) {
    .fixed_bottom__flow {
        margin-bottom: 50px
    }
}

@media only screen and (min-width:1600px) {
    .fixed_bottom__flow {
        margin-bottom: 0
    }
}

.fixed_bottom__item {
    display: block;
    visibility: hidden;
    margin: 0 0 20px auto
}

.fixed_bottom__item:empty,
.fixed_bottom__item:last-child {
    margin-bottom: 0
}

.fixed_bottom__item--tar {
    text-align: right
}

.fixed_bottom .subscription_popup {
    display: inline-block;
    visibility: visible;
    position: relative
}

.fixed_bottom .subscription_popup__content {
    position: relative
}

.fixed_bottom .subscription_popup__wrapper {
    text-align: left
}

.footer {
    position: relative;
    margin-top: 30px;
    padding: 20px 0;
    background-color: #eee
}

@media only screen and (min-width:599px) {
    .footer {
        padding-top: 30px
    }
}

@media only screen and (min-width:1198px) {
    .footer {
        margin-top: 10px
    }
}

.footer_content {
    display: flex;
    flex-direction: column;
    align-items: flex-start
}

@media only screen and (min-width:599px) {
    .footer_content {
        flex-flow: row wrap;
        justify-content: space-between
    }
}

@media only screen and (min-width:1198px) {
    .footer_content {
        justify-content: flex-start
    }
}

.footer_section {
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
    justify-content: flex-start
}

@media only screen and (min-width:1198px) {
    .footer_section {
        min-width: 240px
    }
}

.footer_section--brands {
    flex-flow: row nowrap;
    align-items: flex-end;
    column-gap: 2rem
}

@media only screen and (min-width:599px) {
    .footer_section--brands {
        flex-direction: column;
        align-items: flex-start;
        row-gap: 1rem
    }
}

.footer__title {
    margin-bottom: .3rem;
    color: #666;
    font: 700 1.3rem/1.8rem a;
    font-family: inherit
}

.footer__title--grey {
    color: #999
}

.footer__link {
    color: inherit;
    text-decoration: none
}

.footer__link:focus,
.footer__link:hover {
    color: #000
}

.footer__age {
    margin-bottom: 20px;
    color: #999;
    font: 2.4rem/1 a;
    font-family: inherit
}

.footer_rusfond__logo {
    position: relative;
    width: 100px;
    height: 26px
}

.footer_rusfond__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    opacity: .5
}

.footer_rusfond__link {
    display: flex;
    flex-flow: column nowrap
}

@media only screen and (min-width:599px) {
    .footer_rusfond__link {
        flex-direction: column
    }
}

.footer_rusfond__link:focus .footer__title--grey,
.footer_rusfond__link:hover .footer__title--grey {
    color: #000
}

.footer_rusfond__link:focus .footer_rusfond__img,
.footer_rusfond__link:hover .footer_rusfond__img {
    opacity: 1
}

.footer_rusfond__title {
    margin-bottom: .5rem
}

.footer_brand_logo {
    display: flex;
    flex-flow: column;
    row-gap: .5rem
}

.footer_brand_logo__img {
    width: 103px;
    height: 27px
}

.footer_brand_logo__age {
    color: #999;
    font-size: 1.1rem;
    line-height: 1.5rem
}

.footer_nav {
    display: block;
    position: relative;
    margin: 50px 0 30px;
    column-gap: 0;
    columns: 140px 3
}

@media only screen and (min-width:599px) {
    .footer_nav {
        width: 60%;
        margin-top: 0
    }
}

@media only screen and (min-width:1198px) {
    .footer_nav {
        width: 525px;
        column-width: 175px
    }
}

.footer_nav:before {
    position: absolute;
    top: -30px;
    right: -20px;
    left: -20px;
    border-top: 1px solid #fff;
    content: ""
}

@media only screen and (min-width:599px) {
    .footer_nav:before {
        content: none
    }
}

.footer_social {
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 280px;
    margin-top: 0;
    margin-bottom: 1rem
}

@media only screen and (min-width:1198px) {
    .footer_social {
        max-width: 260px;
        margin: 0 0 0 auto
    }
}

.footer_social__link {
    margin: 0 10px 20px 0
}

.footer_social__icon {
    background-color: #999;
    font-size: 30px;
    transition: background-color .15s ease-in-out 0s;
    fill: #fff
}

.footer_social__link:focus .footer_social__icon,
.footer_social__link:hover .footer_social__icon {
    background-color: #004465
}

.footer_adv {
    width: 100%
}

@media only screen and (min-width:1198px) {
    .footer_adv {
        flex-wrap: nowrap;
        justify-content: space-between;
        margin-top: 3rem
    }
}

@media only screen and (min-width:1198px) {
    .footer_adv__title {
        width: 540px
    }
}

@media only screen and (min-width:1198px) {
    .footer_adv__title:last-child {
        width: calc(100% - 590px)
    }
}

.footer_adv p {
    margin-top: 0;
    margin-bottom: 1.1rem;
    font-weight: 400
}

.footer_adv p .link:hover {
    color: #000
}

.footer_counter {
    display: flex
}

.footer_counter__item {
    margin-right: 10px
}

.auth.is_authorized .auth__login,
.auth:not(.is_active),
.auth:not(.is_authorized) .auth__profile {
    display: none
}

.auth__profile {
    position: relative
}

.auth.is_authorized .auth__profile:after {
    position: absolute;
    right: 5px;
    bottom: 5px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: #e9c410;
    content: ""
}

@media only screen and (min-width:1198px) {
    .auth.is_authorized .auth__profile:after {
        right: 3px;
        bottom: 3px;
        width: 9px;
        height: 9px
    }
}

.app_download {
    display: flex;
    flex-flow: wrap
}

.app_download__name {
    margin-bottom: .5rem;
    font: 700 1.5rem/2rem a;
    font-family: inherit
}

.app_download__button {
    flex-flow: column;
    height: auto;
    min-height: 3.5rem;
    margin-right: .5rem;
    margin-bottom: .5rem;
    padding: .5rem 0;
    text-align: center
}

.app_download__button--big {
    width: 175px;
    font: 1.5rem/2rem a;
    font-family: inherit
}

.app_download__button--small {
    width: 85px;
    font: 1.3rem/1.6rem a;
    font-family: inherit
}

.app_download__img {
    display: block;
    width: 20px;
    height: 20px;
    margin-bottom: .5rem
}

.site_menu {
    display: block;
    color: #111
}

@media only screen and (min-width:1198px) {
    .site_menu {
        z-index: 3;
        position: -webkit-sticky;
        position: sticky;
        top: 50px
    }
}

.main_header--alone .site_menu {
    margin-top: -40px
}

.site_menu__close_overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.site_menu_trigger:not(:checked)~.site_menu .site_menu__close_overlay {
    display: none
}

.site_menu__lift {
    visibility: hidden;
    z-index: 53;
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    max-height: 100vh;
    overflow: auto;
    transform: translateY(25px);
    background-color: hsla(0, 0%, 100%, .99);
    opacity: 0;
    transition: opacity .2s ease-in-out 0s, visibility 0s linear .45s, transform .8s cubic-bezier(.165, .84, .44, 1) 0s;
    -webkit-overflow-scrolling: touch
}

@media only screen and (min-width:1198px) {
    .site_menu__lift {
        z-index: auto;
        position: absolute;
        right: 0;
        left: 0;
        width: auto;
        height: auto;
        margin-top: -50px;
        box-shadow: 0 1.4px 2.2px rgba(0, 0, 0, .028), 0 3.3px 5.3px rgba(0, 0, 0, .04), 0 6.3px 10px rgba(0, 0, 0, .05), 0 11.2px 17.9px rgba(0, 0, 0, .06), 0 20.9px 33.4px rgba(0, 0, 0, .072), 0 50px 80px rgba(0, 0, 0, .1)
    }
}

@media only screen and (min-width:1198px) {
    .main_header--alone~.site_menu {
        margin: -4rem 0 8rem
    }
}

.site_menu_trigger:checked~.site_menu .site_menu__lift {
    visibility: visible;
    transform: translateY(0);
    opacity: 1;
    transition-delay: 0s
}

.site_menu__body {
    display: flex;
    flex-flow: column wrap
}

@media only screen and (min-width:538px) {
    .site_menu__body {
        flex-direction: row;
        align-items: flex-start
    }
}

@media only screen and (min-width:1198px) {
    .site_menu__body {
        padding-right: 45px;
        padding-left: 55px
    }
}

@media only screen and (min-width:1600px) {
    .site_menu__body {
        padding-right: 45px;
        padding-left: 55px
    }
}

.site_menu__header {
    display: flex;
    position: relative;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    width: calc(100% + 30px);
    height: 40px;
    margin: 0 -15px 1.7rem
}

@media only screen and (min-width:1198px) {
    .site_menu__header {
        justify-content: flex-start;
        width: calc(100% + 40px);
        height: 50px;
        margin: 0 0 2.5rem -45px
    }
}

.site_menu__header_item {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    cursor: pointer;
    opacity: .5;
    transition: opacity .25s ease-in-out 0s;
    will-change: opacity
}

.site_menu__header_item:focus,
.site_menu__header_item:hover {
    opacity: 1
}

.site_menu__logo {
    margin-left: 1.5rem
}

@media only screen and (min-width:1198px) {
    .site_menu__logo {
        margin-left: .5rem
    }
}

.site_menu__logo_img {
    width: 158px;
    height: 20px;
    padding-top: 3px;
    fill: #111
}

.site_menu__close {
    display: inline-flex;
    align-items: center;
    margin-left: auto;
    color: #111;
    font-size: 1.3rem;
    line-height: 1.8rem;
    cursor: pointer
}

.site_menu__close_icon {
    padding: 7px;
    color: inherit;
    font-size: 16px
}

.site_menu__social {
    position: absolute;
    top: 62px;
    right: 20px
}

@media only screen and (min-width:538px) {
    .site_menu__social {
        top: 67px
    }
}

@media only screen and (min-width:1198px) {
    .site_menu__social {
        top: 78px;
        right: 78px
    }
}

.site_menu__social_link {
    display: block;
    margin-bottom: 10px;
    border-radius: 50%;
    background-color: #004465
}

.site_menu__social_icon {
    font-size: 24px;
    fill: #fff
}

@media only screen and (min-width:1198px) {
    .site_menu__social_icon {
        font-size: 30px
    }
}

.site_menu__list {
    width: 240px;
    margin-bottom: 25px
}

.site_menu__list--big {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 25px
}

@media only screen and (min-width:538px) {
    .site_menu__list--big {
        width: 480px
    }
}

@media only screen and (min-width:1198px) {
    .site_menu__list--big {
        width: 960px;
        margin-bottom: 20px
    }
}

.site_menu__item {
    font: 700 1.7rem/2.5rem a;
    font-family: inherit
}

.site_menu__item--big {
    width: 240px;
    font-size: 2.4rem;
    line-height: 1.2
}

@media only screen and (min-width:538px) {
    .site_menu__item--big {
        width: auto;
        line-height: 3.8rem
    }
}

@media only screen and (min-width:1198px) {
    .site_menu__item--big {
        font-size: 2.7rem;
        line-height: 3.3rem
    }
}

@media only screen and (min-width:538px) {
    .site_menu__item--big:not(:last-child) {
        margin-right: 30px
    }
}

@media only screen and (min-width:1198px) {
    .site_menu__item--big:not(:last-child) {
        margin-right: 25px
    }
}

.site_menu__item--indent {
    margin-bottom: 2.4rem
}

.site_menu__rusfond_img {
    width: 19.5px;
    height: 19px;
    vertical-align: middle
}

@media only screen and (min-width:538px) {
    .site_menu__rusfond_img {
        width: 39px;
        height: 38px
    }
}

.site_menu__close_text {
    display: none
}

@media only screen and (min-width:538px) {
    .site_menu__close_text {
        display: block;
        margin-left: -43.34px
    }
}

.site_menu a:not([class]) {
    color: inherit;
    text-decoration: none
}

.site_menu a:not([class]):focus,
.site_menu a:not([class]):hover {
    color: #666
}

.site_menu_trigger:not(:checked)~.site_menu img[data-lazyimage-src],
.site_menu a[href^="/theme/3683"] {
    display: none
}

@media only screen and (min-width:1198px) {
    .regions {
        display: block;
        z-index: 3;
        position: -webkit-sticky;
        position: sticky;
        top: 50px
    }

    .regions--mirror {
        margin: -80px 0 120px
    }

    .regions__menu {
        visibility: hidden;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        transform: translateY(15px);
        transform-origin: 50% 0;
        background-color: #eee;
        font-size: 0;
        opacity: 0;
        transition: opacity .2s ease-in-out .25s, visibility 0s linear .5s, transform .6s cubic-bezier(.165, .84, .44, 1) .25s;
        will-change: opacity, transform
    }

    .regions__menu--active {
        visibility: visible;
        transform: translateY(0);
        opacity: 1;
        transition-delay: 0s
    }

    .regions__body {
        position: relative;
        padding: 10px 0
    }

    .regions__body:before {
        position: absolute;
        top: -5px;
        right: 130px;
        width: 0;
        height: 0;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 0;
        border-bottom: 5px solid #eee;
        content: ""
    }

    .regions__list {
        display: flex;
        flex-flow: row wrap;
        align-items: center;
        justify-content: center;
        max-width: 870px;
        margin: 0 auto
    }

    .regions__item {
        margin: 3px 15px;
        color: #333;
        font-size: 1.4rem;
        line-height: 2.4rem
    }

    .regions__link {
        color: inherit;
        text-decoration: underline
    }

    .regions__link--current,
    .regions__link:focus,
    .regions__link:hover {
        text-decoration: none
    }
}

.up_button {
    box-sizing: border-box;
    display: inline-flex;
    visibility: hidden;
    flex-flow: column wrap;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    margin: 0 20px 0 0;
    padding: 0;
    transform: translateX(calc(100% + 2.4rem));
    border-radius: 3px;
    color: #fff;
    text-align: center;
    opacity: 0;
    transition: opacity .2s ease-in-out 0s, transform .8s cubic-bezier(.165, .84, .44, 1) 0s, visibility 0s linear .2s;
    will-change: opacity, transform;
    -webkit-user-select: none;
    user-select: none
}

@media only screen and (min-width:1198px) {
    .up_button {
        width: 6.4rem;
        height: 6.4rem;
        margin-right: 2rem
    }
}

@media only screen and (min-width:1600px) {
    .up_button {
        margin-right: calc(2rem + 18px);
        transform: translateX(calc(100% + 18px + 2.4rem))
    }
}

.up_button.is_shown {
    visibility: visible;
    transform: translateX(0);
    opacity: .9;
    transition-delay: 0s
}

.up_button__text {
    font-size: 1.6rem
}

.up_button__arrow {
    font-size: 16px
}

.live {
    position: relative;
    padding: 0 .4rem .1rem 1.3rem;
    background-color: #cf0d0d;
    color: #fff;
    font-size: 1.1rem;
    line-height: 1.4rem;
    text-transform: uppercase;
    vertical-align: middle;
    white-space: nowrap
}

.live:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: .4rem;
    width: 6px;
    height: 6px;
    margin: auto 0;
    border-radius: 50%;
    background-color: #fff;
    animation: live__pulse .8s linear infinite alternate;
    content: ""
}

.live--partners {
    padding-left: 1.2rem;
    background-color: #004465
}

.live--partners:before {
    left: .5rem
}

.live--bulletless {
    padding-left: .4rem;
    text-decoration: none
}

.live--bulletless:before {
    content: none
}

.live__text {
    animation: live__pulse_text .8s linear infinite alternate
}

@keyframes live__pulse {
    0% {
        opacity: 1
    }

    to {
        opacity: .25
    }
}

@keyframes live__pulse_text {
    0% {
        opacity: 1
    }

    to {
        opacity: .8
    }
}