/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
body
{
	background-size:cover;
	background-repeat:no-repeat;
	background-attachment:fixed;
	background-position:center center;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
#wall_div
{
	border:0px solid red;
	position:fixed;
	left:0;
	top:0;
	width:100vw;
	height:100vh;

	background-size:cover;
	background-repeat:no-repeat;
	background-attachment:fixed;
	background-position:center center;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
#main_elm
{
	position:relative;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
#head_div
{
	position:relative;
	user-select:none;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
#head_div > header
{
	border:0px solid red;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
#head_div > section
{
	user-select:none;
	z-index:1;
}
#head_div[fixed=true] > section
{
	border:0px solid orange;
	position:fixed;
	left:0;
	top:0;
	width:100%;

	transform:translateY(-100%);
	animation:kfm_head_div_fixed ease-in-out 0.8s forwards;
}
@keyframes kfm_head_div_fixed
{
	100%
	{
		transform:translateY(0);
	}
}
#head_div[mobile=false] > section > div
{
	display:flex;
	flex-flow:row nowrap;
	justify-content:space-between;
	align-items:center;
}

#head_div > section > div > figure
{
	margin:0;
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center center;

	transition:all .8s ease-in-out;
}
#head_div[mobile=false][fixed=false] > section > div > figure
{
	width:20vw;
	height:5vw;
	background-image:url(./img/logo_small.png);
}
#head_div[mobile=false][fixed=true] > section > div > figure
{
	width:6vw;
	height:3vw;
	margin-left:1vw;
	background-image:url(./img/logo_small.png);
}
#head_div[mobile=true][fixed=false] > section > div > figure
{
	height:20vw;
	background-image:url(./img/logo_mobile.png);
}
#head_div[mobile=true][fixed=true] > section > div > figure
{
	display:none;
	//height:8vw;
	//background-image:url(./img/logo_mobile.png);
}
#head_div > section > div > figure > *
{
	display:none;
}

#head_div > section > div > nav
{
	position:relative;
	display:flex;
	flex-flow:row wrap;
	justify-content:center;
	align-items:center;
	z-index:1;

	transition:all .8s ease-in-out;
}
#head_div[fixed=true] > section > div > nav
{
	flex-grow:1;
}
#head_div > section > div > nav > div
{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	overflow:hidden;
}
#head_div > section > div > nav > div > div
{
	border:0px solid red;
	box-sizing:border-box;
	position:absolute;
	background:rgba(255,255,255,.3);
	transition:all .5s cubic-bezier(.5,1,.1,1.2);
}
#head_div > section > div > nav > span
{
	position:relative;
	text-align:center;
	cursor:pointer;
}
#head_div > section > div > nav > span > div
{
	position:absolute;
	left:0;
	right:0;
	top:100%;
	height:0;
	overflow:hidden;
}
#head_div > section > div > nav > span > div > p
{
	margin:auto;
	word-wrap:break-word;
    visibility:hidden;
    transform:translateY(-100%);

	transition:all .3s ease-in-out;
}
#head_div[mobile=false] > section > div > nav > span:hover > div
{
	height:auto;
}
#head_div[mobile=false] > section > div > nav > span:hover > div > p
{
	visibility:visible;
    transform:translateY(0%);
}

#head_div > section > div > nav > span > div > p > span
{
	display:block;
}

#head_div > div > selection
{
	display:block;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
#head_div > footer
{
	border:0px solid yellow;
	display:block;
}
/*-- -------------------------------------------------------------------------------- Customs --------------------------------------------------------------------------------- --*/
#head_div > header
{
	display:flex;
	justify-content:space-between;
	align-items:center;
	font-size:60%;
	color:#fff;
	background:rgba(0,0,0,.5);
}
#head_div[mobile=false] > header > aside
{
	padding:0 1em;
}
#head_div[mobile=true] > header > aside
{
    display:flex;
    width:100%;
	align-items:center;
    justify-content:space-evenly;
}
#head_div > header > aside > a
{
	text-decoration:none;
	cursor:pointer;
	color:inherit;
}
#head_div > header > aside > a:before
{
	padding:0 .2em;
	font-family:E_Ionicons;
	font-size:160%;
	color:#e9bf18;
}
#head_div > header > aside > .phone:before
{
	vertical-align:-0.14em;
	content:'\f4b8';
}
#head_div[mobile=false] > header > aside > .phone:after
{
	padding:0 .2em 0 1em;
	vertical-align:0.12em;
	content:'|';
}
#head_div > header > aside > .email:before
{
	vertical-align:-0.18em;
	font-size:200%;
	content:'\f3d9';
}
#head_div > header > aside > .it, #head_div > header > aside > .en
{
	letter-spacing:.2em;
}
#head_div[mobile=true] > header > aside > .it, #head_div[mobile=true] > header > aside > .en
{
	margin:0 .2em;
}
#head_div[mobile=false] > header > aside > .it:after
{
	padding:0 .5em 0 .5em;
	content:'|';
}
#head_div[mobile=true] > header
{
    flex-direction:column-reverse;
	font-size:200%;
}

#head_div > section > div
{
	//background:rgba(150,150,150,.8);
	background:#0078dc;
}
#head_div[fixed=true] > section > div
{
	background:#7f7f7f;
}
#head_div > section > div > nav > span
{
	padding:.5vw 1.6vw;
	text-transform:uppercase;
	letter-spacing:.1vw;
	font-size:50%;
	color:#fff;
}
#head_div[mobile=true] > section > div > nav > span
{
	padding:.5vw 1vw;
	letter-spacing:0vw;
	font-size:200%;
}
#head_div > section > div > nav > span > div > p > span
{
	padding:.5vw 0;
	font-size:85%;
}

#head_div[mobile=false] > section > div > nav > span:hover
{
	//background:rgba(233,191,24,.5);
}
#head_div[mobile=false] > section > div > nav > span > div > p > span:hover
{
	background:rgba(255,255,255,.5);
}

#head_div > section > div > nav
{
	//background:rgba(255,255,255,.1);
}
#head_div > section > div > nav > span > div > p
{
	//background:rgba(255,100,100,.4);
	background:#aaa;
}

#head_div > div > selection
{
	font-size:80%;
	color:#fff;
	background:rgba(0,0,0,.5);
}
#head_div[mobile=true] > div > selection
{
	font-size:200%;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
#foot_div
{
	position:relative;
}
#foot_div[mobile=true]
{
	position:relative;
	font-size:280%;
}

.b_m_div
{
	border:0px solid black;
	text-align:center;
	margin-bottom:5em;
	font-size:60%;
	color:#fff;
	//background:linear-gradient(to right, #5c8000, #73a100, #73a100, #5c8000);
	background:#0078dc;
}
.b_m_item
{
	display:inline-block;
	margin:.1em .5em;
	text-decoration:none;
	color:#fff;

	transition:all .2s cubic-bezier(.5,2.97,.53,1.32);
}
.b_m_item:hover
{
	color:#fffdbb;
}

.claw_div
{
	color:#fff;
	//background:linear-gradient(to right, #5c8000, #73a100, #73a100, #5c8000);
	background:#0078dc;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
#side_div
{
	border:0px solid red;
	position:fixed;
	left:0;
	top:0;
	width:100vw;
	height:100vh;
	overflow:auto;
	touch-action:none;
	background:rgba(255,255,255,.8);
	z-index:1;

	transition:all .5s ease-in-out, box-shadow .5s .2s linear;
}
.side_div, .hide
{
	transform:translateX(-100%);
}
.side_div, .show
{
	box-shadow:.5vw .2vw 10vw #000;
	transform:translateX(0%);
}

#side_div > div
{
	border:0px solid green;
	display:table;
	width:100%;
	height:100%;
}
#side_div > div > div
{
	display:table-row;
}
#side_div > div > div:nth-child(1) > nav
{
	display:table-cell;
	vertical-align:middle;
}
#side_div > div > div:nth-child(1) > nav > ul
{
	background:transparent;
}
#side_div > div > div:nth-child(1) > nav > ul > li
{
	//border-top:.2em solid #DDD;
	//border-bottom:.2em solid #DDD;
	display:block;
	margin:2vh auto;
	padding:1vh 2vw;
	font-size:250%;
	vertical-align:middle;
	background:#0078dc;
}
#side_div > div > div:nth-child(1) > nav > ul > li > span
{
	display:block;
	letter-spacing:.1em;
	color:#fafafa;
}

#side_div > div > div:nth-child(2)
{
	height:1%;
	text-align:right;
	vertical-align:bottom;
}
#side_div > div > div:nth-child(2):before
{
	border:0px solid green;
	border-radius:100% 0 0 0;
	display:inline-block;
	padding:.4em .3em .05em .6em;
	font-family:E_AwesomeSolid;
	font-size:400%;
	background:rgba(0,0,0,.5);
	color:#FFF;
	content:'\f00d';
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
.home_accomodation_div
{
	display:flex;
	flex-flow:row wrap;
	justify-content:center;
	align-items:center;
	margin:5vw auto;
}

.home_accomodation_div > div
{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    width:20vw;
    height:23vw;
    margin:auto;
    font-size:90%;
	cursor:pointer;
    overflow:hidden;
	text-align:center;

	user-select:none;
}
.home_accomodation_div[mobile=true] > div
{
    width:48vw;
    height:55vw;
    margin:4vw 1vw;
    font-size:200%;
}
.home_accomodation_div > div > div
{
}
.home_accomodation_div > div > div:nth-of-type(1)
{
	display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
	width:100%;
	min-height:2.5em;
	background:#99211e;
	color:#fff;
}
.home_accomodation_div > div > div:nth-of-type(2)
{
	flex-grow:1;
	width:100%;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center center;
	transition:all 1s ease-in-out;
}
.home_accomodation_div > div > div:nth-of-type(2) > img
{
	display:none;
	margin:auto;
	width:100%;
}
.home_accomodation_div > div > div:nth-of-type(3)
{
	display:flex;
	flex-flow:row wrap;
	justify-content:center;
	align-items:center;
	width:100%;
	background:#99211e;
	color:#fff;
}
.home_accomodation_div > div > div:nth-of-type(3) > *
{
	margin:auto;
}
.home_accomodation_div > div > div:nth-of-type(3) > span > a
{
	//padding:0 .5em;
	vertical-align:middle;
	font-family:E_Ionicons;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
.home_territory
{

}
.home_territory > .title
{
	padding:1vw 0;
	text-align:center;
	text-transform:capitalize;
	letter-spacing:.4vw;
	font-size:100%;
	background:#e9bf18;
	color:#fafafa;
}
.home_territory[mobile=true] > .title
{
	font-size:220%;
}

.home_territory > .scroll_div
{
	height:50vh;
	background-size:cover;
	background-repeat:no-repeat;
	background-attachment:fixed;
	background-position:center center;
	background-image:url(./img/session/01/02.jpg);
}

.home_territory > .actractions_div
{
	display:flex;
	flex-flow:row wrap;
	justify-content:center;
	align-items:center;
	width:100%;
}
.home_territory > .actractions_div > article
{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    width:15vw;
    height:20vw;
    margin:1.6vw .6vw;
    font-size:60%;
	cursor:pointer;
    overflow:hidden;
	text-align:center;

	user-select:none;
}
.home_territory[mobile=true] > .actractions_div > article
{
    width:48vw;
    height:60vw;
    margin:4vw 1vw;
    font-size:200%;
}
.home_territory > .actractions_div > article > h2
{
	margin:auto;
	width:100%;
	background:#0078dc;
	color:#fff;
}
.home_territory > .actractions_div > article > div
{
	flex-grow:1;
	width:100%;
    background-size:cover;
    background-repeat:no-repeat;
    background-position:center center;
    transition:all 1s ease-in-out;
}
.home_territory > .actractions_div > article > p
{
	display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
	margin:auto;
	width:100%;
	min-height:4em;
	font-size:90%;
	background:#0078dc;
	color:#fff;
}
.home_territory > .actractions_div > article > p > span
{
	overflow:hidden;
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
.home_reservation
{
    width:100%;
    text-align:center;
}
.home_reservation[mobile=true]
{
	font-size:240%;
}
.home_reservation h2
{
	display:block;
	font-size:120%;
	letter-spacing:.1em;
	margin:5vw auto;
	color:#0078dc;
}
.home_reservation button
{
	border:none;
    padding:.5em 2em;
	margin-bottom:5vw;
	font-size:100%;
	cursor:pointer;
	color:#fafafa;
	background:#e9bf18;

	transition:all .2s cubic-bezier(.5,2.97,.53,1.32);
}
.home_reservation[mobile=false] button:hover
{
	background:#0078dc;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
.territory_div
{
	font-size:70%;
	padding:8vw;
}
.territory_div[mobile=true]
{
	padding:1vw;
	font-size:180%;
}
.territory_div .scroll_div
{
	height:80vh;
	background-size:cover;
	background-repeat:no-repeat;
	background-attachment:fixed;
	background-position:center center;
	background-image:url(./img/session/03/01.jpg);
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
.service_div
{
	padding:5vw 0;
	text-align:center;
	font-size:70%;
}
.service_div[mobile=true]
{
	font-size:180%;
}
.service_div > article
{
	display:flex;
	flex-flow:row wrap;
	justify-content:space-between;
	align-items:center;
}
.service_div > article > figure
{
	background:rgba(0,0,0,.05);
}
.service_div > article > figure > img
{
	//filter:hue-rotate(90deg);
	filter:invert(75%);
}
.service_div > article > figure > figcaption
{
	padding:1vw 2vw;
	text-align:center;
	background:#e9bf18;
	color:#333;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/

/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
.conditions_div
{
	font-size:70%;
}
.conditions_div[mobile=true]
{
	font-size:180%;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/

/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/

/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/

/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
.contact_div
{
	border:0px solid red;
}
.contact_div > img
{
	border:0px solid cyan;
	float:right;
	width:40%;
}
.contact_div_mobile > img
{
	display:block;
	width:100%;
}
.contact_div > .top
{
	border:0px solid magenta;
	float:left;
	max-width:60%;
	padding-top:4%;
	overflow:hidden;
	font-size:70%;
}
.contact_div > .top, .contact_div_mobile > .top
{
	backdrop-filter:blur(5px);
	background:rgba(255,255,255,.7);
}
.contact_div_mobile > .top
{
	overflow:hidden;
	font-size:250%;
}
.contact_div > .top > a, .contact_div_mobile > .top > a
{
	border:0px solid orange;
	display:block;
	margin:1.2vw 0;
	padding-right:1vw;
	text-decoration:none;
	cursor:pointer;
	color:inherit;

	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none;

	transition:all .3s cubic-bezier(.5,1.5,.5,1);
}
.contact_div > .top > a:hover
{
	color:#fff;
	background:#0078dc;
}
.contact_div > .top > a:before, .contact_div_mobile > .top > a:before
{
	margin:0 .3em;
	vertical-align:-0.2em;
	font-family:E_Ionicons;
	font-size:200%;
}
.contact_div > .top > a:nth-child(1):before, .contact_div_mobile > .top > a:nth-child(1):before
{
	margin-right:.2em;
	content:'\f4ef';
}
.contact_div > .top > a:nth-child(2):before, .contact_div_mobile > .top > a:nth-child(2):before
{
	margin:0 .5em;
	content:'\f1fa';
}
.contact_div > .top > a:nth-child(3):before, .contact_div_mobile > .top > a:nth-child(3):before
{
	content:'\f422';
}
.contact_div > .top > a:nth-child(4):before, .contact_div_mobile > .top > a:nth-child(4):before
{
	margin-left:.4em;
	content:'\f455';
}

.contact_div_mobile > .top > a:nth-child(4):before
{
	margin-left:.5em;
}
.contact_div_mobile > .top > a:nth-child(4)
{
	font-size:77%;
}

.contact_div > .middle
{
	border:0px solid magenta;
}

.contact_div > .middle > div, .contact_div_mobile > .middle > div
{
	backdrop-filter:blur(5px);
	background:rgba(255,255,255,.7);
}
.contact_div > .middle > div:nth-child(1)
{
	border:0px solid brown;
	float:left;
	padding-left:1vw;
	white-space:pre-wrap;
	font-size:70%;
}
.contact_div_mobile > .middle > div:nth-child(1)
{
	white-space:pre-wrap;
	font-size:320%;
}

.contact_div > .middle > div:nth-child(2)
{
	border:0px solid cyan;
	float:right;
	max-width:40%;
	font-size:60%;
}
.contact_div_mobile > .middle > div:nth-child(2)
{
	font-size:250%;
}

.contact_div .field
{
	border-bottom:1px solid #17458f;
	display:table;
	width:100%;
}
.contact_div .field > div:nth-child(1)
{
	border:0px solid red;
	display:table-cell;
	vertical-align:middle;
	white-space:nowrap;
	width:10em;
	background:#EEE;
}
.contact_div_mobile .field > div:nth-child(1)
{
	background:#EEE;
}
.contact_div .field > div, .contact_div .field > input, .contact_div .field > textarea
{
	border:none;
	box-sizing:border-box;
	display:table-cell;
	padding:.1em;
	resize:none;
	width:100%;
	vertical-align:middle;
	font-family:inherit;
	font-size:inherit;
}
.contact_div_mobile .field > div, .contact_div_mobile .field > input, .contact_div_mobile .field > textarea
{
	border:none;
	box-sizing:border-box;
	display:block;
	padding:.1em;
	resize:none;
	width:100%;
	vertical-align:middle;
	font-family:inherit;
	font-size:inherit;
}
.contact_div_mobile .field > textarea
{
	border-bottom:1px solid #17458f;
}
.contact_div .field > input:focus, .contact_div .field > textarea:focus, .contact_div_mobile .field > input:focus, .contact_div_mobile .field > textarea:focus
{
	outline-width:0;
}
.contact_div .controls, .contact_div_mobile .controls
{
	text-align:center;
}
.contact_div .controls > input[type=submit], .contact_div_mobile .controls > input[type=submit]
{
	border:none;
	margin:2vw;
	padding:.2em 1em;
	cursor:pointer;
	letter-spacing:.1em;
	font-family:inherit;
	font-size:inherit;
	color:#FFF;
	background:#0078dc;
}

.gmap_div, .gmap_div_mobile
{
	border:0px solid dimgray;
	border-radius:.1vw;
	position:relative;
	margin:2.5% auto;
	width:95%;
	box-shadow:0vw 0vw 2vw #777;
	font-size:80%;
}
.gmap_div_mobile
{
	width:100%;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
.chk_unchecked, .chk_checked
{
	padding:1em 0;
	cursor:pointer;

	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	-o-user-select:none;
	user-select:none;
}
.chk_unchecked:before, .chk_checked:before
{
	vertical-align:bottom;
	font-family:E_AwesomeRegular;
	font-size:160%;
}
.chk_unchecked:before
{
	content:'\f111';
}
.chk_checked:before
{
	content:'\f058';
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
.clear
{
	clear:both;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
.justify
{
	text-align:justify;
	-moz-text-align-last:justify;
	text-align-last:justify;
}
.blank_link
{
	cursor:pointer;
	text-decoration:none;
	color:inherit;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/