html {
    scroll-behavior: smooth;
}

section.content-main {
    background: var(--purple);
    width: 100%;
    max-height: 400px;
    margin-bottom: 17rem;
}

header.content-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5rem;
    max-width: 1200px;
    margin: 0 auto;
    border-radius: 0 0 10px 10px;
}

header.content-header img {
    width: 15rem;
}

ul#menu {
    display: flex;
}

#btn-menu {
    display: none;
}

.logo {
    display: none;
}

nav.content-menu a{
    color: white;
    font-weight: 700;
    font-size: 1rem;
}

nav.content-menu a:hover {
    filter: brightness(1);
    color: var(--orange);
}

nav.content-menu a::after{
    content: '';
    width: 0;
    height: 2px;
    background-color: var(--orange);
    position: absolute;
    left: 0;
    bottom: -4px;
}

nav.content-menu a:hover::after{
    width: 100%;
    transition: width 700ms ease-in-out;
}

ul#menu li + li {
    margin-left: 1rem;
}

div.content-intro {
    max-width: 1150px;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
}

div.content-intro img {
    margin-top: -2.6rem;
    width: 35rem;
}

div.title-text {
    max-width: 575px;
    margin-top: 3rem;
}

div.title-text h1 {
    font-size: 3.12rem;
    color: white;
}

div.title-text h2 {
    font-size: 2.18rem;
    color: white;
}

div.title-text button {
    background: var(--orange);
    font-size: 1.5rem;
    border: 0;
    border-radius: 20px;
    margin-top: 1.5rem;
    padding: 0.5rem 2.5rem;
    transition: filter 0.3s;
}

div.title-text button a {
    color: white;
}

div.title-text button:hover {
    filter: brightness(0.9);
}

div.content-options p.content-options-title {
    color: white;
    font-size: 1rem;
    text-align: right;
}

div.content-options-body {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
}

div.content-options-category {
    display: flex;
    flex-direction: column;
    align-items: center;
}

div.content-options-body img {
    width: 6.25rem;
    margin-top: 3rem;
}

div.content-options-body p {
    color: var(--gray-text);
    text-align: center;
}

@media only screen and (max-width: 1024px) {
    section.content-main {
        margin-bottom: 53rem;
    }

    header.content-header img {
        width: 12rem;
    }

    div.content-options-body {
        grid-template-columns: repeat(3, 1fr);
    }

    div.content-intro {
        flex-direction: column;
        align-items: center;
    }

    div.content-intro > img {
        margin-top: -3.6rem;
        width: 27rem;
        height: 31rem;
    }

    div.title-text {
        width: 700px;
        margin-top: -49px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    div.title-text h1, 
    div.title-text h2 {
        color: var(--gray-text);
    }

    div.title-text h1 {
        font-size: 3.5rem;
    }

    div.title-text h2 {
        font-size: 2.5rem;
    }

    div.title-text button {
        font-size: 2rem;
        padding: 0.8rem 2.5rem;
    }

    div.content-options p.content-options-title {
        color: var(--gray-text);
        font-size: 2rem;
        text-align: center;
        margin-top: 1rem;
    }

    div.content-options-body img {
        width: 8.25rem;
        margin: 1.8rem;
    }

    div.content-options-body p {
        font-size: 1.8rem;
    }
}

@media only screen and (max-width: 600px) {
    section.content-main {
        max-height: 465vh;
        margin-bottom: 0;
    }
    
    header.content-header {
        background-color: var(--purple);
        position: fixed;
        width: 100vw;
        left: 0;
        margin-left: 0;
        max-width: 100%;
        border-radius: 0;
        z-index: 1000;
    }

    header.content-header img {
        width: 3rem;
    }
    
    div.content-intro > img {
        width: 26rem;
        height: 19rem;
    }

    div.title-text button {
        font-size: 1.5rem;
    }

    .logo {
        display: block ;
        width: 3rem;
    }

    .logolateral {
        display: none ;
    }

    #btn-menu {
        display: flex;
        padding: .5rem 1rem;
        font-size: 1rem;
        border: none;
        background: none;
        cursor: pointer;
        gap: 0.5rem;
    }

    ul#menu {
        display: block;
        position: absolute;
        padding: 0 2rem;
        width: 100vw;
        top: 60px;
        right: -25px;
        background: var(--purple);
        z-index: 1000;
        height: 0;
        visibility: hidden;
        overflow-y: hidden;
        transition: 0.6s;
    }

    ul#menu li {
        text-align: center;
        padding: 1rem;
        border-bottom: 2px solid rgba(83, 58, 129, 0.5);
    }

    ul#menu li + li {
        margin-left: 0;
    }
    
    #nav.active #menu {
        height: calc(100vh - 70px);
        visibility: visible;
        overflow-y: auto;
    }

    #menu a {
        width: 10rem;
        margin: 0 1rem;
    }

    #bars {
        border-top: 2px solid white;
        width: 20px;
    }

    #bars::after, #bars::before {
        content: '';
        display: block;
        width: 20px;
        height: 2px;
        background: white;
        margin-top: 5px;
        transition: 0.3s;
        position: relative;
    }

    #nav.active #bars {
        border-top-color: transparent;
    }

    #nav.active #bars::before {
        transform: rotate(135deg);
    }

    #nav.active #bars::after {
        transform: rotate(-135deg);
        top: -7px;
    }

    div.content-intro {
        display: flex;
        flex-direction: column;
    }

    div.content-intro img {
        margin: -6rem auto;
        width: 15rem;
    }

    div.content-intro .animate {
        margin-top: 3rem;
    }

    div.title-text {
        text-align: center;
    }

    div.title-text h1 {
        font-size: 2.2rem;
    }
    
    div.title-text h2 {
        font-size: 1.3rem;
    }

    div.content-options p.content-options-title {
        margin-top: 1rem;
        font-size: 1.2rem;
        text-align: center;
    }

    div.content-options-body {
        display: grid;
        grid-template-columns: 1fr;
    }
    
    div.content-options-body img {
        width: 10rem;
        margin-top: 1rem;
    }

    div.content-options-category p  {
        margin-top: 7rem;
        font-size: 1.5rem;
        color: white;
    }
    
    div.content-options-category:last-child p {
        margin-bottom: 5rem;
    }
}