/* Front ------------------------------ */

@media (prefers-reduced-motion: no-preference) {
    :root {
        scroll-behavior: smooth;
    }
}

/* Reset ------------------------------ */

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    font-feature-settings: "ss01";
}

ol,
ul {
    padding: 0;
    margin: 0;
    list-style: inside;
}

img,
svg {
    max-width: 100%;
    height: auto
}

p:last-of-type {
    margin-bottom: 0
}

b,
strong {
    font-weight: 700
}

figure {
    margin: 0;
}

button {
    background: none;
    border: none;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    line-height: inherit;
    cursor: pointer;
}

img:is([sizes=auto i], [sizes^="auto," i]) {
    contain-intrinsic-size: 3000px 1500px
}

a {
    transition: color .2s, background-color .2s;
}

/* Header ------------------------------ */

.site-header {
    background-color: #FFF;
    padding: var(--header-p-y, 1.25rem) 1rem;
    z-index: 20;
    position: sticky;
    top: 0;
}

.site-header.full {
    border-bottom: 1px solid #F2F4F7;
    box-shadow: 0px 4px 18px rgba(13, 34, 70, 0.02), 0px 1px 6px rgba(13, 34, 70, 0.02);
}

.wp-site-blocks:has(.hero) .site-header:not(.full) {
    display: none;
}

/* Footer ------------------------------ */

.site-footer {
    background-color: #FFF;
    padding: 2rem 1rem 1.5rem;
    margin-top: 4.5rem
}

.site-footer__logos>* {
    width: 105px;
    height: 90px;
    border: 1px solid #eaecf0;
    border-radius: .5rem;
}

.site-footer__logos img {
    max-height: 75px;
	object-fit: contain;
}

/* Others ------------------------------ */

.wp-block-group:where(.hstack, .vstack)>*,
.no-mt>* {
    margin-top: 0 !important;
}

:where(.wp-site-blocks)>main {
    margin-block-start: 0;
    scroll-margin-top: -70px;
}

/* WP  ------------------------------ */

.has-regular-font-size {
    font-size: 1em
}

.has-larger-font-size {
    font-size: 2.625em
}

.has-text-align-center {
    text-align: center
}

.has-text-align-left {
    text-align: left
}

.has-text-align-right {
    text-align: right
}

#end-resizable-editor-section {
    display: none
}

.aligncenter {
    clear: both
}

.items-justified-left {
    justify-content: flex-start
}

.items-justified-center {
    justify-content: center
}

.wp-block-post-title {
    word-break: break-word
}

.wp-block-post-title a,
.wp-block-site-logo a {
    display: inline-block
}

p.has-background,
.wp-block-heading.has-background,
ol.has-background,
ul.has-background {
    padding: 1.25em 2.375em
}

p.has-text-color:not(.has-link-color) a,
.has-text-color .wp-block-heading {
    color: inherit
}

.wp-block-site-logo,
.wp-block-site-logo a {
    line-height: 0
}

.wp-block-separator {
    border: none;
    height: var(--hr-border-size, 1px);
    background-color: #DFDFE0
}

.is-style-large {
    --hr-border-size: .5rem
}

.screen-reader-text,
.splide__sr {
    border: 0;
    clip-path: inset(50%);
    height: 1px;
    margin: 0px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus,
.splide__sr:focus {
    background-color: #eee;
    clip-path: none;
    color: #444;
    display: block;
    font-size: 1em;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* Main ------------------------------ */

.gap-0 {
    gap: 0 !important
}

.gap-8 {
    gap: var(--wp--preset--spacing--10) !important
}

.gap-16 {
    gap: var(--wp--preset--spacing--20) !important
}

.gap-24 {
    gap: var(--wp--preset--spacing--30) !important
}

.gap-32 {
    gap: var(--wp--preset--spacing--40) !important
}

.gap-48 {
    gap: var(--wp--preset--spacing--60) !important
}

.hstack,
.flex-center {
    display: flex;
    flex-direction: row;
    align-items: center;
    align-self: stretch
}

.vstack {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-self: stretch
}

.jc-center,
.flex-center {
    justify-content: center
}

.jc-between,
.items-justified-space-between {
    justify-content: space-between
}

.jc-end,
.items-justified-right {
    justify-content: flex-end
}

.ai-start {
    align-items: flex-start !important
}

.ai-center {
    align-items: center !important
}

.me-auto,
.mx-auto {
    margin-left: auto !important
}

.ms-auto,
.mx-auto {
    margin-right: auto !important
}

.stretched-link::before,
.is-link a::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1
}

:root .fw-medium {
    font-weight: 500;
}

:root .fw-semibold {
    font-weight: 600
}

:root .fw-bold {
    font-weight: 700
}

.p-r {
    position: relative
}

.f-shrink {
    flex-shrink: 0;
}

.lh-1 {
    line-height: 1;
}

.f-grow {
    flex-grow: 1;
}

.w-100 {
    width: 100%;
}

.fa-num {
    font-feature-settings: "ss01";
}

.hidden,
.is-hidden {
    display: none !important;
}

/* Block: Navigation ------------------------------ */

:root .wp-block-navigation-item__content {
    display: flex;
    align-items: center;
    gap: .5rem;
}

:root .wp-block-navigation__submenu-icon {
    width: .8em;
    height: .8em;
    margin-right: 6px;
}

.wp-block-navigation>li:hover {
    color: var(--wp--preset--color--primary);
}

.wp-block-navigation-submenu>li>a {
    padding: .75rem !important;
}

:root .wp-block-navigation-submenu>li>a:hover {
    background-color: #ecf3ff;
    color: var(--wp--preset--color--dark);
}

/* Block: Images ------------------------------ */

.wp-block-media-text__media {
    text-align: center
}

.wp-block-image img {
    vertical-align: bottom
}

.wp-block-image.aligncenter {
    text-align: center
}

.wp-block-image.alignfull img,
.wp-block-image.alignwide img {
    height: auto;
    width: 100%
}

.wp-block-image [class*="align"],
.wp-block-image[class*="align"] {
    display: table
}

.wp-block-image [class*="align"]>figcaption,
.wp-block-image[class*="align"]>figcaption {
    caption-side: bottom;
    display: table-caption
}

.wp-block-image .alignleft {
    float: left;
    margin: .5em 1em .5em 0
}

.wp-block-image .alignright {
    float: right;
    margin: .5em 0 .5em 1em
}

.wp-block-image .aligncenter {
    margin-left: auto;
    margin-right: auto
}

.wp-block-image figcaption {
    margin-bottom: 1em;
    margin-top: .5em
}

/* Block: Post Content ------------------------------ */

.wp-block-post-content {
    display: flow-root
}

/* Animations ------------------------------ */

.turn-on-visibility {
    will-change: transform, opacity;
    animation: turnOnVisibility .4s
}

@keyframes turnOnVisibility {
    0% {
        opacity: 0;
        transform: translate3d(0, 20px, 0) scale(.95)
    }

    to {
        opacity: 1;
        transform: translateZ(0) scale(1)
    }
}

/* Responsive ------------------------------ */

@media (min-width: 762px) {
    .hide-desktop {
        display: none !important;
    }

    .jc-lg-center {
        justify-content: center
    }

    .jc-lg-between {
        justify-content: space-between
    }

    .nowrap-lg {
        flex-wrap: nowrap !important
    }

    .wp-block-navigation>.wp-block-navigation-item {
        padding: .5rem 0;
    }

    .wp-block-navigation:not(.has-background) li .wp-block-navigation-submenu {
        border-color: #d0d5dd;
        border-radius: .5rem;
        padding: .25rem 0;
        color: var(--wp--preset--color--muted);
    }
}

@media (max-width: 761px) {
    .wp-block-site-logo {
        width: 118px;
    }

    .wrap-sm {
        flex-wrap: wrap
    }

    .site-header.full {
        --header-p-y: .5rem;
    }

    .site-header {
        box-shadow: 0px 1px 4px rgba(189, 189, 189, 0.5);
    }

    .is-responsive {
        --wp--preset--spacing--40: .25rem;
        order: -1;
    }

    .wp-block-navigation .wp-block-navigation__container>li:first-of-type {
        position: absolute;
        top: -2.5rem;
        right: 0;
    }

    .wp-block-navigation .wp-block-site-logo {
        margin: 0 auto;
        width: 134px;
    }

    .wp-block-navigation__responsive-container-open {
        border: 1px solid #EAECF0;
        border-radius: .5rem;
        padding: 7px;
    }

    .wp-block-navigation__responsive-container-close {
        right: 1rem;
        color: #98A2B3;
    }

    :root .wp-block-navigation__responsive-container {
        background-color: rgba(0, 0, 0, .5) !important;
        padding: 0;
        pointer-events: none;
    }

    :root .wp-block-navigation__responsive-close {
        --wp--style--global--wide-size: 275px;
        background-color: #FFF;
        height: 100%;
        padding: 1.25rem 0;
        margin-right: unset;
        pointer-events: all;
    }

    .wp-block-navigation ul {
        align-self: stretch;
        padding: 0 !important;
		margin: 0 !important
    }

    .wp-block-navigation .wp-block-navigation-item {
        width: 100%;
    }

    .wp-block-navigation>.wp-block-navigation-item:not(.has-child):not(:first-of-type)::after {
        content: '';
        background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2'><path d='m15 6-6 6 6 6'/></svg>") no-repeat center;
        position: absolute;
        top: 13px;
        left: 1rem;
        width: 1rem;
        height: 1rem;
    }

    .wp-block-navigation-item:has(.wp-block-navigation-submenu__toggle[aria-expanded="true"]) {
        background-color: #EFF1F3 !important;
    }

    :root .wp-block-navigation__submenu-icon {
        position: absolute;
        display: block !important;
        left: .5rem;
        top: 6px;
        color: #667085;
        width: 2rem;
        height: 2rem;
        z-index: 10;
    }

    :root .wp-block-navigation__submenu-icon svg {
        width: .75rem;
    }

    .wp-block-navigation-submenu__toggle[aria-expanded="false"]~.wp-block-navigation__submenu-container {
        display: none;
    }

    .wp-block-navigation-submenu__toggle[aria-expanded="true"]~.wp-block-navigation__submenu-container {
        display: block;
    }

    .wp-block-navigation__submenu-container::before {
        content: '';
        border-top: 1px dashed #D0D5DD;
        margin: 0 1rem;
        display: block
    }

    :root .wp-block-navigation-item__content {
        width: 100%;
        padding: .625rem 1rem !important;
    }

    .wp-block-navigation-item__content svg {
        width: 1rem;
        height: 1rem;
    }

    .site-footer {
        --wp--preset--spacing--30: 1.25rem;
        padding-top: 1.25rem
    }

    .site-footer__logos {
        width: 100%;
        margin-top: 1.25rem !important;
    }

    .site-footer__logos>* {
        width: unset;
        height: unset;
        aspect-ratio: 1/1;
        flex: 1;
    }

    .site-footer__logos img {
        max-width: 80%;
        height: auto;
        object-fit: contain;
    }

    .hide-sm {
        display: none !important;
    }
}