/* Instance variables (tweak as needed) */
.embla--cards {
	--slides-per-view: 4;      /* desktop default */
	--embla-gap: 24px;         /* space between slides */
	--frame-max: 1440px;       /* centered content width */
	--btn-size: 56px;          /* unstyled button hit area */
}

/* Responsive slides-per-view */
@media (max-width: 1024px) {
	.embla--cards { --slides-per-view: 2; }
}
@media (max-width: 767px) {
	.embla--cards { --slides-per-view: 1; }
}

/* Core Embla layout */
.embla {
	position: relative;
	width: 100%;
	overflow: hidden;
	container-type: inline-size;
}

.embla__viewport{
	position: relative;       /* anchor buttons */
	max-width: var(--frame-max);
	margin-inline: auto;
	overflow: visible;        /* let slides be visible past this centered frame */
}

.embla__container {
	display: flex;
	gap: var(--embla-gap);
	margin-inline: 0;
}
.embla__slide {
	flex: 0 0 calc(
		(100% - (var(--slides-per-view) - 1) * var(--embla-gap))
		/ var(--slides-per-view)
		);
	min-width: 0; /* prevents flex overflow */
}

/* add padding when below 1440px width */
@container (max-width: 1440px){
	.embla__container{ margin-inline: 20px; }
}

/* Buttons: vertically centered, hugging frame edges */
.embla__button {
	position: absolute;
	top: 50%;
	width: var(--btn-size);
	height: var(--btn-size);
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	border: 0;
	background: none;
	cursor: pointer;
	z-index: 2; /* above slides */
	padding: 0!important;
	border: none!important;
}

.embla__button:hover,
.embla__button:focus {
	background-color: transparent!important;
	border: none!important;
}

.embla__button .sp-emb__button .sp-emb__circle {
	fill: #232323;
}

.embla__button .sp-emb__button .sp-emb__arrow {
	fill: #fff;
}

.embla__button:hover .sp-emb__button .sp-emb__arrow {
	fill: var(--e-global-color-primary);
}

.embla__button.embla__next .sp-emb__button {
	transform: rotate(180deg);
}

/* Sit half outside the frame edge for that “slider control” feel */
.embla__prev{ left: 0; transform: translate(-50%, -50%); }
.embla__next{ right: 0; transform: translate(50%, -50%); }

/* Disabled state (Embla JS toggles aria-disabled) */
.embla__button[aria-disabled="true"]{
	opacity: .4;
	pointer-events: none;
}

/* nudge buttons when the under 1440px padding is applied */
@container (max-width: 1440px){
	.embla__prev{ left: 30px; transform: translate(-50%, -50%); }
	.embla__next{ right: 30px; transform: translate(50%, -50%); }
}

/* Embla slide contents */
.embla__slide__inner {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 420px;
	border: 1px solid var(--embla-card-border-color);
	border-radius: var(--embla-card-border-radius);
	box-shadow: var(--embla-card-box-shadow);
	padding: var(--embla-card-padding);
	background-color: var(--embla-card-bg);
	color: var(--embla-card-text);
	transition: all 0.3s ease;
}

.embla__slide__inner .embla__slide__inner__number {
	font-family: var(--e-global-typography-9dc6dc7-font-family), Sans-serif;
    font-size: var(--e-global-typography-9dc6dc7-font-size);
    font-weight: var(--e-global-typography-9dc6dc7-font-weight);
    text-transform: var(--e-global-typography-9dc6dc7-text-transform);
    line-height: var(--e-global-typography-9dc6dc7-line-height);
    letter-spacing: var(--e-global-typography-9dc6dc7-letter-spacing);
	color: var(--embla-card-number);
}

.embla__slide__inner .embla__slide__inner__title {
	font-family: var(--e-global-typography-be3a394-font-family), Sans-serif;
	font-size: var(--e-global-typography-be3a394-font-size);
	font-weight: var(--e-global-typography-be3a394-font-weight);
	line-height: var(--e-global-typography-be3a394-line-height);
	letter-spacing: var(--e-global-typography-be3a394-letter-spacing);
}

/* scoping colors */
.embla--light {
	/* Card colors */
	--embla-card-bg: #fff;
	--embla-card-number: #000;
	--embla-card-text: #000;
	
	/* Border */
	--embla-card-border-color: #000;
	--embla-card-border: 1px solid var(--embla-card-border-color);
	--embla-card-border-radius: 20px;
	--embla-card-box-shadow: inset 0px 4px 10px 0px rgba(0, 0, 0, 0.25);
	--embla-card-padding: 20px;

	/* Active/Hover colors */
	--embla-card-bg-active: var(--e-global-color-f924b0f);
	--embla-card-number-active: #fff;
	--embla-card-text-active: #fff;
	--embla-card-border-active: #000;

	/* Number shrink on active/hover */
	--embla-num-scale-active: 0.6;
}

.embla--dark {
	/* Card colors */
	--embla-card-bg: var(--e-global-color-2896ca9);
	--embla-card-number: #fff;
	--embla-card-text: #fff;
	
	/* Border */
	--embla-card-border-color: #000;
	--embla-card-border: 1px solid var(--embla-card-border-color);
	--embla-card-border-radius: 20px;
	--embla-card-box-shadow: inset 0px 4px 10px 0px rgba(0, 0, 0, 0.25);
	--embla-card-padding: 20px;

	/* Active/Hover colors */
	--embla-card-bg-active: var(--e-global-color-primary);
	--embla-card-number-active: #000;
	--embla-card-text-active: #000;
	--embla-card-border-active: #000;

	/* Number shrink on active/hover */
	--embla-num-scale-active: 0.6;
}

.embla--pink {
	/* Card colors */
	--embla-card-bg:  #fff;
	--embla-card-number: #000;
	--embla-card-text: #000;
	
	/* Border */
	--embla-card-border-color: #000;
	--embla-card-border: 1px solid var(--embla-card-border-color);
	--embla-card-border-radius: 20px;
	--embla-card-box-shadow: inset 0px 4px 10px 0px rgba(0, 0, 0, 0.25);
	--embla-card-padding: 20px;

	/* Active/Hover colors */
	--embla-card-bg-active: var(--e-global-color-secondary);
	--embla-card-number-active: #000;
	--embla-card-text-active: #000;
	--embla-card-border-active: #000;

	/* Number shrink on active/hover */
	--embla-num-scale-active: 0.6;
}

.embla--darkblue {
	--embla-gap: 0px;
	
	/* Card colors */
	--embla-card-bg: var(--e-global-color-2896ca9);
	--embla-card-number: var(--e-global-color-accent);
	--embla-card-text: #fff;
	
	/* Border */
	--embla-card-border-color: #fff;
	--embla-card-border-radius: 0;
	--embla-card-box-shadow: none;
	--embla-card-padding: 40px;

	/* Active/Hover colors */
	--embla-card-bg-active: var(--e-global-color-2896ca9);
	--embla-card-number-active: var(--e-global-color-accent);;
	--embla-card-text-active: #fff;
	--embla-card-border-active: #fff;

	/* Number shrink on active/hover */
	--embla-num-scale-active: 1;
	
	/* Slides per view */
	--slides-per-view: 3;
	@media (max-width: 1024px) {
		 --slides-per-view: 2;
	}
	@media (max-width: 767px) {
		--slides-per-view: 1;
	}
}

.embla--darkblue .embla__slide__inner {
	border-style: solid;
	border-color: var(--e-global-color-9b0bd99);
	border-top-width: 0;
	border-right-width: 1px;
	border-bottom-width: 0;
	border-left-width: 0;
}

.embla--Fanx {
	--embla-gap: 0px;
	
	/* Card colors */
	--embla-card-bg: transparent;
	--embla-card-text: #000;
	
	/* Border */
	--embla-card-border-color: #00000000;
	--embla-card-border-radius: 0;
	--embla-card-box-shadow: none;
	--embla-card-padding: 40px 0;

	/* Active/Hover colors */
	--embla-card-bg-active: transparent;
	--embla-card-number-active: #000;
	--embla-card-text-active: #000;
	--embla-card-border-active: #00000000;
	
	/* Slides per view */
	--slides-per-view: 1;
	@media (max-width: 1024px) {
		 --slides-per-view: 1;
	}
	@media (max-width: 767px) {
		--slides-per-view: 1;
	}
}

.embla--Fanx .embla__container {
	margin-inline-start: 0;
	margin-inline-end: 0;
}

.embla--Fanx .embla__slide__inner {
	min-height: 0px;
	height: 100%;
	justify-content: center;
}

.embla--Fanx .embla__slide__inner h3 {
	margin-block-start: 0;
	margin-block-end: 0;
}

.embla--Fanx .embla__slide__inner .embla__slide__inner__title {
	font-family: var(--e-global-typography-02da0b4-font-family), Sans-serif;
    font-size: var(--e-global-typography-02da0b4-font-size);
    font-weight: var(--e-global-typography-02da0b4-font-weight);
    text-transform: var(--e-global-typography-02da0b4-text-transform);
    line-height: var(--e-global-typography-02da0b4-line-height);
    letter-spacing: var(--e-global-typography-02da0b4-letter-spacing);
}

/* Fanx dots (left-justified under the frame) */
.embla--Fanx .embla__dots {
	display: flex;
	gap: 10px;
	max-width: var(--frame-max);
	margin: 12px 0 0 0;     /* sits just under the viewport, aligned to frame */
	padding-inline: 0;       /* matches your centered frame */
	justify-content: flex-start;
}

.embla--Fanx .embla__dot {
	width: 12px;
	height: 12px;
	border-radius: 999px;
	border: 1px solid var(--e-global-color-2896ca9);
	background: transparent;
	cursor: pointer;
	padding: 0;
}

.embla--Fanx .embla__dot.is-selected,
.embla--Fanx .embla__dot:hover,
.embla--Fanx .embla__dot:focus-visible {
	background: var(--e-global-color-2896ca9);
}

/* Respect your container padding when under 1440px 
@container (max-width: 1440px){
	.embla--Fanx .embla__dots { margin-inline: 20px; }
}*/

/* hide buttons on desktop with this class */

@media (min-width: 1024px) {
	.embla--hbd .embla__button {
		display: none;
	}
}

/* Active/hover state */
.embla__slide__inner.is-open,
.embla__slide__inner:hover,
.embla__slide__inner:focus-visible {
	background-color: var(--embla-card-bg-active);
	color: var(--embla-card-text-active);
	border-color: var(--embla-card-border-active);
}

.embla__slide__inner.is-open .embla__slide__inner__number,
.embla__slide__inner:hover .embla__slide__inner__number,
.embla__slide__inner:focus-visible .embla__slide__inner__number {
	color: var(--embla-card-number-active);
	transform: scale(var(--embla-num-scale-active));
}

/* Number shrink */
.embla__slide__inner__number {
	display: inline-block;
	transform-origin: left top;
	transition: transform .25s ease;
}