/* Square images */
.st-image-square img {
    aspect-ratio: 1;
    object-fit: cover;
    width: 100%;
}

.st-image-square > a {
    width: 100%;
}

.st-image-square {
    width: 100%;
}

@media screen and (max-width: 480px) {
    .st-image-square-adj img {
        aspect-ratio: 5 / 6;
        object-fit: cover;
        width: 100%;
    }
}

/* Circular images */
.st-image-circle img {
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 50%;
}

/* Custom image shapes */
.st-aspect-ratio-1 img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    width: 100%;
}

.st-aspect-ratio-2 img {
    aspect-ratio: 6 / 4;
    object-fit: cover;
    width: 100%;
}

.st-aspect-ratio-2 > a {
    width: 100%;
}

.st-aspect-ratio-3 img {
    aspect-ratio: 5 / 3;
    object-fit: cover;
    width: 100%;
}

.st-aspect-ratio-3 > a {
    width: 100%;
}

.st-aspect-ratio-4 img {
    aspect-ratio: 7 / 5;
    object-fit: cover;
    width: 100%;
}

.st-aspect-ratio-4 > a {
    width: 100%;
}

/* Custom container shapes */
.st-container-aspect-ratio-1 {
    aspect-ratio: 16 / 9;
}

.st-container-aspect-ratio-2 {
    aspect-ratio: 6 / 4;
}

.st-container-aspect-ratio-3 {
    aspect-ratio: 5 / 3;
}

.st-container-aspect-ratio-4 {
    aspect-ratio: 7 / 5;
}

/* Square container */
.st-container-square {
    aspect-ratio: 1;
    background-size: cover;
    background-position: center;
}

/* Circle container */
.st-container-circle {
    aspect-ratio: 1;
    background-size: cover;
    background-position: center;
    border-radius: 50%;
}


/* Fonts */

b, strong {
    font-weight: 500;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
    .st-fixed-backg h1 {
        font-size: 4.5rem !important;
    }
}

@media screen and (min-width: 1025px) and (max-width: 1366px) {
    .st-fixed-backg h1 {
        font-size: 5rem !important;
    }
}


/* Header */

header.elementor-element {
    opacity: 1 !important;
    transition: 0.3s ease all;
}

@media screen and (min-width: 1025px) {
    header.elementor-sticky--effects {
        min-height: 80px;
    }
}

header.elementor-sticky--effects .st0 {
    fill: #fff;
}

header.elementor-element:hover {
    background-color: var(--e-global-color-primary);
    /*background-color: #b0a5a2;*/
}


/* Header white */

header.elementor-element.st-header-white {
    background-color: transparent;
    /*background-color: #b0a5a2;*/
}

header.elementor-element.st-header-white:hover {
    background-color: var(--e-global-color-primary);
    /*background-color: #b0a5a2;*/
}

header.elementor-element.st-header-white:hover .cls-1 {
    fill: #fff !important;
}

header.elementor-element.st-header-white:hover .elementor-widget-n-menu .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-title-container .e-n-menu-title-text {
    color: #fff !important;
}

header.elementor-element.st-header-white:hover .elementor-widget-n-menu .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-dropdown-icon svg {
    fill: #fff !important;
}

header.elementor-element.st-header-white.elementor-sticky--effects .elementor-widget-n-menu .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-dropdown-icon svg {
    fill: #fff !important;
}

header.elementor-element.st-header-white svg#Artwork {
    width: 240px;
}


@media screen and (max-width: 480px) {
    header.elementor-element.st-header-white svg#Artwork {
        width: 180px;
    }
}

@media screen and (min-width: 481px) and (max-width: 768px) {
    header.elementor-element.st-header-white svg#Artwork {
        width: 180px;
    }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
    header.elementor-element.st-header-white svg#Artwork {
        width: 200px;
    }
}

@media screen and (min-width: 1025px) and (max-width: 1366px) {
    header.elementor-element.st-header-white svg#Artwork {
        width: 200px;
    }
}

header.elementor-element.st-header-white.elementor-sticky--effects svg#Artwork {
    display: none;
}

header.elementor-element.st-header-white:hover .st-header-button .elementor-button, header.elementor-element.st-header-white.elementor-sticky--effects .st-header-button .elementor-button {
    background-color: #02010100;
    border-color: #FFFFFF;
    color: #fff;
}

header.elementor-element.st-header-white .st-header-button .elementor-button:hover, header.elementor-element.st-header-white .st-header-button .elementor-button:focus {
    background-color: #FFFFFF;
    color: var(--e-global-color-primary);
}

header.elementor-element.st-header-white .st0 {
    fill: var(--e-global-color-primary);
}

header.elementor-element.st-header-white.elementor-sticky--effects .st0, header.elementor-element.st-header-white:hover .st0, header.elementor-element.st-header-white:hover .st-search-icon svg {
    fill: #fff !important;
}


/* Links */

.elementor-heading-title a {
    font-family: 'fields-display';
}

.st-directions-link a {
    font-family: "aktiv-grotesk", Sans-serif;
    font-weight: 400;
}

h2 > a, h3 > a {
    font-family: "fields-display", sans-serif !important;
}

.st-menu-item h3 > a {
    font-family: "aktiv-grotesk", Sans-serif !important;
}

.st-menu-item h3 {
    color: rgba(255,255,255,1) !important;
    transition: 0.3s ease all;
    line-height: 1.2;
    font-size: 1.1rem !important;
    letter-spacing: 0.03rem;
}

.st-menu-item:hover h3 {
    color: rgba(255,255,255,0.7) !important;
}

.st-menu-item img {
    pointer-events: none;
}


/* Buttons */

.elementor-button-icon .e-font-icon-svg {
    height: 0.85em;
}

.st-arrow-button .elementor-button-icon svg, .st-back-arrow-button .elementor-button-icon svg {
    height: auto;
    width: 1.1em;
    /* Hidden for alternative design */
    display: none;
}

.st-arrow-button .elementor-button-icon, .st-back-arrow-button .elementor-button-icon {
    transition: 0.3s ease all;
}

.st-arrow-button:hover span.elementor-button-icon {
    transform: translateX(8px);
}

.st-back-arrow-button:hover span.elementor-button-icon {
    transform: translateX(-8px);
}

/* Alternative design */

.st-arrow-button .elementor-button-content-wrapper
{
    gap: 0 !important;
}

.st-arrow-button a {
    border: 1px solid var(--e-global-color-primary) !important;
    padding: 14px 20px !important;
    font-size: 18px !important;
    color: var(--e-global-color-primary) !important;
}

.st-arrow-button a:hover {
    border: 1px solid var(--e-global-color-primary) !important;
    background-color: var(--e-global-color-primary) !important;
    padding: 14px 20px !important;
    font-size: 18px !important;
    color: #fff !important;
}

.st-line-button .elementor-button-icon svg {
    height: auto;
    width: 7em;
}

.st-phone-button .elementor-button-icon svg {
    height: 0.8em !important;
    width: 0.8em;
}

.st-contact-details i {
    font-size: 1rem;
    margin-right: 4px;
}


/* Images */

.st-image-zoom-container {
    overflow: hidden;
}

.st-menu-item:hover .st-image-zoom {
    transform: scale(1.05);
    transition: transform 0.3s ease-in-out;
}

/* Fix static background issue on iPads */
@media (pointer: coarse) {
    .st-fixed-backg {
        background-attachment: scroll !important;
    }
}

/* Target mobile devices (including iOS) */
/* @media only screen and (max-device-width: 1024px) {
  .st-fixed-backg {
    background-attachment: scroll !important;
  }
} */

/* For desktop and laptop devices, keep the background fixed */
/* @media only screen and (min-device-width: 1025px) {
  .st-fixed-backg {
    background-attachment: fixed !important;
  }
} */

.st-fixed-backg-override {
    background-attachment: scroll !important;
}


/* Line work */

.st-line-and-text:before {
    content: "Explore";
    transform: rotate(90deg);
    height: 20px;
    border: 0;
    color: #fff;
    text-transform: uppercase;
    width: 20px;
    position: relative;
    left: calc(100% - 13px);
    top: -80px;
}


/* Lists */

.st-bullets ul {
    margin-left: -20px;
}

.st-bullets li {
    list-style-type: circle;
    margin-bottom: 8px;
}

/* Swiper */

.swiper-pagination.swiper-pagination-progressbar.swiper-pagination-horizontal {
    margin-top: -10px;
}

.swiper-pagination-progressbar {
    background: #C9BEBB;
    position: absolute;
}

.st-experience-carousel-home .elementor-swiper-button.elementor-swiper-button-prev svg rect, .st-page-carousel .elementor-swiper-button.elementor-swiper-button-prev svg rect {
    fill: #fff;
}

.st-page-carousel .swiper-pagination.swiper-pagination-progressbar.swiper-pagination-horizontal, .st-page-carousel-2 .swiper-pagination.swiper-pagination-progressbar.swiper-pagination-horizontal {
    margin-top: -20px;
}

@media screen and (min-width: 769px) and (max-width: 1366px) {
    .st-page-carousel .swiper-pagination.swiper-pagination-progressbar.swiper-pagination-horizontal, .st-page-carousel-2 .swiper-pagination.swiper-pagination-progressbar.swiper-pagination-horizontal {
        margin-top: -15px;
    }
}

@media screen and (max-width: 768px) {
    .st-page-carousel .swiper-pagination.swiper-pagination-progressbar.swiper-pagination-horizontal, .st-page-carousel-2 .swiper-pagination.swiper-pagination-progressbar.swiper-pagination-horizontal {
        margin-top: -15px;
    }
}

.st-page-carousel .swiper.offset-right:after {
    width: 60px;
    height: 100%;
    content: "";
    background-color: rgba(239, 236, 235, 0.7);
    position: absolute;
    z-index: 5;
    right: 0;
}

@media screen and (min-width: 1025px) {
    .st-page-carousel .swiper.offset-right:after {
        width: 75px;
    }
}

.st-page-carousel-adj .swiper.offset-right:after {
    background-color: rgba(255, 255, 255, 0.7);
}


/* Things to do templates */

.st-things-to-do-gallery img.swiper-slide-image {
    width: 100%;
}

.st-things-to-do-parent-body {
    margin-top: -3rem !important;
}

.st-things-to-do-parent-body h2 {
    font-size: 2rem;
    color: var(--e-global-color-primary);
    margin-top: 3rem;
}

.st-things-to-do-parent-tips h2 {
    font-size: 1.8rem;
    color: var(--e-global-color-secondary);
    margin-bottom: 1.5rem;
}

.st-things-to-do-intro h2, .st-things-to-do-body h2, .st-things-to-do-tips h2, .st-things-to-do-visitor-info-heading h2 {
    font-size: 2rem;
    color: var(--e-global-color-primary);
}

.st-things-to-do-parent-tips ul li:before {
    content: "\f00c";
    content: url(/wp-content/uploads/2025/03/green-tick.svg);
    display: inline-block;
    margin-left: -1.5em;
    min-width: 1em;
    font-family: 'Font Awesome 5 Pro';
    position: absolute;
    color: var(--e-global-color-secondary);
}

.st-things-to-do-parent-tips ul li {
    margin-left: 1.5em;
    list-style-type: none;
    margin-top: 15px;
}

.st-things-to-do-parent-tips ul {
    padding-left: 0;
}

li.elementor-icon-list-item a {
    color: #575453;
}


/* Stay templates */

.st-stay-gallery img.swiper-slide-image {
    width: 100%;
}

.st-stay-sub-heading h2, .st-stay-accomm-details-heading h2, .st-stay-facilities-heading h2 {
    font-size: 1.8rem;
    line-height: 1.2;
}

/*.st-stay-gallery-grid .e-gallery-grid:not(.e-gallery--animated) {
    display: grid;
    grid-gap: var(--vgap) var(--hgap);
    grid-template-columns: repeat(3, 1fr);
    grid-template-areas:
        "main-image"
        "main-grid";
}*/

/*.st-stay-gallery-grid .e-gallery-grid {
  grid-template-rows: minmax(auto,1fr)
    minmax(auto,1fr)
    minmax(0,0)
    minmax(0,0)
    minmax(0,0)
    minmax(0,0)
    minmax(0,0);
  overflow: hidden;
}*/

.st-stay-gallery-grid .e-gallery-item.elementor-gallery-item:nth-child(n+5) {
    display: none;
}

.st-stay-gallery-grid .e-gallery-item.elementor-gallery-item:first-child {
    margin-right: 5px;
    margin-bottom: 5px;
}

.st-stay-gallery-grid .e-gallery-item.elementor-gallery-item:nth-child(2) {
    margin-left: 5px;
    margin-bottom: 5px;
}

.st-stay-gallery-grid .e-gallery-item.elementor-gallery-item:nth-child(3) {
    margin-right: 5px;
    margin-top: 5px;
}

.st-stay-gallery-grid .e-gallery-item.elementor-gallery-item:nth-child(4) {
    margin-left: 5px;
    margin-top: 5px;
}

.e-gallery--animated {
    left: 0 !important;
}

.st-flex-gallery .elementor-image-gallery img.attachment-large.size-large {
    aspect-ratio: 1;
    object-fit: cover;
}


.st-flex-gallery .elementor-image-gallery figure.gallery-item {
    flex-basis: 50% !important;
    max-width: calc(50% - 5px) !important;
}

.st-flex-gallery div#gallery-1 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.st-flex-gallery figure.gallery-item:nth-child(n+5) {
    display: none;
}


/* Bread crumbs */

.breadcrumb li::after {
    content: '\f061';
    margin-left: 5px;
    margin-right: 5px;
    font-family: 'Font Awesome 5 Pro';
    font-size: 0.7rem;
}

.breadcrumb-container ol {
    padding-left: 0 !important;
}


.breadcrumb-container.theme1 a {
    margin: 0 0px !important;
    padding: 5px 0px !important;
}

.breadcrumb-container li .separator {
    padding: 0 6px 0 8px;
}

.breadcrumb-container span.separator i {
    font-size: 11px;
}


/* Stories Templates */

.st-post-content h2 {
    font-size: 2rem;
    margin-top: 3rem;
    padding-right: 10%;
    color: var(--e-global-color-primary);
}

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

}

@media screen and (min-width: 481px) and (max-width: 768px) {

}

.st-post-content h3 {
    color: var(--e-global-color-text);
    font-family: "aktiv-grotesk";
    font-weight: 400;
    font-size: 1.4rem;
    margin-top: 2rem;
}

.st-post-content h4 {
    color: var(--e-global-color-text);
    font-family: "aktiv-grotesk", Sans-serif;
    font-weight: 400;
    margin-right: 10%;
    font-size: 1.2rem;
    line-height: 1.4;
}

.st-post-content .wp-caption-text {
    margin-top: 10px;
}

.st-post-content img {
    margin-top: 3rem;
}

.single-post .st-footer-line {
    border-width: 0px !important;
}


/* Search & Filter */

.search-filter-input-text, .search-filter-component-combobox-base {
    border-radius: 0px;
}


/* Scrollbar */

::-webkit-scrollbar {
    width: .75rem;
    height: .75rem;
    background-color: #e7e6e4;
}

::-webkit-scrollbar-thumb {
    border-radius: .313rem;
    background-color: #c7c2be;
    border: .125rem solid #e7e6e4;
}

::-webkit-scrollbar-track {
    border-radius: .188rem;
    background-color: #e7e6e4;
}


/* Forms */

input#gform_submit_button_1, input#gform_submit_button_3,
input#gform_submit_button_4, input#gform_submit_button_5,
input#gform_submit_button_6, input#gform_submit_button_7 {
    background-color: var(--e-global-color-primary);
    font-family: "fields-display", Sans-serif;
    font-size: 16px;
    text-transform: none;
    letter-spacing: 1px;
    color: #FFFFFF;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: var(--e-global-color-primary);
    border-radius: 0px 0px 0px 0px;
    padding: 14px 24px 14px 24px;
    --gf-local-outline-width: 0px;

}

input#gform_submit_button_1:hover, input#gform_submit_button_3:hover,
input#gform_submit_button_4:hover, input#gform_submit_button_5:hover, input#gform_submit_button_6:hover, input#gform_submit_button_7:hover {
    background-color: #235F6F;
    color: #FFFFFF;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #235F6F;
}


/* Contact Form */

.st-contact-form .gform_fields {
    row-gap: 20px !important;
}

.st-contact-form input[type=color], .st-contact-form input[type=date], .st-contact-form input[type=datetime-local], .st-contact-form input[type=datetime], .st-contact-form input[type=email], .st-contact-form input[type=month], .st-contact-form input[type=number], .st-contact-form input[type=password], .st-contact-form input[type=search], .st-contact-form input[type=tel], .st-contact-form input[type=text], .st-contact-form input[type=time], .st-contact-form input[type=url], .st-contact-form input[type=week], .st-contact-form select, .st-contact-form textarea {
    background-color: #EFECEB !important;
    border: none;
    border-radius: 0px !important;
    --gf-local-shadow: 0px;
    --gf-local-min-height: 50px;
    --gf-local-color: var( --e-global-color-primary );
}

.st-contact-form select {
    padding-top: 6px;
}

.st-contact-form input[type=color]:focus, .st-contact-form input[type=date]:focus, .st-contact-form input[type=datetime-local]:focus, .st-contact-form input[type=datetime]:focus, .st-contact-form input[type=email]:focus, .st-contact-form input[type=month]:focus, .st-contact-form input[type=number]:focus, .st-contact-form input[type=password]:focus, .st-contact-form input[type=search]:focus, .st-contact-form input[type=tel]:focus, .st-contact-form input[type=text]:focus, .st-contact-form input[type=time]:focus, .st-contact-form input[type=url]:focus, .st-contact-form input[type=week]:focus, .st-contact-form input[type=checkbox]:focus, .st-contact-form select:focus, .st-contact-form textarea:focus {
    background-color: #fff !important;
    border: none;
    border-radius: 0px !important;
    --gf-local-outline-color: #f4f5f2;
    --gf-local-outline-width: 0px;
    --gf-local-outline-offset: 0px;
    --gf-local-shadow: 0px;
}


/* Footer */

.st-footer-links a {
    /*color: #857C79;*/
    color: #534D4B;
}


/* Password protect */

form.post-password-form {
    padding: 200px 5% 100px 5%;
    max-width: 1400px;
    margin: auto;
}
