/* IMPOSTO COLORI INDICOO */


:root {
    --testo: #333;
    --colore-primario: #9E81F0;
    --colore-secondario: #dcd1fd;
    --verde: #22d0aa;
    --font-family-inter: "Inter", sans-serif;
    --font-optical-sizing: auto;
    --font-weight-100: 100;
    --font-weight-200: 200;
    --font-weight-300: 300;
    --font-weight-400: 400;
    --font-weight-500: 500;
    --font-weight-600: 600;
    --font-weight-700: 700;
    --font-weight-800: 800;
    --font-weight-900: 900;
    --font-style-normal: normal;

}

/* FONT */



BODY {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    color: var(--testo);
    font-family: var(--font-family-inter);
    font-weight: var(--font-weight-400);
    font-style: var(--font-style-normal);
    font-optical-sizing: var(--font-optical-sizing);
}

a {
    color: #333;
    text-decoration: none
}

/*HEADER*/

.user-menu {
    width: 100vw;
    height: 5vh;
    background-color: #333;
    color: #fff;
    position: fixed;
    z-index: 9999999999;
    line-height: 5vh;
    font-size: .9em;
}

.user-menu a {
    color: #866ebb;
}

.user-menu-col {
    line-height: 5vh;
    font-size: .9em;
}

.user-menu-notifiche {
    line-height: 5vh;
    font-size: .9em;
}

.indicoo-header {
    top: 0;
    left: 0;
    right: 0;
    z-index: 99;
    padding: 44px 0;
    position: fixed;
    transition: padding .3s;
}

.indicoo-header .container {
    max-width: 1200px;
}

.indicoo-header-mappa {
    top: 0;
    left: 0;
    right: 0;
    z-index: 99;
    padding: 44px 0;
    position: fixed;
    transition: padding .3s;
    box-shadow: 0 0 45px rgba(0, 0, 0, 0.09);
    background-color: rgba(255, 255, 255, 0.29);
    backdrop-filter: blur(13px);
    -webkit-backdrop-filter: blur(13px);
}



header .logo {
    width: 200px;
}

header #logo {
    opacity: 1;
    position: absolute;
}

header #logo-c {
    opacity: 0;
    position: absolute;
    margin-right: -100px;
}


/*SEZIONI*/

.hero.home {
    overflow: hidden;
    padding: 200px 0 160px;
    background: url('../images/bg/header.webp') center/cover no-repeat;
    position: relative;
}

.hero.home form {
    position: relative;
}


/*
.hero.pagina {
	overflow: hidden;
	padding: 200px 0 160px;
	background: url('../images/indicoo-background.svg') center/cover no-repeat, linear-gradient(100deg, rgb(164, 134, 250) 0%, rgb(67, 46, 95) 100%);
}*/

.hero.pagina {
    overflow: hidden;
    padding: 200px 0 160px;
    background: url('../images/bg/header.webp') center/cover no-repeat, linear-gradient(100deg, rgb(164, 134, 250) 0%, rgb(67, 46, 95) 100%);
    min-height: 85vh;
}

.hero.ai {
    overflow: hidden;
    padding: 200px 0 160px;
    background: url('../images/bg/header.webp') center/cover no-repeat, linear-gradient(100deg, rgb(164, 134, 250) 0%, rgb(67, 46, 95) 100%);
    min-height: 55vh;
}

.hero.mappa {
    overflow: hidden;
    padding: 200px 0 160px;
    height: 100vh;
}

section {
    width: 100%;
    margin: 0;
}

section.hero {
    min-height: 95vh;
}

section.hero.pagina {
    min-height: 50vh;
}

/* TAGS HERO */

.tags {
    color: #fff;
    margin-top: 2rem;
}

.tags .tag {
    display: inline-block;
    padding: 6px 10px;
    border: 1px solid #000;
    border-radius: 25px;
    font-size: .9em;
    text-transform: uppercase;
    margin-right: 8px;
    transition: all .2s ease;
    margin-bottom: 10px;
}

.tags-alt .tag {
    display: inline-block;
    padding: 6px 10px;
    border: 1px solid #9E81F0;
    border-radius: 25px;
    font-size: .8em;
    text-transform: uppercase;
    margin-right: 8px;
    transition: all .2s ease;
    margin-bottom: 10px;
    color: #9E81F0;
}

.tags-dark .tag {
    display: inline-block;
    padding: 6px 10px;
    border: 1px solid #000;
    border-radius: 25px;
    font-size: .8em;
    text-transform: uppercase;
    margin-right: 8px;
    transition: all .2s ease;
    margin-bottom: 10px;
    color: #000;
}

.tags .tag:hover {
    transform: translate(-1px, -1px);
    box-shadow: 3px 3px 0 0 #1f1d0d
}

.tags .tag a {
    color: #000;
}

h1.banner_big_title {
    font-size: 3em;
    color: #483267;
    font-weight: var(--font-weight-400);
    /* padding-right: 1vw; */
    transition: all .6s ease;
    line-height: 1em;
    font-weight: 400;
}

h1.banner_big_title .bold {
    font-weight: var(--font-weight-700);
}

.subbanner {
    font-size: 1.2em;
    color: #000;
}

.banner_description {
    color: #707070;
    font-family: "Inter", sans-serif;
    font-size: 1.3em;
    font-weight: 200;
}


.container {
    max-width: 1350px !important;
    padding-left: 15px;
    padding-right: 15px;
}

.section-spazio {
    padding-top: 120px;
    padding-bottom: 120px;
}


/* NAVIGAZIONE */

nav ul {
    margin-top: 15px;
    margin-left: 1em;
}

nav ul li {
    list-style-type: none;
    display: inline-block;
    margin-right: 20px;
    position: relative;
    font-weight: var(--font-weight-400);

    text-transform: uppercase;
    font-size: .9em;
}

nav ul li a {
    text-decoration: none;
    transition: all .6s ease;
    color: #483267;
    padding: 6px 8px;
    border: 1px solid transparent;
    border-radius: 35px;
}

nav ul li a:hover {
    border-radius: 35px;
    border: 1px solid #483267;
    background-color: transparent;
    color: #483267;
    text-decoration: none;
}

nav ul li a.active {
    border-radius: 35px;
    background-color: transparent;
    border: 1px solid #483267;
    color: #483267;
    text-decoration: none;
}

nav ul.color-change li a {
    color: #483267;
}

nav ul.color-change li a:hover {
    color: #fff;
    background-color: #483267;
}

nav ul.color-change li a.active {
    color: #fff;
    background-color: #483267;
    border-color: #483267;
}


header .pulsanti-menu {
    position: absolute;
    right: 300px;
}

header .accedi {
    display: inline-block;
    right: 200px;
    top: 50px;
    border: 1px solid #fff;
    padding: 5px 15px;
    color: #fff;
    border-radius: 5px;
    transition: all .6s ease;
}

header .accedi a {
    color: #fff;
}

header .accedi:hover a {
    color: #9E81F0;
}

header .accedi:hover {
    background-color: #fff;
}

header .iscriviti {
    display: inline-block;
    top: 50px;
    border: 1px solid #fff;
    background-color: #fff;
    padding: 5px 15px;
    color: #9E81F0;
    border-radius: 5px;
    transition: all .6s ease;
    margin-left: 14px;
}

header .iscriviti a {
    color: #9E81F0;
}

header .iscriviti:hover a {
    color: #fff;
}

header .iscriviti:hover {
    background-color: #9E81F0;
}

#iscriviti.color-change {
    border: #9E81F0 1px solid;
}

#accedi.color-change {
    border: #9E81F0 1px solid;
    background-color: #9E81F0;
    color: #fff;
}

#accedi.color-change:hover {
    border: #9E81F0 1px solid;
    background-color: #fff;
    color: #9E81F0;
}

#accedi.color-change a {
    color: #fff;
}

#accedi.color-change:hover a {
    color: #9E81F0;
}



/*SLIDER SLICK*/

.section-slider {
    padding-top: 120px;
    padding-bottom: 120px;
}

.img-slider {
    border-radius: 5px;
    background-color: #9E81F0;
    width: 90%;
    margin-left: 5%;
    box-shadow: 10px 10px 0px 0px rgba(168, 138, 255, 0.50);
}

.titolo-slider {
    color: #333;
    font-size: 3em;
    font-weight: var(--font-weight-400);
    margin-bottom: 2rem;
    line-height: 1.2em;
}

.titolo-slider .bold {
    font-weight: var(--font-weight-700);
}


/* SEZIONE STORIE */
/*SLIDER SLICK*/

.section-storie {
    padding-top: 120px;
    padding-bottom: 120px;
}

.storia {
    padding: 3%
}

.img-storie {
    border-radius: 5px;
    background-color: #9E81F0;
    width: 90%;
    margin-left: 5%;
    box-shadow: 10px 10px 0px 0px rgba(168, 138, 255, 0.50);
}

.titolo-storie {
    color: #9E81F0;
    font-size: 4em;
    font-style: normal;
    font-weight: 400;
    line-height: 3.3rem;
    margin-bottom: 3rem;
    margin-top: 3rem;
}

.titolo-storie .bold {
    font-weight: var(--font-weight-700);
}

.testo-storie {
    color: #333;
    font-size: 1.4em;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.testo-storie .bold {
    font-weight: 700;
}

.section-storie .pulsante {
    border-radius: 49.5px;
    border: 0.762px solid #333;
    background: #333;
    color: #fff;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    padding: 15px 38px 15px 38px;
    margin-top: 40px;
    width: auto;
    display: inline-block;
}


/* SEZIONE STORIE V2*/
/*SLIDER SLICK*/

.section-storie-v2 {
    padding-top: 120px;
    padding-bottom: 120px;
}

.section-storie-v2 .storia {
    padding: 3%
}

.section-storie-v2 .img-storie {
    border-radius: 25px;
    background-color: transparent;
    width: 90%;
    margin-left: 0;
    box-shadow: none;
}

.section-storie-v2 .img-storie img {
    border-radius: 35px
}

.section-storie-v2 .titolo-storie {
    color: #483267;
    font-size: 3em;
    font-style: normal;
    font-weight: 400;
    margin-bottom: 0;
    margin-top: 0;
}

.section-storie-v2 .titolo-storie .bold {
    font-weight: var(--font-weight-700);
}

.section-storie-v2 .testo-storie {
    color: #707070;
    font-size: 1.4em;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-top: 2em;
}

.section-storie-v2 .testo-storie .bold {
    font-weight: 700;
}

.section-storie-v2 .pulsante {
    border-radius: 25px;
    border: 0.762px solid #333;
    background: #333;
    color: #fff;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    padding: 7px 19px 7px 19px;
    margin-top: 2em;
    width: auto;
    display: inline-block;
    text-transform: uppercase;
}

.section-storie-v2 .pulsante img {
    height: 25px;
}


/* SLIDER V2 */

.section-shorties-2 {
    padding-top: 120px;
    padding-bottom: 120px;
}

.section-shorties-2 .video-titolo {
    font: normal normal normal 18px/24px Inter;
    font-size: 2em;
    line-height: 1em;
    margin-bottom: 4em;
}

.section-shorties-2 .video-autore {
    font: normal normal normal 18px/24px Inter;
    font-size: 1.2em;
    font-weight: bold;
}


.section-shorties-2 .titolo {
    font-size: 3em;
    color: #483267;
    line-height: 1.1em;
}

.section-shorties-2 .titolo span {
    font-weight: 700;
}

.section-shorties-2 .sottotitolo {
    color: #707070;
    font-size: 1.6em;
    line-height: 1.4em;
    margin-top: 30px;
}


/* Section correlati */

/* SLIDER V2 */

.section-correlati-2 {
    padding-top: 120px;
    padding-bottom: 120px;
}

.section-correlati-2 .video-titolo {
    font: normal normal normal 18px/24px Inter;
    font-size: 2em;
    line-height: 1em;
    margin-bottom: 1em;
}

.section-correlati-2 .video-autore {
    font: normal normal normal 18px/24px Inter;
    font-size: 1.2em;
    font-weight: bold;
}


.section-correlati-2 .titolo {
    font-size: 3em;
    color: #483267;
    line-height: 1.1em;
}

.section-correlati-2 .titolo span {
    font-weight: 700;
}

.section-correlati-2 .sottotitolo {
    color: #707070;
    font-size: 1.6em;
    line-height: 1.4em;
    margin-top: 30px;
}

.swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    transition: all .3s ease;
    background: transparent;
    border: 2px solid #5f5be6;
    opacity: .8;
}

.swiper-pagination-bullet-active {
    opacity: 1;
    background: #5f5be6;
    width: 50px;
    border-radius: 4px;
    transition: all .3s ease;
    height: 10px;
}



.swiper-pagination {
    transition: .3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10;
    margin-top: 4em;
    position: relative !important;
    text-align: left;
}

.section-shorties-2 .swiper .singola-slide-short:nth-child(3n + 1) {
    background-image: url('../images/bg/short-stories-1.webp');
    background-size: cover;
}

.section-shorties-2 .swiper .singola-slide-short:nth-child(3n + 2) {
    background-image: url('../images/bg/short-stories-2.webp');
    background-size: cover;
}

.section-shorties-2 .swiper .singola-slide-short:nth-child(3n + 3) {
    background-image: url('../images/bg/short-stories-3.webp');
    background-size: cover;
}

.singola-slide-short {
    min-height: 400px;
    border-radius: 20px;
    background-color: transparent;
    padding: 30px;
    box-shadow: 0 14px 16px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.04);
}

/* Correlati */

.section-correlati-2 .swiper .singola-slide-correlati:nth-child(3n + 1) {
    background-image: url('../images/bg/short-stories-1.webp');
    background-size: cover;
}

.section-correlati-2 .swiper .singola-slide-correlati:nth-child(3n + 2) {
    background-image: url('../images/bg/short-stories-2.webp');
    background-size: cover;
}

.section-correlati-2 .swiper .singola-slide-correlati:nth-child(3n + 3) {
    background-image: url('../images/bg/short-stories-3.webp');
    background-size: cover;
}

.singola-slide-correlati {
    min-height: 400px;
    border-radius: 20px;
    background-color: transparent;
    padding: 30px;
    box-shadow: 0 14px 16px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.04);
}



/*SEZIONE NETWORKING*/

.section-networking {
    padding-top: 150px;
    padding-bottom: 150px;
    background: url(../images/networking-bg.jpg) no-repeat;
    mix-blend-mode: multiply;
}

.section-networking .networking-content {
    background: #333;
    color: #fff;
    min-height: 300px;
    background: linear-gradient(106deg, rgba(168, 138, 255, 0.00) 59.94%, #9E81F0 111.52%), #333;
    padding: 70px 80px;
    border-radius: 25px;
    background: #FFFFFF0F 0% 0% no-repeat padding-box;
    mix-blend-mode: normal;
    border: 1px solid #FFFFFF4A;
    opacity: 1;
    backdrop-filter: blur(13px);
    -webkit-backdrop-filter: blur(13px);
    color: #fff;
    border-radius: 25px;
}

.section-networking .networking-content a {
    color: #fff;
    transition: all .3s ease;
}

.section-networking .networking-content a:hover {
    opacity: .8;
}

.section-networking .networking-content .titolo {
    color: #FFF;
    font-size: 4em;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 50px;
}

.section-networking .networking-content .sottotitolo {
    color: #fff;
    font-size: 30px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 30px;
}


.section-networking .networking-content .link {
    font-size: 1.6em;
    border-bottom: 1px solid aliceblue;
    padding-bottom: 30px;
    margin-bottom: 30px;
}

.section-networking .networking-content .pulsante {
    width: 30px;
    height: 30px;
    background-image: url(../images/freccia.svg);
    background-size: contain;
    background-repeat: no-repeat;

}

/* NETWORKING v2 */

.section-networking-v2 {
    padding-bottom: 150px;
}

.section-networking-v2 .container-networking {
    background: url(../images/bg/networking-sfondo.webp) no-repeat;
    background-size: cover;
    border-radius: 25px;
    text-align: center;
    padding-top: 150px;
    padding-bottom: 150px;
}

.section-networking-v2 .titolo {
    color: #483267;
    font-size: 4em;
    margin-bottom: .5em;
}

.section-networking-v2 .sottotitolo {
    color: #483267;
    font-size: 2em;
    padding: 0 30% 0 30%;
    font-weight: 400;
    line-height: 1.3em;
}

.section-networking-v2 .cta {
    color: #483267;
    font-size: 1.6em;
    /* padding: 0 30% 0 30%; */
    font-weight: 300;
    line-height: 1.3em;
    margin-top: 2em;
}



/* SEZIONE SHORTIES */

.section-shorties {

    /* padding-top: 120px;
    padding-bottom: 120px;*/
    padding-top: 20px;
    padding-bottom: 120px;
}

.section-shorties .video-container {
    margin-top: 100px;
}

.section-shorties .titolo {
    color: #9E81F0;
    font-size: 50px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    padding-bottom: 10px;
}

.section-shorties .sottotitolo {
    color: #333;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.section-shorties .pulsante {
    border-radius: 50px;
    border: 2px solid #9E81F0;
    background: #FFF;
    box-shadow: 5px 5px 0px 0px rgba(168, 138, 255, 0.30), 10px 10px 0px 0px rgba(168, 138, 255, 0.30);
    padding: 20px 50px;
    color: #9E81F0;
    font-size: 20px;
    text-align: center;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.section-shorties .video-titolo {
    color: #333;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    /*margin-top: 0.9rem;*/
    margin-bottom: .2rem;
}

.section-shorties .video-autore {
    color: #858C94;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.section-shorties .video-thumb img {
    /* box-shadow: 10px 10px 0px 0px rgba(168, 138, 255, 0.50);
    border-radius: 10px;*/
    cursor: pointer;
}

.section-shorties .video-autore-immagine img {
    border-radius: 100px;
    width: 80px;
    height: 80px;
    padding: 3px;
    border: 3px solid #9E81F0;
}

.video-autore-immagine img {
    border-radius: 100px;
    width: 60px;
    height: 60px;
    padding: 3px;
    border: 2px solid #9E81F0;
}

/* SEZIONE OPPORTUNITA */

.section-opportunita {
    padding-top: 120px;
    padding-bottom: 120px;
    /* background: linear-gradient(334deg, rgba(255, 255, 255, 0.00) 62.59%, #FFF 105.64%), #9E81F0; */
    background: url('../images/bg/opportunita-sfondo.webp') center/cover no-repeat, linear-gradient(100deg, rgb(168, 138, 255) 0%, rgb(67, 46, 95) 100%);
}

.section-opportunita .opportunita {
    background: #FFF6 0% 0% no-repeat padding-box;
    mix-blend-mode: normal;
    border: 1px solid #FFFFFF4A;
    opacity: 1;
    backdrop-filter: blur(13px);
    -webkit-backdrop-filter: blur(13px);
    padding: 50px 30px 50px 30px;
    border-radius: 25px;
    transition: all .3s ease;
    box-shadow: 0 14px 16px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.04);
}

.section-opportunita .opportunita:hover {
    background: rgba(255, 255, 255, 0.728) 0% 0% no-repeat padding-box;
    border: 1px solid #FFFFFF7A;
}

.section-opportunita .opportunita-image {
    border-radius: 15.231px;
    background: #9E81F050;
    height: 206px;
}

.section-opportunita .opportunita-title {
    color: #483267;
    font-size: 3em;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.section-opportunita .opportunita-text .titolo {
    color: #483267;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-top: 30px;
}

.section-opportunita .opportunita-text .testo {
    color: #000;
    font-size: 1.1em;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    margin-top: 24px;
}

.section-opportunita .pulsante {
    border-radius: 49.5px;
    border: 0.762px solid #333;
    background: #333;
    color: #fff;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    padding: 15px 38px 15px 38px;
    margin-top: 40px;
    width: auto;
    display: inline-block
}


.section-opportunita .opportunita-link {
    width: 80%;
    margin-top: 90px;
}



.section-opportunita .opportunita-link .titolo {
    color: #483267;
    font-size: 4em;
    font-style: normal;
    font-weight: 100;
    line-height: 1em;
}

.section-opportunita .opportunita-link .titolo b {
    font-weight: 700;
}

.section-opportunita .opportunita-link .testo {
    color: #483267;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-top: 40px;
}


/* FINE SEZIONE SHORTIES */

/*SEZIONE cOOPERATIVA*/
.section-cooperativa {
    background: linear-gradient(180deg, #FFF 0%, rgba(255, 255, 255, .8) 100%), linear-gradient(0deg, #FFF 0%, #FFF 100%), url(../images/bg-cooperativa.jpg) lightgray 50% / cover no-repeat;
    background-blend-mode: normal, color, normal;

    padding-top: 120px;
    padding-bottom: 120px;
}

.section-cooperativa .titolo {
    color: #9E81F0;
    font-size: 64px;
    font-style: normal;
    font-weight: 400;
    line-height: 60px;
}

.section-cooperativa .titolo .bold {
    font-weight: 700;
}

.section-cooperativa .testo {
    color: #333;
    font-kerning: none;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-top: 30px;
}

.section-cooperativa .pulsante {
    border-radius: 65px;
    border: 2px solid #333;
    background: rgba(51, 51, 51, 0.00);
    display: inline-block;
    padding: 10px 20px;
    color: #333;
    text-align: center;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-top: 30px;
}

/*FINE SEZIONE COOPERATIVA*/


/*COOPERATIVA V2*/

.section-cooperativa-v2 {
    padding: 120px 0 160px 0;
}

.section-cooperativa-v2 .titolo {
    color: #483267;
    font-size: 3em;
    line-height: 1.1em;
}

.section-cooperativa-v2 .titolo .bold {
    font-weight: 700;
}

.section-cooperativa-v2 .testo {
    color: #707070;
    font-size: 1.6em;
    line-height: 1.4em;
    margin-top: 30px;
}

.tag-grigio {
    display: inline-block;
    background: #e0dce4;
    padding: 5px 16px;
    border-radius: 20px;
    color: #483267;
    margin-bottom: 30px;
    font-size: 1.2em;
    font-weight: 400;
}

.tag-indicoo {
    display: inline-block;
    background: #9E81F0;
    padding: 5px 16px;
    border-radius: 20px;
    color: #fff;
    margin-bottom: 30px;
    font-size: 1.2em;
    font-weight: 400;
}

.section-cooperativa-v2 .questions-cooperativa {
    margin-top: 50px;
}

.questions-cooperativa .question {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    border-bottom-left-radius: 20px;
}

.questions-cooperativa .question .titolo {
    color: #000;
    font-size: 1.5em;
    font-weight: 600;
    padding-top: 25px;
    padding-left: 20px;
    margin-bottom: 20px;
    padding-top: 50px;
}

.questions-cooperativa .question .descrizione {
    color: #000;
    padding-top: 15px;
    padding-left: 20px;
    min-height: 148px;
    padding-right: 20px;
    font-size: 1.1em;
}


.questions-cooperativa .question .after {
    min-height: 90px;
    position: relative;
    background-color: transparent;
}

.questions-cooperativa .question .after img {
    height: 90px;
    position: absolute;
    right: 0;
}

.questions-cooperativa>div:nth-child(1) .question {
    background-color: #009DFF26;
}



.questions-cooperativa>div:nth-child(2) .question {
    background-color: #9D00FF26;
}

.questions-cooperativa>div:nth-child(3) .question {
    background-color: #80FF0026;
}

.questions-cooperativa>div:nth-child(4) .question {
    background-color: #FFA70026;
}


/* SEZIONE INCUBATORE */

.section-incubatore {
    padding: 120px 0 140px 0;
    background-color: #F0EDF8;
}

.section-incubatore .titolo {
    color: #483267;
    font-size: 3em;
    line-height: 1.1em;
}

.section-incubatore .titolo .bold {
    font-weight: 700;
}

.section-incubatore .testo {
    color: #707070;
    font-size: 1.6em;
    line-height: 1.4em;
    margin-top: 30px;
}

.questions-incubatore .question {
    border-radius: 20px;
    padding: 25px 20px 20px 20px;
    height: 100%;
}

.questions-incubatore .question .titolo {
    color: #000;
    font-size: 1.4em;
    font-weight: 600;
    margin-bottom: 12px;
}

.questions-incubatore .question .descrizione {
    color: #333;
    font-size: 1.1em;
    line-height: 1.5em;
}

.questions-incubatore > div:nth-child(1) .question { background-color: #009DFF26; }
.questions-incubatore > div:nth-child(2) .question { background-color: #9D00FF26; }
.questions-incubatore > div:nth-child(3) .question { background-color: #80FF0026; }
.questions-incubatore > div:nth-child(4) .question { background-color: #FFA70026; }


/* SEZIONE REGISTRAZIONE */

.section-registrazione {
    padding-top: 40px;
    padding-bottom: 120px;
    background: #f7f7f7;
}


/* FINE SECTION REGISTRAZIONE */


/* SEZIONE PAGINA */

.section-pagina {
    padding-top: 40px;
    padding-bottom: 120px;
    background: #f7f7f7;
}

.page {
    border-radius: 8px;
    margin-top: -8em;
    background-color: #fff;
    padding: 30px 50px;
}

h1.page-heading {
    color: #9E81F0;
    font-size: 50px;
    font-style: normal;
    font-weight: 500;
    line-height: 50px;
    padding-bottom: 10px;
}

h2.page-heading {
    color: #9E81F0;
    font-size: 3em;
    font-style: normal;
    font-weight: 500;
    line-height: 50px;
    padding-bottom: 10px;
}

.page-heading-description {
    color: #333;
    font-size: 1.4em;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.page-heading b {
    font-weight: 700;
}

/* FINE SEZIONE PAGINA */


/*SEZIONE FULL*/

.section-full {
    padding-top: 120px;
    padding-bottom: 120px;
}

.image-full img {
    border-radius: 5px;
}



footer {
    min-height: 30vh;
    background-color: #000;
    color: #fff;
    padding-top: 70px;
    padding-bottom: 10px;
}

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

footer ul.menu li {
    margin-bottom: 15px;
}

footer ul.menu li a {
    color: #fff;
    text-decoration: none;
    transition: all .3s ease;
}

footer ul.menu li a:hover {
    margin-left: 4px;
}

footer .copyright {
    padding-top: 40px;
    padding-bottom: 40px;
    border-top: 1px solid #424040;
    font-size: .9em;
    margin-top: 40px;
}



/*GENERALI*/

.image-br {
    box-shadow: 10px 10px 0px 0px rgba(168, 138, 255, 0.50);
    border-radius: 10px;
}


.unordered_list,
.unordered_list_center,
.unordered_list_end {
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

/*LINK SOCIAL*/

.social_links {
    margin: -6px
}

.social_links>li {
    padding: 6px;
    list-style-type: none;
}

.social_links a {
    z-index: 1;
    width: 40px;
    height: 40px;
    display: flex;
    position: relative;
    border-radius: 100%;
    align-items: center;
    justify-content: center
}

.social_links a:after,
.social_links a:before {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    content: "";
    z-index: -1;
    position: absolute;
    border-radius: 100%;
    transition: .4s cubic-bezier(.25, 1, .5, 1)
}

.social_links a:before {
    border: 2px solid #9E81F0;
}

.social_links a:after {
    background-color: #9E81F0
}

.social_links a i {
    color: #fffefe;
    transition: .4s cubic-bezier(.25, 1, .5, 1);
}

.social_links a:hover:before {
    transform: scale(1.1)
}

.social_links a:hover:after {
    transform: scale(.8)
}


/*BARRA PROGRESSO*/
#progress-container {
    width: 100%;
    background-color: transparent;
    position: fixed;
    top: 0;
    left: 0;
    height: 8px;
    z-index: 99;
}

#progress-bar {
    height: 100%;
    width: 0;
    background-color: #9E81F0;
    transition: width 0.1s ease;
}


/* FORM DI REGIOSTRAZIONE */

.register_form {
    z-index: 1;
    padding: 60px;
    position: relative;
    border-radius: 8px;
    background-color: #fff;
    border: 2px solid #1f1d0d;
    box-shadow: 2px 2px 30px rgba(31, 29, 13, .12), 10px 10px 0 0 #1f1d0d;
}

.register_heading {
    color: #9E81F0;
    font-size: 50px;
    font-style: normal;
    font-weight: 500;
    line-height: 1em;
    padding-bottom: 10px;
}

.register_heading_description {
    color: #333;
    font-size: 1.1em;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 40px;
}

.register_heading b {
    font-weight: 700;
}

.form_item {
    position: relative;
    margin-bottom: 30px
}

.form_item input,
.form_item select,
.form_item textarea {
    width: 100%;
    outline: 0;
    display: block;
    box-shadow: none;
    transition: .4s cubic-bezier(.25, 1, .5, 1);
    border-radius: 8px;
    border: 2px solid #d2d2d2
}

.form_item input:focus,
.form_item select:focus,
.form_item textarea:focus {
    outline: 0;
    box-shadow: none
}

.form_item input:disabled,
.form_item select:disabled,
.form_item textarea:disabled {
    outline: 0;
    box-shadow: none;
    background-color: #f4f4f4
}

.form_item input {
    height: 60px;
    padding: 0 20px
}

.form_item textarea {
    min-height: 180px;
    padding: 15px 20px
}

.form_item select {
    height: 60px;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-size: 12px;
    padding: 0 40px 0 20px;
    color: #717580;
    border: none;
    border-radius: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-box-shadow: 0 0 45px rgba(0, 0, 0, 0.09);
    box-shadow: 0 0 45px rgba(0, 0, 0, 0.09);
    -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
    transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
    position: relative;
    background-image: none;
    font-family: var(--font-family-inter);
    text-transform: uppercase;
    font-size: 13px;
}

.form_item:has(.btn) {
    display: flex;
    margin-bottom: 60px
}

.form_item:has(.btn) input {
    flex: 0 0 370px;
    margin-right: 20px;
    border-color: #1f1d0d
}

.input_title {
    display: block;
    font-size: 14px;
    font-weight: 500;
    line-height: 16px;
    color: #1f1d0d;
    margin-bottom: 6px;
    font-family: "Inter", sans-serif,
}

:-moz-placeholder {
    color: rgba(31, 29, 13, .5)
}

::-moz-placeholder {
    color: rgba(31, 29, 13, .5)
}

:-ms-input-placeholder {
    color: rgba(31, 29, 13, .5)
}

::-webkit-input-placeholder {
    color: rgba(31, 29, 13, .5)
}

.checkbox_item {
    position: relative;
    padding-left: 26px;
    margin-bottom: 30px
}

.checkbox_item input {
    left: 0;
    top: 4px;
    width: 16px;
    height: 16px;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: absolute;
    border-radius: 8px;
    border: 1px solid #1f1d0d;
    background-color: #fff
}

.checkbox_item input:before {
    top: 50%;
    left: 50%;
    opacity: 0;
    line-height: 1;
    font-size: 8px;
    content: "";
    font-weight: 700;
    position: absolute;
    transform: translate(-50%, -50%);
    font-family: "Font Awesome 5 Pro"
}

.checkbox_item input:checked {
    background-color: #f7ff62
}

.checkbox_item input:checked:before {
    opacity: 1
}

.checkbox_item label {
    margin: 0;
    cursor: pointer;
    font-size: 16px;
    line-height: 24px
}




/* FORM REGISTRAZIONE - ALT  */


.registrazione-alt {
    border-radius: 35px;
    margin-top: -8em;
    background-color: #ffffffb2;
    padding: 30px 50px;
    box-shadow: 0 0 45px rgba(0, 0, 0, 0.09);
    backdrop-filter: blur(13px);
    -webkit-backdrop-filter: blur(13px);
}

.bot-form {
    border-radius: 8px;
    margin-top: -8em;
    background-color: #fff;
    padding: 30px 50px;
    box-shadow: 0 0 45px rgba(0, 0, 0, 0.09);
}

.bot-form input,
select,
textarea,
.form-control,
.form-select {
    padding: 19px 14px;
    width: 100%;
    max-width: 100%;
    resize: none;
    outline: none;
    font-size: 13px;
    border: 1px solid #e4e4e4;
    border-radius: 25px;
    color: #333;
    line-height: inherit;
    word-break: normal;
    /* -webkit-transition: 0.3s; */
    /* transition: 0.3s; */
    -webkit-box-shadow: 0 0 45px rgba(0, 0, 0, 0.09);
    box-shadow: 0 0 45px rgba(0, 0, 0, 0.09);
    -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
    transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
    position: relative;
}

.bot-form ::placeholder {
    color: rgb(167, 137, 254);
    text-transform: uppercase;
    font-size: 13px;
}

.bot-form input:focus,
.bot-form select:focus,
.bot-form textarea:focus,
.form-control:focus,
.form-select:focus {
    /* Inserisci qui le proprietà di stile desiderate per lo stato di focus */
    outline: 1px solid #9E81F0;
    /* Cambia il bordo quando l'elemento è in focus */
    background-color: #dcd1fd20;
    /* Cambia il colore di sfondo quando l'elemento è in focus */
    /* Aggiungi altre proprietà di stile se necessario */
}

.container-mappa {
    border-radius: 8px;
    margin-top: -5em;
    background-color: #fff;
    padding: 30px 50px;
    box-shadow: 0 0 45px rgba(0, 0, 0, 0.09);
    z-index: 10;
    position: relative;
}

.registrazione-alt .step {
    border: 1px dashed #9e81f01d;
    border-radius: 25px;
    padding: 30px 20px;
    background-color: #f7f7f7;
}

.registrazione-alt ::placeholder {
    color: rgb(167, 137, 254);
    text-transform: uppercase;
    font-size: 13px;
}

.registrazione-alt .socio-cooperativa {
    display: inline-block;
    width: 49.5%;
}



.registrazione-alt input[type="text"],
.registrazione-alt input[type="email"],
.registrazione-alt input[type="password"],
.registrazione-alt input[type="number"],
.registrazione-alt input[type="tel"],
.registrazione-alt input[type="url"],
.registrazione-alt input[type="search"],
.registrazione-alt input[type="file"],

.registrazione-alt textarea,
.registrazione-alt select,
.registrazione-alt .form-control,
.registrazione-alt .form-select {
    padding: 12px 25px;
    width: 100%;
    max-width: 100%;
    resize: none;
    outline: none;
    font-size: 13px;
    border: 1px solid #e4e4e4;
    border-radius: 0;
    color: #717580;
    line-height: inherit;
    word-break: normal;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-box-shadow: 0 0 45px rgba(0, 0, 0, 0.09);
    box-shadow: 0 0 45px rgba(0, 0, 0, 0.09);
    -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
    transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
    position: relative;
}

/* Stile base per la select */
.indicoo-select {
    appearance: none;
    /* Rimuove lo stile di default del browser */
    background-color: white;
    border: 1px solid #9E81F0;
    /* Colore del bordo personalizzato */
    border-radius: 4px;
    padding: 10px;
    width: 100%;
    color: #333;
    /* Colore del testo */
    font-size: 16px;
    cursor: pointer;
    position: relative;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" fill="%23a88cfc" viewBox="0 0 16 16"><path d="M7.247 11.14l-4.796-5.481c-.566-.647-.106-1.659.764-1.659h9.576c.87 0 1.33 1.011.764 1.659l-4.796 5.481c-.374.427-1.054.427-1.428 0z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 1em;
}

/* Stile per quando la select è in stato di focus */
.indicoo-select:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(168, 140, 252, 0.3);
    /* Effetto di focus con ombra */
}

/* Stile per le opzioni */
.indicoo-select option {
    background-color: white;
    color: #333;
    padding: 10px;
    font-size: 16px;
}

.registrazione-alt input[type="radio"]:focus {
    outline: 1px solid #9E81F0;
    background-color: #9E81F0;
}

.registrazione-alt input[type="checkbox"]:focus {
    outline: 1px solid #9E81F0;
    background-color: #9E81F0;
}

.registrazione-alt input:focus,
.registrazione-alt select:focus,
.registrazione-alt textarea:focus,
.form-control:focus,
.form-select:focus {
    /* Inserisci qui le proprietà di stile desiderate per lo stato di focus */
    outline: 1px solid #9E81F0;
    /* Cambia il bordo quando l'elemento è in focus */
    background-color: #dcd1fd20;
    /* Cambia il colore di sfondo quando l'elemento è in focus */
    /* Aggiungi altre proprietà di stile se necessario */
}


.registrazione-alt .form_item span.bi {
    position: absolute;
    right: 1.35em;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #9E81F0;
    font-size: 1.2em;
}

.registrazione-alt .form_item span.bi.password-toggle {
    pointer-events: auto;
}

/* Stile specifico per le textarea */
.registrazione-alt .form_item textarea+span.bi {
    top: 0.7em;
    /* Imposta l'icona in alto */
    transform: translateY(0);
    /* Rimuovi il posizionamento centrale */
}




.btn-group .btn {
    width: 100%;
    /* Rende i pulsanti larghi quanto il container */
    margin-bottom: 10px;
    /* Aggiunge spazio tra i pulsanti */
    text-align: left;
    /* Allinea il testo a sinistra */
    padding: 15px 20px;
    /* Aumenta la spaziatura interna del pulsante */
}

.btn-check {
    position: absolute;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

.btn-group .btn-check:checked+.btn,
.btn-group .btn-check:focus+.btn {
    background-color: #9E81F0;
    /* Colore di sfondo del pulsante attivo */
    color: #fff;
    /* Colore del testo del pulsante attivo */
    border-color: #9E81F0;
    /* Colore del bordo del pulsante attivo */
}

.btn-group .btn:hover {
    background-color: #dcd1fd;
    /* Colore di sfondo del pulsante al passaggio del mouse */
    color: #333;
    /* Colore del testo al passaggio del mouse */
    border-color: #dcd1fd;
    /* Colore del bordo al passaggio del mouse */
}

#socio-si {
    display: none
}

#socio-no {
    display: none
}

#lavoro_legacoop {
    display: none
}

/* Layout orizzontale (desktop ampio) */
.registrati-radio,
.btn-group[aria-label="movimento_cooperativo"] {
    display: flex;
    flex-wrap: nowrap;
    gap: 16px;
    /* spazio orizzontale fra le tre card */
}

/* Assicurati che le label-bottone si dimensionino bene */
.registrati-radio .btn,
.btn-group[aria-label="movimento_cooperativo"] .btn {
    flex: 1 1 0;
    /* tre colonne equilibrate */
    text-align: left;
    /* allinea testo come card */
    padding: 16px 20px;
    border-radius: 10px;
    min-height: 110px;
    /* altezza consistente */
}

/* Spaziatura interna dei blocchi di testo */
.registrati-radio .btn .risposta,
.btn-group[aria-label="movimento_cooperativo"] .btn .risposta {
    font-weight: 600;
    margin-bottom: 6px;
}

.registrati-radio .btn .testo,
.btn-group[aria-label="movimento_cooperativo"] .btn .testo {
    line-height: 1.35;
    color: #4a4a4a;
}

/* Stati checked/focus per btn-check + label (Bootstrap compatibile) */
.btn-check:checked+.btn.btn-outline-socio,
.btn-check:active+.btn.btn-outline-socio {
    color: #fff;
    background-color: #d7cbfa;
    /* o il tuo colore brand */
    border-color: #d7cbfa;
}


/* 2) Sotto i 1400px: impila in verticale con margine coerente */
@media (max-width: 1400px) {

    .registrati-radio,
    .btn-group[aria-label="movimento_cooperativo"] {
        flex-direction: column;
        /* verticale */
        gap: 14px;
        /* spazio tra card verticali */
    }

    .registrati-radio .btn,
    .btn-group[aria-label="movimento_cooperativo"] .btn {
        width: 100%;
        /* piena larghezza */
        flex: 0 0 auto;
        /* altezza basata sul contenuto */
        min-height: unset;
        /* lascia respirare il testo su mobile */
    }
}

/* 3) Ulteriore rifinitura per schermi molto piccoli */
@media (max-width: 576px) {

    .registrati-radio .btn,
    .btn-group[aria-label="movimento_cooperativo"] .btn {
        padding: 14px 16px;
        border-radius: 8px;
    }
}


.btn-outline-socio {
    border: 2px solid #333;
    margin: 10px;
    border-radius: 8px !important;
}

.btn-outline-socio .risposta {
    font-size: 1.7em;
    font-weight: 600;
    color: #333;
    line-height: 1.2em;
    margin-bottom: 1em;
    margin-top: 1em;
}

.btn-outline-socio .testo {
    font-size: 1.1em;
    font-weight: 400;
    color: #333;
    line-height: 1.2em
}

#cooperatore,
#aspirante-cooperatore {
    display: none
}



/*CALENDARIO DATEPICKER*/

.datepicker table tr td span.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active:hover {
    background-color: #9E81F0;
    background-image: -moz-linear-gradient(to bottom, #9E81F0, #9E81F0);
    background-image: -ms-linear-gradient(to bottom, #9E81F0, #9E81F0);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#9E81F0), to(#9E81F0));
    background-image: -webkit-linear-gradient(to bottom, #9E81F0, #9E81F0);
    background-image: -o-linear-gradient(to bottom, #9E81F0, #9E81F0);
    background-image: linear-gradient(to bottom, #9E81F0, #9E81F0);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);
    border-color: #9E81F0 #9E81F0 #9E81F0;
    border-color: rgba(0, 0, 0, .1) rgba(0, 0, 0, .1) rgba(0, 0, 0, .25);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    color: #333;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
}

/* Pulsanti radio personalizzati */


/* Stile per i radio button */


/* Stile per i radio button e checkbox */
.custom-radio,
.custom-checkbox {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.custom-radio label,
.custom-checkbox label {
    display: inline-block;
    padding: 6px 15px;
    font-size: 1rem;
    cursor: pointer;
    border-radius: 8px;
    border: 2px solid transparent;
    transition: all 0.3s ease;
    font-family: "Inter", sans-serif;
    border: 1px dashed #9E81F0;
    text-transform: uppercase;
}

.custom-radio input[type="radio"],
.custom-checkbox input[type="checkbox"] {
    display: none;
    /* Nasconde i radio button e checkbox standard */
}

.custom-radio input[type="radio"]:checked+label,
.custom-checkbox input[type="checkbox"]:checked+label {
    background-color: #9E81F0;
    /* Colore principale */
    color: #fff;
    border-color: #9E81F0;

}

.custom-radio label:hover,
.custom-checkbox label:hover {
    border-color: #9E81F0;
    /* Cambia bordo al passaggio del mouse */
}

.custom-radio input[type="radio"]:checked+label::before,
.custom-checkbox input[type="checkbox"]:checked+label::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f00c";
    /* Simbolo di spunta */
    font-size: 1rem;
    margin-right: 8px;
}

/* Animazione quando il radio button o checkbox viene selezionato */
.custom-radio input[type="radio"]:checked+label,
.custom-checkbox input[type="checkbox"]:checked+label {
    animation: pop 0.2s ease-in-out;
}

@keyframes pop {
    0% {
        transform: scale(0.9);
    }

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

/* Stile per il pulsante di invio */
.custom-button {
    display: inline-block;
    padding: 10px 20px;
    font-size: 1rem;
    cursor: pointer;
    border-radius: 35px;
    background-color: #9E81F0;
    color: #fff;
    border: 2px solid transparent;
    transition: all 0.3s ease;
    text-align: center;
    margin-top: 20px;
}

a.custom-button {
    color: #fff !important;
}

.custom-button:hover {
    background-color: #9175e6;
    /* Colore di sfondo del pulsante al passaggio del mouse */
    color: #fff;
    /* Colore del testo al passaggio del mouse */
    border-color: #9175e6;
    /* Colore del bordo al passaggio del mouse */
}

.custom-button-2 {
    display: inline-block;
    padding: 10px 20px;
    font-size: 1rem;
    cursor: pointer;
    border-radius: 35px;
    background-color: #333;
    color: #fff;
    border: 2px solid transparent;
    transition: all 0.3s ease;
    text-align: center;
    margin-top: 20px;
}

.custom-button-2:hover {
    background-color: #9E81F0;
    /* Colore di sfondo del pulsante al passaggio del mouse */
    color: #fff;
    /* Colore del testo al passaggio del mouse */
    border-color: #9E81F0;
    /* Colore del bordo al passaggio del mouse */
}

.custom-button-outline {
    display: inline-block;
    padding: 10px 20px;
    font-size: 1rem;
    cursor: pointer;
    border-radius: 35px;
    background-color: transparent;
    color: #9E81F0;
    border: 2px solid #9E81F0;
    transition: all 0.3s ease;
    text-align: center;
    margin-top: 20px;
}

a.custom-button-outline {
    color: #9E81F0 !important;
}

.custom-button-outline:hover {
    background-color: #9E81F0;
    color: #fff !important;
    border-color: #9E81F0;
}

/* Stile per il pulsante disabilitato */
.custom-button:disabled {
    background-color: #9E81F070;
    color: #fefefe94;
    cursor: not-allowed;
    border: 2px solid transparent;
}

/* Rimuovi gli effetti di hover e focus per il pulsante disabilitato */
.custom-button:disabled:hover,
.custom-button:disabled:focus {}

.custom-button:focus,
.custom-button:active {
    outline: none;
    background-color: #9175e6;
    /* Colore per focus */
}


/* Breadcrums */

.breadcrumb_nav {
    margin-bottom: 50px;
    font-family: "Inter", sans-serif;
}

.breadcrumb_nav a {
    color: #707070;
}

.breadcrumb_nav>li:not(:last-child)::after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    top: 1px;
    right: -5px;
    opacity: .7;
    font-weight: 400;
    content: "\f054";
    position: absolute;
}

.breadcrumb_nav>li:not(:last-child)::after {
    top: 1px;
    right: -5px;
    opacity: .7;
    font-weight: 400;
    font-weight: 900;
    content: "\f054";
    position: absolute;
    font-family: "Font Awesome 6 Free";
}

.breadcrumb_nav>li:not(:last-child) {
    margin-right: 12px;
    padding-right: 12px;
}

ul.breadcrumb_nav {
    display: inline;
    margin: 0;
    padding: 0;
}

.breadcrumb_nav>li:not(:last-child) {
    margin-right: 12px;
    padding-right: 12px;
}

.breadcrumb_nav>li {
    line-height: 1;
    font-size: 13px;
    font-weight: 500;
    position: relative;
    color: #9e81f0;
    text-transform: uppercase;
}

ul.breadcrumb_nav li {
    list-style-type: none;
    display: inline;
    text-transform: uppercase;
}



/* PAGINA STANDARD*/

.section-page {
    padding-top: 40px;
    padding-bottom: 120px;
}

.content-page {
    border-radius: 8px;
    margin-top: -8em;
    background-color: #fff;
    padding: 30px 50px;
}

.page-card {
    overflow: hidden;
    position: relative;
    transition: .4s cubic-bezier(.25, 1, .5, 1);
    padding: 28px 28px 32px;
    border-radius: 8px;
    background-color: #fff;
    border: 2px solid #9E81F0;
    margin-bottom: 30px;
}


/* ARCHIVI */

.section-archivio {
    padding-top: 40px;
    padding-bottom: 120px;
}

.content-archivio {
    border-radius: 8px;
    margin-top: -8em;
    background-color: #fff;
    padding: 30px 50px;
}

.archivio-card {
    overflow: hidden;
    position: relative;
    transition: .4s cubic-bezier(.25, 1, .5, 1);
    padding: 28px 28px 32px;
    border-radius: 25px;
    background-color: #fff;
    border: 2px solid #9E81F0;
    margin-bottom: 30px;
}

.archivio-card:hover {
    z-index: 1;
    border-color: #9175e6;
    transform: translate(-2px, -2px);
    box-shadow: 10px 10px 0 0 #9175e6
}

.section-archivio .archivio-card .item_image {
    margin: -30px -30px 23px;
}

.section-archivio .archivio-card .item_category_list {
    overflow: hidden;
    border-radius: 8px;
    background-color: #9E81F0;
    padding: 4px 8px;
    text-transform: uppercase;
    font-size: .8em;
    color: #9E81F0;
}

.section-archivio .item_content .tag {
    margin-top: -2.2em;
}

.section-archivio .archivio-card .item_category_list a {
    color: #fff
}

.section-archivio .archivio-card .item_category_list li {
    list-style-type: none;
}

.archivio-card .item_title {
    margin: 0;
    padding: 10px 0 24px;
    min-height: 100px;
}


ul.lista_non_ordinata {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

ul.lista_non_ordinata li {
    display: inline-block;
}



/* PAGINAZIONE */

.pagination_wrap {
    padding-top: 50px;
}

.pagination_nav {
    margin: -6px;
}

.pagination_nav li {
    padding: 6px;
}

.pagination_nav a {
    height: 48px;
    display: block;
    min-width: 48px;
    font-size: 16px;
    font-weight: 700;
    line-height: 46px;
    color: #1f1d0d;
    text-align: center;
    border-radius: 8px;
    border: 2px solid #d2d2d2;
    transition: all .6s ease;
}

.pagination_nav li.active a,
.pagination_nav li:hover a {
    color: #fff;
    border-color: #9E81F0;
    background-color: #9E81F0;
}

/* Menu Hamburger */

/* Stile per il pulsante hamburger */
/* Stile per il pulsante hamburger */
/* Stile per il pulsante hamburger */
.hamburger {
    width: 30px;
    height: 30px;
    cursor: pointer;
    position: fixed;
    top: 55px;
    right: 50px;
    z-index: 1001;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.hamburger span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #483267;
    border-radius: 2px;
    transition: transform 0.3s ease, opacity 0.3s ease, background-color 0.3s ease;
    margin-bottom: 4px;
    margin-top: 4px;
}

.hamburger.color-change span {
    background-color: #9E81F0;
}

.hamburger span:nth-child(2) {
    width: 80%;
}

/* Effetto X per l'hamburger */
.hamburger.active span:nth-child(1) {
    transform: translateY(10px) rotate(45deg);
}

.hamburger.active span:nth-child(2) {
    opacity: 0;
}

.hamburger.active span:nth-child(3) {
    transform: translateY(-10px) rotate(-45deg);
}

/* Stile per il menu fullscreen */
.menu-fullscreen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('../images/bg/header.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    overflow-y: auto;
}

.indicoo-menu-logo {
    width: 260px;
}



.menu-items {
    list-style: none;
    text-align: center;
}

.menu-items li {
    margin: 20px 0;
    text-transform: uppercase;
}

.menu-items a {
    text-decoration: none;
    color: #fff;
    font-size: 2rem;
}

.menu-items-alt {
    list-style: none;
    margin-left: 0;
    padding: 0;

}

.menu-items-alt li {
    margin: 20px 0;
    text-transform: uppercase;
}

.menu-items-alt a {
    text-decoration: none;
    color: #483267;
    font-size: 1rem;
    transition: all .6s ease;
}

.menu-items-alt a:hover {
    text-decoration: none;
    margin-left: 8px;
}

.claim-menu {
    color: #fff;
    font-size: 1.2em
}

.menu-title {
    text-decoration: none;
    /* color: #fff; */
    /* font-size: 1rem; */
    text-transform: uppercase;
    /* text-decoration: none; */
    /* color: #fff; */
    font-size: 1.1rem;
    margin-top: 30px;
    color: #9E81F0;
    margin-bottom: 30px;
}

/*fine menu hambiurger*/


/* Utility */

.p-0 {
    padding: 0 !important
}

/* Per browser basati su WebKit (Chrome, Safari) */
::-webkit-scrollbar {
    width: 12px;
    /* Larghezza della scrollbar */
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
    /* Colore del track della scrollbar (sfondo) */
    border-radius: 10px;
    /* Arrotondamento degli angoli del track */
}

::-webkit-scrollbar-thumb {
    background: #333;
    /* Colore del thumb della scrollbar (la parte che si muove) */
    border-radius: 10px;
    /* Arrotondamento degli angoli del thumb */
}

::-webkit-scrollbar-thumb:hover {
    background: #7a60e7;
    /* Colore del thumb quando ci si passa sopra con il mouse */
}

/* Per Microsoft Edge e Internet Explorer */
body {
    scrollbar-color: #333 #f1f1f1;
    /* Colore thumb | Colore track */
    scrollbar-width: thin;
    /* Spessore della scrollbar */
}




/* Icone menu */

.user {
    color: #fff;
    font-size: 2.2em;
    position: fixed;
    top: 43px;
    right: 110px;

}

.user a {
    color: #483267;
    transition: all 0.5s ease;
}

.user.color-change a {
    color: #483267;
}

.user.color-change a:hover {
    color: #48326780;
}

.user a:hover {
    color: #48326780;
}

.search {
    color: #fff;
    font-size: 1.7em;
    position: fixed;
    top: 52px;
    right: 170px;
    cursor: pointer;
    transition: all 0.5s ease;

}

.search:hover {
    color: #ffffff80;
}

#user.color-change,
#search.color-change {
    color: #9E81F0;
}

#accedi,
#iscriviti {
    display: none;
}


.social-menu {
    position: fixed;
    bottom: 30px;
    left: 20px;
}



/* RICERCA FULLSCREEN */

/* Stile per il pulsante di ricerca */
.search-button {
    position: fixed;
    top: 20px;
    right: 60px;
    z-index: 1001;
    cursor: pointer;
    background-color: #9E81F0;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    font-size: 1rem;
}

/* Stile per la finestra di ricerca fullscreen */
.search-fullscreen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1002;
    flex-direction: column;
    padding: 20px;
    box-sizing: border-box;
    background: url('../images/indicoo-background.svg') center/cover no-repeat, linear-gradient(100deg, rgba(168, 138, 255, 1) 0%, rgba(67, 46, 95, 1) 100%);
}

.search-fullscreen h3 {
    color: #fff;
    font-size: 2em;
    font-weight: 500;
    font-size: 3.5em;
    color: #fff;
    font-weight: var(--font-weight-400);
    padding-right: 1vw;
    transition: all .6s ease;
    line-height: 0.9em;
    font-weight: 600;
}

.search-fullscreen p {
    color: #fff;
}

.search-fullscreen form {
    width: 80%;
}

/* Stile per l'input di ricerca */
.search-fullscreen input[type="text"] {
    width: 80%;
    padding: 15px;
    font-size: 2rem;
    border: none;
    border-radius: 5px;
    outline: none;
    margin-bottom: 20px;
}

/* Stile per le opzioni di ricerca */
.search-options {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 15px;
    display: none;
}

.search-options li {
    display: inline-block;
}

.search-options input[type="checkbox"] {
    margin-right: 5px;
}

.search-options label {
    color: white;
    font-size: 1.2rem;
}

/* Stile per il pulsante di chiusura */
.close-search {
    position: absolute;
    top: 20px;
    right: 30px;
    background: none;
    border: none;
    color: white;
    font-size: 2rem;
    cursor: pointer;
}

.search-close-icon {
    position: absolute;
    top: 54px;
    right: 42px;
    cursor: pointer;
    width: 35px;
    height: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.search-close-icon span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: white;
    transition: transform 0.3s ease, opacity 0.3s ease;
    margin-top: 3px;
    margin-bottom: 1px;
}

.search-close-icon .bar1 {
    transform-origin: top left;
}

.search-close-icon .bar2 {
    opacity: 1;
}

.search-close-icon .bar3 {
    transform-origin: bottom left;
}

.search-close-icon.active .bar1 {
    transform: rotate(45deg);
}

.search-close-icon.active .bar2 {
    opacity: 0;
}

.search-close-icon.active .bar3 {
    transform: rotate(-45deg);
}




/* Stili per la personalizzazione dei checkbox */
.search-options li {
    list-style: none;
    margin: 10px 0;
    font-size: 1.2rem;
    position: relative;
    padding-left: 30px;
    /* Spazio per l'icona del checkbox */
}

.search-options label {
    cursor: pointer;
}

/* Nascondi il checkbox predefinito */
.fullscreen-checkbox {
    display: none;
}

/* Stile per il checkbox personalizzato */
.search-options label::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid #9E81F0;
    border-radius: 4px;
    margin-right: 10px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.search-fullscreen label {
    text-transform: uppercase;
    font-size: .9em;
    margin-right: 30px;
}


/* Stile per il checkbox selezionato */
.fullscreen-checkbox:checked+label::before {
    background-color: #9E81F0;
    border-color: #9E81F0;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f00c";
    /* Simbolo di spunta */
    color: white;
    font-size: 16px;
    text-align: center;
    line-height: 18px;
}

/* Stile per l'input di ricerca */
.search-fullscreen input[type="text"] {
    background: transparent;
    border-bottom: 4px solid aliceblue;
    color: white;
    font-size: 2rem;
    padding: 15px;
    border-radius: 0;
    width: 80%;
    margin: 50px 0;
    transition: background 0.3s ease, color 0.3s ease;
    caret-color: #fff;
    width: 100%;
}

.search-fullscreen input[type="text"]::placeholder {
    color: rgba(253, 253, 253, 0.5);
}




/* Stile per l'input quando è focalizzato */
.search-fullscreen input[type="text"]:focus {
    background: transparent;
    /* rgba(255, 255, 255, 0.2);*/
    /* Leggera modifica alla trasparenza */
    box-shadow: none;
    color: #fff;
    outline: none;


    border-color: #9E81F0;
    /* Colore del bordo quando in focus */
    /*box-shadow: 0 0 10px rgba(168, 140, 252, 0.5);*/
    /* Aggiunta di un'ombra */
    outline: none;
    /* Rimuove il contorno blu predefinito */
}


.password-dimenticata {

    color: #432E5F;
}

.password-dimenticata a {
    color: #9E81F0;
}


.container-default-pagina {
    border-radius: 35px;
    margin-top: -22em;
    background-color: #ffffffb2;
    padding: 70px 50px;
    position: relative;
    backdrop-filter: blur(13px);
    -webkit-backdrop-filter: blur(13px);
}

/*
.container-default-ai {
	border-radius: 25px;
	margin-top: -18em;
	background: rgba(255, 255, 255, 0.3);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	padding: 30px 50px;
	border: .2px solid #fff;
	margin-bottom: 3em;
}*/

.container-default-ai {
    border-radius: 25px;
    margin-top: -18em;
    background: rgba(255, 255, 255, 0.54);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    padding: 30px 50px;
    border: .2px solid #fff;
    margin-bottom: 3em;
}

/* AI Act inline note */
.ai-act-note {
    margin: 8px 0 0;
    font-size: 0.74rem;
    color: #6c757d;
    display: flex;
    align-items: center;
    gap: 5px;
    line-height: 1.4;
}
.ai-act-note svg { flex-shrink: 0; opacity: 0.8; }

/* Guest search limit banner */
.ai-guest-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 12px 20px;
    margin: 28px auto 24px;
    max-width: 700px;
    font-size: 0.85rem;
    color: #555;
    flex-wrap: wrap;
}

/* Nota contatore ricerche in fondo alla risposta AI */
.ai-search-count-note {
    margin: 10px 0 0;
    font-size: 0.74rem;
    color: #adb5bd;
    display: flex;
    align-items: center;
    gap: 4px;
}
.ai-search-count-note a { color: #adb5bd; text-decoration: underline; }
.ai-search-count-note a:hover { color: #9E81F0; }
.ai-guest-banner.limit-reached {
    background: #fff8f0;
    border-color: #f5c07a;
}
.ai-guest-counter {
    display: flex;
    align-items: center;
    gap: 10px;
}
.ai-guest-dots {
    display: flex;
    gap: 5px;
}
.ai-guest-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #e5e7eb;
}
.ai-guest-dot.used { background: #9E81F0; }
.ai-guest-banner.limit-reached .ai-guest-dot.used { background: #f5a623; }
.ai-guest-count-text { color: #555; font-size: 0.83rem; }
.ai-guest-banner.limit-reached .ai-guest-count-text { color: #c07800; font-weight: 600; }
.ai-guest-cta { display: flex; align-items: center; gap: 8px; }
.ai-guest-register-link {
    color: #9E81F0;
    font-size: 0.82rem;
    text-decoration: none;
    white-space: nowrap;
}
.ai-guest-register-link:hover { text-decoration: underline; }



.container-default-pagina ul,
.container-default-ai ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}




/* Effetto immagini */

.image-container {
    overflow: hidden;
    position: relative;
}

.img-fluid {
    transition: transform 0.1s ease-out;
}

/* Pagina storie */

.image_widget {
    overflow: hidden;
    border-radius: 35px;
    position: relative;
    /* box-shadow: -20px 20px 0 0 #9E81F0; */
    box-shadow: 0 14px 16px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.04);
    margin-bottom: 30px;
}


.storie_item {
    border-radius: 35px;
    position: relative;
    padding: 30px 40px 40px;
    transition: .4s cubic-bezier(.25, 1, .5, 1);
    background-color: #fff;
    /* border: 2px solid #483267; */
    /* box-shadow: 0 1px 1px 0 rgba(31, 29, 13, .2); */
    box-shadow: 0 14px 16px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.04);
}

.item_content {
    text-align: center;
    color: #333;
}

.item_settore {
    text-transform: uppercase;
    font-size: .8em;
}

.storie_item .item_icon {
    width: 100%;
    height: 66px;
    display: flex;
    margin-bottom: 10px;
    align-items: center;
    /* border-radius: 100%; */
    justify-content: center;
    transition: .4s cubic-bezier(.25, 1, .5, 1);
    border: 2px solid transparent;
    /* background-color: #fff; */
    position: relative;
    color: #483267;
}

.dettaglio_storia p {
    line-height: 1.8em;
}

.dettaglio_storia a {
    position: relative;
    color: #000;
    text-decoration: none;
    z-index: 1;
    font-weight: 600;
}



.storie_item .item_icon svg {
    width: 34px;
    height: 40px;
}

.storie_item .item_title {
    font-size: 22px;
    font-weight: 500;
    line-height: 25px;
    margin-bottom: 28px;
    color: #483267;
}

blockquote {
    margin-top: 50px;
    margin-bottom: 50px;
}

blockquote .blockquote_icon {
    flex: 0 0 60px;
    margin-right: 30px;
    width: 70px;
}

blockquote p {
    font-size: 22px;
    font-weight: 700;
    line-height: 25px;
    margin-left: 100px;
    font-style: italic;
}

.dettaglio_storia {
    color: #333;
    font-size: 1.1em;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.image-storia {
    /* box-shadow: 10px 10px 0px 0px rgba(168, 138, 255, 0.50); */
    border-radius: 35px;
    margin-bottom: 40px;
    box-shadow: 0 14px 16px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.04);
}

.dettaglio_storia .titolo {
    color: #333;
    font-size: 38.077px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 30px;
    margin-top: 30px;
    margin-bottom: 30px;
}

ul.infolist {
    margin: 0;
    padding: 0;
}

ul.infolist li {
    list-style-type: none;
    display: block;
    list-style: none;
    margin-bottom: 12px;
}

.unordered_list_block {
    margin: 0;
    padding: 0;
    display: block;
    list-style: none;

}

.dettaglio_storia ul,
ol {
    margin-top: 30px;
    margin-bottom: 30px;
}

.dettaglio_storia li {
    margin-bottom: 12px;
}

.unordered_list_block i {
    color: #9E81F0
}

.storie_item .info_list>li:not(:last-child) {
    margin-bottom: 6px;
}


.card.info-coop {
    position: relative;
    /* Inizialmente relativa */
    padding: 20px;
    background-color: #f8f9fa;
    border: 1px solid #ccc;
    width: auto;
    margin: 20px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.image-wrapper {
    position: relative;
    /* Contesto per il posizionamento assoluto dell'icona */
}

.icon-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    color: #fff;
    /* Cambia il colore dell'icona se necessario */
    pointer-events: none;
    /* Assicura che l'icona non interferisca con altri elementi cliccabili */
}


.image-wrapper img {
    /*filter: grayscale(100%);*/
    /* Applica il filtro bianco e nero all'immagine */
    transition: all 0.3s ease;
    /* Aggiunge un'animazione fluida */
    cursor: pointer;
}

.image-wrapper:hover img {
    filter: grayscale(0%);
    /* Rimuove il filtro bianco e nero quando si passa il mouse */
    z-index: 1;
    border-color: #9175e6;
    transform: translate(-2px, -2px);
    box-shadow: 10px 10px 0 0 #9175e6
}


.video-didascalia {
    background: linear-gradient(334deg, rgba(255, 255, 255, 0.00) 62.59%, #FFF 105.64%), #9E81F0;
    border-radius: 8px;
    padding: 50px 50px;
    font-size: 1.6em;
    color: #fff;
    background: #9E81F0;
    padding: 70px 80px;
    border-radius: 25px;
    box-shadow: 10px 10px 0px 0px rgba(168, 138, 255, 0.50);
    border-radius: 10px;
}



.card-area-riservata {
    min-height: 270px;
    text-align: center;

    transition: all .6s ease;
}

.card-area-riservata:hover {
    background-color: #11111114;
    box-shadow: 6px 6px 0px 0px rgba(168, 138, 255, 0.50);
}


.card-area-riservata .icon {
    width: 100%;
    color: #9E81F0;

}

.card-area-riservata .icon svg {
    width: 100%;
    height: 60px;
    margin-top: 30px;
    margin-bottom: 20px;
}

.bot-chat {
    height: 80px;
    width: 80px;
    border-radius: 100%;
    position: fixed;
    z-index: 999999;
    bottom: 30px;
    right: 30px;
    background-color: #785bcd;
    cursor: pointer;
    transition: all .6s ease;
}

.bot-chat:hover {
    background-color: #9E81F0;

}

.bot-chat-icon {
    color: #fff;
}

.bot-chat-icon svg {
    width: 60px;
    height: 60px;
    margin-top: 7px;
    margin-left: 10px;
}


/* Pulsanti */


/* PULSANTE VUOTO */

a.pulsante-vuoto {
    border-radius: 65px;
    border: 2px solid #333;
    background: rgba(51, 51, 51, 0.00);
    display: inline-block;
    padding: 10px 20px;
    color: #333;
    text-align: center;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-top: 30px;
    transition: all .6s ease;
}

a.pulsante-vuoto svg path {
    transition: all .6s ease;
}

a.pulsante-vuoto:hover {
    background: #333;
    color: #fff;
}

a.pulsante-vuoto:hover svg path {
    stroke: #fff;
}

/* PULSANTE PIENO */

a.pulsante-pieno {
    border-radius: 49.5px;
    border: 0.762px solid #333;
    background: #333;
    color: #fff;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    padding: 10px 20px;
    margin-top: 40px;
    width: auto;
    display: inline-block;
    transition: all .6s ease;
}

a.pulsante-pieno svg path {
    transition: all .6s ease;
}

a.pulsante-pieno:hover {
    background: #9175e6;
    border-color: #9175e6;
}

a.pulsante-pieno:hover svg path {
    stroke: #fff;
}



/* CHAT */

.chat-header a {
    text-decoration: none;
    color: white;
}

.copyright {
    font-size: 12px;
    text-align: center;
}

.copyright a {
    text-decoration: none;
    color: #343c41;
}

#chatbot-toggle-btn {
    height: 80px;
    width: 80px;
    border-radius: 100%;
    position: fixed;
    z-index: 999999;
    bottom: 30px;
    right: 30px;
    background-color: #333;
    cursor: pointer;
    transition: all .6s ease;
}

#chatbot-toggle-btn:hover {
    background-color: #9E81F0;
}

.chatbot-popup {
    display: none;
    position: fixed;
    bottom: 119px;
    right: 36px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    width: 350px;
    max-width: 90%;
    z-index: 1000;
}

.chat-header {
    background-color: #9E81F0;
    color: #fff;
    padding: 15px 20px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#close-btn {
    background-color: transparent;
    border: none;
    color: #fff;
    font-size: 20px;
    cursor: pointer;
}

.chat-box {
    max-height: 350px;
    overflow-y: auto;
    padding: 15px 24px;
    min-height: 410px;
}

.chat-input {
    display: flex;
    align-items: center;
    padding: 10px 20px;
    border-top: 1px solid #ddd;
}

#user-input {
    flex: 1;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 12px;
    outline: none;
    width: 100%;
}

#send-btn {
    /* font-family: "Poppins", sans-serif; */
    padding: 10px 20px;
    border: none;
    background-color: #9E81F0;
    color: #fff;
    border-radius: 12px;
    margin-left: 10px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

#send-btn:hover {
    background-color: #333;
    color: #fff;
}



.bot-message {
    background-color: #D0C1FC;
    color: #333;
    padding: 14px;
    border-radius: 10px;
    margin-bottom: 10px;
    margin-top: 15px;
    align-self: flex-start;
    margin-right: 10px;
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: column;
    font-size: 14px;
    text-align: left;
    font-family: "Inter", sans-serif;
}

.bot-message::before {
    content: "\1F916";
    /* Robot emoji */
    position: absolute;
    bottom: -17px;
    left: -14px;
    margin-bottom: 4px;
    font-size: 20px;
    background-color: #1087FF;
    color: #fff;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

.button-container {
    display: flex;
    justify-content: space-around;
    margin-top: 10px;
}

.button-container button {
    padding: 10px 50px;
    border: none;
    background-color: #1087FF;
    color: #fff;
    border-radius: 10px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.button-container button:hover {
    background-color: #0074CC;
}

/* mappa */

.marker {
    background-color: #483267;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.marker img {
    width: 25px;
    height: 25px;
}



/* FINE CHAT */
#nascondi {
    position: fixed;
    z-index: 9999999;
    background-color: #fff;
    height: 30px;
    width: 300px;
    right: 99px;
    bottom: 113px;
}


/* MAPBOX */

.mapboxgl-popup-content {
    padding: 10px 30px 15px !important;
    box-shadow: 10px 10px 0px 0px rgba(168, 138, 255, 0.50) !important;
    border-radius: 10px !important;
    background-color: #333 !important;
    border: 1px dashed #fff;
    color: #fff;
    font-family: "Inter", sans-serif;
}

.mapboxgl-popup-close-button {
    right: 6px;
    top: 3px;
    color: #fff;
    font-size: 16px;
}

.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {
    border-top-color: #333;
}

.mapboxgl-popup-content .settore {
    text-transform: uppercase;
    font-weight: bold;
    margin-bottom: 10px;
}


/*VARIE*/

.freccia-indicoo {
    width: 30px;
    height: 30px;
    background-image: url(../images/freccia.svg);
    background-size: contain;
    background-repeat: no-repeat;

}

/* ALERT */

.alert-warning {
    background-color: #c0acfd !important;
    border-color: #bfabfc !important;
    color: #333 !important;
}


/* VIDEO */
.video-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

/* Contenitore base per entrambi i tipi di video */
.video-container {
    width: 90%;
    max-width: 90%;
    max-height: 90vh;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

/* Stile specifico per video verticali (9:16) */
.video-container-vertical {
    max-width: 420px;
    /* Larghezza ottimizzata per video verticali */
    height: 80vh;
}

/* Stile per video orizzontali (16:9) */
.video-container-horizontal {
    width: 90%;
    max-width: 1200px;
    /* Puoi regolare questo valore */
    height: auto;
    aspect-ratio: 16/9;
}

/* Stile del video */
.video-player {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 35px;
    padding: 6px;
    background: url('../images/bg/header.webp') center/cover no-repeat, linear-gradient(100deg, rgb(114, 119, 247) 0%, rgb(67, 46, 95) 100%);
}

.close-overlay {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 30px;
    color: white;
    cursor: pointer;
    z-index: 1;
}

/*area utente variabili classi*/

.top {
    top: 5vh;
}

.min-height-header {
    min-height: 70vh
}

.min-height-card {
    min-height: 480px;
}

.min-height-300 {
    min-height: 300px;
}

.min-height-440 {
    min-height: 440px;
}

.min-height-530 {
    min-height: 440px;
}

.min-height-550 {
    min-height: 550px;
}

.aggiungi-vh {
    transform: translateY(5vh);
    /* Sposta l'elemento di 5vh verso il basso */
}

.rimuovi-vh {
    transform: translateY(-18vh);
    /* Sposta l'elemento di 5vh verso il basso */
}

/* Sposta l'elemento di 5vh verso il basso */


/* Notifiche */

.fixed-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 5vh;
    background-color: #000;
    color: white;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
}

.fixed-menu a {
    color: #8871bf;
}

.testo-benvenuto {
    color: white;
    font-size: .8em;
}

.testo-benvenuto a {
    color: white;
    text-decoration: none;
}

.testo-benvenuto a:hover {
    text-decoration: underline;
}

.notification-icon {
    position: relative;
    cursor: pointer;
    right: 45px;
    top: 5px;
}

/* Tooltip personalizzato */
.notification-tooltip {
    position: absolute;
    top: 40px;
    right: 0;
    width: 300px;
    background-color: white;
    color: black;
    border-radius: 8px;
    box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.2);
    display: none;
    /* Nascosto di default */
    padding: 10px;
}

.notification-tooltip h6 {
    margin-top: 0;
    color: #68509a;
    text-transform: uppercase;
    font-size: .9em;
}

.notification-list {
    max-height: 200px;
    overflow-y: auto;
}

.notification-item {
    border-bottom: 1px solid #ddd;
    padding: 5px 0;
}

.notification-item:last-child {
    border-bottom: none;
}

/* Badge per le notifiche */
.notification-badge {
    position: absolute;
    top: -11px;
    right: -12px;
    background-color: #69548e;
    color: white;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    /* Centra verticalmente */
    justify-content: center;
    /* Centra orizzontalmente */
    font-size: 10px;
}


/* Per WebKit (Chrome, Safari, Opera) */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Per Firefox */
input[type="number"] {
    -moz-appearance: textfield;
}



.numero {
    text-align: center;
    border: 1px dotted #947cd2;
    border-radius: 50px;
    width: 20px;
    height: 20px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    margin-left: 5px;
    margin-right: 5px;
    color: #7862a5;
}


/* PORTRAIT FISSO */

/* Solo portrait */

#pleaserotate-graphic {
    fill: #fff;
}

#pleaserotate-backdrop {
    color: #fff;
    background-color: #68509a;
}


/* LEGENDA FORM */

.legenda-form {
    text-transform: uppercase;
    font-size: .7em;
    color: #9E81F0 !important;
    margin-bottom: 5px;
}


.form-check-input:checked {
    background-color: #9E81F0;
    border-color: #9E81F0;
}

#networking {
    display: none;
}


.lb-data .lb-caption {
    font-size: 16px;
    font-weight: 700;
    line-height: 1em;
    color: #9E81F0;
    font-family: var(--font-family-inter);
    background-color: #fff;
    padding: 2px 6px;
    border-radius: 5px;
    list-style-type: none;
}

.anno_costituzione_networking {
    overflow: hidden;
    border-radius: 8px;
    background-color: #9E81F0;
    padding: 4px 8px;
    text-transform: uppercase;
    font-size: .8em;
    display: inline-block;
    color: #fff;
    list-style-type: none;
}

.lb-data .lb-number {
    display: none !important;
}



/*video home*/

.video-thumb {
    position: relative;
    /* Permette all'overlay di posizionarsi sopra l'immagine */
    display: inline-block;
    /* Mantiene il contenitore delle dimensioni dell'immagine */
}

.video-thumb img {
    display: block;
    border-radius: 8px;
    transition: filter 0.3s ease;
    cursor: pointer;
}

.play-icon {
    position: absolute;
    /* Posiziona l'icona sopra l'immagine */
    top: 50%;
    /* Centra verticalmente */
    left: 50%;
    /* Centra orizzontalmente */
    transform: translate(-50%, -50%);
    /* Sposta l'icona per centrarla */
    color: #333;
    font-size: 48px;
    /* Dimensioni dell'icona */
    transition: transform 0.3s ease, color 0.3s ease;
    /* Transizione per la trasformazione e il colore */
    cursor: pointer
}

.play-icon:hover {
    transform: translate(-50%, -50%) scale(1.2);
    /* Ingrandisce l'icona al passaggio del mouse */
}



/* Rende l'immagine più sfocata al passaggio del mouse */
.video-thumb:hover img {
    filter: blur(2px);
    /* Applica un effetto di sfocatura all'immagine */
}

/* Aumenta la dimensione e cambia il colore dell'icona al passaggio del mouse */
.video-thumb:hover .play-icon {
    transform: translate(-50%, -50%) scale(1.2);
    /* Ingrandisce l'icona */
    color: #fff;
    /* Cambia il colore dell'icona */
}


.networking-cooperativa-title {
    color: #9E81F0;
    font-size: 2.6em;
    margin-bottom: 30px;
    font-weight: 700;
}

.networking-cooperativa-web {
    border: 2px solid #9E81F0;
    display: inline-block;
    padding: 6px 17px;
    border-radius: 25px;
    margin-top: 30px;
}


.box-centrato {
    border-radius: 8px;
    padding: 30px;
    color: white;
    width: 80%;
    max-width: 400px;
    background: url('../images/indicoo-background.svg') center/cover no-repeat, linear-gradient(100deg, rgba(168, 138, 255, 1) 0%, rgba(67, 46, 95, 1) 100%);
}

.box-centrato small {
    font-size: 0.8em;
    text-transform: uppercase;
    font-weight: 200;
}

.box-centrato .anno {
    font-size: 1.3em;
    font-weight: bold;
    margin-top: 5px;

}

.box-centrato .dotted-line {
    margin-top: 15px;
    border: none;
    border-top: 1px dotted white;
    width: 100%;
}

.box-centrato .info {
    font-size: 1.2em;
    margin-top: 10px;
}

.box-centrato .indirizzo {
    font-size: 1em;
    margin-top: 10px;
    line-height: 1.5em;
}


#rotate-message h1 {
    font-size: 18px
}

.mapboxgl-ctrl-bottom-left {
    bottom: 50px !important;
    /* Sposta i controlli 50px più in alto */
}


#c-bns button:first-child,
#s-bns button:first-child {
    background: #483267 !important;
}

.contenitore-tratteggiato {
    border: 1px dashed #333;
    border-radius: 8px;
    padding: 30px 20px;
    background-color: #f7f7f7;
}


.form_item select {
    height: 60px;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-size: 12px;
    padding: 0 40px 0 20px;
    color: #717580;
    border: none;
    border-radius: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-box-shadow: 0 0 45px rgba(0, 0, 0, 0.09);
    box-shadow: 0 0 45px rgba(0, 0, 0, 0.09);
    -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
    transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
    position: relative;
    background-image: none;
    font-family: var(--font-family-inter);
    text-transform: uppercase;
    font-size: 13px;
}


.form-indicoo input,
select,
textarea,
.form-control,
.form-select {
    padding: 12px 25px;
    width: 100%;
    max-width: 100%;
    resize: none;
    outline: none;
    font-size: 13px;
    border: 1px solid #e4e4e4;
    border-radius: 0;
    color: #717580;
    line-height: inherit;
    word-break: normal;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-box-shadow: 0 0 45px rgba(0, 0, 0, 0.09);
    box-shadow: 0 0 45px rgba(0, 0, 0, 0.09);
    -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
    transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
    position: relative;
    text-transform: uppercase;
    margin-top: 5px;
}



/* BOOTSTRAP PERSONALIZZATO */

@media (min-width: 1921px) {
    .container {
        max-width: 1500px !important;
    }

    .col-indy-ai {
        width: 1500px;
    }
}



/* .badge-circle {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 70px;
    height: 70px;
    background-color: #9E81F0;
    color: #fff;
    font-size: 0.4rem;
    font-weight: 600;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1;
  }*/

.badge-circle {
    position: absolute;
    bottom: 0;
    right: 0px;
    width: 100%;
    height: 42px;
    background-color: #9E81F02B;
    color: #483267;
    font-size: .8em;
    font-weight: 600;
    /* border-radius: 50%; */
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    /* text-transform: uppercase; */
    letter-spacing: 0.5px;
    line-height: 1;
    padding-right: 50px;
    padding-left: 34px;
}



/*TEST E TEMPORANEI*/

.search-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 200px;
    /* o regola in base al layout */
}

.search-form {
    width: 100%;
    max-width: 600px;
    position: relative;
}

.search-input {
    width: 100%;
    padding: 20px 30px;
    font-size: 2.5rem;
    background: transparent;
    border: none;
    border-bottom: 2px solid white;
    color: white;
    caret-color: white;
    outline: none;
    font-weight: 300;
}

.search-input::placeholder {
    color: rgba(255, 255, 255, 0.6);
    font-weight: 300;
    opacity: 1;
}

.search-input:focus {
    border-bottom: 2px solid #fff;
}

.search-input {
    caret-color: white;
    animation: blink-caret 1s step-end infinite;
}

@keyframes blink-caret {

    from,
    to {
        caret-color: transparent;
    }

    50% {
        caret-color: white;
    }
}



/*Nuovi stile*/

.box {
    /* background: #FFFFFF0F 0% 0% no-repeat padding-box; */
    /* mix-blend-mode: normal; */
    /* border: 1px solid #FFFFFF4A; */
    opacity: 1;
    /* backdrop-filter: blur(13px); */
    -webkit-backdrop-filter: blur(13px);
    width: 100%;
    max-width: 580px;
    height: 503px;
    padding: 2rem;
    /* background: rgba(255, 255, 255, 0.05); */
    /* backdrop-filter: blur(20px); */
    color: white;
    /* clip-path: url(#clip-shape); */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="580" height="453" viewBox="0 0 580 453"> <g id="Subtract" fill="rgba(255,255,255,0.06)" style="isolation: isolate"> <path d="M41,0A41,41,0,0,0,0,41V388a41,41,0,0,0,41,41H248c21.376,0,41.876,24,63.252,24H539a41,41,0,0,0,41-41V136a41,41,0,0,0-41-41H524a40,40,0,0,1-40-40V41A41,41,0,0,0,443,0Z" stroke="none"/> <path d="M 41 1 C 35.59954833984375 1 30.3612060546875 2.05743408203125 25.43048095703125 4.14300537109375 C 20.66741943359375 6.157562255859375 16.38958740234375 9.0418701171875 12.7156982421875 12.71572875976562 C 9.0418701171875 16.38955688476562 6.1575927734375 20.66741943359375 4.14300537109375 25.43051147460938 C 2.05743408203125 30.3612060546875 1 35.59957885742188 1 41 L 1 388 C 1 393.4005126953125 2.05743408203125 398.6388549804688 4.14300537109375 403.5696411132812 C 6.1575927734375 408.3327026367188 9.0418701171875 412.6105651855469 12.7156982421875 416.2843627929688 C 16.38958740234375 419.9582214355469 20.66741943359375 422.8424987792969 25.43048095703125 424.8570556640625 C 30.3612060546875 426.9425659179688 35.59954833984375 428 41 428 L 248 428 C 250.6507263183594 428 253.3391418457031 428.346923828125 256.2189331054688 429.0606384277344 C 258.7662963867188 429.6919250488281 261.4057922363281 430.5979309082031 264.2882995605469 431.8305053710938 C 269.6037292480469 434.1034240722656 274.9515075683594 437.1683654785156 280.1231994628906 440.1323547363281 C 285.2453002929688 443.0679321289062 290.5417175292969 446.1034240722656 295.7500610351562 448.3305053710938 C 298.5326538085938 449.5203552246094 301.0722961425781 450.3929138183594 303.5142211914062 450.9981384277344 C 306.2344970703125 451.6722717285156 308.7655639648438 452 311.2520141601562 452 L 539 452 C 544.4005126953125 452 549.6388549804688 450.9425659179688 554.5696411132812 448.8570861816406 C 559.3327026367188 446.8424987792969 563.610595703125 443.9582214355469 567.284423828125 440.284423828125 C 570.9581909179688 436.6105651855469 573.842529296875 432.3327026367188 575.8570556640625 427.5696411132812 C 577.9425659179688 422.6388549804688 579 417.4005126953125 579 412 L 579 136 C 579 130.5994873046875 577.9425659179688 125.3611450195312 575.8570556640625 120.4303588867188 C 573.842529296875 115.6672973632812 570.9581909179688 111.3894348144531 567.284423828125 107.715576171875 C 563.610595703125 104.0417785644531 559.3327026367188 101.1575012207031 554.5696411132812 99.14291381835938 C 549.6388549804688 97.05743408203125 544.4005126953125 96 539 96 L 524 96 C 518.465576171875 96 513.0961303710938 94.91586303710938 508.040771484375 92.77764892578125 C 503.158447265625 90.71258544921875 498.7738647460938 87.75643920898438 495.0087890625 83.99142456054688 C 491.2437133789062 80.22634887695312 488.2875671386719 75.84170532226562 486.222412109375 70.9593505859375 C 484.084228515625 65.90399169921875 483 60.53448486328125 483 55 L 483 41 C 483 35.59957885742188 481.9425659179688 30.3612060546875 479.8570556640625 25.43051147460938 C 477.8424987792969 20.66741943359375 474.9582214355469 16.38955688476562 471.2843627929688 12.71572875976562 C 467.6105651855469 9.0418701171875 463.3327026367188 6.157562255859375 458.5696411132812 4.14300537109375 C 453.6388549804688 2.05743408203125 448.4005126953125 1 443 1 L 41 1 M 41 0 L 443 0 C 465.6439819335938 0 484 18.35629272460938 484 41 L 484 55 C 484 77.0914306640625 501.9089965820312 95 524 95 L 539 95 C 561.6439819335938 95 580 113.3559875488281 580 136 L 580 412 C 580 434.6440124511719 561.6439819335938 453 539 453 L 311.2520141601562 453 C 289.8760070800781 453 269.3760070800781 429 248 429 L 41 429 C 18.35626220703125 429 0 410.6440124511719 0 388 L 0 41 C 0 18.35629272460938 18.35626220703125 0 41 0 Z" stroke="none" fill="rgba(255,255,255,0.29)"/> </g> </svg>');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
}


.box-title {
    text-align: left;
    font: normal normal normal 50px/60px;
    letter-spacing: 0px;
    color: #FFFFFF;
    opacity: 1;
    color: #fff;
    font-size: 2.4em;
    margin-bottom: 0.5em;
    margin-top: 0.5em;
    line-height: 1.3em;
    font-weight: 300;
}

.box-icon {
    height: 80px;
    width: 80px;
    position: absolute;
    top: 27px;
    right: 0;
}

.home-search {
    width: 100%;
    padding: 1rem 1.5rem;
    /* Il pulsante di invio è in posizione assoluta e occupa i 59px finali
       del campo (55px di larghezza + 4px di offset). Senza questo spazio il
       testo digitato ci scorre sotto. */
    padding-right: 4.5rem;
    font-size: 1.2rem;
    color: #483267;
    background: #fff;
    border: 2px solid #fff;
    border-radius: 35px;
    outline: none;
    transition: border-color 0.3s ease, background 0.3s ease;
    margin-bottom: 2em;
}

.home-search::placeholder {
    color: #483267;
}


.circle-btn {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background-color: #A88AFF;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
    padding: 0;
    position: absolute;
    right: 4px;
    top: 5px;
    transition: all 0.3s ease;
}



.circle-btn img {
    width: 50%;
    /* l’icona occupa metà del pulsante */
    height: 50%;
    display: block;
}

.circle-btn:disabled {
    background-color: #CCCCCC;
    cursor: not-allowed;
    opacity: 0.7;
}


.indy-ai-icon-search {
    height: 15px;
    margin-top: -4px;
    margin-left: 3px;
}

.indy-ai-info-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    background: transparent;
    border: 1.5px solid rgba(255, 255, 255, 0.55);
    border-radius: 50%;
    padding: 0;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.75);
    font-size: 10px;
    line-height: 1;
    vertical-align: middle;
    margin-left: 5px;
    margin-top: -3px;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.indy-ai-info-btn:hover,
.indy-ai-info-btn:focus {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.9);
    color: #fff;
    outline: none;
}

.indy-ai-info-btn .bi {
    font-size: 10px;
    display: block;
}

.home-search:focus {
    border-color: #483267;
    background: rgba(255, 255, 255, 0.2);
}


.scroll-indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.7);
    margin-bottom: 40px;
    animation: scrollPulse 1.8s infinite ease-in-out;
    position: absolute;
    bottom: -90px;
    left: 50%;
}



@keyframes scrollPulse {
    0% {
        transform: translateY(0);
        opacity: 1;
    }

    50% {
        transform: translateY(15px);
        opacity: 0.3;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}


/* MASCHERE IMMAGINI */

.clipped-img {
    clip-path: url(#clip-shape);
    -webkit-clip-path: url(#clip-shape);
}




/* elementi vari */


.timeline {
    position: relative;
    padding-left: 50px;
}

.timeline-step {
    position: relative;
    margin-bottom: 30px;
}

.timeline-number {
    position: absolute;
    left: -56px;
    top: 0;
    width: 40px;
    height: 40px;
    background: #9E81F0;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

.timeline-content {
    padding: 20px;
    border-radius: 8px;
    /* border-left: 3px solid #9E81F0; */
    padding-top: 5px;
}

.timeline-step:not(:last-child) .timeline-content:after {
    content: '';
    position: absolute;
    left: -37px;
    top: 40px;
    height: calc(100% + 10px);
    width: 2px;
    background: #9E81F0;
}

.cost-item,
.benefit-item {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px dashed #ddd;
}

.cost-item:last-child,
.benefit-item:last-child {
    border-bottom: none;
}

.bg-light-blue {
    background-color: #f0f7ff;
}

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

.support-list li {
    padding: 8px 0;
    position: relative;
    padding-left: 30px;
}

.support-list li:before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #9E81F0;
    font-weight: bold;
}

.accordion-button:not(.collapsed) {
    background-color: #f0f7ff;
    /* color: #9E81F0; */
    font-weight: bold;
}


.bg-light {
    background-color: #f8f9fa;
    border-left: 4px solid #2a4365;
}


.alert-doc {
    background-color: #9E81F000;
    padding: 9px 12px;
    border-radius: 8px;
    color: #000;
    display: inline-block;
    line-height: 1.4;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding-left: 30px;
    height: 53px;
    line-height: 33px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    font-size: .9em
}

.alert-doc a {
    color: #000;
    text-decoration: underline;
    font-weight: 500;
}

.mt10p {
    margin-top: 10%
}

.ai-box {
    background: transparent;
    margin-top: .5em;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 20px;
    font-size: 1.1em;
    box-shadow: none;
    display: flex;
    flex-direction: column;
}

.ai-messages {
    display: flex;
    flex-direction: column;
}

.ai-message {
    background: #f8fafc;
    border-radius: 16px 16px 16px 0;
    padding: 14px;
    position: relative;
    margin-right: auto;
    font-family: "Inter", sans-serif;
    font-weight: 300;
    padding-top: 30px;
}

.ai-message::before {
    content: "\F6B1";
    font-family: bootstrap-icons;
    position: absolute;
    bottom: -17px;
    right: -10px;
    margin-bottom: 8px;
    font-size: 20px;
    background-color: #977AE5;
    color: #fff;
    border-radius: 50%;
    width: 35px;
    height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
    display: none;
}

.ai-message a {
    color: #a385f8;
    text-decoration: underscore;
}

.user-message {
    /* background-color: #333; */
    background: linear-gradient(90deg, #a88aff 0%, #483267 100%);
    color: #f8fafc;
    padding: 14px;
    border-radius: 16px 16px 0 16px;
    margin-bottom: 10px;
    margin-top: 15px;
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    font-size: 1em;
    font-family: "Inter", sans-serif;
    margin-left: auto;
}

.loading-dots {
    display: flex;
    gap: 4px;
    justify-content: flex-start;
    align-items: center;
    height: 20px;
    margin-top: 10px;
}

.loading-dots span {
    width: 8px;
    height: 8px;
    background: #9E81F0;
    border-radius: 50%;
    animation: blink 1.4s infinite both;
}

.loading-dots span:nth-child(2) {
    animation-delay: 0.2s;
}

.loading-dots span:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes blink {

    0%,
    80%,
    100% {
        opacity: 0.3;
    }

    40% {
        opacity: 1;
    }
}

.save-thread {
    margin-top: 5px;
    background: #fff;
    color: #a385f9;
    border: 1px solid #a385f9;
    padding: 5px 10px;
    border-radius: 5px;
    cursor: pointer;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    transition: all 0.3s ease;
}

.save-thread:disabled {
    background: #f8fafc;
    cursor: not-allowed;
}

.copy-message {
    margin-top: 5px;
    background: #fff;
    color: #a385f9;
    border: 1px solid #a385f9;
    padding: 5px 10px;
    border-radius: 5px;
    cursor: pointer;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    transition: all 0.3s ease;
}

.copy-message:disabled {
    background: #f8fafc;
    cursor: not-allowed;
}

.ai-form input {
    border-radius: 35px !important;
}


/* FORM DEL BOT */


.bot-form {
    border-radius: 8px;
    background-color: transparent;
    box-shadow: none
}

.bot-form b {
    font-weight: 600;
}

.bot-form input,
select,
textarea,
.form-control,
.form-select {
    padding: 19px 14px;
    width: 100%;
    max-width: 100%;
    resize: none;
    outline: none;
    font-size: 13px;
    border: 1px solid #e4e4e4;
    border-radius: 35px;
    color: #333;
    line-height: inherit;
    word-break: normal;
    /* -webkit-transition: 0.3s; */
    /* transition: 0.3s; */
    -webkit-box-shadow: 0 0 45px rgba(0, 0, 0, 0.09);
    box-shadow: 0 0 45px rgba(0, 0, 0, 0.09);
    -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
    transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
    position: relative;
    margin: 0;
    margin-top: 8px;
}

.bot-form .custom-button {
    margin-top: 0;
}

.bot-form ::placeholder {
    color: #000;
    font-size: 13px;
}

.bot-form input:focus,
.bot-form select:focus,
.bot-form textarea:focus,
.form-control:focus,
.form-select:focus {
    /* Inserisci qui le proprietà di stile desiderate per lo stato di focus */
    outline: 1px solid #000;
    /* Cambia il bordo quando l'elemento è in focus */
    background-color: #dcd1fd20;
    /* Cambia il colore di sfondo quando l'elemento è in focus */
    /* Aggiungi altre proprietà di stile se necessario */
}


.container-ricerca {
    border-radius: 25px;
    background-color: transparent;
    padding: 30px 50px 30px 50px;
}

.container-ricerca h1.page-heading {
    color: #707070;
    font-size: 2.2em;
    font-style: normal;
    font-weight: 600;
    line-height: 50px;
    padding-bottom: 10px;
}

.container-ricerca hr {
    height: 2px;
    color: #707070;
    border: 1px solid #707070;
}


.indy-logo {
    width: 230px;
    transition: all .6 ease;

}



#hero-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 85vh;
    z-index: 0;
    pointer-events: none;
    display: block;
    margin: 0;
    padding: 0;
}

.col-indy-ai {
    /* position: absolute; */
    z-index: 50;
    top: 25vh;
    /* width: 1200px; */
    margin-top: 50px;
}



/* PAGINE v2 */


.cosa {}

.cosa.first {
    margin-top: 120px !important;
}

.cosa .titolo {
    font-weight: 600;
    color: #483267;
}

.cosa .descrizione {
    color: #707070;
    font-size: 1.2em;
    padding-right: 100px;
}

.cosa ul li {
    display: inline-block;
    background-color: #EAEAEA;
    border-radius: 35px;
    padding: 20px 30px;
    font-size: 1.1em;
    margin-bottom: 10px;
}


.container-default-pagina .titolo {
    font-weight: 600;
    color: #483267;
    font-size: 2em;
    margin-bottom: 30px;
}

.tipologie {
    border-radius: 35px;
    /* background: url(../images/bg/header.webp) no-repeat; */
    background-size: cover;
    margin-bottom: 30px;
    /* padding: 50px 60px; */
}

.tipologie .titolo {
    font-weight: 600;
    color: #483267;
}

.tipologie .descrizione {
    color: #707070;
    font-size: 1.2em;
}


.tipologie .coop-type-card {
    border-radius: 35px;
    padding: 30px;
    min-height: 300px;
    margin-bottom: 30px;
}

.tipologie .coop-type-card h4 {
    color: #483267;
    font-weight: 600;
    font-size: 2em;
    margin-bottom: 30px;
}

.tipologie .coop-type-card p {
    color: #707070;
    font-size: 1.1em;
}

.tipologie .row>div:nth-child(3n + 1) .coop-type-card {
    background-color: #D9F0FF;
}

.tipologie .row>div:nth-child(3n + 2) .coop-type-card {
    background-color: #ECFFD9;
}

.tipologie .row>div:nth-child(3n + 3) .coop-type-card {
    background-color: #FFF2D9;
}

.quadro {
    background: #F4F4F4 0% 0% no-repeat padding-box;
    border-radius: 35px;
    padding: 50px 40px;
    margin-bottom: 30px;
}

.quadro .titolo {
    font-weight: 600;
    color: #483267;
}

.quadro h4 {
    font-weight: 400;
    color: #483267;
    margin-bottom: 30px;
}

.quadro-trasp {
    background: transparent;
    border-radius: 35px;
    padding: 50px 40px;
    margin-bottom: 30px;
}


.quadro-trasp h4 {
    color: #707070;
    font-size: 1.8em;
    margin-bottom: 20px;
}

.storie-successo {
    margin-bottom: 30px;
}

.storie-successo .titolo {
    font-weight: 600;
    color: #483267;
}


.storie-successo .row>div:nth-child(3n + 1) .case-study-card {
    background-image: url('../images/bg/storie-di-successo-1.webp');
}

.storie-successo .row>div:nth-child(3n + 2) .case-study-card {
    background-image: url('../images/bg/storie-di-successo-2.webp');
}

.storie-successo .row>div:nth-child(3n + 3) .case-study-card {
    background-image: url('../images/bg/storie-di-successo-3.webp');
}

.storie-successo .case-study-card {
    min-height: 300px;
    border-radius: 20px;
    padding: 20px;
    color: #fff;
    background-size: cover;
    background-position: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: box-shadow 0.3s ease;
    margin-bottom: 30px;
}

/* Effetto al passaggio del mouse */
.storie-successo .case-study-card:hover {
    box-shadow: 0 8px 12px rgba(0, 0, 0, 0.15),
        0 4px 6px rgba(0, 0, 0, 0.10);
}

.storie-successo .case-study-card h4 {
    color: #483267;
    font-weight: 600;
    font-size: 1.6em;
    margin-top: 30px;
}

.storie-successo .case-study-card p {
    color: #483267;
    font-size: 1.1em;
    margin-top: 30px;
}


.white-card {
    overflow: hidden;
    position: relative;
    transition: .4s cubic-bezier(.25, 1, .5, 1);
    padding: 28px 28px 32px;
    border-radius: 35px;
    background-color: #fff;
    box-shadow: 0 14px 16px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: box-shadow 0.3s ease;
    margin-bottom: 30px;
    background: url(../images/bg/header.webp) no-repeat;
    background-size: cover;
}

.white-card img,
.white-card-alt img {
    border-radius: 35px;
    margin-bottom: 20px;
}

.white-card-alt {
    overflow: hidden;
    position: relative;
    transition: .4s cubic-bezier(.25, 1, .5, 1);
    padding: 28px 28px 32px;
    border-radius: 35px;
    background-color: #fff;
    box-shadow: 0 14px 16px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: box-shadow 0.3s ease;
    margin-bottom: 30px;
    background: url(../images/bg/networking-sfondo.webp) no-repeat;
    background-size: cover;
}

.white-card .titolo,
.white-card-alt .titolo {
    font-weight: 600;
    color: #483267;
    font-size: 2em;
    margin-bottom: 30px;
    line-height: 1.2em;
}

.white-card .claim,
.white-card-alt .claim {
    font-weight: 500;
    color: #483267;
    font-size: 1.4em;
    margin-bottom: 10px;
}



.white-card h4,
.white-card-alt h4 {
    font-weight: 400;
    color: #483267;
    margin-bottom: 30px;
}

.white-card-faq {
    overflow: hidden;
    position: relative;
    transition: .4s cubic-bezier(.25, 1, .5, 1);
    padding: 28px 28px 32px;
    border-radius: 35px;
    background-color: #fff;
    box-shadow: 0 14px 16px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: box-shadow 0.3s ease;
    margin-bottom: 30px;

}

.white-card-faq .titolo {
    font-weight: 600;
    color: #483267;
    font-size: 2em;
    margin-bottom: 30px;
}



section.supporto {
    background: #483267;
    background: url(../images/bg/networking-sfondo.webp) no-repeat;
    background-size: auto;
    background-size: cover;
    padding: 120px 80px;
}

section.supporto .pre-supporto {
    margin-bottom: 50px;
}

section.supporto .titolo {
    font-weight: 600;
    color: #483267;
    font-size: 2em;
    margin-bottom: 30px;

}

section.supporto .testo {
    font-weight: 400;
    color: #707070;
    font-size: 1.1em;
    margin-bottom: 30px;
}

section.supporto .box-supporto {
    border-radius: 35px;
    background-color: #fff;
    margin-bottom: 30px;
    padding: 30px;
    min-height: 200px;
}

section.supporto .box-supporto .titolo {
    font-weight: 600;
    color: #fff;
    font-size: 1.3em;
    margin-bottom: 30px;
    color: #483267;
    text-align: center;
}

section.supporto .box-supporto .testo {
    font-weight: 400;
    color: #483267;
    text-align: center;
    font-size: 1.1em;
    margin-bottom: 30px;
    font-weight: 400;
}



.header-container {
    border-radius: 35px;
    background-color: #ffffffb2;
    padding: 70px 50px;
    backdrop-filter: blur(13px);
    -webkit-backdrop-filter: blur(13px);
    /* position: absolute; */
    bottom: 0;
    margin-top: 194px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    margin-bottom: -50px;
}



.container-default-pagina {
    /* default: sopra 1920px */
    margin-top: -12%;
}

/* tra 1920px e 1500px */
@media screen and (max-width: 1920px) and (min-width: 1501px) {
    .container-default-pagina {
        margin-top: -16%;
    }
}

/* tra 1500px e 1200px */
@media screen and (max-width: 1500px) and (min-width: 1201px) {
    .container-default-pagina {
        margin-top: -20%;
    }
}

/* tra 1200px e 968px */
@media screen and (max-width: 1200px) and (min-width: 969px) {
    .container-default-pagina {
        margin-top: -25%;
    }
}

/* tra 968px e 680px */
@media screen and (max-width: 968px) and (min-width: 681px) {
    .container-default-pagina {
        margin-top: -35%;
    }
}

/* tra 680px e 480px */
@media screen and (max-width: 680px) and (min-width: 481px) {
    .container-default-pagina {
        margin-top: -45%;
    }
}

/* 480px e inferiori */
@media screen and (max-width: 480px) {
    .container-default-pagina {
        margin-top: -65%;
    }
}

@media screen and (max-height: 780px) {
    .container-default-pagina {
        margin-top: -45% !important;
    }

}

@media screen and (min-height: 260px) and (max-height: 779px) {
    .container-default-pagina {
        margin-top: -16% !important;
    }

}





.swal2-container {
    border-radius: 35px;
}

.swal2 button {
    border-radius: 35px;
    min-width: 100px;
}


.breadcrumb_nav {
    display: flex;
    flex-wrap: wrap;
    /* permette di andare a capo */
    gap: 0.5rem;
    /* spaziatura tra gli elementi */
    list-style: none;
    margin: 0 0 1rem 20px;
    /* mantiene il margin-left */
    padding: 0;
}

.breadcrumb_nav li {
    white-space: nowrap;
    /* evita che le parole dentro si spezzino */
}



.pulsante-bianco {
    border-radius: 25px;
    /* border: 0.762px solid #333; */
    background: #ffffff95;
    backdrop-filter: blur(13px);
    -webkit-backdrop-filter: blur(13px);

    color: #483267;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    /* line-height: normal; */
    padding: 15px 17px 9px 28px;
    margin-top: 40px;
    width: auto;
    display: inline-block;
    box-shadow: 0px 3px 6px #0000001A;
    text-transform: uppercase;
    transition: all .2s ease;
}

.pulsante-bianco:hover {
    background: #ffffff80;
}

.pulsante-bianco svg {
    margin-left: 5px;
    transition: all .2s ease;
}

.pulsante-bianco:hover svg {
    margin-left: 16px;
}

.comparison-table {
    overflow-x: auto;
    margin-bottom: 30px;
    border-radius: 15px;
}

.table {
    width: 100%;
    border-collapse: collapse;
    background-color: white;
    box-shadow: 0 14px 16px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.04);
    margin-bottom: 0;
}

.table th {
    background-color: #2a4365;
    color: white;
    font-weight: 600;
    text-align: left;
    padding: 15px;
    border: none;
}

.table td {
    padding: 15px;
    vertical-align: top;
    border-bottom: 1px solid #e9ecef;
}

.table tr:last-child td {
    border-bottom: none;
}

.table tr:nth-child(even) {
    background-color: rgba(0, 0, 0, 0.02);
}

.coop-highlight {
    background-color: rgba(230, 255, 250, 0.7) !important;
    border-left: 2px solid #2a4365;
}

.soc-capitali {
    border-left: 2px solid #2a4365;
}




/* Usabilità / Accessibilità */

a.link-accessibile {
    text-decoration: underline;
    font-weight: 500;
}


.bot-form input {
    margin-top: 0;
}




a.mapboxgl-ctrl-logo {
    width: 50px !important;
}


/* Mobile-friendly */
@media (max-width: 768px) {
    table col:first-child {
        width: 100% !important;
    }

    table col:not(:first-child) {
        width: auto !important;
    }
}



.step-card {
    display: none;
}

.step-card.active {
    display: block;
}

.custom-progress-track {
    height: 8px;
    border-radius: 4px;
    background: #e2e8f0;
    margin: 20px 0;
    overflow: hidden;
}

.custom-progress-fill {
    height: 100%;
    background: #a88aff;
    transition: width 0.3s ease;
}

.checkpoint-modal {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 50;
    align-items: center;
    justify-content: center;
}

.checkpoint-modal.active {
    display: flex;
}


.alert-indicoo {
    background-color: #f3edf6;
    border-color: #f4eaf4;
    color: #212529;
}

.welcome-text {
    font-size: .9em;
}

.exit {
    --bs-text-opacity: 1;
    color: rgb(168, 138, 255) !important;
}
/* ============================================================
   TRASPARENZA AI (AI Act art. 50)
   Avviso sempre visibile accanto ai punti di interazione con l'AI.
   Deve essere leggibile ma non competere con la call to action.
   ============================================================ */
.ai-disclosure {
    max-width: 620px;
    margin: 1.1rem auto 0;
    text-align: center;
    font-size: .82rem;
    line-height: 1.5;
    color: #5b5470;
}

.ai-disclosure .bi {
    color: #9E81F0;
    margin-right: .2rem;
}

.ai-disclosure strong {
    font-weight: 600;
    color: #483267;
}

.ai-disclosure-link {
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    color: #7a5cd6;
    text-decoration: underline;
    cursor: pointer;
    white-space: nowrap;
}

.ai-disclosure-link:hover {
    color: #483267;
}

/* Variante su fondo scuro (widget, sezioni con sfondo pieno) */
.ai-disclosure.on-dark {
    color: rgba(255, 255, 255, .8);
}

.ai-disclosure.on-dark strong {
    color: #fff;
}

.ai-disclosure.on-dark .ai-disclosure-link {
    color: #d9ccff;
}

/* Variante compatta allineata a sinistra, per i form interni.
   Occupa tutta la larghezza del contenitore: nei box informativi
   il limite di 620px spezzerebbe l'allineamento con il testo attorno. */
.ai-disclosure.compact {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    text-align: left;
    font-size: .78rem;
}
