/*
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
VARIABILI
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/

:root {
--margine: 8vh;
--margine-mobile: 20px;
--margine-mezzo: 20px;
--margine-alto: 16vh;
--colore-principale: #1d2944;
--colore-secondario: #d887a9;
--colore-testi: #1d2944;
--font-principale: "montserrat", sans-serif;
--lungo:100px;
--medio:40px;
--piccolo:20px;
--c-primary: #dde1d2;
--c-secondary: #b2c73a;
--font-size: 6rem;
--animation-time: 25ms;
--muted:rgba(255,255,255,0.70);		
--radius-piccolo:10px;	
--radius-normale:20px;
--radius-grande:40px;	
}



/*
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
BASE
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/

body, html{
margin:0; 
padding:0; 
width:100%;
font-family: var(--font-principale);
font-weight: 400;
font-style: normal;
font-size:1em; 
color: var(--colore-testi);
background: #eee;
line-height: 1.6em;
}

.se-pre-con { position: fixed;left: 0px; top: 0px; width: 100%; height: 100%; z-index: 999999;display:none}
.se-pre-con img { position: relative; top: 50%; left: 50%; height:80px;transform: translate(-50%, -50%); }

#pointer-dot {  left: -10px;  top: -10px;   width: 20px;  height: 20px;  border: 1px solid #edf202;  position: fixed;  border-radius: 20px; z-index: 99999;pointer-events: none;display:none}
#pointer-ring {   left: 0;    top: 0;   width: 6px;   height: 6px;   padding: 0px;  background:var(--colore-secondario);   position: fixed;   border-radius: 12px;   z-index: 99999; pointer-events: none;}



h1{font-size: 5rem; /* 72px */line-height: 1; font-weight:900; color:var(--colore-principale)}
h2{font-size: 3rem; /* 48px */
line-height: 1.1; font-weight: 900; font-style: normal; color:var(--colore-secondario); }
h3{font-size: 2rem; /* 36px */
line-height: 2.5rem; /* 40px */  font-weight: 700; font-style: normal; color:var(--colore-principale)}
h4{font-size: 1.5rem; /* 30px */
line-height: 2.25rem; /* 36px */  font-weight: 300; font-style: normal; color:var(--colore-principale)}
h4 a{color:var(--colore-principale)}
h5{font-size: 1.3rem; /* 30px */
line-height: 1.3rem; /* 36px */  font-weight: 900; font-style: normal; }

a{color:var(--colore-testi); text-decoration:none }
a:hover{color:var(--colore-testi); text-decoration:none}
.pulsante{display:inline-block;  line-height:30px; background:var(--colore-principale); padding:10px 3vw;  margin:20px 0px; color:#fff; text-transform: uppercase}
.pulsante:hover, .pulsante.sel{background:var(--colore-secondario); color:#fff }

hr{ width: 100%; border: none; margin: 10px 0 20px 0; height:1px; background:var(--colore-testi);}

.sottolineato{text-decoration:underline}
.t-center{text-align:center}
.t-right{text-align: right}
.testo_destra{text-align: right}
.t-left{text-align:left;}
.fit{display:block;width:100%;}
.add-top{margin-top:var(--margine);}
.mtop{padding-top:var(--margine);}
.ptop{padding-top:var(--margine-mezzo);}
.mbottom{padding-bottom:var(--margine);}
.sezione{display:inline-block; width:100%; padding:var(--margine) 0px;}
.sezione.blue{background:var(--colore-principale); color:#fff; }
.margini{padding:var(--margine-alto) 0px;}
.riga{display:block; width:100%; }
.iniziale{padding:200px 0px var(--margine) 0px;}
.paddington{padding:2vw; box-sizing: border-box; text-align: center}
.paddington h5{ text-align: center}
.paddington p{font-size:0.8em}
.foto_griglia{float:left; width:100%; margin-bottom:30px;}
.border-top{border-top:1px solid #000}
.border-bottom{border-bottom:1px solid #000}
.testo{padding:1.5em; box-sizing: border-box;}

label{float:left; width:100%; text-align:left; line-height:40px; font-size:0.8em}
input[type=email], input[type=text], .campo_form{float:left;background:#fff; width:100%; line-height:30px; padding:5px; box-sizing: border-box; font-size:0.8em}
input[type=checkbox]{ display:inline-block;  line-height:30px; box-sizing: border-box; font-size:0.8em}

.sfondato{background: var( --colore-principale ); color:#fff!important}
.sfondato h1, .sfondato h2,.sfondato h3,.sfondato h4{ color:#fff!important}
.sezione.bianca{background:#fff!important}
#sezione_partners{background:#fff}
#sezione_partecipa{display:inline-block; width:100%; padding:0 0 var(--margine) 0px;}
/*
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
MENU
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/

.header { width:auto; display:block; left:50%;  z-index: 9; position: fixed; transition: transform 0.6s ease-in; transform: translate3d(0, 0, 0);  transform:translateX(-50%);padding:0px; box-sizing: border-box;}
.header a{font-weight: 600;}
.header.bloccata { transform: translate3d(0, 0, 0)!important; }


#logo{position:absolute; top:30px; left:2.5vw; z-index:9999}
#logo img {height:120px}
#lang{position:absolute; top:70px; right:2vw; line-height:60px; height:60px; }

.menu-mobile {display: none;}

.menu-container {width: 100%; margin: 70px auto; text-align:center; box-sizing: border-box; min-width:630px}
.menu{display:inline-block; background:rgba(255,255,255,0.8); padding:10px; border-radius:10px;}
.menu-dropdown-icon:before { content: "\f489"; font-family: "Ionicons"; display: none; cursor: pointer; float: right; padding: 20px 2em; background: #fff; color: #111;line-height:20px;}
.menu > ul {margin: 0 auto ; width: 100%; list-style: none; padding: 0; position: relative; font-size:0.9em;
/* IF .menu position=relative -> ul = container width, ELSE ul = 100% width */
box-sizing: border-box;text-align:left}
.menu > ul:before,
.menu > ul:after {
  content: "";
  display: table;
}
.menu > ul:after {
  clear: both;
}
.menu > ul > li {
  float: left;
  padding: 0;
  margin: 0;
}
.menu > ul > li.nope {
  background: none;
}
.menu > ul > li.nope a {
  background: none;
}
.menu > ul > li.live {
  background: var(--colore-secondario); margin-left:10px; border-radius: 5px;
}

.menu > ul > li.live a{
   color:#fff
}

.menu > ul > li.live a:hover {
  background: var(--colore-secondario); color:#fff; border-radius: 5px;
}

.menu > ul > li a {
  text-decoration: none;
  padding: 10px 1vw;
  display: block;
  line-height:20px;
  color:#111;
	text-transform: uppercase;
	font-size:0.9em
}
.menu > ul > li:hover {
  background: #fff;
}
.menu > ul > li > ul {
  display: none;
  width: 100%;
  background: #fff;
  padding: 20px;
  position: absolute;
  z-index: 99;
  left: 0;
  margin: 0;
  list-style: none;
  box-sizing: border-box;
}
.menu > ul > li > ul:before,
.menu > ul > li > ul:after {
  content: "";
  display: table;
}
.menu > ul > li > ul:after {
  clear: both;
}
.menu > ul > li > ul > li {
  margin: 0;
  padding: 0 1.5%; box-sizing: border-box;
  list-style: none;
  width: 33.333%;
  background: none;
  float: left;
}
.menu > ul > li > ul > li a {
  color: #111;
  padding: 0.2em 0;
  width: 100%;
  display: block;
  border-bottom: 1px solid #111;

}
.menu > ul > li > ul > li > ul {
  display: block;
  padding: 0;
  margin: 10px 0 0;
  list-style: none;
  box-sizing: border-box;
	
}
.menu > ul > li > ul > li > ul:before,
.menu > ul > li > ul > li > ul:after {
  content: "";
  display: table;
}
.menu > ul > li > ul > li > ul:after {
  clear: both;
}
.menu > ul > li > ul > li > ul > li {
  float: left;
  width: 100%;
  padding: 5px 0;
  margin: 0;
  
}
.menu > ul > li > ul > li > ul > li a {
  border: 0;
  font-size:0.8em	
}
.menu > ul > li > ul.normal-sub {
  width: 300px;
  left: auto;
  padding: 10px 20px;
}
.menu > ul > li > ul.normal-sub > li {
  width: 100%;
}
.menu > ul > li > ul.normal-sub > li a {
  border: 0;
  padding: 1em 0;
}

/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Mobile style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.menu-overlay {
  background: #fff;
  height: 100%;
  width: 100vw;
  position: fixed;
  z-index: 1000;
  top: 0;
  right: 0;
  height: 100vh;
  transform: translate(0, -100%);
  transition: transform .5s ease;
  padding: 90px 0px;
  box-sizing: border-box;
  overflow-y: scroll;
  z-index: 3; }

.menu-overlay.open {
  transform: translate(0, 0); }

.menu-overlay .content {
  display: block;
  width: 100%;
  position: relative;
  padding: 0px;
  box-sizing: border-box;
  height: 100%; }

@media screen and (max-width: 1500px) {

#logo img {height:80px}
	
}


@media only screen and (max-width: 998px) {
	
.header {  width:100%; padding:0px; height:90px; background:var(--colore-principale);}	


#logo{position:absolute; top:10px; left:50%; transform: translateX(-50%); z-index:999; padding-left:20px;}
#logo img {height:70px}
#lang{position:absolute; top:25px; right:12px; line-height:60px; height:60px; }
	
.menu-mobile {position:fixed; display: block;top:20px;left:20px;z-index:3;width:50px; height:50px; background:var(--colore-secondario);padding: 0px; border-radius:10px; z-index:9}
	
.menu-icon {position: relative; width: 50px;height: 50px;cursor: pointer; }
.menu-icon .menu-icon__cheeckbox {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    cursor: pointer;
    z-index: 2;
    -webkit-touch-callout: none;
    position: absolute;
    opacity: 0; }
.menu-icon div {
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 22px;
    height: 12px; }
.menu-icon span {
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    background-color: var(--bar-bg, #fff);
    border-radius: 1px;
    transition: all 0.2s cubic-bezier(0.1, 0.82, 0.76, 0.965); }
.menu-icon span:first-of-type {top: 0; }
.menu-icon span:last-of-type {bottom: 0; }
.menu-icon.active span:first-of-type,
.menu-icon .menu-icon__cheeckbox:checked + div span:first-of-type {
    transform: rotate(45deg);
    top: 5px; }
.menu-icon.active span:last-of-type,
.menu-icon .menu-icon__cheeckbox:checked + div span:last-of-type { transform: rotate(-45deg);bottom: 5px; }
.menu-icon.active:hover span:first-of-type, .menu-icon.active:hover span:last-of-type, .menu-icon:hover .menu-icon__cheeckbox:checked + div span:first-of-type, .menu-icon:hover .menu-icon__cheeckbox:checked + div span:last-of-type {width: 22px; }
	

.menu-container {  margin: 0px auto;text-align:center; box-sizing: border-box; width: 100%; text-align:left; height:auto; min-width:auto; }		
.menu{display:block; position:relative; margin: 0px; background:#fff; padding:0; border-radius:0px; padding-bottom:20px}	
  .menu-dropdown-icon:before {
    display: block;
  }
  .menu > ul {
    display: none;
  }
  .menu > ul > li {
    width: 100%;
    float: none;
    display: block;
  }
	
  .menu > ul > li .ico{display:none}
	
	
  .menu > ul > li a {
    padding: 20px 1.5em;
    width: 100%;
    display: block;
  }
.menu > ul > li:hover {
  background: #eee;
}
.menu > ul > li > ul {
  
  background: #eee;
  
}	
.menu > ul > li.live {
  margin-left:0px; border-radius: 0px;
}
	
  .menu > ul > li > ul {
    position: relative;
  }
  .menu > ul > li > ul.normal-sub {
    width: 100%;
  }
  .menu > ul > li > ul > li {
    float: none;
    width: 100%;
    margin-top: 20px;
  }
  .menu > ul > li > ul > li:first-child {
    margin: 0;
  }
  .menu > ul > li > ul > li > ul {
    position: relative;
  }
  .menu > ul > li > ul > li > ul > li {
    float: none;
  }
  .menu .show-on-mobile {
    display: block;
  }
}







/*
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CUSTOM
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/
/* ── bottone ── */


   .card-btn {
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      padding: .55rem 1.1rem;
      border-radius: 6px;
      background: transparent;
      font-size: .88rem;
      text-transform: uppercase;
      letter-spacing: .08em;
      background: rgba(23,30,50,0.7);
	  color:#fff; 
      text-decoration: none;
      cursor: pointer;
      transition: background .18s, color .18s;
      grid-column: 1;
      grid-row: 3;
      width: fit-content;
    }

    .card-btn:hover {
      background: rgba(203,139,168,1);
      color: #fff;
    }





#banner{position:relative; width:100%; height:100vh; padding:20px; box-sizing: border-box; background-position: center; overflow:hidden; }
#bannerone{display:block; position:relative; width:100%; height:auto; padding:10px; box-sizing: border-box; }
#bannerone .cellona{display:block; position:relative; width:100%; height:calc( 100vh - 20px );  box-sizing: border-box; background-position: center; overflow:hidden; background:var(--colore-principale); border-radius: var(--radius-grande);}

#payoff{position:absolute; bottom:6vh; left:0px; color:#fff; width:100%; text-align: center; }
#payoff h1{font-size:8rem; color:#fff!important}
#payoff h3{color:#fff!important; margin-top:2rem; display:block;}

#bannerino{display:block; position:relative; width:100%; height:auto; padding:10px; box-sizing: border-box; }
#bannerino .cellona{display:block; position:relative; width:100%; height:190px;   box-sizing: border-box; background-position: center; overflow:hidden; background:var(--colore-principale); border-radius: var(--radius-grande);}

#banner_medio{display:block; position:relative; width:100%; height:auto; padding:10px; box-sizing: border-box; }
#banner_medio .cellona{display:block; position:relative; width:100%; height:70vh ;  min-height:500px; box-sizing: border-box; background-position: center; overflow:hidden; background:var(--colore-principale); border-radius: var(--radius-grande);}

.data{display:block; width:100%; margin-bottom:20px}


.fullscreen-video-container {
  position: absolute;
  height: 100vh;
  width: 100vw;
  overflow: hidden; z-index: 0;
 }

.fullscreen-video-container video {
 position:absolute;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100vh;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  }


.select-language {
  width: 40px;
  height: 40px;
  padding: 4px;
  border-radius: 50%;
  border: 1px solid #FFF;
  position: relative;
}
.select-language > ul > li > a, .select-language .select-language-container {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  display: block;
  cursor: pointer;
}
.select-language > ul > li > a > img, .select-language .select-language-container > img, .select-language > ul > li > a img.select-language-img, .select-language .select-language-container img.select-language-img {
  /*margin:-4px 0 0 -8px;*/
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50px;
  z-index: 101;
}
.select-language > ul {
  list-style: none;
  padding: 0;
  margin: 0;
  position: absolute;
  top: 0;
  left: -1px;
  background: rgba(255, 255, 255, 0.5);
  z-index: 100;
  border-radius: 50px;
  transform: scaleY(0);
  box-shadow: 0 2px 8px 1px rgba(35, 47, 53, 0.12);
}
.select-language > ul > li:first-child {
  margin-top: 40px;
}
.select-language > ul > li {
  width: 40px;
}
.select-language > ul > li > a {
  margin: 5px;
}

.select_language-open {
  -webkit-animation: scaleOpen 0.2s normal forwards ease-in-out;
  -moz-animation: scaleOpen 0.2s normal forwards ease-in-out;
  -o-animation: scaleOpen 0.2s normal forwards ease-in-out;
  animation: scaleOpen 0.2s normal forwards ease-in-out;
  -webkit-transform-origin: 50% 20px;
  -moz-transform-origin: 50% 20px;
  -o-transform-origin: 50% 20px;
  transform-origin: 50% 20px;
}

.select_language-close {
  -webkit-animation: scaleClose 0.2s normal forwards ease-in-out;
  -moz-animation: scaleClose 0.2s normal forwards ease-in-out;
  -o-animation: scaleClose 0.2s normal forwards ease-in-out;
  animation: scaleClose 0.2s normal forwards ease-in-out;
  -webkit-transform-origin: 50% 20px;
  -moz-transform-origin: 50% 20px;
  -o-transform-origin: 50% 20px;
  transform-origin: 50% 20px;
}

@-webkit-keyframes scaleOpen {
  from {
    transform: scaleY(0);
  }
  to {
    transform: scaleY(1);
  }
}
@-moz-keyframes scaleOpen {
  from {
    transform: scaleY(0);
  }
  to {
    transform: scaleY(1);
  }
}
@-o-keyframes scaleOpen {
  from {
    transform: scaleY(0);
  }
  to {
    transform: scaleY(1);
  }
}
@keyframes scaleOpen {
  from {
    transform: scaleY(0);
  }
  to {
    transform: scaleY(1);
  }
}
@-webkit-keyframes scaleClose {
  from {
    transform: scaleY(1);
  }
  to {
    transform: scaleY(0);
  }
}
@-moz-keyframes scaleClose {
  from {
    transform: scaleY(1);
  }
  to {
    transform: scaleY(0);
  }
}
@-o-keyframes scaleClose {
  from {
    transform: scaleY(1);
  }
  to {
    transform: scaleY(0);
  }
}
@keyframes scaleClose {
  from {
    transform: scaleY(1);
  }
  to {
    transform: scaleY(0);
  }
}




#sezione_tour{background-image: url(''); background-size: contain; background-position: center; background-repeat: no-repeat; }
#sezione_giro{background-image: url('../img/Sfondo_giro.svg'); background-size: contain; background-position: top center; background-repeat: no-repeat}
#sezione_news{background:#fff}


#tappe {
  display: block;
  padding: 30px 0px 0px 0px;
  box-sizing: border-box; }

.item {
  width: 100%;
height:55vh;	
  min-height: 600px;
	
  position: relative;
  border-radius: var( --radius-normale );
  overflow: hidden; }

.item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0; }

.overlays {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: #fff;
  background: #171e32;
  background: linear-gradient(to top, rgba(23,30,50,0.95) 0%, rgba(23,30,50,0.4) 50%, transparent 100%);}

.overlays h3{color:#fff}

.overlays div {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 2.5rem;
  box-sizing: border-box;
  display: block; }

span.dettaglio {display:block; margin-top:20px; }


.news-card {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 20px;
  padding: 1.25rem 1.5rem 1.25rem 0;
  border-bottom: 1px solid var(--colore-principale);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s;
}
.news-card:last-child { border-bottom: none; }



.card-thumb {
  flex: 0 0 10vw;
  width: 10vw;
  height: 15vh;
	min-height:150px;
	min-width:250px;
  border-radius: var(--radius-piccolo);
  overflow: hidden;
}
.card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.card-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.news-card p{font-size:0.8em; line-height:1.4em; margin:0; padding:0;}
.news-card h3{font-size:1em; line-height:1.4em;}
.news-card .card-btn {font-size:0.8em;letter-spacing:0; }

 
.paginatore{display: block; width:100%; padding:60px 0px; font-size:0.8em}
.pagine{float:left; width:100%; text-align:center}
.precedente{float:left; width:33.333%; text-align:left;}				
.torna{float:left; width:33.333%; text-align:center}
.successivo{float:left; width:33.333%; text-align:right}
			 

 @media (max-width: 998px) {
   .overlays div {
  
  padding: 1rem;
  }
	 
	 
	 .overlays h3{line-height:1.3em}
	 
	 
.news-card {
 
  gap: 10px;
  padding: 20px 0rem;
  
	
}
	 
	 .card-thumb {
  flex: 0 0 20vw;
 width: 10vw;
  height: 15vh;
 min-height:70px;
	min-width:100px;
}
    
    }


.circuito{display:block; width:100%; margin-bottom:40px; }
.circuito img{display:block; width:100%; max-width:400px; }






.owl-nav {
  position: relative;
  bottom: 0px;
  left: 0;
  text-align: center;
  line-height: 45px; }

.owl-nav button {
  display: inline-block;
  width: 45px;
  height: 45px; }





#partner{list-style:none; margin:0; padding:0; display:block; width:100%;}
#partner li{display:block; width:100%; margin:2rem 0px; padding:0;}
#partner li h4{display:block; width:100%; margin:10px 0px; padding:0; font-size:1em}
#partner li .lista{display:inline-block; margin:1rem 2rem;}
#partner li .lista img{width:auto; height:60px; }						





    /* ── PARTECIPA */


    /* ── HERO ── */
    .hero {
      position: relative;
      width: 100%;
     min-height:400px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      /* padding-bottom grande: lascia spazio visivo per le card sovrapposte */
      padding: 7rem 1.5rem;
      z-index: 1;
		color:#fff!important
    }

    /* Sfondo simulato */
    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background:linear-gradient(135deg, #cb8ba8 0%, #1d2944 50%, #182036 100%);
      z-index: 0;
    }

   
    .hero-content {
      position: relative;
      z-index: 2;
      max-width: 400px;
    }

    .hero h2 {

     color:#fff
    }

    .hero p {
   
      max-width: 560px;
      margin: 0 auto;
    }


    .cards-section {
      position: relative;
      z-index: 10;           /* sopra l'hero */
      margin-top: -7rem;     /* overlap controllato */
      padding: 2rem;
      display: flex;
      justify-content: center;
		
    }

    .cards-wrapper {
     display:block;
    }

    /* ── SINGOLA CARD ── */
    .card {
      background: #fff;
      border-radius: var(--radius-normale);
      padding: 2rem 1.8rem;
      display: grid;
      align-items:center;
	text-align:center	; max-width:600px; color: var(--colore-principale)!important
    }

.card h3{color: var(--colore-principale)!important}


   


footer{display:block; width:100%; padding-top:var(--margine-alto); background: var(--colore-principale); color:#FFFFFF; border-top-left-radius:var(--radius-grande); border-top-right-radius:var(--radius-grande);}
footer a{color:#fff}
.logo_basso{width:100%;}
.logo_basso img{width:100%; max-width:400px}



#our_partners{width:100%; }

  .riga_partner {
  position: relative;
  display:flex; 
  align-items:center;
  overflow-x: hidden;
		  height:200px;
		  margin:50px 0px;
}

.stb_line_single {
  position: relative;
  white-space: nowrap;
  padding: 0;
  will-change: transform;
}
.stb-item {display:inline-block; background:#fff; height:auto; width:auto; padding:2rem; box-sizing:border-box; margin:0 10px; border-radius:var(--radius-normale);}
.stb-item img{height:100px}  



footer ul{margin:0; padding:0; display:inline-block; list-style: none;}
footer ul li{margin:0; padding:0; }
.barrata{border-top:2px solid #182036; padding:50px 0px; display:block; width:100%;}
footer ion-icon {font-size: 36px;}
footer a:hover{color:#fff}
footer .social a{display:inline-block; margin:0 10px}

footer .design{font-size:0.8em; color:#182036; font-weight:800; }



.box_organizzatori{display:inline-block; width:auto;}
.box_organizzatori h4{color:#fff; font-size:0.8em}
.organizzatori{display:inline-block; width:auto; margin:0px 10px; padding:10px;}
.organizzatori img{height:40px;}

.coming{text-align:center; display:block; width:100%;}


.team {display:inline-block; background:#fff; height:auto;  padding:2rem; box-sizing:border-box; margin:1rem; border-radius:var(--radius-normale); width:100%; max-width:400px; overflow:hidden}
.team img{width:auto; height:100px;}  
.team h3{font-size:1em; line-height:1em; margin-top:20px; }
.team h4{font-size:1em; line-height:0.6em}






@media (max-width: 998px) {
   footer{ padding-top:3rem;  border-top-left-radius:var( --radius-normale ); border-top-right-radius:var( --radius-normale ); text-align:center}
	
	.riga_partner {
  position: relative;
  display:flex; 
  align-items:center;
  overflow-x: hidden;
		  height:100px;
		  margin:20px 0px;
}


.stb-item {display:inline-block; background:#fff; height:auto; width:auto; padding:2rem; box-sizing:border-box; margin:0 10px; border-radius:var(--radius-normale);}
.stb-item img{height:60px}  
	
	
	.logo_basso{width:100%; text-align:center; margin-bottom:20px;}
.logo_basso img{display:inline-block; width:100%; max-width:200px}
	.barrata{border-top:1px solid #182036; padding:20px 0px; }
footer ion-icon {font-size: 24px;}
.box_organizzatori{display:inline-block; width:auto;}
.box_organizzatori h4{color:#fff; font-size:0.8em}
.organizzatori{display:inline-block; width:auto; margin:0px 10px; padding:10px;}
.organizzatori img{height:30px;}
	.iniziativa{text-align:center!important; margin:20px 0px}
	
	.item {height:30vh;	min-height: 300px;
 }
	
	#sezione_partecipa{ padding:0 0 20px 0px;}
	
	
	 .hero {
      position: relative;
      width: 100%;
     min-height:400px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      /* padding-bottom grande: lascia spazio visivo per le card sovrapposte */
      padding: 7rem 0rem;
      z-index: 1;
		color:#fff!important
    }
	
	.cards-section {
      position: relative;
      z-index: 10;           /* sopra l'hero */
      margin-top: -7rem;     /* overlap controllato */
      padding: 2rem 10px;
      display: flex;
      justify-content: center;
		
    }
    }


 /* ── RESPONSIVE ── */
    @media (max-width: 700px) {
      .hero {
        padding-bottom: 6rem;
        min-height: 240px;
      }

      .cards-section {
        margin-top: -4rem;
      }

      .cards-wrapper {
        grid-template-columns: 1fr;
      }

    
    }

    @media (min-width: 701px) and (max-width: 998px) {
      .cards-section {
        margin-top: -4rem;
      }
  
    }



/*
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
MEDIA QUERY
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/


@media screen and (max-width: 1200px) {
/*BASE*/	

h1{font-size:36px; line-height:36px;   font-style: normal;}
h2{font-size:36px; line-height:36px;   font-style: normal;}
h3{font-size:24px; line-height:24px;   font-style: normal;}
h4{font-size:20px; line-height:1em;  font-style: normal;}
h5{font-size:20px; display:block; width:100%; text-align:left; line-height:1em;   padding:0; font-style: normal;  text-transform:uppercase}
h5.border{border-top:1px solid #000; }
p{ font-size:1em; line-height:1.6em}	
#pointer-dot {display:none}
#pointer-ring {display:none}
#payoff{ bottom:20px; }
#payoff h1{font-size:2em; line-height:1em }

.testo_destra{text-align:center!important}

.fix-top-mobile{margin-top:20px}
.add-top{margin-top:20px}
.ptop{padding-top:var(--margine-mobile)}
.margini{padding:var(--margine-mobile) 0px}
.mtop{padding-top:20px}
.mbottom{padding-bottom:var(--margine-mobile)}
.iniziale{padding:130px 0px 0px 0px!important;}	
.paddington{padding:0px 20px; box-sizing: border-box}
.sezione{ padding:40px 0px;}
.pulsante{ margin:10px 0px; }
.menu{visibility: visible}

#bannerone{ padding:0px; }
#bannerone .cellona{height:60vh;  border-radius: 0px;}
#banner{height:80vh; }	
#banner_basso{height:50vh; }
	
	
#bannerino{padding:0px; }
#bannerino .cellona{height:90px;  border-radius: 0px;}

#banner_medio{padding:0px; }
#banner_medio .cellona{height:60vh;  border-radius: 0px;}	
	
	
#sezione_tour{background-image:none; }
#sezione_giro{background-image:none; }

	
.circuito{display:block; width:100%; margin-bottom:20px; }
.circuito img{display:block; width:100%; max-width:200px; }
	

	
}


@media screen and (max-width: 998px) {
	.testo{padding:0px}
	
.t-right{text-align:center!important}
  .item {
    height: 400px; }
}




