:root {
    --f-button-width: 40px;
    --f-button-height: 40px;
    --f-button-border: 0;
    --f-button-border-radius: 0;
    --f-button-color: #374151;
    --f-button-bg: #f8f8f8;
    --f-button-shadow: none;
    --f-button-transition: all .15s ease;
    --f-button-transform: none;
    --f-button-outline-width: 1px;
    --f-button-outline-color: rgba(0, 0, 0, .7);
    --f-button-svg-width: 20px;
    --f-button-svg-height: 20px;
    --f-button-svg-stroke-width: 1.5;
    --f-button-svg-fill: none;
    --f-button-svg-filter: none;
    --f-button-svg-opacity: 1;
    --f-button-svg-disabled-opacity: .5;
    --f-button-svg-transition: opacity .15s ease;
    --f-button-svg-transform: none
}

.f-button {
    width: var(--f-button-width);
    height: var(--f-button-height);
    border: var(--f-button-border);
    border-radius: var(--f-button-border-radius);
    color: var(--f-button-color);
    background: var(--f-button-bg);
    box-shadow: var(--f-button-shadow);
    transform: var(--f-button-transform);
    transition: var(--f-button-transition);
    backdrop-filter: var(--f-button-backdrop-filter);
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: content-box;
    position: relative;
    margin: 0;
    padding: 0;
    pointer-events: all;
    cursor: pointer;
    overflow: hidden
}

@media(hover:hover) {
    .f-button:hover:not([aria-disabled]) {
        color: var(--f-button-hover-color, var(--f-button-color));
        background-color: var(--f-button-hover-bg, var(--f-button-bg))
    }
}

.f-button:active:not([aria-disabled]) {
    color: var(--f-button-active-color, var(--f-button-hover-color, var(--f-button-color)));
    background-color: var(--f-button-active-bg, var(--f-button-hover-bg, var(--f-button-bg)))
}

.f-button:focus {
    outline: 0
}

.f-button:focus-visible {
    outline: var(--f-button-outline-width) solid var(--f-button-outline-color);
    outline-offset: var(--f-button-outline-offset);
    position: relative;
    z-index: 1
}

.f-button svg {
    width: var(--f-button-svg-width);
    height: var(--f-button-svg-height);
    transform: var(--f-button-svg-transform);
    fill: var(--f-button-svg-fill);
    filter: var(--f-button-svg-filter);
    opacity: var(--f-button-svg-opacity, 1);
    transition: var(--f-button-svg-transition);
    stroke: currentColor;
    stroke-width: var(--f-button-svg-stroke-width);
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none
}

.f-button[aria-disabled] {
    cursor: default
}

.f-button[aria-disabled] svg {
    opacity: var(--f-button-svg-disabled-opacity)
}

:root {
    --f-spinner-color-1: rgba(0, 0, 0, .1);
    --f-spinner-color-2: rgba(17, 24, 28, .8);
    --f-spinner-width: 50px;
    --f-spinner-height: 50px;
    --f-spinner-border-radius: 50%;
    --f-spinner-border-width: 4px
}

.f-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: calc(var(--f-spinner-width)*-.5) 0 0 calc(var(--f-spinner-height)*-.5);
    padding: 0;
    width: var(--f-spinner-width);
    height: var(--f-spinner-height);
    border-radius: var(--f-spinner-border-radius);
    border: var(--f-spinner-border-width) solid var(--f-spinner-color-1);
    border-top-color: var(--f-spinner-color-2);
    animation: f-spinner .75s linear infinite, f-fadeIn .2s ease .2s both
}

@keyframes f-spinner {
    to {
        transform: rotate(360deg)
    }
}

.f-panzoom,
.f-zoomable {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    flex-direction: column
}

.f-panzoom:after,
.f-panzoom:before,
.f-zoomable:after,
.f-zoomable:before {
    display: block;
    content: ""
}

.f-panzoom:not(.has-controls):before,
.f-zoomable:not(.has-controls):before {
    margin-bottom: auto
}

.f-panzoom:after,
.f-zoomable:after {
    margin-top: auto
}

.f-panzoom__wrapper {
    position: relative;
    min-width: 0;
    min-height: 0;
    max-width: 100%;
    max-height: 100%
}

.f-panzoom__wrapper.will-zoom-out {
    cursor: zoom-out
}

.f-panzoom__wrapper.can-drag {
    cursor: move;
    cursor: grab
}

.f-panzoom__wrapper.will-zoom-in {
    cursor: zoom-in
}

.f-panzoom__wrapper.is-dragging {
    cursor: move;
    cursor: grabbing
}

.f-panzoom__wrapper.has-error {
    display: none
}

.f-panzoom__content {
    min-width: 0;
    min-height: 0;
    max-width: 100%;
    max-height: 100%
}

.f-panzoom__content.has-lazyerror,
.f-panzoom__content.is-lazyloading {
    visibility: hidden
}

img.f-panzoom__content {
    vertical-align: top;
    object-fit: contain;
    transition: none;
    user-select: none
}

.f-panzoom__wrapper>img.f-panzoom__content {
    visibility: hidden
}

.f-panzoom__viewport {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1
}

.f-panzoom__viewport>.f-panzoom__content {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill
}

picture.f-panzoom__content img {
    vertical-align: top;
    width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: contain;
    transition: none;
    user-select: none
}

.f-panzoom__protected {
    position: absolute;
    inset: 0;
    z-index: 1;
    user-select: none
}

.f-fadeIn {
    animation: var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;
    z-index: 2
}

.f-fadeOut {
    animation: var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;
    z-index: 1
}

@keyframes f-fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes f-fadeOut {
    to {
        opacity: 0
    }
}

.f-crossfadeIn {
    animation: var(--f-transition-duration, .2s) ease both f-crossfadeIn;
    z-index: 2
}

.f-crossfadeOut {
    animation: calc(var(--f-transition-duration, .2s)*.2) ease calc(var(--f-transition-duration, .2s)*.8) both f-crossfadeOut;
    z-index: 1
}

@keyframes f-crossfadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes f-crossfadeOut {
    to {
        opacity: 0
    }
}

.is-horizontal .f-slideIn.from-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideInNextX
}

.is-horizontal .f-slideIn.from-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideInPrevX
}

.is-horizontal .f-slideOut.to-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideOutNextX
}

.is-horizontal .f-slideOut.to-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideOutPrevX
}

@keyframes f-slideInPrevX {
    0% {
        transform: translate(calc(100% + var(--f-carousel-gap, 0)))
    }

    to {
        transform: translateZ(0)
    }
}

@keyframes f-slideInNextX {
    0% {
        transform: translate(calc(-100% - var(--f-carousel-gap, 0)))
    }

    to {
        transform: translateZ(0)
    }
}

@keyframes f-slideOutNextX {
    to {
        transform: translate(calc(-100% - var(--f-carousel-gap, 0)))
    }
}

@keyframes f-slideOutPrevX {
    to {
        transform: translate(calc(100% + var(--f-carousel-gap, 0)))
    }
}

.is-vertical .f-slideIn.from-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideInNextY
}

.is-vertical .f-slideIn.from-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideInPrevY
}

.is-vertical .f-slideOut.to-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideOutNextY
}

.is-vertical .f-slideOut.to-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideOutPrevY
}

@keyframes f-slideInPrevY {
    0% {
        transform: translateY(calc(100% + var(--f-carousel-gap, 0)))
    }

    to {
        transform: translateZ(0)
    }
}

@keyframes f-slideInNextY {
    0% {
        transform: translateY(calc(-100% - var(--f-carousel-gap, 0)))
    }

    to {
        transform: translateZ(0)
    }
}

@keyframes f-slideOutNextY {
    to {
        transform: translateY(calc(-100% - var(--f-carousel-gap, 0)))
    }
}

@keyframes f-slideOutPrevY {
    to {
        transform: translateY(calc(100% + var(--f-carousel-gap, 0)))
    }
}

.f-zoomInUp {
    animation: var(--f-transition-duration, .3s) ease both f-zoomInUp
}

.f-zoomOutDown {
    animation: var(--f-transition-duration, .3s) ease both f-zoomOutDown
}

@keyframes f-zoomInUp {
    0% {
        transform: scale(var(--f-zoomInUp-scale, .975)) translate3d(var(--f-zoomInUp-x, 0), var(--f-zoomInUp-y, 16px), 0);
        opacity: var(--f-zoomInUp-opacity, 0)
    }

    to {
        transform: scale(1) translateZ(0);
        opacity: 1
    }
}

@keyframes f-zoomOutDown {
    to {
        transform: scale(var(--f-zoomOutDown-scale, .975)) translate3d(var(--f-zoomOutDown-x, 0), var(--f-zoomOutDown-y, 16px), 0);
        opacity: 0
    }
}

.f-throwOutUp {
    animation: var(--f-throwOutUp-duration, .2s) ease-out both f-throwOutUp
}

.f-throwOutDown {
    animation: var(--f-throwOutDown-duration, .2s) ease-out both f-throwOutDown
}

@keyframes f-throwOutUp {
    to {
        transform: translate3d(0, calc(var(--f-throwOutUp-y, 150px) * -1), 0);
        opacity: 0
    }
}

@keyframes f-throwOutDown {
    to {
        transform: translate3d(0, var(--f-throwOutDown-y, 150px), 0);
        opacity: 0
    }
}

.has-gmap .f-html,
.has-iframe .f-html,
.has-pdf .f-html {
    width: 100%;
    height: 100%;
    min-height: 1px;
    overflow: visible
}

.has-gmap .f-html,
.has-pdf .f-html {
    padding: 0
}

.f-html {
    position: relative;
    box-sizing: border-box;
    margin: var(--f-html-margin, 0);
    padding: var(--f-html-padding, 2rem);
    color: var(--f-html-color, currentColor);
    background: var(--f-html-bg)
}

.f-html.is-error {
    text-align: center
}

.f-iframe {
    display: block;
    margin: 0;
    border: 0;
    height: 100%;
    width: 100%
}

.f-caption {
    align-self: center;
    flex-shrink: 0;
    margin: var(--f-caption-margin);
    padding: var(--f-caption-padding, 16px 8px);
    max-width: 100%;
    max-height: calc(80vh - 100px);
    overflow: auto;
    overflow-wrap: anywhere;
    line-height: var(--f-caption-line-height);
    color: var(--f-caption-color);
    background: var(--f-caption-bg);
    font: var(--f-caption-font)
}

.has-html5video .f-html,
.has-vimeo .f-html,
.has-youtube .f-html {
    padding: 0;
    width: 100%;
    height: 100%;
    min-height: 1px;
    overflow: visible;
    max-width: var(--f-video-width, 960px);
    max-height: var(--f-video-height, 540px);
    aspect-ratio: var(--f-video-aspect-ratio);
    background: var(--f-video-bg, rgba(0, 0, 0, .9))
}

.f-html5video {
    border: 0;
    display: block;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, 0)
}

.f-button.is-arrow {
    --f-button-width: var(--f-arrow-width, 46px);
    --f-button-height: var(--f-arrow-height, 46px);
    --f-button-svg-width: var(--f-arrow-svg-width, 24px);
    --f-button-svg-height: var(--f-arrow-svg-height, 24px);
    --f-button-svg-stroke-width: var(--f-arrow-svg-stroke-width, 1.75);
    --f-button-border-radius: var(--f-arrow-border-radius, unset);
    --f-button-bg: var(--f-arrow-bg, transparent);
    --f-button-hover-bg: var(--f-arrow-hover-bg, var(--f-arrow-bg));
    --f-button-active-bg: var(--f-arrow-active-bg, var(--f-arrow-hover-bg));
    --f-button-shadow: var(--f-arrow-shadow);
    --f-button-color: var(--f-arrow-color);
    --f-button-hover-color: var(--f-arrow-hover-color, var(--f-arrow-color));
    --f-button-active-color: var(--f-arrow-active-color, var(--f-arrow-hover-color));
    overflow: visible
}

.f-button.is-arrow.is-next,
.f-button.is-arrow.is-prev {
    position: absolute;
    transform: translate(0);
    z-index: 20
}

.is-horizontal .f-button.is-arrow.is-next,
.is-horizontal .f-button.is-arrow.is-prev {
    inset: 50% auto auto;
    transform: translateY(-50%)
}

.is-horizontal.is-ltr .f-button.is-arrow.is-prev {
    left: var(--f-arrow-pos, 0)
}

.is-horizontal.is-ltr .f-button.is-arrow.is-next {
    right: var(--f-arrow-pos, 0)
}

.is-horizontal.is-rtl .f-button.is-arrow.is-prev {
    right: var(--f-arrow-pos, 0);
    transform: translateY(-50%) rotateY(180deg)
}

.is-horizontal.is-rtl .f-button.is-arrow.is-next {
    left: var(--f-arrow-pos, 0);
    transform: translateY(-50%) rotateY(180deg)
}

.is-vertical.is-ltr .f-button.is-arrow.is-prev,
.is-vertical.is-rtl .f-button.is-arrow.is-prev {
    top: var(--f-arrow-pos, 0);
    right: auto;
    bottom: auto;
    left: 50%;
    transform: translate(-50%)
}

.is-vertical.is-ltr .f-button.is-arrow.is-next,
.is-vertical.is-rtl .f-button.is-arrow.is-next {
    top: auto;
    right: auto;
    bottom: var(--f-arrow-pos, 0);
    left: 50%;
    transform: translate(-50%)
}

.is-vertical .f-button.is-arrow.is-next svg,
.is-vertical .f-button.is-arrow.is-prev svg {
    transform: rotate(90deg)
}

.f-carousel__toolbar {
    --f-progressbar-height: 100%;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    margin: var(--f-toolbar-margin, 0);
    padding: var(--f-toolbar-padding, 8px);
    line-height: var(--f-toolbar-line-height);
    background: var(--f-toolbar-bg, none);
    box-shadow: var(--f-toolbar-shadow, none);
    backdrop-filter: var(--f-toolbar-backdrop-filter);
    position: relative;
    z-index: 20;
    color: var(--f-toolbar-color, currentColor);
    font-size: var(--f-toolbar-font-size, 17px);
    font-weight: var(--f-toolbar-font-weight, inherit);
    font-family: var(--f-toolbar-font, -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif);
    text-shadow: var(--f-toolbar-text-shadow);
    text-align: center;
    font-variant-numeric: tabular-nums;
    -webkit-font-smoothing: subpixel-antialiased;
    white-space: nowrap;
    pointer-events: none
}

.f-carousel__toolbar.is-absolute {
    position: absolute;
    top: 0;
    left: 0;
    right: 0
}

.f-carousel__toolbar__column {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: var(--f-toolbar-gap, 0);
    pointer-events: none
}

.f-carousel__toolbar__column.is-left {
    justify-self: flex-start;
    justify-content: flex-start
}

.f-carousel__toolbar__column.is-middle {
    justify-content: center
}

.f-carousel__toolbar__column.is-right {
    justify-self: flex-end;
    justify-content: flex-end;
    flex-flow: nowrap
}

.f-carousel__toolbar__column>* {
    pointer-events: all
}

.f-carousel:has(.f-carousel__slide.is-fullsize) [data-panzoom-action=toggleFull] g {
    display: none
}

[data-autoplay-action=toggle] svg g:first-child {
    display: flex
}

[data-autoplay-action=toggle] svg g:last-child {
    display: none
}

.has-autoplay [data-autoplay-action=toggle] svg g:first-child {
    display: none
}

.has-autoplay [data-autoplay-action=toggle] svg g:last-child {
    display: flex
}

:fullscreen [data-fullscreen-action=toggle] svg [data-fullscreen-action=toggle] svg g:first-child {
    display: none
}

:fullscreen [data-fullscreen-action=toggle] svg [data-fullscreen-action=toggle] svg g:last-child {
    display: flex
}

.f-carousel__counter {
    position: relative;
    display: flex;
    flex-direction: row;
    cursor: default;
    user-select: none;
    margin: var(--f-counter-margin, 0);
    padding: var(--f-counter-padding, 4px);
    line-height: var(--f-counter-line-height);
    background: var(--f-counter-bg);
    border-radius: var(--f-counter-border-radius)
}

.f-carousel__counter span {
    padding: 0 var(--f-counter-gap, 4px)
}

:root {
    --f-thumbs-gap: 8px;
    --f-thumbs-margin: 0;
    --f-thumbs-padding-x: 8px;
    --f-thumbs-padding-y: 8px;
    --f-thumbs-z-index: 1;
    --f-thumb-width: 96px;
    --f-thumb-height: 72px;
    --f-thumb-fit: cover;
    --f-thumb-opacity: 1;
    --f-thumb-transition: opacity .3s ease, transform .15s ease;
    --f-thumb-border: none;
    --f-thumb-border-radius: 4px;
    --f-thumb-transfors: none;
    --f-thumb-shadow: none;
    --f-thumb-bg: linear-gradient(rgba(0, 0, 0, .1), rgba(0, 0, 0, .05));
    --f-thumb-focus-shadow: inset 0 0 0 .8px #222, inset 0 0 0 2.25px #fff;
    --f-thumb-selected-shadow: inset 0 0 0 .8px #222, inset 0 0 0 2.25px #fff
}

.f-thumbs {
    --f-carousel-slide-width: calc(var(--f-thumb-width) + var(--f-thumbs-gap));
    --f-carousel-slide-height: calc(var(--f-thumb-height) + var(--f-thumbs-gap));
    --f-carousel-gap: 0;
    flex-shrink: 0;
    max-height: calc(var(--f-carousel-slide-height) + var(--f-thumbs-padding-y)*2);
    margin: var(--f-thumbs-margin);
    padding: 0;
    background: var(--f-thumbs-bg);
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    transition: max-height .3s ease;
    z-index: var(--f-thumbs-z-index);
    overflow: hidden
}

.f-thumbs__viewport {
    margin: var(--f-thumbs-padding-y) var(--f-thumbs-padding-x);
    overflow: visible;
    display: grid
}

.f-thumbs__slide {
    position: relative;
    grid-area: 1/1;
    display: flex;
    align-items: center;
    flex-direction: column;
    width: var(--f-carousel-slide-width);
    height: var(--f-carousel-slide-height);
    margin: 0;
    padding: calc(var(--f-thumbs-gap)*.5);
    cursor: pointer;
    overflow: visible
}

.f-thumbs__slide:hover button {
    opacity: var(--f-thumb-hover-opacity, 1);
    transform: var(--f-thumb-hover-transform, none)
}

.f-thumbs__slide:hover button:after {
    border: var(--f-thumb-hover-border, none);
    box-shadow: var(--f-thumb-hover-shadow, var(--f-thumb-shadow))
}

.f-thumbs__slide button {
    all: unset;
    margin: auto;
    padding: 0;
    position: relative;
    overflow: visible;
    width: 100%;
    height: 100%;
    outline: 0;
    transition: var(--f-thumb-transition);
    border-radius: var(--f-thumb-border-radius);
    opacity: var(--f-thumb-opacity);
    transform: var(--f-thumb-transform);
    background: var(--f-thumb-bg)
}

.f-thumbs__slide button:after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    transition: none;
    border-radius: inherit;
    border: var(--f-thumb-border);
    box-shadow: var(--f-thumb-shadow)
}

.f-thumbs__slide button:focus-within {
    opacity: var(--f-thumb-focus-opacity, 1);
    transform: var(--f-thumb-focus-transform, none)
}

.f-thumbs__slide button:focus-within:after {
    border: var(--f-thumb-focus-border, none);
    box-shadow: var(--f-thumb-focus-shadow, var(--f-thumb-shadow))
}

.f-thumbs__slide:active {
    opacity: var(--f-thumb-active-opacity, 1);
    transform: var(--f-thumb-active-transform, none)
}

.f-thumbs__slide:active:after {
    border: var(--f-thumb-active-border, none);
    box-shadow: var(--f-thumb-active-shadow, var(--f-thumb-shadow))
}

.f-thumbs__slide.is-selected {
    z-index: 2
}

.f-thumbs__slide.is-selected button {
    opacity: var(--f-thumb-selected-opacity, 1);
    transform: var(--f-thumb-selected-transform, none)
}

.f-thumbs__slide.is-selected button:after {
    border: var(--f-thumb-selected-border, none);
    box-shadow: var(--f-thumb-selected-shadow, var(--f-thumb-shadow))
}

.f-thumbs__slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: var(--f-thumb-fit);
    border-radius: inherit;
    pointer-events: none
}

.f-thumbs__slide img.has-lazyerror {
    display: none
}

.f-thumbs.is-modern {
    --f-thumb-clip-width: 46px;
    --f-thumb-extra-gap: 16px;
    --f-carousel-slide-width: calc(var(--f-thumb-clip-width) + var(--f-thumbs-gap));
    --f-carousel-slide-height: var(--f-thumb-height);
    --width-diff: calc((var(--f-thumb-width) - var(--f-thumb-clip-width)))
}

.f-thumbs.is-modern .f-thumbs__viewport {
    width: calc(100% + var(--width-diff)*2);
    margin-left: calc(var(--width-diff)*-1)
}

.f-thumbs.is-modern .f-thumbs__slide {
    --clip-shift: calc((var(--width-diff) * .5) * var(--progress));
    --clip-path: inset(0 var(--clip-shift) round var(--f-thumb-border-radius, 0));
    padding: 0;
    overflow: visible;
    left: var(--shift, 0);
    will-change: left;
    transition: left var(--f-transition-duration) var(--f-transition-easing)
}

.f-thumbs.is-modern .f-thumbs__slide button {
    display: block;
    margin-left: -50%;
    width: var(--f-thumb-width);
    clip-path: var(--clip-path);
    border: none;
    box-shadow: none;
    transition: clip-path var(--f-transition-duration) var(--f-transition-easing), opacity var(--f-thumb-transition-duration, .2s) var(--f-thumb-transition-easing, ease)
}

.f-thumbs.is-modern .f-thumbs__slide button:after {
    display: none
}

.f-thumbs.is-modern .f-thumbs__slide:focus:not(:focus-visible) {
    outline: 0
}

.f-thumbs.is-modern .f-thumbs__slide:focus-within:not(.is-selected) button:before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    left: var(--clip-shift);
    bottom: 0;
    right: var(--clip-shift);
    transition: border var(--f-transition-duration) var(--f-transition-easing), box-shadow var(--f-transition-duration) var(--f-transition-easing);
    border-radius: inherit;
    border: var(--f-thumb-focus-border, none);
    box-shadow: var(--f-thumb-focus-shadow, none)
}

.f-thumbs.is-modern {
    --f-transition-duration: .25s;
    --f-transition-easing: ease-out
}

.f-thumbs.is-modern.is-syncing {
    --f-transition-duration: 0s
}

.f-progressbar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 30;
    height: var(--f-progressbar-height, 3px);
    transform: scaleX(0);
    transform-origin: 0;
    background: var(--f-progressbar-color, var(--f-carousel-theme-color, #575ad6));
    user-select: none;
    pointer-events: none;
    animation-name: f-progressbar;
    animation-play-state: running;
    animation-timing-function: linear
}

@keyframes f-progressbar {
    0% {
        transform: scaleX(0)
    }

    to {
        transform: scaleX(1)
    }
}

[data-fullscreen-action=toggle] svg g:first-child {
    display: flex
}

[data-fullscreen-action=toggle] svg g:last-child {
    display: none
}

:fullscreen [data-fullscreen-action=toggle] svg g:first-child {
    display: none
}

:fullscreen [data-fullscreen-action=toggle] svg g:last-child {
    display: flex
}

.in-fullscreen-mode>.f-carousel {
    flex: 1;
    min-width: 0 !important;
    min-height: 0 !important
}

html.with-fancybox {
    width: auto;
    overflow: visible;
    scroll-behavior: auto
}

html.with-fancybox body {
    touch-action: none
}

html.with-fancybox body.hide-scrollbar {
    width: auto;
    margin-right: calc(var(--f-body-margin, 0px) + var(--f-scrollbar-compensate, 0px));
    overflow: hidden !important;
    overscroll-behavior-y: none
}

.fancybox__dialog {
    width: 100%;
    height: 100vh;
    max-height: unset;
    max-width: unset;
    padding: 0;
    margin: 0;
    border: 0;
    overflow: hidden;
    background: rgba(0, 0, 0, 0)
}

.fancybox__dialog:focus {
    outline: 0
}

.fancybox__dialog::backdrop {
    opacity: 0
}

@supports(height:100dvh) {
    .fancybox__dialog {
        height: 100dvh
    }
}

.fancybox__container {
    --fancybox-color: #dbdbdb;
    --fancybox-backdrop-bg: rgba(24, 24, 27, .95);
    --f-toolbar-margin: 0;
    --f-toolbar-padding: 8px;
    --f-toolbar-gap: 0;
    --f-toolbar-color: #ddd;
    --f-toolbar-font-size: 16px;
    --f-toolbar-font-weight: 500;
    --f-toolbar-font: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif;
    --f-toolbar-line-height: var(--f-button-height);
    --f-toolbar-text-shadow: 1px 1px 1px rgba(0, 0, 0, .75);
    --f-toolbar-shadow: none;
    --f-toolbar-bg: none;
    --f-counter-margin: 0;
    --f-counter-padding: 0px 10px;
    --f-counter-gap: 4px;
    --f-counter-line-height: var(--f-button-height);
    --f-carousel-gap: 17px;
    --f-carousel-slide-width: 100%;
    --f-carousel-slide-height: 100%;
    --f-carousel-slide-padding: 0;
    --f-carousel-slide-bg: unset;
    --f-html-color: #222;
    --f-html-bg: #fff;
    --f-error-color: #fff;
    --f-error-bg: #333;
    --f-caption-margin: 0;
    --f-caption-padding: 16px 8px;
    --f-caption-color: var(--fancybox-color, #dbdbdb);
    --f-caption-bg: transparent;
    --f-caption-font: inherit;
    --f-caption-line-height: 1.375;
    --f-spinner-color-1: rgba(255, 255, 255, .2);
    --f-spinner-color-2: rgba(255, 255, 255, .8);
    --f-spinner-width: 50px;
    --f-spinner-height: 50px;
    --f-spinner-border-radius: 50%;
    --f-spinner-border-width: 4px;
    --f-progressbar-color: rgba(255, 255, 255, .2);
    --f-button-width: 46px;
    --f-button-height: 46px;
    --f-button-color: #ddd;
    --f-button-hover-color: #fff;
    --f-button-outline-width: 1px;
    --f-button-outline-color: rgba(255, 255, 255, .75);
    --f-button-outline-offset: 0px;
    --f-button-bg: rgba(54, 54, 54, .75);
    --f-button-border: 0;
    --f-button-border-radius: 0;
    --f-button-shadow: none;
    --f-button-transition: all .2s ease;
    --f-button-transform: none;
    --f-button-svg-width: 24px;
    --f-button-svg-height: 24px;
    --f-button-svg-stroke-width: 1.75;
    --f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .01)), drop-shadow(1px 2px 1px rgba(24, 24, 27, .05));
    --f-button-svg-fill: none;
    --f-button-svg-disabled-opacity: .5;
    --f-arrow-pos: 32px;
    --f-arrow-width: 50px;
    --f-arrow-height: 50px;
    --f-arrow-svg-width: 24px;
    --f-arrow-svg-height: 24px;
    --f-arrow-svg-stroke-width: 2;
    --f-arrow-border-radius: 50%;
    --f-arrow-bg: rgba(54, 54, 54, .65);
    --f-arrow-color: #ddd;
    --f-arrow-hover-color: #fff;
    --f-thumbs-margin: 0px;
    --f-thumbs-padding-x: 8px;
    --f-thumbs-padding-y: 8px;
    --f-thumbs-bg: none;
    --f-thumb-transition: all .2s ease;
    --f-thumb-width: 94px;
    --f-thumb-height: 76px;
    --f-thumb-opacity: 1;
    --f-thumb-border: none;
    --f-thumb-shadow: none;
    --f-thumb-transform: none;
    --f-thumb-focus-opacity: 1;
    --f-thumb-focus-border: none;
    --f-thumb-focus-shadow: inset 0 0 0 2px rgba(255, 255, 255, .65);
    --f-thumb-focus-transform: none;
    --f-thumb-hover-opacity: 1;
    --f-thumb-hover-border: none;
    --f-thumb-hover-transform: none;
    --f-thumb-active-opacity: var(--f-thumb-hover-opacity);
    --f-thumb-active-border: var(--f-thumb-hover-border);
    --f-thumb-active-transform: var(--f-thumb-hover-transform);
    --f-thumb-selected-opacity: 1;
    --f-thumb-selected-border: none;
    --f-thumb-selected-shadow: inset 0 0 0 2px #fff;
    --f-thumb-selected-transform: none;
    position: absolute;
    inset: 0;
    overflow: hidden;
    outline: 0;
    display: flex;
    flex-direction: column
}

.fancybox__container[theme=light] {
    --fancybox-color: #222;
    --fancybox-backdrop-bg: rgba(255, 255, 255, .97);
    --f-toolbar-color: var(--fancybox-color, #222);
    --f-toolbar-text-shadow: none;
    --f-toolbar-font-weight: 400;
    --f-html-color: var(--fancybox-color, #222);
    --f-html-bg: #fff;
    --f-error-color: #555;
    --f-error-bg: #fff;
    --f-video-bg: #fff;
    --f-caption-color: #333;
    --f-spinner-color-1: rgba(0, 0, 0, .2);
    --f-spinner-color-2: rgba(0, 0, 0, .8);
    --f-spinner-border-width: 3.5px;
    --f-progressbar-color: rgba(111, 111, 116, .2);
    --f-button-color: #333;
    --f-button-hover-color: #000;
    --f-button-outline-color: rgba(0, 0, 0, .85);
    --f-button-bg: rgba(255, 255, 255, .85);
    --f-button-svg-stroke-width: 1.3;
    --f-button-svg-filter: none;
    --f-arrow-bg: rgba(255, 255, 255, .85);
    --f-arrow-color: #333;
    --f-arrow-hover-color: #000;
    --f-arrow-svg-stroke-width: 1.3;
    --f-close-button-color: #555;
    --f-close-button-hover-color: #000;
    --f-thumb-bg: linear-gradient(#ebeff2, #e2e8f0);
    --f-thumb-focus-shadow: 0 0 0 1.8px #fff, 0px 0px 0px 2.25px #888;
    --f-thumb-selected-shadow: 0 0 0 1.8px #fff, 0px 0px 0px 2.25px #000
}

.fancybox__container::backdrop {
    background-color: rgba(0, 0, 0, 0)
}

.fancybox__container .fancybox__carousel>.fancybox__viewport>.fancybox__slide.is-selected>:not(.f-html, .f-panzoom__wrapper, .f-spinner),
.fancybox__container .fancybox__carousel>.fancybox__viewport>.fancybox__slide:not(.is-selected),
.fancybox__container .fancybox__carousel>:not(.fancybox__viewport),
.fancybox__container>:not(.fancybox__carousel) {
    opacity: var(--f-drag-opacity, 1)
}

.fancybox__container:not(.is-ready, .is-hiding) {
    visibility: hidden
}

.fancybox__container.is-revealing .fancybox__carousel>.fancybox__viewport>.fancybox__slide.is-selected>:not(.f-html, .f-panzoom__wrapper, .f-spinner),
.fancybox__container.is-revealing .fancybox__carousel>.fancybox__viewport>.fancybox__slide:not(.is-selected),
.fancybox__container.is-revealing .fancybox__carousel>:not(.fancybox__viewport),
.fancybox__container.is-revealing>:not(.fancybox__carousel) {
    animation: var(--f-interface-enter-duration, .35s) ease none f-fadeIn
}

.fancybox__container.is-hiding .fancybox__carousel>.fancybox__viewport>.fancybox__slide.is-selected>:not(.f-html, .f-panzoom__wrapper),
.fancybox__container.is-hiding .fancybox__carousel>.fancybox__viewport>.fancybox__slide:not(.is-selected),
.fancybox__container.is-hiding .fancybox__carousel>:not(.fancybox__viewport),
.fancybox__container.is-hiding>:not(.fancybox__carousel) {
    animation: var(--f-interface-exit-duration, .35s) ease forwards f-fadeOut
}

.fancybox__container.is-idle .f-carousel__toolbar {
    pointer-events: none;
    opacity: 0
}

.fancybox__container.is-idle .f-button.is-arrow {
    opacity: 0
}

.fancybox__container.is-idle.is-ready .f-carousel__toolbar {
    pointer-events: none;
    animation: .15s ease-out both f-fadeOut
}

.fancybox__container.is-idle.is-ready .f-button.is-arrow {
    animation: .15s ease-out both f-fadeOut
}

.fancybox__backdrop {
    position: fixed;
    inset: 0;
    z-index: -1;
    background: var(--fancybox-backdrop-bg)
}

.fancybox__carousel {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    position: relative;
    z-index: 10;
    overflow-y: visible;
    overflow-x: clip
}

.fancybox__carousel.is-vertical {
    --f-carousel-slide-height: 100%
}

.fancybox__carousel.is-ltr {
    direction: ltr
}

.fancybox__carousel.is-rtl {
    direction: rtl
}

.fancybox__carousel>.f-button.is-arrow:before {
    position: absolute;
    content: "";
    inset: -30px;
    z-index: 1
}

.fancybox__carousel>.f-progressbar {
    background-color: var(--fancybox-color)
}

.fancybox__viewport {
    display: grid;
    flex: 1;
    min-height: 0;
    min-width: 0;
    position: relative;
    overflow: visible;
    transform: translate3d(0, var(--f-drag-offset, 0), 0)
}

.fancybox__viewport.is-draggable {
    cursor: move;
    cursor: grab
}

.fancybox__viewport.is-dragging {
    cursor: move;
    cursor: grabbing
}

.fancybox__viewport [contenteditable],
.fancybox__viewport [data-selectable] {
    cursor: auto
}

.fancybox__slide {
    box-sizing: border-box;
    position: relative;
    grid-area: 1/1;
    display: flex;
    align-items: center;
    flex-direction: column;
    width: var(--f-carousel-slide-width);
    height: var(--f-carousel-slide-height);
    min-width: 0;
    min-height: 0;
    max-width: 100%;
    margin: 0;
    padding: var(--f-carousel-slide-padding);
    background: var(--f-carousel-slide-bg);
    backface-visibility: hidden;
    transform: translateZ(0);
    will-change: transform
}

.fancybox__slide:after,
.fancybox__slide:before {
    display: block;
    content: ""
}

.fancybox__slide:before {
    margin-bottom: auto
}

.fancybox__slide:after {
    margin-top: auto
}

.fancybox__slide.is-selected {
    z-index: 1
}

.fancybox__slide.f-zoomable {
    overflow: visible
}

.fancybox__slide.has-error {
    --f-html-color: var(--f-error-color, --f-html-color);
    --f-html-bg: var(--f-error-bg, --f-html-bg)
}

.fancybox__slide.has-html {
    overflow: auto;
    padding: 8px
}

.fancybox__slide.has-close-btn {
    padding-top: 34px
}

.fancybox__slide .f-button[data-fancybox-close] {
    --f-button-width: var(--f-close-button-width, 34px);
    --f-button-height: var(--f-close-button-height, 34px);
    --f-button-border-radius: var(--f-close-border-radius, 4px);
    --f-button-color: var(--f-close-button-color, #fff);
    --f-button-hover-color: var(--f-close-button-hover-color, #fff);
    --f-button-bg: var(--f-close-button-bg, transparent);
    --f-button-hover-bg: var(--f-close-button-hover-bg, transparent);
    --f-button-active-bg: var(--f-close-button-active-bg, transparent);
    --f-button-svg-width: var(--f-close-button-svg-width, 22px);
    --f-button-svg-height: var(--f-close-button-svg-height, 22px);
    position: absolute;
    top: calc(var(--f-button-height)*-1);
    right: 0;
    z-index: 40
}

.fancybox__slide .f-spinner {
    cursor: pointer
}

.fancybox__container.is-closing .f-caption,
.fancybox__slide.is-loading .f-caption {
    visibility: hidden
}

@font-face {
    font-family: swiper-icons;
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0, 0, 0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide {
    transform-style: preserve-3d
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper::before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(360deg)
    }
}

.swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0)
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
    height: 1px;
    width: var(--swiper-virtual-size)
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size)
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: calc(var(--swiper-navigation-size)/44*27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - var(--swiper-navigation-size)/ 2);
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-next.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev {
    display: none !important
}

.swiper-button-next svg,
.swiper-button-prev svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center
}

.swiper-rtl .swiper-button-next svg,
.swiper-rtl .swiper-button-prev svg {
    transform: rotate(180deg)
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto
}

.swiper-button-lock {
    display: none
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    content: "prev"
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    content: "next"
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
    display: none !important
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: var(--swiper-pagination-bottom, 8px);
    top: var(--swiper-pagination-top, auto);
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(.33)
}

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none !important
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical>.swiper-pagination-bullets {
    right: var(--swiper-pagination-right, 8px);
    left: var(--swiper-pagination-left, auto);
    top: 50%;
    transform: translate3d(0, -50%, 0)
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: .2s transform, .2s top
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform, .2s left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform, .2s right
}

.swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color, inherit)
}

.swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical>.swiper-pagination-progressbar {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    position: relative;
    touch-action: none;
    background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, .1))
}

.swiper-scrollbar-disabled>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important
}

.swiper-horizontal>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: var(--swiper-scrollbar-sides-offset, 1%);
    bottom: var(--swiper-scrollbar-bottom, 4px);
    top: var(--swiper-scrollbar-top, auto);
    z-index: 50;
    height: var(--swiper-scrollbar-size, 4px);
    width: calc(100% - 2*var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical>.swiper-scrollbar {
    position: absolute;
    left: var(--swiper-scrollbar-left, auto);
    right: var(--swiper-scrollbar-right, 4px);
    top: var(--swiper-scrollbar-sides-offset, 1%);
    z-index: 50;
    width: var(--swiper-scrollbar-size, 4px);
    height: calc(100% - 2*var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5));
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

.swiper-zoom-container>canvas,
.swiper-zoom-container>img,
.swiper-zoom-container>svg {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move;
    touch-action: none
}

.swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-free-mode>.swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-grid>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-grid-column>.swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-fade .swiper-slide-active {
    pointer-events: auto
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper.swiper-cube {
    overflow: visible
}

.swiper-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    opacity: .6;
    z-index: 0
}

.swiper-cube .swiper-cube-shadow:before {
    content: "";
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    filter: blur(50px)
}

.swiper-cube .swiper-slide-next+.swiper-slide {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper.swiper-flip {
    overflow: visible
}

.swiper-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-creative .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform, opacity, height
}

.swiper.swiper-cards {
    overflow: visible
}

.swiper-cards .swiper-slide {
    transform-origin: center bottom;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden
}

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline
}

html {
    line-height: 1
}

ol,
ul {
    list-style: none
}

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

caption,
td,
th {
    text-align: left;
    font-weight: 400;
    vertical-align: middle
}

blockquote,
q {
    quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: "";
    content: none
}

a img {
    border: none
}

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

:root {
    --colorMain: #CC2D2A;
    --colorMainLight: #FFE7E7;
    --colorBlack: #000;
    --colorBlackLight: #2e2e2e;
    --colorBorder: #E6E6E6;
    --colorGray: #4E4E4E;
    --colorLightBg: #F6F6F6;
    --colorLightBlue: #D9ECFA;
    --colorText: var(--colorBlack);
    --colorTextMuted: #ACACAC;
    --colorGreen: #689C1F;
    --fontMain: "Jost", sans-serif;
    --transitionDuration: .4s;
    --transitionDurationL: .8s;
    --wrapperSpace: 1rem;
    --wrapperWidth: 69.778rem;
    --borderRadius: 0.5rem;
    --defaultSectionSpace: 3.333rem;
    --headerHeight: 7rem;
    --headerHeightFixed: 7rem;
    --gridMargin: 1.111rem
}

@media screen and (max-width:1200px) {
    :root {
        --defaultSectionSpace: 5rem;
        --headerHeight: 5rem;
        --headerHeightFixed: 5rem;
        --wrapperSpace: 1.5rem;
        --wrapperSpaceTide: 1.5rem
    }
}

@media screen and (max-width:767px) {
    :root {
        --defaultSectionSpace: 3rem;
        --defaultSectionSpaceSm: 2.5rem;
        --headerHeight: 4rem;
        --headerHeightFixed: 4rem;
        --wrapperSpace: 1rem;
        --gridMargin: 1rem
    }
}

:root {
    --webinarPayColor: #CF5A5A;
    --webinarPayColorLight: #ffe6e6;
    --webinarFreeColor: #66739B;
    --webinarFreeColorLight: #E6E9F2;
    --practicumColor: #008888;
    --practicumColorLight: #E8FFFF
}

.anim-fade {
    opacity: .01;
    transition-property: opacity;
    transition-duration: .6s;
    transition-delay: .2s
}

.anim-fade.animated {
    opacity: 1
}

.anim-fade-up {
    transform: translateY(20%);
    opacity: .01;
    transition-duration: .6s;
    transition-property: transform, opacity;
    transition-delay: .15s
}

.anim-fade-up.animated {
    transform: translateY(0);
    opacity: 1
}

@media screen and (max-width:767px) {
    .anim-fade-up {
        transition-delay: .1s;
        transform: translateY(10%)
    }
}

@media screen and (max-width:1200px) {
    .anim-fade-up--desktop {
        visibility: visible !important;
        transform: unset !important;
        opacity: 1 !important
    }
}

@media screen and (min-width:1201px) {
    .anim-fade-up-tab {
        visibility: visible !important
    }
}

@media screen and (max-width:1200px) {
    .anim-fade-up-tab {
        transform: translateY(10%);
        opacity: 0;
        transition-duration: .3s;
        transition-property: transform, opacity;
        transition-delay: .1s
    }

    .anim-fade-up-tab.animated {
        transform: translateY(0);
        opacity: 1
    }
}

@media screen and (max-width:767px) {
    .anim-fade-up-mob {
        transform: translateY(10%);
        opacity: 0;
        transition-duration: .4s;
        transition-property: transform, opacity;
        transition-delay: .1s
    }

    .anim-fade-up-mob.animated {
        transform: translateY(0);
        opacity: 1
    }
}

.anim-fade-down {
    transform: translateY(-20%);
    opacity: 0;
    transition-duration: .3s;
    transition-property: transform, opacity;
    transition-delay: .2s
}

.anim-fade-down.animated {
    transform: translateY(0);
    opacity: 1
}

@media screen and (max-width:767px) {
    .anim-fade-down {
        transition-delay: .1s;
        transform: translateY(10%)
    }
}

.anim-fade-up--dx2 {
    transform: translateY(5%)
}

@media screen and (max-width:767px) {
    .anim-fade-up--dx2 {
        transform: translateY(5%)
    }
}

@media screen and (min-width:1201px) {
    .anim-fade-up--dx2-desktop {
        transform: translateY(5%)
    }
}

@media screen and (max-width:1200px) {
    .anim-fade-up--dx2-tab {
        transform: translateY(5%)
    }
}

@media screen and (max-width:767px) {
    .anim-fade-up--dx2-tab {
        transform: translateY(5%)
    }
}

.anim-fade-up--x2 {
    transform: translateY(40%)
}

@media screen and (min-width:1201px) {
    .anim-from-right-card-desktop {
        transform: translateX(40vw);
        transition-duration: 1.2s
    }

    .anim-from-right-card-desktop.animated {
        transform: translateX(0)
    }
}

.anim-delay-1 {
    transition-delay: .3s
}

@media screen and (max-width:767px) {
    .anim-delay-1 {
        transition-delay: .1s
    }
}

.anim-delay-2 {
    transition-delay: .4s
}

@media screen and (max-width:767px) {
    .anim-delay-2 {
        transition-delay: .1s
    }
}

.anim-delay-3 {
    transition-delay: .5s
}

@media screen and (max-width:767px) {
    .anim-delay-3 {
        transition-delay: .1s
    }
}

@media screen and (max-width:1200px) {
    .anim-delay-3-tab {
        transition-delay: .5s
    }
}

.anim-delay-4 {
    transition-delay: .6s
}

@media screen and (max-width:767px) {
    .anim-delay-4 {
        transition-delay: .1s
    }
}

@media screen and (max-width:1200px) {
    .anim-delay-4-tab {
        transition-delay: .6s
    }
}

.anim-delay-5 {
    transition-delay: .7s
}

@media screen and (max-width:767px) {
    .anim-delay-5 {
        transition-delay: .1s
    }
}

.anim-delay-6 {
    transition-delay: .8s
}

@media screen and (max-width:767px) {
    .anim-delay-6 {
        transition-delay: .1s
    }
}

.anim-delay-7 {
    transition-delay: .9s
}

@media screen and (max-width:767px) {
    .anim-delay-7 {
        transition-delay: .1s
    }
}

.anim-delay-8 {
    transition-delay: 1s
}

@media screen and (max-width:767px) {
    .anim-delay-8 {
        transition-delay: .1s
    }
}

.anim-delay-9 {
    transition-delay: 1.1s
}

@media screen and (max-width:767px) {
    .anim-delay-9 {
        transition-delay: .1s
    }
}

.anim-duration-long {
    transition-duration: 1s
}

@media screen and (min-width:1201px) {
    .anim-5items-delays>.wow:nth-child(5n-3) {
        transition-delay: .3s
    }

    .anim-5items-delays>.wow:nth-child(5n-2) {
        transition-delay: .4s
    }

    .anim-5items-delays>.wow:nth-child(5n-1) {
        transition-delay: .5s
    }

    .anim-5items-delays>.wow:nth-child(5n) {
        transition-delay: .6s
    }
}

@media screen and (min-width:1201px) {
    .anim-4items-delays>.wow:nth-child(4n-2) {
        transition-delay: .3s
    }

    .anim-4items-delays>.wow:nth-child(4n-1) {
        transition-delay: .4s
    }

    .anim-4items-delays>.wow:nth-child(4n) {
        transition-delay: .5s
    }
}

@media screen and (min-width:1201px) {
    .anim-3items-delays>.wow:nth-child(3n-1) {
        transition-delay: .3s
    }

    .anim-3items-delays>.wow:nth-child(3n) {
        transition-delay: .4s
    }
}

@media screen and (min-width:1201px) {
    .anim-2items-delays>.wow:nth-child(2n) {
        transition-delay: .4s
    }
}

.text-default {
    color: var(--colorText) !important
}

@media screen and (min-width:1201px) {
    .text-default[href]:hover {
        color: var(--colorMain) !important
    }
}

.text-primary {
    color: var(--colorMain) !important
}

.text-muted {
    color: var(--colorTextMuted) !important
}

.text-white {
    color: #fff !important
}

.text-success {
    color: #32a501 !important
}

.p-center {
    margin-left: auto !important;
    margin-right: auto !important
}

.position-relative {
    position: relative
}

.position-absolute {
    position: absolute !important
}

.z-1 {
    z-index: 1 !important
}

.z-2 {
    z-index: 2 !important
}

.img-cover-abs {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.img-cover {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.img-fluid {
    width: 100%;
    height: auto;
    border-radius: var(--borderRadius)
}

@media screen and (max-width:1200px) {
    .tab-hide {
        display: none !important
    }
}

@media screen and (max-width:767px) {
    .mob-hide {
        display: none !important
    }
}

@media screen and (min-width:1201px) {
    .desktop-hide {
        display: none !important
    }
}

.show-desktop {
    display: none
}

@media screen and (min-width:1201px) {
    .show-desktop {
        display: block
    }
}

.show-tab {
    display: none
}

@media screen and (max-width:1200px) {
    .show-tab {
        display: block
    }
}

.show-mob {
    display: none
}

@media screen and (max-width:767px) {
    .show-mob {
        display: block
    }
}

.m-0 {
    margin: 0 !important
}

.mt-0 {
    margin-top: 0 !important
}

.mb-0 {
    margin-bottom: 0 !important
}

.mt-1 {
    margin-top: var(--gridMargin) !important
}

.mt-2 {
    margin-top: calc(var(--gridMargin)*2) !important
}

.mt-3 {
    margin-top: calc(var(--gridMargin)*3) !important
}

.mb-1 {
    margin-bottom: var(--gridMargin) !important
}

.mb-2 {
    margin-bottom: calc(var(--gridMargin)*2) !important
}

.mb-3 {
    margin-bottom: calc(var(--gridMargin)*3) !important
}

.my-1,
.spacing-y-1 {
    margin: var(--gridMargin) 0 !important
}

.my-1:first-child,
.spacing-y-1:first-child {
    margin-top: 0 !important
}

.my-1:last-child,
.spacing-y-1:last-child {
    margin-bottom: 0 !important
}

.my-2,
.spacing-y-2 {
    margin: calc(var(--gridMargin)*2) 0 !important
}

.my-2:first-child,
.spacing-y-2:first-child {
    margin-top: 0 !important
}

.my-2:last-child,
.spacing-y-2:last-child {
    margin-bottom: 0 !important
}

.my-3,
.spacing-y-3 {
    margin: calc(var(--gridMargin)*3) 0 !important
}

.my-3:first-child,
.spacing-y-3:first-child {
    margin-top: 0 !important
}

.my-3:last-child,
.spacing-y-3:last-child {
    margin-bottom: 0 !important
}

@media screen and (min-width:1201px) {
    .mt-4-desktop {
        margin-top: calc(var(--gridMargin)*4) !important
    }
}

@media screen and (max-width:1200px) {
    .mt-1-tab {
        margin-top: var(--gridMargin) !important
    }

    .mt-2-tab {
        margin-top: calc(var(--gridMargin)*2) !important
    }
}

@media screen and (max-width:767px) {
    .mt-2-mob {
        margin-top: calc(var(--gridMargin)*2) !important
    }

    .mb-1-mob {
        margin-bottom: var(--gridMargin) !important
    }

    .mb-2-mob {
        margin-bottom: calc(var(--gridMargin)*2) !important
    }
}

.grid-cols {
    display: grid;
    gap: var(--gridMargin) 0;
    margin: var(--gridMargin) calc(-1*var(--gridMargin)/2)
}

.grid-cols__col {
    padding: 0 calc(var(--gridMargin)/2)
}

@media screen and (min-width:1201px) {
    .grid-cols__col--2spanX {
        grid-column: span 2
    }
}

@media screen and (min-width:1201px) {
    .grid-cols__col--2spanXY {
        grid-column: span 2;
        grid-row: span 2
    }
}

@media screen and (min-width:1201px) {
    .grid-cols__col--3spanX {
        grid-column: span 3
    }
}

.grid-cols:first-child {
    margin-top: 0 !important
}

.grid-cols:last-child {
    margin-bottom: 0 !important
}

@media screen and (max-width:767px) {
    .grid-cols {
        grid-template-columns: 100%
    }
}

.grid-cols--2 {
    grid-template-columns: repeat(2, 50%)
}

@media screen and (max-width:767px) {
    .grid-cols--2 {
        grid-template-columns: 100%
    }
}

.grid-cols--3 {
    grid-template-columns: repeat(3, 33.33%)
}

@media screen and (max-width:767px) {
    .grid-cols--3 {
        grid-template-columns: 100%
    }
}

.grid-cols--4 {
    grid-template-columns: repeat(4, 25%)
}

@media screen and (max-width:1200px) {
    .grid-cols--4 {
        grid-template-columns: repeat(2, 50%)
    }
}

@media screen and (max-width:767px) {
    .grid-cols--4 {
        grid-template-columns: 100%
    }
}

.grid-cols--5 {
    grid-template-columns: repeat(5, 20%)
}

@media screen and (max-width:1200px) {
    .grid-cols--5 {
        grid-template-columns: repeat(2, 50%)
    }
}

@media screen and (max-width:767px) {
    .grid-cols--5 {
        grid-template-columns: 100%
    }
}

.grid-cols--7 {
    grid-template-columns: repeat(7, 14.285%)
}

@media screen and (max-width:1200px) {
    .grid-cols--7 {
        grid-template-columns: repeat(4, 25%)
    }
}

@media screen and (max-width:767px) {
    .grid-cols--7 {
        grid-template-columns: repeat(2, 50%)
    }
}

@media screen and (max-width:1200px) {
    .grid-cols--tab-1col {
        grid-template-columns: 100%
    }
}

@media screen and (max-width:1200px) {
    .grid-cols--tab-2col {
        grid-template-columns: 1fr 1fr
    }
}

@media screen and (max-width:767px) {
    .grid-cols--tab-2col {
        grid-template-columns: 100%
    }
}

@media screen and (max-width:767px) {
    .grid-cols--mob-2col {
        grid-template-columns: 50% 50%
    }
}

.grid-cols--gap-0 {
    gap: 0;
    margin-left: 0;
    margin-right: 0
}

.grid-cols--gap-0 .grid-cols__col {
    padding: 0
}

@media screen and (min-width:1201px) {
    .grid-cols--gap-0-desktop {
        gap: 0;
        margin-left: 0;
        margin-right: 0
    }

    .grid-cols--gap-0-desktop .grid-cols__col {
        padding: 0
    }
}

@media screen and (min-width:1201px) {
    .grid-cols--increase-y-space {
        gap: calc(var(--gridMargin)*2) 0
    }
}

@media screen and (max-width:1200px) {
    .grid-cols--increase-y-space {
        gap: 2rem 0
    }
}

@media screen and (max-width:1200px) {
    .grid-cols--increase-y-space-tab {
        gap: 2rem 0
    }
}

@media screen and (min-width:1201px) {
    .grid-cols--increase-h-space {
        margin: var(--gridMargin) calc(-1*(var(--gridMargin)))
    }

    .grid-cols--increase-h-space .grid-cols__col {
        padding: 0 var(--gridMargin)
    }
}

.grid-cols--v-centered {
    align-items: center
}

.grid-cols--count {
    counter-reset: grid
}

.grid-cols--count .grid-cols__col {
    counter-increment: grid
}

.grid-cols--flex-equal {
    display: flex
}

.grid-cols--flex-equal .grid-cols__col {
    flex-grow: 1;
    flex-basis: 0
}

@media screen and (max-width:767px) {
    .grid-cols--flex-equal {
        flex-wrap: wrap
    }

    .grid-cols--flex-equal .grid-cols__col {
        width: 50%
    }
}

.grid-cols--sep {
    margin: var(--gridMargin) 0
}

.grid-cols--sep .grid-cols__col {
    border-left: 1px solid var(--colorBorder);
    padding: 0 var(--gridMargin)
}

@media screen and (min-width:1201px) {
    .grid-cols--sep .grid-cols__col:nth-child(5n-4) {
        border-left: none;
        padding-left: 0
    }

    .grid-cols--sep .grid-cols__col:nth-child(5n) {
        padding-right: 0
    }
}

@media screen and (max-width:1200px) {
    .grid-cols--sep .grid-cols__col:nth-child(2n-1) {
        border-left: none;
        padding-left: 0
    }

    .grid-cols--sep .grid-cols__col:nth-child(2n) {
        padding-right: 0
    }
}

@media screen and (max-width:767px) {
    .grid-cols--sep .grid-cols__col {
        border: none !important;
        padding: 0 !important
    }
}

.between-y-items {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--gridMargin);
    height: 100%
}

.between-y-items--gap-0 {
    gap: 0
}

@media screen and (min-width:1201px) {
    .between-y-items-desktop {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: var(--gridMargin);
        height: 100%
    }

    .between-y-items-desktop--gap-0 {
        gap: 0
    }
}

.between-y-items-start {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--gridMargin);
    height: 100%
}

.between-y-items-start--gap-0 {
    gap: 0
}

.between-y-items-end {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: start;
    gap: var(--gridMargin);
    height: 100%
}

.between-y-items-end--gap-0 {
    gap: 0
}

@media screen and (min-width:1201px) {
    .between-y-items-end {
        align-items: flex-end;
        text-align: right
    }
}

.between-x-items {
    display: flex;
    justify-content: space-between;
    gap: var(--gridMargin)
}

@media screen and (max-width:767px) {
    .between-x-items {
        flex-direction: column
    }
}

.w-100 {
    width: 100%
}

@media screen and (min-width:1201px) {
    .w-auto-desktop {
        width: auto !important
    }
}

.h-100 {
    height: 100%
}

.mh-u {
    min-height: unset !important
}

.text-center {
    text-align: center !important
}

.text-left {
    text-align: left !important
}

.text-right {
    text-align: right
}

@media screen and (min-width:1201px) {
    .text-right-desktop {
        text-align: right
    }
}

.ttu {
    text-transform: uppercase !important
}

.fw-bold {
    font-weight: 700 !important
}

.justify-end {
    justify-content: flex-end !important
}

.justify-start {
    justify-content: flex-start !important
}

.align-start {
    align-items: flex-start !important
}

.overflow-visible {
    overflow: visible !important
}

.no-pointer {
    pointer-events: none !important
}

@font-face {
    font-family: Jost;
    src: url(../fonts/Jost-Medium.woff2) format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Jost;
    src: url(../fonts/Jost-SemiBold.woff2) format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Jost;
    src: url(../fonts/Jost-Light.woff2) format("woff2");
    font-weight: 300;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Jost;
    src: url(../fonts/Jost-Bold.woff2) format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Jost;
    src: url(../fonts/Jost-Black.woff2) format("woff2");
    font-weight: 900;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Jost;
    src: url(../fonts/Jost-ExtraBold.woff2) format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Jost;
    src: url(../fonts/Jost-Regular.woff2) format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

.s-goodstar {
    line-height: 0
}

.s-goodstar .br-theme-css-stars .br-widget {
    display: flex;
    height: auto;
    gap: .25rem
}

.s-goodstar .br-theme-css-stars .br-widget a {
    width: 1.5rem;
    height: 1.5rem;
    margin-right: 0
}

.s-goodstar .br-theme-css-stars .br-widget a:after {
    content: "" !important;
    background-image: url(../images/icon_star.svg);
    width: 1.5rem;
    height: 1.5rem;
    display: block
}

.s-goodstar .br-theme-css-stars .br-widget a.br-active,
.s-goodstar .br-theme-css-stars .br-widget a.br-selected {
    background-image: url(../images/icon_star_active.svg)
}

.amount {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 2.75rem;
    border-radius: 3.5rem;
    border: 1px solid var(--colorBorder);
    position: relative;
    width: 7.0625rem;
    min-width: 7.0625rem;
    padding: .3125rem
}

.amount .count_val {
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.amount input {
    position: absolute;
    z-index: -1;
    visibility: hidden;
    width: 1px;
    padding: 0;
    top: 0
}

.amount .down,
.amount .up {
    aspect-ratio: 1;
    height: 100%;
    width: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background-color: var(--colorLightGray);
    border: none;
    padding: 0;
    border-radius: 50%
}

.amount .down svg,
.amount .up svg {
    stroke: var(--colorBlueGray);
    width: 1rem;
    height: auto
}

@media screen and (min-width:1201px) {

    .amount .down:hover,
    .amount .up:hover {
        background-color: var(--colorMain)
    }

    .amount .down:hover svg,
    .amount .up:hover svg {
        stroke: #fff
    }
}

.comparison .comparison-total {
    display: none
}

.comparison .comparison-dialog {
    display: block
}

.comparison .comparison-remove {
    display: none
}

.comparison .comparison-remove svg {
    stroke: var(--colorMain)
}

.comparison.added .comparison-add {
    display: none
}

.comparison.added .comparison-remove {
    display: inline-flex
}

.msfavorites.button-text-icon .icon-button svg,
.msfavorites.icon-button svg {
    fill: none !important;
    stroke: var(--colorBlueGray)
}

.msfavorites.button-text-icon .icon-button.voted svg,
.msfavorites.icon-button.voted svg {
    fill: var(--colorMain) !important;
    stroke: none !important
}

@media screen and (min-width:1201px) {

    .msfavorites.button-text-icon .icon-button:hover svg,
    .msfavorites.icon-button:hover svg {
        fill: none;
        stroke: #fff
    }

    .msfavorites.button-text-icon .icon-button.voted:hover,
    .msfavorites.icon-button.voted:hover {
        background-color: var(--colorMain)
    }

    .msfavorites.button-text-icon .icon-button.voted:hover svg,
    .msfavorites.icon-button.voted:hover svg {
        fill: #fff;
        stroke: none
    }
}

.br-theme-css-stars .br-widget {
    height: 28px;
    white-space: nowrap
}

.br-theme-css-stars .br-widget a {
    text-decoration: none;
    height: 18px;
    width: 18px;
    float: left;
    font-size: 23px;
    margin-right: 5px
}

.br-theme-css-stars .br-widget a:after {
    content: "★";
    color: #d2d2d2
}

.br-theme-css-stars .br-widget a.br-active:after {
    color: #edb867
}

.br-theme-css-stars .br-widget a.br-selected:after {
    color: #edb867
}

.br-theme-css-stars .br-widget .br-current-rating {
    display: none
}

.br-theme-css-stars .br-readonly a {
    cursor: default
}

@media print {
    .br-theme-css-stars .br-widget a:after {
        content: "☆";
        color: #000
    }

    .br-theme-css-stars .br-widget a.br-active:after,
    .br-theme-css-stars .br-widget a.br-selected:after {
        content: "★";
        color: #000
    }
}

* {
    box-sizing: border-box;
    outline: 0
}

:after,
:before {
    box-sizing: border-box
}

html {
    font-size: 18px
}

@media(min-width:2000px) {
    html {
        font-size: 22px
    }
}

@media(min-width:2400px) {
    html {
        font-size: 24px
    }
}

@media(min-width:2800px) {
    html {
        font-size: 26px
    }
}

@media(min-width:3000px) {
    html {
        font-size: 28px
    }
}

@media(min-width:3200px) {
    html {
        font-size: 30px
    }
}

@media(min-width:3500px) {
    html {
        font-size: 32px
    }
}

@media(min-width:3700px) {
    html {
        font-size: 34px
    }
}

@media screen and (max-width:1200px) {
    html {
        font-size: 16px
    }
}

body {
    font-family: var(--fontMain);
    font-weight: 400;
    color: var(--colorText);
    background-color: #fff;
    font-optical-sizing: auto;
    font-style: normal
}

body.state-modal {
    overflow: hidden
}

@media screen and (max-width:767px) {
    body:has(.sticky-line) {
        padding-bottom: 6.375rem
    }
}

input[type=email],
input[type=number],
input[type=password],
input[type=tel],
input[type=text],
input[type=url],
select {
    outline: 0;
    font-weight: 500;
    height: 2.5rem;
    box-shadow: 0 0 0 2px transparent;
    padding: 0 1rem;
    font-size: 1rem;
    font-family: var(--fontMain);
    color: var(--colorText);
    background: var(--colorLightGray);
    border: 1px solid var(--colorBorder);
    border-radius: var(--borderRadius);
    outline: 0;
    transition-duration: var(--transitionDuration);
    transition-property: border-color, box-shadow, font-size, color, width
}

input[type=email]::placeholder,
input[type=number]::placeholder,
input[type=password]::placeholder,
input[type=tel]::placeholder,
input[type=text]::placeholder,
input[type=url]::placeholder,
select::placeholder {
    color: #909090;
    transition-duration: var(--transitionDuration);
    transition-property: color
}

input[type=email]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=tel]:focus,
input[type=text]:focus,
input[type=url]:focus,
select:focus {
    box-shadow: 0 0 0 2px var(--colorMain)
}

input[type=email]:focus::placeholder,
input[type=number]:focus::placeholder,
input[type=password]:focus::placeholder,
input[type=tel]:focus::placeholder,
input[type=text]:focus::placeholder,
input[type=url]:focus::placeholder,
select:focus::placeholder {
    color: rgba(0, 0, 0, .15)
}

@media screen and (max-width:1200px) {

    input[type=email],
    input[type=number],
    input[type=password],
    input[type=tel],
    input[type=text],
    input[type=url],
    select {
        font-size: 1.15rem
    }
}

@media screen and (max-width:767px) {

    input[type=email],
    input[type=number],
    input[type=password],
    input[type=tel],
    input[type=text],
    input[type=url],
    select {
        height: 3.5rem;
        font-size: 1rem
    }
}

textarea {
    font-weight: 500;
    height: 2.5rem;
    box-shadow: 0 0 0 2px transparent;
    padding: 0 1rem;
    font-size: 1rem;
    font-family: var(--fontMain);
    color: var(--colorText);
    background: var(--colorLightGray);
    border: 1px solid var(--colorBorder);
    border-radius: var(--borderRadius);
    outline: 0;
    transition-duration: var(--transitionDuration);
    transition-property: border-color, box-shadow, font-size, color, width
}

textarea::placeholder {
    color: #909090;
    transition-duration: var(--transitionDuration);
    transition-property: color
}

textarea:focus {
    box-shadow: 0 0 0 2px var(--colorMain)
}

textarea:focus::placeholder {
    color: rgba(0, 0, 0, .15)
}

@media screen and (max-width:1200px) {
    textarea {
        font-size: 1.15rem
    }
}

@media screen and (max-width:767px) {
    textarea {
        height: 3.5rem;
        font-size: 1rem
    }
}

textarea {
    height: 8.25rem;
    padding: 1.25rem;
    resize: none;
    border-radius: var(--borderRadius)
}

input[type=checkbox],
input[type=radio] {
    -webkit-appearance: none;
    appearance: none;
    background-color: rgba(0, 0, 0, 0);
    margin: 0;
    border-radius: .222rem;
    width: calc(1rem + 2px);
    min-width: calc(1rem + 2px);
    height: calc(1rem + 2px);
    padding: 0;
    border: 2px solid var(--colorMain);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 120%;
    cursor: pointer
}

input[type=checkbox]:checked,
input[type=radio]:checked {
    background-color: var(--colorMain);
    border-color: var(--colorMain)
}

input[type=checkbox]:checked {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='%23ffffff'%3E%3Cpath d='M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z'/%3E%3C/svg%3E")
}

input[type=radio] {
    border-radius: 50%
}

input[type=radio]:checked {
    box-shadow: inset 0 0 0 .35rem #fff
}

select {
    -webkit-appearance: none;
    appearance: none;
    background-image: url(../images/icon_chevron.svg);
    background-position: calc(100% - 1rem) center;
    background-size: 1.5rem;
    background-repeat: no-repeat
}

button {
    font-family: var(--fontMain);
    font-size: 1rem
}

a {
    color: var(--colorMain);
    text-decoration: none
}

a:hover {
    text-decoration: none
}

@media screen and (min-width:1201px) {
    a:hover {
        color: var(--colorText)
    }
}

a.link-border {
    position: relative
}

a.link-border:before {
    content: "";
    height: 1px;
    width: 0;
    transition-duration: var(--transitionDuration);
    transition-property: width;
    background: var(--colorMain);
    position: absolute;
    top: calc(100% + .1em)
}

@media screen and (min-width:1201px) {
    a.link-border:hover {
        color: var(--colorMain)
    }

    a.link-border:hover:before {
        width: 100%
    }

    a.link-border.link-invert:hover {
        color: var(--colorText)
    }

    a.link-border.link-invert:hover:before {
        background-color: var(--colorText)
    }

    a.link-border.text-white:hover {
        color: #fff
    }

    a.link-border.text-white:hover:before {
        background-color: #fff
    }

    a.link-border.text-default:hover {
        color: var(--colorText) !important
    }

    a.link-border.text-default:hover:before {
        background-color: var(--colorText)
    }
}

a.link-invert {
    color: var(--colorText)
}

.button,
a,
button {
    transition-property: color, opacity, border, background-color, transform, box-shadow, background-position;
    transition-duration: var(--transitionDuration)
}

svg {
    transition-duration: var(--transitionDuration);
    transition-property: stroke, fill, transform, opacity
}

b,
strong {
    font-weight: 700
}

sup {
    vertical-align: super;
    font-size: .7em
}

sub {
    vertical-align: sub;
    font-size: .7em
}

.h1,
h1 {
    font-weight: 600;
    font-size: 3.11rem;
    line-height: 105%;
    letter-spacing: -.02em;
    font-family: var(--fontSecondary);
    margin: 0 0 calc(var(--gridMargin)*2) 0;
    color: var(--colorBlack)
}

@media screen and (min-width:1201px) {

    .h1.category-title,
    h1.category-title {
        max-width: 80%
    }
}

@media screen and (max-width:1200px) {

    .h1,
    h1 {
        font-size: 3.5rem;
        margin-bottom: 2.5rem
    }
}

@media screen and (max-width:767px) {

    .h1,
    h1 {
        font-size: 2.4rem;
        margin-bottom: 2rem
    }

    .h1.h1-mob-small,
    h1.h1-mob-small {
        font-size: 1.6rem
    }
}

@media screen and (min-width:1201px) {

    .h1.h1-big,
    h1.h1-big {
        font-size: 6.61vw;
        line-height: 110%
    }
}

.h2,
h2 {
    font-size: 2.056rem;
    font-weight: 600;
    line-height: 120%;
    letter-spacing: -.02em
}

@media screen and (max-width:767px) {

    .h2,
    h2 {
        font-size: 1.85rem
    }
}

.h3,
h3 {
    font-size: 1.78rem;
    line-height: 100%
}

@media screen and (max-width:1200px) {

    .h3,
    h3 {
        font-size: 1.5rem
    }
}

@media screen and (max-width:767px) {

    .h3,
    h3 {
        font-size: 1.35rem
    }
}

.h4,
h4 {
    font-size: 1.25rem;
    line-height: 100%
}

.h5,
h5 {
    font-size: 1rem;
    margin: 2rem 0 1.5rem 0
}

.h5:first-child,
h5:first-child {
    margin-top: 0 !important
}

.h5:last-child,
h5:last-child {
    margin-bottom: 0 !important
}

@media screen and (max-width:1200px) {

    .h5,
    h5 {
        margin: 1.75rem 0 1.15rem 0
    }
}

.h2,
.h3,
.h4,
h2,
h3,
h4 {
    font-weight: 400;
    color: var(--colorBlack);
    margin: 3rem 0 2rem 0
}

.h2:first-child,
.h3:first-child,
.h4:first-child,
h2:first-child,
h3:first-child,
h4:first-child {
    margin-top: 0 !important
}

.h2:last-child,
.h3:last-child,
.h4:last-child,
h2:last-child,
h3:last-child,
h4:last-child {
    margin-bottom: 0 !important
}

@media screen and (max-width:1200px) {

    .h2,
    .h3,
    .h4,
    h2,
    h3,
    h4 {
        margin: 1.75rem 0 1.15rem 0
    }
}

@media screen and (max-width:767px) {

    .h2,
    .h3,
    .h4,
    h2,
    h3,
    h4 {
        line-height: 110%
    }
}

caption,
td,
th {
    font-weight: 500
}

hr {
    background-color: var(--colorBorder);
    border: none;
    margin: 3.333rem 0;
    height: 1px
}

hr.hr-light {
    background-color: hsla(0, 0%, 100%, .7)
}

.fz-16 {
    font-size: .89rem
}

.mw-1 {
    max-width: 68.278rem
}

.mw-2 {
    max-width: 36.889rem
}

@media screen and (min-width:1201px) {
    .wrapper {
        margin: 0 auto;
        max-width: var(--wrapperWidth)
    }
}

@media screen and (max-width:1200px) {
    .wrapper {
        padding: 0 var(--wrapperSpace)
    }
}

.button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    font-size: 1rem;
    cursor: pointer;
    border: none;
    outline: 0;
    background: 0 0;
    padding: 0 1.75rem;
    text-align: center;
    gap: .5rem;
    white-space: nowrap;
    font-family: var(--fontMain);
    line-height: 130%;
    height: 2.111rem;
    position: relative;
    border-radius: var(--borderRadius)
}

.button svg {
    width: 1.5rem;
    height: auto
}

.button--primary {
    background: var(--colorMain);
    color: #fff
}

.button--primary svg {
    fill: #fff;
    stroke: #fff
}

@media screen and (min-width:1201px) {
    .button--primary:hover {
        color: #fff;
        background-color: var(--colorBlack)
    }
}

.button--dark {
    background: var(--colorBlack);
    color: #fff
}

.button--dark svg {
    fill: #fff;
    stroke: #fff
}

@media screen and (min-width:1201px) {
    .button--dark:hover {
        color: #fff;
        background-color: var(--colorBlackLight)
    }
}

.button--green {
    background: var(--colorGreen);
    color: #fff
}

.button--green svg {
    fill: #fff;
    stroke: #fff
}

@media screen and (min-width:1201px) {
    .button--green:hover {
        color: #fff;
        background-color: var(--colorBlack)
    }
}

.button--white {
    background: #fff;
    color: var(--colorMain)
}

.button--white svg {
    fill: var(--colorMain);
    stroke: var(--colorMain)
}

@media screen and (min-width:1201px) {
    .button--white:hover {
        color: #fff;
        background-color: var(--colorBlack)
    }
}

.button--yellow {
    background: #fac039;
    color: var(--colorMain)
}

.button--yellow svg {
    fill: var(--colorMain);
    stroke: var(--colorMain)
}

@media screen and (min-width:1201px) {
    .button--yellow:hover {
        color: #fff;
        background-color: var(--colorBlack)
    }
}

.button--outlined-primary {
    background: rgba(0, 0, 0, 0);
    border: 1px solid var(--colorMain);
    color: var(--colorMain)
}

.button--outlined-primary svg {
    fill: var(--colorMain);
    stroke: var(--colorMain)
}

@media screen and (min-width:1201px) {
    .button--outlined-primary:hover {
        color: #fff;
        background-color: var(--colorMain);
        border-color: var(--colorMain)
    }
}

.button-text-icon {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    text-transform: uppercase;
    color: var(--colorText)
}

.button-text-icon .icon-button {
    pointer-events: none
}

@media screen and (min-width:1201px) {

    .button-text-icon:has(.icon-button--transparent):hover,
    .button-text-icon:has(.icon-button--transparent-blue-gray):hover {
        color: var(--colorMain)
    }

    .button-text-icon:has(.icon-button--transparent):hover svg,
    .button-text-icon:has(.icon-button--transparent-blue-gray):hover svg {
        fill: var(--colorMain);
        stroke: var(--colorMain)
    }
}

.button-text-icon:has(.icon-button--transparent-success) {
    color: var(--colorSuccess)
}

.button-text-icon--light {
    color: #fff
}

@media screen and (min-width:1201px) {
    .button-text-icon--light:hover {
        color: #fff;
        opacity: .75
    }
}

.button-text-icon--sm {
    gap: .5rem;
    text-transform: none
}

.button-text-icon--sm .icon-button {
    width: 1.5rem;
    min-width: 1.5rem;
    height: 1.5rem
}

.button-text-icon--sm .icon-button svg {
    width: 1.5rem
}

@media screen and (max-width:767px) {
    .button-text-icon--mob-no-text {
        font-size: 0
    }
}

.icon-button {
    width: 2rem;
    min-width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    padding: 0;
    transition-duration: var(--transitionDuration);
    transition-property: background-color, transform
}

.icon-button img,
.icon-button svg {
    width: 1rem;
    height: auto;
    fill: var(--colorMain);
    stroke: var(--colorMain)
}

@media screen and (min-width:1201px) {
    .icon-button:hover {
        background-color: var(--colorMainLight)
    }

    .icon-button:hover svg {
        fill: var(--colorMain);
        stroke: var(--colorMain)
    }
}

@media screen and (max-width:767px) {
    .icon-button {
        width: 2.5rem;
        min-width: 2.5rem;
        height: 2.5rem
    }

    .icon-button svg {
        width: 1.25rem;
        height: auto
    }
}

.icon-button--sm {
    width: 2rem;
    min-width: 2rem;
    height: 2rem
}

.icon-button--sm svg {
    width: 1.25rem
}

.icon-button--sm-icon svg {
    width: 1.25rem
}

.icon-button--primary {
    background-color: var(--colorMain)
}

.icon-button--primary svg {
    fill: #fff;
    stroke: #fff
}

.icon-button--gray {
    background-color: var(--colorLightGray)
}

.icon-button--gray svg {
    fill: var(--colorBlack);
    stroke: var(--colorBlack)
}

@media screen and (min-width:1201px) {
    .icon-button--gray:hover {
        background-color: var(--colorMain)
    }

    .icon-button--gray:hover svg {
        fill: #fff;
        stroke: #fff
    }
}

.icon-button--transparent {
    background-color: rgba(0, 0, 0, 0)
}

.icon-button--transparent svg {
    fill: var(--colorMain);
    stroke: var(--colorMain)
}

@media screen and (min-width:1201px) {
    .icon-button--transparent:hover {
        background-color: var(--colorMain)
    }

    .icon-button--transparent:hover svg {
        fill: #fff;
        stroke: #fff
    }
}

.icon-button--transparent-primary {
    background-color: rgba(0, 0, 0, 0)
}

.icon-button--transparent-primary svg {
    fill: var(--colorMain);
    stroke: var(--colorMain)
}

@media screen and (min-width:1201px) {
    .icon-button--transparent-primary:hover {
        background-color: var(--colorMain)
    }

    .icon-button--transparent-primary:hover svg {
        fill: #fff;
        stroke: #fff
    }
}

.icon-button--white {
    background-color: #fff
}

.icon-button--white svg {
    fill: var(--colorMain);
    stroke: var(--colorMain)
}

@media screen and (min-width:1201px) {
    .icon-button--white:hover {
        background-color: var(--colorMain)
    }

    .icon-button--white:hover svg {
        fill: #fff;
        stroke: #fff
    }
}

.icon-button--dark {
    background-color: var(--colorBlack)
}

.icon-button--dark svg {
    fill: #fff;
    stroke: #fff
}

@media screen and (min-width:1201px) {
    .icon-button--dark:hover {
        background-color: var(--colorMain)
    }

    .icon-button--dark:hover svg {
        fill: #fff;
        stroke: #fff
    }
}

.icon-button--icon img,
.icon-button--icon svg {
    width: 2rem;
    height: auto
}

@media screen and (max-width:767px) {

    .icon-button--icon img,
    .icon-button--icon svg {
        width: 2.5rem;
        height: auto
    }
}

.icons-buttons {
    display: flex;
    gap: 1.111rem
}

.modal-window {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: none;
    z-index: 410;
    overflow-y: scroll;
    padding: 1rem 0
}

.modal-window__window-overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    opacity: 0;
    z-index: 1;
    transition-property: opacity;
    transition-duration: .3s;
    background-color: rgba(0, 0, 0, .75)
}

.modal-window__window-holder {
    margin-right: auto;
    margin-left: auto;
    display: flex;
    align-items: center;
    max-width: 74.875rem;
    width: 100%;
    position: relative;
    z-index: 2
}

.modal-window__window {
    width: 100%;
    background-color: #fff;
    padding: 5rem 2.5rem;
    position: relative;
    z-index: 2;
    opacity: 0;
    transition-duration: .3s;
    transition-property: opacity, transform;
    transform: translateY(-2rem);
    border-radius: var(--borderRadius);
    background-repeat: no-repeat;
    background-size: cover
}

.modal-window__title {
    font-weight: 600;
    font-size: 2rem;
    line-height: 110%;
    text-transform: uppercase;
    margin-bottom: 1.25rem;
    font-family: var(--fontSecondary);
    text-align: center
}

.modal-window__sub-title {
    text-align: center;
    font-weight: 600;
    font-size: 2rem;
    text-transform: uppercase;
    font-family: var(--fontSecondary);
    margin-bottom: 2rem
}

.modal-window__text {
    margin-bottom: 1.25rem;
    line-height: 130%;
    text-align: center
}

.modal-window__text:first-child {
    margin-top: 0 !important
}

.modal-window__text:last-child {
    margin-bottom: 0 !important
}

.modal-window__text a {
    color: var(--colorSecondary)
}

.modal-window__close {
    padding: 0;
    cursor: pointer;
    right: 1rem;
    top: 1rem;
    position: absolute;
    width: 2.75rem;
    height: 2.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--colorBlack);
    border: none;
    border-radius: 50%
}

.modal-window__close-icon {
    width: 1.5rem;
    height: auto;
    stroke: #fff
}

@media screen and (min-width:1201px) {
    .modal-window__close:hover {
        background-color: var(--colorMain);
        border-color: var(--colorMain)
    }

    .modal-window__close:hover .modal-window__close-icon {
        stroke: #fff
    }
}

@media screen and (max-width:1200px) {
    .modal-window {
        padding: 1rem
    }
}

@media screen and (max-width:767px) {
    .modal-window__title {
        margin-top: .75rem;
        font-size: 2.2rem
    }

    .modal-window__sub-title {
        font-size: 1.5rem;
        margin-bottom: 1rem
    }

    .modal-window__close {
        right: .25rem;
        top: .25rem
    }

    .modal-window__window {
        padding: 2rem 1rem
    }

    .modal-window__window-inner {
        padding: 0;
        background-color: rgba(0, 0, 0, 0);
        backdrop-filter: none
    }

    .modal-window__text {
        font-size: 1rem
    }

    .modal-window__window-holder {
        max-width: 100%
    }
}

.modal-window--sm-width .modal-window__window-holder {
    max-width: 32rem
}

.modal-window--md-width .modal-window__window-holder {
    max-width: 60.5rem
}

.modal-window--text .modal-window__title {
    font-size: 2.25rem;
    text-align: left;
    padding: 0
}

.modal-window--text .modal-window__text {
    text-align: left;
    font-weight: 300
}

.modal-window.is-active {
    display: block
}

.modal-window.is-animated .modal-window__window,
.modal-window.is-animated .modal-window__window-overlay {
    opacity: 1
}

.modal-window.is-animated .modal-window__window {
    transform: translateY(0)
}

.modal-window.is-centred .modal-window__window-holder {
    top: 50%
}

.header {
    height: var(--headerHeight)
}

.header__inner {
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .1);
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 200
}

.header .wrapper {
    display: flex;
    height: var(--headerHeight);
    justify-content: center;
    flex-direction: column;
    transition-duration: .3s;
    transition-property: height
}

.header__row {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.header__row:nth-child(2) .header__col:nth-child(3) {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.header__row+.header__row {
    margin-top: 1.444rem
}

.header__col:nth-child(2) {
    width: 67.6%
}

.header__col:nth-child(3) {
    width: 12rem
}

.header__col:nth-child(3) .button {
    height: 1.389rem;
    font-weight: 300;
    font-size: .889rem
}

.header__col:nth-child(3) .button svg {
    height: 1rem;
    width: auto
}

.header.is-fixed .header__inner .wrapper {
    height: var(--headerHeightFixed)
}

@media screen and (max-width:1200px) {
    .header__row:first-child .header__col:nth-child(4) {
        display: flex;
        gap: 1rem
    }
}

.logo__image {
    width: 4.667rem;
    height: auto
}

.search-control {
    max-width: 47.167rem;
    width: 100%;
    position: relative;
    display: flex;
    height: 1.389rem
}

.search-control input.search-control__input {
    width: 100%;
    height: 100%;
    border-radius: var(--borderRadius) 0 0 var(--borderRadius);
    border-color: #acacac;
    font-size: .889rem;
    font-weight: 300;
    flex-grow: 1;
    padding-left: 1.5rem
}

.search-control .button {
    width: 4.111rem;
    min-width: 4.111rem;
    height: 100%;
    border-radius: 0 var(--borderRadius) var(--borderRadius) 0;
    padding: 0;
    font-size: .889rem;
    font-weight: 300
}

.search-control>svg {
    stroke: #b2b2b2;
    width: .889rem;
    height: auto;
    position: absolute;
    left: .444rem;
    top: 50%;
    transform: translateY(-50%)
}

.search-control .icon-button {
    display: none
}

@media(max-width:1400px) {
    .search-control {
        width: 19.41vw
    }
}

@media screen and (max-width:1200px) {
    .search-control {
        position: fixed;
        left: 0;
        top: 0;
        height: var(--headerHeight);
        width: 100%;
        background-color: #fff;
        padding: 1rem 4rem 1rem 1rem;
        transition-duration: var(--transitionDuration);
        transition-property: transform;
        transform: translateY(-100%)
    }

    .search-control>svg {
        display: none
    }

    .search-control input.search-control__input {
        padding-left: 1rem
    }

    .search-control .icon-button {
        display: flex;
        position: absolute;
        right: 1rem;
        top: 50%;
        transform: translateY(-50%)
    }

    .search-control.is-active {
        transform: translateY(0)
    }
}

.year-total-link {
    display: flex;
    align-items: center;
    gap: 1px;
    font-size: .944rem;
    font-weight: 300
}

.year-total-link svg {
    width: 1.111rem;
    height: 1.111rem;
    stroke: var(--colorMain)
}

@media screen and (min-width:1201px) {
    .year-total-link:hover svg {
        stroke: var(--colorBlack)
    }
}

.top-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition-duration: var(--transitionDuration);
    transition-property: margin;
    gap: 1.25vw
}

.top-nav__item--sub {
    position: relative
}

.top-nav__item--sub .top-nav__item-link {
    display: flex;
    align-items: center;
    gap: .364rem
}

.top-nav__item-link {
    width: 100%;
    color: var(--colorMain)
}

.top-nav__sub-trigger {
    padding: 0;
    border: none;
    background-color: rgba(0, 0, 0, 0);
    line-height: 0
}

.top-nav__sub-trigger svg {
    stroke: var(--colorMain);
    width: 1.25rem;
    height: auto
}

.top-nav__sub-link {
    color: var(--colorText);
    line-height: 130%
}

.top-nav__sub-link:hover {
    color: var(--colorMain)
}

@media screen and (min-width:1201px) {
    .top-nav__item-link-icon {
        width: 1.5rem;
        height: 1.5rem;
        transition-duration: var(--transitionDuration);
        transition-property: transform;
        stroke: var(--colorMain)
    }

    .top-nav__item-link-holder {
        backdrop-filter: blur(.591rem);
        background: hsla(0, 0%, 100%, .05);
        border-radius: 5.31rem;
        display: flex;
        align-items: center;
        gap: .625rem
    }

    .top-nav__item-link {
        font-size: .94rem;
        font-weight: 300
    }

    .top-nav__item-link:hover {
        color: var(--colorBlack)
    }

    .top-nav__sub-trigger {
        display: none
    }

    .top-nav__sub {
        visibility: hidden;
        opacity: 0;
        position: absolute;
        top: calc(100% + .727rem);
        transform: translateY(.5rem);
        left: 0;
        background-color: #f1f1f1;
        transition-duration: var(--transitionDuration);
        transition-property: opacity, transform, top;
        padding: 1.111rem 1.111rem 2.222rem 1.111rem;
        border-radius: var(--borderRadius);
        box-shadow: 0 0 1rem 0 rgba(0, 0, 0, .07);
        z-index: 200
    }

    .top-nav__sub:before {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        bottom: 100%;
        left: 0;
        height: .727rem
    }

    .top-nav__sub-link {
        white-space: nowrap;
        color: var(--colorGray);
        font-weight: 400;
        font-size: .89rem;
        position: relative
    }

    .top-nav__sub-link:before {
        content: "";
        position: absolute;
        width: 3.056rem;
        height: 1px;
        background-color: var(--colorGray);
        top: calc(100% + .611rem)
    }

    .top-nav__sub-inner {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 1.333rem
    }

    .top-nav__item:hover .top-nav__item-link {
        color: var(--colorMain)
    }

    .top-nav__item:hover .top-nav__item-link-icon {
        transform: rotate(-180deg);
        stroke: var(--colorMain)
    }

    .top-nav__item:hover .top-nav__sub {
        transform: translateY(0);
        opacity: 1;
        visibility: visible
    }

    .top-nav__item--sub-wide {
        position: static
    }

    .top-nav__item--sub-wide .top-nav__item-link-holder {
        position: relative
    }

    .top-nav__item--sub-wide .top-nav__item-link-holder:before {
        content: "";
        display: block;
        position: absolute;
        width: 1.5rem;
        bottom: 0;
        right: 100%;
        height: 100%
    }

    .top-nav__item--sub-wide .top-nav__sub:before {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        bottom: 100%;
        left: 0;
        height: 1.8rem
    }

    .top-nav__item--sub-wide .top-nav__sub {
        width: calc(100% - var(--wrapperSpace)*2);
        left: var(--wrapperSpace);
        top: 6rem;
        padding: 2.5rem
    }

    .top-nav__item--sub-wide .top-nav__sub-inner {
        width: 100%
    }

    .header.is-fixed .top-nav .top-nav__item--sub-wide .top-nav__sub {
        top: 4.6rem
    }
}

@media screen and (max-width:1200px) {
    .top-nav {
        gap: 0;
        flex-direction: column;
        align-items: flex-start
    }

    .top-nav__item-link-icon {
        display: none
    }

    .top-nav__sub {
        max-height: 0;
        overflow: hidden;
        transition: .4s max-height
    }

    .top-nav__item {
        width: 100%
    }

    .top-nav__item+.top-nav__item {
        margin-top: 1.5rem
    }

    .top-nav__item-link {
        color: var(--colorText)
    }

    .top-nav__item-link-holder {
        display: flex;
        justify-content: space-between
    }

    .top-nav__sub-trigger.is-active .top-nav__sub-trigger-icon {
        transform: rotate(-180deg)
    }

    .top-nav__sub-inner {
        display: flex;
        flex-direction: column;
        gap: .75rem;
        padding-top: .7rem
    }
}

.header-phone {
    color: var(--colorTextMuted);
    font-weight: 300;
    font-size: .89rem
}

.socilas {
    display: flex;
    align-items: center;
    gap: .222rem
}

.socilas svg {
    width: 1.333rem;
    height: auto
}

.socilas__link {
    transition-duration: var(--transitionDuration);
    transition-property: transform
}

@media screen and (min-width:1201px) {
    .socilas__link:hover {
        transform: scale(1.1)
    }
}

.socilas--center {
    justify-content: center
}

@media screen and (max-width:767px) {
    .socilas {
        gap: 1rem
    }

    .socilas svg {
        width: 2.222rem
    }
}

.start-banner {
    display: block;
    line-height: 0
}

.start-banner img {
    width: 100%;
    height: auto
}

@media screen and (min-width:1201px) {
    .start-banner img {
        height: 20rem
    }
}

.mobile-sidebar {
    display: none
}

@media screen and (max-width:1200px) {
    .mobile-sidebar {
        display: flex;
        flex-direction: column;
        gap: 2rem;
        background-color: #fff;
        box-shadow: 0 0 1rem rgba(0, 0, 0, .15);
        height: 100%;
        position: fixed;
        right: 0;
        top: 0;
        width: 100%;
        max-width: 16.667rem;
        padding: 5rem 1rem 1rem 1rem;
        transition-duration: var(--transitionDuration);
        transition-property: transform;
        transform: translateX(calc(100% + 2rem));
        z-index: 400
    }

    .mobile-sidebar>.icon-button {
        position: absolute;
        right: 1rem;
        top: 1rem
    }

    .mobile-sidebar.is-active {
        transform: translateX(0)
    }
}

.page-grid {
    display: flex;
    gap: 2.111rem
}

@media screen and (min-width:1201px) {
    .page-grid__main {
        flex-grow: 1
    }

    .page-grid__sidebar {
        width: 16.444rem;
        min-width: 16.444rem
    }
}

@media screen and (max-width:1200px) {
    .page-grid {
        flex-direction: column
    }
}

.section {
    margin: var(--defaultSectionSpace) 0
}

.section .h2,
.section h2 {
    margin: 0 0 3.111rem 0
}

@media screen and (min-width:1201px) {

    .section .h2.single-section-h2,
    .section h2.single-section-h2 {
        margin: 0 0 3.111rem 0 !important
    }
}

@media screen and (max-width:1200px) {

    .section .h2.single-section-h2,
    .section h2.single-section-h2 {
        margin: 0 0 1.5rem 0 !important
    }
}

@media screen and (max-width:1200px) {

    .section .h2,
    .section h2 {
        margin: 0 0 1.5rem 0
    }
}

.section--start {
    margin-top: 0;
    margin-bottom: 0
}

.section--start+.section {
    margin-top: calc(var(--defaultSectionSpace)/1.5)
}

.banners-list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.444rem 2.167rem
}

.banners-list a {
    line-height: 0;
    width: calc(50% - 1.0835rem)
}

.banners-list a img {
    width: 100%;
    height: auto;
    border-radius: var(--borderRadius);
    box-shadow: 0 .222rem .222rem 0 rgba(0, 0, 0, .25);
    transition-duration: var(--transitionDuration);
    transition-property: box-shadow
}

.banners-list a:nth-child(3n) {
    width: 100%
}

@media screen and (min-width:1201px) {
    .banners-list a:hover img {
        box-shadow: 0 .35rem .5rem 0 rgba(0, 0, 0, .35)
    }
}

@media screen and (max-width:767px) {
    .banners-list a {
        width: 100%;
        gap: 12rem
    }
}

.sidebar-panel {
    display: flex;
    flex-direction: column;
    gap: 1.111rem;
    justify-content: space-between
}

.sidebar-panel__list {
    display: flex;
    flex-direction: column;
    gap: 1.111rem
}

.news-item {
    padding: .667rem;
    border-radius: var(--borderRadius);
    border: 4px solid var(--colorBorder);
    color: var(--colorText)
}

.news-item__date {
    font-weight: 700;
    font-size: .83rem;
    line-height: 130%
}

.news-item__title {
    font-size: .94rem;
    margin-top: .444rem;
    line-height: 140%
}

@media screen and (min-width:1201px) {
    .news-item:hover {
        border-color: var(--colorMain) !important
    }
}

.news-item--red {
    background-color: var(--colorMainLight);
    border-color: var(--colorMainLight)
}

.ecosystem-block {
    padding: 2.667rem;
    border-radius: var(--borderRadius);
    background: linear-gradient(45deg, #d3e0f0 0, #fff6ec 80.45%);
    display: grid;
    grid-template-columns: repeat(2, calc(50% - 1.0835rem));
    gap: 2.167rem
}

.ecosystem-block__image {
    width: 100%;
    height: auto;
    border-radius: var(--borderRadius)
}

.ecosystem-block__col:nth-child(2) {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem
}

.ecosystem-block__col .button {
    width: 100%
}

@media screen and (max-width:767px) {
    .ecosystem-block {
        padding: 1rem;
        grid-template-columns: 100%
    }
}

.text-styles {
    line-height: 130%
}

.text-styles h2,
.text-styles h3,
.text-styles h4 {
    text-align: left;
    text-transform: none !important
}

.text-styles p {
    margin: 1rem 0
}

.text-styles p:first-child {
    margin-top: 0 !important
}

.text-styles p:last-child {
    margin-bottom: 0 !important
}

.text-styles ol,
.text-styles ul {
    margin: 1rem 0
}

.text-styles ol li:not(:first-child),
.text-styles ul li:not(:first-child) {
    margin-top: .75rem
}

.text-styles ol li:not(:first-child):first-child,
.text-styles ul li:not(:first-child):first-child {
    margin-top: 0 !important
}

.text-styles ol li:not(:first-child):last-child,
.text-styles ul li:not(:first-child):last-child {
    margin-bottom: 0 !important
}

.text-styles ul:first-child {
    margin-top: 0 !important
}

.text-styles ul:last-child {
    margin-bottom: 0 !important
}

.text-styles ul li {
    position: relative;
    padding-left: 1rem;
    margin: .75rem 0
}

.text-styles ul li:first-child {
    margin-top: 0 !important
}

.text-styles ul li:last-child {
    margin-bottom: 0 !important
}

.text-styles ul li:before {
    content: "";
    position: absolute;
    left: 0;
    top: .45em;
    width: 8px;
    height: 8px;
    background-color: var(--colorMain);
    border-radius: 50%
}

@media screen and (min-width:2000px) {
    .text-styles ul li:before {
        width: .5rem;
        height: .5rem
    }
}

.text-styles ol {
    counter-reset: ol
}

.text-styles ol:first-child {
    margin-top: 0 !important
}

.text-styles ol:last-child {
    margin-bottom: 0 !important
}

.text-styles ol li {
    counter-increment: ol;
    position: relative;
    padding-left: 2.222rem;
    padding-top: .2em;
    min-height: 2rem;
    margin: 1rem 0
}

.text-styles ol li:first-child {
    margin-top: 0 !important
}

.text-styles ol li:last-child {
    margin-bottom: 0 !important
}

.text-styles ol li:before {
    content: counter(ol);
    font-size: 1rem;
    font-weight: 400;
    width: 1.556rem;
    height: 1.556rem;
    background-color: var(--colorBorder);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--colorMain);
    position: absolute;
    left: 0;
    top: 0
}

.text-styles img {
    display: block;
    border-radius: var(--borderRadius);
    margin: calc(var(--gridMargin)*2) 0;
    height: auto;
    max-width: 100%;
    position: relative;
    width: 100%;
    z-index: 2
}

.text-styles img:first-child {
    margin-top: 0 !important
}

.text-styles img:last-child {
    margin-bottom: 0 !important
}

.text-styles table {
    margin: 1.5rem 0;
    width: 100%
}

.text-styles table:first-child {
    margin-top: 0 !important
}

.text-styles table:last-child {
    margin-bottom: 0 !important
}

.text-styles table th {
    border-bottom: 2px solid var(--colorMain);
    padding: 1.5rem 1rem;
    font-weight: 600;
    font-size: .75rem;
    color: var(--colorMain);
    text-transform: uppercase
}

.text-styles table th:first-child {
    padding-left: 0
}

.text-styles table th:last-child {
    padding-right: 0
}

.text-styles table td {
    border-bottom: 1px solid var(--colorBorder);
    padding: 1rem;
    font-weight: 500
}

.text-styles table td:first-child {
    padding-left: 0
}

.text-styles table td:last-child {
    padding-right: 0
}

@media(max-width:1024px) {
    .text-styles table td {
        font-size: .875rem
    }
}

@media screen and (min-width:1201px) {
    .text-styles h2 {
        font-size: 2rem;
        line-height: 120%;
        text-transform: uppercase
    }
}

@media screen and (max-width:1200px) {

    .text-styles h2,
    .text-styles h3 {
        margin: 2rem 0 1rem 0
    }
}

@media screen and (max-width:767px) {
    .text-styles img {
        width: 100%
    }

    .text-styles h3 {
        font-size: 1.25rem
    }

    .text-styles h2,
    .text-styles h3 {
        margin: 1.5rem 0 1rem 0
    }
}

.text-styles--text-gray {
    color: var(--colorTextMuted2)
}

.text-styles--text-gray h2,
.text-styles--text-gray h3,
.text-styles--text-gray h4 {
    color: var(--colorText)
}

.event-item {
    box-shadow: 0 .174rem .174rem 0 rgba(0, 0, 0, .25);
    background: #f0f0f0;
    border-radius: .39rem;
    overflow: hidden;
    font-family: var(--fontSecondary);
    color: #5a5a5a;
    transition-duration: var(--transitionDuration);
    transition-property: box-shadow;
    display: flex;
    flex-direction: column
}

.event-item__top {
    border: 2px solid var(--colorMain);
    border-radius: var(--borderRadius);
    overflow: hidden;
    display: flex;
    min-height: 1.944rem
}

.event-item__date {
    font-weight: 900;
    font-size: .78rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--colorMain);
    color: #fff;
    width: 6.611rem;
    height: 100%;
    text-transform: uppercase;
    min-height: 1.944rem;
    border-radius: 0 .39em .39em 0
}

.event-item__type {
    text-align: center;
    font-weight: 600;
    font-size: .83rem;
    line-height: 100%;
    flex-grow: 1;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center
}

.event-item__info {
    padding: .778rem 1.222rem 2.111rem 1.222rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1
}

.event-item__name {
    font-weight: 600;
    font-size: 1.22rem;
    line-height: 114%;
    min-height: 3.304rem;
    color: #6a6a6a
}

.event-item__speaker {
    margin-top: .444rem;
    display: flex;
    align-items: flex-start;
    gap: .348em;
    flex-grow: 1
}

.event-item__speaker-info {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%
}

.event-item__speaker-image {
    width: 3.889rem;
    height: auto;
    border-radius: 50%;
    background: #fff
}

.event-item__speaker-name {
    font-weight: 700;
    font-size: .78rem;
    line-height: 129%;
    color: var(--colorMain)
}

.event-item__speaker-name span {
    display: block
}

.event-item__speaker-desc {
    font-weight: 400;
    font-size: .78rem;
    line-height: 119%;
    margin-top: .389rem
}

.event-item__speaker-action {
    background-color: #fff;
    border-radius: 1.74em;
    height: 1em;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 1.13em;
    margin-top: .7em;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .25)
}

.event-item__speaker-action-icon {
    fill: var(--colorMain);
    transition-duration: var(--transitionDuration);
    transition-property: transform;
    width: 100%
}

.event-item__image-holder {
    flex-grow: 1;
    display: flex;
    align-items: center
}

.event-item__image {
    width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: scale-down
}

.event-item:hover {
    color: #5a5a5a;
    box-shadow: 0 .274rem .574rem 0 rgba(0, 0, 0, .25)
}

.event-item:hover .event-item__speaker-action-icon {
    transform: translateX(5%)
}

@media screen and (max-width:767px) {
    .event-item {
        font-size: 1.4rem
    }

    .event-item__date {
        width: 7rem
    }
}

.event-item--pay {
    background-color: var(--webinarPayColorLight)
}

.event-item--pay .event-item__type {
    color: var(--webinarPayColor)
}

.event-item--free {
    background-color: var(--webinarFreeColorLight)
}

.event-item--free .event-item__type {
    color: var(--webinarFreeColor)
}

.event-item--air {
    background-color: #c3d8f5
}

.event-item--air .event-item__name,
.event-item--air .event-item__type {
    color: #6790c8
}

.event-item--image {
    background: #000;
    color: #fff
}

.event-item--image .event-item__info {
    padding-top: 0;
    padding-right: 0;
    padding-left: 0
}

.event-item--image .event-item__speaker-action {
    margin: .1em .957em 0 .957em
}

.event-item--image:hover {
    color: #fff
}

.data-form {
    position: relative
}

.data-form__row {
    display: flex;
    gap: 1rem
}

.data-form__row:not(:first-child) {
    margin-top: 1rem
}

.data-form__row--result {
    font-size: 1.25rem;
    line-height: 130%
}

.data-form__row--result #result {
    color: var(--colorTextMuted);
    text-align: right
}

.data-form__row--result #result[style*=block] {
    color: var(--colorMain)
}

.data-form__col:not(.data-form__col--auto) {
    flex-grow: 1;
    flex-basis: 0
}

.data-form__req {
    margin-top: var(--defaultSpace);
    color: var(--colorTextMuted2)
}

.data-form__label {
    color: var(--colorTextMuted)
}

.data-form__title {
    font-weight: 600;
    font-size: 2.67rem;
    letter-spacing: -.02em;
    font-family: var(--fontSecondary);
    margin-bottom: 1.333rem;
    position: relative;
    z-index: 4
}

.data-form__desc {
    line-height: 130%;
    margin-bottom: 1rem
}

.data-form__bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    object-fit: cover
}

.data-form__desc {
    position: relative;
    z-index: 4;
    font-weight: 600;
    font-size: 1.33rem;
    line-height: 120%;
    margin-bottom: 1.778rem
}

.data-form input[type=email],
.data-form input[type=tel],
.data-form input[type=text],
.data-form select,
.data-form textarea {
    width: 100%
}

.data-form textarea {
    padding: .833rem 1.111rem;
    scrollbar-width: thin
}

.data-form select {
    width: 100%
}

.data-form input[type=checkbox],
.data-form input[type=radio] {
    background-color: #fff
}

.data-form input[type=radio]:checked {
    box-shadow: inset 0 0 0 .25rem var(--colorBlack)
}

.data-form .button {
    width: 100%
}

@media screen and (max-width:1200px) {
    .data-form__row {
        flex-direction: column
    }

    .data-form__row--result {
        flex-direction: row
    }

    .footer .data-form,
    .section .data-form {
        max-width: 30rem;
        margin: 0 auto
    }

    .data-form .button--arrow {
        margin-right: 0;
        width: calc(100% - 3.25rem)
    }
}

@media screen and (max-width:767px) {
    .data-form__row {
        flex-direction: column
    }

    .data-form__actions {
        width: 100%
    }

    .data-form textarea {
        height: 9rem !important
    }

    .data-form__title {
        font-size: 1.75rem
    }

    .data-form__desc {
        font-size: 1rem
    }
}

.data-form--dark input[type=email],
.data-form--dark input[type=tel],
.data-form--dark input[type=text],
.data-form--dark select,
.data-form--dark textarea {
    background-color: #fff;
    border-color: #fff;
    color: var(--colorText)
}

.data-form--dark input[type=email]:focus::placeholder,
.data-form--dark input[type=tel]:focus::placeholder,
.data-form--dark input[type=text]:focus::placeholder,
.data-form--dark select:focus::placeholder,
.data-form--dark textarea:focus::placeholder {
    color: rgba(0, 0, 0, .15)
}

.data-form--dark .terms {
    color: hsla(0, 0%, 100%, .5)
}

.data-form--dark .terms a {
    color: #fff
}

@media screen and (min-width:1201px) {
    .data-form--dark .terms a:hover {
        color: #fff;
        text-decoration: underline
    }
}

.data-form--mw1 {
    max-width: 26.25rem
}

.data-form--mw2 {
    max-width: 41rem
}

.data-form--sm-inline {
    max-width: 39.875rem;
    margin: 0 auto
}

.data-form--bg {
    position: relative;
    padding: 3.333rem;
    color: #fff
}

.data-form--bg:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .28);
    z-index: 2
}

.data-form--bg .data-form__desc,
.data-form--bg .data-form__row,
.data-form--bg .data-form__title {
    max-width: 27.778rem
}

.data-form--bg .data-form__row {
    position: relative;
    z-index: 3
}

@media screen and (max-width:767px) {
    .data-form--bg {
        padding: 1rem
    }

    .data-form--bg:before {
        background: rgba(0, 0, 0, .75)
    }
}

.subscribe-block {
    color: #fff;
    background-color: var(--colorMain);
    padding: .889rem 1.222rem .889rem 1.5rem;
    border-radius: var(--borderRadius);
    display: flex;
    align-items: flex-start;
    gap: 1.111rem
}

.subscribe-block__icon {
    width: 5.333rem;
    min-width: 5.333rem;
    height: auto
}

.subscribe-block__info {
    display: flex;
    flex-direction: column;
    gap: 1.444rem
}

.subscribe-block__title {
    font-weight: 500;
    font-size: 2.5rem;
    line-height: 89%
}

.subscribe-block__desc {
    margin-top: .778rem;
    font-weight: 500
}

.subscribe-block .data-form {
    max-width: 23.222rem
}

.subscribe-block .data-form .button,
.subscribe-block .data-form input {
    height: 1.389rem
}

.subscribe-block .data-form .button {
    width: 100%;
    max-width: 10rem
}

.article-item {
    padding: .778rem;
    border-radius: var(--borderRadius);
    border: 4px solid var(--colorBorder);
    color: var(--colorText);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .35rem
}

.article-item__tag {
    font-weight: 500;
    font-size: 1rem;
    line-height: 111%;
    background-color: var(--colorLightBlue);
    display: inline-block;
    padding: .167rem .556rem;
    border-radius: var(--borderRadius)
}

.article-item__title {
    font-weight: 700;
    font-size: 1.33rem;
    line-height: 110%
}

.article-item__more {
    font-weight: 700;
    font-size: 1.11rem;
    line-height: 110%;
    color: var(--colorMain)
}

@media screen and (min-width:1201px) {
    .article-item:hover {
        border-color: var(--colorMain) !important
    }
}

.article-item+.article-item {
    margin-top: .611rem
}

.article-item--red {
    background-color: var(--colorMainLight);
    border-color: var(--colorMainLight)
}

.more-line {
    margin-top: .667rem
}

.social-banner {
    display: flex;
    flex-direction: column;
    gap: 1.167rem;
    padding: 1.222rem 1.389rem 1.778rem 1.389rem;
    color: #fff;
    border-radius: var(--borderRadius)
}

.social-banner__top {
    display: flex;
    align-items: flex-start;
    gap: .722rem
}

.social-banner__top svg {
    stroke: #fff;
    width: 3.222rem;
    min-width: 3.222rem;
    height: auto
}

@media screen and (min-width:1201px) {
    .social-banner:hover {
        color: #fff;
        transform: translateY(-2%)
    }
}

.social-banner--tg {
    background-color: #67b3ff
}

.social-banner--max {
    background-color: #6744e5
}

.social-banner+.social-banner {
    margin-top: .667rem
}

.single-banner {
    display: block;
    line-height: 0
}

.single-banner img {
    width: 100%;
    height: auto;
    border-radius: var(--borderRadius)
}

@media screen and (min-width:1201px) {
    .single-banner:hover {
        transform: translateY(-2%)
    }
}

.cta-test {
    background-color: var(--colorMain);
    padding: 1.722rem 1.167rem 2.389rem 1.167rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    border-radius: var(--borderRadius)
}

.cta-test svg {
    width: 5.889rem;
    height: auto;
    margin-bottom: 1.778rem
}

.cta-test__title {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 148%;
    color: #fff
}

.cta-test .button {
    margin-top: 2.333rem;
    width: 100%
}

@media screen and (min-width:1201px) {
    .cta-test:hover {
        transform: translateY(-2%)
    }
}

.clients-logo {
    display: flex;
    flex-wrap: wrap;
    gap: 2.333rem 1rem
}

.clients-logo img {
    height: 2rem
}

.form-block {
    background-color: var(--colorMain);
    padding: 3.222rem 4.444rem 4.111rem 4.444rem;
    border-radius: var(--borderRadius);
    color: #fff;
    display: flex;
    gap: 3.333rem
}

.form-block h2 {
    font-size: 2.22rem;
    line-height: 100%;
    color: #fff;
    margin: 0
}

.form-block__desc {
    line-height: 139%;
    margin-top: 1.444rem
}

@media screen and (min-width:1201px) {
    .form-block__left {
        max-width: 21.944rem
    }
}

@media screen and (max-width:1200px) {
    .form-block {
        flex-direction: column;
        gap: 1.5rem
    }
}

@media screen and (max-width:767px) {
    .form-block {
        padding: 1rem
    }
}

.check-item {
    display: flex;
    align-items: flex-start;
    gap: .5rem
}

.check-item label {
    cursor: pointer
}

.check-item input:checked+label {
    color: var(--colorMain)
}

.terms {
    line-height: 120%;
    display: flex;
    align-items: flex-start;
    gap: .278rem;
    font-size: .89rem;
    letter-spacing: -.05em
}

.terms a {
    text-decoration: none;
    color: var(--colorMain)
}

@media screen and (min-width:1201px) {
    .terms a:hover {
        color: var(--colorText)
    }
}

.terms+.terms {
    margin-top: .75rem
}

.terms input[type=checkbox]:not(:checked) {
    border-color: var(--colorMain);
    background-color: #fff
}

@media screen and (max-width:767px) {
    .terms {
        justify-content: flex-start;
        text-align: left;
        font-size: .875rem
    }
}

.data-form--dark .terms input[type=checkbox]:not(:checked) {
    border-color: #fff;
    background-color: rgba(0, 0, 0, 0)
}

.data-form--dark .terms input[type=checkbox]:checked {
    background-color: var(--colorBlack);
    border-color: var(--colorBlack)
}

.footer {
    padding: 5.444rem 0 6.222rem 0;
    color: #fff;
    background-color: var(--colorMain);
    margin: 5rem 0 0 0
}

.footer a:not(.button) {
    color: #fff;
    text-decoration: underline
}

@media screen and (min-width:1201px) {
    .footer a:not(.button):hover {
        text-decoration: none
    }
}

.footer .wrapper {
    display: flex
}

.footer__col:nth-child(1) {
    width: 9.222rem;
    min-width: 9.222rem
}

.footer__col:nth-child(2) {
    width: 19.222rem;
    min-width: 19.222rem;
    margin-left: 5.5rem
}

.footer__col:nth-child(3) {
    width: 12.222rem;
    min-width: 12.222rem;
    margin-left: 2.167rem
}

.footer__col:nth-child(4) {
    flex-grow: 1;
    margin-left: 5.278rem
}

.footer__col--between {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem
}

.footer .logo__image {
    width: 7.333rem
}

.footer .socilas {
    margin-top: .667rem
}

.footer .socilas svg {
    width: 2.222rem
}

.footer .data-form {
    gap: .5rem
}

.footer .data-form input[type=text] {
    height: 1.667rem;
    border-radius: .167rem
}

.footer .data-form .button {
    height: 1.667rem
}

@media screen and (max-width:767px) {
    .footer {
        padding: var(--defaultSectionSpace) 0
    }

    .footer .wrapper {
        flex-direction: column-reverse;
        gap: 3rem
    }

    .footer__col {
        margin: 0 !important;
        width: 100% !important
    }
}

.footer-nav {
    display: flex;
    flex-direction: column;
    gap: .15rem
}

.footer-nav__title-link {
    font-weight: 600;
    line-height: 140%;
    margin-bottom: 1.5rem
}

.footer-nav__title-link:last-child {
    margin-bottom: 0
}

.footer-nav__link {
    line-height: 140%
}

a.footer-phone {
    font-weight: 600;
    text-decoration: none !important
}

@media screen and (min-width:1201px) {
    a.footer-phone:hover {
        opacity: .75
    }
}

@media screen and (max-width:767px) {
    .ya-map-reviews>div {
        width: 100% !important
    }
}

.sticky-line {
    position: fixed;
    z-index: 200;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .667rem;
    background-color: #e1804f;
    padding: .667rem
}

.sticky-line__text {
    font-weight: 900;
    font-size: .89rem;
    color: #fff
}

.sticky-line .button {
    height: 1.389rem
}

@media screen and (max-width:767px) {
    .sticky-line {
        flex-direction: column;
        height: 6.375rem
    }
}

.timer {
    display: flex;
    gap: .667rem
}

.timer-group {
    display: flex;
    align-items: baseline;
    color: #fff;
    gap: .111rem
}

.timer-desc {
    display: none
}

.timer-item {
    border-radius: .17rem;
    width: 1.11rem;
    height: 1.39rem;
    background-color: #fefefe;
    font-weight: 900;
    font-size: .89rem;
    text-align: center;
    color: var(--colorMain);
    display: flex;
    align-items: center;
    justify-content: center
}

@media (max-width: 1200px) {
    .header__col.show-tab {
        width: max-content;
        display: flex !important;
        gap: .5rem;
    }
}