:root {
  --color-primary: #426283;
  --color-primary-dark: #12304B;
  --color-secondary-dark: #EFF7FF;
  --color-heading: #426283;
  --color-accent: #866850;
  --color-accent-lighter: #F0E6D3;
  --color-brown-dark: #463c2a;
  --color-light-blue: #eff7ff;
  --color-blue-mist: #d6e1e7;
  --color-white: #fff;
  --color-black: #000;
  --color-gray-lighter: #FCF9F8;
  --color-gray-light: #F3EFEE;
  --color-gray-border: #ccc;
  --color-gray-border-alt: #c5c5c5;
  --color-gray-mid: #696969;
  --color-gray-dark: #5D5551;
  --color-error: #d2302b;
  --color-error-strong: #e71a1a;
  --shadow-sm: rgba(0, 0, 0, 0.15);
  --font-heading: 'Fraunces', Georgia, "Times New Roman", Times, serif;
  --font-body: 'Inter', Arial, Helvetica, sans-serif;
  --transition-default: all 0.2s linear;
}

body {
  font-family: var(--font-body);
  position: relative;
  margin: 0;
  padding: 0;
}

.wrapper {
  position: relative;
}

.main {
  background-color: var(--color-white);
  color: var(--color-gray-dark);
  font-size: 16px;
  line-height: 1.6;
  position: relative;
}

h1, h2, h3, h4 {
  color: var(--color-heading);
  font-weight: normal;
  line-height: 130%;
  margin-top: 1em;
  margin-bottom: 0.5em;
  text-align: left;
  font-family: var(--font-heading);
}

h1 {
  font-size: 34px;
  text-align: center;
}
@media (min-width: 901px) {
  h1 {
    font-size: 56px;
  }
}

h2 {
  font-size: 28px;
}
@media (min-width: 901px) {
  h2 {
    font-size: 40px;
  }
}

h3 {
  font-size: 22px;
}
@media (min-width: 901px) {
  h3 {
    font-size: 32px;
  }
}

h4 {
  font-size: 24px;
}
@media (min-width: 901px) {
  h4 {
    font-size: 28px;
  }
}

h1 + h2, h2 + h3, h3 + h4 {
  margin-top: 0;
}

h1:first-child {
  margin-top: 0;
}

i {
  transition: margin 0.2s ease-in-out;
}

button, input, textarea, select {
  -webkit-backface-visibility: hidden;
  text-rendering: optimizeLegibility;
  font-family: var(--font-body);
}

address, address a {
  font-style: normal;
  color: var(--color-primary-dark);
  text-decoration: none;
  cursor: default;
}

.cta {
  text-align: center;
  margin-top: 3em;
}

.button {
  display: inline-block;
  background-color: var(--color-primary);
  color: var(--color-white);
  padding: 12px 12px;
  font-size: 16px;
  line-height: 1.4;
  text-transform: none;
  text-decoration: none;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
@media (min-width: 751px) {
  .button {
    padding: 18px 16px;
  }
}
.button:after {
  content: "\f105";
  font-family: "FontAwesome";
  display: inline-block;
  margin-left: 12px;
  transition: margin 0.2s ease;
}
.button:hover, .button:focus {
  background-color: var(--color-primary-dark) !important;
}
.button.btn-secondary {
  background-color: transparent;
  color: var(--color-heading);
  border: 1px solid var(--color-heading);
  letter-spacing: normal;
  text-decoration: none;
}
.button.btn-secondary:before {
  display: none;
}
.button.btn-secondary:hover, .button.btn-secondary:focus {
  background-color: var(--color-secondary-dark) !important;
  text-decoration: none;
}
.button.btn-tertiary {
  background-color: transparent;
  color: var(--color-heading);
  border: 1px solid transparent;
  text-transform: none;
  letter-spacing: normal;
  text-decoration: none;
}
.button.btn-tertiary:before {
  display: none;
}
.button.btn-tertiary:hover, .button.btn-tertiary:focus {
  border: 1px solid var(--color-heading);
  background-color: transparent !important;
  text-decoration: none;
}

.header {
  background-color: var(--color-gray-lighter);
  text-align: center;
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 90px;
  z-index: 500;
  box-shadow: 0 3px 5px var(--shadow-sm);
}
@media (min-width: 901px) {
  .header {
    height: auto;
  }
}
.header:before {
  content: "";
  clear: both;
  height: 1px;
  position: relative;
  display: block;
}
.header > .inner {
  position: relative;
  max-width: 1264px;
  margin: 0 auto;
  padding: 5px 20px 5px 20px;
}
.header ul, .header li {
  margin: 0;
  padding: 0;
  display: block;
}

.header-top {
  display: block;
}
@media (min-width: 751px) {
  .header-top {
    display: flex;
    align-items: center;
    gap: 20px;
    min-height: 60px;
  }
}
.header-top .header-logo {
  position: relative;
  margin: 9px 15px;
  width: max-content;
}
@media (min-width: 901px) {
  .header-top .header-logo {
    max-width: max-content;
    margin: 15px auto 10px 15px;
  }
}
.header-top .header-logo p {
  margin: 0;
  padding: 0;
}
.header-top .header-logo a, .header-top .header-logo img {
  display: block;
  max-width: 220px;
  width: 160px;
  height: auto;
}

.header-navigation {
  text-align: center;
  margin: 0 auto;
  padding-bottom: 30px;
  display: none;
}

.header.menu-open {
  height: auto;
}
.header.menu-open .header-navigation {
  display: block;
}

.header-mobilemenu {
  position: absolute;
  right: 20px;
  top: 33px;
}
@media (min-width: 901px) {
  .header-mobilemenu {
    position: relative;
    margin-left: auto;
    right: 0;
    top: 0;
  }
}

#mainnav {
  text-align: center;
}
#mainnav li {
  margin: 10px 0;
}
#mainnav li a {
  font-size: 16px;
  color: var(--color-primary-dark);
  font-family: var(--font-heading);
  text-decoration: none;
  text-transform: uppercase;
  display: block;
  padding: 8px 0;
  line-height: 140%;
}
#mainnav li.active > a {
  font-weight: bold;
}
#mainnav > li.deeper > a::after {
  content: "\f107";
  font-family: "FontAwesome";
  display: inline-block;
  margin-left: 8px;
  font-size: 0.85em;
  vertical-align: middle;
  transition: transform 0.2s;
}
#mainnav > li.deeper.opensubnav > a::after {
  transform: rotate(180deg);
}
#mainnav ul {
  display: none;
  padding: 15px 0;
  position: relative;
}
#mainnav ul a {
  font-size: 14px;
  font-family: var(--font-body);
  padding: 5px 0;
}
#mainnav ul ul {
  display: none;
}
#mainnav ul li:hover > a, #mainnav ul li.active > a {
  text-decoration: underline;
}
#mainnav > li:hover > a, #mainnav > li.active > a {
  color: var(--color-primary-dark);
}
#mainnav .opensubnav > ul {
  display: block;
}

.header-language {
  position: absolute;
  right: 10px;
  top: 0;
}
@media (min-width: 901px) {
  .header-language {
    position: relative;
    margin: 0;
    flex: 0 0 auto;
  }
}

.mod-languages {
  font-size: 0;
  padding: 10px 0;
}
.mod-languages li {
  display: inline-block;
  font-size: 14px;
  line-height: 14px;
  margin: 0 0.25rem !important;
  color: var(--color-accent);
}
.mod-languages li:before {
  content: "|";
  display: inline-block;
  vertical-align: middle;
}
.mod-languages li:first-child:before {
  content: "";
}
.mod-languages li.lang-active a, .mod-languages li:hover a {
  color: var(--color-primary);
}
.mod-languages a {
  font-size: 12px;
  line-height: 12px;
  color: var(--color-accent);
  text-decoration: none;
  text-transform: uppercase;
  display: inline-block;
  padding: 3px !important;
  margin: 0 0.25rem;
  vertical-align: middle;
}

.mobilemenu-button {
  border: none;
  background: none;
  cursor: pointer;
  text-indent: -999999em;
  padding: 0;
  margin: 0 auto;
  display: block;
  outline: none;
  height: 42px;
  width: 34px;
  font-size: 12px;
  color: var(--color-primary);
  text-align: center;
  position: relative;
  text-transform: uppercase;
}
.mobilemenu-button span {
  content: "";
  width: 34px;
  height: 2px;
  background-color: var(--color-primary);
  display: block;
  position: absolute;
  top: 20px;
  left: 0px;
  transition: var(--transition-default);
}
.mobilemenu-button span:before {
  content: "";
  width: 34px;
  height: 2px;
  background-color: var(--color-primary);
  display: block;
  position: absolute;
  top: -11px;
  transition: var(--transition-default);
}
.mobilemenu-button span:after {
  content: "";
  width: 34px;
  height: 2px;
  background-color: var(--color-primary);
  display: block;
  position: absolute;
  top: 12px;
  transition: var(--transition-default);
}

.menu-open .mobilemenu-button span {
  background: transparent;
}
.menu-open .mobilemenu-button span:before {
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 0;
}
.menu-open .mobilemenu-button span:after {
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 0;
}

.simplelink-box {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: auto;
  z-index: 300;
}
@media (min-width: 901px) {
  .simplelink-box {
    position: static;
  }
}
.simplelink-box .quickrequest {
  display: flex;
}
@media (min-width: 901px) {
  .simplelink-box .quickrequest {
    justify-content: flex-end;
    gap: 22px;
  }
}
.simplelink-box .form-action-inquire,
.simplelink-box .form-action-booking {
  display: flex;
  width: 50%;
  height: 60px;
}
@media (min-width: 901px) {
  .simplelink-box .form-action-inquire,
  .simplelink-box .form-action-booking {
    position: relative;
    z-index: 501;
    padding: 0;
    margin: 0;
    width: auto;
    height: auto;
  }
}
.simplelink-box .form-action-inquire a,
.simplelink-box .form-action-booking a {
  display: inline-block;
  margin: 0;
  padding: 15px 30px;
  cursor: pointer;
  color: var(--color-white);
  font-size: 16px;
  line-height: 2;
  text-transform: uppercase;
  text-decoration: none;
  width: 100%;
  letter-spacing: 2px;
  border-radius: 0;
}
@media (min-width: 901px) {
  .simplelink-box .form-action-inquire a,
  .simplelink-box .form-action-booking a {
    width: auto;
    line-height: 1;
    margin: 0;
    border-radius: 4px;
  }
}
.simplelink-box .form-action-inquire a {
  background-color: var(--color-white);
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
}

.ribbon {
  position: absolute;
  top: 0;
  right: 15%;
  width: fit-content;
  display: block;
  z-index: 10;
}
.ribbon * {
  display: block;
  margin: 0;
  padding: 0;
}
.ribbon img {
  width: 90px;
  height: auto;
}
@media (min-width: 901px) {
  .ribbon img {
    width: 110px;
    height: auto;
  }
}

#foto {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  height: 60vh;
  font-size: 0;
  box-sizing: border-box;
  overflow: hidden;
}
@media (min-width: 901px) {
  #foto {
    height: 80vh;
  }
}
#foto .slider,
#foto .swiper,
#foto .swiper-wrapper {
  width: 100%;
  height: 100%;
}
#foto .swiper-slide img,
#foto .swiper-slide video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slider {
  position: relative;
  width: 100%;
}

.swiper-slide {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.swiper-slide img,
.swiper-slide video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.swiperslider {
  max-width: 1264px;
  margin: 0 auto;
  padding: 5px 0 70px 0;
  width: 100%;
}
@media (min-width: 901px) {
  .swiperslider {
    padding: 5px 0 140px 0;
  }
}
.swiperslider .innerswiper {
  position: relative;
}
.swiperslider .list-item {
  width: auto;
  height: auto;
}
.swiperslider .list-item:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.swiperslider .list-item .slider-main-img {
  width: 100%;
  max-width: 80vw;
  height: 50vh;
  max-height: 400px;
  overflow: hidden;
}
@media (min-width: 901px) {
  .swiperslider .list-item .slider-main-img {
    height: 55vh;
    max-height: 800px;
    max-width: unset;
    max-height: unset;
  }
}
.swiperslider .list-item .slider-main-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slidePrev-btn, .slideNext-btn {
  position: absolute;
  display: block;
  z-index: 6;
  bottom: auto;
  top: -60px;
  cursor: pointer;
}
@media (min-width: 901px) {
  .slidePrev-btn, .slideNext-btn {
    top: -100px;
  }
}
.main-swiper .slidePrev-btn, .main-swiper .slideNext-btn {
  top: auto;
  bottom: 20px;
}
.slidePrev-btn img, .slideNext-btn img {
  display: block;
  width: 40px;
  height: 40px;
  background-repeat: no-repeat;
}
@media (min-width: 901px) {
  .slidePrev-btn img, .slideNext-btn img {
    width: 52px;
    height: 52px;
  }
}

.slidePrev-btn {
  right: 60px;
}
@media (min-width: 901px) {
  .slidePrev-btn {
    right: 150px;
  }
}
.slidePrev-btn.swiper-button-disabled {
  opacity: 0.5;
  cursor: auto;
}

.slideNext-btn {
  right: 2%;
}
@media (min-width: 901px) {
  .slideNext-btn {
    right: 80px;
  }
}
.slideNext-btn.swiper-button-disabled {
  opacity: 0.5;
  cursor: auto;
}

.swiper-pagination {
  bottom: -40px !important;
}
.swiper-pagination .swiper-pagination-bullet-active {
  background: var(--color-primary, var(--color-primary));
  opacity: var(--color-primary, 1);
}

.article {
  position: relative;
  max-width: 1264px;
  margin: 0 auto;
  padding: 5vw 0;
  width: 90%;
}
body.noSlider .article {
  padding-top: 5vw;
}
.article a:not(.button) {
  color: var(--color-primary);
}
.article a:not(.button):hover {
  text-decoration: none;
  color: var(--color-primary-dark);
}
.article hr {
  background: none;
  border: none;
  margin: 1em auto;
  border-bottom: 1px solid var(--color-gray-lighter);
  width: 90%;
}
.article strong {
  font-family: var(--font-heading);
  font-weight: bold;
}

.blog {
  padding-top: 3vw;
}
body.noSlider .blog {
  padding-top: 8vw;
}
.blog .section-text {
  position: relative;
  max-width: 1264px;
  margin: 0 auto;
  padding: 0.5vw 0 4vw 0;
  width: 90%;
}
.blog .section-text h1, .blog .section-text h2, .blog .section-text h3, .blog .section-text h4 {
  text-align: left;
}
.blog .section-text a:not(.button) {
  color: var(--color-gray-dark);
}
.blog .section-text a:not(.button):hover {
  color: var(--color-primary-dark);
  text-decoration: none;
}
.blog .section-slidertext {
  overflow: hidden;
}
.blog .section-slidertext .inner {
  max-width: 1264px;
  margin: 0 auto;
  padding: 8vw 0 0 0;
  width: 92%;
}
@media (min-width: 901px) {
  .blog .section-slidertext .inner {
    padding: 3vw 0 0 0;
  }
}
.blog .section-slidertext .maxwidth {
  width: 70%;
  max-width: 640px;
  padding: 0;
}
.blog .section-slidertext .maxwidth h2, .blog .section-slidertext .maxwidth h3 {
  margin-top: 0;
}
.blog .section-slidertext h1, .blog .section-slidertext h2, .blog .section-slidertext h3, .blog .section-slidertext h4 {
  text-align: left;
}
.blog .section-slidertext a:not(.button) {
  color: var(--color-gray-dark);
}
.blog .section-slidertext a:not(.button):hover {
  color: var(--color-primary-dark);
  text-decoration: none;
}

.fullwidth {
  position: relative;
  width: auto;
  padding: 40px 5vw;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
@media (min-width: 751px) {
  .fullwidth.image-right .imgbox {
    flex-direction: row-reverse;
  }
}
@media (min-width: 901px) {
  .fullwidth {
    padding: 100px 5vw;
  }
}
.fullwidth > .inner {
  max-width: 1264px;
  margin: 0 auto;
}
.fullwidth .imgbox {
  gap: 30px;
}
.fullwidth .imgbox > .col {
  flex: 1 1 100%;
}
.fullwidth h1, .fullwidth h2, .fullwidth h3 {
  text-align: left;
}

.bg-light {
  background-color: var(--color-accent-lighter);
}

.bg-alt {
  background-color: var(--color-blue-mist);
}

.bg-dark {
  background-color: var(--color-primary-dark);
}
.bg-dark h2, .bg-dark h3, .bg-dark h4 {
  color: var(--color-light-blue);
}
.bg-dark p, .bg-dark ul, .bg-dark li {
  color: var(--color-light-blue);
}
.bg-dark a:not(.button) {
  color: var(--color-light-blue) !important;
}
.bg-dark a:not(.button):hover {
  color: var(--color-accent-lighter) !important;
}
.bg-dark .button.btn-secondary {
  background-color: var(--color-white);
}
.bg-dark .button.btn-secondary:hover {
  background-color: var(--color-accent-lighter) !important;
}
.bg-dark .slideNext-btn img, .bg-dark .slidePrev-btn img {
  filter: brightness(0) invert(1);
}
.bg-dark .swiper-pagination {
  bottom: -40px !important;
}
.bg-dark .swiper-pagination .swiper-pagination-bullet-active {
  filter: brightness(0) invert(1);
  opacity: var(--color-primary, 1);
}

.section-item {
  position: relative;
  min-height: 50px;
}
.section-item .row {
  display: flex;
  align-items: center;
  gap: 31px;
  flex-wrap: wrap;
  padding: 0;
}
@media (min-width: 901px) {
  .section-item .row {
    gap: 80px;
  }
}
.section-item .row > .col {
  flex: 1 1 400px;
  min-width: 0;
}
.section-item .row img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section-item .row h2, .section-item .row h3, .section-item .row h4, .section-item .row p {
  text-align: left;
}
.section-item .row h2 {
  margin: 0 0 20px;
  color: var(--color-heading);
}
.section-item .row p {
  color: var(--color-gray-dark);
  line-height: 1.6;
  margin: 0 0 16px;
}
.section-item .row a:not(.button) {
  color: var(--color-gray-dark);
}
.section-item .row a:not(.button):hover {
  color: var(--color-primary-dark);
  text-decoration: none;
}
.section-item .row .label {
  display: block;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-primary-dark);
  margin: 0 0 12px;
  text-align: left;
}
.section-item .row .cta {
  text-align: left;
  margin-top: 32px;
}

.section-intro, .section-deco-elements {
  max-width: 1264px;
  margin: 0 auto;
  text-align: right;
  position: relative;
  z-index: 10;
  width: 90%;
}

.section-intro .article {
  width: 58%;
  margin: 0;
  display: inline-block;
  text-align: left;
  padding: 0;
}
.section-intro .article .item-page {
  padding: 0 10%;
}
.section-intro .article .item-page:after, .section-intro .article .item-page:before {
  content: "";
  clear: both;
  height: 1px;
  position: relative;
  display: block;
}
.section-intro .article .item-page h2 {
  margin-top: 0;
  margin-bottom: 2em;
}

.accordion {
  max-width: 800px;
}
.accordion-item {
  border-bottom: 1px solid var(--color-blue-mist);
}
.accordion-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  padding: 20px 4px;
  font-size: 16px;
  font-family: inherit;
  color: inherit;
}
.accordion-trigger[aria-expanded=true] .accordion-icon {
  transform: rotate(-135deg);
}
.accordion-trigger[aria-expanded=true] + .accordion-panel {
  grid-template-rows: 1fr;
}
.accordion-icon {
  flex: none;
  width: 12px;
  height: 12px;
  border-right: 2px solid var(--color-primary);
  border-bottom: 2px solid var(--color-primary);
  transform: rotate(45deg);
  transition: transform 0.25s ease;
}
.accordion-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease;
}
.accordion-panel-inner {
  overflow: hidden;
}
.accordion-panel-inner p {
  margin: 0 0 20px;
  padding-right: 4px;
  line-height: 1.6;
}

iframe {
  border: none;
}
iframe.reviews {
  width: 100%;
  height: 1200px;
  overflow: auto;
  margin-top: 30px;
}

.preFooter {
  background-color: var(--color-blue-mist);
  padding: 80px 20px;
  text-align: center;
}
.preFooter .inner {
  max-width: 1264px;
  margin: 0 auto;
}

.newsletterbox {
  max-width: 640px;
  margin: 0 auto;
}
.newsletterbox h2 {
  margin: 0 0 12px;
  text-align: center;
  color: var(--color-primary-dark);
}
.newsletterbox p {
  margin: 0 0 24px;
  color: var(--color-gray-dark);
  font-size: 16px;
  line-height: 140%;
}
.newsletterbox .cta {
  margin-top: 24px;
}

.footer {
  background-color: var(--color-light-blue);
  position: relative;
  text-align: left;
  padding: 100px 20px 60px 20px;
  padding-bottom: 100px;
  line-height: 140%;
  font-size: 14px;
  color: var(--color-gray-dark);
}
@media (min-width: 901px) {
  .footer {
    padding: 60px 20px 60px 20px;
  }
}
.footer a {
  color: var(--color-gray-dark);
  text-decoration: none;
  transition: color 0.2s ease;
}
.footer a:hover {
  color: var(--color-primary-dark);
}
.footer address,
.footer address a {
  color: var(--color-gray-dark);
}
.footer address a:hover {
  color: var(--color-primary-dark);
}
.footer .inner {
  display: block;
  width: 90%;
  margin: 0 auto;
  max-width: 1264px;
  margin: 0 auto;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}
@media (min-width: 901px) {
  .footer .inner {
    display: flex;
    width: 100%;
  }
}
.footer > .inner > .footer-item {
  flex: 1 1 220px;
  text-align: left;
  margin-bottom: 30px;
}
@media (min-width: 901px) {
  .footer > .inner > .footer-item {
    margin-bottom: 10px;
  }
}
.footer > .inner > .footer-item:last-child {
  margin-bottom: 0;
}
@media (min-width: 901px) {
  .footer > .inner > .footer-item:last-child {
    margin-bottom: 10px;
  }
}
.footer > .inner > .footer-item p {
  margin: 0 0 6px;
}
.footer > .inner > .footer-item .h3 {
  font-family: var(--font-heading);
  color: var(--color-primary-dark);
  font-size: 28px;
  line-height: 130%;
  font-weight: normal;
  margin: 0 0 20px;
  text-align: left;
}

.footer-partner {
  width: 90%;
  max-width: 1264px;
  margin: 0 auto;
  padding: 70px 0 70px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px 20px;
}
@media (min-width: 901px) {
  .footer-partner {
    gap: 20px 40px;
  }
}
.footer-partner > * {
  display: block;
  margin: 10px auto;
}
.footer-partner a {
  display: inline-block;
}
.footer-partner img {
  display: block;
  height: auto;
}

address > * {
  display: block;
  vertical-align: top;
}
address p {
  margin: 0 0 6px;
}
address p:before {
  content: "|";
  padding-right: 10px;
  display: none;
}
address p:first-child:before {
  display: none;
}
address br {
  display: none;
}

.footer-service {
  display: block;
  text-align: left;
  width: 90%;
  margin: 0 auto;
  max-width: 1264px;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px 30px;
}
@media (min-width: 901px) {
  .footer-service {
    display: flex;
    width: 100%;
    margin: 0 auto;
  }
}
.footer-service ul {
  margin: 0 0 15px 0;
  padding: 0;
}
@media (min-width: 901px) {
  .footer-service ul {
    margin: 0;
  }
}
.footer-service ul li {
  margin: 0;
  padding: 0;
  font-size: 12px;
  display: inline-block;
  color: var(--color-gray-dark);
}
.footer-service ul li:before {
  content: " ";
  padding: 0 12px;
}
.footer-service ul li:first-child:before {
  display: none;
}
.footer-service p {
  display: block;
  font-size: 12px;
}
@media (min-width: 901px) {
  .footer-service p {
    display: inline-block;
  }
}
.footer-service p + p {
  margin-left: 0;
}
@media (min-width: 901px) {
  .footer-service p + p {
    margin-left: 24px;
  }
}
.footer-service a {
  display: inline-block;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.5px;
}

.scroll-to-top {
  display: none;
  position: fixed;
  bottom: 66px;
  margin-left: -20px;
  left: 50%;
  width: 40px;
  height: 40px;
  background-color: var(--color-primary-dark);
  color: var(--color-white);
  text-align: center;
  line-height: 40px;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0px 3px 5px var(--shadow-sm);
  opacity: 0.5;
  z-index: 500;
}
@media (min-width: 901px) {
  .scroll-to-top {
    bottom: 20px;
  }
}
.scroll-to-top:hover {
  opacity: 1;
}

#alteaForm {
  margin-top: 40px;
  font-size: 16px;
}
#alteaForm * {
  font-family: var(--font-body);
}
#alteaForm select {
  margin-right: 4px;
}
#alteaForm button.ui-datepicker-trigger {
  background: none;
  border: none;
  margin: 0;
}
#alteaForm .item-cols {
  position: relative;
  overflow: hidden;
}
#alteaForm .item-cols hr {
  border: none;
  background: none;
  border-bottom: 1px solid var(--color-gray-light);
  margin: 10px 0;
  width: 99%;
}
#alteaForm .item-col-2 {
  position: relative;
  text-align: left;
  float: none;
  margin: 0 auto 20px;
  width: auto;
}
@media (min-width: 901px) {
  #alteaForm .item-col-2 {
    float: left;
    margin: 0 1% 30px;
    width: 48%;
  }
}
#alteaForm fieldset {
  border: none;
  padding: 0;
  margin: 0;
  text-align: left;
}
@media (min-width: 901px) {
  #alteaForm fieldset {
    text-align: center;
  }
}
#alteaForm fieldset p {
  margin-top: 30px;
}
#alteaForm fieldset label {
  display: block;
  font-size: 14px;
  margin-bottom: 10px;
}
#alteaForm fieldset label.inliner {
  display: inline-block;
  margin-right: 15px;
  margin-bottom: 0 !important;
}
#alteaForm fieldset label input[type=text] {
  margin: 0;
  padding: 10px 10px;
  width: 90%;
  border: 1px solid var(--color-gray-light);
  background: var(--color-white);
  font-size: 12px;
  display: inline-block;
}
@media (min-width: 901px) {
  #alteaForm fieldset label input[type=text] {
    width: 55%;
    padding: 5px 10px;
  }
}
#alteaForm fieldset label select {
  margin: 0;
  border: 1px solid var(--color-gray-light);
  background: var(--color-white);
  font-size: 12px;
  display: inline-block;
  padding: 10px 10px;
  width: 90%;
}
@media (min-width: 901px) {
  #alteaForm fieldset label select {
    padding: 5px 10px;
  }
}
#alteaForm fieldset label input.nr {
  width: 25px;
}
#alteaForm fieldset label span {
  display: block;
  margin: 0 auto 3px;
}
@media (min-width: 901px) {
  #alteaForm fieldset label span {
    display: inline-block;
    width: 33%;
  }
}
#alteaForm fieldset label span.req {
  font-weight: bolder;
}
#alteaForm fieldset label span.req:after {
  content: " (*)";
}
#alteaForm fieldset label input.error {
  background-color: #F4BBB9;
  border-color: var(--color-error);
}
#alteaForm fieldset label.aDK input[type=text] {
  width: 30px;
}
#alteaForm fieldset textarea {
  width: 95%;
  box-sizing: border-box;
  height: 100px;
  border: 1px solid var(--color-gray-light);
  background: var(--color-white);
}
#alteaForm fieldset legend, #alteaForm .item-col-last legend {
  background: none;
  color: var(--color-accent);
  display: block;
  width: 100%;
  text-align: center;
  padding: 5px 0;
  margin-bottom: 20px;
  text-transform: uppercase;
  box-shadow: inset 0px -6px 0px var(--color-accent);
  padding-bottom: 10px;
  font-family: var(--font-heading);
  text-decoration: none;
  text-transform: uppercase;
}
#alteaForm .item-col-last {
  text-align: center;
}
#alteaForm .item-col-last .special {
  font-size: 13px;
  line-height: 130%;
  border-bottom: 1px solid #EEE;
  margin-bottom: 10px;
  padding-bottom: 10px;
}
#alteaForm .item-col-last label {
  display: block;
  font-size: 14px;
  margin-bottom: 10px;
}
#alteaForm button {
  border: none;
  cursor: pointer;
  margin-top: 20px;
  color: var(--color-white);
  font-size: 16px;
  display: inline-block;
  text-transform: uppercase;
  padding: 15px 30px;
  line-height: 16px;
  text-decoration: none;
  background-color: var(--color-accent);
}
#alteaForm button.ui-datepicker-trigger {
  color: var(--color-black);
  padding: 0 2px;
  margin: 0 3px;
}
#alteaForm .item-privacy {
  font-size: 12px;
  line-height: 140%;
  text-align: left;
  height: 60px;
  overflow: auto;
  margin-bottom: 20px;
  background-color: var(--color-gray-lighter);
  padding: 10px;
}
#alteaForm .item-col-2-intern {
  position: relative;
  overflow: hidden;
  margin-top: 30px;
  font-size: 12px;
}
#alteaForm .item-col-2-intern label {
  width: auto;
  float: none;
}
@media (min-width: 901px) {
  #alteaForm .item-col-2-intern label {
    width: 50%;
    float: left;
  }
}
#alteaForm .item-col-2-intern label span {
  display: none;
}
#alteaForm .item-col-2-intern select {
  margin-right: 5px;
}
#alteaForm .errorMessages {
  display: none;
  font-size: 13px;
  text-align: left;
  border: 1px solid var(--color-error);
  padding: 10px;
  background-color: #F4BBB9;
  margin-bottom: 20px;
  color: #222;
}
#alteaForm .errorMessages label {
  display: list-item;
  list-style-type: disc;
  margin-left: 20px;
  margin-bottom: 2px;
  font-size: 13px;
}
#alteaForm .errorMessages label.error.valid {
  display: none !important;
}
#alteaForm .errorMessages p {
  color: var(--color-error);
  font-weight: bold;
  margin-top: 0;
}

.forecastdays {
  margin: 2em 0 1em;
  text-align: center;
  padding: 0;
}
.forecastdays li {
  display: inline-block;
  margin: 5px;
  padding: 10px;
  list-style-type: none;
  text-align: center;
  width: 70px;
  color: var(--color-brown-dark);
  vertical-align: top;
  background-color: var(--color-white);
  overflow: hidden;
}
.forecastdays li .wi {
  margin: 0;
  width: auto;
}
.forecastdays .date {
  font-size: 15px;
  text-align: center;
  color: var(--color-primary-dark);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
}
.forecastdays .icon {
  width: 48px;
  height: 48px;
  line-height: 48px;
  font-size: 30px;
  text-align: center;
  color: var(--color-primary-dark);
  margin: 5px auto;
}

.floater {
  text-align: center;
}
.floater img {
  background: none;
}

.mod-alteameteo--small .forecastdays {
  margin: 1em 0 1em;
  text-align: left;
}
.mod-alteameteo--small .forecastdays li {
  width: 40px;
  background-color: transparent;
}

#jmap_sitemap .folder {
  display: none;
}
#jmap_sitemap .jmap_filetree.jmap_filetree_menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.tab-menu {
  position: relative;
  margin: 40px 0 0 0;
}
.tab-menu ul {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 0;
  border-bottom: 1px solid var(--color-gray-border);
}
.tab-menu li {
  display: block;
  font-size: 14px;
  font-weight: bolder;
}
@media (min-width: 901px) {
  .tab-menu li {
    display: inline-block;
  }
}
.tab-menu li.active a {
  border-top-color: var(--color-primary-dark);
  border-left-color: var(--color-gray-border);
  border-right-color: var(--color-gray-border);
  border-bottom: 1px solid var(--color-gray-border);
  background-color: var(--color-gray-light);
}
@media (min-width: 901px) {
  .tab-menu li.active a {
    display: inline-block;
    border-bottom-color: var(--color-white);
  }
}
.tab-menu a {
  display: block;
  padding: 10px 20px;
  border: 1px solid var(--color-gray-border);
  margin: 0 0 -1px 0;
  border-top-width: 2px;
  color: var(--color-primary-dark);
  text-decoration: none;
  text-transform: uppercase;
}
@media (min-width: 901px) {
  .tab-menu a {
    border: 1px solid transparent;
    padding: 15px 25px;
  }
}

.tab-items {
  position: relative;
}

.tab-item {
  display: none;
}
.tab-item.active {
  display: block;
}
.tab-item > *:first-child {
  margin-top: 1em;
}
.tab-item div {
  margin: 20px 0;
  border: 1px solid var(--color-gray-border);
  background-color: var(--color-gray-light);
  padding: 20px;
}
.tab-item div :first-child {
  margin-top: 0 !important;
}
.tab-item div :last-child {
  margin-bottom: 0 !important;
}

#map-canvas {
  position: relative;
  margin: 0 auto 2em;
}
#map-canvas a, #map-canvas img {
  display: block;
  width: 100%;
  height: auto;
}

#alteaForm, #alteaForm a, #alteaForm .af-error-messages,
.alteaForms .af-error-messages, .af-error-messages, .af-form-control {
  color: var(--color-brown-dark);
}

#alteaForm .af-error-messages p, .alteaForms .af-error-messages p, .af-error-messages p {
  color: var(--color-error-strong);
}

.af-col-center button {
  color: var(--color-white);
  background-color: var(--color-accent);
  border-radius: 0;
}

.af-required-field-message span, .af-label-required:after {
  color: #967529;
}

.af-fake-input {
  background-color: #F5F5F5;
  border-bottom: 2px solid rgba(36, 40, 65, 0.34);
}
.af-fake-input .af-fake-label {
  color: rgba(0, 0, 0, 0.87);
}
.af-fake-input.hover .af-fake-label, .af-fake-input.hoverx .af-fake-label {
  color: rgba(0, 0, 0, 0.6);
}
.af-fake-input.error {
  background: #fff0e2;
  border-color: var(--color-error-strong);
}

#alteaForm .af-error-messages,
.alteaForms .af-error-messages,
.af-error-messages,
#alteaForm [type=checkbox],
#alteaForm [type=radio] {
  background-color: var(--color-white);
}

.af-privacy {
  background-color: #F2F2F2;
}

.af-form-control {
  background-color: #F5F5F5;
  border: 1px solid #ced4da;
}
.af-form-control.error {
  background-color: #ffd1d1;
  border-color: var(--color-error-strong);
}

.af-form-check-inline.error,
#alteaForm [type=checkbox].error,
#alteaForm [type=radio].error {
  background-color: #ffd1d1;
  border-color: var(--color-error-strong);
}

#alteaForm .af-error-messages,
.alteaForms .af-error-messages,
.af-error-messages {
  border-color: var(--color-error-strong);
}

#alteaForm [type=checkbox], #alteaForm [type=radio] {
  border: 1px solid #ced4da;
}
#alteaForm [type=checkbox]:checked, #alteaForm [type=radio]:checked {
  border-color: var(--color-brown-dark);
}
#alteaForm [type=checkbox]:checked:before, #alteaForm [type=radio]:checked:before {
  background-color: var(--color-brown-dark);
}

.flatpickr-day:not(.flatpickr-disabled),
.lts-social-icons__item i,
.lts-date-box,
.lts-pager__item.active,
.lts-pager__item:hover,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.lts-search__bar {
  background-color: var(--color-primary) !important;
}

.flatpickr-day:not(.flatpickr-disabled).today,
.flatpickr-day:not(.flatpickr-disabled).selected,
.flatpickr-day.startRange,
.lts-pager__item.active,
.lts-pager__item:hover,
.flatpickr-day.endRange {
  border-color: var(--color-primary) !important;
}

.flatpickr-calendar.arrowTop:before {
  border-bottom-color: rgba(44, 59, 107, 0.2) !important;
}
.flatpickr-calendar.arrowTop:after {
  border-bottom-color: var(--color-primary) !important;
}

.lts-map-side__link i,
.lts-map-side__link span,
.lts-events-v2 a,
.flatpickr-day:not(.flatpickr-disabled).selected,
.lts-infos__item i {
  color: var(--color-primary) !important;
}

.flatpickr-day:not(.flatpickr-disabled).selected {
  background-color: var(--color-white) !important;
}

.flatpickr-day:not(.flatpickr-disabled),
.lts-pager__item.active,
.lts-pager__item:hover {
  color: var(--color-white) !important;
}

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

#lts-eventfinder {
  max-width: 100% !important;
  --widgetMainColor: var(--color-primary) !important;
}
#lts-eventfinder .lts-events-v2 .lts-search {
  top: 94px !important;
  z-index: 100 !important;
}
#lts-eventfinder .lts-events-v2 .lts-button {
  background-color: var(--color-primary) !important;
  color: var(--color-white) !important;
}

#quickrequest-box .Bs-Btn.Bs-QuickEnquiry__TextBadge {
  bottom: 80px;
}

/*# sourceMappingURL=gschwendt.css.map */
