*{
	scroll-behavior: smooth;
}

:root{
	--font-size-base: 1rem;
}
body, html{
 	font-family: "Roboto Serif", serif;
  	font-optical-sizing: auto;
  	font-style: normal;
  	font-variation-settings: "wdth" 100, "GRAD" 0;
  	height: 100vh;
}

div{
	font-size:  calc(var(--font-size-base) * 1);
}

a, a:visited, a:hover{
	color: #000000;
}

summary{
	font-weight: bold;
}

summary::marker{
	display: none;
	content: "";
}

.wrap-menu a {
  color: #757575;
}

.main-title{
  font-size: clamp(2rem, 4.4vw, 4rem);
  text-align: center;
  margin-top: 80px;
  margin-bottom: 15px !important;
}

h3{
	font-size: clamp(1rem, calc(var(--font-size-base) * 1.45), 1.75rem);
}

table td{
	padding: 5px;
	border: 1px solid #cdcdcd;
	vertical-align: top;
	font-size:  calc(var(--font-size-base) * 0.8);
}

table{
	margin-bottom: 20px;
}

.footer a{
	color: white;
}

.sezionehp{
	text-align: center;
	font-weight: bold;
	font-size:  calc(var(--font-size-base) * 1.4);
	padding: 20px;
	user-select: none;
	margin-left: 8rem;
  	margin-right: 8rem;	
}

.sezionehp > div{
	display: inline-block;
	vertical-align: top;
}

.sezionehp div div.icon{
    width: clamp(13rem, 16vw, 16rem);
    height: clamp(13rem, 16vw, 16rem);
	background-color: #e8ddff;
	border-radius: 100%;
	margin: auto;
	transition: opacity 0.6s;
	cursor: pointer;
	border: 15px solid #fff;
}

.sezione-name{
	font-size:  calc(var(--font-size-base) * 1.4);
}

.plain_link, .plain_link:hover{
	color: black;
}

.icon-select{
	opacity: 0.4;
}

.icon-select-ombra{
  background-color: #fff;
  mix-blend-mode: luminosity;
  filter: brightness(0.83);
}

#wait-load-data{
	position: fixed;
    width: 100%;
    height: 100%;
    z-index: 7;
    background-color: #e4fff24d;
    top: 0;
    left: 0;
}

.motto{
	margin: 0 12rem;
  	font-size: calc(var(--font-size-base) * 1.5);
}

.news-container{
	background-color: #F0F0F1;
	text-align: center;
}

.news-container h3{
	font-size: calc(var(--font-size-base) * 2.4);
	font-family: Roboto;
	font-weight: 100;
	padding: 20px 0 10px 0;
}

.news-container h2{
	font-size: 2rem; /*calc(var(--font-size-base) * 2);*/
	line-height: 2rem;
	font-weight: 500;
}

.news-container a, .title-mappe a{
	color: inherit;
}

.news-container a:hover{
	color: inherit;
}

.container-quest{
	background-color: #f3f3f3;
}

.container-all{
	top: 0;
}
.questionario_variabili .specifica{
	display: none;
	border-left: 5px solid #005f5f;		
}

article .excerpt{
	font-size: calc(var(--font-size-base) * 1);
}


article h2{
	font-size: calc(var(--font-size-base) * 1.8);
}

article h5{
	font-size: calc(var(--font-size-base) * 1.25);
}

article p{
	font-size: calc(var(--font-size-base) * 1);
}

.news-data{
	text-align: center;
	text-transform: uppercase;
	margin-top: 15px;
	font-family: Roboto;
}

.news-container button{
	background-color: #fff;
 	border-radius: 24px;
  	margin: 15px 0;
  	text-transform: uppercase;
	font-size: calc(var(--font-size-base) * 0.8);
    font-weight: bold;
    font-family: Roboto;  
    padding-left: 20px;
    padding-right: 20px; 
	position: absolute;
 	bottom: 0;    
    left: calc(50% - 66px);   	
}

.news-container img{
	border-radius: 10px;
}

.jumbotron{
	background-color: #B1B2B4;
}

.header{
	position: fixed;
  	top: 0;
  	background-color: #fafafa;	
	padding: 5px 15px;
	text-transform: uppercase;
	color: #565656;
	font-family: "Roboto";
	z-index: 9;
}
.header img{
	max-height: 37px;
}

.header svg{
	height: calc(var(--font-size-base) * 0.9);
	fill: #565656;
}
.jumbotron span{
	color: #fff;
	text-transform: uppercase;
	font-weight: bold;
	font-family: "Roboto";
	font-size: calc(var(--font-size-base) * 0.9);
	display: inline-block;
  	margin-left: 30px;	
}

.jumbotron svg{
	height: 15px;
	fill: #fff;
}

.news-container article{
	margin-bottom: 70px;
}

#area_selezione{
	padding-top: 55px;
	min-height: 78vh;
}

.title-mappe{
  /*font-size: calc(var(--font-size-base) * 1.8);*/
  font-size: clamp(1rem, 1.8vw, 2rem);
  text-transform: none;
  font-family: "Roboto Serif";
  color: #000;
  line-height: 2rem;
  font-weight: bold;
  padding-top: 4px;
}

.body-map{
	overflow: hidden;
}

.side-sx{
	width: 100%; background-color: #ececec; height: calc(100vh - 100px);
	position: relative;
	z-index: 1;
}

.listsub-section-bnts01{
	overflow-x: auto;
}

.listsub-section-bnts02{
	overflow-x: scroll; scrollbar-width: none; display: none;
}
.side-dx{
	height: calc(100vh - 93px);
    overflow-y: auto;
    overflow-x: hidden;
}

.section-title{
   position: fixed;
   width: max(30%, 300px);
   right: 0;
   min-height: 60px;
   z-index: 10;
}

.section-title div{
	text-align: right;
 	/*font-size: calc(var(--font-size-base) * 2.2);*/
 	font-size: 2.2rem;
  	color: #fff;
	position: absolute;
  	right: 0;  
  	width: 100%;
	border-top-left-radius: 30px;
 	border-bottom-left-radius: 30px;  
 	padding-right: 25px;
}

.gruppi_sezione{
	/*height:  75px;*/
	position: relative;
	cursor: pointer;
	transition: opacity 0.6s;
	/*padding: 10px;*/
  	border-radius: 12px;	
}

.gruppi-veloce{
	padding: 10px;
}

.gruppi_sezione svg{
	max-width: 85px;
}

.subsection-icon{
	display: inline-block; height: 260px; text-align: center; margin-top: -48px; width: 55%;
}

.subsection-icon svg{
	max-height: 240px;	
}

.gruppi-nome div{
	font-size: 1rem;
}

.gruppi_sezione .col-sm-8{
	margin: 0;
	position: absolute;
	top: 50%;
	left: 60%;
	transform: translate(-50%, -50%);
	/*font-size: calc(var(--font-size-base) * 0.9);*/
	font-size: 0.9rem;
  	font-weight: bold;	  
}

.button-search{
	text-align: center;
}

.button-search button{
	border: 1px solid #cdcdcd;
	background-color: #86888A;
	border-radius: 20px;
	color: #fff;
	min-width: 120px;
	text-transform: uppercase;
	font-family: Roboto;
	font-size: calc(var(--font-size-base) * 0.9);
}

.button-salute{
	border: 1px solid #cdcdcd;
	color: #5e5e5e;
	border-radius: 20px;	
	text-transform: uppercase;
	font-family: Roboto;
	min-width: 160px;
	font-size: calc(var(--font-size-base) * 0.9);
	margin-top: 10px;
}
.button-salute svg{
	max-height: 20px;
  	position: relative;
  	top: -1.5px;
  	display: inline;
  	width: 20px;
  	height: 20px;
}

.btn-scheda{
	padding: 5px 20px;	
	color: #fff;
}

.btn-reject-cookie-banner{
	color: #b0b0b0;
}

#scheda_ente{
  display: none;
  position: fixed;
  right: 0;
  height: calc(100% - 90px);
  width: 33%;
  min-width: 400px;
  padding: 15px;
  background-color: #fff;
  z-index: 9;
  overflow-y: hidden;
}

#scheda_ente .wrap-content-scheda{
	position: relative;
	overflow-y: auto;
	width: 100%;
	height: calc(100% - 75px);
}
#scheda_ente button.close{
	margin-top: 45px;
}

.leaflet-popup-content-wrapper .iconmap span{
    top: 7.15px;
    position: relative;	
}

#mappLazioPlace{
	width: 100%;
	height: calc(100% + 0px);
}

.lista_sezioni{
text-align: center;
  margin-right: 25px;
  min-width: 85px;
  padding-bottom: 5px;
}

.wrap-menu span{
	margin: 8px 0px 0px 6px;
    display: inline-block;
    cursor: pointer;
    padding-right: 0px;
    user-select: none;
}

.wrap-menu span:not(.no-sep):before{
	content: "  |  ";
    padding-left: 10px;
    padding-right: 10px;
}

.lista_sezioni span{
	display: block;
    font-size: calc(var(--font-size-base) * 0.7);
    text-transform: none;
  text-align: center;
  color: #000;
  font-weight: bold;
  font-family: "Roboto serif";
}

.lista_sezioni svg{
 	height: 57px;
}

#area_selezionata{
	display: none;
	min-height: 78vh;
	padding-top: 55px;
	position: relative;
}

.spinner{
  text-align: center;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  position: absolute;
}
.spinner .spinner-border{
	width: 200px;
    height: 200px;
    border-width: 5px;
}

.spinner-md{
	margin-left: calc(50% - 75px);
  	margin-top: 32px;
}

.spinner-md span{
	width: 150px;
  	height: 150px;
}

.btn-espandi{
	display: none;
	position: absolute;
  	top: 20px;
  	z-index: 999;
  	background-color: #fff;
  	min-height: 45px;
  	font-weight: bold;
  	min-width: 127px !important;
  	left: calc(100% - 150px);
}

.btn-riduci{
	display: none;
	top: 67px !important;
	display: none;
	position: absolute;
  	z-index: 999;
  	background-color: #fff;
  	min-height: 45px;
  	font-weight: bold;
  	min-width: 127px !important;
  	left: calc(100% - 150px);	 
}

#wrap-search{
  display: none;
  position: absolute;
  top: 122px;
  left: 15px;
  z-index: 9;
  background-color: white;
  padding: 10px;
  box-shadow: 10px 10px 10px #8e8e8ea3;
  max-width: 275px;
}

#wrap-search h4{
	color: #464444;
}

#wrap-search label{
	font-size: calc(var(--font-size-base) * 0.85);
	margin-bottom: 0;
}

.link-rapidi{
	display: none;
	position: fixed;
	bottom: 0;
	width: 100%;
	z-index: 999;
}

.link-rapidi .d-flex{
	background-color: #ffffffe3;
    padding: 10px;
    padding-bottom: 0 !important;
    width: 90%;
    margin: auto;    
}

.link-rapidi .gruppi_sezione{
	height: auto;
}

.gruppi_sezione div{
	display: inline-block;	
}

.gruppi-logo{
	float: left;
	min-width: 70px;
    max-width: 70px;
}

.gruppi-logo svg{
	height: 60px;
}

.gruppi-nome{
	float: left;
	font-size: calc(var(--font-size-base) * 0.8);
    font-weight: bold;   
    max-width: 160px; 
    width: 58%;
    padding-right: 15px;
}
.gruppi-nome div{
	transform: translate(0%, -50%);
	position: absolute;
  	top: 50%;
  	padding-right: 4px;
}

#response{
	padding-top: 10px;
    color: #005f5f;
    font-size: calc(var(--font-size-base) * 0.9);
    text-align: center;
}

#response .number-opport{
	display: block;
  	font-size: calc(var(--font-size-base) * 3);	
  	font-weight: bold;
  	line-height: 4rem;
}

.go_back_sezione{
	text-decoration: underline;
	text-decoration-thickness: 2px;
	cursor: pointer;
}

.text-editable{
	cursor: zoom-in;
	user-select: none;
}

.chiudi-info, .form-opport-open, .thumbnail-img{
	cursor: pointer;
	user-select: none;
}

#modalDialogsYesNo .alert-danger:empty, .btn-download-area, .search-tool-wrap, .notizie-sottosezione:empty,
article p:empty, .form-opport, .text-mobile, .subst-title, .listsub-section-bnts02, #mobile-touch-courtin{
	display: none;
}

.text-mobile_hp{
	display: none !important;
}

#error_toast{
	display: none;
	position: fixed;
	min-height: 80px;
	width: 100%;
	background-color: #b00000c4;
	color: white;
	z-index: 99;	
  	bottom: 0;
  	left: 0;
  	padding: 12px;
}

.menu-mobile{
  display: none;
  position: fixed;
  right: 12px;
  top: 12px;
  z-index: 10001;
  cursor: pointer;
  background-color: #fff;
}

.container-image {
  padding-top: 62.25%;
}

.container-image .img-wrap{
  position:  absolute;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  font-size: calc(var(--font-size-base) * 1);
  color: white;
  overflow: hidden;
  padding: 10px;
  color: #000;
}

.article-content img{
	max-width: 100%;
	height: auto;
}

.material-symbols-outlined {
  top: 6px;
  position: relative;
  line-height: 0 !important;
}

.notizie-sottosezione{
	background-color: #F0F0F1;
	font-family: "Roboto";
}

.notizie-sottosezione p{
	font-size: calc(var(--font-size-base) * 0.9);
}

.notizie-sottosezione img{
	border-radius: 8px;
}

.leaflet-popup-content div{
	margin-bottom: 7px;
	font-size: calc(var(--font-size-base) * 0.9);
}

.leaflet-container a {
  color: #000000 !important;
}

.iconmap{
	 display: inline-block;
	 color: white;
	  background: #000;
	  height: 25px;
	  width: 25px;
	  border-radius: 100%;
	  text-align: center;
	  margin-right: 4px;
	margin-bottom: 2px;
}
.iconmap span{
	font-size: 19px;
	top: 5px;
}

.rotate180{
	transform: rotate(180deg);
}

.row-images-point{
  display: flex;
  flex-wrap: wrap;
  padding: 0 4px;
  margin-bottom: 20px;
}

/* Create four equal columns that sits next to each other */
.column-images-point {
  flex: 33%;
  max-width: 33%;
  padding: 0 4px;
}

.column-images-point img {
  margin-top: 8px;
  vertical-align: middle;
  width: 100%;
  border-radius: 7px;
}

/* Responsive layout - makes a two column-layout instead of four columns */
/*@media screen and (max-width: 800px) {
  .column {
    flex: 50%;
    max-width: 50%;
  }
}*/

#cookie-banner{
	position: fixed;
  bottom: 0;
  left: 0;
  width: 480px;
  font-size: calc(var(--font-size-base) * 0.7);
  text-align: justify;
  border: 1px solid #cdcdcd;
  padding: 30px 50px;
  background-color: #fff;
  box-sizing: border-box;
  box-shadow: 0px 1px 7px #808080;
  z-index: 99;
  margin: 12px;
}

.transiente div{
  transition: 1s;
  max-height: 100px;
  overflow-y: hidden;
  background: linear-gradient(to bottom, #000 60%, #fff 100%);
    background-clip: border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255,255, 255, 0);
  background-clip: text;
}

.transiente-close:after{
	content: "Chiudi \25B2";
	font-size: calc(var(--font-size-base) * 0.8);
	cursor: pointer;
}

.transiente:after{
	content: "Continua \25BC";
	font-size: calc(var(--font-size-base) * 0.8);
	cursor: pointer;
}

.title-subsection{
	display: inline-block;  width: max(45%, 300px); padding-left: 10px; position: absolute; right: 0; height: 200px;
}
.title-subsection div{
	display: flex; justify-content: left; align-items: flex-end; height: 200px;
}

.logo-riempitivo{
	padding: 0 4rem 2rem 4rem;
}

.loghi-sottogruppi{
	padding-top: 20px;	
}

.text-right-user{
	text-align: right;
}

#modalDialogsYesNo .modal-title svg{
	height: 30px;
  	margin-right: 5px;
  	margin-top: -5px;
}

.cookie-consent-switch .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #b8b8b8;
}

.map-espansa{
	width: 300%;
}

.expand-map-btn{
  position: absolute;
  bottom: 100px;
  right: 11px;
  z-index: 990;
  width: 32px;
  height: 32px;
  border: 1px solid #ccc;
  background-color: #fff;
  border-radius: 5px;
  padding: 0;
}

.expand-map-btn-bottom{
	position: fixed !important;
}

.map-fullscreen-mobile{
	position: fixed !important;
  	top: 0;
  	left: 0;
  	width: 100% !important;
  	height: 100% !important;
}

@media screen and (max-width: 1280px) {
	.logo-riempitivo{
		display: none;
	}
	
	.loghi-sottogruppi{
		max-width: 100%;
		flex: none !important;
		padding-top: 0
	}
	
	#wrap-search{
		top: 150px;	
	}

	.sezionehp{
		padding: 0;
		margin-bottom: 30px;
		margin-left: 0;
	  	margin-right: 0;			
	}	
}

@media screen and (max-width: 993px) {
	
	.map-espansa{
		width: 100% !important;
	}
	
	header img{
		width: 100%;
  	    height: auto !important;
  	    width: auto;
	}
	
	.section-title {
	  position: relative;	
	  z-index: 0;
	  width: calc(100% - 2rem);
	  min-height: auto;
	  margin-top: 25px;
	  margin-left: 2rem;
	}

	.title-subsection{
		width: auto;
		padding-left: 20px;
  		position: relative;
  		height: auto;
  		margin-top: 20px;
	}	
	
	
	.title-subsection div{
		height: auto;
	}	
	
	#scheda_ente{
		position: fixed;
    	z-index: 11;
    	left: 0;
   	 	width: 100vw;
    	top: 0;
    	height: 100%;
    	min-width: initial;
	}	
	
	.section-title div{
		font-size: 1.2rem;
	}
	
	.sezionehp > div{
		width: 50% !important;
	}
	
	.motto{
		margin: auto;
	}
	
	.body-map{
		overflow: auto;
	}	
	.side-sx{
		height: calc(60vh - 50px) !important;
		
	}
	
	.side-dx{
		height: auto;
		margin-top: 18px;
	}
	.title-mappe{
		margin-bottom: 16px;
		line-height: 1.6rem;
		font-size: 1.2rem;	
	}
	
	.footer .col-lg-7{
		text-align: left;
	}
	
	.lista_sezioni{
		margin-right: 15px;
	}
	
	.lista_sezioni span{
		font-size: calc(var(--font-size-base) * 0.5);
	}
	
	#area_selezione{
		padding-top: 22px;
	}
	
	#mobile-touch-courtin{
		display: block;
		width: 100%;
		background-color: #4f4f4fbf;
		height: 100%;
	  	position: absolute;
	  	z-index: 1001;
	}

	#mobile-touch-courtin div{
		color: white;
	  font-size: 8vw;
	  width: 85%;
	  text-align: center;
	  margin: 0;
	  position: absolute;
	  top: 50%;
	  left: 50%;
	  transform: translate(-50%, -50%);
	}

	.munu-wrap{
		width: 100%;
		left: 0;
		z-index: 999;	
	}
	
	.wrap-menu{
	    display: none;
	    background-color: white;
	    position: fixed;
	    z-index: 9999;
	    padding-top: 18px;
	    box-shadow: 0px 4px 9px #787878;
	    padding: 40px;
	    padding-left: 40px;
	    padding-left: 40px;
	    color: #757575;
	    height: calc(100% - 4px);
	    width: calc(100% - 4px);
	    left: 2px;
	    top: 2px;
	}
	
	.wrap-menu svg{
		height: 20px;
		height: 20px;
    	margin-top: -5px;		
	}
	
	.wrap-menu span {
	  display: block;
	  text-align: left;
	  margin: 0px 10px;
	  padding: 10px 20px;
	  font-size: calc(var(--font-size-base) * 1.5);
	  text-transform: initial;
	}	
	
	.wrap-menu span:not(.no-sep):before{
		content: "";
		display: block;
	}
	
	.listsub-section-bnts01, .subsection-icon, .link-rapidi, .leaflet-popup-content img{
		display: none;
	}
	
	.menu-mobile, .listsub-section-bnts02{
		display: block;
	}
	.text-mobile_hp{
		display: block !important;
	}
	
	.text-mobile{
		display: inline;
		font-style: normal;
	}	
	.leaflet-popup-content{
		width: 200px;
	}
	.leaflet-popup-content h5{
		font-size: 1rem;
	}
	
	.btn-espandi, .btn-riduci{
		z-index: -9
	}
	
	.text-right-user{
	  text-align: left !important;
	  padding-left: 0;
	  padding-top: 15px !important;
	}
	
	.gruppi-nome div {
	  font-size: calc(var(--font-size-base) * 0.6);
	  padding-left: 30px;
	}	
	
	.gruppi-logo svg {
	  height: 22px;
	}	
}

@media screen and (max-width: 767px) {
	
	.map-espansa{
		width: 100%;
	}
	
	.link-rapidi{
		height: 0 !important;
		z-index: -9;
	}
			
	#wrap-search{
		max-width: unset;
		top: 0;
		left: 0; 		
		position: initial;
    	width: 100%;
		box-shadow: unset;
		padding: 12px;
    	border: 1px solid #cbc2c2;;
    	margin-top: 10px;
    	margin-bottom: 10px;
    	border-radius: 10px;
    	background-color: #f8f8f8;
	}	
	#wrap-search h5{	
		font-size: calc(var(--font-size-base) * 0.8);
		text-align: center;
	}
	
	.header{
		padding-left: 1rem;
  		padding-right: 4rem;		
	}

	.sezionehp{
		padding: 0;
		margin-bottom: 30px;		
	}

	.sezione-name {
	  font-size: calc(var(--font-size-base) * 0.8);
	}
	
	  header img {
	    width: 50%;
	  }	
	
	.subst-title{
		display: block;
		text-transform: none;
  		font-family: "Roboto Serif", serif;
  		text-align: right;
  		font-size: 3vw;
    	text-align: left;
	}
	
	.gruppi_sezione .col-sm-4{
		text-align: center;
	}	
	
	.sezionehp div div.icon{
	    width: clamp(9rem, 16vw, 16rem);
	    height: clamp(9rem, 16vw, 16rem);
	}	
	
}

@media screen and (max-width: 592px) {
	#cookie-banner{
		width: calc(100% - 24px);
	}
	.gruppi_sezione .col-sm-4{
		text-align: left;
	}	
	.gruppi_sezione .col-sm-8{
		transform: translate(-40%, -50%);
  		width: 70%;
    	padding-right: 20px;
	}	
	
	  header img {
	    width: 100%;
	  }		
}





