/* main.css stores all CSS main definitions for the framework. */

/* Fonts definition */
@font-face { font-family: 'Wulkan'; src: url('wulkan/wulkan.eot'); /* IE9 Compat Modes */ src:url('wulkan/wulkan.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('wulkan/wulkan.woff2') format('woff2'), /* Super Modern Browsers */ url('wulkan/wulkan.woff') format('woff'); /* Pretty Modern Browsers */ font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Spartan'; src: url('spartan/spartan.ttf') format('truetype-variations');font-weight: 1 999; }

/* General styles definitions */
* {margin:0;padding:0;font-family:'Wulkan';font-weight:normal;position:relative;font-size:12px;letter-spacing:1px;line-height:18px;min-width:0;min-height:0;}
.clear {clear:both;display:block;visibility:hidden;height:1px;width:1px;}
html {width:100%;height:100%;overflow-x: auto;scroll-behavior:smooth;}
body {width:100%;height:100%;background:#000;overflow:auto;overflow-x:hidden;position:relative;} 
b {font-weight:700;}

.light_background { background-color:#edefea; }
.centered { width:80%;margin:0 auto; }
.initial_margin { margin-top:200px; }
.float_left { float:left; }
.float_right { float:right; }
.clear { clear:both; }
.mobile_only { display:none; }

header { position:absolute;width:100vw;top:0; height:70px; z-index:50;color:#ffffff; }
body.light_background header { color:#164a3e; }
header div#nav_button_show { display:block;padding:0;width:26px;height:16px;position:absolute;top:30px;left:22px;transition:all 0.2s cubic-bezier(0.77,0.2,0.05,1.0);z-index:50;cursor:pointer; }    
header div#nav_button_show span { display:block;opacity:1;width:26px;height:2px;margin-bottom:5px;position:relative;background:#ffffff;border-radius:2px;z-index:1;transform-origin:5px 0px;transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),opacity 0.55s ease; }
body.light_background header div#nav_button_show span { background:#164a3e; } 
header div#nav_button_show span:nth-child(2) { transform-origin: center center; }
header div#nav_button_show span:nth-child(4) { transform-origin: center center; margin-bottom: 0; }
header a#top_logo { position:absolute;top:23px;left:50%;transform:translateX(-50%);font-size:20px;line-height:28px;color:inherit;text-transform:uppercase;text-decoration:none; }
header a#top_logo span {font-size:inherit;line-height:inherit;color:inherit;text-transform:inherit;text-decoration:inherit;top:-4px;}
header div#langs { position:absolute;top:23px;right:22px;color:inherit; }
header div#langs a { display:inline-block;font-size:20px;line-height:28px;color:inherit;text-transform:uppercase;text-decoration:none; }
header div#langs span { display:inline-block;font-size:20px;line-height:28px;color:inherit;text-transform:uppercase;text-decoration:none; }


nav { position:fixed;width:100vw;height:100vh;top:0;left:-100vw; background:#e6dcc9;transition: all 0.5s cubic-bezier(0.77,0.2,0.05,1.0);z-index:100;overflow:auto; }
nav ul { position:absolute;list-style:none;width:610px;left:50%;top:50%;transform:translate(-50%,-50%); }
nav ul li a { text-decoration:none;color:#164a3e;font-size:74px;line-height:88px;text-transform:uppercase; }
nav.visible { left:0; }
nav div#nav_button_hide { display: block;padding: 0;width: 22px;height: 14px;position: absolute;top: 30px;left: 22px;transition: all 0.2s cubic-bezier(0.77,0.2,0.05,1.0);cursor:pointer; }    
nav div#nav_button_hide span { display: block;opacity: 1;width: 26px;height: 2px;margin-bottom: 4px;position: relative;background: #164a3e;border-radius: 2px;z-index: 1;transform-origin: 5px 0px;transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),opacity 0.55s ease; }
nav div#nav_button_hide span:nth-child(1) { transform-origin: center center; transform: translate(0px, 6px) rotate(45deg); }
nav div#nav_button_hide span:nth-child(2) { transform-origin: center center; margin-bottom: 0;transform: translate(0px, 0px) rotate(-45deg); }
nav div#nav_langs { position:absolute;top:23px;right:22px; }
nav div#nav_langs a { display:inline-block;font-size:20px;line-height:28px;color:#164a3e;text-transform:uppercase;text-decoration:none; }
nav div#nav_langs span { display:inline-block;font-size:20px;line-height:28px;color:#164a3e;text-transform:uppercase;text-decoration:none; }
nav div#subvert { font-size:14px;font-family:Spartan;color:#164a3e;position:absolute;bottom:20px;right:20px;letter-spacing:0px;display:none; }
nav div#subvert a { text-decoration:none;font-family:inherit;font-size:inherit;color:inherit;letter-spacing:inherit; }
nav div#subvert a:hover { text-decoration:underline; }
nav.visible div#subvert {display:block;}

div#main_logo {position:absolute;width:30%;min-width:250px;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1; }
div#main_logo img {display:block;width:100%; }

section.full_page { position:relative;width:100vw;height:100vh;background-position:center center;background-repeat:no-repeat;background-size:cover; }

.content h1 { font-size:50px;line-height:40px;font-weight:normal;color:#164a3e;margin:0px 0 40px 0; }
.content h2 { font-size:36px;line-height:26px;font-weight:normal;color:#164a3e;margin:0px 0 20px 0; }
.content p { font-size:22px;line-height:26px;color:#164a3e;margin:0 0 20px 0; }
.content p.small_text { font-size:16px;line-height:18px;color:#164a3e;margin:0 0 20px 0; }
.content img { display:block;width:100%; }

.content { vertical-align:top;padding:100px 0 0 0;vertical-align:top;display:block; }
.width_45 { width:calc(45% - 24px);margin:0 10px; }
.width_55 { width:calc(55% - 24px);margin:0 10px; }
.width_100 { width:100%;margin:0; }
.two_columns { column-count:2;column-gap:40px; }

div.gallery { margin:100px 0; }
div.gallery div.gallery_entry { display:inline-block;width:calc(20% - 10px);margin:5px;vertical-align:top; }
div.gallery div.gallery_entry img { display:block;width:100%; }
div.gallery div.gallery_entry span.title { color:#164a3e;font-size:16px;line-height:16px;margin:16px 0 8px 0;display:block;width:100%;text-align:center; }
div.gallery div.gallery_entry span.timetable { color:#164a3e;font-family:Spartan;font-size:12px;line-height:18px;display:block;width:100%;text-align:center;margin:0 0 8px 0; }

div.slideshow .slick-track { display: flex !important; }
div.slideshow .slick-slide { margin:0 20px;height: inherit !important; } /* width:80vw; */

div#apartment_slideshow_container {display:none;position:fixed;top:0;left:0;right:0;bottom:0;padding:40px;background:#000000bb;}
div#apartment_slideshow_container img#close_slideshow { position:absolute;top:20px;right:20px;width:20px;height:20px;cursor:pointer;outline:0; }
div#apartment_slideshow_container img#close_slideshow img { width:100%;display:block; }
div#apartment_slideshow { height:100%; }
div#apartment_slideshow .slick-list { height:100%; }
div#apartment_slideshow .slick-track { height:100%; }
div#apartment_slideshow .slick-slide { height:calc(100% - 80px);margin:40px 20px; } /* width:80vw; */
div#apartment_slideshow .slick-next { position:absolute;top:0;right:20px;height:100%;width:40px;cursor:pointer;background:url(../img/right.png);background-repeat:no-repeat;background-position:center center;background-size:contain;border:0;text-indent:-99999px;z-index:10;outline:0; } 
div#apartment_slideshow .slick-prev { position:absolute;top:0;left:20px;height:100%;width:40px;cursor:pointer;background:url(../img/left.png);background-repeat:no-repeat;background-position:center center;background-size:contain;border:0;text-indent:-99999px;z-index:10;outline:0; } 

table.listing { width:100%;border-collapse:collapse;color:#164a3e;font-size:14px;line-height:40px; }
table.listing tbody {font-size:inherit;line-height:inherit; }
table.listing tr {font-size:inherit;line-height:inherit;border-bottom:1px solid #164a3e; }
table.listing th {color:inherit;text-align:left;font-size:inherit;line-height:inherit;}
table.listing td {color:inherit;text-align:left;font-size:inherit;line-height:inherit;}
table.listing td a {color:inherit;text-align:center;font-size:12px;text-decoration:none;border:1px solid #164a3e;border-radius:10px;padding:3px 6px;cursor:pointer; }

form.contacts { width:100%; }
form.contacts input { width:100%;border:0;color:#164a3e;border-bottom:1px solid #164a3e;background:transparent;font-size:16px;line-height:40px;outline:0; }
form.contacts textarea { width:100%;border:0;color:#164a3e;border-bottom:1px solid #164a3e;background:transparent;font-size:16px;line-height:40px;height:80px;outline:0; }
form.contacts input::placeholder { color:#164a3e;opacity:1; }
form.contacts textarea::placeholder { color:#164a3e;opacity:1; }

a.button { font-size:20px;padding:10px 20px;text-align:center;color:#164a3e;border:1px solid #164a3e;border-radius:20px;margin:20px 0;display:inline-block;text-transform:uppercase;text-decoration:none;cursor:pointer; }
a#scroll_top { cursor:pointer;display:block;margin:20px 0;left:50%;transform:translateX(-50%);width:30px;height:16px;background:url(../img/scroll_top.png);background-position:center center;background-size:cover; }

footer { background:#e6dcc9;border-radius:75px 75px 0 0;margin:100px 0 0 0;padding:60px 0 0 40px; }
footer .footer_grid { display:grid;grid-gap:20px;grid-template-columns:2fr 3fr 3fr 2fr; }
footer .footer_cell { vertical-align:top; }
/*footer .footer_row { display:table-row;margin:0 0 20px 0; }
*/
footer .column_left { grid-column:1 / 1; }
footer .column_center { grid-column:2 / 4; }
footer .column_center_first { grid-column:2 / 2; }
footer .column_center_second { grid-column:3 / 3; }
footer .column_right { grid-column:4 / 4; }
footer h2 { font-weight:bold;font-size:14px;line-height:18px;font-family:Spartan;margin:0 0 10px 0; }
footer span { display:block;margin:0 0 10px 0;font-weight:normal;font-size:14px;line-height:18px;font-family:Spartan; }
footer span a { text-decoration:none;color:inherit;font-size:inherit;line-height:inherit;font-family:inherit; }
footer span a:hover { text-decoration:underline; }
footer img { display:block;width:50%; }
footer div#mobile { display:none; }


div#map {width:100%;}
div#map:after {
  content: "";
  display: block;
  padding-bottom: 100%;
}

div#contact_confirmation { position:fixed;top:0;left:0;right:0;bottom:0;background:#ffffffaa;display:none; }
div#contact_confirmation div { display:block;width:40%;background:#fff;border:1px solid #164a3e;padding:20px 20px 60px 20px;transform:translate(-50%,-50%);top:50%;left:50%; }
div#contact_confirmation div span { font-family:Wulkan;font-size:20px;color:#164a3e; }
div#contact_confirmation div a { display:block;position:absolute;right:5px;bottom:5px;margin:0; }

/* Scroll icon */
@keyframes scroll_1 {
  0%   { transform: translateY(0); }
  25%  { transform: translateY(-0.6em); }
  50%  { transform: translateY(0); }
  75%  { transform: translateY(0.6em); }
  100% { transform: translateY(0); }
}
div#scroller { position:absolute;bottom:40px;margin-left:50%;transform:translateX(-50%); }
.scroll-icon__wheel-outer {
  display: block;
  position: absolute;
  left: 50%;
  top: .6em;
  height: 1em;
  width: .4em;
  margin-left: -.2em;
  border-radius: .4em;
  overflow: hidden;
}
.scroll-icon__wheel-inner {
  display: block;
  height: 100%;
  width: 100%;
  border-radius: inherit;
  background: #fff;
  animation: scroll_1 2.75s ease-in-out infinite;
}
.scroll-icon {
  display: block;
  position: relative;
  height: 4em;
  width: 2em;
  border: .25em solid #fff;
  border-radius: 2em;
}



