.fhsk-site-part,
.fhsk-site-part * {
    box-sizing: border-box;
}

.fhsk-site-part {
    position: relative;
    width: 100%;
    z-index: var(--fhsk-site-part-z-index, 20);
}

.fhsk-site-part--footer {
    z-index: var(--fhsk-site-part-z-index, 10);
}

.fhsk-site-part__sticky-anchor {
    display: block;
    width: 100%;
    height: 0;
    margin: 0;
    padding: 0;
    pointer-events: none;
}

.fhsk-site-part--sticky {
    --fhsk-sticky-admin-offset: 0px;
    position: sticky !important;
    top: calc(var(--fhsk-sticky-offset, 0px) + var(--fhsk-sticky-admin-offset, 0px));
    z-index: var(--fhsk-site-part-z-index, 1000);
}

.admin-bar .fhsk-site-part--sticky {
    --fhsk-sticky-admin-offset: 32px;
}

.fhsk-site-part--sticky.is-fhsk-stuck {
    position: fixed !important;
    top: calc(var(--fhsk-sticky-offset, 0px) + var(--fhsk-sticky-admin-offset, 0px));
    right: auto !important;
    left: var(--fhsk-sticky-left, 0px) !important;
    width: var(--fhsk-sticky-width, 100%) !important;
    max-width: none;
    margin: 0 !important;
    z-index: var(--fhsk-site-part-z-index, 1000);
}

@media (max-width: 782px) {
    .admin-bar .fhsk-site-part--sticky {
        --fhsk-sticky-admin-offset: 46px;
    }
}

.fhsk-site-part--mobile_action_bar {
    position: fixed !important;
    right: 0;
    bottom: 0;
    left: 0;
    display: none !important;
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    z-index: var(--fhsk-site-part-z-index, 10000);
    transition: transform 180ms ease, visibility 180ms ease;
}

.fhsk-site-part--mobile_action_bar.fhsk-mobile-action-bar--focus-hidden {
    visibility: hidden;
    pointer-events: none;
    transform: translateY(calc(100% + env(safe-area-inset-bottom, 0px)));
}

.fhsk-mobile-action-bar-spacer {
    display: block;
    width: 100%;
    height: var(--fhsk-mobile-action-bar-height, 0px);
    margin: 0;
    padding: 0;
    pointer-events: none;
}

@media (max-width: 767.98px) {
    .fhsk-site-part--mobile_action_bar[data-fhsk-mobile-display="mobile"],
    .fhsk-site-part--mobile_action_bar[data-fhsk-mobile-display="tablet_mobile"] {
        display: block !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .fhsk-site-part--mobile_action_bar[data-fhsk-mobile-display="tablet_mobile"] {
        display: block !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fhsk-site-part--mobile_action_bar {
        transition-duration: 0.01ms !important;
    }
}
