/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
#wall_div
{
	position:fixed;
	left:0;
	top:0;
	width:100vw;
	height:100vh;

	background-size:cover;
	background-repeat:no-repeat;
	background-attachment:fixed;
	background-position:center center;
}

#wall_div > figure
{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	margin:0;

	background-size:cover;
	background-repeat:no-repeat;
	background-attachment:fixed;
	background-position:center center;
}
#wall_div > figure > img, #wall_div > figure > figcaption
{
	display:none;
}
#wall_div > span:nth-of-type(1)
{
	position:absolute;
	left:0;
	top:0;
	width:20%;
	height:100%;
	cursor:pointer;
	text-align:left;
	padding-left:4vh;
}
#wall_div > span:nth-of-type(1):before
{
	border-radius:50%;
	position:relative;
	display:inline-block;
	top:50%;
	padding:4vh 10vh;
	font-family:E_Ionicons;
	font-size:16vh;
	color:#fff;
	//background:rgba(255,255,255,.2);
	content:'\f3d2';

	transform:translateY(-50%);

	opacity:0;
}
#wall_div > span:nth-of-type(1):hover:before
{
	transition:all .2s cubic-bezier(.5,3,.5,1.5);
	transform:translateY(-50%) scale(1.2);
	background:rgba(255,255,255,.1);
	opacity:1;
}
#wall_div > span:nth-of-type(2)
{
	position:absolute;
	right:0;
	top:0;
	width:20%;
	height:100%;
	cursor:pointer;
	text-align:right;
	padding-right:4vh;
}
#wall_div > span:nth-of-type(2):before
{
	position:relative;
	border-radius:50%;
	display:inline-block;
	top:50%;
	padding:4vh 10vh;
	font-family:E_Ionicons;
	font-size:16vh;
	color:#fff;
	background:rgba(255,255,255,.2);
	content:'\f3d3';

	transform:translateY(-50%);

	opacity:0;
}
#wall_div > span:nth-of-type(2):hover:before
{
	transition:all .2s cubic-bezier(.5,3,.5,1.5);
	transform:translateY(-50%) scale(1.2);
	background:rgba(255,255,255,.1);
	opacity:1;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
body > header
{
	position:relative;
	z-index:1;
}
body > header[mobile=false]
{
	display:flex;
	flex-flow:row nowrap;
	justify-content:space-between;
	align-items:center;
}
body > header[fixed=true]
{
	position:fixed;
	left:0;
	top:0;
	width:100%;

	transform:translateY(-100%);
	animation:kfm_header_fixed ease-in-out 0.8s forwards;
}
@keyframes kfm_header_fixed
{
	100%
	{
		transform:translateY(0);
	}
}

body > header > figure
{
	border-bottom:.7vh solid transparent;
	margin:0;
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center center;

	background-color:rgba(255,255,255,.3);
	backdrop-filter:blur(5px);

	transition:all .8s ease-in-out;
}
body > header[mobile=false][fixed=false] > figure
{
	width:10vw;
	height:10vw;
	margin-left:5vw;
	background-image:url(./img/logo_small.png);
}
body > header[mobile=false][fixed=true] > figure
{
	border-bottom:.4vw solid transparent;
	width:6vw;
	height:6vw;
	margin-left:7vw;
	background-image:url(./img/logo_small.png);
}
body > header > figure > *
{
	display:none;
}
/*
body > header[mobile=true] > figure
{
	flex-grow:1;
	order:2;
}
body > header[mobile=true][fixed=false] > figure
{
	width:40vw;
	height:10vw;
	//background-image:url(./img/logo_small.png);
}
body > header[mobile=true][fixed=true] > figure
{
	width:40vw;
	height:10vw;
	background-image:url(./img/logo_top_small_chocolate.png);
}
*/

body > header > nav
{
	display:flex;
	flex-flow:row wrap;
	justify-content:center;
	align-items:center;
    letter-spacing:.18em;
	color:#fff;

	user-select:none;
}
body > header[mobile=false ][fixed=false] > nav
{
	background:rgba(100,100,100,.2);
	backdrop-filter:blur(5px);

	transition:all .8s ease-in-out;
}
body > header[mobile=false ][fixed=true] > nav
{
	flex-grow:1;
	align-self:start;
	background:rgba(100,100,100,.9);
}
body > header > nav > span
{
	display:flex;
	text-align:center;
	padding:0 1vw;
}
body > header > nav > span > a
{
	font-size:50%;
	cursor:pointer;

	transition:all .3s cubic-bezier(.5,.97,.53,1.32);
}
body > header > nav > span > a:hover
{
	color:#000;
	background:rgba(255,255,255,.7);
}
body > header > nav > span > a > div
{
	margin:0.3vw 0 0;
    padding:.2vw 1vw 0 1vw;
	font-size:90%;
}
body > header > nav > span[selected=true] > a > div
{
	border-top:.1vw solid #FFF;
}
/*-- --------------------------------------------------------------------------------- Mobile --------------------------------------------------------------------------------- --*/
body > header[mobile=true][fixed=true]
{
	//font-size:90%;
}
body > header[mobile=true]
{
	display:flex;
	flex-flow:row;
	justify-content:space-between;
	align-items:center;
	color:#f7f7f7;
}
body > header[mobile=true] > figure
{
	//flex-grow:1;
	//order:2;
}
body > header[mobile=true][fixed=false] > figure
{
	width:28vw;
	height:25vw;
	background-image:url(./img/logo_small.png);
}
body > header[mobile=true][fixed=true] > figure
{
	width:22vw;
	height:20vw;
	background-image:url(./img/logo_small.png);
}
body > header[mobile=true] > nav
{
	flex-shrink:1;
}

body > header[mobile=true] > nav > *
{
	display:none;
}
body > header[mobile=true] > nav
{
	display:block;
	padding:4vw;
	text-align:center;
}
body > header[mobile=true][fixed=true]
{
	color:#230f0a;
}
body > header[mobile=true] > nav:before
{
	display:block;
	line-height:60%;
	font-family:E_Ionicons;
	font-size:700%;
	//content:'\f394';
	//content:'\f130';
	//content:'\f13f';
	//content:'\f421';
	//content:'\f44f';
	//content:'\f453';
	content:'\f20e';
}
body > header[mobile=true] > nav:after
{
	display:block;
	font-size:150%;
	content:'Menu';
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
#foot_div
{
	border-top:.2vw solid #FFF;
	position:relative;
	display:flex;
	font-size:40%;
	background:rgba(255,255,255,.9);
}
#foot_div[mobile=true]
{
	font-size:200%;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
#side_div
{
	border:0px solid red;
	position:fixed;
	display:flex;
	flex-flow:column nowrap;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:rgba(255,255,255,.8);
	z-index:1;

	transition:all .5s ease-in-out, box-shadow .5s .2s linear;
}
#side_div[display=hide]
{
	transform:translateX(-100%);
}
#side_div[display=show]
{
	box-shadow:.5vw .2vw 10vw #000;
	transform:translateX(0%);
}

#side_div > section
{
	border:0px solid green;
	position:relative;
	flex-grow:1;
	display:flex;
	flex-flow:column nowrap;
	justify-content:center;
	overflow:hidden;
}
#side_div > section > nav
{
	display:block;
	margin:0;
	max-height:100%;
	overflow:scroll;
}
#side_div > section > nav > span
{
	display:block;
	margin:2vw 10vw 2vw 0;
	padding:1vh 2vw;
	letter-spacing:.1em;
	font-size:250%;
	background:#230f0a;
	color:#fafafa;
}
#side_div > section > nav > span > a
{
	display:flex;
    justify-content:space-between;
}
#side_div > section > nav > span[display=hide] > a:after, #side_div > section > nav > span[display=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;
}
#side_div > section > nav > span[display=show] > a:after
{
	transform:scale(2.0) rotate(90deg);
}
#side_div > section > nav > span > div
{
	overflow:hidden;
	transition:all .8s ease-out;
}
#side_div > section > nav > span[display=hide] > div
{
	max-height:0;
}
#side_div > section > nav > span[display=show] > div
{
	max-height:100vh;
}
#side_div > section > nav > span > div > p
{
	margin:1em auto 0 auto;
}
#side_div > section > nav > span > div > p > span
{
	display:block;
	margin:.2em 0 .2em 1em;
}

#side_div > div
{
	text-align:right;
}
#side_div > div > a:before
{
	border-radius:100% 0 0 0;
	display:inline-block;
	padding:0.2em .1em 0em .4em;
	font-family:E_Ionicons;
	font-size:600%;
	background:rgba(0,0,0,.2);
	color:#fff;
	content:'\f405';
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
#call_div[mobile=true]
{
	position:fixed;
	right:0;
	bottom:0;
	padding:2vw;

	transition:top .5s ease-in-out, transform .5s .5s ease-in-out;
}
#call_div[mobile=true][display=hide]
{
	transform:translateX(100%);
}
#call_div[mobile=true][display=show]
{
	transform:translateX(0);
}
#call_div[mobile=true] > a:before
{
	border:.5vw solid#fff;
	border-radius:50%;
	display:inline-block;
	padding:.2em .4em;
	text-decoration:none;
	font-family:E_Ionicons;
	font-size:500%;
	background:rgba(0,0,0,.2);
	color:#fff;
	content:'\f4b8';
	backdrop-filter:blur(5px);
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
.home_content
{
	position:relative;
}

.home_content > .icon
{
	display:table;
	margin:10vh auto;
	text-align:center;
}
.home_content > .icon:before
{
	border:1px solid #fff;
	border-radius:50%;
	padding:.1em .3em;
	cursor:pointer;
	font-family:E_Ionicons;
	font-size:170%;
	background:rgba(0,0,0,.2);
	color:#fff;
	content:'\f3d0';

	transition:background .3s cubic-bezier(.5,.97,.53,1.32);
}
.home_content[mobile=true] > .icon:before
{
	font-size:800%;
}
.home_content > .icon:hover:before
{
	background:rgba(255,255,255,.5);
}

.home_content > section
{
	display:flex;
	flex-direction:column;
}
.home_content > section > article
{
	border-radius:.5vw;
	margin:2vw 4vw;
	padding:4% 6%;
	font-size:100%;
	box-shadow:10px 10px 23px 0px rgba(0,0,0,.5);
	background:rgba(240,240,240,.8);
}
.home_content[mobile=true] > section > article
{
	margin:2vw;
	padding:4% 4%;
}
.home_content > section > article > h1
{
	padding:0vw 1vw 1vw 1vw;
	letter-spacing:.1vw;
	line-height:160%;
	font-family:E_Dejavu;
	font-weight:normal;
	font-size:140%;
	color:#fff;
	text-shadow:0px 0px 1vw #000;
}
.home_content[mobile=true] > section > article > h1
{
	padding:10vw 1vw 1vw 1vw;
	line-height:120%;
	font-size:300%;
}
.home_content > section > article > h2
{
	margin:2vw;
	letter-spacing:.2vw;
	line-height:180%;
	font-family:E_Dejavu;
	font-weight:normal;
	font-size:50%;
	color:#333;
}
.home_content[mobile=true] > section > article > h2
{
	line-height:140%;
	font-size:250%;
}

.home_content[mobile=false]
{
	font-size:100%;
	margin-top:57vh;
}
.home_content[mobile=true]
{
	font-size:100%;
	margin-top:65vh;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
.farmhouse_content
{
	position:relative;
}

.farmhouse_content > .title
{
	text-align:center;
	text-shadow:0px 0px 10px #000;
	letter-spacing:.4vw;
	line-height:140%;
	font-family:E_RalewayLight;
	font-size:160%;
	color:#fff;
	background:rgba(229,185,0,.8);
}
.farmhouse_content[mobile=true] > .title
{
	font-size:360%;
}

.farmhouse_content[mobile=false]
{
	margin:auto 12%;
	padding:12% 0 10% 0;
}
.farmhouse_content[mobile=true]
{
	margin:30vh 0 38vh 0;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
.cellar_content
{
	position:relative;
}

.cellar_content > .title
{
	text-align:center;
	text-shadow:0px 0px 10px #000;
	letter-spacing:.4vw;
	line-height:140%;
	font-family:E_RalewayLight;
	font-size:160%;
	color:#fff;
	background:rgba(86,13,13,.8);
}
.cellar_content[mobile=true] > .title
{
	font-size:360%;
}

.cellar_content > .icon
{
	display:table;
	margin:10vh auto;
	text-align:center;
}
.cellar_content > .icon:before
{
	border:1px solid #fff;
	border-radius:50%;
	padding:.1em .3em;
	cursor:pointer;
	font-family:E_Ionicons;
	font-size:170%;
	background:rgba(0,0,0,.2);
	color:#fff;
	content:'\f3d0';

	transform:;

	transition:background .3s cubic-bezier(.5,.97,.53,1.32);
}
.cellar_content[mobile=true] > .icon:before
{
	font-size:800%;
}
.cellar_content > .icon:hover:before
{
	background:rgba(255,255,255,.5);
}

.cellar_content > section
{
	display:flex;
	flex-direction:column;
}
.cellar_content > section > article
{
	border-radius:.5vw;
	margin:2vw 4vw;
	padding:4% 6%;
	font-size:100%;
	box-shadow:10px 10px 23px 0px rgba(0,0,0,.5);
	background:rgba(240,240,240,.8);
}
.cellar_content[mobile=true] > section > article
{
	margin:2vw;
	padding:4% 4%;
}
.cellar_content > section > article > h1
{
	padding:0vw 1vw 1vw 1vw;
	letter-spacing:.1vw;
	line-height:160%;
	font-family:E_Dejavu;
	font-weight:normal;
	font-size:140%;
	color:#fff;
	text-shadow:0px 0px 1vw #000;
}
.cellar_content[mobile=true] > section > article > h1
{
	line-height:120%;
	font-size:300%;
}
.cellar_content > section > article > h2
{
	margin:2vw 2vw 2vw 2vw;
	letter-spacing:.2vw;
	line-height:180%;
	font-family:E_Dejavu;
	font-weight:normal;
	font-size:50%;
	color:#333;
}
.cellar_content[mobile=true] > section > article > h2
{
	margin:16vw 2vw 2vw 2vw;
	line-height:140%;
	font-size:250%;
}

.cellar_content[mobile=false]
{
	margin:auto 12%;
	margin-top:27vh;
}
.cellar_content[mobile=true]
{
	margin:45vh auto 5vh auto;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
.architecture_content
{
	position:relative;
}

.architecture_content > .title
{
	text-align:center;
	text-shadow:0px 0px 10px #000;
	letter-spacing:.4vw;
	line-height:140%;
	font-family:E_RalewayLight;
	font-size:160%;
	color:#fff;
	background:rgba(255,255,255,.0);
}
.architecture_content[mobile=true] > .title
{
	font-size:360%;
}

.architecture_content > .icon
{
	display:table;
	margin:10vh auto;
	text-align:center;
}
.architecture_content > .icon:before
{
	border:1px solid #fff;
	border-radius:50%;
	padding:.1em .3em;
	cursor:pointer;
	font-family:E_Ionicons;
	font-size:170%;
	background:rgba(0,0,0,.2);
	color:#fff;
	content:'\f3d0';

	transform:;

	transition:background .3s cubic-bezier(.5,.97,.53,1.32);
}
.architecture_content[mobile=true] > .icon:before
{
	font-size:800%;
}
.architecture_content > .icon:hover:before
{
	background:rgba(255,255,255,.5);
}

.architecture_content > section
{
	display:flex;
	flex-direction:column;
}
.architecture_content > section > article
{
	border-radius:.5vw;
	margin:2vw 4vw;
	padding:4% 6%;
	font-size:100%;
	box-shadow:10px 10px 23px 0px rgba(0,0,0,.5);
	background:rgba(240,240,240,.8);
}
.architecture_content[mobile=true] > section > article
{
	margin:2vw;
	padding:4% 4%;
}
.architecture_content > section > article > h1
{
	padding:1vw 1vw 1vw 1vw;
	letter-spacing:.1vw;
	line-height:160%;
	font-family:E_Dejavu;
	font-weight:normal;
	font-size:140%;
	color:#fff;
	text-shadow:0px 0px 1vw #000;
}
.architecture_content[mobile=true] > section > article > h1
{
	line-height:120%;
	font-size:300%;
}
.architecture_content > section > article > h2
{
	margin:2vw 2vw 2vw 2vw;
	letter-spacing:.2vw;
	line-height:180%;
	font-family:E_Dejavu;
	font-weight:normal;
	font-size:50%;
	color:#333;
}
.architecture_content[mobile=true] > section > article > h2
{
	margin:16vw 2vw 2vw 2vw;
	line-height:140%;
	font-size:250%;
}

.architecture_content[mobile=false]
{
	margin:auto 12%;
	margin-top:37vh;
}
.architecture_content[mobile=true]
{
	margin-top:50vh;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
.contact_head_div, .contact_head_div_mobile
{
	border:0px solid red;
	position:relative;
	//margin-top:18%;
}
.contact_head_div > div, .contact_head_div_mobile > div
{
	font-size:50%;
}
.contact_head_div > div:nth-child(1)
{
	border-radius:0 1vw 1vw 0;
	position:relative;
	float:left;
	width:32%;
	background:rgba(255,255,255,.5);
}
.contact_head_div > div:nth-child(2)
{
	border-radius:1vw 0 0 1vw;
	position:relative;
	float:right;
	width:32%;
	background:rgba(255,255,255,.5);
}
.contact_head_div > div:nth-child(3)
{
	clear:both;
}
.contact_head_div > div:nth-child(4)
{
	border-radius:0 1vw 1vw 0;
	position:relative;
	float:left;
	background:rgba(255,255,255,.5);
}
.contact_head_div > div:nth-child(5)
{
	clear:both;
}
.contact_head_div > div:nth-child(6)
{
	border:1px solid #CCC;
	position:relative;
	margin:9% 4%;
	font-family:E_CenturyGothic;
	font-size:55%;
	background:rgba(100,100,100,.5);
}

.contact_head_div_mobile > div:nth-child(1), .contact_head_div_mobile > div:nth-child(2), .contact_head_div_mobile > div:nth-child(4)
{
	font-size:200%;
	background:rgba(255,255,255,.5);
}

.contact_head_div > div:nth-child(1), .contact_head_div_mobile > div:nth-child(1), .contact_head_div > div:nth-child(4), .contact_head_div_mobile > div:nth-child(4)
{
	padding:0 .5em;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
.justify
{
	text-align:justify;
	text-justify:distribute;
}
.justify:after
{
	content: "";
	display:inline-block;
	width:100%;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/
.blank_link
{
	cursor:pointer;
	text-decoration:none;
	color:inherit;
}
/*-- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/