:focus-visible {
    outline: 0 !important;
}

/* p#breadcrumbs span {
    display: inherit !important;
} */

#corsi {
    width: 980px;
    margin: 0 auto;
    margin-bottom: 120px;
    font-family: "titillium-web", sans-serif;
}

#corsi {
    color: #1a315d;
}

/* Nasconde il titolo del tema per evitare duplicati sul singolo corso */
.single-unipi_form_corsi .page-header {
    display: none;
}

.single-unipi_form_corsi .entry-header {
    display: none;
}

#corsi .tab-pane a {
    color: #225dd7;
}

#corsi a {
    color: #225dd7 !important;
    text-decoration: none;
}

#corsi a:hover,
#corsi a:focus {
    text-decoration: underline;
}

#corsi a.text-uppercase {
    font-size: 0.9em;
}

.pb-0 {
    padding-bottom: 0 !important;
}

strong {
    font-weight: bold;
}

.b53.accordion {
    max-width: 100%;
}

button.b53.accordion-button.text-wrap {
    display: contents !important;
}

.b53.accordion-button::after {
    float: right;
}

@keyframes accordionExpand {
    0% {
        max-height: 0;
    }

    50% {
        max-height: 100px;
    }

    100% {
        max-height: 200px;
    }
}

@keyframes accordionCollapse {
    0% {
        max-height: 200px;
    }

    50% {
        max-height: 100px;
    }

    100% {
        max-height: 0;
    }
}

#corsi .accordion-content {
    max-height: 0;
    overflow: hidden;
    animation: none;
}

#corsi .accordion-content.open {
    animation: accordionExpand 1.5s ease-in-out forwards;
}

#corsi .accordion-content.closing {
    animation: accordionCollapse 1.5s ease-in-out forwards;
}

@keyframes iconTransform {
    0% {
        transform: rotate(0deg) scale(1);
    }

    50% {
        transform: rotate(90deg) scale(1.2);
    }

    100% {
        transform: rotate(180deg) scale(1);
    }
}

#corsi .accordion-toggle img {
    animation: none;
    display: inline-block;
}

#corsi .accordion-toggle:hover {
    text-decoration: none !important;
}

#corsi .accordion-toggle.active img {
    content: url('../images/custom-icon-minus.svg');

}

#corsi .accordion-title.active {
    color: #235CD7;
}

#corsi .contact-img img {
    width: 200px;
}

#corsi .plus-svg {
    width: 20px;
    color: #1A315D;
}

#corsi .download-svg {
    width: 20px;
    color: #1A315D;
    margin-right: 5px;
}

#corsi .first-download-row {
    margin-top: 64px !important;
}

#corsi .tab-piano-studi {
    padding-left: 20px;
    padding-right: 20px;
}

#corsi .titolo-anno {
    margin-bottom: 36px;
    margin-top: 12px;
    color: #235ED8 !important;
}

#corsi ul {
    padding-left: 22px;
}

#corsi li strong {
    font-weight: 600 !important;
}

#corsi h1,
#persone h2,
#persone h3,
#persone p {
    margin: 0px;
}

#corsi h1 {
    font-size: 56px;
    color: #1A315D;
    line-height: 62px;
    font-family: "articulat-cf", Sans-serif;
    font-weight: 700;
    padding: 125px 0px 73px 0px;
}

#corsi h2 {
    font-size: 2em;
    color: #1A315D !important;
}

#corsi h3 {
    font-size: 1.6em !important;
    font-weight: bold !important;
}

#corsi .breadcrumb {
    padding-bottom: 80px;
}

#corsi p#breadcrumbs span {
    font-family: "titillium-web", Sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #1A315D;
    display: inline;
}

#corsi p#breadcrumbs span a {
    color: #666 !important;
}

#corsi p#breadcrumbs {
    padding-bottom: 50px;
}

#corsi p#breadcrumbs span.breadcrumb_last,
#corsi p#breadcrumbs span.breadcrumb_last strong {
    color: #1A315D !important;
}

#breadcrumbs span a, p#breadcrumbs span a {
    color: #666666 !important;
}

#corsi .contact {
    display: flex;
    justify-content: space-between;
    margin-bottom: 78px;
}

#corsi .contact-info p {
    font-family: "titillium-web", Sans-serif;
    font-size: 18px;
    line-height: 38px;
    color: #1A315D;
    padding-bottom: 4px;
}

#corsi p,
#corsi li,
#corsi .degree-info,
#corsi div.tab-pane {
    font-size: 18px;
}

#corsi .flex-between {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

#corsi .contact-info a {
    color: #235ED8 !important;
}

#corsi .social-links a {
    margin-left: 16px;
}

#corsi .profile-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 20px;
    padding: 20px;
}

#corsi .profile-photo img {
    max-width: 100%;
    border-radius: 8px;
}

#corsi .tabs a {
    margin-right: 15px;
    color: #0073e6;
    text-decoration: none;
}

#corsi section {
    padding: 20px;
}

#corsi hr {
    border-color: rgb(190 190 190 / 0%);
    background-color: rgb(190 190 190 / 40%);
    margin-bottom: 10px;
}

#corsi h2 {
    /* font-family: 'titillium-web'; */
    margin-bottom: 15px;
    color: #0073e6;
}

#corsi h4 {
    /* font-family: 'titillium-web'; */
    font-size: 18px;
    font-weight: 700;
    line-height: 25px;
    margin-top: 0px;
    margin-left: 0;
}

#corsi .publications ul,
#persone .co-authors ul,
#persone .footer-links div {
    list-style: none;
}

#corsi .publications li,
.co-authors li,
.footer-links a {
    margin-bottom: 10px;
}

#corsi ul {
    list-style: none; /* rimuove il bullet predefinito */
    padding-left: 0;
    margin-bottom: 1rem;
  }
  
  #corsi ul li {
    position: relative;
    padding-left: 30px; /* spazio per il nuovo bullet */
  }
  
  #corsi ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 15px;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background-color: #225dd7;
    border-radius: 50%;
  }
  

#corsi .academic-news .news-item {
    margin-bottom: 15px;
}

#corsi .footer-links div {
    display: flex;
    flex-direction: column;
}

#corsi .footer-links h4 {
    font-size: 32px;
    color: #1A315D;
    line-height: 30px;
    font-family: "articulat-cf", Sans-serif;
    font-weight: 700;
}

#corsi .footer-links span.profile_tag {
    font-size: 14px;
    text-transform: uppercase;
    font-family: 'titillium-web';
    background: #F0F0F0;
    padding: 0px 8px;
}

#corsi span.notizie-title {
    color: #235CD7;
    font-family: 'titillium-web';
    line-height: 25px;
    font-size: 18px;
    padding-top: 8px;
}

#corsi .footer-links p {
    color: #1A315D;
    font-family: 'titillium-web';
    line-height: 25px;
    font-size: 18px;
}

#corsi .persone-notizies {
    padding-top: 32px;
}

#corsi li::marker {
    color: #225DD7;
}

#corsi li.blue::marker {
    color: #215DD7;
    font-size: 20px;
}

#corsi li.navy-blue::marker {
    color: #01356A;
    font-size: 20px;
}

#corsi li.sky-blue::marker {
    color: #1DA9E8;
    font-size: 20px;
}

#corsi li.gray::marker {
    color: #BEBEBE;
    font-size: 20px;
}

#corsi li.turquoise::marker {
    color: #3A97BF;
    font-size: 20px;
}

#corsi .wrapper_tabcontent a {
    color: #225DD7;
}

#corsi span.text-600 {
    font-weight: 600;
}

#corsi .cerca-tutte {
    font-family: 'titillium-web';
    font-size: 16px;
    font-weight: 600;
    line-height: 25px;
    color: #1A305D;
    text-align: right;
    margin: 40px 0px;
}

#corsi .cerca-tutte:after {
    content: url(https://test.adviewhost.com/unipi/wp-content/uploads/search-arrow.svg);
    margin-left: 8px;
    top: 3px;
    position: relative;
}

.nav-tabs {
    display: flex;             /* Usa flexbox per i bottoni */
    flex-wrap: nowrap;         /* Impedisci la rottura di linea */
    overflow-x: auto;          /* Abilita lo scorrimento orizzontale */
    -webkit-overflow-scrolling: touch; /* Scroll fluido su dispositivi touch */
}
  
.nav-tabs .nav-link {
    flex: 0 0 auto;            /* Impedisci che i bottoni si allunghino per riempire lo spazio */
}

#corsi .nav-tabs {
    border-bottom: 2px solid #ddd !important;
}

#corsi button.nav-link {
    border: 0 !important;
    color: #1A315D;
    text-transform: none;
    padding: 0;
    font-size: 16px;
    margin: 0 1.4rem 0 0;
    padding-bottom: 10px;
    
}
#corsi button.nav-link.active {
    border: 0 !important;
    border-radius: 0 !important;
    border-bottom: 2px solid #225dd7 !important;
    color: #225dd7;
    font-weight: bold;
}

#corsi button:focus, #corsi button:hover {
    background: transparent !important;
    border: 0 !important;
}

#corsi h3.wrapper_tabcontent {
    max-width: 100%;
    font-weight: bold;
    font-size: 32px;
    margin: 0 0 32px 0px;
}

#corsi .degree-info, #corsi .tab-pane div {
    color: #1A3161;
    font-family: 'titillium-web';
}

#corsi div.tab-pane {
    font-size: 18px;
    font-weight: 300;
}

#corsi h1, #corsi h2, #corsi h3, #corsi h4, #corsi h5 {
    max-width: 100%;
}

#corsi h1 {
    font-size: 56px;
    color: #1A315D;
    line-height: 62px;
    font-family: "articulat-cf", Sans-serif;
    font-weight: 700;
    padding: 125px 0px 73px 0px;
}

#wrapper-tabs {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

#wrapper-tabs .content {
    width: 100%;
    transition: 0.3s ease;
}

#wrapper-tabs .tabs {
    background: white;
    position: relative;
    display: flex;
    gap: 32px;
    /* border-bottom: 2px solid #dddddd; */
    transition: 0.3s ease-in-out;
}

#wrapper-tabs .tabs::after {
    content: "";
    height: 2px;
    background-color: #dddddd;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: 0.3s ease-in-out;
    z-index: 2;
}

#wrapper-tabs .tablinks {
    background: white;
    border: none;
    outline: none;
    padding: 0px 0px 7px 0px;
    cursor: pointer;
    position: relative;
    display: flex;
    overflow: hidden;
    transition: 0.3s ease;
    font-family: "titillium-web", Sans-serif;
    font-size: 18px;
    line-height: 28px;
    color: #1A315D;
    align-items: center;
    justify-content: space-evenly;
    text-transform: math-auto;
    border-radius: 0px !important;
}

#wrapper-tabs .tablinks:before {
    content: "";
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: 0.3s ease-in-out;
    z-index: 5;
}

#wrapper-tabs .tablinks.active:before {
    content: "";
    background-color: #225DD7;
    width: 100%;
    height: 2px;
    position: absolute;
    bottom: 0;
}

#wrapper-tabs .tablinks p {
    margin: 0;
    color: #1A315D;
    font-weight: 400;
}

#wrapper-tabs .wrapper_tabcontent {
    background-color: white;
    margin-top: 0px;
    padding: 63px 0px 0px 0px;
    overflow: hidden;
    transition: all 1s ease;
}

#wrapper-tabs .wrapper_tabcontent p strong,
#wrapper-tabs .wrapper_tabcontent li strong {
    font-weight: bold;
}

#wrapper-tabs .tabcontent {
    display: none;
    /* min-height: 180px; */
}

#wrapper-tabs .tabcontent.active {
    display: block;
    transition: all 1s ease;
}

#wrapper-tabs .tabcontent h3 {
    font-family: "articulat-cf", Sans-serif;
    font-size: 32px;
    margin: 0 0 32px 0px;
    font-weight: bold;
    line-height: 30px;
    color: #1A315D;
}

#wrapper-tabs button.tablinks.active p {
    font-weight: bold !important;
    color: #225DD7;
}

#wrapper-tabs .tabcontent p,
#wrapper-tabs .tabcontent li
#wrapper-tabs .tabcontent div {
    color: #1A315D;
    margin: 0;
    line-height: 25px;
    font-weight: 100;
    animation: fadeEffect 0.6s ease;
    font-family: 'titillium-web' !important;
    font-size: 18px !important;
    padding-bottom: 8px;
    padding-top: 8px;
}

#wrapper-tabs span.profile_tag {
    font-size: 14px;
    text-transform: uppercase;
    font-family: 'titillium-web';
    background: #F0F0F0;
    padding: 0px 8px;
    margin: 0px 2px;
    text-wrap-mode: nowrap;
}

#wrapper-tabs .contact-info .profile_tag a {
    color: #1A315D !important;
}

#wrapper-tabs.contact-info li strong {
    font-weight: 600 !important;
}

#wrapper-tabs .contact-info .tags {
    line-height: 28px !important;
    padding-bottom: 16px;
}

#wrapper-tabs .content-tags {
    display: flex;
    padding-bottom: 16px
}

#wrapper-tabs .content-tags .content-tag:nth-child(1) {
    flex: 190px;
}

#wrapper-tabs .graph {
    display: flex;
    flex-direction: row;
}

#wrapper-tabs .graph ul li {
    margin: 0;
    line-height: 29px;
    font-weight: 600;
    animation: fadeEffect 0.6s ease;
    font-family: 'titillium-web';
    font-size: 15px !important;
    padding-bottom: 0px;
}

#wrapper-tabs .graph ul li a {
    color: #1A315D !important;
}

#wrapper-tabs .graph-1 {
    width: 52%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#wrapper-tabs .graph-2 {
    width: 48%;
    text-align: right;
}

@keyframes fadeEffect {
    from {
        opacity: 0;
        margin-left: 30px;
    }

    to {
        opacity: 1;
        margin-left: 0;
    }
}

/* Responsividad */
@media (max-width: 1024px) {

    #persone {
        padding: 0px 17px;
        width: auto;
        margin-bottom: 60px;
    }

    #persone .contact-img img {
        padding-bottom: 30px;
    }

    #persone .contact-img img {
        width: auto;
    }

    #persone h1 {
        font-size: 32px;
        line-height: 40px;
        font-weight: 700;
        padding: 0px 0px 40px 0px;
    }

    #persone .breadcrumb {
        display: none;
    }

    #persone .contact {
        display: flex;
        justify-content: space-between;
        margin-bottom: 64px;
        flex-direction: column-reverse;
    }

    #persone .contact-info p {
        line-height: 26px;
        padding-bottom: 16px;
    }

    #persone .persone-notizies {
        padding-top: 24px;
    }

    #persone .footer-links h4 {
        font-size: 24px;
        font-weight: 700;
    }

    #persone .footer-links p {
        line-height: 26px;
    }

    #persone .persone-notizies {
        padding-top: 32px;
    }

    #wrapper-tabs .tabs {

        position: relative;
        gap: 32px;
        display: flex;
        flex-direction: initial !important;
        flex-wrap: initial;
        overflow-x: auto;
        scrollbar-width: none;
    }

    #wrapper-tabs .tablinks {
        padding: 0px 0px 16px 0px;
        flex-shrink: 0;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
    }

    #wrapper-tabs .wrapper_tabcontent {
        padding: 48px 0px 24px 0px;
    }

    #wrapper-tabs .tabcontent h3 {
        font-size: 24px;
        margin: 0 0 24px 0px;
    }

    #wrapper-tabs .content-tags {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }

    #wrapper-tabs .content-tag {
        display: flex;
        gap: 10px;
        flex-direction: column;
    }

    #wrapper-tabs span.profile_tag {
        max-width: max-content;
    }

    #wrapper-tabs .graph {
        display: flex;
        flex-direction: column;
        gap: 32px;
    }

    #persone .cerca-tutte {
        text-align: left;
        margin: 32px 0px;
    }

    #wrapper-tabs .graph-1 {
        width: 100%;
    }

    #wrapper-tabs .graph-2 {
        width: 80%;
        text-align: left;
    }

    #corsi {
        width: auto;
        padding: 0px 17px;
        margin-bottom: 60px;
    }

    #corsi h1 {
        font-size: 32px;
        line-height: 40px;
        font-weight: 700;
        padding: 50px 0px 40px 0px;
    }

    #corsi .contact {
        display: flex;
        justify-content: space-between;
        margin-bottom: 64px;
        flex-direction: column-reverse;
    }

    #corsi .contact-info p {
        line-height: 26px;
        padding-bottom: 16px;
    }

    #corsi .persone-notizies {
        padding-top: 24px;
    }

    #corsi .footer-links h4 {
        font-size: 24px;
        font-weight: 700;
    }

    #corsi .footer-links p {
        line-height: 26px;
    }

    #corsi .persone-notizies {
        padding-top: 32px;
    }

    #wrapper-tabs .tabs {
        position: relative;
        gap: 32px;
        display: flex;
        flex-direction: initial !important;
        flex-wrap: initial;
        overflow-x: auto;
        scrollbar-width: none;
    }

    #wrapper-tabs .tablinks {
        padding: 0px 0px 16px 0px;
        flex-shrink: 0;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
    }

    #wrapper-tabs .wrapper_tabcontent {
        padding: 48px 0px 24px 0px;
    }

    #wrapper-tabs .tabcontent h3 {
        font-size: 24px;
        margin: 0 0 24px 0px;
    }

    #wrapper-tabs .content-tags {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }

    #wrapper-tabs .content-tag {
        display: flex;
        gap: 10px;
        flex-direction: column;
    }

    #wrapper-tabs span.profile_tag {
        max-width: max-content;
    }

    #wrapper-tabs .graph {
        display: flex;
        flex-direction: column;
        gap: 32px;
    }

    #corsi .cerca-tutte {
        text-align: left;
        margin: 32px 0px;
    }

    #wrapper-tabs .graph-1 {
        width: 100%;
    }

    #wrapper-tabs .graph-2 {
        width: 80%;
        text-align: left;
    }

    #corsi .contact-img img {
        width: auto;
        padding-bottom: 30px;
    }
}

/* Media query per schermi più piccoli */
@media (max-width: 768px) {
    #wrapper-tabs {
        flex-direction: column;
        /* Cambia il layout per supportare contenuti verticali */
    }

    #wrapper-tabs .tabs {
        display: flex;
        flex-wrap: nowrap;
        /* Impedisce il wrapping delle tab */
        overflow-x: auto;
        /* Abilita lo scrolling orizzontale */
        white-space: nowrap;
        /* Forza tutte le tab su una singola riga */
    }

    #wrapper-tabs .tabs::after {
        width: 200%;
        /* Espande la riga oltre i limiti del contenitore */
        left: 0;
        /* Garantisce che la riga sia visibile */
    }
}

/* Media query per schermi ancora più piccoli */
@media (max-width: 480px) {
    #wrapper-tabs .tabs {
        gap: 16px;
        /* Riduce lo spazio tra le tab per schermi molto piccoli */
    }

    #wrapper-tabs .tabs::after {
        width: 172%;
        /* Adatta la larghezza della riga */
    }
}

.mt-32 {
    margin-top: 32px !important;
}
