.calendar .flatpickr-day-event:after
{
    bottom: -7px !important;
}

.calendar__current-event
{
    margin-bottom: 5px;
}

.subscription-form__content
{
    z-index: 1 !important;
}

@media (min-width: 1280px)
{
    .header-image
    {
        max-width: 1024px;
    }
}

@media (max-width: 1520px)
{
    .header-image
    {
        max-width: 720px;
    }
}

@media (max-width: 996px)
{
    .header-image
    {
        max-width: 540px;
    }
}

@media (max-width: 865px)
{
    .header-image
    {
        max-width: 320px;
    }
}

.text-content__text-left .description img
{
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
}

.subscription-form .error-help-block
{
    font-size: 13px;
}

.text-content__text-left p img
{
    width: 100%;
}

.events-block__img img
{
    object-fit: none;
}

.events-block .news
{
    cursor: pointer;
}

@media (min-width: 1280px)
{
    .text-content__tools
    {
        padding-top: 10px !important;
    }
}

.events-block__img img
{
    object-fit: cover;
}

.events-block__slider-door img
{
    object-fit: cover;
}

.subscription-form__content .button
{
    margin-top: 39px !important;
}

.subscription-form__field .error-help-block
{
    position: absolute;
    left: 0;
    font-family: Rubik, sans-serif;
    font-size: 12px;
    line-height: 20px;
    color: #c80022
}

@import url(https://fonts.googleapis.com/css?family=Rubik:400,500,700&display=swap&subset=cyrillic);
@import url(https://fonts.googleapis.com/css?family=PT+Sans:400,700&display=swap&subset=cyrillic);
article, aside, audio, blockquote, body, canvas, dd, details, div, dl, dt, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, input, li, mark, menu, nav, ol, p, pre, section, summary, td, textarea, th, time, ul, video
{
    margin: 0;
    padding: 0
}

table
{
    border-collapse: collapse;
    border-spacing: 0
}

fieldset, img, span
{
    border: none
}

address, caption, cite, code, dfn, th, var
{
    font-style: normal;
    font-weight: 400
}

ol, ul
{
    list-style: none
}

caption, th
{
    text-align: left
}

abbr, acronym
{
    border: none
}

sub, sup
{
    vertical-align: baseline;
    position: relative;
    top: -.4em;
    font-size: .65em
}

sub
{
    top: .4em
}

.small, small
{
    font-size: .86em
}

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, time
{
    display: block
}

*
{
    box-sizing: border-box
}

input[type=number]
{
    -moz-appearance: textfield
}

input[type=number]::-webkit-inner-spin-button
{
    display: none
}

textarea
{
    -webkit-appearance: none
}

body, html
{
    width: 100%;
    height: 100%
}

body.-overflow-hidden, html.-overflow-hidden
{
    position: relative;
    overflow: hidden
}

body
{
    font-family: "PT Sans", sans-serif;
    font-weight: 400;
    color: #1b3655;
    background: #f1f6f7;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

@media (min-width: 1280px)
{
    body
    {
        font-size: 16px;
        line-height: 22px
    }
}

@media (max-width: 1279px)
{
    body
    {
        font-size: 14px;
        line-height: 21px
    }
}

body.-overflow-hidden
{
    overflow: hidden
}

input, textarea
{
    -webkit-appearance: none
}

.h1, h1
{
    font-family: Rubik, sans-serif;
    font-weight: 700
}

@media (min-width: 1280px)
{
    .h1, h1
    {
        font-size: 28px;
        line-height: 33px
    }
}

@media (max-width: 1279px)
{
    .h1, h1
    {
        font-size: 22px;
        line-height: 26px
    }
}

a
{
    color: #307cff;
    text-decoration: none
}

b
{
    font-weight: 700
}

.link-more
{
    margin-top: 20px;
    text-align: center
}

.link-back
{
    display: inline-block;
    position: relative;
    font-size: 16px;
    line-height: 28px;
    font-weight: 700;
    color: #1b3655;
    padding-left: 17px;
    margin-bottom: 24px
}

.link-back:hover
{
    opacity: .8
}

.link-back svg
{
    position: absolute;
    top: 50%;
    left: -5px;
    width: 17px;
    height: 9px;
    -webkit-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg);
    fill: currentcolor
}

@media (min-width: 664px)
{
    .view-after-mobile
    {
        display: block
    }
}

@media (min-width: 664px)
{
    .hide-after-mobile
    {
        display: none
    }
}

.owl-carousel
{
    display: none;
    width: 100%;
    -webkit-tap-highlight-color: transparent;
    position: relative;
    z-index: 1
}

.owl-carousel .owl-stage
{
    position: relative;
    touch-action: manipulation;
    -moz-backface-visibility: hidden
}

.owl-carousel .owl-stage:after
{
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0
}

.owl-carousel .owl-stage-outer
{
    position: relative;
    overflow: hidden;
    -webkit-transform: translate3d(0, 0, 0)
}

.owl-carousel .owl-item, .owl-carousel .owl-wrapper
{
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0)
}

.owl-carousel .owl-item
{
    position: relative;
    min-height: 1px;
    float: left;
    -webkit-backface-visibility: hidden;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none
}

.owl-carousel .owl-item img
{
    display: block;
    width: 100%
}

.owl-carousel .owl-dots.disabled, .owl-carousel .owl-nav.disabled
{
    display: none
}

.owl-carousel .owl-dot, .owl-carousel .owl-nav .owl-next, .owl-carousel .owl-nav .owl-prev
{
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev, .owl-carousel button.owl-dot
{
    background: 0 0;
    color: inherit;
    border: none;
    padding: 0 !important;
    font: inherit
}

.owl-carousel.owl-loaded
{
    display: block
}

.owl-carousel.owl-loading
{
    opacity: 0;
    display: block
}

.owl-carousel.owl-hidden
{
    opacity: 0
}

.owl-carousel.owl-refresh .owl-item
{
    visibility: hidden
}

.owl-carousel.owl-drag .owl-item
{
    touch-action: pan-y;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.owl-carousel.owl-grab
{
    cursor: move;
    cursor: -webkit-grab;
    cursor: grab
}

.owl-carousel.owl-rtl
{
    direction: rtl
}

.owl-carousel.owl-rtl .owl-item
{
    float: right
}

.no-js .owl-carousel
{
    display: block
}

.owl-carousel .animated
{
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

.owl-carousel .owl-animated-in
{
    z-index: 0
}

.owl-carousel .owl-animated-out
{
    z-index: 1
}

.owl-carousel .fadeOut
{
    -webkit-animation-name: fadeOut;
    animation-name: fadeOut
}

@-webkit-keyframes fadeOut
{
    0%
    {
        opacity: 1
    }
    100%
    {
        opacity: 0
    }
}

@keyframes fadeOut
{
    0%
    {
        opacity: 1
    }
    100%
    {
        opacity: 0
    }
}

.owl-height
{
    transition: height .5s ease-in-out
}

.owl-carousel .owl-item .owl-lazy
{
    opacity: 0;
    transition: opacity .4s ease
}

.owl-carousel .owl-item .owl-lazy:not([src]), .owl-carousel .owl-item .owl-lazy[src^=""]
{
    max-height: 0
}

.owl-carousel .owl-item img.owl-lazy
{
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d
}

.owl-carousel .owl-video-wrapper
{
    position: relative;
    height: 100%;
    background: #000
}

.owl-carousel .owl-video-play-icon
{
    position: absolute;
    height: 80px;
    width: 80px;
    left: 50%;
    top: 50%;
    margin-left: -40px;
    margin-top: -40px;
    background: url(owl.video.play.png) no-repeat;
    cursor: pointer;
    z-index: 1;
    -webkit-backface-visibility: hidden;
    transition: -webkit-transform .1s ease;
    transition: transform .1s ease;
    transition: transform .1s ease, -webkit-transform .1s ease
}

.owl-carousel .owl-video-play-icon:hover
{
    -webkit-transform: scale(1.3, 1.3);
    transform: scale(1.3, 1.3)
}

.owl-carousel .owl-video-playing .owl-video-play-icon, .owl-carousel .owl-video-playing .owl-video-tn
{
    display: none
}

.owl-carousel .owl-video-tn
{
    opacity: 0;
    height: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    transition: opacity .4s ease
}

.owl-carousel .owl-video-frame
{
    position: relative;
    z-index: 1;
    height: 100%;
    width: 100%
}

.flatpickr-calendar
{
    background: 0 0;
    opacity: 0;
    display: none;
    text-align: center;
    visibility: hidden;
    padding: 0;
    -webkit-animation: none;
    animation: none;
    direction: ltr;
    border: 0;
    font-size: 14px;
    line-height: 24px;
    border-radius: 5px;
    position: absolute;
    width: 307.875px;
    box-sizing: border-box;
    touch-action: manipulation;
    background: #fff;
    box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, .08)
}

.flatpickr-calendar.inline, .flatpickr-calendar.open
{
    opacity: 1;
    max-height: 640px;
    visibility: visible
}

.flatpickr-calendar.open
{
    display: inline-block;
    z-index: 99999
}

.flatpickr-calendar.animate.open
{
    -webkit-animation: fpFadeInDown .3s cubic-bezier(.23, 1, .32, 1);
    animation: fpFadeInDown .3s cubic-bezier(.23, 1, .32, 1)
}

.flatpickr-calendar.inline
{
    display: block;
    position: relative;
    top: 2px
}

.flatpickr-calendar.static
{
    position: absolute;
    top: calc(100% + 2px)
}

.flatpickr-calendar.static.open
{
    z-index: 999;
    display: block
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7)
{
    box-shadow: none !important
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1)
{
    box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6
}

.flatpickr-calendar .hasTime .dayContainer, .flatpickr-calendar .hasWeeks .dayContainer
{
    border-bottom: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0
}

.flatpickr-calendar .hasWeeks .dayContainer
{
    border-left: 0
}

.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time
{
    height: 40px;
    border-top: 1px solid #e6e6e6
}

.flatpickr-calendar.noCalendar.hasTime .flatpickr-time
{
    height: auto
}

.flatpickr-calendar:after, .flatpickr-calendar:before
{
    position: absolute;
    display: block;
    pointer-events: none;
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    left: 22px
}

.flatpickr-calendar.rightMost:after, .flatpickr-calendar.rightMost:before
{
    left: auto;
    right: 22px
}

.flatpickr-calendar:before
{
    border-width: 5px;
    margin: 0 -5px
}

.flatpickr-calendar:after
{
    border-width: 4px;
    margin: 0 -4px
}

.flatpickr-calendar.arrowTop:after, .flatpickr-calendar.arrowTop:before
{
    bottom: 100%
}

.flatpickr-calendar.arrowTop:before
{
    border-bottom-color: #e6e6e6
}

.flatpickr-calendar.arrowTop:after
{
    border-bottom-color: #fff
}

.flatpickr-calendar.arrowBottom:after, .flatpickr-calendar.arrowBottom:before
{
    top: 100%
}

.flatpickr-calendar.arrowBottom:before
{
    border-top-color: #e6e6e6
}

.flatpickr-calendar.arrowBottom:after
{
    border-top-color: #fff
}

.flatpickr-calendar:focus
{
    outline: 0
}

.flatpickr-wrapper
{
    position: relative;
    display: inline-block
}

.flatpickr-months
{
    display: flex
}

.flatpickr-months .flatpickr-month
{
    background: 0 0;
    color: rgba(0, 0, 0, .9);
    fill: rgba(0, 0, 0, .9);
    height: 28px;
    line-height: 1;
    text-align: center;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    overflow: hidden;
    flex: 1
}

.flatpickr-months .flatpickr-next-month, .flatpickr-months .flatpickr-prev-month
{
    text-decoration: none;
    cursor: pointer;
    position: absolute;
    top: 0;
    line-height: 16px;
    height: 28px;
    padding: 10px;
    z-index: 3;
    color: rgba(0, 0, 0, .9);
    fill: rgba(0, 0, 0, .9)
}

.flatpickr-months .flatpickr-next-month.flatpickr-disabled, .flatpickr-months .flatpickr-prev-month.flatpickr-disabled
{
    display: none
}

.flatpickr-months .flatpickr-next-month i, .flatpickr-months .flatpickr-prev-month i
{
    position: relative
}

.flatpickr-months .flatpickr-next-month.flatpickr-prev-month, .flatpickr-months .flatpickr-prev-month.flatpickr-prev-month
{
    left: 0
}

.flatpickr-months .flatpickr-next-month.flatpickr-next-month, .flatpickr-months .flatpickr-prev-month.flatpickr-next-month
{
    right: 0
}

.flatpickr-months .flatpickr-next-month:hover, .flatpickr-months .flatpickr-prev-month:hover
{
    color: #959ea9
}

.flatpickr-months .flatpickr-next-month:hover svg, .flatpickr-months .flatpickr-prev-month:hover svg
{
    fill: #f64747
}

.flatpickr-months .flatpickr-next-month svg, .flatpickr-months .flatpickr-prev-month svg
{
    width: 14px;
    height: 14px
}

.flatpickr-months .flatpickr-next-month svg path, .flatpickr-months .flatpickr-prev-month svg path
{
    transition: fill .1s;
    fill: inherit
}

.numInputWrapper
{
    position: relative;
    height: auto
}

.numInputWrapper input, .numInputWrapper span
{
    display: inline-block
}

.numInputWrapper input
{
    width: 100%
}

.numInputWrapper input::-ms-clear
{
    display: none
}

.numInputWrapper input::-webkit-inner-spin-button, .numInputWrapper input::-webkit-outer-spin-button
{
    margin: 0;
    -webkit-appearance: none
}

.numInputWrapper span
{
    position: absolute;
    right: 0;
    width: 14px;
    padding: 0 4px 0 2px;
    height: 50%;
    line-height: 50%;
    opacity: 0;
    cursor: pointer;
    border: 1px solid rgba(57, 57, 57, .15);
    box-sizing: border-box
}

.numInputWrapper span:hover
{
    background: rgba(0, 0, 0, .1)
}

.numInputWrapper span:active
{
    background: rgba(0, 0, 0, .2)
}

.numInputWrapper span:after
{
    display: block;
    content: "";
    position: absolute
}

.numInputWrapper span.arrowUp
{
    top: 0;
    border-bottom: 0
}

.numInputWrapper span.arrowUp:after
{
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-bottom: 4px solid rgba(57, 57, 57, .6);
    top: 26%
}

.numInputWrapper span.arrowDown
{
    top: 50%
}

.numInputWrapper span.arrowDown:after
{
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid rgba(57, 57, 57, .6);
    top: 40%
}

.numInputWrapper span svg
{
    width: inherit;
    height: auto
}

.numInputWrapper span svg path
{
    fill: rgba(0, 0, 0, .5)
}

.numInputWrapper:hover
{
    background: rgba(0, 0, 0, .05)
}

.numInputWrapper:hover span
{
    opacity: 1
}

.flatpickr-current-month
{
    font-size: 135%;
    line-height: inherit;
    font-weight: 300;
    color: inherit;
    position: absolute;
    width: 75%;
    left: 12.5%;
    padding: 6.16px 0 0 0;
    line-height: 1;
    height: 28px;
    display: inline-block;
    text-align: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.flatpickr-current-month span.cur-month
{
    font-family: inherit;
    font-weight: 700;
    color: inherit;
    display: inline-block;
    margin-left: .5ch;
    padding: 0
}

.flatpickr-current-month span.cur-month:hover
{
    background: rgba(0, 0, 0, .05)
}

.flatpickr-current-month .numInputWrapper
{
    width: 6ch;
    display: inline-block
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after
{
    border-bottom-color: rgba(0, 0, 0, .9)
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after
{
    border-top-color: rgba(0, 0, 0, .9)
}

.flatpickr-current-month input.cur-year
{
    background: 0 0;
    box-sizing: border-box;
    color: inherit;
    cursor: text;
    padding: 0 0 0 .5ch;
    margin: 0;
    display: inline-block;
    font-size: inherit;
    font-family: inherit;
    font-weight: 300;
    line-height: inherit;
    height: auto;
    border: 0;
    border-radius: 0;
    vertical-align: initial;
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield
}

.flatpickr-current-month input.cur-year:focus
{
    outline: 0
}

.flatpickr-current-month input.cur-year[disabled], .flatpickr-current-month input.cur-year[disabled]:hover
{
    font-size: 100%;
    color: rgba(0, 0, 0, .5);
    background: 0 0;
    pointer-events: none
}

.flatpickr-current-month .flatpickr-monthDropdown-months
{
    appearance: menulist;
    background: 0 0;
    border: none;
    border-radius: 0;
    box-sizing: border-box;
    color: inherit;
    cursor: pointer;
    font-size: inherit;
    font-family: inherit;
    font-weight: 300;
    height: 22px;
    line-height: inherit;
    margin: -1px 0 0 0;
    outline: 0;
    padding: 0 0 0 .5ch;
    position: relative;
    vertical-align: initial;
    -webkit-box-sizing: border-box;
    -webkit-appearance: menulist;
    -moz-appearance: menulist;
    width: auto
}

.flatpickr-current-month .flatpickr-monthDropdown-months:active, .flatpickr-current-month .flatpickr-monthDropdown-months:focus
{
    outline: 0
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover
{
    background: rgba(0, 0, 0, .05)
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month
{
    background-color: transparent;
    outline: 0;
    padding: 0
}

.flatpickr-weekdays
{
    background: 0 0;
    text-align: center;
    overflow: hidden;
    width: 100%;
    display: flex;
    align-items: center;
    height: 28px
}

.flatpickr-weekdays .flatpickr-weekdaycontainer
{
    display: flex;
    flex: 1
}

span.flatpickr-weekday
{
    cursor: default;
    font-size: 90%;
    background: 0 0;
    color: rgba(0, 0, 0, .54);
    line-height: 1;
    margin: 0;
    text-align: center;
    display: block;
    flex: 1;
    font-weight: bolder
}

.dayContainer, .flatpickr-weeks
{
    padding: 1px 0 0 0
}

.flatpickr-days
{
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    width: 307.875px
}

.flatpickr-days:focus
{
    outline: 0
}

.dayContainer
{
    padding: 0;
    outline: 0;
    text-align: left;
    width: 307.875px;
    min-width: 307.875px;
    max-width: 307.875px;
    box-sizing: border-box;
    display: inline-block;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: space-around;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1
}

.dayContainer + .dayContainer
{
    box-shadow: -1px 0 0 #e6e6e6
}

.flatpickr-day
{
    background: 0 0;
    border: 1px solid transparent;
    border-radius: 150px;
    box-sizing: border-box;
    color: #393939;
    cursor: pointer;
    font-weight: 400;
    width: 14.2857143%;
    flex-basis: 14.2857143%;
    max-width: 39px;
    height: 39px;
    line-height: 39px;
    margin: 0;
    display: inline-block;
    position: relative;
    justify-content: center;
    text-align: center
}

.flatpickr-day.inRange, .flatpickr-day.nextMonthDay.inRange, .flatpickr-day.nextMonthDay.today.inRange, .flatpickr-day.nextMonthDay:focus, .flatpickr-day.nextMonthDay:hover, .flatpickr-day.prevMonthDay.inRange, .flatpickr-day.prevMonthDay.today.inRange, .flatpickr-day.prevMonthDay:focus, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.today.inRange, .flatpickr-day:focus, .flatpickr-day:hover
{
    cursor: pointer;
    outline: 0;
    background: #e6e6e6;
    border-color: #e6e6e6
}

.flatpickr-day.today
{
    border-color: #959ea9
}

.flatpickr-day.today:focus, .flatpickr-day.today:hover
{
    border-color: #959ea9;
    background: #959ea9;
    color: #fff
}

.flatpickr-day.endRange, .flatpickr-day.endRange.inRange, .flatpickr-day.endRange.nextMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.endRange:focus, .flatpickr-day.endRange:hover, .flatpickr-day.selected, .flatpickr-day.selected.inRange, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.selected:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange, .flatpickr-day.startRange.inRange, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.startRange:focus, .flatpickr-day.startRange:hover
{
    background: #569ff7;
    box-shadow: none;
    color: #fff;
    border-color: #569ff7
}

.flatpickr-day.endRange.startRange, .flatpickr-day.selected.startRange, .flatpickr-day.startRange.startRange
{
    border-radius: 50px 0 0 50px
}

.flatpickr-day.endRange.endRange, .flatpickr-day.selected.endRange, .flatpickr-day.startRange.endRange
{
    border-radius: 0 50px 50px 0
}

.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1))
{
    box-shadow: -10px 0 0 #569ff7
}

.flatpickr-day.endRange.startRange.endRange, .flatpickr-day.selected.startRange.endRange, .flatpickr-day.startRange.startRange.endRange
{
    border-radius: 50px
}

.flatpickr-day.inRange
{
    border-radius: 0;
    box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6
}

.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover, .flatpickr-day.nextMonthDay, .flatpickr-day.notAllowed, .flatpickr-day.notAllowed.nextMonthDay, .flatpickr-day.notAllowed.prevMonthDay, .flatpickr-day.prevMonthDay
{
    color: rgba(57, 57, 57, .3);
    background: 0 0;
    border-color: transparent;
    cursor: default
}

.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover
{
    cursor: not-allowed;
    color: rgba(57, 57, 57, .1)
}

.flatpickr-day.week.selected
{
    border-radius: 0;
    box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7
}

.flatpickr-day.hidden
{
    visibility: hidden
}

.rangeMode .flatpickr-day
{
    margin-top: 1px
}

.flatpickr-weekwrapper
{
    float: left
}

.flatpickr-weekwrapper .flatpickr-weeks
{
    padding: 0 12px;
    box-shadow: 1px 0 0 #e6e6e6
}

.flatpickr-weekwrapper .flatpickr-weekday
{
    float: none;
    width: 100%;
    line-height: 28px
}

.flatpickr-weekwrapper span.flatpickr-day, .flatpickr-weekwrapper span.flatpickr-day:hover
{
    display: block;
    width: 100%;
    max-width: none;
    color: rgba(57, 57, 57, .3);
    background: 0 0;
    cursor: default;
    border: none
}

.flatpickr-innerContainer
{
    display: block;
    display: flex;
    box-sizing: border-box;
    overflow: hidden
}

.flatpickr-rContainer
{
    display: inline-block;
    padding: 0;
    box-sizing: border-box
}

.flatpickr-time
{
    text-align: center;
    outline: 0;
    display: block;
    height: 0;
    line-height: 40px;
    max-height: 40px;
    box-sizing: border-box;
    overflow: hidden;
    display: flex
}

.flatpickr-time:after
{
    content: "";
    display: table;
    clear: both
}

.flatpickr-time .numInputWrapper
{
    flex: 1;
    width: 40%;
    height: 40px;
    float: left
}

.flatpickr-time .numInputWrapper span.arrowUp:after
{
    border-bottom-color: #393939
}

.flatpickr-time .numInputWrapper span.arrowDown:after
{
    border-top-color: #393939
}

.flatpickr-time.hasSeconds .numInputWrapper
{
    width: 26%
}

.flatpickr-time.time24hr .numInputWrapper
{
    width: 49%
}

.flatpickr-time input
{
    background: 0 0;
    box-shadow: none;
    border: 0;
    border-radius: 0;
    text-align: center;
    margin: 0;
    padding: 0;
    height: inherit;
    line-height: inherit;
    color: #393939;
    font-size: 14px;
    position: relative;
    box-sizing: border-box;
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield
}

.flatpickr-time input.flatpickr-hour
{
    font-weight: 700
}

.flatpickr-time input.flatpickr-minute, .flatpickr-time input.flatpickr-second
{
    font-weight: 400
}

.flatpickr-time input:focus
{
    outline: 0;
    border: 0
}

.flatpickr-time .flatpickr-am-pm, .flatpickr-time .flatpickr-time-separator
{
    height: inherit;
    float: left;
    line-height: inherit;
    color: #393939;
    font-weight: 700;
    width: 2%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    align-self: center
}

.flatpickr-time .flatpickr-am-pm
{
    outline: 0;
    width: 18%;
    cursor: pointer;
    text-align: center;
    font-weight: 400
}

.flatpickr-time .flatpickr-am-pm:focus, .flatpickr-time .flatpickr-am-pm:hover, .flatpickr-time input:focus, .flatpickr-time input:hover
{
    background: #eee
}

.flatpickr-input[readonly]
{
    cursor: pointer
}

@-webkit-keyframes fpFadeInDown
{
    from
    {
        opacity: 0;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }
    to
    {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes fpFadeInDown
{
    from
    {
        opacity: 0;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }
    to
    {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

.menu
{
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 1000
}

.menu__door
{
    display: flex;
    align-items: center;
    position: relative;
    font-family: Rubik, sans-serif;
    font-weight: 700;
    color: #1b3655;
    text-decoration: none;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transform-origin: 0 0 0;
    transform-origin: 0 0 0;
    float: left;
    z-index: 1
}

.menu__door:hover
{
    color: #307cff
}

@media (min-width: 1280px)
{
    .menu__door
    {
        height: 56px;
        margin-bottom: -32px;
        font-size: 20px;
        line-height: 24px
    }
}

@media (min-width: 664px) and (max-width: 1279px)
{
    .menu__door
    {
        height: 45px;
        margin-bottom: -29px;
        font-size: 16px;
        line-height: 19px
    }
}

@media (max-width: 663px)
{
    .menu__door
    {
        height: 32px;
        font-size: 12px;
        line-height: 14px
    }
}

.menu__close
{
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    right: 0;
    width: 46px;
    height: 46px;
    z-index: 1000
}

.menu__close svg
{
    display: block;
    fill: #000;
    opacity: .3
}

@media (min-width: 664px)
{
    .menu__close svg
    {
        width: 28px;
        height: 28px
    }
}

@media (max-width: 663px)
{
    .menu__close svg
    {
        width: 15px;
        height: 15px
    }
}

.menu__content
{
    background: #ff4067;
    z-index: 0
}

@media (min-width: 664px)
{
    .menu__content
    {
        position: absolute;
        bottom: 0;
        left: -333px;
        width: 333px;
        padding: 40px 0 37px 0;
        border-radius: 6px;
        border-bottom-left-radius: 0;
        opacity: 0;
        transition: left .4s ease, opacity .4s ease
    }
}

@media (max-width: 663px)
{
    .menu__content
    {
        display: none;
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        overflow: auto
    }
}

@media (max-width: 663px)
{
    .menu__body
    {
        display: table;
        width: 100%;
        height: 100%
    }
}

@media (max-width: 663px)
{
    .menu__inner
    {
        display: table-cell;
        vertical-align: middle;
        padding: 40px 0
    }
}

.menu__list
{
    max-width: 195px;
    margin: 0 auto;
    font-family: Rubik, sans-serif;
    font-size: 19px;
    line-height: 22px;
    font-weight: 500;
    color: #fff;
    text-align: center
}

.menu__list a
{
    text-decoration: none;
    color: inherit
}

.menu__item
{
    position: relative
}

.menu__item:not(:last-child)
{
    margin-bottom: 22px
}

.menu__item:not(:last-child):after
{
    content: '';
    position: absolute;
    bottom: -11px;
    left: 50%;
    width: 3px;
    height: 3px;
    margin-left: -1.5px;
    background: #fff;
    border-radius: 100%
}

@media (min-width: 768px)
{
    .menu.-open .menu__content
    {
        opacity: 1;
        left: 0
    }
}

@media (max-width: 767px)
{
    .menu.-open .menu__content
    {
        display: block
    }
}

.subscription
{
    position: fixed;
    right: 0;
    z-index: 1000
}

@media (min-width: 1280px)
{
    .subscription
    {
        bottom: 24px;
        width: 56px
    }
}

@media (min-width: 664px) and (max-width: 1279px)
{
    .subscription
    {
        bottom: 16px;
        width: 45px
    }
}

@media (max-width: 663px)
{
    .subscription
    {
        bottom: 32px;
        width: 32px
    }
}

.subscription-social
{
    margin-top: 20px
}

.subscription-social__item
{
    display: block;
    color: #1b3655
}

.subscription-social__item:hover
{
    color: #307cff
}

.subscription-social__item:not(:last-child)
{
    margin-bottom: 14px
}

.subscription-social svg
{
    display: block;
    width: 20px;
    height: 20px;
    fill: currentcolor;
    margin: 0 auto
}

.subscription-form
{
    position: relative;
    font-family: Rubik, sans-serif;
    font-size: 14px;
    line-height: 20px;
    text-align: center
}

.subscription-form__door
{
    display: flex;
    align-items: center;
    position: relative;
    font-family: Rubik, sans-serif;
    font-weight: 700;
    color: #1b3655;
    text-decoration: none;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transform-origin: 0 0 0;
    transform-origin: 0 0 0;
    float: left;
    z-index: 1
}

.subscription-form__door:hover
{
    color: #307cff
}

@media (min-width: 1280px)
{
    .subscription-form__door
    {
        height: 56px;
        margin-bottom: -56px;
        font-size: 20px;
        line-height: 24px
    }
}

@media (min-width: 664px) and (max-width: 1279px)
{
    .subscription-form__door
    {
        height: 45px;
        margin-bottom: -45px;
        font-size: 16px;
        line-height: 19px
    }
}

@media (max-width: 663px)
{
    .subscription-form__door
    {
        height: 32px;
        margin-bottom: -32px;
        font-size: 12px;
        line-height: 14px
    }
}

.subscription-form__close
{
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    right: 0;
    width: 46px;
    height: 46px;
    z-index: 1
}

.subscription-form__close svg
{
    display: block;
    fill: #000;
    opacity: .3
}

@media (min-width: 664px)
{
    .subscription-form__close svg
    {
        width: 28px;
        height: 28px
    }
}

@media (max-width: 663px)
{
    .subscription-form__close svg
    {
        width: 15px;
        height: 15px
    }
}

@media (max-width: 663px)
{
    .subscription-form__body
    {
        display: table;
        width: 100%;
        height: 100%
    }
}

@media (max-width: 663px)
{
    .subscription-form__inner
    {
        display: table-cell;
        vertical-align: middle;
        padding: 40px 32px
    }

    .subscription-form__inner form
    {
        width: 256px;
        margin: 0 auto
    }
}

.subscription-form__content
{
    background: #6dea9c;
    z-index: 0
}

@media (min-width: 664px)
{
    .subscription-form__content
    {
        position: absolute;
        bottom: -27px;
        right: -376px;
        width: 376px;
        padding: 46px 80px 44px 40px;
        border-radius: 6px;
        opacity: 0;
        transition: right .4s ease, opacity .4s ease
    }
}

@media (max-width: 663px)
{
    .subscription-form__content
    {
        display: none;
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        overflow: auto
    }
}

.subscription-form__content p:not(:last-child)
{
    margin-bottom: 16px
}

.subscription-form__content .button
{
    margin-top: 24px
}

.subscription-form__field
{
    position: relative
}

.subscription-form__field input
{
    width: 100%;
    font-size: 17px;
    font-family: Rubik, sans-serif;
    line-height: normal;
    height: 48px;
    padding: 0 11px;
    color: #1b3655;
    outline: 0;
    border: 1px solid rgba(27, 54, 85, .3);
    background: 0 0;
    border-radius: 41px
}

.subscription-form__field input::-webkit-input-placeholder
{
    color: #54b486
}

.subscription-form__field input:-moz-placeholder
{
    color: #54b486
}

.subscription-form__field input::-moz-placeholder
{
    color: #54b486
}

.subscription-form__field input:-ms-input-placeholder
{
    color: #54b486
}

.subscription-form__field input:focus::-webkit-input-placeholder
{
    color: transparent
}

.subscription-form__field input:focus:-moz-placeholder
{
    color: transparent
}

.subscription-form__field input:focus::-moz-placeholder
{
    color: transparent
}

.subscription-form__field input:focus:-ms-input-placeholder
{
    color: transparent
}

.subscription-form__field input.error
{
    color: #c80022;
    border-color: #c80022
}

.subscription-form__field label.error
{
    position: absolute;
    bottom: -21px;
    left: 0;
    font-family: Rubik, sans-serif;
    font-size: 12px;
    line-height: 20px;
    color: #c80022
}

.subscription-form__success
{
    position: absolute;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #6dea9c
}

@media (min-width: 664px)
{
    .subscription-form__success
    {
        left: 33px;
        right: 71px
    }
}

@media (max-width: 663px)
{
    .subscription-form__success
    {
        left: 32px;
        right: 32px
    }
}

.subscription-form__success h3
{
    font-family: Rubik, sans-serif;
    font-size: 24px;
    line-height: 28px;
    font-weight: 700;
    margin-bottom: 11px
}

@media (min-width: 768px)
{
    .subscription.-open .subscription-form__content
    {
        opacity: 1;
        right: 0
    }
}

@media (max-width: 767px)
{
    .subscription.-open .subscription-form__content
    {
        display: block
    }
}

.button
{
    display: inline-block;
    font-family: Rubik, sans-serif;
    text-align: center;
    text-decoration: none;
    font-weight: 500;
    border-radius: 18px;
    background: 0 0;
    border: 0 none;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    outline: 0;
    cursor: pointer
}

.button__icon
{
    position: relative;
    padding-right: 21px
}

.button__icon svg
{
    display: block;
    width: 14px;
    height: 14px;
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -7px;
    fill: currentcolor
}

.button.-block
{
    width: 100%
}

.button.-size-l
{
    font-size: 20px;
    line-height: 46px;
    height: 48px;
    padding: 0 20px;
    border-radius: 32px
}

.button.-size-m
{
    font-size: 13px;
    line-height: 33px;
    height: 35px;
    padding: 0 19px
}

.button.-size-s
{
    font-size: 14px;
    line-height: 29px;
    height: 30px;
    padding: 0 14px
}

.button.-white
{
    color: #1b3655;
    background: #fff
}

.button.-white:hover
{
    color: #307cff
}

.button.-blue
{
    color: #fff;
    background: #307cff
}

.button.-blue:hover
{
    background: #246deb
}

.button.-dark
{
    color: #fff;
    background: #1a1f30
}

.button.-dark:hover
{
    background: #0e1017
}

.button.-dark2
{
    color: #fff;
    background: #374351
}

.button.-dark2:hover
{
    background: #1d2631
}

.button.-dark3
{
    color: #fff;
    background: #1b3655
}

.button.-dark3:hover
{
    background: #102238
}

.button.-loader
{
    position: relative
}

.button.-loader .button__icon
{
    visibility: hidden
}

.button.-loader .spinner
{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin-top: -.5rem
}

.button.-disabled, .button:disabled
{
    color: rgba(255, 255, 255, .3);
    cursor: default
}

.tags
{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -8px
}

.tags.-dark .tags__item
{
    color: #fff;
    background: #1a1f30
}

.tags.-white .tags__item
{
    color: #1b3655;
    background: #fff
}

.tags__item
{
    display: inline-block;
    font-family: Rubik, sans-serif;
    font-size: 10px;
    line-height: 20px;
    height: 20px;
    padding: 0 10px;
    margin: 0 8px 8px 0;
    border-radius: 12px
}

.news
{
    color: inherit
}

.news:hover .news__title
{
    color: #307cff
}

.news__title
{
    display: block;
    font-family: Rubik, sans-serif;
    line-height: 20px;
    font-weight: 700;
    color: #1a1f30;
    margin-bottom: 7px
}

@media (min-width: 1280px)
{
    .news__title
    {
        font-size: 17px
    }
}

@media (max-width: 1279px)
{
    .news__title
    {
        font-size: 15px
    }
}

.news__date
{
    display: block;
    font-family: Rubik, sans-serif;
    font-size: 11px;
    line-height: 13px;
    color: rgba(27, 54, 84, .3);
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-top: 3px;
    margin-bottom: 9px
}

.news__text
{
    display: block
}

.news .tags
{
    margin-top: 5px
}

.news-list:not(:first-child)
{
    padding-top: 11px;
    border-top: 1px solid rgba(27, 54, 85, .2)
}

@media (min-width: 1280px)
{
    .news-list:not(:first-child)
    {
        margin-top: 46px
    }
}

@media (max-width: 1279px)
{
    .news-list:not(:first-child)
    {
        margin-top: 30px
    }
}

.news-list__title
{
    font-family: Rubik, sans-serif;
    font-size: 10px;
    line-height: 12px;
    color: #788695;
    margin-bottom: 26px
}

@media (min-width: 1280px)
{
    .news-list__content
    {
        margin-left: -10px;
        margin-right: -10px
    }
}

@media (min-width: 664px) and (max-width: 1279px)
{
    .news-list__content
    {
        margin-left: -8px;
        margin-right: -8px
    }
}

@media (min-width: 664px)
{
    .news-list__content
    {
        display: flex;
        justify-content: center
    }
}

@media (min-width: 1280px)
{
    .news-list__col
    {
        min-width: 297px;
        width: 297px;
        padding: 0 10px
    }
}

@media (min-width: 664px) and (max-width: 1279px)
{
    .news-list__col
    {
        width: 232px;
        min-width: 232px;
        padding: 0 8px
    }
}

.news-list .news:not(:last-child)
{
    padding-bottom: 14px;
    margin-bottom: 32px;
    border-bottom: 1px solid rgba(27, 54, 85, .2)
}

.events
{
    margin-top: -10px
}

@media (min-width: 1280px)
{
    .events
    {
        min-height: calc(100vh - 112px)
    }
}

@media (min-width: 664px)
{
    .events
    {
        display: flex;
        align-items: flex-start;
        margin-right: -10px
    }
}

@media (min-width: 664px) and (max-width: 1279px)
{
    .events
    {
        min-height: calc(100vh - 89px)
    }
}

@media (max-width: 663px)
{
    .events
    {
        max-width: 297px;
        margin-left: auto;
        margin-right: auto;
        min-height: calc(100vh - 64px)
    }
}

.events__col
{
    width: 297px
}

.events-block
{
    display: block;
    padding-top: 10px;
    padding-bottom: 10px;
    text-decoration: none;
    color: currentcolor
}

@media (min-width: 664px)
{
    .events-block
    {
        padding-left: 10px;
        padding-right: 10px
    }
}

.events-block__body
{
    display: block;
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    transition: height .3s ease;
    cursor: pointer
}

.events-block__body.-not-animate
{
    transition: none
}

.events-block__body.-size-l
{
    height: 520px
}

.events-block__body.-size-l .events-block__content
{
    text-align: center
}

.events-block__body.-size-l .events-block__title
{
    font-size: 24px;
    line-height: 28px;
    margin: 0 auto
}

.events-block__body.-size-l .events-block__address
{
    display: inline-block
}

.events-block__body.-size-l .tags
{
    left: 30px;
    right: 30px;
    justify-content: center
}

.events-block__body.-size-m
{
    height: 360px
}

.events-block__body.-size-s
{
    height: 200px
}

.events-block__body .tags
{
    position: absolute;
    top: 12px;
    left: 12px;
    right: 12px
}

.events-block__content
{
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 14px 12px 23px 12px;
    z-index: 1
}

.events-block__title
{
    display: block;
    width: 210px;
    font-family: Rubik, sans-serif;
    font-size: 20px;
    line-height: 24px;
    font-weight: 700;
    color: #fff
}

.events-block__address
{
    display: none;
    position: relative;
    font-size: 12px;
    line-height: 15px;
    color: #fff;
    padding-left: 20px;
    margin-top: 9px
}

.events-block__address svg
{
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 17px;
    height: 17px;
    margin-top: -10px;
    fill: currentcolor
}

.events-block__date
{
    display: block;
    font-family: Rubik, sans-serif;
    font-size: 11px;
    line-height: 13px;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    padding-bottom: 9px
}

.events-block__date span
{
    display: inline-block;
    opacity: .5;
    margin-left: 5px
}

.events-block__description
{
    height: 0;
    color: #fff;
    overflow: hidden;
    transition: height .3s ease
}

.events-block__button
{
    padding-top: 14px
}

.events-block__text
{
    padding-top: 16px
}

.events-block__slider-door
{
    display: block;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 133px;
    padding-top: 14px;
    margin: 0 -12px
}

.events-block__slider-door img
{
    display: block;
    max-width: 100%;
    max-height: 100%
}

.events-block__slider-door svg
{
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    fill: #fff;
    margin-top: -4px;
    margin-left: -12px
}

.events-block__popup-door
{
    display: block;
    padding: 11px 0 4px 0
}

.events-block__popup-door svg
{
    display: block;
    width: 17px;
    height: 9px;
    fill: #fff;
    margin: 0 auto
}

.events-block__img
{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 6px;
    z-index: 0
}

.events-block__img:after
{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(26, 31, 48, .8) 100%)
}

.events-block__img img
{
    display: block;
    width: 100%;
    height: 520px;
    border-radius: 6px;
    transition: all .3s linear
}

.events-block__more
{
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 38px;
    height: 38px;
    color: #fff;
    z-index: 10
}

.events-block__more:hover:before
{
    width: 26px;
    height: 26px;
    margin: -13px 0 0 -13px
}

.events-block__more:hover svg
{
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.events-block__more:before
{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: #ff4067;
    border-radius: 100%;
    transition: all .3s linear;
    z-index: 0
}

.events-block__more span
{
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 38px;
    height: 38px;
    z-index: 1
}

.events-block__more svg
{
    display: block;
    width: 16px;
    height: 16px;
    fill: currentcolor;
    transition: -webkit-transform .3s linear;
    transition: transform .3s linear;
    transition: transform .3s linear, -webkit-transform .3s linear
}

.events-block__more .icon-minus
{
    display: none
}

.events-block.-open
{
    color: #fff
}

.events-block.-open .events-block__content
{
    text-align: left !important;
    padding-bottom: 14px
}

.events-block.-open .events-block__title
{
    font-size: 22px;
    line-height: 26px;
    margin: 0 !important
}

.events-block.-open .events-block__address
{
    display: none
}

.events-block.-open .events-block__date
{
    position: static
}

.events-block.-open .events-block__date span
{
    opacity: .5
}

.events-block.-open .events-block__img
{
    opacity: 1
}

.events-block.-open .events-block__img:after
{
    background: #1a1f30;
    opacity: .6
}

.events-block.-open .events-block__img img
{
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -o-filter: blur(5px);
    -ms-filter: blur(5px);
    filter: blur(5px)
}

.events-block.-open .events-block__more svg
{
    fill: currentcolor;
    opacity: 1
}

.events-block.-open .events-block__more .icon-plus
{
    display: none
}

.events-block.-open .events-block__more .icon-minus
{
    display: block
}

.events-block.-open .tags
{
    display: none
}

.events-block.-outside .events-block__body
{
    height: 120px;
    background: #fff;
    border-radius: 6px;
    color: #1b3655
}

.events-block.-outside .events-block__content
{
    padding: 14px 10px 7px 10px
}

.events-block.-outside .events-block__date
{
    position: absolute;
    bottom: 90px;
    left: 10px;
    color: currentcolor
}

.events-block.-outside .events-block__title
{
    font-size: 16px;
    line-height: 19px;
    color: currentcolor
}

.events-block .icon-blank
{
    position: absolute;
    bottom: 11px;
    right: 11px;
    width: 20px;
    height: 20px;
    fill: currentcolor;
    opacity: .5
}

.anons
{
    margin-top: 20px
}

.anons__title
{
    font-family: Rubik, sans-serif;
    font-size: 10px;
    line-height: 12px;
    color: #788695;
    margin-bottom: 14px
}

.anons__title:not(:first-child)
{
    margin-top: 17px
}

.anons .events-block
{
    padding: 0;
    width: auto;
    background: #fff;
    border-radius: 6px
}

.anons .events-block.-link
{
    background: #6dea9c
}

.anons .events-block:not(:last-child)
{
    margin-bottom: 8px
}

.anons .events-block__body
{
    height: 120px
}

.anons .events-block__content
{
    padding: 14px 10px 7px 10px
}

.anons .events-block__title
{
    font-size: 16px;
    line-height: 19px;
    color: currentcolor
}

.anons .events-block__date
{
    position: absolute;
    bottom: 90px;
    left: 10px;
    color: currentcolor
}

.anons .events-block__date span
{
    color: currentcolor;
    opacity: .29
}

.anons .events-block__img
{
    opacity: 0;
    transition: opacity .3s ease
}

.anons .events-block__more svg
{
    fill: #000;
    opacity: .5
}

.partners
{
    max-width: 277px;
    margin: 40px auto 0 auto
}

.partners__title
{
    font-family: Rubik, sans-serif;
    font-size: 10px;
    line-height: 12px;
    color: #788695;
    margin-bottom: 24px;
    text-align: center
}

.partners__title:not(:first-child)
{
    margin-top: 40px
}

.partners__title.-margin-bottom-small
{
    margin-bottom: 18px
}

.partners__content
{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap
}

.partners__content img
{
    display: block;
    margin: 0 auto
}

.partners__item
{
    width: 50%
}

.partners__item:not(:last-child)
{
    margin-bottom: 20px
}

.share
{
    position: relative;
    z-index: 10
}

.share.-open .share__door
{
    color: #fff792
}

.share.-open .share__content
{
    display: block
}

.share__door
{
    display: inline-block;
    position: relative;
    font-family: Rubik, sans-serif;
    font-size: 12px;
    line-height: 14px;
    padding-left: 26px;
    color: #1a1f30;
    z-index: 1
}

.share__door:hover
{
    color: #307cff
}

.share__door svg
{
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -10px;
    width: 17px;
    height: 20px;
    fill: currentcolor
}

.share__close
{
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    right: 0;
    width: 37px;
    height: 37px
}

.share__close svg
{
    display: block;
    width: 16px;
    height: 16px;
    fill: #fff
}

.share__content
{
    display: none;
    position: absolute;
    top: -8px;
    left: -11px;
    width: 335px;
    padding: 40px 10px 18px 10px;
    background: #ff4067;
    border-radius: 6px
}

@media (max-width: 663px)
{
    .share__content
    {
        width: 276px
    }
}

.share__date
{
    font-family: Rubik, sans-serif;
    font-size: 11px;
    line-height: 13px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: #fff;
    margin-bottom: 8px
}

.share__date span
{
    display: inline-block;
    opacity: .3
}

.share__title
{
    font-family: Rubik, sans-serif;
    font-size: 16px;
    line-height: 19px;
    color: #fff;
    font-weight: 700
}

.share-social
{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 16px
}

.share-social__item:not(:last-child)
{
    margin-right: 16px
}

.share-social__item.-title
{
    font-family: Rubik, sans-serif;
    font-size: 10px;
    line-height: 12px;
    width: 100%;
    color: #fff;
    margin-bottom: 6px
}

@media (min-width: 1280px)
{
    .share-social__item.-title
    {
        display: none
    }
}

.share-social__item:hover svg
{
    fill: #fff792
}

.share-social svg
{
    display: block;
    fill: #fff
}

@media (min-width: 1280px)
{
    .share-social svg
    {
        width: 24px;
        height: 24px
    }
}

@media (max-width: 1279px)
{
    .share-social svg
    {
        width: 28px;
        height: 28px
    }
}

.photo-carousel
{
    position: relative;
    width: 100%;
    overflow: hidden
}

.photo-carousel__slider
{
    display: flex;
    align-items: center;
    background: rgba(27, 54, 85, .9)
}

.photo-carousel__item
{
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 100%;
    overflow: hidden
}

.photo-carousel__item img
{
    display: block;
    width: auto !important;
    margin: 0 auto;
    max-width: 100%
}

.photo-carousel__item img.-vertical
{
    max-width: inherit;
    max-height: 100%
}

.photo-carousel__popup-door
{
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 100;
    -webkit-transform: translate3d(0, 0, 0)
}

@media (min-width: 664px)
{
    .photo-carousel__popup-door
    {
        width: 48px;
        height: 48px
    }
}

@media (max-width: 663px)
{
    .photo-carousel__popup-door
    {
        width: 40px;
        height: 40px
    }
}

.photo-carousel__popup-door svg
{
    display: block;
    fill: #fff
}

@media (min-width: 664px)
{
    .photo-carousel__popup-door svg
    {
        width: 24px;
        height: 24px
    }
}

@media (max-width: 663px)
{
    .photo-carousel__popup-door svg
    {
        width: 20px;
        height: 20px
    }
}

.photo-carousel .owl-stage-outer
{
    z-index: 0
}

.photo-carousel .owl-nav
{
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 30px;
    z-index: 100;
    -webkit-transform: translate3d(0, -50%, 0)
}

.photo-carousel .owl-nav .owl-next, .photo-carousel .owl-nav .owl-prev
{
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    outline: 0;
    width: 30px;
    height: 100%;
    z-index: 10
}

.photo-carousel .owl-nav .owl-next span, .photo-carousel .owl-nav .owl-prev span
{
    display: block;
    width: 15px;
    height: 29px;
    font-size: 0 !important;
    line-height: 0 !important;
    background: url(../images/arrow.svg) no-repeat 0 0;
    background-size: cover
}

.photo-carousel .owl-nav .owl-prev
{
    left: 5px
}

.photo-carousel .owl-nav .owl-prev span
{
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1)
}

.photo-carousel .owl-nav .owl-next
{
    right: 5px
}

.photo-carousel .owl-dots
{
    position: absolute;
    top: 25px;
    left: 0;
    right: 0;
    font-size: 0;
    line-height: 0;
    text-align: center
}

.photo-carousel .owl-dots .owl-dot
{
    display: inline-block;
    vertical-align: middle;
    width: 3px;
    height: 3px;
    background: #fff;
    margin: 0 12px;
    border-radius: 100%;
    outline: 0
}

.photo-carousel .owl-dots .owl-dot.active
{
    width: 10px;
    height: 10px
}

.photo-carousel.-full-screen
{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.photo-carousel.-full-screen .photo-carousel__item
{
    height: 100vh
}

@media (max-width: 663px)
{
    .photo-carousel.-full-screen .photo-carousel__item img
    {
        max-height: inherit !important;
        max-width: 100% !important
    }
}

.photo-carousel.-full-screen .owl-nav
{
    height: 50%
}

.photo-carousel.-full-screen .owl-nav .owl-next, .photo-carousel.-full-screen .owl-nav .owl-prev
{
    width: 15%
}

.photo-carousel.-full-screen .owl-nav .owl-prev
{
    justify-content: flex-start
}

.photo-carousel.-full-screen .owl-nav .owl-prev span
{
    margin-left: 10px
}

.photo-carousel.-full-screen .owl-nav .owl-next
{
    justify-content: flex-end
}

.photo-carousel.-full-screen .owl-nav .owl-next span
{
    margin-right: 10px
}

@media (max-width: 1279px)
{
    .text-content
    {
        position: relative
    }
}

.text-content__date
{
    font-family: Rubik, sans-serif;
    font-size: 11px;
    line-height: 13px;
    text-transform: uppercase;
    letter-spacing: 1.2px
}

.text-content__date span
{
    display: inline-block;
    opacity: .3
}

.text-content__info
{
    display: flex;
    align-items: center;
    margin-top: 14px
}

.text-content__info .tags
{
    margin-left: 25px
}

@media (min-width: 664px)
{
    .text-content__activity
    {
        display: flex;
        align-items: center;
        margin-top: 22px
    }
}

@media (min-width: 664px)
{
    .text-content__activity .share
    {
        margin-top: 0 !important
    }
}

.text-content__activity .subscribe-calendar
{
    display: inline-block
}

@media (max-width: 663px)
{
    .text-content__activity .subscribe-calendar
    {
        margin-top: 22px
    }
}

@media (min-width: 664px)
{
    .text-content__activity .subscribe-calendar
    {
        margin-left: 34px
    }
}

.text-content__activity .subscribe-calendar__door
{
    font-size: 12px;
    line-height: 14px;
    font-weight: 400;
    color: #1a1f30;
    height: auto;
    background: 0 0
}

.text-content__activity .subscribe-calendar__door svg
{
    fill: currentcolor;
    margin-top: 0
}

.text-content__activity .subscribe-calendar__dropdown
{
    top: 10px;
    padding-top: 14px;
    white-space: nowrap
}

.text-content__tools
{
    display: flex;
    align-items: center
}

@media (min-width: 1280px)
{
    .text-content__tools
    {
        padding-top: 48px
    }
}

@media (max-width: 1279px)
{
    .text-content__tools
    {
        padding-top: 10px
    }
}

.text-content__tools .button
{
    margin-right: 17px
}

@media (max-width: 1279px)
{
    .text-content__tools .text-content__date
    {
        display: none
    }
}

.text-content__map
{
    position: relative
}

@media (min-width: 1280px)
{
    .text-content__map
    {
        margin-left: -56px;
        margin-right: -56px
    }
}

@media (max-width: 1279px)
{
    .text-content__map
    {
        margin-left: -10px;
        margin-right: -10px;
        margin-top: 20px
    }
}

.text-content__map-door
{
    display: block;
    padding-right: 20px;
    font-size: 12px;
    line-height: 15px;
    color: #1a1f30;
    text-decoration: none
}

@media (min-width: 1280px)
{
    .text-content__map-door
    {
        position: absolute;
        top: 20px;
        right: 12px
    }
}

@media (max-width: 1279px)
{
    .text-content__map-door
    {
        position: relative;
        margin-left: 10px;
        margin-right: 10px;
        padding-left: 30%;
        text-align: right
    }
}

.text-content__map-door:hover
{
    color: #246deb
}

.text-content__map-door svg
{
    display: block;
    position: absolute;
    top: 50%
}

.text-content__map-door svg.icon-location
{
    right: 0;
    width: 17px;
    height: 17px;
    fill: currentcolor
}

@media (min-width: 1280px)
{
    .text-content__map-door svg.icon-location
    {
        margin-top: -10px
    }
}

@media (max-width: 1279px)
{
    .text-content__map-door svg.icon-location
    {
        top: 0;
        margin-top: -2px
    }
}

.text-content__map-door svg.icon-close
{
    display: none;
    fill: #000;
    opacity: .3
}

@media (min-width: 1280px)
{
    .text-content__map-door svg.icon-close
    {
        left: -49px;
        width: 29px;
        height: 29px;
        margin-top: -14px
    }
}

@media (max-width: 1279px)
{
    .text-content__map-door svg.icon-close
    {
        top: 0;
        left: 0;
        width: 15px;
        height: 15px
    }
}

.text-content__map-content
{
    display: none;
    position: relative
}

.text-content__map-map
{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0
}

.text-content__map-link
{
    position: absolute;
    top: 12px;
    right: 12px;
    font-family: Rubik, sans-serif;
    font-size: 13px;
    line-height: 35px;
    font-weight: 500;
    height: 35px;
    padding: 0 12px;
    background: #fff;
    border-radius: 18px;
    color: currentcolor;
    text-decoration: none
}

.text-content__map-window
{
    width: 120px;
    font-family: Rubik, sans-serif;
    font-size: 12px;
    line-height: 14px;
    font-weight: 700
}

.text-content__text
{
    margin-top: 20px
}

@media (min-width: 664px)
{
    .text-content__text
    {
        display: flex
    }
}

@media (min-width: 1280px)
{
    .text-content__text-left
    {
        width: calc(100% - 256px)
    }
}

@media (min-width: 768px) and (max-width: 1279px)
{
    .text-content__text-left
    {
        width: calc(100% - 200px)
    }
}

@media (max-width: 767px)
{
    .text-content__text-left
    {
        width: 100%
    }
}

.text-content__text-right
{
    overflow: hidden;
    word-break: normal
}

@media (min-width: 1280px)
{
    .text-content__text-right
    {
        min-width: 256px;
        width: 256px;
        padding-left: 40px;
        padding-top: 120px
    }
}

@media (min-width: 768px) and (max-width: 1279px)
{
    .text-content__text-right
    {
        min-width: 200px;
        width: 200px;
        padding-left: 16px;
        padding-top: 150px
    }
}

@media (max-width: 767px)
{
    .text-content__text-right
    {
        display: none
    }
}

@media (min-width: 1280px)
{
    .text-content__text-right blockquote:not(:last-child), .text-content__text-right cite:not(:last-child)
    {
        margin-bottom: 217px
    }
}

@media (max-width: 1279px)
{
    .text-content__text-right blockquote:not(:last-child), .text-content__text-right cite:not(:last-child)
    {
        margin-bottom: 156px
    }
}

.text-content__text-right blockquote
{
    font-family: Rubik, sans-serif;
    font-size: 16px;
    line-height: 19px
}

.text-content__text-right blockquote b, .text-content__text-right blockquote strong
{
    font-weight: 700
}

.text-content__text-right a:hover
{
    color: #246deb
}

@media (min-width: 1280px)
{
    .text-content__text p:not(:last-child)
    {
        margin-bottom: 22px
    }
}

@media (max-width: 1279px)
{
    .text-content__text p:not(:last-child)
    {
        margin-bottom: 14px
    }
}

.text-content__text ul:not(:last-child)
{
    margin-bottom: 22px
}

.text-content__text ul > li
{
    position: relative;
    padding-left: 20px
}

.text-content__text ul > li:not(:last-child)
{
    margin-bottom: 12px
}

.text-content__text ul > li:before
{
    content: '';
    position: absolute;
    top: 11px;
    left: 0;
    width: 9px;
    height: 1px;
    background: #1b3655
}

.text-content__text a:hover
{
    color: #246deb
}

@media (min-width: 1280px)
{
    .text-content__img:not(:first-child)
    {
        margin-top: 48px
    }

    .text-content__img:not(:last-child)
    {
        margin-bottom: 48px
    }
}

@media (max-width: 1279px)
{
    .text-content__img:not(:first-child)
    {
        margin-top: 14px
    }

    .text-content__img:not(:last-child)
    {
        margin-bottom: 14px
    }
}

.text-content__img img
{
    display: block;
    max-width: 100%
}

.text-content__img small
{
    display: block;
    font-family: Rubik, sans-serif;
    font-size: 12px;
    line-height: 17px;
    color: #788695;
    margin-top: 12px
}

@media (min-width: 1280px)
{
    .text-content.-map .text-content__map
    {
        padding-top: 50px
    }
}

.text-content.-map .text-content__map-door .icon-close
{
    display: block
}

.text-content.-map .text-content__map-content
{
    display: block
}

@media (max-width: 1279px)
{
    .text-content.-map .text-content__map-content
    {
        padding-top: 11px
    }
}

.text-content.-map .text-content__text
{
    display: none
}

.text-content .photo-carousel:not(:first-child)
{
    margin-top: 48px
}

.text-content .photo-carousel:not(:last-child)
{
    margin-bottom: 48px
}

.text-content .photo-carousel + small
{
    margin-top: -36px
}

@media (min-width: 1280px)
{
    .text-content .h1, .text-content h1
    {
        margin-right: 256px
    }
}

@media (min-width: 768px) and (max-width: 1279px)
{
    .text-content .h1, .text-content h1
    {
        margin-right: 216px
    }
}

@media (max-width: 1279px)
{
    .text-content .h1, .text-content h1
    {
        width: 62%
    }
}

@media (max-width: 663px)
{
    .text-content .h1, .text-content h1
    {
        font-size: 16px;
        line-height: 19px
    }
}

.text-content .share
{
    position: relative;
    margin-top: 22px
}

.text-content .share.-open .share__door
{
    color: #ff4067
}

.text-content .share.-open .share__door svg
{
    fill: #fff792
}

.text-content.-small h1
{
    margin-right: 0;
    width: 100%
}

@media (min-width: 1280px)
{
    .text-content.-small
    {
        max-width: 800px;
        margin: 0 auto !important
    }
}

.text-content.-small .text-content__text
{
    display: block
}

.popup
{
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    overflow: auto;
    z-index: 0;
    opacity: 0;
    background: rgba(48, 124, 255, .75);
    visibility: hidden
}

@media (min-width: 1280px)
{
    .popup
    {
        padding: 0 56px
    }
}

@media (min-width: 664px) and (max-width: 1279px)
{
    .popup
    {
        padding: 0 45px
    }
}

@media (max-width: 663px)
{
    .popup
    {
        padding: 0 32px
    }
}

.popup.-carousel
{
    padding: 0;
    background: 0 0;
    overflow: hidden
}

.popup.-info
{
    display: block;
    visibility: visible;
    opacity: 0;
    padding: 0;
    background: rgba(27, 54, 85, .55);
    transition: opacity .5s linear
}

.popup.-info .popup__dialog
{
    background: 0 0
}

.popup.-info .popup__body
{
    vertical-align: middle
}

@media (min-width: 1280px)
{
    .popup.-info .popup__body
    {
        padding: 20px
    }
}

.popup.-info .popup__content
{
    position: relative;
    -webkit-transform: translateY(-100vh);
    transform: translateY(-100vh);
    transition: -webkit-transform .4s ease .2s;
    transition: transform .4s ease .2s;
    transition: transform .4s ease .2s, -webkit-transform .4s ease .2s
}

.popup.-info.-open
{
    opacity: 1
}

.popup.-info.-open .popup__content
{
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.popup.-age
{
    background: rgba(27, 54, 85, .9)
}

.popup.-age .popup__content
{
    font-family: "PT Sans", sans-serif;
    padding: 25px 30px 20px 30px;
    text-align: center
}

.popup.-open
{
    visibility: visible;
    opacity: 1;
    z-index: 2000
}

.popup__close
{
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1000
}

@media (min-width: 1280px)
{
    .popup__close
    {
        width: 56px;
        height: 56px
    }
}

@media (min-width: 664px) and (max-width: 1279px)
{
    .popup__close
    {
        width: 45px;
        height: 45px
    }
}

@media (max-width: 663px)
{
    .popup__close
    {
        width: 32px;
        height: 32px
    }
}

.popup__close svg
{
    display: block;
    fill: #fff
}

@media (min-width: 664px)
{
    .popup__close svg
    {
        width: 28px;
        height: 28px
    }
}

@media (min-width: 664px) and (max-width: 1279px)
{
    .popup__close svg
    {
        width: 25px;
        height: 25px
    }
}

@media (max-width: 663px)
{
    .popup__close svg
    {
        width: 15px;
        height: 15px
    }
}

.popup__dialog
{
    display: table;
    width: 100%;
    height: 100%;
    background: #fff
}

.popup__body
{
    display: table-cell;
    vertical-align: top
}

@media (min-width: 1280px)
{
    .popup__body
    {
        padding: 32px 56px 48px 56px
    }
}

@media (max-width: 1279px)
{
    .popup__body
    {
        padding: 10px
    }
}

.popup__content
{
    position: relative;
    max-width: 376px;
    margin: 0 auto;
    padding: 50px 30px 30px 30px;
    font-family: Rubik, sans-serif;
    font-size: 14px;
    line-height: 20px;
    color: #1a1f30;
    border-radius: 6px;
    background: #fff
}

.popup__content .popup__close
{
    position: absolute;
    top: 16px;
    right: 16px;
    width: 28px;
    height: 28px
}

.popup__content .popup__close svg
{
    width: 28px;
    height: 28px;
    fill: #000;
    opacity: .3
}

.popup__text a:hover
{
    color: #246deb
}

.popup__title
{
    font-family: Rubik, sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 20px;
    margin-bottom: 14px
}

.popup__title:not(:first-child)
{
    margin-top: 26px
}

.popup__button
{
    display: flex;
    justify-content: center;
    margin-top: 17px
}

.popup__button .button
{
    width: 100px;
    margin: 0 4px
}

.popup .text-content .tags__item
{
    color: #fff;
    background: #1b3655
}

.calendar
{
    padding-bottom: 16px;
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(27, 54, 58, .2)
}

.calendar__frame
{
    width: 266px;
    min-height: 348px;
    margin: 0 auto
}

.calendar__frame > input
{
    display: none
}

.calendar__current-event
{
    position: relative;
    font-family: Rubik, sans-serif;
    font-size: 12px;
    line-height: 14px;
    color: #1b3655;
    padding: 10px 24px 10px 28px;
    background: #fff;
    border-radius: 6px
}

.calendar__current-event:before
{
    content: '';
    position: absolute;
    top: 50%;
    left: 11px;
    width: 12px;
    height: 12px;
    border-radius: 100%;
    margin-top: -6px;
    background: #6dea9c
}

.calendar .flatpickr-calendar
{
    background: 0 0;
    box-shadow: none
}

@media (min-width: 664px)
{
    .calendar .flatpickr-calendar
    {
        width: 280px;
        margin-left: -1px;
        margin-right: -2px
    }
}

@media (max-width: 663px)
{
    .calendar .flatpickr-calendar
    {
        width: 266px;
        margin-left: -5px;
        margin-right: -5px
    }
}

.calendar .flatpickr-calendar:after, .calendar .flatpickr-calendar:before
{
    display: none
}

.calendar .flatpickr-days
{
    width: 100%
}

.calendar .flatpickr-day
{
    font-family: Rubik, sans-serif;
    font-size: 18px;
    max-width: 40px;
    height: 32px;
    line-height: 32px;
    color: #000;
    border: 0 none;
    margin: 9px 0
}

.calendar .flatpickr-day:hover
{
    color: #307cff;
    background: 0 0;
    border-color: transparent
}

@media (min-width: 664px)
{
    .calendar .flatpickr-day
    {
        padding: 0 4px
    }
}

@media (max-width: 663px)
{
    .calendar .flatpickr-day
    {
        padding: 0 3px
    }
}

.calendar .flatpickr-day.period:hover
{
    color: #fff;
}

.calendar .flatpickr-day.period i
{
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.calendar .flatpickr-day.period > span
{
    position: relative;
    display: block;
    height: 32px;
    border-radius: 20px;
    z-index: 1
}

@media (min-width: 664px)
{
    .calendar .flatpickr-day.period > span
    {
        margin: 0 -4px
    }
}

@media (max-width: 663px)
{
    .calendar .flatpickr-day.period > span
    {
        margin: 0 -3px
    }
}

.calendar .flatpickr-day.period.today
{
    color: #fff;
    background: 0 0;
    border-color: transparent
}

.calendar .flatpickr-day.period.today > span
{
    background-color: #1b3655
}

.calendar .flatpickr-day.period.selected, .calendar .flatpickr-day.period.selected:focus, .calendar .flatpickr-day.period.selected:hover
{
    background: 0 0;
    border-color: transparent
}

.calendar .flatpickr-day.period.selected:focus > span, .calendar .flatpickr-day.period.selected:hover > span, .calendar .flatpickr-day.period.selected > span
{
    background-color: #307cff
}

.calendar .flatpickr-day.period-start i, .calendar .flatpickr-day.period:first-child i
{
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px
}

.calendar .flatpickr-day.period-end i, .calendar .flatpickr-day.period.flatpickr-sunday i
{
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px
}

.calendar .flatpickr-day.period.flatpickr-sunday + .period i
{
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px
}

.calendar .flatpickr-day .day-events
{
    position:absolute;
    left:0;
    bottom:-7px;
    display:flex;
    justify-content:center;
    width:100%;
}
.calendar .flatpickr-day .day-events > span
{
    width:5px;
    height:5px;
    margin:0 1px;
    border-radius:50%;
    background:#1b3655;
}

.calendar .flatpickr-day .day-events .other-period-event
{
    box-shadow: inset 0 0 1px 1px rgba(0,0,0,.15)
}

.calendar .flatpickr-day.today
{
    color: #fff;
    background: #1b3655
}

.calendar .flatpickr-day.selected, .calendar .flatpickr-day.selected:focus, .calendar .flatpickr-day.selected:hover
{
    color: #fff;
    background: #307cff
}

.calendar .flatpickr-day.flatpickr-disabled, .calendar .flatpickr-day.flatpickr-disabled:hover
{
    color: rgba(0, 0, 0, .1)
}

.calendar .flatpickr-weekday
{
    font-size: 10px;
    line-height: 13px;
    font-weight: 400;
    color: rgba(0, 0, 0, .3);
    text-transform: uppercase
}

.calendar .flatpickr-saturday, .calendar .flatpickr-sunday
{
    color: rgba(0, 0, 0, .3)
}

.calendar .flatpickr-months
{
    margin-bottom: 10px
}

.calendar .flatpickr-next-month, .calendar .flatpickr-prev-month
{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    color: #1b3655;
    fill: #1b3655
}

.calendar .flatpickr-next-month:hover svg, .calendar .flatpickr-prev-month:hover svg
{
    fill: #307cff
}

.calendar .flatpickr-next-month svg, .calendar .flatpickr-prev-month svg
{
    width: 15px;
    height: 15px
}

.calendar .flatpickr-current-month
{
    font-family: Rubik, sans-serif;
    font-size: 24px;
    line-height: 28px;
    font-weight: 700;
    height: auto;
    padding: 0
}

.calendar .flatpickr-current-month .flatpickr-monthDropdown-months:hover
{
    background: 0 0
}

.calendar .flatpickr-current-month .numInputWrapper
{
    display: none
}

.calendar .flatpickr-monthDropdown-months
{
    display: none
}

.calendar .dayContainer
{
    width: 100%;
    min-width: 100%;
    max-width: 100%
}

.calendar .nextMonthDay, .calendar .prevMonthDay
{
    visibility: hidden;
    margin-top: 0;
    margin-bottom: 0
}

.loader
{
    position: absolute;
    top: 0;
    left: 10px;
    right: 10px;
    bottom: 0;
    z-index: 1001;
    background: rgba(0, 0, 0, .03);
    border-radius: 6px
}

.loader .spinner
{
    color: #307cff;
    top: 40vh
}

.spinner
{
    color: #fff;
    font-size: 0;
    line-height: 0;
    margin: 0 auto;
    position: relative;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation-delay: -.16s;
    animation-delay: -.16s;
    border-radius: 50%;
    width: .625rem;
    height: .625rem;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation: load7 1.8s infinite ease-in-out;
    animation: load7 1.8s infinite ease-in-out
}

.spinner:after, .spinner:before
{
    content: '';
    position: absolute;
    top: 0;
    border-radius: 50%;
    width: .625rem;
    height: .625rem;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation: load7 1.8s infinite ease-in-out;
    animation: load7 1.8s infinite ease-in-out
}

.spinner:before
{
    left: -.875rem;
    -webkit-animation-delay: -.32s;
    animation-delay: -.32s
}

.spinner:after
{
    left: .875rem;
    -webkit-animation-delay: .32s;
    animation-delay: .32s
}

.spinner.-small
{
    width: .375rem;
    height: .375rem
}

.spinner.-small:after, .spinner.-small:before
{
    width: .375rem;
    height: .375rem
}

.spinner.-small:before
{
    left: -.525rem
}

.spinner.-small:after
{
    left: .525rem
}

@-webkit-keyframes load7
{
    0%, 100%, 80%
    {
        box-shadow: 0 1.25rem 0 -.625rem
    }
    40%
    {
        box-shadow: 0 1.25rem 0 0
    }
}

@keyframes load7
{
    0%, 100%, 80%
    {
        box-shadow: 0 1.25rem 0 -.625rem
    }
    40%
    {
        box-shadow: 0 1.25rem 0 0
    }
}

.p404
{
    position: relative;
    max-width: 520px;
    font-family: "PT Sans", sans-serif;
    font-size: 16px;
    line-height: 22px;
    text-align: center;
    z-index: 1
}

.p404__title
{
    font-family: Rubik, sans-serif;
    font-size: 20px;
    line-height: 24px;
    font-weight: 500;
    padding-top: 189px;
    margin-bottom: 30px;
    background: url(../images/404.svg) no-repeat 50% 0
}

.p404 a
{
    color: #307cff
}

.p404 a:hover
{
    opacity: .75
}

.subscribe-calendar
{
    position: relative;
    z-index: 9
}

.subscribe-calendar__door
{
    display: block;
    font-family: Rubik, sans-serif;
    font-size: 14px;
    line-height: 33px;
    font-weight: 500;
    text-align: center;
    color: #1b3655;
    height: 32px;
    background: #fff;
    border-radius: 20px;
    cursor: pointer
}

.subscribe-calendar__door:hover
{
    color: #307cff
}

.subscribe-calendar__door span
{
    display: inline-block;
    position: relative;
    padding-left: 24px
}

.subscribe-calendar__door svg
{
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    margin-top: -2px;
    fill: currentcolor
}

.subscribe-calendar__dropdown
{
    display: none;
    position: absolute;
    bottom: 25px;
    left: 0;
    min-width: 100%;
    padding-bottom: 12px
}

.subscribe-calendar__body
{
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, .1)
}

.subscribe-calendar__body li:not(:last-child)
{
    border-bottom: 1px solid rgba(27, 54, 85, .08)
}

.subscribe-calendar__body a
{
    display: block;
    color: #1b3655;
    padding: 11px 16px
}

.subscribe-calendar__body a:hover
{
    color: #307cff
}

.subscribe-calendar.-open .subscribe-calendar__door
{
    color: #307cff
}

.subscribe-calendar.-open .subscribe-calendar__dropdown
{
    display: block
}

.page
{
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    z-index: 1
}

@media (min-width: 1280px)
{
    .page__body
    {
        padding: 76px 56px 34px 56px;
        min-height: calc(100vh - 56px)
    }
}

@media (min-width: 664px) and (max-width: 1279px)
{
    .page__body
    {
        padding: 48px 45px 34px 45px;
        min-height: calc(100vh - 45px)
    }
}

@media (max-width: 663px)
{
    .page__body
    {
        padding: 46px 32px 34px 32px;
        min-height: calc(100vh - 32px)
    }
}

.page__body.-p404
{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px
}

@media (min-width: 1280px)
{
    .page__body .text-content
    {
        margin: 0 56px
    }
}

.page__body .text-content__date
{
    opacity: .3
}

@media (min-width: 1280px)
{
    .page__body .text-content__map-door
    {
        top: 0
    }
}

.page__body .text-content__map-content
{
    height: 500px
}

@media (max-width: 767px)
{
    .page__body .text-content .h1, .page__body .text-content h1
    {
        font-size: 22px;
        line-height: 26px;
        width: 100%
    }
}

@media (min-width: 2478px)
{
    .page__content
    {
        width: 2366px
    }
}

@media (min-width: 2181px) and (max-width: 2477px)
{
    .page__content
    {
        width: 2069px
    }
}

@media (min-width: 1862px) and (max-width: 2180px)
{
    .page__content
    {
        width: 1772px
    }
}

@media (min-width: 1565px) and (max-width: 1861px)
{
    .page__content
    {
        width: 1475px
    }
}

@media (min-width: 1268px) and (max-width: 1564px)
{
    .page__content
    {
        width: 1178px
    }
}

@media (min-width: 971px) and (max-width: 1267px)
{
    .page__content
    {
        width: 871px
    }
}

@media (min-width: 664px) and (max-width: 970px)
{
    .page__content
    {
        width: 574px
    }
}

@media (min-width: 664px)
{
    .page__content
    {
        display: flex;
        margin: 0 auto;
        overflow: hidden
    }
}

@media (min-width: 664px)
{
    .page__left
    {
        width: 277px;
        min-width: 277px;
        margin-right: 10px
    }
}

@media (min-width: 664px)
{
    .page__middle
    {
        position: relative;
        flex-grow: 1
    }
}

@media (max-width: 663px)
{
    .page__middle
    {
        display: none
    }
}

.header
{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    font-family: Rubik, sans-serif;
    font-weight: 700;
    color: #fff;
    background: #f1f6f7;
    z-index: 100;
    transition: top .3s ease
}

@media (min-width: 1280px)
{
    .header
    {
        font-size: 15px;
        height: 56px
    }
}

@media (max-width: 1279px)
{
    .header
    {
        position: fixed
    }
}

@media (min-width: 664px) and (max-width: 1279px)
{
    .header
    {
        font-size: 13px;
        line-height: 15px;
        height: 44px
    }
}

@media (min-width: 664px)
{
    .header
    {
        padding: 0 10px;
        justify-content: space-between
    }
}

@media (max-width: 663px)
{
    .header
    {
        font-size: 12px;
        line-height: 14px;
        height: 32px;
        justify-content: flex-end;
        padding-right: 10px
    }
}

.header.-fixed
{
    box-shadow: 0 3px 6px rgba(0, 0, 0, .08)
}

@media (min-width: 664px) and (max-width: 1279px)
{
    .header.-hide
    {
        top: -56px
    }
}

@media (max-width: 663px)
{
    .header.-hide
    {
        top: -45px
    }
}

.header__anons
{
    display: flex;
    align-items: center;
    background: #ff4067;
    padding: 0 15px;
    border-radius: 20px
}

@media (min-width: 1280px)
{
    .header__anons
    {
        height: 36px
    }
}

@media (min-width: 664px) and (max-width: 1279px)
{
    .header__anons
    {
        height: 30px
    }
}

@media (max-width: 663px)
{
    .header__anons
    {
        display: none
    }
}

.header-tabs
{
    display: flex
}

.header-tabs.-mobile
{
    display: flex;
    background: #fff;
    border-radius: 20px
}

@media (min-width: 664px)
{
    .header-tabs.-mobile
    {
        display: none
    }
}

.header-tabs__item
{
    display: flex;
    align-items: center;
    padding: 0 10px;
    text-decoration: none
}

@media (min-width: 1280px)
{
    .header-tabs__item
    {
        height: 36px
    }
}

@media (min-width: 664px) and (max-width: 1279px)
{
    .header-tabs__item
    {
        height: 30px
    }
}

@media (min-width: 664px)
{
    .header-tabs__item
    {
        color: inherit;
        background: #1b3655
    }
}

@media (max-width: 663px)
{
    .header-tabs__item
    {
        height: 20px;
        color: #1b3655
    }
}

.header-tabs__item.-active
{
    color: #fff;
    background: #307cff
}

@media (max-width: 663px)
{
    .header-tabs__item.-active
    {
        border-radius: 20px
    }
}

.header-tabs__item:first-child
{
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px
}

@media (min-width: 664px)
{
    .header-tabs__item:first-child
    {
        padding-left: 15px
    }
}

@media (max-width: 663px)
{
    .header-tabs__item:first-child
    {
        padding-left: 10px
    }
}

.header-tabs__item:last-child
{
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px
}

@media (min-width: 664px)
{
    .header-tabs__item:last-child
    {
        padding-right: 15px
    }
}

@media (max-width: 663px)
{
    .header-tabs__item:last-child
    {
        padding-right: 10px
    }
}

.header__logo
{
    position: absolute
}

@media (min-width: 1280px)
{
    .header__logo
    {
        width: 243px;
        height: 56px;
        top: -8px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media (min-width: 768px) and (max-width: 1279px)
{
    .header__logo
    {
        width: 181px;
        height: 41px;
        top: -6px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media (max-width: 767px)
{
    .header__logo
    {
        width: 90px;
        height: 21px;
        top: 6px;
        left: 10px
    }
}

.header__logo img
{
    display: block;
    max-width: 100%
}

.header__tools
{
    display: flex;
    align-items: center
}

.header-fest
{
    display: flex
}

@media (min-width: 1280px)
{
    .header-fest
    {
        margin-left: 20px
    }
}

@media (min-width: 768px) and (max-width: 1279px)
{
    .header-fest
    {
        margin-left: 15px
    }
}

@media (max-width: 767px)
{
    .header-fest
    {
        display: none
    }
}

@media (min-width: 1280px)
{
    .header-fest__item:not(:last-child)
    {
        padding-right: 10px
    }
}

@media (max-width: 1279px)
{
    .header-fest__item:not(:last-child)
    {
        padding-right: 8px
    }
}

.header-fest__item.-hover .header-fest__link
{
    max-width: 250px
}

.header-fest__item.-not-animate .header-fest__link
{
    transition: none
}

.header-fest__link
{
    display: flex;
    align-items: center;
    overflow: hidden
}

@media (min-width: 1280px)
{
    .header-fest__link
    {
        max-width: 36px;
        transition: max-width .3s ease
    }
}

@media (max-width: 1279px)
{
    .header-fest__link
    {
        width: 30px
    }
}

@media (min-width: 1280px)
{
    .header-fest__link img
    {
        min-width: 36px;
        width: 36px
    }
}

@media (max-width: 1279px)
{
    .header-fest__link img
    {
        min-width: 30px;
        width: 30px;
        height: 30px
    }
}

.header-fest__link span
{
    display: block;
    font-size: 12px;
    line-height: 12px;
    color: #1b3655;
    margin-left: 10px
}

.footer
{
    font-family: Rubik, sans-serif;
    font-weight: 500;
    color: #1a1f30
}

@media (min-width: 1280px)
{
    .footer
    {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 56px;
        height: 56px
    }
}

@media (min-width: 664px) and (max-width: 1279px)
{
    .footer
    {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 45px;
        height: 45px
    }
}

@media (min-width: 664px)
{
    .footer
    {
        line-height: 19px
    }
}

@media (max-width: 663px)
{
    .footer
    {
        padding: 32px;
        font-size: 12px;
        line-height: 14px;
        text-align: center
    }
}

.footer__left
{
    display: flex;
    align-items: center
}

@media (max-width: 663px)
{
    .footer__left
    {
        justify-content: center;
        margin-bottom: 20px
    }
}

.footer__item:not(:last-child)
{
    margin-right: 30px
}

.footer__link
{
    color: #1a1f30;
    font-weight: 500
}

@media (min-width: 664px)
{
    .footer__link
    {
        font-size: 14px;
        line-height: 17px
    }
}
