/* 
Indice:

0_Import
1_Root
2_Estrutura
3_Blocos
4_Textos
5_Botões
6_Midias
7_Mobile
*/

/* 0_Import */
@import url('https://fonts.googleapis.com/css2?family=Inter:slnt,wght@-10..0,100..900&display=swap');
@import url('https://cdn.jsdelivr.net/npm/@phosphor-icons/web@2.1.1/src/regular/style.css');
@import url('https://cdn.jsdelivr.net/npm/@phosphor-icons/web@2.1.1/src/fill/style.css');
@import url('https://cdn.jsdelivr.net/npm/@phosphor-icons/web@2.1.1/src/bold/style.css');
@import url('https://cdn.jsdelivr.net/npm/@phosphor-icons/web@2.1.1/src/duotone/style.css');

/* 1_Root */
:root {

    --cor-TS-primaria: rgba(0, 61, 110, 1);
    --cor-TS-secundaria: rgba(0, 118, 143, 1);

    --cor-Azul: rgba(13, 153, 255, 1);
    --cor-AzulFrc: var(--CinzaClaroItem);
    --cor-BrancoTrn: rgba(254, 254, 254, 0.2);
    --cor-CinzaClaro: rgba(204, 206, 206, 1);
    --cor-FalsoBranco: rgba(254, 254, 254, 1);
    --cor-FalsoPreto: rgba(52, 52, 52, 1);
    --cor-VermelhoErro: #F84545;

}

:root,
:root.light {
    /* Background */
    --color-Back: var(--cor-FalsoBranco);
    /* --color-Middle: var(--cor-BrancoFalso); */
    /* Front */
    --color-Front: var(--cor-FalsoPreto);
    --cor-TS-primaria: rgba(0, 61, 110, 1);
    --cor-TS-secundaria: rgba(0, 118, 143, 1);
    --CinzaItem: rgba(242, 243, 246, 1);
    --CinzaClaroItem: rgba(223, 231, 237, 1);
}

:root.dark {
    /* Background */
    --color-Back: rgba(0, 9, 15, 1);
    --color-Middle: rgba(59, 66, 71, 1);
    /* Front */
    --color-Front: var(--cor-FalsoBranco);
    --cor-TS-primaria: rgba(69, 188, 221, 1);
    --cor-TS-secundaria: rgba(0, 118, 143, 1);
    --CinzaItem: rgba(17, 22, 24, 1);
    --CinzaClaroItem: var(--color-Middle);
}

/* 2_Estrutura */
body {
    background: var(--color-Back) !important;
    background-color: var(--color-Back) !important;
    color: var(--color-Front);
    width: 100vw;
    font-family: "Inter", sans-serif;
    overflow-x: hidden;
    overflow-y: auto;
}

main {
    padding: 32px 64px;
    display: flex !important;
    flex-direction: column;
    gap: 32px;
    overflow-x: hidden;
    overflow-y: auto;
}

/* 3_Blocos */
.breadcrumb {
    display: flex;
    flex-direction: row;
    gap: 8px;
    border-bottom: 1px solid #585B5B;
    padding-bottom: 16px;
    margin-top: -16px;
    margin-left: -64px;
    padding-left: 64px;
    width: 100vw;
}

/* Header */
header.portHeader {
    height: 48px !important;
    padding: 16px 64px;
    background: var(--cor-Principal);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.ferramentaPerfil {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 16px;
    position: relative;
}

.tituloHeader {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 64px;
}

/* Conteúdo principal */
.blc_main {
    display: flex;
    flex-direction: row;
    gap: 16px;
}

.blc_mainCurso {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 120px;
}

.blc_cardCurso,
.blc_cardDisciplina {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    width: 100%;
}

.blc_conteudoCurso {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.blc_flexColumm-1,
.divFlexColumn {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.blc_flexColumm-2 {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-bottom: 36px;
    border-bottom: 2px solid var(--cor-CinzaClaro);
}

.blc_flexColumm-2:last-of-type {
    border-bottom: 2px solid transparent;
}

.blc_flexRow {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.blc_itemResumo {
    width: 180px;
    background: rgba(254, 254, 254, 1);
    padding: 16px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.blc_itemresumoCat {
    background: var(--CinzaItem);
    padding: 8px;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.blc_resumoCurso {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 8px;
}

.blc_resumoSemestre {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-bottom: 32px;
    padding-right: 16px;
}

.blc_resumoSemestre ul,
#sortable2 ul {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-block-start: 0;
    margin-block-end: 0;
}

#sortable2 ul.dropzone {
    width: 100%;
    padding-right: 16px;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: 100vh;
    padding-bottom: 36px;
}

.blc_Row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}

.blc_RowitemResumo {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 8px;
}

.blc_Row.passtart {
    align-items: baseline;
    gap: 64px;
    justify-content: flex-start;
}

.hoverW100 {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
    z-index: 5;
}

.cardCurso:hover .hoverW100 {
    display: flex !important;
}

/* Barra Lateral */
.barraLateral {
    /* width: 320px; */
    width: 530px;
    height: 420px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.portifolioMain .barraLateral.desktop {
    width: 320px;
}

.barraLateralFixed {
    /* position: absolute;
    top: 130px; */
    position: fixed;
    top: 0;
    right: 0;
    height: auto;
    width: 570px;
    padding: 81px 24px;
    background: var(--CinzaItem);
    box-shadow: -4px 0px 16px 0px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    gap: 24px;
    min-height: 100vh;
}

.blc_itemCat {
    padding: 16px 0 16px 16px;
    flex-direction: column;
    gap: 4px;
}

.centerVH {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin: 84px 0;
    width: 100%;
}

.itemCate {
    display: flex;
    flex-direction: row;
    gap: 8px;
    font-size: 16px;
}

.itemDisciplina {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 4px;
    padding: 8px;
    border-radius: 4px;
    background: var(--CinzaItem);
    position: relative;
}

#sortable2 .itemDisciplina {
    background: var(--CinzaClaroItem);
    align-items: center;
    width: calc(100% - 16px);
}

.dark #sortable2 .itemDisciplina {
    background: var(--color-Back);
}

.itemSemestre {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 4px;
    padding: 8px;
    position: relative;
}

.itemDisciplina:last-child,
.itemSemestre:last-child {
    margin-right: calc(16px + 24px);
}

.lateral_blcResumo {
    max-width: 440px;
    background: var(--CinzaItem);
    padding: 24px;
    padding-right: calc(24px - 8px);
    border: none;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.tag_itemDisciplina {
    padding: 8px;
    border-radius: 4px;
    background: var(--CinzaClaroItem);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
}

#sortable2 .tag_itemDisciplina {
    width: 180px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    background: var(--CinzaItem);
    margin-left: auto;
}

.campoPesquisa {
    position: relative;
}

.campoPesquisa .btnPesquisa {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    height: -webkit-fill-available;
    font-size: 20px;
    color: var(--cor-CinzaClaro);
    background: var(--cor-FalsoBranco);
}

.campoPesquisa .btnPesquisa:hover {
    color: var(--color-Front);
    font-weight: 700;
}

.campoPesquisa input:focus-visible,
.campoPesquisa:focus .btnPesquisa,
input:focus-visible {
    color: var(--color-Front) !important;
}

/* Card */
.cardCurso {
    width: 297px;
    height: 387px;
    border: none;
    border-radius: 8px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 16px;
    position: relative;
    contain: content;
}

.cardCurso.pFixed {
    position: fixed;
    right: 64px;
    top: 230px;
}

.cardDisciplina {
    background: var(--CinzaItem);
    width: 297px;
    /* height: 317px; */
    height: auto;
    border: none;
    border-radius: 8px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 8px;
    position: relative;
    contain: content;
}

.cardDisciplina .cardDiscIntern {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.item_profile {
    display: flex;
    padding: 4px 16px;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 16px;
    text-decoration: none;
    font-size: 16px;
    border-bottom: 1px solid var(--cor-CinzaClaro);
}

.item_profile:hover {
    background: var(--CinzaItem);
}

.item_profile:last-of-type {
    border-bottom: none;
}

.modalProfile {
    display: none;
    position: absolute;
    top: 40px;
    right: 0;
    z-index: 9;
    background: var(--color-Back);
    border-radius: 8px;
    padding: 0px;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    z-index: 9999;
}

.modalProfile .caret_tooltip {
    position: absolute;
    top: -5px;
    right: 10%;
    background: var(--color-Back);
    content: " ";
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
}

.modal-content {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 4;
    background: var(--color-Back);
    width: 400px;
    padding: 16px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.modal-content .close {
    position: absolute;
    right: 8px;
}

.modal {
    position: relative;
}

.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(15, 13, 24, 0.7);
    z-index: 3;
}

.overlayCard {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 13, 24, 0.7);
    z-index: 3;
}

.group_tagCurso {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.tagCurso {
    width: fit-content;
    padding: 4px;
    border-radius: 4px;
    background: var(--cor-BrancoTrn);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    z-index: 5;
    color: var(--cor-FalsoBranco);
}

.tituloBlue {
    width: 100vw;
    background: var(--CinzaItem);
    padding: 32px 64px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-left: -64px;
}

.tituloBlue.topnotBread {
    margin-top: -36px;
}

#perfil {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

#perfil .blc-default {
    background: var(--CinzaItem);
    border-radius: 16px;
    padding: 32px;
    max-width: 900px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 32px;

}

#perfil .blc-default_content {
    display: flex;
    flex-direction: row;
    gap: 32px;

}

#perfil .blc-default_contentText {
    display: flex;
    flex-direction: column;
    gap: 32px;
    width: 100%;
}

#perfil .inline-titulo {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

#perfil #info_perfil,
#perfil #info_senha {
    display: initial;
}

#perfil #edit_perfil,
#perfil #edit_senha {
    display: none;
}

#sortable {
    padding: 8px 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;

}

#sortable .blc_resumoSemestre {
    margin: 0 16px;
}

#sortable:active {
    background: var(--CinzaItem);
    border-radius: 8px;
    border: 1px dashed var(--cor-CinzaClaro);
    padding-bottom: 24px;
}

#sortable:active .blc_resumoSemestre:first-of-type {
    /* padding-top: 16px; */
    border-radius: 8px;
    background: var(--CinzaItem);
    border: 1px dashed var(--cor-CinzaClaro);
}

.form-step {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* 4_Textos */
a {
    text-decoration: none;
    color: var(--color-Front);
    margin: 0 !important;
    cursor: pointer;
}

a.a_breadcrumb {
    color: #585B5B;
}

a.linkHeader {
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    line-height: 19.36px;
    color: var(--cor-FalsoBranco);
}

a.linkHeader.atv {
    border-bottom: 2px solid white;
}

b,
.bold {
    font-weight: 700;
}

h1 {
    color: var(--cor-Principal);
    font-size: 32px !important;
    font-weight: 600 !important;
    line-height: 38.73px !important;
    text-align: left;
}

.dark h1 {
    color: var(--color-Front);
}

.titulo h1 {
    color: var(--color-Front);
}

h2 {
    color: var(--cor-Secundaria);
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 24.2px !important;
    text-align: left;
}

h3 {
    color: var(--cor-FalsoBranco);
    font-size: 16px;
    font-weight: 700;
    line-height: 19.36px;
    text-align: left;
    z-index: 4;
}

h4.titulo,
.blc_flexRow i.ph.ph-x,
.blc_flexRow i.ph.ph-caret-down,
.blc_flexRow i.ph.ph-caret-up {
    font-size: 32px;
    font-weight: 600;
    line-height: 38.73px;
    color: var(--color-Front);
}

h5.titulo {
    color: var(--color-Front);
    font-size: 18px;
    font-weight: 500;
    line-height: 21.78px;
    text-transform: uppercase;
}

p,
label {
    font-size: 20px;
    font-weight: 400;
    line-height: 24.2px;
    text-align: left;
    margin-bottom: 0 !important;
}

.blc_itemresumoCat i,
.ph.ph-dots-six-vertical,
.itemSemestre i.ph.ph-pencil-simple-line,
.blc_itemResumo i,
.itemSemestre i.ph.ph-check {
    color: var(--cor-Secundaria);
    font-size: 24px;
    font-weight: bold;
}

.blc_itemresumoCat h2,
.blc_itemResumo h2 {
    color: var(--cor-Principal);
    font-size: 14px !important;
    font-weight: 700;
    line-height: 16.94px;
    text-align: left;
}

.blc_resumoSemestre h2 {
    color: var(--cor-Secundaria);
    font-size: 24px;
    font-weight: 700;
    line-height: 29.05px;
    text-align: left;
    padding-bottom: 24px;
}

#perfil h1 {
    color: var(--cor-Principal) !important;
}

#perfil h2 {
    color: var(--cor-Principal);
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 29.05px;
    text-align: left;
}

.boldBlue {
    color: var(--cor-Principal);
    font-size: 14px;
    font-weight: 700;
    line-height: 16.94px;
    text-align: left;
}

.cardDisciplina h3 {
    color: var(--color-Front);
    font-size: 20px;
    font-weight: 700;
    line-height: 24.2px;
    text-align: left;
}

.itemDisciplina h3 {
    /* width: 150px; */
    color: var(--color-Front);
    font-size: 16px;
    font-weight: 600;
    line-height: 19.36px;
    text-align: left;
    padding-right: 8px;
}

.item_profile p {
    font-size: 16px;
}

a.linkAtivo {
    color: var(--cor-Principal);
    font-weight: 700;
}

p.upper {
    color: var(--color-Front);
    font-size: 12px;
    font-weight: 400;
    line-height: 14.52px;
    text-align: left;
    text-transform: uppercase;
}

.ph-fill.ph-caret-circle-right {
    color: var(--cor-Secundaria);
    font-size: 32px;
}

.icon_dotsHand {
    position: relative;

}

.icon_dotsHand .ph.ph-dots-six-vertical {
    color: var(--color-Front);
    z-index: 2;
}

.ph-duotone.ph-hand.rotate {
    color: var(--color-Front);
    display: inline-block;
    font-size: 32px;
    transform: rotate(45deg);
    position: absolute;
    left: 0;
    top: 5px;
    z-index: 3;
}

span.titulo {
    color: var(--cor-Secundaria);
    font-size: 14px;
    font-weight: 700;
    line-height: 16.94px;
    text-align: left;
    text-transform: uppercase;
}

.tagCurso p,
.tagCurso i {
    font-size: 12px;
    font-weight: 400;
    line-height: 14.52px;
    text-align: left;
}

.tag_itemDisciplina p,
.blc_itemResumo span {
    color: var(--color-Front);
    font-size: 14px;
    font-weight: 400;
    line-height: 16.94px;
    text-align: left;
}

.tag_itemDisciplina i {
    color: var(--cor-Principal);
    font-size: 14px;
    font-weight: 700;
}

p.textoitemDisciplina {
    color: var(--color-Front);
    font-size: 16px;
    font-weight: 400;
    line-height: 19.36px;
}

span.textoitemBold {
    color: var(--color-Front);
    font-size: 16px;
    font-weight: 600;
    line-height: 19.36px;
}

.tituloBlue h1 {
    color: var(--cor-Principal);
    font-size: 32px;
    font-weight: 700;
    line-height: 38.73px;
    text-align: left;
}

.tituloBlue span {
    color: var(--cor-Secundaria);
    font-size: 20px;
    font-weight: 400;
    line-height: 24.2px;
    text-align: left;
}

/* 5_Botões */
button {
    border: none;
    background: transparent;
    cursor: pointer;
}

button.btn_default {
    padding: 8px 16px 8px 16px;
    border-radius: 8px;
    gap: 8px;
    background: var(--cor-Principal) !important;
    color: var(--cor-FalsoBranco);
}

.dark button.btn_default {
    color: var(--color-Back);
}

button:disabled {
    cursor: not-allowed;
}

.btn_draganddrop {
    width: fit-content;
    cursor: grab;
}

.btn_draganddrop:active {
    cursor: grabbing;
}

.btn_note {
    font-size: 24px;
    position: absolute;
    right: 8px;
    top: 25%;
    color: var(--color-Front);
    padding: 4px;
    border-radius: 4px;
}

.btn_note2 {
    font-size: 24px;
    position: absolute;
    right: calc(16px + 24px);
    top: 25%;
    color: var(--color-Front);
    padding: 4px;
    border-radius: 4px;
}

.btn_note:hover {
    background: rgba(192, 0, 0, 0.05);
    color: var(--cor-VermelhoErro);
}

.btn_note2:hover {
    background: var(--CinzaClaroItem);
    color: var(--cor-Principal);
}

.btn_primary,
.btn_secundary,
.btn_terciary {
    padding: 8px 16px;
    border-radius: 8px;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    line-height: 19.36px;
    width: 100%;
}

.btn_primary {
    color: var(--cor-FalsoBranco);
    background: var(--cor-Principal);
    border: 2px solid transparent;
}

.btn_primary:disabled {
    background: rgba(204, 206, 206, 1) !important;
}

.btn_secundary {
    color: var(--cor-Principal);
    background: transparent;
    border: 2px solid var(--cor-Principal);
}

.btn_terciary {
    color: var(--cor-Principal);
    background: var(--CinzaItem);
    border: 2px solid transparent;
}

.btn_primary:hover,
.btn_secundary:hover,
.btn_terciary:hover {
    color: var(--cor-FalsoBranco);
    background: var(--cor-Secundaria);
    border: 2px solid transparent;
}

.cardCurso .btn_primary {
    color: var(--cor-FalsoBranco);
    background: var(--cor-Azul);
    border: 2px solid transparent;
}

/* .cardCurso .btn_secundary{
    color: var(--cor-FalsoBranco);
    background: transparent;
    border: 2px solid var(--cor-FalsoBranco);
} */

.cardCurso .btn_primary:hover {
    background: var(--cor-Principal);
    border: 2px solid transparent;
}

.cardCurso .btn_secundary:hover {
    color: var(--cor-Azul);
    background: transparent;
    border: 2px solid var(--cor-Azul);
}

.btn_category {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    font-size: 16px;
    font-weight: 600;
    line-height: 19.36px;
    text-align: left;
    color: var(--cor-Principal);
}

.btn_perfil {
    font-size: 32px;
    color: var(--cor-FalsoBranco);
    position: relative;
}

#btnAddDisciplina {
    height: fit-content;
    width: fit-content;
    display: flex;
    position: absolute;
    right: 8px;
}


#perfil button {
    padding: 4px 8px;
    border-radius: 4px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    color: var(--color-Front);
}

#perfil button:hover {
    background: var(--cor-Principal);
    color: var(--cor-FalsoBranco);
}

#perfil button i.ph.ph-pencil-simple,
#perfil button span {
    font-size: 16px;

}

#sortable2 .btn_note {
    display: none;
}

/* Inputs */
input[type="search" i],
input[type="text" i],
select {
    background: var(--color-Back);
    border: 1px solid var(--cor-CinzaClaro);
    border-radius: 4px;
    padding: 8px 16px;
    color: var(--cor-CinzaClaro);
    font-size: 16px;
    font-weight: 400;
    line-height: 19.36px;
    text-align: left;
}

input[type="search" i].invert,
input[type="text" i].invert,
select.invert {
    background: var(--CinzaItem);
    border: 1px solid transparent;
}

input::placeholder {
    color: var(--cor-CinzaClaro);
}

option {
    font-size: 16px;
    font-weight: 400;
    line-height: 19.36px;
    display: block;
    min-height: auto;
    padding: 4px;
    white-space: nowrap;
    background: var(--CinzaItem);
}

form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

form label {
    color: var(--color-Front);
    margin-bottom: 6px;
    font-family: 'Inter', sans-serif;
}

.form-group {
    display: flex;
    flex-direction: column;
    width: 100%;
}

input.form-group.invert {
    background: var(--CinzaItem);
    padding: 8px 16px;
    border: none;
    border-radius: 8px;
}

form.inline-flex00 {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.form-group label {
    font-family: "Inter", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 19px;
    letter-spacing: 0em;
    text-align: left;
}

input.formText,
select.formText,
textarea.formText {
    /* width: 100%; */
    padding: 12px 12px 12px 15px;
    border-radius: 6px;
    /* border: 1px solid var(--color-Front); */
    border: none;
    background: var(--color-Back);
    color: var(--color-Front);
}

.custom-control-input {
    position: relative !important;
    left: 0 !important;
    z-index: 1 !important;
    width: 0;
    height: 0;
    opacity: 1 !important;
}

.custom-control-label::before,
.custom-control-label::after {
    display: none !important;
}


/* 6_Midias */
img.img_cardCurso {
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    height: auto;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 100%;
    min-width: 100%;
}

.img_avatarBarra {
    padding: 36px 0;
    display: flex;
    justify-content: center;
}

img.img_perfil {
    height: 160px;
    width: 160px;
    object-fit: cover;
    border-radius: 50%;
}

.desktop {
    display: flex;
}

.mobile {
    display: none;
}

/* Login */
#login {
    overflow-y: hidden;
}

#login .menuLogin {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow-y: auto;
}


/* form{
    width: 100%;
} */


/* Paginação */
nav.page {
    position: relative;
    left: 320px;
    width: calc(100% - 300px - 64px);
    margin-bottom: 0;
    margin-top: 24px;
}

ul#pagination {
    margin-bottom: 0;
}

.page-link {
    position: relative;
    display: block;
    padding: .5rem .75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: var(--cor-Principal) !important;
    background-color: var(--color-Back) !important;
    border: 1px solid #dee2e6;
}

.page-link:hover {
    z-index: 2;
    color: var(--color-Back) !important;
    text-decoration: none;
    background-color: var(--cor-Principal) !important;
    border-color: var(--cor-Principal) !important;
}

.page-item.active .page-link {
    z-index: 3;
    color: var(--color-Back) !important;
    background-color: var(--cor-Principal) !important;
    border-color: var(--cor-Principal) !important;
}

/* Dark */
.dark #login .menuLateral {
    background-image: url(/assets/img/unsplash.png);
}

.dark #login .menuLogin .menuLogin-content {
    background: rgba(17, 22, 24, 1);
}

.dark span.etapa-cad {
    background: rgba(17, 22, 24, 1);
    border-color: rgba(254, 254, 254, 0.6);
}

.dark span.etapa-cad.atv {
    color: var(--color-Back);
    background: rgba(254, 254, 254, 1);
    border-color: rgba(254, 254, 254, 1);
    z-index: 4;
}

.dark input.form-group,
.dark input[type="search" i],
.dark input[type="text" i],
.dark select {
    background: var(--color-Middle);
    border: none;
    color: var(--color-Front);
}

.dark input.formText {
    background: var(--color-Middle);
}

.dark input.form-group::placeholder {
    color: #737678;
}

.dark .campoPesquisa .btnPesquisa {
    background: var(--color-Middle);
    color: var(--color-Front);
}

.dark header.portHeader {
    background: var(--color-Back);
    border-bottom: 1px solid var(--CinzaClaroItem);
}

.dark h2,
.dark .blc_flexColumm-2 h1,
.tituloBlue span,
.dark .cardCurso h3 {
    color: var(--color-Front);
}

.dark .blc_flexColumm-2 h1:first-child,
.dark .blc_resumoSemestre h2 {
    color: var(--cor-Principal);
}

.dark .blc_itemResumo {
    background: var(--color-Back);
}

.dark .blc_itemresumoCat i {
    color: var(--cor-Secundaria) !important;
}

.dark .blc_itemresumoCat i,
.dark .ph.ph-dots-six-vertical,
.dark .itemSemestre i.ph.ph-pencil-simple-line,
.dark .blc_itemResumo i,
.dark .itemSemestre i.ph.ph-check {
    color: var(--color-Front);
}

.dark .boldBlue,
.dark p {
    color: var(--color-Front);
}

.dark .btn_primary {
    background: var(--cor-Principal) !important;
    color: var(--color-Back);
}

.dark .btn_primary:hover {
    background: var(--cor-Secundaria) !important;
    color: var(--color-Back);
}

.dark .btn_secundary:hover {
    border-color: var(--cor-Secundaria) !important;
    background: var(--cor-Secundaria) !important;
    color: var(--color-Front);
}

.dark .btn_terciary:hover {
    color: var(--color-Back);
}

.dark button.btn_category {

    color: var(--color-Front);

}

.dark .page-item.disabled .page-link {
    border-color: var(--cor-Principal);
}

.dark .blc_itemResumo {
    background: var(--color-Middle);
}

p.erro {
    color: #F84545 !important;
}

.mobile {
    display: none;
}

.desktop {
    display: flex;
}

/* 7_Mobile */
@media(max-width: 900px) {
    .desktop {
        display: none;
    }

    .mobile {
        display: flex;
    }

    /* Blocos */
    main {
        padding: 16px;
        width: calc(98vw - 32px);
    }

    main.portifolioMain {
        /* width: calc(100% - 32px) */
        width: 100%;
    }

    .blc_cardCurso,
    .blc_cardDisciplina {
        justify-content: flex-start;
    }

    .blc_filterMobile,
    .blc_listMobile {
        z-index: 6;
        position: fixed;
        top: 0;
        right: 0;
        width: 100vw;
        height: 100vh;
    }

    .blc_filterMobileIntern {
        position: fixed;
        right: 0;
        z-index: 8;
        padding: 24px;
        width: 80vw;
        height: 100vh;
        background: var(--color-Back);
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .blc_listMobileIntern {
        position: fixed;
        left: 0;
        z-index: 8;
        padding: 24px;
        width: calc(95vw - 64px);
        height: 100vh;
        background: var(--color-Back);
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        gap: 24px;
    }

    .blc_main {
        flex-direction: column;
    }

    .blc_perfilMobile {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 24px;
        padding-left: 16px;
    }

    .mobile-cart {
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--cor-FalsoBranco);
        font-size: 28px;
    }

    .mobile-cart {
        margin-left: auto;
        /* Empurra o carrinho para a extrema direita */
    }

    header.portHeader {
        padding: 16px;
        gap: 24px;
    }

    .cardDisciplina {
        width: 100%;
    }

    .blc_flexRow:has(h1) {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    .blc_flexRow form {
        width: 100%;
    }

    .tituloHeader,
    .ferramentaPerfil {
        display: none;
    }


    .barraLateralFixed {
        position: fixed;
        top: 24px;
        right: 16px;
        width: calc(100% - 48px);
        height: 100%;
        padding: 16px;
        z-index: 9999;
        display: none;
    }


    /* Login */
    #login .menuLateral {
        background-repeat: no-repeat;
        background-origin: center;

        background-position: center;
        max-width: none;
    }

    #login .menuLateral h1,
    #login .menuLateral:has(h1) span {
        display: none;

    }

    .lineBehind {
        width: 30%;
    }

    #login .menuLogin .menuLogin-content {
        top: 0;
        left: 0;
        transform: none !important;
    }

    /* Botões */
    button {
        width: fit-content !important;
    }

    .btn_perfilMobile {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 8px;
        color: var(--color-Front);
        font-size: 16px;
    }

    .portHeader .ph.ph-list {
        color: var(--cor-FalsoBranco);
        font-size: 28px;
        font-weight: 600;
    }

    .btn_primary,
    .btn_secundary,
    .btn_terciary {
        width: 100% !important;
    }

    /* Textos */
    a.tituloMobile {
        font-size: 16px;
        font-weight: 600;
        line-height: 19.36px;
        text-align: left;
        color: var(--cor-Principal);
    }

    h1 {
        font-size: 16px;
        font-weight: 600;
        line-height: 19.36px;
    }

    h2 {
        font-size: 14px;
        font-weight: 400;
        line-height: 16.94px;
        text-align: left;
    }

    p {
        font-size: 16px;
        font-weight: 400;
        line-height: 19.36px;
        text-align: left;
    }

    span {
        text-wrap: auto;
    }

    /* Midias */
    .logoColor {
        width: 150px;
        filter: invert(75%) sepia(100%) saturate(500%) hue-rotate(180deg) brightness(90%) contrast(80%);
    }


    img.img_perfil {
        height: 80px;
        width: 80px;
    }


    .breadcrumb {
        flex-wrap: wrap;
    }

    .blc_conteudoCurso {
        width: 100% !important;
    }

    .blc_conteudoCurso.det {
        width: calc(100% - 32px - 8px) !important;
    }


    .blc_resumoCurso {
        flex-direction: column;
    }

    li.itemDisciplina {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .dropzone li.itemDisciplina {
        display: flex;
        flex-direction: row;
        align-items: center;
    }

    #sortable2 li.itemDisciplina {
        width: calc(100% - 16px);
    }

    .itemDisciplina h3 {
        width: 100%;
    }

    .cardCurso.pFixed {
        position: fixed;
        right: auto;
        left: 0;
        top: auto;
        bottom: 0;
        width: calc(100% - 64px) !important;
        transform: translateX(0%);
        height: fit-content;
        z-index: 99999;
        background: var(--color-Back);
        border-radius: 0;
    }

    .cardCurso.pFixed .hoverW100 {
        flex-direction: row;
    }

    .cardCurso.pFixed .img_cardCurso,
    .cardCurso.pFixed .overlayCard {
        display: none;
    }

    .breadcrumb {
        margin-top: 0;
    }

    .blc_resumoCurso.mobile {
        background: var(--color-Back);
        padding: 16px 0;
    }

    .blc_resumoCurso.mobile {
        background: var(--color-Back);
        padding: 16px;

        width: calc(100% - 32px);
        position: fixed;
        bottom: 0;
        left: 0;
        flex-direction: column;
        gap: 12px;
        z-index: 9999;
    }

    .blc_itemresumoCat {
        flex-direction: row;
        flex-wrap: wrap;

        align-items: center;
    }

    #perfil .blc-default_content {
        flex-direction: column;
    }

    figure.img_perfil_main {
        display: flex;
        align-items: center;
        justify-content: center;

    }

    #sortable {
        padding: 8px 0;
    }

    #sortable .blc_resumoSemestre {
        margin: 0;
        padding-right: 0;
    }

    .itemDisciplina {
        flex-wrap: nowrap;
        width: 100%;
    }

    .itemDisciplina {
        align-items: center;
        padding-right: 16px;
    }

    /* Drag adn Drop */
    .blc_mainCurso {
        margin-bottom: 100px;
    }

    .tag_itemDisciplina {
        flex-wrap: wrap;
    }

    #sortable:active,
    #sortable:active .blc_resumoSemestre:first-of-type {
        border: none;
        background: transparent;
    }

    .btn_draganddrop {
        display: none;
    }

    .blc_moveitem {
        display: flex;
        flex-direction: column;
        gap: 4px;
        margin-right: 8px;
    }

    .btn_moveitem {
        font-size: 16px;
        padding: 4px;
        border-radius: 4px;
        color: var(--cor-Principal) !important;
    }

    .btn_moveitem:hover,
    .btn_moveitem:active,
    .btn_moveitem:focus {
        color: var(--color-Back) !important;
        background: var(--cor-Principal);
    }


    .blc_mainCurso,
    .dark .blc_itemResumo {
        flex-direction: column;
        gap: 0;
    }

    /* Home */
    .tituloBlue {
        width: calc(100% + 32px);
        padding: 16px;
        margin: 0 -16px;
        margin-top: 8px;
    }

    .barraLateral {
        width: 100%;
        height: fit-content;
        margin: 16px 0;
        gap: 0;
    }


    .portifolioMain .cardCurso {
        width: 100%;
    }

    nav.page {
        left: 0;
        width: 100%;
    }

    button.btn_category.jcBtw {
        width: 100% !important;
    }

    .blc_filterMobileIntern button.ph.ph-x {
        color: var(--color-Front);
        font-size: 24px;
    }

    .btn-acess {
        right: 36px;
        bottom: 84px;
    }

    li.itemDisciplina.jcBtw.alCenter,
    li.itemDisciplina .flexRow.alStrch {
        display: flex;
        flex-direction: column;
        gap: 8px;
        margin: 0;
        padding: 16px;
        width: calc(100% - 32px);
    }

    .blc_conteudoCurso:has(#personalizarCursoForm) .flexRow {
        width: 100%;
        justify-content: flex-start;
    }

    .blc_conteudoCurso:has(#personalizarCursoForm) .flexRow:has(.btn_note) {
        width: 100%;
        justify-content: space-between;
    }

    #sortable .flexRow:has(.btn_note) {
        width: 100% !important;
    }

    #sortable2 li.itemDisciplina.alCenter.jcBtw {
        flex-direction: row;
        justify-content: flex-start;
    }

    /*
    #sortable2 .itemDisciplina{
        justify-content: flex-start;
    }*/

    #sortable2 .btn_moveitem,
    #sortable2 .tag_itemDisciplina,
    #btnAddDisciplina,
    #sortable .btn_addItem {
        display: none;
    }

    #menuAddDisciplina {
        display: none;
    }

    button.btn_terciary.mobile {
        display: flex;
        align-items: center;
        flex-direction: row;
        gap: 16px;
    }

    button.btn_terciary.mobile i.ph.ph-plus {
        font-size: 24px;
    }

}

/* Ajustes */
.flexRow {
    display: flex;
    flex-direction: row;
    gap: 4px;
}

.flexColumn,
.flexcolumn {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.alCenter {
    align-items: center;
}

.alStrch {
    align-items: stretch;
}

.jcBtw {
    justify-content: space-between;
}

.jcCenter {
    justify-content: center;
}


.tag_itemDisciplina.conhecimento {
    align-items: flex-start;
    flex-direction: column;
}


/* Tooltip */
.blc_tooltip {
    visibility: hidden;
    position: absolute;
    top: calc(100% + 8px);
    right: -16px;
    /* transform: translateX(-50%); */
    background: var(--color-Back);
    padding: 8px 16px;
    border-radius: 8px;
    color: var(--color-Front);
    z-index: 9999999 !important;
    overflow: visible;
    width: 215px;
    text-align: left;
}

.blc_tooltip::after {
    content: " ";
    position: absolute;
    top: -20px;
    right: 16px;
    /* margin-left: -5px; */
    border-width: 13px;
    border-style: solid;
    border-color: transparent transparent var(--color-Back) transparent;
}

.blc_tooltip.red {
    background: var(--color-bg);
    color: var(--cor-vermelho);
}

.blc_tooltip.red::after {
    border-color: var(--color-bg) transparent transparent transparent;
}

.blc_tooltip.red.invert {
    background: var(--color-mg);
    color: var(--cor-vermelho);
}

.blc_tooltip.red.invert::after {
    border-color: var(--color-mg) transparent transparent transparent;
}

.tag_itemDisciplina .btn_actVW {
    position: relative;
    width: fit-content;
}

.tag_itemDisciplina i.ph.ph-info {
    color: var(--color-Front) !important;
    font-size: 14px;
}

.btn_actVW:hover .blc_tooltip {
    visibility: visible;
    z-index: 3;
}

i.ph-trash {
    color: var(--cor-vermelho);
}

.tooltipBottom {
    z-index: 4;
    position: absolute;
    top: 100%;
    right: -8px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 8px;
    background: var(--color-mg);
    border-radius: 8px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.tooltipBottom a {
    display: flex;
    flex-direction: row;
    gap: 8px;
    font-size: 14px;
    font-weight: 400;
    line-height: 16.94px;
    text-align: left;
}

.tooltipBottom .tooktipArrow {
    width: 25px;
    height: 20px;
    position: absolute;
    top: -6px;
    right: 16px;
    transform: rotate(45deg);
    background: var(--color-mg);
    content: " ";
}

.cardDisciplina,
.hoverW100 {
    overflow: visible;
    z-index: 999999;
}

.hoverW100 {
    position: relative;
    overflow: visible;
    z-index: 10;
}

/* Garante que tooltip fique posicionada fora do botão */
.tooltipWrapper {
    position: relative;
    display: inline-block;
}

/* Tooltip oculta por padrão */
.tooltipWrapper .blc_tooltip {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: calc(100% + 8px);
    /* abaixo do botão */
    left: 0;
    z-index: 9999;
    transition: opacity 0.2s ease;
}

/* Exibe ao passar o mouse sobre o botão */
.tooltipWrapper:hover .blc_tooltip {
    visibility: visible;
    opacity: 1;
}

/* Opcional: seta da tooltip */
.blc_tooltip::after {
    content: "";
    position: absolute;
    top: -12px;
    left: 16px;
    border-width: 6px;
    border-style: solid;
    border-color: transparent transparent var(--color-Back) transparent;
}

.borderBottom {
    content: " ";
    width: 100%;
    border-bottom: 1px solid var(--color-Front);
}

.dark .tag_itemDisciplina p {
    color: #D1D1D1;
}

a.btn_secundary {
    width: fit-content;
    margin-left: 8px !important;
    display: flex;
    align-items: center;
}

#courseForm {
    padding: 24px;
    border: 1px solid #CCCECE;
    border-radius: 16px;
}

#sortable2 .btn_moveitem {
    display: none;
}

#sortable2 .btn_addItem {
    display: flex;
    font-size: 24px;
    color: var(--cor-Principal);
}

.btnClose {
    width: fit-content;
    font-size: 12px;
}

textarea.form-group.invert {
    background: var(--color-Middle);
    border-color: transparent;
    color: var(--color-Front);
    padding: 4px 8px;
}

.barraLateral label {
    font-size: 14px;
}

form#uploadForm {
    gap: 8px;
}

input#docFile {
    background: var(--CinzaItem);
    color: var(--color-Front);
}

#docFile::file-selector-button {
    background: var(--color-Middle);
    border: 1px solid transparent;
    border-radius: 4px;
    padding: 4px 8px;
    color: var(--color-Front);
    cursor: pointer;
}

#docFile::file-selector-button:hover {
    background: var(--CinzaItem);
    border-color: var(--cor-Principal);
}