@charset "UTF-8";
/* https://www.joshwcomeau.com/css/custom-css-reset/ */
/* 1. Use a more-intuitive box-sizing model */
*,
*::before,
*::after {
  box-sizing: border-box;
}

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

body {
  /* 3. Add accessible line-height */
  line-height: 1.5;
  /* 4. Improve text rendering */
  -webkit-font-smoothing: antialiased;
}

/* 5. Improve media defaults */
/* 6. Inherit fonts for form controls */
input,
button,
textarea,
select {
  font: inherit;
}

/* 7. Avoid text overflows */
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

/* 8. Improve line wrapping */
p {
  text-wrap: pretty;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance;
}

/*
    9. Create a root stacking context
  */
#root,
#__next {
  isolation: isolate;
}

:root {
  --p-deepblue: #2a3977;
  --p-deepred: #d23d33;
  --p-teal: #4f879c;
  --p-pale-teal: #91b3c0;
  --p-ulight: #ffffff;
  font-size: 16px;
}

html {
  font-size: 16px;
}

@font-face {
  font-family: "Poppins";
  src: local("Poppins Thin"), local("Poppins-Thin"), url("/static/font/poppins/Poppins-Thin.woff2") format("woff2"), url("/static/font/poppins/Poppins-Thin.woff") format("woff");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: local("Poppins Thin Italic"), local("Poppins-ThinItalic"), url("/static/font/poppins/Poppins-ThinItalic.woff2") format("woff2"), url("/static/font/poppins/Poppins-ThinItalic.woff") format("woff");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: local("Poppins ExtraLight"), local("Poppins-ExtraLight"), url("/static/font/poppins/Poppins-ExtraLight.woff2") format("woff2"), url("/static/font/poppins/Poppins-ExtraLight.woff") format("woff");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: local("Poppins ExtraLight Italic"), local("Poppins-ExtraLightItalic"), url("/static/font/poppins/Poppins-ExtraLightItalic.woff2") format("woff2"), url("/static/font/poppins/Poppins-ExtraLightItalic.woff") format("woff");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: local("Poppins Light Italic"), local("Poppins-LightItalic"), url("/static/font/poppins/Poppins-LightItalic.woff2") format("woff2"), url("/static/font/poppins/Poppins-LightItalic.woff") format("woff");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: local("Poppins Light"), local("Poppins-Light"), url("/static/font/poppins/Poppins-Light.woff2") format("woff2"), url("/static/font/poppins/Poppins-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: local("Poppins Italic"), local("Poppins-Italic"), url("/static/font/poppins/Poppins-Italic.woff2") format("woff2"), url("/static/font/poppins/Poppins-Italic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: local("Poppins Regular"), local("Poppins-Regular"), url("/static/font/poppins/Poppins-Regular.woff2") format("woff2"), url("/static/font/poppins/Poppins-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: local("Poppins Medium"), local("Poppins-Medium"), url("/static/font/poppins/Poppins-Medium.woff2") format("woff2"), url("/static/font/poppins/Poppins-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: local("Poppins Medium Italic"), local("Poppins-MediumItalic"), url("/static/font/poppins/Poppins-MediumItalic.woff2") format("woff2"), url("/static/font/poppins/Poppins-MediumItalic.woff") format("woff");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: local("Poppins SemiBold"), local("Poppins-SemiBold"), url("/static/font/poppins/Poppins-SemiBold.woff2") format("woff2"), url("/static/font/poppins/Poppins-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: local("Poppins SemiBold Italic"), local("Poppins-SemiBoldItalic"), url("/static/font/poppins/Poppins-SemiBoldItalic.woff2") format("woff2"), url("/static/font/poppins/Poppins-SemiBoldItalic.woff") format("woff");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: local("Poppins Bold"), local("Poppins-Bold"), url("/static/font/poppins/Poppins-Bold.woff2") format("woff2"), url("/static/font/poppins/Poppins-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: local("Poppins Bold Italic"), local("Poppins-BoldItalic"), url("/static/font/poppins/Poppins-BoldItalic.woff2") format("woff2"), url("/static/font/poppins/Poppins-BoldItalic.woff") format("woff");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: local("Poppins ExtraBold Italic"), local("Poppins-ExtraBoldItalic"), url("/static/font/poppins/Poppins-ExtraBoldItalic.woff2") format("woff2"), url("/static/font/poppins/Poppins-ExtraBoldItalic.woff") format("woff");
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: local("Poppins ExtraBold"), local("Poppins-ExtraBold"), url("/static/font/poppins/Poppins-ExtraBold.woff2") format("woff2"), url("/static/font/poppins/Poppins-ExtraBold.woff") format("woff");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: local("Poppins Black"), local("Poppins-Black"), url("/static/font/poppins/Poppins-Black.woff2") format("woff2"), url("/static/font/poppins/Poppins-Black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: local("Poppins Black Italic"), local("Poppins-BlackItalic"), url("/static/font/poppins/Poppins-BlackItalic.woff2") format("woff2"), url("/static/font/poppins/Poppins-BlackItalic.woff") format("woff");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}
a {
  color: var(--p-deepblue);
}

body {
  background-color: var(--p-ulight);
  font-family: "Poppins", Helvetica, Arial, sans-serif;
  font-size: 20px;
  line-height: 1.42857143;
  color: var(--p-teal);
}

h1,
h2,
h3,
h4 h5,
h6 {
  font-weight: 500;
  line-height: 1.1;
  margin-top: 28px;
}

h1 {
  font-size: 2.5em;
  font-weight: 800;
}

h2 {
  font-size: 1.5em;
  font-weight: 800;
}

h3 {
  font-size: 1.1em;
  font-weight: 600;
}

h4 {
  font-size: 20px;
  font-weight: 600;
}

h5 {
  font-size: 14px;
  font-weight: 600;
}

h6 {
  font-size: 12px;
  font-weight: 600;
}

hr {
  margin-top: 30px;
  margin-bottom: 30px;
  border: 0;
  border-top: 1px solid #d1d7dd;
}

.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  opacity: 0.65;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.table-responsive {
  min-height: 0.01%;
  overflow-x: auto;
}

ul {
  padding-left: 1.5em;
}

ol,
ul {
  margin-top: 0;
  margin-bottom: 14px;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  background-color: transparent;
}

.row {
  display: block;
  flex-wrap: wrap;
}
.row > * {
  flex: 1 0 0;
}
@media (min-width: 992px) {
  .row {
    display: flex;
    gap: 0 30px;
  }
}

.clearfix::after {
  content: "";
  clear: both;
  display: table;
}

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  position: relative;
}

a,
.booking button {
  transition: text-decoration 0.2s ease, border 0.2s ease, color 0.2s ease, background-color 0.2s ease;
  text-decoration-line: underline;
  text-decoration-style: dotted;
}
a:hover,
.booking button:hover {
  outline: none;
  text-decoration-style: solid;
}
a,
.booking button {
  cursor: pointer;
}

strong {
  font-weight: 600;
}

img.panorama {
  aspect-ratio: 45/14;
  object-fit: cover;
  width: 100%;
  height: auto;
}

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

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

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

#site-header .hmenu-sub,
#site-header .hmenu-main {
  display: none;
}
#site-header .hmenu-mobile {
  display: block;
  position: fixed;
  top: 0;
  z-index: 502;
  height: 4rem;
  overflow: hidden;
  background-color: var(--p-ulight);
}
#site-header .hmenu-mobile a,
#site-header .hmenu-mobile button {
  color: var(--p-deepblue);
}
#site-header .hmenu-mobile a:hover,
#site-header .hmenu-mobile button:hover {
  color: var(--p-teal);
}
#site-header .hmenu-mobile {
  transition: color 0.25s linear, background-color 0.25s linear;
}
#site-header .hmenu-mobile > ul {
  list-style: none;
  display: flex;
  gap: 1.25rem;
  width: 100vw;
  height: 4rem;
  justify-content: space-around;
  align-items: center;
  font-size: 2rem;
  padding: 0;
  margin: 0;
}
#site-header .hmenu-mobile > ul button,
#site-header .hmenu-mobile > ul a {
  display: flex;
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0;
  font-size: 1em;
  text-decoration: none;
}
#site-header .hmenu-mobile > ul svg {
  width: auto;
  height: 1em;
}
#site-header .fmenu-mobile {
  visibility: hidden;
  position: fixed;
  z-index: 501;
  top: 0;
  height: 100%;
  left: -100vw;
  left: 0;
  width: 100vw;
  background-color: var(--p-teal);
  color: var(--p-ulight);
  padding-top: 4rem;
}
#site-header .fmenu-mobile > div {
  border-top: 1px solid var(--p-ulight);
  width: 100%;
  height: 100%;
  overflow-y: auto;
}
#site-header .fmenu-mobile ul {
  position: relative;
  z-index: 2;
  padding: 1em 1.5em;
  margin: 0;
  list-style: none;
  display: flex;
  height: 100%;
  width: 100%;
  flex-direction: column;
  gap: 0.5em;
  text-transform: uppercase;
  font-size: 18px;
  font-weight: bold;
}
#site-header .fmenu-mobile .subs ul {
  font-size: 0.8em;
  align-items: end;
  width: 14rem;
}
#site-header .fmenu-mobile a {
  color: var(--p-ulight);
  text-decoration: none;
}
#site-header .fmenu-mobile .socials {
  flex: 1 0 0;
  display: flex;
  gap: 1em;
  align-items: end;
  justify-content: end;
  font-size: 1.5em;
}
#site-header .fmenu-mobile .socials a {
  vertical-align: bottom;
  line-height: 1;
}
#site-header .hbanner {
  margin-top: 4rem;
}

@keyframes mmenuIn {
  0% {
    transform: translateX(-100%);
    visibility: visible;
  }
  100% {
    transform: translateX(0%);
    visibility: visible;
  }
}
@keyframes mmenuOut {
  0% {
    transform: translateX(0%);
    visibility: visible;
  }
  100% {
    transform: translateX(-100%);
    visibility: hidden;
  }
}
html.mobile-open,
html.mobile-open body {
  overflow: hidden;
}
html.mobile-open #site-header .fmenu-mobile {
  visibility: visible;
  animation-name: mmenuIn;
  animation-duration: 0.25s;
  animation-timing-function: ease-in;
}
html.mobile-open #site-header .hmenu-mobile {
  background-color: var(--p-teal);
  color: var(--p-ulight);
}
html.mobile-open #site-header .hmenu-mobile a,
html.mobile-open #site-header .hmenu-mobile button {
  color: var(--p-ulight);
}
html.mobile-open #site-header .hmenu-mobile a:hover,
html.mobile-open #site-header .hmenu-mobile button:hover {
  color: var(--p-deepblue);
}

html.mobile-closed #site-header .fmenu-mobile {
  transform: translateX(-100%);
  visibility: hidden;
  animation-name: mmenuOut;
  animation-duration: 0.25s;
  animation-timing-function: ease-out;
}

@media (min-width: 50rem) {
  #site-header .hmenu-sub,
  #site-header .hmenu-main {
    display: block;
  }
  #site-header .hmenu-mobile {
    display: none;
  }
  #site-header .fmenu-mobile {
    display: none;
  }
  #site-header .hbanner {
    margin-top: 1rem;
  }
}
#site-header {
  max-width: 100vw;
  overflow: hidden;
}
#site-header .hmenu-sub {
  padding-top: 1.3rem;
  padding-bottom: 0.85rem;
}
#site-header .hmenu-sub > ul {
  list-style: none;
  display: flex;
  gap: 1.25rem;
  margin: 0;
  padding: 0px 5.5rem;
  justify-content: end;
  font-size: 13px;
  text-transform: uppercase;
  font-weight: bold;
  color: var(--p-deepblue);
}
#site-header .hmenu-main > ul {
  padding: 0 1rem;
}
@media (min-width: 1090px) {
  #site-header .hmenu-main > ul {
    padding: 0 4.75rem;
  }
}
#site-header .hmenu-main > ul {
  list-style: none;
  display: flex;
  gap: 0.1rem;
  font-weight: bold;
  font-size: 13px;
  text-transform: uppercase;
  justify-content: space-between;
  align-items: center;
  height: 4rem;
  margin: 0;
  color: var(--p-deepblue);
}
#site-header .hmenu-main > ul li a {
  display: inline-block;
  text-decoration-line: none;
  border: 1px solid transparent;
  border-radius: 0.5em;
  padding: 0.35rem 0.5rem 0.25rem;
}
#site-header .hmenu-main > ul li a:hover {
  border-color: var(--p-deepblue);
}
#site-header .hmenu-main > ul li.mini-logo {
  align-self: start;
}
#site-header .hmenu-main > ul li.mini-logo a {
  padding: 0.1rem;
}
#site-header .hmenu-main > ul li.mini-logo svg {
  height: 2.5rem;
  width: auto;
}
#site-header .hmenu-main > ul li.booking a.btn-booking {
  background: var(--p-deepred);
  color: var(--p-ulight);
  font-size: 17px;
  font-weight: bold;
  padding: 0.125em 1em;
  border: 0.1em solid var(--p-deepred);
  border-radius: 0.5em;
  text-decoration-line: none;
}
@media (min-width: 970px) {
  #site-header .hmenu-main > ul li.booking a.btn-booking {
    padding: 0.125em 3em;
  }
}
#site-header .hmenu-main > ul li.booking a.btn-booking:hover {
  background-color: var(--p-ulight);
  color: var(--p-deepred);
}
#site-header .hbanner {
  position: relative;
  aspect-ratio: 50/24;
}
@media (min-width: 800px) {
  #site-header .hbanner {
    aspect-ratio: 5/2;
  }
}
@media (min-width: 1180px) {
  #site-header .hbanner {
    aspect-ratio: 3/1;
  }
}
@media (min-width: 1400px) {
  #site-header .hbanner {
    aspect-ratio: 7/2;
  }
}
#site-header .hbanner > .socials {
  position: absolute;
  top: 0;
  right: 0;
  width: auto;
  height: 81%;
  display: flex;
  align-items: center;
}
#site-header .hbanner > .socials > ul {
  padding-left: 0;
  list-style: none;
  margin: 0;
  line-height: 0;
  display: flex;
  gap: 0.44444444em;
  flex-direction: column;
  justify-content: space-between;
  padding: 0.6666667em 0.4444444em;
  border-top-left-radius: 0.6666667em;
  border-bottom-left-radius: 0.6666667em;
  background: var(--p-teal);
  font-size: 4.83vw;
}
@media (min-width: 580px) {
  #site-header .hbanner > .socials > ul {
    font-size: 28px;
  }
}
@media (min-width: 800px) {
  #site-header .hbanner > .socials > ul {
    font-size: 3.5vw;
  }
}
@media (min-width: 1024px) {
  #site-header .hbanner > .socials > ul {
    font-size: 36px;
  }
}
#site-header .hbanner > .socials li {
  position: relative;
}
#site-header .hbanner > .socials a {
  color: var(--p-ulight);
  display: block;
}
#site-header .hbanner > .socials a:hover {
  color: var(--p-deepblue);
}
#site-header .hbanner > .socials a + span.soc-text {
  display: none;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 4rem;
  width: auto;
  font-size: 1.125rem;
  align-items: center;
  color: var(--p-ulight);
  text-transform: uppercase;
  background-color: rgba(0, 0, 0, 0.1882352941);
  border-radius: 0.5rem;
  padding: 0 0.5rem;
}
#site-header .hbanner > .socials a:hover + span.soc-text {
  display: flex;
}
#site-header .hbanner > .logo {
  position: absolute;
  bottom: 5.5vw;
  left: 5.5vw;
}
#site-header .hbanner > .logo a {
  display: block;
}
#site-header .hbanner > .logo a svg {
  color: white;
  height: 7vw;
  width: auto;
  aspect-ratio: 369/63;
}
#site-header .hbanner > .logo a.phone {
  color: var(--p-ulight);
  font-weight: 600;
  text-decoration: none;
  font-size: 4.33vw;
}
@media (min-width: 800px) {
  #site-header .hbanner > .logo a svg {
    height: 4.75vw;
  }
  #site-header .hbanner > .logo a.phone {
    display: none;
  }
}
#site-header .hbanner > .hbg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  clip-path: inset(0 0 1px 0);
}
#site-header .hbanner > .hbg img {
  object-fit: cover;
  object-position: center center;
  width: 100%;
  height: 100%;
}
#site-header .hbanner > .bg {
  display: none;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  clip-path: inset(0 0 1px 0);
}
#site-header .hbanner .wave {
  color: var(--p-ulight);
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  aspect-ratio: 1366/100;
  height: auto;
  transform: translateX(-1vw) scaleX(1.25);
}
#site-header .hbanner .wave svg {
  aspect-ratio: 1366/100;
  width: 100%;
  height: auto;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media (max-width: 767px) {
  #site-header .hbanner > .bg.bg-small {
    display: block;
  }
}
@media (max-width: 1200px) and (min-width: 768px) {
  #site-header .hbanner > .bg.bg-medium {
    display: block;
  }
}
@media (min-width: 1201px) {
  #site-header .hbanner > .bg.bg-large {
    display: block;
  }
}

footer#site-footer {
  max-width: 100vw;
  overflow: hidden;
  font-size: 20px;
}
@media (min-width: 800px) {
  footer#site-footer {
    font-size: 18px;
  }
}
@media (min-width: 1300px) {
  footer#site-footer {
    font-size: 20px;
  }
}
footer#site-footer .footer-cols {
  background: var(--p-teal);
  color: var(--p-ulight);
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  font-size: 0.7em;
  align-items: start;
  gap: 0;
  padding: 0;
}
@media (min-width: 800px) {
  footer#site-footer .footer-cols {
    grid-template-columns: 1fr 1fr;
    padding: 1.2rem 1.2rem;
    gap: 4rem;
  }
}
@media (min-width: 900px) {
  footer#site-footer .footer-cols {
    grid-template-columns: 1fr 1fr auto minmax(13rem, 1fr);
    padding: 1.2rem 1.2rem;
    gap: 4rem;
  }
}
@media (min-width: 1050px) {
  footer#site-footer .footer-cols {
    grid-template-columns: 2fr 1fr auto minmax(13rem, 1fr);
    padding: 1.2rem 1.2rem;
    gap: 4rem;
  }
}
footer#site-footer .title {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1em;
  margin-bottom: 1rem;
}
footer#site-footer .content ul {
  padding-left: 0;
  list-style: none;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
footer#site-footer a {
  color: var(--p-teal);
  font-weight: bold;
}
footer#site-footer .connect {
  order: 5;
  background-color: var(--p-ulight);
  color: var(--p-teal);
  text-align: center !important;
  padding: 1rem 3rem;
}
footer#site-footer .connect .content {
  max-width: 200px;
  margin: 0 auto;
}
footer#site-footer .connect .socials {
  display: flex;
  flex-wrap: wrap;
  align-content: start;
  justify-content: space-between;
  align-items: center;
  gap: 0.25rem;
  font-size: 1.5em;
}
footer#site-footer .connect .socials a {
  line-height: 0;
}
footer#site-footer .connect .phone {
  font-size: 1em;
}
footer#site-footer .contact {
  order: 3;
  text-align: center;
  background-color: var(--p-ulight);
  color: var(--p-teal);
  padding: 1rem 3rem;
}
footer#site-footer .contact .title {
  display: none;
}
footer#site-footer .contact .content {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 800px) {
  footer#site-footer .contact .content {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 900px) {
  footer#site-footer .contact .content {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 1050px) {
  footer#site-footer .contact .content {
    grid-template-columns: 1fr 1fr;
  }
}
footer#site-footer .more {
  order: 4;
  text-align: center;
  background-color: var(--p-ulight);
  color: var(--p-teal);
  padding: 1rem 3rem;
}
footer#site-footer .more li {
  margin: 0.5em 0;
}
footer#site-footer .mailing {
  order: 1;
  padding: 3rem 3rem 1rem;
  text-align: center;
}
footer#site-footer .mailing #cakemail_success {
  font-size: 1.5em;
  text-align: center;
}
footer#site-footer .mailing #cakemail_error {
  font-size: 1.2em;
  align-self: center;
  text-align: center;
}
footer#site-footer .mailing #txt_cakemail::placeholder {
  color: var(--p-teal);
}
footer#site-footer .mailing #txt_cakemail {
  border: 1px solid transparent;
  border-radius: 0.5em;
  padding: 0.25em 0.5em;
  color: var(--p-deepblue);
}
footer#site-footer .mailing #btn_cakemail {
  background-color: var(--p-deepred);
  color: var(--p-ulight);
  font-size: 1.25em;
  font-weight: bold;
  padding: 0.125em 3em;
  border: 0.1em solid var(--p-deepred);
  border-radius: 0.5em;
}
footer#site-footer .mailing form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  align-items: stretch;
}
footer#site-footer .mobile-katabatik-logo {
  order: 2;
  color: var(--p-teal);
  background-color: var(--p-ulight);
  padding-bottom: 0.5rem;
  padding-top: 1rem;
}
footer#site-footer .mobile-katabatik-logo > div {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  color: var(--p-deepblue);
}
footer#site-footer .mobile-katabatik-logo > div .kl-logo {
  height: 1.25rem;
}
footer#site-footer .mobile-katabatik-logo > div .kl-text {
  height: 1rem;
}
footer#site-footer .wave-sep > svg,
footer#site-footer .mobile-mailing-sep > svg {
  aspect-ratio: 1366/100;
  position: absolute;
  bottom: 0;
  width: 100vw;
  transform: scaleX(-1.1) translateX(3vw);
}
footer#site-footer .mobile-mailing-sep {
  order: 1;
  clip-path: unset;
  position: relative;
  background-color: var(--p-teal);
  min-height: 4.5rem;
  aspect-ratio: 1366/100;
  width: 100vw;
  color: var(--p-ulight);
}
footer#site-footer .mobile-mailing-sep > svg {
  bottom: -1px;
  transform: scaleX(-1.3) translateX(-1vw);
}
footer#site-footer .mobile-mailing-sep .kayak {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
footer#site-footer .mobile-mailing-sep .kayak .kp {
  position: absolute;
  right: 7vw;
  bottom: -1.5vw;
}
footer#site-footer .mobile-mailing-sep .kayak .kr {
  aspect-ratio: 375/230;
  width: 19vw;
  height: auto;
}
footer#site-footer .mobile-mailing-sep .kayak svg {
  width: 100%;
  color: var(--p-ulight);
  height: 100%;
  vertical-align: bottom;
  transform: rotate(-3deg);
}
footer#site-footer .wave-sep {
  clip-path: unset;
  color: var(--p-teal);
  background-color: var(--p-ulight);
  bottom: -1px;
  position: relative;
  min-height: 4.5rem;
  aspect-ratio: 1366/100;
  width: 100vw;
}
footer#site-footer .katabatik-logo {
  background-color: var(--p-teal);
  height: 2rem;
  position: relative;
}
footer#site-footer .katabatik-logo div {
  display: none;
  flex-direction: column;
  position: absolute;
  left: 9vw;
  top: -5vw;
  gap: 0.25rem;
  color: var(--p-deepblue);
}
@media (min-width: 1200px) {
  footer#site-footer .katabatik-logo div {
    transform: scale(1.5);
  }
}
footer#site-footer .katabatik-logo .kl-logo {
  height: 1.25rem;
}
footer#site-footer .katabatik-logo .kl-text {
  height: 1rem;
}
@media (min-width: 800px) {
  footer#site-footer a {
    color: var(--p-ulight);
  }
  footer#site-footer .mailing {
    order: 4;
  }
  footer#site-footer .contact {
    order: 1;
    background-color: var(--p-ulight);
  }
  footer#site-footer .contact .title {
    display: unset;
  }
  footer#site-footer .more {
    order: 2;
    background-color: var(--p-ulight);
  }
  footer#site-footer .more li {
    margin: 0;
  }
  footer#site-footer .connect {
    order: 3;
    background-color: var(--p-ulight);
  }
  footer#site-footer .footer-cols > * {
    background-color: unset;
    color: unset;
    padding: 0;
    text-align: unset;
  }
  footer#site-footer .mobile-mailing-sep {
    display: none;
  }
  footer#site-footer .wave-sep {
    color: var(--p-ulight);
    background-color: var(--p-teal);
    clip-path: inset(-30px 0 1px 0);
    bottom: 0;
  }
  footer#site-footer .katabatik-logo {
    background-color: var(--p-ulight);
  }
  footer#site-footer .katabatik-logo div {
    display: flex;
  }
  footer#site-footer .mobile-katabatik-logo {
    display: none;
  }
}

.package-page .uib-datepicker table {
  margin-bottom: 0;
  margin-top: 0;
}
.package-page .uib-datepicker table thead th {
  padding: 0;
}
.package-page .uib-datepicker table td {
  padding: 0;
}
.package-page .uib-datepicker .btn-default[disabled] {
  background-color: #E1E1E1;
}

.page-booking form .phone {
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  .page-booking form .phone-type {
    margin-bottom: 10px;
  }
}
.page-booking form .date-content {
  margin-top: 7px;
}
.page-booking form .package-date {
  margin-bottom: 10px;
}
.page-booking form .package-date:last-child {
  margin-bottom: 0;
}
.page-booking form .selected-date {
  cursor: pointer;
}

.glyphicon {
  font: normal normal normal 14px/1 FontAwesome;
  display: inline-block;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.glyphicon-chevron-right:before {
  content: "\f054";
}

.glyphicon-chevron-left:before {
  content: "\f053";
}

.policy.checkbox label {
  display: block;
  text-align: center;
}
.policy.checkbox input[type=checkbox] {
  position: static;
  margin-left: 0;
  margin-top: 0;
  vertical-align: baseline;
}

#info-popup {
  background-color: transparent;
  position: relative;
  font-size: 1.1rem;
  color: var(--p-ulight);
}
#info-popup > * {
  margin-top: 0;
  margin-bottom: 0.25em;
}
#info-popup h2 {
  font-weight: 500;
  margin-bottom: 1.1rem;
  font-size: 1.25em;
}
#info-popup h3 {
  font-weight: 500;
  margin-bottom: 1.1rem;
  font-size: 1.1em;
}
#info-popup h4 {
  font-weight: 500;
  margin-bottom: 1.1rem;
  font-size: 1.05em;
}
#info-popup img {
  max-width: 100%;
  margin: 0 auto;
  display: block;
}
#info-popup a {
  color: var(--p-ulight);
}
#info-popup > :first-child {
  margin-top: 0 !important;
}
#info-popup > :last-child {
  margin-bottom: 0 !important;
}

.badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}
.badges a.nbadge {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 5.71rem;
  text-align: center;
  gap: 0.75rem;
}
.badges .nbadge-icon {
  color: var(--p-ulight);
  background-color: var(--p-teal);
  display: flex;
  border: 0;
  aspect-ratio: 440/424;
  justify-content: center;
  justify-content: center;
  align-items: center;
  height: 2.5rem;
  border-radius: 0.5rem;
}
.badges.badges-big {
  gap: 1.25rem;
}
.badges.badges-big .nbadge-icon {
  height: 5.5rem;
  border-radius: 1.25rem;
}
.badges .nbadge-text {
  text-transform: uppercase;
  font-size: 0.95rem;
  font-weight: bold;
  color: var(--p-teal);
}
.badges .nbadge-icon svg {
  aspect-ratio: 1/1;
  max-height: 100%;
  max-width: 100%;
  height: 100%;
  width: 100%;
}

@media (max-width: 525px) {
  .home-page .badges {
    padding: 1rem 0;
    background-color: var(--p-teal);
  }
  .home-page .badges .nbadge-text {
    color: var(--p-ulight);
    font-size: 0.8rem;
  }
  .home-page .badges .nbadge-icon {
    background-color: var(--p-ulight);
    color: var(--p-teal);
    height: 4.5rem;
  }
  .home-page .badges a.nbadge {
    color: var(--p-ulight);
  }
}
.page header .inpage-nav .badges {
  margin-top: 1rem;
}

h1 {
  font-family: "Poppins";
  font-weight: 800;
  color: var(--p-deepblue);
  font-size: 6.6vw;
}

h2 {
  font-family: "Poppins";
  font-weight: 800;
  margin-bottom: 1.5rem;
  font-size: 23px;
}

h3 {
  font-family: "Poppins";
  font-weight: 600;
  margin-bottom: 0.5rem;
  font-size: 1.25rem;
}

@media (min-width: 750px) {
  h1 {
    font-size: 3.125rem;
  }
}
@media (min-width: 600px) {
  h2 {
    font-size: 3.9vw;
  }
}
@media (min-width: 1024px) {
  h2 {
    font-size: 2.5rem;
  }
}
h2.deco,
h3.deco {
  background-repeat: no-repeat;
  background-position: bottom left;
}
h2.deco.etoiles,
h3.deco.etoiles {
  padding-bottom: 1em;
  background-image: url(/static/images/glyphs/stars.svg);
  background-size: 6em;
}
h2.deco.pagaie,
h3.deco.pagaie {
  padding-bottom: 0.5em;
  background-image: url(/static/images/glyphs/pagaie.svg);
  background-size: 2.5em;
}
h2.deco.pagaie-large,
h3.deco.pagaie-large {
  padding-bottom: 1.25em;
  background-image: url(/static/images/glyphs/pagaie.svg);
  background-size: 6em;
}
h2.deco.text-left,
h3.deco.text-left {
  background-position-x: left;
}
h2.deco.text-center,
h3.deco.text-center {
  background-position-x: center;
}
h2.deco.text-right,
h3.deco.text-right {
  background-position-x: right;
}

ul {
  padding-left: 1.5em;
}

[ng\:cloak], [ng-cloak], .ng-cloak {
  display: none !important;
}

.no-scroll {
  overflow: hidden;
}

.pointer {
  cursor: pointer;
}

.no-padding {
  padding: 0;
}

.desaturate {
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  filter: gray;
  opacity: 0.5;
}

.main-content:not(.home-page) {
  font-size: 1.25rem;
}
.main-content:not(.home-page) .position-link {
  display: block;
  position: relative;
  top: -160px;
  z-index: -1;
  width: 0;
  visibility: hidden;
}
.main-content:not(.home-page) img {
  max-width: 100%;
}
.main-content:not(.home-page) article {
  margin-top: 2rem;
  display: initial;
}
.main-content:not(.home-page) header {
  top: 0;
  background-color: var(--p-ulight);
  padding-bottom: 1rem;
  z-index: 10;
  margin-top: 1.5rem;
}
@media (min-width: 800px) {
  .main-content:not(.home-page) header {
    position: sticky;
  }
}
.main-content:not(.home-page) header {
  line-height: 1;
}
.main-content:not(.home-page) header h1 {
  font-weight: 800;
  margin: 0 0 0.5rem 0;
  padding-top: 0.5rem;
  text-align: center;
}
.main-content:not(.home-page) header h1 a {
  color: var(--p-deepblue);
  text-decoration: none;
}
.main-content:not(.home-page) header .subtitle {
  text-align: center;
  font-size: 0.9rem;
}
.main-content:not(.home-page) header .inpage-nav {
  max-width: 90vw;
  margin-left: auto;
  margin-right: auto;
}
.main-content:not(.home-page) header .inpage-nav ul {
  margin: 1.5rem 0 0 0;
  list-style: none;
  padding: 0;
  display: flex;
  gap: 0.75rem 1.5rem;
  flex-wrap: wrap;
  font-size: 1rem;
  justify-content: center;
}
.main-content:not(.home-page) header .inpage-nav li {
  padding-bottom: 0.25rem;
  border-bottom: 0.2rem solid transparent;
}
.main-content:not(.home-page) header .inpage-nav li.active {
  border-bottom-color: var(--p-pale-teal);
}
.main-content:not(.home-page) header .inpage-nav li:hover {
  border-bottom-color: var(--p-teal);
}
.main-content:not(.home-page) header .inpage-nav li a {
  color: inherit;
  text-decoration: none;
}
@media (min-width: 800px) {
  .main-content:not(.home-page) header .inpage-nav ul {
    font-size: 1.125rem;
  }
}
.main-content:not(.home-page) > section {
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  font-size: 14px;
}
@media (min-width: 500px) {
  .main-content:not(.home-page) > section {
    font-size: 15px;
  }
}
@media (min-width: 600px) {
  .main-content:not(.home-page) > section {
    font-size: 16px;
  }
}
@media (min-width: 800px) {
  .main-content:not(.home-page) > section {
    font-size: 18px;
  }
}
@media (min-width: 1024px) {
  .main-content:not(.home-page) > section {
    font-size: 20px;
  }
}
.main-content:not(.home-page) > section > * {
  max-width: 82vw;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1em;
}
@media (min-width: 40rem) {
  .main-content:not(.home-page) > section > * {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
  }
}
@media (min-width: 58rem) {
  .main-content:not(.home-page) > section > * {
    max-width: 52rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
  }
}
@media (min-width: 64rem) {
  .main-content:not(.home-page) > section > * {
    max-width: 54rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
  }
}
.main-content:not(.home-page) > section > *.full-width {
  max-width: 100vw;
  overflow: hidden;
}
@media (min-width: 500px) {
  .main-content:not(.home-page) .shrink {
    padding-left: 2em;
    padding-right: 2em;
  }
}
@media (min-width: 765px) {
  .main-content:not(.home-page) .shrink {
    padding-left: 3em;
    padding-right: 3em;
  }
}
.main-content:not(.home-page) .shrink {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.main-content:not(.home-page) .shrink img {
  display: block;
  max-width: 95%;
  margin: 1em auto;
}
.main-content:not(.home-page) img.float-left,
.main-content:not(.home-page) img.float-right {
  width: 100%;
}
@media (min-width: 480px) {
  .main-content:not(.home-page) img.float-left {
    float: left;
    max-width: 50%;
    margin-right: 1em;
    margin-bottom: 1em;
  }
  .main-content:not(.home-page) img.float-right {
    float: right;
    max-width: 50%;
    margin-left: 1em;
    margin-bottom: 1em;
  }
}

iframe {
  max-width: 100%;
}

.page table,
.package-page table {
  width: 100%;
  margin-bottom: 20px;
  margin-top: 20px;
}
.page table thead th,
.package-page table thead th {
  color: white;
  background-color: var(--p-deepblue);
  padding: 5px 10px;
}
.page table td,
.package-page table td {
  padding: 5px 10px;
}

.two-columns {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem 2rem;
}
.two-columns > * {
  flex: 1 0 0;
  min-width: 25rem;
}

.accomodation-page .link {
  font-size: 1rem;
}
.accomodation-page .link h4 {
  font-weight: bold;
  margin-bottom: 0;
}
.accomodation-page .link .city {
  color: var(--p-pale-teal);
  margin-bottom: 10px;
}
.accomodation-page hr {
  margin-top: 20px;
  margin-bottom: 20px;
}

.main-content.home-page {
  text-align: center;
  font-size: 14px;
}
@media (min-width: 600px) {
  .main-content.home-page {
    font-size: 16px;
  }
}
.main-content.home-page > * {
  max-width: 86vw;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
}
.main-content.home-page > div + div {
  margin-top: 3rem;
}
.main-content.home-page > *.full-width {
  max-width: 100vw;
  overflow: hidden;
}
.main-content.home-page > h1 {
  margin-bottom: 1rem;
  text-transform: uppercase;
  font-size: 2em;
}
@media (min-width: 580px) {
  .main-content.home-page > h1 {
    font-size: 2.25em;
  }
}
@media (min-width: 800px) {
  .main-content.home-page > h1 {
    font-size: 3.125em;
  }
}
.main-content.home-page h2 {
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto;
  text-transform: uppercase;
  font-size: 1.25rem;
}
@media (min-width: 580px) {
  .main-content.home-page h2 {
    font-size: 1.875rem;
    max-width: 33rem;
  }
}
.main-content.home-page .subtitle {
  line-height: 1.1;
  font-size: 15px;
}
@media (min-width: 800px) {
  .main-content.home-page .subtitle {
    font-size: 18px;
    max-width: 26rem;
  }
}
.main-content.home-page .badges {
  margin-top: 3rem;
  grid-template-columns: repeat(3, auto);
  justify-content: center;
  display: grid;
}
@media (max-width: 350px) {
  .main-content.home-page .badges {
    grid-template-columns: repeat(2, auto);
  }
}
@media (min-width: 700px) {
  .main-content.home-page .badges {
    grid-template-columns: repeat(6, auto);
  }
}
.main-content.home-page packages-list {
  display: block;
  padding: 1rem 0;
}
.main-content.home-page .badge-wave {
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 0;
  width: 100vw;
  max-width: unset;
  position: relative;
  color: var(--p-teal);
  bottom: -1px;
}
.main-content.home-page .badge-wave svg {
  aspect-ratio: 1366/100;
  vertical-align: bottom;
  transform: scaleX(-1);
}
.main-content.home-page > div.badge-wave + div {
  margin-top: 0;
}
.main-content.home-page > .badges {
  max-width: 100vw;
}
@media (min-width: 525px) {
  .main-content.home-page .badge-wave {
    display: none;
  }
}
.main-content.home-page .vague-title {
  display: none;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 0;
  width: 100vw;
  max-width: unset;
  position: relative;
  color: var(--p-teal);
  bottom: -1px;
  margin-top: 3rem;
}
.main-content.home-page .vague-title svg.vague {
  aspect-ratio: 1366/100;
  vertical-align: bottom;
  transform: scaleX(-1);
}
.main-content.home-page .vague-title svg.kayak {
  position: absolute;
  top: 0;
  color: var(--p-teal);
  z-index: 2;
  left: 0;
  transform: scale(0.36) translateX(45%) translateY(-137%) rotate(11deg);
}
@media (max-width: 524px) {
  .main-content.home-page .vague-title {
    display: block;
  }
  .main-content.home-page .vague-title + h2 {
    background: var(--p-teal);
    max-width: 100vw;
    color: var(--p-ulight);
    padding: 1em 3em;
    margin-top: 0;
  }
}

.page-events .event {
  margin-bottom: 2.5rem;
}
.page-events .event-title {
  display: flex;
  align-items: start;
  gap: 1rem;
}
.page-events .event-title > * {
  margin: 0 !important;
  padding: 0;
}
.page-events .event-title .date-event {
  flex: 0 0 auto;
}
.page-events .event-title h2 {
  flex: 1 1 0;
  margin-top: 0.2em !important;
}

.home-events .event-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: stretch;
  justify-content: center;
}
.home-events .event {
  border: 0.15rem solid var(--p-pale-teal);
  border-radius: 1rem;
  padding: 0.75rem;
  flex: 1 0 16rem;
  max-width: 22rem;
}
.home-events .event .event-content {
  color: var(--p-teal);
  text-align: left;
}
.home-events .event .event-content > *:last-child {
  margin-bottom: 0;
}
.home-events .event .event-content > *:first-child {
  font-size: 0.95rem;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 0;
}
.home-events .event .event-content > *:first-child a {
  color: var(--p-teal);
}
.home-events .event .event-content > *:first-child a:hover, .home-events .event .event-content > *:first-child a:focus {
  color: var(--p-teal);
}
.home-events .event .event-content img {
  width: 100%;
  object-fit: scale-down;
  object-position: top center;
}
@media (min-width: 600px) {
  .home-events .event {
    flex: 0 0 16rem;
    border-radius: 1.5rem;
  }
}

.event {
  position: relative;
}
.event .date-event {
  background-color: var(--p-teal);
  float: left;
  margin-right: 0.75rem;
  margin-bottom: 0.5rem;
  border-radius: 0.35rem;
  overflow: hidden;
  width: 53px;
}
.event .date-event .date {
  font-weight: bold;
  color: white;
  font-size: 24px;
  text-align: center;
  background-color: var(--p-teal);
}
.event .date-event .month {
  background-color: var(--p-deepblue);
  font-size: 12px;
  text-align: center;
  font-weight: bold;
  line-height: 20px;
  color: white;
  border-radius: 0.25rem 0.25rem 0 0;
  text-transform: uppercase;
}
@media (min-width: 600px) {
  .event .date-event {
    border-radius: 0.5rem;
  }
}

.pkg-list {
  display: flex;
  padding: 0;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.75rem;
  line-height: 1;
}
.pkg-list .pkg {
  flex: 0 0 17rem;
  display: flex;
  flex-direction: column;
  background: var(--p-pale-teal);
  border: 0.15rem solid var(--p-pale-teal);
  border-radius: 1rem;
  overflow: hidden;
}
@media (min-width: 600px) {
  .pkg-list .pkg {
    flex: 0 0 16rem;
  }
}
.pkg-list .wrapper {
  flex: 1 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--p-ulight);
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
  padding: 2rem 1rem;
  gap: 1.15rem;
}
.pkg-list img,
.pkg-list .no-photo {
  aspect-ratio: 23/16;
  object-fit: cover;
  width: 100%;
  height: auto;
  border-radius: 0.35rem;
  vertical-align: bottom;
}
.pkg-list .no-photo {
  background-color: #eee;
  display: inline-block;
}
.pkg-list .wrapper > a {
  width: 100%;
}
.pkg-list a.title {
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 700;
  flex: 1;
  color: var(--p-deepblue);
  text-decoration: none;
  text-align: center;
  max-width: 85%;
}
.pkg-list .actions {
  flex: 0 0 auto;
  display: flex;
  gap: 0.5rem;
  padding: 0.75rem;
}
.pkg-list .actions a {
  flex: 1 1 0;
  border: 0.1rem solid var(--p-ulight);
  background-color: var(--p-teal);
  color: var(--p-ulight);
  text-transform: uppercase;
  font-size: 0.95rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  padding: 0.7rem;
  border-radius: 0.75rem;
  transition: color 0.25s ease, background-color 0.25s ease;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pkg-list .actions a:hover {
  background-color: var(--p-ulight);
  color: var(--p-teal);
}

@media (min-width: 600px) {
  .pkg-list .pkg {
    border-radius: 1.5rem;
  }
  .pkg-list .wrapper {
    border-bottom-left-radius: 1.25rem;
    border-bottom-right-radius: 1.25rem;
  }
  .pkg-list .actions a {
    border-radius: 0.8rem;
  }
}
.main-content.package-page .position-link {
  top: -210px;
}
.main-content.package-page header .h1-category {
  font-size: 1.5rem;
  font-weight: 800;
  margin: 0 0 0.5rem 0;
  text-align: center;
}
.main-content.package-page header .h1-category a {
  color: var(--p-deepblue);
  text-decoration: none;
}
.main-content.package-page header h1 {
  font-size: 14px;
  font-weight: 600;
  margin: 0 auto 1.5rem auto;
  max-width: 80vw;
  text-transform: none;
  text-align: center;
  color: var(--p-teal);
}
.main-content.package-page header .badges .nbadge-icon.is-activity {
  background-color: var(--p-deepblue);
}
.main-content.package-page header .booking-icon a,
.main-content.package-page header .booking-icon button {
  text-transform: uppercase;
  color: var(--p-ulight);
  background-color: var(--p-deepblue);
  font-weight: 600;
  font-size: 0.9rem;
  padding: 0 1rem;
  border-radius: 0.5rem;
  margin: 0;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  border: 0.15rem solid var(--p-deepblue);
}
.main-content.package-page header .booking-icon a:hover,
.main-content.package-page header .booking-icon button:hover {
  background: var(--p-ulight);
  color: var(--p-deepblue);
}
.main-content.package-page header .badges {
  gap: 0.25rem;
}
.main-content.package-page header .badges .nbadge-icon,
.main-content.package-page header .booking-icon {
  height: 2rem;
}
@media (min-width: 500px) {
  .main-content.package-page header .h1-category {
    font-size: 1.75rem;
  }
  .main-content.package-page header h1 {
    font-size: 15px;
  }
  .main-content.package-page header .badges {
    gap: 0.5rem;
  }
}
@media (min-width: 600px) {
  .main-content.package-page header .h1-category {
    font-size: 2rem;
  }
  .main-content.package-page header h1 {
    font-size: 16px;
  }
}
@media (min-width: 800px) {
  .main-content.package-page header .booking-icon a {
    font-size: 1.25rem;
    padding: 0 2rem;
  }
  .main-content.package-page header .badges {
    gap: 0.75rem;
  }
  .main-content.package-page header .badges .nbadge-icon,
  .main-content.package-page header .booking-icon {
    height: 2.5rem;
  }
  .main-content.package-page header .h1-category {
    font-size: 3.125rem;
  }
  .main-content.package-page header h1 {
    font-size: 18px;
  }
}
@media (min-width: 800px) and (max-height: 900px) {
  .main-content.package-page header.is-sticky {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto auto;
    grid-template-areas: "cat badges" "title title" "nav nav";
    align-items: center;
    justify-items: start;
    padding: 1rem;
  }
  .main-content.package-page header.is-sticky .badges {
    align-self: unset;
    grid-area: badges;
    justify-self: end;
  }
  .main-content.package-page header.is-sticky .h1-category {
    grid-area: cat;
    margin: 0;
    text-align: unset;
    font-size: 2rem;
  }
  .main-content.package-page header.is-sticky h1 {
    grid-area: title;
    margin: 0.5rem 0 0 0;
    padding: 0;
  }
  .main-content.package-page header.is-sticky .inpage-nav {
    grid-area: nav;
  }
  .main-content.package-page header.is-sticky + section {
    margin-top: 9.3rem;
  }
  .main-content.package-page header.is-sticky {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    margin-top: 0;
  }
}
@media (min-width: 800px) and (max-width: 1024px) and (max-height: 900px) {
  .main-content.package-page header.is-sticky .badges {
    gap: 0.5rem;
  }
  .main-content.package-page header.is-sticky .booking-icon a {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
.main-content.package-page .booking a,
.main-content.package-page .booking button {
  display: block;
  margin: 0 auto;
  max-width: 22em;
  background-color: var(--p-deepblue);
  color: var(--p-ulight);
  text-align: center;
  padding: 0.1em 1em;
  border: 0.2rem solid var(--p-deepblue);
  border-radius: 0.5rem;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 24px;
  text-decoration: none;
}
.main-content.package-page .booking a:hover,
.main-content.package-page .booking button:hover {
  background-color: var(--p-ulight);
  color: var(--p-deepblue);
}
.main-content.package-page .booking a,
.main-content.package-page .booking button {
  width: 100%;
}
.main-content.package-page .row h3:first-child {
  margin-top: 0;
}

.full {
  width: 100%;
}

.left {
  float: left;
  margin-right: 15px;
}
@media (max-width: 767px) {
  .left {
    float: none;
    margin-right: 0;
  }
}

hr {
  margin-top: 30px;
  margin-bottom: 30px;
}

.right {
  float: right;
  margin-left: 15px;
}
@media (max-width: 767px) {
  .right {
    float: none;
    margin-left: 0;
  }
}

.loading {
  font-size: 30px;
  text-align: center;
  margin-top: 30px;
}

.center {
  display: block;
  text-align: center;
  margin-top: 5px;
}

.caption {
  text-align: right;
  margin-bottom: 25px;
  font-style: italic;
}

@keyframes a-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
.spin {
  animation: a-spin 2s infinite linear;
}

@media (max-width: 991px) {
  iframe {
    width: 100%;
  }
}

.no-border th {
  border: none;
}
.no-border td {
  border: none;
}

.ui-scrollpoint.booking-reservotron-content {
  margin-top: 70px;
}

#reservotron-store-content {
  width: 100%;
  height: 1600px;
}
@media (max-width: 991px) {
  #reservotron-store-content {
    height: 2200px;
  }
}
@media (max-width: 767px) {
  #reservotron-store-content {
    height: 2400px;
  }
}
@media (max-width: 420px) {
  #reservotron-store-content {
    height: 2600px;
  }
}

.container-iframe {
  padding-left: 0;
  padding-right: 0;
  margin-left: -15px;
  margin-right: -15px;
}

modal-conditionnel {
  margin: 1.5em 0;
}
modal-conditionnel > :first-child {
  margin-top: 0;
}
modal-conditionnel > :last-child {
  margin-bottom: 0;
}

google-map,
justified-photo-album {
  display: block;
}

.photo-viewer-open {
  overflow: hidden;
  padding-right: 15px;
}

[data-tooltip] {
  position: relative;
  z-index: 2 !important;
}
[data-tooltip]:hover {
  z-index: 3 !important;
}

[data-tooltip]:before {
  position: absolute;
  bottom: 100%;
  left: 50%;
  margin-bottom: 6px;
  padding: 7px;
  white-space: pre;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  background-color: #000;
  background-color: var(--p-deepblue);
  color: #fff;
  content: attr(data-tooltip);
  text-align: center;
  font-size: 0.8rem;
  line-height: 1.2;
  transition: 0.2s ease-out;
}

[data-tooltip].tt-large:before {
  min-width: 16rem;
  max-width: 16rem;
  white-space: initial;
}

[data-tooltip].tt-medium:before {
  min-width: 11rem;
  max-width: 11rem;
  white-space: initial;
}

[data-tooltip].tt-small:before {
  min-width: 8rem;
  max-width: 8rem;
  white-space: initial;
}

[data-tooltip].tt-below:before {
  bottom: initial;
  top: 100%;
  margin-top: 6px;
  margin-bottom: 0;
}

[data-tooltip].tt-above:before {
  top: initial;
  bottom: 100%;
  margin-bottom: 6px;
  margin-top: 0;
}

[data-tooltip].tt-left:before {
  text-align: right;
}

[data-tooltip].tt-right:before {
  text-align: left;
}

[data-tooltip]:after {
  position: absolute;
  bottom: 100%;
  left: 50%;
  width: 0;
  border-top: 5px solid #000;
  border-top: 5px solid var(--p-deepblue);
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  padding: 1px;
  content: " ";
  font-size: 0;
  line-height: 0;
}

[data-tooltip].tt-below:after {
  bottom: initial;
  top: 100%;
  border-top: 0 !important;
  border-bottom: 5px solid #000;
  border-bottom: 5px solid var(--p-deepblue);
}

[data-tooltip].tt-above:after {
  top: initial;
  bottom: 100%;
  border-bottom: 0 !important;
  border-top: 5px solid #000;
  border-top: 5px solid var(--p-deepblue);
}

[data-tooltip]:before,
[data-tooltip]:after {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: 0.2s ease-out;
  transform: translate(-50%, 5px);
}

[data-tooltip].tt-left:before,
[data-tooltip].tt-left:after {
  transform: translate(-95%, 5px);
}

[data-tooltip].tt-right:before,
[data-tooltip].tt-right:after {
  transform: translate(-5%, 5px);
}

[data-tooltip].tt-below:before,
[data-tooltip].tt-below:after {
  transform: translate(-50%, -5px);
}

[data-tooltip].tt-above:before,
[data-tooltip].tt-above:after {
  transform: translate(-50%, 5px);
}

[data-tooltip].tt-above.tt-right:before,
[data-tooltip].tt-above.tt-right:after {
  transform: translate(-5%, 5px);
}

[data-tooltip].tt-above.tt-left:before,
[data-tooltip].tt-above.tt-left:after {
  transform: translate(-95%, 5px);
}

[data-tooltip].tt-below.tt-right:before,
[data-tooltip].tt-below.tt-right:after {
  transform: translate(-5%, -5px);
}

[data-tooltip].tt-below.tt-left:before,
[data-tooltip].tt-below.tt-left:after {
  transform: translate(-95%, -5px);
}

[data-tooltip]:hover:before,
[data-tooltip]:hover:after {
  visibility: visible;
  opacity: 1;
  transform: translate(-50%, 0);
}

[data-tooltip].tt-right:hover:before,
[data-tooltip].tt-right:hover:after {
  transform: translate(-5%, 0) !important;
}

[data-tooltip].tt-left:hover:before,
[data-tooltip].tt-left:hover:after {
  transform: translate(-95%, 0) !important;
}

[data-tooltip].tt-right:hover:before,
[data-tooltip].tt-right:hover:after {
  transform: translate(-5%, 0) !important;
}

[data-tooltip].tt-left:hover:before,
[data-tooltip].tt-left:hover:after {
  transform: translate(-95%, 0) !important;
}

[data-tooltip=false]:hover:before,
[data-tooltip=false]:hover:after {
  visibility: hidden;
  opacity: 0;
}

@media print {
  #consent-wrap {
    display: none !important;
  }
}
#consent-wrap {
  margin: 0 !important;
  padding: 0 !important;
  --conb-pad-x: 1em;
  --conb-pad-y: 1em;
  --conb-text: #000;
  --conb-faded: #666;
  --conb-pale: #ccc;
  --conb-border-color: var(--conb-text);
  --conb-bg: #fff;
  --conb-accent: #4a7;
  --conb-accent-darker: #285;
  --conb-btn-bg: #eee;
  --conb-btn-bg-hover: #ccc;
  --conb-btn-accent: var(--conb-accent);
  --conb-btn-accent-hover: var(--conb-accent-darker);
  --conb-btn-accent-text: var(--conb-bg);
  --conb-btn-border: var(--conb-accent);
  --conb-action-gap: 1em;
  --conb-title-size: 1.1em;
  --conb-title-icon-size: 1.25em;
  --conb-title-lang-size: 0.9em;
  --conb-part-gap: 1.25em;
  --conb-toggle-size: 2.5em;
  --conb-inner-radius: 0.25em;
  --conb-radius: 0.5em;
  --conb-sep-color: var(--conb-pale);
  --conb-button-outline: var(--conb-bg);
  --conb-link-color: var(--conb-text);
  --conb-link-hover-color: var(--conb-accent);
  --conb-closed-dist: 1em;
  --conb-banner-w: 36em;
  --conb-banner-dist: 2em;
  font-family: -apple-system, Segoe UI, Ubuntu, Droid Sans, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.15em;
  color: var(--conb-text);
}

.conb-grayed-out {
  overflow: hidden;
  padding-right: 15px;
}

#conb-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.4980392157);
  z-index: 1999;
}

#consent {
  position: fixed;
  z-index: 500;
  height: auto;
  width: auto;
  overflow: hidden;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
}
#consent a {
  color: var(--conb-link-color) !important;
  text-decoration: underline !important;
}
#consent a:hover {
  text-decoration-thickness: 2px !important;
}

#consent.mode-closed {
  left: var(--conb-closed-dist);
  bottom: var(--conb-closed-dist);
  border: 1px solid var(--conb-button-outline);
  background-color: var(--conb-bg);
  border-radius: 2em;
}
#consent.mode-closed button {
  border: 0 solid transparent;
  border-radius: 1em;
  color: var(--conb-btn-accent-text);
  background-color: var(--conb-accent);
  padding: 0.25em;
  font-size: var(--conb-toggle-size);
  line-height: 0;
}
#consent.mode-closed button:hover {
  background-color: var(--conb-accent-darker);
}

#consent.mode-banner {
  max-width: 100vw;
}
@media (min-width: 560px) {
  #consent.mode-banner {
    left: var(--conb-banner-dist);
    bottom: var(--conb-banner-dist);
    width: var(--conb-banner-w);
    border-radius: 1em;
  }
}
#consent.mode-banner {
  border-radius: 1em 1em 0 0;
  left: 0;
  bottom: 0;
  right: 0;
}

#consent.mode-modal {
  left: 0;
  bottom: 0;
  top: 0;
  width: 36em;
  max-width: 100vw;
  border-radius: 0 var(--conb-radius) var(--conb-radius) 0;
}

#consent.mode-banner,
#consent.mode-modal {
  z-index: 2000;
  display: flex;
  flex-direction: column;
  gap: var(--conb-part-gap);
  padding: var(--conb-pad-y) 0;
}
#consent.mode-banner > *,
#consent.mode-modal > * {
  padding: 0 var(--conb-pad-x);
}
#consent.mode-banner,
#consent.mode-modal {
  background-color: var(--conb-bg);
  border: 1px solid var(--conb-border-color);
  box-shadow: 0.2em 0.2em 0.1em rgba(0, 0, 0, 0.2509803922);
}

#consent button.conb-iconb {
  border: 0 solid transparent;
  border-radius: 1em;
  color: var(--conb-text);
  background-color: transparent;
  padding: 0;
  font-size: var(--conb-title-icon-size);
  line-height: 0;
}

#consent button.conb-lang {
  border: 0 solid transparent;
  border-radius: 1em;
  color: var(--conb-text);
  background-color: transparent;
  padding: 0;
  font-size: var(--conb-title-lang-size);
  line-height: 0;
}

#consent .lang-list {
  display: flex;
  gap: 0.75em;
}

.conb-title {
  display: flex;
  justify-content: end;
  align-items: center;
  gap: 0.5em;
}
.conb-title > .conb-text {
  flex: 1 0 0;
  font-weight: bold;
  font-size: var(--conb-title-size);
}

.conb-sep {
  flex: 1 0 0;
  border-bottom: 1px solid var(--conb-sep-color);
}

.conb-actions {
  display: flex;
  gap: var(--conb-action-gap);
  justify-content: space-between;
  align-items: center;
  white-space: nowrap;
}
.conb-actions > * {
  flex: 1 0 0;
}

.conb-actions button {
  border: 1px solid transparent;
  border-radius: 0.25em;
  padding: 0.5em 1em;
  transition: background-color 0.2s ease-out;
  line-height: initial;
}
.conb-actions button.conb-action-save {
  background-color: #eee;
  color: var(--conb-text);
  border-color: var(--conb-text);
}
.conb-actions button.conb-action-save:hover {
  background-color: var(--conb-btn-bg-hover);
}
.conb-actions button.conb-action-reject, .conb-actions button.conb-action-all {
  color: var(--conb-btn-accent-text);
  background-color: var(--conb-btn-accent);
  border-color: var(--conb-btn-border);
}
.conb-actions button.conb-action-reject:hover, .conb-actions button.conb-action-all:hover {
  background-color: var(--conb-btn-accent-hover);
}

button.conb-toggle,
button.conb-opener {
  border: 0;
  padding: 0;
  color: var(--conb-faded);
  background: transparent !important;
  line-height: 0;
  font-size: var(--conb-toggle-size);
}
button.conb-toggle[disabled],
button.conb-opener[disabled] {
  opacity: 0.375;
}
button.conb-toggle.conb-state-on,
button.conb-opener.conb-state-on {
  color: var(--conb-accent);
}

.conb-simple-cats {
  display: flex;
  gap: 1em;
  align-items: center;
  flex-wrap: wrap;
}
.conb-simple-cats > .conb-cat {
  display: flex;
  gap: 0.25em;
  align-items: center;
}
.conb-simple-cats > .conb-cat .conb-name {
  font-size: 0.85em;
}

.conb-cats {
  display: flex;
  flex-direction: column;
  gap: 1em;
  overflow: hidden auto;
}
.conb-cats > .conb-cat {
  border: 1px solid var(--conb-pale);
  border-radius: var(--conb-inner-radius);
  display: grid;
  gap: 0;
  grid-template-rows: auto;
  grid-template-columns: 1fr auto;
  grid-template-areas: "name actions" "desc actions" "items items";
  align-items: start;
}
.conb-cats > .conb-cat .conb-name {
  grid-area: name;
  font-weight: bold;
  margin-bottom: 0.1em;
  padding: 0.5em 0 0 0.5em;
}
.conb-cats > .conb-cat .conb-desc {
  grid-area: desc;
  padding: 0 0 0.5em 0.5em;
}
.conb-cats > .conb-cat .conb-actions {
  grid-area: actions;
  padding-left: 1.5em;
  display: flex;
  gap: 0.25em;
  align-items: center;
}
.conb-cats > .conb-cat .conb-items {
  grid-area: items;
  overflow: hidden;
  height: auto;
  display: flex;
  flex-direction: column;
  gap: 0.75em;
  padding: 0.5em;
  border-top: 1px solid var(--conb-pale);
}
.conb-cats > .conb-cat .conb-item {
  display: flex;
  gap: 1em;
  justify-content: space-between;
}
.conb-cats > .conb-cat.conb-closed .conb-items {
  display: none;
}

#conb-info {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  margin: 0 !important;
}

.conb-info-backdrop {
  background: rgba(0, 0, 0, 0.4980392157);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.conb-info-box {
  position: relative;
  z-index: 1;
  min-height: 24em;
  width: 36em;
  max-height: 100vh;
  max-width: 100vw;
  overflow: auto;
  padding: var(--conb-pad-y) 0;
}
.conb-info-box > * {
  padding: 0 var(--conb-pad-x);
}
.conb-info-box {
  background-color: var(--conb-bg);
  border: 1px solid var(--conb-border-color);
  border-radius: var(--conb-radius);
  box-shadow: 0.2em 0.2em 0.1em rgba(0, 0, 0, 0.2509803922);
}
.conb-info-box > .conb-info-title {
  font-weight: bold;
  display: flex;
  gap: 0.5em;
  justify-content: space-between;
  align-items: center;
}
.conb-info-box > .conb-info-label {
  font-size: 0.9em;
  color: var(--conb-faded);
  margin-top: var(--conb-pad-y);
}

#consent-document.consent-document > section {
  font-size: 15px;
}
#consent-document.consent-document > section > * {
  margin-bottom: 1em;
}
#consent-document.consent-document {
  max-width: 60em;
  width: 80vw;
  margin: 2em auto;
}
#consent-document.consent-document h2 {
  font-size: 2em;
}
#consent-document.consent-document header > h1 {
  margin-bottom: 10px;
}
#consent-document.consent-document header {
  margin-bottom: 20px;
}
#consent-document.consent-document header .sub-h1 {
  font-size: 0.75em;
  text-align: center;
}
#consent-document.consent-document header .enum > *::before {
  content: " ";
}
#consent-document.consent-document header .enum > *:not(:last-child)::after {
  content: ",";
}
#consent-document.consent-document header .enum > *:last-child::after {
  content: ".";
}
#consent-document.consent-document footer {
  border-top: 1px solid #004d76;
  font-size: 0.75em;
  margin: 2em 0;
  display: grid;
  grid-template-columns: "auto auto";
  grid-template-rows: "auto auto";
  grid-template-areas: "version vigueur";
  gap: 0 2em;
  align-content: space-between;
  justify-content: space-between;
}
#consent-document.consent-document footer .cdoc-f-start {
  grid-area: vigueur;
}
#consent-document.consent-document footer .cdoc-f-version {
  grid-area: version;
}
#consent-document.consent-document footer .cdoc-desc {
  grid-area: dcode;
}
#consent-document.consent-document footer .cdoc-desc > *::before {
  content: " ";
}
#consent-document.consent-document footer .cdoc-desc > *:not(:last-child)::after {
  content: " —";
}

#consent-wrap {
  --conb-accent: var(--p-teal);
  --conb-accent-darker: var(--p-deepblue);
  --conb-text: var(--p-teal);
  font-family: "Poppins";
}
#consent-wrap .conb-links {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1em;
}

[data-consent] {
  display: none !important;
}

.cookies-message {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #32323a;
  color: white;
  padding: 15px;
  z-index: 999;
}

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