/* =======================================================================
   Theme Meta Information 
========================================================================== */
/* 
Theme Name: Stack
Theme URI: --
Description: --
Author: --
Author URI: --
Template: hello-elementor
Version: 2.0.0
Text Domain: stack-child
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/







/* #COLOURS #COLORS

    Red
    var(--e-global-color-primary);

    Tan
    var(--e-global-color-secondary);

    Off Black
    var(--e-global-color-text);

    CTA Red
    var(--e-global-color-accent);

    Text Light
    var(--e-global-color-4443d05);

    Primary Dark (off-black)
    var(--e-global-color-a0e2cb5);

    Primary Light (yellow)
    var(--e-global-color-4a6002a);

    Secondary Dark (teal)
    var(--e-global-color-7134c53);

    Secondary Light (green)
    var(--e-global-color-f7798dc);

    Tertiary (dark grey)
    var(--e-global-color-b3696e8);

    Tertiary Dark (off-black, same as text)
    var(--e-global-color-55a1dc9);

    Tertiary Light (very light grey)
    var(--e-global-color-48de175);

*/










/* =======================================================================
   Base Font Size & Responsive Typography
@import url("https://use.typekit.net/glv5rng.css");*/

html {
  font-size: 16px; /* Base font size for small screens */
  scrollbar-gutter: stable;

}

/* Target Desktop Safari to fix issue with horizontal scrolling */
@supports(font: -apple-system-body) and (not (-webkit-touch-callout: default)) {
  /* Add your desktop Safari-specific styles here */

  .elementor.type-page>.e-parent {
    overflow-x: hidden;
  }

}




@media (min-width: 992px) {
  html {
    font-size: 16px; /* Increased font size for larger screens */
  }
}
body {
  font-family: 'montserrat', sans-serif;
  font-weight: 400;
  font-style: normal;

}
/*.elementor-widget-wrap {
  max-width: 100% !important;
  overflow-x: hidden;
}
*/
.elementor-kit-8 a {
  font-family: inherit;
}
li {
  margin-bottom: 0.15rem;
  line-height: 1.6em;
}
.wp-block-list {
  margin-bottom: 1.5rem;
}
.wp-block-image img {
  border-radius: 1.25em;
}
@media (max-width: 567px) { 
  .wp-block-image img {
    border-radius: .875em;
  }
}
.elementor-widget-theme-post-content p + .wp-block-heading {
  margin-top: 2rem !important;
}


:root {
  --wp--style--global--wide-size: 1400px;
  --wp--style--global--content-size: 1140px;
}

:focus-visible {
  outline-color: var(--e-global-color-primary);;
}



/* =======================================================================
   Fonts
========================================================================== */
/* Block Headings Font Sizes */
.wp-block-heading.is-style-h1 {
  margin: 1rem auto;
  font-weight: var(--e-global-typography-c297f56-font-weight);
  font-style: normal;
  font-size: var(--e-global-typography-c297f56-font-size);
  line-height: var(--e-global-typography-c297f56-line-height);
  letter-spacing: var(--e-global-typography-c297f56-letter-spacing);
  text-transform: var(--e-global-typography-c297f56-text-transform);
  font-family: var(--e-global-typography-primary-font-family), sans-serif!important;
}
.wp-block-heading.is-style-h2 {
  margin: 1rem auto;
  font-weight: var(--e-global-typography-21c5652-font-weight);
  font-style: normal;
  font-size: var(--e-global-typography-21c5652-font-size);
  line-height: var(--e-global-typography-21c5652-line-height);
  letter-spacing: var(--e-global-typography-21c5652-letter-spacing);
  text-transform: var(--e-global-typography-21c5652-text-transform);
  font-family: var(--e-global-typography-primary-font-family), sans-serif!important;
}
.wp-block-heading.is-style-h3 {
  margin: 1rem auto;
  font-weight: var(--e-global-typography-9ddb4af-font-weight);
  font-style: normal;
  font-size: var(--e-global-typography-9ddb4af-font-size);
  line-height: var(--e-global-typography-9ddb4af-line-height);
  letter-spacing: var(--e-global-typography-9ddb4af-letter-spacing);
  text-transform: var(--e-global-typography-9ddb4af-text-transform);
  font-family: var(--e-global-typography-primary-font-family), sans-serif!important;
}

.wp-block-heading.is-style-h4 {
  margin: 1rem auto;
  font-weight: var(--e-global-typography-2fe9092-font-weight);
  font-style: normal;
  font-size: var(--e-global-typography-2fe9092-font-size);
  line-height: var(--e-global-typography-2fe9092-line-height);
  letter-spacing: var(--e-global-typography-2fe9092-letter-spacing);
  text-transform: var(--e-global-typography-2fe9092-text-transform);
  font-family: var(--e-global-typography-secondary-font-family), sans-serif!important;
}
.wp-block-heading.is-style-h5 {
  margin: 1rem auto;
  font-weight: var(--e-global-typography-a73f9a2-font-weight);
  font-style: normal;
  font-size: var(--e-global-typography-a73f9a2-font-size);
  line-height: var(--e-global-typography-a73f9a2-line-height);
  letter-spacing: var(--e-global-typography-a73f9a2-letter-spacing);
  text-transform: var(--e-global-typography-a73f9a2-text-transform);
  font-family: var(--e-global-typography-secondary-font-family), sans-serif!important;
}

.wp-block-heading.is-style-h6 {
  margin: 1rem auto;
  font-weight: var(--e-global-typography-7b4f8fe-font-weight);
  font-style: normal;
  font-size: var(--e-global-typography-7b4f8fe-font-size);
  line-height: var(--e-global-typography-7b4f8fe-line-height);
  letter-spacing: var(--e-global-typography-7b4f8fe-letter-spacing);
  text-transform: var(--e-global-typography-7b4f8fe-text-transform);
  font-family: var(--e-global-typography-secondary-font-family), sans-serif!important;
}

/*** Let's move these into Global Styles and add aboce ***/
.elementor-kit-8 h1,
.elementor-kit-8 h2,
.elementor-kit-8 h3,
.elementor-kit-8 h4,
.elementor-kit-8 h5,
.elementor-kit-8 h6 {
  margin: 0.5rem auto;
  font-style: normal;
}

h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span {
  font-weight: 400 !important;
}

.wp-block-heading.is-style-s1 {
  margin: 1rem 0;
  font-style: normal;
  font-size: var(--e-global-typography-45735d1-font-size);
  line-height: var(--e-global-typography-45735d1-line-height);
  letter-spacing: var(--e-global-typography-45735d1-letter-spacing);
  font-weight: var(--e-global-typography-45735d1-font-weight);
  text-transform: var(--e-global-typography-45735d1-text-transform);
  font-family: var(--e-global-typography-secondary-font-family), sans-serif!important;
}

.wp-block-heading.is-style-s2 {
  margin: 1rem 0;
  font-style: normal;
  font-size: var(--e-global-typography-43c312b-font-size);
  line-height: var(--e-global-typography-43c312b-line-height);
  letter-spacing: var(--e-global-typography-43c312b-letter-spacing);
  font-weight: var(--e-global-typography-43c312b-font-weight);
  text-transform: var(--e-global-typography-43c312b-text-transform);
  font-family: var(--e-global-typography-secondary-font-family), sans-serif!important;
}

.elementor-kit-8 p.is-style-c1 {
  margin: 1rem 0;
  font-family: var(--e-global-typography-6d86073-font-family), Sans-serif !important;
  font-weight: var(--e-global-typography-6d86073-font-weight);
  font-size: var(--e-global-typography-6d86073-font-size);
  line-height: var(--e-global-typography-6d86073-line-height);
  letter-spacing: var(--e-global-typography-6d86073-letter-spacing);
}

.elementor-kit-8 p.is-style-c2 {
  margin: 1rem 0;
  font-family: var(--e-global-typography-c6d21ea-font-family), Sans-serif !important;
  font-weight: var(--e-global-typography-c6d21ea-font-weight);
  font-size: var(--e-global-typography-c6d21ea-font-size);
  line-height: var(--e-global-typography-c6d21ea-line-height);
  letter-spacing: var(--e-global-typography-c6d21ea-letter-spacing);
}

.elementor-kit-8 p.is-style-lead {
  margin: 1rem 0;
  font-family: var(--e-global-typography-85b74ee-font-family), Sans-serif !important;
  font-weight: var(--e-global-typography-85b74ee-font-weight);
  font-size: var(--e-global-typography-85b74ee-font-size);
  line-height: var(--e-global-typography-85b74ee-line-height);
  letter-spacing: var(--e-global-typography-85b74ee-letter-spacing);
  color: var(--e-global-color-primary)!important;
}

.elementor-kit-8 p.is-style-body-sm {
  font-size: var(--e-global-typography-2b1aeb5-font-size);
}


/* =======================================================================
   Header & Headroom – Default + Transparent Styles
========================================================================== */
/* DEFAULT STYLE */
.header-default #header {
  background-color: var(--e-global-color-secondary); /* Solid fill */

}

/*** Prevent collapse when menu is active ***/
#header.headroom:has(.e-n-menu-toggle[aria-expanded="true"]),
#header.headroom:has(.e-n-menu-content.e-active) {
  transform: translateY(0%) !important;
}



/* TRANSPARENT STYLE - HOME ONLY */
.header-transparent #header {
  background-color: transparent; /* Initial transparent */

}

/* Links on Transparent Header*/
.header-transparent #header .e-n-menu-title-text {
  
}

/* Transparent header logic with scroll */
.header-transparent #header.headroom--top {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0));
  background-color: transparent; /* At top: stays transparent */
}


/* After scroll: solid */
.header-transparent #header.headroom:has(.e-n-menu-toggle[aria-expanded="true"]),
.header-transparent #header.headroom:has(.e-n-menu-content.e-active),
.header-transparent #header.headroom--not-top {
  background-image: none;
  background-color: var(--e-global-color-secondary) !important; /* Solid fill */
}

/* After scroll: change text color */
.header-transparent #header.headroom--not-top .e-n-menu-title-text {

}




/* COMMON HEADROOM BEHAVIOR */
#header.headroom--pinned {
  transform: translateY(0%); /* Visible when pinned */
}
#header.headroom--unpinned {
  transform: translateY(-100%); /* Hidden when unpinned */
}
/* Smoother transitions */
#header {
  /*transition: background-color 0.3s ease, transform 0.3s ease;*/
  transition: transform 0.3s ease;
}

.e-con:where(:not(.e-div-block-base)) {
  transition: none !important;
}


#header,
#header * {
  /*pointer-events: none !important;*/

}
/* Nav menu links */

.elementor-widget-n-menu .e-n-menu-title,
.elementor-widget-n-menu .e-n-menu-title span {
  cursor: pointer !important;
}

/*

.page-id-7265 .elementor-widget-n-menu .e-n-menu-item {
  pointer-events: all;

}
*/





/* =======================================================================
 #NAVIGATION
========================================================================== */



button.e-n-menu-toggle {
  margin: 0; /* Cancels out default button styling */
  border: 0 !important;
}

button.e-n-menu-toggle:hover,
button.e-n-menu-toggle:active {
  border: 0 !important;
}




.e-n-menu-title {
  position: relative;
}


  

.e-n-menu-content .e-con-inner {
  opacity: 0;
  transition: opacity 0.75s;
}


.e-n-menu-content.e-active .e-con-inner {
  opacity: 1;
}


.e-n-menu-content ul.col-links {
  padding-left: 3rem;
}


.e-n-menu-content .col-links li {
  list-style: none;
  margin-bottom: 1rem;
}


.e-n-menu-content a {
  color: var(--e-global-color-text);
  font-size: 1.2rem;
}

.e-n-menu-content a:hover {
  color: var(--e-global-color-primary);
}

.e-n-menu-content .elementor-button {
  margin: 0;
  font-size: 0.9rem;

}

.e-n-menu-content .see-all a:after {
  content: " ";
  background-image: url(/wp-content/uploads/2026/02/arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 1.5rem;
  height: 0.75rem; 
  display: inline-block;
  margin-left: 0.25rem;
  /*position: absolute;*/
}


@keyframes bounce {
  0%, 100% {
    transform: translateX(0px);
  }
  40% {
    transform: translateX(6px);
  }
  60% {
    transform: translateX(0px);
  }
}


.see-all a:hover:after {
    animation: bounce 0.75s alternate infinite;
    background-image: url(/wp-content/uploads/2026/02/arrow_red.png);
  }


/* Collection Cards in Nav */

.e-n-menu-content .card.card-collection,
.e-n-menu-content .card.card-collection .featured img {
  --overlay-opacity: 0.075;
  aspect-ratio: none;
  height: 250px;
}

.e-n-menu-content .card.card-collection .icon img {
  display: none;
}

.e-n-menu-content .card.card-collection h3.elementor-heading-title {
  color: var(--e-global-color-secondary) !important;
  font-size: 2rem;
  text-shadow: 0px 0px 6px rgba(0,0,0,0.33);

}

.e-n-menu-content .card.card-collection .title {
  bottom: 2.25rem;
}



  @media (max-width: 991px) { 
    .e-n-menu-content .card.card-collection,
    .e-n-menu-content .card.card-collection img {
      aspect-ratio: 4/1.75;
      height: inherit;
    }
  }



/* Promo Cards in Nav */

.e-n-menu-content .card.card-promo,
.e-n-menu-content .card.card-promo img {
  aspect-ratio: 16/9;
}

  
    .e-n-menu-content .card.card-promo {
      max-width: 400px;
    } 







.e-n-menu-content .card.card-promo h3.elementor-heading-title {
  color: var(--e-global-color-f7798dc) !important;
  font-size: 2rem;
}


.e-n-menu-content .card.card-promo .promo-title .last-word:after {
  display: none;
}





/*********** Mobile Navigation ***********/

@media (max-width: 767px) { 



.e-n-menu-toggle + .e-n-menu-wrapper {
  top: 3.4rem !important;
  height: calc(100vh - 80px) !important;
  background-color: var(--e-global-color-secondary) !important;
  position: fixed;
  z-index: 100 !important;
}

.e-n-menu-toggle[aria-expanded="true"] + .e-n-menu-wrapper {
  /*max-width: 450px;*/
  /*width: 100%;
  height: 100%;*/
}


.elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-title {
  background-color: var(--e-global-color-secondary) !important;
}

.elementor-widget-n-menu .e-n-menu-heading {
    height: 100%;
    /*width: 100%;*/
    /*right: 0px !important;*/
    flex-basis: content;
}


.elementor-widget-n-menu .e-n-menu-heading:has(.e-n-menu-content.e-active) {
  /*padding-top: 3rem;*/
}

  .e-n-menu-title {
    /*right: -1.5rem !important;*/
    left: inherit !important;
    background-image: url(/wp-content/uploads/2026/02/arrow.png);
    background-position: right 1rem center;
    background-repeat: no-repeat;
    background-size: auto 1rem;
  }


  .e-n-menu-title {
    /*min-height: 1.75rem;*/
    border-bottom: 1px solid var(--e-global-color-b3696e8) !important;
  }

  .e-n-menu-title:has(+ .e-n-menu-content.e-active) {
    position: absolute;
    top: 0.5rem;
    right: 0rem;
    z-index: 2;
    width: 100% !important;
    justify-content: flex-end !important;
    border: none !important;
    padding: 0 !important;
    transition: none;
    background: none;
  }

  .e-n-menu-title:has(+ .e-n-menu-content.e-active) .e-n-menu-title-container .e-n-menu-title-text {
    font-size: 0;
    transition: none;
    border-bottom: 0;
  }


  .e-n-menu-title:has(+ .e-n-menu-content.e-active) .e-n-menu-title-container .e-n-menu-title-text:after {
    content: "Back";
    font-size: 1.25rem !important;
    display: block;
    margin-right: 1.25rem;
    padding-left: 2.25rem;
    background-image: url(/wp-content/uploads/2026/03/arrow_back_dark.png);
    background-position: left center;
    background-repeat: no-repeat;
    background-size: auto 0.67rem;
    letter-spacing: 0.5px;
  }

  .e-n-menu-content {
  position: absolute;
  right: 0;
  width: 100%;
  bottom: 0;
  /*height: 100%;*/
  height: calc(100vh - 14rem) !important;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  z-index: 2;
  margin-bottom: 5rem;
  }

.e-n-menu-content > div {
  overflow-y: auto !important;
  margin-left: auto;

}


  .elementor-widget-n-menu .e-n-menu-content>.e-con:not(.e-active) {
    display: flex !important;
}

  .e-n-menu-content.e-active {
    /*outline: 3px dashed green;
    right: 0px;
    top: 0px;
    z-index: 2;
*/
    background-color: var(--e-global-color-secondary);
    transform: translateX(0);
    transition: transform 0.3s cubic-bezier(0, 0, 0.2, 1); /* opening easing */
    z-index: 2;
  
  }


}





@media (min-width: 768px) {

 .e-n-menu-item .e-n-menu-title-container:after {
    display: inline-block;
    position: absolute;
    content: " ";
    background-image: url(/wp-content/uploads/2026/03/downline_dark.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
    height: 0.4rem;
    width: 0;
    bottom: -6px;
    transition: all .3s; 
    left: 50%;
    right: 50%;
  }

  .e-n-menu-item .e-n-menu-dropdown-icon {
    display: none !important;
  }


  .e-n-menu-item:hover .e-n-menu-title-container:after,
  .e-n-menu-item:has(.e-n-menu-content.e-active) .e-n-menu-container:after {
    width: 100%;
    transition: all .3s; 
    left: 0%;
    right: 0%;
  }


}





/* =======================================================================
 #SEARCH
========================================================================== */

/*.search-box:focus .search-icon,
.search-box:focus-within .search-icon {
  display: none;
}


.search-box:focus .search-field {
  display: none;
}



.search-box:focus .search-field,
.search-box:focus-within .search-field {
  display: block;
}*/



header .elementor-widget-jet-ajax-search {
  width: 3rem;
  /*height: 2.4rem;*/
  margin-left: -0.85rem;
  margin-right: 0.25rem;
}

header .elementor-widget-jet-ajax-search:has(.is-expanded) {
  /*background-color: var(--e-global-color-secondary); */
  /*outline: 2px solid orange;*/
}

header .jet-ajax-search {
  /*padding: 0.5rem;*/
  border-radius: 5px;
}

header .jet-ajax-search.is-expanded {
  position: absolute;
  right: -0.5rem;
  padding: 0.5rem;
  top: -1.65rem;
  background-color: var(--e-global-color-secondary); 

}




/* Hide the input field initially */
header .jet-ajax-search .jet-ajax-search__field-wrapper {
  width: 0;
  overflow: hidden;
  opacity: 0;
  transition:  opacity 0.5s ease;
}

/* Expanded state */
header .jet-ajax-search.is-expanded .jet-ajax-search__field-wrapper {
  width: 230px; /* adjust to taste */
  opacity: 1;
}

header .jet-ajax-search__submit {
  border: 0 !important;
}

header .jet-ajax-search.is-expanded .jet-ajax-search__submit {
  pointer-events: none;
}


header .jet-ajax-search .jet-ajax-search__field:focus-visible,
header .jet-ajax-search button.jet-ajax-search__submit:focus-visible {
  outline: 2px solid var(--e-global-color-primary);
  box-shadow: unset;
  -webkit-box-shadow: unset;
}

.jet-ajax-search__results-header {
  z-index: 1000;
}





/* =======================================================================
 Dark & Light Theme Blocks
========================================================================== */
.dark {
  color: var(--e-global-color-d97f477);
  background-color: var(--e-global-color-d7291cf); /* Dark theme styling for blocks */
}
.dark h1,
h2,
h3,
h4,
h5,
h6,
a {
  color: var(--e-global-color-d97f477);
}

/* =======================================================================
 Page Heros
========================================================================== */
/* Default Page Hero */
#page-hero {
  width: 100%!important;
  /* allow height to be driven by content */
  height: auto !important;
  /* keep your visual limits */
  min-height: 320px;
  max-height: 380px;
  /* spacing so it doesn't collapse when only H1 shows */
  padding-block: clamp(24px, 4vw, 64px);
  position: relative;
  overflow: hidden;
  background-position: center center;
  background-size: cover;
}

.e-con-inner {
  outline: 2px dashed red;
  background-color: yellow;
}




/* Default Page Hero — shorter when there is no subtitle */
#page-hero:not(:has(h2)) {
  min-height: 240px;
  padding-bottom: 0;
}

/* custom heroes */

/*.page-hero.events-hero,
.page-hero.getting-here-hero {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.page-hero.events-hero {
  height: 70vh;
  min-height: 800px;
  max-height: 850px;
}

*/


.hero-events .elementor-widget-image {
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
}






/* Home + Large Page Hero */
#home-hero,
#page-hero.hero-large {
  height: 90vh;
  min-height: 750px;
  max-height: 850px;
  filter: brightness(0.95);
  padding-bottom: 7rem;
}



/* Home Hero - Summer Clouds */


.hero-home {
  margin-bottom: -3rem;
}


.hero-home.hero-clouds {
  /*margin-inline: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw*/;
  /*padding-top: 144px;*/
  
}





.hero-home.hero-clouds h2 {
  color: var( --e-global-color-f7798dc );
  font-size: var( --e-global-typography-c297f56-font-size );
  line-height: 0.8;
}

.hero-home.hero-clouds video.elementor-background-video-hosted {
  transform: translate(-50%,-90%);
}

@media (max-width: 768px) {
  .hero-home.hero-clouds video.elementor-background-video-hosted {
    transform: translate(-50%,-85%);
  }
}

@media (max-width: 567px) {
  .hero-home.hero-clouds video.elementor-background-video-hosted {
    transform: translate(-50%,-70%);
  }
}


/*** Hero Preload Colour ***/
.hero-home.hero-clouds  {
/*  background: radial-gradient(
    50% 50% at 50% 50%,
    rgba(19, 32, 63, 1) 0%,
    rgba(33, 33, 33, 1) 100%
  );*/
  background-color: var(--e-global-color-secondary);
}


.hero-home.hero-clouds {
  opacity: 1;
  animation-name: fadeInOpacity;
  animation-iteration-count: 1;
  animation-timing-function: ease-in;
  animation-duration: 2.2s;
}
@keyframes fadeInOpacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}





















/* Itinerary Page Hero */
#page-hero.itinerary-hero {
  height: 80vh;
  min-height: 750px;
  max-height: 800px;
}
/* Blog List Hero */
#page-hero.blog-list-hero {
  height: 60vh;
  min-height: 500px;
  max-height: 600px;
}
/* Blog Page Hero + Event Page Hero */
#page-hero.blog-hero,
#page-hero.event-hero {
  height: 40vh;
  min-height: 250px;
  max-height: 350px;
}

/* Hero Lines */
.hero-lines {
  display: block;
  width: 100vw !important; /* full viewport width, ignores container */
  max-width: none !important;
  height: auto;
  object-fit: cover;
}

/* Large screens */
@media (max-width: 1200px) {
  #page-hero {
    height: 50vh;
    min-height: 250px;
    max-height: 350px;
  }
  #page-hero:not(:has(h2)) {
    min-height: 200px;
    padding-bottom: 0;
    height: auto;
  }
  #page-hero.hero-large {
    height: 90vh;
    min-height: 600px;
    max-height: 700px;
    padding-bottom: 6rem;
  }
  #page-hero.itinerary-hero {
    height: 80vh;
    min-height: 650px;
    max-height: 700px;
  }
  #blog-list-hero {
    height: 60vh;
    min-height: 500px;
  }
  #page-hero.listing-hero .listing-hero-img {
    min-height: 520px;
    max-height: 620px;
  }

  /* custom heroes */
  .page-hero.events-hero {
    height: 60vh;
    min-height: 700px;
    max-height: 750px;
  }
  .page-hero.getting-here-hero {
    height: 60vh;
    min-height: 600px;
    max-height: 650px;
  }
}
/* Medium screens */
@media (max-width: 992px) {
   #page-hero {
    height: 40vh;
    min-height: 350px;
    max-height: 400px;
  }
  #page-hero:not(:has(h2)) {
    min-height: 250px;
    padding-bottom: 0;
     height: auto;
  }
  #home-hero,
  #page-hero.hero-large {
    height: 80vh;
    min-height: 650px;
    max-height: 750px;
  }
  #page-hero.itinerary-hero {
    height: 70vh;
    min-height: 650px;
    max-height: 700px;
  }
  #page-hero.blog-list-hero{
    height: 55vh;
    min-height: 500px;
  }
  #page-hero.listing-hero .listing-hero-img {
    min-height: 520px;
    max-height: 620px;
  }
    /* custom heroes */
  .page-hero.events-hero {
    height: 50vh;
    min-height: 600px;
    max-height: 650px;
  }
  .page-hero.getting-here-hero {
    height: 30vh;
    min-height: 550px;
    max-height: 650px;
  }
}
/* Tablets */
@media (max-width: 768px) {
  #page-hero {
    height: 35vh;
    min-height: 300px;
    max-height: 350px;
  }
   #page-hero:not(:has(h2)) {
    min-height: 150px;
    padding-bottom: 0;
     height: auto;
     padding-top: 3rem;
  }
  #home-hero,
  #page-hero.hero-large {
    height: 65vh;
    min-height: 650px;
    max-height: 750px;
  }
  #page-hero.blog-list-hero {
    height: 50vh;
    min-height: 400px;
  }
  #page-hero.itinerary-hero {
    height: 60vh;
    min-height: 700px;
    max-height: 750px;
  }
   #page-hero.hero-large .hero-lines {
    width: 130vw;
  }

      /* custom heroes */
  .page-hero.events-hero {
    height: 50vh;
    min-height: 500px;
    max-height: 550px;
  }
  .page-hero.getting-here-hero {
    height: 40vh;
    min-height: 450px;
    max-height: 550px;
  }
}
/* Mobile */
@media (max-width: 576px) {
  #page-hero {
    height: 35vh;
    min-height: 250px;
    max-height: 300px;
  }
  #page-hero:not(:has(h2)) {
    min-height: 150px;
    padding-bottom: 0;
    padding-top: 3rem;
     height: auto;
  }
  #home-hero,
  #page-hero.hero-large {
    height: 55vh;
    min-height: 550px;
    max-height: 650px;
    padding-bottom: 3rem;
  }
  #page-hero.itinerary-hero {
    height: 60vh;
    min-height: 750px;
    max-height: 800px;
  }
  #page-hero.blog-list-hero {
    height: 45vh;
    min-height: 450px;
    background-size: cover;
  }
  #page-hero.hero-large .hero-lines {
    width: 150vw;
  }

        /* custom heroes */
  .page-hero.events-hero {
    height: 50vh;
    min-height: 400px;
    max-height: 450px;
  }
  .page-hero.getting-here-hero {
    height: 30vh;
    min-height: 350px;
    max-height: 450px;
  }
}





/* ================================================================================================================================================= 
 SEASONAL PAGES 
==================================================================================================================================================== */

/* seasonal hero title */
.seasonal-title.spring span,
.seasonal-title.summer span {
  color: var(--e-global-color-7134c53);
}
.seasonal-title.fall span,
.seasonal-title.winter span {
  color: var(--e-global-color-accent);
}


.page-hero.getting-here-hero {
  width: 100vw;
  max-width: 100vw;
  /* break out of boxed container */
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  /* avoid flex shrinking inside container */
  flex: 0 0 auto;

}


/* True Stories Intro */
/* Underline highlight effect */
span.underline {
  text-decoration: none;
  box-shadow: inset 0 -0.18em 0 color-mix(in srgb, var(--e-global-color-primary) 20%, transparent);
}

/* Polaroid Animations */






/* ================================================================================================================================================= 
 BUTTONS 
==================================================================================================================================================== */
/* Default - Outline Button */
.btn,
.btn.btn-default,
.wp-element-button,
.wp-block-button.is-style-btn-default a,
#load-more-button,
button,
input[type="submit"],
.elementor-button,
.wp-block-button__link,
.tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button {
  font-size: 0.875rem;
  font-family: var(--e-global-typography-secondary-font-family), sans-serif!important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  border-radius: 6px!important;  
  padding: 1rem 1.25rem 1rem 1.25rem;
  display: inline-block;
  line-height: 1;
  text-align: center;
  transition: all 0.3s;
  margin: 1rem 0 1rem 0;
  color: var(--e-global-color-55a1dc9);
  border: solid 1px var(--e-global-color-55a1dc9);
  background-color: transparent !important;
}





/* Hover */
.btn,
.btn.btn-default:hover
.wp-element-button,
.wp-block-button.is-style-btn-default a:hover,
#load-more-button:hover,
input[type="submit"]:hover,
.wp-element-button:hover,
.elementor-button:hover,
.wp-block-button__link:hover,
.listing-btn a:hover,
.tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button:hover {
  background-color: var(--e-global-color-55a1dc9)!important;
  color: var(--e-global-color-4443d05)!important;
  border: solid 1px var(--e-global-color-55a1dc9);

}

/* load more button */
#load-more-button svg path {
    transition: fill 0.3s ease-in-out;
}

/* 2. Change the fill color when the button is hovered */
#load-more-button:hover svg path {
    fill: var(--e-global-color-4443d05) !important; /* Replace with your desired hover color */
}

/*********************************************************
Primary Button
**********************************************************/
.btn.btn-primary,
.wp-block-button.is-style-btn-primary a,
.wp-block-breeze-billboard .wp-block-button a,
.tribe-common-c-btn.tribe-events-c-search__button {
  border:none;
  color: var(--e-global-color-4443d05);
  background-color: var(--e-global-color-accent)!important;
}
.btn.btn-primary:hover,
.wp-block-button.is-style-btn-primary a:hover,
.wp-block-breeze-billboard .wp-block-button a:hover,
.tribe-common-c-btn.tribe-events-c-search__button:hover {
  color: var(--e-global-color-4443d05);
  background-color: var(--e-global-color-55a1dc9)!important;
  border:none;
}

/*********************************************************
Icon Arrow Button
**********************************************************/
.btn.btn-icon-arrow,
.wp-block-button.is-style-btn-icon-arrow a {
  color: var(--e-global-color-text);
  border:none; 
  padding: 0;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  background-color: transparent !important;
  overflow: hidden; /* required for slide animation */
}
/* Icon layers */
.btn.btn-icon-arrow::after,
.wp-block-button.is-style-btn-icon-arrow a::after,
.wp-block-button.is-style-btn-icon-arrow a::before {
  content: '';
  width: 1.125rem;
  height: 1.125rem;
  flex: 0 0 1.125rem;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  /* 👇 slower animation */
  transition:
    transform 0.6s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Default icon (visible) */
.btn.btn-icon-arrow a::after,
.wp-block-button.is-style-btn-icon-arrow a::after {
  background-image: url('/wp-content/themes/breeze/assets/icons/next-arrow-dark.svg');
  transform: translateX(0);
  opacity: 1;
}
/* Hover icon (hidden, offset left) */
.btn.btn-icon-arrow a::before,
.wp-block-button.is-style-btn-icon-arrow a::before {
  background-image: url('/wp-content/themes/breeze/assets/icons/next-arrow-accent.svg');
  position: absolute;
  right: 0;
  transform: translateX(-60%);
  opacity: 0;
}
/* Text hover */
.btn.btn-icon-arrow a:hover,
.wp-block-button.is-style-btn-icon-arrow a:hover {
  color: var(--e-global-color-accent)!important;
  border: none;
  background-color: unset !important;
}


/* Animate icons on hover */
.btn.btn-icon-arrow a:hover::after,
.wp-block-button.is-style-btn-icon-arrow a:hover::after {  
  transform: translateX(60%);
  opacity: 0;
}
.btn.btn-icon-arrow a:hover::before,
.wp-block-button.is-style-btn-icon-arrow a:hover::before {
  transform: translateX(0);
  opacity: 1;
}

/* Safari fix */
/* Force exact pixel rendering (no "contain" math)*/
.wp-block-button a::before,
.wp-block-button a::after {
  background-size: 18px 18px !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
/* Prevent fractional-motion blur on arrow animations */
.wp-block-button.is-style-btn-icon-arrow a::after { transform: translate3d(0,0,0) !important; }
.wp-block-button.is-style-btn-icon-arrow a::before { transform: translate3d(-12px,0,0) !important; }
.wp-block-button.is-style-btn-icon-arrow a:hover::after { transform: translate3d(12px,0,0) !important; }
.wp-block-button.is-style-btn-icon-arrow a:hover::before { transform: translate3d(0,0,0) !important; }




/*** TEC Event Submission Form Button ****/

.tribe-button.submit.events-community-submit {
  background-color: #444 !important;
}










/*********************************************************
Nav Button 
**********************************************************/
#nav-btn {
  margin-top: 0 !important;
}

/* Focus */
.wp-block-button.is-style-btn-default a:focus,
.elementor-kit-8 .elementor-button:focus,
.elementor-element .elementor-button:focus
  {
    background-color: var(--e-global-color-primary)!important;
}


/* =======================================================================
Testimonials
========================================================================== */
.elementor-testimonial-wrapper .elementor-testimonial-content {
  position: relative;
  margin-bottom: 3rem;
}
/* Add opening curly quote */
.elementor-testimonial-content::before {
  content: '“';
  margin-right: 0.1em;
}
/* Add closing curly quote */
.elementor-testimonial-content::after {
  content: '”';
  margin-left: 0.1em;
}
/* meta details alignment */
.elementor-widget-testimonial
  .elementor-widget-container
  .elementor-testimonial-wrapper
  .elementor-testimonial-meta
  .elementor-testimonial-meta-inner
  .elementor-testimonial-details {
  flex-direction: row;
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  align-items: center;
}
@media (max-width: 576px) {
  .elementor-widget-testimonial
    .elementor-widget-container
    .elementor-testimonial-wrapper
    .elementor-testimonial-meta
    .elementor-testimonial-meta-inner
    .elementor-testimonial-details {
    flex-direction: row;
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
  }
}
.elementor-testimonial-wrapper {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: center;
  align-items: center;
}
/* comma after name */
.elementor-testimonial-name::after {
  content: ',';
  margin-left: 0.2em; /* optional spacing */
}




/* =======================================================================
  MEDIA & TEXT
========================================================================== */
/* Base layout */
.elementor-widget-container .wp-block-media-text {
  position: relative;
  direction: ltr;
  display: grid;
  gap: 5rem;
  margin: 3rem 0;
  padding: 0;
  overflow: hidden;
  color: var(--e-global-color-55a1dc9);
}


.elementor-widget-container > .wp-block-media-text.has-media-on-the-right {
    grid-template-columns: 1fr 45%;
}
.elementor-widget-container > .wp-block-media-text {
    grid-template-columns: 45% 1fr;
}



/*** Media & Text -- (top level / non-canvas) ***/

.elementor-widget-container > 
  .wp-block-media-text
  .wp-block-media-text__content {
  padding: 0;
  color: var(--e-global-color-55a1dc9);
}


/* Media wrapper */
.elementor-widget-container > 
  .wp-block-media-text__media {
  position: relative;
  overflow: hidden;
}
/* Image */
  .elementor-widget-container > .wp-block-media-text img {
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 1em;
  max-height: 650px;
}

/* Mobile */
@media (max-width: 576px) {
/* Stack all Media & Text blocks */
  .elementor-widget-container > .wp-block-media-text {
    display: flex !important;
    flex-direction: column;
    gap: 1rem;
  }
  /* Image */
  .elementor-widget-container > .wp-block-media-text__media img {
    width: 100%;
    height: auto;
    max-height: 450px;
  }
  /* Default mobile order: image first */
  .elementor-widget-container > .wp-block-media-text__media {
    order: -1;
    width: 100%;
  }
  .elementor-widget-container > .wp-block-media-text__content {
    order: 2;
  }
  /* 🔁 Reversed mobile style */
  .elementor-widget-container > .wp-block-media-text.is-style-reversed-mobile .wp-block-media-text__media {
    order: 2;
  }
  .elementor-widget-container > .wp-block-media-text.is-style-reversed-mobile .wp-block-media-text__content {
    order: -1;
  }
}









/* =======================================================================
VIDEOS
========================================================================== */
/* Video block + native <video> */
.wp-block-video,
.wp-block-video video,
.wp-block-cover iframe,
/* Embed block wrappers + common providers */
.wp-block-embed,
.wp-block-embed__wrapper,
.wp-block-embed iframe,
.wp-block-embed-youtube,
.wp-block-embed-vimeo,
/* WP responsive embed wrapper */
.wp-has-aspect-ratio,
.wp-has-aspect-ratio iframe {
  border-radius: 1em !important;
}

/* Video block + native <video> */
.wp-block-video,
.wp-block-video video,
/* Embed block wrappers + common providers */
.wp-block-embed,
.wp-block-embed-youtube,
.wp-block-embed-vimeo,
/* WP responsive embed wrapper */
.wp-has-aspect-ratio {
  margin: 3rem auto !important;
}
/* Ensure radius actually clips iframes/videos */
.wp-block-video,
.wp-block-embed,
.wp-has-aspect-ratio {
  overflow: hidden;
}
/* Safety: make sure iframe respects the radius */
.wp-block-embed iframe,
.wp-block-cover iframe {
  display: block;
}

/* Mobile override */
@media (max-width: 767px) {
/* Video block + native <video> */
.wp-block-video,
.wp-block-video video,
/* Embed block wrappers + common providers */
.wp-block-embed,
.wp-block-embed-youtube,
.wp-block-embed-vimeo,
/* WP responsive embed wrapper */
.wp-has-aspect-ratio {
  margin: 1rem auto !important;
}
}


/* =======================================================================
CARDS
========================================================================== */
/* Base Card Styles */
.card {
	word-break: break-word;
}

.card:hover {
  background-color: transparent !important;
}
.card .featured img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  border-radius: 1em;
  transition: filter 0.3s ease;
}
.card:hover .featured img {
  filter: brightness(0.6);
}
/* Card Types */
.card.card-type-splash .featured img {
  aspect-ratio: 4 / 3;
}
/*.card.card-type-default {
	aspect-ratio: 3 / 4;
}*/
.card.card-type-default .featured img {
  aspect-ratio: 3 / 4;
}
.card.card-type-splash {
  position: relative;
  overflow: hidden;
}

/* Cards - Aspect 4/3 */
.card.card-collection,
.card.card-collection .featured img,
.card.card-itinerary,
.card.card-itinerary .featured img,
.card.card-blog .featured img {
  aspect-ratio: 4 / 3;
}

.card.card-custom-texture,
.card.card-custom-texture .featured img {
  aspect-ratio: 7 / 5;
}

/* Cards - Aspect 7/8 */
.card.card-place .featured img,
.card.card-listing .featured img,
.card.card-promo .featured img,
.card.card-event,
.card.card-event .featured img,
.card.card-custom,
.card.card-custom .featured img {
  aspect-ratio: 7 / 8;
}


@media (max-width: 567px) {
  .card.card-collection,
  .card.card-collection .featured img,
  .card.card-itinerary,
  .card.card-itinerary .featured img,
  .card.card-place .featured img,
  .card.card-promo .featured img,
  .card.card-event .featured img,
  .card.card-custom .featured img {
    aspect-ratio: 7 / 8;
  }
  .card.card-listing .featured img,
  .card.card-place .featured img {
    aspect-ratio: 1 / 1;
  }
  .card.card-blog .featured img {
    aspect-ratio: 4 / 3;
  }
}

/* Cards inside Grids specifically */
.jet-listing-grid__items .card {
}

/* Cards inside Carousels specifically */
.carousel .jet-listing-grid__items .card-event {
  aspect-ratio: 4 /     3;
}








/******* Default Card Style *********/

.card.card-type-default h3 {
	-webkit-line-clamp: 3;
	line-clamp: 3;
	text-overflow: ellipsis;
	overflow: hidden;
   display: -webkit-box;
  -webkit-box-orient: vertical;
}












/* =======================================================================
    #CAROUSELS
========================================================================== */





@media (max-width: 1199px) {
  .carousel-wrapper,
  .jet-listing-grid--1332 {
    margin-top: 2rem;
    margin-bottom: 0rem;
  }
}

.carousel > .elementor-widget-container,
.carousel > .jet-listing-grid { 
  margin-top: 2rem;
  margin-bottom: 2rem;
}





.jet-listing-grid__loader {
	display:none;
}

.carousel {
	position: relative;
}
    
.carousel > .elementor-widget-container,
.carousel > .jet-listing-grid {
	/*margin-right: -1rem;	*/
  margin-right: 0rem;
	margin-left: -1rem;

}

.carousel .jet-listing-grid {
  /*width: 100%;*/
}

/*.carousel > .elementor-widget-container .jet-listing-grid__scroll-slider,*/
.carousel > .jet-listing-grid .jet-listing-grid__scroll-slider {
  margin-right: -1rem;
}




  .carousel .jet-listing-grid__items .jet-listing-grid__item:nth-of-type(1) {
    margin-left: 1rem;

  }


@media (min-width: 1200px) {

  .carousel > .elementor-widget-container,
  .carousel > .jet-listing-grid {	
    margin-left: -1rem;
		margin-right: calc((50% - 50vw) + 0rem);

	}	
     /* Target Desktop Safari to fix issue with horizontal scrolling */
    @supports(font: -apple-system-body) and (not (-webkit-touch-callout: default)) {

      .carousel > .elementor-widget-container,
      .carousel > .jet-listing-grid { 
        margin-right: calc((50% - 50vw) + 0.5rem);
        
      }

    } 

  .carousel > .jet-listing-grid .jet-listing-grid__scroll-slider {
     margin-right: 0rem;
  }



}



/*** Hide mysterious overflow/unneeded scrollbar when there are few items ***/

@media (min-width: 992px) {  
  .carousel .jet-listing-grid__items:has(> .jet-listing-grid__item:nth-child(1):last-child),
  .carousel .jet-listing-grid__items:has(> .jet-listing-grid__item:nth-child(2):last-child),
  .carousel .jet-listing-grid__items:has(> .jet-listing-grid__item:nth-child(3):last-child) {
    width: 100% !important;
  }
}

@media (min-width: 1440px) {
  .carousel .jet-listing-grid__items:has(> .jet-listing-grid__item:nth-child(4):last-child) {
    width: 100% !important;
  }
}







.carousel .nav-prev,
.carousel .nav-next {
		display: none;
    filter: opacity(0);
	}


@media (min-width: 992px) {
	.carousel .nav-prev,
	.carousel .nav-next {
		display: block;
		position: absolute;
		top: 2rem;
    border-radius: 5rem;
		padding: 0.67rem 0.84rem;
		z-index: 100;
		font-family: verdana,sans-serif;
		font-size: 1.8rem;
		font-weight: 700;
    line-height: 0.75;
		cursor: pointer !important;
    color: var(--e-global-color-text);
		background-color: var(--e-global-color-4a6002a);
		/*text-shadow: 1px 1px 0 #000;*/
    filter: opacity(0.92);
    transition: all 0.4s;

	}

	.carousel .nav-prev {
		left: 1rem;
	}	
	.carousel .nav-next {
		right: calc((50% - 50vw) + 2rem);
	}	

	.carousel .nav-prev:hover,
	.carousel .nav-next:hover {
    filter: opacity(1);
	}
}

/**** Carousel Item/Cards *****/
.carousel .jet-listing-grid__item {
		flex: none !important; 
		max-width: 320px !important;	
}

@media (min-width: 768px) {
	.carousel .jet-listing-grid__item {
		flex: 0 0 calc(var(--content-width) / 2.75) !important; 
		max-width: calc(var(--content-width) / 2.75) !important;	
	}
}

@media (min-width: 992px) {
  .carousel .jet-listing-grid__item {
    flex: 0 0 calc(var(--content-width) / 3.25) !important; 
    max-width: calc(var(--content-width) / 3.25) !important; 
  }
}

@media (min-width: 1200px) {
  .carousel .jet-listing-grid__item {
    flex: 0 0 calc(var(--content-width) / 3) !important; 
    max-width: calc(var(--content-width) / 3) !important; 
  }
}


@media (min-width: 1440px) {
	.carousel .jet-listing-grid__item {
		flex: 0 0 calc(var(--content-width) / 4) !important; 
		max-width: calc(var(--content-width) / 4) !important;	
	}
}






/* =======================================================================
Grids
========================================================================== */

/* JetEngine Listing Grid: 4 cols on XL screens */
@media (min-width: 1200px) {
   .grid.grid-listing .jet-listing-grid .jet-listing-grid__items.grid-col-desk-3,
   .grid.grid-event .jet-listing-grid .jet-listing-grid__items.grid-col-desk-3,
   .grid.grid-blog .jet-listing-grid .jet-listing-grid__items.grid-col-desk-3 {
      --columns: 4;
  }
}

/* JetEngine Listing Grid: 2 cols on Tablet medium screens */
@media (min-width: 568px) and (max-width: 767px) {
  .jet-listing-grid .jet-listing-grid__items {
    --columns: 2;
  }
}

@media (min-width: 768px) {
  /* Force this listing into a 6-col CSS grid (Jet sometimes outputs flex/slider) */
  .grid.grid-place .jet-listing-grid .jet-listing-grid__items{
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--gap, 24px);
    justify-items: stretch;
    align-items: stretch;
  }

  /* Ensure each item + its first wrapper can actually stretch */
  .grid.grid-place .jet-listing-grid .jet-listing-grid__item{
    width: 100%;
    max-width: none;
    min-width: 0;
    justify-self: stretch;
  }

  .grid.grid-place .jet-listing-grid .jet-listing-grid__item > *{
    width: 100%;
    max-width: none;
  }

  .grid.grid-place .jet-listing-grid .jet-listing-grid__item > a{
    display: block;
    width: 100%;
  }

  /* ---- Pattern (repeats forever): 3 / 3 / 2 ---- */
  /* First 6 in each group of 8 => 3 items per row (span 2) */
  .grid.grid-place .jet-listing-grid .jet-listing-grid__item:is(
    :nth-child(8n+1),
    :nth-child(8n+2),
    :nth-child(8n+3),
    :nth-child(8n+4),
    :nth-child(8n+5),
    :nth-child(8n+6)
  ){
    grid-column: span 2;
  }

  /* Items 7–8 in each group of 8 => 2 items per row (span 3) */
  .grid.grid-place .jet-listing-grid .jet-listing-grid__item:is(
    :nth-child(8n+7),
    :nth-child(8n+8)
  ){
    grid-column: span 3;
  }

  /* 2-col row cards: featured media 4/3 */
  .grid.grid-place .jet-listing-grid .jet-listing-grid__item:is(
    :nth-child(8n+7),
    :nth-child(8n+8)
  ) .featured{
    aspect-ratio: 4 / 3;
    width: 100%;
    overflow: hidden;
  }

  .grid.grid-place .jet-listing-grid .jet-listing-grid__item:is(
    :nth-child(8n+7),
    :nth-child(8n+8)
  ) .featured img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
}



/* =======================================================================
Grid Blocks : Blogs Filter - JetSmartFilters Radio
========================================================================== */
/* Make it a nav row with breathing room */
.blog-category-tabs .jet-radio-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 40px; /* breathing room between items */
  row-gap: 14px;    /* spacing if it wraps */
}

/* JetSmartFilters uses rows; keep them horizontal */
.blog-category-tabs .jet-radio-list__row {
  display: flex;
  align-items: center;
}

/* Hide JetSmartFilters default radio decorator */
.blog-category-tabs .jet-radio-list__decorator,
.blog-category-tabs .jet-radio-list__checked-icon {
  display: none !important;
}

/* Hide native radio input */
.blog-category-tabs input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  pointer-events: none !important;
}

/* Make the whole item clickable like a tab */
.blog-category-tabs .jet-radio-list__item {
  margin: 0 !important;
  cursor: pointer;
}

/* Button wrapper becomes our tab */
.blog-category-tabs .jet-radio-list__button {
  display: inline-flex;
  align-items: center;
  gap: 12px;          /* icon ↔ text spacing */
  padding: 8px 2px;   /* breathing room */
  position: relative; /* REQUIRED for underline positioning */
}

/* Label text */
.blog-category-tabs .jet-radio-list__label {
  display: inline-flex;
  align-items: center;
  line-height: 1.2;
  gap: 10px;
}

/* Icon slot BEFORE label */
.blog-category-tabs .jet-radio-list__label::before {
  content: "";
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(1px);
}

/* Base underline (exists but hidden via scale) */
.blog-category-tabs .jet-radio-list__button::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px; /* vertical position */
  height: 16px;
  background-image: url("/wp-content/themes/breeze/assets/icons/underline.svg");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% 100%;
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 480ms cubic-bezier(.2,.8,.2,1);
  will-change: transform;
}

/* Hover / focus: sweep in from center */
.blog-category-tabs
  .jet-radio-list__item:hover
  .jet-radio-list__button::after,
.blog-category-tabs
  .jet-radio-list__item:focus-within
  .jet-radio-list__button::after {
  transform: scaleX(1);
}

/* Active (checked) stays visible */
.blog-category-tabs
  .jet-radio-list__item
  input:checked
  + .jet-radio-list__button::after {
  transform: scaleX(1);
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
  .blog-category-tabs .jet-radio-list__button::after {
    transition: none;
  }
}

/* ICONS PER CATEGORY (by term slug) */
/* All */
.blog-category-tabs .jet-radio-list__item input[value=""] + .jet-radio-list__button .jet-radio-list__label::before {
  background-image: url("/wp-content/themes/breeze/assets/icons/story.svg");
}
/* Places */
.blog-category-tabs .jet-radio-list__item input[value="57"] + .jet-radio-list__button .jet-radio-list__label::before {
  background-image: url("/wp-content/themes/breeze/assets/icons/point.svg");
}
/* Events */
.blog-category-tabs .jet-radio-list__item input[value="49"] + .jet-radio-list__button .jet-radio-list__label::before {
  background-image: url("/wp-content/themes/breeze/assets/icons/ticket.svg");
}
/* Family Fun */
.blog-category-tabs .jet-radio-list__item input[value="48"] + .jet-radio-list__button .jet-radio-list__label::before {
  background-image: url("/wp-content/themes/breeze/assets/icons/viewpoint.svg");
}
/* Things to do */
.blog-category-tabs .jet-radio-list__item input[value="27"] + .jet-radio-list__button .jet-radio-list__label::before {
  background-image: url("/wp-content/themes/breeze/assets/icons/mountains.svg");
}


/* =======================================================================
PROMO CARDS
========================================================================== */
/* Base state: keep your original card layout untouched */
.card.card-promo .card-promo-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}
/* Align Top */
.card.card-promo .card-promo-inner.alignment-top {
  justify-content: flex-start;
  align-items: flex-start;
}

/* Align Middle */
.card.card-promo .card-promo-inner.alignment-middle {
  justify-content: center;
  align-items: center;
}

/* Align Bottom */
.card.card-promo .card-promo-inner.alignment-bottom {
  justify-content: flex-end;
  align-items: flex-end;
}

/* promo-title icon arrow */

/*.promo-title .last-word {
  position: relative;
  display: inline-block;
  padding-right: 3.5rem; 
}
.promo-title .last-word::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  width: 1em;
  height: 1em;
  transform: translateY(-33%);
  background-image: url('/wp-content/themes/breeze/assets/icons/arrow_yellow.svg');
  background-size: contain;
  background-repeat: no-repeat;
}
*/

.card.card-promo .elementor-widget-jet-listing-dynamic-link {
  position: static;
}

.card.card-promo .elementor-widget-jet-listing-dynamic-link a:after {
  position: absolute;
  display: block;
  content: " ";
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  z-index: 1001;
}


.jet-listing-grid__item:nth-of-type(2) .card-promo h3,
.jet-listing-grid__item:nth-of-type(6) .card-promo h3 {
  color: var(--e-global-color-secondary) !important;
}

.jet-listing-grid__item:nth-of-type(3) .card-promo h3,
.jet-listing-grid__item:nth-of-type(5) .card-promo h3 {
  color: var(--e-global-color-f7798dc) !important;
}

.jet-listing-grid__item:nth-of-type(4) .card-promo h3,
.jet-listing-grid__item:nth-of-type(7) .card-promo h3 {
  color: var(--e-global-color-7134c53) !important;
}




/* =======================================================================
CUSTOM TEXT CARDS
========================================================================== */
/* Base style — applies to all .last-word */
.custom-title .last-word {
  position: relative;
  display: inline-block;
  padding-right: 3.5rem; /* room for arrow */
}
.custom-title .last-word::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  width: 1em;
  height: 1em;
  transform: translateY(-33%);
  background-size: contain;
  background-repeat: no-repeat;
}

/* DIFFERENT ARROWS PER CHILD */
/* 1st child → arrow_yellow.svg */
.card.card-custom-texture:nth-child(1) .custom-title .last-word::after {
  background-image: url('/wp-content/themes/breeze/assets/icons/arrow_yellow.svg');
}
/* 2nd child → arrow_teal.svg */
.card.card-custom-texture:nth-child(2) .custom-title .last-word::after {
  background-image: url('/wp-content/themes/breeze/assets/icons/arrow_teal.svg');
}
/* 3rd child → arrow_green.svg */
.card.card-custom-texture:nth-child(3) .custom-title .last-word::after {
  background-image: url('/wp-content/themes/breeze/assets/icons/arrow_green.svg');
}

/* =======================================================================
EVENT CARDS
========================================================================== */
.card-event {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  background-image: url("/wp-content/themes/breeze/assets/imgs/events/primary-yellow.webp");
  background-color: var(--e-global-color-secondary);
  border-radius: 1em;
  overflow: hidden;
}
/* Text color driven by mode */
.card-event.is-dark {
  color: var(--e-global-color-f7798dc);
}
.card-event.is-dark * {
  color: var(--e-global-color-f7798dc);
}
.card-event.is-light {
color: var(--e-global-color-text);
}
.card-event.is-light * {
color: var(--e-global-color-text);
}
/* event meta box */
.event-meta-box {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}
.event-meta {
    display: flex;
    flex-direction: column;
    align-content: flex-start;
    align-items: flex-start;
    justify-content: flex-end;
    width: 100% !important;
    padding: 0 2rem 1rem 2rem !important;
}

/* Target the event title H4 container */
.tribe-events-calendar-list__event-title {
    border-top-left-radius: 1em;
}

/* event Text styles*/
.tribe-events-calendar-list__event-title a {
    font-family: var(--e-global-typography-9ddb4af-font-family)!important;
    font-size: 2.6rem;
    text-transform: uppercase;
    line-height: 0.9em;
    color: var(--e-global-color-text);
}
.event-meta .event-date {
  color: var(--e-global-color-text);
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-size: 1.2rem;
  font-family:var(--e-global-typography-c6d21ea-font-family), Sans-serif;
  padding-bottom: 1rem;
  border-bottom: solid 1px var(--e-global-color-f7798dc);
  width: 100%;
}

/* event list date calendar icon*/
.event-meta .event-date::before {
  content: '';
  width: 1.5rem;
  height: 1.5rem;
  flex: 0 0 1.5rem;
  background: currentColor;
  -webkit-mask: url('/wp-content/themes/breeze/assets/icons/calendar.svg') no-repeat center / contain;
          mask: url('/wp-content/themes/breeze/assets/icons/calendar.svg') no-repeat center / contain;
}

/* event list date */
.tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
    display: flex;
    flex-direction: row;
    height: 100%;
    padding-top: var(--tec-spacer-0);
    text-align: center;
    justify-content: flex-start;
    align-items: center;
    gap: .5rem;
}
/* event venue */
.tribe-events-calendar-list__event-venue-title {
  color: var(--e-global-color-text);
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-size: 1rem;
  line-height: 1.1;
  font-weight: 400!important;
  font-family:var(--e-global-typography-c6d21ea-font-family), Sans-serif;
  padding-top: .5rem!important;
  line-clamp: 2;
    /*display: -webkit-box;*/
  /*-webkit-box-orient: vertical;*/
  /*overflow: hidden;*/
  
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__container, .tribe-events .tribe-events-c-subscribe-dropdown__container {
    display: none !important;
}




.tribe-events-calendar-list__event-venue-title::before {
  content: '';
  width: 1.5rem;
  height: 1.5rem;
  flex: 0 0 1.5rem;
  background: currentColor;
  -webkit-mask: url('/wp-content/themes/breeze/assets/icons/point.svg') no-repeat center / contain;
          mask: url('/wp-content/themes/breeze/assets/icons/point.svg') no-repeat center / contain;
}


/* =======================================================================
EVENT CARDS BACKGROUND ROTATION
========================================================================== */
/* Targets (combined) */
:where(.events-grid > li.card-event),
:where(.jet-listing-grid__items .card-event) {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  position: relative;
  border-radius: 1em;
  /* fallback */
  background-image: url("/wp-content/themes/breeze/assets/imgs/events/primary-yellow.webp");
}

/* Helper groups (combined) */
/* DARK family (1–4): text color */
:where(
  .events-grid > li.card-event:nth-child(7n + 1),
  .events-grid > li.card-event:nth-child(7n + 2),
  .events-grid > li.card-event:nth-child(7n + 3),
  .events-grid > li.card-event:nth-child(7n + 4),
  /* JetEngine Grid (non-carousel) */
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 1) .card-event,
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 2) .card-event,
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 3) .card-event,
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 4) .card-event,
  /* JetEngine Carousel (Slick) — exclude clones */
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 1) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 2) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 3) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 4) .card-event
) {
  color: var(--e-global-color-f7798dc)!important;
}
:where(
  .events-grid > li.card-event:nth-child(7n + 1),
  .events-grid > li.card-event:nth-child(7n + 2),
  .events-grid > li.card-event:nth-child(7n + 3),
  .events-grid > li.card-event:nth-child(7n + 4),
  /* JetEngine Grid (non-carousel) */
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 1) .card-event,
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 2) .card-event,
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 3) .card-event,
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 4) .card-event,
  /* JetEngine Carousel (Slick) — exclude clones */
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 1) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 2) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 3) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 4) .card-event
) * {
  color: var(--e-global-color-f7798dc)!important;
}

/* LIGHT family (5–7): text color */
:where(
  .events-grid > li.card-event:nth-child(7n + 5),
  .events-grid > li.card-event:nth-child(7n + 6),
  .events-grid > li.card-event:nth-child(7n + 7),
  /* JetEngine Grid (non-carousel) */
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 5) .card-event,
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 6) .card-event,
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 7) .card-event,
  /* JetEngine Carousel (Slick) — exclude clones */
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 5) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 6) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 7) .card-event
) {
  color: var(--e-global-color-text) !important;
}
:where(
  .events-grid > li.card-event:nth-child(7n + 5),
  .events-grid > li.card-event:nth-child(7n + 6),
  .events-grid > li.card-event:nth-child(7n + 7),
  /* JetEngine Grid (non-carousel) */
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 5) .card-event,
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 6) .card-event,
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 7) .card-event,
  /* JetEngine Carousel (Slick) — exclude clones */
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 5) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 6) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 7) .card-event
) * {
  color: var(--e-global-color-text) !important;
}

/* DARK textures (1–4) → warm yellow line */
:where(
  .events-grid > li.card-event:nth-child(7n + 1),
  .events-grid > li.card-event:nth-child(7n + 2),
  .events-grid > li.card-event:nth-child(7n + 3),
  .events-grid > li.card-event:nth-child(7n + 4),
  /* JetEngine Grid (non-carousel) */
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 1) .card-event,
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 2) .card-event,
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 3) .card-event,
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 4) .card-event,
  /* JetEngine Carousel (Slick) — exclude clones */
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 1) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 2) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 3) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 4) .card-event
) .event-date {
  border-bottom-color: var(--e-global-color-f7798dc) !important;
}

/* LIGHT textures (5–7) → charcoal line */
:where(
  .events-grid > li.card-event:nth-child(7n + 5),
  .events-grid > li.card-event:nth-child(7n + 6),
  .events-grid > li.card-event:nth-child(7n + 7),
  /* JetEngine Grid (non-carousel) */
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 5) .card-event,
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 6) .card-event,
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 7) .card-event,
  /* JetEngine Carousel (Slick) — exclude clones */
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 5) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 6) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 7) .card-event
) .event-date {
  border-bottom-color: var(--e-global-color-55a1dc9) !important;
}

/* Carousel DARK family (1–4): make icons light */
:where(
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 1) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 2) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 3) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 4) .card-event
) :is(.event-icon img) {
    filter:
    brightness(0)
    invert(90%)
    sepia(20%)
    saturate(300%)
    hue-rotate(20deg)
    brightness(105%)
    contrast(95%) !important;
}
/* Carousel LIGHT family (5–7): make icons dark */
:where(
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 5) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 6) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 7) .card-event
) :is(.event-icon img) {
  filter: none !important;
}

/* Background rotation (combined) - One rule per texture index */
/* 1 primary-red */
:where(
  .events-grid > li.card-event:nth-child(7n + 1),
  /* JetEngine Grid (non-carousel) */
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 1) .card-event,
  /* JetEngine Carousel (Slick) — exclude clones */
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 1) .card-event
) {
  background-image: url("/wp-content/themes/breeze/assets/imgs/events/primary-red.webp") !important;
  background-color: var(--e-global-color-primary);
}
/* 2 brown */
:where(
  .events-grid > li.card-event:nth-child(7n + 2),
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 2) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 2) .card-event
) {
  background-image: url("/wp-content/themes/breeze/assets/imgs/events/brown.webp") !important;
  background-color: #976030;
}
/* 3 dark */
:where(
  .events-grid > li.card-event:nth-child(7n + 3),
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 3) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 3) .card-event
) {
  background-image: url("/wp-content/themes/breeze/assets/imgs/events/dark.webp") !important;
  background-color: var(--e-global-color-a0e2cb5);
}
/* 4 secondary-teal */
:where(
  .events-grid > li.card-event:nth-child(7n + 4),
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 4) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 4) .card-event
) {
  background-image: url("/wp-content/themes/breeze/assets/imgs/events/secondary-teal.webp") !important;
  background-color: var(--e-global-color-254d70c);
}
/* 5 primary-yellow */
:where(
  .events-grid > li.card-event:nth-child(7n + 5),
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 5) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 5) .card-event
) {
  background-image: url("/wp-content/themes/breeze/assets/imgs/events/primary-yellow.webp") !important;
  background-color: var(--e-global-color-4a6002a);
}
/* 6 green */
:where(
  .events-grid > li.card-event:nth-child(7n + 6),
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 6) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 6) .card-event
) {
  background-image: url("/wp-content/themes/breeze/assets/imgs/events/green.webp") !important;
  background-color: var(--e-global-color-f7798dc);
}
/* 7 secondary */
:where(
  .events-grid > li.card-event:nth-child(7n + 7),
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 7) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 7) .card-event
) {
  background-image: url("/wp-content/themes/breeze/assets/imgs/events/secondary.webp") !important;
  background-color: var(--e-global-color-secondary);
}


/* =======================================================================
EVENT CARDS — Stretched link
========================================================================== */
.events-grid > li.card-event {
  position: relative;
}
.events-grid > li.card-event .tribe-events-calendar-list__event-title a {
  position: static;
}
/* Overlay is created on the card itself, but uses the link's URL */
.events-grid > li.card-event::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  cursor: pointer;
}
/* Make the overlay actually click the title link */
.events-grid > li.card-event::after {
  pointer-events: none;
}
.events-grid > li.card-event .tribe-events-calendar-list__event-title a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  cursor: pointer;
}
/* TEC list view title link */
.tribe-events .events-grid > li.card-event .tribe-events-calendar-list__event-title a,
.tribe-events .events-grid > li.card-event .tribe-events-calendar-list__event-title a:hover,
.tribe-events .events-grid > li.card-event .tribe-events-calendar-list__event-title a:focus,
.tribe-events .events-grid > li.card-event .tribe-events-calendar-list__event-title a:active,
.tribe-events .events-grid > li.card-event:hover .tribe-events-calendar-list__event-title a {
  text-decoration: none !important;
  text-decoration-line: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* =======================================================================
EVENT CARDS — Background position cycle
========================================================================== */
/* Base (center) */
:where(
  .events-grid > li.card-event,
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned) .card-event
) {
  background-position: center center !important;
}
/* LEFT cards (2, 5, 8, 11…) */
:where(
  .events-grid > li.card-event:nth-child(3n + 2),
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(3n + 2) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(3n + 2) .card-event
) {
  background-position: left center !important;
}
/* RIGHT cards (3, 6, 9, 12…) */
:where(
  .events-grid > li.card-event:nth-child(3n + 3),
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(3n + 3) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(3n + 3) .card-event
) {
  background-position: right center !important;
}



/* =======================================================================
EVENT CARDS — Hover overlay (list + JetEngine carousel)
========================================================================== */
/* Base overlay layer */
:where(.events-grid > li.card-event, .jet-listing-grid__items .card-event)::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.18); /* default darkening */
  opacity: 0;
  transition: opacity 0.35s ease;
  z-index: 0; /* stays above background, below content */
  pointer-events: none;
  border-radius: 1em;
}
/* Light cards get a light overlay instead */
:where(
  .events-grid > li.card-event:nth-child(7n + 5),
  .events-grid > li.card-event:nth-child(7n + 6),
  .events-grid > li.card-event:nth-child(7n + 7),
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 5) .card-event,
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 6) .card-event,
  .jet-listing-grid__items:not(.slick-slider) > .jet-listing-grid__item:nth-child(7n + 7) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 5) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 6) .card-event,
  .jet-listing-grid__items.slick-slider .slick-track > .jet-listing-grid__item:not(.slick-cloned):nth-child(7n + 7) .card-event
)::before {
  background: rgba(255, 255, 255, 0.25);
}
/* Fade overlay in on hover */
:where(.events-grid > li.card-event:hover, .jet-listing-grid__items .card-event:hover)::before {
  opacity: 1;
}
/* Make sure content stays above overlay */
:where(.events-grid > li.card-event, .jet-listing-grid__items .card-event) > * {
  position: relative;
  z-index: 1;
}



/* =======================================================================
   Events Template
========================================================================== */
#tribe-events-pg-template {
  max-width: 100% !important;
}
/* Events header */
.tribe-events {
  /*margin-top: 5rem !important;*/
  padding: 0;
}

.tribe-events .tribe-events-l-container {
  padding: 2rem 0rem 4rem 0rem !important;
}






/* Seach Bar - Find Events button */
.tribe-common--breakpoint-medium.tribe-events
  .tribe-common-c-btn.tribe-events-c-search__button {
  font-size: 0.875rem;
  font-family: var(--e-global-typography-secondary-font-family), sans-serif!important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 6px;
  border:none;
  padding: 1rem 1.25rem 1rem 1.25rem;
  display: inline-block;
  line-height: 1;
  text-align: center;
  transition: all 0.3s;
  /*margin: 1rem auto;*/
  color: var(--e-global-color-4443d05);
  background-color: var(--e-global-color-accent);
}
/* Today Button */
.tribe-common .tribe-common-c-btn-border-small, .tribe-common a.tribe-common-c-btn-border-small,
.tribe-common .tribe-common-c-btn-border {
  font-size: 0.875rem!important;
  font-family: var(--e-global-typography-secondary-font-family), sans-serif!important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 6px;
  padding: 1rem 1.25rem 1rem 1.25rem!important;
  display: inline-block;
  line-height: 1;
  text-align: center;
  transition: all 0.3s;
  color: var(--e-global-color-55a1dc9);
  border: solid 1px var(--e-global-color-55a1dc9);
  background-color: transparent;
}
/* Select Month Button */
.tribe-events-c-nav__prev-label,
.tribe-events-c-nav__next-label,
.tribe-common--breakpoint-full.tribe-events .tribe-events-c-top-bar__datepicker-desktop,
.tribe-events button.tribe-events-c-top-bar__datepicker-button,
.datepicker-switch,
.tribe-events-c-view-selector__list-item a {
  font-size: 0.875rem!important;
  font-family: var(--e-global-typography-secondary-font-family), sans-serif!important;
  font-weight: 600!important;
  text-transform: uppercase!important;
  letter-spacing: 1px!important;
  color: var(--e-global-color-55a1dc9);
  padding: 0;
  background-color: transparent !important;
}
.tribe-events .datepicker .day { 
  font-size: 0.875rem!important;
  font-family: var(--e-global-typography-secondary-font-family), sans-serif!important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--e-global-color-55a1dc9);
}
.tribe-events-c-nav__next {
  font-size: 0.875rem!important;
  font-family: var(--e-global-typography-secondary-font-family), sans-serif!important;
  text-transform: uppercase;
  letter-spacing: 1px;
}
/* Select Month Dropdown */
.tribe-events .datepicker .mont.active, .tribe-events .datepicker .month.active.focused,
.tribe-events .datepicker .day.active {
  background-color: var(--e-global-color-accent);
}
/* Seach Bar - Text */
.tribe-common--breakpoint-medium.tribe-common
  .tribe-common-form-control-text__input {
  font-size: 1rem;
  font-family: var(--e-global-typography-text-font-family), serif;
}
/* Upcoming Events Button */
.tribe-events button.tribe-events-c-top-bar__datepicker-button:hover {
  background: transparent;
}
.tribe-events button.tribe-events-c-top-bar__datepicker-button:focus {
  outline: none;
}
/* Add to calendar btn */
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button-text, 
.tribe-events .tribe-events-c-subscribe-dropdown button.tribe-events-c-subscribe-dropdown__button-text {
    background-color: initial;
    background-image: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
    color: var(--e-global-color-text);
    cursor: pointer;
    font-size: inherit;
    margin: 0!important;
    text-shadow: none;
    background-color: transparent !important;
}
.tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button:hover {
    color: var(--e-global-color-fdfe7e5);
}

.tribe-events-calendar-series-archive__link {
  display: none;
}
.tribe-events-c-events-bar__search-button {
  background-color: transparent!important;
}

/* =======================================================================
   Events Month View
========================================================================== */
.tribe-common .tribe-common-h4 {
  font-family: var(--e-global-typography-secondary-font-family), sans-serif;
}
/* Event Month Days */
.tribe-events-calendar-month__header-column {
  border-block-start: none!important;
}
/* event time */
.tribe-events-calendar-month
.tribe-events-calendar-month__calendar-event-datetime,
.tribe-events-calendar-month__calendar-event-tooltip-datetime {
  display: none !important;
}
/* Table row background */
.tribe-events-calendar-month
tbody
tr.tribe-events-calendar-month__week:is(:first-child, :nth-child(3), :last-child)
td.tribe-events-calendar-month__day {
  background-color: var(--e-global-color-secondary);
}
/* Pop up event box */
.tooltipster-base.tribe-events-tooltip-theme {
  border-radius: .5em!important;
  overflow: hidden; /* ensures inner content respects radius */
  box-shadow: 0 8px 24px rgb(0 0 0 / 0.12);
  border:none;
}

/* Pop up event title */
.tribe-events-calendar-month__calendar-event-title a,
.tribe-events-calendar-month__calendar-event-tooltip-title a {
  text-transform: uppercase;
  line-height: 0;
  font-family: var(--e-global-typography-secondary-font-family), sans-serif !important;
}
/* Pop up event description */
.tribe-events-calendar-month__calendar-event-tooltip-description {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* ≈ 25–35 chars depending on font */
  overflow: hidden;
}

/* Target the LINK (appears when there are events) */
.tribe-events-calendar-month__day-date-link {
    font-size: 1.4rem !important; /* Set this to your desired size (e.g. 20px or 1.5em) */
}

/* Target the PLAIN TEXT (appears when no events) to ensure they match */
.tribe-events-calendar-month__day-date-daynum {
    font-size: 1.4rem !important; /* MUST match the number above */
} 


/* Multi Day Event */
.tribe-events .tribe-events-calendar-month__multiday-event-bar,
.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner {
  background-color: transparent;
}
.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner:hover {
  background-color: var(--e-global-color-secondary);
}
.tribe-events .tribe-events-calendar-month__multiday-event-bar-title {
  font-family: var(--e-global-typography-secondary-font-family), sans-serif;
  text-transform: uppercase;
  font-size: 1rem;
} 

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__multiday-event-wrapper {
  margin-bottom: 1rem;
}


/* =======================================================================
   Events List View
========================================================================== */
.events-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr; /* mobile */
}
/* Tablet */
@media (min-width: 768px) {
  .events-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* Large */
@media (min-width: 992px) {
  .events-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
/* XL */
@media (min-width: 1200px) {
  .events-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
/* event venue address */
.tribe-events .tribe-events-calendar-list__event-venue-address {
  display: none;
}
/* event time*/
.tribe-events-calendar-list__event-datetime-wrapper.tribe-common-b2 {
    display: none;
}

/* =======================================================================
   Event Page
========================================================================== */
#tribe-events, #tribe-events-pg-template, .tribe-events-pg-template {
  padding: 0;
}
#tribe-events, #tribe-events-pg-template, .tribe-events-pg-template iframe {
  margin-top:3rem;
}

.tribe-events-schedule,
.tribe-block__events-link {
    display: none!important;
}
.event-meta-row {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 1.5rem;
    margin-top: 2rem;
}

/* Event Hero Time + Date */
.elementor-widget-tec_events_elementor_widget_event_datetime,
.tec-events-elementor-event-widget__datetime-wrapper {
  width: 100%!important;
}
.tec-events-elementor-event-widget__datetime {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 0.6em;
  letter-spacing: 0px;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
}
span.tec-events-elementor-event-widget__datetime-separator {
    margin-left: 0.33rem !important;
    margin-right: 0.33rem !important;
}
.tec-events-elementor-event-widget__datetime-date--start {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.tec-events-elementor-event-widget__datetime-date--start::before {
  content: "";
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  background: currentColor;
  -webkit-mask: url('/wp-content/themes/breeze/assets/icons/calendar.svg') no-repeat center / contain;
          mask: url('/wp-content/themes/breeze/assets/icons/calendar.svg') no-repeat center / contain;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}



.tec-events-elementor-event-widget__datetime-time--start {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: 1rem!important;
}
.tec-events-elementor-event-widget__datetime-time--start::before {
  content: "";
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  background-image: url("/wp-content/themes/breeze/assets/icons/clock.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

@media (max-width:992px) {
  .tec-events-elementor-event-widget__datetime {
    font-size: 1.25rem!important;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
  }
}
@media (max-width:567px) {
  .tec-events-elementor-event-widget__datetime {
    display: inline-block;
    width: 100%!important;
  }
  span.tec-events-elementor-event-widget__datetime-separator {
    margin-left: .5rem !important;
  }
  .tec-events-elementor-event-widget__datetime-time--start {
    margin-left: .5rem!important;
  }
}
/* Event Detail */
.tribe-block__organizer__details,
.tribe-block__venue {
  margin-top: 2rem;
}
/* Event Text */
.tribe-block__organizer__title h3 a,
.tribe-block__venue__name h3 a {
  font-size: 1.25rem;
  color: var(--e-global-color-text);
}
.tribe-block__organizer__details p {
  margin-bottom: 0;
}
.tribe-block__venue__website {
  margin-top: 1rem;
}
/* Event Tickets */
.tribe-block__event-price__cost {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem; /* space between icon and price */
  font-size: 1.5rem!important;
  font-family: var(--e-global-typography-text-font-family), sans-serif;
  font-weight: 400!important;
}
.tribe-block__event-price__cost::before {
  content: "";
  width: 32px;
  height: 32px;
  display: inline-block;
  background-image: url("/wp-content/themes/breeze/assets/icons/ticket.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  transform: translateY(-1px);
}

.tribe-block__event-price {
  margin: 0!important;
  padding: 0!important;
}
/* mobile stack */
@media (max-width: 567px) {
  .event-meta-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
}
/* Event Venue */
.tribe-block__venue.tribe-block__venue--has-map .tribe-block__venue__meta {
  width: 40%;
  display: flex;
  flex-direction: column;
  align-content: flex-start;
  justify-content: center;
  align-items: flex-start;
    font-family: var(--e-global-typography-text-font-family), sans-serif;
}
.tribe-block__venue  {
  padding: 0 !important;
  display: flex;
  flex-direction: row;
  align-content: flex-start;
  justify-content: flex-start;
  gap: 1rem;
  max-width:100%!important;
  width: 100%;
  margin-left: 0;
  padding-top: 2rem;
  border: none;
    font-family: var(--e-global-typography-text-font-family), sans-serif;
}
.tribe-block__venue.tribe-block__venue--has-map .tribe-block__venue__meta {
  width: 40%;
}
.tribe-block__venue .tribe-block__venue__meta .tribe-block__venue__address {
  line-height: 1.1;
}
/* Venue Responsive */
@media (max-width: 768px){
  .tribe-block__venue  {
    flex-direction: column;
    margin-left: 0;
  }
  .tribe-block__venue.tribe-block__venue--has-map .tribe-block__venue__map, .tribe-block__venue.tribe-block__venue--has-map .tribe-block__venue__meta {
    flex: none;
    width: 90%;
  }
}
/* Event Website */
.tribe-block__event-website a {
  font-size: 0.875rem;
  font-family: var(--e-global-typography-secondary-font-family), sans-serif!important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 6px;
  border-top:none;
  padding: 1rem 1.25rem 1rem 1.25rem;
  line-height: 1.5;
  text-align: center;
  transition: all 0.3s;
  margin: 0 auto;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem; /* space between text and icon */
  color: var(--e-global-color-4443d05);
  background-color: var(--e-global-color-accent);
}
/* After element icon */
.tribe-block__event-website a::after {
  content: '';
  width: 1.125rem;
  height: 1.125rem;
  flex: 0 0 1.125rem;
  background: url('/wp-content/themes/breeze/assets/icons/right-arrow-light.svg')
    center / contain no-repeat;
  transition: transform 0.25s ease, opacity 0.25s ease; /* image swap is instant */
  opacity: 1;
}
/* Hover color */
.tribe-block__event-website a:hover {
  color: var(--e-global-color-4443d05);
  background-color: var(--e-global-color-55a1dc9)!important;
  border:none;
}
/* Hover: swap icon + nudge to the right */
.tribe-block__event-website a:hover::after {
  background-image: url('/wp-content/themes/breeze/assets/icons/right-arrow-light.svg');
}
/* Event Featured Img */
.event-img img {
  border-radius: 1em;
}


/* =======================================================================
   Gallery - Lightbox
========================================================================== */
.scrim {
  background-color: rgba(0, 0, 0, 0.65) !important;
}
.lightbox-trigger {
  display: none;
}
.wp-lightbox-container button:focus,
.wp-lightbox-container button:hover,
.wp-lightbox-container button:not(:hover):not(:active):not(.has-background) {
  background-color: #5a5a5a40;
  border: none;
  display: none;
}
/* Force the lightbox to output var(--e-global-color-4443d05) as currentColor */
.wp-lightbox-overlay .close-button {
  color: var(--e-global-color-4443d05) !important;
}

/* Force SVG to use currentColor */
.wp-lightbox-overlay .close-button svg {
  fill: currentColor !important;
}
/* Force all SVG paths */
.wp-lightbox-overlay .close-button svg path,
.wp-lightbox-overlay .close-button svg line,
.wp-lightbox-overlay .close-button svg rect {
  fill: currentColor !important;
  stroke: currentColor !important;
}
/* Kill WP's black override */
.wp-lightbox-overlay .close-button[style*="fill"] {
  fill: var(--e-global-color-4443d05) !important;
}

/* =======================================================================
   Gallery - Editor
========================================================================== */
/* Shared: gap, item reset, image fill + radius */
.wp-block-gallery {
  gap: 1rem!important;
  margin: 3rem auto;
}
.wp-block-gallery figure {
  margin: 0;
  overflow: hidden;
  border-radius: 1em;
}
.wp-block-gallery img {
  display: block;
  width: 100%;
  height: auto;
}
.wp-block-gallery.is-style-masonry {
  display: block !important;              /* override is-layout-flex */
  column-gap: 1rem;                       /* horizontal spacing */
  column-count: var(--masonry-cols, 3);   /* fallback */
}

/* Map WP column classes */
.wp-block-gallery.is-style-masonry.columns-1 { --masonry-cols: 1; }
.wp-block-gallery.is-style-masonry.columns-2 { --masonry-cols: 2; }
.wp-block-gallery.is-style-masonry.columns-3 { --masonry-cols: 3; }
.wp-block-gallery.is-style-masonry.columns-4 { --masonry-cols: 4; }

/* WP sometimes outputs this */
.wp-block-gallery.is-style-masonry.columns-default {
  --masonry-cols: 3;
}
/* Masonry items  */
.wp-block-gallery.is-style-masonry > figure {
  display: inline-block !important;
  width: 100% !important;
  /* 🔑 vertical spacing */
  padding-bottom: 1rem;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
}
/* Remove extra space at the very bottom */
.wp-block-gallery.is-style-masonry > figure:last-child {
  padding-bottom: 0;
}
/* Force media to fill column (masonry only) */
.wp-block-gallery.is-style-masonry > figure > img,
.wp-block-gallery.is-style-masonry > figure img,
.wp-block-gallery.is-style-masonry > figure > a,
.wp-block-gallery.is-style-masonry > figure > a > img,
.wp-block-gallery.is-style-masonry > figure > div,
.wp-block-gallery.is-style-masonry > figure > div > img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* figcaption */
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    box-sizing: border-box;
    color: #fff;
    font-size: 13px;
    margin: 0;
    overflow: auto;
    padding: 1.5rem;
    text-align: center;
    text-shadow: 0 0 1.5px #000;
    bottom: 15px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    background: linear-gradient(0deg, #0006, #0000);
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption, .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before {
    bottom: 15px;
    left: 0;
    max-height: 100%;
    position: absolute;
    right: 0;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

@media (max-width: 767px) {
/* Masonry: 2 cols on mobile */
  .wp-block-gallery.is-style-masonry {
    --masonry-cols: 2 !important;
  }
  /* figcaption */
  .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
      padding: 1rem;
      bottom: 15px;
      border-bottom-left-radius: 15px;
      border-bottom-right-radius: 15px;
  }
}



/* =======================================================================
   Accordions - Editor
========================================================================== */
/* Base — mobile & tablet */
.wp-block-accordion {
  width: 100%;
  margin: 3rem 0;
}
.wp-block-accordion-panel {
  width: 90%;
  margin-left: 0;   
  margin-right: auto;
  text-align: left;
}

/* Large screens (≥992px) */
@media (min-width: 992px) {
  .wp-block-accordion {
    max-width: 900px;
  }
  .wp-block-accordion-panel {
    max-width: 825px;
    width: 100%;
  }
}

/* XL screens (≥1440px) */
@media (min-width: 1440px) {
  .wp-block-accordion {
    max-width: 1140px;
  }
  .wp-block-accordion-panel {
    max-width: 90%;
    width: 100%;
  }
}
@media (max-width: 567px){
  .wp-block-accordion {
    margin: 3rem auto;
  }
}

.wp-block-accordion:hover {
  text-decoration: none !important;
}
/* Accordion item */
.wp-block-accordion .wp-block-accordion-item {
  border-bottom: 2px solid var(--e-global-color-55a1dc9);
  border-radius: 0;
  overflow: visible;   
  margin-bottom: 1rem;
  text-decoration: none !important;
  align-items: center;
  justify-content: space-between; /* text left, icon right */
  text-align: left; /* override centered heading text */
}
/* Accordion Item Hover */
.wp-block-accordion .wp-block-accordion-item:hover {
  text-decoration: none !important;
  border-color: var(--e-global-color-55a1dc9);
  background-color: transparent!important;
}

/* Accordion Button */
.wp-block-accordion .wp-block-accordion-heading button {
  background-color: transparent!important;
  padding: .75rem 0;
  border: 0 !important;
  border-radius: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between; /* text left, icon right */
  text-align: left; /* override centered heading text */
  gap: 1rem;
  font-family: var(--e-global-typography-secondary-font-family), sans-serif !important;
  cursor: pointer;
}
.wp-block-accordion-heading__toggle-title {
  text-align: left;
  font-size: 1rem;
    transition: color 160ms ease;
}

.wp-block-accordion .wp-block-accordion-item:hover
.wp-block-accordion-heading__toggle-title {
  color: var(--e-a-color-black); 
}

/* Accordion Button Hover */
.wp-block-accordion .wp-block-accordion-heading button:hover span {
  text-decoration: none !important;
  color: var(--e-a-color-black); 
}

/* Accordion Item Icon (base reset) */
.wp-block-accordion .wp-block-accordion-heading
button .wp-block-accordion-heading__toggle-icon {
  width: 2rem;
  height: 2rem;
  font-size: 0;
  line-height: 0;
  /* needed for animation layers */
  position: relative;
  display: inline-block;
  /* smooth rotation like the example */
  transition: transform 320ms ease;
  will-change: transform;
  transform-origin: 50% 50%;
}
/* ICON LAYERS (to animate swap) */
.wp-block-accordion .wp-block-accordion-heading
button .wp-block-accordion-heading__toggle-icon::before,
.wp-block-accordion .wp-block-accordion-heading
button .wp-block-accordion-heading__toggle-icon::after {
  content: "";
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: opacity 260ms ease, transform 260ms ease;
  will-change: opacity, transform;
  /* prevent any inherited rotation on the SVG layers */
  rotate: 0deg !important;
  transform-origin: 50% 50%;
}
/* CLOSED icon (expand) */
.wp-block-accordion .wp-block-accordion-heading
button .wp-block-accordion-heading__toggle-icon::before {
  background-image: url("/wp-content/themes/breeze/assets/icons/expand.svg");
  opacity: 1;
  transform: translateY(0) scale(1);
}
/* OPEN icon (minimize) */
.wp-block-accordion .wp-block-accordion-heading
button .wp-block-accordion-heading__toggle-icon::after {
  background-image: url("/wp-content/themes/breeze/assets/icons/minimize.svg");
  opacity: 0;
  transform: translateY(-2px) scale(0.96);
}
/* When OPEN: rotate the wrapper + crossfade layers */
.wp-block-accordion .wp-block-accordion-item.is-open
.wp-block-accordion-heading__toggle-icon {
  transform: rotate(-90deg);
}
/* Fade out expand */
.wp-block-accordion .wp-block-accordion-item.is-open
.wp-block-accordion-heading__toggle-icon::before {
  opacity: 0;
  transform: translateY(2px) scale(0.96);
}
/* Fade in minimize */
.wp-block-accordion .wp-block-accordion-item.is-open
.wp-block-accordion-heading__toggle-icon::after {
  opacity: 1;
  transform: translateY(0) scale(1);
}
/* Ensure final minimize looks perfectly horizontal*/
.wp-block-accordion .wp-block-accordion-item.is-open
.wp-block-accordion-heading__toggle-icon::after {
  transform: translateY(0) scale(1) rotate(90deg);
}
/* Accordion Item Open */
.wp-block-accordion .wp-block-accordion-item.is-open {
  border-color: var(--e-global-color-55a1dc9);
  text-decoration: none !important;
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .wp-block-accordion .wp-block-accordion-heading
  button .wp-block-accordion-heading__toggle-icon,
  .wp-block-accordion .wp-block-accordion-heading
  button .wp-block-accordion-heading__toggle-icon::before,
  .wp-block-accordion .wp-block-accordion-heading
  button .wp-block-accordion-heading__toggle-icon::after {
    transition: none !important;
    transform: none !important;
  }
  .wp-block-accordion .wp-block-accordion-item {
    transition: none !important;
  }
}

@media (max-width: 480px) {
  /* Reduced padding from Accordion Item */
  .wp-block-accordion .wp-block-accordion-heading button,
  .wp-block-accordion-panel {
    padding: 0.5rem 0;  /* antes 1rem 1.5rem */
  }
  /* Reduced size of Icon */
  .wp-block-accordion .wp-block-accordion-heading
  button .wp-block-accordion-heading__toggle-icon {
    width: 1.5rem;
    height: 1.5rem;
  }
}

/* Open Transtiions */
/* Controlled spacing only when open */
.wp-block-accordion .wp-block-accordion-panel {
 overflow: hidden;
  max-height: 0;
  opacity: 0;
  transform: translateY(-0.35rem);
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  transition:
    max-height 900ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 320ms ease,
    transform 520ms cubic-bezier(0.22, 1, 0.36, 1),
    padding 520ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: max-height, opacity, transform, padding;
}
.wp-block-accordion .wp-block-accordion-item.is-open .wp-block-accordion-panel {
  max-height: 2000px; /* if you ever have longer content, increase this */
  opacity: 1;
  transform: translateY(0);
  padding-top: 0.25rem !important;
  padding-bottom: 2.75rem !important;
}

/* Remove double spacing from inner content */
.wp-block-accordion .wp-block-accordion-panel > *:first-child {
  margin-top: 0 !important;
}
.wp-block-accordion .wp-block-accordion-panel > *:last-child {
  margin-bottom: 0 !important;
}
/* Normalize paragraph spacing inside accordion */
.wp-block-accordion .wp-block-accordion-panel p {
  margin: 0.25rem 0;
}
/* Make closed panels truly non-interactive (buttons/links won't steal clicks) */
.wp-block-accordion .wp-block-accordion-panel[inert] {
  pointer-events: none;
}
/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .wp-block-accordion .wp-block-accordion-panel {
    transition: none !important;
    max-height: none !important;
    opacity: 1 !important;
    transform: none !important;
    padding-top: 0.25rem !important;
    padding-bottom: 0.75rem !important;
  }
}

/* Fix title wrap on mobile */
/* Allow long titles to wrap inside the flex button */
.wp-block-accordion .wp-block-accordion-heading button .wp-block-accordion-heading__toggle-title {
  flex: 1 1 auto; 
  min-width: 0; 
  var(--e-global-color-4443d05)-space: normal;  
  overflow-wrap: anywhere; 
  word-break: normal;
}

/* Keep icon from shrinking */
.wp-block-accordion .wp-block-accordion-heading button .wp-block-accordion-heading__toggle-icon {
  flex: 0 0 auto;
}
/* icons alignemnt on mobile for 2 lines or more */
@media (max-width: 640px) {
  .wp-block-accordion .wp-block-accordion-heading button {
    align-items: flex-start; /* push icon + text to the top */
  }

  .wp-block-accordion .wp-block-accordion-heading__toggle-icon {
    margin-top: 0.15em; /* optical alignment with first text line */
  }
}

/* =======================================================================
  IMAGE CAROUSEL - Editor
========================================================================== */
/* Base slider / swiper */
.wp-block-cb-carousel-v2.cb-carousel-block,
.wp-block-cb-carousel-v2.cb-carousel-block .swiper {
  width: 100%;
}

/* Use aspect ratio to define slider height */
.wp-block-cb-carousel-v2.cb-carousel-block .swiper {
  aspect-ratio: 16 / 9; /* adjust if needed */
  height: auto;
  position: relative;
  margin: 3rem auto !important;
}
@media (max-width: 567px) {
  .wp-block-cb-carousel-v2.cb-carousel-block .swiper {
    margin: 1rem auto !important;
  }
}
/* Slides should fill the swiper box */
.wp-block-cb-carousel-v2.cb-carousel-block .swiper-slide {
  position: relative;
  overflow: hidden;
  border-radius: 1.25em; /* desktop radius */
}

/* Figure / image wrapper */
.wp-block-cb-carousel-v2.cb-carousel-block .swiper-slide figure,
.wp-block-cb-carousel-v2.cb-carousel-block .swiper-slide .wp-block-image {
  margin: 0 !important;
  width: 100%;
  height: 100%;
}

/* Image fills the slide */
.wp-block-cb-carousel-v2.cb-carousel-block .swiper-slide img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  border-radius: inherit; /* ensure image follows slide radius */
}

/* Pagination – overlay on image, centered bottom */
.wp-block-cb-carousel-v2.cb-carousel-block .swiper-pagination {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 1.25rem !important;
  z-index: 10 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0;
  pointer-events: auto;
}

/* Pagination bullets – desktop */
.wp-block-cb-carousel-v2.cb-carousel-block .swiper-pagination-bullet {
  width: 24px !important;
  height: 24px !important;
  border-radius: 999px;
  opacity: 0.55;
  margin: .5rem !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.45);
}

/* Active bullet */
.wp-block-cb-carousel-v2.cb-carousel-block
.swiper-pagination-bullet-active {
  background-color: var(--e-global-color-4443d05) !important;
  opacity: 1;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);
}

/* Inactive bullets */
.wp-block-cb-carousel-v2.cb-carousel-block
.swiper-pagination-bullet {
  background-color: rgba(255, 255, 255, 0.75);
}

/* Mobile adjustments */
@media (max-width: 767px) {
  /* Slightly taller ratio on mobile */
  .wp-block-cb-carousel-v2.cb-carousel-block .swiper {
    aspect-ratio: 4 / 3;
  }
  /* Smaller radius on mobile */
  .wp-block-cb-carousel-v2.cb-carousel-block .swiper-slide {
    border-radius: 1em;
  }
  /* Pagination tweaks */
  .wp-block-cb-carousel-v2.cb-carousel-block .swiper-pagination {
    bottom: 1rem !important;
    gap: 0;
  }
  .wp-block-cb-carousel-v2.cb-carousel-block .swiper-pagination-bullet {
    width: 20px !important;
    height: 20px !important;
  }
}



/* =======================================================================
  IMAGE CAROUSEL - Elementor
========================================================================== */
.elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom:20px;
}
/* Ensure each slide can define height */
.elementor-widget-image-carousel .swiper-slide {
  display: flex;
  align-items: stretch;
}

/* Force the inner wrapper to fill the slide */
.elementor-widget-image-carousel .swiper-slide-inner {
  width: 100%;
  height: 100%;
  margin: 0;
  display: block;
}

/* Make the image behave like a background cover */
.elementor-widget-image-carousel .swiper-slide-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 767px) {
 .elementor-widget-image-carousel .swiper-slide {
    aspect-ratio: 4 / 3;
  }
}
.elementor-widget-image-carousel .swiper {
  overflow: hidden;
} 


 




/***** Captions for Images ****/

.caption {

}

.caption-location {
  padding-right: 2rem;
  padding-top: 0.35rem;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.75);
}

.caption-location:before {
  display: block;
  position: absolute;
  content: " ";

  background-image: url(/wp-content/uploads/2026/02/point_light.svg);
  background-size: contain;
  background-repeat: no-repeat;
  height: 1.75rem;
  width: 1.75rem;
  right: -5px;
  top: 1px;
}


@media (max-width: 992px) {
   .caption-location {
     padding-right: 1.5rem;
     padding-top: 0.25rem;
   }

  .caption-location:before {
    display: block;
    position: absolute;
    content: " ";
    height: 1.2rem;
    width: 1.2rem;
    right: -1px;
    top: 4px;
  }

}
 


/* =======================================================================
   #SHOWCASE
========================================================================== */


.block-showcase .e-n-tabs-heading button {
  
  font-family: var(--e-global-typography-85b74ee-font-family), Sans-serif !important;
  font-weight: var(--e-global-typography-85b74ee-font-weight);
  line-height: var(--e-global-typography-85b74ee-line-height);
  letter-spacing: var(--e-global-typography-85b74ee-letter-spacing);
  /*color: var(--e-global-color-secondary)!important;*/
  text-transform: inherit;
  /*font-size: 1.2rem !important;*/
  border: 0;
  padding: 1rem 1.25rem !important;

}

.block-showcase .e-n-tabs-heading button:first-of-type {
  padding-left: 0.5rem !important;
}





.block-showcase .e-n-tabs-heading button:hover {
  border: 0;
}


.block-showcase .e-n-tabs-content>.e-con {
  position: relative;
  /*padding-top: 2rem;*/
  /*min-height: 30rem;*/
}


.block-showcase:has([data-tab-index="1"].e-active) {
  background-color: var(--e-global-color-a0e2cb5);
}

.block-showcase:has([data-tab-index="2"].e-active) {
  background-color: var(--e-global-color-7134c53);
}

.block-showcase:has([data-tab-index="3"].e-active) {
  background-color: var(--e-global-color-primary);
}

.block-showcase:has([data-tab-index="4"].e-active) {
  background-color: var(--e-global-color-a0e2cb5);
}

.block-showcase:has([data-tab-index="5"].e-active) {
  background-color: var(--e-global-color-7134c53);
}

.block-showcase:has([data-tab-index="6"].e-active) {
  background-color: var(--e-global-color-primary);
}

.block-showcase:has([data-tab-index="7"].e-active) {
  background-color: var(--e-global-color-a0e2cb5);
}

.block-showcase:has([data-tab-index="8"].e-active) {
  background-color: var(--e-global-color-7134c53);
}


.block-showcase .e-n-tab-title[aria-selected="true"],
.block-showcase .e-n-tab-title:hover {
  position: relative;

}


.block-showcase .e-n-tab-title:after {
  display: inline-block;
  position: absolute;
  content: " ";
  background-image: url(/wp-content/uploads/2026/03/downline_light.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  height: 0.4rem;
  width: 0;
  /*right: ;*/
  bottom: -8px;
  transition: all .3s; 
}


.block-showcase .e-n-tab-title[aria-selected="true"]:after,
.block-showcase .e-n-tab-title:hover::after {
  width: 80%;
  transition: all .3s; 
}


.block-showcase .main-panel {
  aspect-ratio: 16/9;
  position: relative;
}


.block-showcase .main-panel .elementor-widget-heading {
  max-width: 85% !important;
  width: auto;
  display: inline-block;
  position: relative;
}


.block-showcase .main-panel h3 {
  position: relative;
  display: inline-block;
  width: auto;
}

.block-showcase .main-panel a:after {
  display: inline-block;
  position: absolute;
  content: " ";
  background-image: url(/wp-content/uploads/2026/03/arrow_green.svg);
  background-size: contain;
  background-repeat: no-repeat;
  height: 1.67rem;
  width: 4rem;
  right: -5.25rem;
  bottom: 11px; 
}

@media (max-width: 992px) {
  .block-showcase .main-panel a:after {
    height: 1.5rem;
    width: 3.75rem;
    right: -5rem;
    bottom: 8px;    
  }
}

@media (max-width: 768px) {
  .block-showcase .main-panel a:after {
    height: 1.25rem;
    width: 3rem;
    right: -4rem;
    bottom: 6px;    
  }
}


.block-showcase .main-panel a:hover::after {
  animation: bounce 0.75s alternate infinite;  
  cursor: pointer;
}

@keyframes bounce {
  0%, 100% {
    transform: translateX(0px);
  }
  40% {
    transform: translateX(6px);
  }
  60% {
    transform: translateX(0px);
  }
}


.block-showcase .main-panel,
.block-showcase .secondary-panel {
  
}

.block-showcase .elementor-widget-image {
position: absolute;
top: 0px;
bottom: 0px;
left: 0px;
right: 0px;
}

.block-showcase .secondary-panel {
/*  position: absolute;
  top: 4rem;
  right: 0;*/
  aspect-ratio: 4/3;
  overflow: hidden;
}

.block-showcase .secondary-panel .elementor-widget-image {
    transition: transform 1s ease; /* Adjust speed */
}

.block-showcase .secondary-panel .elementor-widget-image:hover {
  transform: scale(1.075); /* Zoom in */

}








/* =======================================================================
   SPRINGBOARD
========================================================================== */



:is([data-elementor-type="jet-engine-component"]) {
  
}



:is([data-elementor-type="jet-engine-component"])>.e-con {
  margin-inline: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;  
  padding: 0;
}





.block-springboard {
  position: relative;
  /*overflow: hidden; */
}

.block-springboard a.elementor-button {
  background-color: rgba(255, 255, 255, 1) !important;
  opacity: 0.65;
  border: 0;
  color: var(--e-global-color-a0e2cb5);
  font-size: 1rem;
  line-height: 1;
  padding: 2rem;
  margin: 0;
  text-wrap: balance;
  transition: opacity 0.45s ease-in-out;
  width: 150px;
}


.block-springboard a.elementor-button:hover,
.block-springboard a.elementor-button:active,
.block-springboard a.elementor-button:focus {
  background-color: rgba(255, 255, 255, 1) !important;
  opacity: 0.9;
  color: var(--e-global-color-a0e2cb5) !important;
  border: 0;
}


.block-springboard a.elementor-button .elementor-button-content-wrapper {
  flex-direction: column !important;
  align-items: center;
  row-gap: 1rem;

}


.block-springboard a.elementor-button .elementor-button-icon svg {
  width: 2rem;
}









.block-springboard .springboard-img {
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
}



.block-springboard .springboard-img::before {
  background-color: none;
  background-image: url(/wp-content/uploads/2026/02/texture_darken_20.webp);
  background-position: center;
  background-repeat: repeat-y;
  background-size: cover;
  
  content: " ";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  width: 100%;
  height: 100%;
}



.block-springboard #springboard-img1 {
  opacity: 1;

}

.block-springboard #springboard-img2,
.block-springboard #springboard-img3,
.block-springboard #springboard-img4 {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}


.block-springboard:has(#springboard-btn2:hover) #springboard-img2 {
  opacity: 1;
}

.block-springboard:has(#springboard-btn3:hover) #springboard-img3 {
  opacity: 1;
}

.block-springboard:has(#springboard-btn4:hover) #springboard-img4 {
  opacity: 1;
}




 









/* =======================================================================
   #BILLBOARDS
========================================================================== */

.wp-block-breeze-billboard {
  padding: 4rem 1rem;
  min-height: 30rem;
}

.wp-block-breeze-billboard,
.wp-block-breeze-billboard.is-style-align-center {
  align-items: center;
}

.wp-block-breeze-billboard.is-style-align-left {
  align-items: start;
}




@media (min-width: 1200px) {
  .wp-block-breeze-billboard,
  .wp-block-breeze-billboard.is-style-align-left {
    min-height: 40rem;
  }
}

@media (min-width: 1440px) {
  .wp-block-breeze-billboard,
  .wp-block-breeze-billboard.is-style-align-left {
      min-height: 45rem;
  }
}

.wp-block-breeze-billboard .billboard-block__content,
.wp-block-breeze-billboard.is-style-align-center .billboard-block__content {
  max-width: none;    
}

.wp-block-breeze-billboard.is-style-align-left .billboard-block__content {
  max-width: 600px;	
  padding-top: 0;
  padding-bottom: 6rem;
  text-align: left;
}

.billboard-block.is-style-align-left .billboard-block__content .wp-block-buttons {
  justify-content: left;
}




.billboard-block.alignfull.has-darken-overlay::before {
  background-color: none;
  background-image: url(/wp-content/uploads/2026/02/texture_darken_20.webp);
  background-position: center;
  background-repeat: repeat-y;
  background-size: cover;
}


.wp-block-breeze-billboard h2,
.wp-block-breeze-billboard.is-style-align-center h2 {
  font-weight: var(--e-global-typography-c297f56-font-weight);
  font-style: normal;
  font-size: var(--e-global-typography-c297f56-font-size)!important;
  line-height: var(--e-global-typography-c297f56-line-height);
  letter-spacing: var(--e-global-typography-c297f56-letter-spacing);
  text-transform: var(--e-global-typography-c297f56-text-transform);
  color: var(--e-global-color-f7798dc);
  margin-top: -0.1rem;
   text-wrap: balance; 
  /*text-shadow: 0px 0px 6px rgba(0,0,0,0.33);*/
}


.wp-block-breeze-billboard.is-style-align-left h2 {
  text-wrap: inherit;
}


.wp-block-breeze-billboard p {
  margin: 1rem auto;
  color: var(--e-global-color-secondary);
  font-size: 1.5rem;
  line-height: 1.2;
  /*text-shadow: 0px 0px 6px rgba(0,0,0,0.33);*/
}


/* Colour/Texture Style Option (no image) */

.wp-block-breeze-billboard.no-image {
	background-color: var(--e-global-color-4a6002a);
  background-image: url(/wp-content/uploads/2026/02/texture_yellow_y.webp);
  background-position: center;
  background-repeat: repeat-y;
  background-size: cover;
	height: auto;
	min-height: 40rem;
}

.wp-block-breeze-billboard.no-image h2,
.wp-block-breeze-billboard.no-image p {
  color: inherit;
  text-shadow: none;
}


/***** Home/Sunshine Customized Billboard *****/

.wp-block-breeze-billboard.billboard-sunshine {
  background-color: var(--e-global-color-primary);
  background-image: url(/wp-content/uploads/2026/02/texture_red_x.webp);
  color: var(--e-global-color-secondary);
}


.wp-block-breeze-billboard.billboard-sunshine h2:before {
  display: block;
  /*position: absolute;*/
  content: " ";
  background-image: url(/wp-content/uploads/2026/03/home_sunshine.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  height: 5.5rem;
  width: 10rem;
  /*right: ;*/
  transition: all .3s; 
  margin: 0 auto 4rem auto;
}



.wp-block-breeze-billboard.billboard-sunshine h2.animate-scroll.is-in-view:before {
 animation-name: pulse2;
  animation-duration: 0.7s;
  animation-timing-function: ease;
  animation-delay: 0.9s;
  /*animation-fill-mode: both;*/

  /* This must be set AFTER, and NOT in the shorthand */
  /*animation-timeline: view(block auto);*/
  /*animation-range: entry 0% entry 40%;*/
}



@keyframes pulse2 {
  0% {
    transform: scale(1); /* Original size at the start */
  }
  50% {
    transform: scale(1.2); /* Slightly larger halfway through */
  }
  100% {
    transform: scale(1); /* Return to original size at the end */
  }
}













/* =======================================================================
   HALFBOXES
========================================================================== */

.wp-block-breeze-halfbox {
  background-position: center;
  background-repeat: repeat-y;
  background-size: cover;
}

.wp-block-breeze-halfbox,
.wp-block-breeze-halfbox.color-teal {
  background-color: var(--e-global-color-7134c53);
  background-image: url(/wp-content/uploads/2026/02/texture_teal_x.webp);
  color: var(--e-global-color-secondary);
}

.wp-block-breeze-halfbox.color-red {
  background-color: var(--e-global-color-primary);
  background-image: url(/wp-content/uploads/2026/02/texture_red_x.webp);
  color: var(--e-global-color-secondary);
}

.wp-block-breeze-halfbox.color-yellow {
  background-color: var(--e-global-color-4a6002a);
  background-image: url(/wp-content/uploads/2026/02/texture_yellow_x.webp);
}

.wp-block-breeze-halfbox.color-green {
  background-color: var(--e-global-color-f7798dc);
  background-image: url(/wp-content/uploads/2026/02/texture_green_x.webp);

}


.wp-block-breeze-halfbox .wp-block-heading {
  color: var(--e-global-color-f7798dc); 
  width: 100%;
}

.wp-block-breeze-halfbox.color-yellow,
.wp-block-breeze-halfbox.color-yellow .wp-block-heading,
.wp-block-breeze-halfbox.color-green,
.wp-block-breeze-halfbox.color-green .wp-block-heading {
  color: inherit;
}

.wp-block-breeze-halfbox.alignfull .halfbox-block__media {
  aspect-ratio: 16/9;
  min-height: auto;
}






@media (min-width: 768px) {

  .wp-block-breeze-halfbox {
    padding: 4rem 0rem;
  }

  .wp-block-breeze-halfbox img,
  .wp-block-breeze-halfbox video {
    border-radius: 0px 12px 12px 0px;
  }

 .wp-block-breeze-halfbox.is-reversed img,
  .wp-block-breeze-halfbox.is-reversed video {
    border-radius: 12px 0px 0px 12px;
  }

  .wp-block-breeze-halfbox.alignfull .halfbox-block__media {
    aspect-ratio: 4/3;
  }

}




@media (min-width: 1200px) {

  .wp-block-breeze-halfbox.alignfull {
    padding: 6rem 0rem;
    padding-right: calc((100vw - 1140px) / 2);
    --halfbox-content-ratio: 1fr;
    --halfbox-media-ratio: 1.25fr;  }

  .wp-block-breeze-halfbox.alignfull.is-reversed {
    padding: 6rem 0rem;
    padding-left: calc((100vw - 1140px) / 2);
  }


  .wp-block-breeze-halfbox.alignfull .halfbox-block__content {
    padding-left: 2.5rem;
    padding-right: 0rem;
  }

.wp-block-breeze-halfbox.alignfull.is-reversed .halfbox-block__content {
    padding-left: 0rem;
    padding-right: 2.5rem;
  }
  

  .wp-block-breeze-halfbox.alignfull .halfbox-block__media {
    aspect-ratio: 16/10;
  }



}


@media (min-width: 1440px) {

  .wp-block-breeze-halfbox.alignfull {
    --halfbox-content-ratio: 1fr;
    --halfbox-media-ratio: 1.15fr;
    padding-right: calc((100vw - 1400px) / 2);
  }

  .wp-block-breeze-halfbox.alignfull.is-reversed {
    padding: 6rem 0rem;
    padding-left: calc((100vw - 1400px) / 2);
  }


}





/* Messy overrides required for Halfbox arrow links */

.wp-block-breeze-halfbox .wp-block-button a {
  color: var(--e-global-color-secondary)!important;
}

.wp-block-breeze-halfbox .wp-block-button a:hover {
  color: var(--e-global-color-secondary)!important;
}


.wp-block-breeze-halfbox .wp-block-button a::after,
.wp-block-breeze-halfbox .wp-block-button a:hover::after {
  background-image: url('/wp-content/themes/breeze/assets/icons/arrow_light.svg');
}

.wp-block-breeze-halfbox.color-yellow .wp-block-button a::after,
.wp-block-breeze-halfbox.color-green .wp-block-button a::after,
.wp-block-breeze-halfbox.color-yellow .wp-block-button a:hover::after,
.wp-block-breeze-halfbox.color-green .wp-block-button a:hover::after {
  background-image: url('/wp-content/themes/breeze/assets/icons/arrow_dark.svg');
}


.wp-block-breeze-halfbox.color-yellow .wp-block-button a,
.wp-block-breeze-halfbox.color-green .wp-block-button a {
  color: var(----e-global-color-secondary)!important;
}

.wp-block-breeze-halfbox.color-yellow .wp-block-button a:hover,
.wp-block-breeze-halfbox.color-green .wp-block-button a:hover {
  color: var(--e-global-color-a0e2cb5)!important;
}










/*

    Red
    --e-global-color-primary: #CF5138;

    Tan
    --e-global-color-secondary: #F0EAD7;

    Off Black
    --e-global-color-text: #343A40;

    CTA Red
    --e-global-color-accent: #CF5138;

    Text Light
    --e-global-color-4443d05: #FFFFFF;

    Primary Dark (off-black)
    --e-global-color-a0e2cb5: #3B3737;

    Primary Light (yellow)
    --e-global-color-4a6002a: #FFCC32;

    Secondary Dark (teal)
    --e-global-color-7134c53: #66AF9B;

    Secondary Light (green)
    --e-global-color-f7798dc: #E9EC90;

    Tertiary (dark grey)
    --e-global-color-b3696e8: #6B7176;

    Tertiary Dark (off-black, same as text)
    --e-global-color-55a1dc9: #343A40;

    Tertiary Light (very light grey)
    --e-global-color-48de175: #E9ECEF;

*/




/* =======================================================================
   Quote Text
========================================================================== */
blockquote {
  display: flex;
  align-items: center; /* vertically center text */
  margin-block-start: 3rem;
  margin-block-end: 3rem;
  margin-inline-start: 0;
  margin-inline-end: 0;
  unicode-bidi: isolate;
  color: var(--e-global-color-primary);
  border-left: solid 12px var(--e-global-color-primary);
  padding-left: 2rem;
  min-height: 130px; /* or any value you need */
}

blockquote p {
  width: 75%;
  margin-block-end: 0 !important;
  padding-bottom: 0;
}

/* Mobile */
@media (max-width: 576px) {
    blockquote {
      margin: 1rem auto;
    }
    blockquote p {
    width: 95%;
    margin-block-end: 0 !important;
    padding-bottom: 0;
  }
}



/* =======================================================================
   CANVAS
========================================================================== */

.wp-block-breeze-canvas {
  background-image: url(/wp-content/uploads/2026/02/texture_tan50_x.webp);
  background-position: center;
  background-repeat: repeat-y;
  background-size: cover;
  background-clip: content-box;
  box-sizing: content-box;
  margin-top: 0;
  margin-bottom: 0;

}


 .wp-block-breeze-canvas .canvas-container {
  padding: 2rem 0rem;
  /*outline: 1px solid pink;*/
}




 .wp-block-breeze-canvas .wp-block-media-text {
    grid-template-columns: 1fr 1fr;
    gap: 0rem;
    margin: 0;
}




/*
.wp-block-breeze-canvas .wp-block-media-text.has-media-on-the-right {
    grid-template-columns: 2fr 1fr;
}
*/






/*** MAX width media query ***/
@media (MAX-width: 576px) {
 .wp-block-breeze-canvas .wp-block-media-text__media img { 
    max-width: 375px;
    max-height: 450px;
}

.wp-block-breeze-canvas .wp-block-media-text__media {
  margin: auto;
}


}



@media (min-width: 576px) {

 .wp-block-breeze-canvas .canvas-container {
  padding: 2rem 0rem;
  /*outline: 1px solid pink;*/
}

.wp-block-breeze-canvas .wp-block-media-text__media {
  text-align: center;
    margin-left: -6rem;
    margin-right: 0rem;
}

.wp-block-breeze-canvas .has-media-on-the-right .wp-block-media-text__media {
    margin-right: -6rem;
    margin-left: auto;

}
}

@media (min-width: 992px) {

 .wp-block-breeze-canvas .canvas-container {
  padding: 2rem 1rem;
}

  .wp-block-breeze-canvas .wp-block-media-text__media {
    text-align: center;
      margin-left: auto;
      margin-right: auto;
      max-width: 80%;
  }

  .wp-block-breeze-canvas .has-media-on-the-right .wp-block-media-text__media {
      margin-right: auto;
      margin-left: auto;

  }
}



@media (min-width: 1200px) {

  .wp-block-breeze-canvas {
    padding: 0rem;
    padding-top: 1.5rem;
    margin-top: -1.5rem;
    margin-bottom: 0rem;
  }

 .wp-block-breeze-canvas .canvas-container {
  padding: 0;
  
}


   .wp-block-breeze-canvas .wp-block-media-text__media {
    max-width: 100%;
  }

  .wp-block-breeze-canvas .wp-block-media-text {
    margin-top: -3.5rem;
    margin-bottom: -3.5rem;
    max-width: 1140px;
    gap: 2rem;
  }

  /* Adds bottom padding when Canvas is the last block on the page */
  .elementor-widget-container > div.wp-block-breeze-canvas:last-of-type .wp-block-media-text:last-of-type {
    /*outline: 2px solid blue;*/
    padding-bottom: 5rem;

  }

  .wp-block-breeze-canvas .wp-block-media-text:first-of-type {
    margin-top: -1.75rem;
    /*outline: 1px dashed green;*/

  }

  .wp-block-breeze-canvas .wp-block-media-text:last-of-type {
    margin-bottom: -1.75rem;
    /*outline: 1px dashed orange;*/
  }

}







div:has(+ .wp-block-breeze-canvas) {
  /*margin-bottom: -4rem;*/
  /*outline: 2px solid red;*/
}










/* =======================================================================
   Social Feed Block
========================================================================== */
.social-feed-block {
   width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  box-sizing: border-box;
}



/* Social Feed on Blog posts -- cancel out bottom margin to make it seamless with footer */
.single-post .jet-listing-grid--6967:last-child .social-feed-block {
	margin-top: 3rem;
	margin-bottom: -5rem;
}





/* =======================================================================
   #FOOTER
========================================================================== */


/*** Various offsets to correct for footer's negative margin ***/

.page .elementor-widget-theme-post-content > .elementor-widget-container > :not(div):last-child {
  padding-bottom: 5rem;
}

.page .elementor-widget-theme-post-content > .elementor-widget-container > div:last-of-type > .elementor > .e-con {
  padding-bottom: 6rem;
}



/*.elementor-location-single .jet-listing-grid--8002


.single-page .elementor-widget-theme-post-content > .elementor-widget-container > div:last-of-type
*/

.single-listing .elementor-location-single,
.single-place .elementor-location-single,
.single-event .elementor-location-single
.single-post .elementor-location-single {
  /*outline: 3px dashed green;*/
  padding-bottom: 3rem;
}









/* =======================================================================
 Newsletter Sign Up
========================================================================== */

/* Use the email group as the positioning context */
#sign_up_form .elementor-field-group-email {
  position: relative;
}

/* Input sits underneath */
#sign_up_form .elementor-field-group-email input[type="email"] {
  position: relative;
  z-index: 0;
  padding-right: 72px; /* room for the arrow */
}

/* Pull the submit group INTO the email group area */
#sign_up_form .e-form__buttons{
  /* keep it from forcing a new line / taking column width */
  width: auto;
  flex: 0 0 auto;
  /* overlay positioning */
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  margin: 0;
  padding: 0;
}

/* Button: icon-only reset */
#sign_up_form #signup-btn {
  width: 50px;
  height: 50px;
  min-width: 50px;
  padding: 0;
  border: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

/* Hide "Send" */
#sign_up_form #signup-btn .elementor-button-text {
  display: none;
}

/* Arrow icon */
#sign_up_form #signup-btn::before{
  content: "";
  width: 50px;
  height: 50px;
  display: block;
  background: url("/wp-content/themes/breeze/assets/icons/arrow_yellow_form.svg") no-repeat center / contain;
  transition: transform .2s ease;
}

/* Hover microinteraction */
#sign_up_form #signup-btn:hover::before{
  transform: translateX(4px);
}

#sign_up_form #signup-btn:hover,
#sign_up_form #signup-btn:focus{
  background: transparent!important;
  box-shadow: none;
  border: none;
}



/* ==========================================================================
   Polaroid Video
   ========================================================================== */

.video-polaroid {
  position: relative;
  display: inline-block;
  transform: rotate(4.75deg);
  transform-origin: center;
  line-height: 0;
}

.video-polaroid.video-left {
  transform: rotate(-4.75deg);
}

.video-polaroid .elementor-widget-container {
  position: relative;
  display: inline-block;
  line-height: 0;
  overflow: visible;
}

.video-polaroid .e-hosted-video.elementor-wrapper {
  position: relative;
  display: block;
  line-height: 0;
}

.video-polaroid .elementor-video {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  transform: scale(0.955);
  transform-origin: center;
}

/* Polaroid frame overlay */
.video-polaroid .e-hosted-video.elementor-wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("/wp-content/themes/breeze/assets/masks/polaroid-video-mask.png") center / 100% 100% no-repeat;
  pointer-events: none;
  z-index: 3;
}
