.box,
.relative {
    border-radius: 10px
}

.autore,
.autore.auto-in,
.d-block strong,
.table-responsive .titolo-mes,
footer h5 {
    font-weight: 600
}

body {
    font-size: 19px;
    line-height: 30px;
    color: #454545
}

html {
    scroll-behavior: smooth
}

footer ul li {
    margin-bottom: 0
}

footer .comuni {
    font-size: 9px !important;
    text-align: center
}

.autore.auto-in {
    font-size: 17px;
    margin-bottom: 6px
}

.testo-footer-g {
    font-size: 18px;
    color: #fff
}

.testo-footer {
    font-size: 15px;
    line-height: 24px;
    color: #fff
}

.btn.btn-switch-text.btn-small>span {
    padding: 7px 18px
}

.tag-cloud a {
    background: #f5f5f5
}

header .logo {
    width: 100%;
    max-width: 300px;
    height: auto
}

header.sticky.sticky-active .logo {
    max-width: 200px !important
}

.bg-white,
.dropdown-menu,
.gallery-box,
footer {
    position: relative
}

.dropdown-menu::before {
    content: "";
    position: absolute;
    top: -10px;
    left: 20px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #fff
}

.dropdown-item-column ul {
    width: 50%;
    list-style: none;
    padding: 20px;
    float: left
}

.dropdown-menu.mega-menu {
    width: 550px !important;
    left: -50%
}

.dropdown-item-column {
    flex: 1;
    padding: 10px
}

.dropdown-item-column a {
    text-decoration: none;
    color: #333;
    display: flex;
    align-items: center;
    gap: 10px
}

.dropdown-item-column a:hover {
    color: #007bff
}

.navbar .navbar-nav .dropdown .dropdown-menu a i,
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a i {
    font-size: 12px !important;
    margin-right: 8px !important;
    width: 3px !important
}

.box {
    position: absolute;
    width: 280px;
    height: 222px;
    right: 0
}

.testo-mega {
    text-align: left;
    font-size: 13px
}

.navbar .navbar-nav .dropdown .dropdown-menu {
    box-shadow: 0 7px 76px 0 rgb(0 0 0 / 12%)
}

.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a {
    color: #212529 !important;
    font-size: 16px;
    font-weight: 600;
    margin: 0
}

header.sticky .navbar-brand {
    position: relative;
    top: -7px
}

.immagine-sfondo.meta {
    height: 50%
}

.icona-social:hover {
    opacity: .5
}

.navbar .navbar-nav .nav-item>i {
    display: block;
    margin-left: -19px;
    font-size: 11px;
    top: 1px;
    position: relative
}

.absolute-middle-center.sotto-poco {
    top: 71%
}

.breadcrumb.plus {
    background: #fff;
    margin: 20px
}

.gg {
    width: 147px
}

.container.plus {
    max-width: 1520px
}

.archivio {
    padding: 10px;
    text-align: center
}

.snistra-spazio-30,
.spazio-destra {
    padding-right: 60px
}

#programma a:hover,
.info-dett-hub p a {
    color: #c31d5d
}

#programma a:hover.border-color-extra-medium-gray {
    border-color: #c31d5d !important
}

.icon-grande {
    font-size: 37px
}

.due-colonne {
    column-count: 2;
    column-gap: 2rem;
    display: block
}

.spazio {
    width: 100% !important
}

.navbar .navbar-nav .nav-item>i::after,
header .left-nav .navbar-nav:before,
header .navbar-brand .mobile-logo,
header img.alt-logo,
header.sticky-active img.default-logo {
    display: none
}

.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li,
hr.navigazione {
    margin: 0
}

.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a:hover {
    background: #ededed
}

.categories-btn {
    margin-left: 15px;
    margin-top: 15px
}

.basso-60 {
    padding-bottom: 60px
}

.relative {
    position: relative
}

.immagine-sfondo.spazio-img {
    z-index: 1
}

.spazio-img {
    padding: 20px 20px 0
}

.fill-giallo {
    fill: #ffca00
}

.fill-bianco {
    position: absolute;
    z-index: 20;
    fill: #fff;
    width: 200px;
    height: 200px;
    right: 0;
    bottom: 200px
}

header.sticky-active img.alt-logo {
    display: block;
    margin-top: 12px
}

img.default-logo {
    width: 300px !important;
    height: auto !important
}

img.alt-logo {
    width: 200px !important;
    height: auto !important
}

header .navbar {
    border-top: 3px solid #c31d5d;
    z-index: 9999
}

header .navbar [class*=col-] .navbar-nav .nav-item,
header .navbar [class*=col-] .navbar-nav .nav-item a {
    margin: 0 10px;
    color: #212529;
    font-size: 17px;
    font-weight: 500
}

.sopra-30 {
    margin-top: 30px
}

.none-basso {
    padding-bottom: 0
}

.altezza-box {
    min-height: 350px
}

.immagine-sfondo {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1
}

.sotto-20 {
    margin-bottom: 10px;
    margin-top: 10px
}

.grandezza-cella {
    width: 113px
}

.biography h3,
.fs-22 {
    font-size: 22px
}

.biography {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .2);
    position: relative
}

.biography p {
    line-height: 1.6;
    color: #555
}

.mapppa-bordi iframe {
    border-radius: 20px 20px 0 0;
    display: block
}

.info-dett-hub {
    padding-top: 20px
}

.info-dett-hub p a:hover {
    opacity: .7
}

.info-dett-hub p,
.services-box-content p,
.sezione-intro p,
.text-pof {
    font-size: 16px;
    line-height: 25px
}

.spazio-60 {
    margin: 60px 0 0
}

.icona,
.icona-g {
    margin-right: 20px
}

.icona,
.icona-g,
.pro-titolo h3 {
    margin-bottom: 0
}

.icona {
    width: 25px
}

.icona-g {
    width: 35px
}

.posizione,
a.comuni img {
    margin: 0 auto
}

.text-justify {
    text-align: justify
}

.content,
a.comuni {
    text-align: center
}

.logo-sfondo {
    opacity: .04;
    top: 70px;
    width: 100%;
    display: block;
    padding: 75px
}

.border-color-transparent-white-very-light {
    border-color: #ffc107 !important
}

.nero,
.swiper-number-pagination-style-01 .swiper-number .swiper-pagination-bullet {
    color: #111
}

.swiper-number-pagination-style-01 .swiper-number .swiper-pagination-bullet:after {
    background: #111
}

.testo-p,
.testo-p h2 {
    margin-top: 20px;
    font-size: 20px;
    line-height: 31px
}

.h2,
.testo,
.testo h1,
h2 {
    font-size: 3rem;
    line-height: 3.438rem
}

header {
    border-top: 2px solid #c31d5d
}

header .navbar-brand img {
    max-height: 70px
}

.fill-giallo {
    position: absolute;
    z-index: 20;
    fill: #c31d5d;
    width: 150px;
    right: 50px
}

.piccola {
    width: 180px
}

.img-sin,
header.sticky-active .piccola {
    width: 140px
}

.swiper {
    border-radius: 500px 0 0
}

.testo,
.testo h1 {
    color: #c31d5d;
    font-weight: 500
}

.testo h1 strong,
.testo strong {
    font-weight: 800
}

.img-sin {
    display: inline-block;
    height: auto
}

.btn.btn-small {
    font-size: 16px;
    padding: 13px 26px
}

.btn.btn-base-color {
    background-color: #c31c5d;
    color: var(--white)
}

.btn-link.text-base-color,
.text-base-color,
.top-titolo,
a.comuni:hover,
header .navbar [class*=col-] .navbar-nav .nav-item a:hover {
    color: #c31c5d
}

.bg-very-light-green-tel {
    background-color: #c31c5d17
}

.text-dark-gray strong {
    font-weight: 700
}

.bg-base-color,
.header-cart-icon .cart-count {
    background-color: #dc3545
}

.fill-lilla {
    fill: #988efb !important
}

.fill-celeste {
    fill: #a3daf2 !important
}

.fill-magenta {
    fill: #d63384 !important
}

.card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: rgba(0, 0, 0, 0);
    background-clip: border-box;
    border: 0 solid rgba(0, 0, 0, .125)
}

.card-intro .rotating-image {
    animation: 5s linear infinite rotate;
    margin-bottom: 40px
}

@keyframes rotate {
    from {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

.feature-box:hover .rotating-image {
    animation: .5s linear infinite rotate
}

.fs-20,
.fs-20 h3 {
    font-size: 24px;
    line-height: 39px
}

.gallery-box img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover
}

h4 {
    font-size: 1.9rem !important;
    line-height: 2.5rem !important
}

.fs-45,
.h3,
h3 {
    font-size: 2.6rem
}

.d-block {
    font-weight: 400
}

p.picclo-descrittivo {
    font-size: 17px;
    line-height: 28px
}

.sopra::after {
    contain: '';
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 10;
    top: 0;
    left: 0
}

a.comuni img {
    width: 90%
}

a.comuni {
    font-size: 16px;
    display: inline-block
}

.titoli-comuni {
    font-size: 27px;
    line-height: 40px;
    color: #c31c5d;
    text-transform: uppercase
}

.bg-very-light-green {
    background-color: #f3f3f3
}

footer a {
    color: #ededed;
    font-size: 15px
}

.bg-dark-gray,
.bg-dark-gray:focus {
    background-color: #c31c5d
}

.breadcrumb {
    list-style: none;
    display: flex;
    padding: 10px;
    background: #f8f8f8;
    border-radius: 12px;
    margin-bottom: 20px
}

.breadcrumb li {
    display: flex;
    align-items: center
}

.breadcrumb li a {
    text-decoration: none;
    color: #111;
    padding: 5px 10px;
    font-size: 14px
}

.breadcrumb li a:hover {
    text-decoration: underline
}

.breadcrumb li:not(:last-child)::after {
    content: "›";
    margin: 0 10px;
    color: #000
}

.breadcrumb .active {
    color: #000;
    font-size: 14px
}

.bordone {
    border-radius: 490px 0 0
}

.grigio {
    background: #f7f7f7;
    height: 1200px;
    padding: 30px
}

.contenuto-lavoro {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center
}

.scroll-laterale {
    margin: 20px
}

.top-titolo {
    display: inline-block;
    float: left;
    font-size: 26px;
    margin-bottom: 10px;
    margin-left: 25px
}

.destra {
    float: right;
    width: 45%;
    margin: 10px 18px 0 0
}

.ricerca {
    width: 100%;
    margin-top: 118px
}

.scrollable-content {
    width: 100%;
    height: 88vh;
    overflow-y: auto;
    padding: 12px 0 0
}

.box-per-info,
.mapppa {
    width: 100%;
    height: auto
}

.col-lg-6.mappa,
.col-lg-8.mappa {
    position: relative;
    height: 100vh
}

.col-lg-6.mappa iframe,
.col-lg-8.mappa {
    width: 98%;
    height: 100%;
    border: 0
}

p.testo-mestieri {
    font-size: 16px;
    line-height: 24px
}

.puntatore {
    position: absolute;
    right: 24px;
    top: 11px
}

.p-header {
    padding: 4% 6% 6% !important
}

.box-per-info {
    position: relative;
    margin-top: 12px;
    margin-left: 60px
}

.mapppa,
.news-box {
    position: relative;
    margin-top: 40px
}

.table-responsive {
    font-size: 16px
}

.botao-wpp {
    text-decoration: none;
    color: #fff;
    display: inline-block;
    background-color: #25d366;
    font-weight: 500;
    padding: 1rem 2rem;
    border-radius: 35px
}

.botao-wpp:hover {
    background-color: darken(#25d366, 5%)
}

.botao-wpp:focus {
    background-color: darken(#25d366, 15%)
}

.card-intro.card-intro.tt .rotating-image {
    animation: 5s linear infinite rotate;
    margin-bottom: 0;
    margin-right: 20px;
    width: 25px
}

.pro-titolo {
    padding: 10px 30px;
    margin-bottom: 30px
}

.pro-titolo h3 {
    font-size: 25px;
    border-bottom: 1px solid #c9c9c9
}

.mapppa {
    border-radius: 20px
}

.mapppa iframe {
    border-radius: 20px;
    display: block
}

footer .fs-18 {
    font-size: 15px
}

footer h5 {
    color: #fff;
    font-size: 20px;
    margin-bottom: 9px;
    line-height: 25px
}

header.sticky.sticky-active [data-header-hover=light] .icon>a,
header.sticky.sticky-active [data-header-hover=light] .navbar-nav .nav-link {
    color: #212529
}

.navbar .navbar-nav .nav-link {
    padding: 0 20px 0 0
}

.navbar .navbar-nav .dropdown .dropdown-menu a i,
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a i {
    color: #000 !important
}

.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu {
    margin-top: -10px
}

.navbar .navbar-nav .dropdown .dropdown-menu li.active>a,
.navbar .navbar-nav li.active>a {
    color: #c31c5d !important;
    background-color: #fff !important
}

.navbar .navbar-nav .nav-item .nav-link.active,
.navbar .navbar-nav .nav-item.active .nav-link,
.navbar .navbar-nav .nav-item:hover .nav-link {
    opacity: 10
}

.btn.btn-base-color:hover {
    background: #ffca00 !important;
    color: #c31d5d !important;
    border-color: #ffca00
}

.footer-right {
    padding-right: 80px
}

.gialli-tab {
    border-color: #ffca00 !important;
    background: #ffca00 !important;
    color: #c31c5d !important
}

.content,
.news-text,
.news-text h3,
.testo-p,
.testo-p h2 {
    color: #fff
}

.news-box {
    width: 80%;
    max-width: 800px;
    height: 50px;
    overflow: hidden;
    border-left: 1px solid #fff;
    border-right: 1px solid #fff
}

.posizione,
.testo-p,
.testo-p h2 {
    max-width: 1400px;
    width: 100%
}

.content,
.news-ticker,
.scritta,
.sfondo-colore {
    position: absolute
}

.news-ticker {
    display: flex;
    white-space: nowrap;
    top: 50%;
    transform: translateY(-50%)
}

#video-background,
.content {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.news-text,
.news-text h3 {
    font-size: 23px;
    line-height: 0;
    padding-left: 100%;
    animation: 20s linear infinite scroll-left
}

@keyframes scroll-left {
    0% {
        transform: translateX(100)
    }

    100% {
        transform: translateX(-100%)
    }
}

.bordo {
    border: 1px solid #919191
}

.ombra-testo {
    text-shadow: #000 -8px -1px 10px
}

.container.grande {
    max-width: 1620px
}

.fill-giallo {
    bottom: 14%;
    fill: #fff;
    opacity: .8
}

#video-background {
    position: fixed;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1
}

.content {
    font-size: 3rem;
    font-family: Arial, sans-serif;
    z-index: 3
}

.content h1 {
    text-shadow: 2px 2px 5px rgba(0, 0, 0, .8)
}

.sfondo-colore {
    content: '';
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .5);
    z-index: 1
}

.alto {
    margin-top: 75px;
    border-bottom: 3px solid #c31c5d
}

.scritta {
    z-index: 10;
    left: 8%;
    top: 10%
}

.scritta .testo,
.scritta .testo h1 {
    color: #fff;
    font-size: 99px;
    line-height: 100px;
}

.fs-30 {
    font-size: 30px;
    line-height: 39px
}

.news-valle {
    background-color: #f3f3f3;
    padding: 100px 0 0 !important;
    overflow: hidden;
    z-index: 999;
    position: relative
}

.absolute-pos,
.blog-categories,
.blog-date {
    position: absolute
}

.bottom-minus-50px {
    bottom: -100px;
    left: -98px
}

.news-img {
    width: 100%;
    display: block
}

.fs-20-i {
    font-size: 18px;
    line-height: 27px
}

.blog-date {
    font-size: 12px;
    color: #c31c5d;
    right: 10px;
    top: 3px;
    display: block
}

.margine-40 {
    margin-top: 40px
}

.cta-gialle {
    width: 250px
}

.cta-55 {
    width: 255px
}

.margine-sotto-15 {
    margin-bottom: 15px !important;
    display: block
}

.margine-sopra-32 {
    margin-top: -32px
}

.alto {
    margin-top: 104px;
}

.eventi-img {
    width: 120px;
    height: auto;
    margin: 0px 20px 0px 0px
}

/* MOBILE */
@media (max-width: 1581px) {
.margine-40 {
    margin-top: 0px;
}

.testo{
    margin-top: 0px !important;
}

    /* Menù */
    header .logo {
        max-width: 200px;
    }

    header .navbar [class*=col-] .navbar-nav .nav-item,
    header .navbar [class*=col-] .navbar-nav .nav-item a {
        margin: 0px 7px 0px 7px;
        font-size: 15px;
    }

    header .navbar [class*=col-] {
        padding: 0 4px;
    }

    header.sticky.sticky-active .logo {
        max-width: 170px !important;
    }

    .scritta .testo,
    .scritta .testo h1 {
        font-size: 66px;
        line-height: 77px;
    }

    .testo-p,
    .testo-p h2 {
        font-size: 18px;
        line-height: 26px;
    }

    /*Fine*/
}

@media (max-width:1280px) {
    .breadcrumb li a {
        padding: 3px 7px;
        font-size: 13px;
    }

    .breadcrumb .active {
        font-size: 13px;
        margin-left: 3px;
    }

    .breadcrumb li:not(:last-child)::after {
        margin: 0 3px;
    }

    body {
        font-size: 17px;
        line-height: 28px;
    }

    header .container-fluid {
        padding-left: 25px;
        padding-right: 25px;
    }

    .fs-45,
    .h3,
    h3 {
        font-size: 2.2rem;
    }

    .fill-bianco {
        width: 134px;
        height: 134px;
        bottom: 247px;
    }

    .sticky.sticky-active header .logo {
        position: relative;
        top: 3px;
    }

    .fs-30 {
        font-size: 25px;
        line-height: 31px;
    }

    .pre-tittolo {
        font-size: 15px;
        display: block;
        line-height: 25px;
    }

    .titoli-comuni {
        font-size: 23px;
        line-height: 26px;
    }

    a.comuni {
        font-size: 13px;
    }

    .p-header {
        padding: 4% 4% 4% 4% !important;
    }

    .fs-20,
    .fs-20 h3 {
        font-size: 20px;
    }

    .bordone {
        border-radius: 400px 0px 0px 0px;
    }

    .fs-18 {
        font-size: 17px;
    }

    /*Fine*/
}

@media (max-width: 1199px) {
    .lg-w-250px {
        width: 200px !important;
        height: 147px;
    }
}

@media (max-width: 991px) {
    .md-h-auto {
        height: 500px !important;
    }

    header .navbar [class*=col-] .navbar-nav .nav-item {
        border-bottom: #ededed solid 1px;
        padding: 10px;
    }

    .navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu {
        margin-top: 0px;
    }

    .navbar .navbar-nav .dropdown .dropdown-menu {
        box-shadow: none;
    }

    .dropdown-menu::before {
        display: none
    }

    .navbar .navbar-nav .nav-item .dropdown-toggle {
        right: 15px;
        top: 10px;
    }

    .navbar .navbar-nav .nav-item>i {
        font-size: 18px;
    }

    .dropdown-item-column ul {
        width: 100%;
    }

    /* Fine */
}


@media (max-width:680px) {

    .fs-14,
    .fs-14 a {
        font-size: 12px !important;
    }

    .alto-mobile-40 {
        margin-top: 30px;
    }

    .table-responsive {
        font-size: 15px;
    }

    header .navbar [class*=col-] {
        padding: 0 39px;
    }

    .swiper {
        border-radius: 0px 0 0;
    }

    .lg-w-250px .fs-20 {
        font-size: 14px;
        line-height: 16px;
    }

    .fs-30 {
        font-size: 24px;
        line-height: 29px;
    }

    /* Home Video */
    .testo-p,
    .testo-p h2 {
        margin-top: 20px;
        font-size: 15px;
        color: #fff;
        line-height: 17px;
        
    }

    .scritta .testo,
    .scritta .testo h1 {
        font-size: 33px;
        line-height: 34px;
    }

    .scritta {
        z-index: 10;
        left: 0%;
        top: 15%;
    }

    .fill-giallo {
        right: -5px;
        width: 57px;
        bottom: 2%;
    }

    .news-text h3,
    .news-text {
        font-size: 20px;
        margin-bottom: 13px;
    }

    .titoli-comuni {
        font-size: 22px;
        line-height: 30px;
    }

    /* Inizio Smatphone */
    body {
        font-size: 16px;
        line-height: 27px;
    }

    /* Logo */
    header .logo {
        max-width: 150px;
    }

    header.sticky.sticky-active .logo {
        max-width: 150px !important;
    }

    .bordone {
        border-radius: 140px 0px 0px 0px;
        margin-top: 22px;
    }

    .sm-h-400px {
        height: 200px !important;
    }

    .fs-45,
    .h3,
    h3 {
        font-size: 1.6em;
    }

    .fs-20,
    .fs-20 h3 {
        font-size: 18px;
        line-height: 28px;
    }

    .card-intro.card-intro.tt .rotating-image {
        margin-bottom: 4px;
        margin-right: 5px;
        width: 18px;
    }

    .logo-sfondo {
        padding: 14px;
    }

    .grigio {
        padding: 30px 10px 30px 10px;
        height: 900px;
    }

    .col-lg-6.mappa {
        display: none !important;
    }

    .footer-right {
        padding-right: 0px;
    }

    .h2,
    h2 {
        font-size: 2.3rem;
        line-height: 2.7rem;
    }

    .md-mb-50px {
        margin-bottom: 0px !important;
    }

    .fs-16 {
        font-size: 13px;
    }

    .card-intro .rotating-image {
        margin-bottom: 11px;
    }

    .breadcrumb .active,
    .breadcrumb {
        font-size: 12px;
    }

    .breadcrumb {
        padding: 4px;
        border-radius: 7px;
        margin-bottom: 20px;
    }

    .overflow-hidden.bg-very-light-green .container {
        padding-right: 0px;
        padding-left: 0px;
    }

    .overflow-hidden.bg-very-light-green .container .row .col-md-6.col-10 {
        padding-right: 0px;
        padding-left: 0px;
    }

    .slider-navigation-style-04 {
        height: 45px;
        width: 45px;
    }

    h3 svg {
        width: 20px;
        height: 20px;
        top: -3px;
    }

    .col-auto.text-center.pt-15px.pb-15px.ps-40px.pe-40px.md-ps-25px.md-pe-25px.bg-white.border.border-color-extra-medium-gray.border-radius-100px.xs-border-radius-10px {
        width: 100% !important;
    }

    .col-auto.text-center.pt-15px.pb-15px.ps-40px.pe-40px.md-ps-25px.md-pe-25px.bg-white.border.border-color-extra-medium-gray.border-radius-100px.xs-border-radius-10px .fs-16 {
        font-size: 16px;
    }

    .icon-very-medium {
        font-size: 22px;
    }

    .services-box-content .fs-22 {
        font-size: 15px;
    }

    .due-colonne {
        column-count: 1;
    }

    .icona-g {
        margin-bottom: 0px;
        margin-right: 3px;
        width: 26px;
        position: relative;
        top: -2px;
    }

    .container.overlap-section .feature-box.feature-box-left-icon .feature-box-content,
    .feature-box.feature-box-left-icon-middle .feature-box-content {
        font-size: 16px !important
    }

    .gialli-tab {
        width: 100% !important
    }

    .feature-box-content .fs-19 {
        font-size: 16px;
    }

    .feature-box.feature-box-left-icon .feature-box-content,
    .feature-box.feature-box-left-icon-middle .feature-box-content {
        font-size: 14px;
        line-height: 22px;
    }

    .bordi-frame {
        height: 300px !importnt;
    }

    .one-fifth-screen {
        height: 400px !important;
    }

    .h1,
    h1 {
        font-size: 2.1rem;
        line-height: 2.2rem;
    }

    .ls-minus-2px {
        letter-spacing: 0px !important;
    }

    .alto {
        margin-top: 73px;
    }

    .dropdown-item-column ul {
        padding: 0px;
    }

    .navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a {
        font-size: 14px;
        font-weight: 400;
    }

    .navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a {
        border-bottom: 1px solid rgba(23, 23, 23, .1) !important;
    }

    .cta-55 {
        width: 100%;
    }

    p.picclo-descrittivo {
        font-size: 16px;
        line-height: 26px;
    }

    .card-intro.tt.feature-box-content.text-dark-gray.fs-20 {
        font-size: 19px !important;
        text-align: center;
    }

    .fs-19.ls-minus-05px.fw-600.text-dark-gray.d-block.lh-26 {
        font-size: 18px !important
    }

    .autore.auto-in {
        font-size: 14px;
        margin-bottom: 6px;
    }

    .snistra-spazio-30,
    .spazio-destra {
        padding-right: 15px;
    }

    /* FINE */
}



.limit-rows p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.footer-pnrr {
    color: #fff;
    font-size: 14px;
    line-height: 24px;
}

.h1-hero h1 {
    font-size: 2.6rem;
    line-height: 1.2;
    margin-bottom: 15px !important;
    display: block;
}

h1 span.text-huge {
    display: block;
    color: #c31d5d;
    font-weight: 600;
    padding: 10%;
}

h1 span.text-small {
    display: block;
    font-weight: 400;
}

.testo-mestieri p {
    font-size: 16px;
    line-height: 24px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.margin-zero p {
    margin-bottom: 0;
}

.titoli-comuni h4 {
    font-size: 25px !important;
    line-height: 40px;
    color: #c31c5d;
    text-transform: uppercase
}

.custom-description {
    max-width: 100%;
    margin: 10px auto;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #333;
}

.custom-description h5 {
    color: var(--dark-gray);
    /* colore più scuro per h5 */
    font-weight: 600;
    letter-spacing: -1px;
    margin-bottom: 1rem;
    max-width: 100%;
}


.custom-description p {
    max-width: 100%;
    font-size: 19px;
    line-height: 30px;
    color: #454545;
}

.custom-description img {
    border-radius: 10px;
    max-width: 100%;
    height: auto;
    display: block;
    margin-bottom: 1rem;
    object-fit: cover;

}

.custom-description iframe.bordi-frame {
    border: 1px solid #ccc;
    border-radius: 8px;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    /* mantiene rapporto 16:9 */
    margin-top: 1rem;
    display: block;
}


.custom-description nav.breadcrumb {
    margin: 10px 0;
}

.custom-description nav.breadcrumb ul {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 5px;
}

.custom-description nav.breadcrumb li {
    margin-right: 5px;
}

.custom-description nav.breadcrumb li a {
    text-decoration: none;
    color: #007bff;
}

.custom-description nav.breadcrumb li.active {
    color: #6c757d;
    font-weight: bold;
}

.overlap-section {
    position: relative;
    z-index: 20;
}

.cta-stack {
    display: block !important;
    width: auto !important;
    margin-right: 0 !important;
}



h2.grande-titolo {
    display: block;
    color: #c31d5d;
    font-weight: 600;
    padding: 10%;
}

h1 span.text-huge {
    font-size: 3rem;
    font-weight: 400;
    line-height: 3.438rem;
    letter-spacing: -1px !important;
}

.text-huge strong {
    font-weight: 600;
}

.text-huge strong::after {
    content: "";
    display: block;
}


@media (max-width: 680px) {
    h1 span.text-huge {
        font-size: 2.3rem;
        line-height: 2.7rem;
        font-weight: 400;

    }
}

h2.grande-titolo span {
    display: block;
    font-weight: 400;
}

h3.titoli-pro {
    text-align: center;
    margin-bottom: 40px;
    color: #c31d5d;
    font-weight: 600;
    text-transform: uppercase;
    font-weight: 400;
}

h3.titoli-pro span {
    font-weight: 600
}

h3.titoli-pro.alto_up {
    margin-top: 30px;
}

.bianco_bg_c {
    background-color: #fff
}

.colore_link {
    text-transform: uppercase;
    color: #c31d5d;
    font-size: 17px;
}

#partner_sezione .colore_link,
#partner_sezione h3.titoli-pro {
    color: #003e44;
}

#partner_sezione_con .colore_link,
#partner_sezione_con h3.titoli-pro {
    color: #433f69;
}

.spazio-inabita {
    padding: 40px 20px 20px 20px
}

/* Sezione PopUp */
h2#popup-title {
    font-size: 20px;
    margin-bottom: 0px;
    color: #000;
    font-weight: 600;
}

p#popup-text {
    font-size: 17px;
    line-height: 27px;
}

.read-more {
    margin-top: 10px;
    padding: 0px;
    background-color: transparent;
    color: #000;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 600;
    text-decoration: underline;
}

.read-more:hover {
    text-decoration: none;
    color: #c31d5d
}

.popup-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.popup-content img {
    max-width: 200px;
    margin-bottom: 15px;
    border: #c31c5d solid 1px;
    border-radius: 20px;
}

.close-popup {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 30px;
    cursor: pointer;
    color: #c31d5d;
}

.popup-content {
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    max-width: 900px;
    width: 90%;
    position: relative;
    text-align: left;
    margin: 0 auto;
    margin-top: 7%;
}


@media (max-width: 767px) {
    .popup-content {
        height: 600px;
        overflow-y: scroll;
    }
}

.spazio-inabita p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    /* mostra massimo 2 righe */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sezione-intro p {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    /* mostra massimo 2 righe */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}