/*  RESET browser defaults (Eric Meyer Global Reset)*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
}


/* remember to define focus styles! */

:focus {
    outline: 0;
}

ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}


/* tables still need 'cellspacing="0"' in the markup */

table {
    border-collapse: separate;
    border-spacing: 0;
}

caption,
th,
td {
    text-align: left;
    font-weight: normal;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
}

blockquote,
q {
    quotes: "" "";
}

a{
	text-decoration:none;
}

strong{
	font-family:Roboto-Medium !important;
}

/* END RESET browser defaults */


/* FONTS */

@font-face {
  font-family: "Roboto-Regular";
  src: url("fonts/Roboto/Roboto-Regular.eot");
  src: local("Roboto-Regular"),
    url("fonts/Roboto/Roboto-Regular.eot?#iefix") format("embedded-opentype"),
    url("fonts/Roboto/Roboto-Regular.woff2") format("woff2"),
    url("fonts/Roboto/Roboto-Regular.woff") format("woff"),
    url("fonts/Roboto/Roboto-Regular.ttf") format("truetype"),
    url("fonts/Roboto/Roboto-Regular.svg#Roboto-Regular") format("svg");
}

@font-face {
  font-family: "Roboto-Black";
  src: url("fonts/Roboto/Roboto-Black.eot");
  src: local("Roboto-Regular"),
    url("fonts/Roboto/Roboto-Black.eot?#iefix") format("embedded-opentype"),
    url("fonts/Roboto/Roboto-Black.woff2") format("woff2"),
    url("fonts/Roboto/Roboto-Black.woff") format("woff"),
    url("fonts/Roboto/Roboto-Black.ttf") format("truetype"),
    url("fonts/Roboto/Roboto-Black.svg#Roboto-Black") format("svg");
}

@font-face {
  font-family: "Roboto-Medium";
  src: url("fonts/Roboto/Roboto-Medium.eot");
  src: local("Roboto-Medium"),
    url("fonts/Roboto/Roboto-Medium.eot?#iefix") format("embedded-opentype"),
    url("fonts/Roboto/Roboto-Medium.woff2") format("woff2"),
    url("fonts/Roboto/Roboto-Medium.woff") format("woff"),
    url("fonts/Roboto/Roboto-Medium.ttf") format("truetype"),
    url("fonts/Roboto/Roboto-Medium.svg#Roboto-Medium") format("svg");
}

@font-face {
  font-family: "Roboto-Light";
  src: url("fonts/Roboto/Roboto-Light.eot");
  src: local("Roboto-Light"),
    url("fonts/Roboto/Roboto-Light.eot?#iefix") format("embedded-opentype"),
    url("fonts/Roboto/Roboto-Light.woff2") format("woff2"),
    url("fonts/Roboto/Roboto-Light.woff") format("woff"),
    url("fonts/Roboto/Roboto-Light.ttf") format("truetype"),
    url("fonts/Roboto/Roboto-Light.svg#Roboto-Light") format("svg");
}

@font-face {
  font-family: "Roboto-Bold";
  src: url("fonts/Roboto/Roboto-bold.ttf") format("truetype");
}

@font-face {
  font-family: "Roboto-Thin";
  src: url("fonts/Roboto/Roboto-Thin.eot");
  src: local("Roboto-Thin"),
    url("fonts/Roboto/Roboto-Thin.eot?#iefix") format("embedded-opentype"),
    url("fonts/Roboto/Roboto-Thin.woff2") format("woff2"),
    url("fonts/Roboto/Roboto-Thin.woff") format("woff"),
    url("fonts/Roboto/Roboto-Thin.ttf") format("truetype"),
    url("fonts/Roboto/Roboto-Thin.svg#Roboto-Thin") format("svg");
}

@font-face {
  font-family: "Prometo-Bold";
  src: url("fonts/Prometo/Prometo-Bold.eot");
  src: local("Prometo-Bold"),
    url("fonts/Prometo/Prometo-Bold.eot?#iefix") format("embedded-opentype"),
    url("fonts/Prometo/Prometo-Bold.woff2") format("woff2"),
    url("fonts/Prometo/Prometo-Bold.woff") format("woff"),
    url("fonts/Prometo/Prometo-Bold.ttf") format("truetype"),
    url("fonts/Prometo/Prometo-Bold.svg#Prometo-Bold") format("svg");
}

@font-face {
  font-family: "Prometo-Regular";
  src: url("fonts/Prometo/Prometo-Regular.eot");
  src: local("Prometo-Regular"),
    url("fonts/Prometo/Prometo-Regular.eot?#iefix") format("embedded-opentype"),
    url("fonts/Prometo/Prometo-Regular.woff2") format("woff2"),
    url("fonts/Prometo/Prometo-Regular.woff") format("woff"),
    url("fonts/Prometo/Prometo-Regular.ttf") format("truetype"),
    url("fonts/Prometo/Prometo-Regular.svg#Prometo-Regular") format("svg");
}

@font-face {
  font-family: "Prometo-Medium";
  src: url("fonts/Prometo/Prometo-Medium.eot");
  src: local("Prometo-Medium"),
    url("fonts/Prometo/Prometo-Medium.eot?#iefix") format("embedded-opentype"),
    url("fonts/Prometo/Prometo-Medium.woff2") format("woff2"),
    url("fonts/Prometo/Prometo-Medium.woff") format("woff"),
    url("fonts/Prometo/Prometo-Medium.ttf") format("truetype"),
    url("fonts/Prometo/Prometo-Medium.svg#Prometo-Medium") format("svg");
}

@font-face {
  font-family: "Prometo-Light";
  src: url("fonts/Prometo/Prometo-Light.eot");
  src: local("Prometo-Light"),
    url("fonts/Prometo/Prometo-Light.eot?#iefix") format("embedded-opentype"),
    url("fonts/Prometo/Prometo-Light.woff2") format("woff2"),
    url("fonts/Prometo/Prometo-Light.woff") format("woff"),
    url("fonts/Prometo/Prometo-Light.ttf") format("truetype"),
    url("fonts/Prometo/Prometo-Light.svg#Prometo-Light") format("svg");
}

@font-face {
  font-family: "Prometo-Thin";
  src: url("fonts/Prometo/Prometo-Thin.eot");
  src: local("Prometo-Thin"),
    url("fonts/Prometo/Prometo-Thin.eot?#iefix") format("embedded-opentype"),
    url("fonts/Prometo/Prometo-Thin.woff2") format("woff2"),
    url("fonts/Prometo/Prometo-Thin.woff") format("woff"),
    url("fonts/Prometo/Prometo-Thin.ttf") format("truetype"),
    url("fonts/Prometo/Prometo-Thin.svg#Prometo-Thin") format("svg"),
}

@font-face {
  font-family: 'Prometo-black';
  src: url('fonts/Prometo/prometo-black.otf') format('opentype');
}

@font-face {
  font-family: 'typewritter-medium';
  src: url('fonts/typewriter/itc-typewriter-medium.otf') format('opentype');
}

@font-face {
  font-family: 'typewritter-medium';
  src: url('fonts/typewriter/itc-typewriter-medium.otf') format('opentype');
}

@font-face {
  font-family: 'typewritter-bold-italic';
  src: url('fonts/typewriter/itc-typewriter-bold-Italic.otf') format('opentype');
}

@font-face {
  font-family: 'typewritter-medium-italic';
  src: url('fonts/typewriter/itc-typewriter-medium-italic.otf') format('opentype');
}

@font-face {
  font-family: "typewriter-bold";
  src: url("fonts/typewriter/itc-typewritter-bold.ttf") format("truetype");
}

@font-face {
    font-family: "Lato-Black";
    src: url("fonts/Lato/Lato-Black.ttf");
}

@font-face {
    font-family: "Lato-BlackItalic";
    src: url("fonts/Lato/Lato-BlackItalic.ttf");
}

@font-face {
    font-family: "Lato-Bold";
    src: url("fonts/Lato/Lato-Bold.ttf");
}

@font-face {
    font-family: "Lato-BoldItalic";
    src: url("fonts/Lato/Lato-BlackItalic.ttf");
}

@font-face {
    font-family: "Lato-Italic";
    src: url("fonts/Lato/Lato-Italic.ttf");
}

@font-face {
    font-family: "Lato-Light";
    src: url("fonts/Lato/Lato-Light.ttf");
}

@font-face {
    font-family: "Lato-LightItalic";
    src: url("fonts/Lato/Lato-LightItalic.ttf");
}

@font-face {
    font-family: "Lato-Regular";
    src: url("fonts/Lato/Lato-Regular.ttf");
}

@font-face {
    font-family: "Lato-Thin";
    src: url("fonts/Lato/Lato-Thin.ttf");
}

@font-face {
    font-family: "Lato-ThinItalic";
    src: url("fonts/Lato/Lato-ThinItalic.ttf");
}


/* GLOBAL */

p{
	line-height:1.5;
}

#okmsg {
    color: #c6a663;
    float: left;
    width: 100%;
    text-align: center;
    margin-top: 15px;
    font-family: typewritter-medium;
    font-size: 22px;
}

#errormsg {
    color: #bf1e2e;
    float: left;
    width: calc(100% - 42px);
    text-align: center;
    margin: 10px 16px;
    font-family: typewritter-medium;
    font-size: 19px;
	background: rgba(255, 255, 255, 0.6);
}

@media (max-width:1320px){
	#okmsg{
	    font-size: 20px;
        position: absolute;
		bottom:32.5%;
  
    }
}

@media (max-width:1150px){
	#okmsg{
	    font-size: 20px;
        position: absolute;
		bottom:31.5%;
  
    }
}

@media (max-width:768px){
	#okmsg{
	    font-size: 20px;
        position: absolute;
        bottom: 16.5%;
    }
}

@media (max-width:540px){
	#okmsg{
	    font-size: 15px;
        position: absolute;
        bottom: 13%;
		line-height:1;
    }
}

/* CUSTOM STYLE */

body {
    line-height: 1.5;
    font-family: typewritter-medium;
    font-size: 20px;
    background: #ffffff;
    position: relative;
    overflow-x: hidden;
	color:white;
}
html{
	font-family: typewritter-medium;
}

/* ==================================================
   SECTIONS
================================================== */

.section {
    float: left;
    width: 100%;
}

.section-container {
	position: relative;
	width: 90%;
    margin-left:5%;
    height:100%;	
}

/* ==================================================
   HEADER
================================================== */

#header{
	height:300px;
	position:relative;
	z-index:100;
	transition: all 0.3s ease;
}

#header.sticky {
    position: fixed;
	height:100px;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
	animation: slideDown 0.35s ease-out;
}

@keyframes slideDown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}

#header .headerbg{
	width:100%;
	height:300px;
	position:absolute;
	top:0;
}

#header.sticky .headerbg {
    width: 100%;
    height: 150px;
    position: absolute;
    top: 0;
}

#header a{
	font-family:typewritter-medium;
	color:white;
}

#header a.active{
    color:#EEB45E;
}

#header a:hover{
    color:#EEB45E;
}

#header .header-content{
	display: flex;
    align-items: center;
    justify-content: space-between;
	position:relative;
	top:77px;
}

#header.sticky .header-content {
	display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    top: 0;
	height:100%;
}

#header.sticky .header-content .logo {
    width: 200px;
}

#header .header-content .logo{
	width:276px;
}

#header .header-content .logo img{
	width: 100%;
}

#header .header-menu ul {
    display: flex;
    gap: 60px; 
}

#header .header-menu ul li {
    display: inline-block;
	letter-spacing: 1px;
}

#header .header-menu .language{
	display:flex;
	gap:10px;
}

#header .header-menu ul li a {
    
}

.reserve-btn{
	background:#EEB45E;
	padding:13px 15px 13px 15px;
	color: #414141 !important;
	letter-spacing:3px;
	transition: background 0.4s ease, color 0.4s ease;
}

.reserve-btn:hover{
	color:#EEB45E !important;
	background:#414141;
}

#header .header-content .burger{
	cursor: pointer;
	display: none;
}

#header .header-content .burger span {
    width: 30px;
    height: 3px;
    background: #EEB45E;
    transition: all 0.5s;
	z-index:100000;
}

#header .header-content .burger span:nth-child(1) {
    -webkit-transform-origin: 10px 1px;
    transform-origin: 10px 1px;
    top: 0px;
}

#header .header-content .burger span:nth-child(2) {
    top: 10px;
}

#header .header-content .burger span:nth-child(3) {
    -webkit-transform-origin: 10px 1px;
    transform-origin: 10px 1px;
    top: 20px;
}

#header .header-content .burger.open span:nth-child(1) {
    -webkit-transform: translateY(5px) rotate(45deg);
    transform: translateY(8px) rotate(45deg);
}

#header .header-content .burger.open span:nth-child(2) {
    -webkit-transition: opacity 0.3s linear, -webkit-transform 0.3s linear;
    transition: opacity 0.3s linear, -webkit-transform 0.3s linear;
    transition: transform 0.3s linear, opacity 0.3s linear;
    transition: transform 0.3s linear, opacity 0.3s linear,
        -webkit-transform 0.3s linear;
    -webkit-transform: translateX(-5px);
    transform: translateX(-5px);
    opacity: 0;
}

#header .header-content .burger.open span:nth-child(3) {
    -webkit-transform: translateY(-5px) rotate(-45deg);
    transform: translateY(-5px) rotate(-45deg);
}

#header .header-content .burger.open span {
    background: #EEB45E;
}

.burger-menu {
    position: fixed;
    right: 0;
    top: 0px;
    width: 0;
    height: 100%;
    background:rgba(34, 40, 49, 0.9);
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    padding-top: 140px;
    z-index: 110;
	overflow: hidden;
	backdrop-filter: blur(5px);
}

.burger-menu .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 25px;	
}

.burger-spacer{
	margin-bottom:30px;
}

.burger-menu .language{
	display: flex;
    justify-content: center;
    gap: 5px;
    align-items: center;
}

@media (max-width:1520px){
	#header{
        height: 260px;
	}
	
	#header .header-content{
		font-size:15px;
		top:68px;
	}
}


@media (max-width:1250px){
	#header {
        height: 150px;
    }
	
	#header .headerbg {
        height: 150px;
    }
     
    #header .header-content{
        font-size: 15px;
        top: 32px;
    }	 
	
	#header .header-content .logo{
        width: 200px;
    }
	
	#header .header-menu ul{
        gap: 40px;
    }
}

@media (max-width:1080px){
	#header .header-content .burger{
		display:flex;
		position:unset;
		flex-direction: column;
        gap: 7px;
	}
	
	#header .header-menu ul li{
        display:none;
    }
	
	#header .header-menu ul .language,
	#header .header-menu ul li:last-child{
		display:flex;
		align-items:center;
	}
	
	.burger-menu .language {
		display:none;
	}
	
	#buttonreserve{
		display:none;
	}
}

@media (max-width:768px){
	#header .header-menu{
		display:none;
	}
	
	.burger-menu .language {
		display:flex;
	}
	
	#buttonreserve{
		display:flex;
	}
}

/* ==================================================
   BANNER SECTION HOMEPAGE
================================================== */

.banner{
	position: relative;
    margin-top: -313px;
}

.banner .banner-container .banner-content{
	line-height:0;
}

.banner .banner-content img{
	width:100%;
}

#homepage-banner{

}

@media(max-width:1520px){
	.banner{
        margin-top: -260px;
    }
}

@media(max-width:1250px){
	.banner{
        margin-top: -150px;
    }
}

@media (max-width:768px){
	.banner{
        margin-top: -150px;
        overflow: hidden;
    }
	
	.banner #homepage-banner img{
    width: 768px;
    height: auto;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    }
}


/* ==================================================
   EXPERIENCE SECTION
================================================== */

#experience{
	overflow:hidden;
	background:#F8F1E5;
	position:relative;
	height:1000px;
}

#experience .container{
	
}

#experience .container .content{
	display: flex;
    justify-content: center;
}

#experience .container .content .watermark{ 
	position: absolute;
    z-index: 0;
    left: -228px;
    height: 900px;
    top: 50px;
}

#experience .container .content .letter-image{
	z-index: 0;
    position: relative;
    left: -75px;
    height: 800px;
    top: 100px;
}

#experience .container .content .letter{
	width: 817px;
    height: 541px;
    position: relative;
    top: 123px;
    display: flex;
    justify-content: center;
    align-items: center;
	z-index:1;
}

#experience #letter-design{
	position: absolute;
	width: 822px;
    left: -44px;
}

#experience #letter-pin{
	position: absolute;
	bottom: -41px;
    width: 150px;
}

#experience .container .content .letter p{
	z-index:1;
	color:#414141;
	font-size: 25px;
}

#experience .container .content .visual-scroll{
	display:flex;
	position:absolute;
	flex-direction:column;
	gap:15px;
	color:#414141;
	justify-content: center;
    align-items: center;
    bottom: -227px;
    left: 370px;
}

#experience .container .content .visual-scroll .bar{
	width:3px;
	height:95px;
	background:#414141;
}

@media (max-width:1420px){
	#experience {
        height: 800px;
    }
	
	#experience .container .content .watermark {
        left: -180px;
        height: 700px;
        top: 50px;
    }
	
	#experience .container .content .letter {
        width: 550px;
        height: 400px;
        top: 105px;
        left: -11px;
    }
	
	#experience #letter-design {
        width: 550px;
        left: -35px;
    }
	
	#experience #letter-pin {
        bottom: -19px;
        width: 110px;
    }
	
	#experience .container .content .letter p {
        font-size: 16px;
    }
	
	#experience .container .content .visual-scroll {
        bottom: -190px;
        left: 233px;
        font-size: 16px;
    }
	
	#experience .container .content .letter-image{
        left: -75px;
        height: 600px;
        top: 100px;
    }
}

@media (max-width:1100px){
	#experience{
        height: unset;
    }
	
	#experience .container .content {
        flex-direction: column-reverse;
		align-items: center;
        justify-content: center;
    }
	
	#experience .container .content .letter-image{
	    position:unset;
		margin-top:50px;
	}
	
	#experience .container .content .letter {
        width: 550px;
        height: 400px;
        top: 26px;
        left: -11px;
        margin-bottom: 267px;
    }
	
	#experience .container .content .visual-scroll {
        left: 246px;
    }
}

@media (max-width:620px){
	#experience .container .content .letter{
        width: 275px;
        height: 327px;
        top: 27px;
        left: 0px;
        margin-bottom: 267px;
    }
	
	#experience #letter-design {
        width: 400px;
        left: -88px;
    }
	
	#experience #letter-pin {
        bottom: -22px;
        width: 110px;
    }
	
	#experience .container .content .visual-scroll{
        left: 110px;
    }
	
	#experience .container .content .letter-image{
        height: 475px;
    }
}

@media (max-width:420px){
	#experience #letter-design {
        width: 350px;
        left: -58px;
    }
	
	#experience #letter-pin {
        bottom: 3px;
        width: 90px;
    }
}


/* ==================================================
   ARTISTIC SOUL SECTION
================================================== */

#artistic-soul{
	color:#414141;
}

#artistic-soul .container{
}

#artistic-soul .container .content{
	display: flex;
    flex-direction: column;
	gap: 100px;
}

#artistic-soul .container .content .top{
	width: 1525px;
    margin-left: calc((100% - 1525px) / 2);
    display: flex;
    justify-content: center;
    align-items: center;
	gap: 80px;
	margin-top: 90px;
}

#artistic-soul .container .content .top img{
	
}

#artistic-soul .container .content .top .text{
	display: flex;
    flex-direction: column;
    gap: 82px;
}

#artistic-soul .container .content .top .text .title{
	font-family:typewritter-bold-italic;
	font-size:59px;
	text-align:right;
	letter-spacing:5px;
}

#artistic-soul .container .content .top .text .description{
	text-align: right;
    font-size: 22px;
    letter-spacing: 2.5px;
}

#artistic-soul .container .content .bottom{
	display: flex;
    gap: 2%;
	border-bottom: 2vw solid white;
}

#artistic-soul .container .content .bottom .option{
	width: 32%;
	height: 31.75vw;
	display: flex;
    justify-content: center;
    align-items: center;
	position:relative;
	text-align: center;
}

#artistic-soul .container .content .bottom .option img {
    position: absolute;           
    width: 100%;
    height: 100%;
    object-fit: cover;           
    top: 0;
    left: 0;
    z-index: 1;
}

#artistic-soul .container .content .bottom .option::before {
    content: "";
    position: absolute;           
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(65, 65, 65, 0.76); 
    z-index: 2;
}


#artistic-soul .container .content .bottom .option .title{
	z-index: 3;
	color:#FFFFFF;
	font-size: 30px;
	position:relative;
}

#artistic-soul .container .content .bottom .option .title::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -5px;                           
    transform: translateX(-50%) scaleX(0);  
    transform-origin: center;              
    width: 100%;
    height: 2px;
    background-color: white;                
    transition: transform 0.3s ease;        
}

#artistic-soul .container .content .bottom .option:hover .title::after {
    transform: translateX(-50%) scaleX(1);  
}

@media (max-width:1600px){
	#artistic-soul .container .content .top {
        width: 1125px;
        margin-left: calc((100% - 1125px) / 2);
        margin-top: 90px;
    }
	
	#artistic-soul .container .content .top img {
        width: 380px;
    }
	
	#artistic-soul .container .content .top .text .title {
        font-size: 37px;
    }
	
	#artistic-soul .container .content .top .text .description {
        font-size: 18px;
    }
}

@media (max-width:1200px){
	#artistic-soul .container .content .top{
        width: 80%;
        margin-left: 10%;
        margin-top: 90px;
        flex-direction: column-reverse;
    }
	
	#artistic-soul .container .content .top .text .title {
        font-size: 37px;
		text-align:center;
    }
	
	#artistic-soul .container .content .top .text .description {
        font-size: 18px;
		text-align:center;
    }
	
	#artistic-soul .container .content .bottom .option .title {
        font-size: 20px;
    }
}

@media (max-width:768px){
	#artistic-soul .container .content .bottom {
        display: flex;
        gap: unset;
        flex-wrap: wrap;
        justify-content: center;
		border-bottom:unset;
		margin-bottom: 90px;
    }
	
	#artistic-soul .container .content .bottom .option{
    width: 300px;
    height: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    text-align: center;
	border:15px solid white;
    }
}

@media (max-width:650px){
	#artistic-soul .container .content .top .text .title {
        font-size: 30px;
		text-align:center;
    }
	
	#artistic-soul .container .content .top .text .description {
        font-size: 16px;
		text-align:center;
    }
}

@media (max-width:440px){
	#artistic-soul .container .content .top .text .title {
        font-size: 25px;
		text-align:center;
    }
	
	#artistic-soul .container .content .top img{
        width: 320px;  
	}
}

/* ==================================================
   POEM SECTION
================================================== */

.poem{
	background:url(../images/poem-bg.png);
	padding:150px 0px;
	background-repeat: no-repeat;
    background-size: cover;
}

.poem .content{
	color:#414141;
	text-align:center;
	display:flex;
	flex-direction:column;
	gap:50px;
}

.poem .content .title{
	font-family: typewritter-bold-italic;
	font-size:59px;
	letter-spacing:5px;
	
}

.poem.content .description{
	font-size:25px;
}

@media (max-width:1250px){
	.poem .content .title {
        font-size: 37px;
    }
	
	.poem .content .description {
        font-size: 20px;
    }
}

@media (max-width:820px){
	.poem {
        padding: 100px 0px;
    }
	
	.poem .content .title {
        font-size: 37px;
    }
	
	.poem .content .description {
        font-size: 20px;
    }
}

@media (max-width:820px){
	.poem {
        padding: 100px 0px;
    }
	
	.poem .content .title {
        font-size: 25px;
		width:90%;
		margin-left:5%;
    }
	
	.poem .content .description {
        font-size: 16px;
    }
}

/* ==================================================
   GASTRONOMY LETTER PAGE
================================================== */

.categories{
	
}

.categories .categories-container{
	
}

.categories .categories-container .content{
    padding-top: 15vw;
    margin-bottom: -5vw;
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    max-width: 90%;
    margin: auto;
}

.category-tile {
    position: relative;
    overflow: hidden;
	height:30vw;
	display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    text-align: center;
}

.category-tile::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(65, 65, 65, 0.76);
    z-index: 2;
}

.category-tile a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    color: white;
    text-decoration: none;
}

.category-tile img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
}

.category-tile span {
    z-index: 3;
    color: #FFFFFF;
    font-size: 1.6vw;
    position: relative;
	
}

.category-tile span::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -5px;
    transform: translateX(-50%) scaleX(0);
    transform-origin: center;
    width: 100%;
    height: 2px;
    background-color: white;
    transition: transform 0.3s ease;
}

.category-tile:hover.category-tile span::after{
    transform: translateX(-50%) scaleX(1);
}

.category-tile:nth-child(3n+2) { 
    top:calc(-30vw/2);
}

.category-tile:not(:nth-child(3n+2)) { 
    
}

.category-tile:last-child:nth-child(3n+1) {
    grid-column: 2 / span 1;
	top:calc(-30vw/2);
}

@media (max-width:768px){
	.category-grid {
        grid-template-columns: repeat(2, 1fr);
    }
	
	.category-tile:nth-child(3n+2) {
        top: unset;
    }
	
	.category-tile:last-child:nth-child(3n+1) {
        grid-column: unset;
        top: unset;
    }
	
	.categories .categories-container .content {
        padding: 50px 0;
		margin-bottom:unset;
    }
	
	.category-tile{
        height: 44.4vw;
    }
}


/* GASTRONOMY PAGE BANNER */

.banner-gastronomy{
	overflow:hidden;
	position:relative;
	height: 1050px;
    margin-top: -300px;
}

.banner-gastronomy .container{
	
}

.banner-gastronomy .container .content{
	display: flex;
    justify-content: center;
	position: relative;
    top: 190px;
}

.banner-gastronomy .container .content .watermark{ 
	position: absolute;
    z-index: 0;
    left: -228px;
    height: 900px;
    top: -50px;
}

.banner-gastronomy .container .content .letter-image{
	z-index: 0;
    position: relative;
    left: -75px;
    height: 800px;
    top: 100px;
}

.banner-gastronomy .container .content .letter{
	width: 817px;
    height: 541px;
    position: relative;
    top: 123px;
    display: flex;
    justify-content: center;
    align-items: center;
	z-index:1;
}

.banner-gastronomy #letter-design{
	position: absolute;
	width: 822px;
    left: -44px;
}

.banner-gastronomy #letter-pin{
	position: absolute;
	bottom: -41px;
    width: 150px;
}

.banner-gastronomy .container .content .letter p{
	z-index:1;
	color:#414141;
	font-size: 23px;
	width: 65%;
    text-align: center;
    line-height: 2;
	letter-spacing:2px;
	position: relative;
    top: -40px;
}

.feather{
    position: absolute;
    right: 5vw;
    width: 40vw;
    bottom: -15vw;
    z-index: 1;
}

.banner-gastronomy .container .content .visual-scroll{
	display:flex;
	position:absolute;
	flex-direction:column;
	gap:15px;
	color:#414141;
	justify-content: center;
    align-items: center;
    bottom: -227px;
    left: 370px;
}

.banner-gastronomy .container .content .visual-scroll .bar{
	width:3px;
	height:95px;
	background:#414141;
}

@media (max-width:1050px){
	.feather {
        bottom: -16vw;
    }
	
	.banner-gastronomy {
        height: 900px;
    }
	
	.banner-gastronomy .container .content .watermark {
        left: -180px;
        height: 700px;
        top: unset;
    }
	
	.banner-gastronomy .container .content .letter {
        width: 550px;
        height: 400px;
        top: 105px;
        left: -11px;
    }
	
	.banner-gastronomy #letter-design {
        width: 550px;
        left: -35px;
    }
	
	.banner-gastronomy #letter-pin {
        bottom: -19px;
        width: 110px;
    }
	
	.banner-gastronomy .container .content .letter p {
        font-size: 16px;
    }
	
	.banner-gastronomy .container .content .letter-image{
        left: -75px;
        height: 600px;
        top: 100px;
    }
}

@media (max-width:768px){
	.feather {
        bottom: -269px;
        width: 320px;
        left: calc((100% - 320px) / 2);
    }
	
	.category-tile span {
        font-size: 16px;
    }
}

@media (max-width:620px){
	.banner-gastronomy{
        height: 800px;
    }
	
	.banner-gastronomy .container .content .letter{
        width: 320px;
        height: 327px;
        left: 0px;
    }
	
	.banner-gastronomy .container .content .letter p {
        font-size: 12px;
		z-index: 1;
        color: #414141;
        width: 90%;
        text-align: center;
        line-height: 2;
        letter-spacing: 2px;
        position: relative;
        top: -15px;
    }
	
	.banner-gastronomy #letter-design {
        width: 400px;
        left: -60px;
    }
	
	.banner-gastronomy #letter-pin {
        bottom: -22px;
        width: 110px;
    }
	
	.banner-gastronomy .container .content .visual-scroll{
        left: 110px;
    }
	
	.banner-gastronomy .container .content .letter-image{
        height: 475px;
    }
}


@media (max-width:440px){
	.banner-gastronomy {
        height: 920px;
    }
	
	.banner-gastronomy .container .content .letter {
        width: 320px;
        height: 432px;
        left: 0px;
    }
	
	.category-grid {
        grid-template-columns: repeat(1, 1fr);
    }
	
	.category-tile {
        height: 90vw;
    }
	
	.banner-gastronomy #letter-design {
        width: 440px;
        left: -59px;
        rotate: 90deg;
    }
	
	.banner-gastronomy #letter-pin {
        bottom: -41px;
        width: 90px;
    }
	
	.feather {
        bottom: -269px;
        width: 320px;
        left: calc((100% - 320px) / 2);
    }
	
	.banner-gastronomy .container .content .letter p{
        font-size: 10px;
        width: 85%;
    }
	
	.banner-gastronomy .container .content .letter p {
        font-size: 12px;
        width: 71%;
		top:17px;
    }
}


/* ==================================================
   PRODUCT VIEW PAGE
================================================== */


.banner-letter{
	overflow:hidden;
	background:#F8F1E5;
	position:relative;
	height:1050px;
	margin-top: -300px;
}

.banner-letter .container{
	
}

.banner-letter .container .content{
	display: flex;
    justify-content: center;
	position: relative;
    top: 190px;
	gap: 50px;
}

.banner-letter .container .content .category-title{
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 50px;
    top: 200px;
    position: relative;
}

.banner-letter .container .content .category-title p{
	font-size:60px;
	color:#414141;
	font-family:typewriter-bold;
	letter-spacing:5px;
}

.banner-letter .container .content .watermark{ 
	position: absolute;
    z-index: 0;
    left: -197px;
    height: 900px;
    top: -42px;
}

.banner-letter .container .content .letter-image{
	z-index: 0;
    position: relative;
    left: -75px;
    height: 800px;
    top: 100px;
}

.banner-letter .container .content .letter{
	width: 817px;
    height: 541px;
    position: relative;
    top: 123px;
    display: flex;
    justify-content: center;
    align-items: center;
	z-index:1;
}

#letter-design{
	position: absolute;
	width: 822px;
    left: -44px;
}

#letter-pin{
	position: absolute;
	bottom: -41px;
    width: 150px;
}

.banner-letter .container .content .letter p{
	z-index:1;
	color:#414141;
	font-size: 25px;
	letter-spacing:3px;
}

.visual-scroll {
    display: flex;
    flex-direction: column;
    gap: 15px;
    color: #414141;
    justify-content: center;
    align-items: center;
	overflow: hidden;
}

.bar {
    width: 3px;
    height: 95px;
    background: #414141;
    transform-origin: top;
    animation: expandThenSlide 3s infinite cubic-bezier(0.42, 0, 0.22, 0.99);
}

@keyframes expandThenSlide {
  0% {
    transform: scaleY(0) translateY(0);
  }
  50% {
    transform: scaleY(1) translateY(0);
  }
  100% {
    transform: scaleY(1) translateY(100%);
  }
}


@media (max-width:1420px){
	.banner-letter {
        height: 800px;
    }
	
	.banner-letter .container .content .watermark {
        left: -180px;
        height: 700px;
        top: 50px;
    }
	
	.banner-letter .container .content .letter {
        width: 550px;
        height: 400px;
        top: 105px;
        left: -11px;
    }
	
	#letter-design {
        width: 550px;
        left: -35px;
    }
	
	#letter-pin {
        bottom: -19px;
        width: 110px;
    }
	
	.banner-letter .container .content .letter p {
        font-size: 16px;
    }
	
	.banner-letter .container .content .visual-scroll {
        bottom: -190px;
        left: 233px;
        font-size: 16px;
    }
	
	.banner-letter .container .content .category-title p{
        font-size: 45px;
    }
}

@media (max-width:1100px){
	.banner-letter{
        height: unset;
		padding-bottom:450px;
    }
	
	.banner-letter .container .content {
        flex-direction: column;
		align-items: center;
        justify-content: center;
		display: flex;
        position: relative;
        top: 250px;
        gap: 50px;
    }
	
	.banner-letter .container .content .letter{
        width: 550px;
        height: 400px;
        top: 100px;
        left: -11px;
        margin-bottom: unset;
        order: 1;
    }
	
	.banner-letter .container .content .visual-scroll {
        left: 246px;
    }
	
	.banner-letter .container .content .category-title {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 50px;
        top: 100px;
        position: relative;
        order: 1;
    }
}

@media (max-width:620px){
	.banner-letter {
        padding-bottom: 300px;
    }
	
	.banner-letter .container .content .letter{
		top:0;
	}
	
	.banner-letter .container .content .letter p {
        font-size: 12px;
    }
	
	.banner-letter #letter-design {
        width: 350px;
        left: 90px;
    }
	
	.banner-letter #letter-pin {
        bottom: 48px;
        width: 90px;
    }
	
	.banner-letter .container .content .category-title p {
        font-size: 30px;
    }
}

/* PRODUCT */

.product-section{
	background:white;
}

.product-section .product-container{
	
}

.product-section .product-container .content{
	color:#414141;
	padding:100px 0;
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 75px;
}

.product-section .product-container .content .products {
	display:flex;
	flex-direction:column;
	gap:100px;
}

.product-section .product-container .content .products .product{
	display:flex;
	flex-direction:column;
	gap:25px;
	align-items: center;
    justify-content: center;
}

.product-section .product-container .content .products .product .title{
	font-size:30px;
	font-family:typewriter-bold;
	letter-spacing:2px;
	width: 80%;
    text-align: center;
}

.product-section .product-container .content .products .product .subtitle{
	font-size:20px;
	font-family:typewritter-medium-italic;
	letter-spacing:2px;
	width: 80%;
    text-align: center;
}

.phrase{
	font-size: 14px;
    letter-spacing: 2px;
}

@media (max-width:440px){
	.product-section .product-container .content .products .product img{
		width:80%;
	}
	
	.product-section .product-container .content .products .product .subtitle {
        font-size: 16px;
	}
	
	.product-section .product-container .content .products .product .title {
        font-size: 20px;
	}
}



/* ==================================================
   HISTORY PAGE
================================================== */

#history-banner{
	
}

#history-banner .text{
	color:white;
	display:flex;
	flex-direction:column;
	gap:40px;
	position:absolute;
	top:32vw;
	left:5%;
	right:5%;
	font-size: 2.5vw;
	letter-spacing: 0.2vw;
}

#history-banner .text .line1{

}

#history-banner .text .line2{
	font-family: typewritter-medium-italic;
    font-size: 1.6vw;
}


#history{
    background: #FFFFFF;	
}

#history .container .content{
	width: 55%;
    margin-left: 22.5%;
    text-align: center;
    display: flex;
    gap: 50px;
    flex-direction: column;
    padding: 100px 0;
    letter-spacing: 2px;
}

#history .container .content .title{
	font-family:typewriter-bold;
	color:#414141;
	font-size:40px;
}

#history .container .content .description{
	font-family:typewritter-medium;
	color:#414141;
	font-size:25px;
	line-height:2;
}

.owners{
	
}

.owners .container{
	background:white;
}

.owners .container .content{
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	gap:50px;
	padding:100px 0;
}

.owners .container .content .cluttery{
    width:100px;
}

.owners .container .content img{
	width: 90%;
}

.rotated{
	rotate: 180deg;
}


@media (max-width:768px){
	.banner #history-banner img{
    width: 768px;
    height: auto;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    }
	
	#history-banner .text {
        top: 190px;
    }
	
	#history .container .content{
	    width: 80%;
        margin-left: 10%;
    }
	
	#history .container .content .title{
	    font-size:30px;
    }
	
	#history .container .content .description{
	    font-size:16px;
    }
	
	#history-banner .text .line1 {
		font-size: 18px;
	}
	
	#history-banner .text .line2 {
        font-size: 14px;
    }
	
	.owners .container .content .cluttery {
        width: 50px;
    }
}

@media (max-width: 550px) {

}

@media (max-width: 440px) {
    .banner #history-banner img {
        height: 432px !important;
        position: relative;
        left: 50%;
		width:unset;
    }
	
	#history-banner .text{
        top: 170px;
        left: 5%;
        font-size: 16px;
        letter-spacing: 3px;
        width: 90%;
        justify-content: center;
        align-items: center;
        text-align: center;
    }
	
	#history-banner .text .line1 {
		font-size: 16px;
	}
	
	#history-banner .text .line2 {
        font-size: 12px;
    }
}


/* ==================================================
   RESERVATION PAGE
================================================== */


#reservation-banner{
	display: flex;
    justify-content: center;
    align-items: center;
	background: #F8F1E5;
}

#reservation-banner .reservation{
	display: flex;
    flex-direction: column;
    gap: 40px;
    position: absolute;
    justify-content: center;
    align-items: center;
	padding-top: 300px;
    padding-bottom: 300px;
}

#reservation-banner .reservation .title{
    color:white;
    font-family:typewriter-bold;
    font-size:30px;
    text-align:center;
    letter-spacing: 2px;	
}

#reservation-banner .reservation form{
	display: flex;
    flex-direction: column;
	gap:15px;
}

#reservation-banner .reservation form .row{
	display: flex;
	gap:15px;
	justify-content: center;
}

#reservation-banner .reservation form .row div{
	position:relative;
}

#reservation-banner .reservation form .row div span{
	display:none;
}

#reservation-banner .reservation form .row input{
    border: none;
    background: #FFFFFF;
    padding: 10px;
    font-family: inherit;
    font-size: 20px;
	width:300px;
	height:20px;
}

#reservation-banner .reservation form .row img{
	width:320px;
	height:40px;
}

#reservation-banner .reservation form .row #reserve_submit {
    width: 100%;
    font-family: inherit;
    font-size: 20px;
    background: #EEB45E;
    color: white;
    cursor: pointer;
	height:40px;
	line-height:0;
	transition: background 0.4s ease, color 0.4s ease;
}

#reservation-banner .reservation form .row #reserve_submit:hover {
    background: #414141;
}

#reservation-banner .reservation .info {
    width: 655px;
    display: flex;
    flex-direction: column;
    gap: 12px;
	
}

#reservation-banner .reservation .info p{
	font-size: 14px;
    text-align: left;
	font-family:inherit;
	letter-spacing:1;
}

@media (max-width:1600px){
	#reservation-banner .reservation{
        padding-bottom: 200px;
    }
}

@media (max-width:1150px){
	#reservation-banner .reservation .info p{
        font-size: 11px;
    }
}

@media (max-width:1100px){
    .banner #reservation-banner #reserve-banner{
	    display:flex;
		height: 650px !important;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
		width:unset;
    }	
}

@media (max-width:768px){
	#reservation-banner .reservation {
        gap:25px;
		padding-bottom: 160px;
    }
	
	#reservation-banner .reservation form .row input {
        width: 200px;
    }
	
	#reservation-banner .reservation form .row img {
        width: 220px;
    }
	
	#reservation-banner .reservation form .row div span{
	    position: absolute;
	    top: 50%;
	    left: 10px;
	    transform: translateY(-50%);
	    color: rgb(118, 118, 118) ;
	    pointer-events: none;
		display:unset;
		transition: opacity 0.2s ease;
    }
	
    input[type="date"]::-webkit-calendar-picker-indicator {
        display: none;
        -webkit-appearance: none;
    }

    input[type="time"]::-webkit-calendar-picker-indicator {
        display: none;
        -webkit-appearance: none;
    }

    #reservation-banner .reservation {
        padding-top: 230px;
    }
    
    #reservation-banner .reservation .info {
        width: 455px;
    }	
}

@media (max-width:540px){
	#reservation-banner .reservation form {
		width:100%;
    }
	
	#reservation-banner .reservation {
        width: 90%;
    }
	
	#reservation-banner .reservation form .row input {
        width: calc(100% - 20px);
    }
	
	#reservation-banner .reservation form .row img {
        width: 100%;
    }
	
	#reservation-banner .reservation form .row {
        flex-direction: column;
    }
	
	.banner #reservation-banner #reserve-banner{
	    display:flex;
		height: 850px !important;
		transform: translateX(-15%);
    }
	
	#reservation-banner .reservation .info {
        width: 100%;
    }
	
	#reservation-banner .reservation .info p {
        font-size: 10px;
    }
	
	#reservation-banner .reservation p{
        font-size: 21px;
    }
	
	#reservation-banner .reservation form .row input {
        height: 15px;
    }
	
	#reservation-banner .reservation form .row img {
        height: 35px;
    }
    
	#reservation-banner .reservation form .row #reserve_submit {
        height: 35px;
    }
	
}

/* ==================================================
   PRIVACY PAGE
================================================== */


.infopages{
	
}

.infopages .content{
	display:flex;
	flex-direction:column;
	width:70%;
	margin-left:15%;
	gap:50px;
	padding:100px 0;
	color:#414141;
}	


/* ==================================================
   FOOTER SECTION
================================================== */


#map{
    line-height:0;
}

#footer{
	background-color:#F8F1E5;
	color:#414141;
}

#footer .content{
	display:flex;
	flex-direction:column;
	padding-top:100px;
	gap:75px;
}

#footer .content .top{
	display:flex;
	justify-content:center;
	position:relative;
}

#footer .content .top .footer-logo{
	
}

#footer .content .top .socials{
	position:absolute;
	right:0;
	display:flex;
	gap:25px;
}

#footer .content .top .socials a{
	transition: filter 0.3s ease;
}

#footer .content .top .socials a:hover{
	filter: brightness(10%);
}

#footer .content .middle{
	display:flex;
	justify-content:center;
	position:relative;
}

#footer .content .middle .item{
	display:flex;
	flex-direction:column;
	letter-spacing:1px;
}

#footer .content .middle #timetable{
	display:unset;
	text-align:center;
}

#footer .content .middle #timetable .title{
	font-family:typewriter-bold;
	
}

#footer .content .middle #footer-menu{
	position:absolute;
	left:0;
	gap: 25px;
}

#footer .content .middle #footer-menu a{
	color:#414141;
}

#footer .content .middle #footer-menu #goup{
	width: 48px;
    height: 48px;
	cursor: pointer;
	transition: filter 0.3s ease;
}

#footer .content .middle #footer-menu #goup:hover{
    filter: brightness(70%);
}

#footer .content .middle #info{
	position:absolute;
	right:0;
	gap:25px;
	text-align:right;
}

#footer .content .middle .item .row{
	display:flex;
	gap:10px;
	align-items:center;
	position:relative;
	justify-content: center;
}

#footer .content .middle .item .row #location-icon{
	position:relative;
	top:-12px;
}

#footer .content .bottom{
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	gap:20px;
}

#footer .content .bottom p{
	width:720px;
	font-size:16px;
}

#footer .content .bottom form{
	display:flex;
	gap:20px;
	width:720px;
}

#footer .content .bottom form .row{
	display:flex;
	gap:20px;
	width:100%;
}

#footer .content .bottom form .row input{
	width:70%;
	border:none;
	background:#FFFFFF;
	padding:10px;
	font-family: inherit;
	font-size:20px;
} 

#footer .content .bottom form .row #newsletter_submit{
	width:30%;
	font-family: inherit;
	font-size:20px;
	background:#414141;
	color:#F8F1E5;
	cursor:pointer;
}

#footer .content .bottom form .row #newsletter_submit:hover{
	background:#EEB45E;
	color:#414141;
	transition: background 0.4s ease, color 0.4s ease;
} 

#footer .content .footer-poem{
	font-family: typewritter-bold-italic;
	font-size:40px;
	text-align:center;
	letter-spacing:4px;
}

#footer .content .footer-end{
	display:flex;
	font-family:Lato-Regular;
	font-size:16px;
    justify-content: space-between;
	padding: 23px 0;
    border-top: 2px solid #414141;
}

#footer .content .footer-end .copyright{
	display:flex;
	gap:40px;
}

#footer .content .footer-end .links{
	display:flex;
	gap:15px;
}

#footer .content .footer-end .links a{
	color:#414141;
}

#footer .content .footer-end .links a:hover {
	text-decoration: underline;
}

@media (max-width:1250px){
	#footer .content .middle{
        justify-content: center;
        flex-wrap: wrap;
        width: 70%;
        margin-left: 15%;
        gap: 60px;
    }
	
	#footer .content .footer-end {
	    flex-direction: column-reverse;
        align-items: center;
    }


    #footer .content .middle #footer-menu{
	    position:unset;
    }
	
	#footer .content .middle #info{
	    position:unset;
    }
}

@media (max-width:850px){
	#footer .content .bottom p {
		width: 80%;

    }
	#footer .content .bottom form {
        width: 80%;
    }
	
	#footer .content .bottom form .row #newsletter_submit {
        width: 197px;
    }
}

@media (max-width:700px){
	#footer .content .footer-end .links {
		flex-direction:column;
		gap:15px;
	}
	
	#footer .content .footer-end .links .divider{
		display:none;
	}
	
	#footer .content .footer-end .copyright {
        display: flex;
        gap: 0px;
        flex-direction: column;
        text-align: center;
        margin-top: 15px;
    }
	
	#footer .content .footer-poem {
        font-size: 25px;
    }
}

@media (max-width:650px){
	#footer .content .bottom form .row input {
        width: 100%;
    }
	
	#footer .content .bottom form .row {
        flex-direction: column;
    }
}

@media (max-width:440px){
	#footer .content .middle {
        width: 80%;
        margin-left: 10%;
    }
	
	#footer{
		font-size:16px;
	}
	
	#footer .content .top {
        display: flex;
        justify-content: center;
        position: relative;
        flex-direction: column;
        align-items: center;
        gap: 50px;
    }
	
	#footer .content .top .socials {
        position: unset;
    }
}

/* FORM MODAL VALIDATION */	

.ui-widget {
    font-family: inherit;
    font-size: 0.8em;
}

.ui-dialog .ui-dialog-title {
    font-size:1em;
}
