/* font */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Nunito Regular'), local('Nunito-Regular'), url(fonts/Nunito-Regular.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Nunito Bold'), local('Nunito-Bold'), url(fonts/Nunito-Bold.ttf) format('truetype');
}
@font-face {
	font-family: 'Sofia Sans Extra Condensed';
	font-style: normal;
	font-weight: 200;
	font-display: swap;
	src: local('Sofia Sans Extra Condensed ExtraLight'), local('SofiaSansExtraCondensed-ExtraLight'), url(fonts/SofiaSansExtraCondensed-ExtraLight.ttf) format('truetype');
}
@font-face {
	font-family: 'Sofia Sans Extra Condensed';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: local('Sofia Sans Extra Condensed SemiBold'), local('SofiaSansExtraCondensed-SemiBold'), url(fonts/SofiaSansExtraCondensed-SemiBold.ttf) format('truetype');
}


body {
	width: 100%;
	text-align: left;
	font-family: 'Nunito', sans-serif;
	font-size: 16px;
	font-weight: 400;
	color: var(--first_color);
	background: var(--third_color);
	
	line-height: 20px;
	
	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: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
}
p { padding: 10px 0; }

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

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

			#contact_menu {
				display: flex;
				column-gap: 30px;
			}

				.btt_contact {
					display: flex;
					column-gap: 15px;
					align-items: center;
					color: var(--first_color);
				}

			#logo {
				width: 250px;
			}
	
			@media screen and (min-width : 992px) {
				#logo { position: absolute; top: 30px; left: 50%; transform: translateX(-125px); }
			}

			#social_menu {
				display: flex;
				align-items: center;
				column-gap: 15px;
			}

				#social_menu .label {
					display: none;
				}
	
				@media screen and (min-width : 992px) {
					#social_menu .label { display: block; }
				}

				.icon_cont {
					display: flex;
					column-gap: 15px;
				}
			
	main {
		position: relative;
		width: 100%;
		height: auto;
	}
	
		#main_body {
			position:relative;
			margin: 0 auto;
			padding: 60px 30px;
		}
	
		@media screen and (min-width : 992px) {
			#main_body { width: 1200px; }
		}
		
	#blog {
		position: relative;
		width: 100%;
		height: auto;
		background-color: rgba(219,217,218,0.3);
		box-shadow: inset 0px 5px 8px 0px rgba(0,0,0,0.2);
	}
	
		#blog_body {
			position:relative;
			margin: 0 auto;
			padding: 30px;
			display: flex;
			flex-direction: column;
			row-gap: 50px;
			align-items: center;
		}
	
		@media screen and (min-width : 992px) {
			#blog_body { width: 1200px; flex-direction: row; column-gap: 50px; }
		}

			.blog_img, .blog_img img {
				width: 100%;
				padding: 5px;
				border-radius: 8px;
				display: block;
				box-shadow: 0px 0px 6px 3px rgba(0,0,0,0.2);
			}
	
			@media screen and (min-width : 992px) {
				.blog_img, .blog_img img { width: 533px; }
			}

			.blog_data {
				display: flex;
				flex-direction: column;
				row-gap: 30px;
			}

				.blog_label {
					color: var(--second_color);
				}

				.blog_text {
					display: -webkit-box;
  					-webkit-line-clamp: 2;
  					-webkit-box-orient: vertical;
					max-height: 3em;
  					overflow: hidden;
				}

				.blog_btts {
					display: flex;
					flex-direction: column;
					row-gap: 30px;
				}
	
				@media screen and (min-width : 992px) {
					.blog_btts { flex-direction: row; column-gap: 30px; }
				}	

					.btt_blog {
						background-color: rgba(var(--second_rgb), 0.2);
						color: var(--first_color);
						text-transform: uppercase;
						letter-spacing: 1px;
						font-size: 14px;
						font-weight: 700;
						display: flex;
						align-items: center;
						column-gap: 13px;
						padding: 0 25px;
						border-radius: 6px;
						height: 40px;
						line-height: 40px;
						transition: background-color 0.3s ease;
					}	

					.btt_blog:hover {
						background-color: rgba(var(--second_rgb), 0.4);
					}

					.btt_blog .fi {
						font-size: 20px;
						color: var(--second_color);
						display: flex;
					}
		
	#info {
		position: relative;
		width: 100%;
		height: auto;
		background-color: var(--first_color);
		box-shadow: inset 0px 5px 8px 0px rgba(0,0,0,1);
	}
	
		#info_body {
			position:relative;
			margin: 0 auto;
			padding: 30px 30px;
			color: var(--third_color);
			display: flex;
			flex-direction: column;
		}
	
		@media screen and (min-width : 992px) {
			#info_body { width: 1200px; flex-direction: row; padding: 60px 0; }
		}

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

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

				.info_title {
					margin-bottom: 30px;
				}

				.info_col ul {
					margin-bottom: 30px;
					display: flex;
					flex-direction: column;
					row-gap: 15px;
				}

					.info_col li {
						display: flex;
						align-items: center;
					}

						.info_col li .fi {
							font-size: 25px;
							margin-right: 10px;
							color: rgba(255,255,255,0.5);
						}

				#info_contatti a {
					color: var(--second_color);
				}

				#info_contatti a:hover {
					text-decoration: underline;
				}

				#info_readmore {
					background-color: rgba(0,0,0,0.4);
					color: var(--third_color);
					text-transform: uppercase;
					letter-spacing: 1px;
					font-size: 14px;
					font-weight: 700;
					display: flex;
					align-items: center;
					justify-content: center;
					column-gap: 13px;
					border-radius: 6px;
					width: 200px;
					height: 40px;
					line-height: 40px;
					transition: background-color 0.3s ease;
					margin-top: 30px;
				}	

				#info_readmore:hover {
					background-color: rgba(0,0,0,0.6);
				}

				#info_readmore .fi {
					font-size: 20px;
					color: var(--second_color);
					display: flex;
				}

	#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 : 992px) {
			#footer_body { width: 1200px; flex-direction: row; padding: 60px 0; }
		}

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

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

				.footer_title {
					margin-bottom: 30px;
				}

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

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

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

				#credits, #legal {
					margin-top: 60px;
				}
			
	.prenotaRapido {
		display: none;
		position: fixed;
		bottom: 0px;
		width: 100%;
		z-index: 2;
		background: var(--third_color);
	}
	
		.prenotaRapido_body {
			display: flex;
			flex-direction: column;
		}
	
		@media screen and (min-width : 992px) {
			.prenotaRapido_body { flex-direction: row; }
		}
		
			.title_prenotaRapido {
				width: 100%;
				color: var(--fourth_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: var(--fourth_color);
					font-family: 'Quicksand', 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;
				}
		
.pg_title {
	margin-bottom: 60px;
}

strong {
	font-weight: 700;
}

.content a {
	color: var(--second_color);
	transition: color 0.3s linear;
	-webkit-transition: color 0.3s linear;
	-moz-transition: color 0.3s linear;
}

.content a:hover {
	color: var(--first_color);
}

.link {
	color: var(--second_color);
	transition: color 0.3s linear;
	-webkit-transition: color 0.3s linear;
	-moz-transition: color 0.3s linear;
}

.link:hover {
	color: var(--first_color);
}

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

.grey {
	color: var(--fourth_color);
}

.top {
	margin-top: 60px;
}

.content ul { list-style-type: square; list-style-position: inside; padding: 0; margin: 0; }
.content li { padding-left: 20px; }
.content .title { font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--second_color); }
.content .subtitle { font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.content img { vertical-align: middle; }