@font-face {
    font-family: 'Barlow';
    src: url('../fonts/Barlow-Regular.eot');
    src: url('../fonts/Barlow-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Barlow-Regular.woff2') format('woff2'),
        url('../fonts/Barlow-Regular.woff') format('woff'),
        url('../fonts/Barlow-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Barlow';
    src: url('../fonts/Barlow-Medium.eot');
    src: url('../fonts/Barlow-Medium.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Barlow-Medium.woff2') format('woff2'),
        url('../fonts/Barlow-Medium.woff') format('woff'),
        url('../fonts/Barlow-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Barlow';
    src: url('../fonts/Barlow-Bold.eot');
    src: url('../fonts/Barlow-Bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Barlow-Bold.woff2') format('woff2'),
        url('../fonts/Barlow-Bold.woff') format('woff'),
        url('../fonts/Barlow-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Barlow';
    src: url('../fonts/Barlow-ExtraBoldItalic.eot');
    src: url('../fonts/Barlow-ExtraBoldItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Barlow-ExtraBoldItalic.woff2') format('woff2'),
        url('../fonts/Barlow-ExtraBoldItalic.woff') format('woff'),
        url('../fonts/Barlow-ExtraBoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Barlow';
    src: url('../fonts/Barlow-Italic.eot');
    src: url('../fonts/Barlow-Italic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Barlow-Italic.woff2') format('woff2'),
        url('../fonts/Barlow-Italic.woff') format('woff'),
        url('../fonts/Barlow-Italic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Panton Rust';
    src: url('../fonts/PantonRustBlack-Base.eot');
    src: url('../fonts/PantonRustBlack-Base.eot?#iefix') format('embedded-opentype'),
        url('../fonts/PantonRustBlack-Base.woff2') format('woff2'),
        url('../fonts/PantonRustBlack-Base.woff') format('woff'),
        url('../fonts/PantonRustBlack-Base.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Panton Rust';
    src: url('../fonts/PantonRustBold-Base.eot');
    src: url('../fonts/PantonRustBold-Base.eot?#iefix') format('embedded-opentype'),
        url('../fonts/PantonRustBold-Base.woff2') format('woff2'),
        url('../fonts/PantonRustBold-Base.woff') format('woff'),
        url('../fonts/PantonRustBold-Base.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Panton Rust';
    src: url('../fonts/PantonRustSemiBold-Base.eot');
    src: url('../fonts/PantonRustSemiBold-Base.eot?#iefix') format('embedded-opentype'),
        url('../fonts/PantonRustSemiBold-Base.woff2') format('woff2'),
        url('../fonts/PantonRustSemiBold-Base.woff') format('woff'),
        url('../fonts/PantonRustSemiBold-Base.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}


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

* {
  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: #bc571d;
  font-weight: 500;
  text-decoration: underline;
  cursor: pointer;
}

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: 'Barlow', sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  line-height: 1.5;
  background: #fff;
  color: #345142;
  text-align: left;
  -webkit-overflow-scrolling: touch;
  position: relative;
  height: auto;
  padding: 0;
  margin: 0;
}

@media (max-width: 1599px) {

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

@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: 'Panton Rust', sans-serif;
  font-weight: 700;
  font-style: normal;
  font-stretch: normal;
  line-height: 1;
  margin: 0;
  padding: 0;
  color: inherit;
}

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

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



::-moz-selection {
  background: #345142;
  color: #fff;
  text-shadow: none;
}

::selection {
  background: #345142;
  color: #fff;
  text-shadow: none;
}


/* PAGE */
#complete {
  position: relative;
  width: 100%;
  height: auto;
  background: transparent;
  padding: 0;
  margin: 0 auto;
  overflow: hidden;
  z-index: 25;
  background: #fff;
}

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

#page {
  width: 100%;
  height: auto;
  position: relative;
  z-index: 10;
  padding: 0;
  margin: 0 auto;
  background: #fff;
  /*min-height: 100vh;*/
}

#header {
  width: 100%;
  height: auto;
  min-height: 120px;
  background: #fff;
}

@media (max-width: 767px) {
  #header {
    min-height: 60px;
  }
}

#content {
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 50vh;
  position: relative;
  margin: 0 auto;
  background: #fff;
}


@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min--moz-device-pixel-ratio: 2),
only screen and (-o-min-device-pixel-ratio: 2),
only screen and (min-device-pixel-ratio: 2),
only screen and (min-resolution: 192dpi),
only screen and (min-resolution: 2dppx) {}

/* PRELOADER */
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  z-index: 200;
  display: none;
}


/* PACE */
.pace {
  -webkit-pointer-events: none;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.pace-inactive {
  display: none;
}

.pace .pace-progress {
  background: #bc571d;
  position: fixed;
  z-index: 2000;
  bottom: 0;
  right: 100%;
  width: 100%;
  height: 1px;
}


/* UIKIT */
.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: #fff;
  font-size: 12px;
}

.uk-lightbox-button {
  background: transparent;
  color: #fff !important;
}

.uk-close {
  color: #fff !important;
  background: #161616 !important;
}

.uk-light .uk-dotnav>*>* {
  border-color: #fff;
}

.uk-light .uk-dotnav>.uk-active>* {
  background-color: #fff;
}

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

#blog-listing .uk-dotnav>*>* {
  border-color: #161616;
}

#blog-listing .uk-dotnav>.uk-active>* {
  background-color: #161616;
}



/* LIMITS */
.limit {
  margin: 0 auto;
  height: auto;
  max-width: 1280px;
}

.inner-limit {
  max-width: 1180px;
}


/* NAV */
@media (min-width: 768px) {
  #nav-underlayer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    z-index: 299;
    pointer-events: none;
    -webkit-transition: background 0.25s;
    -moz-transition: background 0.25s;
    -o-transition: background 0.25s;
    transition: background 0.25s;
  }
  
  .navopen #nav-underlayer {
    background: rgba(0,0,0,0.375);
    cursor: pointer;
    pointer-events: all;
  }
  
  #nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 120px;
    z-index: 300;
    padding: 0 25px;
    line-height: 120px;
    text-align: center;
    background: linear-gradient(0deg, rgba(52,81,66,0) 0%, rgba(52,81,66,0.25) 100%);
    color: #fff;
    -webkit-transition: all 0.25s;
    -moz-transition: all 0.25s;
    -o-transition: all 0.25s;
    transition: all 0.25s;
  }

  .navopen #nav,
  .scrolled #nav {
    background: #fff;
    color: #345142;
  }
  
  .noheader #nav {
    background: #fff;
    color: #345142;
    -webkit-transition: none;
    -moz-transition: none;
    -o-transition: nones;
    transition: none;
  }
}

.nav-limit {
  max-width: 1720px;
}

#nav ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

#logo {
  display: inline-block;
  width: auto;
  height: 60px;
  vertical-align: top;
  position: absolute;
  left: 30px;
  top: 30px;
  line-height: 60px;
  z-index: 25;
}

#logo > svg {
  width: auto;
  height: 60px;
  max-width: none;
}

#logo > svg path {
  fill: currentColor;
}

@media (max-width: 1139px) {
  #logo,
  #logo > svg {
    width: 200px;
  }
}

@media (max-width: 1023px) {
  #logo,
  #logo > svg {
    width: 150px;
  }
}

#booking-nav {
  display: inline-block;
  width: auto;
  height: 40px;
  vertical-align: top;
  position: absolute;
  right: 30px;
  top: 40px;
  line-height: 38px;
  overflow: hidden;
  z-index: 25;
}

#booking-nav ul {
  display: inline-block;
  list-style-type: none;
  padding: 0;
  margin: 0 -10px 0 0;
  vertical-align: top;
  overflow: hidden;
}

#booking-nav li {
  display: inline-block;
  vertical-align: top;
  padding: 0 10px 0 0;
  margin: 0;
}

#booking-nav a {
  display: block;
  padding: 0 1.5em;
  background: #345142;
  border: 1px solid #345142;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  font-weight: 400;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  -o-transition: all 0.25s;
  transition: all 0.25s;
}

@media (min-width: 1025px) {
  #booking-nav a:hover {
    background: #fff;
    color: #345142;
  }
}

@media (max-width: 1139px) {
  #booking-nav a {
    padding: 0 1em;
  }
}

@media (max-width: 991px) {
  #booking-nav ul {
    margin: 0 -5px 0 0;
  }
  
  #booking-nav li {
    padding: 0 5px 0 0;
  }
  
  #booking-nav a {
    font-size: 0.75em;
  }
}


#language-nav {
  display: inline-block;
  width: auto;
  height: 1em;
  vertical-align: top;
  position: absolute;
  right: 30px;
  top: 16px;
  font-size: 0.8em;
  line-height: 1;
  overflow: hidden;
  z-index: 25; 
}

#language-nav ul {
  display: inline-block;
  list-style-type: none;
  padding: 0;
  margin: 0 -12px 0 0;
  vertical-align: top;
  overflow: hidden;
}

#language-nav li {
  display: inline-block;
  vertical-align: top;
  padding: 0 12px 0 0;
  margin: 0;
  position: relative;
}

#language-nav.de .lang-de,
#language-nav.en .lang-en {
  font-weight: 700;
}

#language-nav li.link-de:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 5px;
  width: 1px;
  height: 100%;
  background: currentColor;
}




#hamburger {
  display: none;
}

#nav li.navboxes {
  display: none;
}


@media (min-width: 768px) {
  #nav .nav-level1 {
    display: inline-block;
    margin: 0 -1em 0 0;
    text-transform: uppercase;
  }
  
  #nav .nav-level1 > li {
    display: inline-block;
    vertical-align: top;
    padding: 0 1em 0 0;
    line-height: 120px;
  }
  
  #nav .nav-level1 > li#navnum0,
  #nav .nav-level2-close,
  #nav .nav-level3-close {
    display: none;
  }
  
  #nav .nav-level1 > li .navitem {
    position: relative;
    z-index: 25;
  }
  
  #nav .nav-level1 > li .navitem a {
    display: block;
  }
  
  #nav .nav-level1 > li.active .navitem a:after {
    content: '';
    display: block;
    position: absolute;
    width: auto;
    height: 2px;
    left: -0.25em;
    right: -0.25em;
    margin: auto;
    top: calc(50% + 0.65em);
    background: #BC571D;
    transform: rotate(0.5deg);
  }
  
  #nav .nav-level1 > li .activesub {
    position: absolute;
    top: calc(120px - 1em);
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 2em;
    height: 2em;
    border: 1px solid #345142;
    border-radius: 100%;
    background: #fff;
    display: none;
  }
  
  #nav .nav-level1 > li .activesub:before,
  #nav .nav-level1 > li .activesub:after {
    display: block;
    position: absolute;
    content: '';
    width: 0.75em;
    height: 1px;
    background: #345142;
    top: 0.85em;
  }
  
  #nav .nav-level1 > li .activesub:before {
    left: 0.8375em;
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  
  #nav .nav-level1 > li .activesub:after {
    right: 0.8375em;
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  
  #nav .nav-level2 {
    position: absolute;
    top: -100vh;
    left: 0;
    right: 0;
    text-align: left;
    z-index: 10;
    line-height: 2em;
    width: 40em;
    padding: 50px 25px;
    margin: auto;
    background: #345142;
    color: #fff;
    text-transform: none;
  }
  
  #nav .nav-level2:before,
  #nav .nav-level2:after {
    content: '';
    position: absolute;
    top: 0;
    width: 100vw;
    height: 100%;
    background: #345142;
  }
  
  #nav .nav-level2:before {
    right: 100%;
  }
  
  #nav .nav-level2:after {
    left: 100%;
  }
  
  .navopen #nav .nav-level1 > li.subnavopen .nav-level2 {
    top: 120px;
  }
  
  #nav .nav-level1 > li.subnavopen .activesub {
    display: block;
    cursor: pointer;
  }
  
  #nav .nav-level2 {
    display: flex;
    min-height: 18.5em;
  }
  /*
  #nav .navnum6 .nav-level2 {
    min-height: 13em;
  }
  
  #nav .navnum7 .nav-level2 {
    min-height: 18.5em;
  }
  */
  
  #nav .nav-level2 > ul {
    display: inline-block;
    align-self: flex-end;
  }
  
  #nav .nav-level2 .level2 > a {
    display: inline-block;
    position: relative;
  }
  
  #nav .nav-level2 .level2 > a:after {
    content: '';
    display: block;
    position: absolute;
    top: calc(50% + 0.65em);
    left: 0;
    width: 100%;
    height: auto;
    border-top: 1px dashed transparent;
  }
  
  #nav .nav-level2 .level2.active > a {
    font-weight: 700;
  }
  
  #nav .nav-level2 .level2 > a:hover:after,
  #nav .nav-level2 .level2.active > a:after {
    border-top: 1px dashed #fff;
  }
  
  #nav .nav-level2 .level2-subnav-title {
    position: absolute;
    display: block;
    left: 0;
    bottom: 50px;
    padding: 0 0.5em;
    white-space: nowrap;
    transform-origin: bottom left;
    transform: rotate(-90deg);
    color: rgba(255,255,255,0.125);
    text-transform: uppercase;
    font-size: 0.85em;
    font-weight: 700;
    letter-spacing: 0.05em;
  }
  
  
  #nav li.navboxes {
    position: absolute;
    display: block;
    right: 0;
    bottom: 50px;
    text-align: right;
  }
  
  .navigation-boxes {
    height: auto;
    line-height: 1;
  }
  
  .navbox-row {
    margin: 0 0 0 -25px;
    height: auto;
    overflow: hidden;
  }
  
  .navbox-col {
    display: inline-block;
    vertical-align: baseline;
    padding: 0 0 0 25px;
  }
  
  .navbox-box {
    display: inline-block;
    width: 10em;
    height: calc(18.5em - 100px);
    background: #3e5a4c;
    position: relative;
  }
  
  .navbox-box:before,
  .navbox-box:after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 35;
    pointer-events: none;
  }
  
  .navbox-box:before {
    top: 5px;
    border-bottom: 1px dashed #fff;
  }
  
  .navbox-box:after {
    bottom: 5px;
    border-bottom: 1px dashed #fff;
  }
  
  
  .navbox-text {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: auto;
    padding: 25px 20px;
    z-index: 50;
    text-align: left;
    font-size: 1em;
    font-weight: 400;
    line-height: 1.125;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    pointer-events: none;
  }
  
  .navbox-image {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 10;
    pointer-events: none;
  }
  
  .navbox-link {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 25;
    background: linear-gradient(0deg,rgba(52,81,66,.5) 0%,rgba(52,81,66,0.125) 100%);
  }
  
  .navbox-link span {
    display: none;
  }
  
  
  
  
  #nav .nav-level3 {
    display: block;
    padding: 0 0 0.25em 1em;
    line-height: 1em;
  }
  
  #nav .nav-level3 li {
    font-size: 0.85em;
    text-transform: none;
    line-height: 1.5;
  }
  
  #nav .nav-level2 .level3 > a:hover {
    text-decoration: underline;
  }
  
  #nav .nav-level2 .level3.active > a {
    font-weight: 700;
  }
  
}

@media (min-width: 768px) and (max-width: 991px) {
  #nav .nav-level1 {
    margin: 0 -0.75em 0 0;
  }
  
  #nav .nav-level1 > li {
    padding: 0 0.75em 0 0;
  }
  
  #nav .navitem a{
    font-size: 0.75em;
  }

}

#mobilenav {
    display: none;
}

@media (max-width: 767px) {
  #nav {
    position: fixed;
    left: 0;
    top: 0;
    bottom: auto;
    width: 100%;
    height: auto;
    z-index: 300;
  }
  
  #nav .nav-level1 {
    padding: 20px 0 0 0;
  }
  
  #nav .nav-level1 > li#navnum0 {
    display:none;
  }
  
  #nav .nav-level1 .navitem {
    font-size: 1.5em;
  }
  
  #nav .nav-level2 {
    display: none;
    padding: 0 10px 10px 10px;
    position: relative;
  }
  
  #nav .nav-level2 a {
    line-height: 2;
    font-weight: 500;
  }
  
  #nav .subnavopen .nav-level2 {
    display: block;
  }
  
  #nav .nav-level2 .level2-subnav-title {
    display: none;
  }
  
  #nav .nav-level3 {
    padding: 5px 15px;
    background: #e5e5e5;
    border-left: 2px dashed #345142;
  }
  
  #nav .nav-level3 a {
    font-size: 0.9em;
    font-weight: 500;
    letter-spacing: 0.025em;
    line-height: 2;
    color: #4C4642;
  }
  
  #navlayer {
    display: block;
    position: fixed;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 305;
    padding: 100px 20px 20px 20px;
    overflow: auto;
    overflow: -moz-scrollbars-none;
    -ms-overflow-style: none;
    -webkit-transition: top 0.25s;
    -moz-transition: top 0.25s;
    -o-transition: top 0.25s;
    transition: top 0.25s;
  }
  
  .nav-shown #navlayer {
    top: 0;
  }
  
  #logo {
    width: 200px;
    height: auto;
    position: relative;
    left: 0;
    top: 0;
    line-height: 1;
  }
  
  #logo svg {
    width: 100%;
    height: auto;
  }
  
  #language-nav {
    font-size: 1em;
    top: 20px;
    right: 20px;
  }
  
  #booking-nav {
    display: block;
    position: relative;
    right: 0;
    top: 0;
    width: 100%;
    height: auto;
    padding: 20px 0 0 0;
    line-height: 40px;
  }
  
  #booking-nav ul {
    display: block;
  }
  
  #booking-nav li {
    width: 50%;
  }
  
  #booking-nav a {
    display: block;
    font-size: 1em;
    padding: 0 20px;
    text-align: center;
  }
  
  #mobilenav {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
    background: #345142;
    color: #fff;
    border-top: 1px solid #486255;
    z-index: 310;
  }
  
  #mobilenav #mobilelogo {
    display: inline-block;
    vertical-align: top;
    width: 40%;
    height: 60px;
    line-height: 40px;
    padding: 10px;
    color: #fff;
  }
  
  #mobilenav #mobilelogo svg {
    width: auto;
    height: 30px;
    max-width: 100%;
  }
  
  #mobilenav #mobilelogo svg path {
    fill: #fff;
  }
  
  #mobilenav ul.mobilecontacts {
    list-style-type: none;
    display: inline-block;
    vertical-align: top;
    width: 45%;
    height: 60px;
    padding: 0;
    margin: 0;
    border-left: 1px solid #486255;
  }
  
  #mobilenav ul.mobilecontacts li {
    display: inline-block;
    vertical-align: top;
    width: 33.3333%;
    border-right: 1px solid #486255;
  }
  
  #mobilenav ul.mobilecontacts a {
    display: block;
    width: 100%;
    height: 60px;
    line-height: 55px;
    text-align: center;
  }
  
  #hamburger {
    display: inline-block;
    vertical-align: top;
    width: 15%;
    height: 60px;
    line-height: 60px;
    position: relative;
    cursor: pointer;
    text-align: center;
  }
  
  #hamburger .linebox {
    display: inline-block;
    width: 60px;
    height: 60px;
    position: relative;
  }
  
  #hamburger .line {
    position: absolute;
    left: 20px;
    height: 1px;
    background: #fff;
    -webkit-transition: 0.5s ease all;
    -moz-transition: 0.5s ease all;
    -o-transition: 0.5s ease all;
    transition: 0.5s ease all;
    opacity: 1;
  }
  
  #hamburger .lineA {
    top: 23px;
    width: 20px;
  }
  
  #hamburger .lineB {
    top: 29px;
    width: 20px;
  }
  
  #hamburger .lineC {
    bottom: 23px;
    width: 10px;
  }
  
  .nav-shown #hamburger .lineA {
    top: 30px;
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  
  .nav-shown #hamburger .lineB {
    width: 0;
    opacity: 0;
  }
  
  .nav-shown #hamburger .lineC {
    width: 20px;
    bottom: 29px;
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  
  
}

@media (max-width: 400px) {
  #mobilenav #mobilelogo {
    width: 37.5%;
  }
  
  #hamburger {
    width: 17.5%;
  }
}

@media (max-width: 374px) {
  #mobilenav #mobilelogo {
    width: 35%;
  }
  
  #hamburger {
    width: 20%;
  }
}




/* HEADER */
.header {
  width: 100%;
  height: auto;
  background: #4c4642;
  color: #fff;
  position: relative;
}

.header-text {
  position: absolute;
  width: 100%;
  height: auto;
  left: 0;
  bottom: 0;
  padding: 0 100px 100px 100px;
  z-index: 25;
  pointer-events: none;
}

.header-text-content {
  font-size: 1em;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}

.header-text-content strong {
  font-weight: 900;
}

.header-text-content .header-headline {
  font-family: 'Panton Rust';
  font-weight: 900;
  font-size: 3em;
}

.header-text-content .header-subline {
  font-size: 2.5em;
}

@media (max-width: 1439px) {
  .header-text {
    padding: 0 50px 100px 50px;
  }
}

@media (max-width: 1279px) {
  .header-text {
    padding: 0 50px 75px 50px;
  }
}


@media (max-width: 767px) {
  .header-text {
    bottom: auto;
    top: 0;
    padding: 85px 25px 75px 25px;
    background: linear-gradient(180deg, rgba(52,81,66,0.25) 0%, rgba(52,81,66,0) 100%);
  }
  
  .header-text-content .header-headline,
  .header-text-content .header-subline {
    font-size: 1.75em;
  }
}

.header-slider .uk-slideshow:after {
  content:'';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,0.25) 100%);
  z-index: 10;
  pointer-events: none;
}

.header-slider-dotnav {
  position: relative;
  z-index: 25;
}


/* ASIDE */
#aside {
  position: fixed;
  width: 5em;
  height: calc(15em + 2px);
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  z-index: 50;
  overflow: hidden;
}

#aside ul {
  list-style-type: none;
  height: auto;
  padding: 0;
  margin: 0 0 -1px 0;
}

#aside li {
  padding: 0 0 1px 0;
  margin: 0;
}

#aside a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 5em;
  background: #5d7468;
  color: #fff;
  cursor: pointer;
  text-align: center;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  -o-transition: all 0.25s;
  transition: all 0.25s;
}

#aside a:hover {
  background: #3c584a;
  color: #fff;
}

#aside div {
  display: block;
  width: 100%;
  height: auto;
  text-align: center;
}

#aside img,
#aside svg {
  width: auto;
  height: 1.25em;
}

#aside a span {
  display: block;
  padding: 5px 0 0 0;
  font-size: 11px;
}

@media (max-width: 767px) {
  #aside {
    display: none;
  } 
}

#telmail {
  position: fixed;
  right: 15px;
  bottom: 16px;
  z-index: 55;
  color: #fff;
}

#telmail .telmail-button {
  width: 60px;
  height: auto;
  cursor: pointer;
}

#telmail .telmail-button img,
#telmail .telmail-button svg {
  width: 100%;
  height: auto;
}

#telmail .telmail-button svg circle {
  fill: #3c584a !important;
  -webkit-transition: fill 0.25s;
  -moz-transition: fill 0.25s;
  -o-transition: fill 0.25s;
  transition: fill 0.25s;
}

#telmail .telmail-button svg path {
  fill: #fff;
}

#telmail .telmail-button:hover svg circle {
  fill: #5d7468 !important;
}

.telmail-infos {
  display: none;
  position: absolute;
  right: 50%;
  bottom: calc(100% + 1px);
  width: 15em;
  height: auto;
  padding: 20px;
  background: #3c584a;
  color: #fff;
  text-align: center;
}

#telmail.showcontacts .telmail-infos {
  display: block;
}

.telmail-infos h3 {
  font-size: 1em;
  line-height: 1.5;
  font-weight: 700;
  padding: 0;
  margin: 0;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.telmail-infos p {
  font-size: 1em;
  line-height: 1.5;
  font-weight: 400;
  padding: 0;
  margin: 0; 
}

.telmail-infos a {
  color: #fff;
}


.telmail-infos a:hover {
  text-decoration: underline;
}

.telmail-infos hr {
  display: block;
  width: 5em;
  height: 1px;
  background: #fff;
  padding: 0;
  margin: 20px auto;
  border: none;
}

@media (max-width: 767px) {
  #telmail {
    display: none;
  } 
}



/* WHATSAPP */
#whatsapp {
  position: fixed;
  right: 85px;
  bottom: 40px;
  z-index: 55;
  color: #fff;
  width: 60px;
  height: auto;
  cursor: pointer;
}

#whatsapp img,
#whatsapp svg {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 767px) {
  #whatsapp {
    bottom: auto;
    top: 10px;
    right: 10px;
  }
}




/* BUTTONS */
.buttons {
  padding: 25px 0 0 0;
  height: auto;
  overflow: hidden;
}

.centered-buttons {
  text-align: center;
}

.buttons-row {
  margin: -10px -5px;
  height: auto;
  overflow: hidden;
}

.buttons-col {
  display: inline-block;
  padding: 10px 5px;
}

.uk-button {
  font-size: 1em;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 10px 1.5em;
  line-height: 1.25;
  border-radius: 0;
}

.uk-button-secondary {
  padding: 10px 20px;
}

.uk-button-default {
  background-color: #345142;
  color: #fff;
  border: 1px solid #345142;
  font-weight: 400;
  text-transform: uppercase;
  -webkit-transition: background 0.5s ease;
  -moz-transition: background 0.5s ease;
  -o-transition: background 0.5s ease;
  transition: background 0.5s ease;
}

.uk-button-default:visited {
  color: #fff;
}

.uk-button-default:focus,
.uk-button-default:hover {
  background-color: #fff;
  color: #345142;
  border: 1px solid #345142;
}

.uk-button-default.uk-active,
.uk-button-default:active {
  background-color: #fff;
  color: #345142;
  border: 1px solid #345142;
}

.uk-button-primary {
  background: #345142;
  color: #fff !important;
  border: 1px solid #345142;
  font-size: 1em;
  font-weight: 400;
  text-transform: uppercase;
  -webkit-transition: background 0.5s ease;
  -moz-transition: background 0.5s ease;
  -o-transition: background 0.5s ease;
  transition: background 0.5s ease;
}

.uk-button-primary:visited {
  color: #fff;
  background: #345142;
}

.uk-button-primary:focus,
.uk-button-primary:hover {
  background: #fff;
  color: #345142 !important;
}

.uk-button-primary.uk-active,
.uk-button-primary:active {
  background: #fff;
  color: #345142 !important;
}


.uk-button-primary:disabled {
  background: #345142 !important;
  color: #fff !important;
}


.uk-button-secondary {
  background: #fff;
  color: #345142;
  border: 1px solid #345142;
  font-size: 1em;
  font-weight: 400;
  text-transform: uppercase;
  -webkit-transition: background 0.5s ease;
  -moz-transition: background 0.5s ease;
  -o-transition: background 0.5s ease;
  transition: background 0.5s ease;
}

.uk-button-secondary:visited {
  color: #345142;
  background: #fff;
}

.uk-button-secondary:focus,
.uk-button-secondary:hover {
  background: #345142;
  color: #fff;
  border: 1px solid #345142;
}

.uk-button-secondary.uk-active,
.uk-button-secondary:active {
  background: #345142;
  color: #fff;
  border: 1px solid #345142;
}


.uk-button-secondary:disabled {
  background: #9a9a9a !important;
  color: #fff !important;
  border: none;
}


/* GREEN BG BUTTONS */
.bg-green .uk-button-default {
  background-color:  #fff;
  color: #345142;
  border: 1px solid #fff;
}

.bg-green .uk-button-default:visited {
  color: #345142;
}

.bg-green .uk-button-default:focus,
.bg-green .uk-button-default:hover {
  background-color: #345142;
  color: #fff;
  border: 1px solid #fff;
}

.bg-green .uk-button-default.uk-active,
.bg-green .uk-button-default:active {
  background-color: #345142;
  color: #fff;
  border: 1px solid #fff;
}

.bg-green .uk-button-primary {
  background: #fff;
  color: #345142 !important;
  border: 1px solid #fff;
}

.bg-green .uk-button-primary:visited {
  color: #345142;
  background: #fff;
}

.bg-green .uk-button-primary:focus,
.bg-green .uk-button-primary:hover {
  background: #345142;
  color: #fff !important;
}



.bg-green .uk-button-primary.uk-active,
.bg-green .uk-button-primary:active {
  background: #345142;
  color: #fff !important;
}

.bg-green .uk-button-secondary {
  background: #345142;
  color: #fff;
  border: 1px solid #fff;
}

.bg-green .uk-button-secondary:visited {
  color: #fff;
  background: #345142;
}

.bg-green .uk-button-secondary:focus,
.bg-green .uk-button-secondary:hover {
  background: #fff;
  color: #345142;
  border: 1px solid #fff;
}

.bg-green .uk-button-secondary.uk-active,
.bg-green .uk-button-secondary:active {
  background: #fff;
  color: #345142;
  border: 1px solid #fff;
}

.bg-overlay .uk-button-default:focus,
.bg-overlay .uk-button-default:hover,
.bg-overlay .uk-button-default.uk-active,
.bg-overlay .uk-button-default:active,
.bg-overlay .uk-button-primary:focus,
.bg-overlay .uk-button-primary:hover,
.bg-overlay .uk-button-primary.uk-active,
.bg-overlay .uk-button-primary:active,
.bg-overlay .uk-button-secondary,
.bg-overlay .uk-button-secondary:visited {
  background: transparent;
}

.bg-overlay .uk-button-secondary:focus,
.bg-overlay .uk-button-secondary:hover {
  background: #fff;
  color: #345142;
  border: 1px solid #fff;
}




/* SECTIONS */
.section {
  padding-left: 50px;
  padding-right: 50px;
  text-align: left;
}

.textalign-center {
  text-align: center;
}

.before-150px {
  padding-top: 150px;
}

.before-100px {
  padding-top: 100px;
}

.before-75px {
  padding-top: 75px;
}

.before-50px {
  padding-top: 50px;
}

.before-25px {
  padding-top: 20px;
}

.before-0px {
  padding-top: 0;
}

.after-150px {
  padding-bottom: 150px;
}

.after-100px {
  padding-bottom: 100px;
}

.after-75px {
  padding-bottom: 75px;
}

.after-50px {
  padding-bottom: 50px;
}

.after-25px {
  padding-bottom: 20px;
}

.after-0px {
  padding-bottom: 0;
}

.bg-weiss {
  background-color: #fff;
}

.bg-grau {
  background-color: #f0f0f0;
}

.bg-green {
  background: #345142;
  color: #fff;
}

.bg-paginate,
.bg-dunkelgrau {
  background-color: #e5e5e5;
}


@media (max-width: 1024px) {
  .before-150px {
    padding-top: 100px;
  }
  
  .before-100px {
    padding-top: 75px;
  }

  .before-75px {
    padding-top: 75px;
  }

  .before-50px {
    padding-top: 50px;
  }

  .before-25px {
    padding-top: 20px;
  }
  
  .after-150px {
    padding-bottom: 100px;
  }

  .after-100px {
    padding-bottom: 75px;
  }

  .after-75px {
    padding-bottom: 75px;
  }

  .after-50px {
    padding-bottom: 50px;
  }

  .after-25px {
    padding-bottom: 20px;
  }
}

@media (max-width: 767px) {
  .section {
    padding-left: 25px;
    padding-right: 25px;
  }
  
  .before-100px {
    padding-top: 75px;
  }
  
  .before-100px {
    padding-top: 50px;
  }

  .before-75px {
    padding-top: 50px;
  }

  .before-50px {
    padding-top: 40px;
  }

  .before-25px {
    padding-top: 20px;
  }
  
  .after-150px {
    padding-bottom: 75px;
  }
  
  .after-100px {
    padding-bottom: 50px;
  }

  .after-75px {
    padding-bottom: 50px;
  }

  .after-50px {
    padding-bottom: 40px;
  }

  .after-25px {
    padding-bottom: 20px;
  }
}


/* HEADLINES */
.headline {
  padding: 0 0 25px 0;
  text-align: center;
}

.headline.no-text {
  padding: 0;
}

.headline h1,
.headline h2,
.headline h3 {
  font-family: 'Panton Rust', sans-serif;
  padding: 0;
  margin: 0;
  text-transform: uppercase;
  font-size: 1em;
  font-weight: 900;
  line-height: 1;
}

.headline h1 span,
.headline h2 span,
.headline h3 span {
  font-family: 'Barlow', sans-serif;
  font-weight: 400;
}

.headline h1 span strong,
.headline h2 span strong,
.headline h3 span strong,
.headline h1 span b,
.headline h2 span b,
.headline h3 span b {
  font-weight: 700;
}

.headline1 h1 span,
.headline1 h2 span,
.headline1 h3 span {
  font-size: 2.5em;
}

.headline2 h1 span,
.headline2 h2 span,
.headline2 h3 span {
  font-size: 2.25em;
  position: relative;
  left: -0.05em;
}

.headline3 h1 span,
.headline3 h2 span,
.headline3 h3 span {
  font-size: 2em;
}

.headline1:before {
  content: '';
  display: inline-block;
  position: relative;
  width: 3.5em;
  height: 4em;
  margin: 0 auto 5px auto;
  background: url(../svg/logos/mark/headline1.svg) center center no-repeat;
  background-size: 100% 100%;
}

.location-plan .headline1:before {
  content: none;
}

@media (max-width: 767px) {
  .headline1 h1 span,
  .headline1 h2 span,
  .headline1 h3 span {
    font-size: 2.25em;
  }
  
  .headline2 h1 span,
  .headline2 h2 span,
  .headline2 h3 span {
    font-size: 2em;
  }
  
  .headline3 h1 span,
  .headline3 h2 span,
  .headline3 h3 span {
    font-size: 1.75em;
  }
}


/* SECTION TEXTS */
.section-text {
  height: auto;
  margin: 0 0 -10px 0;
}

.section-text p {
  padding: 0 0 10px 0;
  margin: 0;
}

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

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

.section-text li:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 1.125em;
  height: 1.5em;
  background: url(../svg/icons-orange/Check.svg) left center no-repeat;
  background-size: 100% 100%;
}


/* INTRODUCTION */
.introduction-text {
  max-width: 860px;
  padding: 0;
  margin: 0 auto;
  font-size: 1.125em;
  font-weight: 400;
  letter-spacing: 0.025em;
  text-align: center;
}

.introduction-text strong {
  font-weight: 500;
}




/* INTRO LISTING */
.introduction-row {
  height: auto;
  padding: 25px 0 0 0;
  margin: 0 -50px -25px 0;
  overflow: hidden;
}

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

.introduction-listing ul {
  font-size: 1em;
  line-height: 1.5;
  list-style-type: none;
  padding: 0;
  margin: 0 0 -5px 0;
}

.introduction-listing li {
  padding: 0 0 5px 2em;
  margin: 0;
  position: relative;
}

.introduction-listing li:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 1.125em;
  height: 1.5em;
  background: url(../svg/icons-orange/Check.svg) left center no-repeat;
  background-size: 100% 100%;
}

.introduction-buttons {
  padding: 25px 0 0 2em;
}

.introduction-listing .introduction-text {
  font-size: 1em;
  font-weight: 400;
  letter-spacing: 0;
  text-align: left;
}

@media (max-width: 767px) {
  .introduction-row {
    padding: 10px 0 0 0;
  }
  
  .introduction-col {
    width: 100%;
  }
  
  .introduction-buttons {
    padding: 0 0 0 2em;
  }
  
  .introduction-listing .introduction-text {
    font-weight: 500;
  }
}

.introduction-image {
  padding: 25px 0 0 0;
}

.introduction-image img {
  width: 100%;
  height: auto;
  max-width: 400px;
}

.introduction-image.mobile {
  display: none;
}

@media (max-width: 767px) {
  .introduction-image {
    padding: 25px 0 0 2em;
  }
  
  .introduction-image img {
    max-width: 350px;
  }
  
  .introduction-image.mobile {
    display: block;
  }
  
  .introduction-image.desktop {
    display: none;
  }
}






/* TEXT SECTION */
.text-section-limit {
  max-width: 960px;
}

.text-section-teaser {
  max-width: 860px;
  padding: 0 0 25px 0;
  margin: 0 auto;
  font-size: 1.125em;
  font-weight: 500;
  letter-spacing: 0.025em;
  text-align: center;
}



@media (min-width: 768px) {
  .text-section-bodytext {
    column-count: 2;
    column-gap: 50px;
  }
}



/* TEXT BLOCKS */
.text-blocks {
  width: 100%;
  height: auto;
  overflow: hidden;
}

.text-block-row {
  height: auto;
  margin: 0 -50px -50px 0;
}

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

.textblock-2cols .text-block-col {
  width: 50%;
}

.textblock-3cols .text-block-col {
  width: 33.3333%;
}

.text-block-logo {
  padding: 0 0 20px 0;
}

.text-block-logo img {
  width: auto;
  max-height: 125px;
}

.text-block-headline {
  padding: 0 0 10px 0;
}

.text-block-headline h3 {
  font-family: 'Panton Rust',sans-serif;
  font-weight: 900;
  font-size: 0.9em;
  line-height: 1.25;
  padding: 0;
  margin: 0;
}

@media (max-width: 1279px) {
  .text-block-row {
    margin: 0 -25px -50px 0;
  }
  
  .text-block-col {
    padding: 0 25px 50px 0;
  }
}

@media (max-width: 1199px) {
  .textblock-3cols .text-block-col {
    width: 50%;
  }
}

@media (max-width: 767px) {
  .textblock-2cols .text-block-col,
  .textblock-3cols .text-block-col {
    width: 100%;
  }
}




/* TEXT IMAGES SECTION */
.headline.inlined {
  text-align: left;
  display: inline-block;
  padding: 0 3.5em 25px 0;
  position: relative;
}

.headline.inlined:after {
  content: '';
  position: absolute;
  top: -0.375em;
  right: 0;
  width: 2.5em;
  height: 3.5em;
  background: url(../svg/logos/mark/headline2.svg) center center no-repeat;
  background-size: 100% 100%;
}

.bg-green .headline.inlined:after {
  background-image: url(../svg/logos/mark/headline2white.svg);
}

.textimages-layout {
  position: relative;
}

.textimages-imagebox {
  position: relative;
  background-color: #4C4642;
  color: #fff;
}

.textimages-imagebox .uk-slidenav {
  color: #fff;
}

.textimages-image {
  width: 100%;
  height: auto;
}

.textimages-imagebox svg {
  width: 100%;
  height: auto;
}

.textimages-imagebox svg.ratio32 {
  display: none;
}

.textimages-cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* layoutBox */
.textimages-layoutBox-L,
.textimages-layoutBox-R {
  display: flex;
  align-items: start;
  vertical-align: bottom;
}

.textimages-layoutBox-L {
  flex-direction: row-reverse;
}

.textimages-layoutBox-L .textimages-imagebox,
.textimages-layoutBox-R .textimages-imagebox {
  width: calc(50% + 200px);
  height: calc(25em + 50px);
  margin: 0 -100px;
  z-index: 10;
}

.textimages-layoutBox-L .textimages-image,
.textimages-layoutBox-R .textimages-image {
  height: calc(25em + 50px);
}

.textimages-layoutBox-L .textimages-imagebox svg.ratio1,
.textimages-layoutBox-R .textimages-imagebox svg.ratio1 {
  display: none;
}

@media (max-width: 1280px) {
  .textimages-layoutBox-L .textimages-imagebox,
  .textimages-layoutBox-R .textimages-imagebox {
    width: calc(50% + 150px);
    margin: 0 -50px 0 -100px;
  }
}

@media (max-width: 767px) {
  .textimages-layoutBox-L .textimages-imagebox,
  .textimages-layoutBox-R .textimages-imagebox {
    width: calc(50% + 75px);
    margin: 0 -25px 0 -50px;
  }
  
  .textimages-layoutBox-L .textimages-image,
  .textimages-layoutBox-R .textimages-image {
    height: auto;
  }
}


.textimages-layoutBox-L .textimages-contentbox,
.textimages-layoutBox-R .textimages-contentbox {
  position: relative;
  width: 50%;
  height: auto;
  min-height: 25em;
  padding: 50px;
  margin: 50px 0 0 0;
  background: #efebe8;
  z-index: 25;
}

@media (max-width: 767px) {
  .textimages-layoutBox-L,
  .textimages-layoutBox-R {
    display: block;
  }
  
  .textimages-layoutBox-L .textimages-contentbox,
  .textimages-layoutBox-R .textimages-contentbox {
    width: calc(100% + 25px);
    min-height: 0; 
  }
  
  .textimages-layoutBox-L .textimages-contentbox {
    padding: 25px 25px 25px 50px;
    margin: -50px 0 0 -25px;
  }
  
  .textimages-layoutBox-R .textimages-contentbox {
    padding: 25px 50px 25px 25px;
    margin: -50px -25px 0 0;
  }
  
  .textimages-layoutBox-L .textimages-imagebox,
  .textimages-layoutBox-R .textimages-imagebox {
    width: calc(100% + 25px);
    height: auto;
  }
  
  .textimages-layoutBox-L .textimages-imagebox {
    margin: 0;
  }
  
  .textimages-layoutBox-R .textimages-imagebox {
    margin: 0 0 0 -25px;
  }
  
  .textimages-imagebox svg.ratio32 {
    display: block;
  }
}



/* layoutText */
.textimages-layoutText-L,
.textimages-layoutText-R {
  display: flex;
  align-items: center;
}

.textimages-layoutText-L {
  flex-direction: row-reverse;
}

.textimages-layoutText-L .textimages-contentbox,
.textimages-layoutText-R .textimages-contentbox,
.textimages-layoutText-L .textimages-imagebox,
.textimages-layoutText-R .textimages-imagebox {
  display: inline-block;
  vertical-align: middle;
  width: 50%;
  height: auto;
}

.textimages-layoutText-L .textimages-contentbox {
  padding: 0 50px 0 0;
}

.textimages-layoutText-R .textimages-contentbox {
  padding: 0 0 0 50px;
}

@media (max-width: 767px) {
  .textimages-layoutText-L,
  .textimages-layoutText-R {
    display: block;
  }
  
  .textimages-layoutText-L .textimages-contentbox,
  .textimages-layoutText-R .textimages-contentbox {
    position: relative;
    width: calc(100% + 25px);
    min-height: 0; 
    background: #efebe8;
    z-index: 25;
  }
  
  .textimages-layoutText-L .textimages-contentbox {
    padding: 25px 25px 25px 50px;
    margin: -50px 0 0 -25px;
  }
  
  .textimages-layoutText-R .textimages-contentbox {
    padding: 25px 50px 25px 25px;
    margin: -50px -25px 0 0;
  }
  
  .textimages-layoutText-L .textimages-imagebox,
  .textimages-layoutText-R .textimages-imagebox {
    width: calc(100% + 25px);
    height: auto;
  }
  
  .textimages-layoutText-L .textimages-imagebox {
    margin: 0;
  }
  
  .textimages-layoutText-R .textimages-imagebox {
    margin: 0 0 0 -25px;
  }
  
  .textimages-layoutText-L .textimages-imagebox svg.ratio1,
  .textimages-layoutText-R .textimages-imagebox svg.ratio1 {
    display: none;
  }
}


/* HIGHLIGHT ICONS */
.highlighticons-section {
  width: 100%;
  height: auto;
  overflow: hidden;
  background: #345142;
  color: #fff;
}

.highlight-icons {
  height: auto;
  text-align: center;
}

.highlight-icon {
  display: inline-block;
  width: 25%;
  vertical-align: top;
  position: relative;
  padding: 50px 25px;
}

.highlight-icon svg,
.highlight-icon img {
  display: inline-block;
  width: 3em;
  height: 3em;
}

.highlight-icon h3 {
  font-size: 1em;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  padding: 20px 0 10px 0;
  margin: 0;
}

.highlight-icon hr {
  max-width: 10em;
  margin: 0 auto;
  border-top: 1px dashed #fff;
}

.highlight-icon p {
  font-size: 1em;
  line-height: 1.5;
  height: 3em;
  padding: 0;
  margin: 10px 0 0 0;
}

.highlight-icon a.highlight-iconlink {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.highlight-icon span {
  display: none;
}

@media (max-width: 990px) {
  .highlighticons-section {
    padding-left: 0;
    padding-right: 0;
  }
  
  .highlight-icons {
    margin: -1px;
    height: auto;
    overflow: hidden;
  }
  
  .highlight-icon {
    width: 50%;
    background: #496455;
    border: 1px solid #345142;
  }
}

@media (max-width: 767px) {
  .highlight-icons {
    font-size: 12px;
  }
  
  .highlight-icon h3 {
    font-weight: 700;
  }
}




/* LOCATION PLAN */
.locationplan {
  padding: 25px 0 0 0;
  margin: 0 auto;
  max-width: 1020px;
}

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

.interactive-plan,
.interactive-legend {
  width: 100%;
  height: auto;
  position: relative;
}

.location-plan,
.location-plan .buttons {
  text-align: center;
}

.location-plan .buttons.nopad {
  padding: 0;
}


/* PLAN POSITIONS */
.planitem {
  position: absolute;
  cursor: pointer;
  width: 3.59%;
  height: 5.35%;
  z-index: 10;
}

.planitem span {
  display: none;
}

.planitem1 {
  left: 31.05%;
  top: 64.78%;
}

.planitem2 {
  left: 23.09%;
  top: 32.12%;
}

.planitem3 {
  left: 59.14%;
  top: 41.46%;
}

.planitem4 {
  left: 31.72%;
  top: 83.22%;
}

.planitem5 {
  left: 16.68%;
  top: 82.57%;
}

.planitem6 {
  left: 9.02%;
  top: 56.57%;
}

.planitem7 {
  left: 53.91%;
  top: 31.11%;
}

.planitem8 {
  left: 8.01%;
  top: 45.21%;
}

.planitem9 {
  left:1.45%;
  top: 37.42%;
}


.planitem10 {
  left: 5.74%;
  top: 34.5%;
}

.planitem11 {
  left: 17.85%;
  top: 42.3%;
}


.planitem12 {
  left: 27.89%;
  top: 39.86%;
}

.planitem13 {
  left: 20.9%;
  top: 18.56%;
}

.planitem14 {
  left: 12.15%;
  top: 17.13%;
}

.planitem14b {
  left: 71.5%;
  top: 12.75%;
}

.planitem15 {
  left: 56.99%;
  top: 19.21%;
}

.planitem16 {
  left: 26.56%;
  top: 47.23%;
}

.planitem17 {
  left: 34.14%;
  top: 11.78%;
}

.planitem18 {
  left: 92.42%;
  top: 46.16%;
}

.planitem19 {
  left: 62.07%;
  top: 67.1%;
}

.planitem20 {
  left: 0.39%;
  top: 88.28%;
}

.planitem21 {
  left: 13.71%;
  top: 71.15%;
}

.plandetails,
.detailitem {
  display: none;
}

@media (max-width: 1023px) {
.opendetails .plandetails {
    display: block;
  }
  
  .opendetails:before {
    content:'';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(52,81,66,0.25);
    z-index: 5;
  }

}

.plandetails {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 750px;
  height: auto;
  padding: 25px;
  text-align: left;
  z-index: 10;
}

@media (max-width: 767px) {
  .plandetails {
    padding: 10px;
  }
}

.detailitem {
  width: 100%;
  height: auto;
  background: #fff;
  border:1px solid #345142;
}

.detailitem-headline,
.detailitem-infos {
  padding: 10px;
}



@media (max-width: 767px) {
  .detailitem-headline,
  .detailitem-infos {
    padding: 10px;
  }
}

.detailitem-headline {
  background: #345142;
}

.detailitem-infos {
  background: #fff;
}

.detailitem-content h3 {
  font-size: 1.25em;
  line-height: 1.25;
  padding: 0 15px 0 0;
  margin: 0;
  text-transform: none;
  font-family: 'Barlow', sans-serif;
  font-weight: 400;
  color: #fff;
}

@media (max-width: 767px) {
  .detailitem-content h3 {
    padding: 0;
  }
}

.detailitem-content h3 span.detailnum {
  display: inline-block;
  width: 1.75em;
  height: 1.75em;
  font-size: 0.75em;
  line-height: 1.5;
  text-align: center;
  border: 1px solid #f99f30;
  color: #fff;
  background: #f99f30;
  border-radius: 100%;
  margin-right: 0.5em;
  top: -0.15em;
  position: relative;
}

.desktop-detailitem-content a,
.detailitem-content a {
  text-decoration: underline;
  font-weight: 700;
}

.mainitem .detailitem-content h3 span.detailnum {
  background: #f99f30;
  color: #fff;
}

.plandetails-close {
  position: absolute;
  cursor: pointer;
  top: 25px;
  right: 25px;
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  margin: 0;
  background: #345142;
}

@media (max-width: 767px) {
  .plandetails-close {
    top: 10px;
    right: 10px;
  }
}

.plandetails-close:before,
.plandetails-close:after {
  content: '';
  pointer-events: none;
  position: absolute;
  right: 0;
  border-color: #fff;
  background-color: #fff;
  color: #fff;
  opacity: 1;
  box-sizing: border-box;
  display: inline-block;
}


.plandetails-close:before,
.plandetails-close:after {
  content: '';
  display: inline-block;
  position: absolute;
  height: 1px;
  width: 25px;
  top: 50%;
  left: calc(50% - 12.5px);
}

.plandetails-close:before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.plandetails-close:after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.desktop-plandetails {
  display: none;
}

@media (min-width: 1024px) {
  .planitem:hover .desktop-plandetails {
    display: block;
    position: absolute;
    left: 50%;
    bottom: calc(100% - 20px);
    transform: translate(-50%, 0);
    width: 410px;
    height: auto;
    padding: 0 0 25px 0;
    text-align: left;
    z-index: 50;
  }
  
  .planitem18:hover .desktop-plandetails {
    transform: translate(-75%, 0);
  }
  
  .planitem14:hover .desktop-plandetails,
  .planitem10:hover .desktop-plandetails,
  .planitem9:hover .desktop-plandetails,
  .planitem8:hover .desktop-plandetails,
  .planitem6:hover .desktop-plandetails,
  .planitem21:hover .desktop-plandetails,
  .planitem20:hover .desktop-plandetails {
    transform: translate(-50px, 0);
  }
  

  .desktop-detailitem {
    width: 100%;
    height: auto;
    position: relative;
    background: #fff;
    border: 1px solid #345142;
  }
  
  .desktop-detailitem:before {
    content: '';
    position: absolute;
    top: 100%;
    left: calc(50% - 10px);
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #345142 transparent transparent transparent;
  }
  
  .planitem18 .desktop-detailitem:before {
    left: calc(75% - 10px);
  }
  
  .planitem14 .desktop-detailitem:before,
  .planitem10 .desktop-detailitem:before,
  .planitem9 .desktop-detailitem:before,
  .planitem8 .desktop-detailitem:before,
  .planitem6 .desktop-detailitem:before,
  .planitem21 .desktop-detailitem:before,
  .planitem20 .desktop-detailitem:before {
    left: 40px;
  }
}

.desktop-detailitem-headline {
  padding: 10px;
  background: #345142;
}

.desktop-detailitem-infos {
  padding: 10px;
  background: #fff;
}

.desktop-detailitem-content h3 {
  font-size: 1.125em;
  line-height: 1.25;
  padding: 0 15px 0 0;
  margin: 0;
  text-transform: none;
  font-family: 'Barlow', sans-serif;
  font-weight: 400;
  color: #fff;
}

.desktop-detailitem-content h3 span.detailnum {
  display: inline-block;
  width: 1.75em;
  height: 1.75em;
  font-size: 0.75em;
  line-height: 1.5;
  text-align: center;
  border: 1px solid #f99f30;
  color: #fff;
  background: #f99f30;
  border-radius: 100%;
  margin-right: 0.5em;
  top: -0.15em;
  position: relative;
}

.desktop-detailitem-content .section-text {
  font-size: 14px;
}

.desktop-detailrow {
  height: auto;
  margin: 0 -20px 0 0;
}

.desktop-detailcol {
  width: 50%;
  height: auto;
  display: inline-block;
  vertical-align: top;
  padding: 0 20px 0 0;
}

.desktop-detailitem-image img {
  width: 100%;
  height: auto;
}


/* LISTING IMAGES */
.listingimages-layout {
  width: 100%;
  height: auto;
  position: relative; 
}

.listingimages-textbox {
  width: 100%;
  height: auto;
  padding: 100px 35% 100px 100px;
  margin: 0 0 0 -100px;
  background: #efebe8;
  position: relative;
  z-index: 1;
  text-align: left;
}

.listingimages-textbox.plusbuttons {
  padding: 100px 35% 50px 100px;
}

.listingimages-textbox .introduction-listing li:before {
  background-image: url(../svg/icons-green/Check.svg);
}

.listingimages-text {
  padding: 0 0 25px 0;
}

.listingimages-image {
  position: absolute;
  top: 50px;
  right: -100px;
  left: 65%;
  bottom: 0;
  margin: auto;
  background: #4C4642;
  z-index: 25;
}

.listingimages-cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media (max-width: 1280px) {
  .listingimages-textbox {
    padding: 100px 35% 100px 50px;
    margin: 0 0 0 -50px;
  }
  
  .listingimages-textbox.plusbuttons {
    padding: 100px 35% 50px 50px;
  }
}


@media (max-width: 1199px) {
  .listingimages-textbox {
    padding: 100px 45% 100px 50px;
  }
  
  .listingimages-textbox.plusbuttons {
    padding: 100px 45% 50px 50px;
  }
  
  .listingimages-image {
    left: 55%;
  }
}

@media (max-width: 767px) {
  .listingimages-textbox,
  .listingimages-textbox.plusbuttons {
    padding: 25px 50px 50px 50px;
    margin: 0 0 0 -25px;
  }
  
  .listingimages-image {
    position: relative;
    top: 0;
    right: -25px;
    left: auto;
    bottom: 0;
    width: 100%;
    height: auto;
    margin: -25px 0 0 0;
  }
  
  .listingimages-image:after {
    content: '';
    display: block;
    width: 100%;
    height: auto;
    padding-bottom: 66%;
  }
}


/* ACCORDEON */
.accordeon-text {
  max-width: 720px;
  padding: 0 0 25px 0;
}

.accordeon-section .uk-accordion {
  margin: 0;
}

.accordeon-section .uk-accordion>:nth-child(n+2){
  margin-top: 0;
}

.accordeon-section .uk-accordion-title {
  font-size: 1.125em;
  line-height: 1.25;
  font-weight: 400;
  color: #345142;
  padding: 10px 0;
}

.accordeon-section .uk-open .uk-accordion-title {
  font-weight: 700;
}

.accordeon-section .uk-accordion li {
  padding: 0;
  margin: 0;
  border-bottom: 1px solid #d8d8d8;
}

.accordeon-section .uk-accordion-content {
  margin-top: 0;
  padding: 0 0 10px 0;
}

.accordeon-section .uk-accordion-title::before {
  -webkit-transition: 0.25s ease all;
  -moz-transition: 0.25s ease all;
  -o-transition: 0.25s ease all;
  transition: 0.25s ease all;
  background-image: url(../svg/icons-green/Scribble_Pfeil.svg);
}

.accordeon-section .uk-open .uk-accordion-title::before {
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}



/* ZITAT */
.quote-section {
  position: relative;
  padding-left: 0;
  padding-right: 0;
  z-index: 10;
}

.quote-limit {
  max-width: 1480px;
}

.inner-quote-limit {
  max-width: 1380px;
}

.quote-content {
  position: relative;
  width: 100%;
  height: auto;
  background: #edebe8;
}

.quote-row {
  height: auto;
}

.quote-col {
  display: inline-block;
  vertical-align: top;
  width: 50%;
  height: auto;
}

.quote-box {
  position: relative;
  width: 100%;
  height: auto;
  padding: 50px 50px;
}

.quote-box:before {
  content: '';
  position: absolute;
  top: 50px;
  left: 25px;
  width: 6em;
  height: 5em;
  background: url(../svg/icons-green/Zitat.svg) center center no-repeat;
  background-size: 100% 100%;
  z-index: 1;
}

.quoteimage-cover {
  position: absolute;
  top: -50px;
  left: 50%;
  right: -50px;
  bottom: 0;
  margin: auto;
  background: #4C4640;
  z-index: 25;
}

.quote {
  position: relative;
  z-index: 10;
  font-size: 2em;
  line-height: 1.25;
  font-weight: 700;
  max-width: 15em;
  padding: 30px 0 0 0;
}

.quoted {
  position: relative;
  z-index: 10;
  padding: 40px 0 0 0;
  font-size: 1em;
  line-height: 1.25;
  font-weight: 400;
}


@media (max-width: 1099px) {
  .quote {
    font-size: 1.75em;
  }
}

@media (max-width: 767px) {
  .quote-col {
    width: 100%;
  }
  
  .quote-box {
    padding: 25px 25px 25px 50px;
  }
  
  .quote-box:before {
    top: 25px;
    left: 25px;
    width: 5em;
    height: 4em;
  }
  
  .quote {
    font-size: 1.5em;
    padding: 20px 0 0 0;
    max-width: 24em;
  }
  
  .quoted {
    padding: 15px 0 0 0;
  }
  
  .quote-image {
    width: 100%;
    height: auto;
  }
  
  .quoteimage-cover {
    position: relative;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    padding-bottom: 60%;
  }
}


/* ZITAT SLIDER */
.quoteslider-section {
  background: #345142;
  color: #fff;
  padding-left: 10px;
  padding-right: 10px;
}

.quoteslider-box {
  width: 100%;
  height: auto;
  position: relative;
}

.quoteslider-slider {
  position: relative;
  z-index: 10;
}

.quote-recommendation {
  position: absolute;
  z-index: 5;
  top: 0;
  bottom: 0;
  right: 0;
  width: 40%;
  height: 3em;
  margin: auto;
  text-align: center;
}

.quote-recommendation h3 {
  font-family: 'Barlow',sans-serif;
  font-size: 1em;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.quote-recommendation h3 strong {
  font-family: 'Panton Rust',sans-serif;
  font-size: 2em;
  font-weight: 900;
}


.quoteslide-box {
  width: 60%;
  padding: 50px 0 50px 150px;
  color: #fff;
}

.quoteslider-box .uk-slidenav {
  color: #fff;
}

.quoteslide-box:before {
  content: '';
  position: absolute;
  top: 35px;
  left: 75px;
  width: 6em;
  height: 5em;
  background: url(../svg/icons-green/ZitatLight.svg) center center no-repeat;
  background-size: 100% 100%;
  z-index: 1;
}

.quoteslide-quote {
  position: relative;
  z-index: 10;
  font-size: 1.5em;
  line-height: 1.5;
  font-weight: 400;
  padding: 25px 0 0 0;
}

.quoteslide-quoted {
  position: relative;
  z-index: 10;
  padding: 25px 0 0 0;
  font-size: 1em;
  line-height: 1.25;
  font-weight: 400;
}

@media (max-width: 1099px) {
  .quoteslide-quote {
    font-size: 1.25em;
  }
}

@media (max-width: 767px) {
  .quoteslider-section {
    padding-left: 0;
    padding-right: 0;
  }
  
  .quoteslider-nav {
    display: none;
  }
  
  .quote-recommendation {
    position:relative;
    width: 100%;
    height: auto;
    padding: 0 0 50px 50px;
    text-align: left;
  }
  
  .quoteslide-box {
    width: 100%;
    padding: 25px 25px 50px 50px;
    color: #fff;
  }
  
  .quoteslide-quote {
    font-size: 1.25em;
  }
  
  .quoteslide-box:before {
    top: 25px;
    left: 25px;
    width: 5em;
    height: 4em;
  }

}



/* LOCATION ARRIVAL */
.locationarrival-section {
  background: #345142;
  color: #fff;
  padding-left: 25px;
  padding-right: 25px;
}

.locationarrival-limit {
  max-width: 1480px;
}

.locationarrival-flex {
  display: flex;
  align-items: center;
  vertical-align: middle;
}

.locationarrival-map,
.locationarrival-content {
  width: 50%;
  height: auto;
}

.locationarrival-map img {
  width: 100%;
  height: auto;
  max-width: none;
}

.locationarrival-content {
  padding-left: 50px;
  padding-right: 75px;
}

@media (max-width: 767px) {
  .locationarrival-flex {
    display: block;
  }
  
  .locationarrival-map,
  .locationarrival-content {
    width: 100%;
  }
  
  .locationarrival-map {
    padding-bottom: 0;
  }
  
  .locationarrival-content {
    padding-left: 0;
    padding-right: 0;
  }
}



/* HIGHLIGHTS */
.highlights-section {
  
}

.highlights-mobile {
  display: none;
}

.highlights-row {
  height: auto;
  margin: 0 -50px -50px 0;
}

.highlights-col {
  display: inline-block;
  vertical-align: top;
  width: 50%;
  height: auto;
}

.highlights-col-1 {
  padding: 75px 50px 50px 0;
}

.highlights-col-2 {
  padding: 0 50px 50px 0;
}

@media (max-width: 1099px) {
  .highlights-col-1 {
    padding: 25px 50px 50px 0;
  }
}

@media (max-width: 990px) {
  .highlights-row {
    height: auto;
    margin: 0 -25px -50px 0;
  }
  
  .highlights-col-1 {
    padding: 25px 25px 50px 0;
  }
  
  .highlights-col-2 {
    padding: 0 25px 50px 0;
  }
}

@media (max-width: 767px) {
  .highlights-mobile {
    display: block;
  }
  
  .highlights-desktop {
    display: none;
  }
}

.highlight-selector {
  font-size: 1.125em;
  font-weight: 400;
  line-height: 1.25;
  color: #345142;
  padding: 50px 0 0 0;
}

@media (max-width: 990px) {
  .highlight-selector {
    font-size: 1em;
  }
}

.highlight-selector ul {
  list-style-type: none;
  padding: 0;
  margin: 0 0 -20px 0;
}

.highlight-selector li {
  padding: 0 0 0 2em;
  margin: 0 0 20px 0;
  position: relative;
  cursor: pointer;
  opacity: 0.5;
}

.highlight-selector li img,
.highlight-selector li svg {
  position: absolute;
  left: 0;
  top: 0;
  width: 1.25em;
  height: 1.25em;
}

.highlight-selector li svg path {
  fill: currentcolor !important;
}

.active1 .highlight-selector .highlight1,
.active2 .highlight-selector .highlight2,
.active3 .highlight-selector .highlight3,
.active4 .highlight-selector .highlight4,
.active5 .highlight-selector .highlight5,
.active6 .highlight-selector .highlight6,
.active7 .highlight-selector .highlight7,
.active8 .highlight-selector .highlight8 {
  color: #345142;
  font-weight: 700;
  opacity: 1;
}

.highlight-image {
  display: none;
}

.active1 .highlight-image1,
.active2 .highlight-image2,
.active3 .highlight-image3,
.active4 .highlight-image4,
.active5 .highlight-image5,
.active6 .highlight-image6,
.active7 .highlight-image7,
.active8 .highlight-image8 {
  display: block;
}

.highlight-image img,
.highlight-image svg.placeholder {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}

.highlights-image-landscape {
  padding: 75px 0 0 0;
}

@media (max-width: 990px) {
  .highlights-image-landscape {
    padding: 50px 0 0 0;
  }
}

.highlight-descriptions {
  padding: 50px 0 0 2em;
  margin: 0;
  height: auto;
}

.highlight-descriptions h3 {
  font-size: 1.125em;
  line-height: 1.25;
  padding: 0 0 10px 0;
  margin: 0;
}

.highlight-description {
  display: none;
}

.active1 .highlight-description1,
.active2 .highlight-description2,
.active3 .highlight-description3,
.active4 .highlight-description4,
.active5 .highlight-description5,
.active6 .highlight-description6,
.active7 .highlight-description7,
.active8 .highlight-description8 {
  display: block;
}


.highlight-text {
  margin: 0 0 -10px 0;
  height: auto;
}

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

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

.highlight-text li {
  padding: 0;
  margin: 0;
  position: relative;
}

.highlight-text li:before {
  content: '';
  position: absolute;
  left: -2em;
  top: 0;
  display: block;
  width: 1.125em;
  height: 1.5em;
  background: url(../svg/icons-orange/Check.svg) left center no-repeat;
  background-size: 100% 100%;
}

/* MOBILE HIGHLIGHTS */
@media (max-width: 767px) {
  .highlights-section {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
  }
  
  .highlights-mobile-head {
    padding: 0 25px;
  }
  
  .highlights-mobile-accordeon {
    padding: 25px 25px 50px 25px;
    background: #345142;
    color: #fff;
  }
  
  .highlights-accordeons {
    border-top: 1px solid #7e9286;
  }
  
  .highlights-accordeon {
    color: #7e9286;
    padding: 10px 0;
    border-bottom: 1px solid #7e9286;
  }
  
  .highlights-accordeon .select-highlight {
    padding: 0 2em 0 2em;
    position: relative;
    cursor: pointer;
  }
  
  .highlights-accordeon .select-highlight:after {
    content: '';
    display: block;
    position: absolute;
    width: 1em;
    height: 1em;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    -webkit-transition: 0.25s ease all;
    -moz-transition: 0.25s ease all;
    -o-transition: 0.25s ease all;
    transition: 0.25s ease all;
    background: url(../svg/icons-white/Scribble_Pfeil.svg) center center no-repeat;
    background-size: 1em 1em;
    opacity: 0.5;
  }
  
  .active1 .highlight1 .select-highlight:after,
  .active2 .highlight2 .select-highlight:after,
  .active3 .highlight3 .select-highlight:after,
  .active4 .highlight4 .select-highlight:after,
  .active5 .highlight5 .select-highlight:after,
  .active6 .highlight6 .select-highlight:after,
  .active7 .highlight7 .select-highlight:after,
  .active8 .highlight8 .select-highlight:after {
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    opacity: 1;
  }
  
  .highlights-accordeon .select-highlight img,
  .highlights-accordeon .select-highlight svg {
    position: absolute;
    left: 0;
    top: 0;
    width: 1.25em;
    height: 1.25em;
  }
  
  .highlights-accordeon .select-highlight svg path {
    fill: currentcolor !important;
  }
  
  .highlights-accordeon-content {
    display: none;
    color: #fff;
    padding: 10px 0 0 4em;
  }
  
  .highlights-accordeon-content .highlight-text li:before {
    background-image: url(../svg/icons-white/Check.svg);
  }
  
  .active1 .highlight1 .highlights-accordeon-content,
  .active2 .highlight2 .highlights-accordeon-content,
  .active3 .highlight3 .highlights-accordeon-content,
  .active4 .highlight4 .highlights-accordeon-content,
  .active5 .highlight5 .highlights-accordeon-content,
  .active6 .highlight6 .highlights-accordeon-content,
  .active7 .highlight7 .highlights-accordeon-content,
  .active8 .highlight8 .highlights-accordeon-content {
    display: block;
  }
  
  .active1 .highlight1 .select-highlight,
  .active2 .highlight2 .select-highlight,
  .active3 .highlight3 .select-highlight,
  .active4 .highlight4 .select-highlight,
  .active5 .highlight5 .select-highlight,
  .active6 .highlight6 .select-highlight,
  .active7 .highlight7 .select-highlight,
  .active8 .highlight8 .select-highlight {
    color: #fff;
    font-weight: 700;
  }
  
}



/* FORMS */
.customdata {
  padding: 0 0 0 2.25em;
  margin: 0;
  position: relative;
  min-height: 1.5em;
}

input.dsgvocheck,
input.anoncheck {
  position: absolute;
  left: 0;
  top: 0;
}

.customdata label {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
}

.customdata input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.customdata .check {
  position: absolute;
  top: 0;
  left: 0;
  height: 1.5em;
  width: 1.5em;
  background-color: #fff;
  border-radius: 100%;
  border: 1px solid #345142;
}

.customdata .check {
  background-color: #fff;
}

.customdata .check:after {
  content: '';
  position: absolute;
  display: none;
  left: 0.6em;
  top: -0.45em;
  width: 0.75em;
  height: 1.5em;
  border: solid #345142;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  box-sizing: inherit;
}

.customdata input:checked~.check:after {
  display: block;
}

.privacy .customdata p a {
  font-weight: 700;
  text-decoration: underline;
}

.privacy-row {
  height: auto;
  overflow: hidden;
  margin: 0 -25px -25px 0;
}

.privacy-col {
  display: inline-block;
  vertical-align: top;
  padding: 0 25px 25px 0;
}

.send-col {
  float: right;
}

#inquiry-response {
  display: none;
  font-size: 0.75em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
  margin: 25px 0 0 0;
  padding: 10px;
  background: #BC571D;
  color: #fff;
}

#inquiry-response.success,
#inquiry-response.error {
  display: block;
}

.inquiry-field .notvalid {
  border-color: #BC571D;
}

.privacy .check.notvalid {
  border-color: #bc571d;
}


/* OVERLAY IMAGE */
.overlayimage-section:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(0,0,0,0) 45%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.25) 100%);
  z-index: 15;
}

.overlay-content {
  position: relative;
  z-index: 25;
  text-align: left;
  padding: 0 0 0 50%;
}

.overlay-content .headline {
  text-align: left;
}

.overlay-content-box {
  padding: 0 50px;
  max-width: calc(20em + 100px);
}

@media (max-width: 767px) {
  .overlayimage-section:before {
    background: linear-gradient(90deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0) 100%);
  }
  
  .overlay-content {
    padding: 0;
  }
  
  .overlay-content-box {
    padding: 0 25px;
    max-width: calc(20em + 50px);
  }
}




/* ROOMS LIST */
#rooms-filter {
  height: auto;
  padding: 50px 0 0 0;
  position: relative;
}

#rooms-filter:before {
  content: '';
  position: absolute;
  left: -50px;
  top: -50px;
  width: 10em;
  height: 12em;
  background: url(../svg/logos/mark/filter.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  z-index: 5;
}

@media (max-width: 767px) {
  #rooms-filter:before {
    display: none;
  }
}

.rooms-filter {
  position: relative;
  width: 100%;
  height: auto;
  padding: 25px;
  background: #efebe9;
  z-index: 10;
  overflow: hidden;
}

.rooms-filter-row {
  height: auto;
  margin: 0 -25px -10px 0;
}

.rooms-filter-col {
  display: inline-block;
  vertical-align: top;
  padding: 0 25px 10px 0;
}

@media (min-width: 768px) {
  .rooms-filter-row {
    display: inline-block;
  }
}

@media (max-width: 767px) {
  .rooms-filter-col {
    width: 50%;
  }
}

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



.rooms-select-field {
  position: relative;
  line-height: 40px;
  height: 40px;
}

.rooms-select-field:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 1em;
  height: 1em;
  margin: auto;
  pointer-events: none;
  background: url(../svg/icons-green/Dropdown.svg) center center no-repeat;
  background-size: 1em 1em;
  z-index: 10;
}

.rooms-select-field label {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  font-size: 1em;
  font-weight: 400;
  letter-spacing: 0.025em;
  line-height: 39px;
  color: #345142;
  text-transform: uppercase;
  background: #efebe9;
  pointer-events: none;
  z-index: 5;
}

.rooms-select-field label strong {
  font-weight: 700;
}


.rooms-select-field select {
  display: block;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  width: 100%;
  min-width: 10.5em;
  height: 40px;
  padding: 0 35px 0 0;
  font-size: 1em;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 40px;
  color: #345142;
  background: transparent;
  border: none;
  text-transform: none;
  border-bottom: 1px solid #345142;
  outline: none !important;
}

.rooms-select-field select#rooms-location {
  min-width: 7.5em;
}

#noresults {
  display: none;
  font-size: 1em;
  font-weight: 700;
  text-align: center;
  padding:0 0 100px 0;
}




.rooms-compare {
  display: inline-block;
  line-height: 40px;
  height: 40px;
  float: right;
}

@media (max-width: 1099px) {
  .rooms-compare {
    display: block;
    width: 100%;
    margin: 25px 0 0 0;
    float: none;
    text-align: right;
  }
}

@media (max-width: 767px) {
  .rooms-compare {
    display: none;
  }
}

.rooms-endcompare {
  display: none;
  line-height: 40px;
  height: 40px;
}


.comparefeatures {
  display: none;
  padding: 0 0 25px 0;
}

.compareshow .comparefeatures {
  display: block;
}

.comparefeatures ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  font-size: 0.9em;
}

.comparefeatures li {
  display: inline-block;
  vertical-align: top;
  width: 100%;
  padding: 0 0 0 2.75em;
  margin: 0;
  font-size: 1em;
  line-height: 1.5;
  min-height: 1.5em;
  position: relative;
}

.comparefeatures li img {
  display: block;
  position: absolute;
  top: 0.25em;
  left: 0;
  width: 1.5em;
  height: 1em;
}




.rooms-compare-boxes {
  display: inline-block;
  line-height: 40px;
  height: 40px;
  position: relative;
  padding: 0 0 0 50px;
}

.rooms-compare-boxes img,
.rooms-compare-boxes svg {
  position: absolute;
  top: 3px;
  left: 0;
  width: 34px;
  height: 34px;
}

.rooms-compare-boxes svg path {
  fill: #345142 !important;
  stroke: #345142 !important;
}

.rooms-compare-box {
  display: inline-block;
  width: 50px;
  height: 40px;
  border: 1px solid #345142;
  margin: 0 15px 0 0;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.rooms-compare-box.used {
  position: relative;
  color: transparent;
  cursor: pointer;
}

.rooms-compare-box.used:hover {
  color: #fff;
}

.rooms-compare-box.used:after {
  content: '';
}

.rooms-compare-box.used::before,
.rooms-compare-box.used::after {
  content: '';
  pointer-events: none;
  position: absolute;
  right: 0;
  border-color: #fff;
  background-color: currentColor;
  color: currentColor;
  opacity: 1;
  box-sizing: border-box;
  display: inline-block;
}


.rooms-compare-box.used::before,
.rooms-compare-box.used::after {
  content: '';
  display: inline-block;
  position: absolute;
  height: 2px;
  width: 16px;
  top: calc(50% - 1px);
  left: calc(50% - 8px);
}

.rooms-compare-box.used::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.rooms-compare-box.used::after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#compare,
#endcompare {
  display: inline-block;
  vertical-align: top;
  line-height: 1;
  height: 40px;
  padding: 0 10px;
  background: #345142;
  border: 1px solid #345142;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  font-weight: 400;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  -o-transition: all 0.25s;
  transition: all 0.25s;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

@media (min-width: 1025px) {
  #compare:hover,
  #endcompare:hover {
    background: #fff;
    color: #345142;
  }
}






#rooms-listing {
  height: auto;
  padding: 50px 0 0 0;
  margin: auto;
}

#rooms-listing > ul {
  list-style-type: none;
  padding: 0;
  margin: 0 -50px -50px 0;
}

#rooms-listing li.rooms-item {
  display: none;
  vertical-align: top;
  width: 33.3333%;
  height: auto;
  padding: 0 50px 50px 0;
  margin: 0;
}

#rooms-listing li.rooms-item.active {
  display: inline-block;
}

#rooms-listing li.rooms-item.comparehide {
  display: none !important;
}

#rooms-listing li.rooms-item.compareshow {
  display: inline-block !important;
}

#rooms-listing li.rooms-item.compareshow .roomlist-select {
  display: none !important;
}


@media (max-width: 1439px) {
  #rooms-listing > ul {
    margin: 0 -25px -50px 0;
  }
  
  #rooms-listing li.rooms-item {
    padding: 0 25px 50px 0;
  }
}

@media (max-width: 1279px) {
  #rooms-listing {
    max-width: 850px;
  }
  #rooms-listing li.rooms-item {
    width: 50%;
  }
}

@media (max-width: 650px) {
  #rooms-listing {
    max-width: 400px;
  }
  #rooms-listing li.rooms-item {
    width: 100%;
  }
}

.roomlist-item {
  width: 100%;
  height: auto;
}

.roomlist-image {
  width: 100%;
  height: auto;
  position: relative;
  z-index: 1;
  margin: 0 0 -100px 0;
}

.roomlist-image img,
.roomlist-image svg {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 650px) {
  .roomlist-image a {
    display: block;
    width: 100%;
    height: auto;
    overflow: hidden;
  }
  
  .roomlist-image a img,
  .roomlist-image a svg {
    margin: -15% 0;
  }
}

.roomlist-select {
  display: block;
  position: absolute;
  top: 25px;
  right: 25px;
  width: 50px;
  height: 50px;
  background: #345142;
  color: #fff;
  cursor: pointer;
  z-index: 50;
  border-radius: 100%;
}

.roomlist-select img,
.roomlist-select svg {
  display: block;
  position: absolute;
  width: 60%;
  height: 60%;
  left: 0;
  top: 5%;
  bottom: 0;
  right: 0;
  margin: auto;
}

.roomlist-select svg path {
  fill: #345142;
  stroke: #fff;
  -webkit-transition: fill 0.25s;
  -moz-transition: fill 0.25s;
  -o-transition: fill 0.25s;
  transition: fill 0.25s;
}

.roomlist-select.selected svg path {
  fill: #fff !important;
}

.roomlist-content {
  width: 100%;
  height: auto;
  padding: 0 25px;
  position: relative;
  z-index: 10;
}

.roomlist-box {
  width: 100%;
  height: auto;
  padding: 25px;
  background: #345142;
  color: #fff;
  position: relative;
}

@media (max-width: 900px) {
  .roomlist-content {
    padding: 0 15px;
  }
  
  .roomlist-box {
    padding: 25px 15px;
  }
}

.roomlist-box:after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 5px;
  width: 100%;
  height: auto;
  border-bottom: 1px dashed #fff;
}

.roomlist-name {
  width: 100%;
  height: auto;
  position: relative;
}

#rooms-listing h3 {
  font-family: 'Barlow';
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  padding: 0 3em 0 0;
  margin: 0;
}

#rooms-listing p.roomlist-location {
  position: absolute;
  right: 0;
  bottom: 0;
  font-size: 0.75em;
  font-weight: 400;
  line-height: 1.25;
  padding: 0;
  margin: 0;
  color: rgba(255,255,255,0.5);
}


.roomlist-facts {
  padding: 25px 0;
  margin: 0 -5px 0 0;
}

.roomlist-fact {
  display: inline-block;
  vertical-align: top;
  width: 50%;
  height: auto;
  padding: 0 5px 0 0;
}

.roomlist-factbox {
  padding: 5px 10px 10px 10px;
  background: #3e5a4c;
}

.roomlist-fact-head {
  font-size: 12px;
  line-height: 1.25;
  text-align: right;
  color: rgba(255,255,255,0.5);
  padding: 0 0 5px 0;
}

.roomlist-fact-data {
  width: 100%;
  height: 2em;
  line-height: 1.25em;
  position: relative;
  padding: 0.75em 0 0 0;
  text-align: right;
}

.roomlist-fact-data p {
  font-size: 1.25em;
  line-height: 1;
  text-align: right;
  padding: 0;
  margin: 0;
}

.roomlist-fact-data img,
.roomlist-fact-data svg {
  display: block;
  position: absolute;
  bottom: 0.05em;
  left: 0;
  width: 1.5em;
  height: 1.25em;
}

@media (max-width: 900px) {
  .roomlist-fact-data {
    height: 1.5em;
    line-height: 1em;
    padding: 0.5em 0 0 0;
  }
  
  .roomlist-fact-data p {
    font-size: 1em; 
  }
  
  .roomlist-fact-data img,
  .roomlist-fact-data svg {
    bottom: 0;
    width: 1.25em;
    height: 1em;
  }
}




.roomlist-details {
  width: 100%;
  height: auto;
  position: relative;
}

a.roomlist-detaillink {
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 0 0 0 1.75em;
  margin: 0;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.25;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  -o-transition: all 0.25s;
  transition: all 0.25s;
}

a.roomlist-detaillink img,
a.roomlist-detaillink svg {
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  width: 1.25em;
  height: 1.25em;
  -webkit-transition: left 0.25s;
  -moz-transition: left 0.25s;
  -o-transition: left 0.25s;
  transition: left 0.25s;
}

a.roomlist-detaillink svg path {
  fill: currentColor !important;
}

a.roomlist-detaillink:hover {
  color: #bc571d;
}

a.roomlist-detaillink:hover img,
a.roomlist-detaillink:hover svg {
  left: 0.25em;
}

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

#rooms-listing .roomlist-price h4 {
  font-family: 'Barlow';
  font-size: 1.5em;
  font-weight: 400;
  line-height: 1.25;
  padding: 0;
  margin: 0;
  text-transform: none;
}

#rooms-listing .roomlist-price h4 strong {
  font-weight: 500;
}

.roomlist-booking {
  padding: 25px 0 0 0;
}

.roomlist-booking > ul {
  list-style-type: none;
  padding: 0;
  margin: 0 -10px -5px 0;
}

.roomlist-booking > ul > li {
  display: inline-block;
  vertical-align: top;
  width: 50%;
  height: auto;
  padding: 0 10px 5px 0;
  margin: 0;
}

.roomlist-booking a.booking-button {
  display: block;
  font-size: 1em;
  font-weight: 400;
  letter-spacing: .05em;
  padding: 10px;
  line-height: 1.25;
  border-radius: 0;
  border: 1px solid #fff;
  text-align: center;
  text-transform: uppercase;
}

.roomlist-booking a.booking-button-primary {
  background: #fff;
  color: #345142;
}


.roomlist-booking a.booking-button-primary:hover,
.roomlist-booking a.booking-button-secondary:hover {
  background: #bc571d;
  border-color: #bc571d;
  color: #fff;
}





/* ROOM DETAILS */
#breadcrumb ul {
  display: block;
  height: auto;
  list-style-type: none;
  padding: 0;
  margin: 0 -0.5em 0 0;
  overflow: hidden;
  color: #bdc1c0;
}

#breadcrumb li {
  display: inline-block;
  vertical-align: top;
  padding: 0 0.5em 0 0;
  margin: 0;
}

#breadcrumb a:hover {
  text-decoration: underline;
}


.roomhead-row {
  height: auto;
  padding: 0;
  margin: 0 -50px 0 0;
}

.roomhead-col {
  display: inline-block;
  vertical-align: top;
  height: auto;
  padding-right: 50px;
  margin: 0;
}

.roomcontent-row {
  height: auto;
  padding: 0;
  margin: 0 -50px -25px 0;
  overflow: hidden;
}

.roomcontent-col {
  display: inline-block;
  vertical-align: top;
  height: auto;
  padding: 0 50px 25px 0;
  margin: 0;
}

.roomhead-col-1,
.roomcontent-col-1 {
  width: 65%;
}

.roomhead-col-2,
.roomcontent-col-2 {
  width: 35%;
}

.roomdetail-lowestprice {
  padding: 1em 0 25px 0;
  text-align: right;
}

@media (max-width: 1023px) {
  .roomcontent-col-1,
  .roomcontent-col-2 {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .roomhead-col-1,
  .roomcontent-col-1,
  .roomhead-col-2,
  .roomcontent-col-2 {
    width: 100%;
  }
  
  .roomdetail-lowestprice {
    padding: 0 0 25px 0;
    text-align: left;
  }
}

.roomdetail-lowestprice h2 {
  font-family: 'Barlow', sans-serif;
  font-size: 1.25em;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0;
  text-transform: none
}

.roomdetail-lowestprice h2 strong {
  font-size: 1.5em;
  font-weight: 700;
}

.roomdetail-lowestprice h2 span {
  display: block;
}

.roomdetail-lowestprice h2 span img {
  display: inline-block;
  vertical-align: middle;
  width: auto;
  height: 1em;
  margin: 0 0.25em 0 0;
}


.roomfeatures {
  width: 100%;
  height: auto;
  padding: 0 0 50px 0;
}

@media (min-width: 600px) {
  .roomfeatures-col {
    display: inline-block;
    vertical-align: top;
    width: 50%;
    height: auto;
    padding: 0 25px 0 0;
  }
}

.roomdescription h3 {
  font-family: 'Barlow', sans-serif;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.5;
  padding: 0;
  margin: 0;
  text-transform: uppercase;
}

.roomfeatures ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.roomfeatures li {
  display: inline-block;
  vertical-align: top;
  width: 100%;
  padding: 0 0 0 2.25em;
  margin: 0;
  font-size: 1em;
  line-height: 1.5;
  min-height: 1.5em;
  position: relative;
}

@media (min-width: 700px) {
  .roomfeatures li {
    width: 50%;
  }
}

.roomfeatures li img {
  display: block;
  position: absolute;
  top: 0.25em;
  left: 0;
  width: 1.5em;
  height: 1em;
}


.room-bookingbox {
  width: 100%;
  height: auto;
  padding: 25px;
  background: #efebe9;
}

.room-bookingbuttons {
  position: relative;
  margin-top: -22px;
}

.room-bookingbuttons ul {
  list-style-type: none;
  padding: 0;
  margin: 0 -10px;
  text-align: center;
  overflow: hidden;
}

.room-bookingbuttons li {
  display: inline-block;
  vertical-align: top;
  padding: 0 10px;
  margin: 0;
}

.room-bookingbuttons a.uk-button {
  padding: 10px 1em;
  min-width: 7em;
}










/* ROOM GALLERY */
#room-slideshows {
  padding: 75px 0 0 0;
}

#room-thumbnav {
  padding: 25px 100px;
}

.cut-thumbs {
  overflow: hidden;
}


/* ROOM VIDEO */
.videothumb {
  width: 100%;
  height: auto;
  position: relative;
  color: #fff;
}

.videothumb:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.125);
  z-index: 5;
}

.videothumb .videoplay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #345142;
  padding: 0.25em;
  color: #fff;
  border-radius: 100%;
  z-index: 10;
}


/* PRICELIST */
.season-tabs .uk-tab:before {
  display: none;
}

.season-tabs-head {
  padding: 25px 0 0 0;
}

.season-tabs-head {
  font-family: 'Panton Rust',sans-serif;
  text-transform: uppercase;
  font-size: 1em;
  font-weight: 900;
  line-height: 1;
}

.season-tabs .uk-tab>.uk-active>a {
  position: relative;
  border-color: transparent;
}

.season-tabs .uk-tab>.uk-active>a:after {
  content: '';
  display: block;
  position: absolute;
  width: auto;
  height: 2px;
  left: 0.25em;
  right: 0.25em;
  margin: auto;
  top: calc(50% + 0.65em);
  background: #BC571D;
  transform: rotate(0.5deg);
}

.season-tabs-content {
  border-top: 2px solid #efebe9;
  border-bottom: 2px solid #efebe9;
  padding: 25px 0;
  text-align: center;
}

.season-tabs-content h4 {
  font-family: 'Barlow',sans-serif;
  text-transform: uppercase;
  font-size: 1em;
  font-weight: 900;
  line-height: 1;
  max-width: 10em;
  paddding: 0;
  margin: 0 auto;
  min-height: 2em;
}

.season-tabs-content .season-text {
  font-size: 1em;
  line-height: 1;
  padding: 1em 0;
  min-height: 5em;
}

.season-tabs-content .season-price {
  font-size: 1em;
  line-height: 1;
}

.season {
  width: 100%;
  height: auto;
  overflow: hidden;
}

.season-row {
  display: grid;
  overflow: hidden;
  grid-template-columns: repeat(3,1fr);
  grid-auto-rows: 1fr;
  grid-column-gap: 0;
  grid-row-gap: 0;
  margin: 0 -1px;
}

.season-col {
  display: flex;
  border-left: 1px solid #efebe9;
  border-right: 1px solid #efebe9;
}

.season-box {
  width: 100%;
  height: auto;
  padding: 0 25px;
}

@media (min-width: 901px) {
  .no-holidays .season-col-middle {
    border-right: 2px solid #efebe9;
  }
}


@media (max-width: 900px) {
  .season-tabs-content {
    padding: 0;
  }
  
  .season-row {
    display: block;
    margin: -1px 0;
  }
  
  .season-col {
    display: block;
    border-top: 1px solid #efebe9;
    border-bottom: 1px solid #efebe9;
    border-left: none;
    border-right: none;
  }
  
  .season-box {
    width: 100%;
    height: auto;
    padding: 25px 0;
  }

}


/* BOOKING */
#booking-section {
  width: 100%;
  height: auto;
  padding: 50px 0 0 0;
}

#booking-section #dynamic-shop-container,
#booking-section .skd-widget * {
  font-family: 'Barlow';
}

#booking-section .fa {
  font-family: 'FontAwesome';
}


h2.skd-fancy-header, h5.skd-fancy-header {
  font-style: normal !important;
}

.skd-widget h1, .skd-widget h2, .skd-widget h3, .skd-widget h4, .skd-widget h5, .skd-widget h6 {
  font-family: 'Barlow' !important;
}








/* INQUIRY */
.form-part {

}


.form-head {
  padding-bottom: 25px;
}

.form-data {
  padding: 50px 50px 25px 50px;
  height: auto;
  border: 2px solid #efebe9;
}

@media (max-width: 950px) {
  .form-data {
    padding: 25px 25px 0 25px;
  }
}

.inquiry-row,
.inner-row {
  height: auto;
  margin: 0 -25px 0 0;
}

.inquiry-ages {
  text-align: right;
  display: none;
}

.child-col,
.inquiry-room2,
.inquiry-room3 {
  display: none;
}

.inquiry-col {
  display: inline-block;
  vertical-align: top;
  width: 33.3333%;
  height: auto;
  padding: 0 25px 25px 0;
}

.inquiry-col-66 {
  width: 66.6666%;
}

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

@media (max-width: 950px) {
  .inquiry-row,
  .inner-row {
    margin: 0 -10px 0 0;
  }
  
  .inquiry-col {
    padding: 0 10px 25px 0;
  }
  
  .inquiry-col-66 {
    padding: 0 10px 0 0;
  }
}

@media (max-width: 767px) {
  .inquiry-col,
  .inquiry-col-66,
  .inquiry-col-100 {
    width: 100%;
  }
}

.inquiry-col label {
  display: block;
  font-family: 'Barlow',sans-serif;
  font-size: 1em;
  font-weight: 400;
  line-height: 1;
  padding: 0 0 5px 0;
  margin: 0;
  border: none;
  color: #345142;
  text-align: left;
}

.inquiry-col label strong {
  font-weight: 700;
  text-transform: uppercase;
}

.inquiry-field {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
  text-align: left;
}

.inquiry-field input,
.inquiry-field select {
  display: block;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  width: 100%;
  height: 40px;
  padding: 0 10px;
  font-size: 1em;
  line-height: 40px;
  color: #345142;
  background: #fff;
  border: 1px solid #345142;
  outline: none !important;
}

.inquiry-field textarea {
  display: block;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  width: 100%;
  height: 200px;
  padding: 0 10px;
  font-size: 1em;
  line-height: 40px;
  color: #345142;
  background: #fff;
  border: 1px solid #345142;
  outline: none !important;
  resize: none;
}

.inquiry-calendar {
  position: absolute;
  top: 0;
  right: 0;
  width: 2.75em;
  height: 100%;
  background: #345142;
  color: #fff;
  line-height: 35px;
  text-align: center;
  z-index: 5;
  pointer-events: none;
}

.inquiry-chevron {
  position: absolute;
  top: 0;
  right: 0;
  width: 2.75em;
  height: 100%;
  background: transparent;
  color: #345142;
  line-height: 40px;
  text-align: center;
  z-index: 5;
  pointer-events: none;
}

.inquiry-field input::-webkit-input-placeholder, .inquiry-field isindex::-webkit-input-placeholder,.inquiry-field textarea::-webkit-input-placeholder {color:#345142;opacity:1;}
.inquiry-field input::-moz-placeholder {color:#345142;opacity:1 !important;}

.inquiry-field .uk-form-custom {
  display: block;
}

.uk-button-select {
  display: block;
  width: 100%;
  height: 40px;
  padding: 0 10px;
  font-size: 1em;
  font-weight: 400;
  line-height: 40px;
  color: #345142;
  background: #fff;
  border: 1px solid #345142;
  text-align: right;
  letter-spacing: 0;
  text-transform: none;
}

.uk-button-select span.number {
  display: inline-block;
  font-size: 1em;
  line-height: 1;
  font-weight: 700;
  padding: 0 0.25em 0 0;
}

.uk-button-select-first span.text {
  display: inline-block;
  font-size: 0.8em;
  line-height: 1;
  font-weight: 400;
  padding: 0 0.5em 0 0;
  text-transform: uppercase;
}



.inquiry-room {
  margin: 25px 0 0 0;
  padding: 50px 0 0 0;
  position: relative;
}

.inquiry-room:before {
  content: '';
  position: absolute;
  top: 0;
  left: -50px;
  right: -50px;
  margin: auto;
  height: 1px;
  background: #efebe9;
}

.inquiry-room:after {
  content: '';
  position: absolute;
  top: 72px;
  left: -70px;
  width: 40px;
  height: 40px;
  margin: auto;
  background: url(../svg/buttons/room.svg) center center no-repeat;
  background-size: 100% 100%;
  z-index: 10;
}

@media (max-width: 950px) {
  .inquiry-room {
    padding: 25px 0 0 0;
  }
  
  .inquiry-room:before {
    left: -25px;
    right: -25px;
  }
  
  .inquiry-room:after {
    top: 52px;
    left: -40px;
    width: 30px;
    height: 30px;
  }
}


.contact-data {
  padding: 25px 0 0 0;
  position: relative;
}

.contact-data:after {
  content: '';
  position: absolute;
  top: 47px;
  left: -70px;
  width: 40px;
  height: 40px;
  margin: auto;
  background: url(../svg/buttons/message.svg) center center no-repeat;
  background-size: 100% 100%;
  z-index: 10;
}

@media (max-width: 950px) {
  .contact-data:after {
    top: 52px;
    left: -40px;
    width: 30px;
    height: 30px;
  }
}


/* REVIEWS */
#reviews {
  width: 100%;
  max-width: 800px;
  height: auto;
  margin: 0 auto;
  padding: 50px 0 0 0;
}

div.hc-widget {
  font-family: 'Barlow',sans-serif !important;
}

div.hc-widget.hc-widget-large {
  max-width: 800px !important;
}

.hc-widget-hotel-name {
  text-transform: uppercase;
}

div.hc-widget.hc-widget-large.hc-widget-white hr {
  width: 800px !important;
}

div.hc-widget.hc-widget-white {
  border: 1px solid #345142 !important;
}

div.hc-widget.hc-widget-white div.hc-widget-body {
  color: #345142 !important;
  background: #345142 !important;
}

div.hc-widget.hc-widget-white a.hc-widget-cta {
  background: #345142 !important;
  color: #fff !important;
  font-family: 'Panton Rust' !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  border: none !important;
  height: 45px !important;
  line-height: 45px !important;
}

div.hc-widget.hc-widget-large.hc-widget-white div.hc-widget-body {
  padding-top: 10px !important;
}

div.hc-widget.hc-widget-white.hc-widget-large .hc-widget-content-box {
  margin-top: 10px !important;
}

div.hc-widget.hc-widget-white div.hc-widget-content-box span.hc-widget-quote-headline {
  font-size: 1em !important;
  font-weight: 700 !important;
  color: #345142 !important;
}

div.hc-widget.hc-widget-white div.hc-widget-content-box span.hc-widget-quote-body {
  color: #345142 !important;
}

div.hc-widget div.hc-widget-content-box span.hc-widget-quote-body {
  font-size: 0.9em !important;
  color: #345142 !important;
}

div.hc-widget div.hc-widget-content-box span.hc-widget-quote-author {
  font-size: 0.75em !important;
  font-weight: 700;
  color: #345142 !important;
  padding-bottom: 25px !important;
}

div.hc-widget.hc-widget-white.hc-widget-large div.hc-widget-content-box span.hc-widget-rating,
div.hc-widget.hc-widget-large div.hc-widget-body span.hc-widget-rating-subline {
  font-family: 'Panton Rust' !important;
  font-weight: 900 !important;
}

div.hc-widget.hc-widget-white div.hc-widget-body span.hc-widget-rating {
  padding-top: 20px !important;
}

div.hc-widget.hc-widget-white hr {
  background-color: #345142 !important;
  margin: 15px 0 25px -26px !important;
}





/* IMAGE GALLERY */
.imagegallery-filter {
  height: auto;
  position: relative;
  padding: 25px 0 50px 0;
}

.imagegallery-active {
  display: none;
}

@media (min-width: 768px) {

  .filter-list {
    list-style-type: none;
    padding: 0;
    margin: 0 -0.5em;
    height: auto;
    font-size: 1em;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
  }
  
  .filter-list li {
    display: inline-block;
    vertical-align: top;
    padding: 0 0.5em;
    margin: 0;
  }
  
  .filter-list li a {
    display: inline-block;
    position: relative;
    line-height: 1.5;
  }
  
  .filter-list li a:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: transparent;
  }
  
  .filter-list li a:hover:after {
    background: #BC571D;
  }
  
  .filter-list li.uk-active a {
    font-weight: 700;
  }
  
  .filter-list li.uk-active a:after {
    background: #345142;
  }

}

@media (max-width: 767px) {
  .imagegallery-filter {
    width: 100%;
    height: auto;
    position: relative;
    padding: 25px 0;
    font-weight: 500;
  }
  
  .imagegallery-active {
    display: block;
    padding: 10px 10px 10px 15px;
    cursor: pointer;
    background: #345142;
    color: #fff;
    line-height: 20px;
  }
  
  .imagegallery-active .icon {
    float: right;
  }
  
  .imagegallery-active .icon-plus {
    display: inline-block;
  }
  
  .imagegallery-active .icon-minus {
    display: none;
  }
  
  .imagegallery-filter.opened .imagegallery-active .icon-plus {
    display: none;
  }
  .imagegallery-filter.opened .imagegallery-active .icon-minus {
    display: inline-block;
  }
  
  .imagegallery-droplist {
    display: none;
    border-left: 1px solid #345142;
    border-right: 1px solid #345142;
    border-bottom: 1px solid #345142;
  }
  
  .imagegallery-filter.opened .imagegallery-droplist {
    display: block;
  }
  
  .imagegallery-droplist ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
  }
  
  .imagegallery-droplist li {
    display: block;
    width: 100%;
    height: auto;
    padding: 0;
    margin: 0;
  }
  
  .imagegallery-droplist li a {
    display: block;
    width: 100%;
    height: auto;
    padding: 10px 14px;
    border-top: 1px solid #EDEBE8;
  }
  
  .imagegallery-droplist li.nofilter a {
    border-top: none;
  }
  
}


.imagegallery-crop {
  height: auto;
  margin: -10px;
  overflow: hidden;
}

.imagegallery-crop li a {
  display: block;
  position: relative;
  width: 100%;
  height: auto;
}

.imagegallery-crop li a:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 10px solid #fff;
  z-index: 10;
}
  
@media (max-width: 1024px) {
  .imagegallery-crop {
    margin: -5px;
  }
  
  .imagegallery-crop li a:before {
    border: 5px solid #fff;
  }
}

@media (max-width: 767px) {
  .imagegallery-crop {
    margin: -2px;
  }
  
  .imagegallery-crop li a:before {
    border: 2px solid #fff;
  }
}




/* VIDEO GALLERY */
.videogallery {
  padding: 25px 0 0 0;
}

.videogallery-row {
  height: auto;
  margin: 0 0 -50px 0;
  overflow: hidden;
}

.videogallery-col {
  height: auto;
  padding: 0 0 50px 0;
}




/* OFFERS */
.offer-box {
  width: 100%;
  height: auto;
  padding: 50px 0 0 0;
  position: relative;
  background: #fff;
  color: #345142;
}

@media (max-width: 695px) {
  .offer-box {
    padding: 0;
  }
}

.offer-row {
  height: auto;
  padding: 0;
  margin: 0;
}

.offer-col {
  display: inline-block;
  vertical-align: top;
  height: auto;
  position: relative;
}

.offer-col-1 {
  width: calc(50% - 100px);
}

.offer-col-2 {
  width: calc(50% + 100px);
}

.offer-header {
  display: inline-block;
  padding: 50px 0 10px 100px;
  border-bottom: 1px dashed #345142;
  position: relative;
}

@media (max-width: 1279px) {
  .offer-col-1 {
    width: calc(50% - 50px);
  }
  
  .offer-col-2 {
    width: calc(50% + 50px);
  }
  
  .offer-header {
    padding: 50px 0 10px 50px;
  }
}

@media (max-width: 767px) {
  .offer-col-1 {
    width: calc(50% - 25px);
  }
  
  .offer-col-2 {
    width: calc(50% + 25px);
  }
  
  .offer-header {
    padding: 50px 0 10px 25px;
  }
}

@media (max-width: 695px) {
  .offer-col-1,
  .offer-col-2 {
    width: 100%;
  }
  
  .offer-header {
    padding: 25px 0 10px;
  }
}

.offer-header h2 {
  display: inline-block;
  font-family: 'Barlow',sans-serif;
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0;
  margin: 0;
  color: #345142;
}

.offer-iconbutton {
  position: absolute;
  display: flex;
  width: 10em;
  height: 10em;
  left: -8em;
  top: -50px;
  background: #345142;
  color: #fff;
  text-align: center;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  z-index: 50;
  transform: rotate(12.5deg);
}

@media (max-width: 767px) {
  .offer-iconbutton {
    left: -8.5em;
  }
  
  .offer-header h2 {
    font-size: 1.25em;
  }
}

@media (max-width: 695px) {
  .offer-iconbutton {
    display: none;
  }
}

.offer-iconbutton:after {
  content: '';
  display: block;
  position: absolute;
  left: 5px;
  top: 5px;
  right: 5px;
  bottom: 5px;
  margin: auto;
  border: 1px dashed #fff;
  border-radius: 100%;
}

.offer-iconbutton-content {
  display: block;
  width: 100%;
  height: auto;
}

.offer-icon img,
.offer-icon svg {
  display: inline-block;
  width: 3em;
  height: 3em;
}

.offer-iconlabel {
  padding: 5px 0 0 0;
  font-size: 1em;
  line-height: 1;
  text-align: center;
}

.offer-content {
  padding: 50px 0 0 100px;
}

@media (max-width: 1279px) {
  .offer-content {
    padding: 50px 0 0 50px;
  }
}

@media (max-width: 767px) {
  .offer-content {
    padding: 50px 0 0 25px;
  }
}

@media (max-width: 695px) {
  .offer-content {
    padding: 25px 0 75px;
  }
}

.offer-content h3 {
  font-family: 'Barlow',sans-serif;
  font-size: 1em;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0 0 5px 1.75em;
  margin: 0;
  color: #345142;
  position: relative;
}

.offer-content h3:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 1.25em;
  height: 1em;
  background: url(../svg/icons-green/ScribbleArrow.svg) center left no-repeat;
  background-size: 100% auto;
}

.offer-fact {
  padding: 0 0 25px 0;  
}

.offer-button {
  padding: 25px 0 50px 0;
}

@media (max-width: 695px) {
  .offer-button {
    padding: 0 0 25px 0;
  }
}

.offer-nav {
  position: absolute;
  width: calc(50% - 100px);
  left: 0;
  bottom: 0;
  z-index: 50;
}

@media (max-width: 1279px) {
  .offer-nav {
    width: calc(50% - 50px);
  }
}

@media (max-width: 767px) {
  .offer-nav {
    width: calc(50% - 25px);
  }
}

@media (max-width: 695px) {
  .offer-nav {
    width: 100%;
  }
}

.offer-slidenav {
  display: inline-block;
  vertical-align: baseline;
}

.offer-slidenav a,
.offer-slidenav a svg {
  display: inline-block;
  vertical-align: top;
  width: calc(1em + 22px);
  height: calc(1em + 22px);
}

.offer-nav-left {
  margin-right: 1em;
}

.offer-nav .uk-button {
  vertical-align: baseline;
  float: right;
}




/* OFFERS LIST */
#offerlist {
  padding: 25px 0 0 0;
}

#offerlist > ul {
  list-style-type: none;
  height: auto;
  padding: 0;
  margin: 0 -50px -50px 0;
  overflow: hidden;
}

#offerlist > ul > li {
  display: inline-block;
  vertical-align: top;
  width: 33.3333%;
  height: auto;
  padding: 0 50px 50px 0;
}

@media (max-width: 1439px) {
  #offerlist > ul {
    margin: 0 -25px -50px 0;
  }
  
  #offerlist > ul > li {
    padding: 0 25px 50px 0;
  }
}

@media (max-width: 1199px) {
  #offerlist > ul > li {
    width: 50%;
  }
}

@media (max-width: 767px) { 
  #offerlist > ul > li {
    width: 100%;
  }
}


.offerlist-image,
.offerlist-image img,
.offerlist-image svg {
  display: block;
  width: 100%;
  height: auto;
}

.offerlist-image {
  
}

.offerlist-content {
  position: relative;
  height: auto;
  padding: 25px;
  background: #efebe8;
}

.offerlist-content:after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 5px;
  width: 100%;
  height: auto;
  border-bottom: 1px dashed #345142;
}

.offerlist-header h2 {
  display: inline-block;
  font-family: 'Barlow',sans-serif;
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0;
  margin: 0;
  color: #345142;
}

@media (max-width: 767px) { 
  .offerlist-header h2 {
  font-size: 1.25em;
  }
}

.offerlist-content {

}

@media (max-width: 1279px) {
  .offer-content {

  }
}

@media (max-width: 767px) {
  .offer-content {

  }
}

@media (max-width: 695px) {
  .offer-content {

  }
}

.offerlist-content h3 {
  font-family: 'Barlow',sans-serif;
  font-size: 1em;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0 0 5px 1.75em;
  margin: 0;
  color: #345142;
  position: relative;
}

.offerlist-content h3:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 1.25em;
  height: 1em;
  background: url(../svg/icons-green/ScribbleArrow.svg) center left no-repeat;
  background-size: 100% auto;
}

.offerlist-fact {
  padding: 15px 0 0 0;  
}

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









/* SITEMAP */
#sitemap {
  padding: 25px 0 0 0;
  margin: 0 auto;
  height: auto;
  overflow: hidden;
}

#sitemap ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  text-align: center;
}

#sitemap ul ul {
  padding: 25px 0 0 0;
}

#sitemap ul ul ul {
  padding: 0 0 25px 0;
}

#sitemap ul ul ul ul {
  padding: 0 0 5px 0;
}

#sitemap li {
  padding: 0;
  margin: 0;
}




/* FOOTER */
#footer {
  position: relative;
  width: 100%;
  height: auto;
  padding: 0 50px 50px 50px;
  margin: 100px 0 0 0;
  background: #486255;
  color: #fff;
  z-index: 40;
  font-size: 0.8em;
}

@media (max-width: 1023px) {
  #footer {
    padding: 0 50px 50px 50px; 
  }
}

@media (max-width: 767px) {
  #footer {
    padding: 0 25px 50px 25px; 
  }
}

.newsletter-box {
  position: relative;
  width: 100%;
  height: auto;
  top: -100px;
  background: #345142;
  color: #fff;
  padding: 0 0 0 50%;
}

.newsletter-box-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
}

.newsletter-box-content {
  width: 100%;
  height: auto;
  padding: 50px 50px;
  border-bottom: 1px dashed #fff;
}

@media (max-width: 1099px) {
  .newsletter-box-content {
    padding: 50px 25px;
  }
}

@media (max-width: 940px) {

  
  .newsletter-box {
    padding: 0;
  }
  
  .newsletter-box-image {
    position: relative;
    width: 100%;
    height: 200px;
    z-index: 25;
  }
  
  .newsletter-box-content {
    position: relative;
    width: auto;
    padding: 50px;
    margin: 0 -50px;
    background: #345142;
  }
  
  .newsletter-box-content:before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100px;
    bottom: 100%;
    left: 0;
    background: #345142;
  }
}

@media (max-width: 767px) {
  .newsletter-box {
    top: -50px;
  }
  
  .newsletter-box-image {
    height: 100px;
  }
  
  .newsletter-box-content {
    padding: 50px 25px;
    margin: 0 -25px;
  }
  
  .newsletter-box-content:before {
    height: 50px;
  }
}


#footer .newsletter-box-content h3 {
  font-size: 2.5em;
  letter-spacing: 0.025em;
}

@media (max-width: 1279px) {
  #footer .newsletter-box-content h3 {
    font-size: 2em;
  }
}

@media (max-width: 767px) {
  #footer .newsletter-box-content h3 {
    font-size: 1.5em;
  }
}

#footer .newsletter-box-content h3 span {
  display: inline-block;
  position: relative;
}

#footer .newsletter-box-content h3 span:after {
  content: '';
  display: block;
  position: absolute;
  width: auto;
  height: 2px;
  left: -0.05em;
  right: -0.15em;
  margin: auto;
  top: 100%;
  background: #fff;
  transform: rotate(0.5deg);
}

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

.newsletter-input .privacy-check {
  position: absolute;
  top: 0.5em;
  right: 0;
}

@media (max-width: 374px) {
  .newsletter-input .privacy-check {
    position: relative;
    top: 0;
    padding: 0 0 10px 0;
  }
}

.newsletter-box-content .customdata .check {
  background-color: #345142;
  border: 1px solid #fff;
}

.newsletter-box-content .customdata .check.notvalid {
  background-color: #bc571d;
  border-color: #bc571d;
}

.newsletter-box-content .customdata .check {
  background-color: #345142;
}

.newsletter-box-content .customdata .check:after {
  border: solid #fff;
  border-width: 0 2px 2px 0;
}

.newsletter-box-content a.privacy-link:hover {
  text-decoration: underline;
}

.newsletter-row {
  height: auto;
  margin: 0 -5px 0 0;
}

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

.newsletter-fields {
  width: 100%;
  height: auto;
  position: relative;
}

.newsletter-fields input {
  display: block;
  width: 100%;
  font-size: 1em;
  font-weight: 400;
  line-height: 20px;
  padding: 10px;
  background: #3e5a4c;
  color: #fff;
  border: none;
  border-radius: 0;
  position: relative;
  z-index: 1;
}

.newsletter-fields input.notvalid {
  background: #bc571d;
}

.newsletter-fields input::-webkit-input-placeholder{color:#fff;opacity:1;}
.newsletter-fields input::-moz-placeholder {color:#fff;opacity:1 !important;}

.newsletter-fields button {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0 20px;
  height: 100%;
  background: #345142;
  color: #fff;
  border: 1px solid #fff;
  font-size: 1.25em;
  font-weight: 400;
  text-transform: uppercase;
  z-index: 10;
}

.newsletter-fields button:hover {
  background: #fff;
  color: #345142;
}

@media (max-width: 767px) {
  .newsletter-fields button {
    font-size: 1em;
    padding: 0 15px;
  }
}

.shake{-webkit-animation:shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;animation:shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}

@-webkit-keyframes shake{10%,90%{-webkit-transform:translate3d(0, -1px, 0);transform:translate3d(0, -1px, 0)}20%,80%{-webkit-transform:translate3d(2px, 1px, 0);transform:translate3d(2px, 1px, 0)}30%,50%,70%{-webkit-transform:translate3d(-3px, -2px, 0);transform:translate3d(-3px, -2px, 0)}40%,60%{-webkit-transform:translate3d(3px, 2px, 0);transform:translate3d(3px, 2px, 0)}}

@keyframes shake{10%,90%{-webkit-transform:translate3d(0, -1px, 0);transform:translate3d(0, -1px, 0)}20%,80%{-webkit-transform:translate3d(2px, 1px, 0);transform:translate3d(2px, 1px, 0)}30%,50%,70%{-webkit-transform:translate3d(-3px, -2px, 0);transform:translate3d(-3px, -2px, 0)}40%,60%{-webkit-transform:translate3d(3px, 2px, 0);transform:translate3d(3px, 2px, 0)}}



.footer-content {
  padding: 0;
  position: relative;
}

.footer-mark {
  color: #385547;
}

.footer-mark svg {
  position: absolute;
  width: 20%;
  height: auto;
  right: -1em;
  bottom: 0;
}

.footer-row {
  height: auto;
  margin: 0 0 -50px 0;
  overflow: hidden;
  position: relative;
  z-index: 25;
}

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

@media (max-width: 1279px) {
  .footer-col-3 {
    width: 35%;
  }
}


@media (max-width: 991px) {
  .footer-col {
    width: 50%;
  }
  
  .footer-col-3 {
    width: 100%;
  }
  
  .footer-mark svg {
    width: 50%;
  }
}

@media (max-width: 600px) {
  .footer-col {
    width: 100%;
  }
  
  .footer-mark svg {
    width: 15em;
    right: -25px;
  }
}

.footer-address p {
  font-size: 1em;
  line-height: 1.25;
  padding: 0;
  margin: 0;
}

.footer-address {
  padding: 0 0 1.25em 0;
}

.footer-contacts ul {
  list-style-type: none;
  font-size: 1em;
  line-height: 1.25;
  padding: 0;
  margin: 0;
}

.footer-contacts li {
  padding: 0;
  margin: 0;
}

.footer-contacts span {
  display: inline-block;
  width: 2.5em;
}

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

.footer-links li {
  padding: 0;
  margin: 0;
}

.footer-links a {
  text-transform: uppercase;
}

.footer-links a:hover {
  text-decoration: underline;
}


.footer-linkbox {
  width: 100%;
  height: auto;
  overflow: hidden; 
}

.footer-linkbox-row {
  height: auto;
  margin: 0 -5px -5px 0;
  overflow: hidden;
}

.footer-linkbox-col {
  display: inline-block;
  vertical-align: top;
  padding: 0 5px 5px 0;
}

.footer-linkbox-col-1 {
  width: 100%;
}

.footer-linkbox-col-2 {
  width: 33.3333%;
}

.footer-linkbox a {
  display: block;
  padding: 1.25em 0;
  background: #3c584a;
  color: #fff;
  cursor: pointer;
  text-align: center;
}

.footer-linkbox a.iconlinkbox {
  -webkit-transition: background 0.25s;
  -moz-transition: background 0.25s;
  -o-transition: background 0.25s;
  transition: background 0.25s;
}

.footer-linkbox a.iconlinkbox:hover {
  background: #5d7468;
  color: #fff;
}

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

.footer-linkbox ul.social-links li {
  display: inline-block;
  width: 33.3333%;
  height: auto;
  padding: 0;
  margin: 0;
  vertical-align: top;
}

.footer-linkbox .uk-icon-button {
  border: 1px solid #fff;
  background: transparent;
  color: #fff;
}

.footer-linkbox a:hover .uk-icon-button {
  border: 1px solid #fff;
  background: #fff;
  color: #3c584a;
}

.footer-linkbox .iconlinkbox svg {
  width: auto;
  height: 1.5em;
}

.footer-linkbox .iconlinkbox div {
  padding: 5px 0 0 0;
  font-size: 12px;
}


#footer h3 {
  font-family: 'Panton Rust';
  font-weight: 900;
  font-size: 2em;
  line-height: 1;
  text-transform: unset;
  padding: 0 0 1em 0;
  margin: 0;
}

@media (max-width: 767px) {
  #footer h3 {
    font-size: 1.5em;
  }
}


#subfooter {
  width: 100%;
  height: auto;
  padding: 15px 75px;
  background: #345142;
  color: #fff;
  font-size: 12px;
  text-align: right;
  overflow: hidden;
}

@media (max-width: 1023px) {
  #subfooter {
    padding: 15px 50px; 
  }
}

@media (max-width: 767px) {
  #subfooter {
    padding: 15px 25px;
    text-align: center;
  }
}

@media (max-width: 499px) {
  #subfooter {
    padding: 15px 0;
    font-size: 10px;
  }
}

#subfooter .copyright {
  display: inline-block;
  float: left;
}

@media (max-width: 767px) {
  #subfooter .copyright {
    display: block;
    float: none;
  }
}

#subfooter ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

#subfooter li {
  display: inline-block;
  vertical-align: top;
  padding: 0 22px 0 0;
  margin: 0;
  position: relative;
}

#subfooter li:after {
  content: '|';
  display: inline-block;
  position: absolute;
  right: 10px;
}

#subfooter li:last-child {
  padding: 0;
}

#subfooter li:last-child:after {
  content: none;
}

#subfooter a:hover {
  text-decoration: underline;
}

#fb-root iframe {
  margin: 0 !important;
  right: 155px !important;
  bottom: 40px !important;
}

@media (max-width: 767px) {
  #fb-root iframe {
    right: 10px !important;
    top: 80px !important;
    bottom: auto !important;
  }
}



/* Re:Guest */


#hub-messenger-widget .hm-main-widget-content .hm-btn-secondary:not(.hm-inverse) {
  background-color: #3c584a !important;
  border-color: #3c584a !important;
}

#hub-messenger-widget .hm-main-widget-content .hm-btn-secondary:not(.hm-inverse):hover {
  background-color: #5d7468 !important;
  border-color: #5d7468 !important;
}

#hub-messenger-widget .hm-main-widget-content .hm-main-open-close,
#hub-messenger-widget .hm-main-widget-content .hm-main-open-close:hover {
  box-shadow: none !important;
  background-color: #3c584a !important;
  border-color: #3c584a !important;
}

@media (min-width: 768px) {
  #hub-messenger-widget .hm-main-widget-content .hm-main-open-close {
    right: 80px !important;
  }
}

@media (max-width: 767px) {
  #hub-messenger-widget .hm-main-widget-content .hm-main-open-close {
    
  }
}


/* LARGE SCREENS (ab 2200px)
   Grundschrift waechst stufenlos: 18px bei 2200px, 22px bei 2560px, max. 24px (ab ca. 2740px).
   Schriftgroessen in em skalieren automatisch mit. Die Inhaltsbreiten wachsen proportional:
   bisherige px-Breite / 18 = rem (rem = Grundschrift auf html). */
@media (min-width: 2200px) {
  html,
  body {
    font-size: clamp(18px, calc(18px + (100vw - 2200px) / 90), 24px);
  }

  .limit { max-width: 71.111rem; }                  /* 1280px */
  .inner-limit { max-width: 65.556rem; }            /* 1180px */
  .nav-limit { max-width: 95.556rem; }              /* 1720px */
  .introduction-text,
  .text-section-teaser { max-width: 47.778rem; }    /* 860px */
  .text-section-limit { max-width: 53.333rem; }     /* 960px */
  .locationplan { max-width: 56.667rem; }           /* 1020px */
  .plandetails { max-width: 41.667rem; }            /* 750px */
  .accordeon-text { max-width: 40rem; }             /* 720px */
  .quote-limit,
  .locationarrival-limit { max-width: 82.222rem; }  /* 1480px */
  .inner-quote-limit { max-width: 76.667rem; }      /* 1380px */
}


/* ASDF WORKAROUND */
body > p {
  display: none;
}