:root {
    /* COLORS */
    --sky-blue: #0092BC;
    --dark-blue: #223C57;
    --ocean-blue: #0060AD;
    --white: #fff;
    --black: #000;
    --dark-grey: #363636;
    --orange: #F5841F;
}

[data-page="eventos"] {
    main {
        row-gap: 72px;
    }

    /* BACKGROUND COLORS*/
    .custom-bg.sky-blue { background: var(--sky-blue) }
    .custom-bg.blue { background: var(--dark-blue) }
    .custom-bg.white { background: var(--white) }
    .custom-bg.dark-grey { background: var(--dark-grey) }
    .custom-bg.black { background: var(--black) }
    .custom-bg.sky-blue { background: var(--sky-blue) }
    .custom-bg.ocean-blue { background: var(--ocean-blue) }
    .custom-bg.dark-blue { background: var(--dark-blue) }
    .custom-bg.orange { background: var(--orange) }

    /* TEXT COLORS */
    .custom-text.sky-blue { color: var(--sky-blue) }
    .custom-text.blue { color: var(--dark-blue) }
    .custom-text.white { color: var(--white) }
    .custom-text.dark-grey { color: var(--dark-grey) }
    .custom-text.black { color: var(--black) }

    /* BOTÕES */
    .custom-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: nowrap;
        border-radius: 8px;
        font-weight: 500;
        height: 40px;
        width: auto;
        min-width: 150px;
        border: 1px solid transparent;
        padding: 0 16px;
        transition: all 0.3s linear;
    }

    .custom-btn.border-blue {
        border: 1px solid var(--dark-blue);
        color: var(--dark-blue);
    }

    .custom-btn.border-white {
        border: 1px solid var(--white);
        color: var(--white);
    }

    .custom-btn.border-blue:hover {
        background-color: var(--dark-blue);
        border: 1px solid var(--dark-blue);
        color: #FFF;
    }

    /* HEADER */
    header nav {
        width: 100%;
        position: fixed;
        left: 50%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        row-gap: 8px;
        padding: 16px 8px;
        border-radius: 0 0 16px 16px;
        box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.160);
        backdrop-filter: blur(3px);
        -webkit-backdrop-filter: blur(3px);
        background: rgba(255, 255, 255, .7);
        
        transform: translate3d(0, 0, 0);
        transition: .3s ease-out;
        -webkit-animation: slide-in-blurred-top 0.6s cubic-bezier(0.230, 1.000, 0.320, 1.000) 400ms both;
        animation: slide-in-blurred-top 0.6s cubic-bezier(0.230, 1.000, 0.320, 1.000) 400ms both;
        z-index: 999;
    }

    header nav ul {
        display: flex;
        align-items: center;
        column-gap: 16px;
        margin: 0;
        padding: 0;
    }

    /* BANNER */
    section.banner {
        width: 100%;
        height: 600px;
        position: relative;
        overflow: hidden;
        border-radius: 0;
    }

    section.banner img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    section.banner > .title {
        width: 80%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        text-align: center;
        font-size: 36px;
        font-weight: 700;
        line-height: 40px;
        margin: 0;
        color: var(--white);
    }

    section.banner > .title span {
        font-size: 24px;
        line-height: 28px;
    }

    section.intro {
        display: flex;
        flex-direction: column;
        row-gap: 16px;
        padding: 0 32px;
    }

    section.intro h2 {
        font-size: 24px;
        color: var(--dark-blue);
        line-height: 28px;
        font-weight: 700;
        margin: 0;
    }

    section.intro p {
        font-size: 16px;
        color: var(--dark-blue);
        line-height: 20px;
        font-weight: 400;
    }

    /* SOBRE */
    section.sobre {
        display: flex;
        flex-direction: column;
        /* align-items: center; */
        column-gap: 16px;
        row-gap: 16px;
        background: var(--dark-blue);
        color: var(--white);
        border-radius: 0;
        padding: 32px;
    }

    section.sobre h2,
    section.sobre .title {
        font-weight: 700;
        font-size: 24px;
        line-height: 28px;
        margin: 0;
    }

    section.sobre p {
        font-weight: 700;
        font-size: 24px;
        line-height: 28px;
    }

    section.sobre ul {
        display: flex;
        flex-direction: column;
        row-gap: 16px;
        width: 100%;
        padding: 0;
        margin: 0;
    }

    section.sobre li {
        display: flex;
        align-items: start;
        column-gap: 8px;
        /* justify-content: center; */
        /* flex-wrap: nowrap; */
        /* border: 1px solid var(--white); */
        /* border-radius: 8px; */
        /* font-weight: 500; */
        color: var(--white);
        /* height: 40px; */
        /* min-width: 200px; */
        padding: 0;
    }

    section.sobre li span {
        flex: 0 0 24px;
    }

    section.sobre li h2 {
        font-weight: 400;
        font-size: 16px;
        line-height: 20px;
        margin: 0;
    }

    /* EVENTOS */
    section.eventos {
        max-width: 1920px;
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-auto-rows: 400px;
        row-gap: 8px;
    }

    section.eventos > article {
        position: relative;
        height: 400px;
        overflow: hidden;
        border-radius: 16px;
        margin: 8px;
    }

    section.eventos > article img {
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    section.eventos > article .mask::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(to bottom,
            rgba(0,0,0,0) 30%,
            rgba(0,0,0,1) 100%
        );
    }

    section.eventos > article h2 {
        color: var(--white);
        font-weight: 700;
        position: absolute;
        font-size: 24px;
        bottom: 30%;
        left: 50%;
        transform: translateX(-50%);
    }

    /* CASES GRID */
    section.cases {
        display: flex;
        flex-direction: column;
        row-gap: 48px;
        width: 100%;
        max-width: 1320px;
        padding: 0;
    }

    section.cases > section {
        display: flex;
        flex-direction: column;
        row-gap: 24px;
        width: 100%;
    }

    section.cases article {
        display: flex;
        flex-direction: column;
        row-gap: 24px;
    }

    section.cases article header {
        display: flex;
        align-items: center;
        flex-direction: column;
        row-gap: 16px;
        column-gap: 32px;
    }

    section.cases article header img {
        height: 48px;
    }

    section.cases article header span {
        display: flex;
        align-items: center;
        justify-content: center;
        width: auto;
        height: 48px;
        text-align: center;
        padding: 0 24px;
        border-radius: 24px;
    }

    section.cases article header span h3 {
        font-size: 16px;
        color: var(--white);
        font-weight: 700;
        line-height: 20px;
        margin: 0;
    }

    section.cases article p {
        font-size: 16px;
        color: var(--dark-blue);
        font-weight: 400;
        line-height: 20px;
    }

    section.cases .grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 200px;
        gap: 8px;
    }

    section.cases .grid > article {
        border-radius: 0;
        width: 100%;
        height: 100%;
        overflow: hidden;
        box-shadow: 1px 5px 4px rgba(0, 0, 0, 0.4);
    }

    section.cases .grid > article img {
        object-fit: cover;
        width: 100%;
        height: 100%;
    }

    section.cases .grid .grid-col-1 { grid-column: span 1 }
    section.cases .grid .grid-col-2 { grid-column: span 2 }
    section.cases .grid .grid-col-3 { grid-column: span 3 }
    section.cases .grid .grid-col-4 { grid-column: span 4 }
    section.cases .grid .grid-row-1 { grid-row: span 1 }
    section.cases .grid .grid-row-2 { grid-row: span 2 }
    section.cases .grid .grid-row-3 { grid-row: span 3 }

    /* KNOW-HOW */
    section.know-how {
        display: flex;
        flex-direction: column;
        row-gap: 24px;
        padding: 0;
    }

    section.know-how .title {
        display: flex;
        flex-direction: column;
        row-gap: 8px;
        padding: 0 16px;
    }

    section.know-how .title h2 {
        font-size: 48px;
        font-weight: 700;
        color: var(--dark-blue);
    }

    section.know-how .title h3 {
        font-size: 24px;
        font-weight: 600;
        color: var(--dark-blue);
    }

    section.know-how > article {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }

    section.know-how article section:nth-of-type(1) {
        grid-column: span 3;
        width: 75%;
        margin: 0 auto;
    }

    section.know-how > article section:nth-of-type(2) {
        display: grid;
        grid-template-columns: repeat(8, 35%);
    }

    section.know-how article section:nth-of-type(2) {
        grid-column: span 3;
        overflow-x: scroll;
        scrollbar-width: none;
        scroll-behavior: smooth;
    }

    section.know-how button {
        display: none;
    }

    #eventos,
    #cases,
    #know-how {
        scroll-margin-top: 140px;
    }

    #contato {
        scroll-margin-top: 100px;
    }

    @media (min-width: 576px) {
        section.sobre {
            margin: 16px;
            border-radius: 16px;
        }
        
        section.eventos {
            grid-template-columns: repeat(2, 1fr);
            gap: 0;
        }

        section.eventos > article {
            border-radius: 0;
            margin: 0;
        }

        section.cases {
            padding: 0 16px;
        }

        section.cases article header {
            flex-direction: row;
            height: 48px;
        }

        section.cases .grid > article {
            border-radius: 24px;
        }

        section.know-how article section:nth-of-type(1) {
            grid-column: span 3;
            width: 50%;
        }

        section.know-how > article section:nth-of-type(2) {
            grid-template-columns: repeat(8, 30%);
        }

        section.know-how article section:nth-of-type(2) {
            grid-column: span 3;
        }
    }

    @media (min-width: 768px) {
        .custom-btn {
            height: 48px;
            min-width: 200px;
        }

        section.banner > .title {
            font-size: 48px;
            line-height: 52px;
        }

        section.banner > .title span {
            font-size: 36px;
            line-height: 40px;
        }

        section.sobre {
            flex-direction: column;
        }

        section.sobre .title {
            font-size: 24px;
            line-height: 28px;
            font-weight: 700;
        }

        section.sobre li {
            height: 56px;
        }
        
        section.cases {
            padding: 0 32px;
        }

        section.cases article header span h3 {
            font-size: 24px;
            line-height: 28px;
        }

        section.cases article p {
            font-size: 24px;
            line-height: 28px;
        }
        
        section.cases .grid {
            grid-template-columns: repeat(4, 1fr);
            gap: 16px;
        }

        section.know-how {
            display: flex;
            flex-direction: column;
            row-gap: 24px;
            padding: 0 0 0 8%;
        }

        section.know-how .title {
            padding-left: 3%;
        }

        section.know-how article section:nth-of-type(1) {
            grid-column: span 1;
            width: 100%;
            margin: 0;
        }

        section.know-how > article section:nth-of-type(2) {
            grid-template-columns: repeat(8, 27%);
        }

        section.know-how article section:nth-of-type(2) {
            grid-column: span 2;
        }

        section.know-how .buttons {
            display: flex;
            align-items: center;
            column-gap: 16px;
            position: absolute;
            bottom: 0;
            left: 70%;
            transform: translateX(-50%);
            padding: 16px 0;
        }

        section.know-how button {
            display: inline-block;
            width: 48px;
            height: 48px;
            border-radius: 50%;
            background-color: var(--dark-blue);
            border: none;
            color: var(--white);
            cursor: pointer;
        }

        section.know-how button:hover {
            opacity: .7;
            scale: 1.1;
        }

        section.know-how button#btn-left {
            left: 40%;
        }

    }

    @media (min-width: 992px) {
        main {
            row-gap: 144px;
        }

        header nav {
            flex-direction: row;
            top: 20px;
            border-radius: 16px;
            width: 90%;
            max-width: 1320px;
            margin: 0 auto;
            padding: 24px 48px;
        }

        header nav ul {
            column-gap: 48px;
        }

        section.intro {
            width: 90%;
            max-width: 1320px;
            margin: 0 auto;
            padding: 0;
        }

        section.intro h2 {
            font-size: 32px;
            line-height: 36px;
        }

        section.intro p {
            font-size: 32px;
            line-height: 36px;
        }

        section.sobre {
            width: 90%;
            column-gap: 56px;
            max-width: 1320px;
            margin: 0 auto;
            padding: 32px 56px;
            border-radius: 24px;
        }

        section.sobre h2,
        section.sobre .title {
            font-size: 32px;
            line-height: 36px;
        }

        section.sobre p {
            font-size: 32px;
            line-height: 36px;
        }

        section.sobre li h2 {
            font-size: 24px;
            line-height: 28px;
        }

        section.eventos {
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: repeat(2, 600px);
        }

        section.eventos > article {
            height: 600px;
        }

        section.eventos > article h2 {
            font-size: 32px;
        }

        section.cases {
            width: 90%;
            row-gap: 96px;
            margin: 0 auto;
            padding: 0;
        }
    }
}