html,

body {

    max-width: 100%;

    overflow-x: hidden;

}



body {

    -webkit-font-smoothing: antialiased !important;

    -moz-osx-font-smoothing: grayscale !important;

    text-rendering: optimizeLegibility !important;

}



/*    HEADER   */





header {

    position: fixed;

    top: 0;

    left: 0;

    width: 100%;

    z-index: 10000;

    transition: all 0.5s ease-in-out;

    background: #fff;

}



header .logo {

    fill: #ffffff !important;

    height: 50px;

    width: auto;

    transition: all 0.5s ease-in-out;

}



header .top-menu {

    gap: 30px !important;

}



header .top-menu ul {

    margin-bottom: 0 !important;

}



header .top-menu ul li a {

    font-family: 'Font Regular' !important;

    font-size: 16px;

    line-height: 16px;

    color: var(--color-text);

}



header .top-menu ul li a.lang {

    font-family: 'Font Semibold' !important;

    text-transform: uppercase;

    color: #cccccc !important;

}





header .top-menu ul li a:hover,

header .top-menu ul li a.active {

    color: var(--color-sicur-red) !important;

}





header .menu-desktop {

    gap: 30px !important;

}



header .menu-desktop ul {

    margin-bottom: 0 !important;

}



header .menu-desktop ul li a {

    font-family: 'Font Regular' !important;

    font-size: 20px;

    line-height: 20px;

    color: var(--color-text);

    transition: all 0.3s ease-in-out;

}



header .menu-desktop ul li a:hover {

    color: var(--color-sicur-red) !important;

}





header .menu-desktop ul li a.active {

    color: var(--color-sicur-red) !important;

    font-family: 'Font Semibold' !important;

}





header .menu-desktop .ico-menu {

    height: 20px;

    width: auto;

    fill: var(--color-text);

    transition: all 0.5s ease-in-out;

    transform: scaleX(-1);

}





.header-slider {

    height: calc(100dvh - 139px);

    overflow: hidden;

}



.header-slider .swiper {

    height: 100%;

}



.header-slider .swiper-slide {

    position: relative;

}



.header-slider .wrap-media-object {

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

}



.header-slider .wrap-media-object .media-object {

    width: 100%;

    height: 100%;

    object-fit: cover;

}





.header-slider .caption {

    position: absolute;

    bottom: 0;

    margin-bottom: 60px;

    width: 35%;

}







.menu-mobile {

    background: #fff;

    border-color: transparent !important;

    height: 100dvh !important;

}



.menu-mobile ul {

    margin-bottom: 0 !important;

}



.menu-mobile ul li a {

    font-family: 'Font Regular' !important;

    font-size: 20px;

    line-height: 20px;

    color: var(--color-text);

}



.menu-mobile ul li a:hover,

.menu-mobile ul li a.active {

    color: var(--color-sicur-blue) !important;

}



.menu-mobile ul li a.lang {

    font-family: 'Font Semibold' !important;

    text-transform: uppercase;

    color: #cccccc;

}





/*    CUSTOM  */



.list-big {

    font-family: 'Font Medium';

    font-size: 30px;

    line-height: 30px;

    background: rgba(229, 36, 41, 0);

    border-bottom: 1px solid #000;

    padding: 24px 0 24px 0;

    transition: all 0.5s ease-in-out;

    cursor: pointer;

}



.list-normal {

    font-family: 'Font Medium';

    font-size: 24px;

    line-height: 24px;

    background: rgba(229, 36, 41, 0);

    border-bottom: 1px solid #000;

    padding: 15px 0 15px 0;

    transition: all 0.5s ease-in-out;

    cursor: pointer;

}



.list-normal:hover {

    font-family: 'Font Medium';

    font-size: 24px;

    line-height: 24px;

    background: rgba(229, 36, 41, 0);

    border-bottom: 1px solid #000;

    padding: 15px 5px 15px 5px;

    transition: all 0.5s ease-in-out;

    cursor: pointer;

}



.boxFunzionamento {

    background: #f7f7f7;

    padding: 50px;

    border: 0.5px solid rgba(0, 0, 0, 0.2);

}



/*    TABLE */



.general-table {

    display: grid;

    width: 100%;

}



.general-table.project-table {

    grid-template-columns: 0.5fr 5fr 1.5fr 0.5fr;

    /* Personalizza la larghezza delle colonne */

}



.general-table .table-row {

    display: contents;

    /* Mantiene l'allineamento senza bisogno di wrapper extra */

}



.general-table .cell {

    font-family: 'Font Medium';

    font-size: 30px;

    line-height: 30px;

    background: rgba(229, 36, 41, 0);

    border-bottom: 1px solid #000;

    padding: 24px 0 24px 0;

    transition: all 0.5s ease-in-out;

    min-height: 100%;

    align-items: center;

    cursor: pointer;

    /* Per centrare anche il contenuto della cella */

}



.general-table a:hover.table-row .cell {

    background: rgba(229, 36, 41, 0.1);

    border-bottom: 1px solid var(--bg-primary);

    padding: 24px 10px 24px 10px;

}



/*    OFFCANVAS    */





#offcanvasProject {

    z-index: 10100;

    background: var(--bg-primary);

    width: 30vw;

}



#offcanvasProject .offcanvas-header {

    padding: 50px 50px 25px 50px;

}



#offcanvasProject .offcanvas-header .btn-close {

    --bs-btn-close-bg: url('../icon/icon-close-w.svg');

    --bs-btn-close-opacity: 1;

    transition: all 0.5s ease-in-out;

}



#offcanvasProject .offcanvas-body {

    padding: 25px 50px 50px 50px;

    color: #ffffff !important;

}





/*    FOOTER   */



footer {

    border-bottom: 1px solid #fff;

}



footer p {

    font-family: 'Font Regular' !important;

    font-size: 20px !important;

    line-height: 30px !important;

    color: #fff;

}



footer ul {

    margin-bottom: 0 !important;

}



footer ul li a {

    font-family: 'Font Regular' !important;

    font-size: 20px;

    line-height: 30px;

    color: #fff;

    transition: all 0.5s ease-in-out;

}



footer ul li a:hover {

    padding-left: .2rem !important;

}



footer a.link {

    text-decoration: none;

    transition: all 0.5s ease-in-out;

}



footer a.link:hover {

    opacity: 1;

    padding-left: .2rem !important;

}



footer .ico {

    height: 22px;

    width: auto;

}







/*    SWIPER SLIDER  */







.sliderHomeServizi .swiper-container,

.sliderFunzionamento .swiper-container {

    width: 100%;

}



.sliderHomeServizi .swiper-slide, .sliderFunzionamento .swiper-slide {

    text-align: left;

    /* Center slide text vertically */

    display: -webkit-box;

    display: -ms-flexbox;

    display: -webkit-flex;

    display: flex;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    -webkit-justify-content: center;

    justify-content: center;

    -webkit-box-align: center;

    -ms-flex-align: center;

    -webkit-align-items: center;

    align-items: center;

    flex-shrink: unset !important;

}







.sliderHomeServizi .swiper-button-next,

.sliderHomeServizi .swiper-button-prev,

.sliderFunzionamento .swiper-button-next,

.sliderFunzionamento .swiper-button-prev {

    position: relative;

    top: 50%;

    width: calc(var(--swiper-navigation-size) / 44 * 27);

    height: var(--swiper-navigation-size);

    z-index: 10;

    cursor: pointer;

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--color-text) !important;

    left: 0;

    right: 0;

    padding-top: 5px;

}





.sliderHomeServizi .swiper-pagination-bullet,

.sliderFunzionamento .swiper-pagination-bullet {

    width: 12px;

    height: 12px;

    display: inline-block;

    border-radius: 50%;

    background: var(--color-sicur-blue);

    opacity: .2;

    margin-right: 2px;

    margin-left: 2px;

}



.sliderHomeServizi .swiper-pagination-bullet-active,

.sliderFunzionamento .swiper-pagination-bullet-active {

    opacity: 1;

}

.iframecontatti{
    height: 360px;
}