body {
    background: #ffffff;
    overflow-x: hidden;
}

.mb-sm-10 {
    margin-bottom: 0 !important;
}

[data-bs-theme="light"] .app-sidebar-logo-default {
    /*filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(112deg) brightness(108%) contrast(100%);*/
}

.strong {
    font-weight: 700 !important;
}

.card.card-bordered {
    box-shadow: none;
    border: 1px solid #ccc;
}

#project-slider .title_lines {
}

.mh-8{
    height: 10%;
}

.mh-84{
    height: 80%;
}

.parallax-div {
    position: relative;
}

.app-container.p0{
    padding: 0 !important;
}

.h1, .h2, .h3, .h4, .h5, .h6,
h1, h2, h3, h4, h5, h6,
h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong,
.h1 strong, .h2 strong, .h3 strong, .h4 strong, .h5 strong, .h6 strong,
h1 b, h2 b, h3 b, h4 b, h5 b, h6 b,
.h1 b, .h2 b, .h3 b, .h4 b, .h5 b, .h6 b {
    font-weight: 500!important;
}

.login-form {
    display: flex;
    height: 100%;
    width: 400px;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    margin: 0 auto;
}

.login-form form {
    width: 100%;
}

.justify-content-center {
    justify-content: center;
}

.login-form .middleColumn input {
    margin-bottom: 1rem;
    border-radius: 0.95rem;
    border: 1px solid #000;
    width: 100%;
    padding: 10px 15px;
}

.login-form .Actions input {
    margin-top: 1rem;
    margin-bottom: 1rem;
    width: 100%;
    border-radius: 0.95rem;
    border: 1px solid #000;
    background: #000;
    color: #fff;
    font-weight: bold;
    padding: 10px 15px;
}

p {
    font-weight: 100;
}

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

.grecaptcha-badge {
    display: none;
    visibility: hidden;
}

.hideme {
    display: none;
    visibility: hidden;
}

.fs-1-5x {
    font-size: 1.5rem;
}

.font-weight-400 {
    font-weight: 400!important;
}

.font-weight-500 {
    font-weight: 400!important;
}

.w-100-vw {
    width: 100vw;
}

.h-100-vh {
    height: 100vh;
}

.vh-50 {
    height: 50vh;
}

.pt-0 {
    padding-top: 0;
}

.pt-10rem {
    padding-top: 10rem;
}

.o-hidden {
    overflow: hidden;
}

.o-visible {
    overflow: visible;
}

.border-radius {
    border-radius: 0.95rem !important;
}

.btn-transparent {
    background: transparent !important;
}

.btn.border-radius {
    border-radius: 0.55rem !important;
}

.p10 {
    padding: 10px;
}

.bt-5 {
    border-top: 5px solid #f6f3f1;
}

.bb-5 {
    border-bottom: 5px solid #f6f3f1;
}

.mt-30 {
    margin-top: 7.5rem !important;
}

.mb25,
.mb-10 {
    margin-bottom: 2.5rem !important;
}

.mb-20 {
    margin-bottom: 5rem !important;
}

.mb-30 {
    margin-bottom: 7.5rem !important;
}

.heading-spacer {
    margin-top: 110px;
}

.text-shadow-small {
    border-radius: 0.55rem !important;
    color: #000 !important;
    padding: 2px;
    margin-bottom: 5px;
    background-color: rgba(246, 243, 241, 0.5);
    backdrop-filter: saturate(180%) blur(20px);
    transition: background-color 0.3s ease;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.5);
    display: block;
}

.video-radius {
    border-radius: 0.95rem;
}

.border-radius-50 {
    border-radius: 50%;
}

.btn-icon-circle {
    height: 60px;
    line-height: 60px;
    width: 60px;
    padding: 0;
}

.btn-icon-circle i {
    padding: 0;
}

.btn-transparent {
    background: transparent;
    border-color: #000;
    color: #000;
}

.btn-transparent:hover {
    background: #000 !important;
    border-color: #000;
    color: #fff;
}

.btn-transparent:hover span {
    color: #000;
}

.font-normal strong,
.font-normal {
    font-style: normal!important;
    font-weight: normal!important;
}

.row-heading {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.row-heading .h1,
.row-heading .h2,
.row-heading .h3,
.row-heading .h4,
.row-heading .h5,
.row-heading .h6,
.row-heading h1,
.row-heading h2,
.row-heading h3,
.row-heading h4,
.row-heading h5,
.row-heading h6 {
    margin-bottom: 0;
}

.content {
    font-size: 1.35rem !important;
}

.content h1 {
    font-size: 2.5rem !important;
}

.content h2 {
    font-size: 2.35rem !important;
}

.content h3 {
    font-size: 2.15rem !important;
}

.content h4 {
    font-size: 2rem !important;
}

.content h5 {
    font-size: 1.75rem !important;
}

.content h6 {
    font-size: 1.5rem !important;
}

.content p {
    font-size: 1.35rem !important;
}

.home .app-wrapper {
    margin-top: 0;
    padding-top: var(--bs-app-header-height);
}

.text-right {
    text-align: right;
}

.br-50 {
    border-radius: 50px;
}

iframe {
    max-width: 100%;
}

.fs-maps-btn {
    height: 40.5px;
}

#CaesarMondoHolder-section .singleitem {
    padding-bottom: 5rem;
}

.row.listItem {
    padding-left: 0;
}

.app-header {
    background: rgba(246, 243, 241, 0);
}

#cc_app_header {
    transition:
        transform 0.5s ease-in-out,
        height 0.5s ease;
}

#cc_app_header.sticky {
    transition:
        transform 0.5s ease-in-out,
        height 0.5s ease-out;
}

#cc_app_header.app-header {
    transition:
        transform 0.5s ease-in-out,
        height 0.5s ease-out;
}

#cc_app_header.hiddenTop {
    transform: translateY(-120%);
}

#cc_app_header_container {
    border-radius: 0.75rem;
    background-color: rgba(246, 243, 241, 0.5);
    backdrop-filter: saturate(180%) blur(20px);
    transition: background-color 0.3s ease;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(246, 243, 241, 0.25);
}

.caesar-usa-button,
.app-header .app-header-mobile-drawer {
    border-right: 1px solid rgba(246, 243, 241, 0.25);
}

#menu-caesar-apps .card .card-header {
    min-height: auto;
    padding: 0;
}

.menu-ul {
    list-style-type: none;
    margin-bottom: 0;
}

.menu-ul li {
    display: inline-block;
    margin-bottom: 0;
}

.btn-primary .ki-duotone,
.btn-primary .ki-outline,
.btn-primary .ki-solid {
    line-height: 1;
    font-size: 1rem;
    color: #ffffff;
}

/* SLIDER */

.single-item {
    position: relative;
}

.single-item .text-overlay {
    position: absolute;
    bottom: 110px;
    left: 35px;
    min-width: 30%;
    padding: 0;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: start;
    gap: 0rem;
    z-index: 10;
}

.half-slider .single-item .text-overlay {
    bottom: 50px;
}

.row-hero-magazine .single-item .text-overlay {
    bottom: 200px;
    bottom: 35px;
    right: 35px;
}

.hero-home.header_dark .single-item .text-overlay {
    bottom: 120px;
}

.text-overlay-content {
    padding: 15px;
    border: 1px solid rgba(246, 243, 241, 0.25);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

.text-overlay-content .cta-button {
    background: rgba(255, 255, 255, 0.25) !important;
}

.single-item .image-title {
    position: absolute;
    bottom: 110px;
    left: 35px;
    min-width: 30%;
    padding: 0;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: start;
    gap: 0rem;
    z-index: 10;
}

.sidebar-magazine-holder {
    z-index: 10;
}

.image-title img {
    height: auto;
    width: 500px;
}

.half-slider .single-item .image-title {
    bottom: 50px;
}

.bg-neutral {
    background: #f6f3f1;
}

.bg-blured {
    border-radius: 0.95rem;
    background-color: rgba(246, 243, 241, 0.5);
    backdrop-filter: saturate(180%) blur(20px);
    transition: background-color 0.3s ease;
}

.bg-blured-white {
    border-radius: 0.95rem;
    background-color: rgba(255, 255, 255, 0.5);
    backdrop-filter: saturate(180%) blur(20px);
    transition: background-color 0.3s ease;
}

.tns .tns-nav button {
    background-color: rgba(246, 243, 241, 0.5);
    backdrop-filter: saturate(180%) blur(20px);
    transition: background-color 0.3s ease;
}

.text-overlay::before {
}

.text-overlay::after {
}

.btn.btn-light-primary {
    background-color: rgba(246, 243, 241, 0.8);
    backdrop-filter: saturate(180%) blur(20px);
    transition: background-color 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.5);
}

.video-cover {
    position: relative;
    width: 100%;
    height: 100vh;
    /* o altezza personalizzata */
    overflow: hidden;
}

.video-cover video::after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 15%;
    background: linear-gradient(
        to top,
        rgba(246, 243, 241, 0.3),
        rgba(246, 243, 241, 0)
    );
    pointer-events: none;
}

.video-cover video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: -1;
}

.tns.tns-default [data-controls="next"],
.tns.tns-default [data-controls="prev"] {
    position: absolute;
    top: auto;
    transform: translateY(0);
}

.tns.tns-slider {
    padding: 0;
    margin: 0;
}

.tns.tns-slider .tns-outer {
    padding: 0;
    margin: 0;
}

.tns.tns-slider .tns-nav {
    position: absolute;
    right: 0;
    bottom: 50px;
    margin-right: 35px;
    width: auto;
    z-index: 10;
}

.half-slider,
.half-slider .single-item.tns-item,
.half-slider .slide-image-old {
    height: 50vh;
}

.btn-caesar-over {
    background-color: rgba(246, 243, 241, 0.5) !important;
    backdrop-filter: saturate(180%) blur(20px);
    transition: background-color 0.3s ease;
}

.btn-caesar-controls {
    background-color: rgba(246, 243, 241, 0.5) !important;
    backdrop-filter: saturate(180%) blur(20px);
    transition: background-color 0.3s ease;
}

.btn-caesar-controls span,
.btn-caesar-controls i {
    color: #000;
}

.btn.btn-caesar-controls:hover,
.btn.btn-caesar-controls:hover:not(.btn-active) {
    background-color: rgba(0, 0, 0, 0.5) !important;
}

.btn-caesar-controls:hover span,
.btn-caesar-controls:hover i {
    color: #fff;
}

.slider-controls {
    position: absolute;
    z-index: 15;
    margin-left: 35px;
    left: 0;
    bottom: 50px;
}

.slider-controls-app {
    position: relative;
    bottom: 0;
    width: 100%;
    text-align: center;
    padding: 0;
    margin: 0;
}

.tns-row .tns-nav {
    display: none;
    visibility: hidden;
}

.single-item.tns-item {
    opacity: 1;
}

.single-item.tns-item.tns-slide-active {
    opacity: 1;
}

.tns-row-centered .tns-outer {
    overflow: visible !important;
}

.fancy-text-box-evidenza.is-primary-slide {
    opacity: 1;
}

.btn-controll {
    line-height: 1;
}

.rotate-90 {
    transform: rotateZ(90deg);
    transition: transform 0.3s ease;
}

.tns.tns-slider .tns-nav button.tns-nav-active {
    width: 2.5rem;
}

.drawer-overlay {
    background-color: rgba(246, 243, 241, 0.5);
    backdrop-filter: saturate(180%) blur(40px);
    transition: background-color 0.3s ease;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

/* SECTIONS */

.section {
    padding: 5rem 0;
}

.small-section {
    padding: 2.5rem 0;
}

.super-small-section {
    padding: 1.25rem 0;
}

@media (min-width: 992px) {
    #cc_app_header_container {
        margin-top: 15px;
        margin-bottom: 15px;
        margin-left: 35px !important;
        margin-right: 35px !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

.tns.tns-default.tns-row {
    margin: 0;
}

.tns.tns-default.tns-row .tns-outer {
    width: 100%;
    margin: 0;
}

.tns.tns-default.tns-row .tns-inner {
    width: calc(100% + 20px);
}

.tns.tns-default.tns-row .tns-outer .tns-inner#tns1-iw {
    margin: 0;
}

.colorize-white img {
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(112deg)
        brightness(108%) contrast(100%);
}

.tns-row-centered .tns-ovh::before,
.tns-row-centered .tns-ovh::after {
    content: "";
    /* Necessario per gli pseudo-elementi */
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100px;
    /* Larghezza della sfumatura */
    pointer-events: none;
    /* Permette il click attraverso l'elemento */
    z-index: 1;
    /* Assicurati che sia sopra il contenuto */
}

.tns-row-centered .tns-ovh::before {
    left: 0;
    background: linear-gradient(to right, #ffffff 0%, transparent 100%);
}

.caesar-shape-container .tns-row-centered .tns-ovh::before {
    left: 0;
    background: linear-gradient(to right, #f6f3f1 0%, transparent 100%);
}

.tns-row-centered .tns-ovh::after {
    right: 0;
    background: linear-gradient(to left, #ffffff 0%, transparent 100%);
}

.link-white a {
    color: #ffffff;
}

.text-black {
    color: #1e1e1c;
}

.text-black * {
    color: #1e1e1c;
}

.text-white * {
    color: #ffffff;
}

footer h4 {
    position: relative;
    text-shadow:
        -1px -1px 0 #1e1e1c,
        1px -1px 0 #1e1e1c,
        -1px 1px 0 #1e1e1c,
        1px 1px 0 #1e1e1c;
    /* Effetto bordo nero */
    z-index: 10;
}

/*
footer h4:after {
    border-top: 1px solid rgba(255, 255, 255, 1) !important;
    content: "";
    display: table-cell;
    position: absolute;
    top: 0.5em;
    width: 100%;
    right: 0;
    opacity: 0.25;
    z-index: 5;
}
*/

footer h4 {
    display: flex;
    align-items: center;
}

footer h4:after {
    content: "";
    flex-grow: 1;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    margin-left: 15px;
}

.menu-ul li a {
    transition: text-shadow 0.3s ease;
}

.menu-ul li a:hover {
    text-shadow:
        0 0 10px #fff,
        0 0 15px #fff,
        0 0 20px rgba(255, 255, 255, 0.9),
        0 0 25px rgba(255, 255, 255, 0.4);
}

.border-start-1 {
    border-left: 1px solid #1e1e1c;
}

.spacing-top {
    margin-top: 120px;
}

/* Color options hover effect */
.color-option {
    cursor: pointer;
    transition: transform 0.2s ease;
    border: 2px solid transparent;
}

.color-option:hover {
    transform: scale(1.1);
}

.color-option.active {
    border-color: #000000;
    transform: scale(1.1);
}

/* Filter sections styling */
.menu-accordion .menu-link {
    padding: 0.75rem 0;
    border-bottom: 1px solid #eee;
}

.menu-sub-accordion {
    padding: 0.5rem 0;
}

/* Responsive adjustments */
@media (max-width: 991.98px) {
    #kt_app_sidebar {
        box-shadow: 0 0 50px 0 rgba(0, 0, 0, 0.1);
    }
}

.filter-item {
    border-bottom: 1px solid #f6f3f1;
}

.caesar-shape-container {
    position: relative;
    overflow: hidden;
}

.caesar-shape {
    position: absolute;
    top: 0;
    height: 200vh;
}

.caesar-shape.caesar-shape-left {
    left: -10%;
    width: 50%;
    height: 200vh;
    background: linear-gradient(
        to right,
        rgba(245, 243, 241, 1) 25%,
        rgba(245, 243, 241, 0.5) 75%,
        rgba(245, 243, 241, 0) 100%
    );
    clip-path: polygon(0 0, 100% 0, 0 100%);
    z-index: 0;
}

.caesar-shape.caesar-shape-right {
    top: -50vh;
    left: 50%;
    width: 50%;
    height: 200vh;
    background: linear-gradient(
        to right,
        rgba(245, 243, 241, 0.5) 0%,
        rgba(245, 243, 241, 0) 50%,
        rgba(245, 243, 241, 1) 75%
    );
    clip-path: polygon(100% 100%, 0 100%, 100% 0);
    z-index: 0;
}

.app-container {
    z-index: 1;
}

/* Card Hover Effect */
.card-hover {
    transition: all 0.3s ease;
    border: 1px solid #e4e6ef;
    /* Metronic border color */
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.02);
}

.card-hover .btn {
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

.card-hover:hover {
    transform: translateY(-25px);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    border-color: #fff;
    /* Slightly darker border on hover */
    background: #fff;
}

.card-hover:hover .btn {
    opacity: 1;
}

.card:hover {
    opacity: 1;
    background: #fff;
}

.h-50-vh {
    height: 50vh !important;
}

.h-75-vh {
    height: 75vh !important;
}

.row-background {
    background-position: top left;
    background-repeat: no-repeat;
    background-size: cover;
}

.row-abs-minus-50 {
    margin-top: -50px;
}

.row-abs-minus-100 {
    margin-top: -150px;
}

#solutions-slider .tns-ovh {
    padding-top: 50px;
}

.project-slider-items,
.magazine-slider-items {
    padding-bottom: 10px;
}

.overlay-wrapper {
    position: relative;
}

.w100-minus-gutter {
    width: calc(100% - (var(--bs-gutter-x) * 0.5));
}

.bg-dark-blur {
    background-color: rgba(255, 255, 255, 0.5) !important;
    backdrop-filter: saturate(180%) blur(20px) !important;
}

.rea-section .overlay-layer::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 600px;
    pointer-events: none;
    z-index: 1;
}

.rea-section .overlay-layer::after {
    right: -1px;
    background: linear-gradient(to left, #ffffff 0%, transparent 100%);
}

.card .overlay-layer .collection-list {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-content: flex-start;
    align-items: flex-start;
    justify-content: flex-start;
    z-index: 99;
}

.cta-button {
    font-size: 1rem;
}

/* Stato iniziale: nascosto e traslato verso l’alto */
.text-overlay {
    opacity: 0;
    transform: translateY(-50px);
    transition:
        opacity 0.75s ease,
        transform 0.5s ease;
    transition-delay: 1.5s;
}

/* Stato attivo: visibile e alla posizione normale */
.text-overlay.visible {
    opacity: 1;
    transform: translateY(0);
}

.vh-50 .text-overlay.visible {
    bottom: 35px;
}

#look-section {
    padding-top: 0;
}

.fade-in-on-scroll {
    opacity: 0;
    transform: translateY(-50px);
}

.action-bar {
    position: fixed;
    bottom: 43px;
    left: 50%;
    transform: translateX(-50%) translateY(40px);
    display: block;
    z-index: 105000;
    transition:
        opacity 0.3s ease,
        transform 0.3s ease;
    opacity: 0;
    width: 30vw;
    padding: 0.5rem 0;
}

.action-bar-decor {
    position: fixed;
    bottom: 20px;
    /* Aggiustato per stare bene a schermo */
    left: 50%;
    transform: translateX(-50%) translateY(40px);
    display: block;
    z-index: 105000;
    transition:
        opacity 0.3s ease,
        transform 0.3s ease;
    opacity: 0;
    pointer-events: none;
    /* Evita click quando invisibile */

    /* Larghezze responsive */
    width: 90vw;
    max-width: 1600px;
    /* Su desktop non diventerà troppo largo */
}

/* Il wrapper che applica la maschera sfumata ai lati */
.action-bar-scroll-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 5px 0;
    /* La magia della sfumatura: trasparente ai bordi, solido al centro */
    -webkit-mask-image: linear-gradient(
        to right,
        transparent 0%,
        black 15%,
        black 85%,
        transparent 100%
    );
    mask-image: linear-gradient(
        to right,
        transparent 0%,
        black 15%,
        black 85%,
        transparent 100%
    );
}

.action-bar-scroll-content {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 10px;
    scroll-behavior: smooth;
    padding: 0 15%;

    /* Cambiato da "mandatory" a "proximity" per non forzare troppo lo scroll manuale */
    scroll-snap-type: x proximity;

    /* Scrollbar sottile per Firefox */
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
    scrollbar-width: none;
}

/* Scrollbar personalizzata per Chrome/Edge/Safari */
.action-bar-scroll-content::-webkit-scrollbar {
    height: 6px;
    /* Altezza sottile per non essere invasiva */
    display: block;
}

.action-bar-scroll-content::-webkit-scrollbar-track {
    background: transparent;
}

.action-bar-scroll-content::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 10px;
}

.action-bar-scroll-content::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0, 0, 0, 0.4);
    /* Si scurisce al passaggio del mouse */
}

/* Stile base dei pulsanti nel carousel */
.action-bar-scroll-content .custom-goto {
    flex: 0 0 auto;
    /* Impedisce ai bottoni di restringersi */
    scroll-snap-align: center;
    /* Ferma lo scroll centrando il bottone (ottimo da mobile) */
    white-space: nowrap;
    /* Mantiene il testo su una sola riga */
    margin: 0 !important;
    /* Resetta i margini per usare il flex gap */
}

.action-bar.showbar {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
}

.large-action-bar.action-bar,
.GrandiLastrePage .action-bar {
    width: auto;
    min-width: 70vw;
}

img.touchplus_ico,
.touchplus_ico img {
    width: 22px !important;
    position: relative;
    top: -2px;
    margin-left: 4px;
}

.icon-touchplus img {
    width: 22px !important;
    position: relative;
    margin-left: 4px;
}

.table--sign img,
.sign_ico img {
    width: 34px !important;
    position: relative;
    top: 0px;
    margin-left: 2px;
    vertical-align: baseline !important;
}

.icons-coll {
    display: inline-block;
}

.icons-coll.icons-spessore u {
    position: relative;
    text-decoration: none;
    line-height: 18px;
}

.icons-coll.icons-spessore u:before {
    content: "^";
    position: absolute;
    left: 0;
    top: -14px;
    width: 100%;
    text-align: center;
    display: inline-block;
    font-size: 12px;
    transform: rotate(180deg);
}

.icons-coll.icons-spessore u:after {
    content: "^";
    position: absolute;
    bottom: -14px;
    left: 0;
    width: 100%;
    text-align: center;
    display: inline-block;
    font-size: 12px;
}

.text-green .icon-sign img,
.text-green .icon-touchplus img {
    filter: invert(78%) sepia(40%) saturate(3000%) hue-rotate(18deg)
        brightness(101%) contrast(100%);
}

.formato-superficie,
.formato {
    font-size: 1rem;
}

.listing-item-decor img {
    width: 100%;
}

.listing-item-decor span.not-uppercase,
.listing-item-decor span.uppercase {
    font-size: 1rem;
    margin-top: 0.5rem;
    display: inline-block;
}

.xs-padding-remove img {
    width: 100%;
}

.row-decori-type {
    padding-bottom: 1rem;
}

.titolo-loop-decori {
    padding-bottom: 0.5rem;
}

@font-face {
    font-family: "swiper-icons";
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
    font-weight: 400;
    font-style: normal;
}

/* FONT_END */
:root {
    --swiper-theme-color: #000000;
    /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:root {
    --swiper-pagination-color: var(--swiper-theme-color);
    --swiper-pagination-left: auto;
    --swiper-pagination-right: 8px;
    --swiper-pagination-bottom: 8px;
    --swiper-pagination-top: auto;
    --swiper-pagination-fraction-color: inherit;
    --swiper-pagination-progressbar-bg-color: rgba(0, 0, 0, 0.25);
    --swiper-pagination-progressbar-size: 4px;
    --swiper-pagination-bullet-size: 8px;
    --swiper-pagination-bullet-width: 8px;
    --swiper-pagination-bullet-height: 8px;
    --swiper-pagination-bullet-border-radius: 50%;
    --swiper-pagination-bullet-inactive-color: #000;
    --swiper-pagination-bullet-inactive-opacity: 0.2;
    --swiper-pagination-bullet-opacity: 1;
    --swiper-pagination-bullet-horizontal-gap: 4px;
    --swiper-pagination-bullet-vertical-gap: 6px;
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
}

.swipe .swiper-container-mobile {
    overflow: hidden;
}

.swiper-container-mobile {
    padding-top: 0;
}

.swiper-slide {
    flex: 0 0 auto;
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    /* Fix of Webkit flickering */
    z-index: 1;
    display: block;
}

.swiper-vertical > .swiper-wrapper {
    flex-direction: column;
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    transition-property: transform;
    box-sizing: content-box;
    flex-direction: row;
    height: auto;
}

#gallery-slider .swiper-wrapper,
.listing-footer .swiper-wrapper {
    flex-wrap: nowrap;
}

.swiper-slide {
    flex-shrink: 0;
    position: relative;
    transition-property: transform;
    display: block;
}

.swiper-button-prev,
.swiper-button-next {
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: calc(var(--swiper-navigation-size) / 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
    display: none !important;
}

.swiper-button-prev svg,
.swiper-button-next svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center;
}

.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
    transform: rotate(180deg);
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
}

.swiper-button-lock {
    display: none;
}

/* Navigation font start */
.swiper-button-prev:after,
.swiper-button-next:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    content: "prev";
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    content: "next";
}

.swiper-button-disabled .slider-controls {
    display: none;
    visibility: hidden;
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: 300ms opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10;
}

.swiper.swiper-container-mobile {
}

.swiper.swiper-container-mobile .swiper-wrapper {
    padding-bottom: 2rem;
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0;
}

.swiper.swiper-container-mobile .swiper-pagination {
    bottom: 0;
}

.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
    display: none !important;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
    top: auto;
    left: 0;
    width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33);
}

.swiper-pagination-bullet {
    width: 14px;
    height: 14px;
    display: inline-block;
    border-radius: 50%;
    background: #000;
    opacity: 0.25;
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer;
}

.swiper-pagination-bullet:only-child {
    display: none !important;
}

.swiper-pagination-bullet-active {
    opacity: 1;
    background: #000;
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
    right: 8px;
    left: auto;
    top: 50%;
    transform: translate3d(0px, -50%, 0);
}

.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets
    .swiper-pagination-bullet {
    margin: 6px 0;
    display: block;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
}

.swiper-vertical
    > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic
    .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic
    .swiper-pagination-bullet {
    display: inline-block;
    transition:
        200ms transform,
        200ms top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets
    .swiper-pagination-bullet {
    margin: 0 4px;
}

.swiper-horizontal
    > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
}

.swiper-horizontal
    > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic
    .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic
    .swiper-pagination-bullet {
    transition:
        200ms transform,
        200ms left;
}

.swiper-horizontal.swiper-rtl
    > .swiper-pagination-bullets-dynamic
    .swiper-pagination-bullet {
    transition:
        200ms transform,
        200ms right;
}

/* Fraction */
.swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */
.swiper-pagination-progressbar {
    background: var(
        --swiper-pagination-progressbar-bg-color,
        rgba(0, 0, 0, 0.25)
    );
    position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical
    > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0;
}

.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal
    > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0;
}

.swiper-pagination-lock {
    display: none;
}

:root {
    /*
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-top: auto;
  --swiper-scrollbar-bottom: 4px;
  --swiper-scrollbar-left: auto;
  --swiper-scrollbar-right: 4px;
  --swiper-scrollbar-sides-offset: 1%;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  --swiper-scrollbar-size: 4px;
  */
}

.swiper-scrollbar {
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    position: relative;
    touch-action: none;
    background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: var(--swiper-scrollbar-sides-offset, 1%);
    bottom: var(--swiper-scrollbar-bottom, 4px);
    top: var(--swiper-scrollbar-top, auto);
    z-index: 50;
    height: var(--swiper-scrollbar-size, 4px);
    width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
    position: absolute;
    left: var(--swiper-scrollbar-left, auto);
    right: var(--swiper-scrollbar-right, 4px);
    top: var(--swiper-scrollbar-sides-offset, 1%);
    z-index: 50;
    width: var(--swiper-scrollbar-size, 4px);
    height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    left: 0;
    top: 0;
}

.swiper-scrollbar-cursor-drag {
    cursor: move;
}

.swiper-scrollbar-lock {
    display: none;
}

/* Zoom container styles start */
.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Zoom container styles end */
.swiper-slide-zoomed {
    cursor: move;
    touch-action: none;
}

/* a11y */
.swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
    flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none;
}

.swiper-fade .swiper-slide-active {
    pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
}

.swiper.swiper-cube {
    overflow: visible;
}

.swiper-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
    content: "";
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    filter: blur(50px);
}

.swiper-cube .swiper-slide-next + .swiper-slide {
    pointer-events: auto;
    visibility: visible;
}

/* Cube slide shadows start */
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* Cube slide shadows end */
.swiper.swiper-flip {
    overflow: visible;
}

.swiper-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none;
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
}

/* Flip slide shadows start */
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* Flip slide shadows end */
.swiper-creative .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform, opacity, height;
}

.swiper.swiper-cards {
    overflow: visible;
}

.swiper-cards .swiper-slide {
    transform-origin: center bottom;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
}

.slide-title.title_lines {
}

#action-bar a {
    border-color: rgba(0, 0, 0, 0.25);
}

#action-bar a.active {
    background: rgba(255, 255, 255, 0.95) !important;
    color: #000 !important;
    border-color: #000 !important;
}

#action-bar a.active:hover {
    background: rgba(0, 0, 0, 0.95);
    color: #fff;
    border-color: #000;
}

.listing-footer {
    padding: 0;
    margin-bottom: 0;
}

.listing-footer.color-listing ul {
    padding: 0;
    margin: 0;
    margin-top: 1rem;
    list-style-type: none;
    min-height: 120px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-content: flex-start;
    align-items: flex-start;
    justify-content: center;
}

.color-listing ul li {
    flex: 0 1 20%;
    margin-bottom: 1rem;
    overflow: hidden;
    max-width: 50px;
    padding: 0 5px;
}

.listing-footer.color-listing ul li img {
    width: 50px;
}

.show-gamma-color .listing-item-decor img {
    width: auto;
}

table.dataTable tbody td {
    text-align: center;
    vertical-align: middle;
    min-width: 170px;
}

/* Minimale al posto del codice */
.dot {
    height: 10px;
    width: 10px;
    background-color: #000;
    border-radius: 50%;
    display: inline-block;
}

.filters {
    margin-bottom: 1rem;
}

table.dataTable thead th,
.table thead,
.table thead th,
.table thead span {
    font-style: normal;
    font-weight: 500;
    font-size: 1.15rem;
    text-align: left !important;
}

.table thead strong span {
    font-weight: 700;
}

table.table.dataTable.table-striped > tbody > tr:nth-of-type(2n + 1) > * {
    background: #f9f8f4 !important;
    box-shadow: none !important;
}

table.dataTable tbody td {
    text-align: left !important;
}

.dt-toolbar label {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    align-items: center;
}

table.table.dataTable {
    clear: both;
    margin-bottom: 0;
    max-width: none;
    border-spacing: 0;
    border-bottom: 2px solid #f6f3f1;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    width: auto !important;
}

.icons-coll img {
    height: 30px;
    width: 30px;
    top: -5px;
    position: relative;
}

.show-gamma-color-single .show-gamma-color-single-formati {
    position: absolute;
    top: 10px;
    left: 10px;
    pointer-events: none;
    font-size: 14px;
    opacity: 0;
}

.show-gamma-color-single .show-gamma-color-single-formati,
.flex__item,
.list__item__spec,
.formato {
    text-wrap: auto;
}

.show-gamma-color-single .show-gamma-color-single-formati ul {
    list-style-type: none;
    padding-left: 0;
}

.show-gamma-color-single .show-gamma-color-single-formati ul li {
    line-height: 20px;
}

.show-gamma-color-single:hover .show-gamma-color-single-variabilita,
.show-gamma-color-single.hover-simulato .show-gamma-color-single-variabilita,
.show-gamma-color-single:hover .show-gamma-color-single-formati,
.show-gamma-color-single.hover-simulato .show-gamma-color-single-formati {
    opacity: 1;
}

.featured-cnt__nav {
    position: relative;
    /* importante per sticky */
}

.tl-nav {
    /*position: sticky;
    top: 100px;
    overflow:unset;
    cursor: pointer;*/
    width: 100%;
}

.tl-nav a.selected {
    font-weight: bold;
    color: #000;
    /* esempio colore evidenziato */
}

.tl-nav ul {
    list-style-type: none;
    padding: 0;
}

.tl-nav.is_stuck {
    background: #fff;
    z-index: 1;
}

.tl-nav__item {
    margin-bottom: 20px;
    cursor: pointer;
}

.tl-nav__item:hover {
    color: #373734;
}

.tl-nav__item:hover span {
    border-color: #373734;
}

.tl-nav__item:last-child {
    margin-bottom: 0;
}

.tl-nav__item span {
    line-height: 0.9;
    text-transform: uppercase;
    padding-bottom: 5px;
    border-bottom: 5px solid #000;
    transition-property: all;
    -webkit-transition-property: all;
    transition-duration: 0.3s;
    -webkit-transition-duration: 0.3s;
    display: block;
    font-size: 16px;
}

.tl-nav__item.active {
    color: #ff4a4a;
}

.tl-nav__item.active span {
    border-color: #ff4a4a;
}

.tl-nav__item.off {
    opacity: 0.3;
    pointer-events: none;
}

.tl-nav-btn {
    margin-top: 30px;
}

.AdminLoginPage .tl-nav-btn input[type="submit"],
.contact-form-area .tl-nav-btn button[type="submit"],
.tl-nav-btn .AdminLoginPage input[type="submit"],
.tl-nav-btn .btn,
.tl-nav-btn .btn-landing,
.tl-nav-btn .contact-form-area button[type="submit"] {
    width: 100%;
    margin-top: 15px;
    font-size: 14px;
}

.tl-nav-btn .tooltip-cnt {
    display: none !important;
}

.tl-nav-msg {
    line-height: 1.2;
    font-size: 16px;
    text-align: center;
    text-transform: uppercase;
}

.tl-nav-msg strong {
}

.tl-posts {
    margin-left: -15px;
    margin-right: -15px;
}

.tl-unexpected > div {
    padding: 0;
}

.tl-unexpected-item {
    padding: 40px 40px 40px 22%;
    background: #f9dd52;
    background-size: 15% auto;
    border-radius: 5px;
}

.tl-unexpected-item__subtitle {
    margin-top: 15px;
}

.tl-unexpected-info {
    padding-left: 22%;
    font-size: 16px;
    margin-top: 40px;
}

.tl-unexpected-info .typo-cnt {
    font-size: 16px;
}

.tl-unexpected-info .typo-cnt p {
    margin: 0;
}

.tl-award-item .tl-title {
    margin-bottom: 30px;
}

.tl-award-item .tl-section__intro {
    margin: 0;
}

.tl-award-item__download {
    text-align: center;
    margin-top: 40px;
}

.tl-award-item__download .btn-download {
    vertical-align: middle;
}

.tl-award-item__img {
    margin-bottom: 40px;
}

.tl-section-next-step {
    padding-top: 60px;
}

.tl-section-next-step .tl-section__wrapper {
    padding-top: 0;
    padding-bottom: 0;
}

.tl-next-step {
    text-align: center;
}

.AdminLoginPage .tl-next-step input[type="submit"],
.contact-form-area .tl-next-step button[type="submit"],
.tl-next-step .AdminLoginPage input[type="submit"],
.tl-next-step .btn,
.tl-next-step .btn-landing,
.tl-next-step .contact-form-area button[type="submit"] {
    width: 100%;
}

.tl-highlight {
    margin-top: 40px;
}

.tl-highlight__title {
    font-size: 30px;
}

.tl-modal {
    text-align: center;
}

.tl-modal__title {
    margin-bottom: 50px;
}

.AdminLoginPage .tl-modal__btn input[type="submit"],
.contact-form-area .tl-modal__btn button[type="submit"],
.tl-modal__btn .AdminLoginPage input[type="submit"],
.tl-modal__btn .btn,
.tl-modal__btn .btn-landing,
.tl-modal__btn .contact-form-area button[type="submit"] {
    margin-left: 10px;
    margin-right: 10px;
}

.tl-section {
    position: relative;
    padding-top: 120px;
}

.tl-section__wrapper {
    position: relative;
    width: 100%;
    max-width: 1370px;
    padding-top: 100px;
    padding-bottom: 100px;
    margin-left: auto;
    margin-right: 0;
}

.tl-bg {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 280px;
    height: 100%;
    border-radius: 0.75rem;
    background: #dadada;
}

.tl-section__intro {
    margin-bottom: 70px;
    padding-left: 22%;
}

.tl-title,
.tl-title h2 {
    font-size: 80px;
    line-height: 0.8;
    text-transform: uppercase;
    margin-bottom: 15px;
}

.tl-description {
    background: #fff;
    padding-top: 50px;
    padding-bottom: 50px;
}

.tl-description h1,
.tl-description h2,
.tl-description h3,
.tl-description h4,
.tl-description h5,
.tl-description h6 {
    line-height: 0.9;
    text-transform: uppercase;
    display: inline-block;
    padding-bottom: 5px;
    border-bottom: 5px solid #000;
    margin-bottom: 15px;
}

.tl-description .btn-download {
    margin-top: 30px;
}

.tl-list__item {
    margin-top: 70px;
}

.tl-list__item:first-child {
    margin-top: 0;
}

.tl-list__item:nth-child(odd) .tl-cnt {
    margin-left: calc(50% + 140px + 20px);
}

.tl-list__item:nth-child(odd) .tl-img {
    left: 0;
}

.tl-list__item:nth-child(odd) .tl-cnt__title:before {
    left: -40px;
}

.tl-list__item:nth-child(even) .tl-cnt {
    margin-right: calc(50% + 140px + 20px);
    text-align: right;
}

.tl-list__item:nth-child(even) .tl-img {
    right: 0;
}

.tl-list__item:nth-child(even) .tl-cnt__title:before {
    right: -40px;
}

.tl-list__item .post__tag {
    position: relative;
}

.tl-item-box {
    position: relative;
    min-height: 400px;
    padding-top: 20px;
}

.tl-img {
    position: absolute;
    top: 0;
    width: 700px;
    max-width: 55%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.5);
}

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

.tl-img--bordered {
    -webkit-box-align: end;
    -ms-flex-align: end;
    -webkit-align-items: flex-end;
    -moz-align-items: flex-end;
    align-items: flex-end;
}

.tl-img--bordered:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 70%;
    height: 3px;
    background: #000;
}

.tl-cnt {
    word-break: break-word;
}

.tl-cnt__title {
    position: relative;
    font-size: 36px;
    line-height: 1;
    text-transform: uppercase;
    margin-bottom: 30px;
}

.tl-cnt__title:before {
    content: "";
    width: 30px;
    height: 3px;
    background: #000;
    display: block;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.tl-section ol,
.tl-section ul {
    list-style: none;
}

.tl-cnt img {
    display: none !important;
}

.tl-cnt::before {
    content: "";
    display: block;
    width: 50px;
    height: 50px;
    background-color: #1e1e1c;
    border-radius: 50%;
    margin-bottom: 15px;
}

.tl-list__item:nth-child(even) .tl-cnt::before {
    margin-left: auto;
    margin-right: 0;
    right: 0;
}

table#caesar_gammaprodotti {
}

table.dataTable.table__gammaprodotti thead th {
    text-align: center !important;
    padding-left: 0 !important;
    min-width: 150px;
    border-right: 1px solid #bab3a8 !important;
    border-bottom: 1px solid #fff !important;
    vertical-align: top;
    background: #fff !important;
}

table.dataTable.table__gammaprodotti tbody td {
    text-align: center !important;
    padding-left: 0 !important;
    border-left: 1px solid #fff !important;
    border-right: 1px solid #fff !important;
    border-bottom: 1px solid #fff !important;
    min-width: 150px;
    background: #fff!important;
}

table.dataTable.table__gammaprodotti tbody td.color-gamma {
    text-align: left !important;
}

.colori-swiper .swiper-wrapper {
    justify-content: center;
}

#formati-section .btn-bordered {
    border-color: #ccc;
}

.collapse-content {
    max-height: 50px;
    overflow: hidden;
    position: relative;
    transition: max-height 0.5s ease;
}

.collapse-content::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 50px;
    width: 100%;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0) 0%,
        #fff 100%
    );
    pointer-events: none;
    transition: opacity 0.3s ease;
}

/* Stato espanso */
.collapse-content.expanded {
    max-height: none;
}

.collapse-content.expanded::after {
    opacity: 0;
}

.accordion-button:not(.collapsed) {
    background-color: var(--bs-light-primary);
    color: var(--bs-primary);
    box-shadow: none;
}

.accordion-button:focus {
    box-shadow: none;
}

.top-minus-110 {
    margin-top: -110px !important;
}

.header_dark .hero-media:after {
    content: "";
    position: absolute;
    pointer-events: none;
    height: 50%;
    width: 100%;
    top: auto;
    bottom: 0;
    left: 0;
    background-image:
        linear-gradient(
            120deg,
            rgba(0, 0, 0, 0.5) 0%,
            rgba(0, 0, 0, 0) 40%,
            rgba(0, 0, 0, 0) 80%,
            rgba(0, 0, 0, 0.35) 100%
        ),
        radial-gradient(
            circle at 50% 60%,
            rgba(0, 0, 0, 0) 30%,
            rgba(0, 0, 0, 0.55) 80%
        );
    mix-blend-mode: darken;
    background: #000;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 1) 75%
    );
    opacity: 1;
    z-index: 1;
}

.header_dark .text-overlay {
    background: transparent;
    bottom: 35px;
}

.header_dark .text-overlay .text-overlay-content {
    padding: 0;
    border: 0;
    box-shadow: none;
    background-color: transparent;
    backdrop-filter: none;
}

.header_dark .text-overlay .text-overlay-content.text-black * {
    color: #fff !important;
    text-shadow: 0 0 50px rgba(0, 0, 0, 1);
}

.header_dark .text-overlay-content .cta-button {
    background: #000 !important;
    color: #fff !important;
}

.header_dark .text-overlay-content .cta-button:hover {
    background: #fff !important;
    color: #000 !important;
}

.header_dark .btn.btn-light {
    background: #000 !important;
    color: #fff !important;
}

.header_dark .btn-caesar-controls span,
.header_dark .btn-caesar-controls i {
    color: #fff;
}

.header_dark .btn.btn-light:active,
.header_dark .btn.btn-light:focus,
.header_dark .btn.btn-light:hover {
    background: #fff !important;
    color: #000 !important;
}

.header_dark .btn-caesar-controls:active span,
.header_dark .btn-caesar-controls:active i,
.header_dark .btn-caesar-controls:focus span,
.header_dark .btn-caesar-controls:focus i,
.header_dark .btn-caesar-controls:hover span,
.header_dark .btn-caesar-controls:hover i {
    color: #000;
}

.header_dark .tns .tns-nav button.tns-nav-active {
    background-color: #fff !important;
}

.map-image {
    max-width: 1400px;
    margin: 0 auto;
}

.mappulsing .map-image {
    position: relative;
    width: 100%;
}

.poi-marker {
    transform: translate(-50%, -50%);
    z-index: 10;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.poi-marker:hover {
    transform: translate(-50%, -50%) scale(1.2);
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
}

.poi-marker .ki-map-pin {
    color: var(--bs-primary);
}

.mappulsing img {
    width: 100%;
    height: auto;
    display: block;
}

.poi-marker::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 14px;
    background: rgba(var(--bs-secondary-rgb), 0.8);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: pulse 2s infinite;
    z-index: -1;
}

@keyframes pulse {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.8;
    }

    100% {
        transform: translate(-50%, -50%) scale(2.5);
        opacity: 0;
    }
}

.listing-collection,
.listing-carousel {
    position: relative;
}

.listing-carousel .ribbon {
    position: absolute;
    top: 25px !important;
    left: 15px;
}

.listing-carousel-link video,
.listing-carousel-link img {
    display: block;
    width: 100%;
    /* Opzionale, uniforma il comportamento */
}

.listing-carousel-link img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.listing-img-container {
    position: relative;
    height: 100%;
    overflow: hidden;
    float: left;
    width: 100%;
}

.listing-img-container:after,
.listing-img-container:before {
    position: absolute;
    height: 100%;
    width: 100%;
    display: block;
    top: 0;
    left: 0;
    content: "";
    z-index: 9;
}

.listing-img-container:after {
    opacity: 0;
    background: linear-gradient(to bottom, transparent 60%, rgba(0, 0, 0, 0));
    transition: opacity 0.4s;
}

.listing-img-container:hover:after {
    opacity: 0.9;
    background: linear-gradient(
        to bottom,
        transparent 60%,
        rgba(0, 0, 0, 0.55)
    );
    transition: opacity 0.3s;
}

.collezioni-item .listing-img-container:after {
    background: url(../../images/brand-caesar-2023.png) no-repeat 95% 100%;
}

.b-6265 .listing-img-container:after {
    background: url(../../images/brand-caesar-2023.png) no-repeat 95% 100%;
}

.b-caesar .listing-img-container:after {
    background: url(../../images/brand-caesar-2023.png) no-repeat 95% 100%;
}

.us .b-6265 .listing-img-container:after {
    background: url(../../images/brand-caesar-usa-ita-new.png) no-repeat 95%
        100%;
    opacity: 1;
}

.b-6273 .listing-img-container:after {
    background: url(../../images/brand-contract-solutions-2023.png) no-repeat
        95% 100%;
    opacity: 1;
}

.us .b-6273 .listing-img-container:after {
    background: url(../../images/brand-contract-solutions-new-us.png) no-repeat
        95% 100%;
    opacity: 1;
}

.b-caesar-contract-solutions .listing-img-container:after {
    background: url(../../images/brand-contract-solutions-2023.png) no-repeat
        95% 100%;
    opacity: 1;
}

.b-6266 .listing-img-container:after {
    background: url(../../images/brand-caesar-usa-2023.png) no-repeat 95% 95%;
    opacity: 1;
}

.b-caesar-usa .listing-img-container:after {
    background: url(../../images/brand-caesar-usa-2023.png) no-repeat 95% 95%;
    opacity: 1;
}

.b-14477 .listing-img-container:after {
    background: url(../../images/brand-caesar-usa-2023.png) no-repeat 95% 95%;
    opacity: 1;
}

.b-ve .listing-img-container:after {
    background: url(../../images/brand-caesar-usa-2023.png) no-repeat 95% 95%;
    opacity: 1;
}

.listing-logocollection {
    position: absolute;
    top: 7px;
    z-index: 999;
    right: 7px;
    width: 40px;
    display: block;
    font-size: 13px;
    padding: 0;
    overflow: hidden;
    height: 40px;
}

.logocollection-big {
    width: 100px;
    position: relative;
    margin-right: 10px;
}

@media screen and (max-width: 767px) {
    .logocollection-big {
        width: 90px;
        margin-right: 0px;
        display: block;
    }
}

.listing-title h3 {
    margin-bottom: 10px;
}

.float-left {
    float: left;
}

.logocollection-big {
    width: 125px;
    position: relative;
    top: -4px;
    margin-right: 10px;
}

/* Mantiene proporzioni responsive */
.plyr__video-embed {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: 20px;
}

.plyr__video-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.show-gamma-color-single .show-gamma-color-single-variabilita {
    position: absolute;
    top: 10px;
    right: 10px;
    pointer-events: none;
    opacity: 0;
    width: 30px;
}

.show-gamma-color-single:hover .show-gamma-color-single-variabilita,
.show-gamma-color-single.hover-simulato .show-gamma-color-single-variabilita,
.show-gamma-color-single:hover .show-gamma-color-single-formati,
.show-gamma-color-single.hover-simulato .show-gamma-color-single-formati {
    opacity: 1;
}

.text-shadow-small {
    border-radius: 0.55rem !important;
    color: #000 !important;
    padding: 2px;
    margin-bottom: 5px;
    background-color: rgba(246, 243, 241, 0.5);
    backdrop-filter: saturate(180%) blur(20px);
    transition: background-color 0.3s ease;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.5);
    display: block;
}

table.dataTable.table__gammaprodotti thead .th-colore {
    text-align: left !important;
    vertical-align: middle !important;
}

table.dataTable.table__gammaprodotti thead .th-colore,
table.dataTable.table__gammaprodotti tbody .td-colore {
    width: 150px !important;
    text-transform: none !important;
    padding-left: 10px !important;
}

table.dataTable.table__gammaprodotti tbody .dtfc-fixed-left,
table.dataTable.table__gammaprodotti tbody .td-colore {
    text-align: left !important;
    border-bottom: 1px solid #fff !important;
    text-transform: none !important;
    width: 150px !important;
    min-width: 150px;
    padding-left: 10px !important;
    padding-right: 10px !important;
}

#caesar_gammaprodotti_wrapper .dt-scroll {
    position: relative;
}

/* Trova .dtfc-right-shadow se è fratello di .dt-scroll */
.dtfc-scrolling-right ~ .dtfc-right-shadow {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 30px;
    z-index: 3;

    /* La sfumatura (cambia i colori se necessario) */
    background: linear-gradient(
        to left,
        #f9f8f7,
        /* Colore di sfondo */ rgba(249, 248, 247, 0)
            /* Stesso colore, ma trasparente */
    );

    pointer-events: none;
}

#caesar_gammaprodotti_wrapper div.dtfc-left-shadow {
    position: absolute;
    top: 0;
    left: 0;
    /* Attaccata a sinistra */
    bottom: 0;
    width: 30px;
    z-index: 3;

    /* La sfumatura: dal colore di sfondo a trasparente */
    background: linear-gradient(to right, #f9f8f7, rgba(249, 248, 247, 0));
    pointer-events: none;
}

.table__gammaprodotti {
    table-layout: fixed;
}

.table__gammaprodotti th.th-colore {
    width: 150px !important;
}

.table__gammaprodotti th:not(.th-colore) {
    width: 150px !important;
}

.row-loop-sx-dx {
    flex-direction: row;
    flex-wrap: nowrap;
    display: flex;
    justify-content: center;
}

.loop-sx {
    width: auto;
    float: left;
    display: inline-block;
    padding: 0;
}

.loop-dx {
    width: auto;
    float: left;
    display: inline-block;
    padding: 0;
}

.col-loop {
    float: left;
    width: 300px;
    padding: 20px;
    display: inline-block;
}

.clear-both {
    clear: both;
}

.color-item-grid-padding {
    padding: 20px 0;
}

.color-item-grid-padding-first {
    padding-bottom: 20px;
}

.col-loop-heading {
    width: 300px;
    padding: 20px;
    padding-bottom: 0;
}

.flex__item--title {
    background: #f6f3f1;
    font-style: normal;
    font-weight: 500;
    font-size: 1.15rem;
}

.mini-img-border-radius {
    position: relative;
    vertical-align: middle;
    display: inline-block;
    margin-right: 10px;
}

/* * 1. Stile Desktop (sopra 992px) 
 * Quando Swiper è disabilitato, trasformiamo il wrapper in una griglia.
*/
@media (min-width: 992px) {
    /* La classe .swiper-container-disabled viene aggiunta automaticamente dal JS */
    .desktop-grid-swiper.swiper-container-disabled .swiper-wrapper {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        /* 4 colonne */
        gap: 30px;
        /* Spazio tra gli elementi */
    }

    /* Resetta la larghezza degli slide quando sono in griglia */
    .desktop-grid-swiper.swiper-container-disabled .swiper-slide {
        width: auto !important;
        margin-right: 0 !important;
    }

    /* Nasconde i controlli Swiper su desktop */
    .desktop-grid-swiper .swiper-pagination,
    .desktop-grid-swiper .swiper-button-next,
    .desktop-grid-swiper .swiper-button-prev {
        display: none !important;
    }
}

/* * 2. Stile Mobile (sotto 992px)
 * Assicuriamoci che i controlli siano visibili solo su mobile.
*/
@media (max-width: 991.98px) {
    .desktop-grid-swiper .swiper-pagination,
    .desktop-grid-swiper .swiper-button-next,
    .desktop-grid-swiper .swiper-button-prev {
        display: block;
        /* O 'flex', a seconda del tuo stile */
    }

    /* Stile di base per i bottoni, se non li hai già */
    .desktop-grid-swiper .swiper-button-next,
    .desktop-grid-swiper .swiper-button-prev {
        color: #000;
        /* Cambia colore se serve */
        top: 50%;
        transform: translateY(-50%);
    }

    .desktop-grid-swiper .swiper-pagination {
        bottom: 0;
    }
}

@media (min-width: 0.0625em) {
    #tns2-iw {
        margin: 0 !important;
    }
}

.gm-style .gm-style-iw-c {
    max-width: 300px !important;
}

.gm-style .gm-style-iw-c h1 {
    font-size: 18px;
}

.filterRegion {
    padding-top: 15px;
    padding-bottom: 15px;
}

#map {
    margin-bottom: 50px;
}

#map-container {
    position: relative;
    height: 600px;
}

#scrollEnabling {
    top: 70px;
    right: 10px;
}

#scrollEnabling:before {
    margin-left: -3px;
}

#geoLocation:before,
#scrollEnabling:before,
#streetView:before {
    content: "\e015";
    font-family: simple-line-icons;
    position: relative;
    top: 2px;
    margin: 0 6px 0 0;
    font-size: 15px;
    line-height: 1px;
}

#map {
    width: 100%;
    margin: 0;
    z-index: 990;
}

#map div[style*="background-color: rgb(229, 227, 223);"] {
    background-color: #aadaff !important;
}

#map-container {
    position: relative;
    top: 0;
    left: 0;
    height: 520px;
    width: 100%;
    z-index: 990;
}

@media screen and (max-width: 767px) {
    .small-section.maps #map-container {
        height: auto;
    }

    .small-section.maps #map-container #map {
        width: 100% !important;
        height: 420px;
    }

    .small-section.maps #map-container .fixed__sidebar {
        width: 100%;
        float: none;
        height: 320px;
    }
}

.custom-zoom-in,
.custom-zoom-out {
    background-color: #fff;
    color: #000000;
    cursor: pointer;
    border-radius: 3px;
    margin: 5px 5px;
    transition:
        color 0.3s,
        background-color 0.3s;
    box-shadow: 0 1px 4px -1px rgba(0, 0, 0, 0.2);
    text-align: center;
    font-size: 24 px;
    height: 32px;
    width: 32px;
}

.custom-zoom-in:hover,
.custom-zoom-out:hover {
    background-color: #f6f3f1;
    color: #000000;
}

.custom-zoom-in:before,
.custom-zoom-out:before {
    font-family: keenicons-outline !important;
    width: 100%;
    line-height: 34px;
    transition: -webkit-text-stroke 0.3s;
    -webkit-text-stroke: 1px #fff;
}

.custom-zoom-in:before {
    content: "\eaa1";
}

.custom-zoom-out:before {
    content: "\ea78";
}

.custom-zoom-in:hover:before,
.custom-zoom-out:hover:before {
    -webkit-text-stroke: 1px #f6f3f1;
}

#mapnav-buttons {
    position: absolute;
    transform: translate(0, 0);
    z-index: 999;
    font-size: 13px;
    display: inline-block;
    bottom: 20px;
    right: 20px;
    list-style: none;
    padding: 0;
}

#mapnav-buttons.top {
    top: 20px;
    right: 20px;
    bottom: initial;
}

#mapnav-buttons li {
    float: left;
    margin-left: 4px;
    line-height: 20px;
}

#geoLocation,
#mapnav-buttons a,
#scrollEnabling,
#streetView {
    color: #000000;
    background-color: #fff;
    padding: 8px 16px;
    padding-top: 9px;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -transition: all 0.2s ease-in-out;
    box-sizing: border-box;
    display: inline-block;
    border-radius: 3px;
    box-shadow: 0 1px 4px -1px rgba(0, 0, 0, 0.2);
}

#geoLocation:hover,
#mapnav-buttons a:hover,
#scrollEnabling.enabled,
#scrollEnabling:hover,
#streetView:hover {
    background-color: #f6f3f1;
    color: #fff;
}

#nextpoint:after,
#prevpoint:before {
    font-family: keenicons-outline !important;
    position: relative;
    font-weight: 500;
    margin: 0 0 0 6px;
    font-size: 16px;
    top: 1px;
    line-height: 1px;
}

#prevpoint:before {
    content: "\f104";
    margin: 0 6px 0 0;
}

#nextpoint:after {
    content: "\f105";
    margin: 0 0 0 6px;
}

#geoLocation,
#scrollEnabling,
#streetView {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 999;
    font-size: 13px;
    line-height: 20px;
}

#scrollEnabling {
    top: 70px;
    right: 10px;
}

#geoLocation:before,
#scrollEnabling:before,
#streetView:before {
    content: "\ea7e";
    font-family: keenicons-outline !important;
    position: relative;
    top: 2px;
    margin: 0 6px 0 0;
    font-size: 15px;
    line-height: 1px;
}

#scrollEnabling:before {
    margin-left: -3px;
}

#streetView:before {
    content: "\f21d";
    font-family: keenicons-outline !important;
    font-size: 16px;
    top: 1px;
    margin-right: 8px;
}

#geoLocation {
    right: auto;
    left: 20px;
    padding: 8px 11px;
}

#geoLocation:before {
    content: "\f192";
    font-family: keenicons-outline !important;
    font-size: 16px;
    margin: 0;
    top: 2px;
}

.checkboxes {
    list-style: none;
    padding: 0;
}

.map-box {
    background-color: #fff;
    margin-bottom: 20px;
    border-radius: 3px;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.12);
    position: relative;
    left: -62px;
}

.map-box h4 {
    margin: 0;
    padding: 0;
}

.map-box h4 a {
    padding: 0;
    font-size: 17px;
    line-height: 25px;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    display: inline-block;
}

.map-box h4 a:hover {
    color: #f6f3f1;
}

.map-box p {
    padding: 0;
    line-height: 25px;
    margin: 2px 0 0;
    font-size: 14px;
}

.map-box ul.listing-details {
    padding: 0;
    font-size: 14px;
    display: none;
}

.map-box .listing-title {
    padding: 15px;
    padding-top: 20px;
}

.map-box .listing-img-content {
    padding: 15px 15px;
}

.map-box .listing-img-content span {
    font-size: 21px;
}

.map-box .listing-img-content .listing-price i {
    font-size: 14px;
    margin: 0;
    display: block;
    text-decoration: none;
    text-transform: capitalize;
    font-style: normal;
}

.map-box .listing-img-content .listing-price strong {
    text-transform: uppercase;
    font-size: 18px;
    line-height: 20px;
}

.infoBox > img {
    position: absolute !important;
    right: 0;
    top: 0;
}

.map-box .listing-img-container:before {
    background: linear-gradient(to bottom, transparent 60%, rgba(0, 0, 0, 0));
}

.map-box .listing-img-container:before {
    background: linear-gradient(to bottom, transparent 60%, rgba(0, 0, 0, 0));
}

.map-box .listing-img-container:after {
    background: linear-gradient(to bottom, transparent 60%, rgba(0, 0, 0, 0));
}

.cluster img {
    display: none;
}

.cluster {
    width: 36px !important;
    height: 36px !important;
}

.cluster div {
    text-align: center;
    font-size: 15px !important;
    color: #fff !important;
    font-weight: 500;
    border-radius: 50%;
    width: 36px !important;
    height: 36px !important;
    line-height: 36px !important;
    background-color: #66676b;
}

.cluster div:before {
    border: 7px solid #66676b;
    opacity: 0.2;
    box-shadow: inset 0 0 0 4px #66676b;
    content: "";
    position: absolute;
    border-radius: 50%;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    animation: cluster-animation 2.5s infinite;
}

@keyframes cluster-animation {
    0%,
    100% {
        transform: scale(1.3) rotate(0);
    }

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

.infoBox-close {
    position: absolute;
    top: 2px;
    right: 2px;
    display: inline-block;
    z-index: 999;
    text-align: center;
    line-height: 20px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    height: 20px;
    width: 20px;
    color: #fff;
    background-color: #000000;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    border-radius: 3px;
    -webkit-text-stroke: 1px #fff;
}

.infoBox-close:hover {
    color: #000000;
    background-color: #efefef;
    -webkit-text-stroke: 1px #f6f3f1;
}

.map-box-icon {
    height: 38px;
    width: 38px;
    position: absolute;
    bottom: 0;
    right: 0;
    background-color: #3685cf;
    display: block;
    color: #fff;
    font-size: 12px;
    z-index: 101;
    text-align: center;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);
    transform: translateX(50%);
    opacity: 0;
    visibility: hidden;
}

.map-box-icon:before {
    content: "";
    font-family: FontAwesome;
    position: relative;
    top: 7px;
    display: block;
}

.map-box-image:hover .map-box-icon {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateX(0);
}

.map-box-image {
    position: relative;
    overflow: hidden;
    display: block;
}

.infoBox {
    -webkit-animation: fadeIn 0.9s;
    animation: fadeIn 0.9s;
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.infoBox:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 40px;
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 20px solid #fff;
}

.checkboxes input[type="checkbox"] {
    display: none;
}

.DoveTrovarciNewHolder .checkboxes label {
    display: inline-block;
    cursor: pointer;
    position: relative;
    padding-left: 38px;
    margin-right: 20px;
    margin-bottom: 0;
    font-size: 14px;
    margin-top: 5px;
    width: 100%;
}

.markerIconRiv,
.markerIconSer,
.markerIconSed {
    display: inline-block;
}

.map__navigation {
    margin: 0;
    padding: 15px;
}

.map__navigation select {
    margin-bottom: 0;
}

.checkboxes input[type="checkbox"]:checked + label {
    color: #000000;
}

.checkboxes input[type="checkbox"]:checked + label:before {
    content: "\e83f";
    font-family: keenicons-outline !important;
    font-size: 12px;
    color: #fff;
    text-align: center;
    line-height: 15px;
    background-color: #000000;
    border: 2px solid transparent;
    transition: border-color 0;
}

.toggle-container-wrap {
    max-height: 250px;
    overflow: hidden;
    overflow-y: visible;
}

.toggle-container-halfwrap {
    max-height: 300px;
}

.map__navigation {
    margin: 0;
    padding: 15px;
}

.map__navigation select {
    margin-bottom: 0;
}

#map {
    height: 100%;
    width: 100%;
    margin: 0;
    z-index: 990;
    float: right;
}

.fixed__sidebar {
    height: 100%;
    width: 30%;
    float: left;
    overflow-y: auto;
    overflow-x: hidden;
    display: none;
}

.gotomap h2 {
    font-size: 18px;
    line-height: 24px;
}

.style-2 .trigger a {
    text-transform: uppercase;
    font-size: 20px;
    line-height: 50px;
    color: #000000;
    font-weight: 700;
    display: inline-block;
}

.gotomap {
    padding: 10px;
}

.gotomap:nth-of-type(odd) {
    background: #f6f3f1;
}

.sfondogrigio {
    background: #f6f3f1;
}

.checkboxes.checkboxesmarker label {
    padding-left: 33px;
    font-size: 14px;
}

.checkboxes.checkboxesmarker input[type="checkbox"] + label:before {
    width: 35px;
    height: 35px;
    margin-right: 15px;
    position: absolute;
    left: 0;
    top: -5px;
    background-image: url(../../images/markerIconEmpty.png) !important;
    background-size: cover !important;
    background-position: 0 0 !important;
    background-repeat: no-repeat !important;
    background-color: transparent !important;
    border: 0;
}

.checkboxes.checkboxesmarker input[type="checkbox"]:checked + label:before {
    content: "" !important;
}

.checkboxes.checkboxesmarker
    .markerIconRiv
    input[type="checkbox"]:checked
    + label:before {
    background-image: url(../../images/markerIconRiv.png) !important;
}

.checkboxes.checkboxesmarker
    .markerIconSed
    input[type="checkbox"]:checked
    + label:before {
    background-image: url(../../images/markerIconSed.png) !important;
}

.checkboxes.checkboxesmarker
    .markerIconSho
    input[type="checkbox"]:checked
    + label:before {
    background-image: url(../../images/markerIconSho.png) !important;
}

.checkboxes.checkboxesmarker
    .markerIconSer
    input[type="checkbox"]:checked
    + label:before {
    background-image: url(../../images/markerIconSer.png) !important;
}

.listing-img-content {
    position: relative !important;
}

.map-box .listing-img-content span {
    color: #000000;
    font-size: 20px;
}

.map-box .listing-img-content .listing-price i {
    font-size: 14px;
}

.map-box .listing-content .listing-title {
    padding-top: 0;
}

.map-box .listing-content .listing-title h4 {
    font-size: 14px;
}

.map-box .listing-content .listing-title p small {
    display: none;
    visibility: hidden;
}

.listItem {
    width: 100%;
}

.listItem .dovetrovarciItem {
    margin: 0;
    margin-bottom: 20px;
    list-style-type: none;
    border-radius: 3px;
    -webkit-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    overflow: hidden;
}

.listItem .dovetrovarciItem:hover {
    -webkit-transition: all 200ms ease-in;
    -webkit-transform: scale(1.15);
    -ms-transition: all 200ms ease-in;
    -ms-transform: scale(1.15);
    -moz-transition: all 200ms ease-in;
    -moz-transform: scale(1.15);
    transition: all 200ms ease-in;
    transform: scale(1.15);
    z-index: 999;
}

.listItem .dovetrovarciItem a {
    background: #f6f3f1;
    padding: 20px 10px;
    border-radius: 3px;
    float: left;
    width: 100%;
}

.listItem .dovetrovarciItem a h2 {
    font-size: 22px;
    margin: 10px 0;
    font-weight: 600;
}

.listItem .dovetrovarciItemSingle {
    margin: 0;
    margin-bottom: 20px;
    list-style-type: none;
    border-radius: 3px;
}

.listItem .gotonow {
    border: 1px solid #f6f3f1;
    padding: 10px;
    border-radius: 0.95rem !important;
    float: left;
    width: 100%;
    height: 100%;
}

.listItem .gotonow h2 {
    font-size: 18px;
    margin: 10px 0;
}

.listItem .gotonow p {
    font-size: 14px;
}

.gotonowAlert {
    overflow: hidden;
    border-radius: 0.95rem !important;
}

.toggle-wrap {
    margin-bottom: 2rem;
}

.bg-light-gray {
    background: #f6f3f1;
}

.forms__caesar input {
    margin-top: 1rem;
    border: 1px solid #000000;
    width: 50%;
    color: #000000;
    background: #ffffff;
    --bs-btn-border-radius: 0.55rem;
    --bs-btn-padding-x: 1rem;
    --bs-btn-padding-y: 0.5rem;
    border-radius: var(--bs-btn-border-radius);
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
    font-size: var(--bs-btn-font-size);
    line-height: var(--bs-btn-line-height);
    text-align: center;
}

.SigninPage .action {
    margin-top: 2rem;
    font-weight: bold;
    --bs-btn-border-radius: 0.55rem;
    --bs-btn-padding-x: 1rem;
    --bs-btn-padding-y: 0.5rem;
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
    color: #fff;
    background: #000000;
    border: 1px solid #000000;
    font-size: var(--bs-btn-font-size);
    line-height: var(--bs-btn-line-height);
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    border-radius: var(--bs-btn-border-radius);
    width: 50%;
}

.list-style-type-none {
    list-style-type: none;
}

.downrow i {
    font-size: 25px;
    float: right;
}

.breadcrumb .breadcrumb-item {
    display: flex;
    align-items: center;
    padding-left: 15px;
}

.risutili_list_single-header {
    display: grid;
    gap: 10px;
    grid-template-columns: 10% 90%;
    align-items: center;
}

.DownloadManagedPage,
.DownloadHolder {
    color: #000;
}

.DownloadManagedPage a,
.DownloadHolder a {
    color: #000;
}

.dlwdpage-sidebar_column a {
    background-color: #fff;
    padding: 5px;
    border-radius: 0.55rem;
    display: flex;
    flex-direction: row;
    gap: 5px;
    align-items: center;
    margin-bottom: 1rem;
}

.dlwdpage-sidebar_column a:last-item {
    margin-bottom: 0;
}

.dlwdpage-sidebar_column a.active {
    pointer-events: none;
}

.dwldpage-title {
    border-bottom: 2px solid #000;
    color: #000;
}

.dwldpage-addFields-selectall {
    margin-bottom: 25px;
}

.dwldpage-list {
    list-style-type: none;
    color: #000;
    margin: 0;
    padding: 0;
    font-size: 1.25rem;
}

.dwld-item {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 10px 0;
    flex-wrap: wrap;
}

.dwldpage-list .dwld-item {
    border-bottom: 1px solid #ccc;
}

.dwldpage-sendEmail {
    margin-top: 25px;
}

.dlwdpage-form {
    color: #000;
}

.dlwdpage-form ul {
    margin-left: 25px;
}

.dlwdpage-form ul li {
}

.dlwdpage-form .Actions .action {
    background: #000;
    border-width: 2px;
    border-style: solid;
    border-color: #000;
    color: #fff;
    border-radius: 0;
}

.vocCap_Clz-listClrs,
.voci_capitolato_collezioni_grid {
    margin: 0;
    margin-bottom: 50px;
}

.vocCap_Clz-listClrs-single_grid,
.single_voci_capitolato_collezioni_grid {
    margin-bottom: 25px;
}

.c-black {
    color: #000;
}

.freeaccess .dwldpage_container {
    margin-top: 150px;
}

.dwld-item-cnt input {
    margin: 0;
    position: relative;
    top: -1px;
}

.dwld-item-cnt {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
}

.dwldpage-addFields-selectall {
    border-width: 2px;
    border-style: solid;
    border-color: #000;
    background: #fff;
    color: #000;
}

.dwldpage-sendEmail,
.DownloadHolder .btn.btn-transparent-blue {
    background: #000;
    border-width: 2px;
    border-style: solid;
    border-color: #000;
    color: #fff;
}

.RisUtiliHeader-anchors {
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(4, auto);
    gap: 20px;
    text-transform: uppercase;
}

.dwldpage_container {
}

.dlwdpage-sidebar {
}

.dlwdpage-sidebar_column {
    padding: 10px;
    background-color: #f2f2f2;
}

.dlwdpage-sidebar_column a {
    background-color: #fff;
    padding: 5px;
    border-radius: 5px;
    display: flex;
    flex-direction: row;
    gap: 5px;
    align-items: center;
    margin-bottom: 10px;
}

.dwldpage-list {
    list-style-type: none;
}

.dwld-item {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 10px 0;
    flex-wrap: wrap;
}

.dwld-item-cnt {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
}

.dwld-item-cnt input {
    margin: 0;
    position: relative;
    top: -1px;
}

.dwld-item-sfogliabile {
    width: 100%;
}

.dwldpage-sendEmail {
    display: none;
}

.form_discl_sent_success {
    display: flex;
    gap: 15px;
    align-items: center;
    padding-bottom: 80px;
}

.form_discl_sent_success i {
    font-size: 50px;
    color: green;
}

#Form_SendFilesForm_action_doSendFiles.disabled {
    opacity: 0.5;
    pointer-events: none;
}

.accordion-flush .accordion-header .accordion-button,
.accordion-flush .accordion-body {
    padding: var(--bs-accordion-body-padding-y) 0;
}

.col-loop:has(img[src=""]) {
    display: none;
}

#tns3-iw {
    margin: 0 !important;
}

.content-card {
    background: #fff;
    right: -80px;
    position: relative;
    margin-top: 30px;
    z-index: 99;
}

.image-card {
    position: relative;
    z-index: -1;
}

.tl-anno-sedi {
    display: block;
    border-bottom: 1px solid #d8d8d8;
    padding-bottom: 15px;
    font-size: 18px;
    margin: 0 0 25px !important;
}

.timeline-section .container {
    position: relative;
}

.timeline-marker {
    position: absolute;
    left: 0;
    top: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.timeline-dot {
    width: 16px;
    height: 16px;
    background-color: #002f57;
    border-radius: 50%;
    position: relative;
    z-index: 2;
    animation: pulse 2s infinite;
    top: 55px;
}

.timeline-line {
    flex: 1;
    width: 2px;
    background-color: #002f57;
    left: 7px;
    height: 100%;
    position: absolute;
    z-index: -2;
}

@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.5);
        opacity: 0.6;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.timeline-entry {
    position: relative;
}

.timeline-entry .col-md-6:first-child {
    padding-right: 3rem;
}

.timeline-entry .col-md-6:last-child {
    padding-left: 3rem;
}

.pb-50 {
    padding-bottom: 50px;
}

@media screen and (max-width: 768px) {
    .content-tl-block {
        order: 2;
        padding: 15px !important;
    }

    .content-card {
        right: 0;
        top: -60px;
    }

    .image-card {
        position: relative;
        z-index: -1;
        order: 1;
    }

    .pb-50 {
        padding-bottom: 20px;
    }
}

#tour iframe {
    height: 100%;
    padding: 0;
    margin: 0;
}

#collapseForm label {
    margin-top: 15px;
}

#footernav-section .row,
.pagination-container {
    border-top: 3px solid #f5f3f1;
    border-bottom: 3px solid #f5f3f1;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.metronic-form-wrapper {
    max-width: 600px;
    margin: 0 auto;
    padding: 20px;
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.1);
    font-family: "Inter", sans-serif;
}

/* Label e select */
.metronic-form-wrapper label.left {
    margin-bottom: 0.5rem;
    font-size: 1.05rem;
    font-weight: 500;
    color: var(--bs-gray-800);
}

.metronic-form-wrapper select.dropdown,
.metronic-form-wrapper input.action {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    border: 1px solid #d1d5db;
    font-size: 1rem;
}

.metronic-form-wrapper input {
    display: block;
    width: 100%;
    padding: 0.775rem 1rem;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.5;
    color: var(--bs-gray-700);
    appearance: none;
    background-color: var(--bs-body-bg);
    background-clip: padding-box;
    border: 1px solid var(--bs-gray-300);
    border-radius: 0.55rem;
    box-shadow: false;
    transition:
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
}

/* Hover e focus */
.metronic-form-wrapper select.dropdown:focus,
.metronic-form-wrapper input.action:focus {
    border-color: #000000;
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0.25);
}

/* Pulsante */
.metronic-form-wrapper input.action {
    background-color: #000000;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out;
    margin-top: 1rem;
}

.metronic-form-wrapper input.action:hover {
    background-color: #000000;
}

/* Errori e messaggi */
.metronic-form-wrapper .message {
    color: #f1416c;
    margin-bottom: 1rem;
}

/* Disclaimer */
.metronic-form-wrapper .disclaimer {
    font-size: 0.875rem;
    color: #6c757d;
    margin-top: 1rem;
}

.carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.carousel-fade .carousel-item {
    opacity: 0;
    transition-property: opacity;
    -webkit-transform: none;
    transform: none;
}

.text-green,
.text-green h3,
.btn-link.text-green,
a.text-green-hover:hover {
    color: #c5d300 !important;
}

.text-green .icons-coll img {
    filter: invert(85%) sepia(30%) saturate(3000%) hue-rotate(18deg)
        brightness(101%) contrast(100%);
}

.text-red,
.text-red h3,
.btn-link.text-red,
a.text-red-hover:hover {
    color: #ffe600;
}

.text-red .icons-coll img {
    filter: invert(99%) sepia(84%) saturate(5527%) hue-rotate(337deg)
        brightness(104%) contrast(97%);
}

.header_dark .button-overlay {
    z-index: 10;
}

.header_dark .button-overlay a,
.header_dark .button-overlay a span {
    color: #ffffff;
}

.fancy-text-box-magazine:hover {
    transform: translateY(-15px);
    /*box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);*/
    /*border-color: #fff;*/
}

.table--touchplus img,
.btn-filter img {
    width: 20px;
    vertical-align: bottom;
}

.text-overlay-visible {
    opacity: 1 !important;
}

.active-negative {
    margin-top: -110px;
}

.accordion-builder .accordion-button::after {
    display: none;
    visibility: hidden;
}

.toggle-icon {
    border-radius: 50%;
    border: 1px solid #000;
    height: 60px;
    line-height: 70px;
    width: 60px;
    padding: 0;
    text-align: center;
}

/* --- WRAPPER SECTION --- */
.stack-section {
    position: relative;
    padding: 0;
}

.stack-wrapper {
    position: relative;
    padding-left: 35px !important;
    padding-right: 35px !important;
}

/* --- CARD --- */
.stack-card {
    position: sticky;
    top: 0;
    padding: 140px 0;
    background: #fff;
    border-radius: 24px;
    margin-bottom: -160px;
    /* Effetto stacking */
    transform: scale(1) translateY(40px);
    opacity: 0;
    transition:
        transform 0.6s cubic-bezier(0.16, 1, 0.3, 1),
        opacity 0.6s ease-out;
}

/* Layer reveal — quando entra */
.stack-card.is-visible {
    transform: scale(1) translateY(0);
    opacity: 1;
}

.stack-section {
    position: relative;
    padding: 0;
    padding-bottom: 350px;
}

.stack-section::before {
    /*content: "";*/
    position: absolute;
    top: 0;
    width: 100%;
    height: 200px;
    pointer-events: none;
    background: linear-gradient(to bottom, #fff 0%, transparent 100%);
    z-index: 999;
}

/* Z-index dinamico per stacking */
.stack-card:nth-child(1) {
    z-index: 50;
}

.stack-card:nth-child(2) {
    z-index: 49;
}

.stack-card:nth-child(3) {
    z-index: 48;
}

.stack-card:nth-child(4) {
    z-index: 47;
}

/* … oppure via inline “$Pos(-)” */

/* --- MOBILE FALLBACK --- */
@media (max-width: 767px) {
    .stack-card {
        position: relative;
        margin-bottom: 40px;
        padding: 60px 0;
        transform: none !important;
        opacity: 1 !important;
        z-index: auto !important;
    }

    .stack-section::before {
        display: none;
    }
}

.bg-odd {
    background-color: #f5f3f1;
}

.bg-even {
    background-color: #fdfdfd;
}

.card-middle {
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
}

.card-last {
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

.drawer.drawer-end {
    right: -10px;
}

.drawer {
    border-top-left-radius: 0.95rem;
    border-top-right-radius: 0.95rem;
    border-bottom-left-radius: 0.95rem;
    border-bottom-right-radius: 0.95rem;
    top: 10px;
    bottom: 10px;
}

.drawer.drawer-on {
    right: 10px !important;
}

.menu-doc {
    z-index: 10500 !important;
}

#gallery-section {
    z-index: 0;
}

.linear-wrapper-ext {
    flex-wrap: nowrap !important;
}

.colore-col {
    padding: 20px !important;
}

.overlay.overlay-block {
    cursor: default !important;
    text-align: left;
}

.overlay-bottom {
    top: auto !important;
    bottom: 25px !important;
    left: 25px !important;
    right: 25px !important;
    height: auto !important;
    padding: 10px;
    text-align: left !important;
    flex-direction: column;
    align-items: flex-start !important;
}

.overlay-bottom p {
    padding-bottom: 0;
    margin-bottom: 0;
}

@media (min-width: 992px) {
    .custom-sticky-column {
        position: -webkit-sticky;
        /* Per compatibilità Safari */
        position: sticky;
        top: 120px;
        /* Distanza dal bordo superiore mentre scrolli */
        z-index: 10;
        /* Assicura che stia sopra altri elementi se serve */
    }
}

.row-desktop-reset-mobile {
    flex-wrap: nowrap !important;
}

.swiper-container-mobile .swiper-wrapper.swiper-decori {
}

.nascondi-loop {
    visibility: hidden;
}

.mostra-loop {
    visibility: visible;
}

.admin-edit-button {
    position: fixed;
    border-radius: 60px !important;
    -webkit-border-radius: 60px !important;
    -moz-border-radius: 60px !important;
    display: block;
    z-index: 104001;
    font-size: 25px;
    left: 20px;
    right: auto;
    bottom: 20px;
    height: 58px;
    width: 58px;
    opacity: 1;
    color: #000000;
}

.admin-edit-button:hover {
}

.admin-edit-button .icon {
    font-size: 20px;
    line-height: 1;
}

.list__item__spec {
    margin-bottom: 1rem;
}

.arrow-list {
    list-style: none;
    padding-left: 0;
}

.arrow-list li {
    position: relative;
    padding-left: 18px;
    margin-bottom: 6px;
}

.arrow-list li::before {
    content: "→";
    position: absolute;
    left: 0;
    font-weight: bold;
}

.loopFormatiCollezione.mb-10 {
    margin-bottom: 1rem !important;
}

.DownloadManagedPage footer a,
.DownloadHolder footer a {
    color: #fff;
}

#cc_drawer_menu .card .card-header .card-title {
    width: 100%;
    display: flex;
    align-items: center;
    margin: 0.5rem;
    margin-left: 0;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
}

#cc_drawer_menu .card .card-header .card-title .btn-bordered {
    min-width: 130px;
    display: none;
}


/* Assicura che la modale full-screen occupi davvero tutto lo spazio */
.modal-fullscreen .modal-content {
    height: 100vh;
}

/* Header in posizione assoluta o fissa per non rubare spazio e sovrapporsi al layout */
.modal-fullscreen .modal-header {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1055;
    padding: 2rem;
}

/* Nasconde la scrollbar generale e permette lo scroll solo all'interno delle colonne */
.modal-fullscreen .modal-body {
    overflow-y: hidden; 
}

/* Aggiunge un effetto hover sulle card degli effetti (tipico di Metronic) */
.hover-elevate-up {
    transition: transform 0.3s ease;
}
.hover-elevate-up:hover {
    transform: translateY(-5px);
}


.tns.tns-default.tns-row.tns-modal .tns-inner{
    padding: 0!important;
    margin: 0!important;
}

.btn-modal-prod-close{
    border: 1px solid #000000!important;
    color: #ffffff!important;
    opacity: 1!important;
}

#modalMegaMenuProdotti .modal-fullscreen .modal-header{
    padding-top: 10px;
}

.minimale-img-colore{
    display: flex;
    align-items: center; 
    white-space: nowrap; 
}

.minimale-img-colore img{
    float: left;
}

.minimale-img-colore span{
    float: left;
}

table.dataTable.table-bordered tr td:last-child, table.dataTable.table-bordered tr th:last-child {
    border-bottom-width: 0 !important;
    border-right: 0 !important;
}