/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Inkline Media Inc.
Author URI: https://inkline.ca/
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/

/* Alert Bar */
header.elementor-location-header + div  {
	margin-top:calc(var(--alert-height, 0px) + var(--header-height, 0px))!important;
}
.alert-bar {
	position: relative;
	z-index: 1000;
	background: #1A819F;
	color: #ffffff;
	width: 100%;
	padding: 25px 20px;
}
.alert-bar__inner {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.alert-bar__notice {
	font-size: 16px;
	line-height: normal;
	display:flex;
	align-items:center;
	gap:15px;
}
.alert-bar__notice:before{
	font-family: "norquay-font-kit";
	content: '\e814';
	display:inline-block;
	font-size: 38px;
	flex: 0 0 32px;
	color: var(--e-global-color-secondary);
}
.alert-bar__actions {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-shrink: 0;
}
.alert-bar__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap:15px;
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
    line-height: 1.5;
    color: #FFFFFF!important;
	position:relative;
	padding-right:30px;
}
.alert-bar__button:after{
	content: "\f061";
	font-family: "Font Awesome 6 Pro";
	font-weight: 300;
	font-size: 18px;
	color: var(--e-global-color-secondary);
	display:inline-block;
	position:absolute;
	right:0;
	top: 0;
	transition:0.2s ease-in-out;;
}
.alert-bar__button:hover::after{
	right:-5px;
	transition:0.2s ease-in-out;
}
.close-alert {
	position:absolute;
	top:25px;
	right:15px;
	font-size: 0 !important;
	padding: 0 !important;
}
.close-alert:before {
	font-family: "norquay-font-kit";
	content: '\e820';
	display:inline-block;
	font-size: 26px;
	color: var(--e-global-color-ac939ab);
	cursor: pointer;
	transition: all .2s ease;
}
.close-alert:hover:before {
	color: var(--e-global-color-secondary);
}
.close-alert:hover {
	background-color: transparent !important;
}
@media (max-width: 1400px) {
	.alert-bar__inner{
		padding-right:60px;
	}
}
@media (max-width: 767px) {
	.alert-bar__inner {
		flex-direction:column;
		align-items: flex-start;
	}
	.alert-bar__notice {
		flex-wrap:wrap;
	}
	
}
/* REVIEW SECTION OVERRIDES */
.visitor-reviews .ti-footer .ti-profile-img img {
  filter: brightness(0) invert(1) !important;
}
.visitor-reviews .ti-header-write-btn {
	transition: all .2s ease !important;
	padding: 10px 15px !important;
}
.visitor-reviews .ti-widget[data-layout-id='13'][data-set-id='light-background'] .ti-header-write-btn-container a.ti-header-write-btn:hover {
	color: var(--e-global-color-text) !important;
	background-color: var(--e-global-color-secondary) !important;
}
.visitor-reviews .ti-controls .ti-next, .visitor-reviews .ti-controls .ti-prev {
	width: 32px !important;
	height: 32px !important;
	border-radius: 32px !important;
	outline-width: 0 !important;
}
.visitor-reviews .ti-footer .ti-profile-img {
 	width: 80px!important;
}
.visitor-reviews .ti-footer .ti-profile-img img {
	display: none !important;
}
.visitor-reviews::before {
	content:"";
	position: absolute;
	left: 0;
	top: 70px;
	display: block;
	height: 80px;
	width: 80px;
	background-image: url('includes/assets/img/norquay-logo-white.svg');
	background-size: contain;
	background-repeat: no-repeat;
}
.visitor-reviews.tubing-reviews::before {
	top:60px;
}
/* LARGE ICON BUTTON */
.large-icon-button .elementor-button i {
	font-size: 36px;
}
a.zaui-embed-button {
	background-color: var(--e-global-color-primary) !important;
	color: var(--e-global-color-ac939ab) !important;
	line-height: 1em !important;
	padding: 14px 25px !important;
	border: none !important;
	border-radius: 10px !important;
	transition: all .2s ease-in-out;
	font-size: 16px !important;
}
a.zaui-embed-button:hover {
	background-color: var(--e-global-color-secondary) !important;
	color: var(--e-global-color-text) !important;
}
/* VIDEO BACKGROUND OVERLAY */
.bg-video .elementor-background-video-container {
  opacity: 0;
  animation: videoFadeIn .8s ease 0.5s forwards;
}

@keyframes videoFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.blackout-box .blackout-box-icon {
	transition: all .2s ease;
}
.blackout-box:hover .blackout-box-icon {
	margin-left: 5px;
}

.jet-listing-grid__item .elementor-heading-title a {
  display: -webkit-box;
  -webkit-line-clamp: 3;      /* number of lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding: 0 0 2px 0;
}


/* HIDE SEASONAL MODULES */
.winter .summer-module {
	display: none;
}
.summer .winter-module {
	display: none;
}

/* HIDE BREADCRUMB AND PAGE TITLE ON HOME PAGES */
.home .norquay-breadcrumb, .page-id-8635 .norquay-breadcrumb, .page-id-8198 .norquay-breadcrumb {
	opacity: 0;
	pointer-events: none;
}
.home .page-title, .page-id-8635 .page-title, .page-id-8198 .page-title { 
	display: none;
}

/* GROW IMAGE ON HOVER */
.hover-image-grow img {
	transform-origin: center center;
	transition: .2s ease;
	transform: scale(1);
}
.hover-image-grow:hover img {
	transform: scale(1.1);
}
.hover-background-image-grow .promo-background-image {
	background-size: cover;
	background-position: center;
	transform: scale(1);
	transition: transform 0.2s ease;
}
.hover-background-image-grow:hover .promo-background-image {
	transform: scale(1.1);
}
.slick-arrow.slick-disabled {
	opacity: .2;
	pointer-events: none;
}
.via-ferrata-dynamic-list .jet-listing-dynamic-field__content p {
    margin-bottom: 0;
}
.via-ferrata-template .elementor-widget-jet-listing-dynamic-image, .via-ferrata-template .elementor-widget-jet-listing-dynamic-image .elementor-widget-container, .via-ferrata-template .elementor-widget-jet-listing-dynamic-image .elementor-widget-container .jet-listing-dynamic-image {
	height: 100%;
}
.jet-timeline-item .step .elementor-heading-title {
	transition: all .3s ease-in-out;
}
.jet-timeline-item.is--active .step .elementor-heading-title {
	color: var(--e-global-color-secondary) !important;
}
.jet-listing-dynamic-link__link {
	transition: all .2s ease;
}
sub, sup {
	font-size: 50%;
	vertical-align: middle;
	top: -.7em;
}
.single-post p img, .webcam-item img {
	border-radius: 25px;
}
.alignleft {
	margin-right: 2em;
}
.alignright {
	margin-left: 2em;
}
.elementor-kit-6 {
	font-feature-settings: "ss04" on;
}

/* LEGACY BLOG POST IMG ALIGNMENT */
img.alignleft, img.alignright, img.aligncenter, img.alignnone, .alignleft img, .alignright img, .aligncenter img, .alignnone img, .wp-block-image img {
	border-radius: 25px !important;
	max-height: 600px;
}
.alignleft {
	margin: .5em 2.5em 1.5em 0;
	max-width: 50% !important;
}
.alignright {
	margin: .5em 0 1.5em 2.5em;
	max-width: 50% !important;
}
.aligncenter, .alignnone {
	max-width: 100%;
	margin: 1.5em auto;
	display: block;
}
/* GOOGLE MAP GETTING HERE PAGE */
.google-map { 
    border-radius: 25px;
    overflow: hidden;
}
.google-map iFrame {
    height: 480px;
	border-radius: 25px;
	overflow: hidden;
}

.elementor-widget-text-editor h4 {
	color: var(--e-global-color-primary);
	margin-bottom: 25px;
}
p + h3, ul + h3, ol + h3 {
	margin-top: 40px;
}

/* ANGLED EYEBROW HEADING 2 */
.five-deg-left {
	/* Rotate 5 degrees counter-clockwise */
	transform: rotate(-5deg);
	transform-origin: bottom left;
}

/* BEFORE AFTER SLIDER */
.uael-before-after-slider {
	border-radius: 25px;
	overflow: hidden;
}

/* HERO IMAGES and VIDEOS */
.bg-hero {
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-position: center center !important;
}
.bg-hero a:hover, .bg-video a:hover, .photo-credit a:hover {
	text-decoration: underline;
}

.animated-hero-heading {
	opacity: 0;
	animation: 
		heroFadeIn 1s ease-in-out forwards 1.5s,  /* delay before fade in */
		heroFadeOut 1s ease-in-out forwards 5s; /* fade out after visible */
}
.animated-hero-subheading {
	opacity: 0;
	animation: 
		heroFadeIn 1s ease-in-out forwards 1.6s,  /* slightly more delay */
		heroFadeOut 1s ease-in-out forwards 5.4s; /* stagger fade out */
}
@keyframes heroFadeIn {
	0% {
		opacity: 0;
		transform: translateY(150px);
	}
	80% {
		opacity: 1; /* fade finishes early */
	}
	100% {
		opacity: 1;
		transform: translateY(0); /* continues moving after invisible */
	}
}
@keyframes heroFadeOut {
	0% {
		opacity: 1;
	}
	80% {
		opacity: 0; /* fade finishes early */
	}
	100% {
		opacity: 0;
	}
}

/* CONDITIONS */
.conditions-hero-widget .conditions-arrow {
	transition: all .3s ease;
}
.conditions-hero-widget:hover .conditions-arrow {
	right: 15px !important;
}

.lift-status-toggle .jet-accordion__item .jet-tabs-icon svg path, .lift-status-toggle .jet-toggle__label-text {
	transition: all .2s ease;
}
.lift-status-toggle .jet-accordion__item:hover .jet-tabs-icon svg path {
	fill: var(--e-global-color-primary) !important;
}
.jet-accordion__item .jet-toggle__control {
  position: relative;
}
.jet-accordion__item .jet-toggle__control::after {
  content: "";
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background-color: var(--e-global-color-text);
  -webkit-mask: url("includes/assets/img/Norquay_Plus_Icon.svg") no-repeat center;
  mask: url("includes/assets/img/Norquay_Plus_Icon.svg") no-repeat center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: transform 0.3s ease;
}

.lift-status-toggle .jet-accordion__item {
	border-radius: 25px;
	overflow: hidden;
}

/* Rotate into X */
.jet-accordion__item.active-toggle .jet-toggle__control::after {
  transform: translateY(-50%) rotate(45deg);
}
	/* CONDITIONS ***********************/
	.condition-notes h1, .condition-notes h2, .condition-notes h3, .condition-notes h4, .condition-notes h5, .condition-notes h6 {
		color: var(--e-global-color-text);
		margin-bottom: 25px;
	}
	.condition-notes h2,
	.condition-notes h2 > b {
		font-family: var(--e-global-typography-text-font-family);
		font-size: var(--e-global-typography-accent-font-size) !important;
		font-weight: var(--e-global-typography-text-font-weight);
		line-height: var(--e-global-typography-text-line-height);
	}

.elementor-background-video-container::after {
  position: relative;
  overflow: hidden;
}
.elementor-background-video-container {
	background: #000000;
}
.elementor-background-video-container::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #000000;
  animation: fadeOutOverlay 3s ease forwards;
  z-index: 100;
}

@keyframes fadeOutOverlay {
  50% { opacity: 1; }
  100% { opacity: 0; }
}

/* Apply this class to any Elementor widget/section you want to move */
.km-parallax-up {
  position: relative;            /* keeps it in normal layout */
  will-change: transform;
  transform: translateY(0);      /* starting position */
}
.elementor-button-icon svg {
	max-height: 25px;
}

/* HEADER CSS *************************/

/* Base sticky header */
.website-header {
  position: fixed;
  left: 0;
  width: 100%;
  z-index: 9998;
  transition: transform 0.35s ease, top 0.3s ease, box-shadow 0.3s ease;
  will-change: transform;
  background: #ffffff;
}
/* Hidden state: recess upward */
.website-header.is-hidden {
  transform: translateY(calc(-100% - var(--alert-height, 0px)));
}
.website-header.has-bg {
 box-shadow: 0 2px 10px rgba(0, 0, 0, 0.16);
}
/* Accessibility: minimize motion if user prefers */
@media (prefers-reduced-motion: reduce) {
  .website-header {
    transition: none;
  }
}
.website-header .elementor-icon-wrapper a svg path {
	transition: all .2s ease;
}
.website-header .elementor-icon-wrapper a:hover svg path {
	fill: var(--e-global-color-primary);
}

.jet-mega-menu.jet-mega-menu--animation-none.jet-mega-menu--layout-horizontal .jet-mega-menu-list .jet-mega-menu-mega-container {
	transition: all .3s ease-in-out;
}
.mega-close .elementor-icon {
  cursor: pointer;
}
.breadcrumb-label {
	margin-left: 40px;
}
/* 1) Make the inner container a full-height column flexbox */
.mobile-nav .jet-mobile-menu__container-inner {
  display: flex;
  flex-direction: column;
  height: 100%;            /* needs parents to have a height (see 4) */
  min-height: 100%;
}

/* 2) Let the menu body consume remaining space and be scrollable */
.mobile-nav .jet-mobile-menu__body {
  flex: 1 1 auto;
  overflow: auto;          /* so the list scrolls, footer stays put */
}

/* 3) Pin the after-template to the bottom of the column */
.mobile-nav .jet-mobile-menu__after-template {
  margin-top: auto;        /* key line: pushes it to the bottom */
}

/* 4) Ensure the overall mobile menu wrapper has a height context */
.mobile-nav .jet-mobile-menu__container {
  height: 100dvh;          /* or 100vh; use what matches your setup */
}

/* Mobile Close Button */
.jet-mobile-menu__back {
	position: absolute;
	width: 100%;
}

/* Show pointer cursor on the custom X */
.jet-mobile-menu__custom_close,
.jet-mobile-menu__custom_close .elementor-icon,
.jet-mobile-menu__custom_close i {
  cursor: pointer;
}

.jet-mobile-menu__back .fa-times-circle {
 	display: none;
}

.jet-mobile-menu__back .fa-arrow-left {
	position: absolute;
	left: 40px;
	top: 11px;
	transition: all .2s ease-in-out;
}
.jet-mega-menu-item__link .jet-mega-menu-item__title {
	transition: color .2s ease-in-out;
}
header .breadcrumb-label {
	padding: 25px 0 10px 0;
}

li.risk-button.jet-mega-menu-item {
	color: var(--jmm-top-item-title-color, inherit) !important;
    background-color: var(--e-global-color-secondary) !important;
    padding: 0 15px;
    border-radius: 0;
    transition: all .2s ease;
}
li.risk-button .jet-menu-label {
	color: var(--e-global-color-text) !important;
    background-color: var(--e-global-color-secondary) !important;
    padding: 10px;
	line-height: 1.2 !important;
    border-radius: 0;
    transition: all .2s ease;
}
li:hover.risk-button.jet-mega-menu-item {
	color: var(--e-global-color-ac939ab) !important;
    background-color: #FF4A4A !important;
}

.jet-mega-menu.jet-mega-menu--layout-horizontal .risk-button.jet-mega-menu-item:hover>.jet-mega-menu-item__inner .jet-mega-menu-item__title {
	 color: var(--e-global-color-ac939ab) !important;
}
.jet-ajax-search .jet-listing-grid__item {
	padding: 0;
}
.jet-ajax-search__navigation-container button:focus {
	background: none !important;
}
/* END HEADER CSS *************************/  

/* EVENTS FIXES */
.event-date-container {
	width: auto;
}

/* Hide the existing SVG chevron */
.jet-listing-grid__slider-icon.next-arrow svg,
.jet-listing-grid__slider-icon.prev-arrow svg {
  display: none;
}

/* Add Font Awesome arrow using ::before */
.jet-listing-grid__slider-icon.next-arrow::before,
.jet-listing-grid__slider-icon.prev-arrow::before {
  content: "\f061"; /* fa-arrow-right unicode */
  font-family: "Font Awesome 6 Pro";
  font-weight: 300; /* adjust to your desired FA style */
  font-size: 18px;
  color: var(--e-global-color-primary);
  display: inline-block;
  line-height: 1;
  transform: rotate(180deg);
}
.jet-listing-grid__slider-icon.next-arrow, .jet-listing-grid__slider-icon.prev-arrow {
	border-radius: 100px;
	height: 30px;
	box-shadow: 0px 0px 14px 0px rgba(0,0,0,0.15);
	-webkit-box-shadow: 0px 0px 14px 0px rgba(0,0,0,0.15);
	-moz-box-shadow: 0px 0px 14px 0px rgba(0,0,0,0.15);
}

/* CUSTOM ARROW BUTTONS */
.elementor-button-content-wrapper {
	gap: 15px;
	align-items: center;
}
.dark-arrow-button .elementor-button-content-wrapper, .light-arrow-button .elementor-button-content-wrapper {
	position: relative;
	padding-right: 35px;
}
.dark-arrow-button .elementor-button-content-wrapper .elementor-button-icon, .light-arrow-button .elementor-button-content-wrapper .elementor-button-icon {
	position: absolute;
	right: 5px;
	top: 4px;
	transition: all .2s ease-in-out;
}
.dark-arrow-button:hover .elementor-button-content-wrapper .elementor-button-icon, .light-arrow-button:hover .elementor-button-content-wrapper .elementor-button-icon {
	right: 0;
}
.elementor-button-icon {
	font-size: 25px;
}
.elementor-button i {
	font-size: 18px;
}
.dark-arrow-button .elementor-button i {
	color: var(--e-global-color-primary) !important;
}
.light-arrow-button .elementor-button i {
	color: var(--e-global-color-secondary) !important;
}
.dark-arrow-button.back-button .elementor-button-content-wrapper, .light-arrow-button.back-button .elementor-button-content-wrapper {
	position: relative;
	padding-left: 35px;
	padding-right: 0;
}
.dark-arrow-button.back-button .elementor-button-content-wrapper .elementor-button-icon, .light-arrow-button.back-button .elementor-button-content-wrapper .elementor-button-icon {
	position: absolute;
	left: 5px;
	top: 5px;
	transition: all .2s ease-in-out;
}
.dark-arrow-button.back-button:hover .elementor-button-content-wrapper .elementor-button-icon, .light-arrow-button.back-button:hover .elementor-button-content-wrapper .elementor-button-icon {
	left: 0;
}

/* SCREEN READER H1 Add this class to a heading if you want to have the h1 page title included in the page but off screen.*/
.screen-reader-text {
  position: absolute;
  top: -9999px;
  left: -9999px;
}

/* ICON BUTTONS TEXT ALIGNMENT */
.elementor-button-icon + .elementor-button-text {
    text-align: left;
    display: inline-block; /* ensures text-align works on the span */
}

/* REMOVE SEARCH X */
input.elementor-search-form__input::-webkit-search-cancel-button, .jet-search-filter__input::-webkit-search-cancel-button {
    display: none !important;
}
/* REMOVE ELEMENTOR DROPDOWN 8PX BUG */
ul.elementor-nav-menu--dropdown a, ul.elementor-nav-menu--dropdown a:focus, ul.elementor-nav-menu--dropdown a:hover { 
	border-left: none !important; 
}
/* FIX ICON LINE HEIGHT */
 .elementor-icon-wrapper { 
	 line-height: 0; 
}
/* BREADCRUMBS - ACTIVATE/CUSTOMIZE IF NEEDED */
.rank-math-breadcrumb, .rank-math-breadcrumb a, .rank-math-breadcrumb a:hover {
	font-weight: 300 !important;
	font-size: 14px !important;
	color: var(--e-global-color-text) !important; 
}
.norquay-breadcrumb .rank-math-breadcrumb a {
	transition: all .2s ease-in-out;
}
.norquay-breadcrumb .rank-math-breadcrumb, .norquay-breadcrumb .rank-math-breadcrumb a, .norquay-breadcrumb .rank-math-breadcrumb a:hover {
	color: var(--e-global-color-ac939ab) !important;
}
.rank-math-breadcrumb a:hover { 
	color: var(--e-global-color-secondary) !important; 
}

/* LINKS */
.elementor-widget-text-editor a {
	text-decoration: underline;
}

/* UNORDERED/ORDERED LIST MARGIN BOTTOM ***/
ul, ol {
	margin-bottom: 25px;
}
ul li, ol li {
	margin-bottom: 10px;
}

.icon-bullet-list ul li {
	margin: 0;
}
.icon-bullet-list ul {
	margin: 0;
}
/* Override when inside a header or footer */
header ul,
header ol,
footer ul,
footer ol {
	margin-bottom: 0;
}
header ul li,
header ol li,
footer ul li,
footer ol li {
	margin-bottom: 0;
}

/* BUTTON FIX */
.elementor-kit-6 .elementor-button, .elementor-kit-6 .elementor-button:hover {
	text-decoration: none;
}

/* END GRAVITY PAGE SETUP STUFF  */
	
/* CUSTOM SLIDER */	
.promo-slider .jet-listing-grid__items img{
  -webkit-user-drag: none;
  user-select: none;
}
.promo-slider .jet-listing-grid__items.is-dragging *{
  user-select: none;
  cursor: grabbing;
}
.promo-slider .jet-listing-grid__items{
  cursor: grab;
}

@media (min-width: 1921px) {
	.promo-slider {
		width: 100vw;
	}	
	/* Shift the gridâ€™s content start to the grid-center */
	.promo-slider .elementor-widget-jet-listing-grid {
		padding-left: 0;
		padding-right: 0;
		overflow: visible; /* ensure the widened items can extend right */
	}
}
.promo-slider {
	justify-content: center;
}
/* 1) Make the Jet grid a horizontal track */
.promo-slider .jet-listing-grid .jet-listing-grid__items {
  --card-min: 270px !important;      /* fallback; JS will sync from Jet if available */
  --gap: 16px;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: var(--gap);
  overflow: hidden;       /* hide native scrollbar */
}

/* neutralize Jetâ€™s grid classes within scope */
.promo-slider .jet-listing-grid .jet-listing-grid__items[class*="grid-col-"] {
  display: flex !important;
}

2) Card sizing
.promo-slider .jet-listing-grid .jet-listing-grid__item {
  flex: 0 0 var(--card-min);
  min-width: var(--card-min) !important;
}
.promo-slider .jet-listing-grid__item[class*=colspan-2-] {
   max-width: 660px !important;
}
/* .promo-slider .jet-listing-grid .jet-listing-grid__item.colspan-2-5 {
  flex-basis: calc(var(--card-min) * 2 + var(--gap));
  min-width: calc(var(--card-min) * 2 + var(--gap));
} */

/* 3) Optional: vertical wheel â†’ horizontal
.promo-slider .jet-listing-grid .jet-listing-grid__items.wheel-x {
  overscroll-behavior: contain;
}
 */
	
/* Hide native scrollbar where it shows */
.promo-slider .jet-listing-grid .jet-listing-grid__items::-webkit-scrollbar { display: none; }
	
	/* === Base scrollbar container === */
.promo-slider .custom-scrollbar-container {
  position: relative;
  width: 100%;  /* real width so it doesn't collapse */
  max-width: 1330px;
  margin: 20px 0 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  box-sizing: border-box;
  padding: 0 30px;
}

/* Track */
.promo-slider .custom-scrollbar-track {
  flex: 1 1 0%;
  min-width: auto;          /* guard against shrinking to nothing */
  height: 12px;
  background: #e6e6e6;
  border-radius: 999px;
  position: relative;
  overflow: hidden;          /* okay â€” arrows are siblings, not children */
}

.promo-slider .custom-scrollbar-thumb {
  position: absolute;
  inset: 0 auto 0 0;         /* top:0; bottom:0; left:0; */
  height: 12px;
  width: 40px;
  background: #1A819F;
  border-radius: 999px;
  transform: translateX(0);
  cursor: grab;
  will-change: transform, width;
}

.promo-slider .custom-scrollbar-thumb:active { 
	cursor: grabbing; 
}

/* Arrows */
.promo-slider .scroll-arrows {
  display: flex;
  gap: 12px;
  flex: 0 0 auto;            /* don't steal space from the track */
  margin: 0;
}

.promo-slider .scroll-arrows i {
	font-size: 22px;           /* make them obvious */
	line-height: 1;
	color: #007d8a;            /* visible color */
	cursor: pointer;
	transition: color .2s, transform .2s, opacity .2s, background .2s;
	opacity: 1;
	border-radius: 60px;
	background: var(--e-global-color-635f4f3);
	padding: 6px 15px;
}

.promo-slider .scroll-arrows i:hover {
  color: #ffffff;
  background: var(--e-global-color-primary);
}

/* Disabled look (JS toggles) */
.promo-slider .scroll-arrows i[aria-disabled="true"] {
  opacity: .35;
  pointer-events: none;
}

.promo-slider .custom-scrollbar-thumb {
  touch-action: none;          /* prevent browser from trying to scroll page */
  user-select: none;           /* avoid accidental text selection */
}
.promo-slider .jet-listing-grid .jet-listing-grid__items {
  will-change: scroll-position; /* hint to compositor */
}
.promo-slider .jet-listing-grid__item:first-child {
	padding-left: 30px !important;
}
.promo-slider .jet-listing-grid__item:last-child {
	padding-right: 30px !important;
	min-width: 300px !important;
}
/* ==========================================================================
   FEATURED EVENT SECTION â€” Layout helpers to ensure the Jet Listing Grid
   and its inner Elementor/Jet wrappers stretch to equal column height.
   No property values changedâ€”comments only.
   ========================================================================== */

/* Slider-module tabs */
.slider-module .jet-tabs__control-wrapper {
	position: absolute;
	top: -68px;
}

/* Jet Listing root: behave as a vertical flex container and fill parent */
.featured-event .jet-listing-grid.jet-listing, .featured-listing {
  display: flex;
  flex-direction: column;
  flex: 1;
  height: 100%;
  min-height: 0;
}

/* Items wrapper: fill available height so children can equalize */
.featured-event .jet-listing-grid__items {
  display: flex;
  flex-direction: column;
  flex: 1;
  height: 100%;
  min-height: 0;
}

/* Each listing item: stretch to consume the wrapperâ€™s height */
.featured-event .jet-listing-grid__item {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

/* The Elementor template inside each item: also stretch vertically */
.featured-event .jet-listing-grid__item > .elementor {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

/* Tell Elementorâ€™s flex container to grow (uses Elementorâ€™s CSS var API) */
.featured-event-item.e-con.e-flex {
    --flex-grow: 1; 
}

/* Ensure the featured column and its image wrapper can fill available height */
.featured-event, .featured-event-image {
  min-height: -webkit-fill-available; /* Safari/Chrome */
  min-height: -moz-available;         /* Firefox */
}

/* Make the <img> behave like a cover background: full box, cropped as needed 
 * 
 * .featured-event-image img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    display: block;
}
 * */

/* Jet Listing widget wrapper: pass flex height down into Jetâ€™s root */
.featured-event .elementor-widget-jet-listing-grid {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0; /* allow children to expand without forcing overflow */
  max-height: 100%;
}

/* Featured Listing Description CSS */

.featured-listing .featured-listing-info {
    transform-origin: bottom center;
    transition: all .6s ease;
    height: 0;
}
.featured-listing:hover .featured-listing-info {
    height: 190px;
}

.featured-listing .featured-description {
    top: 80px;
    transition: all .5s ease-in-out;
}
.featured-listing:hover .featured-description {
    top: 20px;
}
.short-description .jet-listing-dynamic-field__content {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;             /* needed for clamp */
  text-overflow: ellipsis;
  white-space: normal;
  line-height: 1.5;             /* bump line height a bit */
  padding-bottom: 3px;          /* prevents y/g/p tails getting clipped */
  word-break: break-word;       /* avoid overflow from long words/URLs */
}

/* JET ACCORDION STYLES */
.faq-accordion .jet-accordion {
	overflow: hidden;
	border-radius: 25px;
}
.faq-accordion .jet-accordion > .jet-accordion__inner > .jet-toggle:nth-child(even), .faq-accordion .jet-toggle:nth-child(even) > .jet-toggle__control {
	background-color: var(--e-global-color-e9121e1) !important;
}

/* WEATHER CONDITION RUNS */
.run-status {
	display: block;
	margin: -5px 0 0 0;
}
.run-status.status-open::before{
	content:"";
	display: inline-block;
	background:url("includes/assets/img/Open_Icon.svg") center/contain no-repeat;
	width:16px;
	height:16px;
}
.run-status.status-closed::before{
	content:"";
	display:inline-block;
	background:url("includes/assets/img/Closed_Icon.svg") center/contain no-repeat;
	width:14px;
	height:14px;
}
.run-groomed.groomed-groomed::before {
    content: "";
    display: inline-block;
    width: 32px;
    height: 32px;
    background-color: var(--e-global-color-text);
    -webkit-mask: url(includes/assets/img/icons-snow-plow-truck.svg) center / contain no-repeat;
    mask: url(includes/assets/img/icons-snow-plow-truck.svg) center / contain no-repeat;
}
.run-groomed.groomed-ungroomed{
	display:none;
}
.run-difficulty.difficulty-advanced::before{
	content:"";
	display:inline-block;
	background:url("includes/assets/img/Advanced.svg") center/contain no-repeat;
	width:24px;
	height:24px;
}
.run-difficulty.difficulty-intermediate::before{
	content:"";
	display:inline-block;
	background:url("includes/assets/img/Intermediate.svg") center/contain no-repeat;
	width:24px;
	height:24px;
}
.run-difficulty.difficulty-beginner::before{
	content:"";
	display:inline-block;
	background:url("includes/assets/img/Beginner.svg") center/contain no-repeat;
	width:24px;
	height:24px;
}
.run-child .run-difficulty.difficulty-advanced::before{
	content:"";
	display:inline-block;
	background:url("includes/assets/img/Advanced.svg") center/contain no-repeat;
	width:16px;
	height:16px;
}
.run-child .run-difficulty.difficulty-intermediate::before{
	content:"";
	display:inline-block;
	background:url("includes/assets/img/Intermediate.svg") center/contain no-repeat;
	width:16px;
	height:16px;
}
.run-child .run-difficulty.difficulty-beginner::before{
	content:"";
	display:inline-block;
	background:url("includes/assets/img/Beginner.svg") center/contain no-repeat;
	width:16px;
	height:16px;
}
.run-child .run-status.status-open::before{
	content:"";
	display:inline-block;
	background:url("includes/assets/img/Open_Icon.svg") center/contain no-repeat;
	width:14px;
	height:14px;
}
.run-child .run-status.status-closed::before{
	content:"";
	display:inline-block;
	background:url("includes/assets/img/Closed_Icon.svg") center/contain no-repeat;
	width:12px;
	height:12px;
}
.run-child .run-groomed.groomed-groomed::before{
	display:none;
}
.run-child > div.elementor > div.elementor-element{
	border:0;
	padding: 2px 0;
	margin-left:0;
	margin-top:0;
}
.run-child .jet-listing-dynamic-field__content{
	font-size:16px!important;
	font-weight:400!important;
}
.run-child .jet-listing-dynamic-field:has(.jet-listing-dynamic-field__content){
	display:block;
}
.run-child + .run-main{
	margin-top:25px!important;
}
.run-main:has(+ .run-child) div.elementor > div.elementor-element{
	 padding-bottom:0; 
}

.run-child div.e-con-inner > div:first-of-type{
	display:flex;
}
.run-child .run-difficulty-icon .elementor-widget-container {
	margin-right: 7px !important;
    margin-top: 4px !important;
}
selector .jet-listing-dynamic-field__content {
    white-space: nowrap;
}
.conditions-run-name .jet-listing-dynamic-field__content {
    margin: -10px 0 0 0;
	white-space: nowrap;
}
.run-child .conditions-run-name .jet-listing-dynamic-field__content {
	margin: -2px 0 0 0;
}
.run-difficulty {
	width: 15px !important;
	display: block !important;
}
.run-child .run-difficulty {
	width: auto !important;
	margin-left: 53px;
}
/* WEATHER CONDITION LIFTS */
.lift-status{
	font-size:18px;
	line-height:normal;
	text-transform:uppercase;
	font-weight:400;
}
.lift-status.is-open {
	color: #51C87B;
	display: block;
}
.lift-status.is-closed {
	color:#FF4A4A;
	display: block;
}
.tubing-status .lift-status {
	margin: 4px 0 0 0;
}
.lift-status-toggle .jet-toggle__label-text{
	padding-left:15px;
	display:flex;
	flex-direction:column;
	gap:5px;
}

/* CUSTOM JET TAB DROPDOWN FOR MOBILE */

/* Container */
.jet-tabs__content-wrapper {
	overflow: visible;
}
.jet-tabs-custom-select {
  position: relative;
  width: 100%;
  font-size: 16px;
  border-radius: 25px 25px 0 0; /* optional, matches your trigger */
}

/* Trigger button */
button.jet-tabs-select-trigger {
  position: relative;
  width: 100%;
  background: #DAE564;
  color: #3F4747;
  padding: 15px 25px;
  border: none;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  border-radius: 25px 25px 0 0;
  transition: all .2s ease;
  z-index: 10;
}
button.jet-tabs-select-trigger i {
  animation: gentle-bob 2.2s ease-in-out infinite;
}

@keyframes gentle-bob {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(5px);
  }
}
button.jet-tabs-select-trigger.open {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

button.jet-tabs-select-trigger i {
  transition: transform 0.2s ease;
  font-size: 26px;
}

button.jet-tabs-select-trigger.open i {
  transform: rotate(180deg);
}

/* Dropdown menu */
.jet-tabs-select-menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: #FFF;
  border: none;
  border-radius: 0 0 25px 25px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
  padding: 0;
  margin: 0;
  list-style: none;
  z-index: 9;

  /* animation setup */
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  transition:
    max-height 1s ease-in-out,
    opacity .2s ease,
    transform 1s ease-in-out;
}
/* Open state */
.jet-tabs-select-menu.open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
	max-height: 1000px;
}

/* Option items */
.jet-tabs-select-menu li {
  padding: 15px 25px;
  color: #3F4747;
  cursor: pointer;
  margin: 0;
}

.jet-tabs-select-menu li:hover {
  background: #f1f1f1;
}

/* Selected item */
.jet-tabs-select-menu li.selected {
  background: #f1f1f1;
}

/* SCROLLBAR STYLING â€” Chrome, Edge, Safari */
.jet-tabs-select-menu::-webkit-scrollbar {
  width: 20px;
  background: #F8F8F8; /* track background */
}

.jet-tabs-select-menu::-webkit-scrollbar-track {
  background: #F8F8F8; /* track background */
}

.jet-tabs-select-menu::-webkit-scrollbar-thumb {
  background: #1A819F; /* scrollbar indicator */
  border-radius: 0;    /* match your no-radius style */
}

.jet-tabs-select-menu::-webkit-scrollbar-thumb:hover {
  background: #166b83; /* slightly darker on hover */
}

.jet-tabs__control:focus-visible {
	outline: none;
}

/* Optional: scrollbar corner */
.jet-tabs-select-menu::-webkit-scrollbar-corner {
  background: #F8F8F8;
}

/* Optional: scrollbar buttons (arrows) */
.jet-tabs-select-menu::-webkit-scrollbar-button {
  background: #1A819F; /* arrows */
  height: 20px;
}
/* Firefox scrollbar */
.jet-tabs-select-menu {
  scrollbar-width: auto; /* or thin */
  scrollbar-color: #1A819F #F8F8F8; /* thumb, track */
}

/* JET TAB FIXES */
.jet-tabs__control-wrapper > .jet-tabs__control {
	transition: all .2s ease-in-out;
}

/* ABILITY LEVEL CHART */
.ability-level-listing .ability-description strong {
	font-size: 18px;
}
.ability-level-listing .slick-track {
  display: flex !important;
  align-items: baseline;
  flex-wrap: nowrap;  
}
.ability-level-listing .jet-listing-grid__items>.jet-listing-grid__item {
	  flex: 0 0 auto !important;
}
.ability-level-listing .slick-slide:last-child {
  margin-right: 0;
}
	
/* stagger: adjust the selector to match your item wrapper */
.ability-level-listing .jet-listing-grid__item:nth-child(2) .colour-container { animation-delay: 180ms; }
.ability-level-listing .jet-listing-grid__item:nth-child(3) .colour-container { animation-delay: 260ms; }
.ability-level-listing .jet-listing-grid__item:nth-child(4) .colour-container { animation-delay: 340ms; }
.ability-level-listing .jet-listing-grid__item:nth-child(5) .colour-container { animation-delay: 420ms; }
.ability-level-listing .jet-listing-grid__item:nth-child(6) .colour-container { animation-delay: 500ms; }
.ability-level-listing .jet-listing-grid__item:nth-child(7) .colour-container { animation-delay: 580ms; }
.ability-level-listing, .ability-level-listing .slick-track, .ability-level-listing .slick-track .jet-listing-grid__item, .ability-level-listing .jet-listing .slick-list {
	overflow: visible !important;
}
.colour-container {
	transform-origin: bottom;
	transform: scaleY(1);
	overflow: hidden;
}
/* WEBCAM LAYOUT */
.webcam-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
}
.webcam-item img {
    width: 100%;
    height: auto;
    display: block;
}
.webcam-item h5 {
    margin-top: 8px;
	color: var(--e-global-color-primary);
}

/* TABLE LAYOUT ***********************************/
table {
	border: 0;
	width: 100%;
	table-layout: fixed;
}
table .jet-listing-dynamic-field .jet-listing-dynamic-field__inline-wrap, table .jet-listing-dynamic-field .jet-listing-dynamic-field__content {
	width: 100% !important;
}
.acf-table-wrapper {
	position: relative;
	border-radius: 25px;
	overflow: hidden;
}
/* only shortcode wrappers that contain an ACF table */
.elementor-shortcode.has-horizontal-scroll:has(.acf-table-wrapper){
  position: relative;
  padding-bottom: 55px;
}

.elementor-shortcode:has(.acf-table-wrapper)::after{
  content: "";
  position: absolute;
  bottom: 5px;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 40px;
  background: url("includes/assets/img/swipe-finger.svg") center/contain no-repeat;
  display: none;
  opacity: 0;
  pointer-events: none;
  transition: opacity 200ms ease;
}

.elementor-shortcode.has-horizontal-scroll::after{
  display: block;	
  opacity: 1;
}

/* TABLE STYLES **************************************/

table td, table th {
	border: 0;
	padding: 15px 25px;
	line-height: 1.3;
	vertical-align: middle;
	width: 1%;
}
table td p, table th p {
	margin: 0;
}
table th:first-child {
	border-radius: 25px 0 0 0;
}
table th:last-child {
	border-radius: 0 25px 0 0;
}
table tr:last-child td:first-child {
	border-radius: 0 0 0 25px;
}
table tr:last-child td:last-child {
	border-radius: 0 0 25px 0;
}
table td {
  border-top: 2px solid #ffffff;
  vertical-align: middle;
  max-width: 240px;
}
table td:first-child {
	font-weight: 700;
}
table { 
	font-size: 18px;
	margin-block-end: 10px;
}
table th {
	background: var(--e-global-color-primary);
	color: var(--e-global-color-ac939ab);
	text-align: center;
}
table td {
	text-align: center;
}
table tbody>tr:nth-child(odd)>td {
    background-color: #efefef;
}
table tbody>tr:nth-child(even)>td {
    background-color: #f8f8f8;
}
table td > p:only-child {
  margin: 0;
}
table td:last-child:has(> p a) {
  text-align: right;
}
.acf-table-wrapper table.card-table td:last-child {
	text-align: right;
}
.acf-table-wrapper table td:last-child a {
  position: relative;
  display: inline-block;
  padding-right: 35px;
  color: var(--e-global-color-text);
  white-space: nowrap;
}
.acf-table-wrapper table td:last-child a:hover {
 color: var(--e-global-color-primary);
}
.acf-table-wrapper table td:last-child a::after {
  content: "\f061"; /* Font Awesome arrow-right */
  font-family: "Font Awesome 6 Pro";
  font-weight: 300;
  font-size: 20px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(-5px, -50%);
  color: var(--e-global-color-primary);
  transition: transform 0.25s ease;
}
.acf-table-wrapper table td:last-child a:hover::after,
.acf-table-wrapper table td:last-child a:focus-visible::after, .acf-table-wrapper table td:last-child a:hover::after,
.acf-table-wrapper table td:last-child a:focus-visible::after {
  transform: translate(0, -50%);
}
table th:first-child, table td:first-child {
	text-align: left;
}
.acf-table-wrapper table.data-table tbody td:last-child:has(a) {
		text-align: right;
	}
/* SHUTTLE TABLE OVERRIDES */
table.shuttle-table td, table.shuttle-table th {
	padding: 20px 15px;
	vertical-align: middle;
	font-size: 16px;
}
table thead:first-child tr:first-child th {
	border: 0;
}
table.shuttle-table td {
	border: 1px solid #ffffff;
}
table.shuttle-table tr:last-child td {
	background: #DAE564;
}
.simple-schedule table.shuttle-table tr:last-child td {
	 background-color: var(--e-global-color-635f4f3);
}
table.shuttle-table th:first-child, table.shuttle-table td:first-child {
	min-width: 100px;
}
table .dark-cell {
  position: relative;
}
table .dark-cell {
  box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.05);
}
.acf-table-wrapper {
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	width: 100%;
	padding-bottom: 0; 
	border-radius: 25px;
}
.acf-table-wrapper table {
	width: max-content;
	min-width: 100%;
}
table .reg-price {
  text-decoration: line-through;
  font-size: 18px !important;
}
table .sale-price, table .early-bird {
  color: var(--e-global-color-d95b361);
  font-weight: 700;
  font-size: 18px !important;
}
table .savings {
  color: #858585;
  font-style: italic;
  font-size: 18px !important;
}
.savings-heading {
	font-weight: 400 !important;
}
/* Scrollbar styling */
.acf-table-wrapper::-webkit-scrollbar {
	height: 14px;
	border-radius: 100px;
}
.acf-table-wrapper::-webkit-scrollbar-track {
	background-color: var(--e-global-color-635f4f3);
	border-radius: 100px;
}
.acf-table-wrapper::-webkit-scrollbar-thumb {
	background: #1A819F;
	border-radius: 100px;
}
.acf-table-wrapper::-webkit-scrollbar-thumb:hover {
	background: #156a83;
}


/* table.shuttle-table td:nth-child(2) {
	border-left: 0;
}
table.shuttle-table td:first-child, table.shuttle-table th:first-child {
	border-right: 0;
} */

.mobile-table-only {
	display: none;
}

.jet-tabs__content-wrapper .jet-tabs__content .jet-listing-dynamic-field, .jet-tabs__content-wrapper .jet-tabs__content .jet-listing-dynamic-field .jet-listing-dynamic-field__inline-wrap {
	width: 100% !important;
}
.jet-tabs__content-wrapper .jet-tabs__content .jet-listing-dynamic-field .jet-listing-dynamic-field__content {
	width: 100% !important;
}

/* BLOG POST CONTENT LAYOUT */
.blog-post-content {
	padding: 0 70px;
}
.elementor-page .blog-post-content {
	padding: 0;
}

/* BLOG POST NAVIGATION */
.elementor-post-navigation .elementor-post-navigation__prev.elementor-post-navigation__link {
    width: calc(50% - (0px / 2)) !important;
}
.elementor-post-navigation {
	gap: 10px;
}
.elementor-post-navigation__prev, .elementor-post-navigation__next {
	padding: 50px;
	background: var(--e-global-color-635f4f3);
	border-radius: 25px;
}
.elementor-post-navigation__prev {
	padding-left: 35px;
}
.elementor-post-navigation__next {
	padding-right: 35px;
}
.elementor-post-navigation span.elementor-post-navigation__link__next, .elementor-post-navigation span.elementor-post-navigation__link__prev {
	gap: 10px;
}
.post-navigation__prev--title, .post-navigation__next--title {
	line-height: 1.5em;
	margin-bottom: 5px;
}
.elementor-post-navigation .elementor-button, .elementor-post-navigation .elementor-button:hover {
	padding: 0;
	background: none;
	color: var(--e-global-color-text);
}
.elementor-post-navigation .elementor-button:hover {
	color: var(--e-global-color-primary);
}
.post-navigation__prev--label, .post-navigation__prev--title {
	margin-left: 5px;
}
.post-navigation__nixt--label, .post-navigation__next--title {
	margin-right: 5px;
}
/* Make the horizontal track extend to the right edge of the viewport */
.promo-slider {
    --grid: 1290px;
    --gutter: calc((100vw - var(--grid)) / 2);
  }
.promo-slider .jet-listing-grid .jet-listing-grid__items {
	padding-left: calc(var(--gutter) - 30px);
  }
/* â‰¥1280px: left-align track to grid, bleed to right; keep scrollbar in 1280px grid */
@media (min-width: 1280px) and (max-width: 1920px) {

  /* Shift the gridâ€™s content start to the grid-left */
  .promo-slider .elementor-widget-jet-listing-grid {
    overflow: visible; /* ensure the widened items can extend right */
  }

  /* Make the horizontal track extend to the right edge of the viewport */
  .promo-slider .jet-listing-grid .jet-listing-grid__items {
    width: calc(100vw - var(--gutter)); /* starts at grid-left, ends at browser-right */
    max-width: none;
  }

  /* Keep the external scrollbar within the 1280px grid */
  .promo-slider .custom-scrollbar-track {
    width: var(--grid);
    max-width: 100%;
  }
	
}
@media (max-width: 1340px) {
	.promo-slider {
		padding: 25px 0;
	}
}

/* <2199px: force track width = 100vw  */
@media (max-width: 2199px) {
	.promo-slider .custom-scrollbar-container {
		margin: 20px 0 0 0;
		width: calc(100vw);
	}
}
@media (min-width: 2200px) {
	.promo-slider .jet-listing-grid .jet-listing-grid__items {
		padding-left: 0;
	}
}

@media (min-width: 1921px) {
	.left-content {
		padding-right: 12%;
		padding-left: 12%;
	}
	.left-content.left-contact {
		padding-left: calc((100vw - 1280px) / 2);
		padding-right: 6%
	}
	   .right-content {
		padding-right: 12%;
		   padding-left: 12%;
	}
	/* Disabled look (JS toggles) */
	.promo-slider .scroll-arrows i[aria-disabled="true"] {
		opacity: .35;
		pointer-events: none;
	}
	.promo-slider .jet-listing-grid__item:first-child {
		padding-left: 30px !important;
	}
}
@media (min-width: 1281px) and (max-width: 1920px) {
		.left-content {
		padding-left: max(calc((100vw - 1280px) / 2), 0px);
			padding-right: 120px;
	}
	   .right-content {
		padding-right: max(calc((100vw - 1280px) / 2), 0px);
		   padding-left: 120px;
	}
}
@media (max-width: 1280px) {
		.left-content, .right-content {
		padding: 0 30px;
	}
}

@media (min-width: 1025px) {
	
	/* HEADER */
	.header-icon {
		position: relative;
		display: inline-block;
	}

	.header-icon::after {
		content: "Conditions";
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translate(-50%, 8px);
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.2s ease, transform 0.2s ease;
		white-space: nowrap;
		font-size: 12px;
	}

	.header-icon:hover::after {
		opacity: 1;
		transform: translate(-50%, -5px);
	}
	.header-icon.n-conditions::after {
		content: "Conditions"
	}
	.header-icon.n-hours::after {
		content: "Hours"
	}
	.header-icon.n-getting-here::after {
		content: "Getting Here"
	}
	.header-icon.n-webcams::after {
		content: "Webcams"
	}
	/* Large Conditions Widget */
	.large-conditions-widget {
		position: absolute;
		right: 0;
		bottom: -120px;
	}

	/* Column widths */
	.ability-level-listing .slick-track .jet-listing-grid__item:nth-child(1) { width: 10% !important; }
	.ability-level-listing .slick-track .jet-listing-grid__item:nth-child(2) { width: 11% !important; }
	.ability-level-listing .slick-track .jet-listing-grid__item:nth-child(3) { width: 12.5% !important; }
	.ability-level-listing .slick-track .jet-listing-grid__item:nth-child(4) { width: 13.5% !important; }
	.ability-level-listing .slick-track .jet-listing-grid__item:nth-child(5) { width: 14.5% !important; }
	.ability-level-listing .slick-track .jet-listing-grid__item:nth-child(6) { width: 15.5% !important; }
	.ability-level-listing .slick-track .jet-listing-grid__item:nth-child(7) { width: 17% !important; }
	
	/* Wider View of Elementor Templates */
		#wpadminbar .quicklinks .menupop ul li.elementor-general-section .ab-item {
		min-width: 500px;
	}
	.single-post .blog-post-content:not(.elementor-page) p img {
		min-width: 350px;
	}
   /* STAGGER EXPLORE CARDS */
	.explore-card-listing .jet-listing-grid__items .jet-listing-grid__item:nth-child(even) .explore-card {
		flex-direction: column-reverse !important;
	}
	.run-child .run-status {
		margin-left: -10px;
	}

}

@media (min-width: 768px) {
	/* default: no animation, start collapsed */
	.colour-container {
		transform-origin: bottom;
		transform: scaleY(0);
		overflow: hidden;
	}

	/* animate only after JS flags it */
	.colour-container.is-inview {
		animation: abilityGrow 1s ease forwards;
		animation-delay: 100ms
	}
	@keyframes abilityGrow {
		0%   { transform: scaleY(0); }
		75%  { transform: scaleY(1.25); }
		100% { transform: scaleY(1); }
	}
	.ability-level-listing .slick-slide {
		margin-right: 1%;
	}
	
	/* EVEN rows (default) */
	table tbody > tr > td,
	table tbody > tr > th {
		background-color: var(--e-global-color-635f4f3);
		transition: all .2s ease;
	}

	/* ODD rows */
	table tbody > tr:nth-child(odd) > td,
	table tbody > tr:nth-child(odd) > th {
		background-color: var(--e-global-color-e9121e1);
	}

	/* If you actually have a different even color, set it here */
	table tbody > tr:nth-child(even) > td,
	table tbody > tr:nth-child(even) > th {
		background-color: var(--e-global-color-635f4f3);
	}

	/* Hover ONLY rows that contain a link */
	table tbody:has(a) tr:hover > td, table tbody > tr:nth-child(even) > td, table tbody > tr:nth-child(even) > th, table tbody:has(a) tr:hover > th {
		background-color: var(--e-global-color-secondary);
	}

	/* Target the active content div specifically */
	.content-arrow .jet-tabs__content.active-content::before {
	  content: "";
	  position: absolute;
	  top: 49px;
	  left: 0;
	  width: 35px;
	  height: 30px;
	  background: url("includes/assets/img/tab-content-arrow.svg") no-repeat;
	  background-size: contain;
	  pointer-events: none;
	  z-index: 2;

	  /* Start state */
	  opacity: 0;
	  transform: translateY(-10px) rotate(45deg);

	  /* Animation fires when .active-content is applied */
	  animation: tabArrowIn 1s ease forwards;
	}

	@keyframes tabArrowIn {
	  0%, 20% {
		opacity: 0;
		transform: translateY(-10px) rotate(45deg);
	  }
	  100% {
		opacity: 1;
		transform: translateY(0) rotate(0deg);
	  }
	}
}
@media (max-width: 1339px) {
	table td, table th {
		padding: 15px 25px;
		font-size: 16px;
	}
}
@media (max-width: 1024px) {
	.run-child .run-difficulty {
		margin-left: 30px;
	}
	.run-child .jet-listing-dynamic-field__content{
		font-size:14px!important;
	}
	/* BLOG POST CONTENT LAYOUT */
	.blog-post-content {
		padding: 0 30px;
	}

	.jet-tab-dropdown .jet-tabs__content-wrapper > .jet-tabs__content {
		background: var(--e-global-color-635f4f3);
		border-radius: 0 0 25px 25px;
		padding: 35px 15px !important;
	}
	.jet-tab-dropdown.content-arrow .jet-tabs__content-wrapper > .jet-tabs__content {
		padding: 35px 15px !important;
	}
	/* Target the active content div specifically */
	.content-arrow .jet-tabs__content.active-content::before {
	  display: none;
	}
	
	/* If you actually have a different even color, set it here */
	.jet-tab-dropdown table tbody > tr:nth-child(even) > td,
	.jet-tab-dropdown table tbody > tr:nth-child(even) > th {
		background-color: #e7e7e7;
	}

	table td,
	table th {
		padding: 15px;
	}	

	/* STICKY FIRST COLUMN */
	.data-table, .shuttle-table {
		border-collapse: separate; /* required for sticky columns */
		border-spacing: 0;
	}
	/* default: NOT sticky */
	.data-table th:first-child, .data-table td:first-child, .shuttle-table th:first-child, .shuttle-table td:first-child {
		position: static;
	}
	/* only stick if table has 3+ columns */
	.data-table:has(th:nth-child(4)) th:first-child, .data-table:has(th:nth-child(4)) td:first-child {

	}
   .shuttle-table:has(th:nth-child(4)) th:first-child, .shuttle-table:has(th:nth-child(4)) td:first-child {

	}
	.data-table:has(th:nth-child(4)) th:first-child, .shuttle-table:has(th:nth-child(4)) th:first-child {
		position: sticky;
		left: 0;
		z-index: 2;
		color: #ffffff;
		background: var(--e-global-color-primary);
		border-right: 0;
		box-shadow: inset -2px 0 0 0 rgba(255, 255, 255, 1);
		box-sizing: border-box;
	}
	.data-table:has(th:nth-child(4)) td:first-child, .shuttle-table:has(th:nth-child(4)) td:first-child {
		position: sticky;
		left: 0;
		z-index: 2;
		border-right: 0;
		border-left: 0;
		box-sizing: border-box;
		box-shadow: inset -2px 0 0 0 rgba(255, 255, 255, 1);
	}
	.data-table:has(th:nth-child(4)) thead th:first-child, .shuttle-table:has(th:nth-child(4)) thead th:first-child {
		z-index: 3;
	}
	
	.promo-slider .custom-scrollbar-track, .promo-slider .custom-scrollbar-thumb {
		height: 20px;
	}
	
	/* Let the browser handle touch scrolling smoothly */
	.promo-slider .jet-listing-grid .jet-listing-grid__items {
		overflow-x: auto;           /* was hidden */
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch; /* iOS momentum */
		touch-action: pan-x;        /* hint: horizontal panning only */
		overscroll-behavior-x: contain; /* reduce rubber-band bleed */
		scrollbar-width: none;      /* Firefox hide scrollbar */
	}
	.promo-slider .jet-listing-grid .jet-listing-grid__items::-webkit-scrollbar {
		display: none;              /* hide native scroller, keep momentum */
	}
	.promo-slider {
		padding: 50px 0 0 0;
	}
	.jet-tabs__content-wrapper {
		min-height: auto !important;
	}
	/* BLOG POST NAVIGATION */
	.elementor-post-navigation {
		gap: 15px;
	}
	.elementor-post-navigation__prev, .elementor-post-navigation__next {
		padding: 25px;
	}
	.elementor-post-navigation__prev {
		padding-left: 15px;
	}
	.elementor-post-navigation__next {
		padding-right: 15px;
	}
}
@media (max-width: 767px) {
	/*REVIEW MODULE */
	.visitor-reviews .ti-footer {
		margin-top: 0 !important;
	}
	.visitor-reviews::before {
		top: 0;
	}
	.visitor-reviews.tubing-reviews::before {
		top:0;
	}
	/* LARGE CONDITIONS WIDGET */
	.large-conditions-widget {
		position: relative;
		right: 0;
		bottom: 0;
		margin: 60px 0 0 0;
	}
	.promo-slider .jet-listing-grid__item:first-child {
		padding-left: 20px !important;
	}	
	.promo-slider .jet-listing-grid__item:last-child {
		padding-right: 20px !important;
		min-width: 290px !important;
	}
	.lift-status-toggle .jet-accordion__item .jet-toggle__control::after {
		right: 25px;
	}
	.mobile-table-only {
		display: block;
	}
	.mobile-table-only.regular-price-heading, .mobile-table-only.sale-price-heading, .mobile-table-only.savings-heading {
		display: inline;
	}
	.hide-mobile {
		display: none;
	}
	/* BLOG POST CONTENT LAYOUT */
	.blog-post-content {
		padding: 0 20px;
	}
	/* LEGACY BLOG POST IMG ALIGNMENT */
	.alignleft, .alignright, .aligncenter, .alignnone {
		float: none;
		display: block;
		margin: 1.5em auto;
		max-width: 100% !important;
		width: 100%;
	}
	.jet-timeline--align-left .timeline-item__point {
		margin-right: 20px !important;
	}
	.google-map iFrame {
		height: 360px;
	}  
	.promo-slider .jet-listing-grid .jet-listing-grid__item {
		max-width: 260px !important;
	}
	.promo-slider .jet-listing-grid .jet-listing-grid__item:first-child {
		max-width: 80vw !important;
	}
	.left-content, .right-content {
		padding: 0 20px;
	}
	.jet-tabs__content .e-con.e-flex {
		--flex-wrap: nowrap;
	}
	.featured-listing:hover .featured-listing-info {
		height: 160px;
	}
	/* STACK WEBCAM GRID */
	.webcam-grid {
		grid-template-columns: 1fr;
		gap: 25px;
	}
	/* BLOG POST NAVIGATION */
	.elementor-post-navigation {
		gap: 10px;
	}
	.elementor-post-navigation__prev, .elementor-post-navigation__next {
		padding: 25px;
	}
	.elementor-post-navigation__prev {
		padding-left: 15px;
	}
	.elementor-post-navigation__next {
		padding-right: 15px;
	}

	/* MOBILE TABLE STYLES ***********************/
	td.reg-price::before {
		content: "Regular Price: ";
		display: inline-block;
		margin-right: 4px;
		text-decoration: none !important;
	}
	td.sale-price::before {
		content: "Sale Price: ";
		display: inline;
	}
	td.early-bird::before {
		content: "Early Bird: ";
		display: inline;
	}
	td.savings::before {
		content: "Savings: ";
		display: inline;
	}
	table .reg-price {
		line-height: 1.7;
	}
	table .sale-price {
		font-size: 22px !important;
	}
	table .reg-price .regular-price-heading {
		font-size: 18px !important;
		display: inline-block;
		margin-right: 4px;
		text-decoration: none !important;
	}
	table {
		font-size: 16px;
	}
	table td,
	table th {
		padding: 10px 15px;
		max-width: 140px;
	}
	.acf-table-wrapper table.data-table tr:last-child td:first-child {
		border-radius: 0 0 0 25px;
	}
	.acf-table-wrapper table tr:last-child td:last-child {
		border-radius: 0 0 25px 0;
	}
	.acf-table-wrapper table.card-table tr:last-child td:first-child {
		border-radius: 0 0 0 0;
	}
	.acf-table-wrapper table.card-table tr:last-child td:last-child {
		border-radius: 0 0 0 0;
	}

	/* STACKED CARD TABLE LAYOUT ******/
	.acf-table-wrapper table.card-table thead {
		display: none;
	}
	.acf-table-wrapper table.card-table tbody tr {
		display: block;
		margin-bottom: 14px;
		border-radius: 25px;
		overflow: hidden;
	}
	.acf-table-wrapper table.card-table tbody td {
		display: block;
		padding: 0 20px;
		white-space: normal;
		width: 100%;
		min-width: 100%;
		text-align: left;
		background: var(--e-global-color-635f4f3) !important;
	}
	.jet-tabs__content .acf-table-wrapper table.card-table tbody td {
		display: block;
		padding: 0 20px;
		white-space: normal;
		width: 100%;
		min-width: 100%;
		background: #ffffff !important;
	}
	.acf-table-wrapper table.card-table tbody td:first-child {
		border-top: none;
		padding: 15px 20px 5px 20px;
		font-size: 18px;
	}
	.acf-table-wrapper table.card-table tbody td:nth-last-child(2) {
		padding: 5px 20px 0 20px;
		font-weight: 700;
		font-size: 20px;
	}
	.acf-table-wrapper table.card-table tbody td:last-child {
		padding: 15px 20px;
	}

	.acf-table-wrapper table.card-table tbody td + td {
		/* border-top: 1px solid rgba(0,0,0,0.08);*/
		border: none;
	} 
	.acf-table-wrapper table.card-table tbody td:last-child  {
		text-align: right;
	}
	.acf-table-wrapper table.card-table td:last-child a {
		padding: 10px 50px 10px 20px;
		background: var(--e-global-color-secondary);
	}
	.acf-table-wrapper table.card-table td:last-child a::after {
		right: 10px;
	}
	.acf-table-wrapper table.card-table td:last-child a:hover::after {
		right: 5px;
	}
	table tbody>tr:nth-child(even)>td {
		background-color: #e7e7e7;
}
	/* prevent hover from changing first column ONLY when sticky */
	.data-table:has(th:nth-child(3)) tbody tr:hover > th:first-child{
		background-color: var(--e-global-color-primary) !important;
	}

}
@media (max-width: 375px) {
	/* Trigger button */
	button.jet-tabs-select-trigger {
		font-size: 12px;
		padding: 10px 15px;
	}
	.run-main .run-difficulty::before {
		width: 20px !important;
		height: 20px !important;
	}
	.conditions-run-name .jet-listing-dynamic-field__content {
		font-size: 14px !important;
	}
	.conditions-column-heading .elementor-heading-title {
		font-size: 12px !important;
	}
	.run-difficulty {
		width: 12px !important;
	}
	.run-difficulty-icon .elementor-widget-container {
		margin-right: 15px !important;
	}
    .run-child .run-difficulty {
        margin-left: 7px;
    }
}
@media(min-width: 1921px) {
	/* HERO IMAGES and VIDEOS */
	.bg-hero {
		min-height: 850px !important;
	}
	.bg-video {
		min-height: 850px !important;
	}
}

/* ========================================================================== */
/* ======================= GRAVITY FORM FORM CUSTOMIZATION ==================== */
/* ========================================================================== */

.gform_wrapper.gravity-theme.gf-custom-form_wrapper .gfield_required, .gform_wrapper.gravity-theme.gf-custom-form_wrapper .gfield--type-html {
	color: #ffffff;
}
.gf-custom-light-form .gfield_required {
	color: #c02b0a !important;
}
.gf-custom-light-form .gfield--type-html {
	color: var(--e-global-color-text) !important;
}
.gform_wrapper.gravity-theme.gf-custom-form_wrapper .gform_drop_area {
	background: #ffffff36;
	color: #ffffff;
}
.gform_wrapper.gravity-theme.gf-custom-form_wrapper .gform_fileupload_rules {
	color: #ffffff;
}
.gform_wrapper.gravity-theme.gf-custom-form_wrapper .gform_footer {
	padding: 0 0 25px 0;
	margin: 15px 0 0 0;
}

.gf-custom-light-form .gform_button.button {
	background-color: var(--e-global-color-secondary) !important;
	color: var(--e-global-color-text) !important;
}
.gf-custom-light-form .gform_button.button:hover {
	background-color: var(--e-global-color-primary) !important;
	color: var(--e-global-color-ac939ab) !important;
}
.gform_wrapper.gravity-theme.gf-custom-form_wrapper .gform_button.button {
	background-color: var(--e-global-color-secondary) !important;
	color: var(--e-global-color-text) !important;
}
.gform_wrapper.gravity-theme.gf-custom-form_wrapper .gform_button.button:hover {
	background-color: var(--e-global-color-ac939ab) !important;
	color: var(--e-global-color-text) !important;
}
.gform_wrapper.gravity-theme.gf-custom-form_wrapper.gf-custom-light-form_wrapper .gform_button.button {
	background-color: var(--e-global-color-secondary) !important;
	color: var(--e-global-color-text) !important;
}
.gf-custom-light-form .gform_button.button:hover {
	background-color: var(--e-global-color-text) !important;
	color: var(--e-global-color-ac939ab) !important;
}

/* Visually hide labels but keep them accessible to screen readers */

.gform_wrapper.gravity-theme.gf-custom-form_wrapper .gform_required_legend {
	color: #ffffff;
	font-weight: 300;
	font-size: 14px;
}
.gf-custom-light-form .gform_required_legend {
	color: var(--e-global-color-text) !important;
}

.gform_wrapper.gf-custom-form_wrapper
  :not(.ginput_container_consent) > label,
.gform_wrapper.gf-custom-form_wrapper .gfield_label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  border: 0 !important;
  white-space: nowrap !important;
}
.gf-custom-light-form label  {
	color: var(--e-global-color-text) !important;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gfield--input-type-consent .gfield_label {
	font-weight: normal;
	color: #ffffff;
	margin-bottom: 10px;
}
.gf-custom-light-form  .gfield--input-type-consent .gfield_label {
	color: var(--e-global-color-text) !important;
}
/* Change placeholder color inside your custom Gravity Form */
.gform_wrapper.gf-custom-form_wrapper input::placeholder,
.gform_wrapper.gf-custom-form_wrapper textarea::placeholder {
  color: #999; /* Replace with your desired color */
  opacity: 1; /* Ensures the color is fully visible in some browsers */
	font-weight: 300;
}

/* For better browser compatibility */
.gform_wrapper.gf-custom-form_wrapper input::-webkit-input-placeholder,
.gform_wrapper.gf-custom-form_wrapper textarea::-webkit-input-placeholder {
  color: #999;
}

.gform_wrapper.gf-custom-form_wrapper input:-ms-input-placeholder,
.gform_wrapper.gf-custom-form_wrapper textarea:-ms-input-placeholder {
  color: #999;
}

.gform_wrapper.gf-custom-form_wrapper input::-ms-input-placeholder,
.gform_wrapper.gf-custom-form_wrapper textarea::-ms-input-placeholder {
  color: #999;
}

.gform_wrapper div.gform_validation_errors {
	box-shadow: none !important;
	border: 0 !important;
	outline: none !important;
	font-size: 15px !important;
}

.gform_wrapper.gravity-theme .gform_validation_errors:focus { 
	outline: none !important;
	outline-offset: 0 !important;
}

.gform_wrapper.gravity-theme.gf-custom-form_wrapper input[type=date], .gform_wrapper.gravity-theme.gf-custom-form_wrapper input[type=email], .gform_wrapper.gravity-theme.gf-custom-form_wrapper input[type=number], .gform_wrapper.gravity-theme.gf-custom-form_wrapper input[type=password], .gform_wrapper.gravity-theme.gf-custom-form_wrapper input[type=search], .gform_wrapper.gravity-theme.gf-custom-form_wrapper input[type=tel], .gform_wrapper.gravity-theme.gf-custom-form_wrapper input[type=text], .gform_wrapper.gravity-theme.gf-custom-form_wrapper input[type=url], .gform_wrapper.gravity-theme.gf-custom-form_wrapper select, .gform_wrapper.gravity-theme.gf-custom-form_wrapper textarea {
	border-radius: 10px;
	border: none;
	padding: 12px 15px;
	box-sizing: border-box;
	display: block;
}
.gf-custom-light-form input[type=date], .gf-custom-light-form input[type=email], .gf-custom-light-form input[type=number], .gf-custom-light-form input[type=password], .gf-custom-light-form  input[type=search], .gf-custom-light-form  input[type=tel], .gf-custom-light-form input[type=text], .gf-custom-light-form input[type=url], .gf-custom-light-form select, .gf-custom-light-form textarea {
	border: none !important;
}
.gform_wrapper.gravity-theme.gf-custom-form_wrapper .gfield_select {
	margin-bottom: 25px;
}
.gform_wrapper.gravity-theme.gf-custom-form_wrapper.gravity-theme .gf_step_number {
    background: #00AE42;
    border: 0;
    border-radius: 10px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 500;
    height: 25px;
    text-align: center;
    width: 25px;
	line-height: 1;
}
.gform_wrapper.gravity-theme.gravity-theme .gf_step_pending .gf_step_number {
	background: #D9D9D9;
}
.gform_wrapper.gravity-theme.gf-custom-form_wrapper .gf_step_pending .gf_step_label {
	color: #D9D9D9;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gf_step_completed .gf_step_number::before {
	background: #373A36;
    border: 0;
    border-radius: 10px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    height: 25px;
    text-align: center;
    width: 25px;
	top: 0; 
	left: 0;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gf_step_completed .gf_step_number::after {
	font-size: 23px;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gf_step_label {
    color: inherit;
    font-size: 14px;
    font-weight: 400;
    line-height: 16px;
    padding-left: 10px;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gf_step {
    display: inline-block;
    margin: 8px 16px 8px 0;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gf_page_steps {
    border-bottom: none;
    margin-bottom: 25px;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .form-page-heading {
	font-size: 18px;
	margin-bottom: 0;
	font-weight: 700;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gfield_label {
    display: inline-block;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 20px;
    padding: 0;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gform_fields {
    grid-row-gap: 15px;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gfield_radio, .gform_wrapper.gf-custom-form_wrapper.gravity-theme .gfield_checkbox {
	display: flex;
	flex-wrap: wrap;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gchoice {
	min-width: 33%;
	margin-bottom: 20px;
	padding: 0 15px 0 0;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gchoice .gfield-choice-input {
	margin-right: 5px;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gfield_radio input[type="radio"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 25px;
    height: 25px;
    border: 1px solid #373A36;
    border-radius: 50%;
    background-color: #fff;
    position: relative;
    cursor: pointer;
    outline: none;
    transition: all 0.2s ease-in-out;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gfield_radio input[type="radio"]:checked {
    border: #00AE42;
    background-color: #00AE42;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gfield_radio input[type="radio"]:checked::before {
    content: "";
    position: absolute;
    top: 7px;
    left: 7px;
    width: 11px;
    height: 11px;
    background-color: #ffffff;
    border-radius: 50%;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gfield_checkbox input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 25px;
    height: 25px;
    border: 1px solid #373A36;
	border-radius: 5px;
    background-color: #ffffff;
    cursor: pointer;
    position: relative;
    outline: none;
    transition: all 0.2s ease-in-out;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gfield_checkbox input[type="checkbox"]:checked {
    background-color: #00AE42;
    border-color: #00AE42;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gfield_checkbox input[type="checkbox"]:checked::before {
    content: "";
    position: absolute;
	top: 4px;
	left: 3px;
	width: 16px;
	height: 15px;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 13l4 4L19 7' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .hide-label .gfield_label {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gform_previous_button.button {
  border: none;
  background: none;
  color: #373A36;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 0;
  display: inline-flex;
  align-items: center;
  padding-left: 30px;	
}

.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gform_page_footer {
  display: flex;
  align-items: center;
}

.gform_wrapper.gf-custom-form_wrapper.gravity-theme .ginput_container_select {
  position: relative;
}

/* Hide native arrow */
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .ginput_container_select select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: white;
  padding: 12px 54px 12px 12px;
  border-radius: 5px;
  border: 1px solid #ccc;
  font-size: 16px;
  width: 100%;
}

/* Custom green box with white angle down arrow */
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .ginput_container_select select {
  cursor: pointer;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .ginput_container_select::after {
  content: "\f107"; /* fa-angle-down */
  font-family: "Font Awesome 6 Pro";
  font-weight: 100; /* Thin */
  font-size: 18px;
  color: #ffffff;
  background-color: #00AE42;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 0;
  top: 0;
  width: 54px;
  border-radius: 0 5px 5px 0;	
  height: 100%;
  pointer-events: none;
}

.gform_wrapper.gf-custom-form_wrapper.gravity-theme .ginput_container_select select:focus {
  outline: none;
  box-shadow: inset 0 0 0 1px #00AE42; /* 1px green inset shadow */
  border-color: #00AE42; /* hide original border color */
}

/* Visually insert an arrow before the entire button row */
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gform_page_footer::before {
  content: "\f177"; /* fa-arrow-left-long */
  font-family: "Font Awesome 6 Pro";
  font-weight: 100; /* Thin */
  font-size: 18px;
  color: #00AE42;
  display: inline-block;
  position: absolute;
  pointer-events: none;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gform_page_footer:has(.gform_previous_button)::before {
	transform: translateX(0);
	transition: transform 0.2s ease-in-out;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gform_page_footer:has(.gform_previous_button:hover)::before {
  transform: translateX(-5px);
}

.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gform_page_footer:not(:has(.gform_previous_button))::before {
  display: none;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gform_footer button, .gform_wrapper.gf-custom-form_wrapper.gravity-theme .gform_footer input, .gform_wrapper.gf-custom-form_wrapper.gravity-theme .gform_page_footer button, .gform_wrapper.gf-custom-form_wrapper.gravity-theme .gform_page_footer input { 
	margin-bottom: 0;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gform_page_footer:not(:has(.gform_previous_button)) {
	justify-content: flex-end;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gform_page_footer {
	justify-content: space-between;
}

.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gfield.gfield--width-half {
  display: flex;
  flex-direction: column;
  justify-content: flex-end; /* Aligns items vertically to the bottom */
  align-items: flex-start;   /* Ensures items stay aligned to the left */
}

.gform_wrapper.gf-custom-form_wrapper.gravity-theme .ginput_container {
	width: 100%;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gform-page-footer {
	margin: 0;
	padding: 25px 0;
	position: relative;
}
span[id^='gform_ajax_spinner'] {
    /* display: none !important; */
	position: absolute !important;
	left: 45% !important;
	bottom: 10% !important;
}

.gform_wrapper.gf-custom-form_wrapper.gravity-theme .ginput_container_consent input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 25px;
  height: 25px;
  border: none;
  border-radius: 5px;
  background-color: #ffffff;
  cursor: pointer;
  position: relative;
  outline: none;
  transition: all 0.2s ease-in-out;
}

.gform_wrapper.gf-custom-form_wrapper.gravity-theme .ginput_container_consent input[type="checkbox"]:checked::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 3px;
  width: 16px;
  height: 15px;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 13l4 4L19 7' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .ginput_container_consent input[type="checkbox"]:checked {
  background-color: var(--e-global-color-secondary);
  border-color: var(--e-global-color-secondary);
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .ginput_container_consent input[type="checkbox"]:checked::before { 
    content: "";
    position: absolute;
    top: 4px;
    left: 3px;
    width: 16px;
    height: 15px;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 13l4 4L19 7' stroke='%233F4747' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.ginput_container.ginput_container_consent { 
	display: flex;
	align-content: center;
	gap: 8px;
	margin-bottom: 10px;
}
.ginput_container.ginput_container_consent label {
	line-height: normal;
	color: var(--e-global-color-ac939ab);
}
.gf-custom-light-form label {
	color: var(--e-global-color-text) !important;
}
/* ERRORS */

.gform_wrapper.gf-custom-form_wrapper.gravity-theme .validation_error {
	color: var(--e-global-color-66008d6);
	border-block-end: 1px solid #ffffff;
    border-block-start: 1px solid #ffffff;
}

.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gform_validation_errors {
	background: none !important;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gform_validation_errors>h2, .gform_wrapper.gf-custom-form_wrapper.gravity-theme .gfield_description {
	font-size: 14px;
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
	background: #ffffff;
	border: 1px solid var(--e-global-color-66008d6);
}
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gfield_validation_message, .gform_validation_errors--moved .validation_error {
  background: #ffffff70 !important;
  border: 1px solid #ffffff; !important;
  border-radius: 25px;
  padding: 10px 15px !important;
  color: var(--e-global-color-66008d6);
  position: relative;
  font-weight: 600 !important;
  font-size: 14px !important;
  display: flex;
  align-items: center;
  text-align: left !important;
  gap: 8px;
  margin: 0 0 15px 0;
  line-height: 1.2;
}
.gform_wrapper.gf-custom-form_wrapper.light-form_wrapper .gfield_validation_message, .gform_wrapper.gf-custom-form_wrapper.light-form_wrapper .validation_error {
	background: #ffffff !important; 
	padding: 10px !important;
	border-radius: 100px !important;
	border: 1px solid var(--e-global-color-66008d6) !important;
}
.gform_validation_errors--moved {
	padding: 0 !important;
	display: flex;
	justify-content: flex-end;
}
.gform_validation_errors--moved .validation_error {
	margin: 0;
	text-align: right !important;
	max-width: 360px;
}

/* Font Awesome exclamation icon in circle before the message */
.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gfield_validation_message::before
 {
  content: "\f12a"; /* Font Awesome exclamation */
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  background-color: var(--e-global-color-66008d6);
  color: #fff;
  border-radius: 10px; /* half of width/height */
  margin-right: 8px;
  font-size: 12px;
  flex-shrink: 0;
  line-height: 1;
}
.gform_validation_errors--moved .validation_error::after
 {
  content: "\f12a"; /* Font Awesome exclamation */
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  background-color: var(--e-global-color-66008d6);
  color: #fff;
  border-radius: 10px; /* half of width/height */
  margin-left: 8px;
  font-size: 12px;
  flex-shrink: 0;
  line-height: 1;
}

/* Confirmation message */
.gform_confirmation_wrapper.gf-custom-form {
  animation: fadeInConfirm 0.6s ease-in-out;
}

@keyframes fadeInConfirm {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.gform_confirmation_wrapper.gf-custom-form .gform_confirmation_message {
	color: #ffffff;
	margin-bottom: 25px;
}
.gform_confirmation_wrapper.gf-custom-form .gform_confirmation_message br {
	display: none;
}
.gform_confirmation_wrapper.gf-custom-form .gform_confirmation_message h3 {
	color: #00AE42;
}
.gform_confirmation_wrapper.gf-custom-form .gform_confirmation_message img {
	margin: 0 0 20px 0;
}
.gform_confirmation_wrapper.gf-custom-form_wrapper .gform_confirmation_message h3 {
	margin: 0 0 30px 0;
}
.gform_confirmation_wrapper.gf-custom-form .gform_confirmation_message hr {
  border: none;
  height: 1px;
  background-color: #373A36;
  margin: 0 0 30px 0;
}
@media (max-width: 640px) {
    .gform_wrapper.gravity-theme.gf-custom-form_wrapper .ginput_complex span {
        flex: 0 0 100%;
        margin-bottom: 15px;
        padding-left: 0;
    }
	.gform_wrapper.gravity-theme.gf-custom-form_wrapper .ginput_complex span:last-child {
		margin-bottom: 0;
		padding-left: 0;
	}
}
@media (max-width: 767px) {
	.elementor-icon-list-items.elementor-inline-items li {
		margin-bottom: 15px;
	}
	.elementor-icon-list-items.elementor-inline-items li:last-child {
		margin-bottom: 0;
	}
	.gform_wrapper.gf-custom-form_wrapper.gravity-theme .gchoice {
		min-width: 48%;
		margin-bottom: 20px;
	}
	.gform_validation_errors--moved .validation_error {
		max-width: 100%;
	}
	/* Make the last item in odd number listing grids go full width on mobile - js file in play */
	.jet-listing-grid__items.grid-col-mobile-2 {
		justify-content: center;
	}
}
@media (min-width: 641px) {
    .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) fieldset:not([style*="display:none"]):not(.ginput_full), .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full) {
        padding-right: 6px;
    }
}

