@font-face {
    font-family: 'Rossie Kelly';
    src: url('../fonts/RossieKelly.woff2') format('woff2'),
        url('../fonts/RossieKelly.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

@font-face {
    font-family: 'Lato';
    src: url('../fonts/Lato-Bold.woff2') format('woff2'),
        url('../fonts/Lato-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Lato';
    src: url('../fonts/Lato-Regular.woff2') format('woff2'),
        url('../fonts/Lato-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Oswald';
    src: url('../fonts/Oswald-Regular.woff2') format('woff2'),
        url('../fonts/Oswald-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Oswald';
    src: url('../fonts/Oswald-Bold.woff2') format('woff2'),
        url('../fonts/Oswald-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

/* REBOOT */
*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}

:root {
  --white: #ffffff;
  --black: #000000;
  --beige: #cdc2b0;
  --beigelight: #aaa997;
  --beigelighter: #d6cdbe;
  --beigelightest: #e0d7ce;
  --gold: #af8054;
  --gold-text: #966334;
  --golddark: #a26e3d;
  --grey: #ececec;
  --greydark: #878787;
  --greydarker: #5a5a5a;
  --greydarkest: #171715;
  --greylight: #f6f6f6;
  
  --padding50: 50px;
  --padding75: 75px;
  --padding100: 100px;
}

@media (max-width: 767px) {
  :root {
    --padding50: 25px;
    --padding75: 50px;
    --padding100: 50px;
  }
}

/* PRELOADS */
body::after {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  z-index: -1;
  content: url() url();
}

* {
  padding: 0;
  margin: 0;
}

a {
  -webkit-transition: color 0.25s;
  -moz-transition: color 0.25s;
  -o-transition: color 0.25s;
  transition: color 0.25s;
}

a,
a:visited {
  color: inherit;
  outline: none;
  text-decoration: none;
}

a:hover,
a:focus {
  color: inherit;
  outline: none;
  text-decoration: none;
}

a:hover {
  color: inherit;
  -webkit-transition: color 0.25s;
  -moz-transition: color 0.25s;
  -o-transition: color 0.25s;
  transition: color 0.25s;
}

a.no-hover {
  color: inherit !important;
}

.uk-link {
  color: var(--gold-text);
  font-weight: 500;
  text-decoration: underline;
  cursor: pointer;
}

#view .uk-icon-button {
  background: var(--white);
  color: var(--greydarkest);
}

#view .uk-icon-button:hover {
  background: var(--grey);
  color: var(--greydarkest);
}

#view .uk-slidenav {
  padding: 10px 15px;
  background: rgba(255,255,255,0.5);
  color: var(--greydarkest);
  border-radius: 100%;
  transition: background 0.25s;
}

#view .uk-slidenav:hover {
  background: rgba(255,255,255,0.75);
  color: var(--greydarkest);
}

#view .uk-slidenav svg {
  width: 10px;
  height: 20px;
}

.uk-lightbox {
  background: rgba(0, 0, 0, 1);
}

.uk-lightbox-toolbar {
  background: transparent;
  transform: translateY(0) !important;
}

.uk-lightbox-caption {
  background: rgba(0, 0, 0, 0.75);
  color: var(--white);
  font-size: 12px;
}

.uk-lightbox-button {
  background: transparent;
  color: var(--white) !important;
}

.uk-close {
  color: var(--white) !important;
  background: var(--black) !important;
}

.uk-light .uk-dotnav>*>* {
  border-color: var(--white);
}

.uk-light .uk-dotnav>.uk-active>* {
  background-color: var(--white);
}

.uk-lightbox-items>*>* {
  max-width: 90vw;
  max-height: 85vh;
}

input,
button,
textarea {
  outline: none !important;
}

p em a,
p em a:hover {
  text-decoration: underline;
}

button {
  cursor: pointer;
  outline: none !important;
}

html,
body {
  font-family: 'Lato',sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 1.5;
  background: var(--white);
  color: var(--greydarkest);
  text-align: left;
  -webkit-overflow-scrolling: touch;
  position: relative;
  height: auto;
  padding: 0;
  margin: 0;
}

@media (max-width: 1439px) {

  html,
  body {
    font-size: 16px;
  }
}

html,
button,
input,
textarea {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

@-moz-document url-prefix() {
  body {
    font-weight: lighter !important;
  }
}




h1,
h2,
h3,
h4,
h5 {
  font-family: 'Oswald',sans-serif;
  font-weight: 700;
  font-style: normal;
  font-stretch: normal;
  line-height: 1.125;
  margin: 0;
  padding: 0;
  color: inherit;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

h1,
h2 {
    font-size: 2em;
    display: inline-block;
    color: var(--gold);
    padding: 0 0 15px 0;
    margin: 0 0 15px 0;
    border-bottom: 1px solid var(--greydarkest);
}

@media (max-width: 767px) {
  h1,
  h2 {
    font-size: 1.5em; 
  }
}



b,
strong {
  font-weight: 700;
  font-style: normal;
  font-stretch: normal;
}

p {
  margin: 0;
  padding: 0;
  font-size: 1em;
}

p em,
p i {
  font-style: italic;
}





::-moz-selection {
  background: var(--black);
  color: var(--white);
  text-shadow: none;
}

::selection {
  background: var(--black);
    color: var(--white);
  text-shadow: none;
}

#view {
  width: 100%;
  height: auto;
  padding: 115px 0 0 0;
  overflow: hidden;
}

@media (max-width: 767px) {
  #view {
    padding: 65px 0 0 0;
  }
}

/* NAV */
#hamburger {
  display: none;
}

#nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 115px;
  padding: 30px 25px 20px 25px;
  background: var(--beige);
  color: var(--greydarker);
  border-bottom: 5px solid #fff;
  z-index: 500;
}

@media (max-width: 1023px) {
  #nav {
    padding: 70px 25px 10px 25px;
  }
}

@media (max-width: 767px) {
  #nav {
    height: 65px;
    padding: 0;
  }
  
  #nav:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background: var(--beige);
    z-index: 20;
  }
}

#nav-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  display: block;
  width: 275px;
  height: auto;
  z-index: 25;
}

@media (max-width: 1199px) {
  #nav-logo {
    width: 250px;
  }
}

@media (max-width: 1099px) {
  #nav-logo {
    width: 200px;
  }
}

@media (max-width: 1023px) {
  #nav-logo {
    top: 15px;
    transform: translate(-50%,0);
  }
}

@media (max-width: 767px) {
  #nav-logo {
    width: 175px;
    left: 15px;
    top: 10px;
    transform: translate(0,0);
  }
}

#nav-logo img {
  width: 100%;
  height: auto;
}

.main-nav ul {
  position: absolute;
  top: 30px;
  list-style-type: none;
  padding: 0;
  margin: 0 -25px 0 0;
  font-size: 14px;
  letter-spacing: 0.025em;
  font-weight: 700;
  line-height: 60px;
  text-transform: uppercase;
}

@media (max-width: 1023px) {
  .main-nav {
    text-align: center;
  }
  
  .main-nav ul {
    display: inline-block;
    position: relative;
    top: 0;
    margin: 0;
    line-height: 30px;
  }
}

@media (max-width: 767px) {
  .main-nav ul {
    display: block;
  }
}

.main-nav ul:first-child {
  right: calc(50% + 175px);
}

.main-nav ul:last-child {
  left: calc(50% + 175px);
}

@media (max-width: 1199px) {
  .main-nav ul:first-child {
    right: calc(50% + 150px);
  }
  
  .main-nav ul:last-child {
    left: calc(50% + 150px);
  }
}

@media (max-width: 1099px) {
  .main-nav ul:first-child {
    right: calc(50% + 125px);
  }
  
  .main-nav ul:last-child {
    left: calc(50% + 125px);
  }
}

@media (max-width: 1023px) {
  .main-nav ul:first-child {
    right: 0;
  }
  
  .main-nav ul:last-child {
    left: 0;
  }
}

.main-nav li {
  display: inline-block;
  padding: 0 25px 0 0;
  margin: 0;
}

@media (max-width: 1099px) {
  .main-nav ul {
    margin: 0 -15px 0 0;
  }
  
  .main-nav li {
    padding: 0 15px 0 0;
  }
}

@media (max-width: 1023px) {
  .main-nav ul {
    margin: 0;
  }
  
  .main-nav li {
    padding: 0 10px;
  }
}

@media (max-width: 767px) {
  .main-nav li {
    display: block;
    padding: 5px 0;
    text-align: center;
  }
}

.main-nav li.active a {
  color: var(--greydarkest);
}

.lanugage-nav {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 25;
}

@media (max-width: 767px) {
  .lanugage-nav {
    top: 17px;
    right: 85px;
  }
}

.lanugage-nav ul {
  list-style-type: none;
  padding: 0;
  margin: 0 -5px 0 0;
}

.lanugage-nav li {
  display: inline-block;
  padding: 0 5px 0 0;
  margin: 0;
}

.lanugage-nav a {
  display: block;
  width: 25px;
  height: auto;
}

.lanugage-nav img {
  width: 100%;
  height: auto;
}

@media (max-width: 767px) {
  .nav-layer {
    position: absolute;
    top: -100vh;
    left: 0;
    width: 100%;
    height: 100vh;
    background: var(--beige);
    z-index: 1;
    overflow: hidden;
    transition: top 0.25s;
  }
  
  .nav-shown .nav-layer {
    top: 0;
  }

  body.nav-shown {
    overflow: hidden;
  }

  .nav-scoll {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  #hamburger:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
  }
  
  .nav-scoll {
    width: 100%;
    margin: auto;
    max-height: 100%;
    overflow: auto;
  }
  
  .nav-scroll-inner {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    min-height: 100vh;
  }
  
  .main-nav {
    display: flex;
    width: 100%;
    height: min-content;
    flex-direction: column;
    padding: 85px 25px 25px 25px;
    margin: 0 auto;
    text-align: left;
    min-height: 100vh;
    position: relative;
    justify-content: center;
  }
  
  #hamburger {
  display: block;
  position: absolute;
  border: 0;
  padding: 0;
  background: transparent;
  -webkit-appearance: none;
  appearance: none;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 15px;
  width: 45px;
  height: 40px;
  cursor: pointer;
  z-index: 100;
  }
  
  #hamburger .line {
  position: absolute;
  left: 10px;
  width: 25px;
  height: 2px;
  background: var(--white);
  --webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  -o-transition: all 0.25s;
  transition: all 0.25s;
  opacity: 1;
  }
  
  #hamburger .lineA {
  top: calc(50% - 7px);
  }
  
  #hamburger .lineB {
  bottom: calc(50% - 7px);
  }
  
  #hamburger .lineC {
  top: 50%;
  bottom: 50%;
  right: 10px;
  margin: auto;
  }
  
  .nav-shown #hamburger .line {
  background: var(--white);
  }
  
  .nav-shown #hamburger .lineA {
  top: calc(50% - 1px);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  }
  
  .nav-shown #hamburger .lineB {
  bottom: calc(50% - 1px);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  }
  
  .nav-shown #hamburger .lineC {
  opacity: 0;
  width: 0; 
  }
}



/* HEADER */
.header-slider {
  width: 100%;
  height: auto;
  position: relative;
}

.header-buttons {
  position: absolute;
  bottom: 0;
  right: 0;
  background: var(--white);
  padding: 1px 0 0 1px;
  z-index: 50;
}

.header-buttons ul {
  list-style-type: none;
  padding: 0;
  margin: 0 -1px -1px 0;
}

.header-buttons li {
  display: inline-block;
  padding: 0 1px 1px 0;
  margin: 0;
}

.header-buttons a {
  display: block;
  padding: 10px;
  background: var(--beigelight);
  color: var(--white);
  font-size: 1em;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  min-width: 6.5em;
  text-align: center;
  transition: background-color 0.25s;
}

.header-buttons a:hover {
  background: var(--beige);
  color: var(--white);
  transition: background-color 0.25s;
}

@media (max-width: 767px) {
  #header .uk-slideshow-items {
    aspect-ratio: 3 / 2 !important;
  }
}


/* SECTIONS */
.section {
  width: 100%;
  height: auto;
}

.limit {
  max-width: 1440px;
  margin: 0 auto;
}

.section-text {
  height: auto;
  margin: 0 0 -15px 0;
  overflow: hidden;
}

.section-text i,
.section-text em {
  font-size: inherit;
  font-weight: inherit;
  font-style: normal;
  color: inherit;
  text-transform: uppercase;
}

.section-text i strong,
.section-text em strong,
.section-text i b,
.section-text em b {
  font-weight: 700;
}

.section-text p {
  font-size: 1em;
  line-height: 1.5;
  margin: 0;
  padding: 0 0 15px 0;
}

.section-text ul {
  font-size: 1em;
  line-height: 1.5;
  list-style-type: none;
  margin: 0;
  padding: 0 0 10px 0;
}

.section-text ul li {
  margin: 0;
  padding: 0 0 5px 1em;
  position: relative;
}

.section-text ul li:before {
  content: '\2022';
  display: inline-block;
  color: var(--gold);
  font-weight: 400;
  position: absolute;
  left: 0;
}

.section-text ul li ul {
  font-size: 1em;
  line-height: 1.5;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.section-text ul li ul li {
  margin: 0;
  padding: 5px 0 0 1em;
  position: relative;
}

.section-text ul li ul li:before {
  content: '\2022';
  display: inline-block;
  color: var(--gold);
  font-weight: 700;
  position: absolute;
  left: 0;
}

.section-text a {
  color: var(--gold-text) !important;
  text-decoration: underline !important;
}

/* HOME INTRO */
.home-intro {
  width: 100%;
  padding: var(--padding50) 25px;
  background: var(--white);
}

.home-intro-content {
  width: 100%;
  height: auto;
  padding: var(--padding50) var(--padding50) var(--padding50) 25%;
  background: var(--grey);
  position: relative;
}

@media (max-width: 1099px) {
  .home-intro-content {
    padding: var(--padding50);
  }
}

.home-birds {
  position: absolute;
  top: -25px;
  left: 10px;
  width: calc(25% - var(--padding75));
  height: auto;
  z-index: 5;
}

@media (max-width: 1099px) {
  .home-birds {
    width: 150px;
    opacity: 0.5;
    left: -10px;
  }
}

.home-birds:before {
  content: none;
  display: none;
}

.home-birds-svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.home-birds-svg .home-bird {
  fill: #868786;
  transform-box: fill-box;
  transform-origin: center;
  will-change: transform;
}

.home-birds {
  transform-origin: 50% 50%;
  will-change: transform;
}

/* Fallback, falls Web Animations API nicht verfügbar ist */
.home-birds.birds-fallback {
  animation: homeBirdsFallback 6s ease-in-out infinite;
}

@keyframes homeBirdsFallback {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
  35% { transform: translate3d(7px, -5px, 0) rotate(-1deg); }
  70% { transform: translate3d(-5px, 4px, 0) rotate(1deg); }
}

@media (prefers-reduced-motion: reduce) {
  .home-birds,
  .home-birds-svg .home-bird {
    animation: none !important;
    transform: none !important;
  }
}

.home-intro-rows {
  max-width: 950px;
}

.home-intro-grid {
  position: relative;
  display: grid;
  grid-template-columns: 20em auto;
  grid-column-gap: var(--padding50);
  grid-row-gap: 25px;
  padding-bottom: 25px;
  z-index: 25;
}

@media (max-width: 767px) {
  .home-intro-grid {
    grid-template-columns: 100%;
  }
}

.home-intro-image {
  position: relative;
  top: calc(0px - var(--padding75));
  width: 100%;
  height: auto;
  padding-top: 75%;
  margin-bottom: calc(0px - var(--padding75));
}

@media (max-width: 767px) {
  .home-intro-image {
    top: 0;
    padding-top: 60%;
    margin-bottom: 0;
  }
}

.home-intro-text {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: var(--padding50);
  grid-row-gap: 25px;
}

@media (max-width: 675px) {
  .home-intro-text {
    grid-template-columns: 100%;
  }
}

/* ROOM CATS */
.room-categories {
  padding: var(--padding100) var(--padding50);
  background: var(--beigelightest) url(../backgrounds/muster10.png);
}

.room-categories-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  padding: 25px 0 0 0;
}

@media (max-width: 1099px) {
  .room-categories-items {
    grid-column-gap: 10px;
  }
}

@media (max-width: 767px) {
  .room-categories-items {
    grid-template-columns: 100%;
  }
}

.room-categories-item {
  position: relative;
}

.room-categories-image {
  width: 100%;
  height: auto;
  padding-top: 75%;
  position: relative;
}

@media (max-width: 767px) {
  .room-categories-image {
    padding-top: 60%;
  }
}

.room-categories-item h3 {
  position: absolute;
  top: 20px;
  left: 20px;
  font-size: 1.25em;
}

.room-categories-booking {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0);
  transition: background-color 0.25s;
}

.room-categories-booking:hover {
  background: rgba(0,0,0,0.1);
  transition: background-color 0.25s;
}

.room-categories-booking span {
  position: absolute;
  display: block;
  left: 20px;
  bottom: 20px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--white);
}


/* TEXT COLUMNS */
.text-columns {
  width: 100%;
  height: auto;
  padding: var(--padding100) var(--padding50);
  background: var(--white) url(../icons/mountains.svg) no-repeat;
  background-size: 40% auto;
  background-position: 100% 100%;
}

.text-columns-header {
  text-align: center;
  padding-bottom: var(--padding75);
}

.text-columns-header h2 {
  padding: 0 0 15px 0;
  margin: 0;
  border-bottom: none;
}

.text-columns-header p {
  font-family: 'Oswald',sans-serif;
  font-weight: 700;
  font-size: 1em;
  line-height: 1.125;
  margin: 0;
  padding: 0 0 15px 0;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.text-columns-header:after {
  content: '';
  display: block;
  width: 100%;
  max-width: 20em;
  height: 1px;
  margin: 0 auto;
  background: var(--gold);
}

.text-columns-grid {
  display: grid;
  grid-template-columns: 17.5em auto;
  grid-column-gap: var(--padding50);
  grid-row-gap: 25px;
  max-width: 800px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .text-columns-grid {
    grid-template-columns: 100%;
  }
}

.text-columns-col h3 {
  font-size: 1em;
  padding: 0 0 25px 0;
}

.text-columns-col .section-text + h3 {
  padding: var(--padding50) 0 25px 0;
}

@media (max-width: 767px) {
  .text-columns-col h3 {
    padding: 0 0 10px 0;
  }
  
  .text-columns-col .section-text + h3 {
    padding: var(--padding50) 0 10px 0;
  }

}


/* PARALLAX GRID */
.parallax-grid-section {
  width: 100%;
  height: auto;
  padding: var(--padding100) var(--padding50);
  background: var(--white) url(../icons/mountains.svg) no-repeat;
  background-size: 40% auto;
  background-position: 100% 100%;
}

.parallax-grid {
  padding-bottom: 150px;  
}

.parallax-grid-text-box {
  height: auto;
  min-height: 15em;
  padding: var(--padding50) 25px;
  background: var(--beigelightest);
  border-radius: 0 0 10px 10px;
  overflow: hidden;
  position: relative;
}

.add-triangle:before {
  content: '';
  position: absolute;
  top: 25px;
  right: 0;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 25px 25px 25px 0;
  border-color: transparent var(--white) transparent transparent;
}

.parallax-grid .uk-grid {
  margin-left: -20px;
}

.parallax-grid .uk-grid>* {
  padding-left: 20px;
}

.parallax-grid *+.uk-grid-margin, 
.parallax-grid .uk-grid+.uk-grid, 
.parallax-grid .uk-grid>.uk-grid-margin {
  margin-top: 20px;
}

@media (max-width: 767px) {
  .parallax-grid .uk-grid {
    margin-left: -10px;
  }
  
  .parallax-grid.uk-grid>* {
    padding-left: 10px;
  }
  
  .parallax-grid *+.uk-grid-margin, 
  .parallax-grid .uk-grid+.uk-grid, 
  .parallax-grid .uk-grid>.uk-grid-margin {
    margin-top: 10px;
  }
}

.parallax-grid-header {
  text-align: center;
  padding-bottom: var(--padding75);
}

.parallax-grid-header h1,
.parallax-grid-header h2 {
  padding: 0 0 15px 0;
  margin: 0;
  border-bottom: none;
}

.parallax-grid-header p {
  font-family: 'Oswald',sans-serif;
  font-weight: 700;
  font-size: 1em;
  line-height: 1.125;
  margin: 0;
  padding: 0 0 15px 0;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.parallax-grid-header:after {
  content: '';
  display: block;
  width: 100%;
  max-width: 12em;
  height: 1px;
  margin: 0 auto;
  background: var(--gold);
}

.parallax-grid-text-columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 50px;
  grid-row-gap: 25px;
  max-width: 1080px;
  margin: 0 auto;
  padding-bottom: var(--padding75);
}

@media (max-width: 767px) {
  .parallax-grid-text-columns {
    grid-template-columns: 100%;
  }
}




/* PRICING */
.pricing-section {
  width: 100%;
  height: auto;
  padding: var(--padding100) var(--padding50);
  background: var(--white) url(../icons/mountains.svg) no-repeat;
  background-size: 40% auto;
  background-position: 100% 100%;
}

.pricing-items {
  height: auto;
  margin: 0 0 calc(0px - var(--padding100)) 0;
}

.pricing-item {
  height: auto;
  padding: 0 0 var(--padding100) 0;
}

.pricing-grid-header {
  text-align: center;
  padding-bottom: var(--padding75);
}

.pricing-grid-header h1,
.pricing-grid-header h2 {
  padding: 0 0 15px 0;
  margin: 0;
  border-bottom: none;
}

.pricing-grid-header p {
  font-family: 'Oswald',sans-serif;
  font-weight: 700;
  font-size: 1em;
  line-height: 1.125;
  margin: 0;
  padding: 0 0 15px 0;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.pricing-grid-header:after {
  content: '';
  display: block;
  width: 100%;
  max-width: 5em;
  height: 1px;
  margin: 0 auto;
  background: var(--gold);
}

.pricing-grid-text-columns {
  display: grid;
  grid-template-columns: auto 30em;
  grid-column-gap: 50px;
  grid-row-gap: 50px;
  max-width: 1280px;
  margin: 0 auto;
}

@media (max-width: 1099px) {
  .pricing-grid-text-columns {
    grid-template-columns: 100%;
  }
}

.pricing-item h3 {
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
  color: var(--gold-text);
  padding: 0 0 10px 0;
}

.uk-table {
  border-top: 1px solid #e5e5e5;
}

.pricing-table {
  margin-bottom: 10px;
}

.pricing-table-footnote {
  padding: 5px 0 0 0;
  font-size: 0.75em;
  line-height: 1.25;
}

.pricing-table-footnote a {
  color: var(--gold-text) !important;
  text-decoration: underline !important;
}

.pricing-table-footnote + p,
.pricing-table-footnote + ul {
  margin-top: 25px;
}

.offer-items {
  margin: 0 0 -30px 0;
}

.offer-item {
  padding: 0 0 30px 0;
}

.uk-table th:last-child,
.uk-table td:last-child {
  text-align: right;
}

.uk-table-striped tbody tr:nth-of-type(even), 
.uk-table-striped>tr:nth-of-type(even) {
  background: var(--white);
}




/* CONTACT */
.contact-section {
  width: 100%;
  height: auto;
  padding: var(--padding100) var(--padding50);
  background: var(--white);
}

.contact-items {
  height: auto;
  margin: 0 0 calc(0px - var(--padding100)) 0;
}

.contact-item {
  height: auto;
  padding: 0 0 var(--padding100) 0;
}

.contact-grid-header {
  text-align: center;
  padding-bottom: var(--padding75);
}

.contact-grid-header h1,
.contact-grid-header h2 {
  padding: 0 0 15px 0;
  margin: 0;
  border-bottom: none;
}

.contact-grid-header p {
  font-family: 'Oswald',sans-serif;
  font-weight: 700;
  font-size: 1em;
  line-height: 1.125;
  margin: 0;
  padding: 0 0 15px 0;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.contact-grid-header:after {
  content: '';
  display: block;
  width: 100%;
  max-width: 5em;
  height: 1px;
  margin: 0 auto;
  background: var(--gold);
}

.contact-grid-text-columns {
  display: grid;
  grid-template-columns: auto 30em;
  grid-column-gap: 50px;
  grid-row-gap: 50px;
  max-width: 1280px;
  margin: 0 auto;
}

@media (max-width: 1099px) {
  .contact-grid-text-columns {
  grid-template-columns: 100%;
  }
}

.contact-item h3 {
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
  color: var(--gold-text);
  padding: 0 0 10px 0;
}

.uk-table {
  border-top: 1px solid #e5e5e5;
}

.contact-table {
  margin-bottom: 10px;
}

.contact-table-footnote {
  padding: 5px 0 0 0;
  font-size: 0.75em;
  line-height: 1.25;
}

.contact-table-footnote a {
  color: var(--gold-text) !important;
  text-decoration: underline !important;
}

.contact-table-footnote + p,
.contact-table-footnote + ul {
  margin-top: 25px;
}

.arrival-items {
  margin: 0 0 -30px 0;
}

.arrival-item {
  padding: 0 0 30px 0;
}

.contact-map {
  width: 100%;
  height: auto;
  padding-top: 60%;
  position: relative;
}

.contact-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  filter: grayscale(1);
}




/* ROOMS */
.room-intro {
  position: relative;
  padding: var(--padding100) var(--padding50);
}

.room-birds {
  position: absolute;
  bottom: 25px;
  right: calc(50% + 50px);
  width: 250px;
  height: auto;
  z-index: 5;
  opacity: 0.5;
}

@media (max-width: 990px) {
  .room-birds {
    width: 250px;
    top: 25px;
    right: 25px;
    bottom: auto;
  }
}

@media (max-width: 600px) {
  .room-birds {
    width: 150px;
  }
}

.room-birds:before {
  content: '';
  display: block;
  width: 100%;
  height: auto;
  padding-top: 94%;
  background: url(../icons/birds.svg) center center no-repeat;
  background-size: 100% 100%;
}

.room-intro-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 50px;
  grid-row-gap: 25px;
  max-width: 1200px;
  margin: 0 auto;
  z-index: 25;
}

@media (max-width: 990px) {
  .room-intro-grid {
    grid-template-columns: 100%;
  }
}

.room-intro-image {
  width: 100%;
  height: auto;
  padding-top: 60%;
}

.room-intro-images-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 10px;
  grid-row-gap: 10px;
}

.room-intro-images-grid-item:nth-child(1) { grid-area: 1 / 1 / 2 / 3; }
.room-intro-images-grid-item:nth-child(2) { grid-area: 2 / 1 / 3 / 2; }
.room-intro-images-grid-item:nth-child(3) { grid-area: 2 / 2 / 3 / 3; }

/* ROOMS GRID */
.rooms {
  position: relative;
  padding: var(--padding100) var(--padding50);
}

.room-intro-section + .rooms-section .rooms {
  padding: 0 var(--padding50) var(--padding100) var(--padding50);
}

.rooms-mountain {
  background: var(--white) url(../icons/mountains.svg) no-repeat;
  background-size: 40% auto;
  background-position: 100% 100%;
}

.room-items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  max-width: 1200px;
  margin: 0 auto;
}

@media (max-width: 900px) {
  .room-items {
    grid-template-columns: 100%;
  }
}

.room-item {
  display: flex;
  flex-direction: column;
  padding: 25px;
  background: var(--beigelightest);
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}

@media (max-width: 1199px) {
  .room-item {
    padding: 25px 10px;
  }
}

@media (max-width: 900px) {
  .room-item {
    padding: 25px 20px;
  }
}

.room-item h2 {
  font-size: 1.75em;
  padding: 0 0 25px 0;
  margin: 0;
  border-bottom: none;
}

@media (max-width: 900px) {
  .room-item h2 {
    font-size: 1.375em; 
  }
}

.room-item-image {
  width: 100%;
  height: auto;
  padding-top: 60%;
}

.room-item h3 {
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.25;
  text-transform: none;
  color: var(--greydarkest);
  padding: 25px 0;
}

.room-item-description {
  flex-grow: 1; 
}

.room-item-furnishing {
  padding: 25px 9em 0 0;
}

@media (max-width: 900px) {
  .room-item-furnishing {
    padding: 25px 8em 0 0;
  }
}

.room-item-button {
  display: block;
  position: absolute;
  right: 25px;
  bottom: 25px;
  padding: 15px 20px;
  background: var(--gold);
  color: var(--white);
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1em;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  transition: background 0.25s;
}

.room-item-button:after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 15px 15px 0 0;
  border-color: var(--beige) transparent transparent transparent;
}

@media (max-width: 1199px) {
  .room-item-button {
    right: 10px;
  }
}

@media (max-width: 900px) {
  .room-item-button {
    font-size: 1em;
    right: 20px;
  }
}

.room-item-button:hover {
  background: var(--golddark);
  color: var(--white);
  transition: background 0.25s;
}


/* PARALLAX IMAGE */
.parallax {
  width: 100%;
  height: auto;
  min-height: 50vh;
  overflow: hidden;
  position: relative;
}


/* CAROUSEL */
.footer-carousel {
  padding: 10px 0;
}

@media (max-width: 767px) {
  .footer-carousel {
    padding: 5px 0;
  }
}

.carousel-landscape {
  width: 100%;
  height: auto;
  padding-top: 50%;
  position: relative;
}

.carousel-portrait {
  width: 100%;
  height: auto;
  padding-top: 150%;
  position: relative;
}

.footer-carousel .uk-grid {
  margin-left: -10px;
}

.footer-carousel .uk-grid>* {
  padding-left: 10px;
}

@media (max-width: 767px) {
  .footer-carousel .uk-grid {
    margin-left: -5px;
  }
  
  .footer-carousel .uk-grid>* {
    padding-left: 5px;
  }
}

.footer-carousel .uk-slider-items li > div:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0);
  transition: background-color 0.25s;
  pointer-events: none;
}

.footer-carousel .uk-slider-items li > div:hover:after {
  background: rgba(0, 0, 0, 0.1);
  transition: background-color 0.25s;
}

/* FOOTER */
#footer {
  width: 100%;
  height: auto;
  padding: var(--padding75) var(--padding50) var(--padding100) var(--padding50);
  background: var(--beigelighter) url(../icons/trees.svg) no-repeat;
  background-size: 300px auto;
  background-position: calc(100% + 50px) calc(100% + 50px);
}

@media (max-width: 959px) {
  #footer {
    background-size: 150px auto;
    background-position: calc(100% + 25px) calc(100% + 25px);
  } 
}

#footer .limit {
  max-width: 1100px;
  margin: 0 auto;
}

.footer-grid {
  display: grid;
  grid-template-columns: 17.5em calc(15em + 100px) auto;
  grid-column-gap: 50px;
  grid-row-gap: 25px;
}

.footer-col:nth-child(2) {
  padding: 0 50px;
}

@media (min-width: 960px) {
  .footer-grid {
    grid-auto-rows: 1fr;
  }
  
  .footer-col:nth-child(2) {
    border-left: 1px solid var(--greydarkest);
    border-right: 1px solid var(--greydarkest);
  }
}

@media (max-width: 1199px) {
  .footer-grid {
    grid-template-columns: 16.5em calc(12.5em + 50px) auto;
    grid-column-gap: 25px;
  }
  
  .footer-col:nth-child(2) {
    padding: 0 25px;
  }
}

@media (max-width: 959px) {
  .footer-grid {
    grid-template-columns: 100%;
  }
  
  .footer-col:nth-child(2) {
    padding: 25px 0;
    border-top: 1px solid var(--greydarkest);
    border-bottom: 1px solid var(--greydarkest);
  }
}

.redfloor {
  position: absolute;
  bottom: 20px;
  right: 20px;
  width: 40px;
  height: auto;
}

.redfloor img {
  width: 100%;
  height: auto;
}

#footer h3 {
  font-size: 1em;
  padding: 0 0 1.25em 0;
}

.footer-col {
  display: flex;
  flex-direction: column;
}

.footer-logo {
  flex-grow: 1;
}

.footer-logo img {
  width: 200px;
  height: auto;
  max-width: 100%;
}

.footer-links {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: auto;
}

@media (max-width: 959px) {
  .footer-links {
    padding: 25px 0 0 0;
  }
}

.footer-links p {
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
}

ul.footer-social {
  list-style-type: none;
  padding: 0;
  margin: 0 -5px -5px 0;
}

ul.footer-social li {
  display: inline-block;
  padding: 0 5px 5px 0;
  margin: 0;
}


/* COOKIES */
#cookieconsent {
  display: none;
  background: var(--greylight);
  height: auto;
  font-size: 1em;
  line-height: 1.25;
  color: var(--black);
  text-align: left;
  padding: 25px 30px;
  font-weight: 400;
  position: fixed;
  bottom: 0;
  right: 0;
  width: 28em;
  max-width: 100%;
  z-index: 500;
  border-radius: 6px 0 0 0;
}

#cookieconsent h3 {
  font-size: 1.25em;
  line-height: 1.25;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  padding: 0 0 25px 0;
  margin: 0;
  color: var(--gold-text);
}

#cookieconsent p {
  font-size: 1em;
  line-height: 1.25;
  padding: 0;
  margin: 0;
}

.cookie-buttons {
  padding: 25px 0 0 0;
  display: flex;
  justify-content: space-between;
}

@media (max-width: 767px) {
  #cookieconsent {
    padding: 25px;
    width: 26em;
  }
  
  #cookieconsent h3 {
    font-size: 1.125em;
    padding: 0 0 10px 0;
  }
}




#cookieconsent-hide {
  position: absolute;
  display: block;
  width: 1em;
  height: 1em;
  top: 25px;
  right: 40px;
  cursor: pointer;
}

#cookieconsent-hide span {
  display: none;
}

#cookieconsent-hide::before,
#cookieconsent-hide::after {
  content: '';
  pointer-events: none;
  position: absolute;
  right: 0;
  border-color: currentcolor;
  background-color: currentColor;
  color: currentColor;
  opacity: 1;
  box-sizing: border-box;
  display: inline-block;
}


#cookieconsent-hide::before,
#cookieconsent-hide::after {
  content: '';
  display: inline-block;
  position: absolute;
  height: 1px;
  width: 16px;
  top: calc(50% - 1px);
  left: calc(50% - 8px);
}

#cookieconsent-hide::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

#cookieconsent-hide::after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

@media (max-width: 767px) {
  #cookieconsent-hide {
    top: 25px;
    right: 30px;
  }
}





#cookieconsent .uk-button {
  font-size: 1em;
  font-weight: inherit;
  text-transform: none;
  letter-spacing: 0;
  padding: 0.5em 1em 0.6em 1em;
  line-height: 1;
  border-radius: 6px;
}

#cookieconsent .uk-button:hover {
  cursor: pointer;
}

#cookieconsent .uk-button-primary,
#cookieconsent .uk-button-secondary {
  padding: 0.5em 1em 0.6em 1em;
}

#cookieconsent .uk-button .uk-icon {
  position: relative;
  top: -0.05em;
  margin-left: 0.35em;
}

#cookieconsent .uk-button .icon {
  display: inline-block;
  width: 0.75em;
  position: relative;
  top: -0.1em;
  margin-left: 0.4em;
}

#cookieconsent .uk-button-padding .uk-icon,
#cookieconsent .uk-button-primary .uk-icon,
#cookieconsent .uk-button-secondary .uk-icon {
  transform: scale(1.25);
}



#cookieconsent .uk-button-primary {
  background-color: transparent;
  color: var(--white);
  background: var(--gold);
  border: 1px solid var(--gold);
  text-transform: none;
  -webkit-transition: background 0.5s ease, opacity 0.5s ease;
  -moz-transition: background 0.5s ease, opacity 0.5s ease;
  -o-transition: background 0.5s ease, opacity 0.5s ease;
  transition: background 0.5s ease, opacity 0.5s ease;
}

#cookieconsent .uk-button-primary:visited {
  color: var(--white);
}

#cookieconsent .uk-button-primary:focus,
#cookieconsent .uk-button-primary:hover {
  color: var(--white);
  background: var(--golddark);
  border: 1px solid var(--golddark);
  -webkit-transition: background 0.5s ease, opacity 0.5s ease;
  -moz-transition: background 0.5s ease, opacity 0.5s ease;
  -o-transition: background 0.5s ease, opacity 0.5s ease;
  transition: background 0.5s ease, opacity 0.5s ease;
  opacity: 0.75;
}

#cookieconsent .uk-button-primary.uk-active,
#cookieconsent .uk-button-primary:active {
  color: var(--white);
  background: var(--golddark);
  border: 1px solid var(--golddark);
  opacity: 0.75;
}



#cookieconsent .uk-button-secondary {
  background-color: transparent;
  color: var(--gold-text);
  background: transparent;
  border: 1px solid var(--gold);
  text-transform: none;
  -webkit-transition: background 0.5s ease, opacity 0.5s ease;
  -moz-transition: background 0.5s ease, opacity 0.5s ease;
  -o-transition: background 0.5s ease, opacity 0.5s ease;
  transition: background 0.5s ease, opacity 0.5s ease;
}

#cookieconsent .uk-button-secondary:visited {
  color: var(--gold-text);
}

#cookieconsent .uk-button-secondary:focus,
#cookieconsent .uk-button-secondary:hover {
  background-color: var(--golddark);
  color: var(--white);
  background: var(--golddark);
  border: 1px solid var(--golddark);
  -webkit-transition: background 0.5s ease, opacity 0.5s ease;
  -moz-transition: background 0.5s ease, opacity 0.5s ease;
  -o-transition: background 0.5s ease, opacity 0.5s ease;
  transition: background 0.5s ease, opacity 0.5s ease;
  opacity: 0.75;
}

#cookieconsent .uk-button-secondary.uk-active,
#cookieconsent .uk-button-secondary:active {
  background-color: var(--golddark);
  color: var(--white);
  background: var(--golddark);
  border: 1px solid var(--golddark);
  opacity: 0.75;
}

@media (max-width: 991px) {
  #cookieconsent .uk-button {
  font-size: 1em;
  }
}

@media (max-width: 767px) {
  #cookieconsent .uk-button {
  font-size: 1em;
  }
}


/* FORMS */
.form-row {
  height: auto;
  margin: 0 -10px -10px 0;
}

.form-col {
  display: inline-block;
  vertical-align: top;
  width: 50%;
  height: auto;
  padding: 0 10px 10px 0;
}

.form-col-100 {
  width: 100%;
}

@media (max-width: 500px) {
  .form-col {
    width: 100%;
  }
}

.form-input {
  width: 100%;
  height: auto;
  position: relative;
}

.form-input .uk-icon {
  position: absolute;
  top: 0;
  right: 0.25em;
  bottom: 0.125em;
  margin: auto;
  width: 1.25em;
  height: 1em;
  pointer-events: none;
  color: var(--greydarkest);
}

.form-col label {
  display: block;
  font-size: 0.9em;
  font-weight: 700;
  padding: 0 0 5px 0;
  margin: 0;
}

.form-col input,
.form-col select {
  display: block;
  width: 100%;
  height: auto;
  padding: 0 10px;
  font-size: 1em;
  height: calc(1em + 22px);
  border: 1px solid var(--greydark);
  color: var(--greydarkest);
  border-radius: 6px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: var(--greylight);
  outline: none !important;
}

.form-col textarea {
  display: block;
  width: 100%;
  height: auto;
  padding: 5px 10px;
  font-size: 1em;
  height: calc(5em + 22px);
  border: 1px solid var(--greydark);
  color: var(--greydarkest);
  border-radius: 6px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: var(--greylight);
  outline: none !important;
  resize: none;
}

.form-check {
  position: relative;
}

.form-checkbox {
  padding: 0 0 0 27px;
  min-height: 1em;
  position: relative;
  line-height: 1.5;
}

.form-checkbox input {
  position: absolute;
  top: 0.25em;
  left: 0;
  margin-top: 0 !important;
}

.form-checkbox a {
  color: var(--gold-text);
  text-decoration: underline;
}

input::placeholder,
textarea::placeholder {
  color: var(--greydarkest) !important;
  opacity: 1 !important;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: var(--greydarkest) !important;
  opacity: 1 !important;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  color: var(--greydarkest) !important;
  opacity: 1 !important;
}

.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay {
    background: var(--gold);
    border-color: var(--gold);
}

.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)) {
    -webkit-box-shadow: -10px 0 0 var(--gold);
    box-shadow: -10px 0 0 var(--gold);
}

.flatpickr-day.week.selected {
    -webkit-box-shadow: -5px 0 0 var(--gold),5px 0 0 var(--gold);
    box-shadow: -5px 0 0 var(--gold),5px 0 0 var(--gold);
}

.form-input .reset-search-input {
  display: block;
  width: 1.25em;
  height: 1.25em;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  cursor: pointer;
}

.form-input .reset-search-input:before,
.form-input .reset-search-input:after {
  content: '';
  display: inline-block;
  position: absolute;
  height: 1px;
  width: 20px;
  background-color: var(--greydark);
  top: calc(50% - 1px);
  left: calc(50% - 10px);
}

.form-input .reset-search-input:before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.form-input .reset-search-input:after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.send-button {
  padding: 25px 0 0 0;
}

.send-button .uk-button-primary {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--white);
  background: var(--gold);
  border: 1px solid var(--gold);
  border-radius: 6px;
  -webkit-transition: background 0.5s ease, opacity 0.5s ease;
  -moz-transition: background 0.5s ease, opacity 0.5s ease;
  -o-transition: background 0.5s ease, opacity 0.5s ease;
  transition: background 0.5s ease, opacity 0.5s ease;
}

.send-button .uk-button-primary:visited {
  color: var(--white);
}

.send-button .uk-button-primary:focus,
.send-button .uk-button-primary:hover {
  color: var(--white);
  background: var(--golddark);
  border: 1px solid var(--golddark);
  -webkit-transition: background 0.5s ease, opacity 0.5s ease;
  -moz-transition: background 0.5s ease, opacity 0.5s ease;
  -o-transition: background 0.5s ease, opacity 0.5s ease;
  transition: background 0.5s ease, opacity 0.5s ease;
  opacity: 0.75;
}

.send-button .uk-button-primary.uk-active,
.send-button .uk-button-primary:active {
  color: var(--white);
  background: var(--golddark);
  border: 1px solid var(--golddark);
  opacity: 0.75;
}

#response.message {
  padding: 25px 0 0 0;
  font-weight: 700;
  color: var(--gold-text);
}



/* LEGAL GRID */
.legal-grid-section {
  width: 100%;
  height: auto;
  padding: var(--padding100) var(--padding50);
  background: var(--white) url(../icons/mountains.svg) no-repeat;
  background-size: 40% auto;
  background-position: 100% 100%;
}

.legal-grid-header {
  text-align: center;
  padding-bottom: var(--padding75);
}

.legal-grid-header h1,
.legal-grid-header h2 {
  padding: 0 0 15px 0;
  margin: 0;
  border-bottom: none;
}

.legal-grid-header p {
  font-family: 'Oswald',sans-serif;
  font-weight: 700;
  font-size: 1em;
  line-height: 1.125;
  margin: 0;
  padding: 0 0 15px 0;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.legal-grid-header:after {
  content: '';
  display: block;
  width: 100%;
  max-width: 12em;
  height: 1px;
  margin: 0 auto;
  background: var(--gold);
}

.legal-grid-text-columns {
  display: grid;
  grid-template-columns: 20em auto;
  grid-column-gap: 50px;
  grid-row-gap: 50px;
  max-width: 1080px;
  margin: 0 auto;
  padding-bottom: var(--padding75);
}

@media (max-width: 1023px) {
  .legal-grid-text-columns {
  grid-template-columns: 100%;
  }
}

.legal-items {
  margin: 0 0 -30px 0;
}

.legal-item {
  padding: 0 0 30px 0;
}

.legal-item  h3 {
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
  color: var(--greydarkest);
  padding: 0 0 10px 0;
}

/* ---------------------------------------------------
   TAUERNHOF – sanftes Einfaden der Inhaltsbilder
   Wird per JavaScript nur auf Bilder im Seiteninhalt angewendet.
   Navigation, Header/Slider und Footer bleiben unverändert.
--------------------------------------------------- */
.scroll-fade-image {
  opacity: 0;
  transition: opacity 4s ease;
  will-change: opacity;
}

.scroll-fade-image.is-visible {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .scroll-fade-image {
    opacity: 1;
    transition: none;
  }
}


/* ---------------------------------------------------
   TAUERNHOF – Schrift/Inhalte beim Scrollen wie RedFloor einblenden
   Sanftes Hochgleiten + Einfaden. Navigation, Header und Footer bleiben statisch.
--------------------------------------------------- */
.scroll-fade-text {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  transition:
    opacity 1.25s ease,
    transform 1.25s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

.scroll-fade-text.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  .scroll-fade-text {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


/* ACCESSIBILITY – WCAG/BFSG improvements */
.skip-link {
  position: fixed;
  left: 12px;
  top: 12px;
  z-index: 100000;
  padding: 10px 14px;
  background: #fff;
  color: #111;
  border: 2px solid #111;
  border-radius: 4px;
  transform: translateY(-180%);
  transition: transform .2s ease;
}
.skip-link:focus {
  transform: translateY(0);
}

/* Clearly visible keyboard focus without changing mouse appearance */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
  outline: 3px solid #ffffff !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px #171715 !important;
}

/* Cookie close control is now a real button; neutralize browser button defaults */
#cookieconsent-hide {
  border: 0;
  padding: 0;
  font: inherit;
  color: inherit;
  background: transparent;
}

/* Preserve all content for users who request reduced motion */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .scroll-fade-image,
  .scroll-fade-text {
    opacity: 1 !important;
    transform: none !important;
  }
}


/* --- Tauernhof V5 Feinschliff --- */
.activity-links {
  align-items: start;
}
.activity-links .parallax-grid-text-column {
  min-width: 0;
}
.activity-links .section-text ul {
  padding-right: 8px;
}
.activity-links .section-text li {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.activity-links .section-text a {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.pricing-table .uk-overflow-auto {
  width: 100%;
  -webkit-overflow-scrolling: touch;
}
.pricing-table table {
  width: 100%;
}
.pricing-table th:not(:first-child),
.pricing-table td:not(:first-child) {
  white-space: nowrap;
}

@media (max-width: 767px) {
  .activity-links {
    grid-row-gap: 8px;
  }

  .pricing-section {
    padding-left: 25px;
    padding-right: 25px;
  }

  .pricing-table .uk-overflow-auto {
    margin: 0 -8px;
    padding: 0 8px 10px;
  }

  .pricing-table table {
    min-width: 760px;
  }

  .pricing-table th,
  .pricing-table td {
    font-size: 0.9em;
  }
}


/* V27 – Rossie Kelly für große Seitentitel siteweit */
.parallax-grid-header h1,
.pricing-grid-header h1,
.pricing-grid-header h2,
.contact-grid-header h1,
.room-intro-text > h1,
.legal-grid-header h1 {
  font-family: 'Rossie Kelly', cursive;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
}


/* COOKIE CONSENT V2 – CATEGORY SELECTION */
#cookieconsent {
  width: 42em;
  max-width: calc(100% - 20px);
  max-height: calc(100vh - 20px);
  overflow-y: auto;
  padding: 28px 30px 24px;
  box-shadow: 0 10px 40px rgba(0,0,0,.18);
}
#cookieconsent h3 { padding-bottom: 12px; }
#cookieconsent p { line-height: 1.45; }
.cookie-options {
  display: grid;
  gap: 8px;
  margin-top: 18px;
}
.cookie-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 11px 12px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 6px;
  background: rgba(255,255,255,.55);
  cursor: pointer;
}
.cookie-option:has(input:disabled) { cursor: default; }
.cookie-option-copy { display: block; min-width: 0; }
.cookie-option-copy strong {
  display: block;
  color: var(--black);
  font-weight: 600;
  margin-bottom: 2px;
}
.cookie-option-copy small {
  display: block;
  font-size: .82em;
  line-height: 1.3;
  opacity: .78;
}
.cookie-switch { position: relative; flex: 0 0 auto; width: 44px; height: 24px; }
.cookie-switch input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
.cookie-switch span {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: rgba(0,0,0,.22);
  transition: .2s ease;
}
.cookie-switch span::after {
  content: '';
  position: absolute;
  width: 18px;
  height: 18px;
  left: 3px;
  top: 3px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.22);
  transition: .2s ease;
}
.cookie-switch input:checked + span { background: var(--gold); }
.cookie-switch input:checked + span::after { transform: translateX(20px); }
.cookie-switch input:focus-visible + span { outline: 2px solid currentColor; outline-offset: 3px; }
.cookie-switch input:disabled + span { opacity: .72; }
.cookie-privacy { margin-top: 13px !important; font-size: .88em !important; }
.cookie-buttons {
  gap: 8px;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding-top: 18px;
}
#cookieconsent .cookie-buttons .uk-button { flex: 1 1 auto; min-width: 132px; }
#cookieconsent-hide[hidden] { display: none !important; }
.external-media-placeholder {
  min-height: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px;
  background: var(--greylight);
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 4px;
}
.external-media-placeholder p { margin: 0 0 14px; }
.external-media-placeholder .uk-button { white-space: normal; }
iframe[data-cookie-category="external"][hidden] { display: none !important; }
@media (max-width: 767px) {
  #cookieconsent {
    right: 10px;
    bottom: 10px;
    width: calc(100% - 20px);
    max-width: none;
    max-height: calc(100vh - 20px);
    border-radius: 6px;
    padding: 22px 20px 18px;
  }
  #cookieconsent-hide { top: 20px; right: 20px; }
  .cookie-option { padding: 10px; }
  .cookie-option-copy small { font-size: .78em; }
  #cookieconsent .cookie-buttons .uk-button { flex: 1 1 100%; width: 100%; }
}


/* COOKIE CONSENT V3 – compact first view + detailed settings */
#cookieconsent {
  box-sizing: border-box;
  width: min(42em, calc(100% - 24px));
  max-width: none;
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 26px 28px 22px;
  bottom: max(12px, env(safe-area-inset-bottom));
  right: 12px;
  border-radius: 8px;
  box-shadow: 0 12px 44px rgba(0,0,0,.20);
}
#cookieconsent h3 {
  padding: 0 42px 10px 0;
  outline: none;
}
#cookieconsent p { line-height: 1.45; }
.cookie-main-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 18px;
}
#cookieconsent .cookie-main-actions .uk-button {
  flex: 1 1 145px;
  min-height: 44px;
}
.cookie-settings-panel {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(0,0,0,.12);
}
.cookie-settings-panel[hidden] { display: none !important; }
.cookie-settings-panel .cookie-options { margin-top: 0; }
.cookie-save {
  width: 100%;
  min-height: 44px;
  margin-top: 10px;
}
.cookie-privacy { margin: 12px 0 0 !important; }
.cookie-privacy a { text-decoration: underline; text-underline-offset: 2px; }
#cookieconsent-hide {
  top: 22px;
  right: 24px;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
#cookieconsent-hide::before,
#cookieconsent-hide::after {
  width: 18px;
  left: calc(50% - 9px);
}
#cookieconsent button:focus-visible,
#cookieconsent a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
@media (max-width: 767px) {
  #cookieconsent {
    left: 10px;
    right: 10px;
    bottom: max(10px, env(safe-area-inset-bottom));
    width: auto;
    max-width: none;
    max-height: calc(100vh - 20px - env(safe-area-inset-bottom));
    max-height: calc(100dvh - 20px - env(safe-area-inset-bottom));
    padding: 20px 18px 16px;
    border-radius: 8px;
    font-size: .96em;
  }
  #cookieconsent h3 {
    font-size: 1.08em;
    padding-right: 38px;
    margin-bottom: 0;
  }
  #cookieconsent-hide { top: 14px; right: 14px; }
  .cookie-main-actions { display: grid; grid-template-columns: 1fr; gap: 8px; padding-top: 14px; }
  #cookieconsent .cookie-main-actions .uk-button,
  #cookieconsent .cookie-save {
    width: 100%;
    min-width: 0;
    min-height: 46px;
  }
  .cookie-settings-panel { margin-top: 14px; padding-top: 12px; }
  .cookie-option {
    gap: 12px;
    padding: 10px;
    align-items: center;
  }
  .cookie-option-copy small { font-size: .78em; }
  .cookie-switch { width: 44px; height: 24px; }
}
@media (max-width: 390px) {
  #cookieconsent { font-size: .92em; padding: 18px 15px 14px; }
  .cookie-option-copy small { font-size: .76em; }
}


/* MOBILE FOOTER FIX (DE/EN) – rechtliche Links und Social Icons sichtbar
   statt nebeneinander in einer zu schmalen Flex-Zeile. Desktop unverändert. */
@media (max-width: 959px) {
  #footer .footer-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #footer .footer-col,
  #footer .footer-links {
    min-width: 0;
  }

  #footer .footer-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 18px;
    width: 100%;
    margin-top: 0;
    padding-top: 25px;
  }

  #footer .footer-links p {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    white-space: normal;
    overflow-wrap: break-word;
  }

  #footer .footer-social {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
    padding: 0;
  }

  #footer .footer-social li {
    display: inline-flex;
    margin: 0;
    padding: 0;
  }
}
