/* font */
@font-face {
  font-family: 'Google Sans Flex';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local('Google Sans Flex Light'), local('GoogleSansFlex_24pt-Light'), url(fonts/GoogleSansFlex_24pt-Light.ttf) format('truetype');
}
@font-face {
  font-family: 'Google Sans Flex';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Google Sans Flex Regular'), local('GoogleSansFlex_24pt-Regular'), url(fonts/GoogleSansFlex_24pt-Regular.ttf) format('truetype');
}
@font-face {
	font-family: 'Google Sans Flex';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: local('Google Sans Flex SemiBold'), local('GoogleSansFlex_24pt-SemiBold'), url(fonts/GoogleSansFlex_24pt-SemiBold.ttf) format('truetype');
}
@font-face {
	font-family: 'Barlow Condensed';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: local('Barlow Condensed Regular'), local('BarlowCondensed-Regular'), url(fonts/BarlowCondensed-Regular.ttf) format('truetype');
}


body {
	width: 100%;
	text-align: left;
	font-family: 'Google Sans Flex', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: var(--first_color);
	background: var(--third_color);
	
	line-height: 24px;
	
	margin: 0;
}

* {
  box-sizing: border-box;
}

a:link {
  text-decoration: none;
}
a:visited {
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}
a:active {
  text-decoration: none;
}
h1 {
	font-weight: 600;
	text-transform: uppercase;
}

#container {
	width: 100%;
	
	margin: 0 auto;
}
				
	header {
		position: relative;
		width: 100%;
		height: auto;
	}
	
		#header_body {
			display: flex;
			flex-direction: row;
			justify-content: space-between;
			align-items: center;
			height: auto!important;
			height: 140px;
			min-height: 140px;
			padding: 0 30px;
			margin: 0 auto;
		}
		@media screen and (min-width : 1400px) {
			#header_body { width: 1200px; }
		}

			#logo {
				display: flex;
				align-items: center;
			}

				#logo img {
					width: 130px;
					filter: drop-shadow(0 0 45px rgba(255,255,255,0.75));
					display: block;
				}

				#logo .label {
					font-family: 'Barlow Condensed', sans-serif;
					font-size: 21px;
					font-weight: 400;
					text-transform: uppercase;
					display: none;
				}
				@media screen and (min-width : 768px) {
					#logo .label { display: block; }
				}

			#login_menu {
				display: flex;
				align-items: center;
				gap: 12px;
			}

				.login_item {
					position: relative;
				}

					.login_trigger {
						display: block;
						padding: 0;
						margin: 0;
						border: none;
						background: none;
						font-family: inherit;
						font-size: 14px;
						font-weight: 300;
						text-transform: uppercase;
						color: var(--first_color);
						cursor: pointer;
					}

					.login_trigger:hover {
						color: var(--second_color);
					}

				#login_icon {
					display: flex;
					align-items: center;
					margin-left: 2px;
				}

					#login_icon .fi {
						font-size: 35px;
						color: var(--second_color);
					}

					.login_submenu {
						position: absolute;
						top: calc(100% + 12px);
						left: 0;
						min-width: 200px;
						padding: 6px 0;
						background: var(--first_color);
						border-radius: 6px;
						opacity: 0;
						visibility: hidden;
						transform: translateY(-6px);
						transition: opacity .2s ease,
									transform .2s ease,
									visibility .2s ease;
						z-index: 100;
					}

						.login_submenu::before {
							content: "";
							position: absolute;
							top: -5px;
							left: 13px;
							width: 10px;
							height: 10px;
							background: var(--first_color);
							transform: rotate(45deg);
						}

						.login_submenu a {
							display: block;
							padding: 9px 15px;
							font-size: 13px;
							font-weight: 300;
							text-transform: uppercase;
							color: var(--third_color);
							text-decoration: none;
						}

						.login_submenu a:hover {
							background: rgba(0,0,0,.2);
						}

				@media screen and (min-width: 768px) {
					.login_item:hover > .login_submenu {
						opacity: 1;
						visibility: visible;
						transform: translateY(0);
					}
				}

				.login_submenu::after {
					content: "";
					position: absolute;
					left: 0;
					right: 0;
					top: -12px;
					height: 12px;
				}

				#login_menu .login_item.is-open > .login_submenu {
					opacity: 1;
					visibility: visible;
					transform: translateY(0);
				}

					#login_menu > .login_item:first-child > .login_submenu {
						left: 0;
						right: auto;
					}

					#login_menu > .login_item:nth-child(2) > .login_submenu {
						left: auto;
						right: 0;
						min-width: 200px;
						max-width: calc(100vw - 30px);
					}

					#login_menu > .login_item:nth-child(2) > .login_submenu::before {
						left: auto;
						right: 13px;
					}
			
	main {
		position: relative;
    	z-index: 1;
		width: 100%;
		height: auto;
	}
	
		#main_body {
			position:relative;
			margin: 0 auto;
			padding: 60px 30px;
		}
		@media screen and (min-width : 1400px) {
			#main_body { width: 1200px; }
		}

	#leaderboard {
		position: relative;
		width: 100%;
		height: auto;
	}

		.banner_leaderboard img {
			width: 100%;
		}
		
	footer {
		position: relative;
		width: 100%;
		height: auto;
	}
	
		#footer_body {
			position:relative;
			margin: 0 auto;
			display: flex;
			flex-direction: column;
			padding: 30px;
		}
		@media screen and (min-width : 768px) {
			#footer_body { flex-direction: row; padding: 60px 0 140px 0; }
		}
		@media screen and (min-width : 1200px) {
			#footer_body { width: 1200px; flex-direction: row; padding: 60px 0 140px 0; }
		}

			.menu_footer_col {
				width: 100%;
				padding: 30px 0;
				border-bottom: 1px solid rgba(255,255,255,0.2);
			}

			.menu_footer_col:last-child {
				border-bottom: none;
			}
			@media screen and (min-width : 768px) {
				.menu_footer_col { width: calc(100% / 3); padding: 0 30px; border-right: 1px solid rgba(255,255,255,0.2); border-bottom: none; }
				.menu_footer_col:last-child { border-right: none; }
			}

				.footer_title {
					margin-bottom: 30px;
					font-family: 'Barlow Condensed', sans-serif;
					font-size: 18px;
					font-weight: 400;
					color: var(--second_color);
					text-transform: uppercase;
				}

				.menu_footer_col ul {
					display: flex;
					flex-direction: column;
					row-gap: 10px;
				}

				.menu_footer_col a {
					color: var(--first_color);
					transition: color 0.3s ease;
				}

				.menu_footer_col a:hover {
					color: var(--second_color);
				}

					.btt_app {
						display: flex;
						column-gap: 20px;
						font-size: 30px;
					}
			
	.prenotaRapido {
		position: fixed;
		bottom: 0px;
		width: 100%;
		z-index: 2;
		background: var(--third_color);
		border-top: 1px solid rgba(255,255,255,0.2);
	}
	
		.prenotaRapido_body {
			display: flex;
			flex-direction: column;
		}
	
		@media screen and (min-width : 992px) {
			.prenotaRapido_body { flex-direction: row; }
		}
		
			.title_prenotaRapido {
				width: 100%;
				color: var(--first_color);
				background-color: var(--second_color);
				height: 60px;
				line-height: 60px;
				text-align: center;
			}
	
			@media screen and (min-width : 992px) {
				.title_prenotaRapido { width: 300px; height: 80px; line-height: 80px; }
			}
			
			#prenoRapido {
				width: 100%;
				flex-direction: column;
				row-gap: 25px;
				padding: 30px;
				display: none;
			}
	
			@media screen and (min-width : 992px) {
				#prenoRapido { width: calc(100% - 300px); display: flex; height: 80px; padding: 0 30px; flex-direction: row; align-items: center; justify-content: space-between; column-gap: 25px; }
			}
			
				#prenoRapido div {
					display: flex;
					align-items: center;
					width: 100%;
					margin-bottom: 20px;
				}
			
				#prenoRapido div:last-child {
					margin-bottom: 0;
				}
	
				@media screen and (min-width : 992px) {
					#prenoRapido div { width: 25%; margin-bottom: 0; }
				}
			
					#prenoRapido div .fi {
						font-size: 18px;
						color: var(--first_color);
						margin-right: 10px;
					}
			
				#prenoRapido select {
					width: 100%;
					border: 0;
					border-radius: 4px;
					background-color: rgba(255,255,255,0.2);
					font-family: 'Google Sans Flex', sans-serif;
					font-size: 16px;
					font-weight: 300;
					color: var(--first_color);
					padding: 12px 20px;
				}
	
				@media screen and (min-width : 992px) {
					#prenoRapido select { padding: 8px 20px; }
				}
			
				#prenoRapido select option {
					color: #000000;
				}

/* Stili testi e bottoni */
.btt_main_solid {
	display: inline-block;
	background-color: rgba(255,150,0,0.4);
	padding: 5px 40px;
	color: var(--first_color);
	font-family: 'Barlow Condensed', sans-serif;
	text-transform: uppercase;
	border-radius: 4px;
	transition: background-color 0.3s linear;
	cursor: pointer;
}

.btt_main_solid:hover {
	background-color: rgba(255,150,0,0.6);
}