:root {
    /* --dark: #28231f;
    --accentDark: #c6bfb7;
    --accentPrimary: #ee0000;
    --accentLight: #ebe6de;
    --light: #ffffff;
    --notificationSuccess: #50D090; */

    --notificationSuccess: #50d090;

    --theme-container-max-width: 1280px;
    --theme-contained-content-padding: 20px;
    --nectar-default-header-font-color: var(--dark);
}

#nectar-nav {
    body.scrolled-down & {
        padding-block: 0.35rem !important;
    }

    &[data-lhe='default'] #top nav .sf-menu > [class*='current'] > a {
        color: var(--nectar-default-header-font-color) !important;

        &:hover {
            color: var(--accentPrimary) !important;
        }
    }

    @media (width >= 1025px) {
        #nectar-nav #logo,
        #nectar-nav .logo-spacing {
            margin-top: 24px;
            margin-bottom: 24px;
        }
    }

    .menu-item.menu-item-btn-style-border a {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        padding: 12px 24px !important;
        background-color: transparent;
        color: var(--accentPrimary);
        border: 2px solid var(--accentPrimary);
        border-radius: 8px;
        height: 48px;
        line-height: 1;
        letter-spacing: 0;
        transition: ease-in-out 150ms;

        > .menu-title-text {
            transition: ease-in-out 150ms;
        }

        &:hover {
            color: var(--dark);
            border-color: var(--dark);

            > .menu-title-text {
                color: var(--dark);
            }
        }

        &::before,
        &::after {
            display: none;
        }
    }

    &:not(.transparent) li.menu-item-140 > a .menu-title-text {
        color: var(--accentPrimary);
    }

    @media only screen and (min-width: 1025px) {
        &[data-format='default'] #top .span_9 {
            margin-left: 0;
            flex: 1;

            > nav {
                flex: 1;

                > ul {
                    flex: 0 0 100%;
                    gap: 32px;

                    > li:first-child {
                        margin-left: auto;
                    }

                    > li:last-child {
                        margin-left: auto;
                    }
                }
            }
        }
    }
}

#nectar-content-wrap {
    .nectar-blocks-row__inner.is-contained-content {
        padding-left: var(--theme-contained-content-padding);
        padding-right: var(--theme-contained-content-padding);
    }

    .container {
        --mobile-container-width: var(--theme-container-max-width);

        padding: 0px 20px;
    }
}

.js--form-stepper {
    position: relative;

    &::before {
        content: '';
        position: absolute;
        left: 12%;
        right: 11%;
        top: 46%;
        height: 3px;
        background-image: linear-gradient(to right, var(--dark) 25%, transparent 0%);
        background-position: top;
        background-size: 12px 12px;
        background-repeat: repeat-x;

        @media (width <= 1024px) {
            left: 14%;
            right: 14%;
            top: 33%;
        }

        @media (width < 768px) {
            display: none;
        }
    }

    .js--icon,
    .js--badge {
        position: relative;
        transition: 150ms ease-in-out;

        &.is--pending {
            color: var(--light);
            background-color: var(--accentPrimary);
            border-color: var(--accentPrimary);
        }

        &.is--completed {
            color: var(--light);
            background-color: var(--notificationSuccess);
            border-color: var(--notificationSuccess);
        }

        &.js--badge {
            border-color: var(--accentLight);
        }
    }

    .js--icon {
        &.is--pending::after {
            content: '';
            position: absolute;
            width: 2rem;
            height: 2rem;
            bottom: -7.5rem;
            left: 50%;
            transform: rotate(-45deg) translateX(-50%);
            background-color: var(--accentLight);
            z-index: 100;

            @media (width < 768px) {
                display: none;
            }
        }
    }
}

.gform_page_fields {
    .gform_fields {
        gap: 24px;

        p:last-child {
            margin-block-end: 0;
        }

        small {
            font-size: 0.875rem;
        }

        > .gfield {
            grid-column: 5 / -1;

            &.gform--step {
                grid-column: 1 / 4;
                grid-row: 1 / 6;
            }

            .gchoice {
                align-items: center;

                label {
                    font-size: 1rem;
                }
            }

            label {
                cursor: pointer;
                user-select: none;
            }

            @media (width < 1024px) {
                grid-column: 6 / -1;

                &.gform--step {
                    grid-column: 1 / 5;
                }
            }

            @media (width <= 768px) {
                grid-column: 1 / -1;

                &.gform--step {
                    grid-column: 1 / -1;
                    grid-row: auto;
                }
            }
        }
    }
}

.gform-body .gform_fields .gfield_label.gform-field-label {
    font-family: var(--h5-font-family);
    font-weight: 700;
    font-size: 1.125rem;
    margin-block: 0 0.75rem;
}

.gform-body .gform_fields .ginput_container input,
.gform-body .gform_fields .ginput_container textarea {
    font-size: 1rem;
    height: 44px;
    line-height: 44px;
    padding: 0 1rem;
    border: none;
    box-shadow: none;
    color: var(--dark);
    border-radius: 6px;
    background-color: var(--light);
    outline-offset: 3px;
    outline-color: var(--accentPrimary);

    &:focus {
        outline-width: 2px;
    }

    &[type='checkbox'],
    &[type='radio'] {
        width: 32px;
        height: 32px;
        line-height: 32px;
        cursor: pointer;

        &::before {
            color: var(--accentPrimary);
        }
    }

    &[type='radio'] {
        border-radius: 32px;

        &::before {
            block-size: 16px;
            inline-size: 16px;
            background-color: var(--accentPrimary);
        }
    }
}

.gform-body .gform_fields .ginput_container.ginput_container_fileupload input {
    padding: 0;
    cursor: pointer;
}

.gform-body .gform_fields .gfield_description {
    display: block;
    font-size: 0.875rem;
    margin-block-start: 0.75rem;
    color: var(--dark);

    &.gfield_validation_message {
        font-weight: bold;
        color: var(--accentPrimary);
    }
}

.gform_validation_errors {
    font-size: 1rem;
    border: none !important;
    background-color: var(--light) !important;
    border-radius: 0.5rem !important;
    outline: none !important;

    * {
        font-size: 1rem !important;
    }
}

.gform_required_legend {
    display: none !important;
}

.gform_confirmation_message {
    font-family: var(--h5-font-family);
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.5;
    text-align: center;
}

.gform-body.gform-body.gform-body .gform-theme-button.button.button.button,
.gform-body.gform-body.gform-body .gform_button.button.button.button[type='submit'],
.gform-footer.gform-footer.gform-footer .gform-theme-button.button.button.button,
.gform-footer.gform-footer.gform-footer .gform_button.button.button.button[type='submit'],
.gform_wrapper
    .form_saved_message
    .form_saved_message_emailform
    .gform_footer
    input[type='submit'] {
    font-family: var(--h5-font-family);
    font-weight: 700;
    font-size: 1rem;
    height: 44px;
    padding: 0 1.5rem !important;
    border: none;
    box-shadow: none;
    border-radius: 6px;
    color: var(--light);
    background-color: var(--accentPrimary);
    border: 2px solid var(--accentPrimary);
    outline-offset: 3px;
    outline-color: var(--accentPrimary);

    &::before {
        color: inherit;
    }

    &.gform-theme-button--secondary:not(.gform_previous_button) {
        color: var(--light);
        background-color: transparent;
        border: 2px solid var(--light);
    }

    &:focus {
        outline-width: 2px;
    }
}

.gform_wrapper .gform_ajax_spinner {
    display: block;
    box-sizing: border-box;
    margin: 0;
    border: 4px solid var(--accentPrimary);
    border-left: 4px solid transparent;
    animation: spinner 1.1s infinite linear;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    z-index: 1;
}

@keyframes spinner {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.gform_wrapper .form_saved_message,
.gform_confirmation_wrapper {
    padding-block-end: 6rem;

    .resume_form_link_wrapper a {
        font-weight: 700;
    }
}

.gform_body .nectar-blocks-button-secondary {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex-grow: 0;
    padding: 12px 24px !important;
    background-color: transparent;
    color: currentColor;
    border: 2px solid currentColor;
    border-radius: 8px;
    height: 48px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    transition: ease-in-out 150ms;

    &:hover {
        color: var(--accentPrimary);
    }
}

.gform-page-footer {
    display: flex;
    justify-content: space-between;
    position: relative;
    padding-block: clamp(1.5rem, 5vw, 3rem);
    margin-block-start: clamp(3rem, 5vw, 6rem) !important;
    background-color: var(--dark);

    > * {
        z-index: 10;
    }

    &::before {
        content: '';
        position: absolute;
        inset: 0 -100vw;
        background-color: var(--dark);
        z-index: 0;
    }

    .gform_previous_button {
        order: 1;
    }

    .gform_save_link {
        order: 2;
    }

    .gform_next_button,
    .gform_button[type='submit'] {
        order: 3;
    }

    @media (width < 640px) {
        flex-direction: column;
        gap: 1rem !important;
    }
}

.gf-eyebrow {
    font-family: var(--h5-font-family);
    font-size: 0.75rem;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: inline-block;
    padding: 0.65rem 1.2rem;
    border-radius: 3rem;
    background-color: var(--light);
}

.gf-service-cost {
    padding: 0.75em;
    border-radius: 0.35rem;
    background-color: rgba(255, 255, 255, 0.2);

    &.is--total {
        background-color: var(--accentLight);
    }
}

.gf-terms-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1em;
    padding: 1.5em;
    border-radius: 0.35rem;
    background-color: rgba(255, 255, 255, 0.2);
    height: 23.5rem;
    overflow-y: auto;

    > * {
        margin-block: 0 !important;
    }
}

.gform_wrapper .form_saved_message {
    max-width: 72ch;

    a {
        color: var(--accentPrimary);
        font-weight: bold;
    }
}

.gfield--type-html:has(.gf-service-cost) + .gfield--type-html:has(.gf-service-cost) {
    margin-block-start: -1rem;
}

.gfield--type-html:has(> .site-themes-cover) {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    grid-template-rows: 1fr repeat(4, auto) 1fr;
    gap: 1.5rem;
    margin-block: 1rem;

    > * {
        grid-column: 5 / 9;
        margin: 0;
        margin-inline-start: 1.5rem !important;
    }

    > .site-themes-cover {
        grid-column: 1 / 5;
        grid-row: 1 / 7;
        margin-inline-start: 0 !important;
        align-self: flex-start;
        padding: 0.75rem;
        border-radius: 1rem;
        background-color: hsla(0, 0%, 100%, 0.25);
        cursor: pointer;
        transition: ease-in-out 200ms;

        &:hover {
            transform: scale(1.015);
        }

        img {
            display: block;
            width: 100%;
            border-radius: 0.5rem;
        }
    }

    > h5 {
        grid-row: 2 / 3;
    }

    > p {
        grid-row: 3 / 4;
    }

    > a {
        grid-row: 5 / 6;
        max-width: 13rem;
    }

    .site-themes-covers {
        display: flex;
        flex-wrap: wrap;
        gap: 1.5rem;
        margin-block-end: 1.5rem;
        grid-row: 4 / 5;

        img {
            display: block;
            width: 100%;
            max-width: 6rem;
            flex: 1;
            padding: 0.5rem;
            border-radius: 0.325rem;
            background-color: hsla(0, 0%, 100%, 0.25);
            cursor: pointer;
            transition: ease-in-out 200ms;

            &:hover {
                transform: scale(1.05);
            }
        }
    }

    @media (width <= 640px) {
        grid-template-columns: 1fr;
        grid-template-rows: auto;

        > * {
            grid-column: 1 / -1 !important;
            grid-row: auto / span 1 !important;
            margin: 0 !important;
        }
    }
}

.wp-block-cloudcatch-light-modal-block__wrapper {
    .wp-block-cloudcatch-light-modal-block {
        border-radius: 1rem;

        .wp-block-cloudcatch-light-modal-block__content {
            padding: 0.5rem;
            max-height: 80vh;
        }

        .gform_wrapper .form_saved_message,
        .gform_confirmation_wrapper {
            padding-block: 3rem;
        }
    }
}

body:has(.wp-block-cloudcatch-light-modal-block__wrapper.is-open) #nectar-content-wrap {
    z-index: 10000;
}

.wp-block-table {
    margin-block: 3rem;
}

body.single-diversity_client #copyright {
    display: none;
}
