html {
    scroll-behavior: smooth;
    scrollbar-gutter: stable;
}

strong, b {
    font-weight: 700;
}

/* Button styles */

.wp-element-button,
.wp-block-button .wp-block-button__link,
.wp-block-tab-list button {
    transition: all 0.3s ease-out;
    transition-property: background-color, color, border-color;
    --button-hover-background-color: var(--wp--preset--color--cream-dark);
    --button-hover-color: var(--wp--preset--color--contrast);
    --button-hover-border-color: currentColor;
}

.wp-element-button:active,
.wp-block-button .wp-block-button__link:active,
.is-style-dark .wp-block-button:not(.is-style-outline,.is-style-link) .wp-block-button__link:active {
    --button-hover-background-color: var(--wp--preset--color--cream);
    --button-hover-color: var(--wp--preset--color--contrast);
}

.wp-element-button:hover,
.wp-element-button:active,
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:active,
.wp-block-tab-list button:hover,
.wp-block-tab-list button:active {
    background-color: var(--button-hover-background-color) !important;
    color: var(--button-hover-color) !important;
    border-color: var(--button-hover-border-color) !important;
}

.wp-block-button .wp-block-button__link.has-cream-dark-background-color {
    --button-hover-background-color: var(--wp--preset--color--accent);
    --button-hover-color: var(--wp--preset--color--cream-light);
}

/* Button outline style */

.wp-block-button.is-style-outline .wp-block-button__link {
    --button-hover-background-color: var(--wp--preset--color--contrast);
    --button-hover-color: var(--wp--preset--color--cream-light);
    --button-hover-border-color: var(--wp--preset--color--contrast);
}

.wp-block-button.is-style-outline .wp-block-button__link:active {
    --button-hover-background-color: var(--wp--preset--color--cream);
    --button-hover-color: var(--wp--preset--color--contrast);
    --button-hover-border-color: var(--wp--preset--color--contrast);
}

/* Button Link style */

.wp-block-button.is-style-link .wp-block-button__link {
    --button-hover-background-color: transparent;
    --button-hover-color: currentColor;
    --button-hover-border-color: currentColor;
    transition: transform 0.2s ease-out;
}

.wp-block-button.is-style-link .wp-block-button__link::before {
    content: '';
    background-color: currentColor;
    height: 1px;
    width: 0px;
    left: 0;
    bottom: 0;
    position: absolute;
    transition: width 0.3s ease-out;
}

.wp-block-button.is-style-link .wp-block-button__link::after {
    transition: transform 0.3s ease-out;
}

.wp-block-button.is-style-link .wp-block-button__link:active {
    transform: translateY(0.25em);
}

.wp-block-button.is-style-link .wp-block-button__link:hover::before,
.wp-block-button.is-style-link .wp-block-button__link:focus::before,
.wp-block-button.is-style-link .wp-block-button__link:active::before {
    width: 100%;
}

.wp-block-button.is-style-link .wp-block-button__link:hover::after,
.wp-block-button.is-style-link .wp-block-button__link:active::after  {
    transform: translateX(0.25em);
}

/* Grey Tabs button */

.is-style-tabs-buttons-grey button {
    --button-hover-background-color: var(--wp--preset--color--neutral-dark);
    --button-hover-color: var(--wp--preset--color--contrast);
}

/* Dark style alternate button transitions */

.is-style-dark .wp-block-button.is-style-outline .wp-block-button__link {
    background-color: var(--wp--preset--color--contrast);
    --button-hover-background-color: var(--wp--preset--color--cream-light);
    --button-hover-color: var(--wp--preset--color--contrast);
    --button-hover-border-color: var(--wp--preset--color--cream-light);
}

.is-style-dark .wp-block-button.is-style-outline .wp-block-button__link:active {
    --button-hover-background-color: var(--wp--preset--color--cream-dark);
    --button-hover-color: var(--wp--preset--color--contrast);
    --button-hover-border-color: var(--wp--preset--color--cream-dark);
}

.wp-element-button--arrow {
    display: inline-flex;
    gap: 0.5em;
    justify-content: center;
    align-items: center;
}

.wp-element-button--arrow::after {
    content:"→";
}

/* Header part */

#header-fixed {
    position: fixed;
    transition: background-color 0.25s ease-out;
    width: 100%;
}

#header-fixed,
#header-sticky {
    z-index: 100;
    border-bottom: 1px solid var(--wp--preset--color--cream-dark);
}

.header-menu > .wp-block-group {
    height: 100%;
}

#header-fixed .wp-block-site-logo .seh-main {
    transition: fill 0.25s ease-out;
}

.page--not-scrolled #header-fixed {
    background-color: transparent !important;
    color: var(--wp--preset--color--cream-light);
    border: none;
}

.page--not-scrolled #header-fixed .wp-block-site-logo .seh-main {
    fill: var(--wp--preset--color--cream-light);
}

.page--not-scrolled #header-fixed .wp-block-button__link {
    background-color: var(--wp--preset--color--cream-light) !important;
    color: var(--wp--preset--color--contrast) !important;
}

.wp-block-site-logo svg {
    max-width: 100%;
    height: auto;
}

/* Footer part */

@media screen and (max-width:781px) {
    .footer-column-logo {
        order: 2;
    }

    .footer-column-logo .footer-logo {
        max-width: 300px;
    }
}

/* Gravity Forms block */

.gform_wrapper.gform-theme {
    --gf-ctrl-btn-radius: 50vw;
    --gf-ctrl-btn-color-hover-primary: var(--wp--preset--color--contrast);
    --gf-ctrl-btn-bg-color-hover-primary: var(--wp--preset--color--cream-dark);
    --gf-radius-max-lg: 10px;
    --gf-field-gap-x: 1.125rem;
    --gf-form-gap-x: 1.125rem;
    --gf-form-gap-y: 1.125rem;
}

.gform_wrapper .gform_body {
    --gf-ctrl-font-size: var(--wp--preset--font-size--small);
    --gf-ctrl-padding-x: var(--wp--preset--spacing--50);
    --gf-ctrl-padding-y: var(--wp--preset--spacing--40);
    --gf-ctrl-shadow: none;
}

.gform_wrapper .gform_body .ginput_container > input {
    --gf-local-min-height: 2.5em;
}

.gform_wrapper .gform_body .ginput_container > input::placeholder,
.gform_wrapper .gform_body .ginput_container > textarea::placeholder {
    font-weight: 300;
    opacity: 0.6;
}

.gform_wrapper .gform_footer {
    --gf-ctrl-btn-shadow: none;
    --gf-ctrl-btn-font-size: var(--wp--preset--font-size--small);
    --gf-ctrl-btn-padding-x: var(--wp--preset--spacing--60);
    --gf-ctrl-btn-padding-y: var(--wp--preset--spacing--40);
}

.gform_wrapper .gf--small-gaps {
    --gf-form-gap-x: var(--wp--preset--spacing--50);
    --gf-form-gap-y: var(--wp--preset--spacing--50);
}

.gform_wrapper .gf--hide-labels .gfield {
    color: transparent;
    height: 1px;
    clip-path: inset(0);
    pointer-events: none;
    position: absolute;
    width: 1px;
}

.gform_wrapper .gf--hide-labels .gfield > .gfield_required {
    color: inherit;
}

.gform_wrapper .gf--anim-labels .gfield {
    position: relative;
}

.gform_wrapper .gf--anim-labels .gfield > .gfield_label {
    background-color: var(--gf-ctrl-bg-color);
    border-radius: 0.25em;
    left: calc(var(--wp--preset--spacing--50) + var(--gf-ctrl-border-width) - 0.25em);
    margin: 0;
    padding-inline: 0.25em;
    position: absolute;
    top: calc(var(--wp--preset--spacing--40) + var(--gf-ctrl-border-width));
    transition: all 0.25s ease-in-out;
    transition-property: font-size, top, transform;
}

.gform_wrapper .gf--anim-labels .gfield--type-text > .gfield_label,
.gform_wrapper .gf--anim-labels .gfield--type-phone > .gfield_label,
.gform_wrapper .gf--anim-labels .gfield--type-email > .gfield_label {
    top: 50%;
    transform: translateY(-50%);
}

.gform_wrapper .gf--anim-labels .gform_fields > .gfield_error > .gfield_label {
    border-block-end: 1px solid var(--gf-color-danger);
}

.gform_wrapper .gf--anim-labels .gform_fields > .gfield_error > .gfield_label,
.gform_wrapper .gf--anim-labels .gfield:has(> .ginput_container > *:not(:placeholder-shown)) > .gfield_label,
.gform_wrapper .gf--anim-labels .gfield:focus-within > .gfield_label {
    font-size: 0.75em;
    top: 0;
    transform: translateY(-50%);
}

.gform_wrapper .gf--anim-labels .gfield > .gfield_label > .gfield_required {
    display: none;
}

.gform_wrapper .gf--anim-labels .gfield > .ginput_container > *::placeholder {
    color: transparent;
}

/* Image block */

.wp-block-image:has(> .wp-element-caption) {
    position: relative;
}

.wp-block-image :where(.wp-element-caption) {
    bottom: 0;
    box-sizing: border-box;
    position: absolute;
    width: 100%;
}

/* Image Link block */

.wp-block-image-link.is-style-content-notch > .wp-block-image-link__contents > .wp-block-image-link__title,
.wp-block-image-link.is-style-content-notch > .wp-block-image-link__contents > .wp-block-image-link__content {
    padding-inline: 2.5em;
}

.wp-block-image-link.is-style-content-notch > .wp-block-image-link__contents > .wp-block-image-link__title {
    border-start-start-radius: var(--wp--preset--border-radius--x-large);
}

/* Post Link block */

.wp-block-post-link {
    overflow: visible;
}

/* Extended column backgrounds */

.wp-block-column.is-style-extend-left.has-background > *,
.wp-block-column.is-style-extend-right.has-background > * {
    z-index: 1;
    position: relative;
}

/* Extended column backgrounds - Content grid breakpoint (content-size + global margins (left & right) ) */

@media screen and (max-width: 85rem ) {
    .wp-block-column.is-style-extend-left.has-background::before,
    .wp-block-column.is-style-extend-right.has-background::before {
        width: var(--wp--style--root--padding-right);
    }
}

/* Extended column backgrounds - column stack breakpoint */

@media screen and (max-width: 781px) {
    .wp-block-columns:not(.is-not-stacked-on-mobile) .wp-block-column.is-style-extend-left.has-background::before,
    .wp-block-columns:not(.is-not-stacked-on-mobile) .wp-block-column.is-style-extend-right.has-background::before {
        width: var(--scrollbarless-width,100vw);
        left: calc( var(--wp--style--root--padding-right) * -1 );
        right: unset;
    }
}

/* Breadcrumbs block */

.wp-block-breadcrumbs a {
    text-decoration: none;
}

.wp-block-breadcrumbs a:hover {
    text-decoration: underline;
}

.wp-block-breadcrumbs li > span[aria-current="page"] {
    font-weight: 600;
}

/* Pagination style */

.wp-block-query-pagination {
    padding-top: var(--wp--preset--spacing--60);
    padding-bottom: var(--wp--preset--spacing--50);
}

.wp-block-query-pagination-numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
}

.wp-block-query-pagination-numbers .page-numbers {
    padding: 0.125em 0.5em;
    margin: 0;
    text-decoration: none;
    transition: all 0.2s ease-out;
    transition-property: color, background-color;
}

.wp-block-query-pagination-numbers .current {
    background-color: var(--wp--preset--color--cream);
    color: var(--wp--preset--color--contrast);
    font-weight: 500;
}

.wp-block-query-pagination-numbers a.page-numbers:hover {
    background-color: var(--wp--preset--color--cream);
    color: var(--wp--preset--color--contrast);
}

.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
    text-decoration: none;
    padding: 0.25em 1em;
    background-color: var(--wp--preset--color--cream);
    color: var(--wp--preset--color--contrast);
    font-weight: 500;
    transition: background-color 0.2s ease-out;
    &:hover {
        background-color: var(--wp--preset--color--cream-dark);
    }
}

/* Post content styles */

.single-post .wp-block-post-content p > img,
.single-post .wp-block-post-content iframe {
    max-width: 100%;
    height: auto;
}

/* Gallery Lightbox aspect ratio adjustments */

.wp-lightbox-overlay img {
    aspect-ratio: unset !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: calc( 100vh - 3rem) !important;
    box-sizing: border-box;
    object-fit: contain !important;
    display: block;
}

.wp-lightbox-overlay .lightbox-image-container {
    max-width: calc(100vw - 4rem) !important;
    max-height: calc( 100vh - 3rem) !important;
    width: unset;
    height: unset;
}

.wp-lightbox-overlay .lightbox-image-container:nth-child(even) {
    display: none;
}

/* Accordion Block */

.wp-block-accordion-item {
    display: grid;
    grid-template-rows: max-content 0fr;
    transition: grid-template-rows 0.25s ease-out;
}

.wp-block-accordion-item.is-open {
    grid-template-rows: max-content 1fr;
}

.wp-block-accordion-panel {
    overflow: hidden;
    transition: padding 0.25s ease-out;
}

.wp-block-accordion-panel[aria-hidden=true],
.wp-block-accordion-panel[inert],
.wp-block-accordion-panel[hidden] {
    display: block;
    padding: 0;
}

.wp-block-accordion-heading__toggle {
    padding: 1.25em 0;
}

.wp-block-accordion-heading__toggle-icon {
    font-size: 0;
    width: 1.5rem;
    height: 1.5rem;
    position: relative;
    display: block;
}

.wp-block-accordion-heading__toggle-icon::before,
.wp-block-accordion-heading__toggle-icon::after {
    content: "";
    background-color: currentColor;
    display: block;
    position: absolute;
    border-radius: 2px;
}

.wp-block-accordion-heading__toggle-icon::before {
    width: 2px;
    height: 100%;
    left: 50%;
    transform: translateX(-50%);
    transition: all 0.25s ease-out;
}

.wp-block-accordion-heading__toggle-icon::after {
    width: 100%;
    height: 2px;
    top: 50%;
    transform: translateY(-50%);
}

.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon::before {
    transform: rotate(90deg);
}

.wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
    transform: unset;
}


/* Search block */

.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden {
    border-radius: 50vw;
}

.wp-block-search .wp-block-search__input {
    border-radius: 50vw 0 0 50vw;
    padding-left: 1em;
}

.wp-block-search .wp-block-search__button {
    border-radius: 0 50vw 50vw 0;
    padding-left: 1em;
    padding-right: 1em;
}

.wp-block-search.wp-block-search__button-outside .wp-block-search__button {
    margin: 0;
}