/*
Theme Name: Kaisergalerie
Theme URI: http://underscores.me/
Author: WordPress Bibel
Author URI: https://wp-bibel.de/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: _kaisergalerie
Tags:

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

Huette is based on Underscores http://underscores.me/, (C) 2012-2016 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

*/
/*-----------------------------------------------------------------------------------*/
/*      Table of Content
/*-----------------------------------------------------------------------------------*/
/*
0.0 Reset
1.0 Grid
2.0 Helper
    2.1 Floats
    2.2 Content/BG Cover
    2.3 Visibility
    2.4 Clearfix
3.0 Media
4.0 Grid System
    4.1 Width
    4.2 Container
    4.3 Grid
    4.4 Flexgrid
5.0 Typography
    5.1 Links
    5.2 Headlines
    5.3 Alignments
    5.4 Quotes
6.0 Elements
    6.1 Buttons
    6.2 Forms
    6.3 Nav
    6.4 Mobile Nav
7.0 Header
8.0 Sections
    8.1 Section Spacing
    8.2 Homepage
    
    
9.0 Footer
10.0 Media Queries

*/
/*! normalize.css v2.1.0 | MIT License | git.io/normalize */
/*-----------------------------------------------------------------------------------*/
/*      0.0 Reset
/*-----------------------------------------------------------------------------------*/
* {
  box-sizing: border-box;
}

/*
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/*
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block;
}

/*
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/*
 * Address styling not present in IE 8/9.
 */
[hidden] {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
/*
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */
}

/*
 * Remove default margin.
 */
body {
  margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */
/*
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

/*
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */
/*
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/*
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/*
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/*
 * Address styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic;
}

/*
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/*
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/*
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/*
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap;
}

/*
 * Set consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019";
}

/*
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/*
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */
/*
 * Remove border when inside `a` element in IE 8/9.
 */
img {
  border: 0;
}

/*
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */
/*
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
/*
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/*
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/*
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */
}

/*
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}

/*
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none;
}

/*
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/*
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/*
 * 1. Address box sizing set to `content-box` in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/*
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}

/*
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/*
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */
/*
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*-----------------------------------------------------------------------------------*/
/*      2.0 Helper
/*-----------------------------------------------------------------------------------*/
/* 2.1 FLOATS */
.float--right {
  float: right !important;
}

.float--left {
  float: left !important;
}

/* 2.2 CONTENT/BG COVER */
.bg--image {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.iframe-wrap iframe,
.iframe-wrap img,
.img-wrap-inner iframe,
.img-wrap-inner img, .site-main video, .shop, .shop video, .shop > img, .overlay--loading, .overlay--floorplan, .overlay--turn {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* 2.3 VISIBILITY */
.hidden {
  display: none !important;
}

@media only screen and (max-width: 1020px) {
  .hidden--mobile {
    display: none;
  }
}

@media only screen and (min-width: 1021px) {
  .hidden--desktop {
    display: none;
  }
}

.invisible {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  height: 1px;
  width: 1px;
}

.sr-only {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
}

/* 2.4 CLEARFIX */
.container::after, .grid::after, .clearfix::after, .cf::after {
  content: "";
  display: table;
  clear: both;
}

/*-----------------------------------------------------------------------------------*/
/*      3.0 Media
/*-----------------------------------------------------------------------------------*/
img, media, iframe {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  display: block;
  margin: auto;
  border: 0;
}

.iframe-wrap,
.img-wrap-inner {
  position: relative;
  z-index: 0;
  padding-bottom: 56.25%;
}
.iframe-wrap iframe,
.iframe-wrap img,
.img-wrap-inner iframe,
.img-wrap-inner img {
  position: absolute;
}

/*-----------------------------------------------------------------------------------*/
/*  4.0 Grid System
/*-----------------------------------------------------------------------------------*/
/*  4.1 Width */
.one-whole {
  width: 100%;
}

.one-half {
  width: 50%;
}

.one-third {
  width: 33.333%;
}

.two-thirds {
  width: 66.666%;
}

.one-quarter {
  width: 25%;
}

.three-quarters {
  width: 75%;
}

.two-fifths {
  width: 40%;
}

@media only screen and (max-width: 1400px) {
  .xl-one-whole {
    width: 100%;
  }

  .xl-one-half {
    width: 50%;
  }

  .xl-one-third {
    width: 33.333%;
  }

  .xl-two-thirds {
    width: 66.666%;
  }

  .xl-one-quarter {
    width: 25%;
  }

  .xl-three-quarters {
    width: 75%;
  }

  .xl-two-fifths {
    width: 40%;
  }
}
@media only screen and (max-width: 1200px) {
  .content-one-whole {
    width: 100%;
  }

  .content-one-half {
    width: 50%;
  }

  .content-one-third {
    width: 33.333%;
  }

  .content-two-thirds {
    width: 66.666%;
  }

  .content-one-quarter {
    width: 25%;
  }

  .content-three-quarters {
    width: 75%;
  }

  .content-two-fifths {
    width: 40%;
  }
}
@media only screen and (max-width: 1020px) {
  .lg-one-whole {
    width: 100%;
  }

  .lg-one-half {
    width: 50%;
  }

  .lg-one-third {
    width: 33.333%;
  }

  .lg-two-thirds {
    width: 66.666%;
  }

  .lg-one-quarter {
    width: 25%;
  }

  .lg-three-quarters {
    width: 75%;
  }

  .lg-two-fifths {
    width: 40%;
  }
}
@media only screen and (max-width: 800px) {
  .md-one-whole {
    width: 100%;
  }

  .md-one-half {
    width: 50%;
  }

  .md-one-third {
    width: 33.333%;
  }

  .md-two-thirds {
    width: 66.666%;
  }

  .md-one-quarter {
    width: 25%;
  }

  .md-three-quarters {
    width: 75%;
  }

  .md-two-fifths {
    width: 40%;
  }
}
@media only screen and (max-width: 640px) {
  .sm-one-whole {
    width: 100%;
  }

  .sm-one-half {
    width: 50%;
  }

  .sm-one-third {
    width: 33.333%;
  }

  .sm-two-thirds {
    width: 66.666%;
  }

  .sm-one-quarter {
    width: 25%;
  }

  .sm-three-quarters {
    width: 75%;
  }

  .sm-two-fifths {
    width: 40%;
  }
}
@media only screen and (max-width: 480px) {
  .xs-one-whole {
    width: 100%;
  }

  .xs-one-half {
    width: 50%;
  }

  .xs-one-third {
    width: 33.333%;
  }

  .xs-two-thirds {
    width: 66.666%;
  }

  .xs-one-quarter {
    width: 25%;
  }

  .xs-three-quarters {
    width: 75%;
  }

  .xs-two-fifths {
    width: 40%;
  }
}
/*  4.2 Container */
.container {
  max-width: 1520px;
  box-sizing: content-box;
  margin: 0 auto;
  padding-left: 2rem;
  padding-right: 2rem;
}
@media only screen and (max-width: 800px) {
  .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media only screen and (max-width: 330px) {
  .container {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}

.container--expand {
  padding-left: 1rem;
  padding-right: 1rem;
}
@media only screen and (max-width: 360px) {
  .container--expand {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}

.container--full {
  max-width: 100%;
}

.container--small {
  max-width: 820px !important;
}

.container--tiny {
  max-width: 376px !important;
}

/*  4.3 Grid */
.grid {
  margin-left: -2rem;
  list-style: none;
  margin-bottom: 0;
}

.grid__item {
  float: left;
  padding-left: 2rem;
}

.grid--narrow {
  margin-left: -1rem;
}
.grid--narrow > .grid__item {
  padding-left: 1rem;
}

.grid--full {
  margin-left: 0;
}
.grid--full > .grid__item {
  padding-left: 0;
}

.grid--tight {
  margin-left: 0;
}
.grid--tight > .grid__item {
  padding-left: 0;
}

.grid--wide {
  margin-left: -3rem;
}
.grid--wide > .grid__item {
  padding-left: 3rem;
}

/*  4.4 Flexgrid */
.flexgrid, .flex {
  -webkit-display: flex;
  -ms-display: flex;
  display: flex;
}

.flexgrid--gutter {
  margin-left: -1rem;
}
.flexgrid--gutter .flex__item {
  padding-left: 1rem;
}

.flex--end {
  -webkit-justify-content: flex-end;
  -ms-justify-content: flex-end;
  justify-content: flex-end;
}

.flex--middle {
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

.flex--column {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.flex--center {
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
}

.flex__bottom {
  -webkit-display: flex;
  -ms-display: flex;
  display: flex;
  -webkit-align-items: flex-end;
  -ms-align-items: flex-end;
  align-items: flex-end;
}

.flex1 {
  -ms-flex: 1 0 auto;
  -webkit-flex: 1 0 auto;
  flex: 1 0 auto;
}

.flex--wrap {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

/*-----------------------------------------------------------------------------------*/
/*  5.0 Typography
/*-----------------------------------------------------------------------------------*/
html {
  font-family: "Montserrat", "Arial", sans-serif;
  font-size: 20px;
  line-height: 1.5;
  color: #242322;
  font-weight: normal;
  text-rendering: optimizeLegibility;
}

*::selection {
  background: #C8B550;
  color: white;
}

/*  5.1 Links */
a {
  text-decoration: none;
  color: #C8B550;
}
a:hover {
  color: #ae9b37;
}
a:focus, a:active {
  outline: none;
}

a, i {
  -webkit-tap-highlight-color: transparent;
}

h1, .alpha,
h2, .beta,
h3, .gamma,
h4, .delta,
h5, .epsilon,
h6, .zeta {
  font-family: "Montserrat", "Arial", sans-serif;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 1rem;
}

/*  5.2 Headlines */
h1 a, h1 a:visited, .alpha a, .alpha a:visited,
h2 a,
h2 a:visited, .beta a, .beta a:visited,
h3 a,
h3 a:visited, .gamma a, .gamma a:visited,
h4 a,
h4 a:visited, .delta a, .delta a:visited,
h5 a,
h5 a:visited, .epsilon a, .epsilon a:visited,
h6 a,
h6 a:visited, .zeta a, .zeta a:visited {
  text-decoration: none;
}

h1, .alpha {
  font-size: 1.9rem;
  line-height: 1.26316;
}

h2, .beta {
  font-size: 1rem;
  line-height: 1.5;
}

h3, .gamma {
  font-size: 1rem;
  line-height: 1.5;
}

h4, .delta {
  font-size: 1rem;
  line-height: 1.5;
}

h5, .epsilon {
  font-size: 1rem;
  line-height: 1.5;
}

p, blockquote,
pre, dl {
  margin: 0 0 1rem;
}

/*  5.3 Alignment */
.text--center {
  text-align: center;
}

.text--right {
  text-align: right;
}

.uppercase {
  text-transform: uppercase;
}

/*  5.4 Quotes */
blockquote {
  font-size: 1rem;
  line-height: 1.5;
  padding: 0 1.5em;
  font-style: italic;
}
blockquote cite {
  margin: 0;
  font-style: italic;
}

hr {
  border: none;
  border-top: 1px solid #A1A9AD;
  margin: 4rem 0;
}

ul {
  padding-left: 1rem;
}

@font-face {
  font-family: 'Montserrat';
  src: url("../fonts/Montserrat-BoldItalic.woff2") format("woff2"), url("../fonts/Montserrat-BoldItalic.woff") format("woff");
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat';
  src: url("../fonts/Montserrat-Bold.woff2") format("woff2"), url("../fonts/Montserrat-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat';
  src: url("../fonts/Montserrat-Medium.woff2") format("woff2"), url("../fonts/Montserrat-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat';
  src: url("../fonts/Montserrat-Regular.woff2") format("woff2"), url("../fonts/Montserrat-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
/*-----------------------------------------------------------------------------------*/
/*  6.0 Elements
/*-----------------------------------------------------------------------------------*/
/*  6.1 Buttons */
.btn {
  font-size: 1.25rem;
  display: inline-block;
  vertical-align: middle;
  font-family: inherit;
  font-weight: 500;
  cursor: pointer;
  border: none;
  border-radius: 0.25rem;
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 1.4;
  padding: 0.75rem 1rem 0.65rem;
  text-decoration: none !important;
  text-align: center;
  color: white;
  background-color: #C8B550;
  -webkit-tap-highlight-color: transparent;
  width: 100%;
  text-transform: uppercase;
}
.btn:hover {
  color: white;
  background-color: #A38F4B;
}
.btn:active, .btn:focus {
  outline: none;
}

.btn--primary {
  background-color: #C8B550;
}
.btn--primary:hover {
  background-color: #ae9b37;
}

.btn--toggle {
  padding: 0 0.25rem;
  height: 42px;
  width: 2.5rem;
  top: 1.2rem;
  right: 1rem;
  text-align: center;
  background: transparent;
  border-radius: 0%;
  border: 0;
  position: absolute;
  z-index: 10001;
  outline: none;
}
.btn--toggle:hover {
  background: transparent;
}
.btn--toggle:hover .icon-bar {
  opacity: 0.8;
}
.btn--toggle .icon-bar {
  display: block;
  background: #C8B550;
  position: relative;
  width: 2rem;
  height: 4px;
  margin: 8px auto;
  transition: transform 0.25s ease-out;
  border-radius: 2px;
}
.js-nav .btn--toggle {
  background: transparent;
}
.js-nav .btn--toggle .icon-bar:nth-of-type(2) {
  background: #C8B550;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 12px;
}
.js-nav .btn--toggle .icon-bar:nth-of-type(3) {
  background: #C8B550;
  opacity: 0;
}
.js-nav .btn--toggle .icon-bar:nth-of-type(4) {
  background: #C8B550;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: -12px;
}

/*  6.4 Mobile Nav */
.nav-mobile {
  position: fixed;
  z-index: 4000;
  left: 0;
  top: 0;
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.25s ease-out, transform 0.25s ease-out;
}

.nav-mobile__inner {
  background: #FFF;
  min-height: 100%;
  display: inline-block;
  width: 100%;
  padding-top: 6rem;
}
.nav-mobile-active--fixed .nav-mobile__inner {
  min-height: 120%;
}

.nav-mobile-active,
.nav-mobile-active body {
  overflow: hidden;
}

.nav-mobile-active--relative body {
  height: 100%;
}

.nav-mobile-transiting .nav-mobile, .nav-mobile-active .nav-mobile {
  height: 100%;
  -webkit-backface-visibility: hidden;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.nav-mobile-active .nav-mobile {
  opacity: 1;
}

.nav-mobile__inner ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.nav-mobile__inner ul li {
  display: block;
}
.nav-mobile__inner ul a {
  display: block;
  padding: 1rem 1rem;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-dots {
  margin: auto !important;
  width: 100% !important;
  position: absolute !important;
  z-index: 99;
  bottom: -0.9rem;
  text-align: center;
  padding: 0 !important;
  list-style: none;
}
.slick-dots li {
  display: inline-block;
  margin: 0.5rem;
}
.slick-dots button {
  background: #242322 !important;
  width: 0.7rem !important;
  height: 0.7rem !important;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 50%;
  text-indent: -9999px;
  font-size: 0;
  outline: none;
}
.slick-dots .slick-active button {
  background: #C8B550 !important;
}

.slick-prev,
.slick-next {
  position: absolute;
  z-index: 999;
  text-decoration: none;
  padding: 0;
  border: 0;
  bottom: -1rem;
  height: 2rem;
  width: 1rem;
  background: url(../img/arrow.svg);
  background-size: contain;
  background-position: center;
  text-indent: -9999px;
  font-family: 'icomoon';
  transition: all 0.4s ease-out;
  outline: none;
}

.slick-prev {
  left: 0;
  -ms-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.slick-next {
  right: 0;
}

/*
  Transitions
  Transitions and animations  
*/
@media only screen and (min-width: 1025px) {
  .js-fade-in {
    transition: all 0.5s ease-out;
    opacity: 0;
  }
  .js-fade-in.js-in {
    opacity: 1;
  }
}
/*-----------------------------------------------------------------------------------*/
/*  7.0 Header
/*-----------------------------------------------------------------------------------*/
.site-header {
  position: relative;
  z-index: 9999;
  padding-top: 2rem;
  margin-bottom: 1rem;
}

.site-branding {
  float: left;
  position: relative;
  width: 320px;
  z-index: 9;
}

/*-----------------------------------------------------------------------------------*/
/*  8.0 Sections
/*-----------------------------------------------------------------------------------*/
/* 8.1 Section Spacing */
.margin-bottom {
  margin-bottom: 2rem;
}

.margin-top {
  margin-top: 2rem;
}

.margin-bottom--small {
  margin-bottom: 1rem;
}

.spacing {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.padding {
  padding: 2rem;
}

.padding-top {
  padding-top: 2rem;
}

.padding-top--small {
  padding-top: 1rem;
}

.padding-bottom--small {
  padding-bottom: 1rem;
}

body {
  position: relative;
  background: #242322;
}

.site-main {
  min-height: 100vh;
}
.site-main video {
  position: absolute;
  object-fit: cover;
}

a.floorplan {
  display: inline-block;
  background: #C8B550;
  color: #242322;
  text-align: center;
  font-weight: 500;
  position: fixed;
  left: 0;
  bottom: 10vh;
  z-index: 999;
  border-radius: 0 0.75rem 0.75rem 0;
  transition: all 0.25s ease-out;
  transform: translateX(-0.7rem);
}
a.floorplan:hover {
  transform: translateX(0);
}
a.floorplan img,
a.floorplan svg {
  height: 3rem;
  width: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
a.floorplan svg {
  height: 2.6rem;
  margin-top: 0.2rem;
  margin-bottom: 0.2rem;
}
a.floorplan > span {
  display: block;
  padding: 0.8rem 0.8rem 0.5rem 1.5rem;
  border-radius: 0 0.75rem 0.75rem 0;
}
a.floorplan > span span {
  padding-top: 0.25rem;
  padding-right: 1px;
}
a.floorplan .close {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #C8B550;
  opacity: 0;
}

.tab {
  background: #FFF;
  border-radius: 0.5rem;
  position: fixed;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  padding: 1.2rem 1.2rem 1.2rem;
  width: 22rem;
  min-height: 22rem;
  opacity: 0;
  pointer-events: none;
  transition: all 0.4s ease-out;
}
.tab.js-active {
  pointer-events: auto;
  opacity: 1;
}
.tab .tab__logo {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  height: 3rem;
}
.tab .tab__logo img {
  height: 100%;
  width: auto;
  max-width: 100%;
}

.shop {
  background: #FFF;
  position: fixed;
  z-index: 99;
  opacity: 0;
  pointer-events: none;
  transition: all 0.4s ease-out;
}
.shop .tab {
  z-index: 11;
}
body:not(.loading) .shop.js-active {
  pointer-events: auto;
  opacity: 1;
}
body:not(.loading) .shop.js-active .tab {
  pointer-events: auto;
  opacity: 1;
}
.shop video, .shop > img {
  position: absolute;
  z-index: 8;
  object-fit: cover;
}

.flex__text {
  padding-left: 0.6rem;
}
.flex__text h3, .flex__text p {
  margin-bottom: 0;
}
.flex__text p {
  font-size: 0.8rem;
}
.flex__text .price {
  font-size: 1.75rem;
  font-weight: 500;
}
.flex__text .price-before {
  display: inline-block;
  position: relative;
  font-size: 1.1rem;
  margin-top: 0.25rem;
}
.flex__text .price-before::before {
  content: '';
  position: absolute;
  top: 50%;
  left: -1px;
  right: -1px;
  height: 2px;
  background: #A38F4B;
  transform: rotate(-6deg);
}

.btn--start {
  display: inline-block;
  color: #FFF;
  position: absolute;
  z-index: 9;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  font-weight: 500;
}

.slick {
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}

.controls {
  position: absolute;
  z-index: 9;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  width: 14rem;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transition: all 0.4s ease-out;
}
.controls.js-active {
  pointer-events: auto;
  opacity: 1;
}
.js-shop .controls {
  opacity: 0 !important;
  pointer-events: none !important;
}
.controls a {
  color: #FFF;
  display: inline-block;
  margin: 0 2rem;
  font-weight: 500;
}

.overlay--loading {
  position: fixed;
  z-index: 9999;
  background: #FFF;
  opacity: 0;
  pointer-events: none;
  transition: all 0.25s ease-out;
}
.loading .overlay--loading {
  opacity: 1;
}
.overlay--loading svg:first-child {
  display: block;
  max-width: 30rem;
  margin: 0 auto;
}
.overlay--loading svg:last-child {
  display: block;
  margin: 2rem auto 0;
}

.overlay--floorplan {
  position: fixed;
  z-index: 998;
  background: #FFF;
  opacity: 0;
  pointer-events: none;
  transition: all 0.25s ease-out;
}
.js-plan .overlay--floorplan {
  opacity: 1;
  pointer-events: auto;
}
.overlay--floorplan .inner {
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem;
}
.overlay--floorplan ul {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
}
.overlay--floorplan li {
  margin-bottom: 1rem;
}
.overlay--floorplan a {
  display: inline-block;
  color: #242322;
}
.overlay--floorplan a span {
  display: inline-block;
  min-width: 1.2rem;
  font-weight: bold;
  color: #C8B550;
}
.overlay--floorplan a[data-id="10"] {
  pointer-events: none !important;
}
.overlay--floorplan a:hover {
  color: #C8B550;
}
.overlay--floorplan svg {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-height: 40vh;
}

#plan-10 {
  pointer-events: none !important;
}

.tab--enter[data-id="10"] {
  display: none !important;
}

.dots {
  position: relative;
  margin: 3rem auto 0;
  width: 200px;
  height: 1rem;
}
.dots span {
  position: absolute;
  top: 2rem;
  left: calc(50% - 0.5rem);
  width: 1rem;
  height: 1rem;
  background: #A38F4B;
  border-radius: 50%;
}

#a1 {
  margin-left: -6rem;
  animation: loading ease-out 1s infinite;
}

#a2 {
  margin-left: -2rem;
  animation: loading ease-out 1s 0.25s infinite;
}

#a3 {
  margin-left: 2rem;
  animation: loading ease-out 1s 0.5s infinite;
}

#a4 {
  margin-left: 6rem;
  animation: loading ease-out 1s 0.75s infinite;
}

@keyframes loading {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
.tab__nav {
  position: absolute;
  z-index: 9999;
  top: 5rem;
  padding: 1.2rem 1.2rem 1.2rem;
  bottom: 0.25rem;
  left: 0;
  right: 0;
  background: #FFF;
  opacity: 0;
  pointer-events: none;
  transition: all 0.25s ease-out;
}
.tab__nav a {
  display: block;
  margin: 1rem 0;
}
.js-nav .shop.js-active .tab__nav {
  opacity: 1;
  pointer-events: auto;
}

.js-shop .floorplan .close,
.js-plan .floorplan .close {
  opacity: 1;
}

.js-shop .floorplan .close {
  opacity: 1;
}
.js-shop .floorplan .close span {
  display: none;
}
.js-shop .floorplan .close .hidden {
  display: inline-block !important;
  line-height: 1;
  padding-top: 0;
  font-size: 0.8rem;
}

#svg-plans path {
  cursor: pointer;
}

.overlay--turn {
  display: none;
  position: fixed;
  z-index: 99999;
  background: #FFF;
  text-align: center;
  padding: 2rem;
}
.overlay--turn img {
  width: 12rem;
  margin-bottom: 3rem;
  margin-top: 4rem;
}
.overlay--turn svg {
  width: 22rem;
}
.overlay--turn h3 {
  border-top: 2px solid #A38F4B;
  margin-top: 2rem;
  padding-top: 2rem;
  font-size: 3rem;
  line-height: 1.1;
  font-weight: bold;
  color: #A38F4B;
}
.overlay--turn p {
  font-size: 2.2rem;
}

.n-1,
.n-2,
.n-3,
.n-4,
.n-5,
.n-6,
.n-7,
.n-8,
.n-9,
.n-10,
.n-11,
.n-12,
.n-13,
.n-14 {
  pointer-events: none;
}

/*-----------------------------------------------------------------------------------*/
/*  9.0 Footer
/*-----------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------*/
/*  10.0 Media Queries
/*-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 1400px) {
  html {
    font-size: 18px;
  }
}
@media only screen and (max-width: 1300px) {
  html {
    font-size: 16px;
  }

  .btn--toggle {
    top: 1rem;
  }
}
@media only screen and (max-width: 1024px) {
  html {
    font-size: 14px;
  }

  .btn--toggle .icon-bar {
    margin: 5px auto;
    height: 3px;
  }

  .btn--toggle {
    top: 0.8rem;
  }

  .js-nav .btn--toggle .icon-bar:nth-of-type(2) {
    top: 7px;
  }

  .js-nav .btn--toggle .icon-bar:nth-of-type(4) {
    top: -9px;
  }
}
@media only screen and (max-width: 1020px) {
  html {
    font-size: 12px;
  }
}
@media only screen and (max-width: 800px) {
  html {
    font-size: 10px;
  }

  .btn--toggle {
    height: 34px;
  }
}
@media only screen and (max-width: 640px) {
  html {
    font-size: 9px;
  }
}
@media (max-width: 1100px) and (orientation: portrait) {
  .overlay--turn {
    display: flex !important;
  }
}
