@font-face {
	font-family: 'Lobster';
	font-weight: 400;
	font-display: swap;
	src: url(fonts/Lobster-Regular.ttf) format('TrueType');
}
@font-face {
	font-family: 'Prompt';
	font-weight: 300;
	font-display: swap;
	src: url(fonts/Prompt-Light.ttf) format('TrueType');
}
@font-face {
	font-family: 'Prompt';
	font-weight: 300;
	font-style: italic;
	font-display: swap;
	src: url(fonts/Prompt-LightItalic.ttf) format('TrueType');
}
@font-face {
	font-family: 'Prompt';
	font-weight: 400;
	font-display: swap;
	src: url(fonts/Prompt-Regular.ttf) format('TrueType');
}
@font-face {
	font-family: 'Prompt';
	font-weight: 500;
	font-display: swap;
	src: url(fonts/Prompt-Medium.ttf) format('TrueType');
}
@font-face {
	font-family: 'Prompt';
	font-weight: 600;
	font-display: swap;
	src: url(fonts/Prompt-SemiBold.ttf) format('TrueType');
}
@font-face {
	font-family: 'Prompt';
	font-weight: 600;
	font-style: italic;
	font-display: swap;
	src: url(fonts/Prompt-SemiBoldItalic.ttf) format('TrueType');
}
@font-face {
	font-family: 'Prompt';
	font-weight: 700;
	font-display: swap;
	src: url(fonts/Prompt-Bold.ttf) format('TrueType');
}


body {
	text-align: left;
	font-family: 'Prompt', sans-serif;
	font-size: 17px;
	font-weight: 300;
	color: var(--first_text);
	background: var(--fourth_color);
	
	line-height: 19px;
	
	margin: auto;
	min-width: 320px;
}

* {
	box-sizing: border-box;
}

a {
	text-decoration: none;
	color: var(--first_color);
	transition: color 0.3s linear;
	-webkit-transition: color 0.3s linear;
	-moz-transition: color 0.3s linear;
}

a:link {
	text-decoration: none;
}
a:visited {
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
a:active {
	text-decoration: none;
}

h1 {
	font-weight: 700;
}

h2 {
	font-weight: 600;
}

a, img {
	-webkit-user-drag: none;
	-khtml-user-drag: none;
	-moz-user-drag: none;
	-o-user-drag: none;
	user-drag: none;
}
svg {
	max-width: 100%;
	max-height: 100%;
}

.c1 { color: var(--first_color); }
.c2 { color: var(--second_color); }
.c3 { color: var(--third_color); }
.c4 { color: var(--fourth_color); }
.c5 { color: var(--first_light); }
.c6 { color: var(--second_light); }
.c1_text { color: var(--first_text); }

#overlayer_loader {
	width: 100%;
	height: 100%;
	margin: auto;
	background-color: #000000e6;
	position: fixed;
	top: 0;
	left: 0;
	overflow-y: scroll;
	scrollbar-width: none; /* firefox */
	text-align: center;
	z-index: 998;
}

	.div_overlayer_loader {
		position: relative;
		transform: translateY(-50%);
		top: 50%;
	}
	
		.icon_overlayer_loader {
			width: 100px;
			margin: 0 auto 30px;
		}

		.label_overlayer_loader {
			color: var(--fourth_color);
			font-weight: 400;
		}


.container_qrcode_scanner {
	background-color: var(--first_color);
    position: fixed;
    bottom: 0;
    left: 0;
	text-align: center;
	padding: 7px 10px 7px;
	width: 100%;
}

.qr_btt_light_bg {
	background-color: var(--second_color);
	text-shadow: 1px 1px 1px #000000;
}
	
	.text_qrcode_scanner {
		word-break: break-all;
		font-weight: 500;
		text-transform: uppercase;
	}
	
	.text_qrcode_scanner a {
		color: var(--fourth_color);
	}
	
	.text_qrcode_scanner svg {
		font-size: 30px;
		margin-right: 25px;
		vertical-align: middle;
	}
	
	.qr_btt_light_bg .text_qrcode_scanner svg {
		filter: drop-shadow(1px 0.75px 0.5px #000000);
	}
	
#container {
	width: 100%;
	
	margin: 0 auto;
}

header {
	position: relative;
	z-index: 1000;
}

.cont_header_body_fixed {
	position: relative;
	max-width: 1400px;
	margin: auto;
	min-height: 85px;
}
@media screen and (min-width : 380px) and (max-width : 992px) {
	.cont_header_body_fixed { min-height: 110px; }
}

	
	.background_header_body {
		background-color: var(--fourth_color);
		position: fixed;
		right: 0;
		left: 0;
	}
	@media screen and (min-width : 993px) {
		.background_header_body { position: relative; }
	}

		.header_body {
			width: 100%;
			margin: 0 auto;
			z-index: 3;
			display: flex;
			justify-content: space-between;
			align-items: center;
			min-height: 85px;
		}
		@media screen and (min-width : 380px) and (max-width : 992px) {
			.header_body { min-height: 110px; }
		}
			
			#logo_header {
				display: inline-block;
				margin: 15px 20px 15px;
				width: 210px;
				float: left;
			}
			@media screen and (min-width : 380px) and (max-width : 992px) {
				#logo_header { width: 270px; margin: 20px; }
			}
			@media screen and (min-width : 993px) and (max-width : 1260px) {
				#logo_header { width: 250px; margin: 20px; }
			}
			@media screen and (min-width : 1261px) {
				#logo_header { width: 300px; margin: 20px; }
			}
				
				#logo_header img {
					width: 100%;
				}

					
			#menu {
				text-align: right;
			}
			
				#menu_desktop {
					display: none;
					font-size: 18px;
					padding: 18px;
				}
				@media screen and (min-width : 993px) and (max-width : 1260px) {
					#menu_desktop { display: inline-flex; align-items: center; padding: 55px 20px 20px 0; text-align: left; font-size: 16px; }
				}
				@media screen and (min-width : 1261px) {
					#menu_desktop { display: inline-flex; align-items: center; padding: 55px 20px 20px 0; }
				}
			
				#menu_desktop .menu_link {
					color: var(--first_text);
				}
				
					#menu_desktop .menu_item {
						padding: 0 30px;
						text-transform: uppercase;
						text-align: center;
					}
					@media screen and (min-width: 993px) and (max-width: 1260px) {
						#menu_desktop .menu_item { padding: 0 15px; }
					}
					
					#menu_desktop .menu_item:first-of-type {
						padding-left: 0;
					}
					@media screen and (min-width : 993px) and (max-width : 1260px) {
						#menu_desktop .menu_item:first-child, #menu_desktop .menu_item:nth-child(2), #menu_desktop .menu_item:nth-child(3) { width: 115px; }
						#menu_desktop .menu_item:nth-last-child(2) { width: 150px; }
					}
					@media screen and (min-width : 1261px) {
						#menu_desktop .menu_item:first-child, #menu_desktop .menu_item:nth-child(2) { width: 140px; }
						#menu_desktop .menu_item:nth-child(3) { width: 155px; }
						#menu_desktop .menu_item:nth-last-child(2) { width: 200px; }
					}
					
					
					#menu_desktop .menu_item:last-of-type {
						padding-right: 0;
					}
					
					#menu_desktop .menu_item a:hover {
						text-decoration: none;
					}

				
		
/* menu mobile */

#menu_mobile {
	display: inline-block;
	margin: 15px 20px 0;
	float: right;
	text-align: center;
}
@media screen and (min-width : 380px) and (max-width : 992px) {
	#menu_mobile { margin: 20px 20px 0; }
}
@media screen and (min-width : 993px) {
	#menu_mobile { display: none; }
}

	#menu_mobile .menu_item, #menu_mobile .menu_item a {
		color: var(--first_text);
	}

		#menu_mobile .menu_drop_down {
			left: 0;
			right: 0;
			margin: auto;
			width: 250px;
			border: unset;
		}

		#menu_mobile .menu_drop_down_item a {
			color: var(--first_text);
		}
	

.menu_open {
	font-size: 30px;
	color: var(--second_color);
	cursor: pointer;
}	

#header_menu {
	width: 100%;
	height: 100%;
	margin: auto;
	background-color: var(--third_color);
	position: fixed;
	top: 0;
	left: 0;
	overflow-y: scroll;	 
	scrollbar-width: none; /* firefox */
}
	
	#header_menu .header_social a, .header_stemma a {
		color: var(--first_text);
	}
	
	#header_menu .header_social svg {
		font-size: 29px;
		vertical-align: middle;
		margin-right: 10px;
		color: var(--first_color);
	}
	
	.header_stemma {
		margin: 20px 10px 40px;
	}
	
	.header_stemma .stemma {
		width: 40px;
		vertical-align: middle;
		margin-right: 10px;
	}


/* chrome, safari e opera */

#header_menu::-webkit-scrollbar  {
	display: none;
} 
	
.logo_menu_close_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: 85px;
}
@media screen and (min-width : 380px) and (max-width : 992px) {
	.logo_menu_close_box { min-height: 110px; }
}
		
	.logo_overlay_box {
		display: inline-block;
		margin: 15px 20px 20px;
		width: 210px;
		float: left;
	}
	@media screen and (min-width : 380px) and (max-width : 992px) {
		.logo_overlay_box { width: 270px; margin: 20px; }
	}
	@media screen and (min-width : 993px) and (max-width : 1260px) {
		.logo_overlay_box { width: 250px; margin: 20px; }
	}
	@media screen and (min-width : 1261px) {
		.logo_overlay_box { width: 300px; margin: 20px; }
	}
		
		.logo_overlay_box img {
			width: 100%;
		}
		
		.logo_overlay_box img {
			width: 100%;
		}

	.menu_close {
		margin: 0 20px;
		position: relative;
		top: 4px;
	}
	@media screen and (min-width : 380px) and (max-width : 992px) {
		.menu_close { top: 10px; }
	}
	
		svg.fa-w-11.close_menu_header {
			display: block;
			font-size: 30px;
			color: var(--second_color);
			cursor: pointer;
		}
		
	#header_menu .menu_item_box {
		text-transform: uppercase;
		margin: 50px auto 55px;
	}
	@media screen and (min-width : 768px) and (max-width : 1335px) {
		#header_menu .menu_item_box { margin: 100px auto; }
	}
	
	#header_menu .menu_item_box a {
		color: var(--first_text);
	}
		
		#header_menu .menu_item {
			width: 300px;
			margin: auto;
			padding: 15px 20px;
		}
		
		
/*	--	 */
			
.inactive {
	opacity: .4;
	cursor: default;
}

	.inactive:hover {
		text-decoration: none;
	}


main {
	background: var(--fourth_color);
}

	.main_body {
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
	
/* container map */

.content_map {
	margin: 30px auto 100px;
	width: 100%;
	text-align: center;
	overflow: hidden;
	position: relative;
	height: 200px;
	max-width: 1400px;
	padding: 0 10px;
}
@media screen and (min-width : 768px) and (max-width : 1419px) {
	.content_map { height: 100px; }
}
@media screen and (min-width : 1420px) {
	.content_map { padding: unset; height: 100px; }
}

.content_map a {
	color: var(--fourth_color); 
}
@media screen and (min-width : 768px) {
	.content_map a { border-right: 1px solid var(--fourth_color); width: 30%; }
	.content_map a:last-child { border-right: unset; }
}

	.background_map {
		filter: brightness(0.7);
		overflow: hidden;
	}
	
		.background_map img {
			transform: translate(-35%, 0%);
		}
		@media screen and (min-width : 481px) and (max-width : 767px) {
			.background_map img { transform: translate(0%, -10%); }
		}
		@media screen and (min-width : 768px) {
			.background_map img { transform: translate(0%, -10%); width: 100%; }
		}

	.text_map {
		position: absolute;
		top: 50%;
		transform: translate(0, -50%);
		right: 0;
		left: 0;
		text-shadow: 1px 1px 1px #000000;
		margin: 0 20px;
		font-weight: 400;
		display: flex;
		justify-content: space-evenly;
		flex-direction: column;
	}
	@media screen and (min-width : 768px) {
		.text_map  { font-size: 22px; flex-direction: row; }
	}
		
		.text_map a {
			padding: 18px;
			border-bottom: 1px solid var(--fourth_color);
			text-decoration: none;
		}
		@media screen and (min-width : 768px) {
			.text_map a { padding: unset; border-bottom: unset; }
		}
		
		.text_map a:last-child {
			border-bottom: unset;
		}
		
			.text_map svg {
				margin: 0 30px 0 0;
				filter: drop-shadow(1px 0.75px 0.5px #000000);
				vertical-align: text-bottom;
				font-size: 30px;
			}
			@media screen and (min-width : 768px) {
				.text_map svg { font-size: 40px; }
			}
			
				.icon_map {
					display: inline-block;
					width: 50px;
				}
				@media screen and (min-width : 768px) {
					.icon_map { width: unset; }
				}
				
				.label_map {
					display: inline-block;
					width: 100px;
					text-align: left;
				}
				@media screen and (min-width : 768px) {
					.label_map { width: unset; text-align: center; }
				}
				
		
		
/* category evt */


/* musica */
.cat_ad7938334716e98c5bbd421a33090182 svg, .evt_legend .cat_ad7938334716e98c5bbd421a33090182 svg  {
	color: #c71585;
}
.bg_cat_ad7938334716e98c5bbd421a33090182 {
	background-color: #c71585;
}


/* sagre */
.cat_4389d684edd707be0ce3d5912ab15470 svg, .evt_legend .cat_4389d684edd707be0ce3d5912ab15470 svg {
	color: var(--first_light);
}
.bg_cat_4389d684edd707be0ce3d5912ab15470 {
	background-color: var(--first_light);
}


/* sport */
.cat_ef424fec3d2a19b0fd09bda37a4d7402 svg, .evt_legend .cat_ef424fec3d2a19b0fd09bda37a4d7402 svg {
	color: #191970;
}
.bg_cat_ef424fec3d2a19b0fd09bda37a4d7402 {
	background-color: #191970;
}


/* cultura */
.cat_66918ef8d485dc8f31179cf580889426 svg, .evt_legend .cat_66918ef8d485dc8f31179cf580889426 svg {
	color: #b22222;
}

.bg_cat_66918ef8d485dc8f31179cf580889426 {
	background-color: #b22222;
}


/* evento */

.cat_d7c2ab1312829d3635d174a7608e7d09 svg, .evt_legend .cat_d7c2ab1312829d3635d174a7608e7d09 svg {
	color: #35950a;
}

.bg_cat_d7c2ab1312829d3635d174a7608e7d09 {
	background-color: #35950a;
}


/* -- -- */


footer {
	background: var(--third_color);
	margin-top: 50px;
}

	.footer_body {
		width: 100%;
		height: auto;
		margin: 0 auto;
		padding: 20px;
		font-size: 15px;
		line-height: 29px;
		max-width: 1400px;
	}
	
		@media screen and (min-width : 730px) {
			#logo_footer { display: inline-block; text-align: center; vertical-align: middle; margin-top: 15px; }
		}
			
			#logo_footer img {
				width: 70%;
			}
			@media screen and (min-width : 480px) and (max-width : 729px) {
				#logo_footer img { width: 55%; }
			}
			@media screen and (min-width : 730px) {
				#logo_footer img { max-height: 70px; width: 100%; height: 100%; }
			}
		
		.footer_body_columns {
			display: flex;
			flex-direction: column;
			margin-bottom: 50px;
		}
		@media screen and (min-width : 993px) {
			.footer_body_columns { flex-direction: row; margin-bottom: unset; }
		}
		
			.footer_body a {
				color: var(--first_text);
			}
			
			.footer_body .menu_drop_down {
				display: none;
				padding: 10px;
				border: 1px solid var(--second_color);
				text-align: left;
				position: absolute;
				margin-top: 7px;
				background-color: var(--fourth_color);
				min-width: 210px;
			}
		
			.footer_body .menu_drop_down_item {
				margin-top: 20px;
				padding-left: 10px;
				border-left: 2px solid var(--second_color);
			}
			
			.footer_body .menu_drop_down_item:first-child {
				margin-top: unset;
			}
		
			.footer_column {
				width: 100%;
				text-align: center;
			}
			
			@media screen and (min-width : 993px) {
				#footer_column1 { text-align: left; }
				#footer_column3 { text-align: right; }
			}
			
			@media screen and (max-width : 992px) {
				#footer_column2::before, #footer_column2::after {
					background-color: var(--first_light);
					content: "";
					display: block;
					height: 1px;
					margin: 35px auto;
					width: 170px;
				}
			}
			
			#footer_column3 .stemma {
				width: 50px;
				vertical-align: middle;
				margin-right: 10px;
			}
			
			.footer_title {
				text-transform: uppercase;
				font-weight: 600;
				margin-bottom: 20px;
			}
			
				.footer_title a:hover {
					text-decoration: none;
				}
			
			.footer_ig {
				margin: 20px 0 25px;
			}
			
				.footer_ig svg {
					font-size: 29px;
					vertical-align: middle;
					margin-right: 10px;
					color: var(--first_color);
				}
			
			.footer_copyright {
				font-size: 13px;
				text-align: center;
			}
			
			
					

/* elementi comuni */

strong {
	font-weight: 600;
}

.btt {
	cursor: pointer;
}

.btt_main_solid {
	display: inline-block;
	width: 200px;
	font-weight: 400;
	font-size: 15px;
	padding: 10px;
	background: var(--first_color);
	border: 2px solid var(--second_color);
	color: #ffffff;
	text-transform: uppercase;
	text-align: center;
	transition: box-shadow 0.3s linear;
	-webkit-transition: box-shadow 0.3s linear;
	-moz-transition: box-shadow 0.3s linear;
	box-sizing: initial;
	
	transition: background 0.3s linear;
	-webkit-transition: background 0.3s linear;
	-moz-transition: background 0.3s linear;
	
	border-radius: 10px;
}

.btt_main_solid a {
	color: var(--fourth_color);
}

.section_title {
	font-family: 'Lobster', sans-serif;
	font-size: 38px;
	margin: 40px 0 40px;
	line-height: 35px;
	text-align: center;
	color: var(--first_light);
	text-shadow: 1px 1px 1px #000000;
}
@media screen and (min-width : 371px) and (max-width : 767px) {
	.section_title { margin: 75px 0 20px;}
}
@media screen and (min-width : 768px) {
	.section_title { font-size: 50px; line-height: 65px; margin: 75px 0 20px; }
}

.pg_title_box {
	color: var(--first_color);
	padding-bottom: 20px;
	margin: 30px 0;
	border-bottom: 3px solid var(--first_color);
}

	.pg_title {
		font-size: 30px;
		line-height: 36px;
		margin-bottom: 0px;
		text-align: center;
		text-transform: uppercase;
	}
	@media screen and (min-width : 933px) {
		.pg_title { font-size: 36px; }
	}
	
	.pg_text {
		text-align: center;
		margin: 15px 10px 30px;
		font-style: italic;
	}

		.pg_text a, #content a {
			color: var(--first_color);
		}

		.pg_text ul, #content ul {
			list-style: disc;
			margin-left: 40px;
		}

		.pg_text ol, #content ol {
			list-style: decimal;
			margin-left: 40px;
		}

		.pg_text p, #content p {
			display: block;
			margin: 1em 0;
		}

.pg_redirect {
	text-align: center;
	font-size: 18px;
	display: none;
}
	.pg_redirect .pg_redirect_num {
		color: var(--second_color);
		font-weight: 400;
	}


.page_top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	opacity: .7;
	z-index: 200;
	
	display: none;
}

.page_top:hover {
	opacity: 1;
}

/* lang container linear*/	
/*
.lang_container .choosen_lang {
	font-weight: 500;
}

.lang_container a {
	color: var(--first_text);
}

	.lang_container .lang_choice {
		display: block;
		margin-bottom: 5px;
	}
	.lang_container .lang_choice:last-child {
		margin-bottom: unset; 
	}
	@media screen and (min-width: 481px) {
		.lang_container .lang_choice { display: inline-block; padding: 0 13px; border-right: 1px solid var(--first_text); margin-bottom: unset; }
		.lang_container .lang_choice:first-child { padding-left: unset; }
		.lang_container .lang_choice:last-child { padding-right: unset; border-right: unset; margin-bottom: unset; }
	}
*/


/* lang container dropdown */

.lang_container {
	position: relative;
}

.lang_container a:hover  {
	text-decoration: none;
}
	
	.lang_menu_header, .open_dropdown_icon {
		cursor: pointer;
	}
	
		.open_dropdown_icon svg {
			margin-left: 10px;
			width: 10px;
		}

	.dropdown_lang_menu {
		display: none;
		padding: 10px;
		background-color: var(--fourth_color);
		border: 1px solid var(--second_color);
		position: absolute;
		max-width: 150px;
		margin-top: 7px;
		margin: 7px auto 0;
		top: 75px;
		transform: translate(0, -50%);
		right: 0;
		left: 0;
	}
	@media screen and (min-width : 993px) {
		.dropdown_lang_menu { transform: unset; top: unset; right: unset; left: unset; }
	}

		.dropdown_lang_menu .lang_choice {
			display: block;
			padding-top: 10px;
		}
		
		.dropdown_lang_menu .lang_choice:first-child {
			padding-top: unset;
		}
		
		.dropdown_lang_menu .lang_choice a {
			color: var(--first_text);
		}
		
			.flag_language {
				width: 25px;
				vertical-align: middle;
				margin-right: 10px;
			}
