/* ====== GERAL ====== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

 :root {
    font-size: 62.5%;
    /*1rem = 10px*/
    --hue: 190;
    --primary-color: hsl(var(--hue), 100%, 26%);
    --headline: hsl(210, 11%, 15%);
    --paragraph: hsl(210, 9%, 31%);
    --brand-beige: hsl(39, 100%, 97%);
    /* --brand-light: hsl(148, 23%, 89%); */
    --brand-light: hsl(calc(var(--hue) - 22), 23%, 89%);
    /* --brand-light: hsl(var(--hue)-22, 14%, 97%); */
    --brand-light2: hsl(calc(var(--hue) + 10), 14%, 97%);
    --brand-dark: hsl(var(--hue), 100%, 14%);
    --bg-light: hsl(180, 14%, 97%);
    --nav-height: 7.2rem;
}

html {
    scroll-behavior: smooth;
}

html,
body {
    width: 100%;
    height: 100%;
}


/* ====== BLINK CIRCLE ====== */

.blink div:first-child {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    border: 1px solid red;
    opacity: 0;
    float: left;
    animation: blinker 2.6s 1s forwards 3 linear;
}

.blink:hover {
    cursor: pointer;
}

@keyframes blinker {
    from {
        transform: scale(.3, .3);
        opacity: .7;
    }
    to {
        transform: scale(1.8, 1.8);
        opacity: 0;
    }
    /* 0% {
        /* background-color: #001F3F; */
    /* }
    100% {
        transform: scale(2.5, 2.5);
        opacity: 0;
        width: 30px; */
    /* height: 30px; */
    /* } */
}


/* ====== BLINK CIRCLE ====== */

#menu div.tooltips {
    position: relative;
    display: inline;
    cursor: pointer;
    /* opacity: 0; */
    /* visibility: hidden; */
}

#navigation section.blink span {
    display: none;
    visibility: hidden;
    opacity: 0;
}

#navigation div.tooltips span {
    top: 80px;
    left: 65.5%;
    width: 130px;
    background-color: var(--primary-color);
    color: #fff;
    text-align: center;
    padding: 5px;
    border-radius: 9px;
    border: 1px solid white;
    opacity: 0;
    /* Position the tooltip text - see examples below! */
    position: absolute;
    z-index: 1;
    animation: ttip 3s .5s forwards 1 linear, ttip2 2s 7s forwards 1 linear;
    /* animation: ttip2 3s 3s forwards 1 linear; */
}

#navigation div.tooltips span:after {
    content: " ";
    position: absolute;
    bottom: 100%;
    border: 1px solid white;
    /* At the top of the tooltip  */
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent var(--primary-color) transparent;
}

@keyframes ttip {
    from {
        transform: scale(.8, .8);
        opacity: 0;
    }
    to {
        transform: scale(1, 1);
        opacity: 1;
    }
}

@keyframes ttip2 {
    from {
        transform: scale(1, 1);
        opacity: .9;
    }
    to {
        transform: scale(1.1, 1.1);
        opacity: 0;
    }
}

#navigation section.blink span {
    display: none;
    visibility: hidden;
    opacity: 0;
}

#navigation section.blink span {
    top: 80px;
    left: 65.5%;
    width: 130px;
    background-color: var(--primary-color);
    color: #fff;
    text-align: center;
    padding: 5px;
    border-radius: 9px;
    border: 1px solid white;
    opacity: 0;
    /* Position the tooltip text - see examples below! */
    position: absolute;
    z-index: 1;
    /* animation: ttip 3s .5s forwards 1 linear, ttip2 2s 7s forwards 1 linear; */
    /* animation: ttip2 3s 3s forwards 1 linear; */
}

#navigation section.blink span:after {
    content: " ";
    position: absolute;
    bottom: 100%;
    border: 1px solid white;
    /* At the top of the tooltip  */
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent var(--primary-color) transparent;
}

#navigation section:hover.blink span {
    display: inline;
    visibility: visible;
    opacity: 0.9;
    top: 80px;
    left: 71%;
    /* width: 130px; */
    border: 1px solid white;
    margin-left: -76px;
    z-index: 9;
}


/* ====== BODY ====== */

body {
    font-family: 'DM Sans';
    font-size: 1.6rem;
    text-align: center;
    overflow: overlay;
    /* background-color: var(--brand-light); */
}

.wrapper {
    /* width: 37.5rem; */
    width: min(50rem, 100%);
    margin-inline: auto;
    padding-inline: 2.4rem;
    /* margin-top: 4.1rem; */
    /* margin-bottom: ; */
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
}

section {
    padding-block: 10rem;
}

#home {
    background-color: var(--bg-light);
}

section header h4 {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 150%;
    letter-spacing: 0.08rem;
    color: var(--primary-color);
    text-transform: uppercase;
    margin-bottom: 1.6rem;
}

section header h2 {
    font-size: 3rem;
    line-height: 3.9rem;
    color: var(--headline);
}

section header h1 {
    font-size: 3.4rem;
    color: var(--headline);
    line-height: 130%;
    color: var(--paragraph);
}

section .content p {
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    color: var(--paragraph);
}

.button {
    background: var(--primary-color);
    border: none;
    border-radius: 4rem;
    margin-bottom: 6rem;
    margin-inline: auto;
    padding: 1.6rem 3.2rem;
    width: fit-content;
    color: white;
    text-transform: uppercase;
    font-size: 1.4rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
    text-decoration: none;
    transition: background 200ms;
}

.button:hover {
    background-color: var(--brand-dark);
}


/* ====== #HOME ====== */

#home {
    margin-top: calc(.01rem + var(--nav-height));
}

#home::before {
    content: '';
    width: 100%;
    height: calc(76% - var(--nav-height));
    background-color: var(--brand-light);
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

#home button {
    margin-inline: auto;
}

#home h1 {
    font-size: 3.4rem;
    color: var(--headline);
    line-height: 130%;
    margin-bottom: 2.4rem;
}

#home h4 {
    font-size: 1.4rem;
    color: var(--primary-color);
    margin-bottom: 1.6rem;
}

#home p {
    font-size: 1.8rem;
    line-height: 150%;
    font-weight: 400;
    color: var(--paragraph);
    margin-bottom: 3.2rem;
}

#home img {
    width: 26.4rem;
    display: block;
    margin-inline: auto;
    object-position: 0 2rem;
}

#home .stats {
    width: 100%;
    /* height: 47rem; */
    padding-block: 4rem;
    margin-inline: auto;
    background: var(--brand-beige);
    border: 1px solid var(--brand-light);
    border-radius: 0.6rem;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    gap: 6rem;
}

#home .stat p {
    margin: 0;
    color: var(--primary-color);
    font-size: 1.6rem;
    line-height: 150%;
}

#home .stat h3 {
    font-size: 4.8rem;
    color: var(--headline);
    line-height: 130%;
    margin-bottom: 0.4rem;
}


/* ====== CUSTOM COLORS ====== */

#services .card circle {
    fill: var(--bg-light);
}

#navigation .logo path[fill*="#00856F"],
#backToTopButton circle {
    fill: var(--primary-color);
}

body.menu-expanded #navigation .logo path,
#navigation.scroll .logo path {
    fill: white;
}

#navigation.scroll button.open-menu path[stroke*="#00856F"] {
    stroke: white;
}

button.open-menu path[stroke*="#00856F"],
#contact li path,
#services .card path {
    stroke: var(--primary-color);
}


/* ====== NAVIGATION ====== */

nav {
    display: flex;
    height: var(--nav-height);
    position: fixed;
    top: 0;
    width: 100vw;
    background: var(--brand-light);
    /* left: 50%; */
    /* transform: translateX(-50%); */
    z-index: 100;
}

nav .wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

nav.scroll {
    background: var(--primary-color);
    /* width: 100vw; */
    /* position: fixed; */
    /* top: 0; */
}

nav button {
    background: none;
    border: none;
    cursor: pointer;
}

nav .menu,
nav .close-menu {
    position: fixed;
}


/* ====== MENU EXPANDED ====== */

body.menu-expanded {
    overflow: hidden;
}

body.menu-expanded> :not(nav) {
    visibility: hidden;
}

.menu,
.close-menu,
body.menu-expanded .open-menu {
    opacity: 0;
    visibility: hidden;
}

body.menu-expanded .menu,
body.menu-expanded .close-menu {
    opacity: 1;
    visibility: visible;
}

.menu {
    transform: translateY(100%);
}

body.menu-expanded .menu {
    /* position: fixed; */
    top: 0;
    left: 0;
    background-color: var(--primary-color);
    width: 100vw;
    height: 100vh;
    padding-top: var(--nav-height);
    transition: transform 300ms;
    transform: translateY(0);
}

body.menu-expanded div.color1,
body.menu-expanded div.color2,
body.menu-expanded div.color3,
body.menu-expanded div.dark {
    display: none;
}

body.menu-expanded div.color1 {
    display: none;
}

body.menu-expanded div.color1 {
    display: none;
}

.menu ul:nth-child(1) {
    display: flex;
    flex-direction: column;
    gap: 4.8rem;
    margin-top: 6rem;
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 3.1rem;
}

.menu ul li a {
    color: white;
    text-decoration: none;
    transition: all .3s ease-in;
}

.menu ul li a:hover {
    text-decoration: none;
    text-shadow: 0px 0px 5px white;
    transition: all .3s ease-in-out;
}

.menu .button {
    background-color: white;
    border-radius: 4rem;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 2.3rem;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--primary-color);
    display: inline-block;
    padding: 16px 32px;
    margin-top: 4.8rem;
    margin-bottom: 8rem;
    transition: all .3s ease-in;
}

.menu .button:hover {
    background-color: var(--primary-color);
    color: white;
    filter: brightness(1.2);
    transition: all .3s ease-in;
}

.social-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3.2rem;
}

body.menu-expanded .logo,
body.menu-expanded button {
    position: relative;
    z-index: 100;
}

body.menu-expanded .logo path {
    fill: white;
}

body.menu-expanded button path {
    stroke: white;
}


/* ====== SERVICES ====== */

#services {
    background-color: var(--brand-light2);
}

#services header h2 {
    margin-bottom: 6rem;
}

#services .cards {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
}

#services .card {
    padding: 2.4rem;
    text-align: left;
    background: white;
    border: 1px solid var(--brand-light);
    border-radius: .6rem;
}

#services .card h3 {
    margin-block: 1.6rem;
}


/* ====== DEPOIMENTOS ====== */

#depoimentos {
    background-color: white;
    padding-bottom: 0%;
}

#depoimentos header h2 {
    margin-bottom: 6rem;
    /* width: 30rem; */
    /* margin-inline: auto; */
}

#depoimentos .testimonials {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
}

#depoimentos .testimonial {
    padding: 3.2rem;
    text-align: left;
    background: white;
    background-color: var(--brand-beige);
    border: 1px solid var(--brand-light);
    border-radius: .6rem;
}

#depoimentos .testimonials h3 {
    margin-block: 2.6rem;
    color: var(--brand-dark);
}

#depoimentos .testimonial p {
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
}

#depoimentos svg path {
    fill: var(--primary-color);
}

#depoimentos .testimonial img {
    /* margin-block: 1.6rem; */
    /* color: var(--primary-color); */
    float: left;
    padding-right: 1.6rem;
    padding-top: 2rem;
}


/* ====== EMPRESAS ====== */

#empresas {
    background-color: white;
    padding-bottom: 0;
}

#empresas h4 {
    color: var(--paragraph);
    /* margin-top: -3rem; */
    /* padding-bottom: 1rem; */
}

#empresas svg {
    padding-bottom: 1rem;
}

#empresas svg path {
    fill: var(--primary-color);
}

#empresas .empresa {
    /* padding-block: 1.6rem; */
    padding-top: 1rem;
    /* display: flex; */
    /* flex-direction: flexbox; */
    /* gap: 4.2rem; */
}


/* ====== ABOUT ====== */

#about {
    text-align: left;
    background-color: var(--brand-beige);
}

#about header h2 {
    margin-bottom: 2.4rem;
}

#about .content p {
    margin-top: 2.4rem;
    margin-bottom: 6rem;
}


/* ====== BANNER ====== */

#banner .button {
    padding: 1rem 2.4rem;
    border: 1px solid var(--primary-color);
    border-radius: 4rem;
    color: var(--primary-color);
    font-weight: 700;
    font-size: 1.2rem;
    line-height: 1rem;
    text-transform: uppercase;
    background-color: white;
    margin-top: 2rem;
    margin-left: 0;
    margin-inline: auto;
}

#banner svg path {
    fill: var(--primary-color);
}

#banner .button:hover svg path {
    fill: white;
}

#banner .button:hover {
    border: none;
    color: white;
    opacity: 0.9;
    border: 1px solid white;
    background-color: var(--primary-color);
}

#banner h2 {
    color: white;
    font-size: 2rem;
    text-align: center;
}

#banner .wrapper {
    justify-items: center;
    background-color: white;
}

#banner .content {
    padding: 1rem;
    background-color: var(--primary-color);
    border-radius: .8rem;
    padding-top: 5.5rem;
    margin: auto;
}


/* ====== CONTACT ====== */

#contact {
    text-align: left;
}

#contact {
    margin-bottom: 3.2rem;
}

#contact .button {
    margin-left: 0;
}

#contact ul {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    margin-bottom: 3.2rem;
}

#contact ul li {
    display: flex;
    align-items: center;
    gap: .8rem;
}


/* ====== FOOTER ====== */

footer {
    background-color: var(--primary-color);
    padding-block: 6rem;
    text-align: left;
    color: white;
}

footer .logo {
    display: inline-block;
    margin-bottom: 2.4rem;
}

footer .logo svg {
    width: 23.6rem;
    height: 3.1rem;
}

footer .logo path {
    fill: white;
}

footer p {
    color: var(--brand-beige);
    line-height: 2;
    margin-bottom: 3.2rem;
}

footer .social-links {
    justify-content: flex-start;
    gap: 1.2rem;
}

footer .designedby a {
    color: white;
    text-decoration: none;
}

footer .designedby a:hover {
    font-size: 1.7rem;
}

footer .designedby {
    display: flex;
    color: white;
    line-height: 4;
    margin-block: 3.2rem;
    justify-content: center;
}


/* ====== BACKTOPTOPBUTTON ====== */

#backToTopButton {
    position: fixed;
    bottom: 1rem;
    right: 2.5rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(100%);
    transition: 200ms;
}

#backToTopButton.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    filter: brightness(1.15);
}


/* INPUT */

div.color1 {
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: var(--primary-color);
    position: absolute;
    cursor: pointer;
    top: 23px;
    right: 70px;
    z-index: 101;
}

div.color2 {
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: hsl(var(--hue), 100%, 16%);
    position: absolute;
    cursor: pointer;
    top: 23px;
    right: 90px;
    z-index: 101;
}

div.color3 {
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: hsl(var(--hue), 100%, 36%);
    position: absolute;
    cursor: pointer;
    top: 23px;
    right: 110px;
    z-index: 101;
}

div.dark {
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: hsl(var(--hue), 100%, 0%);
    position: absolute;
    cursor: pointer;
    top: 23px;
    right: 130px;
    z-index: 101;
}

input[type="checkbox"] {
    position: absolute;
    z-index: 101;
    opacity: 0;
}


/* DIV HOVER COLORS */

div:hover.color1 {
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #C92A2A;
    position: absolute;
    cursor: pointer;
    top: 23px;
    right: 70px;
    z-index: 101;
}

div:hover.color2 {
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #0083fd;
    position: absolute;
    cursor: pointer;
    top: 23px;
    right: 90px;
    z-index: 101;
}

div:hover.color3 {
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #5F3DC4;
    position: absolute;
    cursor: pointer;
    top: 23px;
    right: 110px;
    z-index: 101;
}

div:hover.dark {
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #000000;
    position: absolute;
    cursor: pointer;
    top: 23px;
    right: 130px;
    z-index: 101;
}


/* COLOR_MODE */

.ativa-color1:checked~.color1-mode {
    --hue: 0;
    /* font-size: 52.5%; */
    --primary-color: hsl(0, 65%, 48%);
    --headline: rgb(34, 38, 42);
    --paragraph: hsl(210, 9%, 31%);
    --brand-beige: hsl(39, 100%, 97%);
    /* --brand-light: hsl(148, 23%, 89%); */
    --brand-light: hsl(calc(var(--hue) - 22), 23%, 89%);
    /* --brand-light: hsl(var(--hue)-22, 14%, 97%); */
    --brand-light2: hsl(calc(var(--hue) + 10), 14%, 97%);
    --brand-dark: hsl(var(--hue), 100%, 14%);
    --bg-light: hsl(180, 14%, 97%);
    --nav-height: 7.2rem;
}

.ativa-color2:checked~.color2-mode {
    --hue: 209;
    --primary-color: hsl(var(--hue), 77%, 43%);
    --headline: rgb(34, 38, 42);
    --paragraph: hsl(210, 9%, 31%);
    --brand-beige: hsl(39, 100%, 97%);
    /* --brand-light: hsl(148, 23%, 89%); */
    --brand-light: hsl(calc(var(--hue) - 22), 23%, 89%);
    /* --brand-light: hsl(var(--hue)-22, 14%, 97%); */
    --brand-light2: hsl(calc(var(--hue) + 10), 14%, 97%);
    --brand-dark: hsl(var(--hue), 100%, 14%);
    --bg-light: hsl(180, 14%, 97%);
    --nav-height: 7.2rem;
}

.ativa-color3:checked~.color3-mode {
    --hue: 270;
    --primary-color: hsl(var(--hue), 100%, 26%);
    --headline: hsl(210, 11%, 15%);
    --paragraph: hsl(210, 9%, 31%);
    --brand-beige: hsl(39, 100%, 97%);
    /* --brand-light: hsl(148, 23%, 89%); */
    --brand-light: hsl(calc(var(--hue) - 22), 23%, 89%);
    /* --brand-light: hsl(var(--hue)-22, 14%, 97%); */
    --brand-light2: hsl(calc(var(--hue) + 10), 14%, 97%);
    --brand-dark: hsl(var(--hue), 100%, 14%);
    --bg-light: hsl(180, 14%, 97%);
    --nav-height: 7.2rem;
}


/* HIDDEN INPUT COLOR CHECKED*/

.ativa-color1:checked~.dark-mode div.dark,
.ativa-color1:checked~.color1-mode div.color2,
.ativa-color1:checked~.color1-mode div.color3 {
    visibility: hidden;
}

.ativa-color2:checked~.color2-mode div.color1,
.ativa-color2:checked~.color2-mode div.color3,
.ativa-color2:checked~.color2-mode div.dark {
    visibility: hidden;
}

.ativa-color3:checked~.color3-mode div.color1,
.ativa-color3:checked~.color3-mode div.color2,
.ativa-color3:checked~.color3-mode div.dark {
    visibility: hidden;
}


/* DARK_MODE */

.dark-mode {
    margin-top: -2rem;
}

.ativa-dark:checked~.dark-mode .menu .button {
    background-color: var(--primary-color);
    color: var(--headline);
    filter: brightness(1.2);
}

.ativa-dark:checked~.dark-mode .menu .button:hover {
    background-color: var(--headline);
    color: var(--primary-color);
    filter: brightness(1.2);
}

.ativa-dark:checked~.dark-mode {
    --hue: 10;
    --primary-color: rgb(12, 12, 13);
    --bg-light: rgb(16, 17, 16);
    --brand-light: rgb(11, 11, 11);
    --brand-light2: rgb(161, 50, 50);
    --brand-beige: rgb(11, 11, 11);
    --brand-dark: rgb(17, 16, 16);
    --headline: rgb(255, 255, 255);
    --paragraph: rgb(255, 255, 255);
}

.ativa-dark:checked~.dark-mode #home::before {
    background-color: var(--primary-color);
    color: var(--headline);
}

.ativa-dark:checked~.dark-mode #navigation ul li a {
    color: var(--headline);
}

.ativa-dark:checked~.dark-mode #navigation .button {
    border: 1px solid var(--headline);
    color: var(--headline);
}

.ativa-dark:checked~.dark-mode #navigation .button:hover {
    border: 1px solid var(--headline);
    color: var(--primary-color);
    background-color: var(--headline);
}

.ativa-dark:checked~.dark-mode #navigation .logo path[fill*="#00856F"],
.ativa-dark:checked~.dark-mode #backToTopButton circle {
    fill: red;
}

.ativa-dark:checked~.dark-mode #navigation .home path[fill*="#00856F"],
.ativa-dark:checked~.dark-mode #backToTopButton circle {
    fill: red;
}

.ativa-dark:checked~.dark-mode #backToTopButton.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    filter: brightness(1.15);
}

.ativa-dark:checked~.dark-mode .logo path,
.ativa-dark:checked~.dark-mode #navigation.scroll .logo path {
    fill: var(--headline);
}

.ativa-dark:checked~.dark-mode button.open-menu path[stroke*="#00856F"],
.ativa-dark:checked~.dark-mode #contact li path,
.ativa-dark:checked~.dark-mode #services .card path {
    stroke: var(--headline);
}

.ativa-dark:checked~.dark-mode button:hover.open-menu path[stroke*="#00856F"] {
    stroke: red;
}

.ativa-dark:checked~.dark-mode #services {
    background-color: red;
}

.ativa-dark:checked~.dark-mode div.dark {
    background-color: rgba(245, 245, 245, 0.385);
}

.ativa-dark:checked~.dark-mode div:hover.dark {
    background-color: white;
}

.ativa-dark:checked~.dark-mode div.color1,
.ativa-dark:checked~.dark-mode div.color2,
.ativa-dark:checked~.dark-mode div.color3 {
    visibility: hidden;
}

.ativa-dark:checked~.dark-mode #services .cards {
    color: var(--primary-color);
}

.ativa-dark:checked~.dark-mode #services .card {
    color: var(--headline);
    background-color: var(--brand-dark);
    border: 1px solid var(--headline);
}

.ativa-dark:checked~.dark-mode #services .card h3 {
    color: var(--headline);
}

.ativa-dark:checked~.dark-mode section header h4 {
    color: var(--headline);
}

.ativa-dark:checked~.dark-mode #home h4 {
    color: white;
}

.ativa-dark:checked~.dark-mode section header h2 h1 {
    color: var(--headline);
}

.ativa-dark:checked~.dark-mode section .content p {
    color: var(--paragraph);
}

.ativa-dark:checked~.dark-mode .button {
    background: var(--primary-color);
    color: white;
    border: 1px solid var(--headline);
}

.ativa-dark:checked~.dark-mode .button:hover {
    background-color: var(--paragraph);
    color: black;
}

.ativa-dark:checked~.dark-mode #banner .content {
    background-color: white;
}

.ativa-dark:checked~.dark-mode #banner .wrapper {
    background-color: white;
    color: black;
    border: 1px solid var(--headline);
    border-radius: .8rem;
}

.ativa-dark:checked~.dark-mode #banner .wrapper h2 {
    color: black;
}

.ativa-dark:checked~.dark-mode .empresa {
    color: var(--headline);
    background-color: var(--primary-color);
}

.ativa-dark:checked~.dark-mode img {
    filter: grayscale(3);
    color: var(--headline);
    background-color: var(--primary-color);
}

.ativa-dark:checked~.dark-mode #empresas {
    color: var(--headline);
    background-color: var(--primary-color);
}

.ativa-dark:checked~.dark-mode .content {
    color: var(--headline);
}

.ativa-dark:checked~.dark-mode .button:hover svg path {
    fill: var(--brand-dark);
}

.ativa-dark:checked~.dark-mode button:hover path[stroke*="#00856F"],
#contact li path,
#services .card path {
    stroke: var(--brand-dark);
}

.ativa-dark:checked~.dark-mode #home .stat p {
    color: var(--headline);
}

.ativa-dark:checked~.dark-mode #home .stats .stat+.stat {
    border-left: none;
}

.ativa-dark:checked~.dark-mode footer .wrapper {
    background-color: var(--primary-color);
}

.ativa-dark:checked~.dark-mode footer .logo path {
    fill: white;
}

.ativa-dark:checked~.dark-mode footer p {
    color: var(--headline);
}

.ativa-dark:checked~.dark-mode nav {
    background-color: var(--bg-light);
}

.ativa-dark:checked~.dark-mode #home {
    background-color: var(--bg-light);
    color: var(--headline);
}

.ativa-dark:checked~.dark-mode #services {
    background-color: var(--primary-color);
}

.ativa-dark:checked~.dark-mode {
    background-color: var(--primary-color);
}

.ativa-dark:checked~.dark-mode #contact {
    background-color: var(--primary-color);
}

.ativa-dark:checked~.dark-mode header {
    background-color: var(--brand-beige);
}

.ativa-dark:checked~.dark-mode header .container {
    background-color: var(--brand-dark);
}

.ativa-dark:checked~.dark-mode .container {
    background-color: var(--primary-color);
}

.ativa-dark:checked~.dark-mode #depoimentos {
    color: var(--headline);
    background-color: var(--primary-color);
}

.ativa-dark:checked~.dark-mode #depoimentos .testimonial {
    color: var(--headline);
    background-color: var(--primary-color);
    border: 1px solid var(--headline);
}

.ativa-dark:checked~.dark-mode #depoimentos header h2 {}

.ativa-dark:checked~.dark-mode #depoimentos .testimonial h3 {
    color: var(--headline);
}

.ativa-dark:checked~.dark-mode #depoimentos .testimonial p {
    color: var(--headline);
}

.ativa-dark:checked~.dark-mode #depoimentos svg path {
    fill: var(--headline);
}


/* ====== MEDIA ====== */

@media (min-width: 80.4rem) {
    /* ====== GERAL ====== */
    body {
        overflow: auto;
    }
    .ativa-dark:checked~.dark-mode #home .stats .stat+.stat {
        border-left: 1px solid red;
    }
    .wrapper {
        width: min(112rem, 100%);
        display: grid;
    }
    .col-a {
        grid-area: A;
    }
    .col-b {
        grid-area: B;
    }
    section {
        padding-block: 10rem;
    }
    section header h2 {
        font-size: 4rem;
        line-height: 5.2rem;
    }
    /* ====== NAVIGATION ====== */
    /* ====== reset ====== */
    nav#navigation .wrapper * {
        margin: 0;
        padding: 0%;
        visibility: initial;
        display: initial;
        opacity: initial;
        flex-direction: initial;
        position: initial;
        font-size: initial;
        transform: initial;
        color: initial;
        background-color: initial;
        background: initial;
        font-weight: initial;
        filter: initial;
    }
    nav#navigation .close-menu,
    nav#navigation .open-menu,
    nav#navigation .social-links {
        display: none;
    }
    nav#navigation .menu {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 60%;
    }
    nav#navigation .menu ul:nth-child(1) {
        display: flex;
        gap: 3.2rem;
    }
    nav#navigation .menu ul li a {
        color: var(--primary-color);
        opacity: 0.7;
    }
    nav#navigation .menu a.button {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 1rem 2.4rem;
        border: 1px solid var(--primary-color);
        border-radius: 4rem;
        color: var(--primary-color);
        font-weight: 700;
        font-size: 1.4rem;
        line-height: 1.8rem;
        text-transform: uppercase;
    }
    nav#navigation .menu a.button:hover {
        border: none;
        color: white;
        opacity: 0.9;
        background-color: var(--primary-color);
    }
    nav#navigation.scroll .menu ul li a {
        color: white;
        opacity: 0.9;
    }
    nav#navigation.scroll .menu a.button {
        border-color: white;
        color: white;
    }
    nav#navigation .menu li a {
        transition: opacity 0.4s;
    }
    nav#navigation .menu li a.active,
    nav#navigation .menu li a:hover {
        opacity: 1;
        font-weight: 700;
    }
    nav#navigation .menu li a::after {
        content: '';
        width: 0%;
        height: 2px;
        background-color: var(--primary-color);
        position: relative;
        bottom: -1.8rem;
        left: -0.5rem;
        /* padding-inline: 0.8rem; */
        display: block;
        transition: width 0.2s;
    }
    nav#navigation.scroll .menu li a::after {
        background-color: white;
    }
    nav#navigation .menu li a.active::after,
    nav#navigation .menu li a:hover::after {
        padding-inline: 0.7rem;
        width: 100%;
    }
    nav#navigation.scroll .menu li a.active,
    nav#navigation.scroll .menu li a:hover {
        opacity: 1;
        filter: brightness(1.3);
        text-shadow: none;
    }
    nav#navigation.scroll .menu a.button.active,
    nav#navigation.scroll .menu a.button:hover {
        background-color: var(--primary-color);
        filter: brightness(1.3);
        border: none;
    }
    /* INPUT COLORS */
    div.color1 {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: hsl(var(--hue), 100%, 20%);
        position: absolute;
        cursor: pointer;
        top: 20px;
        right: 40px;
        z-index: 101;
    }
    div.color2 {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: hsl(var(--hue), 100%, 25%);
        position: absolute;
        cursor: pointer;
        top: 20px;
        right: 60px;
        z-index: 101;
    }
    div.color3 {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: hsl(var(--hue), 100%, 30%);
        position: absolute;
        cursor: pointer;
        top: 20px;
        right: 80px;
        z-index: 101;
    }
    div.dark {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: hsl(var(--hue), 100%, 0%);
        position: absolute;
        cursor: pointer;
        top: 20px;
        right: 100px;
        z-index: 101;
    }
    /* HIDDEN INPUT COLOR CHECKED*/
    .ativa-color1:checked~.color1-mode div.color2,
    .ativa-color1:checked~.color1-mode div.color3,
    .ativa-color1:checked~.color1-mode div.dark {
        visibility: hidden;
    }
    .ativa-color2:checked~.color2-mode div.color1,
    .ativa-color2:checked~.color2-mode div.color3,
    .ativa-color2:checked~.color2-mode div.dark {
        visibility: hidden;
    }
    .ativa-color3:checked~.color3-mode div.color1,
    .ativa-color3:checked~.color4-mode div.color2,
    .ativa-color3:checked~.color4-mode div.dark {
        visibility: hidden;
    }
    /* INPUT COLORS HOVER*/
    div:hover.color1 {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: #C92A2A;
        position: absolute;
        cursor: pointer;
        top: 20px;
        right: 40px;
        z-index: 101;
    }
    div:hover.color2 {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: #0083fd;
        position: absolute;
        cursor: pointer;
        top: 20px;
        right: 60px;
        z-index: 101;
    }
    div:hover.color3 {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: #5F3DC4;
        position: absolute;
        cursor: pointer;
        top: 20px;
        right: 80px;
        z-index: 101;
    }
    div:hover.dark {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: #000000;
        position: absolute;
        cursor: pointer;
        top: 20px;
        right: 100px;
        z-index: 101;
    }
    /* ====== HOME ====== */
    #home {
        padding-block: 0;
    }
    #home::before {
        height: calc(96% - var(--nav-height));
    }
    #home {
        padding-top: var(--nav-height);
    }
    #home .wrapper {
        grid-template-columns: 60.5rem 1fr;
        grid-template-areas: 'A B' 'C C';
    }
    #home .col-a {
        text-align: left;
        align-self: center;
    }
    #home h1 {
        font-size: 5.2rem;
    }
    #home .content p {
        font-size: 1.8rem;
    }
    #home .stats {
        grid-area: C;
        flex-direction: row;
        padding: 6rem;
        gap: 0;
    }
    #home .stats .stat+.stat {
        border-left: 1px solid var(--primary-color);
    }
    #home .stats .stat {
        flex: 1;
    }
    #home .button {
        margin: 0;
    }
    #home img {
        width: 42rem;
    }
    /* ====== SERVICES ====== */
    #services h2 {
        width: 47rem;
        margin-inline: auto;
    }
    #services .cards {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 4rem;
    }
    #services .card {
        width: 30%;
        flex-grow: 1;
    }
    /* ====== DEPOIMENTOS ====== */
    #depoimentos {
        background-color: white;
    }
    #depoimentos header h2 {
        margin-bottom: 6rem;
        width: 47rem;
        margin-inline: auto;
    }
    #depoimentos .testimonials {
        display: flex;
        flex-direction: row;
        gap: 3.2rem;
    }
    #depoimentos .testimonial:nth-child(3) {
        display: none;
        visibility: hidden;
        opacity: 0;
    }
    #depoimentos .testimonial {
        padding: 3.2rem;
        text-align: left;
        background: white;
        background-color: var(--brand-beige);
        border: 1px solid var(--brand-light);
        border-radius: .6rem;
    }
    #depoimentos .testimonial h3 {
        margin-block: 2.6rem;
        color: var(--primary-color);
    }
    #depoimentos .testimonial p {
        font-weight: 400;
        font-size: 1.6rem;
        line-height: 150%;
    }
    #depoimentos .testimonial img {
        /* margin-block: 1.6rem; */
        /* color: var(--primary-color); */
        float: left;
        padding-right: 1.6rem;
        padding-top: 2rem;
    }
    /* ====== EMPRESAS ====== */
    #empresas {
        background-color: white;
        padding-bottom: 0;
    }
    #empresas h4 {
        color: var(--paragraph);
        padding-bottom: 3rem;
    }
    #empresas svg {
        padding-bottom: 1rem;
        width: 13.6rem;
        /* height: 3.1rem; */
    }
    #empresas svg path {
        fill: var(--primary-color);
    }
    #empresas .empresas .wrapper {
        /* width: max(100rem, 100%) */
        /* margin-right: 10px; */
    }
    #empresas .empresas {
        /* padding-block: 1.6rem; */
        /* padding-top: 1rem; */
        /* padding: 0%; */
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin-right: 1rem;
        /* justify-items: center; */
        /* gap: 4.2rem; */
    }
    /* ====== ABOUT ====== */
    #about .wrapper {
        grid-template-columns: 1fr 1fr;
        grid-template-areas: 'B A';
        gap: 6.7rem;
    }
    #about .col-a {
        align-self: center;
    }
    #about .content p {
        margin-bottom: 0;
    }
    /* ====== BANNER ====== */
    #banner .wrapper {
        background-color: var(--primary-color);
        border-radius: 1rem;
        height: 23rem;
    }
    #banner h2 {
        font-size: 3rem;
        color: white;
        width: 43rem;
        text-align: left;
        float: left;
        /* margin-left: -30rem; */
    }
    #banner .button {
        font-size: 1.7rem;
        /* margin-inline: initial; */
    }
    #banner a {
        /* float: right; */
        /* margin-right: -30rem; */
        /* width: 29rem; */
    }
    /* ====== CONTACT ====== */
    #contact .wrapper {
        grid-template-columns: 1fr 57.5rem;
        grid-template-areas: 'A B';
    }
    #contact h2 {
        width: 40.4rem;
    }
    /* ====== FOOTER ====== */
    footer {
        padding-block: 8rem;
    }
    footer .wrapper {
        grid-template-columns: 1fr 57.5rem;
        grid-template-areas: 'A B';
    }
    footer .col-a {
        align-self: center;
    }
    footer .col-b {
        align-self: center;
        justify-self: flex-end;
    }
    /* footer h2 { */
    /* width: 40.4rem; */
    /* } */
    footer p {
        margin-bottom: 0;
    }
}