/* Sections
   ========================================================================== */

footer {
    margin-top: 0 !important;
}

main {
    margin-top: 0 !important;
}

html {
    scroll-behavior: smooth;
}

@media screen and (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

/* Text
   ========================================================================== */

h1,
h2,
h3,
h4 {
    text-wrap: balance;
}

h5,
h6,
blockquote,
caption,
figcaption,
p {
    text-wrap: pretty;
}

.has-small-font-size {
    line-height: var(--wp--custom--line-height--small);
}

.has-medium-font-size {
    line-height: var(--wp--custom--line-height--medium);
}

.has-m-large-font-size {
    line-height: var(--wp--custom--line-height--m-large);
}

.has-large-font-size {
    line-height: var(--wp--custom--line-height--large);
}

.has-x-large-font-size {
    line-height: var(--wp--custom--line-height--x-large);
}

.has-xx-large-font-size {
    line-height: var(--wp--custom--line-height--xx-large);
}

.has-xxx-large-font-size {
    line-height: var(--wp--custom--line-height--xxx-large);
}

.has-xxxx-large-font-size {
    line-height: var(--wp--custom--line-height--xxx-large);
}


/* Animations and transitions
   ========================================================================== */

@keyframes fade-in {
    0% {
        opacity: 0.5;
        scale: 0.98;
    }

    100% {
        opacity: 1;
        scale: 1;
    }
}

.fade-on-scroll {
    animation: fade-in linear forwards;
    animation-timeline: view();
    animation-range-start: cover 0%;
    animation-range-end: cover 350px;
}

@keyframes move-left {
    0% {
        opacity: 0;
        transform: translateX(120px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.move-left-on-scroll {
    animation: move-left ease-out forwards;
    animation-timeline: view();
    animation-range-start: cover 0%;
    animation-range-end: cover 33%;
}

@keyframes move-right {
    0% {
        opacity: 0;
        transform: translateX(-120px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.move-right-on-scroll {
    animation: move-right ease-out forwards;
    animation-timeline: view();
    animation-range-start: cover 0%;
    animation-range-end: cover 33%;
}

header .wp-block-site-logo img,
button.wp-block-navigation__responsive-container-open,
button.wp-block-navigation__responsive-container-close {
    transition: all 0.3s;
}

header .wp-block-site-logo img:hover,
button.wp-block-navigation__responsive-container-open:hover,
button.wp-block-navigation__responsive-container-close:hover {
    opacity: 0.5;
}

/* Mobile / Desktop Hide
   ========================================================================== */

@media screen and (max-width: 599px) {
    .mobile-hide {
        display: none !important;
    }
}

@media screen and (min-width: 600px) {
    .desktop-hide {
        display: none !important;
    }
}

/* Sticky footer
   ========================================================================== */

   /* @media screen and (min-height: 700px) {
    footer {
        position: sticky;
        bottom: 0;
    }

    main {
        z-index: 2;
        position: relative;
    }

    header {
        z-index: 3;
        position: relative;
    }
} */

/* Normal links, line disappears on hover
   ========================================================================== */

a {
    text-decoration: none !important;
}

p:not(.wp-block-site-title)>a,
p:not(.wp-block-site-title)>em>a,
p:not(.wp-block-site-title)>strong>a {
    position: relative;
    background: linear-gradient(currentColor, currentColor) right calc(100% - 0.05em) no-repeat;
    background-size: 100% 0.07em;
    transition: all 0.3s;
}

p:not(.wp-block-site-title)>a:hover,
p:not(.wp-block-site-title)>em>a:hover,
p:not(.wp-block-site-title)>strong>a:hover {
    background-size: 0 0.07em;
}

/* Clean links, line appears on hover
   ========================================================================== */

sup>a,
h1>a,
h2>a,
h3>a,
h4>a,
h5>a,
h6>a,
footer p>a,
.wp-block-categories-list a,
.wp-block-footnotes a,
.wp-block-query-pagination a,
ul.wp-block-navigation:not(.wp-block-navigation-submenu) .wp-block-navigation-item__content,
.wp-block-post-author a,
.wp-block-post-author-name a,
.wp-block-post-date a,
.wp-block-post-navigation-link a,
.wp-block-post-terms a,
.wp-block-post-title a,
.wp-block-read-more,
.wp-block-tag-cloud a.tag-cloud-link {
    position: relative !important;
    background: linear-gradient(currentColor, currentColor) left calc(100% - 0.05em) no-repeat !important;
    background-size: 0 0.07em !important;
    transition: all 0.3s !important;
}

sup>a:hover,
h1>a:hover,
h2>a:hover,
h3>a:hover,
h4>a:hover,
h5>a:hover,
h6>a:hover,
footer p>a:hover,
.wp-block-categories-list a:hover,
.wp-block-categories-list .current-cat a,
.wp-block-footnotes a:hover,
.wp-block-query-pagination a:hover,
ul.wp-block-navigation:not(.wp-block-navigation-submenu) .wp-block-navigation-item__content:hover,
ul.wp-block-navigation:not(.wp-block-navigation-submenu) .current-menu-item .wp-block-navigation-item__content,
.wp-block-post-author a:hover,
.wp-block-post-author-name a:hover,
.wp-block-post-date a:hover,
.wp-block-post-navigation-link a:hover,
.wp-block-post-terms a:hover,
.wp-block-post-title a:hover,
.wp-block-read-more:hover,
.wp-block-tag-cloud a:hover {
    background-size: 100% 0.07em !important;
}

/* Links that open in new tab icon
   ========================================================================== */

/* p>a[target="_blank"]::after,
sup>a[target="_blank"]::after,
h1>a[target="_blank"]::after,
h2>a[target="_blank"]::after,
h3>a[target="_blank"]::after,
h4>a[target="_blank"]::after,
h5>a[target="_blank"]::after,
h6>a[target="_blank"]::after,
.wp-block-navigation-link>a[target="_blank"]::after {
    content: '';
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 3v2h3.59l-9.83 9.83l1.41 1.41L19 6.41V10h2V3m-2 16H5V5h7V3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7h-2z'/%3E%3C/svg%3E");
    margin-left: 0.2em;
    display: inline-block;
    width: 0.8em;
    height: 0.8em;
    mask-repeat: no-repeat;
    background-color: currentColor;
} */