/*
* @author    Alexandre Curria <alexandrecurria@gmail.com>
*/

.header {
    position: fixed;
    z-index: 3;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    padding: 1.5rem var(--spacing-md);
    background-color: transparent;
    will-change: background-color;
    animation: sticky-header linear both;
    animation-timeline: scroll(root);
    animation-range: 0 10rem;

    @media (min-width: 768px) {
        padding: 2rem var(--spacing-lg);
    }

    /* Fallback Firefox */
    &.js-scroll-header {
        animation: none;
        transition: background-color 0.3s ease;
        background-color: transparent;

        &.is-scrolled {
            background-color: var(--color-secondary);
        }
    }
}

.burger-button,
.close-button {
    position: relative;
    height: 2.3rem;

    svg {
        position: relative;
        z-index: 1;
    }

    &::before {
        content: '';
        position: absolute;
        z-index: 0;
        border-radius: 50%;
        width: 3.5rem;
        height: 3.5rem;
        top: -9px;
        right: -9px;
        background-color: var(--color-quadrary-medium);
    }
}

body.legal-pages {
    .section {
        .form {
            @media (min-width: 768px) {
                width: 65rem;
                height: 58rem;
            }
        }
    }
}

.header-nav-mobile {
    display: flex;
    justify-content: flex-end;
    padding: var(--spacing-md);
}

.menu-section,
.footer-section {
    padding-bottom: 3rem;
    border-bottom: 1px solid var(--color-tertiary-dark);

    &:last-of-type {
        border-bottom: none;
    }
}

.tel {
    margin-block-end: 0;
}

.profil {
    max-width: 400px;
    margin-inline-start: auto;
    margin-inline-end: auto;
}

.content-nav-mobile,
.content-footer {
    display: flex;
    flex-direction: column;
    height: 100vh;
    row-gap: 3rem;
    padding: var(--spacing-md) var(--spacing-md) 6rem;
    overflow-y: auto;

    .subtitle {
        margin-block-end: 1.5rem;
        margin-block-start: 0;
        font-size: var(--font-size-base);

        + p {
            margin-block-end: 0;
        }
    }

    ul {
        display: flex;
        flex-direction: column;
        row-gap: 1rem;
    }

    .item-nav {
        a {
            font-size: var(--font-size-m-desktop);
        }
    }
}

@keyframes sticky-header {
    from {
        background-color: transparent;
    }
    to {
        background-color: var(--color-secondary);
    }
}

.wrapper-nav-mobile {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100vw;
    background: var(--color-secondary);
    z-index: 3;
    transition: transform 0.3s ease-in-out;

    &.show {
        transform: translateX(0);
    }

    &.hide {
        transform: translateX(-100%);
    }
}

.wrapper-nav-desktop {
    ul {
        display: flex;
        column-gap: 4rem;
    }
}

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;

    img {
        width: 6rem;

        @media (min-width: 768px) {
            width: 8rem;
        }
    }
}

.section {
    position: relative;

    .text-wrapper {
        margin-block-end: 1.5rem;
    }

    .text-content {
        margin-block-end: 3rem;

        p {
            &:last-of-type {
                margin-block-end: 0;
            }
        }

        @media (min-width: 768px) {
            width: calc(100% / 2);
        }
    }

    .image-content {
        @media (min-width: 768px) {
            order: -1;
            width: calc(100% / 2);
        }
    }

    .form {
        position: absolute;
        z-index: 0;
        @media (min-width: 768px) {
            width: 90rem;
            height: 80rem;
            margin-block-start: -0.2rem;
        }
    }

    .content-wrapper {
        position: relative;
        z-index: 1;

        @media (min-width: 768px) {
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: space-between;
            column-gap: 6rem;
            max-width: var(--layout-md);
        }

        &.pages {
            .text-content {
                width: 100%;
            }

            .title {
                margin-block-end: 3rem;

                @media (min-width: 768px) {
                    text-align: center;
                }

                @media (min-width: 1000px) {
                    margin-block-end: 8rem;
                }
            }
        }
    }

    &.first,
    &.second {
        .form-section-first {
            top: 0;
            right: 0;
        }

        .content-wrapper {
            padding: 10.5rem var(--spacing-md) var(--spacing-lg);

            @media (min-width: 768px) {
                padding: 13.5rem var(--spacing-lg) var(--spacing-xl);
                margin: 0 auto;
            }

            &.pages {
                @media (min-width: 768px) {
                    padding: 15.5rem var(--spacing-lg) var(--spacing-xl);
                }
            }
        }
    }

    &.second,
    &.third,
    &.footer {
        background-color: var(--color-tertiary);

        .content-wrapper {
            padding: var(--spacing-lg) var(--spacing-md);

            @media (min-width: 768px) {
                padding: var(--spacing-xl) var(--spacing-lg);
            }

            .text-content {
                @media (min-width: 768px) {
                    order: -1;
                }
            }
        }
    }

    &.third,
    &.footer {
        background-color: var(--color-primary);

        .form-section-third {
            top: 0;
            left: 0;
            transform: scaleX(-1);
            width: 100%;
            @media (min-width: 768px) {
                margin-block-start: 0;
                width: auto;
            }
        }

        .content-wrapper {
            margin: 0 auto;

            .text-content {
                @media (min-width: 768px) {
                    order: 0;
                }
            }
        }
    }

    &.fourth {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 43rem;
        width: 100%;
        background-image: url('../images/analys-transac.jpg');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        @media (min-width: 768px) {
            background-attachment: fixed;
        }

        &::after {
            content: '';
            position: absolute;
            z-index: 1;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            width: 100%;
            height: 100%;
        }

        .content-wrapper {
            justify-content: center;
            max-width: 62.5rem;
            z-index: 2;
            margin: auto;
            padding: var(--spacing-md);

            .text-content {
                width: 100%;
            }

            .text-wrapper {
                position: relative;

                p {
                    position: relative;
                    z-index: 2;
                    text-align: center;
                    color: var(--color-white);
                    font-family: var(--font-title);
                    font-size: var(--font-size-l);
                    font-weight: var(--heading-weight);
                    text-transform: uppercase;
                    letter-spacing: 0.2rem;
                    line-height: 1.2;
                }

                .quote {
                    position: absolute;
                    z-index: 1;

                    &.quote-1 {
                        top: -2.3rem;
                        left: 0rem;
                    }

                    &.quote-2 {
                        bottom: -2rem;
                        right: 0rem;
                    }
                }
            }
        }
    }

    &.footer {
        overflow: hidden;

        .content-wrapper {
            @media (min-width: 768px) {
                max-width: 174rem;
            }
        }
    }
}

.key-features__mobile {
    padding-block-end: var(--spacing-lg);

    @media (min-width: 768px) {
        display: flex;
        flex-direction: row;
        justify-content: center;
        padding-block-end: 0;
    }

    picture {
        @media (min-width: 768px) {
            width: 50%;
        }

        img {
            @media (min-width: 768px) {
                object-fit: cover;
                height: 100%;
                width: 100%;
            }
        }
    }

    .slides-text-content {
        @media (min-width: 768px) {
            display: flex;
            justify-content: center;
            flex-direction: column;
            width: 50%;
            order: -1;
        }

        .title {
            padding: var(--spacing-md) var(--spacing-md) 0 var(--spacing-md);
            margin-block-end: 0;

            @media (min-width: 768px) {
                padding: 0 var(--spacing-lg);
            }

            @media (min-width: 1000px) {
                padding: 0 var(--spacing-xl);
            }
        }

        .text-content {
            @media (min-width: 768px) {
                width: 100%;
            }
        }
    }
}

.glide__slide {
    display: flex;
    flex-direction: column;
}

.glide__slide img {
    width: 100%;
    height: auto;
}

.glide__arrows {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-block-start: 3rem;
    column-gap: 1rem;

    @media (min-width: 768px) {
        margin-block-end: 3rem;
    }

    .glide__arrow {
        background: var(--color-quadrary-medium);
        border: none;
        border-radius: 50%;
        padding: 0 0.4rem;
        transition: background 0.3s ease;

        svg {
            margin-top: 0.5rem;
            height: 2rem;
            stroke: var(--color-quadrary);
            transition: stroke 0.3s ease;
        }

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

            svg {
                stroke: var(--color-quadrary-medium);
            }
        }
    }
}

.slide-content {
    padding: 0 var(--spacing-md);

    @media (min-width: 768px) {
        max-width: var(--layout-md);
        padding: 0 var(--spacing-lg);
    }

    @media (min-width: 1000px) {
        padding: 0 var(--spacing-xl);
    }

    .text-content {
        margin-block-end: 0;
    }
}

.content-footer {
    height: auto;
    overflow: hidden;
    padding: 0;

    @media (min-width: 1000px) {
        justify-content: space-between;
        align-items: flex-start;
        flex-direction: row;
        column-gap: 6rem;
        row-gap: 0;
    }
}

.footer-section {
    p {
        &:last-of-type {
            margin-block-end: 0;
        }
    }

    &.logo {
        @media (min-width: 768px) {
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        p {
            margin-block-end: 0;
            text-transform: uppercase;
            font-family: var(--font-title);
            font-weight: var(--heading-weight);
            letter-spacing: 0.2rem;
            line-height: 1.2;

            @media (min-width: 768px) {
                text-align: center;
            }
        }

        img {
            width: 13.7rem;
        }
    }

    &.legal {
        padding-block-end: 0;

        p:not(.subtitle) {
            margin-block-end: 0.8rem;
        }
    }

    @media (min-width: 1000px) {
        width: calc(100% / 4);
        border-bottom: none;
    }
}

.footer-link {
    font-family: var(--font-text);
    font-weight: var(--text-weight);
    text-transform: initial;
    letter-spacing: 0;
    white-space: nowrap;

    &::before {
        top: 1.4rem;
        background-color: var(--color-tertiary-medium);
    }
}

.footer-bottom {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    padding: var(--spacing-md);
    background-color: var(--color-secondary);

    p {
        margin: 0;
        font-weight: var(--heading-weight);
        font-size: var(--font-size-s);
    }

    @media (min-width: 1000px) {
        flex-direction: row;
        justify-content: space-between;
        padding-inline-start: var(--spacing-lg);
        padding-inline-end: var(--spacing-lg);
    }
}

.section-title {
    margin-block-end: 0.5rem;
    font-weight: var(--important-weight);
}

.paragraph {
    margin-block-end: 2.5rem;

    &:last-of-type {
        margin-block-end: 0;
    }

    ul {
        padding-inline-start: 3rem;
        list-style: initial;
    }
}