/* 
Theme Name: Schwarz+Matt Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Schwarz+Matt Child is a child theme of Hello Elementor, created by the Elementor team and modified by Schwart+Matt.
Author: Schwarz+Matt Team
Author URI: https://www.schwarz-matt.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: schwarz+matt-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 */


/* global vars
----------------------------------------*/

:root {
	--admin-bar-height: 46px;
	--header-height: 5rem;
	--border-radius-basic: 1rem;
	--border-radius-small: .5rem;
	--img-avatar-size-base: clamp(3rem, 2.8rem + 1vw, 4rem);
}



@media (min-width: 767px){
	:root {
		--admin-bar-height: 32px;
		--header-height: 6.5rem;
	}
}


/* support color elementor-icon-widget
----------------------------------------*/

.elementor-widget-icon svg path{
    fill: currentColor;
}

p{
	margin-bottom: 0;
}

.elementor-icon-wrapper{
	display: flex;
}

/* 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 */
}



/* fon-sizes
----------------------------------------*/
:root {

  /* 34px → 64px */
 --font-64: clamp(2rem, 1.2rem + 2.2vw, 4rem);
	
	/* 28px → 64px */
--font-64-smaller: clamp(1.75rem, 1rem + 2.6vw, 4rem);

  /* 28px → 48px */
  --font-48: clamp(1.75rem, 1.1rem + 1.5vw, 3rem);

  /* 22px → 28px */
  --font-28: clamp(1.375rem, 1.1rem + 0.6vw, 1.75rem);

  /* 20px → 24px */
  --font-24: clamp(1.25rem, 1.05rem + 0.45vw, 1.5rem);


  /* Body */



	
  /* 16px → 18px */
  --font-18: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);

  /* 15px → 16px */
  --font-16: clamp(0.9375rem, 0.92rem + 0.12vw, 1rem);

  /* 13px → 14px */
  --font-14: clamp(0.8125rem, 0.79rem + 0.08vw, 0.875rem);

  --font-12: 0.75rem;
	
	/* 10px → 12px */
	--font-12-xs: clamp(0.625rem, 0.6rem + 0.15vw, 0.75rem);
	
	/* 20px → 48px */
	--leistung-slide-header: clamp(1.25rem, 0.9rem + 2vw, 3rem);

	/* ig gross */

	/* 32px → 56px */
	--font-56: clamp(2rem, 1.2rem + 2vw, 3.5rem);
	
	/* 16px → 22px */
	--font-22: clamp(1rem, 0.9rem + 0.5vw, 1.375rem);
	

	/* 16px → 20px */
	--font-20: clamp(1rem, 0.92rem + 0.35vw, 1.25rem);

}



/* vars
----------------------------------------*/

:root {

	/* 12px–14px | 28px–36px */
	--button-gap-base: 
		clamp(0.75rem, 0.7rem + 0.15vw, 0.875rem)
		clamp(1.75rem, 1.6rem + 0.5vw, 2.25rem);

	/* 12px–14px | 24px–32px */
	--button-gap-small:
		clamp(0.75rem, 0.7rem + 0.15vw, 0.875rem)
		clamp(1.5rem, 1.35rem + 0.45vw, 2rem);
	
	/* content widht */
	--content-width-base: 1664px;
	--content-width-smaller: 1383px;

}

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


.section {
  	/* 48px → 64px */
	padding-left: var(--space-sm);
	padding-right: var(--space-sm);
	transition: .125s;
}

@media (min-width: 1360px){
	.section{
		padding-left: var(--space-2xl);
  		padding-right: var(--space-2xl);
	}
}


@media (min-width: 1560px){
	.section{
		padding-left: var(--space-5xl);
  		padding-right: var(--space-5xl);
	}
}

/* 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);
}

/* top
----------------------------------------*/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


/* bottom
----------------------------------------*/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

.elementor-button{
	padding: var(--space-xs) var(--space-s);
	border-radius: 6px;	
}

.elementor-button .elementor-button-text{
	font-size: var(--font-16);
	line-height: 150%;
}

/*-- primary --*/

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

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



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

.elementor-button-slider-arrow .elementor-button{
	width: clamp(2rem, 1.875rem + 0.625vw, 2.625rem);
	height: clamp(2rem, 1.875rem + 0.625vw, 2.625rem);
	border-radius:clamp(2rem, 1.875rem + 0.625vw, 2.625rem);
	padding: 0;
    display: flex;
	justify-content: center;
    align-items: center;
	background-color: transparent;
	border: 1px solid;
	cursor: pointer;
}

.elementor-button-slider-arrow.slick-disabled .elementor-button{
	opacity: .5;
}


.elementor-button-slider-arrow .elementor-button svg{
	width: clamp(0.5rem, 0.4625rem + 0.1875vw, 0.6875rem);	
}


.elementor-button-slider-arrow.slick-disabled .elementor-button:hover{
	background-color: transparent!important;
}


/*-- bright --*/

.custom-slider.bright .elementor-button-slider-arrow .elementor-button{
	border-color: #ffffff;
}

.custom-slider.bright .elementor-button-slider-arrow .elementor-button svg path{
	fill: #ffffff;
}

.custom-slider.bright .elementor-button-slider-arrow .elementor-button:hover{
	background-color: #ffffff;
}

.custom-slider.bright .elementor-button-slider-arrow .elementor-button:hover svg path{
	fill: var(--e-global-color-text );
}

.custom-slider.bright .elementor-button-slider-arrow.slick-disabled .elementor-button:hover svg path{
	fill: #ffffff;
}

/*-- dark --*/

.custom-slider.dark .elementor-button-slider-arrow .elementor-button{
	border-color: var(--e-global-color-text );
}

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

.custom-slider.dark .elementor-button-slider-arrow .elementor-button:hover{
	background-color: var(--e-global-color-text );
}

.custom-slider.dark .elementor-button-slider-arrow .elementor-button:hover svg path{
	fill: #ffffff;
}

.custom-slider.dark .elementor-button-slider-arrow.slick-disabled .elementor-button:hover svg path{
	fill: var(--e-global-color-text );
}


/* 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,
.custom-slider-section .elementor-widget-n-carousel .elementor-swiper-button{
	display: none!important;
}

.custom-slider-section.slider-inactive .elementor-widget-n-carousel + .custom-slider{
	display: none;
}

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

/*header .header.elementor-sticky--effects{
	background-color: #ffffff;
}*/

/* icon-box card
----------------------------*/

.icon-box {
    width: var(--space-xl);
    height: var(--space-xl);   
    border-radius: var(--border-radius-small);
        display: flex;
    align-items: center;
    justify-content: center;
	background-color: var(--e-global-color-accent);

}

.icon-box svg path{
	fill: var(--e-global-color-primary);
}

.icon-box svg{
    width: calc((var(--space-s)) * 1.5);
}

/*-- icon-box card v1 --*/
.card-box-v1{
    overflow: hidden;
	height: 100%;
}

.card-box-v1:after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: rgba(11, 77, 81, 9.1);
background: -webkit-linear-gradient(0deg, rgba(11, 77, 81, 0.91) 0%, rgba(0, 0, 0, 0) 100%);
background: -moz-linear-gradient(0deg, rgba(11, 77, 81, 0.91) 0%, rgba(0, 0, 0, 0) 100%);
background: linear-gradient(0deg, rgba(11, 77, 81, 0.91) 0%, rgba(0, 0, 0, 0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#0B4D51", endColorstr="#000000", GradientType=0);
}

.card-box-v1 .elementor-widget-image{
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: 0;
    opacity: 0;
    transition: .3s all;
}

.card-box-v1:hover .elementor-widget-image{
       opacity: .2;
}

/*-- icon-box card v2 --*/
.card-box-v2{
    overflow: hidden;
}

.card-box-v2:after{
    content: "";
    position: absolute;
    width: 80%;
    height: 420px;
    border-radius: 60% 40% 34% 66% / 51% 55% 45% 49% ;
    transform: rotate(-50deg);
    filter: blur(30px);
    left: -50%;
    top: -50%;
background: #0dafb8;
background: radial-gradient(circle, rgba(13, 175, 184, 1) 0%, rgba(17, 117, 123, 1) 64%);
    opacity: 0;
    z-index: 1;
    transition: .5s all;
    transform: scale(.5);
}

.card-box-v2:hover:after{
    left: -30%;
    top: -30%;
  transform: scale(1);
    opacity: .5;
}

/* br handler  
----------------------------*/

.br {
  display: inline;
}

/* Mobile: ausblenden */
@media (max-width: 1024px) {
  .br {
    display: none;
  }
}

/* Desktop ab 1025px: sichtbar */
@media (min-width: 1025px) {
  .br {
    display: inline;
  }
}



/* header
----------------------------*/
.header .header-wrapper{
    background-color: #ffffff;
    height: var(--header-height);
    padding: 0 var(--space-m);
    border-radius: var(--border-radius-basic);
}

/* hero
----------------------------*/

.hero{
    margin-top: calc((var(--header-height)) * -.5);
    max-height: 1000px;
    padding-top: var(--header-height);
    padding-bottom: var(--space-l);
    z-index: 0;
    border-radius: calc((var(--border-radius-basic)) * 2);
    border: 4px solid #E8E8E8;
}

.hero.section{
    padding-top: calc((var(--header-height)) / 2);
}


@media (min-width: 1025px){
    
    .hero{
        /*height: 100vh; */
        padding-bottom: 0;
    }
    
        body.admin-bar .hero{
        height: calc(100vh - ((var(--admin-bar-height)) + ((var(--header-height) / 2))));
    }
    
    .hero{
        max-height: 800px;a
    }
}

@media (min-width: 1560px){
    .hero{
         max-height: 1000px;
    }
}

@media (max-width: 1024px) and (orientation: landscape) { 
 
    .hero .hero_content{
        width: 75%;
    }

}

.hero .e-con-inner{
    padding-top: var(--space-xl);
}

.hero .hero_portrait{
    height: 100%;
}

