/** BASE **/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
1.0 CSS Variables
2.0 Body
3.0 Styles from design
4.0 Layout
5.0 Core Gutenberg blocks

--------------------------------------------------------------*/
/* montserrat-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/montserrat-v30-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-500 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/montserrat-v30-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-600 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/montserrat-v30-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-700 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/montserrat-v30-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/*- 1.0 CSS Variables */
:root {
    /* Defined by WP through theme.json */

    --wp--style--root--padding-top: 0px;
    --wp--style--root--padding-right: 20px;
    --wp--style--root--padding-bottom: 0px;
    --wp--style--root--padding-left: 20px;

    --wp--style--global--content-size: 1400px;
    --wp--style--global--wide-size: 1440px;
    /*
    Variables below are generated by WordPress based on theme.json
    --wp--preset--color--red: #F36B47;
    --wp--preset--color--red-2: #C9543A;
    --wp--preset--color--red-3: #9D3C32;
    --wp--preset--color--bg-grey: #EFEFEF;
    --wp--preset--color--light-grey: #E0E0E0;
    --wp--preset--color--dark-grey: #212121;
     */


    /* Utils */
    --scrollbar-width: 0px;
    --admin-bar-height: 0px;
    --viewport-height-diff: 0px;

    --custom-theme-z-index-nav: 2000;
    --custom-theme-z-index-overlay: 4000;

    --custom-theme-flex-span: 1;
    --custom-theme-flex-gap: 20px;

    /* Put custom css variables here */
    --custom-theme-site-header-height: 91px;
    --custom-theme-footer-margin-top: 90px;
}

.has-white-color { color: #FFF; }
.has-black-color { color: #000; }

.has-red-color { color: var(--wp--preset--color--red); }
.has-red-2-color { color: var(--wp--preset--color--red-2); }
.has-red-3-color { color: var(--wp--preset--color--red-3); }
.has-bg-grey-color { color: var(--wp--preset--color--bg-grey); }
.has-light-grey-color { color: var(--wp--preset--color--light-grey); }
.has-dark-grey-color { color: var(--wp--preset--color--dark-grey); }


.has-white-background-color { background-color: #FFF;  --custom-theme-current-bg-color: #FFF; }
.has-black-background-color { background-color: #000; --custom-theme-current-bg-color: #000; }

.has-red-background-color { background-color: var(--wp--preset--color--red); --custom-theme-current-bg-color: var(--wp--preset--color--red); }
.has-red-2-background-color { background-color: var(--wp--preset--color--red-2); --custom-theme-current-bg-color: var(--wp--preset--color--red-2); }
.has-red-3-background-color { background-color: var(--wp--preset--color--red-3); --custom-theme-current-bg-color: var(--wp--preset--color--red-3); }
.has-bg-grey-background-color { background-color: var(--wp--preset--color--bg-grey); --custom-theme-current-bg-color: var(--wp--preset--color--bg-grey); }
.has-light-grey-background-color { background-color: var(--wp--preset--color--light-grey); --custom-theme-current-bg-color: var(--wp--preset--color--light-grey); }
.has-dark-grey-background-color { background-color: var(--wp--preset--color--dark-grey); --custom-theme-current-bg-color: var(--wp--preset--color--dark-grey); }
.has-red-background-color + * { --custom-theme-prev-bg-color: var(--wp--preset--color--red); }
.has-red-2-background-color + * { --custom-theme-prev-bg-color: var(--wp--preset--color--red-2); }
.has-red-3-background-color + * { --custom-theme-prev-bg-color: var(--wp--preset--color--red-3); }
.has-bg-grey-background-color + * { --custom-theme-prev-bg-color: var(--wp--preset--color--bg-grey); }
.has-light-grey-background-color + * { --custom-theme-prev-bg-color: var(--wp--preset--color--light-grey); }
.has-dark-grey-background-color + * { --custom-theme-prev-bg-color: var(--wp--preset--color--dark-grey); }
.has-black-background-color + * { --custom-theme-prev-bg-color: var(--wp--preset--color--black); }
*:has( + .has-red-background-color) { --custom-theme-next-bg-color: var(--wp--preset--color--red); }
*:has( + .has-red-2-background-color) { --custom-theme-next-bg-color: var(--wp--preset--color--red-2); }
*:has( + .has-red-3-background-color) { --custom-theme-next-bg-color: var(--wp--preset--color--red-3); }
*:has( + .has-bg-grey-background-color) { --custom-theme-next-bg-color: var(--wp--preset--color--bg-grey); }
*:has( + .has-light-grey-background-color) { --custom-theme-next-bg-color: var(--wp--preset--color--light-grey); }
*:has( + .has-dark-grey-background-color) { --custom-theme-next-bg-color: var(--wp--preset--color--dark-grey); }
*:has( + .has-black-background-color) { --custom-theme-next-bg-color: var(--wp--preset--color--black); }

.has-black-background-color,
.has-red-background-color,
.has-dark-grey-background-color {
    color: #FFF;
}
.has-bg-grey-background-color,
.has-light-grey-background-color {
    color: #000;
}
.has-red-background-color .block-h2::after,
.has-red-background-color .block-h2.is-style-indented::before {
    color: #000;
}

@media screen and (max-width: 1600px) {
    :root {
    }
}
@media screen and (max-width: 1199px) {
    :root {

    }
}
@media screen and (max-width: 767px) {
    :root {
        --wp--preset--spacing--20: 0.22rem;
        --wp--preset--spacing--30: 0.385rem;
        --wp--preset--spacing--40: 0.5rem;
        --wp--preset--spacing--50: 0.75rem;
        --wp--preset--spacing--60: 1.125rem;
        --wp--preset--spacing--70: 1.69rem;
        --wp--preset--spacing--80: 2.5rem!important;
    }
}

/*- 2.0 Body */
.editor-styles-wrapper,
body:not(.wp-admin) {
    font-family: Montserrat, sans-serif;
    color: #000;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    background-color: var(--wp--preset--color--bg-grey);
}

/*- 3.0 Styles from design */

/*- 4.0 Layout */
.layout-width {
    max-width: var(--wp--style--global--wide-size);
    margin: 0 auto;
}
.content-width {
    max-width: var(--wp--style--global--content-size);
    margin: 0 auto;
}
.is-layout-constrained > *:not(.alignfull):not(.alignwide),
.has-block-layout > *:not(.alignfull):not(.alignwide) {
    margin-right: auto;
    margin-left: auto;
    max-width: var(--wp--style--global--content-size);
}
.has-global-padding .alignfull,
.has-global-padding .alignwide {
    margin-left: calc(var(--wp--style--root--padding-left) * -1);
    margin-right: calc(var(--wp--style--root--padding-right) * -1);
}

.content-width .alignfull,
.is-layout-constrained .alignfull {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw + var(--scrollbar-width) / 2);
    margin-right: calc(50% - 50vw + var(--scrollbar-width) / 2);
    max-width: calc(100vw - var(--scrollbar-width));
    width: calc(100vw - var(--scrollbar-width));
}

.custom-theme-flex-grid,
.gform_fields,
.ginput_complex {
    display: flex;
    gap: var(--custom-theme-flex-gap);
}
.custom-theme-flex-grid > *,
.custom-theme-flex-grid::before,
.custom-theme-flex-grid::after,
.gform_fields > *,
.ginput_complex > * {
    flex: 0 0 calc((100% - 11 * var(--custom-theme-flex-gap)) / 12 * var(--custom-theme-flex-span) + var(--custom-theme-flex-gap) * (var(--custom-theme-flex-span) - 1));
}

.site-content::after {
    content: '';
    display: block;
    margin-top: var(--custom-theme-footer-margin-top);
}

/*- 5.0 Core Gutenberg blocks */

.custom-block-title {
    background: #CCC;
    color: #333;
    text-align: center;
    font-weight: bold;
    text-transform: uppercase;
    padding: 5px 20px;
    grid-row: -1;
    grid-column: span 12;
}
.custom-block-title--lvl2 {
    font-size: 80%;
    background: #DDD;
    color: #333;
    grid-row: -1;
    grid-column: span 12;
}

p[data-type="core/paragraph"],
.block-paragraph {
    margin-top: 0;
    margin-bottom: 1.5em;
    font-size: 0.9375rem;
    line-height: 1.3;
    letter-spacing: -0.03em;
}
.block-paragraph:empty {
    display: none;
}
p[data-type="core/paragraph"] a,
.block-paragraph a,
[data-type="core/list"] a,
.block-list a {
    color: inherit;
    text-decoration: underline;
    transition: 0.3s ease-out;
}

.block-paragraph a:focus-visible,
.block-paragraph a:hover,
.block-list a:focus-visible,
.block-list a:hover {
    color: var(--wp--preset--color--red);
}
.has-red-background-color .block-paragraph a:focus-visible,
.has-red-background-color .block-paragraph a:hover,
.has-red-background-color .block-list a:focus-visible,
.has-red-background-color .block-list a:hover {
    color: #000;
}
p[data-type="core/paragraph"] strong,
.block-paragraph strong {
    font-weight: 600;
}

.wp-block-heading strong {
    font-weight: inherit;
    color: var(--wp--preset--color--red);
}
.wp-block-heading.custom-theme-heading-less-margin {
    margin-bottom: 24px;
}
h1[data-type="core/heading"],
.block-h1,
.is-style-like-h1,
p[data-type="core/paragraph"].is-style-like-h1 {
    font-size: 5rem;
    line-height: 1;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 54px;
    letter-spacing: -0.04em;
}
h1[data-type="core/heading"]::after,
.block-h1::after {
    content: '.' !important;
    color: var(--wp--preset--color--red);
}
.block-h1[data-last-char]::after {
    content: attr(data-last-char) !important;
}

h2[data-type="core/heading"],
.block-h2 {
    font-size: 3.75rem;
    line-height: 1;
    font-weight: 600;
    letter-spacing: -0.04em;
    margin-top: 0;
    margin-bottom: 54px;
}
h2[data-type="core/heading"]::after,
.block-h2::after {
    content: '.' !important;
    color: var(--wp--preset--color--red);
}
.block-h2[data-last-char]::after {
    content: attr(data-last-char) !important;
}
h2[data-type="core/heading"]::after,
.block-h2.has-text-align-center::after {
    display: none;
}

h3[data-type="core/heading"],
.block-h3 {
    font-size: 1.625rem;
    line-height: 1;
    font-weight: 600;
    letter-spacing: -0.03em;
    margin-top: 36px;
    margin-bottom: 24px;
}

[data-type="core/list"],
.block-list {
    margin-top: 0;
    margin-bottom: 1.5em;
    font-size: 0.9375rem;
    line-height: 1.3;
    letter-spacing: -0.03em;
}
[data-type="core/list"] strong,
.block-list strong {
    font-weight: 600;
}

.wp-block-image {
    margin: 20px 0;
}
.wp-block-image img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 10px;
}
[data-type="core/image"].aligncenter,
.wp-block-image.aligncenter img {
    margin-left: auto;
    margin-right: auto;
}

.wp-block-buttons {
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 32px;
    margin-bottom: 32px;
}

.wp-block-button__link {
    --custom-theme-button-bg-color: var(--wp--preset--color--red);
    --custom-theme-button-bg-color-alt: var(--wp--preset--color--red-2);
    --custom-theme-button-bg-color-active: var(--wp--preset--color--red-2);
    --custom-theme-button-border-color: transparent;
    --custom-theme-button-border-color-alt: transparent;
    --custom-theme-button-border-color-active: transparent;
    --custom-theme-button-text-color: #FFF;
    --custom-theme-button-text-color-alt: #FFF;
    --custom-theme-button-text-color-active: #FFF;
    --custom-theme-button-icon-color: currentColor;
    --custom-theme-button-icon-color-alt: currentColor;
    --custom-theme-button-icon-color-active: currentColor;
    position: relative;
    z-index: 1;
    display: flex;
    gap: 10px;
    align-items: center;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    line-height: 1.2 !important;
    text-align: center !important;
    color: var(--custom-theme-button-text-color) !important;
    background-color: var(--custom-theme-button-bg-color) !important;
    border-radius: 2.86em !important;
    text-decoration: none;
    cursor: pointer;
    overflow: hidden;
    border: 0 !important;
    padding: 0.821em 1.722em !important;
    transition: 0.1s;
}
*:not([class*="is-style"]) > .wp-block-button__link {

}

.wp-block-button__link .icon {
    color: var(--custom-theme-button-icon-color);
    transition: 0.3s ease-out;
}
.wp-block-button__link::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: -1px;
    background: var(--custom-theme-button-bg-color-alt);
    border-radius: inherit;
    transform: translateX(-100%);
    transition: 0.4s ease-in-out;
}
.wp-block-button__link:focus-visible::before,
.wp-block-button__link:hover::before {
    transform: none;
}

.wp-block-button__link:focus-visible,
.wp-block-button__link:hover {
    background-color: var(--custom-theme-button-bg-color) !important;
    border-color: var(--custom-theme-button-border-color-alt) !important;
    color: var(--custom-theme-button-text-color-alt) !important;
    transition-delay: 0.2s;
}
.wp-block-button__link:focus-visible .icon,
.wp-block-button__link:hover .icon {
    color: var(--custom-theme-button-icon-color-alt);
}

.wp-block-button__link:active {
    background-color: var(--custom-theme-button-bg-color-active) !important;
    border-color: var(--custom-theme-button-border-color-active) !important;
    color: var(--custom-theme-button-text-color-active) !important;
}
.wp-block-button__link:active .icon {
    color: var(--custom-theme-button-icon-color-active);
}

.is-style-secondary .wp-block-button__link,
.is-style-secondary-download .wp-block-button__link {
    --custom-theme-button-bg-color: transparent;
    --custom-theme-button-bg-color-alt: var(--wp--preset--color--red);
    --custom-theme-button-bg-color-active: var(--wp--preset--color--red);
    --custom-theme-button-border-color: rgba(0, 0, 0, 0.5);
    --custom-theme-button-border-color-alt: var(--wp--preset--color--red);
    --custom-theme-button-border-color-active: var(--wp--preset--color--red);
    --custom-theme-button-text-color: currentColor;
    --custom-theme-button-text-color-alt: #FFF;
    --custom-theme-button-text-color-active: #FFF;
    --custom-theme-button-icon-color-alt: #FFF;
    --custom-theme-button-icon-color-active: #FFF;
}

.is-style-secondary .wp-block-button__link::after,
.is-style-secondary-download .wp-block-button__link::after {
    content: '';
    position: absolute;
    z-index: -2;
    inset: 0;
    border: 1px solid var(--custom-theme-button-border-color) !important;
    border-radius: inherit;
}

.has-red-background-color .wp-block-button__link,
.has-red-background-color .wp-block-button__link {
    --custom-theme-button-bg-color: #FFF;
    --custom-theme-button-text-color: var(--wp--preset--color--red);
}

.has-red-background-color .is-style-secondary .wp-block-button__link,
.has-red-background-color .is-style-secondary-download .wp-block-button__link {
    --custom-theme-button-bg-color: transparent;
    --custom-theme-button-border-color: rgba(255, 255, 255, 0.5);
    --custom-theme-button-text-color: currentColor;
    --custom-theme-button-text-color-alt: #000;
    --custom-theme-button-bg-color-alt: #FFF;
    --custom-theme-button-border-color-alt: #FFF;
    --custom-theme-button-icon-color-alt: #000;
}
.has-black-background-color .is-style-secondary .wp-block-button__link,
.has-black-background-color .is-style-secondary-download .wp-block-button__link,
.has-dark-grey-background-color .is-style-secondary .wp-block-button__link,
.has-dark-grey-background-color .is-style-secondary-download .wp-block-button__link {
    --custom-theme-button-bg-color: transparent;
    --custom-theme-button-border-color: rgba(255, 255, 255, 0.5);
    --custom-theme-button-border-color-alt: var(--wp--preset--color--red);
}


.wp-block-quote {

}
.wp-block-quote p {

}
.wp-block-quote p:before {

}
.wp-block-quote p:after {

}

.wp-block-embed {

}

.wp-block-columns {
    --wp--style--block-gap: 10px;
}


.is-style-indented::before {
    content: '';
    width: 1em;
    font-size: 2em;
    display: inline-block;
    text-align: right;
}
.block-h1.is-style-indented::before,
.block-h2.is-style-indented::before {
    content: '.' !important;
    color: var(--wp--preset--color--red);
}
.block-h1.is-style-indented::after,
.block-h2.is-style-indented::after {
    display: none;
}

.has-large-font-size {
    font-size: 1.25rem;
    line-height: 1.2;
    letter-spacing: -0.04em;
}
.has-x-large-font-size {
    font-size: 1.5rem;
    line-height: 1.2;
}
.wp-block-heading:has(+.block-paragraph.has-x-large-font-size) {
    margin-bottom: 32px;
}
.has-xx-large-font-size {
    font-size: 1.875rem;
    line-height: 1;
    letter-spacing: -0.04em;
}
.wp-block-heading:has(+.block-paragraph.has-xx-large-font-size) {
    margin-bottom: 14px;
}


.wp-block-heading.is-style-limited-width {
    max-width: 926px;
    margin-left: auto;
    margin-right: auto;
    font-size: 2.5rem;
    line-height: 1;
    letter-spacing: -0.04em;
}
.block-paragraph.is-style-limited-width {
    max-width: 1152px;
}

.is-style-limited-width-centered {
    position: relative;
    max-width: 698px;
    margin-left: auto;
    margin-right: auto;
}
.is-style-limited-width-centered::before {
    content: '';
    position: absolute;
    left: -87px;
    top: -11px;
    width: 63px;
    height: 48px;
    background: 0 0 / contain no-repeat;
    background-image: url('data:image/svg+xml;charset=utf-8,<svg width="69" height="54" viewBox="0 0 69 54" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 26.553h60M39 50.805l23.902-23.903L39 3" stroke="%239D3C32" stroke-width="8"/></svg>');
}

.wp-block-heading.is-style-like-paragraph {
    margin-top: 0;
    margin-bottom: 1.5em;
    font-size: 0.9375rem;
    line-height: 1.3;
    letter-spacing: -0.03em;
    font-weight: 400;
}

@media screen and (max-width: 1439px) {
    .block-h1 {
        font-size: 4rem;
    }
    .block-h2 {
        font-size: 3rem;
    }
}
@media screen and (max-width: 991px) {
    .block-h2 br {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    .block-h1 {
        font-size: 3.5rem;
    }
    .block-h2 {
        font-size: 2.25rem;
        margin-bottom: 25px;
    }
    .block-h3 {
        font-size: 1.25rem;
        line-height: 1.2;
    }
    .has-large-font-size {
        font-size: 1.0625rem;
    }

    .is-style-indented::before {
        width: 0.9em;
        margin-top: -0.5em;
    }

    .is-style-limited-width-centered {
        padding-left: 67px;
    }
    .is-style-limited-width-centered::before {
        left: 0;
        top: -10px;
    }
}

