
    /* Header */

header.wp-block-template-part { position: sticky; z-index: 999; top: 0; }
header.wp-block-template-part > .wp-block-group:first-child,
header.wp-block-template-part .wp-block-wnc-blocks-html-svg { position: relative; }
header.wp-block-template-part .wp-block-wnc-blocks-html-svg svg {
    transition: all .4s; top: -1px;
}
.scrolled header.wp-block-template-part > .wp-block-group:first-child {
    padding-top: 1rem !important; }
.scrolled header.wp-block-template-part .wp-block-wnc-blocks-html-svg svg {
    max-height: 78px !important; }
.admin-bar header.wp-block-template-part { top: 32px; }

.wp-block-site-logo img { max-width: min(190px, 45vw); transition: all .5s; }
.scrolled .wp-block-site-logo img { max-width: min(160px, 37vw); }

header.wp-block-template-part + main { min-height: 800px; } /* temporary */

    /* Collapsibles */
.section_fold_wrapper .section_fold_expander::before { width: 22px; }
.section_fold_wrapper .section_fold_expander::after { height: 22px; }


    /* Back-to-top button */
.back-to-top {
    position: fixed; bottom: 0; right: 0; border-radius: 12px; width: 48px; height: 48px;
    visibility: hidden; opacity: 0; margin-right: .5rem; margin-bottom: 0; transition: all .4s;
    display: flex; align-items: center; justify-content: center; z-index: 3;
}
.back-to-top:hover { background-color: var(--wp--preset--color--accent) !important; }
body.scrolled .back-to-top { visibility: visible; opacity: .7; margin-bottom: 2.5rem; }
body.scrolled .back-to-top:hover { opacity: 1; }
.back-to-top a { display: block; text-decoration: none;  margin-bottom: 6px; flex-grow: 1; }

    /* Block link with animation */

.block_link_wrapper a.block_link_inner { text-decoration: none; }
.block_link_wrapper .wp-block-cover .wp-block-cover__image-background {
    transition: all .5s;
}
.block_link_wrapper .wp-block-cover:hover .wp-block-cover__image-background {
    transform: scale(1.05);
}
.block_link_wrapper .wp-block-cover .wp-block-cover__background { transition: all .5s; }
.block_link_wrapper .wp-block-cover:hover .wp-block-cover__background { opacity: .3; }

    /* Gallery - slider */

.wp-block-gallery.inline-slider:not(.inline-slideshow) figure.wp-block-image:not(#individual-image) {
    width: calc(45% - var(--wp--style--unstable-gallery-gap, 16px)/2);
}

    /* Contact form */

.wpcf7 input:not([type="checkbox"]), .wpcf7 textarea {
    box-sizing: border-box; width: 100%; font-size: var(--wp--preset--font-size--medium);
    padding: 0 var(--wp--preset--spacing--10);
    border: 1px solid var(--wp--preset--color--contrast-3); border-radius: 4px;
}
.wpcf7 input:not([type="checkbox"]) { line-height: 3rem; }
.wpcf7 textarea { padding-top: var(--wp--preset--spacing--10); }


    /* Responsive */

@media (max-width: 782px) {
    .admin-bar header.wp-block-template-part { top: 46px; }
}
@media (min-width: 600px) {
    .wp-block-gallery.inline-slider:not(.inline-slideshow) figure.wp-block-image:not(#individual-image) {
        width: calc(30.33% - var(--wp--style--unstable-gallery-gap, 16px)* .66667);
    }
}
@media (max-width: 600px) {
    .admin-bar header.wp-block-template-part { top: 0; }
}
@media (max-width: 599px) {
    header.wp-block-template-part .wp-block-navigation__responsive-container-close svg,
    header.wp-block-template-part .wp-block-navigation__responsive-container-open svg {
        height: 48px; width: 48px; color: var(--wp--preset--color--base-2);
    }
    .wp-block-navigation__responsive-container.is-menu-open { padding-top: 26px; }
    .scrolled .wp-block-navigation__responsive-container.is-menu-open { padding-top: 18px; }
    .has-modal-open .scrolled.admin-bar .is-menu-open .wp-block-navigation__responsive-dialog {
        margin-top: 0;
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
        align-items: center;
    }
    .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
        background-color: var(--wp--preset--color--contrast-2);
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
        color: var(--wp--preset--color--base-2) !important; align-items: center;
        padding-top: calc(4rem + 24px); font-size: var(--wp--preset--font-size--large);
    }
    .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
        display: none;
    }
}

    /** Animations **/

@keyframes ani_hmove {
    0% { width: 100%; height: 25px; } 30% { width: 120%; height: 40px; } 50% { width: 130%; height: 30px; } 70% { width: 115%; height: 25px; } 100% { width: 100%; height: 25px; }
}

@keyframes ani_appear {
    from { opacity: 0; } to { opacity: 1; }
}

@keyframes ani_imgmove { 
    from { object-position: 50% 50%; } to { object-position: 25% 50%; }
}

    /* Class-based normal animations */
.anim-appear { animation: ani_appear 1s ease-in; }
.anim-appear-fast { animation: ani_appear .5s ease-in; }
.wp-block-post-featured-image.anim-imgmotion > img,
img.anim-imgmotion { animation: ani_imgmove 3s ease-out; object-position: 25% 50%; }

    /* Scroll animations for images */
.wp-block-post-featured-image.scroll-anim,
.wp-block-gallery.scroll-anim,
.wp-block-image.scroll-anim,
.wp-block-media-text.scroll-anim > .wp-block-media-text__media {
    opacity: 0; transition: all 1.2s;
}
.wp-block-post-featured-image.scroll-anim.scroll-anim-init,
.wp-block-gallery.scroll-anim.scroll-anim-init,
.wp-block-image.scroll-anim.scroll-anim-init,
.wp-block-media-text.scroll-anim.scroll-anim-init > .wp-block-media-text__media {
    opacity: 1;
}

    /* Other scroll animations (cover, media+text etc) */
.wp-block-group.columns_content.scroll-anim,
.wp-block-media-text.scroll-anim > .wp-block-media-text__content {
    transform: translateY(100px); transition: all 1.2s;
}
.wp-block-group.columns_content.scroll-anim.scroll-anim-init,
.wp-block-media-text.scroll-anim.scroll-anim-init > .wp-block-media-text__content {
    transform: none;
}
.wp-block-cover.scroll-anim .wp-block-cover__image-background { opacity: 0;transition: all .8s;}
.wp-block-cover.scroll-anim.scroll-anim-init .wp-block-cover__image-background { opacity: 1; }

    /* Timeline block animations */
.timeline_item_content.scroll-anim { opacity: 0; transition: all 1.2s; }
.timeline_item_content.scroll-anim.scroll-anim-init { opacity: 1; }

    /* Class-based scroll animations */
.scroll-anim.anim-hide { opacity: 0; transition: all 1s; }
.scroll-anim-init.anim-hide { opacity: 1; }

.scroll-anim.anim-left { transform: translateX(-20px); transition: all 1s; }
.scroll-anim.anim-right { transform: translateX(20px); transition: all 1s; }
.scroll-anim.anim-down { transform: translateY(20px); transition: all 1s; }
.scroll-anim.anim-down2 { transform: translateY(100px); transition: all 1.2s; }

.scroll-anim-init.anim-left,
.scroll-anim-init.anim-right,
.scroll-anim-init.anim-down2,
.scroll-anim-init.anim-down { transform: none; }

.scroll-anim.anim-rot { opacity: 1; transition: all 1s; transform: rotate(45deg); }
.scroll-anim-init.anim-rot { transform: none; }
