:root {
    --black-00: #FFFFFF;
    --black-01: #F7F7F7;
    --black-02: #E0E0E0;
    --black-03: #CCCCCC;
    --black-04: #B8B8B8;
    --black-05: #999999;
    --black-06: #7A7A7A;
    --black-07: #666666;
    --black-08: #525252;
    --black-09: #3D3D3D;
    --black-10: #292929;
    --black-11: #141414;
    --black-12: #000000;

    --primary-00: #E6F5FF;
    --primary-01: #BBE0FF;
    --primary-02: #99D1FF;
    --primary-03: #4C9EE0;
    --primary-04: #2771AD;
    --primary-05: #17527F;
    --primary-06: #173F5F;
    --primary-00-acent: #D9F0FF;
    --primary-01-acent: #80CEFF;
    --primary-02-acent: #3DADFF;
    --primary-03-acent: #168CE0;
    --primary-04-acent: #0869B7;
    --primary-05-acent: #004B85;
    --primary-06-acent: #002442;

    --text-font: 'Roboto', sans-serif;
    --title-font: 'Raleway', sans-serif;

    --shadow-01: 2px 2px 4px rgba(0, 0, 0, 0.25);
    --shadow-02: 2px 2px 8px rgba(0, 0, 0, 0.25);

    --shadow-01-invert: -2px 2px 4px rgba(0, 0, 0, 0.25);
    --shadow-02-invert: -2px 2px 8px rgba(0, 0, 0, 0.25);

    --span-gradient: linear-gradient(80deg, #168CE0 0%, rgba(43, 169, 247, 0) 97%);

    --botao-gradient: linear-gradient(0deg, #168CE0 0%, #3DC5FF 100%);

    --border-radius: 8px;
}

HTML {
    scroll-behavior: smooth;

    overflow-x: hidden;
}

* {
    margin: 0;
    padding: 0;

    box-sizing: border-box;
}

body {
    background-color: var(--black-00);
    color: var(--black-09);

    font-family: var(--text-font);
    font-size: 16px;
    line-height: 1.3;
}

a {
    text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--primary-06);

    font-family: var(--title-font);
    font-weight: bold;
    line-height: 1.1;
}

h1, h2 {
    font-size: 2.8em;
}

img {
    display: block;
}

.container {
    width: 100%;
    max-width: 1240px;

    padding: 0 16px;

    margin: 0 auto;
}

/*<editor-fold desc="header">*/
header#main {
    background-color: var(--black-00);

    width: 100%;
    height: 60px;

    box-shadow: var(--shadow-01);

    position: fixed;
    top: 0;

    z-index: 999;
}

header#main nav {
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

header#main nav img {
    height: 52px;
}

header#main nav div.menu_container {
    width: 100vw;
    height: 100vh;

    background-color: var(--black-00);
    display: none;
    opacity: 1;
}

header#main ul {
    display: flex;
    list-style: none;
    gap: 20px;
}

header#main li a {
    color: var(--black-08);
    font-family: var(--title-font);
    font-weight: 600;
    text-decoration: none;
    letter-spacing: .01rem;

    position: relative;
}

header#main li a:hover, header#main li a.active {
    color: var(--primary-06);
}

header#main li a.active {
    font-weight: bold;
}

header#main img.btn_menu {
    display: none;
}
/*</editor-fold>*/

main section {
    min-height: 100vh;
    padding: 80px 0;
}

/*<editor-fold desc="section-investsus">*/
section#investsus {
    min-height: 100vh;
    background: linear-gradient(#168CE0 60%, #F7F7F7);
}

section#investsus .container {
    max-width: 1440px;
    min-height: calc(100vh - 160px);
    color: var(--black-00);

    display: grid;
    grid-template-areas:
        "titulo titulo img img img img img img"
        "texto texto img img img img img img"
        "btn-2 btn-1 img img img img img img";
    align-items: center;
    place-content: center;
    gap: 24px;
}

section#investsus .content-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
}

section#investsus h1 {
    grid-area: titulo;
    color: inherit;
}

section#investsus p {
    grid-area: texto;
    font-size: 1.2em;
}

section#investsus .btn-1 {
    grid-area: btn-1;
}


section#investsus .btn-2 {
    grid-area: btn-2;
}

section#investsus img#investsus-background-img {
    width: 100%;
    grid-area: img;
}
/*</editor-fold>*/

/*<editor-fold desc="section-funcionalidades">*/
section#funcionalidades {
    background-color: var(--black-01);
}

section#funcionalidades h2 {
    margin-bottom: 60px;
}

section#funcionalidades div.container-funcionalidades {
    background-color: var(--black-00);

    width: 100%;

    display: grid;
    grid-template-columns: 1fr 1fr;

    position: relative;
}

section#funcionalidades div.funcionalidades {
    padding: 24px;

    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
    gap: 8px;

    box-shadow: 4px 0 4px -4px rgba(0, 0, 0, 0.25);
}

section#funcionalidades div.seletor-funcionalidade {
    padding: 12px;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;

    border: 1px solid #fff;

    border-radius: var(--border-radius);

    cursor: pointer;
}

section#funcionalidades div.seletor-funcionalidade.active, section#funcionalidades div.seletor-funcionalidade:hover {
    border: 1px solid var(--primary-01-acent);
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.10);
}

section#funcionalidades div.seletor-funcionalidade img {
    width: 32px;
    height: 32px;
}

section#funcionalidades div.seletor-funcionalidade h3 {
    text-align: center;
}

section#funcionalidades div.seletor-funcionalidade p {
    color: var(--black-05);
    font-weight: 500;
    text-align: center;
    font-size: 0.8rem;
}

section#funcionalidades div.descricao-funcionalidades {
    padding: 24px;
    height: 100%;
}

section#funcionalidades div.descricao-funcionalidades div.content-container {
    height: 100%;

    display: flex;
    flex-direction: column;

    justify-content: space-between;
}

section#funcionalidades div.descricao-funcionalidades div.content-container img#close_desc_funcionalidade {
    display: none;
}

section#funcionalidades div.descricao-funcionalidade h3 {
    font-size: 1.8rem;

    margin-bottom: 40px;

    position: relative;

}

section#funcionalidades div.descricao-funcionalidade {
    display: none;
}

section#funcionalidades div.descricao-funcionalidade.active {
    display: block;
}

section#funcionalidades div.descricao-funcionalidade h3:before {
    background-color: var(--primary-03-acent);
    content: '';

    width: 8px;
    height: 50px;

    position: absolute;
    left: -24px;

    display: block;

    top: -10px;
}

section#funcionalidades div.descricao-funcionalidade li {
    margin: 24px 0;
}

section#funcionalidades div.descricao-funcionalidade p {
    margin: 8px 0 0 12px;
}

section#funcionalidades div.descricao-funcionalidade p:not(:last-of-type) {
    margin-bottom: 12px;
}

section#funcionalidades div.funcionalidades-navegacao {
    width: 100%;

    display: flex;
    justify-content: space-between;
    align-self: end;
}

section#funcionalidades div.funcionalidades-navegacao svg {
    cursor: pointer;
}

section#funcionalidades div.funcionalidades-navegacao svg.active path {
    fill: var(--primary-03-acent);
}
/*</editor-fold>*/

 /*<editor-fold desc="section-perfisDeAcesso">*/

section#perfisDeAcesso div#perfisDeAcesso-title {
    margin-bottom: 48px;
}

section#perfisDeAcesso div#perfisDeAcesso-title p {
    margin-top: 8px;
    max-width: 70%;
}

section#perfisDeAcesso div#perfisDeAcesso-perfis-container {
    display: grid;
    gap: 24px;
}

section#perfisDeAcesso .tipo-entidade {
    background-color: var(--black-00);

    display: grid;

    border-radius: var(--border-radius);
}

section#perfisDeAcesso .tipo-entidade h3 {
    padding: 16px 24px;

    position: relative;

    border-radius: var(--border-radius);

    cursor: pointer;

    scroll-margin: 80px;

    box-shadow: var(--shadow-01);
}

section#perfisDeAcesso .tipo-entidade h3:before {
    content: '';

    background-color: var(--primary-03-acent);

    display: block;
    width: 5px;
    height: 100%;

    position: absolute;
    top: 0;
    left: 0;
}

section#perfisDeAcesso .tipo-entidade h3:after {
    content: '+';

    color: var(--primary-06);

    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    font-size: 1.6em;

    transform: translateY(-50%);

    position: absolute;
    top: 50%;
    right: 24px;
}

section#perfisDeAcesso .tipo-entidade.active h3:after {
    content: '-';
}

section#perfisDeAcesso .perfis-container {
    background-color: var(--black-01);
    padding: 24px;

    display: none;
    gap: 24px;

    border-radius: 0 0 8px 8px;

    transition: all .3s;
}

section#perfisDeAcesso .tipo-entidade.active h3 {
    border-radius: 0 8px 0 0;
}

section#perfisDeAcesso .tipo-entidade.active .perfis-container {
    display: grid;
    opacity: 1;

    box-shadow: var(--shadow-01);
}

section#perfisDeAcesso .tipo-entidade-card {
    background-color: var(--black-00);

    padding: 24px;

    display: grid;
    gap: 8px;

    border-radius: var(--border-radius);
}


section#perfisDeAcesso .tipo-entidade-card span{
    background: var(--span-gradient);

    width: 50px;
    height: 4px;

    display: block;
}

section#perfisDeAcesso .tipo-entidade-card ul {
    margin-left: 18px;
}

section#perfisDeAcesso .tipo-entidade-card li {
    margin: 8px 0;
}

section#perfisDeAcesso .tipo-entidade-card strong {
    color: var(--primary-06);
    font-weight: 500;
}
/*</editor-fold>*/

/*<editor-fold desc="section-comoAcessar">*/
section#comoAcessar {
    min-height: 100vh;
    background: url("../img/investsus_computer_background.webp") center no-repeat;
    background-size: cover;

    display: flex;
    place-content: center;
}

section#comoAcessar div#comoAcessar-content {
    background-color: var(--black-00);

    width: 90%;
    max-width: 1240px;

    padding: 24px;

    border-radius: var(--border-radius);

    box-shadow: var(--shadow-01);
}

section#comoAcessar div.comoAcessar-title {
    margin-bottom: 24px;
}

section#comoAcessar div.comoAcessar-title h2 {
    line-height: 1.3;
    position: relative;
    margin: 0 0 24px 32px;
}

section#comoAcessar div.comoAcessar-title h2:before {
    content: '';

    background-color: var(--primary-03-acent);

    display: block;
    width: 8px;
    height: 100%;

    position: absolute;
    left: -32px;
}

section#comoAcessar div.comoAcessar-title p {
    margin-top: 8px;
}


section#comoAcessar .comoAcessar-itens-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 24px;
}

section#comoAcessar .comoAcessar-item {
    background-color: var(--black-01);

    padding: 24px;

    border-radius: var(--border-radius);
    box-shadow: var(--shadow-01);

}

section#comoAcessar .comoAcessar-item-header {
    margin-bottom: 8px;
    display: flex;
    justify-content: space-between;

    place-items: center;
    gap: 8px;
}

section#comoAcessar .comoAcessar-item-header h3 {
    font-size: 1.6rem;
}

section#comoAcessar .comoAcessar-item-header button {
    background: var(--botao-gradient);
    color: var(--black-00);

    padding: 12px;

    border: none;
    border-radius: var(--border-radius);

    display: flex;
    align-items: center;
    gap: 12px;

    box-shadow: var(--shadow-01);

    cursor: pointer;
}

section#comoAcessar .comoAcessar-item ul {
    margin-left: 24px;
}

section#comoAcessar .comoAcessar-item li {
    margin: 4px 0;
}

div.comoAcessar-item a {
    color: var(--primary-06);
    font-weight: 500;
}

section#comoAcessar .comoAcessar-item:not(:last-child) p {
    margin-left: 28px;
}

section#comoAcessar .comoAcessar-item a {
    font-weight: bold;
}

section#comoAcessar .comoAcessar-item a:hover {
    color: var(--primary-04);
}
/*</editor-fold>*/

/*<editor-fold desc="Footer">*/
footer#faleConosco {
    padding: 60px 0;
}

footer#faleConosco div.container {
    display: grid;
    grid-template-areas:
            "navegue links-uteis fale-conosco"
            "rodape rodape rodape";
    gap: 24px;
    justify-content: space-between;
}

footer#faleConosco div.container div:nth-child(1) {
    grid-area: navegue;
}

footer#faleConosco div.container div:nth-child(2) {
    grid-area: links-uteis;
}

footer#faleConosco div.container div:nth-child(3) {
    grid-area: fale-conosco;
}

footer#faleConosco div.container div:nth-child(4) {
    grid-area: rodape;
}

footer#faleConosco div.container div:nth-child(4) img {
    width: 100%;
    max-width: 304px;
    margin: 0 auto;
}

footer#faleConosco div.container div h3 {
    margin-bottom: 4px;
}

footer#faleConosco div.container div ul {
    margin-left: 24px;
}

footer#faleConosco div.container div ul li {
    margin: 8px 0;
}

footer#faleConosco div.container div ul a {
    font-weight: 500;
    color: var(--black-08);
}

footer#faleConosco div.container div ul a:hover {
    color: var(--primary-04);
}

footer#faleConosco > img {
    width: 250px;
    margin: 0 auto;
}
/*</editor-fold>*/

/*<editor-fold desc="Botões">*/
.btn {
    background: var(--botao-gradient);
    color: var(--black-00);

    font-family: var(--title-font);
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: 0.05rem;
    text-transform: uppercase;

    padding: 16px;

    border: none;
    border-radius: var(--border-radius);
}

.btn:hover {
    cursor: pointer;
    box-shadow: var(--shadow-02);
}

.btn-1 {
    box-shadow: var(--shadow-01);
}

.btn-2 {
    background: transparent;

    border: 2px solid
}

/*</editor-fold>*/

/*<editor-fold desc="Funcionalidades Cards">*/

/*</editor-fold>*/

/*<editor-fold desc="popup-videos">*/
div.popup {
    background-color: rgba(0, 0, 0, .2);
    width: 100vw;
    height: 100vh;

    display: none;
    place-content: center;
    align-items: center;

    position: fixed;
    top: 0;
    right: 0;

    z-index: 999;
}

div.popup.active {
    display: flex;
}

div.popup-video-container {
    background-color: var(--black-00);

    width: 980px;
    height: 640px;

    max-height: calc(80%);

    display: flex;
    flex-direction: column;
    gap: 24px;

    padding: 24px;

    border-radius: var(--border-radius);

    box-shadow: var(--shadow-01);
}

div.popup-video-container iframe.popup-video {
    width: 100%;
    height: 100%;
}

div.popup-video-container .investsus-content-buttons {
    place-self: end;
}

.btn-close-popup {
    color: var(--primary-03-acent);
    border: none;
}

div.popup-funcionalidades .popup-video-container {
    justify-content: space-between;
}

div.popup-funcionalidades .popup-video-container p{
    height: 100%;
    display: flex;
    place-items: center;
    padding: 24px;
}

div.popup-funcionalidades .investsus-content-buttons {
    display: block;
}

div.popup .btn_closePopup {
    color: var(--primary-03-acent);

    border: none;
    font-size: .9rem;
}
/*</editor-fold>*/

img#scroll-up {
    width: 45px;

    border-radius: 50%;

    position: fixed;
    bottom: 15px;
    right: 15px;

    box-shadow: var(--shadow-01);
}

img#scroll-up:hover {
    box-shadow: var(--shadow-02);
}

@media screen and (max-width: 1170px) {

    section#investsus .container {
        display: grid;
        grid-template-areas:
        "titulo titulo titulo titulo titulo titulo titulo titulo"
        "texto texto img img img img img img"
        "btn-2 btn-1 img img img img img img";
    }

}

@media screen and (max-width: 1025px) {
    body {
        font-size: 15px;
    }

    section#investsus .container {
        display: grid;
        grid-template-areas:
        "titulo titulo titulo titulo titulo titulo titulo titulo"
        "texto texto img img img img img img"
        "btn-2 btn-2 img img img img img img"
        "btn-1 btn-1 img img img img img img";
    }

    section#funcionalidades .container-funcionalidades {
        grid-template-columns: 1fr;
    }

    section#funcionalidades .container-funcionalidades .principais {
        grid-template-columns: 1fr 1fr 1fr;
    }

    div.popup-video-container {
        width: 680px;
        height: 470px;

        gap: 16px;
        padding: 16px;
    }

    section#perfisDeAcesso div#perfisDeAcesso-title p {
        max-width: 100%;
    }
}

@media screen and (max-width: 860px) {

    section#investsus .container {
        grid-template-areas:
        "titulo titulo"
        "img img"
        "texto texto"
        "btn-2 btn-1 ";
    }

    footer#faleConosco div.container {
        grid-template-areas:
            "navegue links-uteis"
            "fale-conosco fale-conosco"
            "rodape rodape";
    }

    div.investsus-content-buttons {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        gap: 24px;
    }

    section#funcionalidades div.funcionalidades {
        max-height: calc(100vh - 160px);

        display: grid;
        grid-template-columns: 1fr 1fr;

        box-shadow: 4px 0 4px -4px rgba(0, 0, 0, 0.25);

        overflow-y: auto;
    }

    section#comoAcessar .comoAcessar-itens-container {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 680px) {
    h1, h2 {
        font-size: 2.3em;
    }

    section#investsus .container {
        grid-template-areas:
        "titulo"
        "img"
        "texto"
        "btn-2"
        "btn-1";
    }

    section#comoAcessar div#comoAcessar-content {
        padding: 24px;
    }

    div.popup-video-container {
        width: 420px;
        height: 316px;
    }

    header#main ul {
        background-color: var(--black-00);

        font-size: 1.5em;

        width: 320px;
        height: 100vh;

        padding: 60px 24px;

        opacity: 0;
        gap: 0;
        flex-direction: column;

        list-style: none;

        position: fixed;
        top: 0;
        right: -320px;

        box-shadow: var(--shadow-01-invert);

        transition: all .3s;
    }

    header#main ul.active {
        opacity: 1;

        right: 0;

        transition: all .3s;
    }

    header#main ul li {
        font-size: 1.1rem;

        border-bottom: 2px solid var(--black-01);
    }

    header#main li a {
        display: block;

        padding: 12px 0;
    }

    header#main img.btn_menu {
        display: block;

        position: relative;
    }

    header#main img.btn_menu {
        width: 30px;
        height: 30px;
    }

    section#perfisDeAcesso .tipo-entidade h3 {
        padding: 16px;
    }

    section#perfisDeAcesso .tipo-entidade h3:after {
        right: 10px;
    }

    img#scroll-up {
        width: 45px;
    }

    section#funcionalidades div.container-funcionalidades {
        grid-template-columns: 2fr 3fr;
    }

    section#funcionalidades div.funcionalidades {
        grid-template-columns: 1fr;

        box-shadow: 4px 0 4px -4px rgba(0, 0, 0, 0.25);
        padding: 12px;

        overflow-x: hidden;
    }

    section#funcionalidades div.container-funcionalidades {
        grid-template-columns: 1fr;

        border-radius: var(--border-radius);
    }

    section#funcionalidades div.funcionalidades {
        max-height: 100%;
        grid-template-columns: 1fr 1fr;
        overflow-y: unset;

        box-shadow: none;

        padding: 8px;
    }

    section#funcionalidades div.descricao-funcionalidades {
        display: none;
    }

    section#funcionalidades div.descricao-funcionalidades.active {
        background-color: var(--black-00);

        display: block;

        position: absolute;
        top: 0;

        padding-bottom: 60px;
    }

    section#funcionalidades div.descricao-funcionalidades div.content-container {
        justify-content: start;
    }

    section#funcionalidades div.descricao-funcionalidades div.content-container img#close_desc_funcionalidade {
        width: 24px;

        display: block;

        position: absolute;
        right: 24px;
        top: 28px;

        z-index: 9;
    }

    section#funcionalidades div.descricao-funcionalidade {
        margin-bottom: 60px;
    }
}

@media screen and (max-width: 460px) {
    div.popup .btn {
        padding: 12px;

        font-size: .9rem;
    }

    div.investsus-content-buttons {
        gap: 12px;
    }

    div.popup-video-container {
        width: 320px;
        height: 249px;

        padding: 12px;
    }

    section#comoAcessar div#comoAcessar-content {
        min-width: 300px;
        padding: 16px;
    }

    section#comoAcessar .comoAcessar-item {
        padding: 16px;
    }
}
