
  header.wp-block-template-part {
    position: sticky;
    z-index: 999999;
}

@media not all and (min-width: 782px) {

    header.wp-block-template-part {
        top: 0px;
    }
}

@media (min-width: 782px) {

    header.wp-block-template-part {
        top: var(--wp-admin--admin-bar--height,0);
    }
}

/* Desktop navigation */

.header .header__desktop {
    display: none;
}

@media (min-width: 782px) {

    .header .header__desktop {
        display: flex;
    }
}

.header .header__desktop-inner {
    display: flex;
    width: 100%;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.header .header__logo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

@media (min-width: 782px) {

    :is(:is(.header .header__logo) .custom-logo-link) img {
        height: 2.25rem;
    }
}

@media not all and (min-width: 782px) {

    :is(.header__logo--mobile:is(.header .header__logo) .custom-logo-link) img {
        height: 1.5rem;
    }
}

.header .header__nav-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 3rem;
}

.header .header__nav {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 3rem;
}

:is(.header .header__nav) a {
    position: relative;
    font-weight: 700;
    transition-property: opacity;
    transition-duration: 300ms;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

:is(.header .header__nav) a:hover {
    opacity: 0.8;
}

/* Highlight only for navigation links, excluding buttons */

.header .header__nav a:not(.wp-block-button__link)::after {
    position: absolute;
    bottom: -2px;
    left: 0px;
    height: 0.125rem;
    width: 0px;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    transition-property: all;
    transition-duration: 300ms;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --tw-content: '';
    content: var(--tw-content);
}

.header .header__nav a:not(.wp-block-button__link):hover::after {
    width: 100%;
}

.header .header__menu-button {
    margin-left: auto;
    margin-right: auto;
    width: auto;
}

.header .header__menu-button .wp-block-buttons {
    margin-left: auto;
    margin-right: auto;
    width: auto;
}

.header .header__menu-button .wp-block-button__link {
    width: auto;
    border-radius: 9999px;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 2.25rem;
    padding-right: 2.25rem;
}

/* Mobile navigation */

.header .header__mobile {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
}

@media (min-width: 782px) {

    .header .header__mobile {
        display: none;
    }
}

:is(.header .header__mobile) .header__mobile-inner {
    display: flex;
    width: 100%;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

:is(.header .header__mobile) .header__toggle {
    position: relative;
    display: flex;
    height: 1.5rem;
    width: 1.5rem;
    cursor: pointer;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-width: 0px;
    background-color: transparent;
}

/* Hamburger icon */

:is(.header .header__mobile) .header__toggle-icon {
    position: relative;
    display: flex;
    height: 12px;
    width: 18px;
    flex-direction: column;
    justify-content: space-between;
}

:is(.header .header__mobile) .header__toggle-icon::before,:is(.header .header__mobile) .header__toggle-icon::after,:is(.header .header__mobile) .header__toggle-icon span {
    position: absolute;
    display: block;
    height: 2px;
    width: 18px;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    transition-property: all;
    transition-duration: 300ms;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --tw-content: '';
    content: var(--tw-content);
}

:is(.header .header__mobile) .header__toggle-icon::before {
    top: 0px;
}

:is(.header .header__mobile) .header__toggle-icon span {
    top: 5px;
}

:is(.header .header__mobile) .header__toggle-icon::after {
    bottom: 0px;
}

/* Active state hamburger */

:is(.header .header__mobile) .header__toggle--active .header__toggle-icon span {
    --tw-scale-x: 0;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    opacity: 0;
}

:is(.header .header__mobile) .header__toggle--active .header__toggle-icon::before {
    --tw-translate-y: 5px;
    --tw-rotate: 45deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

:is(.header .header__mobile) .header__toggle--active .header__toggle-icon::after {
    --tw-translate-y: -5px;
    --tw-rotate: -45deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* Mobile menu - with smooth slide-out animation from left */

.header .header__menu {
    position: fixed;
    left: 0px;
    right: 0px;
    bottom: 0px;
    z-index: 100;
    width: 100%;
    --tw-translate-x: -100%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    overflow-y: auto;
    transition-property: transform;
    transition-duration: 400ms;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

@media (min-width: 782px) {

    .header .header__menu {
        display: none;
    }
}

/* Class for open menu - eject */

.header .header__menu--open {
    --tw-translate-x: 0;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* Hide mobile menu when animation ends */

.header .header__menu--hidden {
    display: none;
}

.header .header__menu-inner {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 3rem;
}

:is(.header .header__menu-inner) .header__menu-buttons {
    margin-top: 0px;
}

.header .header__mobile-nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3rem;
}

:is(.header .header__mobile-nav) .wp-block-navigation-link {
    margin-top: 0px;
}

body.menu-open {
    overflow: hidden;
  }

.footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4rem;
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity));
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.footer .footer__container {
    display: flex;
    width: 100%;
    gap: 2rem;
    align-items: center;
}

@media not all and (min-width: 782px) {

    .footer .footer__container {
        flex-direction: column;
        gap: 3rem;
    }
}

:is(.footer .footer__container) .footer__icons {
    gap: 1.5rem;
}

:is(:is(.footer .footer__container) .footer__icons) .wp-block-social-links {
    margin-top: 0px;
    margin-bottom: 0px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.5rem;
}

:is(:is(.footer .footer__container) .footer__icons) .wp-block-social-links li {
    height: 1.5rem;
    width: 1.5rem;
}

:is(:is(.footer .footer__container) .footer__menu) .wp-block-navigation {
    display: flex;
    justify-content: center;
    gap: 2rem;
}

@media not all and (min-width: 782px) {

    :is(:is(.footer .footer__container) .footer__menu) .wp-block-navigation {
        gap: 1.5rem;
    }
}

:is(:is(.footer .footer__container) .footer__menu) .wp-block-navigation a {
    display: flex;
    gap: 0.5rem;
    font-weight: 700;
}

.wp-block-button .wp-block-button__link {
    transition-property: all;
    transition-duration: 300ms;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.wp-block-button .wp-block-button__link:hover {
    --tw-border-opacity: 1;
    border-color: rgb(255 255 255 / var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(28 44 97 / var(--tw-text-opacity));
}

h1, h2, h3, h4, h5, h6, p {
    margin-top: 0px;
    margin-bottom: 0px;
}

h1, h2,  h4, h5, h6 {
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
}

h3 {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
}

*, ::before, ::after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}

html {
    scroll-behavior: smooth;
}

@media not all and (min-width: 1024px) {

    #wpadminbar {
        position: fixed;
    }
}

@media (min-width: 1024px) {

    .mobile-only {
        display: none !important;
    }
}

@media not all and (min-width: 782px) {

    .hide-on-mobile {
        display: none !important;
    }
}

@media (min-width: 782px) {

    @media not all and (min-width: 1024px) {

        .hide-on-tablet {
            display: none !important;
        }
    }
}

@media (min-width: 1024px) {

    .hide-on-desktop {
        display: none !important;
    }
}

/*Helpers*/

:where(.is-layout-flex) {
    gap: 0px;
}

:root {
  --filter-black: brightness(0) saturate(100%);
}

[style*="--padding-mobile-top"]:is(.wp-block-cover,.wp-block-group) {
    padding-top: var(--padding-mobile-top);
}

[style*="--padding-mobile-right"]:is(.wp-block-cover,.wp-block-group) {
    padding-right: var(--padding-mobile-right);
}

[style*="--padding-mobile-bottom"]:is(.wp-block-cover,.wp-block-group) {
    padding-bottom: var(--padding-mobile-bottom);
}

[style*="--padding-mobile-left"]:is(.wp-block-cover,.wp-block-group) {
    padding-left: var(--padding-mobile-left);
}

@media (min-width: 782px) {

    [style*="--padding-tablet-top"]:is(.wp-block-cover,.wp-block-group) {
        padding-top: var(--padding-tablet-top);
    }

    [style*="--padding-tablet-right"]:is(.wp-block-cover,.wp-block-group) {
        padding-right: var(--padding-tablet-right);
    }

    [style*="--padding-tablet-bottom"]:is(.wp-block-cover,.wp-block-group) {
        padding-bottom: var(--padding-tablet-bottom);
    }

    [style*="--padding-tablet-left"]:is(.wp-block-cover,.wp-block-group) {
        padding-left: var(--padding-tablet-left);
    }
}

@media (min-width: 1024px) {

    [style*="--padding-desktop-top"]:is(.wp-block-cover,.wp-block-group) {
        padding-top: var(--padding-desktop-top);
    }

    [style*="--padding-desktop-right"]:is(.wp-block-cover,.wp-block-group) {
        padding-right: var(--padding-desktop-right);
    }

    [style*="--padding-desktop-bottom"]:is(.wp-block-cover,.wp-block-group) {
        padding-bottom: var(--padding-desktop-bottom);
    }

    [style*="--padding-desktop-left"]:is(.wp-block-cover,.wp-block-group) {
        padding-left: var(--padding-desktop-left);
    }
}

[style*="--fontSize-mobile"]:is(h1,h2,h3,h4,h5,h6,p,ul,ol) {
    font-size: var(--fontSize-mobile);
}

@media (min-width: 782px) {

    [style*="--fontSize-tablet"]:is(h1,h2,h3,h4,h5,h6,p,ul,ol) {
        font-size: var(--fontSize-tablet);
    }
}

@media (min-width: 1024px) {

    [style*="--fontSize-desktop"]:is(h1,h2,h3,h4,h5,h6,p,ul,ol) {
        font-size: var(--fontSize-desktop);
    }
}

[style*="--lineHeight-mobile"]:is(h1,h2,h3,h4,h5,h6,p,ul,ol) {
    line-height: var(--lineHeight-mobile);
}

@media (min-width: 782px) {

    [style*="--lineHeight-tablet"]:is(h1,h2,h3,h4,h5,h6,p,ul,ol) {
        line-height: var(--lineHeight-tablet);
    }
}

@media (min-width: 1024px) {

    [style*="--lineHeight-desktop"]:is(h1,h2,h3,h4,h5,h6,p,ul,ol) {
        line-height: var(--lineHeight-desktop);
    }
}

[style*="--letterSpacing-mobile"]:is(h1,h2,h3,h4,h5,h6,p,ul,ol) {
    letter-spacing: var(--letterSpacing-mobile);
}

@media (min-width: 782px) {

    [style*="--letterSpacing-tablet"]:is(h1,h2,h3,h4,h5,h6,p,ul,ol) {
        letter-spacing: var(--letterSpacing-tablet);
    }
}

@media (min-width: 1024px) {

    [style*="--letterSpacing-desktop"]:is(h1,h2,h3,h4,h5,h6,p,ul,ol) {
        letter-spacing: var(--letterSpacing-desktop);
    }
}

/*Page content*/

:is(.page-content,.post-type-post) p {
    margin-bottom: 1.25rem;
}

:is(:is(.page-content,.post-type-post) .wp-block-list):is(ol) {
    }

:is(:is(.page-content,.post-type-post) .wp-block-list):is(ul) {
    }

:is(.page-content,.post-type-post) a:not(.wp-element-button) {
  }

:is(.page-content,.post-type-post) .wp-block-image {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

@media not all and (min-width: 1024px) {

    :is(:is(.page-content,.post-type-post) .wp-block-image) img {
        height: 100%;
        width: 100%;
        -o-object-fit: cover;
           object-fit: cover;
    }
}

:is(.page-content,.post-type-post) .wp-block-table {
    
  }

:is(.page-content,.post-type-post) .wp-block-file {
    
  }

.wp-block-quote {
  
}

.wp-block-image :where(img[style*="object-fit:cover"]) {
    width: 100%;
    max-width: 100%;
}

.wp-block-image .wp-element-caption {
    margin-top: 1rem;
    margin-bottom: 1rem;
    line-height: 1.25rem;
}
