/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


p{
	margin-bottom: 0;
}

p a{
	color: inherit;
	text-decoration: underline!important;
	text-underline-offset: 3px;
}

p a:hover{
	color: var( --e-global-color-accent );
}

.jet-toggle__content-inner p + p{
	padding-top: var(--space-xs);
}

/* spaces
----------------------------------------*/
:root {

  --space-3xs: 0.25rem;  /* 4px */
  --space-2xs: 0.5rem;   /* 8px */
  --space-xs: 0.75rem;   /* 12px */


  --space-s: 1rem; /* 16px – bewusst fix */

  --space-sm: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);   /* 20px → 24px */
  --space-m:  clamp(1.5rem, 1.25rem + 0.9vw, 2rem);     /* 24px → 32px */
  --space-ml: clamp(2rem, 1.6rem + 1vw, 2.5rem);        /* 32px → 40px */
  --space-l:  clamp(2.25rem, 1.8rem + 1.2vw, 3rem);     /* 36px → 48px */
  --space-xl: clamp(3rem, 2.25rem + 1.8vw, 4rem);       /* 48px → 64px */

  --space-2xl: clamp(3.5rem, 3rem + 2vw, 5rem);         /* 56px → 80px */
  --space-3xl: clamp(4rem, 3.25rem + 3vw, 6rem);        /* 64px → 96px */
  --space-4xl: clamp(4.5rem, 3.5rem + 4vw, 7rem);       /* 72px → 112px */
  --space-5xl: clamp(5rem, 4rem + 4vw, 8rem);           /* 80px → 128px */

  --space-6xl: clamp(6rem, 4.75rem + 5vw, 10rem);       /* 96px → 160px */
  --space-7xl: clamp(7rem, 5.5rem + 6vw, 12rem);        /* 112px → 192px */
  --space-8xl: clamp(8rem, 6.25rem + 7vw, 14rem);       /* 128px → 224px */
  --space-9xl: clamp(9rem, 7rem + 8vw, 16rem);          /* 144px → 256px */

  --space-10xl: clamp(10rem, 8rem + 9vw, 17rem);        /* 160px → 272px */
  --space-11xl: clamp(12rem, 9rem + 10vw, 20rem);       /* 192px → 320px */
	
	--icon-size: 1.125rem;
	--radius: 1rem;
	--radius-smaller: .75rem;
	 --radius-btn: .3rem;
}

.elementor-icon{
	display: flex;
}

/* fon-sizes
----------------------------------------*/
:root {
	
	/* 12px – 14px */
	--font-size_btn-smaller: 12px;

	--font-size_btn: clamp(0.875rem, 0.8354rem + 0.1688vw, 1rem);;

	/* 12px – 14px */
	--font-size_body-small: clamp(0.75rem, 0.7125rem + 0.1667vw, 0.875rem);

	/* 14px – 16px */
	--font-size_body: 1rem;

	/* 16px – 18px */
	--font-size_body-large: clamp(1rem, 0.9625rem + 0.1667vw, 1.125rem);

	/* 16px – 20px */
	--font-size_headline-20: clamp(1rem, 0.925rem + 0.3333vw, 1.25rem);

	/* 18px – 24px */
	--font-size_headline-24: clamp(1.125rem, 1.0125rem + 0.5vw, 1.5rem);
	
	/* 20px – 24px */
--font-size_headline-24: clamp(1.25rem, 1.175rem + 0.333vw, 1.5rem);

	/* 22px – 32px */
	--font-size_headline-32: clamp(1.375rem, 1.1875rem + 0.8333vw, 2rem);

	/* 36px – 56px */
	--font-size_headline-56: clamp(2.25rem, 1.875rem + 1.6667vw, 3.5rem);

	/* 48px – 80px */
	--font-size_headline-80: clamp(3rem, 2.4rem + 2.6667vw, 5rem);

	/* 40px – 96px */
	--font-size_headline-96: clamp(2.5rem, 1.45rem + 4.6667vw, 6rem);
}


/* header
----------------------------------------*/


:root{
    --logo-height: 100px;
    --logo-offset: 20px;
    --header-height: 70px;
}

.header{
    width: 100%!important;
    inset-inline-start: inherit!important;
}

@media (min-width: 1024px){
     :root{
        --logo-offset: 10px;
        --header-height: 100px;
    }
}

@media (min-width: 1920px){
    :root{
        --logo-height: 130px;
        --logo-offset: 20px;
        --header-height: 110px;
    }
}

.header{
    position: relative;
}


.header:after{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    height: calc((var( --header-height)) - (var( --logo-offset)));
    width: 100%; 
    z-index: -1;
   /* background-color: rgba(0,0,0,.25);

    backdrop-filter: blur(20px);*/
}

.header .elementor-nav-menu--burger{
    
}

.header #bildmarke,
.header g{
    transition: .25s:
}

@media (max-width: 768px){
    .header #bildmarke{
    	display: none;
    }
    
    .header g{
        transform: translateX(-25%);
    }
}

.header.elementor-sticky--effects{
	background-color: rgba(0,0,0,.15);
    backdrop-filter: blur(10px);
}

.header.header_invert{
	background-color: rgba(255,255,255,.5);
}

.header_invert .logo .elementor-icon svg{
    fill: #000000!important;
}

.jet-mobile-menu-visible .header_invert .logo .elementor-icon svg{
    fill: #ffffff!important;
}

.header.header_invert .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{
    color: #000000;
}

.header.header_invert .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item .sub-arrow svg path{
	fill: currentColor;
}

.header.header_invert .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover{
color: var( --e-global-color-accent );
    
}

/* section
----------------------------------------*/

.section {
	padding-left: var(--space-sm);
	padding-right: var(--space-sm);
	transition: .125s;
}

@media (min-width: 1260px){
	.section {
		padding-left: var(--space-l);
  		padding-right: var(--space-l);
	}
}



/* top + bottom
----------------------------------------*/

/* 12px */
.xs {
  padding-top: var(--space-xs);
  padding-bottom: var(--space-xs);
}

/* 16px */
.s {
  padding-top: var(--space-s);
  padding-bottom: var(--space-s);
}

/* 20px → 24px */
.sm {
  padding-top: var(--space-sm);
  padding-bottom: var(--space-sm);
}

/* 24px → 32px */
.m {
  padding-top: var(--space-m);
  padding-bottom: var(--space-m);
}

/* 32px → 40px */
.ml {
  padding-top: var(--space-ml);
  padding-bottom: var(--space-ml);
}

/* 36px → 48px */
.l {
  padding-top: var(--space-l);
  padding-bottom: var(--space-l);
}

/* 48px → 64px */
.xl {
  padding-top: var(--space-xl);
  padding-bottom: var(--space-xl);
}

/* 56px → 80px */
.xl-2 {
  padding-top: var(--space-2xl);
  padding-bottom: var(--space-2xl);
}

/* 64px → 96px */
.xl-3 {
  padding-top: var(--space-3xl);
  padding-bottom: var(--space-3xl);
}

/* 72px → 112px */
.xl-4 {
  padding-top: var(--space-4xl);
  padding-bottom: var(--space-4xl);
}

/* 80px → 128px */
.xl-5 {
  padding-top: var(--space-5xl);
  padding-bottom: var(--space-5xl);
}

/* 96px → 160px */
.xl-6 {
  padding-top: var(--space-6xl);
  padding-bottom: var(--space-6xl);
}

/* 112px → 192px */
.xl-7 {
  padding-top: var(--space-7xl);
  padding-bottom: var(--space-7xl);
}

/* 128px → 224px */
.xl-8 {
  padding-top: var(--space-8xl);
  padding-bottom: var(--space-8xl);
}

/* 144px → 256px */
.xl-9 {
  padding-top: var(--space-9xl);
  padding-bottom: var(--space-9xl);
}

/* 160px → 272px */
.xl-10 {
  padding-top: var(--space-10xl);
  padding-bottom: var(--space-10xl);
}

/* 192px → 320px */
.xl-11 {
  padding-top: var(--space-11xl);
  padding-bottom: var(--space-11xl);
}


.icon-style_01 .elementor-icon{
	    height: 3rem;
		width: 3rem;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: .25rem;
}

/* icon
----------------------*/

.icon-style_01.red .elementor-icon{
	background: color-mix(in srgb, var(--e-global-color-primary) 20%, transparent);
	border: 1px solid var(--e-global-color-primary);
}

.icon-style_01.yellow .elementor-icon{
	background: color-mix(in srgb, var(--e-global-color-secondary) 20%, transparent);
	border: 1px solid var(--e-global-color-secondary);
}


.icon-style_01 .elementor-icon svg{
	width: 1rem;
}

@media (min-width: 1024px){
	.icon-style_01 .elementor-icon svg{
		width: 1.25rem;
	}
}

.icon-style_01.smaller .elementor-icon{
	height: 2.5rem;
	width: 2.5rem;
}

.icon-style_01.smaller .elementor-icon svg{
	width: .75rem;
}

.hero .icon-style_01 .elementor-icon{
	 height: 2.25rem;
	width: 2.25rem;
}

.hero .icon-style_01 .elementor-icon svg{
	width: 1.125rem;
}



/* button
----------------------------------------*/

.elementor-button{
	padding: clamp(0.5rem, 0.7037rem + 0.1975vw, .65rem) clamp(1.125rem, 1.0556rem + 0.2963vw, 1.5rem);
	border-radius: var(--radius-btn);
	font-size: 1rem;
	border: 1px solid;
}

.elementor-button-default a{
	border-color: var(--e-global-color-primary);
}


/*
.elementor-button .elementor-button-text{
	font-size: var(--font-size_btn);
	line-height: 135%;
}*/
.elementor-button-default.beige a{
	background-color: var(--e-global-color-7fc0369);
	border-color: transparent;
}
.elementor-button-default.beige a .elementor-button-text{
	color: #000000;
}

.elementor-button-default.beige a:hover{
	background-color: var(--e-global-color-secondary)
}

.elementor-button-default.beige a:hover .elementor-button-text{
	color: #ffffff;
}

/*-- outline --*/

.elementor-button-default.outline a{
	background-color: transparent;
	border: 1px solid;
}

/* white */

.elementor-button-default.outline.white a{
	border-color: #ffffff;
}

.elementor-button-default.outline.white a .elementor-button-text{
	color: #ffffff;
}

.elementor-button-default.outline.white a:hover{
	background-color: var(--e-global-color-primary);
	border-color:  var(--e-global-color-primary);
}

.elementor-button-secondary .elementor-button:hover .elementor-button-text{
	color: var(--e-global-color-text);
}

/* black */

.elementor-button-default.outline.black a{
	border-color: #000000;
}

.elementor-button-default.outline.black a .elementor-button-text{
	color: #000000;
}

.elementor-button-default.outline.black a:hover{
	background-color: var(--e-global-color-primary);
	border-color:  var(--e-global-color-primary);
}

.elementor-button-secondary .elementor-button:hover .elementor-button-text{
	color: #ffffff;
}
	
/*-- link --*/

.elementor-widget-button.elementor-button-link a.elementor-button{
	border: none;
	background-color: transparent;
	padding: 0;
}

.elementor-button-link.white a{
	color: #ffffff;
}

.elementor-button-link.black a{
	color: var( --e-global-color-7773a7a );
}

/* global slider
----------------------------------------*/

.custom-slider-section:not(.slider-is-active) .custom-slider{
	display: none;
}

body:is(.elementor-editor-active) .custom-slider-section:not(.slider-is-active) .custom-slider{
	display: flex;
}

.custom-slider-section .elementor-button-slider-arrow.previous{
	transform: scaleX(-1);
}

.custom-slider-section .slick-disabled a{
	cursor: not-allowed;
}

.custom-slider-section .jet-listing-grid__slider-icon{
	display: none!important;
}

/*-- slider button --*/

.elementor-button-slider-arrow a{
	padding: 0;
	background-color: transparent;
	width: 1.5rem;
    height: 1.5rem;
    display: flex;
    justify-content: center;
    border-radius: 0;
	cursor: pointer;
}


.custom-slider-section .elementor-button-slider-arrow svg path{
	fill: var(--e-global-color-primary);
	stroke: var(--e-global-color-primary);
}

.custom-slider-section .elementor-button-slider-arrow svg {
	width: .75rem;;
}

.custom-slider-section .slick-disabled svg path {
	fill: var(--e-global-color-33588de);
	stroke: var(--e-global-color-33588de);
}

/* card
------------------------*/

.card{
	padding: var(--space-s);
}

.card-style-1{
	background-color: transparent;
    background-image: linear-gradient(180deg, #1A1A1A 50%, #000000 100%);
	border: 1px solid var( --e-global-color-23a2945 );
	border-radius: var(--radius);
}

.card-style-1.bright{
	background-image:linear-gradient(180deg, #fafafa 10%, #ffffff 100%);
	border-color: #cfcfcf;
}

.card-style-1:hover{
	border-color: var( --e-global-color-primary );
	box-shadow: 0px 0px 80px 30px rgba(221, 39.00000000000008, 38.000000000000014, 0.25);
}

@media (min-width: 1024px){
	.card{
		padding: var(--space-s);
	}
}

@media (min-width: 1390px){
	.card{
		padding: var(--space-sm);
	}
}

.card-style-1.smaller{
	padding: var(--space-xs);
}

@media (min-width: 1024px){
	.card-style-1.smaller{
		padding: var(--space-2xs);
	}
}

.elementor-widget-heading span{ 
	-webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    background-image: linear-gradient(135deg, #dd2726, #fbbd23)
}

/* accordion
-------------------*/

.accordion-item_image {
    display: none;
}

.accordion-item_image.active {
    display: block;
    -webkit-animation: accordionImagefadeIn 1s;
    animation: accordionImagefadeIn 1s;
}

@-webkit-keyframes accordionImagefadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes accordionImagefadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
	
	
	
}


/* prüfen
-------------------*/


.circularCards .swiper.elementor-grid {
    display: block; /* compatibility with loop carousel */
}
.circularCards .swiper {
    overflow: visible;
}

/* add text after pagination, optional */
.circularCards .swiper-pagination::after {
    content: 'Schritt'; 
    padding-left: 6px;
    font-size: 16px;
}

/* prefix pagination by 0, optional */
.circularCards  span.swiper-pagination-current::before,
.circularCards  span.swiper-pagination-total::before {
    content: '0'; 
}

/* only show 3 slides, to look better on larger displays, delete if you want more than 3 slides to be shown per view */
.circularCards  .swiper-slide:has(+.swiper-slide ~ :is(.swiper-slide-active, .swiper-slide-active-duplicate)),
.circularCards  :is(.swiper-slide-active, .swiper-slide-active-duplicate) + .swiper-slide ~ .swiper-slide {
    opacity: 0 !important;
    pointer-events: none;
}



.circularCards .swiper-slide {
    opacity: .5!important;
}

.circularCards .swiper-slide.swiper-slide-active {
    opacity: 1!important;
}
.circularCards .swiper-creative .swiper-slide{
	overflow: visible;
}

/* pill box
-------------------*/

.pill-box{
    flex: 0 0 auto;
    background-color: rgba(255,255,255, .1);
    backdrop-filter: blur(100px);
    padding: var(--space-3xs) var(--space-2xs);
    border-radius: 100px;
  border: 1px solid var( --e-global-color-23a2945 );
}

@media (min-width: 768px){
    .pill-box{
         padding: var(--space-2xs) var(--space-xs);
    }
}


/* menu
-------------------*/

body.admin-bar[data-elementor-device-mode=mobile] .header .jet-mobile-menu__instance--slide-out-layout .jet-mobile-menu__container{
	height: 100dvh;
	top: 0;
	    z-index: 1000;
}

.header .jet-mobile-menu__instance--slide-out-layout .jet-mobile-menu__container{
	height: 100dvh;
}

/* State: Menü schließen */
.jet-mobile-menu__back[aria-label="Close Menu"] {
	opacity: 0;
}

/* State: Zurück im Untermenü */
.jet-mobile-menu__back[aria-label="Back to Prev Items"] svg{
	    width: 8px;
    min-width: 8px;
}


/* price-badge
-------------------*/


.price-badge{
    position: absolute;
    top: calc((var(--space-s)) * -1);
	padding: .125rem .25rem;
	border-radius: .2rem;
	background-color: var( --e-global-color-primary );
	right: var(--space-xs);
}

@media (min-width: 1024px){
	.price-badge{
		left: var(--space-s);
		padding: .125rem .3rem;
		 top: calc((var(--space-s)) * -1);
	 	transform: none;
	 	right: auto;
}
}

@media (min-width: 1390px){
	.price-badge{
		left: var(--space-sm);
	}
}

/* costum karusell
-------------------*/


.custom-karussell .swiper{
    overflow: visible;
}


.custom-karussell .swiper-slide {
    opacity: .5;
    filter: blur(10px);
    transform: scale(.9);
    transition: .25s all;
}

.custom-karussell .swiper-slide-active,
.custom-karussell .swiper-slide-active + div,
.custom-karussell .swiper-slide-active + div + div{
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
}

.custom-karussell.four-items .swiper-slide-active,
.custom-karussell.four-items .swiper-slide-active + div,
.custom-karussell.four-items .swiper-slide-active + div + div,
.custom-karussell.four-items .swiper-slide-active + div + div + div{
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
}


:root{
    --slider-btn-size: 1.5rem;
    --slider-btn-gap: .75rem;
    --slider-btn-distance: 4rem;
}


/* gradient bg
-------------------*/

.gradient-bg {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.gradient-bg::before,
.gradient-bg::after {
    content: "";
    position: absolute;
    width: 55%;
    height: 500px;
    top: -180px;

    border-radius: 50%;
    filter: blur(160px);
    pointer-events: none;
    z-index: -1;

    will-change: transform;
}

.gradient-bg::before {
    left: -15%;
    background: #DD2726;
    opacity: 0.3;

    animation: glowMoveRed 12s ease-in-out infinite alternate;
}

.gradient-bg::after {
    right: -15%;
    background: #CDA149;
    opacity: 0.28;

    animation: glowMoveGold 15s ease-in-out infinite alternate;
}

@keyframes glowMoveRed {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
    }

    50% {
        transform: translate3d(50px, 30px, 0) scale(1.08);
    }

    100% {
        transform: translate3d(20px, 60px, 0) scale(0.96);
    }
}

@keyframes glowMoveGold {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
    }

    50% {
        transform: translate3d(-60px, 40px, 0) scale(1.1);
    }

    100% {
        transform: translate3d(-20px, 70px, 0) scale(0.97);
    }
}

@media (prefers-reduced-motion: reduce) {
    .gradient-bg::before,
    .gradient-bg::after {
        animation: none;
    }
}

.background-monkey svg{
    position: absolute;
    top: 15px;
    left: calc(50% - .5rem);
    transform: translateX(-50%);
}

@media (min-width: 768px){
    .background-monkey svg{
        top: 0;
         left: calc(50% - 1.25rem);
    }
}

@media (max-width: 1024px){
    .familly-img:after{
        content: "";
        width: 100%;
        height: 50%;
        background-color: red;
        position: absolute;
        left: 0;
        bottom: 0;
        background: #1A1A1A;
    background: linear-gradient(0deg, rgba(26, 26, 26, 1) 0%, rgba(26, 26, 26, 0) 100%);
    }
}

.familly-img{
    overflow: hidden;
}


 .postid-508 .kmk-calendar article[data-title="Kids Kyeok Too Ki"],
.postid-508 .kmk-calendar article[data-title="Erwachsene Kyeok Too Ki / MMA"],
  .postid-508 .kmk-calendar article[data-title="Minis Gruppe 1"],
  .postid-508 .kmk-calendar article[data-title="Minis Gruppe 2"],
  .postid-508 .kmk-calendar article[data-title="Minis Gruppe 1+2"],
  .postid-508 .kmk-calendar article[data-title="Kids Kyeok Too Ki / Boxen"],
  .postid-508 .kmk-calendar article[data-title="Grown ups Kyeok Too Ki / MMA Stand-up"]{
    opacity: .5;
	     pointer-events: none;
}



.postid-493 .kmk-calendar article[data-title="Kick-Thaiboxing / Boxen"],
 .postid-493 .kmk-calendar article[data-title="Kids Kyeok Too Ki"],
  .postid-493 .kmk-calendar article[data-title="Minis Gruppe 1"],
  .postid-493 .kmk-calendar article[data-title="Minis Gruppe 2"],
  .postid-493 .kmk-calendar article[data-title="Minis Gruppe 1+2"],
 .postid-493 .kmk-calendar article[data-title="Jugend Kyeok Too Ki / BJJ / Muay Thai"],
  .postid-493 .kmk-calendar article[data-title="Kids Kyeok Too Ki / Boxen"],
 .postid-493 .kmk-calendar article[data-title="Jugend Kyeok Too Ki / Muay Thai"],
.postid-493 .kmk-calendar article[data-title="Kick-Thaiboxing"]{
    opacity: .5;
	   pointer-events: none;
}


.jet-woo-product-gallery-slider .jet-woo-product-gallery__image img{
	aspect-ratio: 1536 / 1025;
    object-fit: contain;
}


.elementor-sub-item span,
span.jet-menu-label > span,
footer .menu-item a span{
     padding: 2px 4px;
    border-radius: 4px;

    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);

    color: #fff;
    font-size: .6rem;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    transition: 0.2s ease;
    transform: translateY(-5px);
}

.elementor-sub-item span{
	border-color: var( --e-global-color-bad59af );
	color: var( --e-global-color-bad59af );
}

.elementor-sub-item,
span.jet-menu-label,
footer .menu-item a {
        display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: np-wrap;
}

.dialog-type-lightbox{
	z-index: 1000000;	
}


.elementor-heading-title span{
	    color: var(--e-global-color-accent);
}