/* ===========================================
   Global elementor styles
=========================================== */

.elementor > .e-con-full:not([class*="u-vs--top"]),
.elementor > .e-con-boxed:not([class*="u-vs--top"]) > .e-con-inner,
.elementor-section-wrap > .e-con-full:not([class*="u-vs--top"]),
.elementor-section-wrap > .e-con-boxed:not([class*="u-vs--top"]) > .e-con-inner {
    padding-top: var(--vs-lg);
}

.elementor > .e-con-full:not([class*="u-vs--bot"]),
.elementor > .e-con-boxed:not([class*="u-vs--bot"]) > .e-con-inner,
.elementor-section-wrap > .e-con-full:not([class*="u-vs--bot"]),
.elementor-section-wrap > .e-con-boxed:not([class*="u-vs--bot"]) > .e-con-inner {
    padding-bottom: var(--vs-lg);
}

.e-con.e-con-boxed > .e-con-inner {
    max-width: var(--cw-md);
}

.elementor-section-wrap > .e-con:first-child:not(.u-dark):not(.sh-sec-hero),
[data-elementor-id] > .e-con:first-child:not(.u-dark):not(.sh-sec-hero) {
	border-top: thin solid var(--clr-accent-6);	
}

/* ===========================================
   Buttons within Text column
=========================================== */

.sh-sec.e-con .sh-col-text {
	flex-direction: row;
	flex-wrap: wrap;
	align-self: center;
	justify-content: flex-start;
}

.sh-sec.e-con .sh-col-text .elementor-widget {
	width: 100%;
	flex-grow: 0;
	flex-shrink: 0;
}

.sh-sec.e-con .sh-col-text .elementor-widget-button {
	width: auto;
	flex-grow: 0;
	margin-top: 1rem;
	margin-top: .75rem;
	margin-bottom: 0 !important;
	align-self: flex-end;
}

.sh-sec.e-con .sh-col-text .elementor-widget-button:not(:last-child) {
	margin-right: 1.5rem;
}

/* ===========================================
   Elementor Column Gaps
=========================================== */

.e-con-boxed > .e-con-inner {
	gap: var(--cg-md);	
}

.e-con-full.u-cg--no, .e-con-boxed.u-cg--no > .e-con-inner { gap: 0; }
.e-con-full.u-cg--xs, .e-con-boxed.u-cg--xs > .e-con-inner { gap: var(--cg-xs); }
.e-con-full.u-cg--sm, .e-con-boxed.u-cg--sm > .e-con-inner { gap: var(--cg-sm); }
.e-con-full.u-cg--md, .e-con-boxed.u-cg--md > .e-con-inner { gap: var(--cg-md); }
.e-con-full.u-cg--lg, .e-con-boxed.u-cg--lg > .e-con-inner { gap: var(--cg-lg); }
.e-con-full.u-cg--xl, .e-con-boxed.u-cg--xl > .e-con-inner { gap: var(--cg-xl); }

/* ===========================================
   Section Hero
=========================================== */

.sh-sec-hero.e-con {
    align-items: flex-end;
	padding-top: var(--vs-xl) !important;
	padding-bottom: var(--vs-xl) !important;
}

.sh-sec-hero.e-con:first-child {
    min-height: calc(100vh - var(--header-height));
}

.sh-sec-hero .sh-col-text {
	margin: auto;
	z-index: 2;
	justify-content: center !important;
	text-align: center;
	max-width: var(--cw-md);
}

.sh-sec-hero .sh-col-text .elementor-widget-text-editor {
	max-width: 44rem !important;
}

.sh-sec-hero .sh-col-text .elementor-widget-divider {
	margin: 0 !important;
}

.sh-sec-hero .sh-col-text .elementor-widget-button {
	margin-left: .5rem !important;
	margin-right: .5rem !important;
}

.sh-sec-hero .sh-col-text .elementor-widget-divider .elementor-divider-separator {
	background-color: unset;
	border: unset !important;
}

#content .sh-sec-hero h4,
#content .sh-sec-hero .wso-h4 {
    color: var(--clr-black);
}

.sh-sec-hero .sh-col-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	z-index: 1;
}

.sh-sec-hero .sh-col-img .elementor-widget-image::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #fff;
    z-index: 1;
    opacity: .45;
	pointer-events: none;
}

/* Dark variant */
.sh-sec-hero.u-dark .sh-col-img .elementor-widget-image::before {
    background-color: var(--clr-accent-3);
    opacity: .7;
}

#content .u-dark.sh-sec-hero h4,
#content .u-dark.sh-sec-hero .wso-h4 {
    color: var(--clr-white);
}

/* Media queries */
@media only screen and (min-width: 768px) {
	.sh-sec-hero .sh-col-text {
		padding-left: 10%;
		padding-right: 10%;
	}
}

@media only screen and (max-width: 767px) {
	.sh-sec-hero.e-con:first-child {
	    min-height: unset;
	}
	.sh-sec-hero.e-con {
	    align-items: flex-end;
	}
	.sh-sec-hero.e-con:first-child .sh-col-text {
	    margin-bottom: 1rem;
	}
}

/* ===========================================
   Section Text Image
=========================================== */

.sh-sec-text-img.e-con-boxed > .e-con-inner,
.sh-sec-text-img.e-con-full {
	flex-direction: row !important;
}

.sh-sec-text-img .sh-col-text,
.sh-sec-text-img .sh-col-img {
    justify-content: center;
}

@media only screen and (max-width: 767px) {
    .sh-sec-text-img .sh-col-img {
		min-height: 75vw;
		order: -1;
    }
}

/* Section Text Image -- Boxed */
.sh-sec-text-img.e-con-boxed > .e-con-inner {
	gap: var(--vs-sm);
}

@media only screen and (min-width: 768px) {
	.sh-sec-text-img.e-con-boxed > .e-con-inner {
		gap: var(--cg-xl);
	}
    .sh-sec-text-img.e-con-boxed .sh-col-img {
		max-height: 75vh;
	}
    .sh-sec-text-img.e-con-boxed .sh-col-text {
        min-height: 20rem;
        padding: var(--vs-md) 0;
    }
}

/* Section Text Image -- Full Width */
.sh-sec-text-img.e-con-full .sh-col-text {
    padding-top: var(--vs-md);
    padding-bottom: var(--vs-md);
	max-width: var(--cw-lg);
	margin: auto;
}

.sh-sec-text-img.e-con-full:not(.u-dark) {
	background-color: var(--clr-accent-5);
}

@media only screen and (min-width: 768px) {
    .sh-sec-text-img.e-con-full .sh-col-img,
    .sh-sec-text-img.e-con-full .sh-col-text {
        width: 50%;
    }
    .sh-sec-text-img.e-con-full .sh-col-text {
        min-height: 30rem;
        padding-left: 7.5%;
        padding-right: 7.5%;
		align-content: center;
    }
}

/* ===========================================
   Section Text
=========================================== */

.sh-sec-text.e-con-full,
.sh-sec-text.e-con-boxed .e-con-inner {
	flex-direction: row !important;
}

.sh-sec-text.e-con-full {
	padding-left: calc( (100vw - var(--cw-lg) - var(--sb-width)) / 2 );
	padding-right: calc( (100vw - var(--cw-lg) - var(--sb-width)) / 2 );
}

.sh-sec-text .sh-col-text {
	margin-top: 0;
	margin-bottom: auto;
}

/* ===========================================
   Section Img Box
=========================================== */

.sh-sec-imgbox.e-con-full,
.sh-sec-imgbox.e-con-boxed .e-con-inner {
	flex-direction: column !important;
}

.sh-sec-imgbox.e-con-full {
	padding-left: calc( (100vw - var(--cw-lg) - var(--sb-width)) / 2 );
	padding-right: calc( (100vw - var(--cw-lg) - var(--sb-width)) / 2 );
}

/* Text column */
.sh-sec-imgbox .sh-col-text {
	justify-content: center !important;
	text-align: center !important;
	max-width: 40rem;
	margin-bottom: var(--vs-sm);
}

/* Widget */
#content .sh-col-imgbox .elementor-widget-image-box {
	margin-bottom: 0 !important;
}

.sh-col-imgbox .elementor-image-box-wrapper {
	height: 100%;
	display: flex;
	flex-direction: column;
}
.sh-col-imgbox .elementor-image-box-content {
	padding: var(--cg-lg);
	border: thin solid var(--clr-accent-6);
	border-top: none;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

#content .sh-col-imgbox .elementor-image-box-title {
	font-size: var(--fs-5);
	line-height: var(--lh-5);
}

.sh-col-imgbox .elementor-image-box-subtitle {
	display: inline-block;
	font-size: var(--fs-1);
	line-height: var(--lh-2);
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: .15em;
	margin-bottom: 1.5rem;
	color: var(--clr-accent-2) !important;
	position: relative;
}

.sh-col-imgbox .elementor-image-box-content .elementor-button-wrapper {
	margin-top: auto;
}

#content .sh-col-imgbox .elementor-image-box-subtitle:not(:last-child) {
	margin-bottom: 1rem !important;
}

#content .sh-col-imgbox .elementor-image-box-title:not(:last-child) {
	margin-bottom: 1rem !important;
}

#content .sh-col-imgbox .elementor-image-box-description:not(:last-child) {
	margin-bottom: 1.75rem !important;
}

.sh-col-imgbox .elementor-image-box-img {
	position: relative;
	padding-top: 56.25%;
	background-color: var(--clr-accent-5);
	flex-grow: 0;
	flex-shrink: 0;
	overflow: hidden;
}

.sh-col-imgbox .elementor-image-box-img > a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;	
}

.sh-col-imgbox .elementor-image-box-img:has(img[src$="svg"]) {
	border: thin solid var(--clr-accent-6);
	border-bottom: none;	
}

.sh-col-imgbox .elementor-image-box-img img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transition: opacity .35s ease, transform .35s ease;
}

.sh-col-imgbox .elementor-image-box-img img[src$="svg"] {
	object-fit: contain !important;
	margin: 0 auto !important;
	width: 10rem;
	height: auto;
	max-height: 75%;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.sh-col-imgbox .elementor-image-box-wrapper:hover img {
	transform: scale3d(1.1, 1.1, 1);
}

.sh-col-imgbox .elementor-image-box-wrapper:hover img[src$="svg"] {
	transform: translate(-50%, -50%) scale3d(1.1, 1.1, 1);
}

/* Layout */
.sh-col-imgbox + .sh-col-imgbox {
	margin-top: var(--cg-md);
}

.sh-col-imgbox .elementor-widget-image-box {
	padding: var(--cg-md);
	width: 100%;
}

.sh-col-imgbox.e-con-full,
.sh-col-imgbox.e-con-boxed .e-con-inner {
	flex-direction: row !important;
	flex-wrap: wrap;
	gap: 0;
	max-width: none;
	width: calc(100% + (2 * var(--cg-md)));
	margin: calc(-1 * var(--cg-md));
}

@media only screen and (min-width: 768px) {
	/* two items */
	.sh-col-imgbox .elementor-widget-image-box:first-child:nth-last-child(2),
	.sh-col-imgbox .elementor-widget-image-box:first-child:nth-last-child(2) ~ .elementor-widget-image-box,
	/* For changed HTML markup within Elementor Editor */
	body.elementor-editor-active .sh-col-imgbox.e-con-full .elementor-widget-image-box:nth-child(4):nth-last-child(3),
	body.elementor-editor-active .sh-col-imgbox.e-con-full .elementor-widget-image-box:nth-child(4):nth-last-child(3) ~ .elementor-widget-image-box,
	body.elementor-editor-active .sh-col-imgbox.e-con-boxed .elementor-widget-image-box:nth-child(3):nth-last-child(2),
	body.elementor-editor-active .sh-col-imgbox.e-con-boxed .elementor-widget-image-box:nth-child(3):nth-last-child(2) ~ .elementor-widget-image-box {
	    width: 50%;
	}
}

@media only screen and (min-width: 1024px) {
	/* three items */
	.sh-col-imgbox .elementor-widget-image-box:first-child:nth-last-child(3),
	.sh-col-imgbox .elementor-widget-image-box:first-child:nth-last-child(3) ~ .elementor-widget-image-box,
	/* For changed HTML markup within Elementor Editor */
	body.elementor-editor-active .sh-col-imgbox.e-con-full .elementor-widget-image-box:nth-child(4):nth-last-child(4),
	body.elementor-editor-active .sh-col-imgbox.e-con-full .elementor-widget-image-box:nth-child(4):nth-last-child(4) ~ .elementor-widget-image-box,
	body.elementor-editor-active .sh-col-imgbox.e-con-boxed .elementor-widget-image-box:nth-child(3):nth-last-child(3),
	body.elementor-editor-active .sh-col-imgbox.e-con-boxed .elementor-widget-image-box:nth-child(3):nth-last-child(3) ~ .elementor-widget-image-box {
	    width: 33.3333%;
	}
}

@media only screen and (min-width: 1240px) {
	/* four items */
	.sh-col-imgbox .elementor-widget-image-box:first-child:nth-last-child(4),
	.sh-col-imgbox .elementor-widget-image-box:first-child:nth-last-child(4) ~ .elementor-widget-image-box,
	/* For changed HTML markup within Elementor Editor */
	body.elementor-editor-active .sh-col-imgbox.e-con-full .elementor-widget-image-box:nth-child(4):nth-last-child(5),
	body.elementor-editor-active .sh-col-imgbox.e-con-full .elementor-widget-image-box:nth-child(4):nth-last-child(5) ~ .elementor-widget-image-box,
	body.elementor-editor-active .sh-col-imgbox.e-con-boxed .elementor-widget-image-box:nth-child(3):nth-last-child(4),
	body.elementor-editor-active .sh-col-imgbox.e-con-boxed .elementor-widget-image-box:nth-child(3):nth-last-child(4) ~ .elementor-widget-image-box {
		width: 25%;
	}
}

@media only screen and (max-width: 1023px) and (min-width: 768px) {
	/* three items */
	.sh-col-imgbox .elementor-widget-image-box:first-child:nth-last-child(3),
	.sh-col-imgbox .elementor-widget-image-box:first-child:nth-last-child(3) ~ .elementor-widget-image-box,
	/* For changed HTML markup within Elementor Editor */
	body.elementor-editor-active .sh-col-imgbox.e-con-full .elementor-widget-image-box:nth-child(4):nth-last-child(4),
	body.elementor-editor-active .sh-col-imgbox.e-con-full .elementor-widget-image-box:nth-child(4):nth-last-child(4) ~ .elementor-widget-image-box,
	body.elementor-editor-active .sh-col-imgbox.e-con-boxed .elementor-widget-image-box:nth-child(3):nth-last-child(3),
	body.elementor-editor-active .sh-col-imgbox.e-con-boxed .elementor-widget-image-box:nth-child(3):nth-last-child(3) ~ .elementor-widget-image-box {
	    width: 50%;
	}

	/* three items - first item in row */
	.sh-col-imgbox .elementor-widget-image-box:first-child:nth-last-child(3) ~ .elementor-widget-image-box:last-child,
	/* For changed HTML markup within Elementor Editor */
	body.elementor-editor-active .sh-col-imgbox.e-con-full .elementor-widget-image-box:nth-child(4):nth-last-child(4) ~ .elementor-widget-image-box:nth-last-child(2),
	body.elementor-editor-active .sh-col-imgbox.e-con-boxed .elementor-widget-image-box:nth-child(3):nth-last-child(3) ~ .elementor-widget-image-box:nth-last-child(1) {
	    width: 100%;
	}
}

@media only screen and (max-width: 1239px) and (min-width: 768px) {
	/* four items */
	.sh-col-imgbox .elementor-widget-image-box:first-child:nth-last-child(4),
	.sh-col-imgbox .elementor-widget-image-box:first-child:nth-last-child(4) ~ .elementor-widget-image-box,
	/* For changed HTML markup within Elementor Editor */
	body.elementor-editor-active .sh-col-imgbox.e-con-full .elementor-widget-image-box:nth-child(4):nth-last-child(5),
	body.elementor-editor-active .sh-col-imgbox.e-con-full .elementor-widget-image-box:nth-child(4):nth-last-child(5) ~ .elementor-widget-image-box,
	body.elementor-editor-active .sh-col-imgbox.e-con-boxed .elementor-widget-image-box:nth-child(3):nth-last-child(4),
	body.elementor-editor-active .sh-col-imgbox.e-con-boxed .elementor-widget-image-box:nth-child(3):nth-last-child(4) ~ .elementor-widget-image-box {
	    width: 50%;
	}
}

@media only screen and (max-width: 1239px) {
	.sh-col-imgbox + .sh-col-imgbox {
		margin-top: var(--cg-xs);
	}
	.sh-col-imgbox .elementor-widget-image-box {
		padding: var(--cg-xs);
	}
	.sh-col-imgbox.e-con-full,
	.sh-col-imgbox.e-con-boxed .e-con-inner {
		width: calc(100% + (2 * var(--cg-xs)));
		margin: calc(-1 * var(--cg-xs));
	}
}

@media only screen and (max-width: 1023px) {
	.sh-col-imgbox .elementor-image-box-content {
		padding: var(--cg-md);
	}
}

/* ===========================================
   Section Image Box -- Treasury Systems
=========================================== */

.sh-sec-imgbox--treasury-systems .sh-col-imgbox .elementor-image-box-img {
	padding-top: 45%;
}

.sh-col-imgbox .elementor-image-box-img img[src*="logo-sap.svg"] {
	max-height: 42%;
}

/* ===========================================
   Section Icon Box
=========================================== */

/* Widget */
#content .sh-col-iconbox .elementor-widget-icon-box {
	margin-bottom: 0 !important;
}

.sh-col-iconbox .elementor-widget-icon-box .elementor-icon-box-wrapper {
	padding: var(--cg-md);
	border: thin solid var(--clr-accent-6);
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: stretch;
	background-color: var(--clr-white);
}

.sh-col-iconbox .elementor-widget-icon-box .elementor-icon-box-wrapper:hover {
	border-color: var(--clr-accent-2);
	background-color: var(--clr-accent-2);
	transform: translate3d(0, -.5rem, 0);
}

.sh-col-iconbox .elementor-icon-box-icon {
	flex-grow: 0;
	flex-shrink: 0;
}

.sh-col-iconbox .elementor-icon-box-content {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.sh-col-iconbox .elementor-icon-box-content .elementor-button-wrapper {
	margin-top: auto;
}

.sh-col-iconbox .elementor-icon {
	margin-bottom: .75rem;
	flex-grow: 0;
	flex-shrink: 0;
}

.sh-col-iconbox .elementor-icon svg {
	width: 100%;
	height: auto;
	width: 3rem;
	height: 3rem;
	overflow: visible !important;
}

.sh-col-iconbox .elementor-icon svg,
.sh-col-iconbox .elementor-icon svg * {
	stroke-width: 1 !important;
	stroke: var(--clr-accent-2);
}

#content .sh-col-iconbox .elementor-icon-box-title {
	font-size: var(--fs-3);
	line-height: var(--lh-5);
	font-weight: 400;
	color: var(--clr-black);
}

#content .sh-col-iconbox .elementor-icon-box-title:not(:last-child) {
	margin-bottom: 1rem !important;
}

#content .sh-col-iconbox .elementor-icon-box-description:not(:last-child) {
	margin-bottom: 1.75rem !important;
}

.elementor-icon-box-title a {
	transition: unset;
}

.sh-col-iconbox .elementor-widget-icon-box .elementor-icon-box-wrapper,
.sh-col-iconbox .elementor-icon-box-title,
.sh-col-iconbox .elementor-icon-box-description,
.sh-col-iconbox .elementor-icon svg,
.sh-col-iconbox .elementor-icon svg *,
.sh-col-iconbox .elementor-button {
	transition: color .5s ease, fill .5s ease, stroke .5s ease, background-color .5s ease, border-color .5s ease, transform .5s ease;
}

/* Widget Hover */
.sh-col-iconbox .elementor-widget-icon-box .elementor-icon-box-wrapper:hover .elementor-icon-box-title,
.sh-col-iconbox .elementor-widget-icon-box .elementor-icon-box-wrapper:hover .elementor-icon-box-description {
	color: var(--clr-white) !important;
}

.sh-col-iconbox .elementor-widget-icon-box .elementor-icon-box-wrapper:hover .elementor-icon svg,
.sh-col-iconbox .elementor-widget-icon-box .elementor-icon-box-wrapper:hover .elementor-icon svg * {
	stroke: var(--clr-accent-1) !important;
}

.sh-col-iconbox .elementor-widget-icon-box .elementor-icon-box-wrapper:hover .elementor-button {
	color: var(--clr-accent-2) !important;
	border-color: var(--clr-white) !important;
	background-color: var(--clr-white) !important;
}

.sh-col-iconbox .elementor-widget-icon-box .elementor-icon-box-wrapper:hover .elementor-button:hover {
	color: var(--clr-white) !important;
	border-color: var(--clr-accent-1) !important;
	background-color: var(--clr-accent-1) !important;
}

/* Text column */
.sh-sec-iconbox .sh-col-text {
	justify-content: center !important;
	text-align: center !important;
	max-width: 40rem;
	margin-bottom: var(--vs-sm);
}

/* Layout */
.sh-sec-iconbox.e-con-full {
	padding-left: calc( (100vw - var(--cw-lg) - var(--sb-width)) / 2 );
	padding-right: calc( (100vw - var(--cw-lg) - var(--sb-width)) / 2 );
}

.sh-col-iconbox.e-con-full,
.sh-col-iconbox.e-con-boxed .e-con-inner {
	flex-direction: row !important;
	flex-wrap: wrap;
	gap: 0;
	max-width: none;
	width: calc(100% + (2 * var(--cg-xs)));
	margin: calc(-1 * var(--cg-xs));
}

.sh-sec-hero + .sh-sec-iconbox.u-vs--top-no {
	margin-top: calc(-3rem - var(--vs-lg)) !important;
	z-index: 1;
}

.sh-sec-hero + .sh-sec-iconbox.u-vs--top-no > .e-con-inner {
	padding-top: var(--vs-lg) !important;
}

.sh-sec-hero + .sh-sec-iconbox.u-vs--top-no {
	margin-top: -3rem;
	z-index: 1;
}

.sh-col-iconbox + .sh-col-iconbox {
	margin-top: var(--cg-sm);
}

.sh-col-iconbox .elementor-widget-icon-box {
	padding: var(--cg-xs);
	width: 100%;
}

@media only screen and (min-width: 768px) {
	/* two items */
	.sh-col-iconbox .elementor-widget-icon-box:first-child:nth-last-child(2),
	.sh-col-iconbox .elementor-widget-icon-box:first-child:nth-last-child(2) ~ .elementor-widget-icon-box,
	/* For changed HTML markup within Elementor Editor */
	body.elementor-editor-active .sh-col-iconbox.e-con-full .elementor-widget-icon-box:nth-child(4):nth-last-child(3),
	body.elementor-editor-active .sh-col-iconbox.e-con-full .elementor-widget-icon-box:nth-child(4):nth-last-child(3) ~ .elementor-widget-icon-box,
	body.elementor-editor-active .sh-col-iconbox.e-con-boxed .elementor-widget-icon-box:nth-child(3):nth-last-child(2),
	body.elementor-editor-active .sh-col-iconbox.e-con-boxed .elementor-widget-icon-box:nth-child(3):nth-last-child(2) ~ .elementor-widget-icon-box {
	    width: 50%;
	}
}

@media only screen and (min-width: 1024px) {
	/* three items */
	.sh-col-iconbox .elementor-widget-icon-box:first-child:nth-last-child(3),
	.sh-col-iconbox .elementor-widget-icon-box:first-child:nth-last-child(3) ~ .elementor-widget-icon-box,
	/* For changed HTML markup within Elementor Editor */
	body.elementor-editor-active .sh-col-iconbox.e-con-full .elementor-widget-icon-box:nth-child(4):nth-last-child(4),
	body.elementor-editor-active .sh-col-iconbox.e-con-full .elementor-widget-icon-box:nth-child(4):nth-last-child(4) ~ .elementor-widget-icon-box,
	body.elementor-editor-active .sh-col-iconbox.e-con-boxed .elementor-widget-icon-box:nth-child(3):nth-last-child(3),
	body.elementor-editor-active .sh-col-iconbox.e-con-boxed .elementor-widget-icon-box:nth-child(3):nth-last-child(3) ~ .elementor-widget-icon-box {
	    width: 33.3333%;
	}
}

@media only screen and (min-width: 1240px) {
	/* four items */
	.sh-col-iconbox .elementor-widget-icon-box:first-child:nth-last-child(4),
	.sh-col-iconbox .elementor-widget-icon-box:first-child:nth-last-child(4) ~ .elementor-widget-icon-box,
	/* For changed HTML markup within Elementor Editor */
	body.elementor-editor-active .sh-col-iconbox.e-con-full .elementor-widget-icon-box:nth-child(4):nth-last-child(5),
	body.elementor-editor-active .sh-col-iconbox.e-con-full .elementor-widget-icon-box:nth-child(4):nth-last-child(5) ~ .elementor-widget-icon-box,
	body.elementor-editor-active .sh-col-iconbox.e-con-boxed .elementor-widget-icon-box:nth-child(3):nth-last-child(4),
	body.elementor-editor-active .sh-col-iconbox.e-con-boxed .elementor-widget-icon-box:nth-child(3):nth-last-child(4) ~ .elementor-widget-icon-box {
		width: 25%;
	}
}

@media only screen and (max-width: 1023px) and (min-width: 768px) {
	/* three items */
	.sh-col-iconbox .elementor-widget-icon-box:first-child:nth-last-child(3),
	.sh-col-iconbox .elementor-widget-icon-box:first-child:nth-last-child(3) ~ .elementor-widget-icon-box,
	/* For changed HTML markup within Elementor Editor */
	body.elementor-editor-active .sh-col-iconbox.e-con-full .elementor-widget-icon-box:nth-child(4):nth-last-child(4),
	body.elementor-editor-active .sh-col-iconbox.e-con-full .elementor-widget-icon-box:nth-child(4):nth-last-child(4) ~ .elementor-widget-icon-box,
	body.elementor-editor-active .sh-col-iconbox.e-con-boxed .elementor-widget-icon-box:nth-child(3):nth-last-child(3),
	body.elementor-editor-active .sh-col-iconbox.e-con-boxed .elementor-widget-icon-box:nth-child(3):nth-last-child(3) ~ .elementor-widget-icon-box {
	    width: 50%;
	}

	/* three items - first item in row */
	.sh-col-iconbox .elementor-widget-icon-box:first-child:nth-last-child(3) ~ .elementor-widget-icon-box:last-child,
	/* For changed HTML markup within Elementor Editor */
	body.elementor-editor-active .sh-col-iconbox.e-con-full .elementor-widget-icon-box:nth-child(4):nth-last-child(4) ~ .elementor-widget-icon-box:nth-last-child(2),
	body.elementor-editor-active .sh-col-iconbox.e-con-boxed .elementor-widget-icon-box:nth-child(3):nth-last-child(3) ~ .elementor-widget-icon-box:nth-last-child(1) {
	    width: 100%;
	}
}

@media only screen and (max-width: 1239px) and (min-width: 768px) {
	/* four items */
	.sh-col-iconbox .elementor-widget-icon-box:first-child:nth-last-child(4),
	.sh-col-iconbox .elementor-widget-icon-box:first-child:nth-last-child(4) ~ .elementor-widget-icon-box,
	/* For changed HTML markup within Elementor Editor */
	body.elementor-editor-active .sh-col-iconbox.e-con-full .elementor-widget-icon-box:nth-child(4):nth-last-child(5),
	body.elementor-editor-active .sh-col-iconbox.e-con-full .elementor-widget-icon-box:nth-child(4):nth-last-child(5) ~ .elementor-widget-icon-box,
	body.elementor-editor-active .sh-col-iconbox.e-con-boxed .elementor-widget-icon-box:nth-child(3):nth-last-child(4),
	body.elementor-editor-active .sh-col-iconbox.e-con-boxed .elementor-widget-icon-box:nth-child(3):nth-last-child(4) ~ .elementor-widget-icon-box {
	    width: 50%;
	}
}


/* Dark Variant */
.u-dark .sh-col-iconbox .elementor-widget-icon-box .elementor-icon-box-wrapper {
	border-color: var(--clr-white);
}

.sh-sec-iconbox.u-dark .elementor-icon-box-wrapper {
	background-color: transparent;
}

.sh-sec-iconbox.u-dark .elementor-icon-box-title {
	color: var(--clr-white) !important;
}

.sh-sec-iconbox.u-dark .elementor-icon svg,
.sh-sec-iconbox.u-dark .elementor-icon svg * {
	stroke: var(--clr-accent-1);
}

.sh-sec-iconbox.u-dark .sh-col-iconbox .elementor-widget-icon-box .elementor-icon-box-wrapper:hover {
	background-color: var(--clr-white);
}

.sh-sec-iconbox.u-dark .sh-col-iconbox .elementor-widget-icon-box .elementor-icon-box-wrapper:hover .elementor-icon-box-title {
	color: var(--clr-black) !important;
}

.sh-sec-iconbox.u-dark .sh-col-iconbox .elementor-widget-icon-box .elementor-icon-box-wrapper:hover .elementor-icon-box-description {
	color: var(--clr-accent-4) !important;
}

.sh-sec-iconbox.u-dark .sh-col-iconbox .elementor-widget-icon-box .elementor-icon-box-wrapper:hover .elementor-icon svg,
.sh-sec-iconbox.u-dark .sh-col-iconbox .elementor-widget-icon-box .elementor-icon-box-wrapper:hover .elementor-icon svg * {
	stroke: var(--clr-accent-2) !important;
}

.sh-sec-iconbox.u-dark .sh-col-iconbox .elementor-widget-icon-box .elementor-icon-box-wrapper:hover .elementor-button {
	color: var(--clr-white) !important;
	border-color: var(--clr-accent-2) !important;
	background-color: var(--clr-accent-2) !important;
}

.sh-sec-iconbox.u-dark .sh-col-iconbox .elementor-widget-icon-box .elementor-icon-box-wrapper:hover .elementor-button:hover {
	color: var(--clr-white) !important;
	border-color: var(--clr-accent-1) !important;
	background-color: var(--clr-accent-1) !important;
}


/* ===========================================
   Section Grid
=========================================== */

.sh-sec-grid {
	overflow: hidden;
}

/* ===========================================
   Section Slider
=========================================== */

.sh-sec-slider {
	overflow: hidden;
}

/* ===========================================
   Privacy
=========================================== */

.sh-sec-privacy a:not([href*="mailto"]) {
	word-break: break-word;
}

/* ===========================================
   Section - Small CTA
=========================================== */

.sh-sec-cta-small.sh-sec-text-img {
	background-color: unset !important;
}

.sh-sec-cta-small.sh-sec-text-img .e-con-inner {
	gap: 0 !important;
}

.sh-sec-cta-small.sh-sec-text-img .sh-col-text {
	padding: var(--vs-md);
}

.sh-sec-cta-small.sh-sec-text-img.u-dark .sh-col-text {
	background-color: var(--clr-accent-2) !important;
}

.sh-sec-cta-small.sh-sec-text-img:not(.u-dark) .sh-col-text {
	background-color: var(--clr-accent-5) !important;
}

@media only screen and (max-width: 1239px) {
	.sh-sec-cta-small.sh-sec-text-img .sh-col-text {
		padding: var(--vs-sm);
	}
}

@media only screen and (max-width: 767px) {
	.sh-sec-cta-small.sh-sec-text-img .sh-col-text {
		padding: 2rem;
	}
}

/* ===========================================
   Section Service
=========================================== */

.sh-sec-service,
.sh-sec-service + .sh-sec-cta-small,
.sh-sec-service + .e-con:not(.u-dark):not(.sh-sec-hero) {
	border-top: thin solid var(--clr-accent-6);
}

.sh-sec-service .elementor-widget-icon .elementor-icon-wrapper {
	text-align: left !important;
	background-color: var(--clr-accent-2);
	width: 3rem !important;
	height: 3rem !important;
	display: flex;
	justify-content: center;
	align-items: center;
}

.sh-sec-service .elementor-widget-icon svg,
.sh-sec-service .elementor-widget-icon svg * {
	display: block;
	width: 2.5rem !important;
	height: auto !important;
	stroke-width: .85 !important;
	stroke: var(--clr-white) !important;
}

.sh-sec-service.u-dark .elementor-widget-icon .elementor-icon-wrapper {
	background-color: var(--clr-white);
}

.sh-sec-service.u-dark .elementor-widget-icon svg,
.sh-sec-service.u-dark .elementor-widget-icon svg * {
	stroke: var(--clr-accent-2) !important;
}

@media only screen and (min-width: 768px) {
	.sh-sec-service .sh-col-text:not(:last-child) {
		margin-top: 0;
		margin-bottom: auto;
		position: sticky;
		top: 1.5rem;
		transition: top .5s ease;
	}
	body.sh-header--reveal .sh-sec-service .sh-col-text:not(:last-child) {
		top: calc(1.5rem + var(--header-height-sticky));
	}
	.sh-sec-service .sh-col-text:last-child {
		padding-top: 4.25rem; /* Height of icon plus margin-bottom of icon-widget */
	}
}

@media only screen and (min-width: 1024px) {
	.sh-sec-service .sh-col-text:not(:last-child) {
		width: 33.33%;
	}
	.sh-sec-service .sh-col-text:last-child {
		width: 66.66%;
		max-width: 35rem;
		margin-left: 0;
		margin-right: auto;
	}
}

@media only screen and (max-width: 767px) {
	.sh-sec-service > .e-con-inner {
		gap: 1.25rem !important;
	}
}

/* ===========================================
   Section Team Intro
=========================================== */

.sh-sec-team-intro .sh-col-text {
	text-align: center;
	justify-content: center !important;
	align-items: center;
	align-content: center;
	max-width: 41rem;
	margin-left: auto;
	margin-right: auto;
}

.sh-sec-team-intro .sh-col-text .elementor-widget-button {
	margin-left: .5rem !important;
	margin-right: .5rem !important;
}


/* ===========================================
   Section Contact Intro
=========================================== */

.sh-sec-contact-intro .elementor-heading-title.elementor-size-small {
	margin-bottom: .75rem !important;
}

.sh-sec-contact-intro .elementor-heading-title.elementor-size-xl,
.sh-sec-contact-intro .elementor-heading-title.elementor-size-xxl,.sh-sec-contact-intro .elementor-widget-text-editor:not(:last-child) {
	margin-bottom: 2.25rem !important;
}

/* ===========================================
   Section Form
=========================================== */

.sh-sec-form .elementor-widget {
	max-width: 50rem !important;
	margin-left: auto;
	margin-right: auto;
}

/* ===========================================
Section Sidepanel
=========================================== */

#sh-sidebar__parent .e-con {
	border-top: none !important;
}

#sh-sidebar__parent .sh-sec {
	border-top: none;
}

.sh-sec-sidepanel .elementor-heading-title.elementor-size-xl {
	margin-bottom: .5rem !important;
}

.sh-sec-sidepanel .elementor-widget-form {
	padding-top: 3rem;
}

.sh-sec-sidepanel .elementor-field-type-html,
.sh-sec-sidepanel .elementor-field-type-html .elementor-heading-title.elementor-size-small {
	margin-bottom: 0 !important;
}

.sh-sec-sidepanel .elementor-field-type-html:not(:first-child) .elementor-heading-title.elementor-size-small {
	margin-top: 3rem;
}

.sh-sec-sidepanel .elementor-field-type-html + .elementor-field-type-textarea {
	margin-top: 1.5rem !important;
}

.sh-sec-sidepanel .elementor-field-type-html + .elementor-field-type-checkbox {
	margin-top: .5rem !important;
}

@media only screen and (max-width: 767px) {
	.sh-sec-sidepanel .elementor-widget-form {
		padding-top: 1.5rem;
	}
	.sh-sec-sidepanel .elementor-field-type-html:not(:first-child) .elementor-heading-title.elementor-size-small {
		margin-top: 2rem;
	}
}

/* ===========================================
   Section Imprint
=========================================== */

.sh-sec-imprint .elementor-widget-text-editor {
	padding-top: 1.5rem;
}

.sh-sec-imprint .elementor-widget-text-editor h6 {
	margin-bottom: .5rem !important;;
}

/* ===========================================
   Section SAP and ION ITS Intro
=========================================== */

.sh-sec-sap-intro .sh-col-img,
.sh-sec-ion-intro .sh-col-img {
	background-color: var(--clr-accent-5);
}

.sh-sec-sap-intro .elementor-image,
.sh-sec-ion-intro .elementor-image {
	display: flex;
	align-items: center;
	justify-content: center;
}

.sh-sec-sap-intro .elementor-image::before,
.sh-sec-ion-intro .elementor-image::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-position: center center;
    background-repeat: repeat;
    background-size: auto 175%;
	opacity: .05;
	filter: grayscale(1);
	pointer-events: none;
}

.sh-sec-sap-intro .elementor-image::before {
    background-position: 8% center;
    background-size: auto 200%;
	background-image: url(/wp-content/uploads/2025/07/logo-sap.svg);
}

.sh-sec-ion-intro .elementor-image::before {
	background-image: url(/wp-content/uploads/2025/07/logo-ion.svg);
}

#content .sh-sec-sap-intro img[src$="logo-sap.svg"],
#content .sh-sec-ion-intro img[src$="logo-ion.svg"] {
	object-fit: contain;
	height: auto;
	width: 50%;
	max-height: 9rem;
	max-width: 18rem;
}

/* ===========================================
   Section SAP and ION ITS Content
=========================================== */

.sh-sec-sap-content,
.sh-sec-ion-content {
	border-bottom: thin solid var(--clr-accent-6);
}

.sh-sec-sap-content .elementor-widget-text-editor,
.sh-sec-ion-content .elementor-widget-text-editor {
	max-width: 42rem !important;
}

.sh-contact-box .elementor-image-box-content {
	margin-top: 1.25rem;
}

.sh-contact-box .elementor-image-box-img {
	position: relative;
	overflow: hidden;
}

.sh-contact-box .elementor-image-box-img::before {
    content: "";
	position: relative;
	display: block;
	padding-top: 56.25%;
}

.sh-contact-box .elementor-image-box-img img {
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	object-fit: cover;
	object-position: center top;
	overflow-clip-margin: border-box;
}

#content .sh-contact-box .elementor-image-box-title {
	margin-bottom: .75rem !important;
	font-size: var(--fs-4) !important;
	line-height: var(--lh-4) !important;
	color: var(--clr-black) !important;
}

.sh-contact-box .elementor-button-wrapper {
	margin-top: 1rem !important;
}

@media only screen and (min-width: 1024px) {
	.sh-sec-sap-content > .e-con-inner,
	.sh-sec-ion-content > .e-con-inner {
		gap: 0 !important;
	}
	.sh-sec-sap-content .sh-col-text:not(:last-child),
	.sh-sec-ion-content .sh-col-text:not(:last-child) {
		width: 66.66%;
		padding-right: 4rem;
		border-right: thin solid var(--clr-accent-6);
	}
	.sh-sec-sap-content .sh-col-text:last-child,
	.sh-sec-ion-content .sh-col-text:last-child {
		width: 33.33%;
		padding-left: 4rem;
	}
}

@media only screen and (min-width: 768px) {
	.sh-sec-sap-content .sh-col-text:last-child,
	.sh-sec-ion-content .sh-col-text:last-child {
		position: sticky;
		top: 1.5rem;
		transition: top .35s ease;
	}
	body.sh-header--reveal .sh-sec-sap-content .sh-col-text:last-child,
	body.sh-header--reveal .sh-sec-ion-content .sh-col-text:last-child {
		top: calc(1.5rem + var(--header-height-sticky));
	}
}

.elementor-widget-text-editor img {
	margin: 1.5rem 0;
	max-width: 40rem;
	width: 100%;
	height: auto;
	max-height: 25rem;
	object-fit: contain;
	object-position: left center;
}

.elementor-widget-text-editor h2 {
	font-size: var(--fs-5) !important;
	line-height: var(--lh-5) !important;
}