/* Custom Styles */
@charset "UTF-8";

@font-face {
    font-display: swap;
    font-family: "EditorialNew";
    font-style: normal;
    font-weight: 400;
    src:
        local("EditorialNew"),
        local("EditorialNew-Regular"),
        local("EditorialNew Regular"),
        url("https://www.anaarias.es/resource_redirect/downloads/file-uploads/sites/2148697422/themes/2162096568/downloads/ca6381-5d85-3041-e7b-c2e4f750b47_EditorialNew-Regular.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "EditorialNew";
    font-style: normal;
    font-weight: 200;
    src:
        local("EditorialNew"),
        local("EditorialNew-Ultralight"),
        local("EditorialNew Ultralight"),
        url("https://www.anaarias.es/resource_redirect/downloads/file-uploads/sites/2148697422/themes/2162096568/downloads/6e0350-431d-555-adb3-5ac4d7da2f1c_EditorialNew-Ultralight.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "NeueMontreal";
    font-style: normal;
    font-weight: 100;
    src:
        local("NeueMontreal"),
        local("NeueMontreal-Thin"),
        local("NeueMontreal Thin"),
        url("https://www.anaarias.es/resource_redirect/downloads/file-uploads/sites/2148697422/themes/2162096568/downloads/eccb48-6de7-560-00a7-444b4cc5be8_NeueMontreal-Thin.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "NeueMontreal";
    font-style: normal;
    font-weight: 400;
    src:
        local("NeueMontreal"),
        local("NeueMontreal-Regular"),
        local("NeueMontreal Regular"),
        url("https://www.anaarias.es/resource_redirect/downloads/file-uploads/sites/2148697422/themes/2162096568/downloads/87723bf-6cb1-224-c5a1-e224b006d820_NeueMontreal-Regular.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "NeueMontreal";
    font-style: normal;
    font-weight: 500;
    src:
        local("NeueMontreal"),
        local("NeueMontreal-Medium"),
        local("NeueMontreal Medium"),
        url("https://www.anaarias.es/resource_redirect/downloads/file-uploads/sites/2148697422/themes/2162096568/downloads/f336780-aee-62a4-b038-fea86f25b188_NeueMontreal-Medium.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "NeueMontreal";
    font-style: normal;
    font-weight: 700;
    src:
        local("NeueMontreal"),
        local("NeueMontreal-Bold"),
        local("NeueMontreal Bold"),
        url("https://www.anaarias.es/resource_redirect/downloads/file-uploads/sites/2148697422/themes/2162096568/downloads/b377da7-cad6-42a3-066a-21e5e7ee8c11_NeueMontreal-Bold.woff2") format("woff2");
}

:root {
    --primary: #04038a;
    --primary-hover: #0d0db2;
    --primary-active: #04038a;
    --secondary: #800020;
    --secondary-hover: #9c0029;
    --secondary-active: #800020;
    --accent: #e2ff52;
    --accent-hover: #bad725;
    --accent-active: #e2ff52;
    --surface-primary: #efede8;
    --surface-secondary: #f7f6f2;
    --text-secondary: #847f74;
    --text-inverted: #f7f6f2;
    --font-body: "NeueMontreal", Verdana, Geneva, Tahoma, sans-serif;
    --font-heading: "EditorialNew", Georgia, 'Times New Roman', Times, serif;
    --container-width: 78.75rem;
    --border-color: #847f74;
    --radii-md: 0.5rem;
    --outline-offset: 3px;
    --color-error: #9c0029;

    --font-size-step-7: clamp(3rem, 2.0233rem + 3.7209vw, 5rem);
    --font-size-step-6: clamp(3rem, 2.0233rem + 3.7209vw, 5rem);
    --font-size-step-5: clamp(2rem, 1.5116rem + 1.8605vw, 3rem);
    --font-size-step-4: clamp(1.5rem, 1.2558rem + 0.9302vw, 2rem);
    --font-size-step-3: 1.5rem;
    --font-size-step-2: 1.25rem;
    --font-size-step-1: 1rem;
    --font-size-step-0: 0.875rem;
}

html,
body {
    background-color: var(--surface-primary);
}

html {
    font-size: 16px !important;
}

body#anaarias-theme {
    background-color: var(--surface-primary);
    font-family: var(--font-body);
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.5;

    * {
        box-shadow: none !important;
        color: var(--primary);
        font-family: var(--font-body);
        font-weight: 400;
    }

    p,
    span {
        a:not([class*="social-icons"]):not(.product__title) {
            color: var(--secondary);
            font-weight: 500;
            text-decoration: underline;

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

            &:active {
                color: var(--secondary-active);
            }
        }
    }

    .blog-listing__title,
    .blog-listing__more {
        color: var(--secondary);
        font-weight: 500;
        text-decoration: underline;

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

        &:active {
            color: var(--secondary-active);
        }
    }

    h1,
    .h1,
    h2,
    .h2,
    h3,
    .h3,
    h4,
    .h4,
    .product__title {
        font-family: var(--font-heading);
        font-weight: 200;
        line-height: 1.2;

        * {
            font-family: var(--font-heading) !important;
            font-weight: 200 !important;
        }
    }

    h5,
    .h5,
    h6,
    .h6 {
        font-family: var(--font-body);
        font-weight: 100;
        margin-block: 1.25rem 1rem;
    }

    h1,
    .h1 {
        font-size: var(--font-size-step-6);
        margin-block-end: 2.5rem;

        &:not(:first-child) {
            margin-block-start: 2.5rem;
        }
    }

    h2,
    .h2 {
        font-size: var(--font-size-step-5);
        margin-block-end: 2rem;

        &:not(:first-child) {
            margin-block-start: 2rem;
        }
    }

    h3,
    .h3 {
        font-size: var(--font-size-step-4);
        margin-block-end: 1.75rem;

        &:not(:first-child) {
            margin-block-start: 1.5rem;
        }
    }

    h4,
    .h4,
    .product__title {
        font-size: var(--font-size-step-3);
        margin-block-end: 1.5rem;

        &:not(:first-child) {
            margin-block-start: 1.25rem;
        }
    }

    h5,
    .h5 {
        font-size: var(--font-size-step-2);
    }

    h6,
    .h6 {
        font-size: var(--font-size-step-1);
    }

    p {
        margin-block: 0.5rem;
    }

    b,
    strong {
        color: inherit;
        font-weight: 700;
    }

    .btn,
    .form-btn,
    .sage-btn {
        border-radius: 99999px;

        &:focus-visible,
        &:focus-within {
            outline: 2px solid var(--button-outline-color, var(--accent));
            outline-offset: var(--outline-offset);
        }
    }

    .sage-btn {
        background-color: var(--button-background-color, var(--primary)) !important;
        border: 1px solid var(--button-border-color, var(--primary)) !important;
        color: var(--button-text-color, var(--text-inverted)) !important;

        * {
            color: var(--button-text-color, var(--text-inverted));
        }

        &:hover {
            --button-background-color: var(--primary-hover);
            --button-border-color: var(--primary-hover);
            --button-text-color: var(--text-inverted);
        }

        &:active {
            --button-background-color: var(--primary-active);
            --button-border-color: var(--primary-active);
            --button-text-color: var(--text-inverted);
        }

        /* &:focus-visible,
        &:focus-within {
            outline: 2px solid var(--button-outline-color, var(--accent));
            outline-offset: var(--outline-offset);
        } */

        /* &.btn--outline {
            --button-background-color: transparent;
            --button-border-color: var(--primary);
            --button-text-color: var(--primary);

            &:hover {
                --button-background-color: var(--primary-hover);
                --button-border-color: var(--primary-hover);
                --button-text-color: var(--text-inverted);
            }

            &:active {
                --button-background-color: transparent;
                --button-border-color: var(--primary);
                --button-text-color: var(--primary);
            }
        } */
    }

    .header {
        background-color: var(--surface-primary);
        position: relative;

        .header__container {
            justify-content: space-between;
        }

        .header__switch-content.header__spacer {
            display: none;
        }

        .logo {
            height: 1.5rem;
            width: 10rem;

            @media (min-width: 48em) {
                height: 1.75rem;
                width: 11rem;
            }
        }

        .link-list {
            gap: 1.5rem;

            .link-list__link {
                margin: 0;
            }
        }

        a:not(.btn):not(.btn *):not(.form-btn):not(.form-btn *):not([class*="social-icons"]) {
            color: var(--primary);
            text-decoration: none;

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

            &:active {
                color: var(--primary-active);
            }
        }
    }

    .hamburger__slices {

        .hamburger__slice {
            background-color: var(--primary);
        }

        &:hover {
            .hamburger__slice {
                background-color: var(--primary-hover);
            }
        }
    }

    .footer {
        --footer-desktop-margin: 2rem 5rem;

        background-color: var(--secondary);
        color: var(--text-inverted);
        padding-top: 2rem;
        position: relative;

        *:not(.btn):not(.btn *):not(.form-btn):not(.form-btn *) {
            color: var(--text-inverted);
        }

        a:not(.btn):not(.btn *):not(.form-btn):not(.form-btn *) {
            color: var(--text-inverted);
            text-decoration: none;

            &:hover {
                color: var(--text-inverted);
                text-decoration: underline;
            }

            &:active {
                color: var(--text-inverted);
                text-decoration: none;
            }

            &:focus-visible,
            &:focus-within {
                outline: 2px solid var(--accent);
                outline-offset: var(--outline-offset);
            }
        }

        .footer__block {
            margin: 0;

            &.copyright,
            &:has(.copyright) {
                grid-area: copyright;
            }

            &.social_icons,
            &:has(.social_icons),
            &.social-icons,
            &:has(.social-icons) {
                grid-area: social;
            }

            &:has(.logo) {
                grid-area: logo;

                @media (min-width: 48em) {
                    margin-block: var(--footer-desktop-margin);
                }
            }
        }

        .copyright {
            font-size: var(--font-size-step-0);
            color: var(--text-inverted) !important;
        }

        .logo {
            width: 8rem;
        }

        .footer__container {
            display: grid;
            grid-template-columns: 1fr;
            grid-template-areas:
                "logo"
                "main"
                "line"
                "secondary"
                "social"
                "copyright";
            position: initial;

            &:before {
                background: var(--surface-secondary);
                content: "";
                display: block;
                grid-area: line;
                height: 1px;
                margin-block: 2rem 1rem;
                margin-left: calc((100dvw - 100%)/2 * -1);
                width: 100dvw;
            }

            @media (min-width: 48em) {
                grid-template-columns: 1fr 3fr 1fr;
                grid-template-areas:
                    "logo main main"
                    "line line line"
                    "copyright secondary social";
            }

            .block-type--link_list {
                padding: 0;

                /* Main menu */
                &:nth-child(1 of .block-type--link_list).block-type--link_list {
                    grid-area: main;
                    margin-block: 2rem 0;

                    @media (min-width: 48em) {
                        margin-block: var(--footer-desktop-margin);

                        .link-list__links {
                            justify-content: flex-end;
                        }
                    }
                }

                /* Secondary menu */
                &:nth-child(2 of .block-type--link_list).block-type--link_list {
                    grid-area: secondary;
                    margin-block: 0 1rem;

                    @media (min-width: 48em) {
                        margin-block: 0;

                        .link-list__links {
                            justify-content: center;
                        }
                    }

                    .link-list__link {
                        font-size: var(--font-size-step-0);
                    }
                }

                .link-list__links {
                    display: flex;
                    flex-direction: column;
                    align-items: flex-start;
                    gap: 0.35rem;
                    width: 100%;

                    @media (min-width: 48em) {
                        align-items: center;
                        flex-direction: row;
                        gap: 1rem;
                    }

                    .link-list__link {
                        margin: 0;
                    }
                }
            }

            .social-icons {
                margin-block: 0 1rem;

                @media (min-width: 48em) {
                    margin-block: 0;
                }
            }

            .social-icons__icons {
                gap: 1rem;
                justify-content: flex-start;

                @media (min-width: 48em) {
                    justify-content: flex-end;
                }

                a:hover {
                    opacity: 0.8;
                }
            }
        }
    }

    main {
        padding-top: 0 !important;
    }

    .section--hero {

        h1,
        .h1 {
            font-size: var(--font-size-step-7);
        }
    }

    .block-type--text {
        ul {
            padding-inline-start: 1.75rem;

            li {
                list-style-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzA0MDM4YSIgZD0iTTUuNSAwIDAgNWw1LjUgNUwxMSA1eiIvPjwvc3ZnPgo=);
                padding-inline-start: 0.5rem;
            }
        }
    }

    .blog-post-body__info,
    .blog-post-body__content {
        margin-inline: auto;
        max-width: 70ch;
    }

    .blog-post-optin {
        border: 0;
        display: grid;
        gap: 0.5rem;
        grid-template-columns: 1fr;
        grid-template-areas:
            "content"
            "form"
            "disclaimer";
        margin-block: 2rem;
        margin-inline: auto;
        max-width: 70ch;
        padding-block: 3rem 4rem;
        padding-inline: 0;
        position: relative;
        text-align: left;
        z-index: 1;

        &:before {
            background: var(--surface-secondary);
            content: "";
            display: block;
            inset: 0;
            left: -80dvw;
            position: absolute;
            width: 200dvw;
            z-index: -1;
        }

        @media (min-width: 48em) {
            grid-template-areas:
                "content form"
                "content disclaimer";
            grid-template-columns: repeat(2, 1fr);
            gap: 0 2rem;
            padding-block: 6rem 4rem;
        }

        .blog-post-optin__content {
            grid-area: content;
        }

        .blog-post-optin__form {
            grid-area: form;
        }

        .blog-post-optin__disclaimer-text {
            grid-area: disclaimer;
            margin-block-start: 0.75rem;
        }
    }

    #opt-in-btn,
    #opt-in-btn * {
        background-color: var(--primary);
        border-color: var(--primary);
        color: var(--text-inverted);

        &:hover {
            background-color: var(--primary-hover);
            border-color: var(--primary-hover);
        }

        &:active {
            background-color: var(--primary-active);
            border-color: var(--primary-active);
        }
    }

    .section--split-neon,
    .section--split {
        .sizer {
            align-items: stretch;
            min-height: initial;
            padding: 0;

            .container {
                display: block;
                margin: 0;

                .row {
                    align-items: stretch;
                    margin: 0;
                }
            }
        }

        @media (min-width: 48em) {

            .sizer,
            .sizer .container,
            .sizer .container .row {
                height: 100%;
                min-height: 100vh;
            }
        }

        [class*="block-type"] {
            padding: 0;

            &:nth-child(1 of [class*="block-type"]).block-type--text {
                @media (min-width: 48em) {
                    justify-content: flex-end;
                }
            }

            &:nth-child(1 of [class*="block-type"]).block-type--image {
                @media (min-width: 48em) {
                    .image__image {
                        right: 0;
                    }
                }
            }
        }

        .block-type--text {
            align-items: center;
            display: flex;
            justify-content: flex-start;


            .block {
                height: auto;
                max-width: calc(var(--container-width) * 0.5);

                @media (min-width: 48em) {
                    padding-inline: 4rem;
                }
            }
        }

        .block-type--image {
            .image {
                border-radius: 0;
                max-height: 100%;
                overflow: hidden;
                position: relative;
            }

            .image__image {
                height: 100%;
                width: auto;
                object-fit: cover;
                object-position: center;

                @media (min-width: 48em) {
                    position: absolute;
                }
            }
        }

        .block-type--video {
            .block {
                align-items: center;
                display: flex;

                .video {
                    width: 100%;
                }
            }
        }

        .block-type--video-background {
            aspect-ratio: 16 / 9;
            overflow: hidden;
            position: relative;
            width: 100%;

            @media (min-width: 48em) {
                aspect-ratio: initial;
                position: absolute;
                width: 50%;
            }
        }
    }

    .section--split-neon {
        .block-type--text {
            background-color: var(--accent);
        }

        .block-type--image {
            .image__image {
                height: 100%;
                width: auto;
                object-fit: cover;
                object-position: center;
            }
        }
    }

    .section--cta {
        .block {

            p:not([class]) {
                margin-inline: auto;
                max-width: 60ch;
            }
        }
    }

    .section--callout {
        .block {
            border-radius: var(--radii-md);
            padding-block: 3rem;
            padding-inline: 1.75rem;

            @media (min-width: 48em) {
                padding-block: 6rem;
                padding-inline: 3rem;
            }

            p,
            p *,
            ul,
            ol {
                margin-inline: auto;
                max-width: 60ch;
            }
        }
    }

    .section--features {
        .block {
            border-radius: 0 0 var(--radii-md) var(--radii-md);

            &:not(:has(.feature__image)) {
                border-radius: var(--radii-md);
            }
        }

        .feature {
            padding-block: 0 2rem;

            .feature__image {
                aspect-ratio: 16 / 9;
                border-radius: var(--radii-md) var(--radii-md) 0 0;
                object-fit: cover;
                width: 100%;
            }

            .feature__text {
                padding-inline: 1rem;
                margin-block: 0 1rem;
            }

            .btn {
                margin-inline: 1rem;
            }
        }
    }

    mark,
    span[style*="background-color: #e2ff52"] {
        --mark-color: var(--accent);
        --mark-skew: 0.25em;
        --mark-height: 1em;
        --mark-overlap: 0.3em;

        padding-inline: var(--mark-overlap);
        background-color: transparent !important;
        background-image:
            linear-gradient(to bottom right,
                transparent 50%,
                var(--mark-color) 50%),
            linear-gradient(var(--mark-color),
                var(--mark-color)),
            linear-gradient(to top left,
                transparent 50%,
                var(--mark-color) 50%);
        background-size:
            var(--mark-skew) var(--mark-height),
            calc(100% - var(--mark-skew) * 2 + 1px) var(--mark-height),
            var(--mark-skew) var(--mark-height);
        background-position:
            left center,
            center,
            right center;
        background-repeat: no-repeat;
        color: var(--primary);
    }

    /* Overrides */
    .section:has(.block-type--feature) .row {
        align-items: stretch;
    }

    .block {
        overflow: initial;
    }

    .form-control {
        border: 1px solid var(--border-color);
        background: transparent;
        font-size: 1rem;
        line-height: 1;
        padding: 0.5rem;

        &:focus {
            border-color: var(--border-color);
        }

        &:focus-within {
            outline-offset: var(--outline-offset);
        }
    }

    textarea.form-control {
        height: 10rem;
        line-height: 1.5;
    }

    form {
        text-align: left;
    }

    .form-group {
        margin-bottom: 0.75rem;

        label {
            color: var(--text-secondary) !important;
            font-size: .875rem;
            font-weight: 500;
            margin: 0 0 0.05rem;
        }
    }

    .parsley-errors-list {
        background: transparent;
        border-radius: 0;
        list-style: none;
        margin: 0;
        padding: 0;

        li {
            align-items: center;
            color: var(--color-error);
            display: flex;
            font-size: .875rem;
            gap: 0.25rem;
            letter-spacing: 0.015rem;
            margin-top: 0.05rem;
            padding: 0;

            &::before {
                content: "\26A0";
                font-size: 1.15em;
            }
        }
    }

    .audio-wrapper {
        background: transparent !important;
        border: 1px solid var(--border-color);
    }

    .w-ui-container * {
        color: var(--text-inverted) !important;
    }

    .disclaimer-text,
    .note,
    .blog-post-optin__disclaimer-text,
    .coaching-session-details-notes__private-row * {
        font-size: .875rem;
        line-height: 1.25;
        color: var(--text-secondary);
    }

    .animated::after {
        content: none !important;
    }

    .accordion-title-button {
        appearance: none;
        border: 0;
        background: transparent;
        cursor: pointer;
        text-align: left;
        margin: 0;
        padding: 0;
    }

    .DTP {
        .DTP__calendar-grid--selected {
            background-color: var(--primary);
        }

        .DTP__calendar-grid--selected,
        .DTP__calendar-grid--selected * {
            color: var(--text-inverted);
        }

        .DTP__calendar-grid--focused {
            background-color: var(--primary-hover);
        }

        .DTP__calendar-grid--focused,
        .DTP__calendar-grid--focused * {
            color: var(--text-inverted);
        }

        .DTP__calendar-grid--available {
            border-color: var(--primary);

            &:hover {
                background-color: var(--primary-hover);

                * {
                    color: var(--text-inverted);
                }
            }
        }

        .DTP__confirm-button {
            background-color: var(--primary);
            border-color: var(--primary);
            color: var(--text-inverted);

            * {
                color: var(--text-inverted);
            }

            &:hover {
                background-color: var(--primary-hover);
                border-color: var(--primary-hover);
                color: var(--text-inverted);

                * {
                    color: var(--text-inverted);
                }
            }

            &:active {
                background-color: var(--primary-active);
                border-color: var(--primary-active);
                color: var(--text-inverted);

                * {
                    color: var(--text-inverted);
                }
            }
        }

        .DTP__time-slot,
        .DTP__time-slot-list--next-navigation,
        .DTP__cancel-button {
            border-color: var(--primary);

            &:hover {
                background-color: var(--primary-hover);
                border-color: var(--primary-hover);
                color: var(--text-inverted);

                * {
                    color: var(--text-inverted);
                }
            }

            &:active {
                border-color: var(--primary-active);
                color: var(--text-inverted);

                * {
                    color: var(--text-inverted);
                }
            }
        }
    }

    .coaching-session-details-header__overlay {
        background-color: var(--surface-secondary);
    }

    .fab {
        font-family: "Font Awesome 5 Brands" !important;
    }

    .fa,
    .far,
    .fas {
        font-family: "Font Awesome 5 Free" !important;
    }

    .mce-btn i,
    .mce-ico {
        font-family: "Material Icons" !important;
    }
}
