.entry-content > .wp-block-group:not(.has-background) {
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
}

.wp-block-group.has-ai-bug {
  position: relative;
  overflow: hidden;

  &:before {
    content: "";
    position: absolute;
    top: 100%;
    right: 0;
    width: 50vw;
    aspect-ratio: 1 / 1;
    transform: translateY(-60%);
    background-image: url(../../../images/KBD\ AI.svg);
    background-size: cover;
    background-repeat: no-repeat;
    pointer-events: none;
  }
}

.wp-block-group.is-style-pre-footer {
	background: linear-gradient(180deg, #E9E9E9 0%, #F3F3F3 10%, #FAF7F7 21.15%, #F3F3F3 63.46%, #CBF90C 90%, #49D31B 100%);
	z-index: 2;
	position: sticky;
	bottom: 0;
	border-radius: 0 0 60px 60px;
	margin-top: -60px;
	margin-bottom: -100%;
	box-shadow: 0px 32px 32px 0px rgba(0, 0, 0, 0.50);
}

div:has( ~ .wp-block-group.is-style-pre-footer) {
	z-index: 10;
	position: relative;
	background-color: var(--wp--preset--color--base);
}

.wp-block-group:has( + .wp-block-group.is-style-pre-footer) {
	border-bottom-left-radius: 60px !important;
	border-bottom-right-radius: 60px !important;
	box-shadow: 0px 16px 16px 0px rgba(0, 0, 0, 0.10);
	z-index: 10;
	position: relative !important;
}


/**
 5
 * Scroll Content
 *
 */
.is-style-scroll-content {
	z-index: 4 !important;
	position: relative;
	* {
		margin-top: 0;
	}
}
body:not(.editor-styles-wrapper):not(.block-editor-page) .is-style-scroll-content.is-vertical {
	position: relative;
	overflow: hidden;
	mask-image: linear-gradient(to bottom, transparent 0px, black 50px, black calc(100% - 50px), transparent 100%);

	>*{
		position: absolute;
		top: 0; 
		margin-top:0;
		will-change: transform;
	}
	> :first-child.animate {
		animation: scroll-up 15s linear infinite;
	}
	> :nth-child(2).animate {
		animation: scroll-up2 15s linear infinite;
	}
}
body:not(.editor-styles-wrapper):not(.block-editor-page) .is-style-scroll-content:not(.is-vertical) {
	overflow: hidden;
	display: flex;
  will-change: transform;


	>*{
		flex-shrink: 0;
		will-change: transform;
	}
	>.animate{
		animation: scroll-left 16s linear infinite;
	}
}
	

@keyframes scroll-up {
	from {
		transform: translateY(0);
	}

	to {
		transform: translateY(-100%);
	}
}

@keyframes scroll-up2 {
	from {
		transform: translateY(100%);
	}

	to {
		transform: translateY(0);
	}
}

@keyframes scroll-left {
	0% {
	  transform: translate3d(0, 0 ,0);
	}
	100% {
	  transform: translate3d(calc(-100% - 24px), 0 ,0);
	}
}

.wp-block-group[class*="has-background"] {
	--current-background-color: var(--wp--preset--color--base);
}

.wp-block-group.has-gradient-1-gradient-background {
	--current-background-color: var(--wp--preset--color--base-3);
}

.is-style-stacked-cards {
	> div {
		transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
	}
	> .stuck:not(:last-child) {
		background-color: var(--wp--preset--color--base-3) !important;
		&:has(+ .stuck:not(:last-child)) {
			background-color: var(--wp--preset--color--contrast) !important;
			color: var(--wp--preset--color--base) !important;
		}
	}

}
.is-style-gets-uncovered-container {
	/* margin-top: -60px !important; */
	border-radius: 60px;
	position: relative !important;
	overflow: clip;
}

.is-style-uncovers-next {
	z-index: 6 !important;
			box-shadow: 0px 72px 36px 0px color-mix(in srgb, var(--wp--preset--color--contrast) 20%, transparent) !important;

	& + .wp-block-group { 
		position: sticky !important;
		top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--header-height, 0px)) !important;
		margin-top: -50vh !important;
		z-index: 5 !important;
	}
}

.wp-group-block:has(+ .is-style-uncovers-previous) {
	z-index: 5 !important;
	position: sticky !important;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--header-height, 0px)) !important;



}


.is-style-uncovers-previous {
	z-index: 6 !important;
		box-shadow: 0px -72px 36px 0px color-mix(in srgb, var(--wp--preset--color--contrast) 20%, transparent) !important;


		& + .wp-block-group { 
		position: relative;
		z-index: 6 !important;
	}
}

.is-style-gets-covered {
	position: sticky  !important;
	margin-top: -60px !important;
	z-index: 5 !important;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--header-height, 0px) - 60px) !important;
}

.is-style-sticky-bottom {
	position: sticky  !important;
	bottom: 0 !important;
}

.is-style-top-green-shadow {
	box-shadow: 0px -72px 72px 20px color-mix(in srgb, var(--wp--preset--color--accent-2) 50%, transparent) !important;
}

.wp-block-group.is-linked a.wp-block-group__link {
	max-width: 100vw;
}



.is-style-overflow-clip {
	overflow: clip;
}

.is-style-service-accordion {
	position: relative;
		overflow: clip;

	& > :not(:first-child) {
		box-sizing: border-box;
		transition: height 0.3s, content-visibility 0.3s, display 0.3s, opacity 0.3s, margin-top 0.3s;  
		transition-behavior: allow-discrete;

	
	}

	&.is-open {
		z-index: 10;
		& > :not(:first-child) {
			opacity: 1;
			height: auto;
			@starting-style {
				opacity: 0;
				height: 0;  
				margin-top: 0;
			}
		}
	}

	&:not(.is-open) {
		& > :not(:first-child) {
			opacity: 0;
			height: 0;  
			display: none;
			margin-top: 0;
		}
	}


}

.is-style-service-accordion .is-style-service-card-info {
	margin-top: calc(var(--card-padding-top, 0px) * -1);
	margin-bottom: calc(var(--card-padding-bottom, 0px) * -1);
	margin-right: calc(var(--card-padding-right, 0px) * -1);

}



:root {
  interpolate-size: allow-keywords;
}

.is-style-homepage-hero:not(.block-editor-block-list__block) {
	height: calc(250vh - var(--wp-admin--admin-bar--height, 0px) - var(--header-height, 0px));
	position: relative;
	justify-content: flex-start !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	gap: 0 !important;
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);


	& .hero-content {
		height: calc(100vh - var(--wp-admin--admin-bar--height, 0px) - var(--header-height, 0px));
		align-content: center;
		justify-content: flex-start;
		width: 100%;
		position: sticky;
		top: var(--wp-admin--admin-bar--height, 0px);
	}


	& .masked-hero-mask {
		position: sticky;
		width: 100%;
		height: calc(100vh - var(--wp-admin--admin-bar--height, 0px) - var(--header-height, 0px));
		top: var(--wp-admin--admin-bar--height, 0px);
		background-color: var(--wp--preset--color--contrast);
		mask-image: radial-gradient(black 50%, transparent 50.1%);
		mask-position: center center;
		mask-repeat: no-repeat;
		mask-size: 1em 1em;
		margin-top: calc(-100vh ) !important;
	}

	& .masked-hero {
		height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));

		overflow: clip;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		position: absolute;
		inset: 0;

		background-image: radial-gradient(176.3% 133.81% at 24.79% 4.28%, var(--wp--preset--color--accent-2) 23.69%, var(--wp--preset--color--accent) 72.52%, var(--wp--preset--color--contrast) 100%) !important;
		/* background-size: cover !important; */
		background-position: center center !important;
		background-repeat: no-repeat !important;

		background-size: cover;

		&:before {
			content: "";
			background-image: url(../../../images/hero-circle.svg);
			background-size: contain;
			background-position: center center;
			background-repeat: no-repeat;
			position: absolute;
			inset: 0;
			width: 100vw;
			aspect-ratio: 1;
			left: calc(var(--background-position-left) - 50vw);
			top: calc(var(--background-position-top) - 50vw);
			transform: scale(calc(0.5 + var(--background-position-progress) * .75));
		}
		mark {
			color: transparent !important;
		}

		& > * {
			color: var(--wp--preset--color--base) !important;
		}

		& .kbd-underline {
			background-image: linear-gradient(to right, var(--wp--preset--color--base) 0%,var(--wp--preset--color--base) 98%);
			text-shadow: none;
		}
	}
}

.wp-block-group-is-layout-grid.is-style-case-study-grid {
	& > * > * {
		inset: 0;
		height: 100%;
		width: 100%;
		object-fit: cover;
		overflow: clip;
		border-radius: clamp(15px, 2vw, 30px);
		& > img {

			inset: 0;
			height: 100%;
			width: 100%;
		}
	}

	&:has(.has-aspect-ratio:is([style*="aspect-ratio:555"],[style*="aspect-ratio: 555"]):first-child  + .has-aspect-ratio:is([style*="aspect-ratio:785"],[style*="aspect-ratio: 785"])) {
		grid-template-columns: 555fr 785fr;
		aspect-ratio: 1360 / 764;
		grid-template-rows: 1fr 1fr;
		gap: min(1.5vw, 20px);

		& > * {
			grid-column: span 1 !important;
		}

		&:not(.block-editor-block-list__block) {

			overflow: clip;
			& > * {
				transition: all 1s ease-in-out;
				opacity: 0;
			}

			& > :is(:nth-child(1))  {
				translate: 0% 100%;
			}
			& > :is(:nth-child(2))  {
				translate: -100% 0%;
			}
			& > :is(:nth-child(3))  {
				translate: 100% 0%;
			}
		}
	}

	&:has(.has-aspect-ratio:is([style*="aspect-ratio:555"],[style*="aspect-ratio: 555"]):first-child  + .has-aspect-ratio:is([style*="aspect-ratio:401"],[style*="aspect-ratio: 401"])) {
		grid-template-columns: 555fr 401fr;
		grid-template-rows: 401fr 401fr;

		aspect-ratio: 996/764;
		max-height: 990px;
		gap: min(4vw, 51px);

		& > * {
			grid-column: span 1 !important;
		}

		&:not(.block-editor-block-list__block) {

			overflow: clip;
			& > * {
				transition: all 1s ease-in-out;
				opacity: 0;
			}

			& > :is(:nth-child(1))  {
				translate: 0% 100%;
			}
			& > :is(:nth-child(2))  {
				translate: -100% 0%;
			}
			& > :is(:nth-child(3))  {
				translate: 100% 0%;
			}
		}

	}

	&:has(.has-aspect-ratio:is([style*="aspect-ratio:785"],[style*="aspect-ratio: 785"]:first-child) + .has-aspect-ratio:is([style*="aspect-ratio:555"],[style*="aspect-ratio: 555"])) {
		grid-template-columns: 785fr 555fr;
		aspect-ratio: 1360 / 764;
		grid-template-rows: 1fr 1fr;
		gap: min(1.5vw, 20px);

		& > * {
			grid-column: span 1 !important;
		}

		&:not(.block-editor-block-list__block) {
			overflow: clip;
			& > * {
				transition: all 1s ease-in-out;
				opacity: 0;
			}

			& > :is(:nth-child(2))  {
				translate: 0% 100%;
			}
			& > :is(:nth-child(3))  {
				translate: -100% 0%;
			}
			& > :is(:nth-child(1))  {
				translate: 100% 0%;
			}
		}
	}


	&:has(.has-aspect-ratio:is([style*="aspect-ratio:401"],[style*="aspect-ratio: 401"]:first-child) + .has-aspect-ratio:is([style*="aspect-ratio:555"],[style*="aspect-ratio: 555"])) {
		grid-template-columns: 401fr 555fr;
		grid-template-rows: 401fr 401fr;

		aspect-ratio: 996/764;
		gap: min(4vw, 51px);
		max-height: 990px;

		& > * {
			grid-column: span 1 !important;
		}

		&:not(.block-editor-block-list__block) {
			overflow: clip;
			& > * {
				transition: all 1s ease-in-out;
				opacity: 0;
			}

			& > :is(:nth-child(2))  {
				translate: 0% 100%;
			}
			& > :is(:nth-child(3))  {
				translate: -100% 0%;
			}
			& > :is(:nth-child(1))  {
				translate: 100% 0%;
			}
		}

	}


	&.in-viewport > * {
		translate: 0 0 !important;
		rotate: 0deg !important;
		opacity: 1 !important;
	}


}

.wp-block-group:has( + .is-style-full-width-behind) {
	border-bottom-left-radius: 60px !important;
	border-bottom-right-radius: 60px !important;
	z-index: 6 !important;
	position: relative !important;	

		
	box-shadow: 0px 72px 36px 0px color-mix(in srgb, var(--wp--preset--color--contrast) 20%, transparent) !important;


	&:not(.has-background) {
		background-color: var(--wp--preset--color--base) !important;
	}

	& + .is-style-full-width-behind {
	
		margin-top: -60px !important;
		z-index: 5 !important;		

	}


}

:root .is-style-full-width-behind {

	overflow: clip;

	.wp-block-cover__image-background {
		scale: 1.2 !important;
	}
}

.is-style-full-width-behind + .wp-block-group {
	border-top-left-radius: 60px !important;
	border-top-right-radius: 60px !important;
	z-index: 6 !important;
	position: relative !important;		
	box-shadow: 0px -72px 36px 0px color-mix(in srgb, var(--wp--preset--color--contrast) 20%, transparent) !important;
	margin-top: -60px !important;


	&:not(.has-background) {
		background-color: var(--wp--preset--color--base) !important;
	}
}

.has-global-padding .wp-block-group:has( + .is-style-full-width-behind){

	margin-right: calc(var(--wp--style--root--padding-right) + var(--wp--preset--spacing--30) * -1) !important;
	margin-left: calc(var(--wp--style--root--padding-left) + var(--wp--preset--spacing--30) * -1) !important;
	width: calc(100% + var(--wp--preset--spacing--30) * 2) !important;
	max-width: none !important;
}
.has-global-padding .is-style-full-width-behind {
	margin-left: calc(var(--wp--style--root--padding-left) + var(--wp--preset--spacing--30) * -1) !important;
	margin-right: calc(var(--wp--style--root--padding-right) + var(--wp--preset--spacing--30) * -1) !important;
	width: calc(100% + var(--wp--preset--spacing--30) * 2) !important;
	max-width: none !important;
}
.has-global-padding .is-style-full-width-behind + .wp-block-group {

	margin-right: calc(var(--wp--style--root--padding-right) + var(--wp--preset--spacing--30) * -1) !important;
	margin-left: calc(var(--wp--style--root--padding-left) + var(--wp--preset--spacing--30) * -1) !important;
	width: calc(100% + var(--wp--preset--spacing--30) * 2) !important;
	max-width: none !important;
}

.a-is-style-rotate-logos {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1rem;
	position: relative;
	--column-width: calc((100% - 4rem) / 5);
	
	& > * {
		position: absolute;
		top: 0;
		width: var(--column-width);
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: opacity 1s ease-in;
		opacity: 0;
		pointer-events: none;

		& > img {
			object-fit: contain;
			object-position: center center;
			max-width: 100% !important;
			max-height: 100% !important;
		}
		
		&.visible {
			opacity: 1;
			pointer-events: auto;
		}
		
		&[data-column="0"] { 
			left: 0;
		}
		&[data-column="1"] { 
			left: calc(var(--column-width) + 1rem);
		}
		&[data-column="2"] { 
			left: calc(var(--column-width) * 2 + 1rem * 2);
		}
		&[data-column="3"] { 
			left: calc(var(--column-width) * 3 + 1rem * 3);
		}
		&[data-column="4"] { 
			left: calc(var(--column-width) * 4 + 1rem * 4);
		}
	}
}