:root{--off-white:#f5f5f5;--obsidian:#020403;--red:#d9403e;--red-active:#c62927;--blue:#2c6ba4;--light-gray:#e1e1e1;--text-light:white;--text-dark:var(--obsidian);--padding-sm:0.5rem;--padding-md:1rem;--padding-lg:1.5rem;--padding-xl:3rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:2rem;--spacing-xl:3rem;--header-height:80px;--content-width:70rem;--rounding-sm:0.5rem;--rounding-md:1rem;--rounding-lg:2rem;--font-serif:"Forum",serif;--font-sans-serif:"Funnel Sans",sans-serif;--font-body:var(--font-sans-serif);--font-heading:var(--font-serif);--font-weight:300;--font-weight-heading:600;--font-size:18px;--font-size-hero:calc(48/16*var(--font-size));--font-size-h1:calc(24/16*var(--font-size));--font-size-h2:calc(20/16*var(--font-size));--font-size-h3:calc(18/16*var(--font-size));--font-size-h4:calc(16/16*var(--font-size));}*,*::before,*::after{box-sizing:border-box;background-repeat:no-repeat;margin:0;padding:0;}html{height:100%;}body{min-height:100vh;background-color:var(--off-white);overflow-x:hidden;}#application{display:flex;flex-flow:column;min-height:100vh;>*{flex-grow:1;}}.content{width:100%;max-width:var(--content-width);margin-inline:auto;padding:var(--padding-md);}.row{display:flex;align-items:stretch;align-content:stretch;justify-content:stretch;>.col{flex-grow:1;}}.section{position:relative;padding-top:var(--padding-lg);padding-bottom:var(--padding-lg);&.secondary{background-color:var(--obsidian);color:white;}&.next-curve{padding-bottom:90px;}}body,input,textarea,select,button{font-size:var(--font-size);font-family:var(--font-body);}body{font-weight:var(--font-weight);line-height:1.5;}.hero-title{font-family:var(--font-heading);font-size:var(--font-size-hero);font-weight:var(--font-weight-heading);@media only screen and (width<600px){font-size:var(--font-size-h1);}}h1,.h1{font-family:var(--font-heading);font-size:var(--font-size-h1);font-weight:var(--font-weight-heading);font-style:normal;&:not(:first-child){margin-top:var(--spacing-lg);}}h2,.h2{font-family:var(--font-heading);font-size:var(--font-size-h2);font-weight:var(--font-weight-heading);font-style:italic;&:not(:first-child){margin-top:var(--spacing-lg);}}h3,.h3{font-family:var(--font-heading);font-size:var(--font-size-h3);font-weight:var(--font-weight-heading);font-style:normal;&:not(:first-child){margin-top:var(--spacing-md);}}h4,.h4{font-family:var(--font-heading);font-size:var(--font-size-h4);font-weight:var(--font-weight-heading);font-style:normal;&:not(:first-child){margin-top:var(--spacing-md);}}ol,ul{padding-left:1.5rem;}ol,ul,p{&:not(:first-child){margin-bottom:var(--spacing-md);}}.btn,button,input[type="submit"],input[type="cancel"]{--bg-color-inactive:var(--red);--bg-color-active:var(--red-active);--color-inactive:var(--text-light);--color-active:var(--text-light);appearance:none;padding:var(--padding-sm) var(--padding-lg);background-color:var(--bg-color-inactive);color:var(--color-inactive);border-radius:var(--rounding-lg);border:none;transition:all 400ms;cursor:pointer;&.white{--bg-color-inactive:var(--off-white);--bg-color-active:white;--color-active:var(--text-dark);--color-inactive:var(--text-dark);}&.cta{font-weight:500;}&:hover,&:focus-within{transform:scale(1.02);background-color:var(--bg-color-active);color:var(--color-active);}}a:link,a:visited{text-decoration:none;}#header{position:fixed;top:0;width:100vw;z-index:100;height:var(--header-height);transition:opacity 800ms;letter-spacing:-0.02rem;&::before{content:'';display:block;transition:opacity 800ms;background-repeat:repeat-x;opacity:0;position:absolute;left:0;top:0;right:0;bottom:0;z-index:-1;}>.content{max-width:none;display:flex;align-items:center;align-content:center;justify-content:space-between;height:var(--header-height);}.logo{order:0;color:var(--off-white);font-family:var(--font-heading);font-size:var(--font-size-h1);font-weight:600;text-shadow:0 0 5px rgb(0 0 0/40%);svg{max-height:calc(0.8*var(--header-height));use{fill:var(--off-white);}}}.go-to-content{position:absolute;top:1rem;left:50%;order:1;opacity:0.01;z-index:-1;background-color:white;color:black;transform:translateX(-50%);&:focus-within{opacity:1;z-index:1;}}#navigation{--size:2.5rem;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;order:2;background-color:var(--off-white);border-radius:var(--rounding-lg);border:solid 4px var(--off-white);box-shadow:0 0 10px rgb(0 0 0/20%);@media only screen and (width<= 1300px){position:absolute;right:1rem;top:1rem;justify-content:stretch;border:none;&:has([data-state="open"]){--border-width:8px;border:solid var(--border-width) var(--off-white);margin-right:calc(-1*var(--border-width));margin-top:calc(-1*var(--border-width));}}>*{line-height:2rem;border-radius:var(--rounding-lg);white-space:nowrap;&.languages{display:flex;margin-left:3px;flex-grow:10;@media only screen and (width<1300px){width:calc(4*var(--size)+2*var(--spacing-sm));padding-right:calc(var(--size)+var(--spacing-sm));align-items:end;}>*{width:var(--size);height:var(--size);border-radius:100%;overflow:hidden;box-shadow:0 0 4px rgb(0 0 0/20%);&+*{margin-left:var(--spacing-sm);}img{width:100%;height:100%;vertical-align:middle;object-fit:cover;}&:hover,&:focus-within{outline:solid 1.5px red;}&.selected{outline:solid 1.5px;}}}&.btn{@media only screen and (width<= 1400px){padding-left:var(--padding-md);padding-right:var(--padding-md);}}@media only screen and (width<= 1300px){width:100%;}&+*{margin-left:calc(0.5*var(--spacing-sm));}&.nav-toggle{display:none;width:var(--size);height:var(--size);padding:0;@media only screen and (width<= 1300px){display:block;position:absolute;right:0;top:0;&[data-state="closed"]{>.close{display:none;}~*{display:none;}}&[data-state="open"]{>.open{display:none;}}}}&.btn:not(.cta,.nav-toggle,.languages){transition:all 400ms;padding-left:var(--spacing-md);padding-right:var(--spacing-md);&:hover,&:focus-within{background-color:var(--light-gray);transform:none;}}}}}.has-offset{#header{backdrop-filter:blur(10px);background-color:rgb(44 107 164/60%);&::before{opacity:0.9;}}}#footer{background-color:var(--off-white);>.content{border-top:solid 0.5px var(--obsidian);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg);>.card{background-color:white;border-radius:var(--rounding-md);padding:var(--padding-md) var(--padding-lg);}.row{@media only screen and (width<= 600px){display:block;}}}}#hero{display:flex;align-items:center;align-content:center;justify-content:center;position:relative;min-height:60vh;max-height:100vh;aspect-ratio:4/3;max-width:100vw;overflow-x:hidden;&::before{content:'';display:block;position:absolute;z-index:1;width:100%;height:100%;left:0;top:0;background-color:rgb(0 0 0/30%);}>.gallery{position:absolute;left:0;top:0;right:0;bottom:0;z-index:0;>.gallery-image{>*{width:100%;height:100%;position:absolute;&.active{transform:scale(1.05) translateY(-50%) translateX(-50%);}}img{object-fit:cover !important;}}>.gallery-actions{display:none;}}>.content{position:relative;z-index:2;color:white;text-shadow:0 0 5px rgb(0 0 0/40%);}}.curve{position:absolute;width:100%;left:0;right:0;z-index:1;&.top{bottom:100%;margin-bottom:-2px;}&.bottom{top:100%;margin-top:-2px;}>svg{display:block;width:100%;height:100%;object-fit:cover;}&.gray>svg use{fill:var(--body-color);}&.white>svg use{fill:white;}&.off-white>svg use{fill:var(--off-white);}&.obsidian>svg use{fill:var(--obsidian);}&.footer-gray>svg use{fill:var(--footer-color);}}*:has(>.curve){position:relative;}*:has(>.curve.bottom){+.section,+main{padding-top:90px;}}.gallery{position:relative;>.gallery-image{position:relative;overflow:hidden;width:100%;height:100%;>*{opacity:0;top:50%;left:50%;position:absolute;transform:translateY(-50%) translateX(-50%);&.active{opacity:1;}}picture,img{width:100%;height:100%;object-fit:cover;}}>.gallery-actions{position:absolute;z-index:1;top:50%;width:100vw;height:0;overflow:visible;>*{--size:3rem;position:absolute;width:var(--size);height:var(--size);line-height:0;text-align:center;padding:0 0 0.5rem;border-radius:100%;font-weight:600;font-size:calc(0.8*var(--size));vertical-align:middle;}>.next{right:1rem;}>.prev{left:1rem;}>.close{display:none;}}&.initialized:not(.no-animation){>.gallery-image>*{transition:opacity 1000ms,transform 7000ms;}}}#photos,#restaurant{>.gallery{display:flex;align-items:center;align-content:center;justify-content:center;height:90vh;flex-grow:1;@media only screen and (width<= 1000px){display:block;height:auto;>.gallery-actions{display:none;}}>.gallery-image{height:100%;@media only screen and (width<= 1000px){height:auto;}img,picture{object-fit:contain;}@media only screen and (width<= 1000px){>*{position:static;opacity:1 !important;transition:none;transform:none;}}}}}.gallery-modal{display:flex;position:fixed;left:0;top:0;right:0;bottom:0;background-color:rgb(0 0 0/80%);align-items:center;align-content:center;justify-content:center;z-index:calc(infinity);&:not(.open){display:none;}>.gallery{width:100vw;height:100vh;>.gallery-image{img,picture{width:100% !important;height:100% !important;max-width:100%;max-height:100%;object-fit:contain;}}>.gallery-actions{>.close{display:block;top:-50vh;margin-top:1rem;right:1rem;}}}}#restaurant{background-color:white;}.rooms{margin:var(--spacing-lg) 0;display:table;.row{display:table-row;@media only screen and (width<= 600px){display:block;border-bottom:solid 1px;padding-bottom:1rem;margin-bottom:1rem;}>*{display:table-cell;vertical-align:top;border-top:solid 1px;padding-top:var(--padding-md);padding-bottom:var(--padding-md);@media only screen and (width<= 600px){display:block;border-top:none;}.cta-row{display:flex;justify-content:space-between;align-items:center;align-content:center;@media only screen and (width<= 600px){margin-bottom:1rem;}}&.thumbnail{width:200px;height:200px;@media only screen and (width<= 600px){width:100%;height:auto;aspect-ratio:5/3;}>a>img{width:100%;height:100%;object-fit:cover;max-height:400px;}}+*{padding-left:var(--padding-md);@media only screen and (width<= 600px){padding-left:0;}}*:last-child{margin-bottom:0;}}&:first-child{>*{border-top:none;}}}}.pricelist{max-width:100vw;overflow-x:auto;table{width:100%;border-spacing:0;border-collapse:collapse;tr{border-bottom:solid 1px;>*:first-child{padding-left:0;~*{padding-left:1rem;}}}}}
