.elementor-kit-8{--e-global-color-primary:#282828;--e-global-color-secondary:#3B789A;--e-global-color-text:#282828;--e-global-color-accent:#7BB75E;--e-global-color-ff02995:#FFFFFF;--e-global-color-ed5f7db:#522E43;--e-global-color-fc4efd4:#223E48;--e-global-color-150e6fa:#41604A;--e-global-color-ff3de9f:#486A74;--e-global-color-72062d2:#17353B;--e-global-color-954d41c:#444539;--e-global-typography-primary-font-family:"itc-avant-garde-gothic-pro";--e-global-typography-primary-font-weight:300;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:300;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-weight:300;--e-global-typography-accent-font-family:"itc-avant-garde-gothic-pro";--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:uppercase;font-size:clamp(1rem, 0.956rem + 0.1878vw, 1.125rem);--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-exit-animation:e-page-transition-fade-in;--e-page-transition-animation-duration:500ms;--e-preloader-animation:flash;--e-preloader-animation-duration:4000ms;--e-preloader-delay:0ms;--e-preloader-max-width:124px;}.elementor-kit-8 button:hover,.elementor-kit-8 button:focus,.elementor-kit-8 input[type="button"]:hover,.elementor-kit-8 input[type="button"]:focus,.elementor-kit-8 input[type="submit"]:hover,.elementor-kit-8 input[type="submit"]:focus,.elementor-kit-8 .elementor-button:hover,.elementor-kit-8 .elementor-button:focus{background-color:#00000080;}.elementor-kit-8 e-page-transition{background-color:#282828;}.elementor-kit-8 a{color:var( --e-global-color-secondary );}.elementor-kit-8 a:hover{color:#3B789A99;}.elementor-kit-8 h1{color:var( --e-global-color-primary );font-family:"itc-avant-garde-gothic-pro", Sans-serif;font-size:clamp(2.75rem, 2.1338rem + 2.6291vw, 4.5rem);font-weight:300;}.elementor-kit-8 h2{color:var( --e-global-color-primary );font-family:"itc-avant-garde-gothic-pro", Sans-serif;font-size:clamp(1.75rem, 1.4859rem + 1.1268vw, 2.5rem);font-weight:300;}.elementor-kit-8 h3{color:var( --e-global-color-primary );font-family:"itc-avant-garde-gothic-pro", Sans-serif;font-size:clamp(1.5rem, 1.324rem + 0.7512vw, 2rem);font-weight:300;}.elementor-kit-8 h4{color:var( --e-global-color-primary );font-family:"itc-avant-garde-gothic-pro", Sans-serif;font-size:clamp(1.25rem, 1.162rem + 0.3756vw, 1.5rem);font-weight:300;}.elementor-kit-8 h5{color:var( --e-global-color-primary );font-family:"itc-avant-garde-gothic-pro", Sans-serif;font-size:clamp(1rem, 0.912rem + 0.3756vw, 1.25rem);font-weight:300;}.elementor-kit-8 h6{color:var( --e-global-color-primary );font-family:"itc-avant-garde-gothic-pro", Sans-serif;font-size:clamp(0.875rem, 0.787rem + 0.3756vw, 1.125rem);font-weight:300;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{font-size:18px;color:var( --e-global-color-ff02995 );border-radius:0px 0px 0px 0px;padding:20px 30px 20px 30px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:15px;--container-default-padding-right:15px;--container-default-padding-bottom:15px;--container-default-padding-left:15px;}.elementor-widget:not(:last-child){--kit-widget-spacing:15px;}.elementor-element{--widgets-spacing:15px 15px;--widgets-spacing-row:15px;--widgets-spacing-column:15px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//***
Default Button Styles - This is the background gradient as well as the hover animation
***/
.elementor-button {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: #223548 !important;
	border: none;
}

.elementor-button::before,
.elementor-button::after {
	content: "";
	position: absolute;
	inset: -35%;
	pointer-events: none;
	border-radius: inherit;
}

.elementor-button::before {
	background:
		radial-gradient(circle at 18% 25%, rgba(59, 120, 154, 0.9) 0%, transparent 20%),
		radial-gradient(circle at 78% 18%, rgba(65, 96, 74, 0.78) 0%, transparent 18%),
		radial-gradient(circle at 82% 52%, rgba(82, 30, 67, 1) 0%, transparent 16%),
		radial-gradient(circle at 28% 78%, rgba(23, 53, 59, 0.95) 0%, transparent 22%),
		radial-gradient(circle at 58% 82%, rgba(59, 120, 154, 0.78) 0%, transparent 16%);
	filter: blur(12px) saturate(1.2) contrast(1.08);
	opacity: 0.95;
	z-index: -2;
}

.elementor-button::after {
	background:
		radial-gradient(circle at 68% 28%, rgba(82, 30, 67, 0.95) 0%, transparent 14%),
		radial-gradient(circle at 74% 70%, rgba(82, 30, 67, 0.85) 0%, transparent 16%),
		radial-gradient(circle at 30% 18%, rgba(123, 179, 94, 0.75) 0%, transparent 16%),
		radial-gradient(circle at 16% 62%, rgba(72, 106, 116, 0.8) 0%, transparent 15%),
		radial-gradient(circle at 52% 38%, rgba(59, 120, 154, 0.55) 0%, transparent 18%);
	filter: blur(18px) saturate(1.25) contrast(1.12);
	opacity: 0.9;
	z-index: -1;
}

.elementor-button:hover::before,
.elementor-button:focus::before {
	animation: lavaBlobOne 4.2s ease-in-out infinite alternate;
}

.elementor-button:hover::after,
.elementor-button:focus::after {
	animation: lavaBlobTwo 3.6s ease-in-out infinite alternate;
}

.elementor-button .elementor-button-text,
.elementor-button .elementor-button-icon,
.elementor-button i,
.elementor-button svg {
	position: relative;
	z-index: 2;
}

@keyframes lavaBlobOne {
	0% {
		transform: translate(0%, 0%) scale(1) rotate(0deg);
	}
	25% {
		transform: translate(5%, -4%) scale(1.1) rotate(3deg);
	}
	50% {
		transform: translate(-4%, 5%) scale(1.18) rotate(-4deg);
	}
	75% {
		transform: translate(6%, 2%) scale(1.12) rotate(5deg);
	}
	100% {
		transform: translate(-5%, -3%) scale(1.2) rotate(-5deg);
	}
}

@keyframes lavaBlobTwo {
	0% {
		transform: translate(0%, 0%) scale(1) rotate(0deg);
	}
	33% {
		transform: translate(-6%, 4%) scale(1.15) rotate(-4deg);
	}
	66% {
		transform: translate(4%, -5%) scale(1.22) rotate(6deg);
	}
	100% {
		transform: translate(-3%, 6%) scale(1.12) rotate(-6deg);
	}
}
/***
Krasl Static Gradient Background
Layered brand-color gradients for containers/sections.
***/
.krasl-gradient-bg-static {
	background-color: #223548;
	background-image:
		radial-gradient(circle at 15% 20%, rgba(59, 120, 154, 0.95) 0%, transparent 30%),
		radial-gradient(circle at 82% 18%, rgba(65, 96, 74, 0.85) 0%, transparent 28%),
		radial-gradient(circle at 85% 68%, rgba(82, 30, 67, 0.95) 0%, transparent 30%),
		radial-gradient(circle at 22% 82%, rgba(23, 53, 59, 0.95) 0%, transparent 32%),
		radial-gradient(circle at 55% 72%, rgba(59, 120, 154, 0.65) 0%, transparent 28%);
	background-repeat: no-repeat;
	background-size: cover;
}
/***
Krasl Animated Gradient Background
A larger, slower version of the animated gradient used on the buttons.
***/
.krasl-gradient-bg-animated {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: #223548;
}

/* Keep Elementor content above the animated background layers */
.krasl-gradient-bg-animated > * {
	position: relative;
	z-index: 2;
}

/* First moving color layer */
.krasl-gradient-bg-animated::before {
	content: "";
	position: absolute;
	inset: -25%;
	pointer-events: none;
	z-index: 0;

	background:
		radial-gradient(circle at 18% 25%, rgba(59, 120, 154, 0.9) 0%, transparent 28%),
		radial-gradient(circle at 78% 18%, rgba(65, 96, 74, 0.78) 0%, transparent 27%),
		radial-gradient(circle at 82% 60%, rgba(82, 30, 67, 0.95) 0%, transparent 25%),
		radial-gradient(circle at 28% 78%, rgba(23, 53, 59, 0.95) 0%, transparent 30%),
		radial-gradient(circle at 58% 82%, rgba(59, 120, 154, 0.7) 0%, transparent 25%);

	filter: blur(35px) saturate(1.15);
	animation: kraslSectionBlobOne 16s ease-in-out infinite alternate;
}

/* Second moving color layer */
.krasl-gradient-bg-animated::after {
	content: "";
	position: absolute;
	inset: -25%;
	pointer-events: none;
	z-index: 1;

	background:
		radial-gradient(circle at 68% 28%, rgba(82, 30, 67, 0.8) 0%, transparent 23%),
		radial-gradient(circle at 74% 70%, rgba(82, 30, 67, 0.7) 0%, transparent 26%),
		radial-gradient(circle at 30% 18%, rgba(123, 179, 94, 0.65) 0%, transparent 24%),
		radial-gradient(circle at 16% 62%, rgba(73, 106, 116, 0.75) 0%, transparent 25%),
		radial-gradient(circle at 52% 38%, rgba(59, 120, 154, 0.5) 0%, transparent 28%);

	filter: blur(45px) saturate(1.2);
	animation: kraslSectionBlobTwo 20s ease-in-out infinite alternate;
}

/* Slow organic movement for large backgrounds */
@keyframes kraslSectionBlobOne {
	0% {
		transform: translate(0%, 0%) scale(1) rotate(0deg);
	}
	33% {
		transform: translate(4%, -3%) scale(1.06) rotate(2deg);
	}
	66% {
		transform: translate(-3%, 4%) scale(1.1) rotate(-2deg);
	}
	100% {
		transform: translate(5%, 2%) scale(1.05) rotate(3deg);
	}
}

@keyframes kraslSectionBlobTwo {
	0% {
		transform: translate(0%, 0%) scale(1) rotate(0deg);
	}
	33% {
		transform: translate(-4%, 3%) scale(1.08) rotate(-2deg);
	}
	66% {
		transform: translate(3%, -4%) scale(1.12) rotate(3deg);
	}
	100% {
		transform: translate(-2%, 5%) scale(1.06) rotate(-3deg);
	}
}

/* Respect visitors who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
	.krasl-gradient-bg-animated::before,
	.krasl-gradient-bg-animated::after {
		animation: none;
	}
}
/***
Krasl Animated Gradient Background - Small Section Variant

Designed for cards, columns, and narrow content panels.
Blue, teal, and plum are intentionally more prominent,
with green used as a smaller accent.
***/
.krasl-gradient-bg-animated.krasl-gradient-bg-small::before {
	inset: -18%;

	background:
		/* Strong blue - upper left */
		radial-gradient(
			circle at 12% 18%,
			rgba(59, 120, 154, 1) 0%,
			rgba(59, 120, 154, 0.85) 9%,
			transparent 25%
		),

		/* Plum - upper right */
		radial-gradient(
			circle at 82% 20%,
			rgba(82, 46, 67, 1) 0%,
			rgba(82, 46, 67, 0.88) 10%,
			transparent 26%
		),

		/* Deep teal - lower left */
		radial-gradient(
			circle at 18% 78%,
			rgba(23, 53, 59, 1) 0%,
			rgba(23, 53, 59, 0.9) 12%,
			transparent 29%
		),

		/* Medium blue - lower right */
		radial-gradient(
			circle at 78% 76%,
			rgba(59, 120, 154, 0.95) 0%,
			rgba(59, 120, 154, 0.75) 10%,
			transparent 25%
		),

		/* Small green accent */
		radial-gradient(
			circle at 48% 15%,
			rgba(123, 183, 94, 0.6) 0%,
			rgba(123, 183, 94, 0.4) 8%,
			transparent 19%
		);

	filter: blur(18px) saturate(1.25) contrast(1.05);
	opacity: 1;

	animation: kraslSmallBlobOne 11s ease-in-out infinite alternate;
}


.krasl-gradient-bg-animated.krasl-gradient-bg-small::after {
	inset: -18%;

	background:
		/* Plum - center left */
		radial-gradient(
			circle at 28% 42%,
			rgba(82, 46, 67, 0.95) 0%,
			rgba(82, 46, 67, 0.72) 9%,
			transparent 23%
		),

		/* Blue - upper center/right */
		radial-gradient(
			circle at 68% 30%,
			rgba(59, 120, 154, 0.95) 0%,
			rgba(59, 120, 154, 0.7) 10%,
			transparent 25%
		),

		/* Plum - lower right */
		radial-gradient(
			circle at 86% 72%,
			rgba(82, 46, 67, 0.95) 0%,
			rgba(82, 46, 67, 0.7) 10%,
			transparent 24%
		),

		/* Slate blue - lower center */
		radial-gradient(
			circle at 52% 82%,
			rgba(73, 106, 116, 0.9) 0%,
			rgba(73, 106, 116, 0.65) 10%,
			transparent 24%
		),

		/* Subtle green movement */
		radial-gradient(
			circle at 18% 62%,
			rgba(65, 96, 74, 0.55) 0%,
			transparent 18%
		);

	filter: blur(22px) saturate(1.3) contrast(1.08);
	opacity: 0.95;

	animation: kraslSmallBlobTwo 14s ease-in-out infinite alternate;
}


/***
Movement for smaller gradient backgrounds.
Enough travel to reveal the individual colors without
making the panel feel constantly in motion.
***/
@keyframes kraslSmallBlobOne {
	0% {
		transform: translate(0%, 0%) scale(1) rotate(0deg);
	}

	25% {
		transform: translate(6%, -3%) scale(1.08) rotate(3deg);
	}

	50% {
		transform: translate(-5%, 5%) scale(1.12) rotate(-3deg);
	}

	75% {
		transform: translate(5%, 4%) scale(1.07) rotate(4deg);
	}

	100% {
		transform: translate(-4%, -4%) scale(1.11) rotate(-4deg);
	}
}


@keyframes kraslSmallBlobTwo {
	0% {
		transform: translate(0%, 0%) scale(1) rotate(0deg);
	}

	25% {
		transform: translate(-6%, 4%) scale(1.1) rotate(-3deg);
	}

	50% {
		transform: translate(5%, -5%) scale(1.14) rotate(4deg);
	}

	75% {
		transform: translate(-4%, -3%) scale(1.08) rotate(-4deg);
	}

	100% {
		transform: translate(5%, 5%) scale(1.12) rotate(3deg);
	}
}


/* Respect reduced-motion accessibility preferences */
@media (prefers-reduced-motion: reduce) {
	.krasl-gradient-bg-animated.krasl-gradient-bg-small::before,
	.krasl-gradient-bg-animated.krasl-gradient-bg-small::after {
		animation: none;
	}
}
/* Krasl readable button interaction */
.elementor-button.elementor-button-link,.elementor-button.elementor-button-link:visited{color:#fff;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;}
.elementor-button.elementor-button-link:hover,.elementor-button.elementor-button-link:focus-visible,.elementor-button.elementor-button-link:hover .elementor-button-text,.elementor-button.elementor-button-link:focus-visible .elementor-button-text{color:#fff!important;}
.elementor-button.elementor-button-link:hover{transform:translateY(-2px);box-shadow:0 5px 12px rgba(23,53,59,.18);filter:brightness(1.08);}
.elementor-button.elementor-button-link:focus-visible{outline:2px solid #3B789A;outline-offset:4px;}
.elementor-button.elementor-button-link:active{transform:translateY(0);}
@media(prefers-reduced-motion:reduce){.elementor-button.elementor-button-link{transition:none;}.elementor-button.elementor-button-link:hover{transform:none;}}
/* Consistent homepage feature card proportions */
.krasl-feature-boxes{grid-auto-rows:1fr;align-items:stretch;}
.krasl-feature-boxes .krasl-feature-box{height:100%;display:flex;flex-direction:column;}
.krasl-feature-boxes .krasl-feature-box__image-wrap{position:relative;aspect-ratio:1/1;width:100%;overflow:hidden;flex:0 0 auto;}
.krasl-feature-boxes .krasl-feature-box__image{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none;object-fit:cover;object-position:center;}
.krasl-feature-boxes .krasl-feature-box__content{flex:1;}
body .krasl-feature-boxes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;}body .krasl-feature-boxes .krasl-feature-box{width:100%;height:auto;min-width:0;}@media(max-width:1024px){body .krasl-feature-boxes{grid-template-columns:repeat(2,minmax(0,1fr));}}@media(max-width:767px){body .krasl-feature-boxes{grid-template-columns:minmax(0,1fr);}}/* End custom CSS */