* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Oxygen", serif;
}

html {
    scroll-behavior: smooth;
}

:root {
    --verde-floresta: #2E7D32;
    --amarelo-solar: #FFC107;
    --cinza-urbano: #757575;
    --branco-neve: #FFFFFF;
    --padding-pq: 1rem;
    --padding-md: 2rem;
    --padding-gd: 4rem;

    --cor-fundo: #181818;
    --cor-borda: #333;
    --dest_sec: #a1a1a1;
}

body {
    transition: background 0.2s linear;
}


/* botoes */

button {
    padding: 1rem;
    border: var(--verde-floresta) 2px solid;
    border-radius: 25px 0 25px 0;
    cursor: pointer;
    font-size: 1rem;
}

button:hover {
    padding: 1rem;
    border: var(--branco-neve) 2px solid;
    border-radius: 25px 0 25px 0;
    cursor: pointer;
    background-color: var(--verde-floresta);
    transition: 0.7s;
    color: var(--branco-neve);
}

header button {
    padding: .75rem;
}

/* header */

header {
    display: flex;
    align-items: center;
    padding: 0 2rem;
    justify-content: space-between;
    height: 4rem;
}

header img {
    height: 100px;
}

header nav {
    display: flex;
    gap: 2rem;
}

header nav a {
    text-decoration: none;
    color: #000;
    transition: 1s;
}

header nav a:hover {
    color: var(--verde-floresta);
    font-size: 1.25rem;
}

/* theme button */

.theme-button {
    /* MOBILE */
    display: none;
    /* Esconde no desktop */
    bottom: 20px;
    right: 20px;
    background: var(--cinza-urbano);
    color: var(--branco-neve);
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    font-size: 24px;
    cursor: pointer;
    transition: background 0.3s ease-in-out, transform 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.menu_mobile button {
    background: var(--cinza-urbano);
    padding: 1rem;
    cursor: pointer;
    font-size: 1rem;
    border-radius: 50%;
}

.menu_mobile button:hover {
    background: var(--cinza-urbano);
    padding: 1rem;
    cursor: pointer;
    font-size: 1rem;
    border-radius: 50%;
}

#mobile-theme-toggle {
    padding: 1rem;
    border: var(--cinza-urbano) 2px solid;
    cursor: pointer;
    font-size: 1rem;
    border-radius: 50%;
}


/* desktop */
.checkbox {
    opacity: 0;
    position: absolute;
}

.label {
    background-color: #000;
    border-radius: 50px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px;
    position: relative;
    height: 26px;
    width: 50px;
    transform: scale(1.5);
}

.label .ball {
    background-color: var(--branco-neve);
    border-radius: 50%;
    position: absolute;
    top: 2px;
    left: 2px;
    height: 22px;
    width: 22px;
    transform: translateX(0px);
    transition: transform 0.3s linear;
}

.checkbox:checked+.label .ball {
    transform: translateX(24px);
}

.fa-moon {
    color: #f1c40f;
}

.fa-sun {
    color: #f39c12;
}

/* hero section */

#hero {
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.8)), url("../media/images/backgd1.jpg");
    background-size: 100vw;
    height: calc(100vh - 4rem);
    width: 100%;
    object-fit: cover;
    background-position-y: center;
    padding: 0;
}

.hero_foreground {
    color: var(--branco-neve);
    text-align: center;
    padding-top: 20vh;
}

.hero_foreground h1 {
    font-weight: 200;
    font-size: 3.75rem;
}

.hero_foreground p {
    padding: 1rem 0 2rem 0;
    font-size: 1.25rem;
    font-weight: 100;
    letter-spacing: 1.5px;
}

.hero_foreground button {
    margin-top: 5rem;
}

/* about section */

#about {
    height: 100vh;
    width: 100%;
    text-align: center;
    background-color: var(--branco-neve);
}

#about h2,
#advantages h2,
#HowToUse h2,
#reviews h2,
#cta h2 {
    padding-bottom: 4rem;
    font-size: 2.5rem;
    font-weight: 300;
    padding-top: 11vh;
    text-align: center;
}

#about span {
    color: var(--verde-floresta);
    font-weight: 400;
}

.about_container {
    display: grid;
    gap: 1rem;
    max-height: 100vh;
}

.about_text {
    grid-column: 1;
    padding: 2rem;
    max-height: 100vh;
}

.about_container p {
    display: flex;
    text-align: left;
    padding: 1rem;
    font-weight: 300;
}

.about_images {
    grid-column: 2;
    width: 50vw;
}

.about_images img {
    width: 40vw;
    padding: 2rem;
}

/* section HowToUse */

#HowToUse {
    display: grid;
    align-items: center;
    height: 100vh;
    width: 100%;
    text-align: center;
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.8)), url("../media/images/backgd3.jpg");
    background-size: 100vw;
    object-fit: cover;
    background-position-y: center;
}

.HowToUse_title {
    text-align: center;
    width: 100%;
    grid-column: 1/3;
    color: var(--branco-neve);
}

.HowToUse_image {
    grid-column: 1;
    padding: 1rem;
}

.HowToUse_container {
    justify-content: center;
    grid-column: 2;
    color: var(--branco-neve);
}

.step {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 1rem;
    color: var(--branco-neve);
}

#HowToUse h3 {
    border: 2px solid var(--verde-floresta);
    border-radius: 8px;
    cursor: pointer;
    padding: 12px;
    color: var(--branco-neve);
}

.step p {
    border-right: 1px solid var(--verde-floresta);
    border-bottom: 1px solid var(--verde-floresta);
    border-top: 1px solid var(--verde-floresta);
    border-radius: 0 8px 8px 0;
    margin-top: 1px;
    height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0px;
    transition: .5s;
    color: var(--branco-neve);
}

.step.ativa p {
    height: fit-content;
    opacity: 1;
    padding: 12px;
    background-color: #e6e6e6;
    color: #2E7D32;
}

/* advantages section */

#advantages {
    width: 100%;
    height: 100vh;
    text-align: center;
    justify-content: space-between;
    align-items: center;
    display: flex;
    flex-direction: column;
    padding-bottom: 1rem;
    background: rgb(255, 255, 255);
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(173, 216, 230, 1) 100%);
}

.wrapper {
    display: flex;
    /*     flex-direction: row; */
    padding: 2rem 0;
    width: 75%;
    height: 70%;
    overflow: hidden;
    gap: 3rem;
}

.card {
    flex: 1;
    height: 100%;
    transition: flex 0.5s ease;
    cursor: pointer;
    background-size: cover;
    background-position: center;
    border-radius: .5rem;
}

.card h3 {
    color: var(--branco-neve);
    font-size: 2rem;
    margin-top: 3rem;
}

.card p {
    color: var(--branco-neve);
    margin-top: 1rem;
}

.card1 {
    background-image: url(../media/images/firstcard.jpg);
}

.card2 {
    background-image: url(../media/images/secondcard.jpg);
}

.card3 {
    background-image: url(../media/images/thirdcard.jpg);
}

.card:hover {
    flex: 2;
}

.card:hover h3 {
    font-size: 3rem;
}

.card:hover p {
    font-size: 1.25rem;
}

/* adv mobile */
#advMob {
    display: none;
}

.adv_mobile .card {
    height: 20vh;
    background-size: cover;
    background-position: center;
    border-radius: .5rem;
}

.adv_mobile .card h3 {
    color: var(--branco-neve);
    font-size: 1.5rem;
    margin-top: 3rem;
    padding: 1rem;
}

.adv_mobile .card p {
    color: var(--branco-neve);
    margin-top: 1rem;
    font-size: 16px;
    padding: 0 1rem 1rem 1rem;
}

.adv_mobile .card1 {
    background-image: url(../media/images/firstcard.jpg);
    filter: grayscale(60%);
    object-fit: initial;
    background-position-y: 70%;
}

.adv_mobile .card2 {
    background-image: url(../media/images/secondcard.jpg);
    filter: grayscale(60%);
}

.adv_mobile .card3 {
    background-image: url(../media/images/thirdcard.jpg);
    filter: grayscale(60%);
}

/* review section (carrousel) */

#reviews {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100vh;
    width: 100%;
    text-align: center;
}

.reviews_title {
    text-align: center;
    width: 100%;
}

.slider {
    justify-content: center;
    align-items: center;
    width: 800px;
    height: 400px;
    overflow: hidden;
}

.slides {
    width: 400%;
    height: 400px;
    display: flex;
}

.slides input {
    display: none;
}

.slide {
    width: 25%;
    position: relative;
    height: 100%;
    background-color: #fff;
    min-height: 300px;
    transition: 1.5s;
}

.slide_area {
    width: 800px;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    align-items: center;
    color: #000;
}

.reviewer_avatar {
    width: 150px;
    height: auto;
}

.reviewer_name {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 17px;
    margin-top: 30px;
}

.reviewer_text {
    font-size: 14px;
    color: #999;
    margin-top: 5px;
    line-height: 1.5rem;
}

.reviewer_text p {
    margin-top: 7px;
}

.manual_navigation {
    position: absolute;
    width: 800px;
    margin-top: -10px;
    display: flex;
    justify-content: center;
}

.manual_btn {
    border: 2px solid #000;
    padding: 5px;
    border-radius: 10px;
    cursor: pointer;
    transition: 1s;
}

.manual_btn:not(:last-child) {
    margin-right: 40px;
}

#radio1:checked~.first {
    margin-left: 0;
}

#radio2:checked~.first {
    margin-left: -25%;
}

#radio3:checked~.first {
    margin-left: -50%;
}

#radio4:checked~.first {
    margin-left: -75%;
}

.navigation_auto div {
    border: 2px solid #000;
    padding: 5px;
    border-radius: 10px;
    cursor: pointer;
    transition: 1s;
}

.navigation_auto {
    position: absolute;
    width: 800px;
    margin-top: 390px;
    display: flex;
    justify-content: center;
}

.navigation_auto div:not(:last-child) {
    margin-right: 40px;
}

#radio1:checked~.navigation_auto .auto_btn1 {
    background-color: #000;
}

#radio2:checked~.navigation_auto .auto_btn2 {
    background-color: #000;
}

#radio3:checked~.navigation_auto .auto_btn3 {
    background-color: #000;
}

#radio4:checked~.navigation_auto .auto_btn4 {
    background-color: #000;
}

/* CTA section */

#cta {
    width: 100%;
    height: 100vh;
    text-align: center;
    background: rgb(173, 216, 230);
    background: linear-gradient(0deg, rgba(173, 216, 230, 1) 1%, rgba(255, 255, 255, 1) 100%);
}

.cta_content {
    padding: 0 5rem;
}

.cta_content h3 {
    font-size: 1.25rem;
    text-align: center;
}

.cta_content p {
    text-align: left;
    margin-top: 1.5rem;
}

.cta_content .first_p_cta {
    margin-top: 5rem;
}

#cta button {
    text-decoration: none;
    margin-top: 5rem;
}

/* footer */

#footer {
    background-color: #000;
    color: white;
    padding: 1rem 3rem 2rem 3rem;
    display: grid;
    justify-content: space-between;
}

.footer_links {
    grid-column: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

.footer_links a {
    display: flex;
    text-decoration: none;
    color: var(--branco-neve);
}

.social_media {
    grid-column: 2;
    display: flex;
    flex-direction: column;
}

.social_media img {
    height: 25px;
    width: 25px;
    padding: 1rem;
}

.social {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.social a {
    text-decoration: none;
    color: var(--branco-neve);
}

.footer_contact {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    grid-column: 3;
}

.footer_contact h3 {
    margin-bottom: .75rem;
}

.footer_contact a {
    text-decoration: none;
    color: var(--branco-neve);
}


/* Politica de privacidade */

#politicas_de_priv {
    width: 100%;
}

.politica_title {
    padding-bottom: 4rem;
    padding-top: 11vh;
    text-align: center;
}

.politica_title h1,
#formulario h1 {
    font-size: 2.5rem;
    font-weight: 300;
}

.politica_container {
    display: flex;
    flex-direction: column;
    padding: 3rem;
}

.politicas {
    padding: 1.5rem 0;
}

.politicas ul li {
    list-style: none;
    line-height: 1.5rem;
}

.politicas h2 {
    font-size: 1.25rem;
}

.politicas h3 {
    padding-top: 1rem;
}

.politicas p {
    font-weight: 400;
    line-height: 1.5rem;
}

/* solicitação page */

.footer_form {
    margin-top: 15%;
}

#formulario {
    height: 100vh;
    width: 100%;
}

.form_title {
    padding-bottom: 4rem;
    font-size: 2.5rem;
    font-weight: 300;
    padding-top: 11vh;
    text-align: center;
}

.form_box {
    padding: 3rem;
}

.form_container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.input_form label {
    line-height: 1.75rem;
    font-weight: 600;
}

.input_form input:not(input[type="radio"]),
select {
    height: 1.5rem;
    width: 20vw;
}

.input_form input,
textarea,
select {
    border-radius: 5px;
}

.input_form input[type="radio"] {
    margin: 0.5rem;
}


.form_container .input_form {
    padding: 2rem 2rem 0 2rem;
}

.form_button {
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 2rem;
}

/* Menu Mobile */
.menu_mobile {
    display: none;
    background-color: var(--branco-neve);
}

.menu_mobile_icon {
    display: none;
}

.menu_mobile ul li a {
    text-decoration: none;
    color: #000;
}

.solic_mobile {
    font-size: 1.25rem;
    padding-bottom: 1rem;
    font-weight: 400;
}

.solic_mobile:hover {
    color: var(--verde-floresta);
    font-size: 1.5rem;
    transition: 1.2s;
}
