/**
 * Theme Name:     Navix Theme
 * Author:         Dragster
 * Template:       hello-elementor
 * Text Domain:	   navix-theme
 * Description:    Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
 * Author URI:     https://dragster.se/
 * Version:        1.0.0
 * 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
 */


/* Design tokens */

:root {

	/* Glass: frosted panels. Tune blur/tint here, the bevel is the client's spec. */
	--nx-glass-blur: 12px;
	--nx-glass-tint: rgba(255, 255, 255, 0.10);
	--nx-glass-bevel:
		rgba(255, 255, 255, 0.8) 1.1px 2.2px 0.5px -1.8px inset,
		rgba(255, 255, 255, 0.4) -1px -2.2px 0.5px -1.8px inset,
		rgba(0, 0, 0, 0.1) 2px 3px 2px 0px inset,
		rgba(0, 0, 0, 0.2) 10px 15px 10px 0px inset,
		rgba(255, 255, 255, 0.02) -10px -15px 10px 0px inset;

	/* Same light direction, but the two large shadows are spread wide and faded.
	   The fixed 10/15px offsets above only cover the outer edge of a big panel,
	   which reads as a dark border rather than depth. Cards use this one. */
	/* Cards. The supplied bevel puts its dark edge on the top/left only, which on
	   a large panel reads as a border rather than thickness, so this re-proportions
	   it: specular top and bottom, a tight rim all round, a wide inner falloff. */
	--nx-glass-bevel-lg:
		rgba(255, 255, 255, 0.85) 0 1.5px 0.5px -1px inset,
		rgba(255, 255, 255, 0.35) 0 -1.5px 0.5px -1px inset,
		rgba(255, 255, 255, 0.10) 0 0 0 1px inset,
		rgba(0, 0, 0, 0.22) 0 0 18px -2px inset,
		rgba(0, 0, 0, 0.12) 0 0 50px -10px inset,
		rgba(255, 255, 255, 0.05) 0 18px 30px -22px inset;

	
	--nx-ocean: url('/wp-content/uploads/2026/08/splash-1.webp');
	--nx-ocean-fallback: white !important;
	--nx-white: #ffffff80;

	
	--nx-ring-lg: min(42vmin, 460px);
	--nx-ring-sm: 46px;
	--nx-bar-ratio: 1.45;
	--nx-stroke-ratio: 0.1249;

	
	--nx-divider-inset: 0px;

	
	--nx-orb-idle: #ffffff0d; /* 5% */
	--nx-orb-solid: #ffffff;
	--nx-t-orb-in: 1000ms;
	
	--nx-t-orb-out: 300ms;
	
	--nx-orb-ease: cubic-bezier(.65, 0, .35, 1);

	
	--nx-orb-stroke: calc(var(--nx-ring-lg) * var(--nx-stroke-ratio));
	--nx-orb-box: calc(var(--nx-ring-lg) + (2 * var(--nx-orb-stroke)));

	/* Splash timing */
	--nx-t-hold: 1150ms;
	--nx-t-reveal: 900ms;
	--nx-t-move: 1100ms;
	--nx-t-expand: 900ms;
	--nx-ease: cubic-bezier(.65, 0, .35, 1);
}


/* Splash intro */

/* Landing seam */
.splash_circle {
	position: relative;
	height: 0;
	min-height: 0;
	padding: 0 !important;
	overflow: visible;
	z-index: 10;
}

.splash_circle > .e-con-inner {
	position: static;
	min-height: 0;
	padding: 0;
	max-width: none;
}

.splash_circle .elementor-widget-html {
	margin: 0;
}

/* Seam divider */
.nx-divider {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	pointer-events: none;
}

.nx-divider > * {
	grid-area: 1 / 1;
}

.nx-divider__ring {
	box-sizing: border-box;
	width: var(--nx-ring-sm);
	height: var(--nx-ring-sm);
	border: calc(var(--nx-ring-sm) * var(--nx-stroke-ratio)) solid var(--nx-white);
	border-radius: 50%;
}

.nx-divider__bar {
	width: calc(100% - (var(--nx-divider-inset) * 2));
	height: calc(var(--nx-ring-sm) * var(--nx-stroke-ratio));
	background: var(--nx-white);
}


html.nx-splash-on .nx-divider {
	opacity: 0;
}

html.nx-splash-on .nx-divider.is-in {
	opacity: 1;
	transition: opacity 250ms linear;
}

/* Splash overlay */
html.nx-splash-lock {
	overflow: hidden;
}

.nx-splash {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: grid;
	place-items: center;
	pointer-events: none;
	opacity: 0;
}

html.nx-splash-on .nx-splash {
	opacity: 1;
}

html:not(.nx-splash-on) .nx-splash {
	display: none;
}

.nx-splash__bg {
	position: absolute;
	inset: 0;
	background: var(--nx-ocean-fallback) var(--nx-ocean) center / cover no-repeat;
	transition: opacity var(--nx-t-reveal) ease-in-out;
}

.nx-mark {
	position: relative;
	display: grid;
	place-items: center;
	transform: translate(0, 0) scale(1);
	transform-origin: 50% 50%;
	will-change: transform;
	transition: transform var(--nx-t-move) var(--nx-ease);
}

.nx-mark > * {
	grid-area: 1 / 1;
}

.nx-mark__ring {
	box-sizing: border-box;
	width: var(--nx-ring-lg);
	height: var(--nx-ring-lg);
	border: var(--nx-orb-stroke) solid var(--nx-orb-idle);
	border-radius: 50%;
}

.nx-mark__bar {
	width: calc(var(--nx-ring-lg) * var(--nx-bar-ratio));
	height: var(--nx-orb-stroke);
	background: var(--nx-orb-idle);
	transform: scaleX(1);
	transform-origin: 50% 50%;
	will-change: transform;
	
	transition: transform calc(var(--nx-t-expand) - var(--nx-t-orb-out))
		cubic-bezier(.22, 1, .36, 1) var(--nx-t-orb-out);
}

/* Orb entrance */
html.nx-splash-on .nx-mark__ring {
	position: relative;
}

html.nx-splash-on .nx-mark__bar {
	position: relative;
}


html.nx-splash-on .nx-mark__ring::after,
html.nx-splash-on .nx-mark__bar::after {
	content: "";
	position: absolute;
	pointer-events: none;
	animation: nx-orb-fill var(--nx-t-orb-in) var(--nx-orb-ease) both;
	
	opacity: 1;
	transition: opacity var(--nx-t-orb-out, 500ms) ease;
}

html.nx-splash-on .nx-mark__ring::after {
	
	inset: calc(-1 * var(--nx-orb-stroke));
	border: var(--nx-orb-stroke) solid var(--nx-orb-solid);
	border-radius: 50%;
}

html.nx-splash-on .nx-mark__bar::after {
	left: 0;
	right: 0;
	top: calc(50% - (var(--nx-orb-box) / 2));
	height: var(--nx-orb-box);
	
	background-image: linear-gradient(
		to bottom,
		transparent calc(50% - (var(--nx-orb-stroke) / 2)),
		var(--nx-orb-solid) calc(50% - (var(--nx-orb-stroke) / 2)),
		var(--nx-orb-solid) calc(50% + (var(--nx-orb-stroke) / 2)),
		transparent calc(50% + (var(--nx-orb-stroke) / 2))
	);
}


@keyframes nx-orb-fill {
	from {
		clip-path: inset(100% 0 0 0);
	}
	to {
		clip-path: inset(0 0 0 0);
	}
}


.nx-splash.is-moving .nx-mark__ring {
	border-color: var(--nx-white);
}

.nx-splash.is-moving .nx-mark__bar {
	background-color: var(--nx-white);
}


.nx-splash.is-expanding .nx-mark__ring::after,
.nx-splash.is-expanding .nx-mark__bar::after {
	opacity: 0;
}

/* Splash stages */
.nx-splash.is-revealing .nx-splash__bg {
	opacity: 0;
}

.nx-splash.is-moving .nx-mark {
	transform: translate(var(--dx), var(--dy)) scale(var(--s));
}

.nx-splash.is-expanding .nx-mark__bar {
	transform: scaleX(var(--k));
}

.nx-splash.is-out {
	opacity: 0;
	transition: opacity 400ms linear;
}

@media (max-width: 767px) {
	:root {
		--nx-ring-sm: 34px;
		--nx-divider-inset: 1.25rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nx-splash {
		display: none !important;
	}
}


/* Header / nav */

.header-nav {
	backdrop-filter: blur(25px);
	-webkit-backdrop-filter: blur(25px);
	box-shadow: var(--nx-glass-bevel);
}

/* Menu underline */
.header-nav .elementor-nav-menu--main.elementor-nav-menu__container.e--pointer-none .menu-underline {
	position: absolute;
	left: 0;
	bottom: 0;
	height: 5px;
	width: 0;
	background: #26d07c;
	pointer-events: none;
	opacity: 0;
	will-change: transform, width, opacity;
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
	            width 0.35s cubic-bezier(0.16, 1, 0.3, 1),
	            opacity 0.25s cubic-bezier(0.5, 1, 0.89, 1);
}


.header-nav .elementor-nav-menu--main.elementor-nav-menu__container.e--pointer-none .menu-underline.is-instant {
	transition: none;
}

@media (prefers-reduced-motion: reduce) {
	.header-nav .elementor-nav-menu--main.elementor-nav-menu__container.e--pointer-none .menu-underline {
		transition: none;
	}
}


/* Hero */

.ebe-hero-section {
	
	--nx-hero-h: 88vh;
	--nx-hero-reveal-duration: 1.3s;
	--nx-hero-reveal-ease: cubic-bezier(0.22, 1, 0.36, 1);

	position: relative;
	height: var(--nx-hero-h);
	transform: none !important;
	filter: none !important;
	perspective: none !important;
	will-change: auto !important;
}

.ebe-hero-pin {
	position: sticky;
	top: 0;
	height: var(--nx-hero-h);
	overflow: hidden;
	transform: none !important;
	filter: none !important;
	perspective: none !important;
	will-change: auto !important;
}

.ebe-hero-pin > .e-con-inner {
	transform: none !important;
	filter: none !important;
	perspective: none !important;
}

/* Banner slides up to uncover the copy */
.ebe-hero-pin .ebe-banner {
	position: relative;
	z-index: 1;
	overflow: hidden;
	transform: translateY(calc(var(--ebe-scroll, 0) * -1 * var(--ebe-reveal, 33vh)));
	will-change: transform;
	
	transition: transform var(--nx-hero-reveal-duration, 1.3s)
		var(--nx-hero-reveal-ease, cubic-bezier(0.22, 1, 0.36, 1));
}

/* Photo counter-moves so it holds still */
.ebe-hero-pin .ebe-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: inherit;
	background-size: cover;
	background-position: 50% 0%;
	background-repeat: no-repeat;
	transform: translateY(calc(var(--ebe-scroll, 0) * var(--ebe-reveal, 33vh)));
	will-change: transform;
	
	transition: transform var(--nx-hero-reveal-duration, 1.3s)
		var(--nx-hero-reveal-ease, cubic-bezier(0.22, 1, 0.36, 1));
}

/* Revealed copy */
.ebe-hero-pin .ebe-trigger {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
}


.ebe-hero-section.is-revealed {
	--ebe-scroll: 1;
}

/* No transition while re-measuring */
.ebe-hero-section.ebe-hero-no-anim .ebe-banner,
.ebe-hero-section.ebe-hero-no-anim .ebe-banner::before {
	transition: none;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.ebe-hero-pin .ebe-banner,
	.ebe-hero-pin .ebe-banner::before {
		transition: none;
	}
}


.ebe-banner {
	transform: translateY(calc(var(--ebe-scroll, 0) * -42vh));
	will-change: transform;
}


/* Hero: tablet */
@media (max-width: 1024px) {
	.ebe-hero-section {
		--nx-hero-h: 85vh; 
	}
	/* Banner height must match the pin */
	.ebe-hero-pin .ebe-banner {
		min-height: 85vh;
	}
}

/* Hero: mobile */
@media (max-width: 767px) {
	.ebe-hero-pin .ebe-banner::before {
		background-image: inherit;
	background-size: cover;
	background-position: center right;
		background-repeat: no-repeat;}
	
	.ebe-hero-section {
		--nx-hero-h: 80vh; 
	}

	/* Banner height must match the pin */
	.ebe-hero-pin .ebe-banner {
		min-height: 80vh;
	}

}


/* Hero scroll-down icon */

#bounce-arrow {
	transform-box: fill-box;
	transform-origin: center;
	animation: bounceArrow 2.4s ease-in-out infinite;
	will-change: transform;
}


@keyframes bounceArrow {
	0%, 100% {
		transform: translateY(-3px);
	}
	50% {
		transform: translateY(1.5px);
	}
}

@media (prefers-reduced-motion: reduce) {
	#bounce-arrow {
		animation: none;
	}
}


/* Contact panel */

.elementor-element.elementor-element-73395f9.ebe-contact-bg {
	position: absolute !important;
	left: 0px;
	right: 0px;
	margin: 0 auto;
	max-width: 100%;
	top: calc(18% - (18% * var(--ebe-contact-progress, 0))) !important;
	bottom: 0px !important;
	width: calc(70% + (30% * var(--ebe-contact-progress, 0))) !important;
	border-radius: calc(8px - (8px * var(--ebe-contact-progress, 0))) !important;
}


/* Icon hover arrow */

.icon-hover-arrow .elementor-icon {
	background: url('/wp-content/uploads/2026/07/arrow_circle_down.svg') center center no-repeat;
	background-size: contain;
	width: 25px;
	height: 25px;
}

.icon-hover-arrow .elementor-icon svg,
.icon-hover-arrow .elementor-icon i {
	opacity: 0;
}

.icon-hover-arrow:hover .elementor-icon {
	background-image: url('/wp-content/uploads/2026/07/arrow_circle_down-1.svg');
}


/* Accordion */

.navix-style.elementor-widget-n-accordion .e-n-accordion-item-title > span {
	background: #0000004A;
	backdrop-filter: blur(10px);
	padding: 9px;
	cursor: pointer;
	border-radius: 8px;
}


/* CMS card */

.cms-card .cms-card_img {
	overflow: hidden;
	border-radius: 10px;
}

.cms-card .cms-card_img img {
	width: 100%;
	height: 100%;
	aspect-ratio: 9 / 8;
	object-fit: cover;
	transition: 0.3s ease transform;
}

.cms-card:hover .cms-card_img img {
	transform: scale(1.05);
}

@media (prefers-reduced-motion: reduce) {
	.cms-card .cms-card_img img {
		transition: none;
	}
}


/* Utilities */
.bg-blur-ani {
    background: rgba(18, 18, 18, 0.3);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: var(--nx-glass-bevel-lg);
}
/* Glass panes */
.liquid-glass {
	position: relative;
	background: var(--nx-glass-tint);
	backdrop-filter: blur(var(--nx-glass-blur));
	-webkit-backdrop-filter: blur(var(--nx-glass-blur));
	box-shadow: var(--nx-glass-bevel-lg);
}

/* Specular: two soft highlights drifting slowly across the surface, added on top
   of what is already there. Mirrors liquidGL's specular pass, which added two
   smoothstep blobs on slow sines to the final colour. --nx-specular-speed 0
   is not supported; to switch it off, set --nx-specular-opacity: 0. */
.liquid-glass::after,
.bg-blur::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	opacity: var(--nx-specular-opacity, 1);
	mix-blend-mode: plus-lighter;
	background-repeat: no-repeat;
	/* Fixed sizes, not percentages: liquidGL worked in UV space, so its blobs
	   scaled with the element and became a huge wash on a wide banner. */
	background-size:
		var(--nx-specular-size, 340px) var(--nx-specular-size, 340px),
		calc(var(--nx-specular-size, 340px) * 0.8) calc(var(--nx-specular-size, 340px) * 0.8);
	/* closest-side, with the last stop at 100%, puts full transparency exactly on
	   the layer's own edge. A `circle` here is still opaque where the layer ends,
	   so it gets clipped square and you see the box. */
	background-image:
		radial-gradient(closest-side, rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0) 100%),
		radial-gradient(closest-side, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 100%);
	animation: nx-specular var(--nx-specular-speed, 28s) linear infinite;
}

@keyframes nx-specular {
	0%   { background-position: 12% 18%, 88% 78%; }
	25%  { background-position: 72% 8%,  28% 92%; }
	50%  { background-position: 92% 68%, 8%  22%; }
	75%  { background-position: 32% 92%, 68% 12%; }
	100% { background-position: 12% 18%, 88% 78%; }
}

@media (prefers-reduced-motion: reduce) {
	.liquid-glass::after,
	.bg-blur::after {
		animation: none;
	}
}

/* Frosted panel */
.bg-blur {
	background: #FFFFFF1A;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px); /* Safari */
	box-shadow: var(--nx-glass-bevel-lg);
}
.bg-blur.inner:before{
	background: #FFFFFF1A;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px); /* Safari */
	box-shadow: var(--nx-glass-bevel-lg);
}

/* Pills are short enough that the tight bevel reads as a sheen, not a border */
.bg-blur.navix-card {
	box-shadow: var(--nx-glass-bevel);
}

/* ...and no specular on them: the highlight is 340px against a 55px pill, so it
   reads as the whole chip pulsing rather than a light travelling across it.
   Delete this rule to switch it back on. */
.bg-blur.navix-card::after {
	content: none;
}


#bg-sec {
	position: relative !important;
}


/* Logo cards */

.navix-scroll-section {
	/* Stage trim */
	--nx-section-trim: 120px;

	position: relative;
	height: calc(120vh - var(--nx-section-trim));
}


.navix-scroll-section > .e-con-inner {
	padding-top: calc(120px - var(--nx-section-trim));
}


.navix-pin-inner {
	position: sticky;
	top: 0;
	height: 100%;
	overflow: hidden;
}

.navix-card {
	transform: translate3d(0, 0, 0);
	opacity: 0.1;
	will-change: transform, opacity;
}

.navix-active .navix-card {
	animation: navixCardIn 2.3s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.navix-returning .navix-card {
	animation: navixCardOut 1.2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes navixCardIn {
	from { transform: translate3d(0, 0, 0); opacity: 0.2; }
	to   { transform: translate3d(var(--nx-x, 0), var(--nx-y, 0), 0); opacity: 1; }
}

@keyframes navixCardOut {
	from { transform: translate3d(var(--nx-x, 0), var(--nx-y, 0), 0); opacity: 1; }
	to   { transform: translate3d(0, 0, 0); opacity: 0.2; }
}

/* Card resting positions */
.navix-card-brokers     { --nx-x:  29.1%; --nx-y:  65.9%; }
.navix-card-owners      { --nx-x: -73.2%; --nx-y:  55.9%; }
.navix-card-port        { --nx-x:  48.6%; --nx-y:  49.5%; }
.navix-card-charterers  { --nx-x: -58.6%; --nx-y:  39.5%; }
.navix-card-management  { --nx-x:  25%;   --nx-y:   0;    }
.navix-card-ships       { --nx-x: -85%;   --nx-y:   0;    }
.navix-card-cargo       { --nx-x:  35.5%; --nx-y:  -8%;   }
.navix-card-claims      { --nx-x: -25.5%; --nx-y:  -8%;   }
.navix-card-terminals   { --nx-x:  50.7%; --nx-y: -15.9%; }
.navix-card-towage      { --nx-x: -50.7%; --nx-y: -15.9%; }
.navix-card-waste       { --nx-x:  10%;   --nx-y: -19.1%; }


@media (max-width: 767px) {

	/* Phone: trim the stage, keep the cluster placed */
	.navix-scroll-section {
		height: calc(5vh + 650px);
	}

	/* !important beats Elementor's per-widget rule */
	.navix-scroll-section .navix-card,
	.navix-scroll-section .navix-center-logo {
		margin-bottom: -13vh !important;
	}

	/* Centre the mobile logo */
	.navix-scroll-section .navixCard {
		top: auto !important;
		bottom: 18.5vh !important;
	}

	.navix-card-brokers     { --nx-x:  45%;    --nx-y:  42%; }
	.navix-card-owners      { --nx-x: -85%;  --nx-y:  42%; }
	.navix-card-port        { --nx-x:  25%;   --nx-y:  25%; }
	.navix-card-charterers  { --nx-x: -50%;     --nx-y:  25%; }
	.navix-card-management  { --nx-x:  6.25%;   --nx-y:   0;  }
	.navix-card-ships       { --nx-x: -21.875%; --nx-y:   0;  }
	.navix-card-cargo       { --nx-x:  9.125%;  --nx-y:  -2%; }
	.navix-card-claims      { --nx-x: -6.5%;    --nx-y:  -2%; }
	.navix-card-terminals   { --nx-x:  13%;     --nx-y:  -4%; }
	.navix-card-towage      { --nx-x: -13%;     --nx-y:  -4%; }
	.navix-card-waste       { --nx-x:  2.5%;    --nx-y:  -4.75%; }
	
}


	@media (min-width: 768px) and (max-width: 1024px) {
			@keyframes navixLogoScaleIn {
	from { transform: scale(0.5); }
	to   { transform: scale(0.9); }
}

@keyframes navixLogoScaleOut {
	from { transform: scale(0.9); }
	to   { transform: scale(0.5); }
		}}
.navix-center-logo {
	transform: scale(0.5);
	transform-origin: center center;
	will-change: transform;
}

.navix-active .navix-center-logo {
	animation: navixLogoScaleIn 2.3s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.navix-returning .navix-center-logo {
	animation: navixLogoScaleOut 2.3s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes navixLogoScaleIn {
	from { transform: scale(1); }
	to   { transform: scale(1.6); }
}

@keyframes navixLogoScaleOut {
	from { transform: scale(1.6); }
	to   { transform: scale(1); }
}


/* How we work cards */

.hww-card {
	opacity: 0;
	transform: translateY(200px);
	will-change: transform, opacity;
}

@keyframes hwwEnter {
	from { opacity: 0.2; transform: translateY(270px); }
	to   { opacity: 1;   transform: translateY(0); }
}

@keyframes hwwExit {
	from { opacity: 1; transform: translateY(0); }
	to   { opacity: 0; transform: translateY(-200px); }
}

.hww-card.hww-enter {
	animation: hwwEnter 1.8s ease forwards;
}

.hww-card.hww-exit {
	animation: hwwExit 1.8s ease forwards;
}


/* Ex-Customizer CSS */

/* Home animated section grows */
.makesmall .opzero{
	opacity: 0;
}
.makesmall, .makesmaller, .makesmall .opzero {
  transition: all 1.4s ease !important;
}


.makesmall > .e-con-inner{
  margin: 0;
}

.makesmall.is-in-view{
	padding: 0;
}
.makesmall.is-in-view .opzero{
	opacity: 1;
}
.makesmall.is-in-view .makesmaller, .makesmall.is-in-view .makesmaller:before {
	border-radius: 0;
}
.makesmaller.dots_overlay:after{
	z-index: 0;
}
.makesmall.is-in-view .makesmaller .elementor-background-video-container{
	border-radius: 0 !important;
}
.makesmaller .elementor-background-video-container .elementor-background-video-hosted{
	width: 100% !important;
}
/* End */

a[href^="tel"],
a[href^="tel"]:visited {
    color: inherit !important;
    text-decoration: none !important;
}
.menu-item-2782{
	display:none!important;
}
@media (max-width:480px){
	.menu-item-2782{
	display:block!important;
}
	
	html{
		width:100%;
		overflow-x: hidden!important;
	}
.menu-item-2782 {
	left:20px;
	width:150px;
    
    background-color: var( --e-global-color-b110984 );
    border-radius: 4px 4px 4px 4px;
	 position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: left;
    box-sizing: border-box;
    text-decoration: none !important;
    cursor: pointer;
    vertical-align: middle;
    -webkit-tap-highlight-color: transparent;
    clip-path: polygon(0 0, 100% 0, 100% 71.15%, 92% 100%, 0 100%);
}
}

.elementor-nav-menu--dropdown {
    padding-bottom: 20px;
    margin-top: 15px !important;
}


/* Icon — ::after, uses the arrow as a mask so its color can transition */
li.menu-item.menu-item-type-post_type.menu-item-object-page.menu-item-2782 {
    margin-top: 10px;
}
.menu-item-2782::after {
	
	content: "";
	position: absolute;
	right: 30px;
	top: 50%;
	width: 8px;
	height: 8px;
	transform: translateY(-50%);
	background-color: #121212; /* normal-state icon color, matches Arrow-1.svg */
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8' fill='none'%3E%3Cpath d='M7 1L1 7M7 6V1H2' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8' fill='none'%3E%3Cpath d='M7 1L1 7M7 6V1H2' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: background-color 0.6s ease, transform 1.3s ease;
	z-index: 1;
	pointer-events: none;
}
.menu-item-2782:hover::after,
.menu-item-2782:focus-visible::after {
	background-color: #ffffff; /* hover-state icon color, matches Arrow__2_.svg */
	transform: translateY(-50%) translate(2px, -2px);
}
.menu-item-2782:has(a.elementor-item-active)::after {
	background-color: #ffffff !important;
}

.menu-item-2782 a.elementor-item-active::after {
	background-color: #ffffff !important;
}


.cut-corner-img {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-bottom: 106.21%;   /* 667 / 628 * 100 — locks the ratio regardless of flex parent */

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='628' height='667' viewBox='0 0 628 667' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M620 0H8C3.58172 0 0 3.58172 0 8V659C0 663.418 3.5817 667 7.99998 667H525.747C527.863 667 529.892 666.162 531.391 664.67L625.644 570.845C627.152 569.344 628 567.304 628 565.176V8C628 3.58172 624.418 0 620 0Z' fill='black'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg width='628' height='667' viewBox='0 0 628 667' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M620 0H8C3.58172 0 0 3.58172 0 8V659C0 663.418 3.5817 667 7.99998 667H525.747C527.863 667 529.892 666.162 531.391 664.67L625.644 570.845C627.152 569.344 628 567.304 628 565.176V8C628 3.58172 624.418 0 620 0Z' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.cut-corner-img img {
  position: absolute;
  top: -10%;
  left: 0;
  right: 0;
  bottom: -10%;
  width: 100%;
  height: auto;
  min-height: 120%;
  object-fit: cover;
  object-position: center center;
  will-change: transform;
  display: block;
}

/* Mobile/tablet: taller ratio so wide crops don't get squashed */
@media (max-width: 991px) {
  .cut-corner-img {
		height:120%;
    padding-bottom: 105%;   /* taller box on narrow screens */
  }

  .cut-corner-img img {
		
    top: -10%;
    bottom: -10%;
    object-position: center top;
  }
}









/*  .cut-corner-bg {
  overflow: hidden;
  background-size: cover!important;
  background-position: center center;
  background-repeat: no-repeat;
  clip-path: polygon(
    0 0,
    100% 0,
    100% 84.15%,
    91.41% 100%,
    0 100%
  )!important;
} */


.cut-corner-bg {
	
  overflow: hidden;
  border-radius: 8px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  clip-path: polygon(
    0 0,
    100% 0,
    100% 84.15%,
    91.41% 100%,
    0 100%
  );
}





.bg-cut-corner-img {
  position: sticky;
  top: 0;
  height: 100vh;       
  overflow: hidden;
  z-index: 0;            
}

/* The moving background image inside */
.bg-cut-corner-img .bg-move {
  position: absolute;
  top: -5%;
  left: 0;
  right: 0;
  bottom: -5%;
  min-height: 115%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  will-change: transform;
  transition: none;
  pointer-events: none;
}

#services-tabs {
    scroll-margin-top:280px;
}



/* Service cards animation */

.service_card  a{
	width: 100%;
}

@media(min-width: 1024px){
	
	.service_cards{
		--n: 4;
		--gap: 20px;
		--gap-n: calc(var(--n) - 1);
		--track: calc(100% - var(--gap-n) * var(--gap));
		--shrink-frac: .20;
		--basis: calc(var(--track) / var(--n));
		display:flex;
		gap: var(--gap);
	}
	.service_cards.hr{
		--n: 3;
		
		--gap: 20px;
		--gap-n: calc(var(--n) - 1);
		--track: calc(100% - var(--gap-n) * var(--gap));
		--shrink-frac: .20;
		--basis: calc(var(--track) / var(--n));
		display:flex;
		gap: var(--gap);
	}

	.service_cards .service_card{
		flex: 0 0 auto;
		flex-basis: var(--basis);
		min-width: 0;
		overflow: hidden;
		transition: flex-basis 2.3s cubic-bezier(.2,.7,0,1);
		will-change: flex-basis;
		min-height: 500px;
	}

	.service_cards .service_card .card_text{
		max-width: 450px !important;
		max-height: 0;
		overflow: hidden;
		transition: max-height 1s cubic-bezier(.2,.7,0,1);
	}

	.service_cards:has(.service_card:hover) .service_card{
		--basis: calc(var(--track) * var(--shrink-frac));
	}

	.service_cards:has(.service_card:hover) .service_card:hover{
		--basis: calc(var(--track) * (1 - (var(--n) - 1) * var(--shrink-frac)));
	}

	.service_cards:has(.service_card:hover) .service_card:hover .card_text{
		max-height: 110px;
		overflow: hidden;
	}

	.service_cards  .service_card > .e-con-full{
		height: 100%;
	}


	.service_cards  .service_card > .e-con-full .btndiv{
		margin-top: auto;
	}

}

/* Service cards animation end */

.outer-wrap-check {
  position: relative;
}

@keyframes expand-bg {
  from {
    width: fit-content;
    height: fit-content;
  }
  to {
    width: 100%;
    height: 100%;
  }
}

.bg-container-check {
  animation: expand-bg linear both;
  animation-timeline: view();
  animation-range: entry 0% cover 40%; /* tune this to control when it "finishes" expanding */
}
@media(max-width:480px){
	.cut-corner-bg {
	
  overflow: hidden;
  border-radius: 0px!important;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  clip-path: unset;
	}
	}
