/*
Theme Name: PixelPanther Child
Theme URI: https://www.pixelpanther.eu
Description: Multi-Purpose Theme
Version: 4.9.9
Author: PixelPanther
Author URI: https://www.pixelpanther.eu
Template: pixelpanther
*/



/*-----------------------------------------------*/
/*  Service Slider                               */
/*-----------------------------------------------*/

.ksb-cslider{
  --cta:#1FD765;
  position:relative;
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:30px 0;
}

.ksb-cslider__track{
  position:relative;
  height:340px; 
  transition: height .25s ease;
}


.ksb-cslider__card{
  position:absolute;
  top:0;
  left:50%;
  width:min(650px, 70%);
  transform:translateX(-50%);
  border-radius:20px;
  overflow:hidden;

  background:rgba(20,20,20,0.45);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);

  border:1px solid rgba(255,255,255,0.10);
  padding:32px;

  transition:all .45s cubic-bezier(.2,.8,.2,1);
  cursor:pointer;
}

/* Glow */
.ksb-cslider__card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:radial-gradient(
    600px 240px at 20% 10%,
    rgba(31,215,101,0.18),
    transparent 55%
  );
  opacity:0;
  transition:.35s ease;
  pointer-events:none;
}

.ksb-cslider__card.is-center{
  transform:translateX(-50%) scale(1);
  z-index:3;
  box-shadow:0 25px 60px rgba(0,0,0,0.65);
  border-color:rgba(31,215,101,0.45);
}

.ksb-cslider__card.is-center::before{
  opacity:1;
}

.ksb-cslider__card.is-left{
  transform:translateX(calc(-50% - 420px)) scale(.85);
  opacity:.75;
  z-index:2;
}

.ksb-cslider__card.is-right{
  transform:translateX(calc(-50% + 420px)) scale(.85);
  opacity:.75;
  z-index:2;
}


.ksb-cslider__title{
  margin:0 0 14px;
  font-family:"Urbanist",sans-serif;
  font-weight:800;
  font-size:40px;
  text-transform:uppercase;
  color:#fff;
}

.ksb-cslider__text{
  margin:0 0 20px;
  color:rgba(184,184,184,1);
  font-size:18px;
  line-height:1.6;
}


.ksb-cslider__dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  margin-top:22px;
}

.ksb-cslider__dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:rgba(255,255,255,0.18);
  border:1px solid rgba(255,255,255,0.22);
  cursor:pointer;
  transition:
    transform .18s ease,
    background .18s ease,
    border-color .18s ease,
    width .18s ease;
}

.ksb-cslider__dot.is-active{
  width:34px;
  background:rgba(31,215,101,0.9);
  border-color:rgba(31,215,101,1);
  transform:scale(1.02);
}


@media (max-width:767px){

  .ksb-cslider{
    max-width:100%;
    padding:20px 15px;
  }

  .ksb-cslider__track{
    height:auto;
  }

  .ksb-cslider__card{
    width:92%;
    padding:26px;
  }

  .ksb-cslider__card.is-left{
    transform:translateX(calc(-50% - 260px)) scale(.9);
  }

  .ksb-cslider__card.is-right{
    transform:translateX(calc(-50% + 260px)) scale(.9);
  }

  .ksb-cslider__title{
    font-size:32px;
  }

  .ksb-cslider__text{
    display:block !important;
    overflow:visible !important;
  }

  .ksb-cslider__dots{
    display:none !important;
  }
}








/*-----------------------------------------------*/
/*  Service Card                                 */
/*-----------------------------------------------*/

.kbsd-service-card .vc_column-inner{
  position: relative;
  overflow: visible !important;
  border-radius: 20px;
  background: rgba(20, 20, 20, 0.45);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  background-image:
    radial-gradient(600px 240px at 20% 10%, rgba(31,215,101,0.00), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.02) 100%);
  background-repeat: no-repeat, no-repeat;
  border: 1px solid rgba(255,255,255,0.10);
  padding: 24px 24px 22px !important;
transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.kbsd-service-card:hover .vc_column-inner{
  background-image:
    radial-gradient(600px 240px at 20% 10%, rgba(31,215,101,0.18), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.03) 100%);

  transform: translateY(-3px);
  border-color: rgba(31,215,101,0.45);
  box-shadow: 0 16px 40px rgba(0,0,0,0.55);
}

/*-----------------------------------------------*/
/*  Small Buttons                                */
/*-----------------------------------------------*/

.kbs-center { justify-content: center !important; }
.kbs-left   { justify-content: flex-start !important; }
.kbs-right  { justify-content: flex-end !important; }


.kbs-button-row{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  flex-wrap: nowrap;
}

.kbs-button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  padding: .2em 1.22em;
  border-radius: 50px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.25s ease;
}

/* Variante: White */
.kbs-button.kbs-button--white{
  border: 2px solid #ffffff;
  color: #ffffff;
}
.kbs-button.kbs-button--white:hover{
  border-color: #1fd765;
  color: #1fd765;
}

/* Variante: Green */
.kbs-button.kbs-button--green{
  border: 2px solid #1fd765;
  color: #1fd765;
}
.kbs-button.kbs-button--green:hover{
  border-color: #ffffff;
  color: #ffffff;
}

@media (max-width: 480px){
  .kbs-button-row{
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
  }
}


/*-----------------------------------------------*/
/*  CTA Section                                  */
/*-----------------------------------------------*/

.kbs-cta-section{
  position: relative;
  overflow: visible;
  background: rgb(161 161 161 / 100%) !important;
}

.kbs-cta-section .kbs-pulse-glow{
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 1px;
  background: #1fd765;
  box-shadow: 0 0 15px #1fd765;
  animation: kbsPulseWidth 5s infinite ease-in-out;
}

@keyframes kbsPulseWidth{
  0%{ width: 120px; opacity: .4; }
  50%{ width: 260px; opacity: 1; }
  100%{ width: 120px; opacity: .4; }
}

.kbs-cta-row{
  border-radius: 20px;
  background-image:
    radial-gradient(600px 240px at 20% 10%, rgba(31, 215, 101, 0.00), transparent 55%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.02) 100%);
  background-repeat: no-repeat, no-repeat;
  border: 1px solid rgba(255, 255, 255, 0.10);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.kbs-cta-row:hover{
  background-image:
    radial-gradient(600px 240px at center, rgba(31, 215, 101, 0.18), transparent 55%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.02) 100%);
  transform: translateY(-3px);
  border-color: rgba(31, 215, 101, 0.45);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55);
}



/*-----------------------------------------------*/
/*  Stepper                                      */
/*-----------------------------------------------*/

:root{
  --kbs-bg: transparent;
  --kbs-line: rgba(255,255,255,0.18);
  --kbs-dot: rgba(255,255,255,0.22);
  --kbs-text: rgba(255,255,255,0.35);

  --kbs-green: #1fd765;
  --kbs-green-dark: #1fd765;

  --kbs-track-h: 4px;
  --kbs-dot-size: 22px;
  --kbs-dot-border: 3px;

  --kbs-glow-strong: 0 0 20px rgba(57,209,10,0.75);
  --kbs-glow-soft:   0 0 35px rgba(57,209,10,0.35);
}

.kbs-stepper{
  position: relative;
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 22px 22px 10px;
  background: var(--kbs-bg);
}

.kbs-stepper__track{
  position: absolute;
  left: 22px;
  right: 22px;
  top: 40px;
  height: var(--kbs-track-h);
  transform: translateY(-50%);
  pointer-events: none;
}

.kbs-stepper__track-base,
.kbs-stepper__track-progress{
  position: absolute;
  top: 0;
  height: var(--kbs-track-h);
  border-radius: 999px;
}

.kbs-stepper__track-base{
  left: 0;
  right: 0;
  background: var(--kbs-line);
  box-shadow: 0 0 10px rgba(0,0,0,0.35);
}

.kbs-stepper__track-progress{
  left: 0;
  width: 0px;
  background: var(--kbs-green);
  box-shadow: var(--kbs-glow-strong);
  transition: width 260ms ease;
}

.kbs-stepper__steps{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}

.kbs-step{
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
}

.kbs-step__btn{
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  background: transparent;
  transform: translateY(-4px);
  border: 0;
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.kbs-step__btn:focus-visible{ outline: none; }
.kbs-step__btn:focus-visible .kbs-step__dot{
  box-shadow: 0 0 0 3px rgba(57,209,10,0.25), var(--kbs-glow-soft);
}

.kbs-step__dot{
  width: var(--kbs-dot-size);
  height: var(--kbs-dot-size);
  border-radius: 999px;
  border: var(--kbs-dot-border) solid var(--kbs-dot);
  background: rgba(0,0,0,0.15);
  transition: all 240ms ease;
}

.kbs-step__label{
  margin-top: 14px;
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--kbs-text);
  white-space: nowrap;
  user-select: none;
}

.kbs-step.is-active .kbs-step__dot,
.kbs-step.is-done .kbs-step__dot{
  border-color: var(--kbs-green-dark);
  background: var(--kbs-green);
  box-shadow: var(--kbs-glow-strong), var(--kbs-glow-soft);
}

.kbs-step.is-active .kbs-step__label,
.kbs-step.is-done .kbs-step__label{
  color: #1fd765;
  text-shadow: 0 0 14px rgba(57,209,10,0.35);
}

.kbs-step:not(.is-active):not(.is-done) .kbs-step__btn:hover .kbs-step__dot{
  border-color: rgba(255,255,255,0.35);
}

.kbs-step__link{ text-decoration: none; }

.kbs-stepper-content{
  margin-top: 40px;
  text-align: center;
}

.kbs-step-content{
  display: none;
  max-width: 820px;
  margin: 0 auto;
  color: rgba(255,255,255,0.85);
  animation: fadeUp 0.35s ease;
}

.kbs-step-content.is-active{ display: block; }

.kbs-step-content h3{
  color: #1fd765;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.kbs-step-content p{
  line-height: 1.6;
  font-size: 16px;
  color: rgba(255,255,255,0.75);
}

@keyframes fadeUp{
  from{ opacity: 0; transform: translateY(10px); }
  to{ opacity: 1; transform: translateY(0); }
}

@media (max-width: 640px){
  .kbs-stepper{ padding: 18px 14px 8px; }

  .kbs-stepper__track{
    left: 14px;
    right: 14px;
    top: 40px;
  }

  .kbs-step__btn{ height: 50px; }

  .kbs-stepper .kbs-step__label{ display: none !important; }
  .kbs-stepper .kbs-step.is-active .kbs-step__label{ display: block !important; }

  .kbs-step__label{
    font-size: 12px;
    letter-spacing: 1.4px;
  }
}

@media (max-width: 420px){
  .kbs-step__label{
    font-size: 11px;
    letter-spacing: 1.1px;
  }
}

/*-----------------------------------------------*/
/*  Kontaktformular (WPFORMS)                    */
/*-----------------------------------------------*/

div.wpforms-container .wpforms-form {
    font-family: inherit;
    color: #ffffff;
}

div.wpforms-container .wpforms-form .wpforms-field {
    margin-bottom: 18px;
}

div.wpforms-container .wpforms-form .wpforms-field-label {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 1px;
    color: rgba(255,255,255,0.85);
    margin-bottom: 10px;
}

div.wpforms-container .wpforms-form input[type="text"],
div.wpforms-container .wpforms-form input[type="email"],
div.wpforms-container .wpforms-form input[type="tel"],
div.wpforms-container .wpforms-form input[type="url"],
div.wpforms-container .wpforms-form input[type="number"],
div.wpforms-container .wpforms-form input[type="password"],
div.wpforms-container .wpforms-form input[type="date"],
div.wpforms-container .wpforms-form input[type="search"],
div.wpforms-container .wpforms-form select,
div.wpforms-container .wpforms-form textarea {
    width: 100%;
    padding: 14px 16px;
    font-size: 16px;
    border-radius: 14px;
    background: rgba(20,20,20,0.45);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    background-image:
        radial-gradient(600px 240px at 20% 10%, rgba(31,215,101,0.00), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.02) 100%);
    border: 1px solid rgba(255,255,255,0.10);
    color: #ffffff;
    transition: border-color .18s ease,
                box-shadow .18s ease,
                transform .18s ease,
                background-image .18s ease;
}

div.wpforms-container .wpforms-form input::placeholder,
div.wpforms-container .wpforms-form textarea::placeholder {
    color: rgba(255,255,255,0.35);
}

div.wpforms-container .wpforms-form input:hover,
div.wpforms-container .wpforms-form select:hover,
div.wpforms-container .wpforms-form textarea:hover {
    border-color: rgba(255,255,255,0.22);
    background-image:
        radial-gradient(600px 240px at 20% 10%, rgba(31,215,101,0.12), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.03) 100%);
}

div.wpforms-container .wpforms-form input:focus,
div.wpforms-container .wpforms-form select:focus,
div.wpforms-container .wpforms-form textarea:focus {
    outline: none;
    border-color: rgba(31,215,101,0.55);
    background-image:
        radial-gradient(600px 240px at 20% 10%, rgba(31,215,101,0.18), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.03) 100%);
    box-shadow:
        0 0 0 3px rgba(31,215,101,0.18),
        0 0 20px rgba(31,215,101,0.25);
    transform: translateY(-1px);
}

div.wpforms-container .wpforms-form input[type="checkbox"],
div.wpforms-container .wpforms-form input[type="radio"] {
    accent-color: #1fd765;
}

div.wpforms-container .wpforms-form button[type="submit"],
div.wpforms-container .wpforms-form .wpforms-page-button {
    text-transform: uppercase !important;
    font-weight: 700 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    letter-spacing: 1px;
    padding: 12px 40px !important;
    border-radius: 50px !important;
    border: 2px solid #1fd765 !important;
    color: #1fd765 !important;
    background-color: rgba(0, 0, 0, 0.2) !important;
    cursor: pointer;
    transition: all 0.25s ease;
	text-align:right !important;
}

div.wpforms-container .wpforms-form button[type="submit"]:hover,
div.wpforms-container .wpforms-form .wpforms-page-button:hover {
    background-color: #1fd765 !important;
    color: #000 !important;
    border-color: #1fd765 !important;
}

div.wpforms-container .wpforms-form button[type="submit"]:focus-visible,
div.wpforms-container .wpforms-form .wpforms-page-button:focus-visible {
    outline: none;
    box-shadow:
        0 0 0 3px rgba(31,215,101,0.25),
        0 0 22px rgba(31,215,101,0.30);
}

div.wpforms-container .wpforms-form button[type="submit"][disabled] {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

div.wpforms-container .wpforms-confirmation-container-full {
    border-radius: 16px;
    border: 1px solid rgba(31,215,101,0.35);
    background: rgba(20,20,20,0.50);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    color: #ffffff;
    padding: 20px;
}

@media (max-width: 640px) {
    div.wpforms-container .wpforms-form button[type="submit"],
    div.wpforms-container .wpforms-form .wpforms-page-button {
        width: 100%;
    }
}

@media (max-width:767px){

	#wpforms-form .wpforms-field{
		padding-left:10px;
		padding-right:10px;
	}

	#wpforms-form .wpforms-submit-container{
		padding-left:10px;
	}
	
}




/*-----------------------------------------------*/
/*  Responsive                                   */
/*-----------------------------------------------*/

@media only screen and (max-width: 769px) {
	.reverse-mobile {
		display: flex !important;
		flex-direction: column-reverse;
	}
}

/*-----------------------------------------------*/
/*  WPBakery Stretched Section Fix               */
/*-----------------------------------------------*/

body.rtl .vc_row[data-vc-full-width], 
body.rtl section[data-vc-full-width] {
    left: calc((100vw - 95vw)/ 2);
}

@media (min-width: 1415px) {

:root {
            --extra-width-: calc(-1 * ((100vw - 1415px) / 2));
            --extra-width: calc(1 * ((100vw - 1415px) / 2));
        }

        section[data-vc-full-width="true"] {
            left: var(--extra-width-) !important;
            padding-left: var(--extra-width) !important;
            padding-right: var(--extra-width) !important;
            width: 100vw !important;
        }
	
}
	
/*-----------------------------------------------*/
/*  WPBakery Stretched Flicking Fix              */
/*-----------------------------------------------*/
	
		@media (min-width: 1100px) {

			.ml-40.vc_column-gap-0.ut-row-has-filled-cols {
				margin-left: 0px !important;
				padding-left: 0px !important;
			}

			.mr-40.vc_column-gap-0.ut-row-has-filled-cols {
				margin-right: 0px !important;
				padding-right: 0px !important;
			}

			.vc_section .vc_col-has-fill>.vc_column-inner {
				padding-left: 40px !important;
				padding-right: 40px !important;
			}



			.pt-40.wpb_column > .vc_column-inner {
				padding-top: 40px !important;
				padding-left: 40px !important;
				padding-right: 40px !important;
				-webkit-box-pack: center !important;
				-webkit-justify-content: center !important;
				-ms-flex-pack: center !important;
				justify-content: center !important;
			}

		}
	
		@media (max-width: 1100px) {
	
			.custom-fix-001 > .vc_column-inner {
				margin-left: 20px !important;
				margin-right: 20px !important;
			}

		}
	
			@media (max-width: 900px) {
	
			.custom-fix-001 > .vc_column-inner {
				padding-left: 20px !important;
				padding-right: 20px !important;
				margin-left: 0px !important;
				margin-right: 0px !important;
			}
	
	.ml-40.vc_column-gap-0.ut-row-has-filled-cols {
				margin-left: 0px !important;
				padding-left: 0px !important;
			}

			.mr-40.vc_column-gap-0.ut-row-has-filled-cols {
				margin-right: 0px !important;
				padding-right: 0px !important;
			}

		.custom-fix-001 p {
			line-height: 26.5px !important;
			font-size: 16px !important;
			 -webkit-backface-visibility: hidden;
       -moz-backface-visibility: hidden;
            backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
       -moz-transform-style: preserve-3d;
            transform-style: preserve-3d;
		}

		}
