/* General Styles */

/* Clip horizontal overflow */
html {
    overflow-x: clip;
}

/* Fix font sizes on mobile devices */
html, body {
    -webkit-text-size-adjust: 100%;
}

/* Prevent scrolling underneath the menu */
html.has-modal-open {
    overflow: auto;
}
.wp-block-navigation__responsive-container.has-modal-open {
    overscroll-behavior: contain;
}

/* Remove spacing between first-level elements */
.wp-site-blocks > *,
.is-root-container > *,
.is-root-container.wp-site-blocks > * {
    margin-top: 0;
}

/* Remove outline from active form elements */
*:focus {
    outline: none;
}

/* Adjust default mark styles */
mark {
    background-color: rgba(0, 0, 0, 0);
}

/* Prevent small images from shifting vertically due to line-height changes */
.wp-block-image a,
.wp-block-image img {
    display: block;
}

/* Making position: sticky elements work inside the header. */
header:has(> .is-position-sticky) {
    display: contents;
}

/* Enabling elements inside the header to overlap content below. */
header > * {
    position: relative;
    z-index: 3;
}


/* Block Styles */

/* Navigation */
.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
    padding-block: .5rem;
}
.wp-block-navigation__responsive-container-close svg,
.wp-block-navigation__responsive-container-open svg {
    height: 30px;
    width: 30px;
}
.wp-block-navigation__responsive-container.is-menu-open {
    padding: clamp(1rem, var(--wp--style--root--padding-top), 20rem) clamp(1rem, var(--wp--style--root--padding-right), 20rem) clamp(1rem, var(--wp--style--root--padding-bottom), 20rem) clamp(1rem, var(--wp--style--root--padding-left), 20em);
}
.wp-block-navigation__responsive-container.is-menu-open {
    padding: clamp(1rem, 5vw, 20rem) clamp(1rem, var(--wp--style--root--padding-right), 20rem) clamp(1rem, 5vw, 20rem) clamp(1rem, var(--wp--style--root--padding-right), 20rem) !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding-top: calc(1rem + 24px);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
    gap: 1rem;
    padding-block: 1.5rem 0.5rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
    gap: 1rem;
}

/* Buttons */
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):not(.has-background):hover {
    background-color: transparent;
    color: var(--wp--preset--color--bbe-primary-500);
    border-color: var(--wp--preset--color--bbe-primary-500, var(--wp--preset--color--contrast, currentColor));
}
.wp-block-button.is-style-style-6 > .wp-block-button__link:not(.has-text-color):not(.has-background):hover {
    color: var(--wp--preset--color--bbe-primary-700);
    border-color: transparent;
}

/* Separator */
.wp-block-separator.has-background:not(.is-style-dots) {
    border: none;
    height: 1px;
}

/* Search */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
    appearance: none;
}
.wp-block-search__label.wp-block-search__label {
    display: block;
    line-height: 1em;
    padding-bottom: .75em;
}
.wp-block-search__input.wp-block-search__input {
    border-radius: 5px;
    padding-inline: .9em;
    padding-block: .5em;
    line-height: 1.6em;
    height: calc(2.6em + 2px);
    color: inherit;
    background: transparent;
}
.wp-block-search__button.wp-block-search__button {
    border-radius: 5px;
    padding-inline: 1.25em;
    padding-block: .5em;
    line-height: 1.6em;
    margin-left: .8em;
}
.wp-block-search__button.has-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    height: calc(2.6em + 2px);
    width: calc(2.6em + 2px);
}
.wp-block-search__button.has-icon svg {
    height: 1.8em;
    width: 1.8em;
    min-height: auto;
    min-width: auto;
}
.wp-block-search.wp-block-search__button-only .wp-block-search__input {
    margin-right: .8em;
}
.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input {
    margin-right: 0;
}

/* Social Links */
.wp-block-social-links, .wp-block-social-links.has-normal-icon-size {
    font-size: 24px;
}
.wp-block-social-links.has-bbe-small-icon-size {
    font-size: 18px;
}
.wp-block-social-links.has-bbe-large-icon-size {
    font-size: 32px;
}
.wp-block-social-links.has-huge-icon-size {
    font-size: 38px;
}

/* Quote */
.wp-block-quote {
	margin-inline-start: 0;
	margin-inline-end: 0;
}
