/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* Resets */
.block-grid a {
  text-decoration: none !important;
}

/* Container styling */

.e-con > .e-con-inner {
  max-width: 1292px !important;
  padding-right: 32px !important;
  padding-left: 32px !important;
}

@media screen and (max-width: 768px) {
  .e-con > .e-con-inner {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
}

/* Typography */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "the-seasons", sans-serif;
}

h1,
.h1 {
  line-height: 120% !important;
}

/* Helper classes */

.no-padding .e-con-inner {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.no-margin p {
  margin-bottom: 0px !important;
}

.badge-text {
  width: max-content;
  padding: 4px 12px;
  background-color: rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.badge-text p {
  margin-bottom: 0px;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.6);
}

.badge-text.location {
  position: relative;
  padding-left: 30px !important;
}

.badge-text.location::before {
  content: url("/wp-content/uploads/2025/11/map-white.svg");
  position: absolute;
  top: 5px;
  bottom: 0;
  left: 12px;
}

.boxed-icon .elementor-icon-wrapper {
  display: flex;
}

.boxed-icon .elementor-icon {
  border: 1px solid #fff;
  padding: 10px;
}

.block-link {
  text-decoration: none !important;
}

.block-link:hover .boxed-icon .elementor-icon {
  background-color: rgba(255, 255, 255, 0.3);
}

.google-image {
  width: max-content !important;
  border: 1px solid #8c9dad;
  padding: 8px !important;
  height: 40px;
  width: 40px;
  display: flex;
  justify-content: center !important;
  align-items: center !important;
}

.heading-font p {
  font-family: "the-seasons", sans-serif !important;
}

#close-div {
  padding-left: 20px;
  padding-top: 10px;
  cursor: pointer;
}

#close-div img {
  height: 22px;
  width: 22px;
}

.border-image {
  border: 1px solid #fff !important;
  height: 40px !important;
  width: 40px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.underline a {
  text-decoration: underline !important;
}

/* Button styling */

.hero-scene .elementor-button-info > .elementor-button {
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  background-color: rgba(255, 255, 255, 0.1) !important;
}

.elementor-button-info > .elementor-button {
  background-color: transparent !important;
  border: 1px solid #fff !important;
  color: #fff !important;
}

.elementor-button-info > .elementor-button:hover {
  background-color: #fff !important;
  color: var(--ast-global-color-2) !important;
}

.elementor-widget-button .elementor-button {
  background-color: #fff;
  border: 1px solid var(--ast-global-color-2);
  color: var(--ast-global-color-2);
}

.elementor-widget-button .elementor-button:hover {
  background-color: var(--ast-global-color-2);
  color: #fff;
  border-color: var(--ast-global-color-2);
}

#video-popup {
  cursor: pointer;
}

.modal-video-close-btn {
  padding: 0px !important;
  background-color: transparent !important;
}

/* Main menu styling */

.main-menu li a {
  font-family: "the-seasons", sans-serif;
  font-weight: bold;
}
.main-menu li.wpml-ls-item {
  display: none;
}

/* Header styling */

.top-bar .tag-icon .elementor-icon-wrapper {
  display: flex;
}

.top-bar .tag-icon .elementor-icon {
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 6px;
}

.cross-top-bar {
  cursor: pointer;
}

.main-header.elementor-sticky--active {
  box-shadow: 0 0 15px 1px rgb(0 0 0 / 0.07);
}

/* News grid styling */

.news-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 32px;
  grid-row-gap: 32px;
}

.news-grid .news-item-0 {
  grid-row: 1 / span 2;
  grid-column: 1 / 2;
  width: 500px;
}

.news-grid .news-item {
  position: relative;
  box-shadow: 0px 19px 42px rgba(0, 0, 0, 0.1),
    0px 307px 123px rgba(0, 0, 0, 0.01), 0px 480px 134px rgba(0, 0, 0, 0),
    0px 19px 42px rgba(0, 0, 0, 0.1);
}

.news-grid .news-image {
  position: relative;
}

.news-grid .news-image img {
  width: 100%;
  height: 400px !important;
  object-fit: cover !important;
}

.news-grid .news-item-0 .news-image img {
  height: 832px !important;
}

.news-grid .image-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  background: linear-gradient(
    to bottom,
    rgba(0, 12, 27, 0) 0%,
    rgba(0, 21, 46, 0.7) 60%,
    rgba(0, 0, 0, 0.9) 80%
  );
}

.news-grid .news-item .news-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 24px;
  z-index: 2;
}

.news-grid .news-item .news-content .news-content-inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.news-grid .news-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.news-grid .badge-text p {
  color: #fff;
  font-size: 14px;
  border-color: rgba(255, 255, 255, 0.2);
}

.news-grid .news-title {
  font-size: 20px;
  color: #fff;
  margin-bottom: 8px;
}

.news-grid .news-excerpt {
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 16px;
  font-size: 14px;
}

.news-grid .news-author {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 24px;
}

.news-grid .news-author img {
  height: 32px;
  width: 32px;
  object-fit: cover;
  border-radius: 100%;
}

.news-grid .news-author .author {
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  text-decoration: underline;
}

.news-grid .news-link a {
  letter-spacing: 3.5px !important;
  color: #fff !important;
  text-transform: uppercase !important;
  font-size: 16px !important;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.news-grid .news-link .arrow-icon {
  border: 1px solid #fff;
  height: 40px;
  width: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 300ms ease-in-out;
}

.news-grid .news-link a:hover .arrow-icon {
  background-color: rgba(255, 255, 255, 0.3);
}

@media (max-width: 1024px) {
  .news-grid {
    display: flex !important;
  }
  .news-grid .news-item-0 {
    width: 100%;
  }
  .news-grid .news-item .news-image img {
    height: 430px !important;
  }
  .news-grid .news-item {
    box-shadow: none;
  }
  .news-grid.swiper-wrapper {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
  }
}

/* Activities styling */

.activities-wrap .news-grid {
  grid-template-columns: repeat(3, 1fr) !important;
  grid-template-rows: repeat(1, 1fr) !important;
}

.activities-wrap .news-grid .news-item-0 {
  width: 100% !important;
  grid-row: auto !important;
}

.activities-wrap .news-grid .news-item-0 .news-image img {
  height: 627px !important;
}

.activities-wrap .news-grid .news-image img {
  height: 627px !important;
}

/* Review styling */

.reviews-slider .swiper-button-next:after,
.reviews-slider .swiper-button-prev:after {
  display: none;
}

.reviews-slider {
  width: 100%;
  padding: 40px 0;
}

.reviews-slider .swiper-slide {
  width: 60%;
  height: auto;
}

.reviews-slider .swiper-slide-active {
  opacity: 1;
}

.reviews-slider .swiper-slide-active .review {
  border-right: 0px;
  border-left: 0px;
  padding: 32px;
  height: 100%;
}

.reviews-slider .review {
  padding: 32px 64px 32px 64px;
  border: 1px solid #8c9dad;
  height: 100%;
}

.reviews-brown .reviews-slider .review {
  border-color: var(--e-global-color-accent);
}

.reviews-slider .stars {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2px;
  margin-bottom: 24px;
}

.reviews-slider .stars img {
  height: 20px;
  width: 20px;
}

.reviews-slider .review-text p {
  margin-bottom: 24px;
  text-align: center;
  font-style: italic;
  color: #222222 !important;
  opacity: 0.5;
}

.reviews-slider .swiper-slide-active .review-text p {
  opacity: 1;
}

.reviews-slider .review-author {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}

.reviews-slider .review-image img {
  height: 56px;
  width: 56px;
  object-fit: cover;
  border-radius: 100%;
}

.reviews-slider .review-title {
  font-weight: 700;
  font-size: 16px;
  color: var(--ast-global-color-2) !important;
}

.reviews-brown .reviews-slider .review-title {
  color: var(--e-global-color-accent) !important;
}

.reviews-brown .reviews-slider .swiper-button-next,
.reviews-brown .reviews-slider .swiper-button-prev {
  background-color: var(--e-global-color-accent) !important;
}

.reviews-slider .swiper-button-next,
.reviews-slider .swiper-button-prev {
  background-color: #8c9dad !important;
  height: 40px;
  width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.reviews-slider .swiper-button-next,
.reviews-slider .swiper-button-prev {
  img {
    width: 12px;
  }
}

.swiper-button-next,
.swiper-button-prev {
  svg {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .reviews-slider .swiper-slide {
    width: 82%;
  }
  .reviews-slider .review {
    padding: 32px !important;
  }
}

/* Numbers block styling */

.numbers-block .elementor-counter-title,
.numbers-block .elementor-counter-number-wrapper {
  font-family: "the-seasons", sans-serif;
}

@media screen and (max-width: 768px) {
  .numbers-block .elementor-counter-title {
    font-size: 18px !important;
  }
  .numbers-block .elementor-counter-number-wrapper {
    font-size: 34px !important;
  }
}

/* Events block styling */

.events-container {
  position: relative !important;
}

.events-container::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  background-color: #fff !important;
  z-index: 0 !important;
}

.events-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 32px;
  grid-row-gap: 32px;
}

.events-grid .event-item {
  display: flex;
  flex-direction: column;
  min-width: 0;
  box-shadow: 0px 19px 42px rgba(0, 0, 0, 0.1),
    0px 307px 123px rgba(0, 0, 0, 0.01), 0px 480px 134px rgba(0, 0, 0, 0),
    0px 19px 42px rgba(0, 0, 0, 0.1);
}

.events-grid .event-item .event-content {
  display: flex;
  height: 100%;
  background-color: var(--ast-global-color-2) !important;
  padding: 32px;
}

.events-grid .event-image {
  position: relative;
}

.events-grid .event-meta {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 32px;
  z-index: 2;
}

.events-grid .image-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #00152e00;
  background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 40%);
}

.events-grid .event-image img {
  height: 228px;
  object-fit: cover;
  width: 100%;
}

.events-grid .event-title {
  color: #fff !important;
  font-size: 24px !important;
}

.events-grid .event-excerpt {
  color: rgba(255, 255, 255, 0.6) !important;
  margin-bottom: 24px;
}

.events-grid .badge-text {
  width: 108px;
  height: 108px;
  margin-bottom: 0px;
  padding: 4px 12px;
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  text-align: center;
  color: #fff !important;
}

.events-grid .event-day-name,
.events-grid .event-month-year {
  font-size: 14px;
}

.events-grid .event-day-number {
  font-family: "the-seasons";
  padding: 6px 0px;
  font-size: 32px;
  line-height: 130%;
}

.events-grid .event-location {
  margin-bottom: 8px;
  padding: 4px 12px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 14px;
  color: #fff;
  display: flex;
  gap: 8px;
  align-items: center;
  width: max-content;
}

.events-grid .event-time {
  font-size: 20px;
  color: #fff;
  margin-bottom: 8px;
}

.events-grid .events-link a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  text-transform: uppercase;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: 3.5px;
  font-weight: 300;
}

.events-grid .event-info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.events-grid .arrow-icon {
  height: 40px;
  width: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #fff;
  transition: all 300ms ease-in-out;
}

.events-grid a:hover {
  color: #fff !important;
}

.events-grid a:hover .arrow-icon {
  background-color: rgba(255, 255, 255, 0.3);
}

@media screen and (max-width: 1024px) {
  .events-grid {
    grid-template-columns: repeat(1, 1fr);
  }
}

@media screen and (max-width: 576px) {
  .events-grid .event-item .event-content {
    padding: 24px;
  }
  .events-container::before {
    top: 90% !important;
  }
}

/* Maps tabs */

.maps-tabs .e-n-tabs-heading {
  width: 506px;
  max-width: 506px;
}

.maps-tabs .e-n-tabs-heading .e-n-tab-title {
  border-bottom-width: 0px !important;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
}

.maps-tabs .e-n-tabs-heading .e-n-tab-title:last-child {
  border-bottom-width: 1px !important;
}

.maps-tabs .e-n-tabs-heading .e-n-tab-title::after {
  content: url("/wp-content/uploads/2025/11/chevron-bg.svg");
  position: absolute;
  top: 0;
  right: 24px;
  bottom: 0;
  display: flex;
  align-items: center;
  opacity: 0;
}

.maps-tabs .e-n-tabs-heading .e-n-tab-title[aria-selected="true"]::after {
  opacity: 1;
}

.maps-tabs .e-n-tab-title-text {
  font-family: "the-seasons", sans-serif;
  letter-spacing: 0;
  font-weight: 700;
}

.maps-tabs .e-n-tab-title-id {
  text-transform: uppercase;
  font-size: 14px;
}

/* Location tabs */

.location-tabs .e-n-tabs-heading button:last-child svg {
  fill: #fff !important;
}

.location-tabs .e-n-tabs-heading {
  position: relative;
}

.location-tabs .e-n-tabs-heading::before {
  content: "";
  position: absolute;
  right: -999em;
  bottom: -12px;
  left: -999em;
  height: 1px;
  background-color: #f1f0ec;
  z-index: 1;
}

.location-tabs .e-n-tabs-heading button {
  position: relative;
}

.location-tabs .e-n-tabs-heading button::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: -12px;
  left: 0;
  height: 1px;
  background-color: var(--ast-global-color-2);
  z-index: 2;
  opacity: 0;
  transition: all 300ms ease-in-out;
}

.location-tabs .e-n-tabs-heading button:hover::before {
  opacity: 1;
}

.location-tabs .e-n-tabs-heading button[aria-selected="true"]::before {
  opacity: 1;
}

.location-tabs .e-n-tab-title-id {
  background-color: #eeeeee;
  color: #666666;
  border-radius: 2px;
  padding: 3px 4px;
  font-size: 12px;
  line-height: 100%;
}

/* Location gallery */

.location-gallery .swiper-slide img {
  height: 300px;
  object-fit: cover;
  width: 100%;
}

.location-gallery .swiper-pagination {
  bottom: -15px !important;
}

.location-gallery .swiper-pagination .swiper-pagination-bullet {
  height: 8px;
  width: 8px;
}

/* Feature tabs */

.feature-tabs .e-n-tabs-heading {
  position: relative;
}

.feature-tabs .e-n-tabs-heading::before {
  content: "";
  position: absolute;
  bottom: -15px;
  right: 0;
  left: 0;
  height: 1px;
  background-color: #d6d1c0;
}

.feature-tabs .e-n-tabs-heading button[aria-selected="true"] {
  position: relative;
}

.feature-tabs .e-n-tabs-heading button[aria-selected="true"]::after {
  content: "";
  position: absolute;
  bottom: -15px;
  right: 0;
  left: 0;
  height: 1px;
  background-color: #54392d;
}

/* Reel slider */

.reel-container {
  overflow: hidden !important;
}

.reel-slider {
  overflow: visible !important;
  padding-bottom: 72px !important;
}

.reel-slider .swiper-pagination {
  text-align: left !important;
  bottom: 0px !important;
}

.reel-slider .swiper-pagination-bullet {
  height: 8px;
  width: 8px;
}

.reel-slider .swiper-pagination-bullet-active {
  background-color: var(--ast-global-color-2) !important;
}

.reel-slider .swiper-arrows {
  position: relative;
  top: 59px;
}

.reel-slider .swiper-arrows .rotate {
  transform: rotate(180deg);
}

.reel-slider .swiper-arrows .swiper-button-prev {
  left: unset !important;
  right: 52px !important;
}

.reel-slider .swiper-arrows .swiper-button-prev,
.reel-slider .swiper-arrows .swiper-button-next {
  height: 40px;
  width: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--ast-global-color-2);
  transition: all 300ms ease-in-out;
}

.reel-slider .swiper-arrows .swiper-button-prev::after,
.reel-slider .swiper-arrows .swiper-button-next::after {
  display: none;
}

.reel-slider .swiper-arrows .swiper-button-prev:hover,
.reel-slider .swiper-arrows .swiper-button-next:hover {
  opacity: 0.6;
}

.reel-slider .swiper-arrows .swiper-button-prev img {
  position: relative;
  top: 1px;
}

.reel-slider .swiper-arrows img {
  width: 15px;
}

.reel-slider .reel-image img {
  height: 460px;
  position: relative;
  object-fit: cover;
  box-shadow: 0px 19px 42px rgba(0, 0, 0, 0.1),
    0px 307px 123px rgba(0, 0, 0, 0.01), 0px 480px 134px rgba(0, 0, 0, 0),
    0px 19px 42px rgba(0, 0, 0, 0.1);
}

.reel-slider .image-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.4);
}

.reel-slider .reel-content {
  padding: 24px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
}

.reel-slider .reel-title > * {
  color: #fff;
  font-size: 32px;
  text-align: center;
  margin-bottom: 8px;
}

.reel-slider .reel-excerpt p {
  color: rgba(255, 255, 255, 0.8);
  text-align: center;
  margin-bottom: 0px;
}

.reel-slider .reel-above {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.reel-slider .reel-link a {
  letter-spacing: 3.5px !important;
  color: #fff !important;
  text-transform: uppercase !important;
  font-size: 16px !important;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
}

.reel-slider .reel-link .arrow-icon {
  border: 1px solid #fff;
  height: 40px;
  width: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 300ms ease-in-out;
}

.reel-slider .reel-link a:hover .arrow-icon {
  background-color: rgba(255, 255, 255, 0.3);
}

@media screen and (max-width: 768px) {
  .reel-slider .reel-title > * {
    font-size: 26px;
  }
  .reel-slider .reel-image img {
    height: 375px;
  }
}

/* Maps container styling */

.maps-container {
  overflow: hidden;
}

.maps-container > .e-con-full {
  position: relative;
  overflow: hidden;
}

.maps-container > .e-con-full::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: var(--e-global-color-accent);
}

.maps-container.reverse > .e-con-full::before {
  background-color: var(--e-global-color-7064672) !important;
}

.maps-container iframe {
  height: 528px;
  border: 16px solid var(--e-global-color-7064672) !important;
}

.maps-container.reverse iframe {
  border-color: var(--e-global-color-accent) !important;
}

@media screen and (max-width: 768px) {
  .maps-container iframe {
    height: 350px;
  }
}

/* Locations grid styling */

.locations-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 32px;
  grid-row-gap: 32px;
}

.location-images-swiper {
  width: 100%;
  max-width: 100%;
}

.location-images-swiper .swiper-slide {
  width: 100% !important;
  display: flex;
  justify-content: center;
}

.location-images-swiper .swiper-slide img {
  width: 100%;
  height: 296px;
  object-fit: cover;
  display: block;
}

.location-images-swiper .swiper-button-prev::after,
.location-images-swiper .swiper-button-next::after {
  display: none;
}

.location-images-swiper .swiper-button-next,
.location-images-swiper .swiper-button-prev {
  height: 40px;
  width: 40px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(4px);
  display: flex;
  justify-content: center;
  align-items: center;
}

.location-images-swiper .swiper-pagination {
  z-index: 2;
  bottom: 15px !important;
}

.location-images-swiper .swiper-pagination .swiper-pagination-bullet {
  opacity: 0.2;
  background-color: #fff;
  height: 8px;
  width: 8px;
}

.location-images-swiper .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #fff;
  opacity: 1;
}

.location-images-swiper .image-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #000;
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.8) 0%,
    rgba(0, 0, 0, 0) 60%
  );
}

.location-images-swiper .swiper-button-next {
  right: 0 !important;
}

.location-images-swiper .swiper-button-prev {
  left: 0 !important;
}

.locations-grid .location-card {
  box-shadow: 0px 19px 42px rgba(0, 0, 0, 0.1),
    0px 307px 123px rgba(0, 0, 0, 0.01), 0px 480px 134px rgba(0, 0, 0, 0),
    0px 19px 42px rgba(0, 0, 0, 0.1);
  background-color: var(--ast-global-color-2);
}

.locations-grid .location-content {
  padding: 32px;
}

.locations-grid .badge-text {
  font-size: 14px;
  color: #fff;
  margin-bottom: 0px;
  border-color: rgba(255, 255, 255, 0.2);
  background-color: transparent;
}

.locations-grid .badge-text img {
  margin-right: 8px;
  margin-top: -1px;
}

.locations-grid .location-title {
  color: #fff;
  margin-top: 8px !important;
  font-size: 24px !important;
  line-height: 140% !important;
  margin-bottom: 16px !important;
}

.locations-grid .location-info {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 32px;
  grid-row-gap: 0px;
  padding: 0px 16px;
}

.locations-grid .location-info .info {
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 14px;
}

.locations-grid .location-info img {
  margin-right: 8px;
}

.locations-grid .location-wintersport .winter-sports {
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 14px;
  padding: 16px 16px 0px 16px;
}

.locations-grid .location-wintersport img {
  margin-right: 8px;
}

.locations-grid .prices {
  padding-top: 16px;
  display: flex;
  justify-content: space-between;
}

.locations-grid .prices.no-sale {
  justify-content: flex-end;
}

.locations-grid .prices.no-sale .default-price,
.locations-grid .prices.on-sale .sale-price {
  font-family: "the-seasons";
  font-weight: bold;
  font-size: 32px;
  color: #fff;
}

.locations-grid .prices.on-sale p {
  margin-bottom: 0px;
}

.locations-grid .prices.on-sale .default-price {
  font-size: 14px;
  color: #fff;
}

.locations-grid .more-info {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-top: 8px;
}

.locations-grid .more-info p {
  margin-bottom: 0px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
}

.locations-grid .more-info .spacer {
  margin: 0px 16px;
  width: 1px;
  height: 16px;
  background-color: rgba(255, 255, 255, 0.1);
}

.locations-grid .book-link {
  padding-top: 24px;
}

.locations-grid .book-link a {
  letter-spacing: 3.5px !important;
  color: #fff !important;
  text-transform: uppercase !important;
  font-size: 16px !important;
  font-weight: 300;
  text-decoration: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.locations-grid .book-link .arrow-icon {
  border: 1px solid #fff;
  height: 40px;
  width: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 300ms ease-in-out;
}

.locations-grid .book-link a:hover .arrow-icon {
  background-color: rgba(255, 255, 255, 0.3);
}

body.single-locations .elementor-icon-list-items li:first-child {
  font-weight: 700;
}

body.single-locations .elementor-icon-list-items li {
  font-size: 16px;
}

@media screen and (max-width: 1200px) {
  .locations-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 768px) {
  .locations-grid {
    grid-template-columns: repeat(1, 1fr);
  }
  .locations-grid .location-info {
    padding: 0px;
    grid-column-gap: 18px;
  }
  .locations-grid .location-content {
    padding: 20px;
  }
  .locations-grid .location-wintersport .winter-sports {
    padding: 16px 0px 0px 0px;
  }
  .location-images-swiper .swiper-slide img {
    height: 215px;
  }
}

/* Gallery slider styling */

.gallery-slider {
  padding-bottom: 48px !important;
  overflow: visible !important;
}

.gallery-slider .gallery-img {
  height: 428px;
  object-fit: cover;
  width: 100%;
  box-shadow: 0px 19px 42px rgba(0, 0, 0, 0.1),
    0px 307px 123px rgba(0, 0, 0, 0.01), 0px 480px 134px rgba(0, 0, 0, 0),
    0px 19px 42px rgba(0, 0, 0, 0.1);
}

.gallery-slider .swiper-pagination {
  bottom: -15px !important;
  text-align: left;
}

.gallery-slider .swiper-pagination .swiper-pagination-bullet {
  height: 8px;
  width: 8px;
  background-color: rgba(255, 255, 255, 0.6);
  opacity: 0.2;
}

.gallery-slider .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #f1f0ec;
  opacity: 1;
}

.gallery-slider .swiper-arrows {
  position: relative;
  top: 59px;
}

.gallery-slider .swiper-arrows .swiper-button-prev {
  left: unset !important;
  right: 52px !important;
}

.gallery-slider .swiper-arrows .swiper-button-prev,
.gallery-slider .swiper-arrows .swiper-button-next {
  height: 40px;
  width: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #f1f0ec;
  transition: all 300ms ease-in-out;
}

.gallery-slider .swiper-arrows .swiper-button-prev::after,
.gallery-slider .swiper-arrows .swiper-button-next::after {
  display: none;
}

.gallery-slider .swiper-arrows .swiper-button-prev:hover,
.gallery-slider .swiper-arrows .swiper-button-next:hover {
  opacity: 0.6;
}

.gallery-slider .swiper-arrows .swiper-button-prev img {
  position: relative;
  top: 1px;
}

.gallery-slider .swiper-arrows img {
  width: 15px;
}

@media screen and (max-width: 768px) {
  .gallery-slider .gallery-img {
    height: 275px;
  }
}

@media screen and (max-width: 576px) {
  .gallery-slider .gallery-img {
    height: 225px;
  }
}

/* Instagram feed styling */

.sb_instagram_header {
  display: none !important;
}

#sb_instagram #sbi_images {
  padding: 0px !important;
  gap: 32px !important;
}

.insta-hero-row {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  gap: 32px;
  margin-bottom: 32px;
}

.insta-hero-row .sbi_item {
  flex: 0 0 calc(100% / 6 - 16px);
  transition: transform 0.3s ease, opacity 0.3s ease;
}

#sb_instagram .sbi_items:not(.insta-hero-row) {
  display: grid !important;
}

#sb_instagram .sbi_follow_btn a {
  background-color: #fff !important;
  padding: 8px 24px !important;
  margin-top: 32px !important;
  border: 1px solid var(--ast-global-color-2) !important;
  border-radius: 0px !important;
}

#sb_instagram .sbi_follow_btn a span {
  color: var(--ast-global-color-2) !important;
  letter-spacing: 3.5px !important;
  line-height: 150%;
  text-transform: uppercase;
  font-size: 16px !important;
  font-weight: 300 !important;
}

#sb_instagram .sbi_follow_btn a svg {
  height: 16px !important;
  width: 16px !important;
  margin-right: 16px !important;
}

#sb_instagram .sbi_follow_btn a svg path {
  fill: var(--ast-global-color-2) !important;
}

#sb_instagram .sbi_follow_btn a:hover {
  background: var(--ast-global-color-2) !important;
  box-shadow: none !important;
}

#sb_instagram .sbi_follow_btn a:hover span {
  color: #fff !important;
}

#sb_instagram .sbi_follow_btn a:hover svg path {
  fill: #fff !important;
}

@media screen and (max-width: 1024px) {
  .insta-hero-row .sbi_item {
    flex: 0 0 calc(100% / 4 - 16px);
  }
}

@media screen and (max-width: 768px) {
  .insta-hero-row .sbi_item {
    flex: 0 0 calc(100% / 3 - 16px);
  }
  #sb_instagram #sbi_images .sbi_item:last-child {
    display: none;
  }
  #sb_instagram #sbi_images {
    gap: 16px !important;
  }
}

/* Footer styling */

.footer-list ul > li:nth-child(2) span.elementor-icon-list-icon,
.footer-list ul > li:nth-child(3) span.elementor-icon-list-icon {
  opacity: 0;
}

.footer-list li a > span.elementor-icon-list-text {
  text-decoration: underline;
  color: var(--e-global-color-accent) !important;
}

.footer-list .elementor-icon-list-text {
  font-size: 14px;
  line-height: 40px;
}

.footer-title p {
  font-family: "the-seasons", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 140%;
  margin-bottom: 5px;
}

.footer-cols p a {
  line-height: 40px;
  font-size: 14px;
}

/* Single blog styling */

body.single-post .ast-container {
  max-width: 1292px !important;
  padding-right: 32px !important;
  padding-left: 32px !important;
}

body.single-post .ast-article-single {
  padding: 0px !important;
}

/* Single location styling */

body.single-locations article,
body.single-locations #content {
  position: relative;
  overflow-x: hidden !important;
}

body.single-locations nav.post-navigation {
  display: none;
}

/* Single page styling */

body.page #primary {
  overflow-x: hidden;
}
body.single-events .navigation.post-navigation {
  display: none;
}

/* FAQ block styling */

.faq-block .e-n-accordion-item-title-text {
  font-family: "the-seasons";
}

.faq-block .e-n-accordion-item-title {
  padding: 20px !important;
  justify-content: space-between !important;
}

.faq-block .e-n-accordion-item[open] .e-n-accordion-item-title {
  background-color: var(--e-global-color-7064672) !important;
  border-color: var(--e-global-color-7064672) !important;
}

.faq-block .e-n-accordion-item > div {
  border-width: 0px !important;
}

.faq-block .e-n-accordion-item[open] > div {
  background-color: var(--e-global-color-7064672) !important;
  padding: 0px 20px 20px 20px !important;
}

.faq-block .e-n-accordion-item[open] > div p {
  margin-bottom: 0px !important;
  font-size: 16px !important;
  color: rgba(0, 0, 0, 0.6) !important;
}

.faq-block .e-n-accordion-item-title-icon {
  height: 40px !important;
  width: 40px !important;
  min-width: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--e-global-color-7064672) !important;
}

.faq-block .e-n-accordion-item[open] .e-n-accordion-item-title-icon {
  background-color: var(--ast-global-color-2) !important;
}

@media screen and (max-width: 768px) {
  .faq-block .e-n-accordion-item-title {
    padding: 12px !important;
  }
  .elementor-widget-n-accordion .e-n-accordion-item-title-text {
    font-size: 16px !important;
  }
  .faq-block .e-n-accordion-item-title-icon {
    height: 30px !important;
    width: 30px !important;
    min-width: 30px !important;
  }
  .faq-block .e-n-accordion-item[open] > div {
    padding: 0px 12px 12px 12px !important;
  }
  .faq-block .e-n-accordion-item[open] > div p {
    font-size: 14px !important;
  }
}

/* Booking form styling */

.booking-form-container {
  top: -40px;
  box-shadow: 0px 19px 42px rgba(0, 0, 0, 0.1),
    0px 307px 123px rgba(0, 0, 0, 0.01), 0px 480px 134px rgba(0, 0, 0, 0),
    0px 19px 42px rgba(0, 0, 0, 0.1);
}

.heroForm {
  display: flex;
  gap: 44px;
}

.heroForm input,
.heroForm > div {
  width: 100%;
}

.heroForm button {
  width: 100%;
  transition: all 300ms ease-in-out;
}

.heroForm button:hover {
  opacity: 0.8;
}

.heroForm input {
  border-radius: 0px !important;
  border-color: #eeeeee !important;
  box-shadow: none;
  font-size: 14px;
}

@media screen and (max-width: 992px) {
  .heroForm {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 32px;
    grid-row-gap: 32px;
  }
}

@media screen and (max-width: 576px) {
  .heroForm {
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(1, 1fr);
    grid-column-gap: 16px;
    grid-row-gap: 16px;
  }
  .booking-form-container {
    top: 0px !important;
  }
}

/* Datepicker styling */
.ui-datepicker.ui-widget {
  background: #fff;
  -webkit-box-shadow: 0 0 0 4px #dfe0e4;
  -ms-box-shadow: 0 0 0 4px #dfe0e4;
  box-shadow: 0 0 0 4px #dfe0e4;
  border-radius: 4px;
  border: 0;
}

.ui-datepicker.ui-widget .ui-datepicker-header {
  position: relative;
}

.ui-datepicker.ui-widget .ui-widget-header {
  border: 0;
  background: 0;
}

.ui-datepicker.ui-widget a.ui-datepicker-prev,
.ui-datepicker.ui-widget a.ui-datepicker-next {
  top: 50%;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #fff;
  background-color: #424860;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.ui-datepicker.ui-widget a.ui-datepicker-prev.ui-state-hover,
.ui-datepicker.ui-widget a.ui-datepicker-next.ui-state-hover {
  background: var(--e-global-color-accent);
}

.ui-datepicker.ui-widget a.ui-datepicker-prev span,
.ui-datepicker.ui-widget a.ui-datepicker-next span {
  display: none;
}

.ui-datepicker.ui-widget a.ui-datepicker-prev:before,
.ui-datepicker.ui-widget a.ui-datepicker-next:before {
  position: absolute;
  content: "";
  display: block;
  pointer-events: none;
  width: 30px;
  height: 30px;
  text-align: center;
  background-image: url("/wp-content/uploads/2025/11/arrow-right.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 15px;
}
.ui-datepicker.ui-widget a.ui-datepicker-prev:before {
  transform: rotate(180deg);
  top: -1px;
}

.ui-datepicker.ui-widget .ui-datepicker-title {
  font-size: 14px;
  line-height: 52px;
  color: #424860;
  text-transform: normal;
  font-weight: 700;
  font-family: "Lato", sans-serif;
}

.ui-datepicker.ui-widget table {
  font-family: "Lato", sans-serif;
  border: none !important;
}

.ui-datepicker.ui-widget table thead tr {
  border-top: 1px solid #dfe0e4;
  border-bottom: 1px solid #dfe0e4;
}

.ui-datepicker.ui-widget table thead th {
  border-color: transparent;
  background-color: transparent;
  color: var(--e-global-color-2ce0c58);
  text-transform: uppercase;
  font-size: 12px;
  line-height: 48px;
  font-weight: 500;
  padding: 0;
  font-family: "Lato", sans-serif;
}

.ui-datepicker.ui-widget table tbody tr:first-child td {
  padding-top: 10px;
}

.ui-datepicker.ui-widget table tbody td {
  text-align: center;
  border: 0;
  padding: 1px;
  font-size: 12px;
  line-height: 24px;
}

.ui-datepicker.ui-widget table tbody td span,
.ui-datepicker.ui-widget table tbody td a {
  padding: 0;
  font-weight: 400;
  text-align: center;
  border: 0 solid transparent;
  background: 0;
}

.ui-datepicker.ui-widget table tbody td .ui-state-default {
  color: #424860;
  background: transparent;
}

.ui-datepicker.ui-widget table tbody td a.ui-state-default {
  background-color: #dfe0e4;
}

.ui-datepicker.ui-widget table tbody td.ui-datepicker-unselectable a,
.ui-datepicker.ui-widget table tbody td.ui-datepicker-unselectable span,
.ui-datepicker.ui-widget table tbody td.ui-state-disabled a,
.ui-datepicker.ui-widget table tbody td.ui-state-disabled span {
  opacity: 0.75;
  background: 0;
  color: #424860;
}

.ui-datepicker.ui-widget table tbody td.ui-datepicker-current-day a,
.ui-datepicker.ui-widget table tbody td.ui-datepicker-current-day span,
.ui-datepicker.ui-widget table tbody td.ui-datepicker-today a,
.ui-datepicker.ui-widget table tbody td.ui-datepicker-today span {
  color: #fff;
  border-color: var(--e-global-color-accent);
  background: var(--e-global-color-accent);
}

.ui-datepicker.ui-widget table tbody td.cal-arrangement a,
.ui-datepicker.ui-widget table tbody td.cal-arrangement span,
.ui-datepicker.ui-widget table tbody td.cal-arrangement .ui-state-default,
.ui-datepicker.ui-widget table tbody td.cal-discount a,
.ui-datepicker.ui-widget table tbody td.cal-discount span,
.ui-datepicker.ui-widget table tbody td.cal-discount .ui-state-default {
  color: #424860;
  border-color: #f1ba3f;
  background: #f1ba3f;
}

.ui-datepicker.ui-widget table tbody td.cal-arrangement a.ui-state-active,
.ui-datepicker.ui-widget table tbody td.cal-arrangement span.ui-state-active,
.ui-datepicker.ui-widget
  table
  tbody
  td.cal-arrangement
  .ui-state-default.ui-state-active,
.ui-datepicker.ui-widget table tbody td.cal-discount a.ui-state-active,
.ui-datepicker.ui-widget table tbody td.cal-discount span.ui-state-active,
.ui-datepicker.ui-widget
  table
  tbody
  td.cal-discount
  .ui-state-default.ui-state-active {
  background-color: #424860;
  color: #fff;
  border-color: #424860;
}

.ui-datepicker.ui-widget table tbody td a.ui-state-highlight {
  color: #fff;
  border-color: var(--e-global-color-accent);
  background: var(--e-global-color-accent);
}

.ui-datepicker.ui-widget table tbody td a.ui-state-active {
  background-color: #424860;
  color: #fff;
  border-color: #424860;
}

@media screen and (max-width: 720px) {
  .ui-datepicker.ui-widget {
    width: 90%;
    max-width: 250px;
  }

  .ui-datepicker.ui-widget .ui-datepicker-title {
    line-height: 20px;
  }

  .ui-datepicker.ui-widget a.ui-datepicker-prev,
  .ui-datepicker.ui-widget a.ui-datepicker-next {
    width: 20px;
    height: 20px;
  }

  .ui-datepicker.ui-widget a.ui-datepicker-prev:before,
  .ui-datepicker.ui-widget a.ui-datepicker-next:before {
    width: 20px;
    height: 20px;
    background-size: 12px;
  }

  .ui-datepicker.ui-widget table thead th {
    line-height: 30px;
  }
}

/* Blog archive style */

.ast-blog-layout-4-grid .ast-article-inner .wp-post-image {
  object-fit: cover;
}

.archive .ast-article-post .ast-article-inner {
  border-radius: 0px;
}

.archive .ast-article-post .ast-article-inner h2 {
  font-size: 24px;
}

.archive .ast-article-post .ast-article-inner p {
  font-size: 14px;
}

#reviews {
  scroll-margin-top: 100px;
}

/* Partner swiper styling */

.partner-swiper .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  height: auto;
}

/* Fade in text styling */

.fade-text h3 {
  margin-bottom: 0px;
}

.fade-text .elementor-headline-plain-text span {
  opacity: 0.3;
  transition: opacity 500ms ease;
}

.fade-text .elementor-headline-plain-text span:nth-child(-n + 8) {
  opacity: 1;
}

/* Story part styling */

.story-swiper .swiper-slide {
  height: auto;
}

.story-swiper .storypart-image {
  height: 256px;
  width: 256px;
  margin: 0 auto;
}

.story-swiper .storypart-image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.story-swiper .storypart-image.story-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 4px solid rgba(255, 255, 255, 0.2);
}

.story-swiper .storypart-image.story-logo img {
  height: 100% !important;
  width: 127px !important;
  object-fit: contain !important;
}

.story-swiper .storypart-title {
  font-size: 24px;
  color: #f1f0ec;
  text-align: center;
  margin-bottom: 8px;
}

.story-swiper .storypart-text {
  text-align: center;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
}

.story-swiper .badge-text {
  margin: 16px auto !important;
  font-size: 14px;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.2);
  background-color: transparent;
  display: flex;
  gap: 8px;
}

.story-swiper .progress-wrap {
  position: relative;
}

.story-swiper .progress-wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  height: 1px;
  background: var(--e-global-color-2ce0c58);
  z-index: 0;
  width: 500px;
}

.story-swiper .progress-dot {
  margin: 0px auto 16px auto;
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--ast-global-color-2);
  background-color: var(--ast-global-color-2);
  border-radius: 999px;
  position: relative;
  z-index: 1;
}

.story-swiper .progress-dot .dot-circle {
  height: 16px;
  width: 16px;
  border-radius: 999px;
  background-color: var(--e-global-color-2ce0c58);
  position: relative;
  z-index: 2;
}

.story-swiper .swiper-slide:last-child .progress-dot {
  border-color: var(--e-global-color-2ce0c58);
  background-color: #34393f;
}

.story-swiper .swiper-button-next {
  right: 0px !important;
  top: 77% !important;
}

.story-swiper .swiper-button-prev {
  left: 0px !important;
  top: 77% !important;
}

.story-swiper .swiper-button-next,
.story-swiper .swiper-button-prev {
  height: 40px;
  width: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--e-global-color-2ce0c58);
  background-color: var(--ast-global-color-2);
}

.story-swiper .swiper-button-disabled {
  opacity: 0 !important;
}

@media screen and (max-width: 768px) {
  .story-swiper .swiper-button-next,
  .story-swiper .swiper-button-prev {
    top: 72% !important;
  }
}