/* ==========================================================================
   Font Hierarchy
   ========================================================================== */

h1 {
    font-size: clamp(75px, 8vw + 1rem, 110px) !important;
    line-height: 0.8em !important;
    letter-spacing: -.02em !important;
}

h2:not(h2.gform_submission_error, h2.tribe-events-single-section-title) {
    font-size: clamp(38px, 6vw + 1rem, 82px) !important;
    line-height: 0.85em !important;
    letter-spacing: -.03em !important;
}

h3 {
    font-size: clamp(40px, 4vw + 1rem, 52px) !important;
    line-height: 0.85em !important;
    letter-spacing: -.025em !important;
}

h4 {
    font-size: clamp(34px, 3vw + 1rem, 40px) !important;
    line-height: 0.9em !important;
    letter-spacing: -.04em !important;
}

h5 {
    font-size: clamp(28px, 2vw + 1rem, 34px) !important;
    line-height: 1em !important;
    letter-spacing: -.045em !important;
}

h6 {
    font-size: clamp(22px, 1vw + 1rem, 28px) !important;
    line-height: 1.2em !important;
    letter-spacing: -.05em !important;
}

p {
    font-size: clamp(16px, 1vw + 1rem, 19px) !important;
    line-height: 1.35em !important;
    letter-spacing: -.05em !important;
}

.no-marg-bot p {
    margin-bottom: 0 !important;
}

.wt-boxShadow {
    box-shadow: 0px 20px 45px 0px rgb(0 0 0 / 33%) !important;
}

/* ==========================================================================
   Header Navigation
   ========================================================================== */


/* Navigation Link Base */
header .elementor-nav-menu--main .elementor-item a {
    position: relative;
    text-decoration: none;
    transition: color 0.3s ease;
}

/* The Animated Underline */
header nav.elementor-nav-menu--main li a.elementor-item.menu-link:after {
    content: '';
    position: absolute;
    bottom: -5px; /* Adjust distance from text */
    left: 0;
    height: 3px;
    width: 0; /* Starting width */
    background-color: #ffffff!IMPORTANT; /* Starting color */
    z-index: 2;
    
    /* The Animation Logic */
    transition: 
        width 0.4s cubic-bezier(0.25, 1, 0.5, 1), 
        background-color 0.4s ease;
}

/* Hover State */
header nav.elementor-nav-menu--main li a.elementor-item.menu-link:hover:after {
    width: 100%; /* Grow to full width */
    background-color: #ff0000!important; /* Final Red color (adjust hex to match your red) */
}

/* Optional: Active link state (keeps the red line visible) */
header .elementor-nav-menu--main .elementor-item li.current-menu-item a:after {
    width: 100%;
    background-color: #ff0000;
}
@media all and (max-width: 1024px) {
    header .elementor-nav-menu {
        justify-content: center!important;
        margin: 0 auto!important;
    }
}


/* ==========================================================================
   Home Page Hero
   ========================================================================== */

#wt-hero h1, 
#wt-hero h2 {
    font-size: clamp(100px, 8vw + 1rem, 150px) !important;
    line-height: 0.82em !important;
    max-width: 768px;
}

@media all and (max-width: 1550px) {
    #wt-hero h1, 
    #wt-hero h2 {
        max-width: 580px;
    }
}

#wt-hero h1 span, 
#wt-hero h2 span {
    font-size: clamp(48px, 8vw + 1rem, 85px) !important;
    line-height: 0.82em !important;
}

#wt-hero p {
    max-width: 600px !important;
}

#wt-abtHero p {
    max-width: 768px !important;
}

#wt-hero svg.e-eicon-chevron-left,
#wt-hero svg.e-eicon-chevron-right,
.wt-slider svg.e-eicon-chevron-left,
.wt-slider svg.e-eicon-chevron-right {
    font-size: 15px !important;
}

#wt-hero .elementor-swiper-button, 
.wt-slider .elementor-swiper-button {
    background-color: #00000036 !important;
    border-radius: 100% !important;
    padding: 20px;
    border: 1px solid #efefef3b !important;
}

#wt-hero svg.e-eicon-chevron-left path,
#wt-hero svg.e-eicon-chevron-right path,
.wt-slider svg.e-eicon-chevron-left path,
.wt-slider svg.e-eicon-chevron-right path {
    fill: #ffffff !important;
}

#wt-hero .elementor-swiper-button:hover, 
.wt-slider .elementor-swiper-button:hover {
    background-color: #fff !important;
}

#wt-hero .elementor-swiper-button:hover svg path,
.wt-slider .elementor-swiper-button:hover svg path {
    fill: #000 !important;
}

#wt-hero.elementor-widget-n-carousel .e-n-carousel > .swiper-wrapper > .swiper-slide > .e-con {
    height: 87vh !important;
}

.wt-slider .elementor-swiper-button.elementor-swiper-button-prev {
    display: none !important;
}

.wt-slider.wt-location .elementor-swiper-button.elementor-swiper-button-prev {
    display: block !important;
}

.wt-slider.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container)) .swiper-pagination-bullet {
    width: 20px;
    border-radius: 4px;
}

.wt-slider.elementor-widget-n-carousel .swiper-pagination-bullet {
    background: #fff;
}

.wt-slider.elementor-widget-n-carousel .swiper-pagination-bullets {
    left: 60px;
}

/*gallery*/

footer.elementor-slideshow__footer.elementor-lightbox-prevent-close {
    display: none;
}

/* ==========================================================================
   Banner Bars
   ========================================================================== */

@media all and (max-width: 1200px) {
    .wt-bannerBar h4, .wt-bannerBar .elementor-icon-list-item > a {font-size: clamp(22px, 1vw + 1rem, 28px) !important;}
}

/* ==========================================================================
   Home Page Amenities Icons
   ========================================================================== */

.wt-amenities li.elementor-icon-list-item.elementor-inline-item {
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.wt-amenities li.elementor-icon-list-item.elementor-inline-item span {
    align-items: center;
    justify-content: center;
}

.wt-amenities.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg {
    margin: 0;
}

/* ==========================================================================
   Footer
   ========================================================================== */

.ftrLink {
    display: none;
}

.home .ftrLink {
    display: inline-block;
}


/* ==========================================================================
   Contact
   ========================================================================== */

p.gform_required_legend {
    display: none;
}

.wt-cntFrm_wrapper {
    padding: 45px;
    background-color: #121414;
    max-width: 650px;
    margin: 0 auto;
}

.wt-cntFrm .gfield_label {
    font-family: 'Saira Extra Condensed', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 1.1rem !important;
    color:#fff;
}

.wt-cntFrm input:focus, 
.wt-cntFrm textarea:focus {
    border-color: #ff0000 !important;
    box-shadow: 0 0 8px rgba(255, 0, 0, 0.4) !important;
}

#gform_submit_button_1 {
    font-family: 'Saira Condensed', sans-serif !important;
    background-color: transparent !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
    text-transform: uppercase;
    padding: 12px 30px !important;
    font-size: 21px;

}

#gform_submit_button_1:hover {
    background-color: #ff0000 !important;
    border-color: #ff0000 !important;
}

.gfield_required_asterisk {
    color: #ff0000 !important;
}

/* ==========================================================================
   Tribe Events Styles
   ========================================================================== */

.tribe-events-page-template .ast-container {
    background-color: #0a0a0a;
}

#tribe-events-pg-template {
    max-width: 1440px;
    padding: 60px;
    color: #fff;
}

section#tribe-events-pg-template {
    font-family: "Saira" !important;
}

section#tribe-events-pg-template h1, 
section#tribe-events-pg-template h2, 
section#tribe-events-pg-template h3, 
section#tribe-events-pg-template h4, 
section#tribe-events-pg-template h5, 
section#tribe-events-pg-template h6 {
    font-family: 'Saira Extra Condensed' !important;
    text-transform: uppercase;
}

section#tribe-events-pg-template p, 
section#tribe-events-pg-template ul {
    font-family: "Saira" !important;
    color: #fff;
}

p.tribe-events-back {
    text-transform: uppercase;
}

.tribe-events-back a, .tribe-events-back a:visited {
    color: #fff;
}

.tribe-common .tribe-common-c-btn-border, .tribe-common a.tribe-common-c-btn-border {
    color: #fff;
    border: 1px solid #fff;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button.tribe-events-c-subscribe-dropdown__button--active, .single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus, .single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus-within, .single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:hover, .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button.tribe-events-c-subscribe-dropdown__button--active, .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus, .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus-within, .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:hover {
    background-color: #fff;
    color: #000;
}


.tribe-events-meta-group .tribe-events-single-section-title {
    color: #fff;
}

.tribe-common--breakpoint-medium.tribe-common .tribe-common-c-btn-border-small, 
.tribe-common--breakpoint-medium.tribe-common a.tribe-common-c-btn-border-small {
    color: #000;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list, 
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list {
    background-color: #000 !important;
}

.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item:hover {
    background-color: #161616;
}

.tribe-events .tribe-events-c-view-selector__content {
    background-color: #000;
}

.tribe-events .datepicker {
    background-color: #000;
}

.tribe-events .datepicker .datepicker-switch, 
.tribe-events .datepicker .next, 
.tribe-events .datepicker .prev {
    background-color: #000;
}

.tribe-events .datepicker .day, 
.tribe-events .datepicker .month, 
.tribe-events .datepicker .year {
    background-color: #000;
}

.tribe-events .datepicker .datepicker-switch:active, 
.tribe-events .datepicker .datepicker-switch:focus, 
.tribe-events .datepicker .datepicker-switch:hover, 
.tribe-events .datepicker .next:active, 
.tribe-events .datepicker .next:focus, 
.tribe-events .datepicker .next:hover, 
.tribe-events .datepicker .prev:active, 
.tribe-events .datepicker .prev:focus, 
.tribe-events .datepicker .prev:hover {
    background-color: #1e1e1e;
    color: #fff;
}

/* ==========================================================================
   Tribe Events Variables (V2)
   ========================================================================== */

.tribe-common {
    --tec-grid-gutter: 48px;
    --tec-grid-gutter-negative: calc(var(--tec-grid-gutter) * -1);
    --tec-grid-gutter-half: calc(var(--tec-grid-gutter) / 2);
    --tec-grid-gutter-half-negative: calc(var(--tec-grid-gutter-half) * -1);
    --tec-grid-gutter-small: 42px;
    --tec-grid-gutter-small-negative: calc(var(--tec-grid-gutter-small) * -1);
    --tec-grid-gutter-small-half: calc(var(--tec-grid-gutter-small) / 2);
    --tec-grid-gutter-small-half-negative: calc(var(--tec-grid-gutter-small-half) * -1);
    --tec-grid-gutter-page: 42px;
    --tec-grid-gutter-page-small: 19.5px;
    --tec-grid-width-default: 1176px;
    --tec-grid-width-min: 320px;
    --tec-grid-width: calc(var(--tec-grid-width-default) + var(--tec-grid-gutter-page) * 2);
    --tec-grid-width-1-of-2: 50%;
    --tec-grid-width-1-of-3: 33.333%;
    --tec-grid-width-1-of-4: 25%;
    --tec-grid-width-1-of-5: 20%;
    --tec-grid-width-1-of-7: 14.285%;
    --tec-grid-width-1-of-8: 12.5%;
    --tec-grid-width-1-of-9: 11.111%;

    --tec-spacer-0: 4px;
    --tec-spacer-1: 8px;
    --tec-spacer-2: 12px;
    --tec-spacer-3: 16px;
    --tec-spacer-4: 20px;
    --tec-spacer-5: 24px;
    --tec-spacer-6: 28px;
    --tec-spacer-7: 32px;
    --tec-spacer-8: 40px;
    --tec-spacer-9: 48px;
    --tec-spacer-10: 56px;
    --tec-spacer-11: 64px;
    --tec-spacer-12: 80px;
    --tec-spacer-13: 96px;
    --tec-spacer-14: 160px;

    --tec-z-index-spinner-container: 100;
    --tec-z-index-views-selector: 30;
    --tec-z-index-dropdown: 30;
    --tec-z-index-events-bar-button: 20;
    --tec-z-index-search: 10;
    --tec-z-index-filters: 9;
    --tec-z-index-scroller: 7;
    --tec-z-index-week-event-hover: 5;
    --tec-z-index-map-event-hover: 5;
    --tec-z-index-map-event-hover-actions: 6;
    --tec-z-index-multiday-event: 5;
    --tec-z-index-multiday-event-bar: 2;

    --tec-color-text-primary: #ffffff;
    --tec-color-text-primary-light: #ffffff9e;
    --tec-color-text-secondary: #ffffff;
    --tec-color-text-disabled: #d5d5d5;
    --tec-color-text-events-title: var(--tec-color-text-primary);
    --tec-color-text-event-title: var(--tec-color-text-events-title);
    --tec-color-text-event-date: var(--tec-color-text-primary);
    --tec-color-text-secondary-event-date: var(--tec-color-text-secondary);

    --tec-color-icon-primary: #5d5d5d;
    --tec-color-icon-primary-alt: #757575;
    --tec-color-icon-secondary: #bababa;
    --tec-color-icon-active: #ffffff;
    --tec-color-icon-disabled: #d5d5d5;
    --tec-color-icon-focus: #334aff;
    --tec-color-icon-error: #da394d;
    --tec-color-event-icon: #141827;
    --tec-color-event-icon-hover: #334aff;

    --tec-color-accent-primary: #fff;
    --tec-color-accent-primary-hover: #334affcc;
    --tec-color-accent-primary-active: #334affe6;
    --tec-color-accent-primary-background: #000000;
    --tec-color-accent-secondary: #141827;
    --tec-color-accent-secondary-hover: #141827cc;
    --tec-color-accent-secondary-active: #141827e6;
    --tec-color-accent-secondary-background: #000000;

    --tec-color-button-primary: var(--tec-color-accent-primary);
    --tec-color-button-primary-hover: var(--tec-color-accent-primary-hover);
    --tec-color-button-primary-active: var(--tec-color-accent-primary-active);
    --tec-color-button-primary-background: var(--tec-color-accent-primary-background);
    --tec-color-button-secondary: var(--tec-color-accent-secondary);
    --tec-color-button-secondary-hover: var(--tec-color-accent-secondary-hover);
    --tec-color-button-secondary-active: var(--tec-color-accent-secondary-active);
    --tec-color-button-secondary-background: var(--tec-color-accent-secondary-background);

    --tec-color-link-primary: var(--tec-color-text-primary);
    --tec-color-link-accent: var(--tec-color-accent-primary);
    --tec-color-link-accent-hover: #334affcc;

    --tec-color-border-default: #333333; /* Darker border for black background */
    --tec-color-border-secondary: #202020;
    --tec-color-border-tertiary: #7d7d7d;
    --tec-color-border-hover: #5d5d5d;
    --tec-color-border-active: #141827;

    --tec-color-background: #000000; /* Set to black for your theme */
    --tec-color-background-events: #000000;
    --tec-color-background-transparent: rgba(255, 255, 255, 0.06);
    --tec-color-background-secondary: #161616;
    --tec-color-background-messages: #14182712;
    --tec-color-background-secondary-hover: #222222;
    --tec-color-background-error: #da394d14;

    --tec-color-box-shadow: rgba(0, 0, 0, 0.14);
    --tec-color-box-shadow-secondary: rgba(0, 0, 0, 0.1);
    --tec-color-scroll-track: rgba(0, 0, 0, 0.25);
    --tec-color-scroll-bar: rgba(0, 0, 0, 0.5);

    --tec-transition: all 0.2s ease;
    --tec-font-family-sans-serif: "Saira", Helvetica, Arial, sans-serif;
    --tec-font-weight-regular: 400;
    --tec-font-weight-bold: 700;

    --tec-font-size-0: 11px;
    --tec-font-size-1: 12px;
    --tec-font-size-2: 14px;
    --tec-font-size-3: 16px;
    --tec-font-size-4: 18px;
    --tec-font-size-5: 20px;
    --tec-font-size-6: 22px;
    --tec-font-size-7: 24px;
    --tec-font-size-8: 28px;
    --tec-font-size-9: 32px;
    --tec-font-size-10: 42px;

    --tec-line-height-0: 1.38;
    --tec-line-height-1: 1.42;
    --tec-line-height-2: 1.5;
    --tec-line-height-3: 1.62;
}