/*-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --*/
:root
{
	--primary:#ff6b00;
	--dark:#0f172a;
	--light:#f7f7f7;
	--lighted:#f6f0ec;
}
/*-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --*/
#wall_div
{
	position:fixed;
	left:0;
	top:0;
	width:100vw;
	height:100vh;

	background-size:cover;
	background-color:#fafafa;
	background-repeat:no-repeat;
	background-attachment:fixed;
	background-position:center center;
}
/*-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --*/
body > header
{
	width:100%;
	user-select:none;
	z-index:1;
}
body > header[fixed=true]
{
	position:fixed;
	left:0;
	top:0;

	transform:translateY(-100%);
	animation:kfm_head_fixed ease-in-out .8s forwards;
}
@keyframes kfm_head_fixed
{
	100%
	{
		transform:translateY(0);
	}
}

body > header > div
{
	flex-basis:100%;

	position:relative;
	display:flex;
	align-items:center;
	font-size:50%;
	z-index:1;
}

body > header > div > img
{
	align-self:center;
	margin:1vw;
	width:10%;
	transition:all .4s ease-in-out;
}
body > header[mobile=false][fixed=false] > div > img
{
	content:url(./media/logo-desk.png);
}
body > header[mobile=false][fixed=true] > div > img
{
	content:url(./media/logo-desk-fixed.png);
}
body > header[mobile=true][fixed=false] > div > img
{
	width:40%;
	content:url(./media/logo-mobile.png);
}
body > header[mobile=true][fixed=true] > div > img
{
	width:30%;
	content:url(./media/logo-mobile-fixed.png);
}

body > header[mobile=false] > div > nav
{
	margin-left:auto;

	position:relative;
	display:flex;
	justify-content:space-between;
	transition:all .4s ease-in-out;
}
body > header[mobile=false][fixed=true] > div > nav
{
	flex-grow:1;
}
body > header[mobile=true] > div > nav > *
{
	display:none;
}
body > header[mobile=true] > div > nav:before
{
	display:block;
	font-family:E_Ionicons;
	font-size:10em;
	content:'\f394';
}

body > header[mobile=false] > div > nav > div
{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	pointer-events:none;
}
body > header[mobile=false] > div > nav > div > div
{
	border-radius:20px;
	border:2px solid var(--primary);
	position:absolute;
	//background:rgba(0,0,0,.1);
	transition:all .5s cubic-bezier(.5,1,.1,1.2);
}
body > header[mobile=false] > div > nav > div > div[highlight=true]
{
	//background:rgba(255,255,255,.5);
}

body > header[mobile=false] > div > nav > span
{
	display:inline-flex;
	flex-direction:column;
	align-items:center;
	//height:fit-content;
}
body > header[mobile=false] > div > nav > span > a
{
	cursor:pointer;
}
body > header[mobile=false] > div > nav > span > div
{
	margin-bottom:-100vh;
	max-height:0vh;
	overflow:hidden;
	transition:all .5s ease-in-out;
}
body > header[mobile=false] > div > nav > span:hover > div
{
	max-height:100vh;
}
body > header[mobile=false] > div > nav > span > div > p
{
	margin:auto;
}
body > header[mobile=false] > div > nav > span > div > p > span
{
	display:block;
}

body > header > div > span
{
	margin:0 1em;
}
body > header[mobile=true] > div > span
{
	font-size:500%;
}
body > header > div > span > a
{
	cursor:pointer;
}
body > header > div > span > a:not(:last-of-type):after
{
	vertical-align:bottom;
	line-height:130%;
	content:' | ';
}
body > header[mobile=true] > div > span > a:not(:last-of-type):after
{
	line-height:120%;
}
/*-- ---------------------------------------------------------------------------------------------- Customs ----------------------------------------------------------------------------------------------------- --*/
body
{
	background:var(--lighted);
}
body > header[mobile=false][fixed=false]
{
	border-top:.4vw solid #000;
	transition:all .2s ease-in-out;
}
body > header[mobile=false][fixed=true]
{
	box-shadow:0vw .2vw .5vw #aaa;
	background:inherit;
}
body > header[mobile=true][fixed=true]
{
	background:inherit;
}
body > header[mobile=true] > div > nav
{
	order:1;
}
body > header[mobile=true] > div > nav:before
{
	border-radius:1em;
	padding:0 .5em;
	margin:.2em;
	background:#fff;
}
body > header[mobile=false][fixed=true] > div > nav
{
	margin:0 5vw;
}
body > header[mobile=true] > div > span
{
	margin-left:auto;
}
body > header[mobile=false] > div > nav > span > a
{
	padding:.3em 2em;
}
body > header[mobile=false] > div > nav > span > div
{
	text-align:center;
	background:rgba(80,80,80,.8);
	backdrop-filter:blur(10px);
	color:#fafafa;
}
body > header[mobile=false] > div > nav > span:hover > div
{
	border-radius:1vw 1vw 1vw 1vw;
	min-width:-webkit-fill-available;
	transform:translateY(.5vw);
}
body > header[mobile=false] > div > nav > span > div > p
{
}
body > header[mobile=false] > div > nav > span > div > p > span
{
	margin:.5em 0;
	padding:.1em .5em .5em .5em;
	cursor:pointer;
}
body > header[mobile=false] > div > nav > span > div > p > span:last-child
{
	padding:.1em .5em .1em .5em;
}
body > header[mobile=false] > div > nav > span > div > p > span:not(:last-child)
{
	border-bottom:1px solid #aaa;
}
body > header[mobile=false] > div > nav > span > div > p > span > a
{
	display:block;
}
body > header[mobile=false] > div > nav > span > div > p > span > a:hover
{
	background:rgba(160,160,160,.8);
}
/*-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --*/
body > main
{
}
/*-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --*/
body > footer
{
	position:relative;
	background-repeat:no-repeat;
}
body > footer[mobile=true]
{
	margin-top:initial;
	font-size:280%;
}

body > footer a
{
	text-decoration:none;
	cursor:pointer;
	color:inherit;
}

body > footer > .owner
{
	padding:1vw;
	text-align:left;
	letter-spacing:.2vw;
	font-size:50%;
	background:#1e2a38;
	color:#eee;
	backdrop-filter:blur(5px);
}
body > footer[mobile=true] > .owner
{
	margin:initial;
	font-size:70%;
	letter-spacing:initial;
	text-align:center;
}
body > footer > .owner > img
{
	display:block;
	width:12vw;
	object-fit:cover;
	object-position:bottom;
	content:url('./media/logo-bottom.png');
}
body > footer[mobile=true] > .owner > img
{
	margin:auto;
	width:15em;
}
body > footer > .owner > div
{
	flex-grow:1;

	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	gap:1vw;
	min-height:7vw;
	font-weight:100;
}
body > footer[mobile=true] > .owner > div
{
	justify-content:space-evenly;
	min-height:2em;
}
body > footer > .shinystat
{
	display:none;
}
body > footer > .shinystat img
{
	display:block;
	margin:1vw 0;
	width:12em;
}
body > footer[mobile=true] > .shinystat img
{
	width:100%;
}
body > footer > .powered
{
	display:flex;
	flex-wrap:wrap;
	justify-content:end;
	padding:1em;
	font-size:60%;
}
body > footer[mobile=true] > .powered
{
	justify-content:center;
	font-size:90%;
	background:#1e2a38;
	color:#f7f7f7;
	backdrop-filter:blur(5px);
}
body > footer[mobile=false] > .powered > span:not(:last-child):after
{
	content:' - ';
}
body > footer[mobile=true] > .powered > span:not(:last-child):after
{
	display:inline-block;
	content:'\00a0';
}
/*-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --*/
body > aside
{
	position:fixed;
	display:flex;
	flex-direction:column;
	left:0;
	top:0;
	width:100%;
	height:100%;
	font-size:250%;
	background:rgba(255,255,255,.8);
	z-index:1;

	transition:all .5s ease-in-out, box-shadow .5s .2s linear;
}
body > aside[show=false]
{
	transform:translateX(-100%);
}
body > aside[show=true]
{
	box-shadow:.5vw .2vw 10vw #000;
	transform:translateX(0%);
}

body > aside > nav
{
	margin:auto 0;

	display:flex;
	flex-direction:column;
	overflow:auto;
}

body > aside > nav > span
{
	display:block;
	margin:2vw 10vw 2vw 0;
	padding:2vh 2vw;
	letter-spacing:.1em;
	background:var(--dark);
	color:#fafafa;
}
body > aside > nav > span > a
{
	display:flex;
	justify-content:space-between;
}
body > aside > nav > span[show] > a:after
{
	display:block;
	margin:auto 0;
	padding:0 .1ex 0 .3ex;
	font-family:E_Ionicons;
	transform:scale(2.0);
	content:'\f487';

	transition:all .3s ease-in-out;
}
body > aside > nav > span[show=true] > a:after
{
	transform:scale(2.0) rotate(90deg);
}
body > aside > nav > span > div
{
	overflow:hidden;
	transition:all .8s ease-out;
}
body > aside > nav > span[show=false] > div
{
	max-height:0;
}
body > aside > nav > span[show=true] > div
{
	max-height:100vh;
}
body > aside > nav > span > div > p
{
	border-left:1px solid #ccc;
	margin:1em auto 0 auto;
}
body > aside > nav > span > div > p > span
{
	display:block;
	margin:.2em 0 .2em 1em;
}
body > aside > nav > span > div > p > span > a > br
{
	content:'';
}
body > aside > nav > span > div > p > span > a > br:before
{
	content:' ';
}

body > aside > nav > span > div > p > .show-all:before
{
	line-height:3em;
	text-underline-offset:.2em;
	text-decoration:underline;
	content:'Mostra tutto';
}
body > aside > nav > span > div > p > .show-all[lang=en]:before
{
	content:'Show all';
}

body > aside > a
{
	margin-top:auto;
	align-self:end;
}
body > aside > a:after
{
	margin-top:auto;
	align-self:end;

	border-radius:100% 0 0 0;
	display:inline-block;
	padding:0.2em .1em 0em .4em;
	font-family:E_Ionicons;
	font-size:300%;
	background:rgba(0,0,0,.2);
	color:#fff;
	content:'\f405';
}
/*-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --*/
.pitstop
{
	position:relative;
	height:50vw;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center center;
	background-color:#eee;
}
.pitstop[mobile=false]
{
	//margin-bottom:-12vw;
	//transform:translateY(-12vw);
}
.pitstop[mobile=true]
{
	height:60vh;
	//margin-bottom:-22vw;
	//transform:translateY(-22vw);
}
/*-- ---------------------------------------------------------------------------------------------- PitStop Customs --------------------------------------------------------------------------------------------- --*/
.pitstop[mobile=true]
{
	font-size:120%;
}
.psp_cnt > div:nth-of-type(2)[action=out] > span > div
{
	animation:kfm_psp_cnt_picture_span_div ease-in-out 1s forwards;
}
@keyframes kfm_psp_cnt_picture_span_div
{
	100%
	{
		background:none;
		backdrop-filter:none;
		transform:scale(1.2);
	}
}
.psp_cnt > div:nth-of-type(2) > span > div > div:nth-of-type(1)
{
}
.psp_cnt > div:nth-of-type(2) > span > div > div:nth-of-type(2)
{
}

.psp_cnt div[uri]
{
	color:#fff;
}
.psp_cnt div[uri] h1
{
	display:block;
	margin:1vw;
	padding:.5em 1em;
	text-align:center;
	font-size:120%;
	text-shadow:.1em .1em .2em #555;
	color:inherit;
}
.psp_cnt[mobile=true] div[uri] h1
{
	font-size:140%;
}
.psp_cnt div[uri] h2
{
	display:block;
	margin:1vw;
	padding:.5em 1em;
	text-align:center;
	font-size:90%;
	color:inherit;
}
.psp_cnt[mobile=true] div[uri] h2
{
	font-size:110%;
}
.psp_cnt div[uri] nav
{
	display:flex;
	flex-wrap:wrap;
	gap:1em;
	padding:.5em 0;
	font-size:80%;
}
.psp_cnt[mobile=true] div[uri] nav
{
	font-size:100%;
}
.psp_cnt div[uri] a
{
	border:2px solid transparent;
	border-radius:30px;
	padding:.1vw 2vw;
	margin:auto;
	text-decoration:none;
	background:var(--primary);
	color:#fafafa;
}
.psp_cnt[mobile=true] div[uri] a
{
	padding:.3em 1em;
}
.psp_cnt div[uri] a:nth-of-type(1)
{
	background:var(--primary);
	color:#fafafa;
}
.psp_cnt div[uri] a:nth-of-type(2)
{
	border-color:#fafafa;
	background:transparent;
}
.psp_cnt div[uri] a:nth-of-type(1):hover
{
	border-color:#fafafa;
	background:transparent;
}
.psp_cnt div[uri] a:nth-of-type(2):hover
{
	background:var(--primary);
}
/*-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --*/
.home > .hero
{
	padding:5vw;
	font-size:60%;
}
.home[mobile=true] > .hero
{
	font-size:250%;
}
.home > .hero > h1
{
	font-family:E_Inter;
	font-size:220%;
	font-weight:bold;
}
.home[mobile=true] > .hero > h1
{
	display:block;
	text-align:center;
}
.home > .hero > p
{
	font-family:E_Inter;
	font-size:100%;
}
.home[mobile=true] > .hero > p
{
	text-align:justify;
}

.home > .cards
{
	display:flex;
	justify-content:space-between;
	padding:4vw;
}
.home[mobile=true] > .cards
{
	flex-direction:column;
	font-size:280%;
}
.home > .cards > div
{
	border-radius:15px;
	aspect-ratio:1;
	padding:2vw;
	margin:1vw;
	text-align:center;
	background:#fff;
}
.home[mobile=true] > .cards > div
{
	background:initial;
}
.home > .cards > div > figure
{
	position:relative;
	margin:auto;
	background:inherit;
	margin-bottom:1.5em;
}
.home > .cards > div > figure:after
{
	position:absolute;
	display:flex;
	align-items:center;
	justify-content:center;
	aspect-ratio:1;
	left:50%;
	bottom:-1.2em;
	min-width:1.2em;
	border-radius:50%;
	font-family:E_Ionicons;
	font-size:280%;
	background:inherit;
	transform:translate(-50%, -50%);
}
.home[mobile=true] > .cards > div > figure:after
{
	background:var(--lighted);
}
.home > .cards > .tourists > figure:after
{
	content:'\f3a3';
}
.home > .cards > .local_guides > figure:after
{
	content:'\f2d8';
}
.home > .cards > .municipality > figure:after
{
	content:'\f14b';
}
.home > .cards > div > figure > div
{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	opacity:0;
	background:rgba(50,50,50,.3);
	transition:all .3s ease-in-out;
}
.home > .cards > div > figure > div:before
{
	position:absolute;
	left:50%;
	top:50%;
	font-family:E_Ionicons;
	font-size:500%;
	color:transparent;
	-webkit-text-stroke:1px #f8f8f8;
	filter:drop-shadow(1px 1px 3px #fff);
	content:'\f37d';
	transform:translate(-50%, -50%);
	transition:all .3s ease-in-out;
}
.home > .cards > div > figure:hover div
{
	opacity:1;
}
.home > .cards > div > figure:hover div:before
{
	opacity:1;
	transform:translate(-50%, -50%) scale(1.5);
}
.home > .cards > div > figure > img
{
	border-radius:15px;
	display:block;
	width:100%;
	aspect-ratio:1;
	object-fit:cover;
	object-position:top;
}
.home[mobile=true] > .cards > div > figure > img
{
	border-radius:12px;
}
.home > .cards > div > h2
{
	display:block;
}
.home[mobile=true] > .cards > div > h2
{
	font-size:150%;
}
.home > .cards > div > p
{
	display:block;
	margin:1em 0;
	font-size:90%;
}
.home[mobile=true] > .cards > div > p
{
	margin:0;
	font-size:110%;
}

.home > .itineraries
{
	display:flex;
	align-items:center;
	margin-bottom:3vw;
	font-size:60%;
	//background:#273042;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:50% 50%;
	background-image:url(./media/session/01/itineraries.jpg);
	color:#fff;
}
.home[mobile=true] > .itineraries
{
	flex-direction:column;
	font-size:200%;
}
.home > .itineraries > div
{
	display:flex;
	flex-wrap:wrap;
	padding:5vw;
}
.home[mobile=true] > .itineraries > div
{
	flex-direction:column;
	order:1;
	text-align:center;
}
.home > .itineraries > div > h2
{
	flex-basis:100%;

	font-family:E_Inter;
	font-size:270%;
}
.home > .itineraries > div > p
{
	flex-basis:100%;

	display:block;
	margin:1em 0;
	padding:1em 0;
	text-align:justify;
	font-family:E_Inter;
	font-size:135%;
}
.home > .itineraries > div > button
{
	border:2px solid transparent;
	border-radius:30px;
	margin:auto;
	padding:.5em 2em;
	background:var(--primary);
	color:#fafafa;
}
.home[mobile=true] > .itineraries > div > button
{
	margin:1em;
}
.home > .itineraries > div > button:nth-of-type(1)
{
	background:var(--primary);
	color:#fafafa;
}
.home > .itineraries > div > button:nth-of-type(2)
{
	border-color:#fafafa;
	background:transparent;
}
.home > .itineraries > div > button:nth-of-type(1):hover
{
	border-color:#fafafa;
	background:transparent;
}
.home > .itineraries > div > button:nth-of-type(2):hover
{
	background:var(--primary);
}
.home > .itineraries > figure
{
	flex-shrink:0;
	flex-basis:50%;

	display:block;
	border-radius:15px;
	height:42vw;
	margin:3vw 3vw -3vw 0;
	overflow:hidden;
	filter:drop-shadow(2px 4px 50px black);
}
.home[mobile=true] > .itineraries > figure
{
	border-radius:12px;
	margin:5vw;
	width:-webkit-fill-available;
	height:100vw;
}

.home > .partnership
{
	padding:5vw;
	font-size:60%;
}
.home[mobile=true] > .partnership
{
	font-size:250%;
}
.home > .partnership > h2
{
	font-family:E_Inter;
	font-size:210%;
	font-weight:bold;
}
.home[mobile=true] > .partnership > h2
{
	display:block;
	text-align:center;
}
.home > .partnership > p
{
	font-family:E_Inter;
	font-size:100%;
}
.home[mobile=true] > .partnership > p
{
	text-align:center;
}

.home > .network
{
	padding:5vw;
	font-size:60%;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:50% 60%;
	background-image:url(./media/session/01/network.jpg);
	color:#fff;
	text-shadow:.1em .1em .2em #555;
}
.home[mobile=true] > .network
{
	font-size:250%;
}
.home > .network > h2
{
	padding:.5em 0;
	font-family:E_Inter;
	font-size:220%;
	font-weight:bold;
}
.home[mobile=true] > .network > h2
{
	display:block;
	text-align:center;
}
.home > .network > p
{
	line-height:200%;
	font-family:E_Inter;
	font-size:100%;
}
.home[mobile=true] > .network > p
{
	line-height:initial;
	text-align:justify;
}

.home > .install
{
	padding:1em;
	text-align:center;
}
.home[mobile=true] > .install
{
	font-size:400%;
}
.home > .install > p
{
	border:2px solid #fafafa;
	padding:1em 1em;
	letter-spacing:.5vw;
	cursor:pointer;
	backdrop-filter:blur(5px);
	background:rgba(0,0,0,.7);
	color:#fff;
}
/*-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --*/
.discovery
{
	font-size:50%;
}
.discovery[mobile=true]
{
	font-size:250%;
}

/* Commom */
.discovery .controls
{
	display:flex;
	flex-wrap:wrap;
	gap:1vw;
}
.discovery[mobile=true] .controls
{
	flex-direction:column;
	justify-content:initial;
	gap:2vw;
}
.discovery .controls > button
{
	border-radius:30px;
	border:2px solid transparent;
	display:inline-block;
	padding:.1em 2em .2em 2em;
	margin:1vw;
	text-decoration:none;
	cursor:pointer;
	background:none;
}
.discovery .controls > .primary
{
	background:var(--primary);
	color:#fff;
}
.discovery .controls > .primary:hover
{
	border-color:#fff;
	background:var(--dark);
}
.discovery .controls > .secondary
{
	border-color:#fff;
	color:white;
}
.discovery .controls > .secondary:hover
{
	border-color:transparent;
	background:var(--primary);
}

/* Hero */
.discovery > .hero
{
	position:relative;
	padding:17vw 3vw;
	text-align:center;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center center;
	background-image:url(./media/session/02/hero.jpg);
}
.discovery > .hero > .overlay
{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.2);
}
.discovery > .hero > .content
{
	position:relative;
	margin:0 20vw;
	color:#fff;
}
.discovery[mobile=true] > .hero > .content
{
	margin:initial;
}
.discovery > .hero > .content > h1
{
	font-family:E_Inter;
	font-size:220%;
	font-weight:bold;
}
.discovery[mobile=true] > .hero > .content > h1
{
	font-size:140%;
}

/* Tourists */
.discovery > .tourists
{
	display:flex;
	flex-wrap:wrap;
	padding:5vw 2vw;
}
.discovery[mobile=true] > .tourists
{
	flex-direction:column;
}
.discovery > .tourists > h2
{
	flex-basis:100%;

	margin-bottom:1vw;
	//font-family:E_Inter;
	font-size:250%;
}
.discovery[mobile=true] > .tourists > h2
{
	text-align:center;
	line-height:110%;
	font-size:180%;
}
.discovery > .tourists > h2::first-letter
{
	font-size:180%;
	font-weight:300;
	text-decoration:underline;
	text-decoration-color:var(--primary);
	text-decoration-thickness:.05em;
	text-underline-offset:.1em;
}
.discovery > .tourists > img
{
	width:40%;
}
.discovery[mobile=true] > .tourists > img
{
	width:100%;
}
.discovery > .tourists > div
{
	flex-basis:60%;

	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:0 8vw;
	background:white;
}
.discovery > .tourists > div > p
{
	font-family:E_Inter;
	text-align:justify;
}

/* Local Guides */
.discovery > .local_guides
{
	display:flex;
	flex-wrap:wrap;
	padding:5vw 2vw;
}
.discovery[mobile=true] > .local_guides
{
	flex-direction:column;
}
.discovery > .local_guides > h2
{
	flex-basis:100%;

	margin-bottom:1vw;
	//font-family:E_Inter;
	font-size:250%;
}
.discovery[mobile=true] > .local_guides > h2
{
	text-align:center;
	line-height:110%;
	font-size:180%;
}
.discovery > .local_guides > h2::first-letter
{
	font-size:180%;
	font-weight:300;
	text-decoration:underline;
	text-decoration-color:var(--primary);
	text-decoration-thickness:.05em;
	text-underline-offset:.1em;
}
.discovery > .local_guides > img
{
	order:1;
	width:40%;
}
.discovery[mobile=true] > .local_guides > img
{
	order:0;
	width:100%;
}
.discovery > .local_guides > div
{
	flex-basis:60%;

	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:0 8vw;
	background:white;
}
.discovery > .local_guides > div > p
{
	font-family:E_Inter;
	text-align:justify;
}

/* Network */
.discovery > .network
{
	display:flex;
	flex-wrap:wrap;
	padding:5vw 2vw;
}
.discovery[mobile=true] > .network
{
	flex-direction:column;
}
.discovery > .network > h2
{
	flex-basis:100%;

	margin-bottom:1vw;
	//font-family:E_Inter;
	font-size:250%;
}
.discovery[mobile=true] > .network > h2
{
	text-align:center;
	line-height:110%;
	font-size:180%;
}
.discovery > .network > h2::first-letter
{
	font-size:180%;
	font-weight:300;
	text-decoration:underline;
	text-decoration-color:var(--primary);
	text-decoration-thickness:.05em;
	text-underline-offset:.1em;
}
.discovery > .network > img
{
	width:40%;
}
.discovery[mobile=true] > .network > img
{
	width:100%;
}
.discovery > .network > div
{
	flex-basis:60%;

	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:0 8vw;
	background:white;
}
.discovery > .network > div > p
{
	font-family:E_Inter;
	text-align:justify;
}
.discovery > .network > div > ul
{
	font-family:E_Inter;
	text-align:justify;
}
.discovery[mobile=true] > .network > div > ul
{
	margin:0;
	padding:0 1em;
	text-align:left;
}

/* Insights */
.discovery > .insights
{
	display:flex;
	flex-wrap:wrap;
	padding:5vw 2vw;
}
.discovery[mobile=true] > .insights
{
	flex-direction:column;
}
.discovery > .insights > h2
{
	flex-basis:100%;

	margin-bottom:1vw;
	//font-family:E_Inter;
	font-size:250%;
}
.discovery[mobile=true] > .insights > h2
{
	margin-bottom:.5em;
	text-align:center;
	line-height:110%;
	font-size:180%;
}
.discovery > .insights > h2::first-letter
{
	font-size:180%;
	font-weight:300;
	text-decoration:underline;
	text-decoration-color:var(--primary);
	text-decoration-thickness:.05em;
	text-underline-offset:.1em;
}
.discovery > .insights > img
{
	order:1;
	width:40%;
}
.discovery[mobile=true] > .insights > img
{
	order:0;
	width:100%;
}
.discovery > .insights > div
{
	flex-basis:60%;

	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:0 3vw;
	background:white;
}
.discovery > .insights > div > p
{
	font-family:E_Inter;
	text-align:justify;
}
.discovery > .insights > div > ul
{
	font-family:E_Inter;
	text-align:justify;
}
/*-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --*/
main > .itineraries
{
	font-size:50%;
}
main > .itineraries[mobile=true]
{
	font-size:220%;
}

main > .itineraries > h1
{
	margin:3vw 2vw 0vw 2vw;
	letter-spacing:.1vw;
	font-family:E_Poppins;
	font-size:220%;
	font-weight:bold;
}
main > .itineraries[mobile=true] > h1
{
	text-align:center;
	display:block;
}

main > .itineraries > section
{
	margin:5vw 2vw;
}

main > .itineraries > .map
{
	height:30vw;
}
main > .itineraries[mobile=true] > .map
{
	height:100vw;
}

/*-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --*/
.guide-header
{
	max-height:100vh;
	overflow:auto;
	font-size:60%;
}
.guide-header[mobile=true]
{
	font-size:250%;
}
.guide-header[show=false]
{
	transition:all .5s ease-in-out;
	max-height:0;
}
.guide-header[show=true]
{
	max-height:1000vh;
}

.guide-header > .hero
{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:space-evenly;
	padding:2vw;
	min-height:40vw;
	text-align:center;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center 45%;
	background-image:url(./media/session/04/hero.jpg);
	color:#fff;
}
.guide-header[mobile=true] > .hero
{
	gap:5vw;
}
.guide-header > .hero > .overlay
{
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	background:linear-gradient(rgba(30, 42, 56, 0.5), rgba(30, 42, 56, 0.5));
}
.guide-header > .hero > h2
{
	position:relative;
	display:block;
	text-align:center;
	letter-spacing:.1vw;
	font-family:E_Inter;
	font-size:220%;
	font-weight:bold;
	color:#fff;
}
.guide-header[mobile=true] > .hero > h2
{
	font-size:220%;
}
.guide-header > .hero > h1
{
	position:relative;
	display:block;
	text-align:center;
	letter-spacing:.1vw;
	font-family:E_Inter;
	font-size:140%;
	font-weight:bold;
	color:#fff;
}
.guide-header[mobile=true] > .hero > h1
{
	font-size:110%;
}
.guide-header > .hero > p
{
	position:relative;
	padding:5vw 15vw;
	font-size:95%;
}
.guide-header[mobile=true] > .hero > p
{
	padding:0;
	line-height:1.5;
	font-size:110%;
}
.guide-header > .hero > button
{
	position:relative;
	border-radius:6px;
	border:none;
	padding:1em 2em;
	cursor:pointer;
	font-size:15px;
	letter-spacing:.05vw;
	font-weight:bold;
	background:#c8a96a;
	color:#1e2a38;

	transition:.3s;
}
.guide-header[mobile=true] > .hero > button
{
	display:block;
}
.guide-header > .hero > button:hover
{
	background:#fafafa;
}

.guide-menu
{
	//border-bottom:1px solid #ccc;
	background-color:rgba(120,120,180,.7);
	backdrop-filter:blur(5px);
	color:#fafafa;
}

.guide-board
{
	background-color:rgba(120,120,180,.7);
	backdrop-filter:blur(5px);
	color:#fafafa;
}

.guide-content
{
	font-size:60%;
}
.guide-content[mobile=true]
{
	font-size:250%;
}
.guide-content[show=false]
{
	display:none;
}

.guide-content > .benefits
{
	padding:5vw 8vw;
	margin:auto;
}
.guide-content[mobile=true] > .benefits
{
	padding:5vw;
}
.guide-content > .benefits > h2
{
	display:block;
	margin-bottom:1em;
	text-align:left;
	letter-spacing:.1vw;
	font-family:E_Inter;
	font-size:150%;
	font-weight:bold;
}
.guide-content[mobile=true] > .benefits > h2
{
	text-align:center;
	font-size:120%;
}
.guide-content > .benefits > .cards
{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:3vw;
}
.guide-content[mobile=true] > .benefits > .cards
{
	grid-template-columns:1fr;
}
.guide-content > .benefits > .cards > div
{
	border-radius:10px;
	padding:2.5vw;
	cursor:pointer;
	box-shadow:0 8px 25px rgba(0, 0, 0, .05);
	background:#fff;

	transition:.3s;
}
.guide-content[mobile=true] > .benefits > .cards > div
{
	padding:10vw;
	line-height:1.5;
}
.guide-content > .benefits > .cards > div:hover
{
	transform:translateY(-.5vw);
}
.guide-content > .benefits > .cards > div > h3
{
	display:block;
	margin-bottom:1.54em;
	font-weight:bold;
}
.guide-content > .benefits > .cards > div > p
{
	font-size:15px;
	margin-bottom:20px;
}
.guide-content > .benefits > .cards > div > a
{
	text-decoration:none;
	color:var(--primary);
	font-weight:bold;
}

.guide-content > .insights
{
	padding:5vw 8vw;
	margin:auto;
}
.guide-content[mobile=true] > .insights
{
	padding:5vw;
}
.guide-content > .insights > h2
{
	display:block;
	margin-bottom:1em;
	text-align:left;
	letter-spacing:.1vw;
	font-family:E_Inter;
	font-size:150%;
	font-weight:bold;
}
.guide-content[mobile=true] > .insights > h2
{
	text-align:center;
	font-size:120%;
}
.guide-content > .insights > .cards
{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:3vw;
}
.guide-content[mobile=true] > .insights > .cards
{
	grid-template-columns:1fr;
}
.guide-content > .insights > .cards > div
{
	border-radius:10px;
	padding:2.5vw;
	cursor:pointer;
	box-shadow:0 8px 25px rgba(0, 0, 0, .05);
	background:#fff;

	transition:.3s;
}
.guide-content[mobile=true] > .insights > .cards > div
{
	padding:10vw;
	line-height:1.5;
}
.guide-content > .insights > .cards > div:hover
{
	transform:translateY(-.5vw);
}
.guide-content > .insights > .cards > div > h3
{
	display:block;
	margin-bottom:1.54em;
	font-weight:bold;
}
.guide-content > .insights > .cards > div > p
{
	font-size:15px;
	margin-bottom:20px;
}
.guide-content > .insights > .cards > div > a
{
	text-decoration:none;
	color:var(--primary);
	font-weight:bold;
}

.guide-profile > .welcome:not(:empty)
{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	flex-direction:column;
	justify-content:center;
	font-size:60%;
	text-align:center;
	min-height:50vw;
}
.guide-profile[mobile=true] > .welcome:not(:empty)
{
	min-height:100vh;
	font-size:250%;
}
/*-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --*/
.places
{
	font-size:60%;
}
.places[mobile=true]
{
	font-size:250%;
}

/* Commom */
.places .controls
{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:1vw;
}
.places[mobile=true] .controls
{
	flex-direction:column;
	justify-content:initial;
	gap:2vw;
}
.places .controls > button
{
	border-radius:30px;
	border:2px solid transparent;
	display:inline-block;
	padding:.1em 2em .2em 2em;
	margin:1vw;
	text-decoration:none;
	cursor:pointer;
	background:none;
}
.places .controls > .primary
{
	background:var(--primary);
	color:#fff;
}
.places .controls > .primary:hover
{
	border-color:#fff;
	background:var(--dark);
}
.places .controls > .secondary
{
	border-color:#fff;
	color:white;
}
.places .controls > .secondary:hover
{
	border-color:transparent;
	background:var(--primary);
}

/* Hero */
.places > .hero
{
	position:relative;
	padding:3vw;
	text-align:center;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center center;
	background-image:url(./media/session/05/hero-comune.jpg);
}
.places > .hero > .overlay
{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.2);
}
.places > .hero > .content
{
	position:relative;
	margin:0 20vw;
	color:#fff;
}
.places[mobile=true] > .hero > .content
{
	margin:initial;
}
.places > .hero > .content > h1
{
	font-family:E_Inter;
	font-size:220%;
	font-weight:bold;
}
.places[mobile=true] > .hero > .content > h1
{
	font-size:140%;
}

/* Advantages */
.places > .advantages
{
	padding:3vw;
	text-align:center;
}
.places > .advantages > h2
{
	margin-bottom:1vw;
	font-family:E_Inter;
	font-size:220%;
}
.places[mobile=true] > .advantages > h2
{
	font-size:180%;
}
.places > .advantages .cards
{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:3vw;
	max-width:80vw;
	margin:auto;
}
.places[mobile=true] > .advantages > .cards
{
	grid-template-columns:1fr;
	max-width:initial;
}
.places > .advantages > .cards > div
{
	border-radius:15px;
	padding:30px;
	font-size:100%;
	background:#fcfcfc;
}
.places > .advantages > .cards > div:before
{
	border-radius:50%;
	margin:0 1vw;
	vertical-align:middle;
	font-family:E_Ionicons;
	font-size:280%;
	background:inherit;
}
.places > .advantages > .cards > .visibility:before
{
	content:'\f203';
}
.places > .advantages > .cards > .itineraries:before
{
	content:'\f46d';
}
.places > .advantages > .cards > .network:before
{
	content:'\f47c';
}

/* Offer */
.places > .offer
{
	padding:5vw 2vw;
}
.places > .offer > .content
{
	display:flex;
	align-items:center;
	gap:3vw;
	margin:auto 10vw;
}
.places[mobile=true] > .offer > .content
{
	flex-direction:column;
	margin:auto;
}
.places > .offer > .content > .text > ul
{
	width:max-content;
}
.places > .offer > .content > .text > h2
{
	text-align:center;
}
.places > .offer > .content img
{
	border-radius:12px;
	width:100%;
}

/* Government */
.places > .government
{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	height:60vw;
	background-size:cover;
	background-repeat:no-repeat;
	background-attachment:fixed;
	background-position:center center;
	background-image:url(./media/session/05/cta-comune.jpg);
	color:#fff;
}
.places[mobile=true] > .government
{
	height:80vh;
	background-position:20% center;
}
.places > .government > .content
{
	position:relative;
}
.places > .government > .content > h2
{
	font-family:E_Inter;
	font-size:220%;
	text-shadow:.1em .1em .2em #555;
	color:inherit;
}
.places > .government > .content > p
{
	font-family:E_Inter;
	font-size:100%;
	text-shadow:.1em .1em .2em #555;
}

/* Steps */
.places > .steps
{
	padding:5vw 2vw;
	text-align:center;
}
.places > .steps > h2
{
	margin-bottom:1vw;
	font-family:E_Poppins;
	font-size:140%;
	color:inherit;
}
.places > .steps > .step-grid
{
	display:grid;
	grid-template-columns:repeat(6,1fr);
	padding:0 15vw;
	margin:auto;
	gap:2vw;
}
.places[mobile=true] > .steps > .step-grid
{
	grid-template-columns:1fr 1fr;
	padding:initial;
}
.places > .steps > .step-grid > div
{
	border-radius:10px;
	display:flex;
	align-items:center;
	justify-content:center;
	aspect-ratio:1;
	background:var(--primary);
	color:#fff;
}
.places[mobile=true] > .steps > .step-grid > div
{
	aspect-ratio:4/3;
	padding:1vw;
}

/* Final */
.places > .final
{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	height:60vw;
	text-align:center;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center center;
	background-image:url(./media/session/05/finale.jpg);
	color:#fff;
}
.places[mobile=true] > .final
{
	height:60vh;
}
.places > .final > .content
{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:1vw;
	margin:auto auto 19vw auto;
}
.places[mobile=true] > .final > .content
{
	margin:10vh auto auto auto;
}
.places > .final > .content > h2
{
	font-family:E_Inter;
	font-size:220%;
	text-shadow:.1em .1em .2em #555;
	color:inherit;
}
.places[mobile=true] > .final > .content > h2
{
	margin-bottom:8vh;
	font-size:180%;
}
/*-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --*/
.info_request
{
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:50%;
}
.info_request[mobile=true]
{
	font-size:220%;
}
.info_request > form
{
	border:1px solid #fafafa;
	display:flex;
	flex-direction:column;
	margin:0 35vw;
	color:#fafafa;
}
.info_request[mobile=true] > form
{
	border:none;
	margin:5vh 0vw;
}
.info_request > form > div
{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	padding:.5em 1em;
}
.info_request > form > div > span
{
}
.info_request > form > div > .check
{
	margin:.2em auto .2em 0;
}
.info_request > form > div > input[type=email], .info_request > form > div > input[type=tel] 
{
	width:-webkit-fill-available;
}
.info_request > form > div > textarea
{
	width:-webkit-fill-available;
}
.info_request > form > div .privacy_policy_div
{
	color:inherit;
}
.info_request > form > .policy
{
	flex-direction:column;
	font-size:90%;
	color:inherit;
}
.info_request > form > .ctrl
{
	justify-content:space-evenly;
}
.info_request > form > .ctrl > *
{
	border-radius:30px;
	border:2px solid #fafafa;
	display:inline-block;
	padding:.1em 2em .2em 2em;
	margin:1vw;
	text-decoration:none;
	cursor:pointer;
	background:none;
	color:#fafafa;
}
.info_request > form > .ctrl > *:hover
{
	background:var(--dark);
}
/*-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --*/
.contacts
{
	font-size:60%;
}
.contacts[mobile=true]
{
	font-size:250%;
}

.contacts > .hero
{
	position:relative;
	padding:18vw 2vw;
	text-align:center;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center 95%;
	background-image:url(./media/session/12/hero.jpg);
	color:#fff;
}
.contacts > .hero > .overlay
{
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	background:linear-gradient(rgba(30, 42, 56, 0.5), rgba(30, 42, 56, 0.5));
}
.contacts > .hero > h1
{
	position:relative;
	display:block;
	margin-bottom:.5em;
	text-align:center;
	letter-spacing:.1vw;
	font-family:E_Inter;
	font-size:220%;
	font-weight:bold;
	color:#fff;
}
.contacts[mobile=true] > .hero > h1
{
	font-size:280%;
}
.contacts > .hero > p
{
	position:relative;
	margin:auto;
	font-size:95%;
}
.contacts[mobile=true] > .hero > p
{
	line-height:1.5;
	font-size:130%;
}

.contacts > .profiles
{
	padding:5vw 14vw;
	margin:auto;
}
.contacts[mobile=true] > .profiles
{
	padding:5vw;
}
.contacts > .profiles > h2
{
	display:block;
	margin-bottom:1em;
	text-align:left;
	letter-spacing:.1vw;
	font-family:E_Inter;
	font-size:150%;
	font-weight:bold;
}
.contacts[mobile=true] > .profiles > h2
{
	text-align:center;
}
.contacts > .profiles > .cards
{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:3vw;
}
.contacts[mobile=true] > .profiles > .cards
{
	grid-template-columns:1fr;
}
.contacts > .profiles > .cards > div
{
	border-radius:10px;
	padding:2.5vw;
	cursor:pointer;
	box-shadow:0 8px 25px rgba(0, 0, 0, .05);
	background:#fff;

	transition:.3s;
}
.contacts[mobile=true] > .profiles > .cards > div
{
	padding:10vw;
	line-height:1.5;
}
.contacts > .profiles > .cards > div:hover
{
	transform:translateY(-.5vw);
}
.contacts > .profiles > .cards > div > h3
{
	display:block;
	margin-bottom:1.54em;
	font-weight:bold;
}
.contacts > .profiles > .cards > div > p
{
	font-size:15px;
	margin-bottom:20px;
}
.contacts > .profiles > .cards > div > a
{
	text-decoration:none;
	color:var(--primary);
	font-weight:bold;
}

.contacts > .request
{
	padding:5vw 24vw;
	background:#fff;
}
.contacts[mobile=true] > .request
{
	padding:5vw;
}
.contacts > .request > h2
{
	display:block;
	margin-bottom:1em;
	text-align:left;
	letter-spacing:.1vw;
	font-family:E_Inter;
	font-size:150%;
	font-weight:bold;
}
.contacts[mobile=true] > .request > h2
{
	text-align:center;
}
.contacts > .request > form
{
	font-family:E_Inter;
}
.contacts[mobile=true] > .request > form
{
	font-size:150%;
}
.contacts > .request > form > div
{
	margin-bottom:1.5vw;
}
.contacts > .request > form > div > label
{
	display:block;
	margin-bottom:.3em;
	font-size:70%;
}
.contacts > .request > form > div > input, .contacts > .request > form > div > select, .contacts > .request > form > div > textarea
{
	border:1px solid #ddd;
	border-radius:6px;
	width:100%;
	padding:1em;
	font-size:70%;
}
.contacts > .request > form > div > textarea
{
	resize:vertical;
	min-height:10em;
}
.contacts > .request > form > button
{
	border-radius:6px;
	border:none;
	padding:1em 2em;
	cursor:pointer;
	font-size:15px;
	background:#1e2a38;
	color:#fff;

	transition:.3s;
}
.contacts[mobile=true] > .request > form > button
{
	display:block;
	margin:auto;
}
.contacts > .request > form > button:hover
{
	background:#c8a96a;
	color:#1e2a38;
}

.contacts > .info
{
	display:flex;
	flex-wrap:wrap;
	gap:3vw;
	padding:3vw;
	background:#1e2a38;
	color:#fff;
}
.contacts[mobile=true] > .info
{
	flex-direction:column;
	gap:2vw;
}
.contacts > .info > h2
{
	margin-left:0;
	letter-spacing:.1vw;
	font-family:E_Inter;
	font-size:120%;
	font-weight:bold;
}
.contacts[mobile=true] > .info > h2
{
	margin:auto;
}
.contacts > .info > p
{
	font-size:70%;
}
.contacts[mobile=true] > .info > p
{
	margin:auto 0;
	font-size:80%;
}
.contacts[mobile=true] > .info > p:last-child
{
	margin:auto;
}
.contacts > .info > p > a
{
	text-decoration:none;
	color:inherit;
}
/*-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --*/
