@font-face {
    font-family: 'mutua';
    src: url('./fonts/mutua-regular.ttf') format('truetype');
}

@font-face {
    font-family: 'mutua-stencil';
    src: url('./fonts/mutua-stencil.ttf') format('truetype');
}

:root {
    --principal-color: #3f5297;
}

html {
    font-family: system-ui;
    font-family: mutua;
}

body {
    padding: 0;
    margin: 0;
    position: relative;
}

/*General*/
.mutua-stencil {
    font-family: mutua-stencil;
}

.wrapper {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

.flex {
    display: flex;
    flex-wrap: wrap;
}

img {
    width: 100%;
}

section.padding,
footer.padding {
    padding: 3rem 0;
}

.center {
    text-align: center;
}

/*logo*/
.logo-composer {
    color: white;
    margin: 0;

    span {
        background-color: var(--principal-color);
        padding: 0.5rem;
    }
}

/*header*/
header {
    padding: 1rem 0;
    position: fixed;
    z-index: 1;
    width: 100%;
    transition: all 1s ease;
    color: white;

    .logo {
        flex: 1;
    }

    .menu {
        text-align: right;
        margin-left: auto;

        & ul {
            margin: 0;
            padding: 0;

            & li {
                list-style: none;
                display: inline-block;
                margin-left: 1rem;
                cursor: pointer;
            }
        }
    }


}

header.contrast {
    background-color: var(--principal-color);
}



/*footer*/
footer {
    background-color: var(--principal-color);
    color: white;
}

/* hero */
.hero {
    height: 200lvh;

    .card-1 {
        .background {
            position: fixed;
            background: #2d94bd;
            background: linear-gradient(180deg, rgb(29, 104, 133) 1%, rgba(55, 175, 222, 1) 41%, rgba(255, 255, 255, 1) 100%);
            width: 100%;
            height: 100lvh;
            z-index: -1;
        }

        .slogan {
            position: fixed;
            top: 38%;
            left: 7%;
            color: white;
            font-size: 2rem;
            max-width: 32%;
        }

        .girl {
            position: fixed;
            bottom: 0;
            right: 4%;
            width: 60%;
            z-index: -1;

            .arm {
                position: absolute;
                top: 0;
                left: -1px;
                z-index: -2;
            }

            .four {
                position: absolute;
                top: 23%;
                left: 43%;
                width: 32%;
                z-index: -1;
            }
        }

        .logo {
            position: fixed;
            top: 21%;
            right: 7%;
            font-size: 5rem;
            opacity: 0;
            z-index: -1;
        }
    }
}

/*products overview*/
section.products-overview {
    background-color: white;

    .cards {
        display: flex;
        flex-wrap: wrap;
    }

    .card {
        width: 31%;
        margin: 1%;
        border: 1px solid var(--principal-color);

        & p {
            padding: 0 0.5rem;
        }

        .detail {
            text-align: justify;
        }

        .price {
            background-color: var(--principal-color);
            padding: 1rem 0;
            color: white;
            margin: 0;
        }
    }
}

/*lifestyle*/
section.lifestyle {
    padding: 10vw 0;
    position: relative;
    overflow: hidden;

    .info {
        width: 50%;
        box-sizing: border-box;
        padding: 1rem;
        color: white;
    }

    .background {
        position: absolute;
        width: 100%;
        height: 100%;
        background-image: url(./images/running_2x.webp);
        background-size: cover;
        z-index: -1;
        top: 0;
        background-position: right top;
    }

    .contrast {
        position: absolute;
        background: var(--principal-color);
        opacity: 0.95;
        top: -80%;
        left: -26%;
        width: 78%;
        height: 191%;
        z-index: -1;
        transform: rotate(29deg);
        color: white;
    }
}

/*Mobile style*/
@media only screen and (max-width: 600px),
(orientation: portrait) {
    .hero .card-1 .girl {
        position: fixed;
        bottom: 0;
        right: -21%;
        width: 107%;
        z-index: -1;
    }

    .hero .card-1 .slogan {
        top: 18%;
    }

    .hero .card-1 .logo {
        text-align: center;
    }

    .products-overview .cards .card {
        width: 98%;
    }

    section.lifestyle .contrast {
        position: absolute;
        background: var(--principal-color);
        opacity: 0.95;
        top: -64%;
        left: -9%;
        width: 83%;
        height: 171%;
        z-index: -1;
        transform: rotate(11deg);
        color: white;
    }

    section.lifestyle {
        .background {
            background-position: -90% 1rem;
        }
    }

    /*menu*/
    header {
        padding: 2rem 0;
        .menu {
            & ul {
                height: 0;
                overflow: hidden;
                transition: all 1s ease;
                & li {
                    display: list-item;
                    margin: 1rem 0;
                }
            }
        }

    }

    header.show {
        ul {
            height: 9rem;
        }

        .menu-button {
            & span {
                transform: rotate(45deg);
                margin: 2px 0 2px 0;
                
            }
            & span:nth-child(2){
                transform: rotate(-45deg);
                margin: -4px 0 0 0;
            }
        }

    }

    .menu-button {
        width: 2rem;
        margin-left: auto;
        height: 2rem;
        & span {
            transition: 1s all ease;
            display: block;
            width: 100%;
            height: 2px;
            background-color: white;
            margin-bottom: 1rem;
        }
    }
}