
:root {
--testo: #4e4e57;
--colore: #afd4d3;
--bianco: #fff;
--nero: #000;
--grigio: #cfd0d3;
--grigio-scuro: #a7a8aa;  
--colore: #afd4d3;  
--colore-testo-colore: #5ca8a6;     
}

/*
    font-family: 'Merriweather', serif;
    font-family: 'Open Sans', sans-serif;
*/

body, html {
	margin: 0;
	padding: 0;
	font-family: 'Open Sans', sans-serif;
	color: var(--testo);
	font-size: 18px;
	line-height:28px;
	font-weight:300;
	min-height:100%;
	background: #f3f7f9;
   
	
}

.fluido{
	width:100%;
	display:block;
	float:left;
	position:relative;
}

img{
	border: 0;
}

ol, ul {
  	margin-bottom: 10px;
    margin-left: 0;
    margin-top: 10px;
    padding-left: 15px;
}

ol li, ul li {
    margin-bottom: 10px;
}

a:focus {
  outline: none
 
}
a, a:visited, 
a:link{
	color:var(--testo); 
}



a:hover {
	color:var(--testo);
	text-decoration:none;
}


.btn-primary,
a.btn-primary{
	color: var(--bianco);
	margin:30px 0 30px 0px;
	background: var(--colore);
	border:1px solid var(--colore);
	box-shadow:none;
	padding:10px 20px;
	border-radius:0;
    font-weight: 400;
    font-size: 22px;
    line-height: 26px;
}

.btn-primary:hover{
	border:1px solid var(--colore);
   
	color: var(--colore);
    background: transparent;
}

.btn-secondary,
a.btn-secondary{
	border-radius: 55px;
    padding: 7px 25px;
    font-family: 'Merriweather', serif;
    background: var(--testo);
}



.btn-link{
	background-repeat: no-repeat;
    background-position: left bottom;
    background-image: url("/templates/immagini/icone/ico_giu_grigia.png");
    padding-bottom: 25px;
    display: inline-block;
    position: relative;
}

a.btn-link::after{
  content: "";
  background: var(--colore);
	mix-blend-mode: darken;
  width: calc(100% + 20px);
  height: 0;
  position: absolute;
  bottom: -4px;
  left: -10px;
  transition: all .3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    display: inline-block;
}

a.btn-link:hover::after{
	height: calc(100% + 8px)
}

.btn-link:hover{
	color: var(--nero);
    text-decoration: none;
}


.nomargin{
	margin:0;
}

.padding{
	padding-left:15px;
	padding-right:15px;
}

.nopadding{
	padding-left:0;
	padding-right:0;
}

h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5{
	  color:var(--testo);
	  display:block;
	  font-weight:400;
	  margin:15px 0;
      font-family: 'Merriweather', serif;
}


h1, .h1 {
   	font-size: 53px;
	line-height:63px;
	margin:40px 0;
    font-weight:500;
   
}


h2, .h2 {
	font-size: 48px;
	line-height:58px;
	margin:40px 0;
	
}

h3 {
    font-size: 38px;
	line-height:48px;
	margin:20px 0;
    
	
}

h4 {
  font-size: 28px;
	line-height:37px;
	margin:20px 0;
    
   
}

h5 {
  font-size: 24px;
	line-height:34px;
	margin:20px 0;
    font-family: 'Open Sans', sans-serif;
    font-weight:500;
    
}

.uppercase{
	text-transform:uppercase;
}

.strong,
strong{
	font-weight:500;
}
 
 .italic{
	font-style:italic;
}
 
.normal{
	font-style:normal;
	text-transform:none;
	color:var(--testo);
     font-family: 'Open Sans', sans-serif;
}

.notransform{
	text-transform:none;
}


.underline{
	text-decoration:underline;
}

.lowercase{
	text-transform:lowercase;
}


.background_img{
	background-position:center;
	background-size:cover;
	background-repeat:no-repeat
}

#box-site{
	min-height:350px;
	margin-top:0;
	margin-bottom:0;
}

.paddingtop {
	padding-top:40px;
}

.paddingbottom {
	padding-bottom:40px;
}


.margintop {
	margin-top:40px;
}

.marginbottom {
	margin-bottom:40px;
}


.margin_auto{
	margin:auto;
}

.fullwidth{
	width:100%
}



/*sezioni interne con pagging grande*/
.inner_padding{
    padding:2% 7%;
   
}



@media(max-width:1270px){
    .inner_padding {
    padding: 3% 4%;
    }
    .modal-container {
        grid-template-columns: 1fr!important;
    }
    .modal-container img {
        display:none;
    }
}



@media (max-width:767px){


    .modal-text {
         padding: 10px!important;
    }
h1, .h1 {
   	font-size: 40px;
	line-height:50px;
}


h2, .h2 {
	font-size: 39px;
	line-height:50px;
	
}


.paddingtop {
	padding-top:20px;
}

.paddingbottom {
	padding-bottom:20px;
}

    .inner_padding {
    padding: 3% 15px;
}

}


/*SETTO I COLORI*/
.sfondo_grigio{
	background:var(--grigio);
}

.sfondo_bianco{
	background:var(--bianco);
}

.sfondo_colore{
	background:var(--colore);
}

/*.color_colore{
	color:var(--colore);
}*/

.color_bianco{
	color:var(--bianco);
}

.color_testo{
	color:var(--testo);
}

.colore_grigio{
    color: var(--grigio-scuro);
}

.color_colore{
    color: var(--colore-testo-colore) !important;
}

/*.sfondo_colore p,
.sfondo_colore a,
.sfondo_colore h1,
.sfondo_colore h2,
.sfondo_colore h3,
.sfondo_colore h4,
.sfondo_colore .h1,
.sfondo_colore .h2,
.sfondo_colore .h3,
.sfondo_colore .h4,
.sfondo_colore.h1,
.sfondo_colore.h2,
.sfondo_colore.h3,
.sfondo_colore.h4,
h1.sfondo_colore,
h2.sfondo_colore,
h3.sfondo_colore,
h4.sfondo_colore,
.sfondo_colore{
	color:var(--bianco);
}*/


/*HEADER*/


#header {
	position:absolute;
	top:0;
	width:100%;
	z-index: 3;
background: rgb(47,46,48);
background: linear-gradient(180deg, rgba(47,46,48,1) 0%, rgba(63,63,65,0.02) 100%);
}

#header .barra_top {
    padding: 50px 10px;
	
}


#header .barra_top .menu{
	font-size:20px;
	line-height:20px;
    padding-right: 3%;
	
}

#header .barra_top .cols,
.homepage #header .barra_top .cols.logo{
	width: 33%;
	
}

#header .barra_top .cols.logo{
    text-align: center;
	width: 15%
}

#header .barra_top .menu a{
	padding: 0;
    color: var(--bianco);
    display: inline-block;
   
}

#header .barra_top .menu a i{
	padding-top: 10px;
    display: inline-block;
    
}
#header .barra_top .menu a span{
transform-origin: 25px 25px;
-webkit-transform-origin: 25px 25px;
transform: rotate(90deg) !important;
display: inline-block;
}

 #header .barra_top .logo img{
     max-height: 150px;
}

.homepage #header .barra_top .logo img{
     max-height: 370px;
}

@media (max-height:650px){
.homepage #header .barra_top .logo img{
     max-height: 250px;
}
}

@media (max-height:400px){
.homepage #header .barra_top .logo img{
     max-height: 160px;
}
}

@media (max-width:767px){

#header {
	position:absolute;
	top:0;
	width:100%;
	z-index: 3;
}
    
    
#header .barra_top {
    padding: 15px 15px;
	
}
    
    
#header .barra_top .cols.logo{
    width: 25%
}

#header .barra_top .menu{
    padding-right: 0;
	
}      
    
#header .barra_top .logo img{
     max-height: 100px;
    
} 
    
.homepage #header .barra_top .logo img {
  max-height: 150px;
    padding-top: 10%;
}    

  
 
    
}






/*MENU*/


.overlay {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 1;
    top: 0;
	bottom: 0;
    left: 0;
    overflow: hidden;
    transition: 0.5s;
    background-image: url("/templates/immagini/sfondi/sfondo_menu.png");
    background-position: top right;
    background-repeat: no-repeat;
}



.overlay .upper_row a.closebtn {
    text-align: right;
    font-size: 22px;
    line-height: 22px;
	padding: 0;
	font-weight:300;
	color:var(--colore);
    display: block;
}

.overlay .upper_row a.closebtn span {
  transform-origin: 25px 20px;
  transform: rotate(90deg) !important;
  display: inline-block;
}

.overlay .upper_row a.closebtn:hover {
	color:var(--bianco);
}


.overlay-content {
    position: absolute;
    top: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    text-align: left;
	margin:0;
    background: transparent;
	overflow-y: scroll;
    padding: 2%;
}


.overlay-content .upper_row .col.logo,
.overlay-content .upper_row .col.close{
    text-align: center;    
}

.overlay-content .upper_row .col.lingue,
.overlay-content .upper_row .col.lingue a{
   color: var(--colore);
    font-size: 30px;
    line-height: 40x;
    font-weight: 500;
}

.overlay-content .upper_row .col.logo img{
    max-width: 200px;
}

.overlay-content .upper_row .col.lingue a{
    display: inline-block;  
}

.overlay-content #ulmenu{
    text-align: left;
    padding: 9% 30px;
    list-style: none;
    margin: 0;
    color: var(--bianco);
    font-weight: 500;
}

.overlay-content #ulmenu li.novisbile > a{
	display:none;
}

.overlay-content #ulmenu .sub-menu{
    position: relative;
	list-style:none;
	padding: 15px 0 15px 50px;
	top: 0px;
	margin:0
}



.overlay a {
    padding: 5px;
    text-decoration: none;
    font-size: 34px;
	line-height:50px;
    color: var(--bianco);
    display: block;
}

.overlay-content li.active a{
	color:var(--testo);
}

.overlay #ulmenu a {
	font-size: 34px;
	line-height:40px;
    color: var(--bianco);	
}

.overlay #ulmenu a:hover {
    color: var(--colore);	
}

.overlay #ulmenu .sub-menu a {
	text-transform:lowercase;
	font-weight:300;
	font-size: 30px;
	line-height:40px;
}


.overlay .logomenu {
    position: absolute;
    right: 50px;
    top: 50px;
}
 
.overlay-content ul.show {
    opacity: 1;
	animation-name: fade;
	animation-timing-function: ease-in-out;
 	animation-duration: 1s;
}

.overlay-content ul.hide {
	animation-name: fade;
	animation-timing-function: ease-in-out;
 	animation-duration: 1.5s;
}

@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


.overlay a:hover, .overlay a:focus {
    color:var(--testo);
}




.overlay-content #ulmenu .sub-menu{
	padding: 5px 0 5px 50px;
}


@media (max-width: 991px) {
 
.overlay .logomenu {
    display: none;
}    
    
.overlay-content {
    position: relative;
    width: 100%;
	display:block;
}

.overlay-content #ulmenu{
    position: relative;
    top: 80px;
    padding-top: 20px;
    left: 60px;
}
 
 .overlay-content #ulmenu .sub-menu{
	padding: 10px 0 20px 50px;
	
}

.overlay .closebtn {
    top: 15px;
    right: 35px;
	left:auto;
  }
  
}

@media (max-width:767px){

.overlay-content .upper_row .col.logo img{
    max-width: 80px;
}    
    
.upper_row .col.lingue, 
.overlay-content .upper_row .col.lingue a{
  font-size: 20px;
  line-height: 30px;
}

.overlay .upper_row a.closebtn span {
  transform-origin: 30px 30px;
  padding-top: 5px;
  
}    
    
.overlay-content #ulmenu {
   padding: 0;
    margin: 0;
    top: 10px;
    left: 0;
}

	
.overlay-content #ulmenu .sub-menu{
	padding: 0px 0 0px 50px;
	
}

    .overlay #ulmenu li {
        margin: 0;
  
}
    
  .overlay #ulmenu a {
  font-size: 25px;
  line-height: 35px;
  
}

}




/******************
		 CONTENUTO GENERICO
******************/



.container_img_fit{
	width: 100%;
	height: 100%;
	overflow:hidden;
}

.img_fit{
	object-fit: cover !important;
	width: 100%;
	height: 100%;
	object-position: center;
}

.carousel_inner_strech{
	height: 100%;
}

.background_img{
	background-position:center;
	background-size:cover;
	background-repeat:no-repeat;
}

.bottom_shadow{
	-webkit-box-shadow: inset 0px -7px 10px -6px rgba(244,244,244,1);
-moz-box-shadow: inset 0px -7px 10px -6px rgba(244,244,244,1);
box-shadow: inset 0px -7px 10px -6px rgba(244,244,244,1);
}

.top_shadow{
 -webkit-box-shadow: inset 0px 16px 29px -20px rgba(117,116,117,1);
-moz-box-shadow: inset 0px 16px 29px -20px rgba(117,116,117,1);
box-shadow: inset 0px 16px 29px -20px rgba(117,116,117,1);

    
}

.brightness_over:hover {
   
  -webkit-filter: brightness(150%);
-webkit-transition: all 1s ease;
-moz-transition: all 1s ease;
-o-transition: all 1s ease;
-ms-transition: all 1s ease;
transition: all 1s ease;
    
}

.striscia_colore{
    width: 100%;
    height: 40px;
    background: var(--colore);
}

@media (max-width:991px){
	.background_img{
	height:350px;
}

.container_img_fit{
	max-height:450px;
	object-position: center center;
}

}


@media (max-width:767px){
	.container_img_fit{
	max-height:250px;
}
    
   
    
    
}




 
/*PARALLASSE**/

.parallasse{
	min-height:300px;
	position: relative;
  	background-attachment: fixed;
  	background-position: center;
  	background-repeat: no-repeat;
 	background-size: cover;
	overflow:hidden;
	z-index:0;
}

.parallasse.fixheigh,
.parallasse.fixheigh .opacity{
	height:300px;
}

.parallasse .opacity{
	min-height:300px;
	position: absolute;
  	background-color: rgba(36,37,41,0.6);
  	background-position: center;
  	background-repeat: no-repeat;
 	background-size: cover;
	z-index:1;
	top:0;
	left:0;
	display:block;
	width:100%;
	
}



@media (max-width:1199px){
	.parallasse{
	min-height:250px;
	background-attachment:scroll;	
}

.parallasse.fixheigh,
.parallasse.fixheigh .opacity{
	height:250px;
	
	
}


}

@media (max-width:991px){
	.parallasse,
	.parallasse .opacity{
	min-height:250px;
	
	
}

.parallasse.fixheight,
	.parallasse.fixheight .opacity{
	height:250px;
	
	
}

}





/*COLONNE*/




.tabella {
  display: table;
   width: 100%;
   padding:0;
}

.colonna {
  float: none;
  vertical-align: top;
  display: table-cell;
  position:relative;
}


.colonna.col2 {
  width: 20%;
  padding:10px;
 
}

.colonna.col3 {
   width: 30%;
   padding:10px;
 
}


.colonna.col4 {
   width: 40%;
   padding:10px;
}

.colonna.col5 {
  width: 50%;
  padding:10px;
 
}

.colonna.col6 {
   width: 60%;
   padding:10px;
}

.colonna.col2.nopadding {
  padding:0;
}

@media(max-width:1199px){
	.colonna.col2 {
	  width: 40%;
	  padding:10px;
	  
}

	.colonna.col3 {
	   width: 60%;
	   padding:10px;
	}
}

@media (max-width:991px){
	.colonna.col6,
	.colonna.col4 {
 		 width: 50%;
 
	}
}


@media (max-width:767px){
	.colonna.col2,
	.colonna.col3,
	.colonna.col4,
	.colonna.col5,
	.colonna.col6 {
 		 width: 100% !important;
		 height:auto;
		 float:left;
		 display:block;
 
	}
	
	
	
.colonna.background_img {
 height: 250px;

}
	
}



/*prova flex**/

.flex-container {
  display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	align-items: stretch;
	flex-wrap: wrap;
}


.flex-container .col_2{
	width:50%;
}

.flex-container .col_3{
	width:33.33%;
}

.flex-container .col_4{
	width:25%;
}


@media (max-width:991px){



.flex-container .col_4{
	width:50%;
}
	
	
}



@media (max-width:767px){

.flex-container .col_4,
.flex-container .col_2,
.flex-container .col_3{
	width:100%;
}

	
}




/*SLIDER*/

.owl-carousel .owl-nav{
	top:42%;
	position:absolute;
	width: 100%;
}

.owl-carousel .owl-nav button.owl-prev{
	left:-50px;
	position:absolute;
	background: transparent;
    border: 0;
}

.owl-carousel .owl-nav button.owl-next{
	right:-50px;
	position:absolute;
	background: transparent;
    border: 0;
}


/*CAROSELLO SLIDEHOME HOMEPAGE*/





#carouselslidehomeFade .carousel-item video {
  object-fit: cover !important;
  z-index: 1;
  position: absolute;
  height: 100%;
}


#carouselslidehomeFade,
#testata{
    width: 100%;
}



#carouselslidehomeFade .carousel-item{
    width: 100%;
    background-position: center !important;
    background-repeat: no-repeat;
    background-size: cover !important;
    height: 100vh;
    
}

#carouselslidehomeFade .carousel-item a {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    display: block;
    z-index: 4;
}


#slidehome .background_testata {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: auto;
    width: 100%;
    height: 100%;
    z-index: 2;
    background-image: url(/templates/immagini/sfondi/sfondo_testata.png);
    background-size:cover;
    
}

#slidehome .title_slide h1,
#slidehome .title_slide h2{
    position:absolute;
    bottom:20%;
    left:15%;
    z-index:4;
    width:50%;
    color:var(--bianco);
    font-size: 53px;
    line-height: 63px;
    margin: 20px 0;
    font-weight: 500;
}


#slidehome .bg_logo{
    background-color: rgba(0,0,0,0.25);
    position: absolute;
    height: 100%;
    width: 35%;
    z-index: 3;
}



#testata .img_bg{
    background-position: center right!important;
    background-repeat: no-repeat;
    background-size: cover !important;
    height: 400px;
}

#testata  h1{
    position: absolute;
    bottom: 10%;
    right: 15%;
    color: var(--bianco);
}



@media(max-height:570px){
    #slidehome .title_slide h1,
    #slidehome .title_slide h2{
        bottom:10%;
        font-size: 33px;
        line-height: 43px;
    }
}

@media(max-height:430px){
    #slidehome .title_slide h1,
    #slidehome .title_slide h2{
        display: none;
    }
}


@media(max-width:1400px){
 
#slidehome .title_slide h1,
    #slidehome .title_slide h2{
        font-size: 40px;
        line-height: 50px;
    }    
    
 #testata .img_bg{
    height: 350px;
} 
 
 
    
}


@media(max-width:991px){
 
#slidehome .title_slide h1,
    #slidehome .title_slide h2,
    #testata  h1{
        font-size: 30px;
        line-height: 40px;
    }     
    
    
     #testata .img_bg{
    height: 300px;
} 
 

    
    #carouselslidehomeFade .carousel-item{
    height: 80vh;
    
}
  
   
    
    
}

@media(max-width:767px){
 
    #slidehome .bg_logo{
    width: 45%;
   
}
    
    #slidehome .title_slide h1,
    #slidehome .title_slide h2,
    #testata  h1{
        font-size: 20px;
        line-height: 30px;
        width: 60%;
    }   
    
    #testata  h1{
        right:25px;
        width: 70%;
        font-weight: 700;
    } 
    
  #testata .img_bg{
    height: 240px;
} 
    
#carouselslidehomeFade .carousel-item{
   height: 60vh;
    
}
   
}



/*HOMEPAGE*/


.homepage .section_1 .mappa {
    background: url("/templates/immagini/sfondi/mappa_small.jpg");
    background-size: cover;
}

.homepage .section_1 .link_scroll{
   color: var(--bianco);
   font-size: 28px;
   line-height: 38px;
   padding: 10px 15px;
    font-weight: 600;    
}

.homepage .section_1 .link_scroll a {
  cursor: pointer !important;
}


.homepage .section_1 .link_scroll .icone
{
   display: block;
    text-align: center;
    margin-left: 50px;
}



.homepage .section_1 .link_scroll .icone .fas
{
   display: block;
    text-align: center;
    margin: -10px 0 0 0;
}

.homepage .section_1 .link_scroll .icone img
{
   display: block;
    text-align: center;
    max-width: 55px;
}


/*INTRO*/

.homepage .bigbench{
    padding-top: 5%;
     padding-bottom: 5%;
}


.homepage .bigbench h2{
    max-width: 50%
}

.homepage .bigbench .anteprima{
   
}

.homepage .bigbench .testo_2_col{
     column-count: 2;
     column-gap: 5%;
    
}

.homepage .bigbench .testi{
     padding-right: 7%;
    padding-bottom: 20px
}

.homepage .bigbench .testi p.colore_grigio{
   font-size: 22px;
}


/*PARALLASSE*/

.homepage .esperienza {
    border-bottom: 50px solid var(--colore);

}

.homepage .esperienza h3{
    color: var(--bianco);
    max-width: 60%;
    margin: 10% 0;
    float: right;
}

/*SOSTIENI*/
.homepage .sostieni {
    padding-top: 100px;
     padding-bottom: 100px;

}

/*four_box*/

.homepage .four_box .single{
    padding-top: 10%;
    padding-bottom: 10%;
    color: var(--bianco);
    font-weight: 500;
    background-position: center !important;
    background-size: cover !important;
    font-size: 24px;
    line-height: 30px;
}


/*trova_panchine*/

.homepage .trova_panchine {
    padding-bottom: 50px;
}

.homepage .trova_panchine .intestazioni,
.homepage .trova_panchine .intestazioni h3{
    color: var(--bianco);
}

.homepage .trova_panchine .mappa{
    height: 420px;
    width: 30%;
    
}

.homepage .trova_panchine.mappe{

    background: linear-gradient(180deg, #cfd0d3 50%, #f3f7f9 50%);
}

.homepage .trova_panchine .mappa.mondo #map_mondo,
.homepage .trova_panchine .mappa.europa #map_europa,
.homepage .trova_panchine .mappa.italia #map_italia{
    position: relative;
    float: left;
    width: 100%;
    height: 100%;
}


.homepage .trova_panchine .mappa .btn{
    margin-top: -20px;
    margin-bottom: 15px;
    
}

.homepage #bigmappa {
  margin-top: 50px;
}

/*LEGENDA PANCHINE**/

/*.homepage .legenda_panchine{
    -webkit-box-shadow: inset 0px 6px 34px -6px rgba(117,116,117,1);
-moz-box-shadow: inset 0px 6px 34px -6px rgba(117,116,117,1);
box-shadow: inset 0px 6px 34px -6px rgba(117,116,117,1);
}*/


.homepage .legenda_panchine .scritta{
    vertical-align: middle;
}
.homepage .legenda_panchine .scritta p{
    margin-bottom: 0;
    font-size: 18px;
    line-height: 22px;
}

.homepage .legenda_panchine .ico_leg {
    margin-top: 5px;
    margin-bottom: 5px;
} 

.homepage .legenda_panchine .ico_leg .col2{
        width: 50%;
    display: table-cell;
} 

.homepage .legenda_panchine .ico_leg .icona.col2{
        padding-right: 15px;
} 


/*VIDEO SLIDER*/

.video-wrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 0;
	height: 0;
}
.video-wrapper video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.slick-slider {
  max-width: 100%;
  overflow: hidden;
 padding: 0;
    margin: 0 !important;
}

.slick-prev {
  left: 15%;
  width: 150px;
  height: 150px;
  z-index: 9999;
}
.slick-next {
  width: 150px;
  height: 150px;
  z-index: 9999;
  display: none !important;
}

.slick-prev::before, 
.slick-next::before {
 font-weight: 900;
    font-family: 'Font Awesome 5 Free';
  content: "\f30a";
  font-size: 80px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
display: inline-block;
font-style: normal;
font-variant: normal;
text-rendering: auto;

}


.slick-slider .slick-list {
padding: 0px  0 0 350px !important;
}
.slick-slider .opacity {
top: 0;
border: 0;
position: absolute;
left: 0;
right: 0;
background: rgba(0,0,0,0.4);
z-index: 9;
width: 100%;
height: 100%;    
}

.slick-slider .slick-current.slick-active .opacity {
display: none;  
}

/* The Modal (background) */
.modal {
    display: none;
    position: fixed;
    z-index: 9999999999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0,0.4);
}
  
/* Modal Content/Box */
.modal-content {
    background-color: #fefefe;
    margin: auto;
    padding: 20px 20px 40px 20px;
    border: 1px solid #888;
    width: 80%;
    text-align: center;
    position: absolute;
    top: 0;
    bottom: 0;
    height: fit-content;
    left: 0;
    right: 0;
}
.modal-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 50px;
}
.modal-container {
    display:grid;
    grid-template-columns: 60% 40%;
}
.modal-container img {
    max-height: 500px;
}
/* The Close Button */
.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    text-align: end;
}
  
.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
  }
/* !MODAL */

/*TABUI*/

.tabui .descrizioni{
    margin: 40px 0 25px 0
}

.tabui .download a{
    display: block;
    margin: 0 0 25px 0
}


.tabui .logo_tabui{
	max-width: 65%
}

.tabui .download_tabui{
	max-width: 40%
}

.tabui .anteprima{
	max-width: 20%
}

@media(max-width:1650px){
   
  
.homepage .esperienza h3{
    font-size: 35px;
    line-height: 38px;
    
}     
  
.homepage .legenda_panchine .scritta p{
    font-size: 16px;
    line-height: 20px;
}    
    
    
}

@media(max-width:1300px){
    .homepage .legenda_panchine {
        padding-left: 15px;
        padding-right: 15px;
}  
}

@media(max-width:1199px){
    .homepage .four_box .single{
    font-size: 20px;
    line-height: 26px;
}

}
 




@media(max-width:1150px){
   
.homepage .section_1 .link_scroll{
   font-size: 20px;
   line-height: 30px;
}

    .homepage .section_1 .link_scroll .icone{
   
    margin-left: 20px;
}
    
 
    
.homepage .esperienza h3{
    font-size: 25px;
    line-height: 33px;
    max-width: 70%;
    margin: 10% 0 5% 0;
}    
    
}

@media(max-width:991px){
    
    
.homepage .four_box .single{
    padding-top: 15%;
    padding-bottom: 15%;
    
}    
 
     .homepage .legenda_panchine{
       flex-wrap: wrap;
        
    }
    
    .homepage .legenda_panchine .scritta p{
    font-size: 14px;
    line-height: 18px;
}  
    
     .homepage .legenda_panchine .ico_leg,
    .homepage .legenda_panchine .ico_leg .colonna.col2{
        width: 50%;
        
    } 
     
  
    
}



@media(max-width:800px){
    .homepage .section_1 .mappa{
   display: none;
}
    
    .homepage .section_1 .link_scroll{
   font-size: 16px;
   line-height: 24px;
}
    
    .homepage  #bigmappa {
  margin-top: 0px;
}
    
}

@media(max-width:767px){
   
    .homepage .bigbench{
        padding-bottom: 0;
    }
    
    .homepage .bigbench .testo_2_col{
     column-count: 1;
     column-gap: 0;
}
.homepage .bigbench .testi {
  padding-right: 15px;
  padding-bottom: 20px;
}

 
   .homepage .esperienza h3{
    font-size: 20px;
    line-height: 26px;
    max-width: 90%;
    margin: 20% 0 20px 0;
       padding-top: 100px;
    
}   
  
    .homepage .four_box .single{
    padding-top: 100px;
    padding-bottom: 100px;
    
}  
   
    
    .homepage .trova_panchine.mappe .mappa{
        width: 100%;
        height: 350px;
        margin-bottom: 100px;
    
}
    
    .homepage .trova_panchine {
  padding-bottom: 0;
}
    
    .homepage .trova_panchine.mappe .mappa .maplibregl-canvas.mapboxgl-canvas{
        width: 100%;
    }
    
    .homepage .legenda_panchine .ico_leg .icona img{
        width: 70px;
        
    } 
    
    
.slick-slider .slick-list {
  padding: 0px 0 0 90px !important;
  height: auto;
}
 
.slick-prev::before, 
.slick-next::before {
  font-size: 30px;
}

}



/*NUMERI*/
.numeri .num .numero{
    font-size: 100px;
    font-weight: 700;
    color: var(--nero);
    margin-right: 15px;
    line-height: 80px;
    transition: transform .2s; /* Animation */
}

.numeri .num .numero:hover{
    
    color: var(--testo);
    transform: scale(1.1);
}

.numeri .num .scritta{
    
    font-size: 24px;
    font-weight: 500;
}

.numeri .num .colonna{
    vertical-align: bottom;
}


@media(max-width:1650px){
    .numeri .num .numero{
    font-size: 80px;
    line-height: 60px;
    
}

 .numeri .num .scritta{
    font-size: 18px;
    line-height: 26px;
}
}


@media(max-width:1150px){
   
 .numeri .num .numero{
    font-size: 60px;
    line-height: 50px;
    
}  
}


@media (max-width:991px){
 .numeri .num .numero{
    font-size: 40px;
    line-height: 30px;
}

 .numeri .num .scritta{
    font-size: 14px;
    line-height: 18px;
}
}
 

@media (max-width:767px){
    .numeri {
    flex-wrap: wrap;
    text-align: center
}

.numeri .num,
 .numeri .num .colonna{
    text-align: center !important;
        margin: 0;
}
}




/*MAPPA*/

#map { 
    position: relative; 
    width: 100%; 
    height: 500px }

 
.mapboxgl-popup {
max-width: 200px;
}
    

.marker {
display: block;
border: none;
border-radius: 50%;
cursor: pointer;
padding: 0;
background-repeat: no-repeat;    
}


.maplibregl-ctrl-geocoder {
 
  position: relative;
  background-color: #fff;
  width: 100%;
  min-width: 340px;
  z-index: 1;
  border-radius: 4px;
  transition: width 0.25s, min-width 0.25s;
  margin: 15px auto !important;
    float: left;
}


/*PAGINE*/




.parallasse.testata_bottom{
    height: 500px;
   
}

.dettaglio_pagina .testo {
    padding-bottom: 6%;
    padding-top: 4%;
}

.dettaglio_pagina .anteprima {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}


@media(max-width:991px){
 

.dettaglio_pagina .anteprima{
   height: 350px;
}    

.parallasse.testata_bottom{
   height: 350px;
}     

}

@media(max-width:767px){
 
.parallasse.testata_bottom{
   height: 250px;
}     

}



/*FORM*/

.form_panchine .testo.inner_padding{
    padding-top: 0;
}

.form_panchine .form-group p{
    margin-bottom: 5px;
}

.response {
	width:100%;
    display: block;
	margin:40px 0 0 0;
	padding:10px 20px;
	font-size:16px;
	font-weight:600;
}

.response.ko{
	background:#f99595;
	border:1px dotted #f47474;
	color:#810606;
}

.response.ok{
	background:#b7eabd;
	border:1px dotted #7ac883;
	color:#03560d;
}

.form-control {
    display: block;
    width: 100%;
    height: calc(1.5em + .75rem + 2px);
    padding: .375rem .75rem;
    background-clip: padding-box;
	font-weight: 300;
    border: none;
    border-radius: 0;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}



label,
label a
{
	  font-weight:200;
	 
	  display:block;
}

label em
{
	  /*color:#dec9cd;*/
}


textarea {
	min-height:100px;
}


.checkbox label,
.checkbox label a
{
	font-weight:200;
    display:inline;
    font-size: 16px;
    line-height: 26px;
}

.form-group {
    margin-bottom: 10px;
	margin-top: 10px;
}


.campo.privacy{
	margin-top:15px;
}



.input-group-text {
     padding: 0 15px;
    color: #495057 !important;
    
    background-color: #e9ecef;
    border: 1px solid #ced4da;
    
}
.input-group-text a{
    
    color: #495057 !important;
  
    
}

.text-danger {
    color: #dc3545 !important;
    display: block;
    width: 100%;
}


    
    
/*FOOTER*/



.bg_footer{
    background: var(--bianco);
    border-bottom: 40px solid var(--colore);
    padding-top: 20px;
    
}

.footer.logo_riga .riga{
     background: var(--testo);
    height: 1px;
}
    
.footer.logo_riga .logo{
    width:150px; 
}  

@media(max-width:767px){
    
    .footer.text {
        flex-wrap: wrap;
        padding-top: 20px;
    
}  
    
    .footer.text .legal{
    width:100%; 
    margin-top: 30px;
}  
    
    .footer.logo_riga .logo {
  width: 110px;
}

}




/* COOKIE UE LAW */
.ui-widget {
	position:fixed;
	bottom:0;
	left:0;
	color:var(--bianco);
	background: #000;
	z-index:999;
	width:100%;
}
.cookie-message {
	padding:20px 15px;
	width:80%;
	margin:0 auto;
	font-size: 20px;
	line-height: 30px;
}

.cookie-message a {
	color:var(--bianco);
	font-size: 20px;
	line-height: 30px;
}

.ui-widget-close {
	color:var(--bianco);
}
a.ui-widget-close-button {
	background: var(--bianco);
	color:#99273b;
	margin-right:20px;
	padding:5px;
	float:none;
	text-align:center;
	width:130px;
	margin:10px auto 0 auto;
	letter-spacing:0px;
	display:block;
	
}
#div_btn_accetta_cookie{
	padding-top:20px;
}
#div_testo_btn_accetta_cookie{
	background: var(--bianco);
	color:#99273b;
	margin-right:20px;
	padding:5px;
	float:none;
	text-align:center;
	width:130px;
	margin:0 auto;
	letter-spacing:0px;
}


@media (max-width:767px){
	.cookie-message,
	.cookie-message a  {
	color:var(--bianco);
	font-size: 15px;
	line-height: 22px;
}
    a.ui-widget-close-button {
	
	color:#99273b;
	
	
}
}
/* TOUR */

h2.customH2 {
    font-size: 35px;
    line-height: 45px;
    margin: 30px 0;
}

.tour-outer {
    margin: 50px 0;
}
.tour-inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

@media (max-width: 1500.98px) { 
    .tour-inner {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 1000.98px) { 
    .tour-inner {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600.98px) { 
    .tour-inner {
        grid-template-columns: repeat(1, 1fr);
    }
    h2.customH2 {
        font-size: 25px;
        line-height: 35px;
        margin: 20px 0;
    }
}

.box-tour {
    display: flex;
    flex-direction: column;
    gap: 5px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    background-color: #fff;
}
.title-container,
.posti-tour,
.date-tour,
.desc-tour,
.info-tour,
.link-tour,
div.ctm-separator {
    padding: 0 20px;
}
.img-tour {
    height: 250px;
    background-position: center!important;
    background-size: cover!important;
    border-radius: 8px 8px 0 0;
}
.region-tour {
    position: relative;
    
    font-size: 14px;
    color: #76767d;
}
.title-container {
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
    align-items: flex-start;
}
.desc-tour,
.posti-tour,
.date-tour {
    font-size: 14px;
}
div.title-tour h2 {
    font-size: 20px;
    line-height: 30px;
    margin: 0;
}
.info-tour {
    font-size: 14px;
    font-weight: 600;
    color: #818181;
}
.link-tour {
    padding-bottom: 20px;
}
.link-tour a {
    color:#3733c7!important;
    text-decoration: underline;
    font-weight: 700;
    font-size: 16px;
}
div.ctm-separator hr {
    margin: 0;
}
div.posti-tour span,
div.date-tour span {
    font-weight: 500;
}
div.desc-tour p {
    margin: 0;
}
.info-tour {
    font-size: 14px;
    font-weight: 600;
    color: #818181;
    margin: 15px 0;
}
div.desc-tour p {
    margin: 0;
}
.concorso-link {
    text-decoration: underline;
    color: #b3363c!important;
    font-weight: 600;
}