/* style.css */

/* lib-fancybox.css (from style.css) */
.carousel{position:relative;box-sizing:border-box}.carousel *,.carousel *:before,.carousel *:after{box-sizing:inherit}.carousel.is-draggable{cursor:move;cursor:grab}.carousel.is-dragging{cursor:move;cursor:grabbing}.carousel__viewport{position:relative;overflow:hidden;max-width:100%;max-height:100%}.carousel__track{display:flex}.carousel__slide{flex:0 0 auto;width:var(--carousel-slide-width, 60%);max-width:100%;padding:1rem;position:relative;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.has-dots{margin-bottom:calc(.5rem + 22px)}.carousel__dots{margin:0 auto;padding:0;position:absolute;top:calc(100% + .5rem);left:0;right:0;display:flex;justify-content:center;list-style:none;user-select:none}.carousel__dots .carousel__dot{margin:0;padding:0;display:block;position:relative;width:22px;height:22px;cursor:pointer}.carousel__dots .carousel__dot:after{content:"";width:8px;height:8px;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);background-color:currentColor;opacity:.25;transition:opacity .15s ease-in-out}.carousel__dots .carousel__dot.is-selected:after{opacity:1}.carousel__button{width:var(--carousel-button-width, 48px);height:var(--carousel-button-height, 48px);padding:0;border:0;display:flex;justify-content:center;align-items:center;pointer-events:all;cursor:pointer;color:var(--carousel-button-color, currentColor);background:var(--carousel-button-bg, transparent);border-radius:var(--carousel-button-border-radius, 50%);box-shadow:var(--carousel-button-shadow, none);transition:opacity .15s ease}.carousel__button.is-prev,.carousel__button.is-next{position:absolute;top:50%;transform:translateY(-50%)}.carousel__button.is-prev{left:10px}.carousel__button.is-next{right:10px}.carousel__button[disabled]{cursor:default;opacity:.3}.carousel__button svg{width:var(--carousel-button-svg-width, 50%);height:var(--carousel-button-svg-height, 50%);fill:none;stroke:currentColor;stroke-width:var(--carousel-button-svg-stroke-width, 1.5);stroke-linejoin:bevel;stroke-linecap:round;filter:var(--carousel-button-svg-filter, none);pointer-events:none}html.with-fancybox{scroll-behavior:auto}body.compensate-for-scrollbar{overflow:hidden !important;touch-action:none}.fancybox__container{position:fixed;top:0;left:0;bottom:0;right:0;direction:ltr;margin:0;padding:env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);box-sizing:border-box;display:flex;flex-direction:column;color:var(--fancybox-color, #fff);-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;z-index:1050;outline:none;transform-origin:top left;--carousel-button-width: 60px;--carousel-button-height: 60px;--carousel-button-svg-width: 24px;--carousel-button-svg-height: 24px;--carousel-button-svg-stroke-width: 2.5;--carousel-button-svg-filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.4))}.fancybox__container *,.fancybox__container *::before,.fancybox__container *::after{box-sizing:inherit}.fancybox__container :focus{outline:none}body:not(.is-using-mouse) .fancybox__container :focus{box-shadow:0 0 0 1px #fff,0 0 0 2px var(--fancybox-accent-color, rgba(1, 210, 232, 0.94))}@media all and (min-width: 1024px){.fancybox__container{--carousel-button-width:60px;--carousel-button-height:60px;--carousel-button-svg-width:27px;--carousel-button-svg-height:27px}}.fancybox__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--fancybox-bg, rgba(24, 24, 27, 0.92))}.fancybox__carousel{position:relative;flex:1 1 auto;min-height:0;height:100%;z-index:10}.fancybox__carousel.has-dots{margin-bottom:calc(.5rem + 22px)}.fancybox__viewport{position:relative;width:100%;height:100%;overflow:visible;cursor:default}.fancybox__track{display:flex;height:100%}.fancybox__slide{flex:0 0 auto;width:100%;max-width:100%;margin:0;padding:48px 8px 8px 8px;position:relative;overscroll-behavior:contain;display:flex;flex-direction:column;outline:0;overflow:auto;--carousel-button-width: 36px;--carousel-button-height: 36px;--carousel-button-svg-width: 22px;--carousel-button-svg-height: 22px}.fancybox__slide::before,.fancybox__slide::after{content:"";flex:0 0 0;margin:auto}@media all and (min-width: 1024px){.fancybox__slide{padding:64px 100px}}.fancybox__content{margin:0 env(safe-area-inset-right, 0px) 0 env(safe-area-inset-left, 0px);padding:36px;color:var(--fancybox-content-color, #374151);background:var(--fancybox-content-bg, #fff);position:relative;align-self:center;display:flex;flex-direction:column;z-index:20}.fancybox__content :focus:not(.carousel__button.is-close){outline:thin dotted;box-shadow:none}.fancybox__caption{align-self:center;max-width:100%;margin:0;padding:1rem 0 0 0;line-height:1.375;color:var(--fancybox-color, currentColor);visibility:visible;cursor:auto;flex-shrink:0;overflow-wrap:anywhere}.is-loading .fancybox__caption{visibility:hidden}.fancybox__container>.carousel__dots{top:100%;color:var(--fancybox-color, #fff)}.fancybox__nav .carousel__button{z-index:40}.fancybox__nav .carousel__button.is-next{right:8px}@media all and (min-width: 1024px){.fancybox__nav .carousel__button.is-next{right:40px}}.fancybox__nav .carousel__button.is-prev{left:8px}@media all and (min-width: 1024px){.fancybox__nav .carousel__button.is-prev{left:40px}}.carousel__button.is-close{position:absolute;top:8px;right:8px;top:calc(env(safe-area-inset-top, 0px) + 8px);right:calc(env(safe-area-inset-right, 0px) + 8px);z-index:40}@media all and (min-width: 1024px){.carousel__button.is-close{right:40px}}.fancybox__content>.carousel__button.is-close{position:absolute;top:-40px;right:0;color:var(--fancybox-color, #fff)}.fancybox__no-click,.fancybox__no-click button{pointer-events:none}.fancybox__spinner{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:50px;height:50px;color:var(--fancybox-color, currentColor)}.fancybox__slide .fancybox__spinner{cursor:pointer;z-index:1053}.fancybox__spinner svg{animation:fancybox-rotate 2s linear infinite;transform-origin:center center;position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:100%;height:100%}.fancybox__spinner svg circle{fill:none;stroke-width:2.75;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;animation:fancybox-dash 1.5s ease-in-out infinite;stroke-linecap:round;stroke:currentColor}@keyframes fancybox-rotate{100%{transform:rotate(360deg)}}@keyframes fancybox-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.fancybox__backdrop,.fancybox__caption,.fancybox__nav,.carousel__dots,.carousel__button.is-close{opacity:var(--fancybox-opacity, 1)}.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop,.fancybox__container.is-animated[aria-hidden=false] .fancybox__caption,.fancybox__container.is-animated[aria-hidden=false] .fancybox__nav,.fancybox__container.is-animated[aria-hidden=false] .carousel__dots,.fancybox__container.is-animated[aria-hidden=false] .carousel__button.is-close{animation:.15s ease backwards fancybox-fadeIn}.fancybox__container.is-animated.is-closing .fancybox__backdrop,.fancybox__container.is-animated.is-closing .fancybox__caption,.fancybox__container.is-animated.is-closing .fancybox__nav,.fancybox__container.is-animated.is-closing .carousel__dots,.fancybox__container.is-animated.is-closing .carousel__button.is-close{animation:.15s ease both fancybox-fadeOut}.fancybox-fadeIn{animation:.15s ease both fancybox-fadeIn}.fancybox-fadeOut{animation:.1s ease both fancybox-fadeOut}.fancybox-zoomInUp{animation:.2s ease both fancybox-zoomInUp}.fancybox-zoomOutDown{animation:.15s ease both fancybox-zoomOutDown}.fancybox-throwOutUp{animation:.15s ease both fancybox-throwOutUp}.fancybox-throwOutDown{animation:.15s ease both fancybox-throwOutDown}@keyframes fancybox-fadeIn{from{opacity:0}to{opacity:1}}@keyframes fancybox-fadeOut{to{opacity:0}}@keyframes fancybox-zoomInUp{from{transform:scale(0.97) translate3d(0, 16px, 0);opacity:0}to{transform:scale(1) translate3d(0, 0, 0);opacity:1}}@keyframes fancybox-zoomOutDown{to{transform:scale(0.97) translate3d(0, 16px, 0);opacity:0}}@keyframes fancybox-throwOutUp{to{transform:translate3d(0, -30%, 0);opacity:0}}@keyframes fancybox-throwOutDown{to{transform:translate3d(0, 30%, 0);opacity:0}}.fancybox__carousel .carousel__slide{scrollbar-width:thin;scrollbar-color:#ccc rgba(255,255,255,.1)}.fancybox__carousel .carousel__slide::-webkit-scrollbar{width:8px;height:8px}.fancybox__carousel .carousel__slide::-webkit-scrollbar-track{background-color:rgba(255,255,255,.1)}.fancybox__carousel .carousel__slide::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:2px;box-shadow:inset 0 0 4px rgba(0,0,0,.2)}.fancybox__carousel.is-draggable .fancybox__slide,.fancybox__carousel.is-draggable .fancybox__slide .fancybox__content{cursor:move;cursor:grab}.fancybox__carousel.is-dragging .fancybox__slide,.fancybox__carousel.is-dragging .fancybox__slide .fancybox__content{cursor:move;cursor:grabbing}.fancybox__carousel .fancybox__slide .fancybox__content{cursor:auto}.fancybox__carousel .fancybox__slide.can-zoom_in .fancybox__content{cursor:zoom-in}.fancybox__carousel .fancybox__slide.can-zoom_out .fancybox__content{cursor:zoom-out}.fancybox__carousel .fancybox__slide.is-draggable .fancybox__content{cursor:move;cursor:grab}.fancybox__carousel .fancybox__slide.is-dragging .fancybox__content{cursor:move;cursor:grabbing}.fancybox__image{transform-origin:0 0;user-select:none;transition:none}.has-image .fancybox__content{padding:0;background:rgba(0,0,0,0);min-height:1px}.is-closing .has-image .fancybox__content{overflow:visible}.has-image[data-image-fit=contain]{overflow:visible;touch-action:none}.has-image[data-image-fit=contain] .fancybox__content{flex-direction:row;flex-wrap:wrap}.has-image[data-image-fit=contain] .fancybox__image{max-width:100%;max-height:100%;object-fit:contain}.has-image[data-image-fit=contain-w]{overflow-x:hidden;overflow-y:auto}.has-image[data-image-fit=contain-w] .fancybox__content{min-height:auto}.has-image[data-image-fit=contain-w] .fancybox__image{max-width:100%;height:auto}.has-image[data-image-fit=cover]{overflow:visible;touch-action:none}.has-image[data-image-fit=cover] .fancybox__content{width:100%;height:100%}.has-image[data-image-fit=cover] .fancybox__image{width:100%;height:100%;object-fit:cover}.fancybox__carousel .fancybox__slide.has-iframe .fancybox__content,.fancybox__carousel .fancybox__slide.has-map .fancybox__content,.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content,.fancybox__carousel .fancybox__slide.has-video .fancybox__content,.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content{max-width:100%;flex-shrink:1;min-height:1px;overflow:visible}.fancybox__carousel .fancybox__slide.has-iframe .fancybox__content,.fancybox__carousel .fancybox__slide.has-map .fancybox__content,.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content{width:100%;height:80%}.fancybox__carousel .fancybox__slide.has-video .fancybox__content,.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content{width:960px;height:540px;max-width:100%;max-height:100%}.fancybox__carousel .fancybox__slide.has-map .fancybox__content,.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content,.fancybox__carousel .fancybox__slide.has-video .fancybox__content,.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content{padding:0;background:rgba(24,24,27,.9);color:#fff}.fancybox__carousel .fancybox__slide.has-map .fancybox__content{background:#e5e3df}.fancybox__html5video,.fancybox__iframe{border:0;display:block;height:100%;width:100%;background:rgba(0,0,0,0)}.fancybox-placeholder{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.fancybox__thumbs{flex:0 0 auto;position:relative;padding:0px 3px;opacity:var(--fancybox-opacity, 1)}.fancybox__container.is-animated[aria-hidden=false] .fancybox__thumbs{animation:.15s ease-in backwards fancybox-fadeIn}.fancybox__container.is-animated.is-closing .fancybox__thumbs{opacity:0}.fancybox__thumbs .carousel__slide{flex:0 0 auto;width:var(--fancybox-thumbs-width, 96px);margin:0;padding:8px 3px;box-sizing:content-box;display:flex;align-items:center;justify-content:center;overflow:visible;cursor:pointer}.fancybox__thumbs .carousel__slide .fancybox__thumb::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-width:5px;border-style:solid;border-color:var(--fancybox-accent-color, rgba(34, 213, 233, 0.96));opacity:0;transition:opacity .15s ease;border-radius:var(--fancybox-thumbs-border-radius, 4px)}.fancybox__thumbs .carousel__slide.is-nav-selected .fancybox__thumb::after{opacity:.92}.fancybox__thumbs .carousel__slide>*{pointer-events:none;user-select:none}.fancybox__thumb{position:relative;width:100%;padding-top:calc(100%/(var(--fancybox-thumbs-ratio, 1.5)));background-size:cover;background-position:center center;background-color:rgba(255,255,255,.1);background-repeat:no-repeat;border-radius:var(--fancybox-thumbs-border-radius, 4px)}.fancybox__toolbar{position:absolute;top:0;right:0;left:0;z-index:20;background:linear-gradient(to top, hsla(0deg, 0%, 0%, 0) 0%, hsla(0deg, 0%, 0%, 0.006) 8.1%, hsla(0deg, 0%, 0%, 0.021) 15.5%, hsla(0deg, 0%, 0%, 0.046) 22.5%, hsla(0deg, 0%, 0%, 0.077) 29%, hsla(0deg, 0%, 0%, 0.114) 35.3%, hsla(0deg, 0%, 0%, 0.155) 41.2%, hsla(0deg, 0%, 0%, 0.198) 47.1%, hsla(0deg, 0%, 0%, 0.242) 52.9%, hsla(0deg, 0%, 0%, 0.285) 58.8%, hsla(0deg, 0%, 0%, 0.326) 64.7%, hsla(0deg, 0%, 0%, 0.363) 71%, hsla(0deg, 0%, 0%, 0.394) 77.5%, hsla(0deg, 0%, 0%, 0.419) 84.5%, hsla(0deg, 0%, 0%, 0.434) 91.9%, hsla(0deg, 0%, 0%, 0.44) 100%);padding:0;touch-action:none;display:flex;justify-content:space-between;--carousel-button-svg-width: 20px;--carousel-button-svg-height: 20px;opacity:var(--fancybox-opacity, 1);text-shadow:var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, 0.4))}@media all and (min-width: 1024px){.fancybox__toolbar{padding:8px}}.fancybox__container.is-animated[aria-hidden=false] .fancybox__toolbar{animation:.15s ease-in backwards fancybox-fadeIn}.fancybox__container.is-animated.is-closing .fancybox__toolbar{opacity:0}.fancybox__toolbar__items{display:flex}.fancybox__toolbar__items--left{margin-right:auto}.fancybox__toolbar__items--center{position:absolute;left:50%;transform:translateX(-50%)}.fancybox__toolbar__items--right{margin-left:auto}@media(max-width: 640px){.fancybox__toolbar__items--center:not(:last-child){display:none}}.fancybox__counter{min-width:72px;padding:0 10px;line-height:var(--carousel-button-height, 48px);text-align:center;font-size:17px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:subpixel-antialiased}.fancybox__progress{background:var(--fancybox-accent-color, rgba(34, 213, 233, 0.96));height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:30;user-select:none}.fancybox__container:fullscreen::backdrop{opacity:0}.fancybox__button--fullscreen g:nth-child(2){display:none}.fancybox__container:fullscreen .fancybox__button--fullscreen g:nth-child(1){display:none}.fancybox__container:fullscreen .fancybox__button--fullscreen g:nth-child(2){display:block}.fancybox__button--slideshow g:nth-child(2){display:none}.fancybox__container.has-slideshow .fancybox__button--slideshow g:nth-child(1){display:none}.fancybox__container.has-slideshow .fancybox__button--slideshow g:nth-child(2){display:block}




/* element-button.css (from style.css) */
.btn{--before-top: 0;--before-left: 0;padding:clamp(10px,.9vw,11px) clamp(32px,4vw,60px);min-height:clamp(36px,3.5vw,52px);height:fit-content;width:fit-content;white-space:nowrap;text-align:center;gap:10px;color:#fff;background-color:rgba(0,0,0,0);text-transform:uppercase;font-weight:500;font-size:var(--font-size-4);letter-spacing:.05em;cursor:pointer;border:2px solid #fff;position:relative;overflow:hidden;transition:color .15s ease-in-out,background-color .9s ease-in-out,border-color .15s ease-in-out}.btn::before{content:"";left:var(--before-left);top:var(--before-top);border-radius:50%;background:var(--color-2);height:14px;width:14px;position:absolute;display:block;z-index:-1;opacity:0;pointer-events:none}@keyframes ink{0%{opacity:1;transform:scale(1)}100%{opacity:1;transform:scale(40)}}.btn:hover{border-color:var(--color-2)}.btn:hover::before{animation:ink .7s;animation-fill-mode:both}.btn.is-disable{pointer-events:none}.btn.is-big{font-size:clamp(16px,1.2vw,18px);padding:12px clamp(47px,4vw,60px) 13px}.btn.no-padding{padding:0}.btn.no-padding button{padding:clamp(10px,.9vw,11px) clamp(32px,4vw,60px)}.btn button{background:none;border:none;color:inherit;font-size:inherit;font-family:inherit;text-transform:inherit;cursor:pointer}@media(max-width: 600px){.btn{border-width:1px}}

.btn.small {font-size:16px;padding:10px 40px;min-height:40px;}
@media screen and (max-width:700px) {
.btn.small {font-size:11px;padding:8px 20px;min-height:0;}  
}


/* module-header.css (from style.css) */
header {
    width: 100%;
    margin: 0 auto;
    padding-left: var(--padding-1);
    padding-right: var(--padding-1);
    padding-top: var(--padding-1);
    display: grid;
    grid-template-columns: 90px 1fr 90px;
    gap: clamp(20px, 12.5vw, 235px);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    background-color: rgba(20, 20, 20, 0);
    transition: padding .15s ease-in-out, background-color .15s ease-in-out
}

header.is-fixed {
    padding-top: 15px;
    padding-bottom: 15px;
    max-height: 80px;
    gap: 6px;
    align-items: center;
    background-color: var(--color-1)
}

header.is-fixed nav {
    display: none
}

header.is-fixed .menu-trigger {
    display: block;
    background-color: rgba(0, 0, 0, 0)
}

header.is-fixed .menu-wrapper .personal {
    border-color: rgba(20, 20, 20, .3)
}

header.is-menu .menu-bg {
    display: block
}

header .logo {
    text-align: center;
    width: clamp(97px, 27vw, 228px);
    margin: auto
}

header .logo img {
    max-width: 100%
}

header nav {
    display: grid;
    grid-template-columns: repeat(3, auto);
    grid-column-gap: clamp(30px, 10vw, 300px)
}

header nav a:first-child {
    grid-row: 1/4
}

header nav a:last-child {
    grid-column: 3
}

header a {
    font-weight: 600;
    font-size: clamp(13px, .9vw, 18px);
    line-height: 1.4;
    color: var(--color-2);
    white-space: nowrap;
    transition: color .15s ease-in-out
}

header a:hover {
    color: #fff
}

.menu-trigger {
    position:relative;
    cursor: pointer;
    width: clamp(38px, 4.5vw, 63px);
    height: clamp(9px, 1vw, 13px);
    margin: auto 0 auto auto;
    padding: 0;
    border: none;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-color: rgba(0, 0, 0, 0);
    background-image: url("data:image/svg+xml,%3Csvg width='62' height='13' viewBox='0 0 62 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M62 13H0V9.88184H62V13ZM62 0V3.11816H0V0H62Z' fill='white'/%3E%3C/svg%3E")
}

.menu-trigger:after {
    content:"";
    position: absolute;
    display:block;
    left:0;
    width:100%;
    top:-100%;
    height:300%;
}

.menu-wrapper {
    display: none;
    position: absolute;
    right: 0;
    top: 0;
    height: 100vh;
    padding: 20px clamp(24px, 4.2vw, 60px);
    background-color: var(--color-1);
    color: #fff;
    z-index: 101;
}

.menu-wrapper::-webkit-scrollbar-track {
    box-shadow: inset 0 0 0 rgba(0, 0, 0, .018);
    background-color: rgba(0, 0, 0, 0);
    border-radius: 2px
}

.menu-wrapper::-webkit-scrollbar {
    width: 3px;
    background-color: var(--color-1)
}

.menu-wrapper::-webkit-scrollbar-thumb {
    border-radius: 2px;
    background: var(--color-3)
}

.menu-wrapper.active {
    display: grid;
    animation: menuW .3s;
    animation-fill-mode: both
}

@keyframes menuW {
    0% {
        opacity: 0;
        transform: translateY(-100%)
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

.menu-wrapper .logo {
    grid-column: 1;
    grid-row: 1;
    text-align: left;
    margin: 0 0 30px 0
}

.menu-wrapper .menu {
    grid-column: 1/2;
    display: grid;
    grid-template-columns: clamp(220px, 30vw, 530px) 1fr;
    grid-column-gap: clamp(50px, 7vw, 100px);
    grid-row-gap: clamp(16px, 2vw, 30px);
    margin: 0 0 auto 0;
    padding-bottom:20px;
}

.menu-wrapper .menu-close {
    width: clamp(15px, 3.5vw, 48px);
    height: clamp(15px, 3.5vw, 48px);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg width='48' height='47' viewBox='0 0 48 47' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.18213 46.582L0.977259 44.3772L44.8179 0.536541L47.0227 2.74141L3.18213 46.582Z' fill='white'/%3E%3Cpath d='M0.977295 2.74072L3.18217 0.535852L47.0228 44.3765L44.8179 46.5813L0.977295 2.74072Z' fill='white'/%3E%3C/svg%3E");
    margin: 0 0 0 auto;
    border: none;
    background-color: rgba(0, 0, 0, 0);
    position: absolute;
    right: var(--padding-1);
    top: var(--padding-1);
    cursor: pointer
}

.menu-wrapper .menu>li {
    grid-column: 1/-2;
list-style: none;
}

.menu-wrapper .menu>li:hover ul,
.menu-wrapper .menu>li.active ul {
    display: flex
}

.menu-wrapper .menu ul {
    display: none;
    flex-direction: column;
    gap: clamp(20px, 2.7vw, 30px);
    position: absolute;
    top: clamp(100px, 13vw, 145px);
    left: calc(clamp(220px, 30vw, 530px) + clamp(50px, 7vw, 100px));
    z-index: 1
}

.menu-wrapper .menu ul a {
    font-family: var(--font-1);
    font-size: clamp(14px, 1.5vw, 20px);
    font-weight: 500
}

.menu-wrapper .menu ul ul {
    position: relative;
    top: 0;
    left: 0;
    padding-top: clamp(10px, 1.5vw, 20px);
    padding-left: 12px;
    font-size: 10px;
    margin-bottom: calc(-1*clamp(5px, 1vw, 10px));
    gap: clamp(10px, 1.5vw, 20px)
}

.menu-wrapper .menu ul ul a {
    font-weight: 400;
    font-size: clamp(14px, 1.3vw, 16px)
}

.menu-wrapper .menu a {
    font-family: var(--font-2);
    font-weight: 600;
    font-size: clamp(20px, 2.7vw, 50px);
    line-height: 1;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #fff
}

.menu-wrapper .menu a:hover {
    color: var(--color-2)
}

.menu-wrapper .address,
.menu-wrapper .phone {
    display: flex;
    flex-direction: column;
    gap: clamp(4px, 1.2vw, 20px);
    margin: auto 0 0 0;
    padding:20px 0;
}

.menu-wrapper .address div,
.menu-wrapper .address a,
.menu-wrapper .phone div,
.menu-wrapper .phone a {
    color: var(--color-2);
    font-family: var(--font-2);
    font-weight: 600;
    font-size: clamp(14px, 1.4vw, 18px);
    line-height: 1;
    letter-spacing: .05em;
    text-transform: uppercase;
    border-bottom: 1px dashed #fff;
    padding-bottom: clamp(7px, 1.2vw, 19px)
}

.menu-wrapper .address p,
.menu-wrapper .phone p {
    margin-bottom: 0
}

.menu-wrapper .address {
    grid-column: 1;
    grid-row: 3
}

.menu-wrapper .phone {
    grid-column: 1;
    grid-row: 4
}

.menu-wrapper .social {
    grid-column: 1;
    grid-row: 5;
    display: flex;
    align-items: center;
    gap: clamp(10px, 1.5vw, 20px);
    margin: auto 0 0 0;
    padding-top: 15px
}

.menu-wrapper .soc {
    width: clamp(36px, 3vw, 42px);
    height: clamp(36px, 3vw, 42px);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center
}

.menu-wrapper .soc.vk {
    background-image: url("data:image/svg+xml,%3Csvg width='42' height='42' viewBox='0 0 42 42' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='21' cy='21' rx='21' ry='21' fill='%23EA2019'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.08789 12.7751C7.31539 23.6951 12.7754 30.275 22.3479 30.275H22.8904V24.0101C24.5793 24.2216 26.168 24.9274 27.457 26.039C28.746 27.1505 29.6778 28.6181 30.1354 30.2575H35.1054C34.5928 28.3737 33.6868 26.6198 32.447 25.1116C31.2073 23.6034 29.6619 22.3751 27.9129 21.5076C29.4817 20.5499 30.8357 19.2783 31.8897 17.7726C32.9437 16.2668 33.6751 14.5594 34.0379 12.7576H29.5404C28.5604 16.2576 25.6554 19.3726 22.8904 19.6701V12.7751H18.3754V24.885C15.5754 24.1851 12.0404 20.7901 11.8829 12.7751H7.08789Z' fill='%23060606'/%3E%3C/svg%3E")
}

.menu-wrapper .soc.yt {
    background-image: url("data:image/svg+xml,%3Csvg width='42' height='42' viewBox='0 0 42 42' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 41.9994C32.598 41.9994 42 32.5974 42 20.9995C42 9.40152 32.598 -0.000488281 21 -0.000488281C9.40202 -0.000488281 0 9.40152 0 20.9995C0 32.5974 9.40202 41.9994 21 41.9994Z' fill='%23EA2019'/%3E%3Cpath d='M32.2539 18.0069C32.2539 16.6688 31.7224 15.3856 30.7762 14.4394C29.83 13.4932 28.5468 12.9617 27.2087 12.9617H14.3167C12.9786 12.9617 11.6953 13.4932 10.7491 14.4394C9.80298 15.3856 9.27148 16.6688 9.27148 18.0069V24.0018C9.27148 25.3399 9.80298 26.6231 10.7491 27.5693C11.6953 28.5155 12.9786 29.047 14.3167 29.047H27.2681C28.6061 29.047 29.8894 28.5155 30.8356 27.5693C31.7817 26.6231 32.3133 25.3399 32.3133 24.0018L32.2539 18.0069ZM24.6683 21.4495L18.8871 24.3105C18.6615 24.4411 17.8899 24.3105 17.8899 24.0137V18.1375C17.8899 17.8763 18.6615 17.722 18.8871 17.8526L24.4308 20.856C24.6564 20.9866 24.8938 21.3308 24.6683 21.4495Z' fill='%23060606'/%3E%3C/svg%3E")
}

.menu-wrapper .img {
    grid-column: 2/4;
    grid-row: 1/4;
    text-align: right;
    overflow: hidden;
    margin-bottom: clamp(20px, 2.7vw, 40px)
}

.menu-wrapper .img img {
    display: block;
    width: 100%
}

.menu-bg {
    display: none;
    background: #000;
    opacity: .8;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh
}

@media(max-width: 1200px) {
    .menu-wrapper {
        grid-template-columns: auto auto auto
    }

    .menu-wrapper .img {
        display: none
    }
}

@media(max-width: 900px) {
    header {
        padding: 15px;
        max-height: 80px;
        grid-template-columns: 1fr auto;
        gap: 6px;
        align-items: center
    }

    header .logo {
        text-align: left;
        margin: auto 0
    }

    header .title-page {
        display: none
    }

    header nav {
        display: none
    }

    header .menu-trigger {
        display: block;
        background-color: rgba(0, 0, 0, 0)
    }
}

@media(max-width: 600px) {
    .menu-wrapper {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr auto auto;
        align-items: flex-start;
        justify-content: flex-start;
        flex-direction: column;
        max-width: 100%;
        min-height: 100vh;
        top: 0;
        right: 0;
        overflow: hidden;
        overflow-y: auto
    }

    .menu-wrapper .menu,
    .menu-wrapper .address,
    .menu-wrapper .phone,
    .menu-wrapper .social {
        grid-column: 1;
        grid-row: auto;
        margin-top: 1px
    }

    .menu-wrapper .menu {
        grid-template-columns: 1fr
    }

    .menu-wrapper .menu-close {
        right: 21px;
        top: 21px
    }

    .menu-wrapper .menu ul {
        position: relative;
        top: 0;
        left: 0;
        padding: 25px 0 10px 0
    }

    .menu-wrapper .menu ul a {
        font-weight: 400;
        font-family: var(--font-1)
    }

    .menu-wrapper .logo {
        margin: 0
    }
}




/* module-footer.css (from style.css) */
footer {
    position: relative;
    display: grid;
    grid-template-columns: auto clamp(72px, 7vw, 98px) 1fr;
    grid-template-rows: auto auto auto 1fr;
    grid-column-gap: clamp(20px, 6vw, 138px);
    grid-row-gap: clamp(5px, 2vw, 30px);
    padding-top: clamp(90px, 5vw, 120px);
    padding-bottom: 40px;
    font-weight: 400;
    font-size: 14px;
    line-height: 1;
    letter-spacing: .05em
}
@media (max-width: 900px) {
    footer {
        padding-bottom: 20px;
        padding-top: 80px;
    }

}
footer .logo,
footer .copy,
footer .social {
    grid-column: 1
}

footer .copy p {
    margin-bottom: 0;
    line-height: 1.4
}

footer .social {
    display: flex;
    align-items: center;
    gap: clamp(19px, 1.9vw, 36px);
    height: clamp(20px, 1.6vw, 29px);
    position: relative
}

footer .soc {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    display: block;
    height: 24px;
    width: 24px;
    opacity: .6;
    transition: opacity .15s ease-in-out
}

footer .soc:hover {
    opacity: 1
}

footer .soc.ig {
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='17' viewBox='0 0 16 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.236 3.24613C12.0496 3.2446 11.867 3.29847 11.7113 3.4009C11.5556 3.50334 11.4338 3.64972 11.3615 3.82147C11.2891 3.99323 11.2693 4.18262 11.3047 4.36561C11.3402 4.54859 11.4292 4.71693 11.5604 4.84926C11.6917 4.9816 11.8592 5.07196 12.0419 5.10889C12.2246 5.14581 12.4142 5.12764 12.5866 5.05667C12.7589 4.9857 12.9063 4.86514 13.01 4.71027C13.1137 4.55541 13.1691 4.37323 13.1691 4.18685C13.1691 3.93868 13.071 3.70056 12.8963 3.52436C12.7215 3.34816 12.4842 3.24816 12.236 3.24613Z' fill='white'/%3E%3Cpath d='M8.06526 4.44922C7.28595 4.44922 6.52412 4.68031 5.87616 5.11327C5.22819 5.54623 4.72319 6.16161 4.42496 6.8816C4.12673 7.60158 4.04867 8.39383 4.2007 9.15816C4.35274 9.92249 4.72801 10.6246 5.27906 11.1756C5.83012 11.7267 6.53224 12.1019 7.29657 12.254C8.0609 12.406 8.85313 12.328 9.57311 12.0298C10.2931 11.7315 10.9085 11.2265 11.3415 10.5785C11.7744 9.93056 12.0055 9.16876 12.0055 8.38945C12.0055 7.34444 11.5904 6.34223 10.8514 5.60329C10.1125 4.86435 9.11027 4.44922 8.06526 4.44922ZM8.06526 10.9109C7.56656 10.9109 7.07907 10.763 6.66442 10.486C6.24977 10.2089 5.92661 9.8151 5.73577 9.35437C5.54492 8.89363 5.49498 8.38666 5.59227 7.89755C5.68956 7.40844 5.92968 6.95915 6.28231 6.60652C6.63494 6.25389 7.08424 6.01375 7.57335 5.91646C8.06246 5.81917 8.56946 5.8691 9.03019 6.05994C9.49093 6.25079 9.88472 6.57397 10.1618 6.98862C10.4388 7.40327 10.5867 7.89076 10.5867 8.38945C10.5847 9.05756 10.3184 9.69771 9.84594 10.1701C9.37352 10.6426 8.73336 10.9089 8.06526 10.9109Z' fill='white'/%3E%3Cpath d='M11.1962 16.3848H4.80389C3.53045 16.3828 2.30977 15.876 1.40931 14.9756C0.508853 14.0751 0.00203913 12.8544 0 11.581V5.19642C0.00203913 3.92299 0.508853 2.70229 1.40931 1.80184C2.30977 0.901383 3.53045 0.394617 4.80389 0.392578H11.1962C12.4696 0.394617 13.6903 0.901383 14.5907 1.80184C15.4912 2.70229 15.998 3.92299 16 5.19642V11.581C15.998 12.8544 15.4912 14.0751 14.5907 14.9756C13.6903 15.876 12.4696 16.3828 11.1962 16.3848ZM4.80389 1.89619C3.92995 1.89823 3.09249 2.24683 2.47524 2.86552C1.858 3.48422 1.51134 4.32248 1.51134 5.19642V11.581C1.51134 12.4549 1.858 13.2932 2.47524 13.9119C3.09249 14.5306 3.92995 14.8792 4.80389 14.8812H11.1962C12.0714 14.8812 12.9109 14.5335 13.5298 13.9146C14.1487 13.2957 14.4964 12.4563 14.4964 11.581V5.19642C14.4964 4.32115 14.1487 3.48172 13.5298 2.86281C12.9109 2.24389 12.0714 1.89619 11.1962 1.89619H4.80389Z' fill='white'/%3E%3C/svg%3E")
}

footer .soc.vk {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='16' viewBox='0 0 24 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0.165376C0.194806 9.51602 4.87014 15.1504 13.067 15.1504H13.5315V9.78576C14.9777 9.96689 16.338 10.5713 17.4418 11.5231C18.5456 12.4749 19.3435 13.7316 19.7353 15.1354H23.991C23.5521 13.5223 22.7763 12.0205 21.7147 10.729C20.6531 9.43754 19.3299 8.38573 17.8322 7.6429C19.1756 6.8229 20.3349 5.73404 21.2375 4.44468C22.14 3.15532 22.7663 1.69329 23.077 0.150391H19.2258C18.3866 3.14739 15.8991 5.81473 13.5315 6.06947V0.165376H9.66535V10.535C7.26774 9.93561 4.24077 7.02851 4.1059 0.165376H0Z' fill='white'/%3E%3C/svg%3E")
}

footer .soc.fb {
    background-image: url("data:image/svg+xml,%3Csvg width='9' height='17' viewBox='0 0 9 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.46816 9.32831L8.88479 6.45089H6.29545V4.59069C6.27716 4.37597 6.30438 4.15961 6.37511 3.95762C6.44584 3.75562 6.55828 3.57315 6.7041 3.4237C6.84991 3.27424 7.02539 3.16162 7.21755 3.09416C7.4097 3.0267 7.61362 3.00613 7.81424 3.03396H8.99023V0.589276C8.2927 0.467568 7.58758 0.401818 6.88081 0.392578C4.77138 0.392578 3.35806 1.76947 3.35806 4.26473V6.45089H0.990234V9.32831H3.40026V16.2746C4.36675 16.4319 5.35007 16.4319 6.31656 16.2746V9.32831H8.46816Z' fill='white'/%3E%3C/svg%3E")
}

footer .soc.yt {
    background-image: url("data:image/svg+xml,%3Csvg width='25' height='17' viewBox='0 0 25 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.9727 5.39971C23.9727 4.06163 23.4411 2.77838 22.495 1.83222C21.5488 0.886059 20.2655 0.354492 18.9275 0.354492H6.03546C4.69738 0.354492 3.41406 0.886059 2.46789 1.83222C1.52173 2.77838 0.990234 4.06163 0.990234 5.39971V11.3946C0.990234 12.7327 1.52173 14.016 2.46789 14.9621C3.41406 15.9083 4.69738 16.4398 6.03546 16.4398H18.9868C20.3249 16.4398 21.6081 15.9083 22.5543 14.9621C23.5005 14.016 24.032 12.7327 24.032 11.3946L23.9727 5.39971ZM16.387 8.84236L10.6058 11.7033C10.3803 11.8339 9.6086 11.7033 9.6086 11.4065V5.53031C9.6086 5.26915 10.3803 5.11483 10.6058 5.24541L16.1496 8.2488C16.3751 8.37938 16.6126 8.72364 16.387 8.84236Z' fill='white'/%3E%3C/svg%3E")
}

footer .scrollup {
    grid-column: 2;
    grid-row: 1/4;
    width: clamp(72px, 7vw, 98px);
    height: clamp(72px, 7vw, 98px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
    cursor: pointer;
    padding: 0;
    position: relative
}

footer .scrollup::after {
    content: "";
    display: block;
    width: 16px;
    height: clamp(31px, 3.9vw, 45px);
    margin: auto;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='45' viewBox='0 0 16 45' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.7071 1.17212C8.31658 0.781597 7.68342 0.781597 7.29289 1.17212L0.928931 7.53608C0.538406 7.92661 0.538406 8.55977 0.928931 8.95029C1.31946 9.34082 1.95262 9.34082 2.34314 8.95029L8 3.29344L13.6569 8.95029C14.0474 9.34082 14.6805 9.34082 15.0711 8.95029C15.4616 8.55977 15.4616 7.9266 15.0711 7.53608L8.7071 1.17212ZM9 44.1206L9 1.87923L7 1.87923L7 44.1206L9 44.1206Z' fill='white'/%3E%3C/svg%3E")
}

.footer-menu {
    display: grid;
    grid-template-columns: repeat(4, auto);
    grid-column: 3;
    grid-row: 1/4;
    grid-column-gap: clamp(30px, 6vw, 130px);
    grid-row-gap: clamp(8px, 1.8vw, 30px);
    grid-auto-flow: column;
    grid-template-rows: repeat(4, auto);
    font-weight: 500
}

@media(max-width: 1000px) {
    footer {
        grid-template-columns: repeat(3, auto);
        grid-template-rows: unset;
        align-items: center
    }

    footer .social,
    footer .scrollup {
        grid-row: 1/3
    }

    footer .social {
        grid-column: 3;
        justify-content: flex-end
    }

    .footer-menu {
        display: none
    }
}

@media(max-width: 600px) {
    footer {
        grid-template-columns: auto 1fr
    }

    footer .social {
        grid-column: 1/-1;
        grid-row: 3;
        justify-content: flex-start;
        margin-top: 10px
    }

    footer .scrollup {
        margin: auto 0 auto auto;
        grid-row: 1/4
    }
}




/* Intrinsic dimensions reserve space; responsive widths must not stretch images. */
:where(img[width][height]) {
    height: auto;
}

:root {
    --font-1: "Mulish";
    --font-2: "FuturaPT";
    --color-1: #060606;
    --color-2: #EA2019;
    --color-3: rgba(255, 255, 255, 0.5);
    --padding-1: clamp(10px, 2.3vw, 40px);
    --margin-1: clamp(12px, 1.7vw, 24px);
    --font-size-1: clamp(24px, 2.4vw, 45px);
    --font-size-2: clamp(20px, 2.6vw, 30px);
    --font-size-3: clamp(16px, 1.3vw, 25px);
    --font-size-4: clamp(12px, 1.2vw, 18px)
}

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

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

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

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

::-moz-selection {
    background: #fff;
    color: var(--color-1)
}

::selection {
    background: #fff;
    color: var(--color-1)
}

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

:root,
html {
    font-size: 10px
}

html,
body {
    width: 100%;

}

body {
    margin: 0;
    color: #fff;
    min-width: 380px;
    background-color: var(--color-1);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: var(--font-1), sans-serif;
    font-weight: 300;
    font-size: var(--font-size-4);
    line-height: 1.5;
    border-radius: 0px;
    position: relative;
    /*overflow: hidden;*/
    overflow-y: auto
}

body::after {
    content: "";
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-image: url(../img/price-bg.png);
    background-image: image-set(url(../img/price-bg.webp) type("image/webp") 1x, url(../img/price-bg.png) type("image/png") 1x);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    pointer-events: none;
    z-index: -1
}

body::-webkit-scrollbar-track {
    box-shadow: inset 0 0 0 rgba(0, 0, 0, .018);
    background-color: rgba(0, 0, 0, 0);
    border-radius: 2px
}

body::-webkit-scrollbar {
    width: 10px;
    background-color: var(--color-1)
}

body::-webkit-scrollbar-thumb {
    border-radius: 2px;
    background: var(--color-3)
}

.scrollable::-webkit-scrollbar-track {
    box-shadow: inset 0 0 0 rgba(0, 0, 0, .018);
    background-color: rgba(0, 0, 0, 0);
    border-radius: 2px
}

.scrollable::-webkit-scrollbar {
    width: 10px;
    background-color: var(--color-1)
}

.scrollable::-webkit-scrollbar-thumb {
    border-radius: 2px;
    background: var(--color-3)
}

body.loading {
    overflow: hidden
}

body.loading::before {
    content: "";
    background-image: url(../img/loading.png);
    background-repeat: no-repeat;
    background-size: 144px 144px;
    background-position: center;
    width: 100vw;
    height: 100vh;
    background-color: var(--color-1);
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0
}

[class*=icon-] {
    min-width: 20px;
    min-height: 20px;
    width: 22px;
    height: 22px;
    background-repeat: no-repeat;
    background-position: center;
    background-color: rgba(0, 0, 0, 0);
    background-size: auto
}

[class*=icon-] img {
    max-width: 100%
}

.icon img {
    max-width: 100%
}

button,
input,
select,
textarea {
    font: inherit
}

button,
input {
    overflow: visible
}

input[type=text],
input[type=email],
input[type=tel],
input[type=time],
input[type=date],
input[type=password],
input[type=password i],
textarea {
    font-family: var(--font-1);
    width: 100%;
    color: #fff;
    transition: border-color .2s ease-in-out
}

input[type=text]:hover,
input[type=text]:focus,
input[type=email]:hover,
input[type=email]:focus,
input[type=tel]:hover,
input[type=tel]:focus,
input[type=time]:hover,
input[type=time]:focus,
input[type=date]:hover,
input[type=date]:focus,
input[type=password]:hover,
input[type=password]:focus,
input[type=password i]:hover,
input[type=password i]:focus,
textarea:hover,
textarea:focus {
    outline: none
}

input[type=text]:-webkit-autofill,
input[type=email]:-webkit-autofill,
input[type=tel]:-webkit-autofill,
input[type=time]:-webkit-autofill,
input[type=date]:-webkit-autofill,
input[type=password]:-webkit-autofill,
input[type=password i]:-webkit-autofill,
textarea:-webkit-autofill {
    box-shadow: inset 0 0 0 50px var(--color3) !important;
    -webkit-box-shadow: inset 0 0 0 50px var(--color3) !important;
    -webkit-text-fill-color: #fff !important;
    color: #fff !important
}

input[type=date]::-webkit-inner-spin-button,
input[type=date]::-webkit-calendar-picker-indicator {
    display: none;
    -webkit-appearance: none
}

input[type=checkbox] {
    position: relative;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    border: 1px solid var(--color-1);
    border-radius: 4px;
    background-color: var(--color-2)
}

input[type=checkbox]::after {
    content: "";
    width: 44%;
    height: 26%;
    border-radius: 0;
    margin: auto;
    position: absolute;
    top: 7px;
    left: 7px;
    transition: background .25s ease
}

input[type=checkbox]:checked {
    background-color: var(--color-1)
}

input[type=checkbox]:checked::after {
    border-left: 2px solid;
    border-bottom: 2px solid;
    border-color: #000;
    border-radius: 0;
    -webkit-transform: rotate(-45deg) translate3d(0, 0, 0);
    transform: rotate(-45deg) translate3d(0, 0, 0);
    -webkit-transform-origin: center center;
    transform-origin: center center
}

fieldset {
    position: relative;
    border: none;
    padding: 0;
    width: 100%
}

fieldset label {
    position: absolute;
    left: clamp(10px, 1.3vw, 20px);
    top: 0;
    transform: translateY(clamp(10px, 2vw, 27px));
    margin: 0;
    padding: 0;
    font-weight: 500;
    font-size: var(--font-size-4);
    width: calc(100% - clamp(10px, 1.3vw, 20px));
    color: #fff;
    transition: transform .15s ease-in-out, opacity .15s ease-in-out, font-size .15s ease-in-out
}

fieldset input {
    min-height: clamp(37px, 7vw, 80px);
    border: 2px solid #fff;
    background-color: rgba(0, 0, 0, 0);
    padding: clamp(9px, 1vw, 10px) clamp(10px, 1.3vw, 20px);
    font-size: var(--font-size-4)
}

fieldset input::-webKit-input-placeholder {
    font-size: var(--font-size-4)
}

fieldset input:-moz-placeholder {
    font-size: var(--font-size-4)
}

fieldset input::-moz-placeholder {
    font-size: var(--font-size-4)
}

fieldset input:-ms-input-placeholder {
    font-size: var(--font-size-4)
}

fieldset input:focus+label,
fieldset input:not(:placeholder-shown)+label {
    transform: translateY(clamp(3px, 0.5vw, 8px));
    font-size: clamp(10px, .9vw, 12px);
    opacity: .4
}
.fr-name {display: none}

h1,
.h1 {
    font-size: clamp(60px, 9vw, 120px)
}

h2,
.h2 {
    font-family: var(--font-2);
    font-size: clamp(60px, 9vw, 120px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: .01em;
    text-transform: uppercase
}

h3,
.h3 {
    font-size: clamp(23px, 2.3vw, 24px)
}

h4,
.h4 {
    font-size: clamp(23px, 2.3vw, 24px)
}

h5,
.h5 {
    font-size: clamp(23px, 2.3vw, 24px)
}

h5,
.h6 {
    font-size: clamp(23px, 2.3vw, 24px)
}

.title-page,
.title-1,
.title-2,
.title-3,
.title-4,
.title-5 {
    font-family: var(--font-2);
    margin: 0;
    text-transform: uppercase
}

.text-transform-none {text-transform: none}

.title-1,
.title-2 {
    font-weight: 800;
    letter-spacing: .1em
}

.title-1 {
    font-size: clamp(70px, 8vw, 125px);
    line-height: 1;
    text-shadow: 0px 3px 16px rgba(255, 255, 255, .4)
}

.title-2 {
    font-size: clamp(28px, 5vw, 70px);
    line-height: 1.053
}

.title-2 div,
.title-2 .title-outline {
    color: rgba(255, 255, 255, 0);
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #fff
}

.title-3 {
    font-weight: 600;
    font-size: clamp(28px, 5vw, 70px);
    line-height: 1;
    letter-spacing: .05em;
    color: rgba(255, 255, 255, 0);
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #fff
}

.title-4 {
    font-weight: 600;
    font-size: clamp(20px, 3.8vw, 50px);
    line-height: 1;
  margin-bottom: 10px;
}

.title-5 {
    font-weight: 600;
    font-size: clamp(20px, 2.1vw, 30px);
    letter-spacing: .05em;
    line-height: 1.2
}

.subtitle {
    font-weight: 500;
    font-size: clamp(16px, 2vw, 26px);
    line-height: 1.2;
    letter-spacing: .05em;
    text-transform: uppercase;
    text-align: right;
  margin-bottom: 10px;
}

ol {
    counter-reset: myCounter;
    letter-spacing: -0.03em;
    line-height: 1.38;
    margin-bottom: 16px
}

ol ol {
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
    margin-top: 8px
}

ol li {
    /*display: flex*/
}
ul:not([class]) {
    list-style-type: disc
}
ul:not([class]) {
    padding-left: 0;
    padding-right: 1.5em;
}
ul:not([class]) li{
    margin-bottom: 10px;
    transform: translateX(1.5em);
    animation: fixlists 1s;
}
ol li {
    margin-bottom: 10px;
}
@keyframes fixlists {
    0% {
        text-indent: -0.001em;
    }
    100% {
        text-indent: 0;
    }
}


ol li:before {
    counter-increment: myCounter;
    content: counter(myCounter) ".";
    letter-spacing: -0.03em;
    display: inline-block;
    text-align: left;
    height: auto;
    width: auto;
    min-width: 12px;
    margin-right: 8px;
}

ul,
ol {
    padding-left: 0;
    margin: 0
}


ol li {
    list-style: none
}

a {
    text-decoration: none;
    color: rgba(255, 255, 255, .6);
    outline: none;
    cursor: pointer;
    transition: color .15s ease-in-out
}

a:hover,
a:focus {
    color: #fff
}

p {
    margin: 0 0 var(--margin-1) 0
}

.container {
    max-width: 1400px;
    width: calc(100% - var(--padding-1) - var(--padding-1));
    margin: 0 auto
}


.article-bottom {display: grid}

.right-bot {grid-column: 2;  margin-top: clamp(24px, 7vw, 64px);font-weight: 500;
  font-family: var(--font-2);
  font-size: clamp(16px, 1.4vw, 18px);
  line-height: 1.27;
  letter-spacing: .05em;
  text-transform: uppercase;color: rgba(255, 255, 255, .6);}


    @media (max-width: 700px) {
        .container {
            padding-left: 10px;
            padding-right: 10px;
        }


    }
main {
    position: relative;
    max-width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: clamp(120px, 10vw, 50px)
}

section {
    position: relative
}

.simple-content-section a {text-decoration:underline; color:#fff}

.divider {
    width: 100%;
    height: clamp(60px, 6vw, 106px);
    margin: 0;
    border: none
}

@media(max-width: 700px) {
    fieldset input {
        padding: 10px;
        font-size: 16px
    }

    fieldset input:focus,
    fieldset input:not(:placeholder-shown) {
        padding: 13px 10px 7px 10px
    }
}

.start {
    padding-top: 85px;
}
@media (min-width: 900px) {
    .start {
        padding-top: 185px;
    }
}
.content-text h2 {
    font-size: clamp(28px, 5vw, 50px);
}

.album-page .gallery-block .item {
    display: grid;
    border-bottom: none;
}

.gallery-block .item.active::after {
    display: none !important;
}

.gallery-block .video-item-image {
    position: relative;
    display: block;
}

.gallery-block .video-item-image:after {
    content: '';
    width: clamp(38px, 6.5vw, 80px);
    height: clamp(38px, 6.5vw, 80px);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40 0C17.92 0 0 17.92 0 40C0 62.08 17.92 80 40 80C62.08 80 80 62.08 80 40C80 17.92 62.08 0 40 0ZM32 58V22L56 40L32 58Z' fill='%23EA2019'/%3E%3C/svg%3E");
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    pointer-events: none;
    transition: filter 0.15s ease-in-out;
}

.gallery-block .video-item-image:hover:after {
    opacity: .9;
}

.text-red {
    color: #ea2019;
}

.text-grey {
    color: #8d8d8d;
}

.text-center {
    text-align: center;
}

.btn {
    overflow: hidden !important;
}

button {
    cursor: pointer;
}

button:disabled {
    opacity: .5;
    cursor: default;
}

header {

    grid-template-columns: 314px 1fr 314px;
    gap: 20px;
}
    @media (min-width: 900px) {
        padding: 25px 40px 0;
    }
header .logo {
    display: block;
    margin: 0;
    width: clamp(150px, 27vw, 240px);
}

.header-contacts {
    padding-top: 8px;
    text-align: center;
}

.header-contacts a {
    display: inline-block;
    margin: 0 19px;
    color: white !important;
    font-weight: 400;
}

.header-right {
    text-align: right;
}

.underline-red {
    display: inline-block;
    padding-bottom: 8px !important;
    border-bottom: 2px solid #ea2019 !important;
}

button.underline-red {
    border: none;
    padding: 0;
    outline: none !important;
    background: transparent;
}

.header-right * {
    display: inline-block !important;
    vertical-align: middle;
}

.header-right .underline-red {
    margin-right: 80px;
    color: white;
}

.header-right .underline-red:hover {
    color: #ea2019;
}

.menu-wrapper {
    overflow-y: auto;
}

@media screen and (max-width:2400px) {
    .header-contacts {
        padding-top: 0;
    }
}

@media screen and (max-width:1499px) {
    header {
        grid-template-columns: 260px 1fr 260px;
    }

    .header-right .underline-red {
        margin-right: 30px;
    }
}

@media screen and (max-width:1199px) {
    .header-contacts a {
        display: none;
    }
    .header-contacts a:first-child {
        display:inline-block;
    }
}

@media screen and (max-width:767px) {
    header {
        grid-template-columns: 150px 1fr 50px;
    }

    .header-right .underline-red {
        display: none !important;
    }
}

@media screen and (max-width:500px) {
    .header-contacts a:first-child {
        display:none;
    }
}

.start-block {
    min-height: 0 !important;
}

.dance-block {
    min-height: 0 !important;
    position: relative;
}

.about-page .dance-block {
    padding-top: 0;
}

.style-block .btn {
    display: inline-block;
    margin-top: 40px;
}

.style-block .timetable {
    position: relative;
    z-index: 2;
}

@media screen and (max-width:800px) {
    .style-content .img {
        display: block !important;
    }
}

.teacher-content .btn {
    margin-right: auto;
    z-index: 10;
    display: inline-block;
    text-decoration:none !important;
}

section+.news-page {
    padding-top: 0 !important;
}

ul.pagination {
    padding-left: 0;
    list-style: none;
    margin-top: 20px;
}


.date-title {font-weight: 600;  font-size: clamp(20px, 2.1vw, 30px);  text-transform: uppercase;color:#ea2019;margin-top:30px;}

.schedule-table {display:grid;margin-top:40px;line-height: 2;grid-template-columns: clamp(120px, 50vw, 450px)}
.schedule-table b {font-weight: 700;}
.schedule-table .title-5 {margin-bottom: 10px;}

.hall-1 {grid-column: 1;}
.hall-2 {grid-column: 2;}


.short-text {
  overflow: hidden;
}

.short-text.active {
    position:relative;
}

.short-text.active:after {
    content:"";
    display:block;
    position: absolute;
    left:0;
    bottom:0;
    width:100%;
    height:20px;
    background:linear-gradient(to bottom, transparent, #060606);
}

.short-text.active.opened:after {
    display:none;
}

.read-more {
  display: none;
  margin-top: 10px;
  cursor: pointer;
}
.text-red {
  color: #E23330;
}

.short-text.active + .read-more {
  display: inline-block;
}

@media (min-width: 991px) {
    ul.pagination {

        margin-top: 40px;
    }
}

.pagination.pt30 {
    padding-top: 30px;
}

.pagination li {
    display: inline-block;
}

.pagination li>* {
    display: block;
    padding: 10px 15px;
    min-width: 50px;
    margin: 0 2px 2px 0;
    text-align: center;
    border: 2px solid white;
    transition: all .2s ease;
    opacity: .5;
}

.pagination li a:hover,
.pagination li.active a {
    opacity: 1;
}

.pagination li.active a {
    background: white;
    color: #060606;
}

.news-page .items {
    margin-bottom: 0 !important;
}

.popup-blocks {
    display: none;
}

.popup-block {
    width: 100%;
}

.popup-form {
    max-width: 670px;
    color: white;
    background: #303030;
    padding: 50px 60px;
    font-size: 18px;
}

.popup-form-title.title-2 {
    font-size: clamp(28px, 4vw, 50px);
    margin-bottom: 25px;
    letter-spacing: 0;
}

input.underline-grey,
textarea.underline-grey {
    display: block;
    width: 100%;
    padding: 15px 0;
    background: transparent;
    outline: none !important;
    border: none;
    border-bottom: 1px solid #FEFEFE;
}

input.underline-grey {
    height: 50px;
}

textarea.underline-grey {
    resize: none;
}

.form-group {
    margin-bottom: 15px;
}

.popup-form .btn.is-big {
    display: block;
    width: 100%;
    padding: 14px clamp(47px, 4vw, 60px) 14px;
}

.btn.red {
    background: #ea2019;
    border-color: #ea2019;
}

.btn.red:before {
    background: #9f0500;
    z-index: 1;
}

.btn.red span {
    position: relative;
    z-index: 2;
}

.popup-form-note {
    font-size: 14px;
    margin: 10px 0 0;
}

.conf a {
    color: white !important;
    text-decoration: underline !important;
}

.conf a:hover {
    text-decoration: none !important;
}

.checkbox-styled {
    display: inline-block;
    margin-right: 8px;
    vertical-align: middle;
}

span+.checkbox-styled {
    margin-left: 12px;
}

.checkbox-styled input {
    display: none !important;
}

.checkbox-styled label {
    display: block;
    position: relative;
    width: 20px;
    height: 20px;
    margin: 0;
    background: #4B4B4B;
    top: -2px;
    cursor: pointer;
}

.checkbox-styled input:checked+label {
    background: #ea2019;
}

.checkbox-styled input:checked+label:after {
    content: "";
    display: block;
    position: absolute;
    top: 5px;
    left: 4px;
    width: 12px;
    height: 6px;
    border-left: 2px solid white;
    border-bottom: 2px solid white;
    transform: rotate(-44deg);
}

.popup-form-checkboxes {
    cursor: default;
    margin-bottom: 50px;
}

.popup-form-checkboxes-row {
    margin-bottom: 20px;
}

.popup-form .is-close {
    top: 10px !important;
    right: 10px !important;
    opacity: .8;
    transition: all .2s ease;
}

.popup-form .is-close:hover {
    opacity: 1;
}

.trial-block .conf {
    margin-top: clamp(18px, 4.5vw, 60px);
}

.menu-wrapper .menu {
    grid-row-gap: clamp(23px, 2vh, 30px);
}

.menu-wrapper .menu a {
    font-size: clamp(20px, 2.7vh, 50px);
}

@media screen and (max-width:991px) {
    .popup-form {
        padding: 40px 50px;
    }
.menu-wrapper .menu {margin: 50px 0;}
}

@media screen and (max-width:767px) {
    .popup-form {
        padding: 40px 30px;
        font-size: 16px;
    }
}

@media screen and (max-width:575px) {
    .popup-form-title.title-2 {
        margin-bottom: 15px;
    }

    .popup-form-checkboxes {
        margin-bottom: 30px;
    }

    .popup-form-checkboxes span+.checkbox-styled {
        margin-left: 0;
    }

    .popup-form-checkboxes span:after {
        content: "";
        display: block;
        height: 20px;
    }

    .popup-form-checkboxes .conf span:after {
        display: none;
    }

    .popup-form-checkboxes-row {
        margin: 0;
    }
}

@media screen {

}

.return-back-link {
    color: #ea2019;
    text-decoration: none;

}

.return-back-link:hover {
    color: #fff;
}

.album-title {
    text-transform: none;
    margin-bottom: 25px;
}

.gallery-block .item.active .title-3:after {
    content: "";
    position: absolute;
    right: 0;
    width: clamp(16px, 2.3vw, 32px);
    height: clamp(16px, 2.3vw, 32px);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: transform .15s ease-in-out;
    transform: rotate(90deg);
    background-image: url("data:image/svg+xml,%3Csvg width='27' height='27' viewBox='0 0 27 27' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.1733 26.4436L0.718524 21.9888L9.1331 13.5742L0.718527 5.15965L5.37129 0.506885L13.7859 8.92145L22.2004 0.506882L26.6552 4.96166L18.2406 13.3762L26.6552 21.7908L22.0024 26.4436L13.5879 18.029L5.1733 26.4436Z' fill='%23EA2019'/%3E%3C/svg%3E");

}

.article__publishedon {
    color: #ea2019;
    margin-bottom: 10px;
}

.album-page .return {
    position:fixed;
    top:50%;
    left:50%;
    margin-left:-880px;
    font-weight: 500;
    font-family: var(--font-2);
    font-size: clamp(14px, 1.2vw, 16px);
    line-height: 1.27;
    letter-spacing: .05em;
    text-transform: uppercase;
    text-align:center;
    z-index:50;
    transform:translateY(-50%);
}

@media screen and (max-width:1850px) {
    .album-page .return {position:static;margin-left:0;display:flex;align-items:center;gap:20px;transform:none;}
}

.album-page .return .btn {
    width: clamp(72px, 7vw, 98px);
    height: clamp(72px, 7vw, 98px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
    cursor: pointer;
    padding: 0;
    position: relative;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("data:image/svg+xml,%3Csvg width='45' height='16' viewBox='0 0 45 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.17224 7.2929C0.781719 7.68342 0.781719 8.31659 1.17224 8.70711L7.5362 15.0711C7.92673 15.4616 8.55989 15.4616 8.95042 15.0711C9.34094 14.6805 9.34094 14.0474 8.95042 13.6569L3.29356 8L8.95042 2.34315C9.34094 1.95262 9.34094 1.31946 8.95042 0.928935C8.55989 0.538411 7.92673 0.538411 7.5362 0.928935L1.17224 7.2929ZM44.1207 7L1.87935 7L1.87935 9L44.1207 9L44.1207 7Z' fill='white'/%3E%3C/svg%3E");
    margin-bottom:10px;
}

.text.directions p {
    margin-bottom: 8px;
    text-align: right;
}

.breadcrumb-title {
    margin-bottom: 20px;
    font-size: clamp(28px, 5vw, 50px);
}

.article-page .title-5 {
    color: #ea2019;
    text-transform:none;
    letter-spacing:0;
}

.text a {
    text-decoration: underline;
    font-weight: bold;
    color: #fff;
}

.party-title.party-list {
    grid-row: 1;
}

.party-text-1.party-list {
    grid-row: 2;
}

.party-readmore.party-list {
    grid-row: 3;
    grid-column: 2;
}

header.is-fixed {
    z-index: 100;
}

@media (min-width: 991px) {
    .breadcrumb-title {
        margin-bottom: 40px;
    }
}
.about-us-page .title-1 {
    height: fit-content;
    font-size: clamp(40px, 10vw, 120px);
    font-weight: 600;
    letter-spacing: .2em;
    margin: 0 auto;
    width: 100%;
    text-align: center;
    z-index: 2;
    margin-bottom: clamp(40px, 5vw, 64px);

}
@media (max-width: 700px) {
    main {
        gap: clamp(70px, 10vw, 50px);
    }
}
.contacts-block .title-2.breadcrumb-title {
    margin-bottom: 0;
}

.site-forbidden {
    position:relative;
    min-height:600px;
    min-height:100vh;
    color:white;
    background-position:top center;
    background-size:cover;
    text-align:center;
    padding:20px;
    font-size:16px;
}

.site-forbidden:before {
    content:"";
    display:block;
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:linear-gradient(to bottom, rgba(0,0,0,1), transparent);
}

.site-forbidden > * {
    position:relative;
}

.site-forbidden a {
    color:#ea2019;
}

.site-forbidden h1 {
    font-size: clamp(30px, 5vw, 60px);
    color: #ea2019;
}

.header-mobile-phone {
    display:none !important;
    position:relative;
    width:30px;
    height:30px;
    background:#ea2019;
    border-radius:100%;
    margin:0 !important;
}

.header-mobile-phone img {
    display:block;
    position: absolute;
    top: 7px;
    left: 8px;
    width:50%;
    height:auto;
}

@media screen and (max-width: 500px) {
    .header-mobile-phone {display:inline-block !important;}
    .header-contacts {text-align:right;height:30px;}
}

@media screen and (max-width:900px) {
    .ya-share2__container_size_l .ya-share2__badge .ya-share2__icon {
        width:40px !important;
        height:40px !important;
        background-size:30px 30px !important;
    }
}
