/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: VisitWidget
Author URI: https://visitwidget.com/
Template: Avada
Version: 1.0.0
Text Domain: Avada

Contents
 - layout utilities
 - form elements
 - site header
 - header
 - explore menu
 - search
 - hero section
 - scroll animation icon
 - mobile intro section
 - contact section
 - component - content block
 - component - activities
 - component - category accordion
 - component - double cta with images
 - component - video popup
 - avada/fusion builder customizations
 - single post template - 100% full width
 - post type - story
 - media box modal / lightbox
 - stories filter
 - posts filter
*/

html {
  overscroll-behavior: none;
}

/* layout utilities */

.vw-section {
  position: relative;
  height: 100dvh;
}

.vw-section::after {
  content: '';
  box-shadow:
    inset 0px 12px 20px -10px #00000075,
    inset 0px -12px 20px -10px #00000075;
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.vw-section--no-shadow::after {
  box-shadow: none;
}

.vw-container-100 {
  overflow: hidden !important;
}

.vw-container-100 > .fusion-row {
  max-width: unset !important;
}

.vw-row {
  padding: 0 30px;
  position: relative;
  width: 100%;
}

.vw-container {
  width: 100%;
  max-width: var(--site_width);
  margin: 0 auto;
  padding: 75px 0px 45px;
  position: relative;
  height: 100%;
}

.vw-flex {
  display: flex;
}

.vw-grid {
  display: grid;
}

.vw-icon {
  color: white;
  font-size: 2rem;
  width: fit-content;
}

.vw-btn {
  padding: 0px 25px;
  border-radius: 30px;
  background-color: var(--block-cta-bg-color);
  font-family: var(--h3_typography-font-family);
  font-size: 1.25rem;
  display: inline-block;
  text-align: center;
  letter-spacing: 2px;
  line-height: 1.25;
}

.vw-btn-primary {
  background-color: white;
  color: black;
}

.vw-btn-primary:hover {
  background-color: rgb(215, 215, 215);
  color: black;
}

.vw-add-to-plan-button {
  background-color: #173155;
  color: white;
  border: 1px solid white;
  cursor: pointer;
  transition: color, background-color .2s linear;
  font-family: unset;
}

.vw-add-to-plan-button:hover {
  background-color: var(--link_hover_color);
}

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

.vw-card img {
  object-fit: cover;
  border: 2px solid #ffffff;
  border-radius: 10px;
  aspect-ratio: 9 / 12;
}

.vw-card h3 {
  font-size: 1.25rem !important;
}

#main.full-bg,
.wrapper_blank #main.full-bg {
  background-attachment: scroll !important;
}

.snap-scroll {
  overflow: scroll;
  height: 100dvh;
  scroll-snap-type: y mandatory;
  scroll-snap-stop: always;
  position: fixed;
  width: 100%;
}

.snap-scroll > div,
.snap-scroll > section {
  height: 100%;
  scroll-snap-align: center;
  position: relative;
}

.admin-bar .snap-scroll {
  height: calc(100dvh - 46px);
}

.vw-desktop-only {
  display: none !important;
}

@media screen and (min-width: 768px) {
  .vw-section {
    height: unset;
  }

  .vw-container {
    padding: 75px 0px;
  }

  .vw-card img {
    width: 250px;
  }

  .snap-scroll {
    scroll-snap-type: none;
    height: unset;
    overflow: unset;
    position: relative;
  }

  .snap-scroll > div,
  .snap-scroll > section {
    height: auto;
    scroll-snap-align: unset;
  }

  .vw-mobile-only {
    display: none !important;
  }

  .vw-desktop-only {
    display: flex !important;
  }
}

@media screen and (min-width: 782px) {
  .admin-bar {
    overflow: auto;
  }

  .admin-bar .snap-scroll {
    height: unset;
  }
}

/* form elements */

.input-group {
  display: flex;
  gap: 10px;
  color: white;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
}

.input-group__input {
  border-radius: 10px;
  padding: 10px 8px;
}

.input__select {
  padding: 8px 15px 8px 10px;
  border-radius: 10px;
  font-size: 1.25rem;
}

.input__text,
.input-group__input {
  background-color: white !important;
}

/* site header */

#site-header {
  position: fixed;
  width: 100%;
  top: 0px;
  z-index: 99;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);
  color: white;
  padding: 0px 15px;
  transition: all .2s ease-in-out;
}

.admin-bar #site-header {
  top: 46px;
}

#site-header.small {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);
}

.header__container {
  width: 100%;
  max-width: var(--site_width);
  margin: 0 auto;
  position: relative;

  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 15px;
  padding: 15px 0;
}

.small .header__container {
  justify-content: space-between;
}

.small .logo,
.logo__mobile,
.header__nav,
.nav__top,
.nav__main {
  display: none;
}

.small .logo__mobile {
  display: block;
}

.header__logo {
  display: flex;
  place-items: center center;
  order: 1;
  margin-bottom: 8px;
  flex: 1;

  justify-content: center;
}

.small .header__logo {
  justify-content: flex-start;
}

.header__logo a {
  width: 250px;
}

.small .header__logo a {
  width: 150px;
}

.small .header__logo {
  margin-bottom: 0px;
}

.small .header__logo a {
  width: 75px;
}

.header__nav {
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  flex: 1;
}

.small .header__nav {
  display: none;
}

.small .nav__search {
  display: none;
}

.search-toggle {
  background-color: transparent;
  border: 0px;
  outline: none;
  font-size: 1.5rem;
  color: white;
  cursor: pointer;
  padding: 0px;
}

.header__search {
  width: 50px;
  background-color: rgba(24, 24, 24, 0.76);
  transition: all calc(300 * 1ms) cubic-bezier(.42, .01, .58, 1);
  order: 2;
  border-radius: 25px;
  overflow: hidden;
  display: none;
}

.header__search.open {
  width: 135px;
}

.small .header__search {
  display: block;
}

.header__search.open {
  opacity: 1;
  visibility: visible;
}

.header__search .s {
  background-color: transparent !important;
  color: white !important;
  height: 28px !important;
}

.header__search .s::placeholder {
  color: white !important;
}

.header__search .searchsubmit {
  color: white !important;
}

.header__menu-icon {
  order: 3;
  cursor: pointer;
  position: absolute;
  right: 0px;
}

.small .header__menu-icon {
  position: relative;
  right: unset;
}

.header__menu-icon i {
  font-size: 32px;
}

.small .header__menu-icon {
  display: block;
}

.gtranslate_wrapper {
  margin: 0px !important;
}

.nav__top .gtranslate_wrapper {
  display: flex;
  flex-direction: row;
  gap: 5px;
}

.nav__top .gtranslate_wrapper .gt_switcher {
  font-family: var(--awb-typography4-font-family) !important;
  letter-spacing: 1px;
  font-size: clamp(8px, 1vw, 12px) !important;
  line-height: 1 !important;
  width: unset !important;
}

.nav__top .gtranslate_wrapper .gt_switcher a {
  font-size: clamp(8px, 1vw, 12px) !important;
}

.nav__top .gtranslate_wrapper .gt_switcher .gt_option {
  position: absolute !important;
  width: unset !important;
}

.nav__top .gtranslate_wrapper .gt_switcher .gt_selected a {
  padding: 8px 25px 8px 10px !important;
  border: 0px !important;
  text-transform: uppercase !important;
  width: unset !important;
  display: flex !important;
}

.nav__top .gtranslate_wrapper .gt_white_content .glink {
  color: black !important;
}

.vw-explore-right a:not(.gt_white_content a) {
  color: white !important;
}

@media screen and (min-width: 768px) {
  #site-header {
    padding: 0px 30px;
    position: fixed;
  }

  #site-header.small {
    background-image: linear-gradient(180deg,
        rgba(0, 0, 0, 1) 10%,
        rgba(0, 0, 0, .1) 75%,
        rgba(0, 0, 0, 0) 90%);
  }

  #site-header.small .nav__top {
    display: none;
  }

  .admin-bar #site-header {
    top: 28px;
  }

  .header__container {
    gap: 25px;
    padding: 15px 0 25px 0;
  }

  .small .header__container {
    padding-top: 20px;
  }

  .header__logo {
    width: 25%;
    transition: all .2s ease-in-out;
    margin: 0px;
    order: unset;
    flex: unset;
    justify-content: flex-start;
  }

  .header__logo a {
    width: 300px;
  }

  .logo {
    display: block;
  }

  .logo__mobile,
  .nav__search {
    display: none;
  }

  .header__nav {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    gap: 10px;
  }

  .small .header__nav {
    display: flex;
  }

  .header__nav ul {
    list-style: none;
    padding: 0px;
    margin: 0px;

    display: flex;
    flex-direction: row;
    gap: 25px;
  }

  .nav__top,
  .nav__main {
    display: flex;
  }

  .nav__top ul li a,
  .nav__main ul li a {
    color: white;
  }

  .nav__top ul {
    display: flex;
    align-items: center;
    gap: 15px;
  }

  .nav__top a {
    display: flex;
    align-items: center;
    gap: 5px;
  }

  .nav__top .social-icon {
    font-size: 24px;
  }

  .nav__main {
    gap: 15px;
  }

  .search-toggle,
  .nav__main ul {
    font-size: clamp(14px, 1.5vw, 20px);
  }

  .nav__main ul {
    letter-spacing: 1px;
    align-items: center;
    line-height: 1;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 15px;
    row-gap: 10px;
  }

  .nav__main ul li.menu-item-has-children > a::after {
    font-family: 'icomoon' !important;
    content: "\ea1c";
    rotate: 90deg;
    color: white;
    font-size: clamp(10px, 1vw, 12px);
    display: inline-block;
    margin-left: 4px;
  }

  .nav__main ul li {
    cursor: pointer;
  }

  .nav__main ul li a {
    font-family: var(--awb-typography2-font-family);
  }

  .nav__main .sub-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    z-index: -10;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    transition: all calc(300 * 1ms) cubic-bezier(.42, .01, .58, 1);
    top: calc(100% - 25px);
    width: max-content;
    gap: 0px;
    font-size: clamp(12px, 1.5vw, 16px);
  }

  .nav__main .sub-menu li {
    width: 100%;
    background-color: white;
    border-bottom: 1px solid #e2e2e2;
  }

  .nav__main .sub-menu li:last-child {
    border: 0px;
  }

  .nav__main .sub-menu li a {
    display: block;
    color: #212934;
    padding: 12px 20px;
  }

  .nav__main .sub-menu li:hover {
    background-color: #f9f9fb;
  }

  .nav__main ul li.menu-item-has-children:hover .sub-menu {
    visibility: visible;
    opacity: 1;
    z-index: 99999999;
  }

  .newsletter-button a,
  .plan-your-trip-button a {
    padding: 10px 10px 10px 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: clamp(8px, 1vw, 12px);
    line-height: 1;
  }

  .newsletter-button {
    background-color: #474747;
  }

  .plan-your-trip-button {
    background-color: #0d3255;
  }

  .plan-your-trip-button i {
    color: var(--link_hover_color);
  }

  .header__search,
  .header__search.open {
    width: unset;
  }

  .header__search {
    right: 0px;
    top: calc(100% - 20px);
    background-color: white;
    position: absolute;
    padding: 15px;
    opacity: 0;
    visibility: hidden;
    border-radius: 0px;
    order: unset;
    display: unset;
  }

  .header__search .s {
    background-color: var(--form_bg_color) !important;
    height: var(--form_input_height) !important;
  }

  .header__search .s,
  .header__search .s::placeholder,
  .header__search .searchsubmit {
    color: var(--form_text_color) !important;
  }

  .header__menu-icon {
    display: none !important;
  }
}

/* header */

.fusion-tb-header {
  position: absolute;
  width: 100%;
}

@media screen and (min-width: 1025px) {
  .awb-menu__sub-ul {
    text-shadow: none;
  }
}

.fusion-social-networks-wrapper {
  display: flex;
}

.fusion-social-network-icon {
  order: 1;
  margin: 0px !important;
}

.fusion-social-network-icon.fusion-youtube {
  order: 3;
}

.fusion-social-network-icon.fusion-tiktok {
  order: 4;
}

.fusion-social-network-icon.fusion-pinterest {
  order: 5;
}

.fusion-social-networks .fusion-social-network-icon:before {
  padding: 10px;
  display: block;
}

/* explore menu */

.vw-explore-menu-header {
  .searchform {
    border-radius: 25px;
    overflow: hidden;
    width: 135px;
  }

  .s {
    height: 28px !important;
  }

  .s,
  .s::placeholder,
  .searchsubmit,
  .gt_switcher-popup.glink {
    color: white !important;
  }

  .fa-times:hover {
    background-color: unset !important;
  }
}

/* search page */

.search #main,
.error404 #main {
  padding: 0px !important;
}

.search #content,
.error404 #content {
  width: 100% !important;
}

/* hero section */

.section-hero {
  background-image: var(--hero-bg-image-mobile);
  background-size: cover;
  background-position: center;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 30vh 30px 125px;
}

.section-hero h1 {
  letter-spacing: 4px;
  font-size: 2rem;
  line-height: 1.125;
  margin-bottom: 10px;
  display: var(--title-display-mobile);
}

.section-hero h2 {
  font-family: var(--body_typography-font-weight) !important;
  font-style: italic !important;
  font-size: 1.25rem !important;
}

.section-hero h1,
.section-hero h2 {
  text-transform: none;
  text-shadow: 2px 2px 2px black;
  color: var(--hero-text-color, white);
}

@media screen and (min-width: 768px) {
  .section-hero {
    background-image: var(--hero-bg-image);
    min-height: 700px;
  }
}

/* scroll icon animation */

.slide__scroll-icon {
  padding-top: 60px;
  position: absolute;
  bottom: 110px;
  z-index: 9;
  left: 0px;
  right: 0px;
}

.slide__scroll-icon span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: scrollFade 2s infinite;
  animation: scrollFade 2s infinite;
  opacity: 0;
  box-sizing: border-box;
}

.slide__scroll-icon span:nth-of-type(1) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.slide__scroll-icon span:nth-of-type(2) {
  top: 12px;
  -webkit-animation-delay: .15s;
  animation-delay: .15s;
}

.slide__scroll-icon span:nth-of-type(3) {
  top: 24px;
  -webkit-animation-delay: .3s;
  animation-delay: .3s;
}

@-webkit-keyframes scrollFade {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes scrollFade {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@media screen and (min-width: 768px) {
  .slide__scroll-icon {
    display: none;
  }
}

/* mobile intro section */

.section-intro {
  background-image: var(--bg-image-mobile);
  background-size: cover;
  background-position: center;
  position: relative;
}

.section-intro .intro-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 28vh 30px 125px;
  background: rgba(0, 0, 0, .5);
  color: white;
  position: absolute;
  inset: 0px;
}

/* contact section */

.section-contact {
  background-image: var(--contact-bg-image);
  background-repeat: repeat-x;
  background-position: center;
  color: white;
}

.section-contact .vw-row {
  height: 100%;
}

.section-contact .vw-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.section-contact .vw-flex {
  flex-direction: column;
  gap: 25px;
  align-items: center;
}

.section-contact .place-title {
  font-size: 2rem;
  text-transform: unset;
  text-align: center;
  font-family: var(--awb-typography4-font-family);
  line-height: 1;
  letter-spacing: 2px;
}

.col-address {
  order: 1;
}

.col-address address {
  font-style: normal;
  text-align: center;
}

.col-address address svg {
  margin-right: 10px;
}

.col-links {
  gap: 20px;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  flex-direction: column;
  order: 3;
}

.place-btn-external-link {
  padding: 0px 25px;
  font-family: unset;
}

.place-btn-external-link:hover {
  background-color: var(--link_hover_color);
}

.col-address address,
.col-phone {
  font-size: 24px;
}

.col-phone {
  order: 2;
  margin-top: -25px;
}

.col-phone a {
  color: white;
}

.col-social-icons {
  display: flex;
  gap: 15px;
  order: 4;
}

.section-contact .vw-add-to-plan-button {
  order: 5;
}

@media screen and (min-width: 768px) {
  .section-contact {
    border-top: 4px solid white;
    border-bottom: 4px solid white;
  }

  .section-contact .vw-flex {
    flex-direction: row;
    gap: 15px;
    flex-wrap: wrap;
    justify-content: center;
  }

  .section-contact .vw-container {
    padding: 10px 0;
    display: block;
    letter-spacing: 3px;
  }

  .section-contact .place-title {
    font-size: 48px;
    margin: 0px;
    font-family: var(--awb-typography2-font-family);
  }

  .col-links {
    flex-direction: row;
    order: 2;
  }

  .col-phone {
    order: 3;
    margin: 0px;
  }
}

/* component - content block */

.component-content-block {
  height: 100dvh;
  display: flex;
  flex-direction: column;
  background-color: var(--block-section-bg-color);
}

.component-content-block .vw-row {
  background-image: var(--block-bg-image-mobile);
  background-position: var(--block-bg-image-position);
  background-size: cover;
  flex: 1;
  overflow-y: auto;
}

.component-content-block .vw-container {
  display: flex;
  flex-direction: column;
  align-items: var(--block-mobile-align-items);
  scrollbar-width: 0px;
}

.component-content-block .vw-container::-webkit-scrollbar {
  width: 0px;
  scrollbar-width: 0px;
}

.component-content-block__content {
  display: flex;
  flex: 1;
  width: var(--block-mobile-content-width);
  justify-content: var(--block-mobile-justify-content);
  flex-direction: column;
}

.component-content-block .block__heading h2 {
  line-height: 0;
  width: 100%;
  margin-bottom: 10px;
}

.component-content-block .block__body {
  display: flex;
  flex-direction: column;
  position: var(--block-mobile-body-position);
  bottom: var(--block-mobile-body-bottom);
  align-items: var(--block-mobile-cta-body-alignment);
  left: 0px;
  right: 0px;
}

.component-content-block .block__body p {
  line-height: 0;
  margin-top: 0px;
  width: 100%;
}

.component-content-block .text-line {
  font-size: var(--line-font-size);
  color: var(--line-color);
  font-family: var(--line-font-family);
  line-height: var(--line-line-height);
  letter-spacing: var(--line-letter-spacing);
  text-align: var(--line-text-align);
  font-style: var(--line-font-style);
  text-shadow: var(--line-text-shadow);
  display: block;
}

.component-content-block .text-line a {
  color: var(--link_hover_color);
}

.component-content-block .text-line a svg {
  fill: var(--link_hover_color);
}

.component-content-block .text-line svg {
  width: calc(var(--line-font-size) * .65);
  height: calc(var(--line-font-size) * .8);
  fill: var(--line-color);
}

.component-content-block .vw-btn {
  color: var(--block-mobile-cta-text-color);
  background-color: var(--block-mobile-cta-background-color);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 3px;
  width: fit-content;
}

.component-content-block .vw-btn:hover {
  background-color: var(--block-mobile-cta-background-color);
}

.component-content-block .vw-btn svg {
  width: 1.125rem;
  fill: var(--block-mobile-cta-text-color);
}

.bg-credit {
  color: white;
  position: absolute;
  bottom: 10px;
  right: 10px;
  line-height: 1;
  text-align: right;
}

.bg-credit span {
  display: block;
}

.bg-credit span:first-of-type {
  font-family: var(--awb-typography2-font-family);
}

@media screen and (min-width: 768px) {
  .component-content-block {
    border-bottom: 0px solid white;
    border-bottom-width: var(--block-border-bottom);
    height: var(--block-section-height-value) !important;
    margin-top: var(--block-offset-top);
  }

  .component-content-block .vw-row {
    background-image: var(--block-bg-image);
    overflow: auto;
  }

  .component-content-block .vw-container {
    align-items: var(--block-desktop-align-items);
  }

  .component-content-block__content {
    width: var(--block-desktop-content-width);
    justify-content: var(--block-desktop-justify-content);
  }

  .component-content-block .block__body {
    position: var(--block-desktop-body-position);
    bottom: var(--block-desktop-body-bottom);
    align-items: var(--block-desktop-cta-body-alignment);
    width: 100%;
  }

  .component-content-block .vw-btn {
    color: var(--block-desktop-cta-text-color);
    background-color: var(--block-desktop-cta-background-color);
  }

  .component-content-block .vw-btn:hover {
    background-color: var(--block-desktop-cta-background-color);
  }

  .component-content-block .vw-btn svg {
    fill: var(--block-desktop-cta-text-color);
  }

  .bg-credit {
    bottom: 30px;
    right: 30px;
    width: unset;
  }

  .bg-credit span {
    display: inline-block;
  }
}

/* component - activities */

.component-activities .vw-container {
  max-width: unset;
  max-height: 100dvh;
  display: flex;
  padding: 0px;
}

.component-activities.vw-section {
  box-shadow: unset;
}

.component-activities .swiper {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
}

.activities__heading {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border-top: 2px solid white;
  border-bottom: 2px solid white;
  text-transform: uppercase;
}

.component-activities h3 {
  color: white;
  text-align: center;
  background-color: black;
  margin: 0px;
  width: 100%;
  padding: 5px 10px;
}

.activities-wrapper .activity {
  background-color: #ededed;
  text-align: center;
  position: relative;
}

.activities-wrapper .activity:nth-child(even) {
  padding-top: 28px;
}

.activities-wrapper .activity:nth-child(odd) {
  padding-bottom: 28px;
}

.activity .activity-container {
  width: 100%;
  height: 100%;
  background-image: var(--activity-bg-image);
  background-size: cover;
  background-position: center;
  padding: 25px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  transition: filter .6s;
}

.activities-wrapper .activity h4 {
  color: white;
  font-size: 1.25rem;
  text-transform: uppercase;
  line-height: 1.25;
  font-family: var(--h3_typography-font-family);
  z-index: 1;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  content: '' !important;
}

.swiper-button-prev,
.swiper-button-next {
  width: 50px !important;
  height: auto;
}

.swiper-button-prev svg,
.swiper-button-next svg {
  fill: white;
  filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 1));
  -webkit-filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 1));
}

.swiper-button-prev svg path,
.swiper-button-next svg path {
  fill: white;
}

@media screen and (min-width: 768px) {
  .component-activities {
    border-bottom: 0px solid white;
    border-bottom-width: var(--activities-border-bottom);
  }

  .component-activities h3 {
    border-bottom-right-radius: 25px;
    border-bottom-left-radius: 25px;
    padding: 10px 25px;
    width: fit-content;
  }

  .activities__heading {
    border: none;
  }

  .component-activities .swiper {
    height: unset;
    display: block;
  }

  .activities-wrapper.swiper-wrapper {
    height: 100%;
  }

  .activities-wrapper .activity:nth-child(even) {
    padding-top: 0px;
  }

  .activities-wrapper .activity:nth-child(odd) {
    padding-bottom: 0px;
  }

  .activity .activity-container {
    aspect-ratio: 1/1.5;
    height: unset;
  }

  .activity:nth-child(3) .activity-container,
  .activity:nth-child(4) .activity-container {
    padding: 25px;
  }

  .activities-wrapper .activity h4 {
    font-size: 2rem;
  }
}

/* component - category accordion */

.component-category-accordion {
  overflow: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  background-color: var(--vw-category-accordion-content-background-color);
  background-image: var(--vw-category-accordion-content-background-image);
  background-size: cover;
  background-position: center;
}

.cca__heading {
  overflow: auto;
  cursor: pointer;
}

.cca__heading .vw-container {
  padding: 65px 0px 15px;
}

.cca__heading .vw-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.cca__heading h3 {
  color: var(--vw-category-accordion-text-color);
  margin: 0px;
  text-transform: uppercase !important;
  pointer-events: none;
  font-size: 16px !important;
}

.cca__heading svg {
  width: 16px;
  fill: white;
  display: none;
}

.cca__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 10px;
  font-size: 16px;
  flex: 1;
  overflow: scroll;
}

.cca__content a {
  color: var(--vw-category-accordion-content-link-color);
}

@media screen and (min-width: 768px) {
  .component-category-accordion {
    margin-top: var(--vw-category-accordion-margin-top);
    z-index: 1;
    background-color: var(--vw-category-accordion-content-background-color);
    background-image: unset;
    border-bottom: 0px solid white;
    border-bottom-width: var(--vw-category-accordion-border-bottom);
  }

  .cca__heading {
    background-color: var(--vw-category-accordion-heading-background-color);
  }

  .cca__heading .vw-container {
    padding: 10px 0px;
  }

  .cca__content {
    padding-bottom: 10px;
    background-color: var(--vw-category-accordion-content-background-color);
    background-image: var(--vw-category-accordion-content-background-image);
    background-size: cover;
    background-position: center;
  }

  .component-category-accordion.active .cca__content {
    display: flex;
  }

  .component-category-accordion .cca__heading .arrow-right,
  .component-category-accordion.active .cca__heading .arrow-down {
    display: inline;
    margin-top: -2px;
  }

  .cca__content,
  .component-category-accordion .cca__heading .arrow-down,
  .component-category-accordion.active .cca__heading .arrow-right {
    display: none;
  }
}

/* component - double cta with images */

.component-double-cta {
  display: flex;
  flex-direction: column;
}

.vw-double-cta__column {
  flex: 1;
  background-image: var(--vw-double-cta-background-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.vw-double-cta__column .vw-row {
  height: 100%;
}

.vw-double-cta__column h2 {
  color: var(--vw-double-cta-text-color);
  text-transform: uppercase !important;
  letter-spacing: 3px !important;
  font-family: var(--h3_typography-font-family) !important;
}

@media screen and (min-width: 768px) {
  .component-double-cta {
    flex-direction: row;
    border-bottom: 0px solid white;
    border-bottom-width: var(--double-cta-border-bottom);
  }

  .vw-double-cta__column {
    height: 425px;
  }

  .vw-double-cta__column .vw-container {
    padding: 25px 0px
  }

  .vw-double-cta__column h2 {
    font-size: 56px !important;
    line-height: 1 !important;
  }
}

/* component - video popup */

.component-video-popup {
  background-image: var(--video-popup-background-image);
  background-size: cover;
  background-position: top;
}

.component-video-popup::after {
  content: none;
}

.component-video-popup .vw-container {
  padding: 0px;
}

.component-video-popup .vw-row {
  height: 100% !important;
  padding: 0px;
}

.cvp__popup-link {
  display: flex;
  height: 100%;
}

.cvp__wrapper {
  background-image: var(--video-popup-cover-image-mobile);
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  padding: 25px;
  border-radius: 5px;
}

.cvp__title {
  display: flex;
  gap: 15px;
  align-items: center;
}

.vw-icon-play {
  border: 6px solid white;
  border-radius: 100px;
  padding: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 85px;
  height: 85px;
}

.vw-icon-play svg {
  fill: white;
  width: 85px;
}

@media screen and (min-width: 768px) {
  .cvp__wrapper {
    height: 500px;
    border: 10px solid white;
    background-image: var(--video-popup-cover-image);
  }

  .component-video-popup {
    margin-top: var(--video-popup-bg-offset-top);
  }

  .component-video-popup .vw-container {
    padding: 75px 0px;
  }

  .component-video-popup .vw-row {
    padding: 0px 30px;
  }

  .cvp__popup-link {
    margin-top: var(--video-popup-offset-top);
    z-index: 10;
    position: relative;
  }
}

/* avada/fusion builder customizations */

.fusion-layout-column .fusion-column-wrapper {
  min-height: unset !important;
}

.off-canvas-content > p:first-of-type {
  margin: 0px;
}

/* single post template - 100% full width */

.single #main {
  padding: 0px !important;
}

.single #main > .fusion-row:first-of-type {
  max-width: 100%;
}

.single #content {
  width: 100% !important;
  float: none;
}

.single article {
  margin: 0px !important;
}

/* post type - story */

.story__content {
  background-size: cover;
  background-position: center;
  padding: 175px 0 50px;
  height: 100vh;
  background-image: var(--background-image-mobile);
}

.story__content .story__title {
  margin-top: 11vh;
}

.story__content .story__title h1 {
  font-size: 2.25rem;
  text-align: center;
  margin: 0px;
  text-shadow: 2px 2px 2px black;
}

.story__read {
  padding: 75px 0 175px;
  background-position: center;
  background-size: cover;
  background-color: #1c1c1c;
  position: relative;
}

.story-background {
  background-position: center;
  background-size: cover;
  position: absolute;
  inset: 0px;
  transition: opacity .5s ease-in-out;
  opacity: 0;
}

.story-background-0 {
  opacity: 1;
}

.story-section-text,
.story-section-image {
  background-size: cover;
  background-position: center;
  height: calc(100vh - 46px);
  background-color: rgb(16, 16, 16);
  color: white !important;
}

.story-section-image {
  background-image: var(--background-image-mobile);
}

.story-section-image h2 {
  color: white !important;
  text-align: center;
  text-shadow: 2px 2px 2px black;
  text-transform: uppercase !important;
  font-size: 2.25rem !important;
}

.story-section-image .vw-row {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.story-section-text {
  padding: 15px 0px 25px;
  background-image: url('/wp-content/uploads/2023/01/bg-texture-scaled.jpg');
  height: 100%;
}

.story-section-text .vw-row {
  padding: 0 15px;
  height: 100%;
}

.story__audio--mobile {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 15px;
}

.story__audio--mobile h2 {
  color: white;
  font-family: var(--h4_typography-font-family) !important;
  font-size: 2rem !important;
  margin-bottom: .5rem;
}

.story__audio-player {
  width: 100%;
}

.story__audio--mobile {
  display: none;
}

.story__files button {
  background-color: white;
  color: black;
  font-family: var(--h3_typography-font-family);
  outline: none;
  border: 1px solid black;
  display: flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  font-size: 1rem;
}

.story__files button svg {
  width: 16px;
}

.story__btn--audio.playing::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f04c";
  display: inline-block;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-size: 1rem;
}

.story__btn--audio.playing svg {
  display: none;
}

.story__files .vw-container {
  padding: 25px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-direction: column;
}

.story__links {
  z-index: 1;
}

.story__links .vw-container {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 25px 0;
}

.story__links .vw-container a {
  background-color: white;
  border-radius: 0px;
  padding: 0px;
  display: inline-block;
  text-align: center;
  letter-spacing: 0px;
  line-height: 1.25;
  color: black;
  text-transform: uppercase;
  font-family: var(--h3_typography-font-family);
}

.story__links .vw-container a[rel='prev'],
.story__links .vw-container a[rel='next'] {
  padding: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 25px;
  border: 0px;
  fill: black;
  border-radius: 30px;
}

.story__links .vw-container a[rel='prev'] {
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}

.story__links .vw-container a[rel='next'] {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

/* .story__links .vw-container a[rel='prev'] svg,
.story__links .vw-container a[rel='next'] svg {
  -webkit-filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 1));
  filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 1));
} */

@media screen and (min-width: 768px) {
  .story__content {
    padding: 125px 0;
    background-image: var(--background-image);
  }

  #story-start {
    margin-top: unset;
  }

  .story__read {
    height: 100dvh !important;
    flex-direction: row;
    padding: 0px;
  }

  .admin-bar .story__read {
    height: calc(100dvh - 32px) !important;
  }

  .story__read .story__backgrounds,
  .story__read .story__text {
    position: relative;
    flex: 1;
  }

  .story__text {
    padding: 150px 0 125px;
    background-color: black;
  }

  .story__desktop {
    flex-direction: column;
  }

  .story-section-image {
    background-image: var(--background-image);
  }

  .story__files .vw-container {
    justify-content: flex-end;
    flex-direction: row;
    padding: 25px 0;
  }

  .story__files button {
    font-family: var(--h4_typography-font-family);
    font-size: 1.25rem;
  }

  .story__scroll-box {
    height: 100%;
    color: white;
    z-index: 1;
    font-size: 24px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    min-height: 200px;
    padding: 0px 90px;
  }

  .story__scroll-box .scroll {
    height: 100%;
    overflow-y: scroll;
    scrollbar-width: 0px;
    position: relative;
  }

  .story__scroll-box .scroll::-webkit-scrollbar {
    width: 0px;
    scrollbar-width: 0px;
  }

  .story__scroll-box h1 {
    font-size: 50px;
    font-family: var(--h3_typography-font-family);
    text-align: center;
    letter-spacing: 3px;
  }

  .story__scroll-box p {
    font-family: var(--awb-custom_typography_1-font-family);
    font-size: var(--awb-custom_typography_1-font-size);
    font-weight: var(--awb-custom_typography_1-font-weight);
    font-style: var(--awb-custom_typography_1-font-style);
    line-height: var(--awb-custom_typography_1-line-height);
    letter-spacing: var(--awb-custom_typography_1-letter-spacing);
    text-transform: var(--awb-custom_typography_1-text-transform);
  }

  .scroll > p:first-of-type {
    margin-top: 0px;
  }
}

/* media box modal / lightbox */

@media screen and (min-width: 768px) {
  .mediabox-content {
    max-width: unset !important;
    display: flex;
    align-items: center;
  }

  .mediabox-wrap .mediabox-content iframe {
    padding: 50px;
    width: 100%;
    aspect-ratio: 16/9;
    max-height: 100%;
    height: unset !important;
  }

  .mediabox-close {
    top: 25px !important;
    right: 15px !important;
    bottom: unset !important;
    z-index: 10;
  }
}

/* stories filter */

.single-story .scroll a {
  color: var(--link_color);
  text-decoration: underline;
}

.stories-page .post-content {
  background-position: center;
  background-size: cover;
}

.stories-filter-container {
  background-size: cover;
  background-position: center;
}

.stories-filter-container .vw-row {
  padding: 0px 15px;
  height: 100%;
}

.stories-filter-container h3 {
  text-align: center;
  font-size: 24px !important;
  font-family: var(--h4_typography-font-family) !important;
  margin-top: 0px;
}

@media screen and (min-width: 768px) {
  .stories-filter-container .vw-container {
    padding: 75px 0 95px;
  }

  .stories-filter-container h3 {
    font-size: 32px !important;
  }
}

/* posts filter */

.posts__filter {
  height: 100%;
}

.posts__filter .input-group__fields {
  display: flex;
  gap: 10px;
}

.posts__filter .input-group__label {
  font-size: 22px;
}

.posts__filter select.input-group__input {
  position: relative;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background: url("data: image/svg+xml, %3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='25px' height='25px' viewBox='0 0 10 10' enable-background='new 0 0 10 10' xml:space='preserve' %3E%3Cpolygon points='7,3.5 5,6.5 3,3.5 ' /%3E%3C/svg%3E");
  background-position: right 10px top 50%;
  background-repeat: no-repeat;
  padding: 2px 30px 2px 10px;
  width: 33%;
  height: unset;
}

.posts__filter .posts__results,
.posts__filter .posts__pagination {
  display: none;
}

.posts-swiper .swiper-pagination {
  bottom: 100px !important;
}

.posts-swiper .swiper-pagination-bullet {
  background: yellow !important;
  width: 10px !important;
  height: 10px !important;
}

.posts__filter .posts__loading {
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 36px;
  margin: 30px 0px;
  height: 43vw;
}

.posts__filter .posts__results {
  display: flex;
  margin: 30px -15px 0 -15px;
}

.posts__filter .posts__results p {
  color: white;
  text-align: center;
}

.posts__filter .posts__list {
  height: auto;
}

.posts__filter .slide-group {
  display: flex;
  flex-direction: column;
  row-gap: 25px;
}

.posts__filter .post__card {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 10px;
  border: 2px solid white;
  overflow: hidden;
}

.posts__filter .post__thumbnail {
  height: 100%;
  background-size: cover;
  background-position: center;
  background-color: gray;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 10px 15px;
}

.posts__filter .post__thumbnail h4 {
  color: white;
  font-family: var(--h3_typography-font-family);
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.661);
  font-size: 20px;
  text-align: center;
  line-height: 1;
}

.posts__filter .posts__pagination {
  align-items: center;
  justify-content: center;
  gap: 15px;
}

.posts__filter .posts__pagination .pagination-btn {
  padding: 0px;
  background-color: transparent;
  color: white;
  display: flex;
  align-items: center;
  gap: 5px;
  text-align: center;
  border: 0px;
  font-size: 16px;
  cursor: pointer;
}

.posts__filter .posts__pagination .pagination-btn svg {
  fill: white;
  width: 12px;
}

@media screen and (min-width: 768px) {
  .posts__filter .posts__results {
    margin: 30px 0px;
  }

  .posts__filter .posts__list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
  }

  .posts__filter .slide-group {
    gap: 30px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
  }
}

/* book direct */

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

/* videos slider */

#videos-slider {
  padding: 60px 0;
  text-align: center;
}

.videos-slider .vw-card img {
  width: 100%;
}

.videos-slider .vw-card h3 {
  margin-top: 8px;
}

.videos-slider .swiper-btn {
  top: 43vw;
}

@media screen and (min-width: 768px) {
  #videos-slider {
    padding: 0 0 60px;
  }

  .videos-slider .swiper-btn {
    top: 40%;
  }
}