@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Cormorant+Garamond:300,500,500i,600');

/* CSS Document */
/*------------------------------------------------------
CSS Created:	06/03/2020
CSS Author:		Alessandro Avallone
---------------------------------------------* GENERAL */

:root {
	--color-brown: #886c41;
}

html, body {
	padding:0;
	margin:0;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 500;
	font-style: normal;
	overflow: hidden;
}

a {
	text-decoration:none;
}

svg {
	fill: currentColor;
}

button:focus {
	outline:0;
}

div {
	box-sizing: border-box;
}

img {
	display: block;
	box-sizing: border-box;
}

.clearfix::before,
.clearfix::after {
	content:"";
	display:table;
	clear:both;
}

.desktop {
	display:none;
}

.mobile {
	display:none;
}

.wrapper {
	margin: 0 auto;
	position: relative;
}

.transition-fade {
	transition: 0.8s;	
}

html .transition-fade {
	opacity: 1;
}

html.is-animating .transition-fade {	
	opacity: 0.99;
} 

/*---------------------------------------------------------------------- */
/*---------------------------------------------* MENU */
/*---------------------------------------------------------------------- */

#menu {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 100;
	width: 100vw;
    height: calc(var(--vh, 1vh) * 100);
	display: flex;
	visibility: hidden;
}

#menu.is-active {
	visibility: visible;
}

#menu section {
	position: relative;
	opacity: 0;
	background-color: #2f2213;
	transition: all 0.4s ease-out;
}

#menu section:nth-of-type(1) {
	width: 66.66%;
	transform: translateX(-2vw);
}

#menu section:nth-of-type(2) {
	width: 33.33%;
	transform: translateX(2vw);
}

#menu.is-active section {
	opacity: 1;
}

#menu.is-active section {
	transform: translateX(0);
}

#menu #check {
	display: flex;
	align-items: center;
	position: absolute;
	left: 50%;
	bottom: 5vh;
	transform: translateX(-50%);	
	border: 1px solid rgba(255,255,255,0.40);
	background-color: transparent;
	text-align: center;
	padding: 20px;
}

#menu #check a {
	color: white;
}

#menu #check img, #menu #check span {
	display: inline-block;
	padding: 5px;
}

#menu #check span {
	text-transform: uppercase;
	color: white;
	font-size: 21px;
}

#menu #back {
	position: absolute;
	top: 5vw;
	left: calc(100% - 10vw);
	z-index: 10;
	cursor: pointer;
}

#menu nav {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
}

#menu nav ul {
    padding: 0;
    list-style: none;
    display: flex;
    flex-flow: row wrap;
    width: 100%;
}

#menu nav ul li {
	display: block;
    color: white;
    width: calc(33.33% - 10px);
    padding-bottom: 10vh;
    padding-left: 10px;
    border-left: 1px solid rgba(255,255,255,0.2);
    box-sizing: border-box;
    margin-bottom: 10vh;
	font-weight: 300;
}

#menu nav ul li.active {
    opacity: 0.6;
}

#menu nav ul li.not-active {
    opacity: 1.0;
}

#menu nav ul li a {
	color: white;
}

#menu figure {
	width: 100%;
	height: 100%;
	margin: 0;
}

#menu figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: bottom center;
}


/*---------------------------------------------------------------------- */
/*---------------------------------------------* HEADER */
/*---------------------------------------------------------------------- */

#header {

}

#header #logo {
	position: fixed;
	z-index: 10;	
	display: flex;
	align-items: flex-end;
}


#header #logo span {
	display: block;
	font-weight: 300;
	color: var(--color-brown);
	text-transform: uppercase;
}

#header #hamburger {
	position: fixed;
    top: 40px;
    left: calc(50vw - 80px);
    z-index: 10;
	cursor: pointer;
}

#header #hamburger span {
	display: block;
	width: 40px;
	height: 4px;
	background-color: var(--color-brown);
	margin: 4px 0;
}

#header #hamburger span:nth-of-type(1) { 
	transform: translateX(-5px);
}

#header #hamburger span:nth-of-type(2) { 
	transform: translateX(5px);
}

#header #check {
	position: fixed;
    top: 40px;
    left: calc(50vw - 140px);
    z-index: 10;
	cursor: pointer;
	color: var(--color-brown);
}

#header #check svg {
	height: auto;
    width: 30px;
}

#header #check svg path {
	fill: var(--color-brown);
}

/*---------------------------------------------------------------------- */
/*---------------------------------------------* CONTENT */
/*---------------------------------------------------------------------- */

#content {
    height: calc(var(--vh, 1vh) * 100);
}

#content main {
	display: flex;
	flex-flow: row nowrap;
	height: 100%;
}

#content main section {
	width: 50vw;
	height: 100%;
}

#content main section .cta {
	position: absolute;
	text-align: center;
	left: 50%;
	transform: translate(-50%);
}

#content main section .cta::after {
	content: "";
	position: absolute;
	bottom: -80px;
	width: 1px;
	height: 70px;
	left: 50%;
	transform: translateX(-50%);
	background-color: var(--color-brown);
}

#content main section .cta a,
#content main section .cta input[type="submit"] {
	font-size: 21px;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;	
	display: inline-block;
	padding: 20px 0;
	width: 200px;
	border: 1px solid var(--color-brown);
	color: var(--color-brown);
	background-color: transparent;
	cursor: pointer;
}

#content main section#left {
	opacity: 1;
	transform: translateY(0);
	transition: all 0.4s ease-in;
}

html.is-animating #content section#left {
	opacity: 0;
	transform: translateY(40px);
	transition: all 0.4s ease-in;
}


#content main section#left #copy::before {
	content: "";
	position: absolute;
	height: 4px;
	background-color: var(--color-brown);
}

#content main section#left #copy h1 {
	font-weight: 400;
	font-style: italic;
	margin: 0;
}

#content main section#left #copy h1 span {
	font-size: 60px;
	line-height: 0;
}

#content main section#left #copy p.text {
	opacity: 0.8;	
}

#content main section#left #copy p.little {
	font-size: smaller;
	line-height: 1;
}

#content main section#left #copy p.link {
	opacity: 1.0;
	position: relative;
	padding-left: 30px;
}

#content main section#left #copy p.link::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 2px;
	background-color: var(--color-brown);
}

#content main section#left #copy p.link.booking::before {
	width: 20px;
	height: 2px;
	background-color: var(--color-brown);
}

#content main section#left #copy p.link a {	
	color: black;
}

#content main section#right {
}

#content main section#right::after {
	content: "";
	position: absolute;
	z-index: 9;
	right: 0;
	top: 0;
	width: 100%;
	height: 200%;
	background-color: white;
	transform: scaleY(0);
	transform-origin: bottom center;
	transition: all 0.4s cubic-bezier(1,0,0,1);
}

#content main section#right #image {
	width: 100%;
	height: 100%;	
}

#content main section#right #image img {
	object-fit: cover;
	object-position: center;		
}

#content main section#right #image.fullHeight img {
	width: 100%;
  	height: 100%;
}

#content main section#right #image.grid  {
	display: flex;
	flex-flow: row wrap;		
}

#content main section#right #image.grid img:nth-of-type(1)  {
	padding-bottom: 4px;
}

#content main section#right #image.grid.grid-x3 img:nth-of-type(1),
#content main section#right #image.grid.grid-x2 img:nth-of-type(1), 
#content main section#right #image.grid.grid-x2 img:nth-of-type(2),
#content main section#right #image.grid.grid-x2 #map {
	width: 100%;
	height: 50%;
}

#content main section#right #image.grid.grid-x3 img:nth-of-type(2),
#content main section#right #image.grid.grid-x3 img:nth-of-type(3) {
	width: 50%;
	height: 50%;
}

#content main section#right #image.grid.grid-x3 img:nth-of-type(2) {
	padding-right: 2px;
}

#content main section#right #image.grid.grid-x3 img:nth-of-type(3) {
	padding-left: 2px;
}

#content main section#right #no-image {
	padding: 10vw;	
	height: 100%;
	background-color:rgba(0,0,0,0.05);
	display: flex;
	position: relative;
	align-items: center;
}

#content main section#right #no-image #form {
	display: block;
	width: 100%;
	height: 100%;
}

#content main section#right #no-image #form::before,
#content main section#right #no-image #form::after {
	content: "";
	display: table;
	clear: both;
}

#content main section#right #no-image #form input[type="text"], 
#content main section#right #no-image #form input[type="email"],
#content main section#right #no-image #form textarea {
	width: 100%;
	padding: 10px;
	box-sizing: border-box;
	font-family: 'Cormorant Garamond', serif;
	font-size: 21px;
	border: none;
	background-color: transparent;
}

#content main section#right #no-image #form input[type="text"], 
#content main section#right #no-image #form input[type="email"] {	
	border-bottom: 1px solid rgba(0,0,0,0.20);
}

#content main section#right #no-image #form textarea {
	height: 20vh;
	border: 1px solid rgba(0,0,0,0.20);
}

#content main section#right #no-image .label {
	font-style: italic;
	text-transform: capitalize;
}

html.is-animating #content section#right::after {
	transform: scaleY(1);
}

#content main section#right #gallery {
	display: none;
}

.fslightbox-container h1 {
	font-family: 'Cormorant Garamond', serif;
    font-size: 32px;	
	font-weight: 300;
}
