body {
    
}
/* Classe per la direzione ltr */
.ltr {
direction: ltr;
text-align: left;
}

/* Classe per la direzione rtl (predefinita per le lingue come arabo) */
.rtl {
direction: rtl;
text-align: right;
}

h1,h2,h3 {
    color: #0c2f8f;
}
p b {
    font-weight: 900;
    text-decoration: underline;
}

h2 strong {
    font-weight:700;
}

h3 {
    font-weight:300 !important
}

h3 b {
    font-weight:700 !important
}


.white {
    color:#FFF;
}
.navbar {
    background-color:#FFF;
    position: fixed;
    top:20px;
    width: 70%;
    border-radius:30px;
    left: 50%;
    transform: translateX(-50%);  
    padding:0px 20px;
    z-index: 9999; 
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;         
}

.navbar-brand img {
    height: 65px;
}
.hero {
    position: relative;
    height: 80vh;
    height: 600px;
    /*overflow: hidden;*/
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-align: center;
}
.hero video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}

.hero img {
    width: 90%;
}
.hero h1 {
    font-size: 3rem;
    opacity: 0;
    z-index: 999;
    position: absolute;
}
.intro-text {
    color: white;
    padding: 30px 70px;
    padding-bottom:40px;
    text-align: center;
    margin:0 auto;
    background-color: #35afa2;
    background-image: linear-gradient(180deg, #795aa4 0%, 38%, #182c78 100%);
    z-index: 999;
    border-radius:30px;
    width: 900px;
    max-width: 90%;
    margin-top:-20px;
    position: relative;
    z-index: 99;
}

.innerHeroADR {
    display: block;
    background-image: linear-gradient(
        to left,
        rgba(0, 128, 0, 0.6),     /* verde semitrasparente */
        rgba(200, 162, 200, 0.6)  /* glicine semitrasparente */
    ),
    url("../assets/img/weareADRCenter.jpg");
    background-position: center center;
    background-size: cover;
    padding-top: 260px;
    padding-bottom: 100px;
}

.innerHeroComeFunzione {
    display: block;
    background-image: linear-gradient(
        to left,
        rgba(0, 128, 0, 0.6),     /* verde semitrasparente */
        rgba(200, 162, 200, 0.6)  /* glicine semitrasparente */
    ),
    url("../assets/img/come-funziona.jpg");
    background-position: center center;
    background-size: cover;
    padding-top: 260px;
    padding-bottom: 100px;
}

.innerHero {
    display: block;
    background-image: linear-gradient(
        to left,
        rgba(0, 128, 0, 0.6),     /* verde semitrasparente */
        rgba(200, 162, 200, 0.6)  /* glicine semitrasparente */
    ),
    url("<?php echo $root ?>/assets/img/finance-4858797_1920.jpg");
    background-position: center center;
    background-size: cover;
    padding-top: 260px;
    padding-bottom: 100px;
}

.innerHero h1, .innerHeroADR h1, .innerHeroComeFunzione h1 {
    color:#FFF;
}


.step-number {
    color:#333;
    font-size:40px;
    font-weight:700;
    display:block;
}

.step-container {
    border-radius:30px;
    padding: 30px;
    color:#FFF;
}

.image-frame {
    background-image: url("../assets/img/hands-8297611_1920.jpg");
    background-size:cover;
    padding:250px 40px;
    text-align:center;
    color:#FFF;
    font-weight:900;
    font-size:18px;
    border-radius:30px;            
}

.image-frame-weare {
    background-image: url("../assets/img/weareADRCenter.jpg");
    background-size:cover;
    background-position: center center;
    padding: 350px 40px 120px 40px;
    text-align:center;
    position: relative;
    z-index: 2; /* base */
    border-radius:30px;
    
}
.image-frame-weare::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(16,84,255,0.6), rgba(0,188,9,0.6));
    pointer-events: none; /* così non interferisce con i clic */
    z-index: -1; /* base */
    border-radius:30px;
}

.image-frame-weare h2 {
    color:#FFF;
    font-weight:900 !important;
    font-size:60px;
    line-height:55px;
}
.image-frame-weare p {
    color:#FFF;
    font-size:16px;
}

.bg-one {
    /*
    background-color: #35afa2;
    background-image: linear-gradient(128deg, #1C6984 0%,rgb(103, 156, 50) 38%, #92D64E 100%);
    */
    background: #aa4b6b;  /* fallback for old browsers */
    background: -webkit-linear-gradient(to right, #3b8d99, #6b6b83, #aa4b6b);  /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(to right, #3b8d99, #6b6b83, #aa4b6b); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */

}
.bg-two {
    /*
    background-color: #35afa2;
    background-image: linear-gradient(128deg,rgb(44, 135, 168) 0%,rgb(137, 198, 77) 38%,rgb(165, 230, 100) 100%);
    */
    background: #f7ff00;  /* fallback for old browsers */
    background: -webkit-linear-gradient(to right, #db36a4,rgb(237, 226, 22));  /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(to right, #db36a4,rgb(237, 226, 22)); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */

}
.bg-three {
    /*
    background-color: #35afa2;
    background-image: linear-gradient(128deg,rgb(44, 135, 168) 0%,rgb(137, 198, 77) 38%,rgb(165, 230, 100) 100%);
    */
    background: #007991;  /* fallback for old browsers */
    background: -webkit-linear-gradient(to right,rgb(31, 196, 146), #007991);  /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(to right, rgb(31, 196, 146), #007991); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */

}
.for-free {
    position: absolute;
    width: 150px;
    top: -60px;
    right: 30px;
}
.step-container h3 {
    font-size: 36px;
    margin-bottom: 10px;
    line-height: 36px;
    margin-bottom:20px;
}

.intro-text a {
    font-weight: bold;
    color: white;
    font-size: 16px;
    font-weight: 500 !important;
}

.intro-text p {
    font-size:19px;
}

.stats-box {
    text-align: center;
    padding: 20px;
    border-radius: 10px;
    background: #73bc4f;
    color: white;
}
.stats-box h2 {
    font-size: 3rem;
}

.nav-link-dark {
    color:#333;
    font-size:1rem;
    text-decoration:none;
    padding: 0 10px;
}
.nav-link-dark a:hover {
    text-decoration: underline !important;
}

h2 {
    font-weight:100 !important;
    font-size:36px;
}
h2 b {
    font-weight:600 !important;
}
.icon-container {
    min-height: 170px;
}

.rounded-img {
    border-radius:30px;
}

.subfooter-privacy {
    text-align: right !important;
}

.image-to-right {
    margin-right:-30px;
}

.lang-overlay {
    top: -4px;
}

.close-overlay {
    font-size: 35px;
    top: 5px;
    right: 31px;
}

.breadcrumb, .breadcrumb a  {
    color:#FFF;
    font-size:13px;
    text-transform: uppercase;
    letter-spacing:1px;
    margin-top:10px;
}

.lang-mobile {
    display:none;
}

.box-ecosystem {
    border-radius:30px;
    padding:30px;           
    padding-top:50px;
    margin-bottom:20px;

}

.istitutiona {
    background: #283c86;  /* fallback for old browsers */
    background: -webkit-linear-gradient(67deg, #45a247,rgb(40, 76, 207));  /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(267deg, #45a247,rgb(40, 76, 207)); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
    color:#FFF;
}
.istitutiona2 {
    background-image: 
        linear-gradient(267deg, rgba(69, 162, 71, 0.7), rgba(40, 76, 207, 0.7)), /* sfumatura semitrasparente */
        url('../assets/img/meeting-5395615_1920.jpg'); /* immagine sotto */

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    color: #FFF;
}


.solve {
    background: #3CA55C;  /* fallback for old browsers */
    background: -webkit-linear-gradient(67deg, #B5AC49, #3CA55C);  /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(67deg, #B5AC49, #3CA55C); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */

    color:#FFF;
}

.solve2 {
    background-image:
        linear-gradient(67deg, rgba(112, 173, 0, 0.8), rgba(7, 87, 31, 0.8)),
        url('../assets/img/weareADRCenter.jpg');       /* immagine sotto */

    background-size: cover;  /* o "contain" a seconda delle esigenze */
    background-position: center;
    background-repeat: no-repeat;

    color: #FFF;
}

.solve3 {
    background-image:
        linear-gradient(67deg, rgba(112, 173, 0, 0.8), rgba(7, 87, 31, 0.8)),
        url('../assets/img/cardSolve3.jpg');       /* immagine sotto */

    background-size: cover;  /* o "contain" a seconda delle esigenze */
    background-position: center;
    background-repeat: no-repeat;

    color: #FFF;
}

.solve4 {
    background-image:
        linear-gradient(67deg,rgba(248, 240, 8, 0.69),rgba(86, 20, 176,0.8)),
        url('../assets/img/cardOds2.jpg');       /* immagine sotto */

    background-size: cover;  /* o "contain" a seconda delle esigenze */
    background-position: center;
    background-repeat: no-repeat;

    color: #FFF;
}

.mondoAdr {
    background: #000428;  /* fallback for old browsers */
    background: -webkit-linear-gradient(67deg, #004e92, #000428);  /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(67deg, #004e92, #000428); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
    color:#FFF;
}

.mondoAdr2 {
    background-image: 
        linear-gradient(67deg, rgba(0, 78, 146, 0.7), rgba(0, 4, 40, 0.7)),  /* sfumatura semitrasparente */
        url('../assets/img/office-desk-6952919_1920.jpg');  /* immagine sotto */

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    color: #FFF;
}

.academy {
    background: #c21500;  /* fallback for old browsers */
    background: -webkit-linear-gradient(67deg, #ffc500, #c21500);  /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(67deg, #ffc500, #c21500); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
    color:#FFF;
}

.academy2 {
    background-image: 
        linear-gradient(67deg, rgba(255, 197, 0, 0.7), rgba(194, 21, 0, 0.7)), /* sfumatura semitrasparente */
        url('../assets/img/leonardoDUrso_ADR_training-1024x902.jpg'); /* immagine sotto */

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    color: #FFF;
}

.box-ecosystem {
    transition: background-size 0.4s ease; /* o all se preferisci */
}

.box-ecosystem:hover {
    background-size: 140%;
    background-image:none !important;
    color:#333 !important;
    background-color:#efefef;
}

.box-ecosystem:hover h3 {
    color:#333 !important;
}

.box-ecosystem:hover a {
    color:#333 !important;
}



.box-ecosystem h3 {
    color:#FFF;
    font-size:23px;
    font-weight:700 !important;
}

.box-ecosystem a {
    color:#FFF;
    text-align:right;
    text-decoration:none;
    font-weight:500;
    display: block;
}

.coverage {
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.top-footer {
    background-color:#fbfbfb;
    padding-top:50px;
    padding-bottom:50px;
    margin-top:80px;
}

@media (max-width: 1500px) {
    .navbar {
        width: 80%;    
    }
}


@media (max-width: 1300px) {
    .navbar {
        width: 90%;    
    }
}

@media (max-width: 800px) {
    .hero {
        height: auto;
    }
    .hero h1 {
        font-size:20px;
        margin-top:30px;
    }
    .intro-text {
        margin-top:-10px;
        padding: 30px 30px;

    }
    .intro-text p {
        font-size:15px;
    }
    .navbar {
        width: 96%;  
    }

    .btn-mob {
        margin-top:10px;
        width: 100%;
    }
    .btn-mob-last {
        margin-top:10px;
        margin-bottom:20px;
        width: 100%;
    }
    footer {
        margin:0 10px;
    }
    .subFooter {
        text-align: center !important;
    }
    .subfooter-privacy {
        text-align: center !important;
    }
    .image-to-right {
        margin-right:0px;
    }
    .lang-mobile {
        display:block;
        margin-bottom:20px;
    }

    .lang-mobile a {
        display:block;
    }

    .hero img {
        width: 100%;
        margin-top: 50px;
    }
}

#sticky-image {
    transition: top 0.3s ease;
}

.vertical-line-wrapper {
position: relative;
height: 300px; /* altezza della linea */
display: flex;
justify-content: center;
align-items: center;
}

.vertical-line {
width: 4px;
height: 100%;
background: linear-gradient(to bottom, #4f46e5, #6366f1);
border-radius: 2px;
position: relative;
box-shadow: 0 0 10px rgba(99, 102, 241, 0.3);
}

.label-top {
position: absolute;
top: 0;
transform: translateY(-50%);
background-color: #fff;
padding: 0.3rem 0.8rem;
font-size: 0.9rem;
font-weight: 500;
color: #4f46e5;
border: 1px solid #d1d5db;
border-radius: 999px;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
}

.label-top:hover {
background-color: #4f46e5;
color: #fff;
border-color: transparent;
}

.accordion-button {
border-bottom: 1px solid  #f8f9fa;
font-weight: bold;
font-size:18px;
}
/*
.accordion-button:not(.collapsed) {
background-color: #e9ecef;
color: #0d6efd;
}
*/

.accordion {
    border-radius:0px;
}

.accordion-item:first-of-type {
    border-radius:0px;
}
.accordion-item:last-of-type  {
    border-radius:0px;
}

.accordion-button {
    background:none !important;
}

.accordion-button:focus {
    box-shadow: none;
    outline: none;
    text-decoration:underline;
}

.accordion-item {
    border-left: 4px solid #4D368C;
    padding-left: 1rem;
    margin-bottom:12px;
}

/* iconcina rimbalzina */

.mouse {
    position: fixed;
    right: 10px;
    bottom: 18%;
    z-index: 9999;
}

.mouse img {
    width: 50px;
}

.bounce {
    -moz-animation: bounce 3s infinite;
    -webkit-animation: bounce 3s infinite;
    animation: bounce 3s infinite;
}

@-moz-keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
    -moz-transform: translateY(0);
    transform: translateY(0);
    }
    40% {
    -moz-transform: translateY(-30px);
    transform: translateY(-30px);
    }
    60% {
    -moz-transform: translateY(-15px);
    transform: translateY(-15px);
    }
}
@-webkit-keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    }
    40% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
    }
    60% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
    }
}
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
    transform: translateY(0);
    }
    40% {
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
    }
    60% {
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
    }
}