/* -------------------------------- 

ACCORDION 

Obs: accordions que são originários do tema do Moodle possuem
a classe .block_cocoon_accordion. 

-------------------------------- */

/* VARIÁVEIS DO COMPONENTES */
.accordion,
.block_cocoon_accordion,
.course-content ul.topics,
.userprofile {
    --accordion-header-background: transparent;
    --accordion-header-background-hover: var(--ifht-sys-cor-superficie-3);
    --accordion-header-border-color-focus: #86b7fe;
    --accordion-header-border-radius:var(--ifht-sys-raio-borda-md);
    --accordion-header-border-bottom-radius: 0;
    --accordion-header-box-shadow-focus:0 0 0 0.25rem rgba(13,110,253,.25);
    --accordion-header-margin: var(--ifht-sys-spacing-xs);
    --accordion-header-padding: var(--ifht-sys-spacing-md);
    --accordion-header-title-color: var(--ifht-sys-cor-secundaria-dark);
    --accordion-header-title-color-hover: var(--ifht-sys-cor-secundaria-normal);
    --accordion-header-title-family: var(--ifht-ref-familia-3);
    --accordion-header-title-size: var(--ifht-sys-h6);

    --accordion-header-button-icon-family: uicons-regular-straight;
    --accordion-header-button-icon-content:"\e07b";
    --accordion-header-button-icon-size: var(--ifht-sys-txt-botao-md);
    --accordion-header-button-icon-border-radius: var(--ifht-sys-raio-borda-full);
    --accordion-header-button-icon-color: var(--ifht-sys-cor-neutra-branco);

    --accordion-border-color: var(--ifht-sys-cor-borda-extralight);
    --accordion-border-color-dark: var(--ifht-sys-cor-borda-light); /* SE o accordion estiver num fundo mais escuro (Área de equipe e com quem você vai aprender, etc) */
    --accordion-border-radius: var(--ifht-sys-raio-borda-md);
    --accordion-border-width:var(--ifht-sys-espessura-borda-xs);
    --accordion-background:var(--ifht-sys-cor-superficie-1);
    --accordion-padding: var(--ifht-sys-spacing-xl);
    --accordion-text-color: var(--ifht-sys-cor-neutra-0);
    --accordion-text-size: var(--ifht-sys-paragrafo);
    --accordion-text-size-small: var(--ifht-sys-paragrafo-small);
}


/*** ACCORDIONS ORIGINÁRIOS DO COMPONENTE DO TEMA DO MOODLE  ***/
    .block_cocoon_accordion .card {
        background-color: var(--accordion-header-background);
        background-clip: border-box;
        border-radius: 0;
        border: none;
        box-shadow: none;
    }

    /* Seleciona o card que é filho direto da div .accordion */
    .block_cocoon_accordion .accordion > .card {
        overflow:visible;
    }

    .block_cocoon_accordion .accordion > .card .card-header {
        background:var(--accordion-header-background);
        margin-bottom: 0 !important;
        /* padding: 0 !important; */
        padding: var(--accordion-header-margin) 0 0 0;
    }

    .block_cocoon_accordion .accordion > .card:first-child .card-header  {
        padding-top: 0;
    }

    /* .block_cocoon_accordion .accordion > .card > .card-header h2  {
        border: none;
        border-bottom: var(--ifht-sys-espessura-borda-xs) solid var(--ifht-sys-cor-superficie-3) !important;
        border-radius:0;
        display:flex;
        margin:0 !important;
    } */

    .block_cocoon_accordion .accordion > .card .card-header .btn-link {
        align-items: flex-start;
        border: none;
        border-bottom: var(--accordion-border-width) solid var(--accordion-border-color) !important;
        color: var(--accordion-header-title-color);
        display: flex;
        font-size: var(--accordion-header-title-size);
        font-family: var(--accordion-header-title-family) !important;
        padding: var(--accordion-header-padding);
        width: 100%;
        text-transform: uppercase;
        text-wrap: balance;
    }

    .block_cocoon_accordion .accordion > .card .card-header .btn-link[aria-expanded="false"] {
        background-color: transparent;
        border-radius: var(--accordion-header-border-radius);
        border-bottom-left-radius: var(--accordion-header-border-bottom-radius);
        border-bottom-right-radius: var(--accordion-header-border-bottom-radius);
    }

    .block_cocoon_accordion .accordion > .card .card-header .btn-link[aria-expanded="true"] {
        background: var(--accordion-header-background-hover);
        border-radius: var(--accordion-header-border-radius);
        border-bottom-left-radius: var(--accordion-header-border-bottom-radius);
        border-bottom-right-radius: var(--accordion-header-border-bottom-radius);
    }

    .block_cocoon_accordion .accordion > .card .card-header .btn-link[aria-expanded="false"]:hover,
    .block_cocoon_accordion .accordion > .card .card-header .btn-link[aria-expanded="false"]:focus {
        background: var(--accordion-header-background-hover);
        border-radius: var(--accordion-header-border-radius);
        border-bottom-right-radius: var(--accordion-header-border-bottom-radius);
        border-bottom-left-radius: var(--accordion-header-border-bottom-radius);
        color: var(--accordion-header-title-color-hover);
    }

    .block_cocoon_accordion .accordion > .card .card-header .btn-link[aria-expanded="true"]:hover,
    .block_cocoon_accordion .accordion > .card .card-header .btn-link[aria-expanded="true"]:focus {
        background: var(--accordion-header-background-hover);
        border-radius: var(--accordion-header-border-radius);
        border-bottom-left-radius: var(--accordion-header-border-bottom-radius);
        border-bottom-right-radius: var(--accordion-header-border-bottom-radius);
        color: var(--accordion-header-title-color-hover);
    }

    .block_cocoon_accordion .accordion > .card .card-header .btn-link[aria-expanded="false"]:focus,
    .block_cocoon_accordion .accordion > .card .card-header .btn-link[aria-expanded="true"]:focus{
        box-shadow:var(--accordion-header-box-shadow-focus);
    }

    .block_cocoon_accordion .accordion > .card .card-header button span::before {
        position: relative;
        top: 10%;
        left: 30%;
        font-size: var(--accordion-header-button-icon-size);
        font-weight: 700;
    }


    .block_cocoon_accordion .accordion > .card .card-header button .float-right {
        transition: .2s ease all;
        top: auto;
        right: 1.5rem;

        background: var(--accordion-header-title-color);
        border-radius: var(--accordion-header-button-icon-border-radius);
        width: 40px;
        height: 40px;
        color: var(--accordion-header-button-icon-color);
    }

    .block_cocoon_accordion .accordion > .card .card-header .btn-link:hover,
    .block_cocoon_accordion .accordion > .card .card-header .btn-link:focus,
    .accordion .accordion__header a:hover,
    .accordion .accordion__header a:focus {
        color: var(--accordion-header-title-color-hover);
        text-decoration: none;
    }

    .block_cocoon_accordion .accordion > .card .card-header .btn-link:focus,
    .accordion .accordion__header a:focus {
        color: var(--accordion-header-title-color);
    }

    .block_cocoon_accordion .accordion > .card .card-body{
        border: var(--accordion-border-width) solid var(--accordion-border-color);
        padding: var(--accordion-padding);
        border-radius: 0 0 var(--accordion-border-radius) var(--accordion-border-radius);
        overflow: hidden;
    }

    .block_cocoon_accordion .accordion > .card .card-body .list {
        overflow: hidden;
    }

    .block_cocoon_accordion .accordion > .card p {
        font-size: var(--accordion-text-size);
        font-family: 'Karla-Regular', sans-serif;
        color: var(--accordion-text-color);
        line-height: var(--ifht-sys-line-height-paragrafo);
    }

    /* #accordion .panel-title a {
        width: 100%;
        overflow: visible;
        white-space: normal;
        text-overflow: inherit;
    }

    #accordion .panel-heading .accordion-toggle::before,
    #accordion .panel-heading .accordion-toggle.collapsed::before {
        content:"";
        font-family: Flaticon;
        font-style: normal;
        color: var(--accordion-header-title-color);
        float: right;
        font-weight: lighter;
        transition: all 0.2s ease-in 0s;
    }


    #accordion .panel-heading .accordion-toggle.collapsed::before {
        transform: rotate(0deg);
    }

    #accordion .panel-heading .accordion-toggle::before {
        transform: rotate(90deg);
    }

    .accordion .accordion__header .collapsible-link {
        border-radius: var(--accordion-header-border-radius);
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }


    .accordion .accordion__header .collapsible-link:focus {
        z-index: 3;
        border-color: var(--accordion-header-border-color-focus);
        outline: 0;
        box-shadow: var(--accordion-header-box-shadow-focus);
    } */

/*** ACCORDIONS ORIGINÁRIOS DA PÁGINA DE DISCIPLINA (Conteúdo da Disciplina) ***/
    #page-course-view-topics .course_content {
        overflow:visible;
        padding-bottom: var(--ifht-sys-spacing-lg);
    }

    #page-course-view-topics li.course-section .course-section-header {
        align-items: flex-start;
        border: none;
        border-bottom: var(--accordion-border-width) solid var(--accordion-border-color) !important;
        border-radius: var(--accordion-header-border-radius);
        border-bottom-left-radius: var(--accordion-header-border-bottom-radius);
        border-bottom-right-radius: var(--accordion-header-border-bottom-radius);
        color: var(--accordion-header-title-color);
        display: flex;
        font-size: var(--accordion-text-size);
        font-family: var(--accordion-header-title-family);
        padding: var(--accordion-header-padding);
        width: 100%;
        text-transform: uppercase;
        text-wrap: balance;  
    }

    #page-course-view-topics li.course-section .course-section-header:hover,
    #page-course-view-topics li.course-section .course-section-header:focus  {
        background-color: var(--accordion-header-background-hover);
    }

    #page-course-view-topics li.course-section .course-section-header:focus {
    z-index: 3;
    border-color: var(--accordion-header-border-color-focus);
    outline: 0;
    box-shadow: var(--accordion-header-box-shadow-focus);
    }

    #page-course-view-topics .course-content ul.topics li.section,
    #page-course-view-topics .course-content ul.weeks li.section {
        border-bottom: none !important;
        padding-top:0;
        padding-bottom:0;
        margin-bottom: var(--accordion-header-margin);
    }

    #page-course-view-topics li.course-section .course-section-header h3 a {
        text-transform: uppercase;
    }

    #page-course-view-topics li.course-section .course-section-header:first-child > div:first-child {
        flex-direction: row-reverse;
        width: 100%;
        justify-content: space-between;
    }

    #page-course-view-topics li.course-section .course-section-header .section-collapsemenu {
        font-size: var(--accordion-text-size-small);
        font-family: var(--ifht-sys-txt-familia-menu-lateral);
        text-transform: capitalize;
    }

    #page-course-view-topics li.course-section .course-content-item-content{
        background: var(--accordion-background);
        margin-top: 0;
        border: var(--accordion-border-width) solid var(--accordion-border-color);
        border-bottom: 0;
        padding: var(--accordion-padding);
    }

    #page-course-view-topics li.course-section .course-content-item-content {
        background: var(--accordion-background);
        border: var(--accordion-border-width) solid var(--accordion-border-color);
        border-radius: var(--accordion-border-radius);
        border-top-right-radius: var(--accordion-header-border-bottom-radius);
        border-top-left-radius: var(--accordion-header-border-bottom-radius);
        margin-top: 0;
        padding: var(--accordion-padding);
    }

    #page-course-view-topics li.course-section .course-section-header a.btn {
        background: var(--accordion-header-title-color);
        transition: .2s ease all;
    }

    #page-course-view-topics li.course-section .course-section-header a.btn:focus {
        box-shadow: var(--accordion-header-box-shadow-focus);
    }

    #page-course-view-topics li.course-section .course-section-header a.btn .icon {
        color: var(--accordion-header-button-icon-color);
    transform: rotate(90deg);
    }

    #page-course-view-topics li.course-section .course-section-header a.btn.collapsed .icon {
        transform: rotate(0deg);
    }

    #page-course-view-topics li.course-section .course-section-header .action-menu.moodle-actionmenu a.btn .icon {
        transform: rotate(0deg);
    }

    #page-course-view-topics li.course-section .course-section-header a.btn .icon.fa:before {
        font-family: uicons-regular-straight;
        font-weight: 700;
    }

    #page-course-view-topics li.course-section .course-section-header  .fa-chevron-right:before, 
    #page-course-view-topics li.course-section .course-section-header  .fa-chevron-down:before {
        content: "\e07b";
    }

    #page-course-view-topics  li.course-section .course-section-header .fa-ellipsis-v:before {
        content: "\ea35";
    }

    #page-course-view-topics  li.course-section .course-section-header:has(+ .collapse.show) {
        background: var(--accordion-header-background-hover);
        box-shadow: var(--accordion-header-box-shadow-focus);
        z-index: 3;
        position: relative;
    }
/* FIM */

/*** ACCORDIONS DO MOODLE ORIGINÁRIOS DA PÁGINA DE PERFIL ***/
    #page-user-profile .userprofile .panel-group .panel-title a {
        background:transparent;
        border-bottom: var(--ifht-sys-espessura-borda-xs) solid var(--accordion-header-background-hover) !important;
        border-radius: var(--accordion-header-border-radius);
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        color: var(--accordion-header-title-color);
        font-size: var(--accordion-header-title-size);
        font-family: var(--accordion-header-title-family);
        margin-bottom: 0;
        overflow: hidden;
        padding: var(--ifht-sys-padding-botao-lg) var(--ifht-sys-padding-botao-md);
        white-space: nowrap;
        text-overflow: ellipsis;
        text-transform: uppercase;
        width: 100%; 
    }
    
    #page-user-profile .userprofile .panel-group .panel-title a:hover {
        background: var(--accordion-header-background-hover);
        border-radius: var(--accordion-header-border-radius);
        color:var(--accordion-header-title-color-hover);
    }
    
    #page-user-profile .userprofile .panel-group .panel-title a[aria-expanded="true"] {
        background: var(--accordion-header-background-hover);
        border-radius: var(--accordion-header-border-radius);
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }
    
    #page-user-profile .userprofile .panel-group .panel-title a[aria-expanded="false"]:hover, 
    #page-user-profile .userprofile .panel-group .panel-title a[aria-expanded="false"]:focus {
        background: var(--accordion-header-background-hover);
        border-radius: var(--accordion-header-border-radius);
        color: var(--accordion-header-title-color);
    }
    
    #page-user-profile .userprofile .panel-group .panel-heading a:not(.collapsed),  
    #page-user-profile .userprofile .panel-group .panel-heading a.collapsed:focus{
        border-bottom: var(--ifht-sys-espessura-borda-xs) solid var(--accordion-header-background-hover) !important;
        font-size: var(--accordion-header-title-size);
        font-family: var(--accordion-header-title-family);
        margin-bottom: 0;
        text-transform: uppercase;
    }

    #page-user-profile .userprofile .panel-group .panel-heading h4.panel-title {
        background-color: transparent;
        padding:10px 0;
    }

   #page-user-profile .userprofile .panel-group .panel-heading a.accordion-toggle::before {
        background: var(--accordion-header-title-color);
        border-radius: var(--accordion-header-button-icon-border-radius);
        color: var(--accordion-header-button-icon-color);
        content: var(--accordion-header-button-icon-content);
        font-family: var(--accordion-header-button-icon-family);
        font-weight: 700;
        font-size: var(--accordion-header-button-icon-size);
        padding: 6px 12px;
        width: 40px;
        height: 40px;
        transition: 0.2s ease-in-out;
    }

    #page-user-profile .userprofile .panel-group .panel-heading a.accordion-toggle[aria-expanded="false"]::before {
        transform: rotate(0);
    }

    #page-user-profile .userprofile .panel-group .panel-heading a.accordion-toggle[aria-expanded="true"]::before {
        transform: rotate(90deg);
    }

    #page-user-profile .userprofile .panel-group .panel-body {
        background: var(--accordion-background);
        border: var(--accordion-border-width) solid var(--accordion-border-color);
        border-top: none !important;
        border-radius: var(--accordion-border-radius);
        border-top-right-radius: var(--accordion-header-border-bottom-radius);
        border-top-left-radius: var(--accordion-header-border-bottom-radius);
        margin-top: 0;
        padding: var(--accordion-padding);
    }

    #page-user-profile .userprofile .panel-group .panel-body .my_resume_eduarea {
        padding-top:0;
    }

/* FIM */


/*** ACCORDIONS PARA IMPLEMENTAÇÃO DE AULAS (e para páginas criadas do zero por nós, etc) ***/
    .accordion .accordion__header {
        padding: var(--accordion-header-margin) 0 0 0;
        margin-bottom: 0;
        background-color: transparent;
        border-bottom: var(--accordion-border-width) solid var(--accordion-border-color) !important;
    }

    .accordion .accordion__header .collapsible-link {
        border-radius: var(--accordion-header-border-radius);
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .accordion .accordion__header a:hover,
    .accordion .accordion__header a:focus {
        background-color: var(--accordion-header-background-hover);
    }

    .accordion .accordion__header:first-child {
        padding-top: 0;
    } 

    .accordion .accordion__title {margin:0;}

    .accordion .accordion__header a {
        color: var(--accordion-header-title-color);
        font-size: var(--accordion-header-title-size);
        font-family: var(--accordion-header-title-family);
        padding: var(--ifht-sys-padding-botao-lg) var(--ifht-sys-padding-botao-md);
        text-transform: uppercase;
    }

    .accordion .accordion__header .collapsible-link span,
    .accordion .accordion__header .collapsible-link i {
        transition: 0.2s ease-in-out;
        background: var(--accordion-header-title-color);
        border-radius: var(--accordion-header-button-icon-border-radius);
        width: 40px;
        height: 40px;
        color: var(--accordion-header-button-icon-color);
    }

    .accordion .accordion__header .collapsible-link[aria-expanded="true"] {
        background-color: var(--accordion-header-background-hover);
    }

    .accordion .accordion__header .collapsible-link[aria-expanded="true"] span,
    .accordion .accordion__header .collapsible-link[aria-expanded="true"] i{
        transform: rotate(90deg);
    }

    .accordion .accordion__header .collapsible-link span::before, 
    .accordion .accordion__header .collapsible-link i::before {
        /* position: relative;
        top: 8%;
        left: 30%; */
        display: flex;
        font-size: var(--accordion-header-button-icon-size);
        font-family: var(--accordion-header-button-icon-family);
        font-weight: 700;
        content: var(--accordion-header-button-icon-content);
        transform: translate(13px, 7px);
    }

    .accordion .card-body {
        background: var(--accordion-background);
        border: var(--accordion-border-width) solid var(--accordion-border-color) !important;
        border-top: none !important;
        border-radius: 0 0 0.5rem 0.5rem;
    }

    .accordion .card-body .list {
        overflow: hidden;
    }

    /* SE o accordion estiver num fundo mais escuro (Área de equipe e com quem você vai aprender, etc) */
    .equipe .accordion .accordion__header {
        border-bottom: var(--accordion-border-width) solid var(--accordion-border-color-dark) !important;
    }

    .equipe .accordion .card-body {
        border: var(--accordion-border-width) solid var(--accordion-border-color-dark) !important;
        border-top: none !important;
    }

    /* Ajuste do Accordion dentro dos Boxes: */
    .atencao .accordion h5,
    .dica .accordion h5,
    .material-complementar .accordion h5,
    .para-refletir .accordion h5,
    .saiba-mais .accordion h5 {
        border-bottom:none;
        padding-bottom: 0;
        text-transform: none;
    }

    .atencao .accordion h5:before,
    .dica .accordion h5:before,
    .material-complementar .accordion h5:before,
    .para-refletir .accordion h5:before,
    .saiba-mais .accordion h5:before {display:none;}

    .atencao .accordion .svg-inline--fa,
    .dica .accordion .svg-inline--fa,
    .material-complementar .accordion .svg-inline--fa,
    .para-refletir .accordion .svg-inline--fa,
    .saiba-mais .accordion .svg-inline--fa {
    color: var(--accordion-header-title-color);
    margin-right: 0;
    font-size: inherit;
    }

/* --------- CONFIGURAÇÃO SOMENTE PARA MOBILE - SMARTPHONE E TABLETS (up to 991px)--------- */

@media (max-width: 576px) {
    #block-region-fullwidth-top .block_cocoon_accordion, 
    #block-region-fullwidth-bottom .block_cocoon_accordion{
        max-width: 540px;
    }
}

@media (max-width: 768px) {
    #block-region-fullwidth-top .block_cocoon_accordion, 
    #block-region-fullwidth-bottom .block_cocoon_accordion {
        max-width: 720px;
    }
}

/* --------- CONFIGURAÇÃO PARA DESKTOPS PEQUENOS (above 991px) --------- */
@media (min-width: 992px) {
    #block-region-fullwidth-top .block_cocoon_accordion, 
    #block-region-fullwidth-bottom .block_cocoon_accordion{
        max-width: 960px;
    }
}

/* --------- CONFIGURAÇÃO PARA DESKTOPS MÉDIOS (above 11199px) --------- */
@media (min-width: 1200px) {
    #block-region-fullwidth-top .block_cocoon_accordion, 
    #block-region-fullwidth-bottom .block_cocoon_accordion{
        max-width: 1140px;
    }
}

/* --------- CONFIGURAÇÃO PARA DESKTOPS GRANDES (above 1350px) --------- */
@media (min-width: 1350px) {
    #block-region-fullwidth-top .block_cocoon_accordion, 
    #block-region-fullwidth-bottom .block_cocoon_accordion {
    max-width: 1320px;
    }
}
