/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/*Misc*/

.gb-shape svg {
  fill: none !important;
}

.site-content h1,
.site-content h2,
.site-content h3,
.site-content h4,
.site-content h5,
.site-content h6,
.site-content p {
  margin-bottom: 0px;
}

a {
  text-decoration: none;
}


.gb-shape svg {
  fill: none !important;
}

.site-content h1,
.site-content h2,
.site-content h3,
.site-content h4,
.site-content h5,
.site-content h6,
.site-content p {
  margin-bottom: 0px;
}

a {
  text-decoration: none;
}


/* Logo Slider Mask */

/* Endlose Scroll-Animation */
@keyframes infinite-scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-100%);
  }
}

.animate-infinite-scroll {
  animation: infinite-scroll 40s linear infinite;
  display: flex;
  white-space: nowrap;
}

/* Maske & Sichtbereich */
.logo-mask {
  mask-image: linear-gradient(to right, transparent 0, black 128px, black calc(100% - 128px), transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0, black 128px, black calc(100% - 128px), transparent 100%);
  overflow: hidden;
  position: relative;
}


/* Legal Templates */

.legal-text p {
	margin-bottom: 2.25rem;
}

.legal-text strong {
margin-bottom: 1.25rem !important;
color: #181D27;
font-family: Geist;
font-size: 1.5rem;
font-style: normal;
font-weight: 600;
line-height: 2rem;
}

/* Splide Adjustments*/

.feature-card img {
  display: block;
  width: 100%;
  height: auto;
  filter: brightness(.7);
  transition: filter .4s ease;
}

.splide__slide:hover .feature-card img {
  filter: brightness(1);
}

.splide__slide .button-sm-link-brand {
  transition: gap 0.3s ease; /* Sanfter Übergang */
}

.splide__slide:hover .button-sm-link-brand {
  gap: 0.8rem;               /* Beim Hover wird die Lücke erzeugt */
}


.stretch-link {
  position: relative;
}

.stretch-link a::after {
  content: '';
  position: absolute;
  inset: 0;
}


.splide {display: flex !important; flex-direction: column;}

.splide__arrows.splide__arrows--ltr {
	display: flex;
    order: 0;
	gap: 8px;
    margin-top: 64px;
}

button.splide__arrow {
    position: relative !important;
}

.wp-block-splide-carousel .splide__arrow:disabled {
	opacity: 1;
}

.wp-block-splide-carousel .splide__arrows .splide__arrow {
	opacity: 1;
	width: 56px;
	height: 56px;
	border: none;
	background: transparent;
}

.wp-block-splide-carousel .splide__arrows .splide__arrow:hover {
	background: transparent;
}

.wp-block-splide-carousel .splide__arrow svg {
    height: 36px;
    width: 44px;
}

.wp-block-splide-carousel .splide__arrow--prev {
	left: 0px !important;
}

.wp-block-splide-carousel .splide__arrows--ltr .splide__arrow--next {
	right: 0px !important;
}

.usp-slider .splide__arrow svg path {
  stroke: var(--gray-950) !important;
  stroke-width: 4;
}

.splide__arrow svg path {
  stroke: var(--base-white);
  stroke-width: 4;
}

.splide__arrow:hover svg path {
  stroke: var(--brand-400);
  stroke-width: 4;
}

@media (max-width: 480px) {
  .splide__slide {
    width: 320px !important;
    margin-right: 24px !important;
  }
}


/* gradient progressive blurr */

.gradient-blur {
	position: absolute;
	z-index: 5;
	inset: auto 0 0 0;
	height: 50%;
	pointer-events: none;
}
.gradient-blur > div,
.gradient-blur::before,
.gradient-blur::after {
	position: absolute;
	inset: 0;
}
.gradient-blur::before {
	content: "";
	z-index: 1;
	backdrop-filter: blur(0.5px);
	mask: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 1) 12.5%,
		rgba(0, 0, 0, 1) 25%,
		rgba(0, 0, 0, 0) 37.5%
	);
}
.gradient-blur > div:nth-of-type(1) {
	z-index: 2;
	backdrop-filter: blur(1px);
	mask: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 12.5%,
		rgba(0, 0, 0, 1) 25%,
		rgba(0, 0, 0, 1) 37.5%,
		rgba(0, 0, 0, 0) 50%
	);
}
.gradient-blur > div:nth-of-type(2) {
	z-index: 3;
	backdrop-filter: blur(2px);
	mask: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 25%,
		rgba(0, 0, 0, 1) 37.5%,
		rgba(0, 0, 0, 1) 50%,
		rgba(0, 0, 0, 0) 62.5%
	);
}
.gradient-blur > div:nth-of-type(3) {
	z-index: 4;
	backdrop-filter: blur(4px);
	mask: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 37.5%,
		rgba(0, 0, 0, 1) 50%,
		rgba(0, 0, 0, 1) 62.5%,
		rgba(0, 0, 0, 0) 75%
	);
}
.gradient-blur > div:nth-of-type(4) {
	z-index: 5;
	backdrop-filter: blur(8px);
	mask: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 50%,
		rgba(0, 0, 0, 1) 62.5%,
		rgba(0, 0, 0, 1) 75%,
		rgba(0, 0, 0, 0) 87.5%
	);
}
.gradient-blur > div:nth-of-type(5) {
	z-index: 6;
	backdrop-filter: blur(16px);
	mask: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 62.5%,
		rgba(0, 0, 0, 1) 75%,
		rgba(0, 0, 0, 1) 87.5%,
		rgba(0, 0, 0, 0) 100%
	);
}
.gradient-blur > div:nth-of-type(6) {
	z-index: 7;
	backdrop-filter: blur(32px);
	mask: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 75%,
		rgba(0, 0, 0, 1) 87.5%,
		rgba(0, 0, 0, 1) 100%
	);
}
.gradient-blur::after {
	content: "";
	z-index: 8;
	backdrop-filter: blur(64px);
	mask: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 87.5%,
		rgba(0, 0, 0, 1) 100%
	);
}

/* Animations */
.has-animation .animate-child {
  opacity: 0;
  transform: translateY(20px);
  will-change: opacity, transform;
  visibility: hidden;
  pointer-events: none;
}

@keyframes fade-in-up {
  from {
    opacity: 0;
	filter: blur(4px);
    transform: translateY(20px);
  }

  to {
    opacity: 1;
	filter: blur(0px);
    transform: translateY(0);
  }
}

.animate-in {
  animation-fill-mode: both;
  animation-timing-function: ease-out;
  opacity: 1;
}

/* Freie Plätze Pulse */


@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(220, 250, 230, 1);
  }
  100% {
    box-shadow: 0 0 0 24px rgba(220, 250, 230, 0);
  }
}

.dot {
	box-shadow: 0 0 0;
	animation: 2s ease infinite pulse;}


