/* White Rabbit sticky header v2: no layout jumps. */
/* Reserve the original header space even when the header is fixed. */
body:has(> .header)::before {
    content: '';
    display: block;
    height: 105px;
    pointer-events: none;
}

body > .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 990;
    background: #fff;
    transform: translate3d(0, 0, 0);
    transition: transform .42s cubic-bezier(.22, 1, .36, 1),
                height .38s cubic-bezier(.22, 1, .36, 1),
                box-shadow .35s ease;
    will-change: transform;
}

body > .header .logo,
body > .header .logo img {
    transition: max-width .38s cubic-bezier(.22, 1, .36, 1),
                max-height .38s cubic-bezier(.22, 1, .36, 1);
}

body.wr-header-scrolled > .header {
    height: 72px;
    box-shadow: 0 5px 24px rgba(4, 29, 44, .08);
    transform: translate3d(0, -110%, 0);
}

body.wr-header-scrolled.wr-header-visible > .header {
    transform: translate3d(0, 0, 0);
}

body.wr-header-scrolled > .header .logo {
    max-width: 132px;
    flex-shrink: 0;
}
body.wr-header-scrolled > .header .logo img {
    display: block;
    width: auto;
    max-width: 132px;
    max-height: 44px;
}
body.wr-header-scrolled > .header .topContactsAndButton .phone { margin-top: 0; }
body.wr-header-scrolled > .header .hiddenMenuWrapper { top: 72px; }

#wr-scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    width: 100%;
    z-index: 1100;
    pointer-events: none;
}
#wr-scroll-progress > span {
    display: block;
    width: 100%;
    height: 100%;
    background: #0055FF;
    transform: scaleX(0);
    transform-origin: left center;
    will-change: transform;
}

@media (max-width: 1280px) {
    body:has(> .header)::before { height: 85px; }
}
@media (max-width: 1024px) {
    body.wr-header-scrolled > .header { height: 68px; }
    body.wr-header-scrolled > .header .hiddenMenuWrapper { top: 68px; }
    body.wr-header-scrolled > .header .logo,
    body.wr-header-scrolled > .header .logo img { max-width: 120px; }
    body.wr-header-scrolled > .header .logo img { max-height: 40px; }
}
@media (max-width: 480px) {
    body.wr-header-scrolled > .header { height: 62px; }
    body.wr-header-scrolled > .header .hiddenMenuWrapper { top: 62px; }
    body.wr-header-scrolled > .header .logo,
    body.wr-header-scrolled > .header .logo img { max-width: 108px; }
    body.wr-header-scrolled > .header .logo img { max-height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
    body > .header,
    body > .header .logo,
    body > .header .logo img { transition: none; }
}
