/* FONTES */
@font-face {
    font-family: 'Pitagon Sans';
    src: url('../font/PitagonSans-Regular.ttf'),
    url('../font/PitagonSans-Regular.ttf');
    font-weight: 400;
    font-style: normal;
}

/* Valores para o tema escuro */
html[data-bs-theme="dark"] {
    --bs-primary: #01B4B9;
}

html[data-bs-theme="dark"] .navbar .dropdown-toggle::after,
html[data-bs-theme="dark"] .conteudo h2,
html[data-bs-theme="dark"] .card-plano h3,
html[data-bs-theme="dark"] .profile-section h1,
html[data-bs-theme="dark"] .banner-forum .fa-solid,
html[data-bs-theme="dark"] .top-categoria a,
html[data-bs-theme="dark"] .area-forum .fa-plus,
html[data-bs-theme="dark"] a.color-azul,
html[data-bs-theme="dark"] .content-post h1,
html[data-bs-theme="dark"] .item-rede-social svg,
html[data-bs-theme="dark"] .card-grade h4,
html[data-bs-theme="dark"] .login .color-azul {
    color: var(--bs-white) !important;
}

html[data-bs-theme="dark"] .nav-tabs .nav-link,
html[data-bs-theme="dark"] .fa-solid,
html[data-bs-theme="dark"] .card-plano.fundo-bco h4,
html[data-bs-theme="dark"] .banner-forum .fa-magnifying-glass {
    color: var(--bs-yellow) !important;
}

html[data-bs-theme="dark"] .nav-tabs .nav-link.active,
html[data-bs-theme="dark"] .nav-tabs .nav-link.active .fa-solid {
    color: var(--bs-gray-500) !important;
}

html[data-bs-theme="dark"] .card-plano.fundo-bco li {
    color: var(--bs-gray-500);
}

html[data-bs-theme="dark"] .banner-forum {
    background-color: var(--bs-yellow) !important;
}

html[data-bs-theme="dark"] .btn-modo-escuro {
    color: var(--bs-white) !important;
    border-color: var(--bs-white) !important;
}

.navbar-brand img {
    max-height: 100px;
}

/* CLASSES */
.flex-centro {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
}

.flex1 {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.flex2 {
    display: flex;
    align-items: center;
}

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

h2 {
    margin-bottom: 2rem;
}

.hide {
    display: none;
}

.itf {
    font-size: 50px;
    padding-right: 1rem;
}

.navbar .dropdown-toggle::after {
    color: var(--bs-secondary);
}

.navbar {
    padding: 0 !important;
}


/* SEÇÕES */
.conteudo {
    padding: 5rem 0;
}

.conteudo h2,
.conteudo p {
    margin: 0 auto;
    text-align: center;
}

.card-cont .avaliacao {
    margin-bottom: 1rem;
    color: var(--bs-yellow);
}

.img-card {
    border-radius: 20px;
}

.sobre {
    padding: 5rem 0;
}

.planos {
    padding: 5rem 0;
}

.planos h2,
.planos p {
    text-align: center;
}

.planos p {
    margin-bottom: 3rem !important;
}

.planos h2 {
    font-size: 45px;
}

.card-plano {
    padding: 2rem 1rem;
}

.card-plano h4,
.resumo-plano h4 {
    font-size: 24px;
    margin-bottom: 0;
}

.card-plano span,
.resumo-plano span {
    font-size: 12px;
    margin-bottom: 0.5rem;
}

.card-plano ul li,
.resumo-plano ul li {
    font-size: 14px;
}

.card-plano ul,
.resumo-plano ul {
    min-height: 250px;
    padding-right: 0;
    padding-left: 1rem;
}

.card-plano ul li::before,
.resumo-plano ul li::before {
    font-family: 'Font Awesome 5 Free', serif;
    font-weight: 600;
    display: inline-block;
    width: 1em;
    margin-left: -1em;
    content: '\f00c';
}

.text-right {
    text-align: right;
}

footer {
    padding: 0.5rem 0;
}

footer a {
    font-size: 16px !important;
}

.modo-visu {
    display: flex;
    align-items: center;
    justify-content: end;
    margin-right: 14px;
}

/* ÁREA DO USUÁRIO */
.justify-end {
    justify-content: end;
}

.banner-boasvindas {
    margin-top: 2rem;
}

.banner-boasvindas img {
    display: block;
    margin: 0 auto;
    border-radius: 10px;
}

.area-filtros {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 1.5rem 0 !important;
}

.card-list {
    display: flex;
    margin-bottom: 3.5rem;
    padding: 15px;
    border-radius: 15px;
    border: 1px solid;
}

.card-list img {
    width: auto !important;
    height: 400px;
    margin-bottom: 0 !important;
    border-radius: 15px 0 0 15px;
}


.card-list2 {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3.5rem;
    padding: 15px;
    border-radius: 15px;
    border: 1px solid;
}

.card-list2 img {
    width: auto !important;
    height: 270px;
    margin-bottom: 0 !important;
    border-radius: 0 15px 15px 0;
}

.card-cont {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1rem 2rem;
}

.card-grade {
    overflow: hidden;
    margin-bottom: 1rem;
}

.card-grade h4 {
    font-size: 1rem;
    margin-bottom: -0.5rem;
}

.card-grade,
.content-post img {
    margin-bottom: 3rem;
    border-radius: 2rem;
    object-fit: cover;
}

.content-post .avaliacao i {
    font-size: 20px;
    margin: 1rem 0;
}

.content-post p {
    font-size: 15px;
    margin-bottom: 0.5rem !important;
    text-align: justify;
}

.area-post h3 {
    font-size: 24px;
    margin: 10px 0 20px;
}

.area-comentario {
    margin-bottom: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--bs-gray-300);
}

.area-comentario .img-members {
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.area-comentario h5 {
    margin-bottom: 0;
    padding: 0 0.6rem;
}

.area-comentario .d-flex {
    align-items: center;
}

.area-comentario a {
    padding-left: 0.6rem;
}

.area-comentario p {
    position: relative;
    bottom: 10px;
    margin-left: 3.7rem;
}

.img-comentario {
    width: auto !important;
    height: 270px !important;
    border-radius: 15px !important;
}

.content-download {
    display: flex;
    align-items: end;
    flex-direction: column;
    padding: 3rem 0 0;
}

.content-download a {
    font-size: 3rem;
    position: relative;
    right: 25px;
    text-align: center;
}

.rating {
    float: left;
    border: none;
}

.rating > input {
    display: none;
}

.rating > label::before {
    font-family: FontAwesome, sans-serif;
    font-size: 2rem;
    display: inline-block;
    margin: 10px;
    content: '\f005';
}

.rating > .half::before {
    position: absolute;
    content: '\f089';
}

.rating > label {
    float: right;
}

.rating > input:checked ~ label,
.rating:not(:checked) > label:hover,
.rating:not(:checked) > label:hover ~ label {
    color: var(--bs-yellow);
}

.rating > input:checked + label:hover,
.rating > input:checked ~ label:hover,
.rating > label:hover ~ input:checked ~ label,
.rating > input:checked ~ label:hover ~ label {
    color: #ffed85;
}

.rating-p {
    float: left;
    border: none;
}

.rating-p > input {
    display: none;
}

.rating-p > span::before {
    font-family: FontAwesome, sans-serif;
    font-size: 1.4rem;
    display: inline-block;
    margin: 2px;
    content: '\f005';
}

.rating-p > .half::before {
    position: absolute;
    content: '\f089';
}

.rating-p > span {
    float: right;
}

.rating-p > .half.checked,
.rating-p > .full.checked {
    color: var(--bs-yellow);
}

.nav-tabs .nav-link i {
    font-size: 80px;
    padding-bottom: 0.2rem;
}

.nav-tabs .nav-link {
    font-size: 20px;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    width: 180px;
    height: 180px;
    margin: 0 13px;
    text-align: center;
    border-width: 0 !important;
    border-radius: 15px !important;
}

.nav-tabs {
    justify-content: space-between;
    border-bottom: transparent !important;
}

.top-tabs {
    position: relative;
}

.banner-conta {
    width: 100%;
    height: 220px;
    background: var(--bs-blue);
}

.banner-conta h2 {
    font-size: 28px;
    position: relative;
    top: 42px;
    width: fit-content;
    padding: 1.5rem 3rem 1.5rem 5rem;
    color: var(--bs-white);
}

.area-flex {
    display: flex;
}

.resumo-plano ul {
    padding-left: 0;
}

.resumo-plano {
    margin-top: 1rem;
}

.esp {
    position: relative;
    right: 10px;
    bottom: 40px;
    float: right;
}

.tela-padrao {
    max-height: 81vh;
}

.tela-padrao p {
    margin: 0 auto !important;
}

.tab-pane {
    margin: 2rem auto;
    padding: 2rem 4rem;
    border-radius: 2rem;
}

.tab-pane .sem-plano p {
    text-align: center;
    max-width: 570px;
    margin: 0 auto;
    font-size: 14px;
}

.sem-plano {
    margin: 0 auto;
    text-align: center;
}

.plano-atual h2 {
    margin-bottom: 2rem;
    text-align: center;
    font-weight: 700;
}

.login form {
    margin-bottom: 2rem;
}

.area-notificacoes {
    min-height: 80vh;
    padding: 5rem 0 2rem;
}

.area-notificacoes h2 {
    margin-bottom: 2rem;
}

.modal-title {
    width: 100%;
    font-size: 22px;
    text-align: center;
}

.modal-footer {
    border-top: transparent !important;
}

.modal-header {
    border-bottom: transparent !important;
}

.atualize {
    min-height: 80vh;
    padding: 5rem 0;
}

.atualize h2,
.atualize h5 {
    text-align: center;
}

.atualize h5 {
    font-size: 15px;
    margin-bottom: 4rem;
}

.area-post input[type='file'] {
    position: absolute;
    z-index: -1;
    overflow: hidden;
    width: 0;
    height: 0;
    opacity: 0;
}

.file-input {
    font-size: 16px;
    display: inline-block;
    overflow: hidden;
    margin-right: 0.5rem;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
    appearance: none;
}

.file-input[disabled] {
    cursor: wait;
}

.heart-wrapper {
    cursor: pointer;
    transition: 0.3s;
}

.heart-wrapper .fa-heart {
    font-size: 40px;
    transition: 1s;
    color: var(--bs-red);
}

.background-heart {
    background-color: white;
}

.background-heart::after {
    font-family: 'Font Awesome 5 Free', serif;
    font-size: 38px;
    font-weight: 900;
    content: '\f004';
    transition: 1s;
    animation: fill-heart 1s;
    color: var(--bs-red);
}

.background-heart::before {
    content: '';
    opacity: 0;
    background-color: var(--bs-red);
}

@keyframes fill-heart {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.txt-fav {
    display: block;
    position: relative;
    bottom: 10px;
}

.card-quant-membros,
.card-quant-pag {
    text-align: center;
    border-radius: 20px;
}

.card-quant-membros {
    padding: 2rem;
}

.card-quant-pag {
    padding: 4rem 2rem;
}

.card-quant-membros h5,
.card-quant-pag h5 {
    font-size: 24px;
    margin-bottom: 0;
}

.card-quant-membros h3 {
    font-size: 32px;
}

.card-quant-pag h2 {
    font-size: 64px;
}

.card-admin {
    padding: 2rem;
    border-radius: 15px;
}

.card-admin h2 {
    font-size: 24px;
    margin-bottom: 2rem;
}

.card-admin td {
    font-size: 15px;
    white-space: nowrap;
}

.card-admin tr {
    display: table-row;
    padding: 0.5rem 0;
}

.card-admin th {
    white-space: pre;
}

.card-admin .w-80 {
    width: 78%;
}

.fix-end {
    position: absolute;
    bottom: 0;
}

.header-admin {
    margin-top: 1rem;
    padding: 0.6rem 0;
}

.header-admin ul {
    display: flex;
    justify-content: end;
    margin-bottom: 0;
}

.header-admin ul li {
    padding: 0 0.3rem;
}

.menu-admin ul li a {
    display: block;
    width: 100%;
    padding: 0.5rem 0 0.5rem 1rem;
}

.fix-end a {
    padding: 0.5rem 1rem !important;
}

.menu-admin ul li i {
    padding-right: 0.5rem;
}

.header-admin a {
    font-size: 20px;
}

.card-admin ul {
    margin-bottom: 0;
    padding-left: 0;
}

.form-check .form-check-input {
    float: left !important;
}

.form-check-input:focus {
    border-color: transparent !important;
    box-shadow: none !important;
}

.check-custom input {
    display: none;
}

.check-custom input:checked + label,
.check-custom input:checked + label:active {
    transition: all 0.5s ease;
}

.check-custom input + label,
.check-custom input + label:active {
    margin-right: 0.5rem;
    padding: 0.5rem 2rem;
    cursor: pointer;
    transition: all 0.5s ease;
    border-radius: 5px;
}

.form-check .check-custom {
    padding-right: 0;
}

.multi_upload_btn {
    display: inline-block;
    padding: 0.5rem 2rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.multi_upload_btn p {
    font-size: 18px;
    margin-bottom: 0 !important;
}

.img-bg {
    position: relative;
    padding-bottom: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.uploader.new-post {
    margin: 0;
}

.card-membro {
    max-width: 300px;
    margin-bottom: 2rem;
    padding: 2rem 1.5rem 3rem;
    text-align: center;
    border-radius: 15px;
}

.card-membro img,
.info-membro img {
    max-width: 160px !important;
    height: 160px;
    border-radius: 50%;
}

.card-membro h3,
.info-membro h3 {
    font-size: 16px;
    margin: 0.5rem 0;
    word-wrap: break-word;
}

.card-membro span,
.info-membro span {
    font-size: 13px;
    display: block;
    margin-bottom: 0.5rem;
}

.resumo-plano {
    padding: 3rem 2rem;
    border-radius: 15px;
}

.resumo-plano ul li::before {
    margin-right: 0.5rem;
    margin-left: 0;
}

.resumo-plano ul li {
    padding: 0.5rem 0;
}

.del {
    padding: 0.8rem;
    cursor: pointer;
    border-radius: 5px;
}

.plan-com {
    margin-top: 2rem;
    text-align: center;
}

.plan-com span {
    font-size: 14px;
}

.owl-carousel {
    margin-top: 3rem;
}

.owl-carousel .owl-item img {
    border-radius: 20px;
}

.owl-carousel .item {
    padding: 0;
    border-bottom: none;
}

.col-flex {
    display: flex;
}

.nav-link img {
    width: auto;
    height: 35px;
}

footer p a {
    font-size: 13px;
}

.pagamento {
    padding: 2rem;
    border-radius: 30px;
}

.form-select {
    padding: 0.375rem 0.75rem !important;
}

.tab-pane .resumo-plano {
    padding: 0;
    box-shadow: none;
}

.card-admin h3 {
    font-size: 18px;
}

/* FÓRUM */
.banner-forum {
    margin-bottom: 2rem;
    padding: 6rem 8rem;
    text-align: center;
    border-radius: 50px;
    color: var(--bs-white) !important;
    background: var(--bs-primary-text-emphasis);
}

.banner-forum h1 {
    font-size: 45px;
}

.banner-forum .icone {
    font-size: 70px;
    color: var(--bs-secondary);
}

.banner-forum p {
    font-size: 14px;
    margin-bottom: 1.3rem !important;
}

.banner-forum .form-control {
    border: none !important;
    border-radius: 10px 0 0 10px !important;
}

.top-categoria {
    display: flex;
    margin-top: 2rem;
    padding: 2rem 2.5rem;
    border-radius: 10px;
}

.top-categoria i {
    font-size: 40px;
    margin-right: 1rem;
}

.top-categoria a {
    font-size: 20px;
}

.top-categoria span {
    font-size: 12px;
    display: block;
}

.top-categoria p {
    font-size: 14px;
}

.top-categoria p i {
    font-size: 20px;
    width: 20px;
    margin-right: 0.3rem;
    text-align: center;
}

.w-80 {
    width: 80%;
}

.breadcrumb span,
.breadcrumb a {
    font-size: 14px;
}

.breadcrumb a {
    margin: 0 0.3rem;
}

.breadcrumb span {
    font-weight: bold;
    margin-left: 0.3rem;
}

.top-close {
    font-size: 12px;
    display: block;
    margin-bottom: 0.5rem;
}

.card-topico {
    margin-top: 2rem;
    padding: 1.5rem 2rem;
    border-radius: 10px;
}

.card-topico h5 {
    font-size: 18px;
}

.card-topico p {
    font-size: 14px;
    margin-bottom: 1rem;
}

.res-autor-top {
    display: flex;
    align-items: center;
    width: 50%;
    margin-top: 1rem;
}

.res-autor-top img {
    width: 37px;
    height: 37px;
    margin-right: 0.7rem;
    border-radius: 50%;
}

.res-autor-top p {
    font-size: 12px;
    margin-bottom: 0 !important;
    padding-right: 0.5rem;
}

.resumo-topico {
    display: flex;
    align-items: center;
    justify-content: end;
    width: 50%;
}

.resumo-topico p i {
    font-size: 18px;
    margin-right: 3px;
}

.float-right {
    float: right;
}

.topico-autor {
    margin-top: 2rem;
}

.topico-autor h2 {
    font-size: 24px;
    margin-bottom: 1.5rem;
}

.topico-autor p {
    font-size: 14px;
    margin-bottom: 3rem !important;
}

.resposta-autor {
    margin-bottom: 2rem;
    padding: 2rem;
    border-radius: 10px;
}

.resposta-autor p {
    margin-top: 0.5rem;
}

.resposta-autor .res-autor-top {
    margin-top: 0;
}

.area-forum h3 {
    font-size: 24px;
    margin-bottom: 0.5rem;
}

.resposta-autor .res-autor-top p {
    margin-top: 0;
    margin-bottom: 0 !important;
}

.info-membro h3 {
    margin-bottom: 0;
}

.info-membro p {
    text-align: left !important;
}

.info-membro img {
    margin-right: 1.5rem !important;
}

h1,
h2,
h3,
.card-plano span,
.resumo-plano span,
.termos h4,
.plano-atual h2 span {
    font-family: 'Pitagon Sans', sans-serif;
}

h4,
p,
span,
#favoritos h3 {
    font-family: 'Pitagon Sans', sans-serif;
}

.menu a,
.links a,
.card-plano li {
    font-size: 15px;
}

.pagamento,
.tab-pane,
.top-categoria,
.card-topico,
.n-lida,
.resposta-autor,
.dropdown-menu.show,
.notification-ui_dd,
.modal-content,
.swal2-popup.swal2-modal.swal2-icon-warning.swal2-show {
    border: 1px solid var(--bs-gray-700) !important;
}

.h100 {
    min-height: 100vh;
}

/* MENU */
.menu a {
    font-size: 14px;
}

/* BANNER */
header {
    background-position: bottom;
    background-size: cover;
}

.card-cont .avaliacao,
.content-post .avaliacao i,
.fa-star {
    color: var(--bs-yellow);
}

/* SOBRE O INSTRUTOR */
.sobre {
    background-position: center;
    background-size: cover;
}

/* LISTA DE PLANOS */
.planos h3 {
    font-size: 32px;
    padding-bottom: 1rem;
    text-align: center;
    text-transform: uppercase;
}

.planos p,
.termos p {
    font-size: 16px;
}

.card-plano {
    margin: 0 auto;
    padding: 2rem;
    border-radius: 30px;
}

.card-plano h4 {
    font-size: 24px;
}

.card-plano ul li,
.resumo-plano ul li {
    padding-bottom: 0;
    list-style: none;
}

.card-plano ul li::before,
.resumo-plano ul li::before {
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    margin-right: .5rem;
    color: var(--bs-yellow);
    border: 2px solid;
    border-radius: 50px;
}

/* RODAPÉ */
footer {
    padding: 2rem 0;
    border-top: 1px solid var(--bs-gray-100);
}

footer p {
    margin-bottom: 0;
}

/* LOGIN */
.login {
    width: 50%;
    padding: 0 8rem;
}

.fundo-acesso {
    margin-top: -110px;
    width: 50%;
    height: 100vh;
    background: var(--bs-blue);
}

.fundo-acesso img,
.fundo-acesso-2 img {
    width: auto;
    height: 40%;
}

.fundo-acesso-2 {
    margin-top: -106px;
    width: 50%;
    height: 100vh;
    background: var(--bs-blue);
}


.tela-padrao p {
    max-width: 500px !important;
    text-align: center;
}

.area-filtros {
    margin: 3rem 0 !important;
}

.dropdown-menu.show {
    padding: 1rem;
    border: transparent;
}

.area-comentario small {
    font-size: 12px;
}

.area-comentario a {
    cursor: pointer;
    color: var(--bs-danger) !important;
}

.area-comentario p {
    font-size: 14px;
    bottom: 8px;
}

.area-comentario.child {
    margin-top: 25px;
    margin-bottom: -17px;
    margin-left: 50px;
}

.area-post h3 {
    font-size: 20px;
}

.campo-comente {
    margin-bottom: 40px;
}

.campo-comente a i {
    font-size: 21px;
}

.ativo svg rect {
    fill: var(--bs-yellow);
}

/************************ ÁREA ADMINISTRATIVA *************************************/
.header-admin {
    background-color: transparent;
    background-image: none;
}

.menu-admin ul li i {
    font-size: 20px;
}

.menu-admin ul li a {
    margin-bottom: 0.2rem;
    padding: 0.8rem 0 0.8rem 1rem;
}

.card-admin td {
    padding: 0.7rem 0.3rem !important;
}

.check-custom input + label,
.check-custom input + label:active {
    font-size: 18px;
    padding: 1rem 2rem;
    text-align: center;
}

.uploader.new-post #start i.fa {
    font-size: 80px;
    width: 80%;
    margin-right: 0;
    padding: 4rem 9rem;
    text-align: center;
    border-radius: 20px;
}

.uploader.new-post #start span {
    display: inline-block;
    cursor: pointer;
}

.custom-file label[for='file-input'] {
    font-size: 1em;
    font-weight: bold;
    display: block;
    margin-bottom: 1em;
    opacity: 0.9;
}

.custom-file [type='file'] {
    cursor: pointer !important;
}

.custom-file [type='file']::-webkit-file-upload-button {
    padding: 0.5rem 2rem;
    cursor: pointer;
    border-radius: 5px;
}

.custom-file [type='file']::-ms-browse {
    padding: 0.5rem 2rem;
    cursor: pointer;
    border: 0;
    border-radius: 5px;
}

.card-membro h3 {
    margin-bottom: 0;
}

.form-select {
    cursor: pointer;
    background-position: right 0.75rem center !important;
}

select.form-select {
    font-size: 14px;
}

.menu-admin img {
    display: block;
    max-width: 170px;
    margin: 0 auto;
    padding: 2rem 0;
}

.modal-footer {
    justify-content: space-around !important;
}

.card-admin .area-notificacoes {
    padding: 0;
}

.lida p,
.n-lida p {
    margin-bottom: 0 !important;
}

.area-notificacoes span {
    font-size: 14px;
    display: block;
    text-align: center;
    color: var(--bs-gray-600);
}

.owl-theme .owl-dots .owl-dot.active span {
    background-color: var(--bs-secondary) !important;
}

.owl-theme .owl-dots .owl-dot:hover span {
    background-color: var(--bs-primary) !important;
}

.termos p {
    margin-bottom: 1.5rem !important;
    text-align: justify;
}

.termos h4 {
    font-size: 26px;
    margin-bottom: 1rem;
}

.banner-conta {
    border-radius: 10px;
}

/* FORUM */
#infoMessage .message {
    display: flex;
    align-items: center;
}

#infoMessage ul {
    margin: 0;
    padding-left: 15px;
    list-style: none;
}

#ModalTermos h1,
#ModalTermos h2,
#ModalTermos h3,
#ModalTermos h4 {
    text-align: center;
}

#ModalTermos p {
    text-align: left;
}

/* busca */
.loading-busca {
    position: absolute;
    z-index: 10000;
    right: 60px;
    margin-top: 10px;
}

#autocomplete-results .ui-widget.ui-widget-content {
    width: 100% !important;
    margin-top: 20px !important;
    padding: 10px;
    border-radius: 10px;
}

#autocomplete-results .ui-menu-item {
    font-size: 0.8rem;
    padding: 5px;
    text-align: left;
}

#autocomplete-results span {
    font-size: 0.8rem !important;
    white-space: nowrap;
}

.ui-menu .ui-menu-item-wrapper {
    position: relative;
    overflow-x: hidden !important;
    padding: 3px 1em 3px 0.4em;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

#notification .dropdown-item {
    white-space: normal;
}

.notification-ui_icon {
    position: relative;
}

.notification-ui_icon .unread-notification {
    position: absolute;
    top: 7px;
    left: 12px;
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 7px;
    background-color: var(--bs-green);
}

@media (width >= 900px) {
    .notification-ui_icon .unread-notification {
        left: 20px;
    }
}

.notification-ui_dd {
    position: absolute;
    z-index: 10000;
    top: 60px;
    right: 0;
    visibility: hidden;
    width: 340px;
    padding: 0;
    border: 1px solid var(--bs-gray-700);
    border-radius: 10px;
}

.notification-ui_dd.show {
    visibility: visible;
}

@media (width >= 900px) {
    .notification-ui_dd {
        top: 70px;
        right: 115px;
        min-width: 340px;
    }
}

.notification-ui_dd .notification-ui_dd-header {
    padding: 15px;
    border-bottom: 1px solid var(--bs-gray-700);
}

.notification-ui_dd .notification-ui_dd-header h3 {
    margin-bottom: 0;
}

.notification-ui_dd .notification-ui_dd-content {
    overflow: auto;
    max-height: 500px;
}

.notification-list {
    display: flex;
    justify-content: space-between;
    margin: 15px 10px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
}

.notification-list--unread {
    position: relative;
}

.notification-list--unread::before {
    position: absolute;
    top: 0;
    left: -25px;
    height: calc(100% + 1px);
    content: '';
    border-left: 5px solid var(--bs-yellow);
}

.notification-list .notification-list_img img {
    width: 48px;
    height: 48px;
    margin-right: 20px;
    border-radius: 50px;
}

.notification-list .notification-list_detail p {
    font-size: 0.8rem;
    margin-bottom: 5px;
}

.notification-list .notification-list_feature-img img {
    width: 48px;
    height: 48px;
    margin-left: 20px;
    border-radius: 5px;
}

#num_notific_unread {
    margin-left: -25px;
}

.page-link {
    display: inline;
}

ul.pagination {
    margin-top: 20px !important;
}

.links a,
.links a:hover {
    transition: all .15s ease;
}

.card-plano h3 {
    font-size: 32px;
    padding-bottom: 0;
    text-align: left;
    text-transform: capitalize;
}

.card-plano h3 span {
    font-size: 30px !important;
}

.sobre p {
    text-align: justify;
}

.conteudo p {
    max-width: 550px;
    margin-bottom: 2rem !important;
}

.card-plano {
    max-width: 400px;
    border: 1px solid;
}

.card-plano li {
    font-size: 15px;
    margin-bottom: .5rem;
}

.form-check-input {
    cursor: pointer;
}

.padrao svg rect {
    fill: var(--bs-gray-700);
}

.resumo-plano {
    background-color: transparent;
}

.campo-busca-home {
    width: 50%;
}

.campo-busca .form-control {
    margin-bottom: 0;
}

.termos p,
.login p {
    text-align: justify;
}

.flex1 {
    align-items: baseline;
}

.sobre h2,
.login h2,
.banner-forum h2,
.termos h4 {
    text-transform: uppercase;
}

.card-cont {
    padding: 1rem 1rem 0;
}

.rating-p > span::before {
    font-size: 1rem;
}

.card-plano ul,
.resumo-plano ul {
    min-height: auto;
}

.planos h2 {
    margin-bottom: 0;
}

.card-img img {
    width: 100%;
    height: auto;
}

.padrao svg rect {
    fill: var(--bs-gray-700);
}

.top-categoria p,
.resumo-topico p {
    margin-bottom: 0;
}

.res-autor-top p {
    font-size: 12px !important;
}

.res-autor-top {
    width: auto;
}

.topico-autor p {
    font-size: 14px !important;
}

.esp {
    margin-top: 10px;
    margin-bottom: 20px;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: end;
}

.modal-title {
    font-size: 32px !important;
    text-transform: uppercase;
}

.rating > input:checked ~ label,
.rating:not(:checked) > label:hover,
.rating:not(:checked) > label:hover ~ label {
    color: var(--bs-yellow) !important;
}

footer .text-right a {
    margin-left: .3rem;
}

/* Estilos da biografia */
.cover-img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.profile-section {
    margin-top: -40px;
}

.profile-pic {
    width: 200px;
    height: 200px;
    border: 4px solid var(--bs-secondary);
    object-fit: cover;
}

.img-sobre {
    border: var(--bs-border-opacity);
    border-radius: 30px;
}

.testi-meta {
    text-align: center;
}

.testi-meta img {
    display: unset !important;
    width: unset !important;
    max-height: 200px;
}

.testi-carousel h4 {
    margin-top: 15px;
}

.grid-item {
    margin-bottom: 15px;
}

.card {
    height: 100%;
    transition: transform 0.3s;
    border: none;
}

.card:hover {
    transform: scale(1.02);
}

.alert .icon {
    font-size: 2rem;
}

.ui-widget.ui-widget-content {
    border: 1px solid var(--bs-gray-600);
}

.ui-widget-content {
    border: 1px solid var(--bs-gray-600);
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
}

.item-rede-social {
    color: var(--bs-body-color);
}

.item-rede-social div {
    width: 25px;
    height: 25px;
}

.item-rede-social svg {
    fill: var(--bs-body-bg);
}

.item-rede-social svg:hover {
    fill: var(--bs-link-hover-color);
}

@media (width <= 450px) {
    .profile-pic {
        width: 100px;
        height: 100px;
        object-fit: cover;
    }
}


/* Alterações */


/* Novas classses Manabu */
.bg-manabu {
    background-color: var(--bs-blue);
}

.fundo-bco {
    background-color: var(--bs-carousel-indicator-active-bg);
}

.btn-verde {
    background-color: var(--bs-primary) !important;
    color: var(--bs-white) !important;
    text-align: center;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -ms-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
    display: inline-block;
    font-weight: 700;
}

.btn-verde:hover {
    background-color: var(--bs-yellow) !important;
    color: var(--bs-white) !important;
}

.btn-verde:hover {
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

.btn-responder {
    border: 2px solid var(--bs-blue);
    color: var(--bs-blue);
    font-weight: 700 !important;
}

.btn-responder:hover {
    background-color: var(--bs-blue);
    color: var(--bs-white);
}

.color-azul {
    color: var(--bs-blue);
}

.card-plano.fundo-bco h4,
.card-plano.fundo-bco li {
    color: var(--bs-gray-600);
}

.fundo-verde {
    background-color: var(--bs-teal);
}

.bd {
    border: none !important;
    box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px, rgba(27, 31, 35, 0.15) 0px 0px 0px 1px;
    background: var(--bs-carousel-indicator-active-bg);
}

a.dropdown-item:hover {
    background-color: var(--bs-primary);
    color: var(--bs-white);
}

section {
    min-height: 78.5vh;
}

.largura {
    max-width: 250px;
    margin: 0 auto;
}

.tela-parabens {
    max-height: 100vh;
    height: 100vh;
    background: url('../img/pattern.webp'), var(--bs-blue);
    background-repeat: repeat-x;
    background-position: bottom;
    background-size: contain;
}

.tela-parabens img {
    width: 300px;
    height: auto;
    margin: 0 auto;
}

.fundo-acesso, .fundo-acesso-2 {
    background: url('../img/pattern.webp'), var(--bs-blue);
    background-repeat: repeat-y;
    background-position: bottom;
    background-size: 180%;
}

.login.cadastrar {
    height: 80vh;
    overflow-y: auto;
}

.login.cadastrar .fa-solid {
    font-size: 17px;
    margin-left: 6px;
}

.swal2-html-container ul {
    list-style: none;
    padding: 0;
}

.dc {
    float: none !important;
    margin: 0 auto 1rem;
    text-align: center;
    position: relative;
    display: table;
}

.visu {
    display: flex;
    align-items: center;
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    box-shadow: var(--bs-box-shadow-inset);
    padding: .375rem .75rem;
}

.visu2 {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.lim-caract {
    max-width: 50ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Exibir ou ocultar os itens da lista (busca das trilhas) */
#itens .item {
    transition: opacity 0.3s ease, max-height 0.3s ease, margin 0.3s ease, padding 0.3s ease;
    overflow: hidden;
    opacity: 1;
    max-height: 500px; /* valor suficiente p/ altura máxima do card */
}

#itens .item.hidden {
    opacity: 0;
    max-height: 0;
    margin: 0 !important;
    padding: 0 !important;
}

.dt-search {
    margin-bottom: 10px;
}