/*-----------------------------------------------------------------------------------*/
/*---------------------ROOT---------------------*/
/*-----------------------------------------------------------------------------------*/

:root {
	--space-xxs: 10px;
	--space-xs: 15px;
	--space-sm:	20px;
	--space-md: 30px;
	--space-lg: 45px;
	--space-xl: 60px;
	--space-xxl: 75px;
	--space-3xl: 90px;
	--space-4xl: 120px;
	--space-5xl: 150px;
		
	--global-kb-spacing-xxs: var(--space-xxs);
	--global-kb-spacing-xs: var(--space-xs);
	--global-kb-spacing-sm: var(--space-sm);
	--global-kb-spacing-md: var(--space-md);
	--global-kb-spacing-lg: var(--space-lg);
	--global-kb-spacing-xl: var(--space-xl);
	--global-kb-spacing-xxl: var(--space-xxl);
	--global-kb-spacing-3xl: var(--space-3xl);
	--global-kb-spacing-4xl: var(--space-4xl);
	--global-kb-spacing-5xl: var(--space-5xl);
	
	--global-xs-spacing: var(--space-xs);
  --global-sm-spacing: var(--space-sm);
  --global-md-spacing: var(--space-md);
  --global-lg-spacing: var(--space-lg);
  --global-xl-spacing: var(--space-xl);
  --global-xxl-spacing: var(--space-xxl);
	
	--global-font-size-large: clamp(20px, .5rem + 1.5vw, 26px) !important;
	--global-font-size-larger: clamp(30px, 1.25rem + 1.8vw, 48px) !important;
	--global-font-size-xxlarge: clamp(36px, 1.5rem + 2vw, 55px) !important;
	--global-kb-font-size-lg: var(--global-font-size-large) !important;
	--global-kb-font-size-xxl: var(--global-font-size-xxlarge) !important;
	--global-kb-font-size-xxxl: clamp(49px, 2rem + 2.8vw, 75px) !important;
	

	--global-row-gutter-xs: var(--space-xs);
	--global-row-gutter-sm: var(--space-sm);
	--global-row-gutter-md: var(--space-md);
	--global-row-gutter-lg: var(--space-lg);
	--global-row-gutter-xl: var(--space-xl);
	
	--global-kb-gap-sm: var(--space-sm);
	--global-kb-gap-md: var(--space-md);
	--global-kb-gap-lg: var(--space-5xl);
	
	--wp--preset--spacing--20: var(--space-xxs);
  --wp--preset--spacing--30: var(--space-xs);
  --wp--preset--spacing--40: var(--space-sm);
  --wp--preset--spacing--50: var(--space-md);
  --wp--preset--spacing--60: var(--space-lg);
  --wp--preset--spacing--70: var(--space-xl);
  --wp--preset--spacing--80: var(--space-xxl);
}

@media (max-width: 1024px) { 
	:root {
		--global-kb-gap-lg: var(--space-3xl);
	}
}
/*-----------------------------------------------------------------------------------*/
/*---------------------UTITLITIES---------------------*/
/*-----------------------------------------------------------------------------------*/
.pt-0 {
	padding-top: 0 !important;
}
/*-----------------------------------------------------------------------------------*/
/*---------------------BUTTONS---------------------*/
/*-----------------------------------------------------------------------------------*/
.kb-button.button.kb-btn-global-outline {
	background-color: var(--global-palette10);
}
.kb-button.button.kb-btn-global-outline:hover {
	background-color: var(--global-palette-btn-sec-bg-hover);
	border-color: transparent;
}
/*-----------------------------------------------------------------------------------*/
/*---------------------MENU---------------------*/
/*-----------------------------------------------------------------------------------*/
.wp-block-kadence-navigation ul.kb-navigation li * {
	--kb-nav-link-padding-top: var(--space-xs);
	--kb-nav-link-padding-bottom: var(--space-xs);
}
.wp-block-kadence-navigation ul.kb-navigation li a{
	font-size: var(--global-font-size-large);
	padding-inline: 0;
	margin-left: var(--kb-nav-link-padding-left);
	margin-right: var(--kb-nav-link-padding-right);
}
ul.kb-navigation li :is(a:hover, a:focus-visible) {
}

ul.kb-navigation li a::after {
	content: "";
	position: absolute;
	bottom: calc(var(--kb-nav-link-padding-bottom) / 2);
	left: 0;
	width: 100%;
	height: .08em;
	background-color: currentColor;
	opacity: 0;
	transition: all .2s ease-in-out;
}

ul.kb-navigation li :is(a:hover, a:focus-visible)::after {
	opacity: 1;
	bottom: var(--kb-nav-link-padding-bottom);
}

/*-----------------------------------------------------------------------------------*/
/*---------------------QUERY SLIDER---------------------*/
/*-----------------------------------------------------------------------------------*/

/* Aspect ratios come from the ratio-X-Y / ratio-mobile-X-Y classes,
   set as CSS variables by query-slider.js */
.wp-block-query.slider .wp-block-post-featured-image {
	aspect-ratio: var(--query-slider-ratio, auto);
	overflow: hidden;
}
@media (max-width: 1024px) {
	.wp-block-query.slider .wp-block-post-featured-image {
		aspect-ratio: var(--query-slider-ratio-mobile, var(--query-slider-ratio, auto));
	}
}
.wp-block-query.slider .wp-block-post-featured-image a {
	display: block;
	height: 100%;
}
.wp-block-query.slider .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Arrows above the track (default), dots always centered below */
.wp-block-query.slider .splide {
	--qs-arrow-size: 44px;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: var(--space-xs);
}
.wp-block-query.slider .splide__arrows {
	order: 1;
	display: flex;
	gap: var(--space-xxs);
}
.wp-block-query.slider .splide__track {
	order: 2;
	flex: 0 0 100%;
}
.wp-block-query.slider .splide__pagination {
	order: 3;
	flex: 0 0 100%;
	justify-content: center;
	position: static;
	margin: 0;
	padding: 0;
	gap: 8px;
}
.wp-block-query.slider .splide__arrow {
	position: static;
	transform: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--qs-arrow-size);
	height: var(--qs-arrow-size);
	background: transparent;
	border: 1px solid currentColor;
	border-radius: 50%;
	color: inherit;
	opacity: 1;
	transition: background-color .2s ease-in-out, opacity .2s ease-in-out;
}
.wp-block-query.slider .splide__arrow svg {
	display: none;
}
.wp-block-query.slider .splide__arrow::before {
	content: "→";
	font-size: 18px;
	line-height: 1;
}
.wp-block-query.slider .splide__arrow--prev::before {
	content: "←";
}
.wp-block-query.slider .splide__arrow:hover:not(:disabled) {
	background-color: rgba(0, 0, 0, .06);
}
.wp-block-query.slider .splide__arrow:disabled {
	opacity: .3;
}
.wp-block-query.slider .splide__pagination__page {
	width: 12px;
	height: 12px;
	margin: 0;
	background: transparent;
	border: 1px solid currentColor;
	border-radius: 50%;
	opacity: 1;
	transform: none;
	transition: background-color .2s ease-in-out;
}
.wp-block-query.slider .splide__pagination__page.is-active {
	background: currentColor;
	transform: none;
}

/* arrows-<corner>: arrows absolutely positioned outside the slider.
   Offset classes map to the theme space tokens (see :root), e.g.
   arrows-top-right + arrows-offset-y-3xl → top: calc(-1 * 90px - 44px) */
.wp-block-query.slider:is(.arrows-top-left, .arrows-top-right, .arrows-bottom-left, .arrows-bottom-right) .splide__arrows {
	position: absolute;
	z-index: 1;
}
.wp-block-query.slider:is(.arrows-top-left, .arrows-top-right) .splide__arrows {
	top: calc(-1 * var(--qs-arrows-offset-y, 0px) - var(--qs-arrow-size));
}
.wp-block-query.slider:is(.arrows-bottom-left, .arrows-bottom-right) .splide__arrows {
	bottom: calc(-1 * var(--qs-arrows-offset-y, 0px) - var(--qs-arrow-size));
}
.wp-block-query.slider:is(.arrows-top-left, .arrows-bottom-left) .splide__arrows {
	left: var(--qs-arrows-offset-x, 0px);
}
.wp-block-query.slider:is(.arrows-top-right, .arrows-bottom-right) .splide__arrows {
	right: var(--qs-arrows-offset-x, 0px);
}

.wp-block-query.slider.arrows-offset-y-xxs { --qs-arrows-offset-y: var(--space-xxs); }
.wp-block-query.slider.arrows-offset-y-xs  { --qs-arrows-offset-y: var(--space-xs); }
.wp-block-query.slider.arrows-offset-y-sm  { --qs-arrows-offset-y: var(--space-sm); }
.wp-block-query.slider.arrows-offset-y-md  { --qs-arrows-offset-y: var(--space-md); }
.wp-block-query.slider.arrows-offset-y-lg  { --qs-arrows-offset-y: var(--space-lg); }
.wp-block-query.slider.arrows-offset-y-xl  { --qs-arrows-offset-y: var(--space-xl); }
.wp-block-query.slider.arrows-offset-y-xxl { --qs-arrows-offset-y: var(--space-xxl); }
.wp-block-query.slider.arrows-offset-y-3xl { --qs-arrows-offset-y: var(--space-3xl); }
.wp-block-query.slider.arrows-offset-y-4xl { --qs-arrows-offset-y: var(--space-4xl); }
.wp-block-query.slider.arrows-offset-y-5xl { --qs-arrows-offset-y: var(--space-5xl); }

.wp-block-query.slider.arrows-offset-x-xxs { --qs-arrows-offset-x: var(--space-xxs); }
.wp-block-query.slider.arrows-offset-x-xs  { --qs-arrows-offset-x: var(--space-xs); }
.wp-block-query.slider.arrows-offset-x-sm  { --qs-arrows-offset-x: var(--space-sm); }
.wp-block-query.slider.arrows-offset-x-md  { --qs-arrows-offset-x: var(--space-md); }
.wp-block-query.slider.arrows-offset-x-lg  { --qs-arrows-offset-x: var(--space-lg); }
.wp-block-query.slider.arrows-offset-x-xl  { --qs-arrows-offset-x: var(--space-xl); }
.wp-block-query.slider.arrows-offset-x-xxl { --qs-arrows-offset-x: var(--space-xxl); }
.wp-block-query.slider.arrows-offset-x-3xl { --qs-arrows-offset-x: var(--space-3xl); }
.wp-block-query.slider.arrows-offset-x-4xl { --qs-arrows-offset-x: var(--space-4xl); }
.wp-block-query.slider.arrows-offset-x-5xl { --qs-arrows-offset-x: var(--space-5xl); }

/* Negative X inset (neg-*), e.g. to compensate container padding */
.wp-block-query.slider.arrows-offset-x-neg-xxs { --qs-arrows-offset-x: calc(-1 * var(--space-xxs)); }
.wp-block-query.slider.arrows-offset-x-neg-xs  { --qs-arrows-offset-x: calc(-1 * var(--space-xs)); }
.wp-block-query.slider.arrows-offset-x-neg-sm  { --qs-arrows-offset-x: calc(-1 * var(--space-sm)); }
.wp-block-query.slider.arrows-offset-x-neg-md  { --qs-arrows-offset-x: calc(-1 * var(--space-md)); }
.wp-block-query.slider.arrows-offset-x-neg-lg  { --qs-arrows-offset-x: calc(-1 * var(--space-lg)); }
.wp-block-query.slider.arrows-offset-x-neg-xl  { --qs-arrows-offset-x: calc(-1 * var(--space-xl)); }
.wp-block-query.slider.arrows-offset-x-neg-xxl { --qs-arrows-offset-x: calc(-1 * var(--space-xxl)); }
.wp-block-query.slider.arrows-offset-x-neg-3xl { --qs-arrows-offset-x: calc(-1 * var(--space-3xl)); }
.wp-block-query.slider.arrows-offset-x-neg-4xl { --qs-arrows-offset-x: calc(-1 * var(--space-4xl)); }
.wp-block-query.slider.arrows-offset-x-neg-5xl { --qs-arrows-offset-x: calc(-1 * var(--space-5xl)); }

/* Offset overrides below 1024px (*-mobile-*, "0" = no offset on mobile) */
@media (max-width: 1024px) {
	.wp-block-query.slider.arrows-offset-y-mobile-0   { --qs-arrows-offset-y: 0px; }
	.wp-block-query.slider.arrows-offset-y-mobile-xxs { --qs-arrows-offset-y: var(--space-xxs); }
	.wp-block-query.slider.arrows-offset-y-mobile-xs  { --qs-arrows-offset-y: var(--space-xs); }
	.wp-block-query.slider.arrows-offset-y-mobile-sm  { --qs-arrows-offset-y: var(--space-sm); }
	.wp-block-query.slider.arrows-offset-y-mobile-md  { --qs-arrows-offset-y: var(--space-md); }
	.wp-block-query.slider.arrows-offset-y-mobile-lg  { --qs-arrows-offset-y: var(--space-lg); }
	.wp-block-query.slider.arrows-offset-y-mobile-xl  { --qs-arrows-offset-y: var(--space-xl); }
	.wp-block-query.slider.arrows-offset-y-mobile-xxl { --qs-arrows-offset-y: var(--space-xxl); }
	.wp-block-query.slider.arrows-offset-y-mobile-3xl { --qs-arrows-offset-y: var(--space-3xl); }
	.wp-block-query.slider.arrows-offset-y-mobile-4xl { --qs-arrows-offset-y: var(--space-4xl); }
	.wp-block-query.slider.arrows-offset-y-mobile-5xl { --qs-arrows-offset-y: var(--space-5xl); }

	.wp-block-query.slider.arrows-offset-x-mobile-0   { --qs-arrows-offset-x: 0px; }
	.wp-block-query.slider.arrows-offset-x-mobile-xxs { --qs-arrows-offset-x: var(--space-xxs); }
	.wp-block-query.slider.arrows-offset-x-mobile-xs  { --qs-arrows-offset-x: var(--space-xs); }
	.wp-block-query.slider.arrows-offset-x-mobile-sm  { --qs-arrows-offset-x: var(--space-sm); }
	.wp-block-query.slider.arrows-offset-x-mobile-md  { --qs-arrows-offset-x: var(--space-md); }
	.wp-block-query.slider.arrows-offset-x-mobile-lg  { --qs-arrows-offset-x: var(--space-lg); }
	.wp-block-query.slider.arrows-offset-x-mobile-xl  { --qs-arrows-offset-x: var(--space-xl); }
	.wp-block-query.slider.arrows-offset-x-mobile-xxl { --qs-arrows-offset-x: var(--space-xxl); }
	.wp-block-query.slider.arrows-offset-x-mobile-3xl { --qs-arrows-offset-x: var(--space-3xl); }
	.wp-block-query.slider.arrows-offset-x-mobile-4xl { --qs-arrows-offset-x: var(--space-4xl); }
	.wp-block-query.slider.arrows-offset-x-mobile-5xl { --qs-arrows-offset-x: var(--space-5xl); }

	.wp-block-query.slider.arrows-offset-x-mobile-neg-xxs { --qs-arrows-offset-x: calc(-1 * var(--space-xxs)); }
	.wp-block-query.slider.arrows-offset-x-mobile-neg-xs  { --qs-arrows-offset-x: calc(-1 * var(--space-xs)); }
	.wp-block-query.slider.arrows-offset-x-mobile-neg-sm  { --qs-arrows-offset-x: calc(-1 * var(--space-sm)); }
	.wp-block-query.slider.arrows-offset-x-mobile-neg-md  { --qs-arrows-offset-x: calc(-1 * var(--space-md)); }
	.wp-block-query.slider.arrows-offset-x-mobile-neg-lg  { --qs-arrows-offset-x: calc(-1 * var(--space-lg)); }
	.wp-block-query.slider.arrows-offset-x-mobile-neg-xl  { --qs-arrows-offset-x: calc(-1 * var(--space-xl)); }
	.wp-block-query.slider.arrows-offset-x-mobile-neg-xxl { --qs-arrows-offset-x: calc(-1 * var(--space-xxl)); }
	.wp-block-query.slider.arrows-offset-x-mobile-neg-3xl { --qs-arrows-offset-x: calc(-1 * var(--space-3xl)); }
	.wp-block-query.slider.arrows-offset-x-mobile-neg-4xl { --qs-arrows-offset-x: calc(-1 * var(--space-4xl)); }
	.wp-block-query.slider.arrows-offset-x-mobile-neg-5xl { --qs-arrows-offset-x: calc(-1 * var(--space-5xl)); }
}
.wp-block-query.slider .splide__slide .wp-block-post-title {
	margin: var(--space-xl) 0 var(--space-md);
}
