@charset "UTF-8";
/* DM Serif Display */
@font-face {
  font-family: "DM Serif Display";
  src: url("/CONTENT/fonts/DMSerifDisplay/DMSerifDisplay-Regular.woff2") format("woff2"), url("/CONTENT/fonts/DMSerifDisplay/DMSerifDisplay-Regular.woff") format("woff");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
/* Plus Jakarta Sans */
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("/CONTENT/fonts/PlusJakartaSans/PlusJakartaSans-VariableFont_wght.woff2") format("woff2-variations"), url("/CONTENT/fonts/PlusJakartaSans/PlusJakartaSans-VariableFont_wght.woff") format("woff-variations");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
:root {
  --color-unique_site: #992ac8;
  --color-region: #0288D1;
  --color-city: #EA4335;
  --color-town: #FF9800;
  --color-village: #e359d5;
  --color-national_park: #558B2F;
  --color-beach: #d1ca05;
  --color-hike: #00BFA5;
  --color-festival: #3F51B5;
  --color-attraction: #C2185B;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  scroll-behavior: smooth;
  font-family: inherit;
}

html {
  overflow-x: hidden;
  min-height: 100%;
}

body {
  min-height: 100%;
  position: relative;
  display: block;
  background-color: #FFFFFF;
  font-family: "Plus Jakarta Sans", "Verdana", "Helvetica", "Arial", "sans-serif";
  letter-spacing: 0.5px;
  font-weight: 300;
  color: #121212;
  font-size: 18px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  line-height: 1.8;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
.any_header {
  margin: 0;
  line-height: 1.25;
  font-family: "DM Serif Display", "Verdana", "Arial", "sans-serif";
  font-weight: 400;
}

h1 {
  font-size: 48px;
}

h2 {
  font-size: unset;
}

h3 {
  font-size: 29px;
}

b,
strong {
  font-weight: 700;
}

.preTitle {
  font-family: "Plus Jakarta Sans", "Verdana", "Helvetica", "Arial", "sans-serif";
  font-size: 15px;
  line-height: 1.5;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  opacity: 0.6;
}

.teaser {
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

button {
  background-color: transparent;
  padding: 0;
}

table {
  border-collapse: collapse;
}

a,
.link {
  color: inherit;
  text-decoration: none;
  position: relative;
  cursor: pointer;
}

a:hover {
  color: inherit;
}

a::after,
.link::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #121212;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
  transform: scaleX(0);
}

a:hover::after,
.link:hover::after,
.pageHeader .menu .active::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.story a {
  color: #B2B521;
}

.story a::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #B2B521;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
  transform: scaleX(0);
  color: #B2B521;
}

.story a:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

label {
  cursor: pointer;
}

.noUnderline::after {
  display: none;
}

.lightUnderline::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #FFFFFF;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
  transform: scaleX(0);
  color: #FFFFFF;
}

.lightUnderline:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.darkUnderline::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #121212;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
  transform: scaleX(0);
  color: #121212;
}

.darkUnderline:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.greyUnderline::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #B0B0B0;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
  transform: scaleX(0);
  color: #B0B0B0;
}

.greyUnderline:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.hoverUnderline:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

.light {
  background-color: #FFFFFF;
  color: #121212;
}

.lightGrey {
  background-color: #F2F2F2;
  color: #121212;
}

.mediumGrey {
  background-color: #C4C4C4;
  color: #FFFFFF;
}

.darkGrey {
  background-color: #646464;
  color: #FFFFFF;
}

.dark {
  background-color: #121212;
  color: #FFFFFF;
}

.secondaryDark {
  background-color: #242424;
  color: #FFFFFF;
}

.green {
  background-color: #E8E9C2;
  color: #283500;
}

.attention {
  background-color: #B2B521;
  color: #121212;
}

.attentionLight {
  background-color: #E8E9C2;
  color: #283500;
}

.linkGreen {
  color: #777916;
}

.linkGreen::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #777916;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
  transform: scaleX(0);
  color: #777916;
}

.linkGreen:hover {
  color: #777916;
}

.linkGreen:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.linkLight {
  color: #FFFFFF;
}

.linkDark {
  color: #121212;
}

.linkLight::after {
  background-color: #FFFFFF;
}

.linkLight:hover {
  color: #FFFFFF;
}

.attentionText {
  color: #B2B521;
}

.attentionText:hover {
  color: #777916;
}

.inspirationCategory {
  color: inherit;
  transition: color 0.25s ease;
  position: relative;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  gap: 0;
}
.inspirationCategory .fontAwesome {
  color: #777916 !important;
  transition: color 0.25s ease;
}
.inspirationCategory::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #777916;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
  transform: scaleX(0);
  bottom: -2px;
}
.inspirationCategory:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
  background-color: #B2B521;
}
.inspirationCategory:hover .fontAwesome {
  color: #B2B521 !important;
}

.darkGreyText {
  color: #C4C4C4;
}

.lightred {
  color: rgba(250, 60, 35, 0.75);
}

.errorMessage {
  color: white;
  background-color: red;
  padding: 10px 5%;
}

.noscriptWarning {
  background-color: #B2B521;
  color: #FFFFFF;
  width: 100%;
  padding: 2%;
  margin-bottom: 20px;
  text-align: center;
  font-style: italic;
}

.paintedBackground {
  fill: #E8E9C2;
  transition: fill 0.35s ease;
}

.attentionLight .paintedBackground {
  fill: #FFFFF1;
}

.paintedBackgroundContainer {
  color: #121212;
  position: relative;
  z-index: 1;
  margin-top: 30px;
  padding: 5%;
  font-size: 17px;
}

.authorLine {
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 16px;
}

ul,
ol {
  list-style-position: inside;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  /* Prevent text wrapping */
  border: 0;
}

.waveBefore::before,
.waveAfter::after {
  content: "";
  position: absolute;
  left: 0px;
  width: 100%;
  height: 2.8vw;
  z-index: 40;
  background-color: white;
  mask-repeat: no-repeat;
  mask-size: calc(100% + 16px);
  pointer-events: none;
}

.googleMapsMap::before,
.googleMapsMap::after {
  z-index: 100000 !important;
}

.googleMapsMap .waveWalker {
  z-index: 100001;
}

.waveBefore::before {
  top: -1px;
  mask-position: top;
  mask-image: url("data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8'%3f%3e%3csvg style='transform: scale(-1,-1);' id='Layer_2' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6760.71 184.07'%3e%3cg%3e%3cg%3e%3cpath d='M0%2c184.07H6760.71V49.08c-511.89%2c80.92-749.55%2c22.66-1118.11%2c.28-281.75-17.12-571.62-14.32-850.83%2c8.15-334.55%2c26.99-665.28%2c82.21-1004.65%2c66.9-232.25-10.53-446.99-53.49-676.2-71.43-576.19-45.01-1174.97%2c71.68-1751.92%2c28.06-228.45-17.28-363.84-39.63-586.7-65.88C549.18-11.01%2c332.67-5.51%2c0%2c49.08V184.07Z' /%3e%3c/g%3e%3c/g%3e%3c/svg%3e");
}

.waveAfter::after {
  bottom: -1px;
  mask-position: bottom;
  mask-image: url("data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8'%3f%3e%3csvg id='Layer_2' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6760.71 184.07'%3e%3cg%3e%3cg%3e%3cpath d='M0%2c184.07H6760.71V49.08c-511.89%2c80.92-749.55%2c22.66-1118.11%2c.28-281.75-17.12-571.62-14.32-850.83%2c8.15-334.55%2c26.99-665.28%2c82.21-1004.65%2c66.9-232.25-10.53-446.99-53.49-676.2-71.43-576.19-45.01-1174.97%2c71.68-1751.92%2c28.06-228.45-17.28-363.84-39.63-586.7-65.88C549.18-11.01%2c332.67-5.51%2c0%2c49.08V184.07Z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e");
}

.waveBefore_dark::before {
  background-color: #121212;
}

.waveAfter_dark::after {
  background-color: #121212;
}

.waveBefore_secondaryDark::before {
  background-color: #242424;
}

.waveAfter_secondaryDark::after {
  background-color: #242424;
}

.waveBefore_lightGrey::before {
  background-color: #F2F2F2;
}

.waveAfter_lightGrey::after {
  background-color: #F2F2F2;
}

.waveBefore_darkGrey::before {
  background-color: #646464;
}

.waveAfter_darkGrey::after {
  background-color: #646464;
}

.waveBefore_attentionLight::before {
  background-color: #E8E9C2;
  color: #283500;
}

.waveAfter_attentionLight::after {
  background-color: #E8E9C2;
  color: #283500;
}

.waveWalker {
  position: absolute;
  z-index: 41;
  font-size: 2.377vw;
  line-height: 1;
}

.waveWalker_color_white {
  color: white;
}

.waveWalker_color_light {
  color: #FFFFFF;
}

.waveWalker_color_dark {
  color: rgba(0, 0, 0, 0.2);
}

.waveWalker_color_lightGrey {
  color: #F2F2F2;
}

.waveWalker_color_darkGrey {
  color: rgba(0, 0, 0, 0.2);
}

.waveWalker_color_attentionLight {
  color: #E8E9C2;
}

.waveWalker_position_before_1 {
  left: 10vw;
  top: -0.95vw;
  rotate: 4deg;
}

.waveWalker_position_before_2 {
  left: 20vw;
  top: -0.4vw;
  rotate: -1deg;
}

.waveWalker_position_before_3 {
  left: 30vw;
  top: -0.83vw;
  rotate: -10deg;
}

.waveWalker_position_before_4 {
  left: 40vw;
  top: -1.64vw;
  rotate: -4deg;
}

.waveWalker_position_before_5 {
  left: 50vw;
  top: -0.9vw;
  rotate: 6deg;
}

.waveWalker_position_before_6 {
  left: 60vw;
  top: -0.45vw;
  rotate: -5deg;
}

.waveWalker_position_before_7 {
  left: 70vw;
  top: -0.95vw;
  rotate: -6deg;
}

.waveWalker_position_before_8 {
  left: 80vw;
  top: -0.9vw;
  rotate: 2deg;
}

.waveWalker_position_before_9 {
  left: 90vw;
  top: 0.2vw;
  rotate: 2deg;
}

.waveWalker_position_after_1 {
  left: 10vw;
  bottom: 2.4vw;
  rotate: 6deg;
}

.waveWalker_position_after_2 {
  left: 20vw;
  bottom: 1.3vw;
  rotate: 2deg;
}

.waveWalker_position_after_3 {
  left: 30vw;
  bottom: 1.5vw;
  rotate: -7deg;
}

.waveWalker_position_after_4 {
  left: 40vw;
  bottom: 2vw;
  rotate: -1deg;
}

.waveWalker_position_after_5 {
  left: 50vw;
  bottom: 1.2vw;
  rotate: 6deg;
}

.waveWalker_position_after_6 {
  left: 60vw;
  bottom: 0.8vw;
  rotate: -6deg;
}

.waveWalker_position_after_7 {
  left: 70vw;
  bottom: 1.7vw;
  rotate: -6deg;
}

.waveWalker_position_after_8 {
  left: 80vw;
  bottom: 2vw;
  rotate: -1deg;
}

.waveWalker_position_after_9 {
  left: 90vw;
  bottom: 1.3vw;
  rotate: 1deg;
}

@media only screen and (max-width: 700px) {
  .waveWalker {
    font-size: 5vw;
  }
  .waveWalker_position_before_1 {
    top: -3.5vw;
  }
  .waveWalker_position_before_2 {
    top: -3vw;
  }
  .waveWalker_position_before_3 {
    top: -3.7vw;
  }
  .waveWalker_position_before_4 {
    top: -4.3vw;
  }
  .waveWalker_position_before_5 {
    top: -3.5vw;
  }
  .waveWalker_position_before_6 {
    top: -3.2vw;
  }
  .waveWalker_position_before_7 {
    top: -3.7vw;
  }
  .waveWalker_position_before_8 {
    top: -3.6vw;
  }
  .waveWalker_position_before_9 {
    top: -2.6vw;
  }
  .teaser {
    font-size: 12px;
    text-transform: unset;
  }
}
.award {
  background-color: #f2f2f2;
  width: fit-content;
  font-size: 16px;
  display: flex;
  padding: 10px 30px 10px 20px;
  align-items: center;
  flex-flow: row nowrap;
  border-radius: 15px;
  font-weight: bold;
  text-align: center;
  gap: 20px;
}

.cart .award {
  background-color: white;
}

.award:hover img {
  filter: brightness(140%);
}

.award img {
  transition: filter 0.25s ease-in-out;
}

@media only screen and (max-width: 600px) {
  .preTitle {
    font-size: 15px;
  }
}
@media (hover: none) {
  .hoverDevices {
    display: none;
  }
}
@media only print {
  body,
  div,
  span,
  h1,
  h2,
  h3 {
    color: #000 !important;
    background-color: #fff !important;
    line-height: 1.1 !important;
  }
  span,
  h1,
  h2 {
    break-inside: avoid;
  }
  .noprint,
  .pageHeader,
  .spaceForHeader,
  .pageFooter {
    display: none;
  }
}
.pageHeader_light {
  background-color: #FFFFFF;
  color: #121212;
}

.pageHeader_dark {
  background-color: #121212;
  color: #FFFFFF;
}

.pageHeader_green {
  background-color: #E8E9C2;
  color: #283500;
}

.header-actions_light {
  color: #121212;
}

.header-actions_dark {
  color: #FFFFFF;
}

.header-actions_green {
  color: #283500;
}

.header-actions_green .icon {
  color: #828100;
}

.spaceForHeader {
  width: 100%;
  height: var(--headerHeight);
}

.skip-to-main-content-link {
  opacity: 0;
  position: absolute;
  top: 0;
}

.skip-to-main-content-link:focus {
  position: absolute;
  top: 54px;
  opacity: 1;
  background-color: white;
}

.pageHeader {
  width: 100%;
  padding: 0 8vw;
  height: var(--headerHeight);
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  font-size: 17px;
  line-height: 1;
  position: fixed;
  top: 0;
  left: 0;
  scroll-behavior: smooth;
  z-index: 100007;
  transition: all ease-in-out 0.2s;
}

.pageHeader .pageHeaderLogo img {
  height: 40px;
  width: 40px;
  transform: translateY(-1px);
  animation: backToNormal 0.2s forwards;
}

@keyframes brightenUp {
  0% {
    filter: brightness(1);
  }
  100% {
    filter: brightness(1.13);
  }
}
@keyframes backToNormal {
  0% {
    filter: brightness(1.13);
  }
  100% {
    filter: brightness(1);
  }
}
.pageHeader .pageHeaderLogo img:hover {
  animation: brightenUp 0.3s forwards;
}

.pageHeader_green .pageHeaderLogo {
  color: #828100;
}

.pageHeader_green .pageHeaderLogo:hover {
  color: #B2B521;
}

.pageHeader .usps {
  margin: 11px 0 0 14px;
  font-size: 13px;
}
@media only screen and (max-width: 1300px) {
  .pageHeader .usps {
    margin-top: 6px;
  }
}
@media only screen and (max-width: 1150px) {
  .pageHeader .usps {
    margin-top: 11px;
  }
}
@media only screen and (max-width: 550px) {
  .pageHeader .usps {
    margin-top: 6px;
  }
}
.pageHeader .usps a {
  position: relative;
  display: inline-block;
}
.pageHeader .usps a:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}
@media only screen and (max-width: 1300px) {
  .pageHeader .usps .sloganSeparator {
    display: none;
  }
}
@media only screen and (max-width: 1150px) {
  .pageHeader .usps .sloganSeparator {
    display: inline;
  }
}
@media only screen and (max-width: 550px) {
  .pageHeader .usps .sloganSeparator {
    display: none;
  }
}
@media only screen and (max-width: 1300px) {
  .pageHeader .usps .slogan {
    display: block;
  }
}
@media only screen and (max-width: 1150px) {
  .pageHeader .usps .slogan {
    display: inline;
  }
}
@media only screen and (max-width: 550px) {
  .pageHeader .usps .slogan {
    display: block;
  }
}

@media only screen and (max-width: 350px) {
  .pageHeader .usps {
    display: none;
  }
}
.pageHeader .menu {
  display: flex;
  flex-flow: row nowrap;
  gap: 26px;
  letter-spacing: 1px;
  justify-content: space-between;
}
.pageHeader .menu li::before {
  content: none !important;
}

.pageHeader .icon {
  width: 16px;
  color: #B2B521;
}

.pageHeader_green .icon {
  color: #828100;
}

.bucketListCounter {
  position: absolute;
  top: 5px;
  left: 0;
  color: #FFFFFF;
  text-align: center;
  font-size: 6px;
  width: 100%;
  font-weight: bold;
  font-family: Verdana, Arial, ui-sans-serif;
}

#menuBucketListCounter {
  top: 5px;
  font-size: 6px;
  left: 1px;
}

.pageHeader .menuItem {
  position: relative;
  text-align: center;
  text-transform: uppercase;
  display: flex;
  flex-flow: row nowrap;
  gap: 4px;
  font-weight: bold;
}

.pageHeader .animateMenu {
  transition: transform ease-in-out 0.35s, opacity ease-in-out 0.35s;
}

.pageHeader .menu .active {
  cursor: default;
}

.pageHeader .title {
  position: relative;
}

.pageHeader .title:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

@media only screen and (min-width: 1151px) {
  .pageHeader_light .title::after,
  .pageHeader_light .usps a::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: #121212;
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
    transform: scaleX(0);
  }
  .pageHeader_dark .title::after,
  .pageHeader_dark .usps a::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: #FFFFFF;
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
    transform: scaleX(0);
  }
  .pageHeader_green .title::after,
  .pageHeader_green .usps a::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: #283500;
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
    transform: scaleX(0);
  }
  .pageHeader .mobileOnly,
  .headerMobileOnly {
    display: none;
  }
  .hideOnLargeScreens {
    display: none;
  }
  .submenu {
    cursor: pointer;
    position: relative;
  }
  .submenu:hover .subitems {
    max-height: 300px;
  }
  .submenu:hover .desktop-destinations {
    max-height: 70vh;
    padding: 10px 15px !important;
    box-shadow: 0 15px 25px -5px rgba(0, 0, 0, 0.15);
  }
  .submenu::after {
    display: none;
  }
  .subitems {
    display: flex;
    position: absolute;
    padding-top: 12px;
    left: -10px;
    flex-flow: column nowrap;
    z-index: 50;
    overflow: hidden;
    max-height: 0;
    transition: max-height ease-in-out 0.35s;
  }
  .subitems .dark a::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: #FFFFFF;
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
    transform: scaleX(0);
    color: #FFFFFF;
  }
  .subitems .green a::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: #283500;
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
    transform: scaleX(0);
    color: #283500;
  }
  .subitems a:hover::after,
  .subitems a .active {
    transform: scaleX(1);
    transform-origin: bottom left;
  }
  .submenu .subitem {
    width: 170px;
    padding: 5px 10px 5px 10px;
    text-align: left !important;
  }
  .submenu .subitem a {
    width: fit-content;
  }
  .submenu .subitem:last-child {
    border-radius: 0 0 12px 12px;
    padding-bottom: 10px;
  }
}
@media only screen and (max-width: 1150px) {
  .pageHeader .desktopOnly,
  .headerDesktopOnly {
    display: none;
  }
  .pageHeader {
    font-size: 11px;
    letter-spacing: 0;
    height: var(--headerHeightMobile);
  }
  .spaceForHeader {
    height: var(--headerHeightMobile);
  }
  .pageHeader .menu {
    width: 100%;
    padding: 4px 0 4px;
    gap: 0;
  }
  .pageHeader .menu li::before {
    content: none !important;
  }
  .pageHeader .title {
    letter-spacing: 0.9px;
  }
  .pageHeader .icon {
    font-size: 24px;
    margin-bottom: 5px;
    width: unset;
  }
  .pageHeader .menuItem {
    flex-flow: column nowrap;
    text-transform: capitalize;
    font-weight: bold;
    gap: 0;
  }
  .subitems {
    display: none;
  }
  .pageHeader .title::after {
    display: none;
  }
  #menuBucketListCounter {
    top: 8px;
    font-size: 7px;
    left: 0;
  }
}
@media only screen and (max-width: 470px) {
  .hideOnSmallScreens {
    display: none;
  }
}
@media only screen and (max-width: 420px) {
  .pageHeader .mobileOnly {
    display: none;
  }
}
@media only screen and (max-width: 350px) {
  .pageHeader .title {
    display: none;
  }
}
@media only screen and (max-width: 1150px) {
  .hideOnMobile {
    display: none !important;
  }
}

.mobile-header-actions {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-left: auto;
  padding-right: 60px;
  position: absolute;
  right: 5vw;
  top: 0;
  height: var(--headerHeightMobile);
  z-index: 100009;
}
.mobile-header-actions .icon {
  color: #B2B521;
}
@media only screen and (min-width: 1151px) {
  .mobile-header-actions {
    display: none;
  }
}

.hamburger-toggle {
  background-color: transparent;
  background-image: url("/CONTENT/fixedsize/hamburger_background.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  border: none;
  width: 45px;
  height: 45px;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 3.5px;
  cursor: pointer;
  z-index: 100010;
  position: fixed;
  top: 17.5px;
  right: 5vw;
  padding: 0;
}
@media only screen and (min-width: 1151px) {
  .hamburger-toggle {
    display: none !important;
  }
}
.hamburger-toggle .hamburger-line {
  width: 16px;
  height: 2px;
  background: #ffffff;
  transition: transform 0.25s ease-in-out, opacity 0.2s ease-in-out;
  transform-origin: center;
  border-radius: 1px;
}
.hamburger-toggle.is-active .hamburger-line:nth-child(1) {
  transform: translateY(5.5px) rotate(45deg);
}
.hamburger-toggle.is-active .hamburger-line:nth-child(2) {
  opacity: 0;
}
.hamburger-toggle.is-active .hamburger-line:nth-child(3) {
  transform: translateY(-5.5px) rotate(-45deg);
}

.mobile-menu-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: 85vw;
  max-width: 400px;
  height: 100dvh;
  background: #E8E9C2;
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease-in-out;
  z-index: 100008;
  color: #121212;
  box-shadow: none;
  /* Hide shadow when closed to prevent bleeding */
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
@media only screen and (min-width: 1151px) {
  .mobile-menu-panel {
    display: none;
  }
}
.mobile-menu-panel.is-open {
  transform: translateX(0);
  box-shadow: -5px 0 25px rgba(0, 0, 0, 0.5);
}
.mobile-menu-panel .fontAwesome {
  color: #828100;
}
.mobile-menu-panel .lightred {
  color: rgba(250, 60, 35, 0.75);
}
.mobile-menu-panel .lightred .fontAwesome {
  color: inherit;
}

.mobile-menu-topbar {
  display: none;
}

.mobile-menu-content {
  padding: 0 0 20px 0;
  /* Space for hamburger now covered by topbar */
  display: flex;
  flex-direction: column;
}

.mobile-nav-list {
  list-style: none;
  padding: 0 20px;
  margin: 0;
}
.mobile-nav-list li::before {
  content: none !important;
}
.mobile-nav-list > li {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.mobile-nav-list > li:has(details) {
  border-bottom: none;
}
.mobile-nav-list > li > a,
.mobile-nav-list .mobile-menu-summary > span:first-child {
  position: relative;
  display: inline-block;
}
.mobile-nav-list > li > a::after,
.mobile-nav-list .mobile-menu-summary > span:first-child::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #121212;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
  transform: scaleX(0);
}
.mobile-nav-list > li > a:hover::after,
.mobile-nav-list .mobile-menu-summary > span:first-child:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}
.mobile-nav-list .mobile-menu-summary > span:first-child::after {
  bottom: -15px;
}
.mobile-nav-list > li > a {
  color: #121212;
  font-size: 1.1rem;
  padding: 15px 0;
  text-decoration: none;
  border-bottom: none;
  font-weight: bold;
}

/* Native <details> Accordion Styling */
.nav-destinations-details > summary,
.mobile-menu-details > summary {
  list-style: none;
  /* Safari */
}
.nav-destinations-details > summary::-webkit-details-marker,
.mobile-menu-details > summary::-webkit-details-marker {
  display: none;
}
.nav-destinations-details[open] > summary .chevron,
.mobile-menu-details[open] > summary .chevron {
  transform: rotate(180deg);
}

.nav-destinations-details[open] > summary {
  background-color: #E8E9C2 !important;
  font-weight: bold !important;
  border-radius: 12px 12px 0 0;
}

.dark .nav-destinations-details[open] > summary {
  background-color: #242424 !important;
}

.nav-destinations-summary,
.mobile-menu-summary {
  position: sticky;
  z-index: 50;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-weight: bold;
}
.nav-destinations-summary.is-stuck,
.mobile-menu-summary.is-stuck {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.nav-destinations-summary .chevron,
.mobile-menu-summary .chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: transform 0.3s ease;
  font-size: 0.9rem;
  color: #B2B521;
}

/* Mobile specific overrides */
.mobile-menu-details > .nav-destinations-summary, .mobile-menu-details > .mobile-menu-summary {
  background: #E8E9C2;
  color: #121212;
  font-size: 1.1rem;
  padding: 15px 42px 15px 20px;
  margin: 0 -20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.mobile-menu-details > .nav-destinations-summary.is-stuck, .mobile-menu-details > .mobile-menu-summary.is-stuck {
  box-shadow: none;
}
.mobile-menu-details > .nav-destinations-summary .chevron, .mobile-menu-details > .mobile-menu-summary .chevron {
  position: absolute;
  right: 42px;
  top: 50%;
  margin-top: calc(-0.45em - 6px);
}
.mobile-menu-details .nav-submenu .nav-destinations-summary {
  padding: 4px 42px 4px 35px !important;
  margin: 0 -20px 0 -35px;
  position: sticky;
}
.mobile-menu-details .nav-submenu .nav-destinations-summary.is-stuck {
  box-shadow: none !important;
}
.mobile-menu-details .nav-submenu .nav-destinations-summary .chevron {
  position: absolute;
  right: 26px;
  top: 50%;
  margin-top: calc(-0.45em - 7px);
}
.mobile-menu-details .nav-submenu .explore-all > a {
  padding: 6px 20px !important;
  margin: 4px -20px 8px -20px;
}
.mobile-menu-details .nav-submenu .nav-destinations-details[open] > .nav-destinations-summary {
  background-color: #F2F3DE !important;
  border-radius: 12px 12px 0 0 !important;
  box-shadow: none !important;
  width: auto !important;
  margin: 0 42px 0 -20px !important;
  padding-left: 20px !important;
}
.mobile-menu-details .nav-submenu .nav-destinations-details[open] > .nav-destinations-summary .chevron {
  right: 19px;
}

/* Desktop specific overrides */
.desktop-destinations {
  width: 180px;
  padding: 0 15px !important;
  max-height: 0;
  border-radius: 0 0 12px 12px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  box-shadow: none;
  transition: width 0.35s ease-in-out, max-height 0.35s ease-in-out, box-shadow 0.35s ease-in-out, padding 0.35s ease-in-out;
}
.desktop-destinations:has(details[open]) {
  width: 250px;
}
.desktop-destinations.light {
  background-color: #FFFFFF;
}
.desktop-destinations.dark {
  background-color: #121212;
}
.desktop-destinations.green {
  background-color: #E8E9C2;
}
.desktop-destinations.light .nav-destinations-summary {
  background-color: #FFFFFF;
}
.desktop-destinations.dark .nav-destinations-summary {
  background-color: #121212;
}
.desktop-destinations.green .nav-destinations-summary {
  background-color: #E8E9C2;
}
.desktop-destinations .nav-destinations-summary {
  width: calc(100% + 30px) !important;
  padding: 5px 35px 5px 15px !important;
  margin: 0 -15px 0 -15px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  position: sticky;
  display: block !important;
  font-size: 14px;
  top: -10px;
  /* Offset the container padding to stick perfectly to the top edge */
  cursor: pointer;
}
.desktop-destinations .nav-destinations-summary::after {
  display: none !important;
}
.desktop-destinations .nav-destinations-summary .continent-name {
  position: relative;
}
.desktop-destinations .nav-destinations-summary:hover .continent-name::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}
.desktop-destinations.light .continent-name::after, .desktop-destinations.light .nav-submenu li > a::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #121212;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
  transform: scaleX(0);
}
.desktop-destinations.dark .continent-name::after, .desktop-destinations.dark .nav-submenu li > a::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #FFFFFF;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
  transform: scaleX(0);
}
.desktop-destinations.green .continent-name::after, .desktop-destinations.green .nav-submenu li > a::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #283500;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
  transform: scaleX(0);
}
.desktop-destinations.green .chevron {
  color: #828100;
}
.desktop-destinations .nav-destinations-summary .chevron {
  color: #B2B521;
  cursor: pointer;
  position: absolute;
  right: 15px;
  top: 50%;
  margin-top: calc(-0.45em - 5px);
}
.desktop-destinations .nav-destinations-summary .chevron .fontAwesome {
  width: 0.8em;
  height: 0.8em;
}
.desktop-destinations.dark .explore-all > a {
  background-color: rgba(255, 255, 255, 0.08);
}
.desktop-destinations > .nav-destinations-list {
  padding: 0 !important;
}
.desktop-destinations .nav-submenu li > a {
  padding: 4px 0 !important;
  font-size: 13px !important;
  width: fit-content;
  display: inline-block;
  position: relative;
}
.desktop-destinations .nav-submenu li > a:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

/* Submenu animation */
.nav-submenu {
  list-style: none !important;
  padding: 0 0 0 15px;
  margin: 0;
  /* Nested submenu (e.g., country lists inside a continent submenu) */
}
.nav-submenu li {
  margin-top: 2px;
  /* Set first-level (continents/submenu items) margin-top */
  padding-left: 0;
  list-style: none !important;
  background-image: none !important;
}
.nav-submenu li > a {
  display: inline-block;
  padding: 6px 0;
  /* Restored first-level links spacing */
  color: inherit;
  text-decoration: none;
  font-size: 1rem;
}
.nav-submenu .explore-all > a {
  background-color: rgba(0, 0, 0, 0.04);
  padding: 6px 12px !important;
  border-radius: 6px;
  margin: 4px 0 8px -12px;
  display: inline-block;
  font-weight: 600;
}
.nav-submenu .explore-all > a::after {
  display: none !important;
}
.nav-submenu .nav-destinations-summary {
  font-size: 1rem;
  padding: 8px 0;
  /* Restored first-level summaries (continents) spacing */
  border-bottom: none;
  font-weight: normal;
  color: inherit;
}
.nav-submenu .nav-destinations-summary .chevron .fontAwesome {
  width: 0.8em;
  height: 0.8em;
}
.nav-submenu .nav-submenu {
  padding-left: 10px;
}
.nav-submenu .nav-submenu li {
  margin-top: 0;
  padding-left: 0;
  list-style: none !important;
  background-image: none !important;
}
.nav-submenu .nav-submenu li a {
  padding: 4px 0 !important;
  font-size: 0.95rem !important;
}
.nav-submenu .nav-submenu .nav-destinations-summary {
  padding: 4px 15px 4px 25px !important;
}
.nav-submenu .nav-submenu .explore-all > a {
  padding: 4px 10px !important;
  margin: 4px 0 6px -10px;
}

.nav-destinations-details[open] .nav-submenu {
  animation: slideDownMobile 0.3s ease-in-out forwards;
}

@keyframes slideDownMobile {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.mobile-menu-footer {
  margin-top: auto;
  padding: 30px 20px 20px;
}
.mobile-menu-footer .newsletter-signup {
  margin-bottom: 25px;
  background: rgba(255, 255, 255, 0.45);
  /* Distinct glassmorphism card */
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 14px;
  padding: 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}
.mobile-menu-footer .newsletter-signup::before {
  content: "STAY IN TOUCH";
  display: block;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #828100;
  margin-bottom: 10px;
  text-transform: uppercase;
}
.mobile-menu-footer .social-icons a {
  color: #121212;
  font-size: 1.5rem;
  transition: color 0.2s;
}
.mobile-menu-footer .social-icons a:hover {
  color: #B2B521;
}
.mobile-menu-footer .mobile-legal-links {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  font-size: 0.925rem;
  text-align: center;
  color: rgba(18, 18, 18, 0.6);
  line-height: 1.5;
}
.mobile-menu-footer .mobile-legal-links .link {
  cursor: pointer;
  text-decoration: none;
}
.mobile-menu-footer .mobile-legal-links .link:hover {
  color: #121212;
}

.search-box table {
  margin: 0;
  border: 0;
}

.search-box td {
  border: 0;
  padding: 0;
  height: 36px;
}

.search-box .gsc-input-box {
  padding-top: 0;
}

.search-box table:first-child tr td:first-child div:first-child {
  padding-left: 15px !important;
}

.search-box table:first-child tr td:nth-child(2) {
  padding-left: 1px !important;
}

.search-box input,
.search-box input:active,
.search-box input:focus {
  background-color: white;
}

.search-box .gsc-search-button-v2 {
  height: 100%;
}

.search-results {
  position: relative;
  background-color: #FFFFFF;
  min-height: 100vh;
  padding: 5% 8% 10% 8%;
}

.search-results .gsc-above-wrapper-area {
  display: none;
}

.search-results .gs-title,
.search-results .gs-title b {
  font-size: 18px !important;
}

.search-results .gsc-result {
  padding: 25px 0 !important;
}

.search-results .gsc-cursor-box {
  display: none;
}

.search-results .gcsc-find-more-on-google-root {
  display: none;
}

.pageFooter {
  width: 100%;
  padding: 2% 8% 0;
  background-color: #646464;
  color: #FFFFFF;
  font-size: 15px;
}

.newsletterIntro {
  font-size: 13px;
  margin-bottom: 15px;
}

.newsletterSignupContainer {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  width: 440px;
  max-width: 100%;
  font-size: 24px;
  position: relative;
  margin-bottom: 20px;
  line-height: 1.3;
  cursor: pointer;
  padding-right: 5px;
}

.newsletterSignupContainer::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #C4C4C4;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
  transform: scaleX(0);
  transform: scaleX(1);
  transform-origin: bottom left;
}

.newsletterSignupContainer::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #FFFFFF;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
  transform: scaleX(0);
}

.newsletterSignupContainer:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.newsletterSignupButton {
  margin-bottom: 0.5rem;
}

.pageFooter .columns {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  column-gap: 50px;
}

.pageFooter .rightColumn {
  max-width: 100%;
}

.pageFooter .allContinents {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.pageFooter .menu {
  margin-bottom: 60px;
}

.pageFooter .countryList,
.pageFooter .menu {
  display: flex;
  flex-flow: column nowrap;
  text-align: left;
  row-gap: 6px;
}

.pageFooter .menuItem {
  display: flex;
  flex-flow: row nowrap;
  gap: 12px;
}

.pageFooter .icon {
  display: block;
  color: #B2B521;
  width: 12px;
  text-align: left;
}

.pageFooter .social {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
  font-size: 40px;
  gap: 15px;
}

.pageFooter .social a img {
  transition: all ease-in-out 0.35s;
}

.pageFooter .social a img:hover {
  -webkit-filter: brightness(120%);
  filter: brightness(120%);
}

.pageFooter .countryList {
  width: 210px;
  margin-bottom: 40px;
}

.pageFooter .countryList h3 {
  margin: 0;
  padding: 0;
}

.pageFooter .countryList h3 + a {
  margin-top: 8px;
}

.pageFooter .header {
  display: inline-block;
  font-weight: bold;
  padding-top: 8px;
  padding-bottom: 12px;
  font-size: 23px;
}

.pageFooter .header::after {
  bottom: 9px;
}

.pageFooter a,
.pageFooter .link,
.lastLine a,
.lastLine .link {
  width: fit-content;
  cursor: pointer;
}

.lastLine {
  padding: 10px 8%;
  background-color: #555555;
  color: #FFFFFF;
  font-size: 15px;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  column-gap: 54px;
}

.fixedAtBottom {
  position: fixed;
  bottom: 0;
  width: 100%;
}

@media only screen and (max-width: 1300px) {
  .pageFooter .allContinents {
    flex-direction: column;
  }
  .pageFooter {
    padding: 30px 8% 0;
  }
}
@media only screen and (max-width: 410px) {
  .lastLine {
    font-size: 14px;
  }
}
@media only screen and (max-width: 935px) {
  .lastLine {
    justify-content: center;
  }
}
@media only screen and (max-width: 500px) {
  .newsletterSignupContainer {
    font-size: 18px;
  }
  .newsletterIntro {
    font-size: 10px;
  }
}
@media only screen and (max-width: 780px) {
  .pageFooter .columns {
    flex-direction: column-reverse;
  }
  .pageFooter .social {
    justify-content: start;
  }
  .pageFooter .rightColumn {
    margin-bottom: 40px;
  }
}
button,
input[type=button],
input[type=submit] {
  border: 1px solid transparent;
}

button {
  position: relative;
}

.cta_button {
  display: inline-block;
  background-color: transparent;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 3px;
  height: 40px;
  line-height: 40px;
  text-transform: uppercase;
  border-radius: 100rem;
  padding: 0 36px;
  transition-property: color, box-shadow, background-color, outline-color, text-shadow;
  transition-timing-function: cubic-bezier(0.5, 0, 0, 1);
  transition-duration: 0.3s;
  text-align: center;
  align-self: flex-start;
  overflow: hidden;
}

.cta_button:hover {
  cursor: pointer;
}

.attentionLight .cta_button {
  background-color: #fffff1;
  color: #283500;
}

.cta_button_white {
  background-color: #FFFFFF !important;
  color: #121212;
}

.cta_button_attention {
  background-color: #B2B521 !important;
  color: #FFFFFF;
}

.cta_button_black {
  background-color: #121212 !important;
  color: #FFFFFF;
}

.cta_button::after {
  display: none;
}

.cta_button_light {
  color: #FFFFFF;
  box-shadow: inset 0 0 0 1px #FFFFFF;
}

.cta_button_dark {
  color: #121212;
  box-shadow: inset 0 0 0 1px #121212;
}

.cta_button_green {
  color: #393a00;
  background-color: #E8E9C2;
  box-shadow: none;
}

.cta_button_orange {
  color: white;
  background-color: #f39c12 !important;
  box-shadow: none;
}

.cta_button_clicked,
.cta_button_clicked:focus,
.cta_button_clicked:active,
.cta_button_clicked:hover {
  background-color: white !important;
  color: #121212 !important;
  padding: 0 4px;
  overflow: hidden;
  transition: none !important;
}

.cta_button_clicked::before {
  display: none;
}

.cta_button .buttonText {
  display: block;
  margin: auto;
}

.cta_button .buttonText,
.cta_button::before {
  transition: all 0.55s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.cta_button:hover .buttonText {
  transform: translateY(-26px);
  opacity: 0;
}

.cta_button::before {
  content: attr(data-text);
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  opacity: 0;
}

.cta_button:hover::before {
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
}

/* On Click: Loader Spinner */
.cta_button.loading {
  pointer-events: none;
  /* Disable clicks */
  transition: none !important;
}

.cta_button.loading::before {
  content: "";
  top: 50%;
  left: 50%;
  width: 24px;
  height: 24px;
  border: 2px solid rgba(255, 255, 255, 0.9);
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  opacity: 1;
  transition: none !important;
}

.cta_button.loading span {
  visibility: hidden;
  /* Hide the original text */
  transition: none !important;
}

/* Spinner Animation */
@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.actionButton {
  display: grid;
  grid-template-columns: 100px 1fr 100px;
  /* First and last columns are 100px, middle column is flexible */
  min-height: 100px;
  width: 400px;
  max-width: 90%;
  margin: 0 auto;
  border-radius: 10px;
  transition: all 0.2s ease-in-out;
}

.actionButton .travelguideprice {
  font-weight: bold;
  font-family: verdana, sans-serif;
  font-size: 14px;
}

.actionButton::after {
  display: none;
}

.actionButton .buttonIcon {
  border-radius: 10px 0 0 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 30px;
  background-color: #B2B521;
  color: #FFFFFF;
}

.actionButton .buttonTitle {
  background-color: #E8E9C2;
  color: #121212;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  font-size: 18px;
  font-weight: bold;
}

.actionButton.whiteButton .buttonTitle {
  background-color: #FFFFF1;
  color: #283500;
}

.actionButton.whiteButton .buttonArrow {
  background-color: #FFFFF1;
  color: #283500;
}

.actionButton .buttonArrow {
  border-radius: 0 10px 10px 0;
  background-color: #E8E9C2;
  color: #121212;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 30px;
}

.actionButton:hover,
.actionButton:visited {
  color: white;
}

.actionButton:hover {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.5);
}

.inlineButton {
  display: inline-flex;
  transition: 0.3s ease-in-out;
  padding: 0;
  margin: 0;
  overflow: visible;
  font-size: 100%;
  line-height: 1.15;
}

.inlineButton .icon {
  margin-right: 15px;
}

.inlineButton .icon,
.inlineButton .icon svg {
  width: 19px;
  height: 19px;
}

.inlineButton .label {
  font-size: 17px;
}

.chevron {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  transform-origin: center;
  transition: all ease-out 0.3s;
  cursor: auto;
}

.chevron,
.chevron svg {
  height: 24px;
  width: 24px;
}

.mirrored {
  transform: rotate(180deg);
}

.switch {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 17px;
}

.toggle {
  display: flex;
}

.switch .slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #B2B521;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 17px;
}

.switch .slider:before {
  position: absolute;
  content: "";
  height: 13px;
  width: 13px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 50%;
}

.switch .selected:before {
  -webkit-transform: translateX(13px);
  -ms-transform: translateX(13px);
  transform: translateX(13px);
}

@media only screen and (max-width: 800px) {
  .cta_button {
    letter-spacing: 1.8px;
  }
  .inlineButton .icon,
  .inlineButton .icon svg {
    width: 14px;
    height: 14px;
    margin-top: -1px;
    padding-bottom: 0;
  }
  .inlineButton .label {
    font-size: 15px;
  }
}
@media only screen and (max-width: 450px) {
  .actionButton {
    grid-template-columns: 85px 1fr 70px;
    min-height: 85px;
  }
  .actionButton .buttonIcon {
    font-size: 26px;
  }
  .actionButton .buttonTitle {
    font-size: 16px;
  }
}
.form {
  display: flex;
  flex-flow: column nowrap;
  gap: 20px;
}

.form input,
.form input:active,
.form input:focus,
.form textarea,
.form textarea:active,
.form textarea:focus,
.form select,
.form select:active,
.form select:focus {
  width: 100%;
  background-color: #F2F2F2;
  color: #121212;
  padding: 10px 15px;
  line-height: 1;
  border: 1px solid transparent;
  outline: 0;
  border-radius: 10px;
}

.form input[type=checkbox] {
  width: fit-content;
  margin-right: 10px;
}

.form input:active,
.form input:focus,
.form textarea:active,
.form textarea:focus {
  border-color: #B2B521;
}

.form .cta_button {
  margin-top: 20px;
}

.form .cta_button:hover {
  background-color: black;
  color: white;
}

.form .disclaimer {
  font-size: 17px;
}

.newsletterSignupForm {
  font-size: 16px;
}
.newsletterSignupForm .disclaimer {
  font-size: 15px !important;
}

select,
select:focus {
  padding: 0;
  margin: 0;
  font-family: inherit;
  line-height: inherit;
  appearance: none;
  font-size: inherit;
  color: inherit;
  background-color: inherit;
  border: none;
  outline: none;
}

select:hover {
  cursor: pointer;
}

.selectWithChevron {
  position: absolute;
  width: 100%;
  z-index: 2;
}

.selectWithChevron option {
  background-color: #B2B2B2;
}

.selectWrapper {
  position: relative;
  height: 26px;
  cursor: pointer;
  padding-bottom: 2px;
  margin-bottom: 6px;
}

.countrySelector {
  width: 210px;
  position: relative;
  color: #393a00;
  height: 40px;
  overflow: hidden;
}

.countrySelector .chevron {
  z-index: 20;
  top: 8px;
  right: 7px;
  color: #393a00;
}

.countrySelector:hover .chevron {
  top: 12px;
}

.countrySelector .selectWithChevron {
  font-weight: bold;
  text-align: center;
  text-align-last: center;
  background-color: #E8E9C2;
  border-radius: 100rem;
  height: 40px;
  font-size: 14px;
  letter-spacing: 2.5px;
}

.niet_tonen {
  position: fixed;
  left: -100%;
  top: -100%;
  min-height: 59px;
  width: 100%;
  font-size: 18px;
}

.newsletter_send_form {
  padding: 5%;
  min-height: calc(100vh - 80px);
}

.editLocationForm {
  background-color: rgba(0, 0, 255, 0.2);
  margin: 20px 8%;
  padding: 20px;
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
}

.editLocationForm input {
  border-radius: 10px;
  margin: 0 15px 0 0;
}

.formTitle {
  font-size: 30px;
  font-weight: bold;
}

form.feedback {
  width: 100%;
}

form.feedback .question {
  font-weight: bold;
  font-family: "DM Serif Display";
  font-size: 20px;
  margin-top: 30px;
}

form.feedback input {
  border: 1px solid #DDD;
  width: 100%;
  border-radius: 8px;
  background-color: rgba(232, 233, 194, 0.4588235294);
}

form.feedback select {
  border: 1px solid #DDD;
  width: 100%;
  padding: 5px;
  margin: 10px 0;
  border-radius: 8px;
  background-color: rgba(232, 233, 194, 0.4588235294);
}

form .cta_button {
  position: relative;
}

@media only screen and (max-width: 800px) {
  .countrySelector .selectWithChevron {
    letter-spacing: 1.8px;
  }
}
@media only screen and (min-width: 1001px) {
  .selectWrapper::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: #B2B521;
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
    transform: scaleX(0);
  }
  .selectWrapper:hover::after {
    transform: scaleX(1);
    transform-origin: bottom left;
  }
}
ul,
ol {
  list-style: none;
  padding: 0;
  margin: 0 0 0 25px;
}

ul li::before {
  content: "•";
  /* Standard bullet, but highly customized */
  color: #777916;
  /* Use your brand accent color here */
  font-weight: bold;
  font-size: 1.2rem;
  position: absolute;
  left: -20px;
  top: -1px;
}

.highlightList ul,
.highlightList ol {
  list-style: "⭐";
}

.costList ul,
.costList ol {
  list-style: "💰";
}

.safetyList ul,
.safetyList ol {
  list-style: "⚠️";
}

ul ul,
ol ol {
  margin-left: 40px;
  list-style: square;
}

ul ul ul,
ol ol ol {
  margin-left: 60px;
  list-style: square;
}

li {
  padding-left: 10px;
  margin-top: 10px;
  position: relative;
}

.accordion_panel li {
  padding-bottom: 0;
}

.accordion_panel ul {
  margin: 15px 0;
  list-style-position: outside;
}

.story li {
  padding-bottom: 10px;
}

li h3 {
  display: inline-block;
  font-family: unset;
  font-weight: bold;
  font-size: unset;
  margin: unset;
}

.default-popup-background {
  position: fixed;
  /* Stay in place */
  z-index: 100004;
  /* Sit on top */
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.7);
  pointer-events: none;
  /* ensures modal doesn't block clicks for the page under it when popup isn't shown */
  opacity: 0;
  transition: all 0.1s ease-out;
  /* closing transition since opening transition is overwritten */
}

.default-popup-background-youtube {
  background-color: #121212;
}

.default-popup-background-visible {
  pointer-events: auto;
  opacity: 1 !important;
  transition: all 0.3s ease-out;
  /* opening transition */
}

.default-popup {
  width: 90%;
  max-width: 610px;
  background-color: #FFFFFF;
  position: absolute;
  top: 50%;
  left: 50%;
  max-height: 80vh;
  overflow-x: hidden;
  overflow-y: auto;
  /* Enable scroll if needed */
  border-radius: 15px;
  transform: translate(-50%, -40%) scale(0.8);
  transition: all 0.1s ease-in-out;
  /* closing transition since opening transition is overwritten */
}

.default-popup-visible {
  transform: scale(1) translate(-50%, -50%);
  transition: all 0.3s ease-in-out;
  /* opening transition */
}

.default-popup-youtube {
  width: 95vw;
  height: 95vh;
  max-height: calc(53.4375vw + 46px);
  max-width: calc((95vh - 46px) / 9 * 16);
  overflow-y: hidden;
}

.default-popup-youtube iframe {
  width: 95vw;
  height: calc(95vh - 46px);
  max-height: 53.4375vw;
  max-width: calc((95vh - 46px) / 9 * 16);
}

.long-text-in-popup {
  max-width: 800px;
}

.default-popup-title {
  width: 100%;
  line-height: 1.1;
  padding: 10px 5px 10px 5%;
  /* use a larger left padding for centering the title (compensating for the x-icon at the right).*/
  color: #FFFFFF;
  background-color: rgb(148, 151, 27);
  font-size: 24px;
  position: sticky;
  top: -1px;
  font-weight: bold;
}

.default-popup-message {
  width: 100%;
  padding: 5%;
}

.default-popup a {
  cursor: pointer;
}

.default-popup .cta_bar {
  display: flex;
  flex-flow: row wrap;
  justify-content: left;
  column-gap: 50px;
  row-gap: 20px;
  align-items: center;
}

/* The Close Button */
.default-popup-close {
  color: #FFFFFF;
  float: right;
  margin-right: 5%;
  font-size: 28px;
  margin-top: 5px;
  position: sticky;
  top: -3px;
  line-height: 1;
  z-index: 101;
}

.default-popup-close:hover,
.default-popup-close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

.default-popup-youtube .default-popup-title {
  padding-left: 15px;
}
.default-popup-youtube .default-popup-message {
  padding: 0;
}
.default-popup-youtube .default-popup-close {
  margin-right: 15px;
}

.default-popup hr {
  background-color: rgba(255, 255, 255, 0.85);
  width: 75%;
  margin: 10px auto 25px;
}

.explanation_popup {
  margin: 0 10%;
  text-align: left;
}

.explanation_popup li {
  margin-bottom: 5px;
}

.explanation_popup a {
  color: inherit;
  text-decoration: underline;
}

.explanation_popup ol {
  margin: 0 0 20px 0;
}

.sharePage {
  font-size: 16px;
  font-weight: normal;
  vertical-align: text-top;
  color: #B2B521;
  cursor: pointer;
}

.sharePage:hover {
  color: #777916;
}

.followMe,
.shareIcons {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  row-gap: 30px;
  margin-top: 28px;
}

.followMe {
  column-gap: 75px;
}

.shareIcons {
  column-gap: 40px;
}

.followMe .item,
.shareIcons .item {
  width: 65px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  text-align: center;
  font-size: 14px;
}

.followMe .item img:hover {
  -webkit-filter: brightness(120%);
  filter: brightness(120%);
}

.followMe .icon,
.shareIcons .icon {
  width: 65px;
  height: 65px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 11px;
  margin: 0 auto 4px;
  color: white;
  font-size: 40px;
}

.shareIcons .icon:hover {
  filter: brightness(120%);
  -webkit-filter: brightness(120%);
}

.shareIcons .twitterIcon:hover {
  background-color: #444444;
}

.shareIcons img {
  height: 37px;
}

.newsletterIcon {
  background-color: #B2B521;
  background-image: conic-gradient(from 45deg, rgb(148, 151, 27), #d5d728, rgb(148, 151, 27));
  font-size: 26px;
}

.facebookIcon {
  background-color: #0765FF;
}

.twitterIcon {
  background-color: #040404;
}

.whatsappIcon {
  background-color: #23D366;
}

.emailIcon {
  background-color: rgba(250, 60, 35, 0.75);
}

.copyIcon {
  background-color: #646464;
}

.newsletterIcon:hover {
  background-image: conic-gradient(from 45deg, #B2B521, #dddf53, #B2B521);
}

@media only screen and (max-width: 1000px) {
  .default-popup-message {
    line-height: 1.15;
  }
}
@media only screen and (max-width: 400px) {
  .default-popup .cta_bar {
    column-gap: 20px;
    justify-content: space-between;
  }
}
.page {
  padding: 0;
  margin: 0;
}

.categoryCards {
  padding: 5%;
  background-color: #121212;
  color: #FFFFFF;
  display: flex;
  flex-flow: row wrap;
  row-gap: 10px;
  --windowMargin: 5vw;
  --boxSpacing: 8px;
  --visibleBlocks: 5;
  --cardWidth: calc((var(--screenWidth) - 2 * var(--windowMargin) - (var(--visibleBlocks) - 1) * var(--boxSpacing)) / var(--visibleBlocks));
  column-gap: var(--boxSpacing);
}

.categoryCard {
  display: flex;
  flex-flow: column nowrap;
  width: var(--cardWidth);
  background-color: rgba(255, 255, 255, 0.065);
  border-radius: 12px;
  transition: all ease-in-out 0.35s;
}

.categoryCard img {
  min-height: calc(0.75 * var(--cardWidth));
  height: calc(0.75 * var(--cardWidth));
  width: 100%;
  object-fit: cover;
  object-position: center;
  transition: all ease-in-out 0.35s;
}

.categoryCard .title {
  font-size: 22px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 12px 6px 8px;
}

.categoryCard .text {
  font-size: 16px;
  padding: 6px;
  opacity: 0.85;
}

.categoryCard:hover {
  background-color: #B2B521;
}

.categoryCard:hover img {
  -webkit-filter: brightness(125%);
  filter: brightness(125%);
}

.monthSelectorsWrapper {
  padding: 0 8% 20px;
  font-size: 24px;
  text-transform: uppercase;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}

.monthSelectorsWrapper .block {
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.08);
  width: 7.7%;
  padding: 1.3vw 0 1.3vw;
  text-align: center;
  border-radius: 12px;
  transition: ease-in-out 0.35s;
}

.monthSelectorsWrapper .block:hover {
  cursor: pointer;
  background-color: #B2B521;
  color: #121212;
  font-weight: bold;
}

.monthSelectorsWrapper .active {
  background-color: #B2B521;
  color: white;
  font-weight: bold;
}

.monthSelectorsWrapper .active:hover {
  background-color: #5e5a10;
}

#monthLinks {
  padding-bottom: 17px;
}

.translations {
  position: relative;
  column-count: 2;
  padding: 5%;
  font-size: 15px;
  line-height: 1;
}

.translations .translationSection {
  position: relative;
  z-index: 1;
  font-weight: bold;
  font-size: 17px;
  margin: 20px 0 10px;
}

.translations .firstSection {
  margin-top: 0 !important;
}

.translations .translatedItem {
  position: relative;
  z-index: 1;
  display: flex;
  flex-flow: row wrap;
  padding-bottom: 7px;
}

.translations .english {
  width: 50%;
  padding-right: 5px;
}

.translations .translation {
  width: 50%;
  font-style: italic;
}

.mistakeSpotted {
  background-color: rgba(0, 0, 0, 0.05);
  padding: 15px 5%;
  border-radius: 15px;
  font-size: 15px;
  margin-top: 10px;
  cursor: pointer;
}

@media only screen and (max-width: 1000px) {
  .categoryCards {
    --visibleBlocks: 4;
  }
}
@media only screen and (max-width: 800px) {
  .categoryCards {
    --visibleBlocks: 3;
  }
}
@media only screen and (max-width: 600px) {
  .categoryCards {
    --visibleBlocks: 2;
  }
}
@media only screen and (max-width: 400px) {
  .categoryCards {
    --visibleBlocks: 1;
  }
}
@media only screen and (max-width: 900px) {
  .monthSelectorsWrapper {
    font-size: 17px;
  }
}
@media only screen and (max-width: 500px) {
  .monthSelectorsWrapper {
    flex-wrap: wrap;
    row-gap: 10px;
  }
  .monthSelectorsWrapper .block {
    width: 15.4%;
  }
  .translations {
    padding: 10% 8%;
    font-size: 12px;
  }
}
.textAndContent {
  width: 100%;
  min-height: 100vh;
  min-height: 100svh;
  padding-bottom: 100px;
  display: flex;
  flex-wrap: nowrap;
  position: relative;
}

.singleTitle {
  width: 100%;
  padding: 0 8%;
  background-color: #121212;
  color: #FFFFFF;
  font-size: 34px;
  font-weight: 700;
  margin-bottom: -2.3vw;
}

@media only screen and (max-width: 1000px) {
  .singleTitle {
    font-size: 24px;
  }
}
.textAndContent h1,
.textAndContent:not(:has(.contentCard)) h2 {
  margin-bottom: 40px;
}

.removeHeaderHeight {
  min-height: calc(100vh - var(--headerHeight));
  min-height: calc(100svh - var(--headerHeight));
}

@media only screen and (max-width: 1000px) {
  .fullHeightOnDesktop {
    min-height: 1px;
  }
}
.textLeft {
  flex-direction: row;
}

.textRight {
  flex-direction: row-reverse;
}

#scrollIndicator {
  position: absolute;
  width: 100%;
  text-align: center;
  letter-spacing: -1px;
}

#scrollIndicator::before {
  animation: bounce 1s ease infinite;
  top: 60px;
  color: #121212;
  content: "╲╱";
  position: absolute;
}

@keyframes bounce {
  50% {
    transform: translateY(-50%);
  }
}
.textAndContentContainer {
  width: 50%;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  position: relative;
}

.textAndContentContainer.bottomAlign {
  justify-content: flex-end;
}

.photoGallery section > div:first-of-type {
  width: 100%;
}

.photoGallery section > div:not(:first-of-type) {
  width: auto;
}

.textAndContentPadding {
  padding: 120px 8% 80px 8%;
}

.photoGallery .textAndContentPadding {
  padding-bottom: 0;
}

.photoGallery .textAndContent {
  padding-bottom: 0;
  min-height: 0;
}

.textAndContent .textBlock {
  position: sticky;
  top: 0px;
  height: 100vh;
  height: 100svh;
  justify-content: space-between !important;
}

.textAndContent h1 span,
.textAndContent h2:not(:has(.preventLineBreaks)) span {
  display: block;
}

.uncoverMore {
  background-color: white;
  padding: 0 8% 5%;
}

.textAndContent .title,
.uncoverMore {
  font-size: 44px;
}

.textAndContent .largeNumber {
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  background-color: #B2B521;
  color: #FFFFFF;
  text-align: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
}

.textAndContent .largeNumber .inner {
  transform: translateY(-3px);
}

.textAndContent .smallFlag {
  display: inline;
  font-size: 1.2em;
  text-shadow: none;
}

.textAndContent .text {
  font-size: 24px;
  margin: 0;
}

.textAndContent #safetyText {
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: break-word;
}

.textAndContent .reasonsToGo {
  padding: 5% 10% 5% 5%;
  width: fit-content;
}

.textAndContent .reasonsToGo span,
.textAndContent .reasonsToGo a,
.textAndContent .reasonsToGo b {
  position: relative;
  z-index: 1;
}

.textAndContent .smallText {
  font-size: 17px;
  margin-top: 30px;
}

.textAndContent .attentionText {
  color: #B2B521;
}

.textAndContent .readMore {
  cursor: pointer;
  color: #777916;
  font-size: smaller;
  font-weight: bold;
  transition: color 0.3s ease;
}

.textAndContent .readMore:hover {
  color: #121212;
}

.textAndContent.darkGrey .readMore {
  color: #B2B521 !important;
}

.textAndContent .tipsReadMore {
  margin: 40px 0 0;
  cursor: pointer;
  transition: opacity ease-in-out 1s;
}

.textAndContent .allCategoriesTitle {
  margin-bottom: -100px;
}

.textAndContent .tipsReadMoreDark:hover .circleIcon {
  fill: #121212;
}

.textAndContent .tipsReadMoreLight:hover .circleIcon {
  fill: #FFFFFF;
}

.textAndContent .titleText {
  font-size: 34px;
  line-height: 1;
}

.textAndContent .noTopMargin {
  margin-top: 0 !important;
}

.textAndContent .noTopPadding {
  padding-top: 0 !important;
}

.textAndContent .buttons {
  display: flex;
  flex-flow: row wrap;
  gap: 20px;
  margin-top: 48px;
  margin-bottom: 20px;
}

.textAndContent .arrowButton {
  position: absolute;
  right: 8%;
  top: 50%;
}

.textAndContent .linkComponentLink {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.textAndContent .linkComponentPreTitle {
  margin-bottom: 5px;
}

.textAndContent .linkComponentTitle {
  font-size: 24px;
}

.textAndContent .linkComponentText {
  font-size: 18px;
  color: #818181;
}

.textAndContentImage {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-height: 50vh;
  margin: auto;
}

.textAndContent img,
.textAndContentImage video {
  max-height: 50vh;
  object-fit: cover;
  object-position: center center;
  margin: 0 auto;
  height: 100%;
  max-width: 100%;
}

.textAndContent video,
.textAndContent .youtube iframe {
  clip-path: inset(2px);
  border-radius: 30px;
}

.textAndContentImage .photoCopyright {
  position: absolute;
  bottom: 0;
  right: 20px;
  padding: 2px 4px;
  background-color: rgba(0, 0, 0, 0.6);
  color: #FFFFFF;
  font-size: 12px;
  border-radius: 5px 5px 0 0;
}

.textAndContent .notification {
  padding: 5%;
  color: #121212;
  font-size: 24px;
  max-width: 460px;
  margin: 30px auto;
}

.textAndContent .information {
  background-color: rgba(178, 181, 33, 0.6);
}

.textAndContent .warning {
  background-color: rgba(250, 60, 35, 0.65);
  color: #FFFFFF;
}

.low_risk {
  background-color: rgba(178, 181, 33, 0.7);
  padding: 0 5px;
}

.medium_risk {
  background-color: rgba(255, 153, 51, 0.7);
  padding: 0 5px;
}

.high_risk {
  background-color: rgba(250, 60, 35, 0.75);
  padding: 0 5px;
}

.textAndContent h3 {
  color: #777916;
  font-weight: bold;
  margin-bottom: 10px;
  font-size: 24px;
}

.textAndContent h3:not(:first-of-type):not(.bestCategories h3) {
  margin-top: 26px;
}

.textAndContent .bestCategories {
  display: flex;
  flex-flow: column nowrap;
  gap: 40px;
  padding: 0 5vw 0 0;
}

.textAndContent .youtube {
  display: flex;
  flex-flow: column nowrap;
}

.textAndContent .youtube iframe {
  margin: auto;
  width: 40vw;
  height: 22.5vw;
}

.textAndContent .youtube .controls {
  width: calc(40vw - 30px);
  margin: 15px auto;
  display: flex;
  flex-flow: row nowrap;
  gap: 10px;
  justify-content: flex-end;
  color: #646464;
}

.textAndContent .youtube .controls:hover {
  color: #B2B521;
  cursor: pointer;
}

.textAndContent .table {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
}

.textAndContent .table .row {
  width: 180px;
  padding-bottom: 50px;
  font-weight: bold;
}

.textAndContent .table .value {
  width: calc(100% - 180px);
  padding-bottom: 25px;
}

.textAndContent .season-toggle {
  font-size: inherit;
  color: inherit;
  cursor: pointer;
}

.textAndContent .season-list {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.7s ease;
}

.buttonsContainer {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  gap: 10px;
}

.buttonsContainer a {
  background-color: #E8E9C2;
  color: #666812;
  border: 1px solid rgba(40, 53, 0, 0.2);
  border-radius: 15px;
  width: 30%;
  height: 10vw;
  min-height: 100px;
  max-height: 150px;
  padding: 5px 10px;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 1.8px;
  transition: all 0.35s ease-in-out;
  font-weight: bold;
}

.buttonsContainer a :nth-child(1) {
  font-size: 34px;
  margin-bottom: 2px;
  transition: transform 0.3s ease-in-out;
}

.buttonsContainer a :nth-child(2) {
  font-size: 18px;
  transition: transform 0.3s ease-in-out;
}

.buttonsContainer a::after {
  display: none;
}

.buttonsContainer a:hover :nth-child(1) {
  transform: translateY(-2px);
}

.buttonsContainer a:hover :nth-child(2) {
  transform: translateY(-1px);
}

.bestKnownFor_long {
  display: inline-block;
}

.bestKnownFor_short {
  display: none;
}

.traveledRoute {
  margin: 40px 3% 0 0;
  padding: 5%;
  border: solid 1px #818181;
  font-size: 17px;
  color: #818181;
}

.allLocations {
  position: relative;
  font-size: 18px;
  padding: 40px 8%;
  display: flex;
  flex-flow: column nowrap;
  row-gap: 18px;
}

.allLocations H3,
.allLocations .message {
  z-index: 1;
}

.allLocations .message {
  padding-left: 22px;
  text-indent: -22px;
  display: flex;
  flex-flow: column nowrap;
  row-gap: 18px;
}

.socials {
  display: flex;
  flex-flow: row nowrap;
  gap: 10px;
}

.socials img {
  height: 20px !important;
  width: auto;
  /* preserves aspect ratio */
  display: block;
  filter: grayscale(100%) contrast(200%);
  transition: filter ease 0.35s;
}

.socials img:hover {
  filter: unset;
}

@media only screen and (max-width: 1200px) {
  .allLocations.noExtraPadding {
    padding: 0;
  }
}
@media only screen and (max-width: 1100px) {
  .buttonsContainer a :nth-child(2) {
    font-size: 14px;
  }
}
@media only screen and (max-width: 1000px) {
  .textAndContent .title,
  .uncoverMore {
    font-size: 30px;
  }
  .textAndContent .allCategoriesTitle {
    margin-bottom: -50px;
  }
  .textAndContent .titleText {
    font-size: 24px;
  }
  .textAndContent .text {
    font-size: 18px;
  }
  .textAndContent {
    min-height: 0;
    padding-bottom: 60px;
  }
  .textAndContentContainer .blocks {
    margin-bottom: -60px;
  }
  .textLeft,
  .textRight {
    flex-direction: column;
  }
  .textAndContentContainer {
    width: 100%;
  }
  .bestCategories h3,
  #route h3 {
    font-size: 20px;
  }
  .desktopOnly {
    display: none;
  }
  .textAndContentPadding {
    padding: 40px 8% 0 8%;
  }
  .textAndContent .arrowButton {
    top: 40px;
  }
  .textAndContentImage {
    padding-top: 20px !important;
  }
  #scrollIndicator {
    display: none;
  }
  .textAndContent .smallText {
    font-size: 13px;
    margin-top: 25px;
  }
  .textAndContent .notification {
    font-size: 18px;
  }
  .textAndContent .youtube {
    display: flex;
    flex-flow: column nowrap;
  }
  .textAndContent .youtube iframe {
    width: 90vw;
    height: 50.625vw;
  }
  .textAndContent .youtube .controls {
    width: calc(90vw - 30px);
  }
  .expandIcon {
    display: none;
  }
  .textAndContent .textBlock {
    position: relative;
    height: fit-content;
  }
}
@media only screen and (max-width: 700px) {
  .buttonsContainer a :nth-child(2) {
    font-size: 12px;
  }
}
@media only screen and (max-width: 450px) {
  .bestKnownFor_long {
    display: none;
  }
  .bestKnownFor_short {
    display: inline-block;
  }
}
.maskedRevealAnimation {
  transform: translateY(40%);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center top;
  -webkit-mask-position: center top;
  mask-size: 100% 0%;
  -webkit-mask-size: 100% 0%;
  mask-image: linear-gradient(black 0%, black 100%);
  -webkit-mask-image: linear-gradient(black 0%, black 100%);
}

.maskedRevealAnimationActive {
  animation: maskedReveal_from_bottom_40 1s ease 0s forwards;
}

@keyframes maskedReveal_from_bottom_40 {
  0% {
    transform: translateY(40%);
    mask-size: 100% 0%;
    -webkit-mask-size: 100% 0%;
  }
  100% {
    transform: translateY(0);
    mask-size: 100% 100%;
    -webkit-mask-size: 100% 100%;
  }
}
@keyframes maskedReveal_from_bottom_10 {
  0% {
    transform: translateY(10%);
    mask-size: 100% 0%;
    -webkit-mask-size: 100% 0%;
  }
  100% {
    transform: translateY(0);
    mask-size: 100% 100%;
    -webkit-mask-size: 100% 100%;
  }
}
.zoomInAnimation {
  transform: scale(0.8);
}

.zoomInAnimationActive {
  animation: zoomIn 1s ease 0s forwards;
}
@keyframes zoomIn {
  0% {
    transform: scale(0.8);
  }
  100% {
    transform: scale(1);
  }
}

.slideInAnimation {
  transform: translateY(100%);
}

.slideInAnimationActive {
  transition: all 0.4s ease-out;
  transform: translateY(0);
}

@media only screen and (max-width: 800px) {
  .maskedRevealAnimation {
    transform: translateY(10%);
  }
  .maskedRevealAnimationActive {
    animation: maskedReveal_from_bottom_10 1s ease 0s forwards;
  }
}
.sticky-buy-button-container {
  position: fixed;
  bottom: 0;
  right: 0;
  width: auto;
  height: auto;
  padding: 8px;
  overflow: hidden;
  z-index: 100001;
  pointer-events: none;
}

.sticky-buy-button {
  position: relative;
  display: inline-block;
  bottom: 0;
  right: 0;
  background-color: #B2B521;
  color: #FFFFFF;
  font-weight: bold;
  text-decoration: none;
  padding: 12px 20px;
  border-radius: 6px;
  transform: translateY(150%);
  transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s ease;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.15); /* tiny shadow on all sides */
  overflow: hidden;
  pointer-events: none;
}

.sticky-buy-button:hover {
  background-color: #E8E9C2;
  color: #777916;
  box-shadow: 0 0 8px rgba(255, 255, 255, 0.15);
}

.sticky-buy-button.show {
  transform: translateY(0);
  pointer-events: auto;
}

/* Tooltip */
.sticky-buy-button-tooltip {
  position: fixed; /* escapes container clipping */
  bottom: 68px;
  right: 8px;
  background-color: #C4C4C4;
  color: #121212;
  font-weight: bold;
  padding: 6px 12px;
  font-size: 14px;
  border-radius: 4px;
  max-width: 90vw;
  opacity: 0;
  transform: translateX(100px);
  transition: opacity 0.35s ease, transform 0.35s ease;
  pointer-events: none;
  z-index: 100002;
}

.sticky-buy-button-container:hover ~ .sticky-buy-button-tooltip {
  opacity: 1;
  transform: translateX(0);
}

@media only screen and (max-width: 800px) {
  .sticky-buy-button {
    font-size: 15px;
  }
  .sticky-buy-button-tooltip {
    bottom: 62px;
  }
}
.shop {
  display: flex;
  flex-flow: row wrap;
  gap: 0.5vw;
  justify-content: center;
}

.shop a {
  width: 11vw;
  text-align: center;
}

.shop a:hover .tile {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.5);
}

.shop .tile {
  width: 100%;
  height: 12vw;
  background-color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 15px;
  transition: all ease-in-out 0.35s;
}

.shop img {
  width: 90%;
  height: 90%;
  object-fit: contain;
  background-color: white;
}

.shop .productText {
  font-size: 14px;
  font-style: italic;
  margin-top: 11px;
}

@media only screen and (max-width: 1300px) {
  .shop a {
    width: 14vw;
  }
  .shop .tile {
    height: 14vw;
  }
}
@media only screen and (max-width: 1000px) {
  .shop a {
    width: 17vw;
  }
  .shop .tile {
    height: 17vw;
  }
}
@media only screen and (max-width: 600px) {
  .shop a {
    width: 29vw;
  }
  .shop .tile {
    height: 29vw;
  }
}
@media only screen and (max-width: 400px) {
  .shop a {
    width: 44vw;
  }
  .shop .tile {
    height: 44vw;
  }
}
.product {
  margin: auto;
  max-width: 250px;
  max-height: 100%;
  text-align: center;
}

.product img {
  transition: filter 0.35s ease-in-out;
  border-radius: 3px 12px 12px 3px;
}

.productTitleContainer {
  width: 100%;
  display: flex;
  justify-content: center;
}

.productTitle {
  position: relative;
  width: fit-content;
  font-size: 17px;
}

.product::after {
  display: none;
}

.product:hover img {
  filter: brightness(115%);
}

.productTitle::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #B2B521;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
  transform: scaleX(0);
  color: #B2B521;
}

.product:hover .productTitle::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.photoHeader {
  width: 100vw;
  height: 50vh;
  background-size: cover;
  background-position: bottom;
}

/* Tooltip container */
.tooltip {
  position: relative;
  display: inline;
}

/* Tooltip text */
.tooltip .tooltiptext {
  visibility: hidden;
  color: #FFFFFF;
  font-size: 14px;
  padding: 2px 5px;
  border-radius: 3px;
  position: absolute;
  z-index: 1;
}

.preTitle .tooltip .tooltiptext {
  font-size: 10px;
}

.tooltip .green {
  background-color: #777916;
}

.tooltip .red {
  background-color: rgba(250, 60, 35, 0.75);
}

.tooltip .showAbove {
  top: -30px;
  right: 0;
}

.tooltip .showAboveRight {
  top: -30px;
  left: 0;
}

.tooltip .showLeft {
  right: 50px;
  top: 0;
}

.tooltip .top3 {
  bottom: 26px;
  left: 20px;
  min-width: 200px;
}

.tooltip .lower {
  top: -20px;
}

.tooltip .showRight {
  left: 45px;
  top: 0;
}

.preTitle .tooltip .showRight {
  left: 22px;
  top: 0;
}

.tooltip .normalTextSize {
  font-size: unset !important;
}

.tooltip .riskTooltip {
  background-color: #777916;
  left: 0;
  width: 275px;
  bottom: 30px;
}

.menuItem .tooltip .showAbove {
  top: -22px;
  right: -44px;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
  visibility: visible;
  font-weight: bold;
}

@media (max-width: 1400px) {
  .tooltip .showRight {
    left: 35px;
  }
  .preTitle .tooltip .showRight {
    left: 22px;
  }
}
@media (max-width: 600px) {
  .tooltip .showRight {
    display: none;
  }
  .preTitle .tooltip .showRight {
    display: block;
  }
  .monthName .tooltip .showRight {
    display: inline-block;
  }
}
.statistics {
  position: relative;
  border-collapse: collapse;
  max-width: 90%;
  margin: 30px auto 30px;
}

.statistics td, .statistics th {
  border: 1px solid #ddd;
  padding: 0 5px;
  text-align: center;
}

.statistics tr {
  background-color: #FFFFFF;
}

.statistics tr:nth-child(even) {
  background-color: #F2F2F2;
}

.statistics tr:hover {
  background-color: #ddd;
}

.statistics tr th:first-child, .statistics tr td:first-child {
  text-align: left;
}

.statistics th {
  position: sticky;
  z-index: 100;
  top: var(--admin-sticky-offset, -1px);
  padding-top: 12px;
  padding-bottom: 12px;
  background-color: #B2B521;
  color: white;
  font-size: 24px;
  line-height: 3px;
}

.statistics .continent {
  background-color: #AAAAAA;
  color: #FFFFFF;
  font-weight: bold;
  text-transform: uppercase;
  text-align: left;
}

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

.labels {
  color: #FFFFFF;
  width: fit-content;
  padding: 0 6px;
  border-radius: 10px;
  margin: auto;
  font-style: normal;
}

.greenlabel {
  background-color: #B2B521;
}

.orangelabel {
  background-color: #FF8B00;
}

.redlabel {
  background-color: #FF2222;
}

.googleMapsMap {
  position: relative;
  width: var(--screenWidth);
  height: calc(100vh - var(--headerHeight));
  height: calc(100svh - var(--headerHeight));
  background-color: #121212;
  color: #FFFFFF;
  display: flex;
  flex-flow: column;
  touch-action: pan-x pan-y;
}

.googleMapsMap .map_div {
  width: 100%;
  height: 100%;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
}

.googleMapsMapInspiration {
  height: 75vw;
  max-height: calc(100vh - var(--headerHeight));
  max-height: calc(100svh - var(--headerHeight));
  min-height: 500px;
}

.hideMap {
  height: 0 !important;
  min-height: 0 !important;
}

.mapWarning {
  padding: 5% 8%;
  background-color: #121212;
  color: #FFFFFF;
}

.googleMapsMap .map {
  flex-grow: 1;
}

.googleMapsMap .selectionFilters {
  position: absolute;
  left: 10px;
  top: calc(2.8vw + 10px);
  display: flex;
  flex-flow: column nowrap;
  gap: 10px;
  font-size: 14px;
  z-index: 20;
}

.googleMapsMapInspiration .selectionFilters {
  right: 60px;
  top: 20px;
  left: unset;
}

.googleMapsMap .mapboxgl-ctrl-top-right,
.googleMapsMap .maplibregl-ctrl-top-right {
  top: 2.8vw;
}

.googleMapsMapInspiration .mapboxgl-ctrl-top-right,
.googleMapsMapInspiration .maplibregl-ctrl-top-right {
  top: calc(2.2vw + 5px);
  right: 10px;
}

@media (hover: none) {
  .mapboxgl-ctrl,
  .maplibregl-ctrl {
    display: none;
  }
  .googleMapsMapInspiration .selectionFilters {
    right: 20px;
  }
}
.googleMapsMap .legenda {
  font-size: 12px;
  min-height: 81px;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  background-color: white;
  color: #121212;
  padding: 0;
  width: fit-content;
}

.mapbox .legenda {
  border-radius: 5px;
  min-height: 0;
}

.mapbox .legendaTitle {
  font-weight: bold;
  cursor: pointer;
  padding: 10px 15px 4px 15px;
  box-sizing: border-box;
}

.mapbox .legendaTitle .filterToggle {
  position: relative;
  top: 0;
  float: right;
  cursor: pointer;
  transition: transform 0.2s ease-in-out, top 0.2s ease-in-out;
}

.mapbox .legendaTitle .filterToggle:hover {
  top: -2px;
}

.googleMapsMap .legenda .items {
  padding-top: 0;
  transition: max-height 0.3s ease-in-out, max-width 0.3s ease-in-out, padding-top 0.3s ease-in-out;
  max-height: 240px;
  max-width: 400px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.googleMapsMap .legenda .legendaGrid {
  display: inline-grid;
  grid-template-columns: repeat(3, auto);
  column-gap: 45px;
  row-gap: 5px;
  width: 100%;
  padding: 6px 15px 12px 15px;
  box-sizing: border-box;
}

.googleMapsMap .legenda .items .icon {
  width: 18px;
  text-align: center;
  margin-right: 12px;
}

.googleMapsMap .legenda .items div:hover {
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.5);
  cursor: pointer;
}

.filter-separator {
  width: 75%;
  height: 1px;
  background-color: #e0e0e0;
  margin: 10px auto;
  border: none;
}

.filter-slider-container {
  width: 100%;
  margin: 0;
  padding: 12px 15px 15px 15px;
  background-color: #F6F6F6;
  box-sizing: border-box;
  border-radius: 0 0 5px 5px;
}
.filter-slider-container .slider-labels {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
  user-select: none;
}
.filter-slider-container .slider-labels .slider-label {
  font-size: 11px;
  font-weight: 800;
  color: #616161;
  text-transform: uppercase;
  cursor: pointer;
  user-select: none;
  transition: color 0.2s ease, transform 0.2s ease;
}
.filter-slider-container .slider-labels .slider-label:hover {
  color: #B2B520;
  transform: scale(1.03);
}
.filter-slider-container .slider-labels .slider-label:active {
  transform: scale(0.97);
}
.filter-slider-container .slider-track-container {
  position: relative;
  height: 20px;
  margin: 0 9px;
  display: flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
  touch-action: none;
}
.filter-slider-container .slider-track-container .slider-track-background {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #F2F2F2;
  border-radius: 2px;
  z-index: 1;
}
.filter-slider-container .slider-track-container .slider-track-fill {
  position: absolute;
  left: 0;
  height: 5px;
  background-color: #E8E9C2;
  border-radius: 3px;
  z-index: 2;
  width: 100%;
  transition: width 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.filter-slider-container .slider-track-container .slider-ticks {
  position: absolute;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  z-index: 3;
  pointer-events: none;
}
.filter-slider-container .slider-track-container .slider-ticks .slider-tick {
  position: relative;
  pointer-events: auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #bdbdbd;
  border: 1px solid #ffffff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  transition: background-color 0.2s ease;
  /* Sleek premium tooltips */
}
.filter-slider-container .slider-track-container .slider-ticks .slider-tick.active {
  background-color: #B2B520;
}
.filter-slider-container .slider-track-container .slider-ticks .slider-tick[data-tooltip] {
  cursor: pointer;
}
.filter-slider-container .slider-track-container .slider-ticks .slider-tick[data-tooltip]::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(-6px) scale(0.8);
  background-color: #B2B520;
  color: #ffffff;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.5px;
  white-space: nowrap;
  z-index: 10;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  text-transform: uppercase;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease-out, transform 0.15s ease-out;
}
.filter-slider-container .slider-track-container .slider-ticks .slider-tick[data-tooltip]::before {
  display: none;
}
.filter-slider-container .slider-track-container .slider-ticks .slider-tick[data-tooltip]:hover::after {
  opacity: 1;
  transform: translateX(-50%) translateY(-6px) scale(1);
}
.filter-slider-container .slider-track-container .slider-ticks .slider-tick[data-tooltip]:hover::before {
  display: none;
}
.filter-slider-container .slider-track-container .slider-ticks .slider-tick[data-index="0"][data-tooltip]::after {
  left: 0;
  transform: translateY(-6px) scale(0.8);
  transform-origin: left bottom;
}
.filter-slider-container .slider-track-container .slider-ticks .slider-tick[data-index="0"][data-tooltip]:hover::after {
  transform: translateY(-6px) scale(1);
}
.filter-slider-container .slider-track-container .slider-ticks .slider-tick[data-index="4"][data-tooltip]::after {
  left: auto;
  right: 0;
  transform: translateY(-6px) scale(0.8);
  transform-origin: right bottom;
}
.filter-slider-container .slider-track-container .slider-ticks .slider-tick[data-index="4"][data-tooltip]:hover::after {
  transform: translateY(-6px) scale(1);
}
.filter-slider-container .slider-track-container .slider-gripper {
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #E8E9C2;
  border: 2px solid #B2B520;
  z-index: 4;
  cursor: grab;
  transform: translate(-50%);
  box-shadow: none;
  transition: left 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
  outline: none;
  box-sizing: border-box;
}
.filter-slider-container .slider-track-container .slider-gripper:hover {
  transform: translate(-50%) scale(1.1);
  box-shadow: none;
}
.filter-slider-container .slider-track-container .slider-gripper:active {
  cursor: grabbing;
  transform: translate(-50%) scale(1.1);
}
.filter-slider-container .slider-track-container .slider-gripper:focus-visible {
  box-shadow: 0 0 0 3px rgba(232, 233, 194, 0.4);
}

.bottomspace {
  position: relative;
  background-color: #121212;
  height: 55px;
  width: 100%;
}

@media only screen and (max-width: 500px) {
  .googleMapsMap .legenda .legendaGrid {
    grid-template-columns: repeat(2, auto);
    column-gap: 15px;
  }
}
.map_marker {
  z-index: 10;
  padding: 5px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.01);
  pointer-events: auto;
  touch-action: none;
}

.map_marker:has(.unique_site) {
  z-index: 16;
}

.map_marker:has(.region) {
  z-index: 15;
}

.map_marker:has(.city) {
  z-index: 14;
}

.map_marker:has(.national_park) {
  z-index: 13;
}

.map_marker:has(.beach) {
  z-index: 12;
}

.map_marker:has(.hike) {
  z-index: 11;
}

.map_marker:has(.festival) {
  z-index: 10;
}

.map_marker:has(.attraction) {
  z-index: 10;
}

.location_of_page {
  z-index: 20 !important;
}

.map_marker .icon {
  z-index: 2;
  position: relative;
  height: 30px;
  width: 30px;
  border-radius: 50%;
  color: #FFFFFF;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  transition: all 0.2s ease-in-out;
  border: 1px solid rgba(255, 255, 255, 0.5);
  cursor: pointer;
}

.map_marker.unique_site .icon {
  background-color: var(--color-unique_site);
}

.map_marker.region .icon {
  background-color: var(--color-region);
}

.map_marker.city .icon {
  background-color: var(--color-city);
}

.map_marker.town .icon {
  background-color: var(--color-town);
}

.map_marker.village .icon {
  background-color: var(--color-village);
}

.map_marker.national_park .icon {
  background-color: var(--color-national_park);
}

.map_marker.beach .icon {
  background-color: var(--color-beach);
}

.map_marker.hike .icon {
  background-color: var(--color-hike);
}

.map_marker.festival .icon {
  background-color: var(--color-festival);
}

.map_marker.attraction .icon {
  background-color: var(--color-attraction);
}

.legenda .icon.unique_site {
  color: var(--color-unique_site);
}
.legenda .icon.region {
  color: var(--color-region);
}
.legenda .icon.city {
  color: var(--color-city);
}
.legenda .icon.town {
  color: var(--color-town);
}
.legenda .icon.village {
  color: var(--color-village);
}
.legenda .icon.national_park {
  color: var(--color-national_park);
}
.legenda .icon.beach {
  color: var(--color-beach);
}
.legenda .icon.hike {
  color: var(--color-hike);
}
.legenda .icon.festival {
  color: var(--color-festival);
}
.legenda .icon.attraction {
  color: var(--color-attraction);
}
.legenda.partial-filter .icon:not(.active) {
  color: #121212 !important;
}

.flying .icon {
  scale: 2;
  border-radius: 50%;
  background-color: white !important;
  color: #121212;
}

.flying .popup {
  display: none;
}

.location_of_page .icon {
  scale: 2;
}

.location_of_page .details .cta_button {
  display: none;
}

.map_marker .popup {
  z-index: 1;
  display: none;
  flex-flow: row nowrap;
  position: absolute;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  padding: 0;
  max-width: calc(100vw - 20px);
  overflow: hidden;
  background-color: #FFFFFF;
  color: #121212;
  border-radius: 8px;
  box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.2);
}

.map_marker.highlight .popup {
  display: flex;
}

.map_marker .popup .photo {
  width: 125px;
  height: 170px;
}

.map_marker .popup .photo img {
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  object-position: center center;
}

.map_marker .popup .photoCopyright {
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translate(18px) rotate(-90deg);
  transform-origin: left bottom;
  background-color: rgba(0, 0, 0, 0.6);
  color: rgba(255, 255, 255, 0.8);
  font-size: 10px;
  padding: 3px 4px 0;
  border-radius: 0 0 4px 0;
}

.map_marker .details {
  padding: 15px;
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  max-width: min(100vw - 20px - 125px, 400px);
}

.map_marker .details .preTitle {
  font-size: 12px;
  display: block;
  margin-bottom: 8px;
}
.map_marker .details .preTitle .ratingStars {
  font-size: 14px;
  color: #777916;
  margin-left: 8px;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  gap: 1px;
  transform: translateY(-3px);
}

.popularityLabel {
  background-color: #787915;
  /* Default darkgreen background used elsewhere */
  color: #ffffff;
  font-size: 10px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  white-space: nowrap;
  line-height: 1;
  text-transform: none;
  /* Keep the emoji and case intact */
}

.popularityLine {
  margin-top: 6px;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.popularityText {
  font-size: 11px;
  font-weight: 600;
  color: #4a4a4a;
}

.rankBadge {
  display: inline-flex;
  width: fit-content;
  background-color: #E8E9C2;
  color: #393a00;
  font-size: 10px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 4px;
  margin-top: 6px;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1.2;
}

.map_marker .typeAddition {
  text-transform: capitalize;
}

.map_marker .details .title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 15px;
}

.map_marker .details .cta_button {
  margin-top: 25px;
  padding: 0 32px;
  font-size: 12px;
  height: 32px;
  line-height: 32px;
}

.map_marker .details .cta_button_clicked,
.map_marker.highlight .details .cta_button_clicked:focus,
.map_marker.highlight .details .cta_button_clicked:active,
.map_marker.highlight .details .cta_button_clicked:hover {
  padding: 4px 4px 0;
}

@font-face {
  font-family: "Twemoji Country Flags";
  src: url("/CONTENT/fonts/TwemojiCountryFlags/TwemojiCountryFlags.woff2") format("woff2"), url("/CONTENT/fonts/TwemojiCountryFlags/TwemojiCountryFlags.woff") format("woff");
  font-display: block;
  unicode-range: U+1F1E6-1F1FF, U+1F3F4, U+E0062-E0063, U+E0065, U+E0067, U+E006C, U+E006E, U+E0073-E0074, U+E0077, U+E007F;
}
.tooltipTitle {
  font-family: "DM Serif Display", serif;
  font-size: 22px;
}

.flagEmoji {
  font-family: "Twemoji Country Flags";
}

.googleGeoChartMap {
  width: var(--screenWidth);
  padding: 0 0 150px;
  background-color: #121212;
  color: #FFFFFF;
  position: relative;
}

.googleGeoChartMap .title {
  padding: 0 8% 3%;
  font-size: 44px;
  font-family: "DM Serif Display", "Verdana", "Arial", "sans-serif";
}

.googleGeoChartMap.homePage .title {
  padding-top: calc(2.8vw + 5%);
}

.googleGeoChartMap .text {
  padding: 0 50% 60px 8%;
}

.googleGeoChartMap .compareButton {
  margin: 30px auto 0;
  display: none;
  width: fit-content;
}

.googleGeoChartMap .carouselWrapper {
  padding-bottom: 0;
}

.geoChartSelectors {
  padding: 0 8%;
  display: flex;
  flex-flow: column nowrap;
  overflow: hidden;
}

.geoChartSelectors .selectWrapper {
  width: 200px;
}

.checkboxWrapper {
  position: relative;
}

.checkboxOptions {
  display: none;
  position: absolute;
  top: 1px;
  left: 215px;
  justify-content: flex-start;
  flex-flow: row wrap;
}

.checkbox {
  margin-right: 30px;
}

.clickToCollapseArea {
  position: absolute;
  left: 215px;
  top: -33px;
  width: calc(90vw - 215px);
  height: 120px;
}

.geoChartMap {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  width: 100vw;
  min-height: min(611px, 61.555vw);
}
.geoChartMap svg path:hover,
.geoChartMap svg circle:hover {
  cursor: pointer !important;
}

.geoChartMap .accentedLabel {
  color: #777916;
  font-weight: bold;
}

.countryScore {
  position: absolute;
  top: 5px;
  right: 5px;
  background-color: #B6C602;
  color: white;
  font-weight: bold;
  padding: 3px 4px;
  border-radius: 5px;
  text-align: center;
}

@media only screen and (max-width: 1000px) {
  .googleGeoChartMap .text {
    padding: 0 8% 60px 8%;
  }
}
@media only screen and (min-width: 901px) {
  .geoChartSelectors .mobileOnly {
    display: none;
  }
}
@media only screen and (max-width: 900px) {
  .googleGeoChartMap {
    padding: 0 0 40px;
  }
  .googleGeoChartMap .title {
    font-size: 30px;
  }
  .checkboxOptions {
    position: relative;
    left: 0;
    width: 215px;
    flex-flow: column nowrap;
    margin-bottom: 10px;
  }
  .clickToCollapseArea {
    top: 0;
    height: 100%;
  }
}
.filterBar {
  position: sticky;
  top: 0px;
  z-index: 100002;
  height: var(--headerHeight);
  width: 100%;
  padding: 0 8%;
  background-color: white;
  font-size: 16px;
  transition: all ease-in-out 0.2s;
}

.filterBar #bucketListTitle {
  position: absolute;
  left: 8%;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  padding-right: 223px;
}

.filterBar #bucketListLink {
  position: absolute;
  top: 5px;
  right: 8%;
}

.filterBar .selectionFilters {
  padding-top: 32px;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

.filterBar .selectWrapper {
  width: 175px;
  padding-bottom: 0;
  margin-bottom: 0;
  margin-right: 49px;
}

.filterBar .toggle {
  cursor: pointer;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.filterBar .moveUp {
  transform: translateY(-18px);
}

.filterBar .toggle {
  transform: translateY(-10px);
}

@media only screen and (max-width: 1100px) {
  .filterBar .moveUp {
    transform: translateY(0);
  }
  .filterBar .toggle {
    display: none;
  }
}
.continentSelect {
  font-weight: bold;
  letter-spacing: 1.3px;
}

.contentCardFilter {
  cursor: default;
  position: relative;
  width: 215px;
  text-align: right;
  letter-spacing: 1.3px;
}

.contentCardFilter #filter {
  font-weight: bold;
}

.contentCardFilter #filter .number_of_filters {
  background-color: #B2B521;
  color: white;
  padding: 1px 8px;
  border-radius: 18px;
  font-weight: bold;
}

.contentCardFilter .filters {
  position: absolute;
  top: 20px;
  right: -2px;
  background-color: white;
  z-index: 50;
  overflow: hidden;
  max-height: 0;
  transition: max-height ease-in-out 0.35s;
  text-align: left;
  border-radius: 12px;
  padding: 0 0 0 15px;
}

.contentCardFilter .filterColumns {
  display: flex;
  flex-flow: row nowrap;
  padding-top: 8px;
}

.contentCardFilter .howdoesitwork {
  margin-bottom: 15px;
  cursor: pointer;
}

.contentCardFilter .filter {
  width: 100%;
  background-color: #C4C4C4;
  background-color: white;
  padding: 5px 0;
  text-align: left !important;
  position: absolute;
  z-index: 2;
  background-color: transparent;
}

.contentCardFilter .filter a {
  width: fit-content;
}

.contentCardFilter .filter:last-child {
  border-radius: 0 0 12px 12px;
  padding-bottom: 10px;
}

.extraBlocks {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.7s ease;
}

.contentCards {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  width: 100%;
  padding: 5% 8%;
  min-height: 40vh;
  background-color: #FFFFFF;
  overflow: hidden;
  transition: max-height 0.35s ease-out, min-height 0.35s ease-out;
  scroll-margin-top: 80px;
}

.textAndContentContainer .contentCards {
  padding: 0;
}

.contentCard {
  position: relative;
  overflow: hidden;
  height: 320px;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  background-color: #F2F2F2;
  border-radius: 30px;
  transition: background-color ease-in-out 0.3s, height ease-in-out 0.35s;
  width: 100%;
}

.textAndContentContainer .contentCard {
  height: 200px;
}

.contentCard:not(.hiddenCard) {
  margin-bottom: 50px;
}

.contentCards .hiddenCard {
  max-height: 0;
  margin-bottom: 0;
}

.contentCard:hover {
  background-color: #E0E0E0;
}

.contentCard .ratingNumber {
  position: absolute;
  top: 20px;
  left: 12px;
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  background-color: #B2B521;
  color: #FFFFFF;
  text-align: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  font-family: "Plus Jakarta Sans", "Verdana", "Arial", "sans-serif";
  font-size: 40px;
  transform: translateY(-10px);
}

.contentCard .ratingNumber .inner {
  transform: translateY(-3px);
}

.contentCard .ratingNumber .scorePercentage {
  display: inline-flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  font-size: 11px;
  line-height: 1.1;
  font-weight: bold;
}

.contentCard .imgContainer {
  flex: 1;
  overflow: hidden;
}

.contentCard .image {
  width: 100%;
  min-width: 100px;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  border-radius: 30px 0 0 30px;
  -webkit-filter: brightness(110%);
  filter: brightness(110%);
  transition: filter 0.3s ease, transform 0.3s ease;
}

.contentCard:hover img {
  filter: brightness(1.25);
  transform: scale(1.05);
}

.hotelCards .image {
  flex: 2;
}

.contentCard .photoCopyright {
  position: absolute;
  bottom: 20px;
  left: 0;
  transform: translate(19px) rotate(-90deg);
  transform-origin: left bottom;
  background-color: rgba(0, 0, 0, 0.6);
  color: #FFFFFF;
  font-size: 12px;
  padding: 2px 4px;
  border-radius: 0 0 4px 4px;
}

.contentCard .content {
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  flex: 2;
  padding: 2% 0 2% 5%;
}

.hotelCards .content {
  padding: 5% 0 5% 5%;
}

.contentCard .title_and_text {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.contentCard .title {
  font-size: 34px;
  padding-bottom: 30px;
  vertical-align: middle;
  line-height: 0.9;
  margin-top: 8px;
}

.textAndContentContainer .contentCard .title {
  font-size: 24px;
  padding-bottom: 10px;
}

.contentCard .subTitle {
  font-size: 15px;
  text-transform: uppercase;
}

.contentCard .text {
  font-size: 18px;
  line-height: 1.3;
  overflow: hidden;
}

.textAndContentContainer .contentCard .text {
  font-size: 17px;
}

.content .countryIntroContainer {
  position: relative;
}

.contentCard .content .gradient_layer {
  position: absolute;
  display: none;
  bottom: 0;
  width: 100%;
  height: 100px;
  background-image: linear-gradient(rgba(242, 242, 242, 0), rgb(242, 242, 242));
}

.contentCard:hover .content .gradient_layer {
  display: none;
}

.best_visited_for {
  font-size: 14px;
  margin-top: 20px;
  opacity: 1;
  transition: opacity ease-in-out 0.35s;
}

.contentCard .actions {
  padding: 2% 2% 2% 0;
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
}

.hotelCards .actions {
  justify-content: center;
}

.contentCard .arrow {
  width: 41px;
  height: 41px;
  margin: 2%;
}

.contentCard .search_flight_and_hotel {
  color: #B2B521;
  text-align: center;
}

.contentCard .search_flight_and_hotel:hover {
  color: #777916;
}

.contentCards .letter {
  width: 100%;
  height: 0;
  scroll-margin-top: 80px;
}

.alphabet {
  position: absolute;
  left: 0;
  right: 0;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
}

.alphabet div {
  width: 20px;
  text-align: center;
  padding-top: 2px;
}

.alphabet div:not(.inactive):hover {
  background-color: rgba(178, 181, 33, 0.3);
  cursor: pointer;
  font-weight: bold;
}

.alphabet .world {
  font-size: 12px;
  color: #B2B521;
}

.alphabet .world:hover {
  color: #777916;
}

.alphabet .inactive {
  color: lightGrey;
}

.alphabet .inview:not(.inactive) {
  background-color: rgba(178, 181, 33, 0.3);
}

@media only screen and (max-width: 1100px) {
  .alphabet {
    transform: translateY(30px);
  }
  .filterBar .selectWrapper {
    margin-right: 0;
  }
  .filterBar .selectionFilters {
    padding-top: 13px;
  }
  .filterBar #bucketListLink {
    display: none;
  }
}
.arrow {
  float: right;
  margin-right: -4%;
  cursor: pointer;
}

.preferenceTitle {
  font-size: 48px;
}

@media only screen and (min-width: 1001px) {
  .contentCards .mobileOnly {
    display: none;
  }
}
@media only screen and (max-width: 1500px) {
  .contentCard .content .gradient_layer {
    height: 30px;
  }
}
@media only screen and (max-width: 1400px) {
  .contentCard:not(.hiddenCard) {
    height: 280px;
  }
  .contentCard .title {
    font-size: 24px;
    padding-bottom: 15px;
  }
  .contentCard .text {
    font-size: 17px;
    line-height: 1.1;
  }
  .best_visited_for {
    margin-top: 10px;
  }
}
@media only screen and (max-width: 800px) {
  .contentCard:not(.hiddenCard) {
    gap: 10px;
    margin-bottom: 16px;
  }
  .contentCard .arrow {
    display: none;
  }
  .contentCard .search_flight_and_hotel {
    display: none;
  }
  .bucketListEmptyMessage {
    width: 100%;
  }
  .contentCard .title_and_text {
    margin: 3%;
  }
  .preferenceTitle {
    font-size: 33px;
  }
  .hotelCards .content {
    padding: 2% 0 4% 1.5%;
  }
}
@media only screen and (max-width: 700px) {
  .filterBar #bucketListLink {
    display: none;
  }
  .best_visited_for .label {
    display: none;
  }
  .hotelCards .contentCard .best_visited_for {
    display: block;
  }
  .contentCard:not(.hiddenCard) {
    height: 200px;
  }
  .contentCard .ratingNumber {
    top: 18px;
    left: 7px;
    font-size: 35px;
    height: 39px;
    width: 39px;
  }
  .contentCard .ratingNumber .scorePercentage {
    font-size: 10px;
  }
}
@media only screen and (max-width: 500px) {
  .filterBar #bucketListTitle {
    font-size: 7.5vw;
    padding-right: 200px;
  }
  .contentCard:not(.hiddenCard) {
    height: 180px;
  }
  .contentCard .text {
    font-size: 15px;
  }
}
@media only screen and (max-width: 480px) {
  .selectionFilters {
    font-size: 13px;
  }
  .filterBar .selectWrapper {
    width: 160px;
  }
  .contentCardFilter {
    width: 175px;
  }
  .contentCardFilter .filters {
    top: 40px;
  }
  .filterBar {
    height: 78px;
  }
  .filterBar .selectionFilters {
    padding-top: 16px;
  }
  .filterBar #bucketListTitle {
    padding-right: 160px;
  }
}
@media only screen and (max-width: 380px) {
  .contentCardFilter .filters {
    flex-direction: column;
  }
  .filterBar #continentSelectWrapper {
    display: none;
  }
  .filterBar .selectionFilters {
    justify-content: right;
  }
}
.heartOnHover {
  display: none;
}

.addtobucketList:hover .heart {
  display: none;
}

.addtobucketList:hover .heartOnHover {
  display: inline;
}

.bucketListEmptyMessage {
  width: 40%;
}

#bucketListMessage {
  padding: 30px 8%;
}

#bucketListMessage > div {
  position: relative;
  max-width: 532px;
}

#bucketListMessage > div .content {
  z-index: 2;
  position: relative;
  padding: 8%;
}

#bucketListMessage > div .content > div {
  padding-bottom: 10px;
  font-weight: bold;
}

#bucketListMessage p:not(:last-child) {
  margin-bottom: -5px;
}

@media (hover: hover) and (pointer: fine) {
  .heartBeat {
    cursor: pointer;
  }
  @keyframes grow_and_shrink {
    0% {
      transform: scale(1);
    }
    50% {
      transform: scale(1.1);
    }
    100% {
      transform: scale(1);
    }
  }
  .heartBeat:hover {
    animation: grow_and_shrink 1s infinite;
  }
}
.swipeContainer {
  height: 100%;
  width: 100%;
  position: relative;
}

.swipeContainer .swipeBlock {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  transition: transform 1s ease-out;
}

.swipeContainer .left {
  transform: translateX(-100%);
}

.swipeContainer .middle {
  transform: translateX(0);
}

.swipeContainer .right {
  transform: translateX(100%);
}

/* Next & previous areas */
.swipeContainer .previous,
.swipeContainer .next {
  z-index: 10;
  opacity: 1;
  /* 2 transparant planes covering both halfs of the screen */
  position: absolute;
  top: 0;
  height: 100%;
  width: 50%;
}

.swipeContainer .previous {
  left: 0;
}

.swipeContainer .next {
  right: 0;
}

.swipeContainer .previous:hover {
  cursor: url("/CONTENT/arrow-left.png"), auto;
}

.swipeContainer .next:hover {
  cursor: url("/CONTENT/arrow-right.png"), auto;
}

.photoSlider {
  position: relative;
  height: 50vw;
  min-height: 40vh;
  max-height: 70vh;
  max-height: 70svh;
  background-color: #121212;
  color: #FFFFFF;
  text-shadow: 0 0 4px rgb(0, 0, 0);
  overflow-x: hidden;
}

.bordered {
  width: 98%;
  margin: 0 1%;
  border-radius: 5vw;
}

.fullWidth {
  width: 100%;
  margin: 0;
}

.photoSlider .introText {
  position: absolute;
  z-index: 20;
  width: 438px;
  top: 5vw;
  right: 5vw;
  padding: 15px;
  color: #121212;
  font-size: 20px;
  text-shadow: none;
}

.paintedBackground {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #E8E9C2;
  border-radius: 30px;
  z-index: 0;
}

.paintedBackground svg {
  display: none;
}

.introText_title {
  margin-bottom: 5px;
  font-size: 30px;
  position: relative;
  z-index: 1;
}

.introText_text {
  font-family: "Plus Jakarta Sans", "Verdana", "Helvetica", "Arial", "sans-serif";
  font-size: 15px;
  letter-spacing: 0.5px;
  line-height: 1.1;
  position: relative;
  z-index: 1;
}

.photoSlider .photoCopyright {
  position: absolute;
  bottom: 0;
  right: 5vw;
  background-color: rgba(0, 0, 0, 0.6);
  color: #FFFFFF;
  font-size: 12px;
  text-shadow: none;
  padding: 2px 4px;
  border-radius: 4px 0 0 0;
}

.photoSlider .photoCopyright a:visited,
.photoSlider .photoCopyright a:focus {
  color: inherit;
}

.photoSlider .previousButton,
.photoSlider .nextButton {
  position: absolute;
  height: fit-content;
  bottom: 0;
  padding: 0 0 5% 0;
  z-index: 11;
  cursor: pointer;
}

.photoSlider .previousButton {
  right: calc(8% + 60px);
}

.photoSlider .nextButton {
  right: 8%;
}

.photoSlider .icon,
.photoSlider .icon svg {
  display: block;
  width: 41px;
  height: 41px;
}

.photoSlider .blockContent {
  height: 100%;
  width: 100%;
  position: absolute;
  background-position: center center;
  background-size: cover;
  padding: 8% 8% 5%;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-end;
}

.photoSlider .backgroundImage {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.photoSlider .spaceForActionButton {
  padding-bottom: calc(5% + 80px) !important;
}

.photoSlider .cta_button {
  background-color: white;
  color: #121212;
  text-shadow: 0 0 0;
  box-shadow: 0 0 0;
  border: none;
  z-index: 11;
  display: flex;
  width: fit-content;
  position: absolute;
  left: 8%;
  bottom: 0;
  margin-bottom: 5%;
  opacity: 1;
  transition: opacity 0.15s ease-in-out;
}

.photoSlider .cta_button:hover {
  text-shadow: none;
}

.photoSlider h1 span,
.photoSlider h2 span {
  display: block;
}

.photoSlider .preTitle {
  font-size: 17px;
  line-height: 1;
  position: relative;
  opacity: 1;
}

.photoSlider .title {
  font-weight: bold;
  font-size: 48px;
  line-height: 1.25;
  margin: 0;
  position: relative;
}

.photoSlider .flag {
  display: inline;
  font-size: 0.7em;
  text-shadow: none;
}

.photoSlider .smallFlag {
  display: inline;
  font-size: 1.2em;
  text-shadow: none;
}

.photoSlider .unescologo {
  height: 31px;
  transform: translateY(2px);
  margin-right: 10px;
}

.photoSlider .text {
  font-size: 18px;
  font-family: "Plus Jakarta Sans", "Verdana", "Helvetica", "Arial", "sans-serif";
  line-height: 1;
  padding-right: 28%;
  position: relative;
}

.photoSlider .noscript {
  position: absolute;
}

@media only screen and (max-width: 1000px) {
  .photoSlider .introText {
    font-size: 18px;
  }
  .introText_title {
    font-size: 18px;
  }
}
@media only screen and (max-width: 900px) {
  .photoSlider .title {
    line-height: 1.1;
    font-size: 40px;
  }
  .photoSlider .previousButton {
    right: calc(8% + 50px);
  }
  .photoSlider .text {
    padding-right: 100px;
  }
}
@media only screen and (max-width: 700px) {
  .bordered {
    width: 96%;
    margin: 0 2%;
  }
}
@media only screen and (max-width: 600px) {
  .photoSlider {
    text-shadow: 0 0 2px rgb(0, 0, 0);
  }
  .photoSlider .preTitle {
    margin: 0 0 6px;
    font-size: 14px;
  }
  .photoSlider .title {
    margin: 0 0 6px;
    line-height: 1;
    font-size: 25px;
  }
  .photoSlider .preTitle,
  .photoSlider .title {
    transition: left 1.3s, padding 1.3s, opacity 1.8s;
  }
  .photoSlider .icon,
  .photoSlider .icon svg {
    width: 30px;
    height: 30px;
  }
  .photoSlider .previousButton {
    display: none;
  }
  .photoSlider .text {
    padding-right: 40px;
  }
  .photoSlider .unescologo {
    height: 19px;
    transform: translateY(0px);
    margin-right: 5px;
  }
  .photoSlider .cta_button {
    height: 33px;
    line-height: 33px;
    padding: 0 16px;
    font-size: 10px;
  }
  .photoSlider .spaceForActionButton {
    padding-bottom: calc(5% + 50px) !important;
  }
}
@media only screen and (max-width: 1100px) {
  .photoSlider .introText {
    display: none;
  }
}
.photoGallery {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 14px;
}

.photosTitle {
  font-size: 40px;
  max-width: 40vw;
  margin-bottom: 40px;
}

@media only screen and (max-width: 1000px) {
  .photosTitle {
    font-size: 30px;
    max-width: 100vw;
    margin-bottom: 10px;
  }
}
.fullHeightOnDesktop {
  min-height: 100vh;
  min-height: 100svh;
}

@media only screen and (max-width: 1000px) {
  .fullHeightOnDesktop {
    min-height: unset;
  }
}
.photoGalleryContainer {
  --padding: 14px;
  --numberOfImagesOnARow: 4;
  --totalSpace: calc((var(--numberOfImagesOnARow) - 1) * var(--padding));
  --imageWidth: calc((100% - var(--totalSpace))/var(--numberOfImagesOnARow));
  width: var(--imageWidth);
}

.photoGalleryContainer .thumbnail {
  --aspectRatio: 0.75;
  width: 100%;
  height: 0;
  padding-bottom: calc(100% * var(--aspectRatio));
  position: relative;
  overflow: hidden;
  border-radius: 6px;
}

.photoGalleryContainer .thumbnail img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: 0.3s ease-in-out;
  -webkit-filter: brightness(110%);
  filter: brightness(110%);
}

.photoGalleryContainer img:hover {
  cursor: zoom-in !important;
  transform: scale(1.1);
  -webkit-filter: brightness(125%);
  filter: brightness(125%);
}

.photoGalleryContainer .photoTitle {
  line-height: 1;
  font-size: 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 8px 10px;
  text-align: center;
}

.creator {
  margin-top: 20px;
}

.creator a {
  color: #B2B521;
  font-weight: bold;
  cursor: pointer;
}

.modal .countryOfPhoto {
  color: #B2B521;
}

#instagramGallery {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

#instagramGallery img {
  width: 540px;
  padding: 3px;
}

.noscrolling {
  overflow: hidden;
}

@media only screen and (max-width: 1284px) {
  .noscrolling {
    position: fixed;
  }
}
@media only screen and (max-width: 1700px) {
  .photoGalleryContainer {
    --numberOfImagesOnARow: 3;
  }
}
@media only screen and (max-width: 1200px) {
  .photoGalleryContainer {
    --numberOfImagesOnARow: 2;
  }
}
@media only screen and (max-width: 500px) {
  .photoGalleryContainer {
    --numberOfImagesOnARow: 1;
  }
}
/* The Modal (popup) */
.modal {
  display: none; /* hide popup on pageload */
  flex-flow: column nowrap;
  z-index: 100015; /* ensure popup shows on top of everything including mobile menu */
  position: fixed; /* popup is positioned fixed on screen */
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  background-color: #222222;
  user-select: none;
}

.modal .categories {
  width: 100%;
  text-align: center;
  color: #777;
  font-size: 20px;
  line-height: 1;
  user-select: none;
  padding: 4px 65px 11px 65px;
}

.modal_content {
  height: 100%;
  width: 100%;
  position: relative;
}

.modal .photoTitle {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  background-color: #222222;
  color: #FFFFFF;
  width: fit-content;
  margin: auto;
  z-index: 100016;
  border-radius: 0 0 11px 11px;
  padding: 5px 18px;
  text-align: center;
}

.modal .photoTitle a::after, .modal .photoTitle a:active {
  background-color: #B2B521;
}

.modal .categories .active, .modal .category:hover {
  color: #FFFFFF;
  text-decoration: none;
  cursor: pointer;
}

.modal .controls {
  background-color: #222222;
  position: fixed;
  z-index: 100017;
  right: 0;
  top: 0;
  padding: 10px;
  border-radius: 0 0 0 10px;
  color: #777;
  font-weight: bold;
  line-height: 1;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  row-gap: 20px;
  transition: color ease-in-out 0.35s;
}

/* The Delete Button */
.modal .delete {
  font-size: 30px;
}

/* The Close Button */
.modal .close {
  padding: 0 11px;
  font-size: 60px;
}

.modal .delete:hover, .modal .close:hover, .modal .close:focus {
  color: #B2B521;
  text-decoration: none;
  cursor: pointer;
}

/* Modal Content (everything inside the popup) */
.image_container {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0;
  animation-name: zoom;
  animation-duration: 0.7s;
}

/* The image */
.image_container .photo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 100%;
  max-height: 100%;
  border-radius: 12px !important;
  -webkit-filter: brightness(105%);
}

@media only screen and (max-width: 940px) {
  .modal .categories {
    font-size: 12px;
  }
  .modal .photoTitle {
    font-size: 12px;
    width: 100%;
    padding: 0 65px;
  }
  /* The delete Button */
  .modal .delete {
    font-size: 18px;
  }
  /* The Close Button */
  .modal .close {
    font-size: 40px;
    padding: 0px 5px;
  }
}
.storyGallery {
  position: relative;
  display: flex;
  flex-flow: row nowrap;
  background-color: #121212;
  color: #FFFFFF;
}

.storyGallery .leftContainer {
  position: sticky;
  top: 0px;
  width: 50%;
  display: flex;
  flex-flow: column nowrap;
  align-items: flex-start;
  justify-content: space-between;
  height: 100vh;
  padding: 120px 8% 80px 8%;
}

.storyGallery .leftContainer .title {
  font-size: 40px;
}

.storyGallery .leftContainer .filter {
  font-size: 18px;
}

.storyGallery .rightContainer {
  width: 50%;
  padding-bottom: 80px;
}

.storyGallery .rightContainer a {
  color: #FFFFFF;
}

.storyGallery .rightContainer .image {
  height: 50vh;
  width: 100%;
  object-fit: cover;
  object-position: center center;
}

.storyGallery .rightContainer .text {
  min-height: 50vh;
  padding: 40px 7% 40px 0;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
}

.storyGallery .rightContainer .storyTitle {
  font-size: 40px;
  margin-bottom: 32px;
  transition: transform 0.3s ease-in-out;
}

.storyGallery .rightContainer .storyTitle:focus {
  transform: translateY(-15px);
}

.storyGallery .rightContainer .extract {
  margin-bottom: 32px;
  color: #FFFFFF;
  transition: transform 0.3s ease-in-out;
}

.storyGallery .story {
  display: block;
  overflow: hidden;
  transition: max-height ease-in-out 1s;
}

.storyGallery .story:hover .storyTitle {
  transform: translateY(-15px);
}

.storyGallery .story:hover .extract {
  transform: translateY(-10px);
}

.storyGallery .story:hover .inlineButton {
  transform: translateY(-5px);
}

.storyGallery .story:hover .circleIcon {
  fill: #FFFFFF;
}

.storySelectWrapper {
  width: 185px;
}

@media only screen and (max-width: 800px) {
  .storyGallery {
    flex-flow: column nowrap;
  }
  .storyGallery .leftContainer {
    position: relative;
    width: 100%;
    justify-content: flex-start;
    height: unset;
    padding: 80px 8% 40px 8%;
  }
  .storyGallery .leftContainer .title {
    font-size: 30px;
    margin-bottom: 10px;
  }
  .storyGallery .rightContainer {
    width: 100%;
    padding-bottom: 0;
  }
  .storyGallery .rightContainer .showMore {
    padding: 0 8% 40px 8%;
  }
  .storyGallery .rightContainer .text {
    padding: 80px 8% 40px 8%;
  }
  .storyGallery .rightContainer .storyTitle {
    font-size: 30px;
  }
}
.breadcrumb_wrapper {
  position: sticky;
  top: 0;
  z-index: 100002;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  display: block;
  box-sizing: border-box;
  min-width: 0;
  transition: all ease-in-out 0.2s;
}

.breadcrumb_wrapper.is-scrollable::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: calc(8% + 40px);
  pointer-events: none;
  transition: width ease-in-out 0.2s;
}

.breadcrumb_wrapper.is-scrollable.light::after {
  background: linear-gradient(to right, rgba(244, 244, 244, 0) 0px, #FFFFFF 40px);
}

.breadcrumb_wrapper.is-scrollable.dark::after {
  background: linear-gradient(to right, rgba(18, 18, 18, 0) 0px, #121212 40px);
}

.breadcrumb_wrapper.is-scrollable.white::after {
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0px, #ffffff 40px);
}

.breadcrumb_wrapper.is-scrollable.secondaryDark::after {
  background: linear-gradient(to right, rgba(40, 40, 40, 0) 0px, #242424 40px);
}

.breadcrumb_wrapper.is-scrollable.lightGrey::after {
  background: linear-gradient(to right, rgba(248, 248, 248, 0) 0px, #F2F2F2 40px);
}

.breadcrumb {
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: 10px;
  box-sizing: border-box;
  min-width: 0;
  padding: 10px calc(8% + 40px) 10px 8%;
  font-size: 15px;
  line-height: 1.5;
  transition: all ease-in-out 0.2s;
  white-space: nowrap;
  overflow-x: auto;
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */
}

.breadcrumb::-webkit-scrollbar {
  display: none;
}

.breadcrumb.scrolling a {
  pointer-events: none !important;
}

.breadcrumb a {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 6px 14px;
  border-radius: 20px;
  font-weight: normal;
  text-decoration: none;
  transition: all 0.1s ease-in-out;
  opacity: 0.85;
  box-sizing: border-box;
  background-color: #F2F2EE;
  color: #121212;
  border: 1px solid transparent;
}
.breadcrumb a::after {
  content: attr(data-text);
  display: block;
  position: relative !important;
  width: auto !important;
  height: 0 !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  visibility: hidden !important;
  overflow: hidden !important;
  font-weight: bold !important;
  user-select: none !important;
  pointer-events: none !important;
  transition: none !important;
}
.breadcrumb a:hover, .breadcrumb a.inview {
  font-weight: bold;
  color: #B2B521;
  border-color: #B2B521;
  background-color: #FFFFFF;
  opacity: 1;
  cursor: pointer;
}

.breadcrumb_wrapper.dark .breadcrumb a,
.breadcrumb_wrapper.secondaryDark .breadcrumb a {
  background-color: rgba(255, 255, 255, 0.1);
  color: #FFFFFF;
}
.breadcrumb_wrapper.dark .breadcrumb a:hover, .breadcrumb_wrapper.dark .breadcrumb a.inview,
.breadcrumb_wrapper.secondaryDark .breadcrumb a:hover,
.breadcrumb_wrapper.secondaryDark .breadcrumb a.inview {
  color: #B2B521;
  border-color: #B2B521;
  background-color: transparent;
  opacity: 1;
}

.breadcrumb.white {
  background-color: #ffffff;
  color: #121212;
}

@media only screen and (max-width: 1150px) {
  .breadcrumb_wrapper.overlaps-hamburger .breadcrumb {
    padding-right: calc(5vw + 85px);
  }
  .breadcrumb_wrapper.overlaps-hamburger.is-scrollable::after {
    width: calc(5vw + 85px);
  }
}
.months_bar {
  display: flex;
  flex-flow: row nowrap;
  margin-top: 40px;
  overflow: hidden;
  border-radius: 10px;
}

.months_bar .month_box {
  position: relative;
  width: 8.3333333333%;
  flex: 1 1 0px;
  border: 0;
  text-align: center;
  font-size: 55%;
  font-weight: bold;
  padding: 1vw 0;
  background-color: rgba(0, 0, 0, 0.06);
}

.months_bar .monthName {
  z-index: 20;
  position: relative;
}

.months_bar .monthName:hover {
  z-index: 21;
}

.months_bar .value {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}

.months_bar .value_5 {
  background-color: #B2B521;
}

.months_bar .value_4 {
  background-color: rgb(148, 151, 27);
}

.months_bar .value_3 {
  background-color: #777916;
}

@media only screen and (max-width: 800px) {
  .months_bar .month_box {
    font-size: 50%;
    padding: 2vw 0;
  }
}
.continentSelector {
  width: 100%;
  background: #121212;
  color: #FFFFFF;
  padding: 0 8% 5%;
  display: flex;
  flex-flow: row wrap;
  row-gap: 75px;
  justify-content: space-between;
}

.continentSelector .continentCard {
  --width: 25vw;
  display: flex;
  flex-flow: column nowrap;
  width: var(--width);
  transition: ease-in-out 0.35s;
  border-radius: 30px;
  padding: 20px;
}

.continentSelector .continentCard:hover {
  background-color: rgba(255, 255, 255, 0.04);
}

@media (pointer: coarse) {
  .continentSelector .continentCard {
    background-color: rgba(255, 255, 255, 0.04);
  }
}
.continentSelector .continentCard:hover img {
  filter: brightness(150%);
  -webkit-filter: brightness(150%);
}

.continentSelector .continentCard img {
  width: 100%;
  height: calc(0.6 * var(--width));
  object-fit: contain;
  object-position: center;
  pointer-events: none;
  border-radius: 15px;
  filter: brightness(110%);
  -webkit-filter: brightness(110%);
  transition: all ease-in-out 0.35s;
}

.continentSelector .continentCard .title {
  font-size: 24px;
  text-transform: uppercase;
  font-weight: bold;
  margin: 20px 5px;
}

.continentSelector .continentCard .intro {
  font-size: 17px;
  color: #c4c4c4;
  margin: 0 5px;
}

@media (hover: hover) {
  .continentSelector .continentCard .cta_button {
    display: none;
  }
}
@media (hover: none) {
  .continentSelector .continentCard .cta_button {
    margin-top: 30px;
  }
}
@media only screen and (max-width: 1000px) {
  .continentSelector .continentCard {
    --width: 40vw;
  }
}
@media only screen and (max-width: 600px) {
  .continentSelector {
    row-gap: 100px;
  }
  .continentSelector .continentCard {
    --width: 90vw;
  }
}
.moreHighlights {
  background-color: #F2F2F2;
}

.moreHighlights .textAndContentPadding {
  padding: 0 8% 0;
}

.moreHighlights .textAndContentContainer {
  width: 100%;
}

.moreHighlights h3 {
  font-size: 35px;
  margin-bottom: 10px !important;
}

.moreHighlights .text {
  margin-bottom: 30px;
}

.nearbyCountries {
  background-color: #121212;
  color: #FFFFFF;
  padding-bottom: 80px;
}

.nearbyCountries .textAndContentPadding {
  padding-bottom: 0;
}

.nearbyCountries .textAndContent {
  padding-bottom: 0;
}

.nearbyCountries .carousel .block-title,
.nearbyCountries .carousel .block-text {
  margin-left: 5%;
  margin-right: 5%;
}

@media only screen and (max-width: 1000px) {
  .moreHighlights h3 {
    font-size: 25px;
  }
  .nearbyCountries {
    padding-bottom: 60px;
  }
}
.carouselWrapper {
  overflow-x: scroll;
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */
  padding-bottom: 40px;
}

.carouselWrapper::-webkit-scrollbar {
  display: none;
}

.row_wrap .carouselWrapper {
  margin-top: -60px;
}

.carousel {
  display: flex;
  position: relative;
  transform: translateX(0);
  cursor: grab;
  padding-bottom: 20px;
  --windowMargin: 8vw;
  --boxSpacing: 40px;
  --visibleBlocks: 4.25;
  --width: calc((var(--screenWidth) - var(--visibleBlocks) * var(--boxSpacing) - var(--windowMargin)) / var(--visibleBlocks));
}

@media only screen and (min-width: 901px) {
  .nearbyCountries .carousel {
    --visibleBlocks: 3;
    --width: calc((var(--screenWidth) - 2 * var(--windowMargin) - (var(--visibleBlocks) - 1) * var(--boxSpacing)) / var(--visibleBlocks));
    cursor: unset;
  }
  .nearbyCountries .carouselWrapper {
    overflow-x: hidden;
  }
}
.row_wrap .carousel {
  flex-flow: row wrap;
  padding-left: 8%;
  padding-right: 8%;
  cursor: unset;
  --boxSpacing: 20px;
  column-gap: var(--boxSpacing);
  --visibleBlocks: 5;
  --width: calc((var(--screenWidth) - 2 * var(--windowMargin) - (var(--visibleBlocks) - 1) * var(--boxSpacing)) / var(--visibleBlocks));
}

.row_wrap .carousel .padding {
  display: none;
}

.carousel .padding {
  flex-shrink: 0;
  width: var(--windowMargin);
}

.carousel .block {
  position: relative;
  flex-shrink: 0;
  margin-right: var(--boxSpacing);
  padding: 0 0 8px 0;
  width: var(--width);
  display: flex;
  flex-flow: column nowrap;
  max-width: 75vw;
  user-select: none;
  justify-content: space-between;
  border-radius: 15px;
  background-color: rgba(255, 255, 255, 0.08);
  transition: ease-in-out 0.35s;
}

.carousel .block .block-title {
  transition: ease-in-out 0.3s;
}

.carousel .block .block-text {
  transition: ease-in-out 0.3s;
}

.carousel .cta_button {
  margin: auto auto 0 auto;
}

.carousel .block-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.carousel .block a:not(.block-overlay) {
  position: relative;
  z-index: 2;
}

.row_wrap .carousel .block {
  margin-right: 0;
  cursor: pointer;
}

.moreHighlights .carousel .block {
  background-color: #E8E9C2;
  color: #121212;
}

.moreHighlights .carousel .block-title {
  text-align: center;
}

.moreHighlights .carousel .block-text {
  color: #121212;
}

.moreHighlights .carousel .block:hover {
  background-color: #d0d18a;
  color: #121212;
}

.moreHighlights .carousel .block:hover .block-text {
  color: #121212;
}

.moreHighlights .carousel .block-content {
  padding-left: 5%;
  padding-right: 5%;
}

.moreHighlights .carousel .block:hover .block-title {
  transform: translateY(-7px);
}

.carousel .block:hover {
  background-color: #B2B521;
  color: #121212;
}

.nearbyCountries .carousel .block:hover {
  background-color: rgba(255, 255, 255, 0.15);
  color: inherit;
}

.carousel .block:hover .block-text {
  color: #121212;
}

.nearbyCountries .carousel .block:hover .block-text {
  color: #F2F2F2;
}

.carousel .block:hover img {
  -webkit-filter: brightness(125%);
  filter: brightness(125%);
}

.carousel .active {
  background-color: #B2B521;
}

.carousel .active .block-text {
  color: white;
}

.carousel .active:hover {
  background-color: #5e5a10;
}

.carousel .block .block-content {
  display: flex;
  flex-flow: column nowrap;
  height: 100%;
  margin-bottom: 10px;
}

.carousel .block:nth-last-child(2) {
  margin-right: 0;
}

.carousel .block img {
  width: 100%;
  min-height: var(--width);
  height: var(--width);
  object-fit: cover;
  object-position: center;
  align-self: center;
  pointer-events: none;
  border-radius: 15px;
  transition: all ease-in-out 0.35s;
}

.continents .carousel .block img {
  padding: 5%;
  width: auto;
  max-width: 80%;
  object-fit: contain;
  height: 220px;
  min-height: unset;
}

.continents {
  padding-bottom: 50px;
}

.carousel .block .landscape {
  min-height: calc(0.75 * var(--width));
  height: calc(0.75 * var(--width));
}

.carousel .block-title {
  font-size: 24px;
  text-transform: uppercase;
  font-weight: bold;
  margin: 20px 5px;
  cursor: pointer;
}

.carousel .block-text {
  font-size: 17px;
  color: #F2F2F2;
  margin: 0 5px;
  cursor: pointer;
}

.carousel .inlineButton {
  cursor: pointer;
  margin: 0 5px;
}

@media only screen and (max-width: 1150px) {
  .carousel .block-title {
    font-size: 20px;
  }
  .carousel {
    --visibleBlocks: 3.25;
  }
  .row_wrap .carousel {
    --visibleBlocks: 3;
  }
  .carousel .block:hover {
    background-color: rgba(255, 255, 255, 0.15);
    color: inherit;
  }
  .carousel .block:hover .block-text {
    color: #F2F2F2;
  }
  .carousel .active:hover {
    background-color: #B2B521;
  }
}
@media only screen and (max-width: 900px) {
  .carousel .block-text {
    color: white;
  }
  .carousel {
    --visibleBlocks: 2.25;
  }
  .row_wrap .carousel {
    --visibleBlocks: 2;
  }
}
@media only screen and (max-width: 530px) {
  .carousel {
    --visibleBlocks: 1.25;
  }
  .row_wrap .carousel {
    --visibleBlocks: 2;
  }
  .row_wrap .carousel .block-title {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1150px) {
  .carouselWrapper {
    overflow-x: hidden;
  }
}
.accordion_category {
  padding: 40px 8% 0;
  font-size: 20px;
  font-weight: bold;
  text-transform: uppercase;
  font-family: "Plus Jakarta Sans", "Verdana", "Helvetica", "Arial", "sans-serif";
}

.accordion_header,
.accordion_header:focus {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  column-gap: 15px;
  background-color: #FFFFFF;
  color: #777916;
  font-size: 24px;
  text-align: left;
  line-height: 1;
  padding: 8px 18px;
  width: 100%;
  transition: all 0.4s ease-in-out;
  border-radius: 15px;
  cursor: zoom-in;
}

.accordion_header.accordion_active {
  cursor: zoom-out;
}

.festivalQuestion {
  margin-top: 40px;
}

.festivalQuestion .accordion_header {
  background-color: #E8E9C2;
  color: #121212;
}

.festivalQuestion .festivals td {
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-left: none;
  border-right: none;
  vertical-align: top;
  padding: 8px 30px 8px 0;
}

.festivalQuestion .accordion_category {
  padding-left: 0;
}

.regionQuestion {
  margin: 30px 0;
}

.regionQuestion .accordion_header {
  background-color: #F2F2F2;
  color: #121212;
  font-size: 18px;
}

.regionQuestion .accordion_panel {
  font-size: 18px;
}

.regionQuestion .accordion_category {
  padding-left: 0;
}

.regionQuestion .accordion_header .fontAwesome {
  color: #B2B521;
}

.fromAirportQuestion {
  margin: 30px 0;
}

.fromAirportQuestion .accordion_header {
  background-color: #E8E9C2;
  color: #5e5a10;
  font-size: 18px;
}

.fromAirportQuestion .accordion_header:hover {
  background-color: #e3e6b6;
}

.fromAirportQuestion .accordion_panel {
  font-size: 18px;
}

.fromAirportQuestion .accordion_category {
  padding-left: 0;
}

.fromAirportQuestion .accordion_header .fontAwesome {
  color: #B2B521;
}

.continentFaqs .accordion_category {
  padding-left: 0;
}

.bestCountries {
  margin-right: calc(40px + 8%);
  padding: 2%;
  background-color: hsl(62, 47%, 94%);
  border-radius: 15px;
}

.bestCountries .accordion_header,
.bestCountries .accordion_panel {
  font-size: 16px;
  background-color: inherit;
}

.continentFaqs {
  padding: 2%;
  background-color: hsl(62, 47%, 95%);
  border-radius: 15px;
  max-width: 470px;
}

.continentFaqs .accordion_header,
.continentFaqs .accordion_panel,
.accordion_separator {
  font-size: 16px;
  background-color: inherit;
}

.continentFaqs .accordion_header {
  padding: 0;
}

@media only screen and (min-width: 1001px) {
  .continentFaqs.saveSpaceForArrow {
    margin-right: 58px;
  }
}
.accordion_header .fontAwesome {
  width: 2em;
}

.accordion .icon {
  width: 60px;
  text-align: left;
}

.accordion_title {
  flex-grow: 1;
}

.accordion_header:hover {
  background-color: #F4F3Ed;
  color: #5e5a10;
}

.continentFaqs .accordion_header:hover {
  background-color: #FFFFFF;
}

.bestCountries .accordion_header:hover {
  background-color: #FFFFFF;
}

:not(.continentFaqs) .accordion_header:after:not(.continentFaqs) {
  content: "+";
  float: right;
  margin-left: 5px;
}

.accordion_active:after:not(.continentFaqs) {
  content: "−";
}

.accordion_panel {
  padding: 0 18px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
  cursor: zoom-out;
}

.accordion_panel h3 {
  font-size: 20px;
  color: #777916;
  font-weight: bold;
}

.accordion_panel .topmargin {
  padding-top: 10px;
}

.accordion_panel .bottommargin {
  padding-top: 30px;
}

.accordion_panel .holidays div {
  text-indent: -1.5em;
  padding-left: 1.5em;
}

@media only screen and (max-width: 700px) {
  .accordion_header,
  .accordion_header:focus {
    font-size: 18px;
  }
  .accordion_panel h3 {
    font-size: 16px;
  }
}
.blocks {
  width: 100%;
  height: 100%;
  display: flex;
  flex-flow: row wrap;
}

.blocks .block {
  width: 50%;
  height: 33.333333%;
  min-height: 220px;
  padding: 0 8%;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
}

.blocks .block:nth-child(4n+1),
.blocks .block:nth-child(4n+4) {
  background-color: #F2F2F2;
}

.blocks .block .title {
  color: #B2B521;
  line-height: 1.5;
  transition: transform 0.3s ease-in-out;
}

.blocks .block .subTitle {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  transition: transform 0.3s ease-in-out;
}

.blocks .block .readWhy {
  margin-top: 20px;
  transition: transform 0.3s ease-in-out;
}

.blocks .block:hover .title {
  transform: translateY(-15px);
}

.blocks .block:hover .subTitle {
  transform: translateY(-10px);
}

.blocks .block:hover .readWhy {
  transform: translateY(-5px);
}

@media only screen and (max-width: 600px) {
  .blocks .block {
    min-height: 50vw;
  }
  .blocks .block .subTitle {
    font-size: 20px;
  }
  .blocks .block .readWhy {
    font-size: 13px;
  }
}
.accommodationBanners {
  display: flex;
  flex-flow: column nowrap;
  row-gap: 10px;
}

.affiliateLogos {
  display: flex;
  justify-content: center;
  flex-flow: row wrap;
  gap: 5%;
}

.item {
  display: flex;
  flex-flow: column nowrap;
  width: 30%;
  max-width: 150px;
}

.affiliateLogos .guidebook {
  width: 100%;
  border-radius: 0 6px 6px 0;
  transition: all ease-in-out 0.35s;
}

.affiliateLogos .item:hover img {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.5);
}

.affiliateLogos .item:hover .guidebook {
  filter: saturate(140%);
}

.affiliateLogos .brand {
  font-weight: bold;
  text-align: center;
  max-width: 190px;
  font-size: 15px;
}

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

@media only screen and (max-width: 450px) {
  .affiliateLogos .guidebook {
    height: 45vw;
  }
}
.horizontalScrollerWrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* Enables momentum-based scrolling on touch devices */
  scrollbar-width: none; /* Hides scrollbar in Firefox */
  overflow-y: hidden;
  cursor: grab;
  user-select: none;
  will-change: transform;
  scroll-behavior: auto;
}

.horizontalScrollerWrapper img {
  pointer-events: none;
}

.horizontalScrollerWrapper::-webkit-scrollbar {
  display: none;
} /* Hides scrollbar in Chrome, Safari, Edge */
.filmstripSection {
  padding: 80px 0;
}

.filmStrip {
  display: flex;
  flex-flow: row nowrap;
  width: fit-content;
}

.filmStrip .sidePadding {
  padding-left: 8vw;
}

.filmStrip .filmContainer {
  position: relative;
  width: 242px;
  height: 224px;
}

.filmContainer .film {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}

.nr_top,
.nr_bottom,
.nra_bottom {
  position: absolute;
  width: 30px;
  text-align: center;
  font-size: 15px;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: bold;
  color: rgba(255, 255, 255, 0.35);
  z-index: 4;
}

.nr_top {
  top: -1px;
  left: 136px;
}

.nr_bottom {
  bottom: 1px;
  left: 136px;
}

.nra_bottom {
  bottom: 2px;
  left: 17px;
  font-size: 10px;
}

.filmStrip a {
  position: absolute;
  top: 30px;
  left: 5px;
  width: calc(100% - 10px);
  height: calc(100% - 60px);
}

.filmStrip a img {
  object-fit: cover;
  object-position: center center;
  width: 100%;
  height: 100%;
  transition: filter 0.25s ease-in-out;
}

.filmStrip a img:hover {
  filter: brightness(115%);
}

.filmStrip .attribution {
  position: absolute;
  bottom: 37px;
  right: 6px;
  padding: 2px 4px;
  background-color: rgba(0, 0, 0, 0.6);
  color: #FFFFFF;
  font-size: 12px;
  border-radius: 5px 0 0 0;
}

.filmstripSection .copyright {
  padding: 10px 8% 10px;
  float: right;
  font-size: 17px;
}

.filmstripTooltip {
  position: absolute;
  display: none;
  white-space: nowrap;
  z-index: 10;
  background-color: #5e5a10;
  color: white;
  padding: 2px 5px 3px;
  border-radius: 3px;
  font-size: 14px;
}

@media only screen and (max-width: 800px) {
  .filmstripSection {
    padding: 58px 0;
  }
}
.cart {
  width: 100vw;
  display: flex;
  flex-flow: row nowrap;
  position: relative;
}

.travelguidecontent {
  margin-bottom: 20px;
}

.travelguidecontent svg {
  color: #B2B521;
  font-weight: bold;
}

.cart .panel1 h2 {
  font-size: 44px;
  margin-bottom: 40px;
}

.cart .panel1 h1 {
  font-size: 44px;
  margin-bottom: 40px;
}

.cart .panel1 .title {
  display: block;
  line-height: 1;
  margin: 10px 0 30px;
}

.cart .panel1 {
  width: 50%;
  padding: 120px 8% 150px;
  background-color: #E8E9C2;
}

.cartPage .cart .panel1 {
  padding-top: 5%;
}

@media only screen and (min-width: 1001px) {
  .cartPage .cart .panel1 {
    min-height: calc(100vh - 39px);
    min-height: calc(100svh - 39px);
  }
}
.cart .panel1 .text {
  margin-bottom: 40px;
}

.cart .panel1 .vertical_container {
  display: flex;
  flex-flow: column nowrap;
}

.cart .panel2 {
  font-size: 15px;
  width: 50%;
  padding: 120px 0 150px;
  background-color: #F2F2F2;
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  align-items: center;
  gap: 60px;
  position: relative;
}

.aboutmepage .cart .panel2 {
  background-color: #FFFFFF;
}

.cartPage .panel2 {
  padding-top: 86px;
}

.travelguidecontent .horizontalContainer {
  display: flex;
  flex-flow: row nowrap;
  gap: 30px;
}

.travelguidecontent.leftAlign .horizontalContainer {
  justify-content: unset;
}

.travelguidecontent.leftAlign .properties {
  margin-left: 0;
  margin-right: 0;
}

.travelguidecontent .travelguide {
  width: 9.5vw;
}

.travelguidecontent .contains {
  font-weight: bold;
  margin-bottom: 8px;
}

.travelguidecontent .content {
  width: fit-content;
  font-size: max(14px, min(18px, 1.4vw));
}

.travelguidecontent .properties {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #DDD;
  border-bottom: 1px solid #DDD;
  text-align: center;
  height: 70px;
  width: 100%;
  max-width: 250px;
  margin: 20px auto 60px;
  font-size: 15px;
  font-weight: bold;
}

.cartPage .travelguidecontent .properties {
  margin-bottom: 25px;
}

.travelguidecontent .properties svg {
  font-size: 23px;
}

.cartUSPs {
  display: flex;
  flex-flow: column nowrap;
  gap: 35px;
}

.cartUSPs .title {
  font-weight: bold;
  font-size: 23px;
  padding: 0 5vw 5px;
}

.reviewsStickyContainer {
  width: 100%;
}

.cart .panel1 .getNow {
  text-align: center;
  font-size: 1.6vw;
  font-weight: bold;
}

@media only screen and (min-width: 1001px) {
  .reviewsStickyContainer {
    position: sticky;
    bottom: 80px;
    padding-top: 200px;
  }
}
.reviewsTitle {
  font-weight: bold;
  font-size: 16px;
  padding: 0 0 10px 5vw;
}

.cartReviews {
  margin: 0 5vw;
  display: flex;
  line-height: 1.2;
  flex-flow: row nowrap;
  gap: 15px;
  width: fit-content;
}

.cartReviews .reviewCard {
  width: 200px;
  height: 112px;
  background-color: #646464;
  color: white;
  padding: 10px;
  border-radius: 10px;
}

.cartReviews .reviewCard .stars {
  font-size: 12px;
  color: #B2B521;
  margin-bottom: 5px;
}

.cart form {
  text-align: center;
}

.cart form .countrySelector {
  margin: 16px auto 30px;
  width: 330px;
  max-width: 100%;
  transition: margin-top 0.35s ease-out;
}

.cart form .countrySelector .selectWithChevron {
  position: relative;
  border-radius: 10px;
  background-color: white;
  letter-spacing: normal;
  font-size: 17px;
  text-align: left;
  text-align-last: left;
  padding-left: 15px;
  z-index: 10;
}

.cart form label {
  width: 270px;
  display: block;
  margin: auto;
  font-size: 16px;
  margin-bottom: 3px;
}

.cart form input {
  background-color: white;
  border-radius: 10px;
  border: none;
  outline: none;
  padding: 12px 15px;
}

.cart form input[type=email] {
  width: 330px;
  border: none;
  margin-bottom: 10px;
}

input[type=checkbox] {
  accent-color: rgb(148, 151, 27);
}

.cart form input:-webkit-autofill {
  background-color: #FFFFFF !important;
  box-shadow: 0 0 0px 1000px #FFFFFF inset !important;
  border: none !important;
  outline: none !important;
}

.cart form .cta_button {
  position: relative;
}

.cart .priceButton {
  min-width: 230px;
  min-height: 57px;
  box-shadow: 0 0 10px 3px rgb(255, 255, 255);
  transition: box-shadow 0.3s ease;
}

.cart .priceButton:hover {
  box-shadow: 0 0 10px 8px rgb(255, 255, 255);
}

.cart .priceButton .buttonTextContainer {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.cart .priceButton .divider {
  width: 1px;
  height: 30px;
  background-color: white;
  opacity: 0.45;
}

.cart .priceButton .prices {
  line-height: 1.2;
}

.cart form .paymentIcons {
  margin: 20px auto;
  display: flex;
  flex-flow: row nowrap;
  gap: 12px;
  justify-content: center;
}

.cart form .discountMessage {
  font-size: 14px;
  margin: 10px 0;
  font-weight: bold;
}

.cart form .securepayment {
  height: 10px;
}

.cart form .note {
  font-size: 14px;
  max-width: 250px;
  margin: 15px auto 0;
}

@media only screen and (max-width: 1000px) {
  .cart {
    flex-flow: column nowrap;
  }
  .cart .panel1 {
    padding: 40px 8% 40px;
  }
  .cart .panel1 h2 {
    margin-bottom: 30px;
    font-size: 30px;
  }
  .cart .panel2 {
    padding: 40px 0 80px;
  }
  .cart .panel1,
  .cart .panel2 {
    width: 100vw;
  }
  .cart .panel1 h1 {
    font-size: 34px;
    margin-bottom: 30px;
  }
  .cart form .countrySelector .selectWithChevron {
    font-size: 14px;
  }
  .cartPage .getNow {
    display: none;
  }
  .travelguidecontent .travelguide {
    width: 100px;
  }
  .travelguidecontent .content,
  .cart .panel1 .getNow {
    font-size: 16px;
  }
  .travelguidecontent .contains {
    display: none;
  }
  .travelguidecontent .horizontalContainer {
    gap: 22px;
  }
  .travelguidecontent .properties {
    height: 50px;
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 30px;
  }
  .travelguidecontent .properties svg {
    font-size: 20px;
  }
  .reviews {
    margin-top: 80px;
  }
  .cart form input {
    font-size: 14px;
  }
  .cart form label {
    font-size: 14px;
    margin-top: 8px;
  }
}
@media only screen and (max-width: 520px) {
  .travelguidecontent .horizontalContainer {
    flex-flow: column-reverse nowrap;
    align-items: center;
  }
  .travelguidecontent .travelguide {
    width: 50% !important;
    margin-top: 15px;
  }
}
.pdfCover {
  position: relative;
  width: 100%;
  aspect-ratio: 210/297;
}

.pdfCover img {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 2px;
  height: 100%;
  width: 100%;
  object-fit: cover;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}

.pdfCover img:nth-child(1) {
  opacity: 1;
  box-shadow: 0 0 10px 5px white;
}

.pdfCover img {
  box-shadow: 0 0 10px 5px darkGrey;
}

.lightGrey .pdfCover {
  margin-bottom: 10px;
}

.pdfCover:hover img:nth-child(1) {
  filter: brightness(120%);
}

/* ensure to increase the version number in wackywheels.css for each change */
.graphs_page {
  margin: 30px;
  text-align: center;
}

.graph_legenda_square {
  width: 12px;
  height: 12px;
  margin: 0 5px 0 20px;
}

.graph_legenda {
  display: flex;
  justify-content: center;
  font-size: 14px;
  line-height: 1;
}

.graphs_table {
  width: 500px;
  margin: auto;
  table-layout: fixed;
  overflow-wrap: break-word;
}

.graphs_table td, .graphs_table th {
  padding: 4px;
  margin: 0;
  font-size: 16px;
  line-height: 1;
}

.graphs_table th {
  padding: 11px 3px;
  margin: 0;
}

@media (max-width: 768px) {
  .graphs_page {
    margin: 5px;
  }
  .graphs_table {
    width: 100%;
  }
  .graph_legenda {
    font-size: 12px;
  }
  .graph_legenda_square {
    width: 8px;
    height: 8px;
    margin: 0 2px 0 10px;
  }
}
/**
 * Styles for Admin Locations Dashboard
 */
.admin-locations-table th.rotated-header {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  white-space: nowrap;
  padding: 10px 0;
  font-size: 10px !important;
  line-height: 1;
  max-width: 45px;
  vertical-align: middle;
  text-align: left;
  border-bottom: 3px solid #ddd;
  font-weight: normal;
}

.chatgpt-cell {
  text-align: center;
  padding: 4px 2px !important;
  width: 25px;
  font-size: 14px;
}

.statistics td {
  font-size: 14px;
  line-height: 1;
}

.nowrap {
  white-space: nowrap;
}

.admin-job-progress {
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 10px 15px;
  background: #f5f5f5;
  border-bottom: 1px solid #ccc;
  display: none;
  position: sticky;
  top: 0;
  z-index: 1100;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.jp-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.jp-stats {
  flex-grow: 1;
}

#jp_worker_status {
  margin-left: 10px;
  font-weight: normal;
  font-size: 13px;
}

.jp-counts {
  font-size: 13px;
  font-weight: bold;
}

#jp_failed {
  color: #d32f2f;
}

.jp-actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.jp-actions button {
  padding: 4px 8px;
  font-size: 12px;
  cursor: pointer;
}

.jp-recent {
  margin-top: 5px;
  font-size: 11px;
  color: #666;
  border-top: 1px solid #eee;
  padding-top: 5px;
}

.admin-message {
  width: 100vw;
  text-align: center;
  margin: 10px 0;
}

.admin-errors {
  color: red;
  padding: 10px;
}

.admin-photo-stats {
  position: absolute;
  left: 0;
  top: 0;
  width: 140px;
  background-color: #E8E9C2;
  z-index: 1000;
  padding: 10px;
  font-size: 12px;
  border: 1px solid #ccc;
}

.top-scroll-btn {
  position: fixed;
  top: 0;
  right: 0;
  background-color: blue;
  padding: 10px;
  border-radius: 0 0 0 5px;
  cursor: pointer;
  z-index: 2000;
}

:root {
  --scrollbarWidth: 0;
  --screenWidth: calc(100vw - var(--scrollbarWidth));
  --headerHeight: 80px;
  --minHeaderHeight: -80px;
  --headerHeightMobile: 80px;
}

.fontAwesome {
  width: 1em;
  height: 1em;
  max-width: 100%;
  vertical-align: -0.125em;
  fill: currentColor;
  display: inline-block;
  overflow: visible;
}

.noWidth {
  width: unset !important;
}

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