/* ========================= Template ==================== */

/*.footer-top-wrap2 {*/
/*  -webkit-box-pack: justify;*/
/*  -webkit-justify-content: space-between;*/
/*  -ms-flex-pack: justify;*/
/*  justify-content: space-between;*/
/*  -webkit-box-align: center;*/
/*  -webkit-align-items: center;*/
/*  -ms-flex-align: center;*/
/*  align-items: center;*/
/*  grid-column-gap: 4vw;*/
/*  -ms-grid-columns: 1fr 0.25fr;*/
/*  grid-template-columns: 1fr 0.25fr;*/
/*  -ms-grid-rows: auto;*/
/*  grid-template-rows: auto;*/
/*}*/

/*.footer-links-wrap2 {*/
/*  display: -ms-grid;*/
/*  display: grid;*/
/*  -webkit-box-pack: center;*/
/*  -webkit-justify-content: center;*/
/*  -ms-flex-pack: center;*/
/*  justify-content: left;*/
/*  justify-items: start;*/
/*  grid-auto-flow: column;*/
/*  grid-auto-columns: -webkit-max-content;*/
/*  grid-auto-columns: max-content;*/
/*  grid-column-gap: 9rem;*/
/*  grid-row-gap: 0px;*/
/*  -ms-grid-columns: -webkit-max-content;*/
/*  -ms-grid-columns: max-content;*/
/*  grid-template-columns: -webkit-max-content;*/
/*  grid-template-columns: max-content;*/
/*  -ms-grid-rows: auto;*/
/*  grid-template-rows: auto;*/
/*  white-space: normal;*/
/*}*/


/*@media screen and (max-width: 991px) {*/
/*  .footer-top-wrap2 {*/
/*    -webkit-box-pack: center;*/
/*    -webkit-justify-content: center;*/
/*    -ms-flex-pack: center;*/
/*    justify-content: center;*/
/*    justify-items: center;*/
/*    grid-row-gap: 3rem;*/
/*    -ms-grid-columns: 1fr;*/
/*    grid-template-columns: 1fr;*/
/*  }*/
/*}*/

/*@media screen and (max-width: 767px) {*/
/*  .footer-links-wrap2 {*/
/*    justify-items: center;*/
/*    grid-column-gap: 24px;*/
/*    grid-row-gap: 24px;*/
/*  }*/
/*}*/

/*@media screen and (max-width: 479px) {*/
/*  .footer-links-wrap2 {*/
/*    !*display: none;*!*/
/*    grid-auto-flow: row;*/
/*  }*/
/*}*/

.w-input.no-border {
  border: none;
}

@media screen and (min-width: 992px) {
  .w-nav-overlay {
    display: none !important;
    height: 0 !important;
  }
}

.w-button,
.button-with-icon {
  border-radius: 35px;
}

.w-button.pad-50 {
  padding-left: 50px;
  padding-right: 50px;
}

.w-button.pad-100 {
  padding-left: 100px;
  padding-right: 100px;
}


/* FAQ */
.faq-question {
  user-select: none;
  -webkit-user-select: none;
}

.faq-accordion .faq-icon {
  transform: rotateZ(0deg);
  transition: transform .5s;
}

.faq-accordion.open .faq-icon {
  transform: rotateZ(179.9deg);
}

/* Select */

.w-select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  padding-right: 2.2em;
  background-image: url('/content/static/images/v2/6168d2e454973af7dd55449c_icon_chevron.svg');
  background-repeat: no-repeat;
  background-position: right .7em top 50%;
  background-size: 1.5em auto;
}

/* Forms */


@media screen and (max-width: 479px) {

  .mod_register .form-field-2-columns {
    -ms-grid-columns: auto;
    grid-template-columns: auto;
    grid-row-gap: 0;
  }
}

/* Padding */

.padding-vertical.padding-medium,
.padding-vertical.padding-huge {
  padding-right: 0;
  padding-left: 0;
}

/* Grids */

/*
.w-layout-grid {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 1fr;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  -ms-grid-rows: auto auto;
  grid-template-rows: auto auto;
  grid-row-gap: 16px;
  grid-column-gap: 16px;
}
*/

.view-tour-grid {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  grid-column-gap: 5rem;
  /*grid-row-gap: 4rem;*/
  -ms-grid-columns: 1fr 0.6fr;
  grid-template-columns: 1fr 0.6fr;
}

.view-tour-grid > div {
  align-self: start;
}

@media screen and (max-width: 991px) {
  .view-tour-grid {
    min-height: auto;
    grid-auto-flow: row;
    grid-column-gap: 0;
    /*grid-row-gap: 4rem;*/
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 767px) {
  .view-tour-grid {
    /*grid-row-gap: 3rem;*/
  }
}

@media screen and (max-width: 479px) {
  .view-tour-grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}

.text-smaller-heading {
  font-size: 36px;
  line-height: 1;
  font-weight: 700;
}

.margin-vertical {
  margin-right: 0;
  margin-left: 0;
}

a.transparent {
  color: unset !important;
}

/* ========================= Migrated ==================== */

/* General */

.table { width: 100%; display: table; }
.table .row { display: table-row; }
.table .cell { display: table-cell; }
.al { text-align: left; }
.ar { text-align: right; }
.ac { text-align: center; }
.at { vertical-align: top; }
.am { vertical-align: middle; }
.ab { vertical-align: bottom; }
.nw { white-space: nowrap; }

.site-content a:not(.button,.button-with-icon) {
  color: #006039;
}

.drop-shadow {
  position: relative;
  /*padding-bottom: 62%;*/
}

.drop-shadow img {
  border-radius: 25px;
}

.drop-shadow:before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 20px;
  left: 20px;
  border-radius: 10px;
  background: #006039;
  z-index: -1;
}

.drop-shadow.accent-1:before {
  background: #696d72 ;
}
.drop-shadow.accent-2:before {
  background: #436817;
}
.drop-shadow.accent-3:before {
  background: #861455;
}
.drop-shadow.accent-4:before {
  background: #ad1917;
}

.indent-1 {
  margin-left: 1em;
}

.indent-2 {
  margin-left: 2em;
}

.admin-bar {
  background: #eee;
  font-size: 0.9em;
  text-align: center;
}

/*
	CSS3 Checkbox Styles
	http://codepen.io/bbodine1/pen/novBm
*/
.styled_checkbox {
  width: 22px;
  position: relative;
  margin-right: 10px;
  display: inline-block;
}

.styled_checkbox.style3 {
  width: 16px;
}

.styled_checkbox label {
  top: 0;
  left: 0;
  position: absolute;
  width: 22px;
  height: 22px;
  border-radius: 4px;
  cursor: pointer;
  background: #eee;
}

.styled_checkbox.style2 label {
  background: #fff;
}

.styled_checkbox.style3 label {
  top: 2px;
  width: 16px;
  height: 16px;
  border-radius: 0;
}

.styled_checkbox label:after {
  top: 5px;
  left: 5px;
  position: absolute;
  width: 9px;
  height: 5px;
  border: 3px solid #000;
  border-top: none;
  border-right: none;
  background: transparent;
  content: '';
  opacity: 0;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.styled_checkbox.style3 label:after {
  top: 1px;
  left: 2px;
}

.styled_checkbox input[type=checkbox] { visibility: hidden; padding: 0; }
.styled_checkbox input[type=checkbox]:checked + label:after { opacity: 1; }

/* Calendar */

#calendar-popup {
  position: relative;
  background: #FFF;
  padding: 20px;
  width: auto;
  max-width: 800px;
  min-height: 650px;
  margin: 20px auto;
}

#calendar-combo .date,
#calendar-combo .adults_places {
  padding-left: 40px;
}

#calendar-combo .children_places,
#calendar-combo .infants_places {
  display: none;
}

#calendar-combo .ph-icon:before {
  top: 0;
}

.below-calendar .cell:first-child {
  width: 50%;
}

.below-calendar button {
  max-width: 170px;
}

.places-wrapper {
  margin: 0 25px 10px 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.places-selector {
  display: flex;
  gap: 10px;
}

.places-selector img {
  width: 32px;
  height: auto;
}

.places-selector input {
  width: 45px;
  text-align: center;
  padding: 0.2rem 0.5rem;
  min-height: unset;
}

@media screen and (max-width: 767px) {

  .below-calendar .table,
  .below-calendar .row,
  .below-calendar .cell {
    width: 100% !important;
    display: block;
  }

  .places-wrapper {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }

  .below-calendar button {
    margin-top: 10px;
    max-width: unset;
  }
}

@media screen and (max-width: 430px) {
  .places-wrapper {
    margin: 0 0 10px 0;
  }
}

/* Pickmeup datepicker */

/*.pickmeup {*/
/*  background: #fff;*/
/*  padding: 0 0 10px 0;*/
/*  box-shadow: 3px 3px 7px 0 rgba(0,0,0,0.5);*/
/*  z-index: 1000;*/
/*}*/

/*.pickmeup .pmu-instance {*/
/*  margin: 0 5px;*/
/*  font-size: 0.95em;*/
/*}*/

/*.pickmeup .pmu-instance .pmu-today {*/
/*  background: unset;*/
/*  font-weight: bold;*/
/*}*/

/*.pickmeup .pmu-instance .pmu-button {*/
/*  padding: 2px 4px;*/
/*  color: #000;*/
/*}*/

/*.pickmeup .pmu-instance .pmu-days .pmu-button {*/
/*  border-top: 1px solid #e0e0e0;*/
/*}*/

/*.pickmeup .pmu-instance .pmu-selected,*/
/*.pickmeup .pmu-instance .pmu-selected:hover {*/
/*  background-color: transparent;*/
/*  background-image: url(/content/static/images/calendar_selection.png);*/
/*  background-position: center center;*/
/*  background-repeat: no-repeat;*/
/*  background-size: contain;*/
/*  color: #fff;*/
/*}*/

/*.pickmeup .pmu-instance .pmu-not-in-month {*/
/*  background-color: #eee;*/
/*  color: silver;*/
/*}*/

/*.pickmeup .pmu-instance .pmu-disabled,*/
/*.pickmeup .pmu-instance .pmu-disabled:hover {*/
/*  color: #d0d0d0;*/
/*  background-color: transparent;*/
/*}*/

/*
  ph-icon
*/

.ph-icon {
  width: 100%;
  position: relative;
  white-space: nowrap;
  display: inline-block;
}

/*noinspection CssNoGenericFontName*/
.ph-icon:before {
  font-family: 'FontAwesome';
  color: #868686;
  position: absolute;
  left: 18px;
  top: 10px;
}

.ph-icon.search:before { content: "\f002"; }
.ph-icon.calendar:before { content: "\f133"; }
.ph-icon.users:before { content: "\f007"; }
.ph-icon.user:before { content: "\f2c0"; }
.ph-icon.key:before { content: "\f084"; }
.ph-icon.filters:before { content: "\f004"; }

.ph-icon input, .ph-icon select {
  padding-left: 40px;
}


/*
	Dropit - selectors
*/

ul.drop_menu.dropit {
  /*position: absolute;*/
}

.dropit .dropit-trigger {
  /*z-index: 1000;*/
}
.dropit .dropit-submenu {
  /*z-index: 1000000;*/
}

.selectors ul.drop_menu.dropit {
  /*margin-bottom: 12px;*/
}

.selectors li.dropit-trigger > a {
  width: 100%;
  padding: 4px 8px;
  border: 1px solid #666;
  display: block;
}

/*noinspection CssNoGenericFontName*/
.selectors li.dropit-trigger > a:after {
  margin-left: 6px;
  font-family: 'FontAwesome';
  content: "\f107";
  float: right;
  display: inline-block;
  color: #666;
}

.selectors li.dropit-trigger.dropit-open > a:after {
  content: "\f106";
}

/*
	Panels
*/
.panel {
  margin-bottom: 1em;
  padding: 20px;
  border-radius: 16px;
  /*background-color: #ffffff;*/
  /*box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.1);*/
}

.panel .em-1 {
  font-size: 1.4em;
  font-weight: 600;
}

.panel .em-2 {
  font-size: 1.8em;
  font-weight: bold;
}

.panel .em-3 {
  font-size: 2.2em;
  font-weight: bold;
}

.panel > .title {
  font-size: 1.2em;
  font-weight: 600;
}

.panel p {
  margin-top: 0.5em;
}

/*
  Website footer
*/

.website-footer {
  line-height: 1.9;
  color: #333;
}

.website-footer a {
  color: #333;
}

.website-footer-links {
  width: 100%;
  display: flex;
}

.website-footer-links > div {
  flex: 0 1 25%;
}

.website-footer-bottom {
  margin-top: 50px;
  text-align: center;
}

.footer-social-link {
  margin-left: 5px;
  display: inline-block;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {

  .website-footer-links {
    display: block;
  }

  .website-footer-links > div {
    margin-bottom: 20px;
    /*text-align: center;*/
    flex: unset;
  }

  .website-footer-bottom {
    margin-top: 30px;
  }

  .website-footer-bottom > span {
    margin-bottom: 10px;
    display: block;
  }
}

/* Footer Accordion Styles */
.footer-accordion .footer-header {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer-accordion .footer-icon {
  width: 16px;
  height: 16px;
  transition: transform 0.25s ease;
  display: none;
}

.footer-accordion.open .footer-icon {
  transform: rotate(225deg);
}

.footer-accordion .footer-icon {
  display: none;
}

/* Mobile styles - accordion enabled */
@media screen and (max-width: 767px) {

  .footer-accordion {
    margin-bottom: 10px !important;
    border-bottom: 1px solid #ddd;
  }

  .footer-accordion.open {
    padding-bottom: 10px;
  }

  .footer-accordion:not(.open) .footer-header {
    padding-bottom: 10px;
  }

  .footer-accordion .footer-icon {
    display: block;
  }

  .footer-accordion .footer-content {
    overflow: hidden;
  }
}

/* Desktop styles - normal footer behavior */
@media screen and (min-width: 768px) {

  .footer-accordion .footer-content {
    height: auto !important;
  }
}

/*
	Dropit submenu
*/

.dropit .dropit-submenu {
  border: 1px solid #dddddd;
  border-radius: 4px;
  background: #ffffff;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
}

.dropit .dropit-submenu li {
  margin: 0;
  border-bottom: 1px solid #dddddd;
}

.dropit .dropit-submenu li:last-child {
  border-bottom: 0;
}

.dropit .dropit-submenu .dropit-title {
  padding: 9px 20px;
  font-size: 13px;
  display: block;
  color: #777;
}

.dropit .dropit-submenu a {
  padding: 9px 20px;
  border-radius: 0;
  color: #015d85;
  font-size: 13px;
  text-decoration: none;
  text-align: left;
  display: block;
  white-space: nowrap;
}

.dropit .dropit-submenu a:hover {
  color: #000000;
  background: #f5f5f5;
}

/*
	Magpop popup general
*/
.mfp-map .mfp-iframe {
  background: #E2E2E2 url(/content/static/images/maploader.png) 50% 50% no-repeat;
}

.mfp-wrap button.confirm,
.mfp-wrap button.cancel {
  padding: 10px 16px;
  font-weight: bold;
  text-transform: uppercase;
}

.mfp-wrap button.confirm {
  color: #ffffff;
  background-color: #85b200;
}

.mfp-wrap button.confirm:hover {
  background-color: #94c20e;
}

.mfp-wrap button.cancel {
  color: #ffffff;
  background-color: #999;
}

.mfp-wrap button.cancel:hover {
  background-color: #888;
}


.tos-popup {
  max-width: 650px;
  margin: 20px auto;
  padding: 20px 30px;
  text-align: left;
  position: relative;
  background: #ffffff;
}

.licencee-tos-popup {
  max-width: 1100px;
  margin: 20px auto;
  padding: 20px 30px;
  text-align: left;
  position: relative;
  background: #ffffff;
}

.map-popup {
  max-width: 650px;
  margin: 20px auto;
  padding: 20px 30px;
  text-align: left;
  position: relative;
  background: #ffffff;
}

/*
	Flags https://www.flag-sprites.com/
	FamFamFam 16x11
*/
.flag {
  width: 16px;
  height: 11px;
  margin-right: 3px;
  background: url(/content/static/images/flags.png) no-repeat;
  display: inline-block;
}

.flag.flag-cn {background-position: -16px 0}
.flag.flag-de {background-position: -32px 0}
.flag.flag-es {background-position: 0 -11px}
.flag.flag-fr {background-position: -16px -11px}
.flag.flag-gb {background-position: -32px -11px}
.flag.flag-it {background-position: 0 -22px}
.flag.flag-pt {background-position: -16px -22px}
.flag.flag-ru {background-position: -32px -22px}

/*
  Msg
*/

.msg {
  position: relative;
  margin: 4px 0;
  padding: 10px;
  border: 1px solid #d6db02;
  background: #fbfe8d;
}

.msg.warn {
  padding-left: 45px;
  border: 1px solid #f00000;
  border-radius: 4px;
  background: #fbfe8d;
}

/*noinspection CssNoGenericFontName*/
.msg.warn:before {
  position: absolute;
  top: 50%;
  left: 12px;
  color: #f00000;
  font-family: FontAwesome;
  font-size: 1.9em;
  line-height: 0;
  content: "\f057";
}

.msg.ok {
  padding-left: 45px;
  border: 0;
  border-radius: 4px;
  background: #cbffa8;
}

/*noinspection CssNoGenericFontName*/
.msg.ok:before {
  position: absolute;
  top: 50%;
  left: 12px;
  color: #00d000;
  font-family: FontAwesome;
  font-size: 1.9em;
  line-height: 0;
  content: "\f058";
}

.msg.info {
  padding-left: 45px;
  border: 0;
  border-radius: 4px;
  background: #daf7f8;
}

/*noinspection CssNoGenericFontName*/
.msg.info:before {
  position: absolute;
  top: 50%;
  left: 12px;
  color: #2e9dd4;
  font-family: FontAwesome;
  font-size: 1.9em;
  line-height: 0;
  content: "\f05a";
}

/*
  Loading indicator
*/
.loading {
  position: relative;
  pointer-events: none;
}

.loading > * {
  opacity: 0.4 !important;
}

.loading:after {
  width: 100px;
  height: 100px;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  position: absolute;
  content: '';
  background-image: url('/content/static/images/v2/waitanim.svg');
  background-repeat: no-repeat;
  background-position: 50% 50%;
  border-radius: 50px;
  box-shadow: 0 0 12px rgba(0,0,0,.5);
  opacity: 0;
  animation: fadeInWithDelay 2s ease-in-out forwards;
}

.loading.fade-out:after {
  animation: fadeOut 0.3s ease-in-out forwards;
}

@keyframes fadeInWithDelay {
  0%, 50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/*
	Module: auth & register
*/
.mod_auth h1 {
  margin-bottom: 36px;
}

.mod_auth a {
  text-decoration: none;
}

.mod_register .field-box,
.mod_auth .login-box,
.mod_auth .reset-box {
  max-width: 500px;
  margin: 10px auto;
}

.mod_register .register-box {
  max-width: 600px;
  margin: 10px auto;
}

.mod_register .input-group,
.mod_auth .input-group {
  width: 100%;
  margin: 8px 0;
}

.mod_register .form-field-wrap {
  margin-bottom: 20px;
}

@media (max-width: 600px) {

  .mod_auth h1 {
    margin-bottom: 20px;
  }

}

.login-popup {
  max-width: 520px;
  margin: 20px auto;
  padding: 20px 30px;
  text-align: left;
  position: relative;
  background: #eee;
}

.mod_auth #capswarn {
  padding-left: 10px;
  color: #ff8000;
  display: none;
}

/*
	Module: search
*/
.tour-flags span {
  border-radius: 6px;
  margin: 0 5px 5px 0;
  padding: 4px 8px;
  display: inline-block;
}

.tour-flags .booked-yesterday {
  background: #ef7d00;
  color: #fff;
}

.tour-flags .likely-sell-out {
  background: #ef7d00;
  color: #fff;
}

.tour-flags .last-two-places {
  background: #ef7d00;
  color: #fff;
}

.tour-flags .new-activity {
  background: #f0f0f0;
}

.mod_search .typebutton {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

.mod_search .typebutton a {
  color: #000000;
}

.mod_search .typebutton .ball {
  width: 12px;
  height: 12px;
  display: none;
}

.mod_search .typebutton.active a {
  color: #006039;
}

.mod_search .typebutton.active .ball {
  display: inline-block;
}

.mod_search .result .result-image {
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
  -ms-grid-column-align: center;
  justify-self: center;
}

.mod_search .result .result-info {

}

.mod_search .result .tour-price {
  /*font-size: 1.5em;*/
  /*font-weight: bold;*/
}

.mod_search .result .tour-price .per-person {
}

.mod_search .result .available-dates {
  color: #a0a0a0;
  /*font-size: 0.9em;*/
}

@media screen and (max-width: 991px) {
  .searchbar {
    display: block;
  }

  .searchbar .w-button {
    width: 100%;
  }
}

/*
  Module: tours
*/
.mod_tours .tour-info .cell {
  padding-bottom: 15px;
}

.mod_tours.com_booking .tour-info .cell {
  padding-bottom: 5px;
}

.mod_tours .tour-info .cell:first-child {
  width: 45px;
}

.mod_tours.com_booking .tour-info .cell:first-child {
  width: 38px;
}

.mod_tours .tour-info .icon {
  width: 30px;
  height: 30px;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
}

.mod_tours.com_booking .tour-info .icon {
  width: 23px;
  height: 23px;
  margin-right: 5px;
}

.mod_tours .tour-info .desc {
  color: #777;
}

.mod_tours .gallery-grid {
  display: grid;
  grid-template-columns: 1fr 150px;
  grid-template-rows: repeat(3, 1fr);
  gap: 10px;
  height: 500px;
}

.mod_tours .gallery-grid .main-image {
  grid-column: 1;
  grid-row: 1 / 4;
}

.mod_tours .gallery-grid .main-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 25px;
}

.mod_tours .gallery-grid .small-image {
  grid-column: 2;
  overflow: hidden;
  border-radius: 15px;
}

.mod_tours .gallery-grid .small-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mod_tours .gallery-grid .small-image:nth-child(2) {
  grid-row: 1;
}

.mod_tours .gallery-grid .small-image:nth-child(3) {
  grid-row: 2;
}

.mod_tours .gallery-grid .small-image:nth-child(4) {
  grid-row: 3;
}

/* Single image fallback */
.mod_tours .gallery-grid.single-image {
  grid-template-columns: 1fr;
}

.mod_tours .gallery-grid.single-image .main-image {
  grid-column: 1;
  grid-row: 1;
}

/* Mobile responsive */
@media screen and (max-width: 767px) {
  .mod_tours .gallery-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    height: auto;
  }

  .mod_tours .gallery-grid .main-image {
    grid-column: 1;
    grid-row: 1;
    height: 300px;
  }

  .mod_tours .gallery-grid .small-image {
    display: none;
  }
}

.avabox {
  border: 2px solid #006039;
}

.avabox ul {
  padding-left: 1.5rem;
}

.avabox ul li {
  padding-bottom: .5rem;
}

/* Desktop: Three-column grid layout */
@media screen and (min-width: 992px) {
  /* Remove overflow:hidden that breaks sticky on tour pages only */
  .mod_tours .section {
    overflow: visible !important;
  }

  .view-tour-grid {
    display: grid;
    grid-template-columns: 1fr 0.6fr;
    grid-template-rows: auto auto;
    grid-column-gap: 5rem;
    grid-row-gap: 2rem;
    align-items: start;
  }

  /* Image spans first column, first row */
  .tour-image-wrapper {
    grid-column: 1;
    grid-row: 1;
  }

  /* Tour details spans first column, second row */
  .tour-details-content {
    grid-column: 1;
    grid-row: 2;
  }

  /* Avabox spans second column, both rows (sticky) */
  .tour-avabox-wrapper {
    grid-column: 2;
    grid-row: 1 / 3;
    position: sticky;
    top: 100px;
    z-index: 10;
    align-self: start;
    margin-bottom: 50px;
  }

  .avabox {
    max-height: calc(100vh - 120px);
    overflow-y: auto;
  }
}

/* Mobile: Stacked layout in order */
@media screen and (max-width: 991px) {
  .view-tour-grid {
    display: flex;
    flex-direction: column;
  }

  /* Image first */
  .tour-image-wrapper {
    order: 1;
  }

  /* Avabox second */
  .tour-avabox-wrapper {
    order: 2;
    margin-bottom: 2rem;
    width: 100%;
  }

  /* Tour details third */
  .tour-details-content {
    order: 3;
  }

  .avabox {
    width: 100%;
    box-sizing: border-box;
  }
}

.itinerary .cell {
  /*padding-bottom: 40px;*/
}

.itinerary .points {
  width: 50px;
  background: linear-gradient(90deg,
  transparent calc(50% - 1px),
  #436817 calc(50%),
  transparent calc(50% + 1px)
  );
}

.itinerary .table .row:last-child .cell.points {
  background: none;
}

.itinerary .text {
  padding: 13px 0 20px 20px;
}

.itinerary .point {
  font-size: 1.1rem;
  width: 50px;
  height: 50px;
  background-color: #ffffff;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  color: #fff;
}

.itinerary .point > span {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
}

/* Star ratings */

.tour-rating-stars {
  font-size: 24px;
  color: #006039;
}

.tour-rating-stars .fa {
  padding-right: 2px;
}

.tour-rating-number {
  padding-left: 4px;
  font-size: 24px;
  font-weight: bold;
  color: #c42126;
}

.tour-rating-text {
  padding-left: 4px;
}

/* Review bars */

.tour-review-bars {
  width: 100%;
  max-width: 400px;
  color: #5ea34d;
}

.tour-review-bars .stars {
  padding-right: 12px;
  white-space: nowrap;
  vertical-align: middle;
}

.tour-review-bars .bars {
  width: 100%;
  vertical-align: middle;
}

.tour-review-bars .count {
  padding-left: 12px;
  text-align: right;
  vertical-align: middle;
}

.tour-review-bars .bar {
  width: 100%;
  background: #f0f0f0;
  border-radius: 8px;
}

.tour-review-bars .fill {
  height: 12px;
  border-radius: 8px;
  background: #436817;
}

/* Reviews */
.reviews .review {
  padding: 12px 0;
  border-bottom: 4px solid #f0f0f0;
}

.reviews .review-good,
.reviews .review-bad,
.reviews .review-reply {
  margin-bottom: 10px;
}

.mod_tours .no-review {
  color: #777;
  font-style: italic;
}

.reviews .review-good .fa { padding-right: 10px; font-size: 2.2em; color: #5fa396; vertical-align:middle; }
.reviews .review-bad .fa {  padding-right: 10px; font-size: 2.2em; color: #666666; vertical-align:middle; }
.reviews .review-reply .fa { padding-right: 10px; font-size: 1.5em; color: #5fa396; vertical-align:middle; transform: rotateZ(180deg); }
.reviews .no-review .fa {  padding-right: 10px; font-size: 2.2em; color: #CCCCCC; vertical-align:middle; }

.reviews .date {
  color: #777;
}

.mod_tours .reviews .report,
.mod_tours .reviews .reported {
  color: #999;
  padding-left: 10px;
}

.mod_tours .reviews .report:hover {
  color: #f00000;
}

.reviews .replybox {
  margin: 4px 0 0 15px;
  padding: 10px 8px 2px 8px;
  border-top:1px solid #ddd;
}

.reviews .fa-star {
  color: #ef7d00;
}

#more-reviews-button {
  border: 2px solid #006039;
}

/*
  Tour booking
*/
.book-tour-grid {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  grid-column-gap: 5rem;
  /*grid-row-gap: 4rem;*/
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
}

.book-tour-grid > div {
  align-self: start;
}

/* Mobile responsive grid ordering */
@media screen and (max-width: 991px) {
  .book-tour-grid {
    display: flex;
    flex-direction: column;
  }

  .booking-summary-wrapper {
    order: 1;
  }

  .booking-details-wrapper {
    order: 2;
  }
}

.mod_tours .icon-inline {
  width: 23px;
  height: 23px;
  padding-bottom: 3px;
  margin-right: 3px;
  display: inline-block;
  vertical-align: middle;
}

#booking-form .form-field-wrap {
  margin-bottom: 20px;
  position: relative;
}

#booking-form .form-field-wrap.error {
  margin-bottom: 35px;
}

#booking-form .form-label {
  position: absolute;
  top: 4px;
  left: 16px;
  font-size: 12px;
  color: #666;
  pointer-events: none;
  z-index: 1;
  background: transparent;
  padding: 0 4px;
  transition: all 0.2s ease;
}

#booking-form .form-input {
  padding: 20px 16px 8px 16px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  background: #fff;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

#booking-form .form-input:focus {
  border-color: #006039;
  outline: none;
}

#booking-form .form-input:focus + .validation-icon {
  opacity: 0;
}

#booking-form .validation-icon {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

#booking-form .validation-icon::after {
  content: '';
  width: 20px;
  height: 20px;
  background-image: url('/content/static/images/v2/icon_field_checkmark.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: block;
}

#booking-form .validation-message {
  position: absolute;
  left: 16px;
  top: 100%;
  margin-top: 4px;
  font-size: 12px;
  color: #ef4444;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  pointer-events: none;
}

/* Valid state */
#booking-form .form-field-wrap.valid .validation-icon {
  opacity: 1;
}

#booking-form .form-field-wrap.valid .form-input {
  border-color: #10b981;
  background-color: #f0fdf4;
}

/* Error state */
#booking-form .form-field-wrap.error .form-input {
  border-color: #ef4444;
  background-color: #fef2f2;
}

#booking-form .form-field-wrap.error .validation-message {
  opacity: 1;
  visibility: visible;
}

#booking-form .form-field-wrap.error .validation-icon {
  opacity: 0;
}

#booking-form .form-field-wrap.error .form-label {
  color: #ef4444;
}

/* Focused state label */
/*#booking-form .form-input:focus ~ .form-label,*/
/*#booking-form .form-field-wrap.has-value .form-label {*/
/*  background: transparent;*/
/*}*/

/* Select dropdown specific styling */
#booking-form select.form-input {
  padding-right: 40px;
  background-image: url('/content/static/images/v2/6168d2e454973af7dd55449c_icon_chevron.svg');
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

#booking-form select.form-input:focus {
  background-image: url('/content/static/images/v2/6168d2e454973af7dd55449c_icon_chevron.svg');
}

/* Stacked country and phone field */
#booking-form .form-field-stacked .form-input-stack {
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  transition: all 0.2s ease;
  overflow: hidden;
}

#booking-form .form-field-stacked .form-input-stack:focus-within {
  border-color: #006039;
}

#booking-form .form-field-stacked .form-input-wrapper {
  position: relative;
}

#booking-form .form-field-stacked .form-input {
  border: none;
  background: transparent;
  margin: 0;
  box-shadow: none;
  width: 100%;
}

#booking-form .form-field-stacked .form-input:focus {
  border: none;
  box-shadow: none;
  outline: none;
}

#booking-form .form-field-stacked .form-label-country,
#booking-form .form-field-stacked .form-label-phone {
  position: absolute;
  top: 4px;
  left: 16px;
  font-size: 12px;
  color: #666;
  pointer-events: none;
  z-index: 1;
  background: transparent;
  padding: 0 4px;
  transition: all 0.2s ease;
}

#booking-form .form-field-stacked .form-input-country-top {
  border-radius: 0;
  border-bottom: 1px solid #e0e0e0;
  padding: 20px 40px 8px 16px;
  background-image: url('/content/static/images/v2/6168d2e454973af7dd55449c_icon_chevron.svg');
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

#booking-form .form-field-stacked .form-input-country-top:focus {
  border-bottom: 1px solid #e0e0e0 !important;
}

#booking-form .form-field-stacked .form-input-phone-bottom {
  border-radius: 0;
  padding: 20px 16px 8px 16px;
}

/* Focused state labels for stacked fields */
/*#booking-form .form-field-stacked .form-input-country-top:focus ~ .form-label-country,*/
/*#booking-form .form-field-stacked .form-input-phone-bottom:focus ~ .form-label-phone,*/
/*#booking-form .form-field-stacked.has-value .form-label-country,*/
/*#booking-form .form-field-stacked.has-value .form-label-phone {*/
/*  background: transparent;*/
/*}*/

/* Stacked field valid state */
#booking-form .form-field-stacked.valid .form-input-stack {
  border-color: #10b981;
  background-color: #f0fdf4;
}

/* Stacked field error state */
#booking-form .form-field-stacked.error .form-input-stack {
  border-color: #ef4444;
  background-color: #fef2f2;
}

#booking-form .form-field-stacked.error .form-label-country {
  color: #666;
}

#booking-form .form-field-stacked.error .form-label-phone {
  color: #ef4444;
}

/* Validation icon positioning for stacked field - align with middle of phone field */
#booking-form .form-field-stacked .validation-icon {
  right: 16px;
  top: auto;
  bottom: 20px;
  transform: translateY(0);
}

/* ===================== Radio Card Components ===================== */

.radio-card-group {
  display: flex;
  flex-direction: column;
  width: 100%;
  /*border: 2px solid #e0e0e0;*/
  box-shadow: inset 0 0 0 2px #c0c0c0;
  border-radius: 8px;
  overflow: hidden;
}

.radio-card {
  display: block;
  width: 100%;
  cursor: pointer;
  position: relative;
  margin-bottom: 0;
}

.radio-card:not(:last-child) {
  border-bottom: 1px solid #e0e0e0;
}

.radio-card-border-wrapper {
  display: flex;
  align-items: center;
  padding: 14px;
  border: 2px solid transparent;
  border-radius: 0;
  /*background: #fff;*/
  transition: all 0.2s ease;
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

/* First item border wrapper */
.radio-card:first-child .radio-card-border-wrapper {
  border-radius: 6px 6px 0 0;
}

/* Last item border wrapper */
.radio-card:last-child .radio-card-border-wrapper {
  border-radius: 0 0 6px 6px;
}

/* Only child border wrapper */
.radio-card:first-child:last-child .radio-card-border-wrapper {
  border-radius: 6px;
}

.radio-card:hover .radio-card-border-wrapper {
  /*border-color: #bbb;*/
}

.radio-card-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
  pointer-events: none;
}

.radio-card-icon {
  width: 20px;
  height: 20px;
  margin-right: 12px;
  background-image: url('/content/static/images/v2/radio_unselected.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

.radio-card-content {
  flex: 1;
  display: flex;
  align-items: center;
}

.radio-card-text {
  font-size: 16px;
  font-weight: 500;
  color: #333;
}

/* Selected state */
.radio-card-input:checked + .radio-card-icon {
  background-image: url('/content/static/images/v2/radio_selected.svg');
}

.radio-card-input:checked ~ .radio-card-content .radio-card-text {
  color: #006039;
  font-weight: 600;
}

.radio-card:has(.radio-card-input:checked) .radio-card-border-wrapper {
  border-color: #006039;
}

/* Focus state for accessibility */
.radio-card-input:focus + .radio-card-icon {
  outline: 2px solid #006039;
  outline-offset: 2px;
}

/* Alternative for browsers that don't support :has() */
.radio-card.selected .radio-card-border-wrapper {
  border-color: #006039;
}

.radio-card.selected .radio-card-icon {
  background-image: url('/content/static/images/v2/radio_selected.svg');
}

.radio-card.selected .radio-card-text {
  color: #006039;
  font-weight: 600;
}

/* Mobile responsive */
@media screen and (max-width: 479px) {
  .radio-card-border-wrapper {
    padding: 12px;
  }

  .radio-card-text {
    font-size: 14px;
  }
}


/*
  Agency public page
*/
.mod_search .agency-header,
.mod_search .agency-legal {
  width: auto;
}

.mod_search .agency-header .cell.logo {
  padding-right: 20px;
}

.mod_search .agency-legal .cell {
  padding-bottom: 10px;
}

.mod_search .agency-legal .cell.labels {
  padding-right: 100px;
}

@media (max-width: 600px) {

  .mod_search .agency-header,
  .mod_search .agency-header .cell,
  .mod_search .agency-legal,
  .mod_search .agency-legal .row,
  .mod_search .agency-legal .cell {
    display: block;
  }

  .mod_search .agency-header .cell.logo {
    padding-right: 0;
    padding-bottom: 20px;
    text-align: center;
  }
}



/*
	Module: register
*/

#map-canvas {
  background-image: url(/content/static/images/maploader.png);
  background-position: center;
  background-repeat: no-repeat;
}

/*
	Cookie consent
*/
#cc-main .cm--bar.cm--inline .cm__btns {
  max-width: 30em;
}

#cc-main .cm__btn,
#cc-main .pm__btn {
  border-width: 0;
  background: #117143;
}

#cc-main .cm__btn:hover,
#cc-main .pm__btn:hover {
  background: #197e4d;
}

#cc-main .cm__btn--secondary,
#cc-main .pm__btn--secondary {
  border-width: 2px;
  border-color: #117143;
  background: #ffffff;
  color: #117143;
}

#cc-main .cm__btn--secondary:hover,
#cc-main .pm__btn--secondary:hover {
  border-color: #117143;
  background: #f2f8f5;
  color: #117143;
}

#cc-main .cm__desc {
  font-size: 0.75rem;
}

#cc-main .pm__section--toggle .pm__section-title,
#cc-main .pm__close-btn {
  background: #f6f1eb;
  border: none;
}

#cc-main .pm__section--toggle .pm__section-desc-wrapper {
  border-color: #f4eadd;
}

#cc-main .pm__section--toggle .pm__section-title:hover,
#cc-main .pm__close-btn:hover {
  background: #f4eadd;
}

#cc-main .pm__section--expandable .pm__section-arrow,
#cc-main .pm__badge {
  background: #ffffff;
}

#cc-main .section__toggle:checked~.toggle__icon {
  background: #10b981;
}

#cc-main .pm__section:first-child {
  margin-bottom: 1em;
}

#cc-main .pm__title::before {
  content: "";
  display: inline-block;
  width: 130px;
  height: 31px;
  margin-right: 8px;
  background-image: url('/content/static/images/logo.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left bottom;
  vertical-align: middle;
}

/*
 FX appear
*/
.fx-appear {
  transform: translate3d(0, 15px, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

.fx-appear.done {
  transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
  opacity: 1;
  transform-style: preserve-3d;
}


/*
  Page styles
*/
body.mod_pages.com_privacy h4,
body.mod_pages.com_legal h4 {
  margin-top: 32px;
}

body.mod_pages.com_terms h2,
body.mod_pages.com_privacy h2,
body.mod_pages.com_terms_licencee h2 {
  margin-top: 30px;
  margin-bottom: 20px;
}

body.mod_pages.com_terms h3,
body.mod_pages.com_privacy h3,
body.mod_pages.com_terms_licencee h3 {
  margin-top: 30px;
}

body.mod_pages.com_terms .site-content li {
  margin-bottom: 10px;
}

/*
  Home
*/
body.mod_home .city-searchbar {
  padding: 6px;
  border-radius: 50px;
  background: #fff;
  display: flex;
}

body.mod_home .city-searchbar .city-input {
  flex-basis: 99%;
}

body.mod_home #citysearch {
  border: none;
  min-height: 42px;
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
}

body.mod_home .hero-homepage-inner {
  max-width: 550px;
  margin: 0 auto;
  text-align: center;
}

body.mod_home .hero-homepage-inner h1 {
  margin-bottom: 160px;
}

/*noinspection CssNoGenericFontName*/
/*body.mod_home .search-button {*/
/*  border-top-left-radius: 0;*/
/*  border-bottom-left-radius: 0;*/
/*  font-family: 'FontAwesome';*/
/*}*/

/*body.mod_home .search-button:before {*/
/*  content: "\f002";*/
/*}*/

body.mod_home .hero-image-wrap {
  border-radius: 10px;
  overflow: hidden;
}

body.mod_home .autocompleter {
  max-width: 400px;
  padding: 12px;
  border: 1px solid #eee;
  border-top: none;
  border-radius: 12px;
  /*border-bottom-left-radius: 12px;*/
  /*border-bottom-right-radius: 12px;*/
  background: #fff;
  /*background: linear-gradient(to bottom, #ffffff, #f0f0f0);*/
  box-shadow: none;
  color: #006039;
  text-align: left;
  z-index: 1000000;
}

body.mod_home .autocompleter-item {
  padding: 4px 0;
}

body.mod_home .autocompleter-item:hover {
  background-color: unset;
  text-decoration: underline;
}

body.mod_home .tour-videos video {
  /*margin: 0 15px;*/
  border-radius: 8px;
  width: 250px;
}

body.mod_home .home-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  height: 800px;
  /*gap: 30px; !* Optional: adds spacing between grid items *!*/
  column-gap: 30px;
  row-gap: 10px;
}

body.mod_home .home-grid2 {
  display: grid;
  grid-template-columns: 1fr .4fr;
  grid-template-rows: 1fr 1fr;
  height: 500px;
  /*gap: 30px; !* Optional: adds spacing between grid items *!*/
  column-gap: 20px;
  row-gap: 10px;
  margin-top: 2rem;
  border: 10px solid #EB582C;
  background: #EB582C;
}

body.mod_home .home-grid .item1,
body.mod_home .home-grid2 .item1 {
  grid-row: 1 / 3; /* Spans both rows (full height) */
  grid-column: 1; /* Left column */
}

body.mod_home .home-grid .item2,
body.mod_home .home-grid2 .item2 {
  grid-row: 1; /* First row */
  grid-column: 2; /* Right column */
}

body.mod_home .home-grid .item3,
body.mod_home .home-grid2 .item3 {
  grid-row: 2; /* Second row */
  grid-column: 2; /* Right column */
}

body.mod_home .home-grid-item {
  display: flex;
  flex-direction: column;
}

body.mod_home .home-grid2 .home-grid-item.item3 {
  flex-direction: row;
  align-items: flex-end;
}

body.mod_home .home-grid-image {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
}

body.mod_home .home-grid h4 {
  margin-top: 20px;
  margin-bottom: 6px;
}

@media screen and (max-width: 767px) {

  body.mod_home .home-grid {
    grid-template-columns: 1fr; /* Single column */
    grid-template-rows: repeat(3, 1fr); /* Three rows of equal height */
    height: auto; /* Allow height to be determined by rows */
    gap: 10px; /* Maintain gap between items */
  }

  body.mod_home .home-grid2 {
    grid-template-columns: 1fr; /* Single column */
    grid-template-rows: auto auto auto; /* Three rows of equal height */
    height: auto; /* Allow height to be determined by rows */
    gap: 10px; /* Maintain gap between items */
  }

  body.mod_home .home-grid .item1,
  body.mod_home .home-grid .item2,
  body.mod_home .home-grid .item3 {
    grid-column: 1; /* All items in single column */
    aspect-ratio: 1; /* Makes each item square */
    min-width: 0; /* Allow shrinking below intrinsic size */
    overflow: hidden; /* Prevent content overflow */
  }

  body.mod_home .home-grid2 .item1 {
    aspect-ratio: 1;
  }
  body.mod_home .home-grid2 .item1,
  body.mod_home .home-grid2 .item2,
  body.mod_home .home-grid2 .item3 {
    grid-column: 1; /* All items in single column */
  }


  body.mod_home .home-grid .item1,
  body.mod_home .home-grid2 .item1 {
    grid-row: 1; /* First row */
  }

  body.mod_home .home-grid .item2,
  body.mod_home .home-grid2 .item2 {
    grid-row: 2; /* Second row */
  }

  body.mod_home .home-grid .item3,
  body.mod_home .home-grid2 .item3 {
    grid-row: 3; /* Third row */
  }
}



@media screen and (max-width: 479px) {
  body.mod_home h1 {
    font-size: 32px;
  }
}

/* Newsletter form */

.newsletter-wrapper {
  display: flex;
}

.newsletter-image {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  flex: 0 1 40%;
}

.newsletter-content {
  padding: 30px 0 35px 30px;
  color: #ffffff;
  flex: 0 1 60%;
}

.newsletter-content a {
  white-space: nowrap;
}

.newsletter-content input {
  border-radius: 15px;
  margin-right: 10px;
}

.newsletter-fields {
  margin-bottom: 10px;
  display: flex;
}

.newsletter-footer {
  color: #888888;
}

.newsletter-footer p {
  padding-top: 5px;
}

.newsletter-footer a {
  color: #888888 !important;
  font-weight: bold;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {

  .newsletter-section {
    background-color: #ffffff;
  }

  .newsletter-wrapper {
    padding: 5px 20px 10px 20px;
    border-radius: 25px;
    background-color: #006039;

  }
  .newsletter-image {
    display: none;
  }
  .newsletter-content {
    padding: 0;
    flex-basis: 100%;
  }
  .newsletter-fields {
    display: block;
  }
  .newsletter-content input {
    margin-bottom: 15px;
  }
  .newsletter-content .button-with-icon {
    padding: 8px;
    justify-content: center;
    align-items: center;
  }
}





