/*
Theme Name: ItaliaLC
Author: LAZIOcrea
Author URI: https://www.laziocrea.it
Description: Tema utilizzabile per i siti della Pubblica Amministrazione, utilizza i componenti del web toolkit delle linee guida di design dell'Agenzia per l'Italia digitale rilasciare dal Team per la trasformazione digitale e le caratteristiche per i servizi web della Pubblica Amministrazione contenute nel Piano triennale per l'informatica nella Pubblica Amministrazione 2017/2019.
Version: 2.3.42
License: GNU GENERAL PUBLIC LICENSE v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
Text Domain: italialc
*/

@import url('css/fonts.css');

/* ========== Colors / token UI ========== */

body {
    color: var(--lc_color_global_text);
    background-color: var(--lc_color_global_bg);
    /*font-family: "Titillium Web", Geneva, Tahoma, sans-serif !important;*/
}

a,
.card .card-body a .card-title.h5,
a.read-more {
    color: var(--lc_color_global_link);
}

a.read-more .icon {
    fill: var(--lc_color_global_link);
}

a.read-more:hover .icon {
    fill: var(--bs-link-hover-color);
}

.card .card-body a:hover .card-title.h5 {
    color: var(--bs-link-hover-color);
}

.it-header-slim-wrapper {
    background-color: var(--lc_color_bg_top_header);
}

.it-header-slim-wrapper .it-header-slim-wrapper-content .navbar-brand {
    color: var(--lc_color_text_top_header);
}

.it-header-center-wrapper {
    background-color: var(--lc_color_bg_header);
}

.it-header-center-wrapper .it-header-center-content-wrapper .it-search-wrapper a.rounded-icon {
    cursor: pointer;
}

.it-header-center-wrapper .it-header-center-content-wrapper .it-brand-wrapper a {
    color: var(--lc_color_text_header);
}

.it-header-center-wrapper .it-header-center-content-wrapper .it-search-wrapper a.rounded-icon svg {
    fill: var(--lc_color_text_header);
}

@media (min-width: 992px) {
    .it-header-center-wrapper .it-header-center-content-wrapper .it-search-wrapper a.rounded-icon svg {
        fill: var(--lc_color_bg_header);
    }

    .it-header-center-wrapper .it-header-center-content-wrapper .it-search-wrapper a.rounded-icon {
        background-color: var(--lc_color_text_header);
    }

    .it-header-center-wrapper .it-header-center-content-wrapper .it-search-wrapper a.rounded-icon:hover {
        background-color: var(--lc_color_bg_header);
        border: 1px solid var(--lc_color_text_header);
    }

    .it-header-center-wrapper .it-header-center-content-wrapper .it-search-wrapper a.rounded-icon:hover svg {
        fill: var(--lc_color_text_header);
    }
}

.it-header-center-wrapper .it-header-center-content-wrapper .it-right-zone {
    color: var(--lc_color_text_header);
}

.it-header-center-wrapper .it-header-center-content-wrapper .it-right-zone .it-socials ul .icon {
    fill: var(--lc_color_text_header);
}

.it-header-center-wrapper .it-header-center-content-wrapper .it-right-zone .it-socials ul a:hover svg {
    opacity: .5;
    fill: var(--lc_color_text_header);
}

@media (min-width: 992px) {
    .navbar .navbar-collapsable .navbar-nav li.nav-item a.nav-link,
    .navbar .navbar-collapsable .navbar-nav li.nav-item button.nav-link {
        color: var(--lc_color_text_menu_header);
    }
}

.it-footer p {
    font-size: 1.13rem;
}

.it-footer-main {
    color: var(--lc_color_text_footer);
    background-color: var(--lc_color_bg_footer);
}

.it-footer-small-prints {
    color: var(--lc_color_text_bottom_footer);
    background-color: var(--lc_color_bg_bottom_footer);
}

.it-footer-main * :not(button) {
    color: var(--lc_color_text_footer);
}

.custom-navbar-toggler svg {
    fill: var(--lc_color_text_header);
}

.it-header-navbar-wrapper nav {
    background: var(--lc_color_bg_header);
}

@media (min-width: 992px) {
    .it-header-navbar-wrapper nav {
        background: none;
    }
}

.it-card footer a.chip,
article.it-card footer a.chip {
    color: var(--lc_color_text_chip);
}

.chip.chip-primary {
    background-color: var(--lc_color_bg_chip);
    border-color: var(--lc_color_border_chip);
    color: var(--lc_color_text_chip);
}

a.chip ~ a.chip {
    margin: 5px 0 0 5px;
}

.chip.chip-primary:hover {
    background-color: var(--lc_color_bg_chip_hover);
    border-color: var(--lc_color_border_chip_hover);
    color: var(--lc_color_text_chip_hover);
}

.chip.chip-primary > .chip-label {
    color: var(--lc_color_text_chip);
}

.chip:is(a):hover {
    color: var(--lc_color_text_chip_hover) !important;
}

.bg-ricerca {
    background: var(--lc_color_bg_search);
}

.btn-primary {
    color: var(--lc_color_text_btn);
    background-color: var(--lc_color_bg_btn);
}

.btn-primary:hover,
.btn-primary:focus-visible {
    color: var(--lc_color_text_hover_btn);
    background-color: var(--lc_color_bg_hover_btn);
}

/* ========== Header / navbar ========== */

.it-header-center-wrapper .it-header-center-content-wrapper .it-brand-wrapper a .icon {
    width: auto;
    height: auto;
    max-height: 82px;
}

@media (max-width: 992px) {
    .it-header-center-wrapper .it-header-center-content-wrapper .it-brand-wrapper a .icon {
        max-height: 62px;
    }
}

.it-header-navbar-wrapper {
    background-color: var(--lc_color_bg_menu_header);
}

.sticky_logo {
    display: none;
}

.is-sticky .sticky_logo {
    display: block;
}

.is-sticky .expanded .sticky_logo {
    display: none;
}

.is-sticky .sticky_logo img {
    max-height: 32px;
    width: auto;
}

.it-header-block .it-header-block-title h2 {
    border-bottom: 1px solid #c5c7c9;
    padding-bottom: 8px;
    margin-bottom: 0;
    letter-spacing: unset;
}

.navbar,
.navbar.it-navscroll-wrapper,
.navbar.it-navscroll-wrapper .menu-wrapper {
    background: none;
}

@media (min-width: 992px) {
    .navbar.it-navscroll-wrapper {
        background: none;
    }
}

@media (max-width: 1199px) {
    .navbar .navbar-collapsable .navbar-nav li.nav-item a.nav-link,
    .navbar .navbar-collapsable .navbar-nav li.nav-item button.nav-link {
        padding: 13px 12px;
    }
}

/* ========== Footer / back-to-top / cookiebar ========== */

.it-footer .it-brand-wrapper a .icon {
    max-width: 200px;
    height: auto;
    width: inherit;
}

.it-footer-small-prints p {
    margin: 0;
    color: var(--lc_color_text_bottom_footer);
}

.it-footer-main .link-list-wrapper.menu-link-list h3:after {
    padding: inherit;
    content: none;
}

.it-footer-main .it-socials ul {
    list-style-type: none;
    display: flex;
}

.it-footer-main svg.icon {
    fill: var(--lc_color_text_footer);
    height: 24px;
    width: 24px;
    margin-left: 16px;
}

.it-footer-main .it-socials ul li:first-child svg.icon {
    margin-left: 0;
}

.link-list-wrapper.menu-link-list h3 {
    border-bottom: none;
    padding: 0;
}

.back-to-top {
    background-color: var(--lc_color_bg_footer);
    border: 1px solid #fff;
}

.back-to-top svg {
    fill: var(--lc_color_text_footer);
}

.back-to-top:hover {
    background: var(--lc_color_bg_bottom_footer);
}

.cookiebar {
    background-color: var(--lc_cookiebanner_bg);
    color: var(--lc_cookiebanner_text);
}

.cookiebar a {
    color: var(--lc_cookiebanner_link);
}

/* ========== Navigazione / breadcrumb / tabs / dropdown / sidebar ========== */

.breadcrumb-item.active {
    color: var(--lc_color_global_text);
}

.breadcrumb-container .breadcrumb .breadcrumb-item a {
    color: var(--lc_color_global_text);
}

.dropdown-item.active,
.dropdown-item:active {
    color: var(--bs-dropdown-link-color);
}

.dropdown-menu .active {
    font-weight: bold;
}

.dropdown-item:hover,
.dropdown-item:focus {
    text-decoration: underline;
}

.nav-tabs,
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    background: none;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    border-bottom-color: var(--lc_color_global_link);
    color: var(--lc_color_global_link);
}

.nav-tabs .nav-link:hover {
    color: var(--bs-link-hover-color);
}

.accordion-item {
    background: none;
}

.navbar.it-navscroll-wrapper .link-list-wrapper ul li a.active {
    border-left-color: var(--lc_color_global_link);
}

.link-list-wrapper.menu-link-list h3:after,
.link-list-wrapper.menu-link-list .h3:after,
.link-list-wrapper.menu-link-list h4:after,
.link-list-wrapper.menu-link-list .h4:after {
    background: var(--lc_color_global_link);
}

aside .sub-menu {
    margin-left: 20px;
}

blockquote,
.blockquote {
    border-left-color: var(--lc_color_global_link);
}

/* ========== Card / chip / immagini ========== */

/* lc_single_card: se l'immagine non è in cima, evita border-radius solo in alto */
.it-card.lc-single-card.lc-card-image-not-first.rounded .it-card-image-wrapper img {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.card .head-tags {
    justify-content: space-between;
}

h3.card-title {
    color: inherit;
}

h3.no_toc:empty {
    display: none;
}

.chip:is(a) {
    text-decoration: none;
}

.card .card-body .card-text {
    font-family: "Titillium Web", Geneva, Tahoma, sans-serif;
}

img {
    max-width: 100%;
    height: auto;
}

a img {
    transform: scale(1);
    transition-duration: 1s;
}

a:hover img {
    transform: scale(1.01);
    filter: brightness(1.2);
    transition-duration: 1s;
}

.it-brand-wrapper a:hover img {
    transform: scale(1);
}

.img-responsive-wrapper .img-responsive .img-wrapper {
    overflow: hidden;
}

.banner img {
    max-height: 100px;
    width: auto;
}

img:is([sizes="auto" i], [sizes^="auto," i]) {
    contain-intrinsic-size: none;
}

/* ========== Form / search modal ========== */

.form-group label {
    z-index: 0;
}

.form-group input.btn {
    color: #ffffff;
}

.form-group input.btn-primary {
    color: var(--lc_color_text_btn);
}

.form-group input.btn-primary:hover,
.form-group input.btn-primary:focus-visible {
    color: var(--lc_color_text_hover_btn);
}

.search-modal .input-group .form-control {
    min-width: 0;
    flex: 1 1 12rem;
}

.search-modal .input-group .btn .icon,
.search-modal .input-group .btn .icon use {
    fill: #fff;
}

.data_articolo {
    font-weight: bold;
    margin-right: 20px;
}

.textwidget .attachments a {
    padding-right: 0;
    display: inline;
}

.textwidget .attachments a span {
    margin-right: 0;
}

.it-list-wrapper .it-list .list-item .it-right-zone a:hover {
    text-decoration: underline;
}

/* ========== Carousel ========== */

.it-carousel-wrapper.it-carousel-landscape-abstract {
    max-width: 100%;
}

.it-carousel-wrapper .img-responsive-wrapper {
    height: fit-content;
    aspect-ratio: 16 / 9;
}

.it-carousel-wrapper .img-responsive-wrapper .img-responsive {
    height: inherit;
}

.it-carousel-wrapper .splide__arrows {
    position: absolute;
    top: 50%;
    left: -24px;
    right: -24px;
    display: flex;
    z-index: 1;
    justify-content: space-between;
}

@media (min-width: 992px) {
    .it-carousel-wrapper .splide__arrows {
        left: -48px;
        right: -48px;
    }
}

.it-carousel-wrapper .splide__arrows .splide__arrow {
    width: 40px;
    height: 40px;
    background: #06c;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: all;
}

.it-carousel-wrapper .splide__arrows .splide__arrow svg {
    fill: #fff;
    width: 16px;
    height: 16px;
}

.it-carousel-wrapper .splide__arrows .splide__arrow.splide__arrow--prev {
    transform: rotate(180deg);
}

.it-carousel-wrapper .splide__pagination {
    margin-top: 14px;
}

.it-carousel-wrapper .lc-carousel-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 14px;
}

.it-carousel-wrapper .lc-carousel-pager .splide__pagination {
    margin-top: 0;
}

/* Pallini: cerchio BI 16×16; hit area 24×24 via ::after invisibile */
.it-carousel-wrapper .splide__pagination button {
    position: relative;
    width: 16px !important;
    height: 16px !important;
    margin: 0 8px !important;
    padding: 0 !important;
    border: none !important;
    box-sizing: border-box;
}

.it-carousel-wrapper .splide__pagination button::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    transform: translate(-50%, -50%);
}

.it-carousel-wrapper .splide__pagination button.is-active {
    width: 16px !important;
    height: 16px !important;
    transform: none;
}

.it-carousel-wrapper .splide__pagination button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.it-carousel-wrapper .lc-carousel-autoplay-toggle,
.it-carousel-wrapper button.lc-carousel-autoplay-toggle {
    position: relative;
    top: -1px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 16px;
    height: 16px;
    margin: 0 8px;
    padding: 0;
    border: none !important;
    border-radius: 0;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    color: var(--lc_color_global_link, #0066cc);
    cursor: pointer;
    line-height: 0;
    flex-shrink: 0;
    vertical-align: middle;
    transition: none !important;
}

.it-carousel-wrapper .lc-carousel-autoplay-toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    transform: translate(-50%, -50%);
}

.it-carousel-wrapper .lc-carousel-autoplay-toggle:hover,
.it-carousel-wrapper .lc-carousel-autoplay-toggle:active,
.it-carousel-wrapper .lc-carousel-autoplay-toggle.is-paused {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    color: var(--bs-link-hover-color, #0053a5);
}

/* Focus tastiera: non azzerare box-shadow (BI lo usa come anello; outline è trasparente). */
.it-carousel-wrapper .lc-carousel-autoplay-toggle:focus,
.it-carousel-wrapper .lc-carousel-autoplay-toggle:focus-visible {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--bs-link-hover-color, #0053a5);
    border-color: #000 !important;
    outline: 3px solid rgba(0, 0, 0, 0) !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 5px #000 !important;
}

/* Icone CSS (niente SVG): Mauve 1.1.1 non le tratta come non-text content */
.it-carousel-wrapper .lc-carousel-autoplay-toggle .lc-carousel-icon {
    display: block;
    position: relative;
    width: 16px;
    height: 16px;
}

.it-carousel-wrapper .lc-carousel-autoplay-toggle .lc-carousel-icon-pause::before,
.it-carousel-wrapper .lc-carousel-autoplay-toggle .lc-carousel-icon-pause::after {
    content: "";
    position: absolute;
    top: 1.5px;
    width: 4.5px;
    height: 13px;
    border-radius: 1.5px;
    background: currentColor;
}

.it-carousel-wrapper .lc-carousel-autoplay-toggle .lc-carousel-icon-pause::before {
    left: 2px;
}

.it-carousel-wrapper .lc-carousel-autoplay-toggle .lc-carousel-icon-pause::after {
    right: 2px;
}

.it-carousel-wrapper .lc-carousel-autoplay-toggle .lc-carousel-icon-play::before {
    content: "";
    position: absolute;
    top: 1.5px;
    left: 3px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6.5px 0 6.5px 10px;
    border-color: transparent transparent transparent currentColor;
}

.it-carousel-wrapper .lc-carousel-autoplay-toggle .lc-carousel-icon[hidden],
.it-carousel-wrapper .lc-carousel-autoplay-toggle.is-paused .lc-carousel-icon-pause,
.it-carousel-wrapper .lc-carousel-autoplay-toggle:not(.is-paused) .lc-carousel-icon-play {
    display: none !important;
}

.it-carousel-wrapper .lc-carousel-autoplay-toggle.is-paused .lc-carousel-icon-play {
    display: block !important;
}

@media (max-width: 992px) {
    .it-carousel-wrapper .it-card .it-card-title {
        margin-top: 20px !important;
    }
}

/* ========== Hero / gallery modal ========== */

.it-hero-wrapper .it-hero-text-wrapper p {
    font-family: "Titillium Web", Geneva, Tahoma, sans-serif !important;
}

@media (min-width: 992px) {
    .it-hero-wrapper .it-hero-text-wrapper {
        padding: 168px 8% 168px 26px;
    }
}

.ratio-default {
    --bs-aspect-ratio: calc(9 / 16 * 100%);
}

/* Wrapper video: clear evita overlay su featured image floated; il ratio lo danno le classi BI .ratio */
.video-responsive {
    position: relative;
    width: 100%;
    clear: both;
    overflow: hidden;
}

.video-responsive iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

#galleryModalPrev {
    position: absolute;
    left: -35px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    font-size: 2rem;
    z-index: 2;
    opacity: 0.5;
}

#galleryModalNext {
    position: absolute;
    right: -35px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    font-size: 2rem;
    z-index: 2;
    opacity: 0.5;
}

#galleryModalPrev:hover,
#galleryModalNext:hover {
    opacity: 0.75;
}

/* ========== WordPress Core ========== */

.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* ========== A11y / utility ========== */

.screen-reader-text {
    border: 0;
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.navbar .dropdown-menu .dropdown-item:focus,
.navbar .dropdown-menu .dropdown-item:focus-visible,
.navbar .dropdown-menu a.dropdown-item.list-item:focus,
.navbar .dropdown-menu a.dropdown-item.list-item:focus-visible,
.dropdown-menu .dropdown-item:focus,
.dropdown-menu .dropdown-item:focus-visible,
.search-modal .btn:focus,
.search-modal .btn:focus-visible,
.search-modal button.btn:focus,
.search-modal button.btn:focus-visible,
.search-modal .input-group .btn.btn-primary:focus,
.search-modal .input-group .btn.btn-primary:focus-visible,
.search-modal .input-group button.btn.btn-primary.btn-sm:focus,
.search-modal .input-group button.btn.btn-primary.btn-sm:focus-visible,
#imageModalr .btn-close:focus,
#imageModalr .btn-close:focus-visible,
.btn-close:focus,
.btn-close:focus-visible {
    outline: 2px solid #005b80 !important;
    outline-offset: 2px !important;
    /* Anello focus BI: secondo indicatore oltre all’outline shorthand */
    box-shadow: 0 0 0 2px #fff, 0 0 0 5px #000 !important;
}

.lc-ultimo-aggiornamento {
    font-size: .875rem;
    text-align: right;
    margin-top: 1.5rem;
}
.nav-tabs.nav-tabs-vertical .nav-link {
    max-width: 100%;
}

.megamenu .dropdown-item   {
    padding: 8px 16px;
}
.megamenu .dropdown-item:hover, .dropdown-item:focus {
    text-decoration: none !important;
}
.megamenu .dropdown-item svg {
    display: none;
}
.megamenu button span {
    font-weight: 900;
}
/* Widget Ultimi aggiornamenti: thumb quadrata 60×60 */
.link-list-wrapper ul.italialc-latest-updates  li a{
    padding: 0;
}
.link-list-wrapper ul.italialc-latest-updates  li time{
    font-size: .875rem;
}

.italialc-latest-updates__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.accordion.accordion-left-icon .accordion-header .accordion-button:before {
    display: inline-table;
}
