/* 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
}

:where(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
}

.wp-site-blocks:has(.hero) .site-header {
    display: none
}

.hero figure {
    margin: 0;
}

/* 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 {
    height: 75px;
}

/* Animations ------------------------------ */

@keyframes turn-on-visibility {
    0% {
        transform: scale(0.8);
    }

    to {
        transform: scale(1);
    }
}

@keyframes turn-in-up {
    0% {
        opacity: 0;
        transform: translateY(2rem);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* others */

.wp-block-group:where(.hstack, .vstack)>* {
    margin-top: 0 !important;
}

:where(.wp-site-blocks)>main {
    margin-block-start: 0;
    scroll-margin-top: -70px;
}

.has-global-padding>.has-global-padding.alignfull {
    padding-left: var(--wp--style--root--padding-left);
    padding-right: var(--wp--style--root--padding-right);
}

/* WP */

.wp-element-button {
    cursor: pointer
}

.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: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important
}

.screen-reader-text:focus,
.splide__sr:focus {
    background-color: #ddd;
    clip: auto !important;
    -webkit-clip-path: none;
    clip-path: none;
    color: #444;
    display: block;
    font-size: 1em;
    height: auto;
    line-height: normal;
    padding: 15px 23px 14px;
    right: 5px;
    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
}

.ms-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-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: 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
}

.cards-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--wp--preset--spacing--30);
    text-align: center;
}

/* 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: 600px) {
    .hide-desktop {
        display: none !important;
    }

    .jc-lg-center {
        justify-content: center
    }

    .jc-lg-between {
        justify-content: space-between
    }

    .nowrap-lg {
        flex-wrap: nowrap !important
    }
}

@media (max-width: 599px) {
    .custom-logo {
        width: 118px
    }

    .wrap-sm {
        flex-wrap: wrap
    }

    .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: 40px;
        height: 40px;
    }

    .site-footer__logos img {
        max-width: 80%;
        height: auto;
        object-fit: contain;
    }

    .hide-sm {
        display: none !important;
    }
}