@import url('https://fonts.googleapis.com/css2?family=Poppins&display=swap');

:root {
    --color-primary: #4CA734;
    --color-primary-bold: #418b2c;
    --color-secondary: #ADADAD;
    --input-border-color: #ced4da;
    --font-family: 'Poppins', sans-serif;

    --clr-bg-input-grp-txt: #fff;
    --clr-bg-select-striped: #e2e2e2;
    --border-radius-input-grp-txt: 0;
    --clr-btn-primary-deep-green: #4ca734;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--font-family);
}

html {
    position: relative;
    height: 100%;
}

body {
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto 1fr auto;
}

header {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    padding: 0 !important;
    box-shadow: 0px 2px 5px 0 rgba(0, 0, 0, 0.2);
    border-bottom-width: 0 !important;
}

nav {
    padding: 0 !important;
}

main {
    background-image: url("../../assets/background.svg");
}

.navbar-toggler {
    border: none;
}

.navbar-toggler-icon {
    background-image: url("../../assets/icons/menu.svg");
    font-size: 14px;
}

.navbar-toggler:focus {
    box-shadow: none;
}

.navbar-brand-mobile,
.navbar-account-mobile {
    display: none;
}

.menu .navbar-collapse a {
    display: flex;
    align-items: center;
    font-weight: 600;
    height: 54px;
}

.nav-link.active {
    box-sizing: border-box;
    border-bottom: solid 4px var(--color-primary);
    background-color: rgba(0, 0, 0, 0.05);
}

.nav-link:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

.navbar-expand-md .navbar-nav .dropdown-menu {
    left: -100px;
}

.dropdown-menu-mobile {
    left: -100px !important;
}

.dropdown-item {
    height: 55px;
}

.dropdown-item.active, .dropdown-item:active {
    background-color: var(--color-primary);
}

.logo {
    width: 150px;
    height: 35px;
}


@media screen and (max-width: 768px) {
    nav {
        padding: 16px 0 !important;
    }

    .nav-link.active {
        height: 70px;
        background: #E7E7E7;
        border-left: solid 6px var(--color-primary) !important;
        border-bottom: none;
        border-bottom: none;
        color: #222222;
        margin: 0 !important;
        width: 100% !important;
    }

    .navbar-brand {
        display: none !important;
    }

    .navbar-brand-mobile {
        display: block;
        margin: 0 auto !important;
    }

    .navbar-account-mobile {
        display: block;
    }
}

.card-form {
    width: 500px;
    padding: 30px 20px 30px 20px;
    display: flex;
    flex-direction: column;
    height: fit-content;
    background: #FFFFFF;
    box-shadow: 0px 15px 18px rgba(0, 0, 0, 0.25);
}

.card-body > form {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.form-logo {
    width: 220px;
    height: 50px;
}

.card-body {
    padding: 0 50px 0 50px;
}

.hs-100 {
    height: 100%;
}

.lblRegistroTexto {
    margin-top: 35px !important;
    margin-bottom: 25px !important;
}

.titulo-h3 {
    color: var(--color-primary);
    font-weight: normal;
    font-size: 24px;
    padding-left: 6px;
}

.texto-membresia {
    color: #222222;
    font-weight: normal;
    font-size: 14px;
    padding-left: 6px;
    margin-top: -7px;
}

.visibility {
    border: none;
    background-color: transparent;
}

.form-group-column {
    display: flex;
    flex-direction: column;
}

.form-group-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.form-control {
    border-radius: 0;
    height: 49px;
}

.input-group-text {
    background-color: var(--clr-bg-input-grp-txt);
    border-radius: var(--border-radius-input-grp-txt);
}

.form-control-required::after {
    content: "*";
    color: #35B86B;
}

.pre-login-area {
    font-size: 14px;
}

a {
    color: var(--color-primary);
    text-decoration: none;
}

a:hover {
    color: var(--color-primary);
    text-decoration: underline;
}

.btn-normal {
    color: white;
    padding: 15px 40px 15px 40px;
    background-color: var(--clr-btn-primary-deep-green);
}

.btn-normal:hover {
    color: white;
    background-color: var(--clr-btn-primary-deep-green);
}

.area-center {
    width: 100%;
    display: flex;
    justify-content: center;
}

/* FOOTER */

footer a {
    text-decoration: none;
}

footer a:hover {
    color: var(--color-primary);
}

.footer-text {
    color: var(--color-primary);
    font-size: 10.5px;
    letter-spacing: 0.3px;
}

.footer-text-dudas {
    font-size: 10.5px;
    letter-spacing: 0.3px;
}
/* ========== */