.elementor-155 .elementor-element.elementor-element-1e66e458{--display:flex;--overflow:hidden;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-155 .elementor-element.elementor-element-23dad7a5{padding:1.5vw 4vw 0vw 0vw;top:0px;z-index:500;}body:not(.rtl) .elementor-155 .elementor-element.elementor-element-23dad7a5{right:0px;}body.rtl .elementor-155 .elementor-element.elementor-element-23dad7a5{left:0px;}.elementor-155 .elementor-element.elementor-element-23dad7a5 .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-155 .elementor-element.elementor-element-3c42bb1f{padding:1.5vw 4vw 0vw 0vw;top:0px;z-index:500;}body:not(.rtl) .elementor-155 .elementor-element.elementor-element-3c42bb1f{right:0px;}body.rtl .elementor-155 .elementor-element.elementor-element-3c42bb1f{left:0px;}.elementor-155 .elementor-element.elementor-element-3c42bb1f .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-155 .elementor-element.elementor-element-6488eeb3{--display:flex;--position:absolute;bottom:25vh;}body:not(.rtl) .elementor-155 .elementor-element.elementor-element-6488eeb3{left:0px;}body.rtl .elementor-155 .elementor-element.elementor-element-6488eeb3{right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-155 .elementor-element.elementor-element-2a6c704c{padding:0vw 0vw 0vw 2vw;font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );color:var( --e-global-color-primary );}@media(max-width:1024px){.elementor-155 .elementor-element.elementor-element-23dad7a5{padding:2vw 6vw 0vw 0vw;}}@media(max-width:767px){.elementor-155 .elementor-element.elementor-element-23dad7a5{padding:2.5vw 5vw 0vw 0vw;}.elementor-155 .elementor-element.elementor-element-3c42bb1f{padding:2.5vw 5vw 0vw 0vw;}}/* Start custom CSS for shortcode, class: .elementor-element-8a6aedf *//* -----------------------------------------------------------
	BASE WRAPPER
----------------------------------------------------------- */
.kenburns-wrapper {
	position: relative;
	width: 100%;
	height: auto;
	overflow: hidden;
	margin: 0;
	padding: 0;
	z-index: 0;
	-webkit-user-select: none;
	user-select: none;
}

/* Anti flicker for iOS Safari */
.kenburns-wrapper,
.kenburns-bg,
.kb-layer {
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	transform-style: preserve-3d;
}

/* -----------------------------------------------------------
	BACKGROUND LAYERS (A/B CROSSFADE SYSTEM)
----------------------------------------------------------- */
.kenburns-bg {
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	background-size: cover;
	background-position: center;
	opacity: 1;
	z-index: 1;
	will-change: transform, opacity;
	transition: opacity 0.6s ease-in-out, background-image 0.6s ease-in-out;
}

/* Base layer styling */
.kb-layer {
	position:absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	background-size:cover;
	background-position:center;
	opacity:0;
	transition:opacity 1s ease-in-out,transform 8s ease-in-out;
	transform: translateZ(0); /* GPU wake */
	will-change:opacity,transform;
}

/* Crossfade visibility */
.kb-layer.visible {
	opacity: 1;
}



/* Optional dot overlay for subtle texture */
.kenburns-bg::before{
	content:"";
	position:absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	background-image:radial-gradient(rgba(0,0,0,0.2) 1px,transparent 1px);
	background-size:3.5px 3.5px;
	filter: blur(0.3px);
	mix-blend-mode: overlay;
	opacity:0.8;
	pointer-events:none;
	z-index:2;
}

/* -----------------------------------------------------------
	CAPTION — GLOBAL FONTS, COLORS, LEFT/RIGHT ALIGN
----------------------------------------------------------- */
/* caption container */
.kenburns-caption {
	position: absolute;
	bottom: 6vh;
	left: 0;
	width: 100%;
	z-index: 5;
	pointer-events: none;
}

/* remove default spacing */
.kenburns-caption p.kenburns-tagline,
.kenburns-caption .kenburns-title {
	margin: 0;
	padding: 0;
}

/* tagline (uses your Elementor alias vars Global "Standard_lettering" font) */
.kenburns-tagline {
	font-family: Monitorica;
	font-weight: 600;
	line-height: 1.0;
	color: #ffffff ;
	margin: 0;
}

/* title (uses your Elementor alias vars Global "Title_lettering" font) */
.kenburns-title {
	font-family: Monitorica;
	font-weight: 600;
	line-height: 1.0;
	color: #ffffff ;
	margin: 0;
}

/* Glow shadow around text */
#kenburns-slider .kenburns-title,
#kenburns-slider .kenburns-tagline {
	color: #ffffff;
	text-shadow:
		0 2px 6px rgba(0,0,0,0.6),
		0 0 8px rgba(0,0,0,0.3);
}

/* -----------------------------------------------------------
	ALTERNATE ALIGNMENT (LEFT ↔ RIGHT) BASED ON SLIDE
----------------------------------------------------------- */

/* odd slide → right aligned */
.kenburns-wrapper.odd .kenburns-caption {
	text-align: right;
	right: 5vw;
	left: auto;
}

/* even slide → left aligned */
.kenburns-wrapper.even .kenburns-caption {
	text-align: left;
	left: 5vw;
	right: auto;
}

/* -----------------------------------------------------------
	CAPTION ANIMATION — ONE-DIRECTION SMOOTH DRIFT
----------------------------------------------------------- */

/* JS adds .caption-anim at slide start */
.kenburns-wrapper.odd.caption-anim .kenburns-caption {
	animation: captionDriftLeft var(--kb-duration, 6.5s) cubic-bezier(.23,1,.32,1) forwards;
}
.kenburns-wrapper.even.caption-anim .kenburns-caption {
	animation: captionDriftRight var(--kb-duration, 6.5s) cubic-bezier(.23,1,.32,1) forwards;
}

/* ODD SLIDE — RIGHT → CENTER → DRIFT LEFT */
@keyframes captionDriftLeft {
	0%   { transform: translateX(3%); opacity: 0; }	/* soft early entry */
	10%  { opacity: 1; }								/* fully in place */
	99% { transform: translateX(-4%); opacity: .7; }	/* smooth drift left */
	100%  { transform: translateX(-4%); opacity: .1; }	/* exit left */
}

/* EVEN SLIDE — LEFT → CENTER → DRIFT RIGHT */
@keyframes captionDriftRight {
	0%   { transform: translateX(-3%); opacity: 0; }	/* soft early entry */
	10%  { opacity: 1; }								/* fully in place */
	99% { transform: translateX(4%); opacity: .7; }	/* smooth drift right */
	100%  { transform: translateX(4%); opacity: .1; }	/* exit right */
}

/* -----------------------------------------------------------
	PROGRESS BARS (v7 smooth timeline)
----------------------------------------------------------- */
/* --- progress bars --- */
.progress-bars {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 900;
	display: flex;
	gap: 6px;
	padding: 6px;
}

.progress-bars .bar {
	flex: 1;
	height: 3px;
	background: rgba(255,255,255,0.18);
	overflow: hidden;
	border-radius: 2px;
	position: relative;
}

.progress-bars .bar::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 0%;
	background: #fff;
	opacity: 1;
	transition: none;
}

/* Active bar – fills white fully */
.progress-bars .bar.active::after {
	animation:barfill 7s linear forwards
}

/* Fading out bar – width frozen, opacity fades out */
.progress-bars .bar.fadeout::after {
	width: 100%; 
	opacity: 0;
	transition: opacity 0.8s ease-out;
}

/* Reset everything else instantly */
.progress-bars .bar:not(.active):not(.fadeout)::after {
	width: 0%;
	opacity: 0.3;
	transition: none;
}

@keyframes barfill{from{width:0;}to{width:100%;}}

/* -----------------------------------------------------------
	NAV ARROWS
----------------------------------------------------------- */
.kb-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 48px;
	line-height: 1;
	color: rgba(255,255,255,0.75);
	cursor: pointer;
	z-index: 9999;
	user-select: none;
	padding: 12px;
	transition: color .3s ease;
}

.kb-nav:hover {
	color: #ffffff;
}

.kb-prev { left: 20px; }
.kb-next { right: 20px; }

/* Mobile touch-friendly */
@media (max-width: 768px) {
	.kb-nav {
		font-size: 42px;
		padding: 16px;
	}
}

/* -----------------------------------------------------------
	TAP ZONES (mobile-friendly)
----------------------------------------------------------- */
/* Hide arrows on touch devices (phones & tablets) */
@media (hover: none) and (pointer: coarse) {
	.kb-nav {
		display: none !important;
	}
}

.kb-nav {
	opacity: 0;
	transition: opacity .3s;
}

.kenburns-wrapper:hover .kb-nav {
	opacity: 1;
}

/* -----------------------------------------------------------
	DESKTOP HOVER (freeze optional enhancement)
----------------------------------------------------------- */
.kenburns-wrapper:hover .kb-layer {
	/* do nothing by default; JS handles freeze */
	animation-play-state: running !important;
	transition-play-state: running !important;
	will-change: transform !important;
}

/* -----------------------------------------------------------
	SMOOTHNESS / RENDERING FIXES
----------------------------------------------------------- */
.kenburns-wrapper *,
.kb-layer,
.kenburns-caption {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* iOS landscape bouncing fix */
@supports (-webkit-touch-callout: none) {
	.kenburns-wrapper {
		height: -webkit-fill-available;
	}
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-2a6c704c */.reg {
  font-family: "Times New Roman", Times, serif;
  font-size: 0.25em;
  position: relative;
  top: -2.5em;     /* key line – lifts it */
  margin-left: 0.15em;
  line-height: 0;
}

/* First line */
.elementor-155 .elementor-element.elementor-element-2a6c704c .line1 {
  font-size: clamp(3.5rem, 9vw, 8rem);
  font-weight: 600;
  line-height: 0;
  display: block;
  text-shadow:
    0 2px 6px rgba(0,0,0,0.6),
    0 0 8px rgba(0,0,0,0.3);
}

/* Second line */
.elementor-155 .elementor-element.elementor-element-2a6c704c .line2 {
  font-size: clamp(0.95rem, 1.8vw, 1.9rem);
  font-weight: 600;
  line-height: .5;
  display: block;
  margin-top: -0.25em;
  text-shadow:
    0 2px 6px rgba(0,0,0,0.6),
    0 0 8px rgba(0,0,0,0.3);
}

/* Make selected letters 70% of size */
.elementor-155 .elementor-element.elementor-element-2a6c704c .small {
  font-size: 0.7em;    /* 70% of parent line */
  display: inline-block;
  line-height: 1;
  vertical-align: baseline;
}

/* Total timeline: fade-in → stay visible → fade-out */
.auto-fade {
  animation: fadeInOut 5s ease forwards; /* Total duration: 5 seconds */
  animation-delay: 0s;  /* When the animation starts */
}

@keyframes fadeInOut {

  /* Start invisible */
  0% { opacity: 0; transform: translateY(10px); }

  /* Fade-in (first 1s) */
  10% { opacity: 1; transform: translateY(0); }

  /* Stay visible (from 1s to 4s) */
  70% { opacity: 1; }

  /* Fade-out (last second) */
  100% { opacity: 0; transform: translateY(10px); }
}/* End custom CSS */