@font-face {
    font-family: 'Nunito Bold';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('./../fonts/Nunito-Bold.ttf');
    /* unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; */
}

@font-face {
    font-family: 'Nunito Regular';
    src: url('./../fonts/Nunito-Regular.ttf');
}

body {
    font-family: 'Nunito Regular';
}

.header {
    width: 100%;
    height: 9vh;
    background-color: #133636;
    display: flex;
    justify-content: flex-end; 
    align-items: center;
    position: relative;
}

.menu-icon {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 25px;
    margin-right: 10%; 
    cursor: pointer; 
}

.menu-icon span {
    display: block;
    height: 3px;
    background-color: #04A759;
    border-radius: 2px;
}

.card {
    width: 90%;
    max-width: 400px;
    border: none;
    background-color: transparent;
    margin-left: 3%;
}

.bloco-1 {
    background-image: url('./../img/fundo1.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    height: 66vh;
    display: flex;
    align-items: flex-end;
    position: relative; 
}

.logo-jnnet {
    position: absolute;
    top: calc(9vh - 62%); 
    left: 10%; 
    z-index: 10; 
    width: auto;
    height: 65px;
}

.linha-verde {
    width: 100%;
    height: 3vh;
    background-color: #133636;
}

.bloco-2 {
    background-color: #FFFFFF;
    margin-bottom: 2.5%;
}

.title-bloco-2 {
    margin-top: 2.5%;
    text-align: center;
    font-weight: bold;
    color: #133636;
    font-size: 3rem;
}

.card-descontos {
    width: 100%;
    display: flex;
    justify-content: center; 
    margin-top: 3%;
    gap: 2%;
}

.item {
    display: flex;
    flex-direction: column; 
    align-items: center; 
    width: 15%; 
}

.item img {
    width: 40%;
    max-height: 40%;
    max-width: 80%;
}

.item p {
    margin: 0;
    color: #133636;
}

.item h6 {
    margin-top: 15%;
    margin-bottom: 0;
    font-weight: bold;
    font-size: 1.1rem;
    color: #133636;
}

.item h6, .item p {
    text-align: center; 
}

.bloco-3 {
    background-image: url('./../img/fundo3.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    height: 60vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
}

.bloco-3-linha-1 {
    width: 65%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.bloco-3-texto-esquerda h5 {
    text-align: left;
    color: white;
    font-weight: 900;
    font-size: 2.1rem;
}

.bloco-3-texto-direita p {
    text-align: right;
    color: white;
    font-size: 1.8rem;
}

.bloco-3-texto-direita p span {
    font-weight: 900;
}

.bloco-3-linha-2 {
    width: 65%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.bloco-3-linha-2 .btn {
    border-radius: 16px;
    flex: 0 0 30%;
    max-width: 30%;
    background-color: white;
    border: none;
    font-weight: 900;
    color: #04A759;
    font-size: 1.1rem;
}

.bloco-3-linha-2 .btn-assinar {
    align-self: flex-start;
}

.bloco-3-linha-2 .btn-cadastrar {
    flex: 0 0 65%;
    max-width: 65%;
    align-self: flex-end;
    text-align: right;
}

.footer {
    width: 100%;
    height: 27vh;
    background-color: #133636;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}

.div-esquerda-footer, .div-direita-footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.div-esquerda-footer .logo-jnnet {
    display: flex;
    justify-content: flex-start;
}

.div-esquerda-footer .logo-rede-sociais {
    margin-top: 25px;
}

.div-direita-footer {
    text-align: right;
    color: white;
    font-weight: 900;
}

.contato-jnnet span {
    margin-right: 20px;
}

.div-direita-footer .endereco-jnnet {
    margin-top: 20px;
    margin-bottom: 20px;
}

.svg-img {
    margin-right: 15px;
}

.font-bold {
    font-family: 'Nunito Bold';
}

.full-text {
    color: white;
    font-weight: 900;
}

.mulher-img {
    max-height: 97%;
    object-position: bottom;
    background-color: transparent;
    margin-left: 14%;
}

#email::placeholder,
#senha::placeholder,
#lostPasswordEmail::placeholder {
    color: white;
    font-size: 1.1rem;
}

input[type=email],
input[type=password] {
    border-radius: .4rem;
    height: 40px;
    border: none; 
    background-color: #04A759; 
    color: inherit;
    padding: 8px; 
    box-shadow: none;
}

input[type=text] {
    border-width: 2px;
    border-color: #212949;
    border-radius: .75rem;
    height: 50px;
}

.label-input {
    top: 15px;
    left: 15px;
    padding: 5px;
}

button[type=submit] {
    background-color: #133636;
    color: white;
    font-weight: bold;
    border-width: 0;
    border-radius: .95rem;
}

button[type=submit]:hover {
    background-color: #04acbd;
}

.password-toggle {
    position: absolute;
    right: 10px;
    top: 70%;
    transform: translateY(-50%);
    cursor: pointer;
}

@media screen and (max-width:768px) {
    body {
        background-image: none;
        margin-left: 0;
        background-position: top;
        margin-top: 0;
        align-items: start;
    }
    .card {
        max-width: 100vw;
    }
}

@media (max-width: 705px) {
    .bloco-3 {
        height: auto; 
        padding: 20px 0;
    }

    .bloco-3-linha-1, .bloco-3-linha-2 {
        width: 90%; 
        flex-direction: column; 
        justify-content: center; 
        gap: 15px; 
    }

    .bloco-3-texto-esquerda {
        align-self: flex-start;
        width: 100%; 
    }

    .bloco-3-texto-direita {
        align-self: flex-end;
        width: 100%;
    }

    .bloco-3-texto-esquerda h5 {
        text-align: left; 
        font-size: 1.5rem; 
        width: 100%; 
    }

    .bloco-3-texto-direita p {
        text-align: right;
        font-size: 1.5rem; 
        width: 100%; 
        align-self: flex-end;
    }

    .bloco-3-linha-2 .btn {
        width: 100%;
        max-width: none;
        text-align: center;
    }
}

@media (max-width: 611px) {
    .bloco-1 {
        flex-direction: column; 
        align-items: center; 
        height: auto;
    }

    .mulher-img {
        width: 80%;
        max-width: 100%; 
        height: auto;
        max-height: 50vh; 
        object-fit: contain;
        margin-left: 0; 
        margin-top: 1rem;
    }

    .card {
        width: 100%; 
        max-width: none;
        margin-left: 0; 
        margin-top: 0;
    }

    .card-body {
        padding: 2.5rem;
    }

    .title-bloco-2 {
        font-size: 2rem; 
    }

    .card-descontos {
        flex-direction: column;
        align-items: center;
    }

    .item {
        width: 80%;
        margin-bottom: 20px;
    }

    .item img {
        width: 15%; 
    }

    .item h6 {
        margin-top: 15px;
    }
}

@media screen and (max-width:425px) {
    body {
        margin-top: 0;
    }

    .card {
        border-width: 0;
        width: auto;
    }

    .card-body {
        padding: 1.25rem;
    }

    .bloco-1 {
        background-image: url('./../img/fundo1.png');
    }

    .footer {
        flex-direction: column;
        height: auto;
        padding: 20px 0;
    }

    .div-esquerda-footer, .div-direita-footer {
        width: 100%; 
        align-items: center;
        text-align: center;
    }

    .div-direita-footer {
        margin-top: 20px; 
    }

    .div-esquerda-footer .logo-jnnet, 
    .div-esquerda-footer .logo-rede-sociais {
        justify-content: center; 
    }

    .contato-jnnet span {
        display: block;
        margin-right: 0;
        margin-bottom: 10px; 
    }

    .svg-img {
        margin-right: 0;
    }
}


@media screen and (max-width:320px) {
    body {
        /* margin-left: 0; */
        background-position: top;
        /* margin-top: 2rem; */
    }
}

.loader {
    border: 16px solid #f3f3f3;
    /* Light grey */
    border-top: 16px solid #f28403;
    /* Blue */
    border-radius: 50%;
    width: 120px;
    height: 120px;
    animation: spin 2s linear infinite;
}

#loader {
    z-index: 3000;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

body.swal2-height-auto {
    height: 100vh !important
}

.forgot-link,
.register-link {
    font-weight: bold;
    color: #133636;
    text-decoration: none;
    font-size: 14px;
    cursor: pointer;
}

.forgot-link:hover,
.register-link:hover {
    text-decoration: underline;
}

.text-jnnet-green {
    color: #133636;
}

.text-jnnet-bold {
    font-family: 'Nunito Bold';
}

.logo-rede-sociais > a {
    text-decoration: none;
}
