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

html, body {
	max-width: 100% !important;
	overflow-x: hidden !important;
	scroll-behavior: smooth;
}

:root {
  /* Spacing */
  --spacing-s: 24px;
  --spacing-m: 32px;
  --spacing-l: 48px;
  --spacing-xl: 72px;
  --spacing-xxl: 96px;

 /* Farben */
  --color-primary: #0FD8B1;
  --color-secondary: #091123;
  --color-white: #fff;
  
  /* Schriftart */
  --font-primary: "Chillax", sans-serif;
}

.wrapper {
  padding-left: var(--spacing-s);
  padding-right: var(--spacing-s);
}

.pt-s { padding-top: var(--spacing-s); }
.pt-m { padding-top: var(--spacing-m); }
.pt-l { padding-top: var(--spacing-l); }
.pt-xl { padding-top: var(--spacing-xl); }
.pt-xxl { padding-top: var(--spacing-xxl); }

.pb-s { padding-bottom: var(--spacing-s); }
.pb-m { padding-bottom: var(--spacing-m); }
.pb-l { padding-bottom: var(--spacing-l); }
.pb-xl { padding-bottom: var(--spacing-xl); }
.pb-xxl { padding-bottom: var(--spacing-xxl); }

.p-m { padding: var(--spacing-m); }
.p-l { padding: var(--spacing-l); }

.mt-m { margin-top: calc(var(--spacing-l) * -1); }
.mt-l { margin-top: calc(var(--spacing-xl) * -1); }

.mb-l { margin-bottom: var(--spacing-xl); }

@media (min-width: 768px) {
  :root {
	--spacing-m: 32px;
	--spacing-l: 48px;
	--spacing-xl: 72px;
	--spacing-xxl: 96px;
  }

  .wrapper {
	padding-left: var(--spacing-m);
	padding-right: var(--spacing-m);
  }
}

@media (min-width: 1024px) {
  :root {
	--spacing-m: 48px;
	--spacing-l: 72px;
	--spacing-xl: 96px;
	--spacing-xxl: 120px;
  }

  .wrapper {
	padding-left: var(--spacing-l);
	padding-right: var(--spacing-l);
  }
}

.slider-visible .slick-list {
	overflow: visible;
}

.aspect-1-1 img {
	aspect-ratio: 1/1 !important;
	object-fit: cover !important;
	object-position: center center !important;
}

.aspect-16-9 img {
	aspect-ratio: 16/9 !important;
	object-fit: cover !important;
	object-position: center center !important;
}

.full-height.elementor-widget-image {
	height: auto;
}

.full-img-height .elementor-widget.elementor-widget-image {
	height: 100%;
}

.navi.elementor-widget-n-menu .e-n-menu-title:hover .e-n-menu-dropdown-icon svg path,
.navi.elementor-widget-n-menu .e-n-menu-title.e-current .e-n-menu-dropdown-icon svg path {
	fill: var(--color-primary);
}

/* Breadcrumb Start */

.breadcrumb p {
	margin-block-start: 0;
	margin-block-end: 0;
}

.breadcrumb a {
	color: #0FD8B1;
	font-weight: 500;
}

.breadcrumb a:hover {
	color: #091123;
}

.breadcrumb {
	background-color: #EBF9F6;
	width: fit-content;
	padding: 12px 32px;
	border-radius: 48px;
}

/* Breadcrumb End */

/* Funktionen Modul Start */

.funktionen.elementor-widget-n-accordion .e-n-accordion-item[open] {
	background-color: #EBF9F6;
	border-radius: 32px;
	padding: 24px;
	border-width: 0;
}

.funktionen.elementor-widget-n-accordion .e-n-accordion-item {
	padding: 24px;
	border-radius: 0;
	border: solid #e1e2e5;
	border-width: 0 0 1px 0;
}

.funktionen span.e-n-accordion-item-title-icon {
	padding: 8px;
	border: solid #b1b3b8 1px;
	border-radius: 48px;
}

.e-n-accordion-item[open] span.number {
	display: inline-block;
	width: 48px;
	height: 48px;
	line-height: 48px;
	text-align: center;
	background: #091123;
	color: #fff;
	border-radius: 50%;
	margin-right: 24px;
	font-size: 18px;
}

.e-n-accordion-item-title-text {
  display: flex;
  align-items: flex-start;
}

span.number {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  line-height: 48px;
  text-align: center;
  background: #e1e2e5;
  color: #091123;
  border-radius: 50%;
  margin-right: 24px;
  font-size: 18px;
  margin-top: 4px;
}

@media (max-width:1024px) {
		span.number {
			width: 32px;
			height: 32px;
			line-height: 32px;
			font-size: 14px;
	}
}

.title-text {
  display: block;
}

/* Funktionen Modul End */

.menu {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	transform-origin: center center;
}

.menu:hover {
	transform: scale(1.01);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.05);
}

.card {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	transform-origin: center center;
}

.card:hover {
	transform: scale(1.005);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.05);
}

/* Hero Card */

.hero-card {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	transform-origin: center center;
}

.hero-card:hover {
	transform: scale(1.01);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

/* Hero Card */

/* Lösungen Card */

.loesung-card {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	transform-origin: center center;
}

.loesung-card:hover {
	transform: scale(1.02);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

/* Lösungen Card */

/* Produkte Card */
.produkte-card {
	aspect-ratio: 411/543;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	transform-origin: center center;
}

.produkte-card:hover {
	transform: scale(1.02);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

@media (max-width:767px) {
	.produkte-card {
	aspect-ratio: 411/543;
}
}
/* Produkte Card */

/* Basis-Button-Stile */
.elementor-button {
  display: inline-block;
  font-family: var(--font-primary);
  font-weight: 500;
  line-height: 120%;
  text-align: center;
  border-radius: 32px;
  padding: 12px 24px;
  transition: all 0.3s ease;
  border: solid 1px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  transform-origin: center center;
}

.elementor-button svg {
  transition: fill 0.3s ease;
}

/* Primary Button */
.btn-primary .elementor-button {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-secondary);
}

.btn-primary .elementor-button:hover,
.btn-primary .elementor-button:focus {
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
  color: var(--color-white);
  transform: scale(1.01);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.05);
}

.btn-primary .elementor-button svg path {
  fill: var(--color-secondary);
}

.btn-primary .elementor-button:hover svg path,
.btn-primary .elementor-button:focus svg path {
  fill: var(--color-white);
}

/* Primary 02 Button */
.btn-primary-02 .elementor-button {
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
  color: var(--color-white);
}

.btn-primary-02 .elementor-button:hover,
.btn-primary-02 .elementor-button:focus {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-secondary);
  transform: scale(1.01);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.05);
}

.btn-primary-02 .elementor-button svg path {
  fill: var(--color-white);
}

.btn-primary-02 .elementor-button:hover svg path,
.btn-primary-02 .elementor-button:focus svg path {
  fill: var(--color-secondary);
}

/* Secondary Button */
.btn-secondary .elementor-button {
  background-color: var(--color-white);
  border-color: var(--color-white);
  color: var(--color-secondary);
}

.btn-secondary .elementor-button:hover,
.btn-secondary .elementor-button:focus {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-secondary);
  transform: scale(1.01);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.05);
}

.btn-secondary .elementor-button svg path {
  fill: var(--color-secondary);
}

.btn-secondary .elementor-button:hover svg path,
.btn-secondary .elementor-button:focus svg path {
  fill: var(--color-secondary);
}

/* White Button */
.btn-white .elementor-button {
  background-color: var(--color-white);
  border-color: var(--color-white);
  color: var(--color-secondary);
}

.btn-white .elementor-button:hover,
.btn-white .elementor-button:focus {
  background-color: transparent;
  border-color: var(--color-white);
  color: var(--color-white);
  transform: scale(1.01);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.05);
}

.btn-white .elementor-button svg path {
  fill: var(--color-secondary);
}

.btn-white .elementor-button:hover svg path,
.btn-white .elementor-button:focus svg path {
  fill: var(--color-white);
}

/* White 02 Button */
.btn-white-02 .elementor-button {
  background-color: var(--color-white);
  border-color: var(--color-white);
  color: var(--color-secondary);
}

.btn-white-02 .elementor-button:hover,
.btn-white-02 .elementor-button:focus {
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
  color: var(--color-white);
  transform: scale(1.01);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.05);
}

.btn-white-02 .elementor-button svg path {
  fill: var(--color-secondary);
}

.btn-white-02 .elementor-button:hover svg path,
.btn-white-02 .elementor-button:focus svg path {
  fill: var(--color-white);
}

/* White bordered Button */
.btn-white-bordered .elementor-button {
  background-color: transparent;
  border-color: var(--color-white);
  color: var(--color-white);
}

.btn-white-bordered .elementor-button:hover,
.btn-white-bordered .elementor-button:focus {
  background-color: var(--color-white);
  border-color: var(--color-white);
  color: var(--color-secondary);
  transform: scale(1.01);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.05);
}

.btn-white-bordered .elementor-button svg path {
  fill: var(--color-white);
}

.btn-white-bordered .elementor-button:hover svg path,
.btn-white-bordered .elementor-button:focus svg path {
  fill: var(--color-secondary);
}

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

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

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

/* Elementor Form Start
 -------------------------------- */

/*-- select field custom icon --*/

.elementor-field.elementor-select-wrapper .select-caret-down-wrapper svg {
	display: none;
}

.elementor-form input[type=date],
.elementor-form input[type=email],
.elementor-form input[type=number],
.elementor-form input[type=password],
.elementor-form input[type=search],
.elementor-form input[type=tel],
.elementor-form input[type=text],
.elementor-form input[type=url],
.elementor-form select,
.elementor-form textarea {
	padding: 13px 20px;
}

.elementor-field.elementor-select-wrapper .select-caret-down-wrapper:before {
	content: "";
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='enable-background:new 0 0 511.9 272' viewBox='0 0 511.9 272'%3E%3Cpath d='M256 272c-4.2 0-8.2-1.6-11.4-4.6l-240-240c-6.2-6.2-6.2-16.3 0-22.6s16.3-6.2 22.6 0L256 233.5 484.7 4.7c6.2-6.2 16.3-6.2 22.6 0 6.2 6.2 6.2 16.3 0 22.6l-240 240c-3.1 3.1-7.1 4.7-11.3 4.7z' style='fill:%23111'/%3E%3C/svg%3E");
	width: 15px;
	height: 8px;
	display: block;
	background-size: contain;
	position: absolute;
	right: 12px;
	top: 4px;
}

.eicon-caret-down:before {
	content: "" !important;
}

/*-- dse checkbox --*/

.elementor-form .elementor-field-type-acceptance .elementor-field-option {
	display: flex;
	gap: .5rem;
	cursor: pointer;
}

/* reset checkbox */
.elementor-form .elementor-field-type-acceptance input {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	position: relative;
	width: 20px;
	height: 20px;
	cursor: pointer;
	background-color: transparent !important;
}

.elementor-element.elementor-widget-form .elementor-form .elementor-field-type-acceptance label {
	font-size: 14px;
	line-height: 1.3;
	cursor: pointer;
}

.elementor-form .elementor-field-type-acceptance label a {
	color: var(--e-global-color-primary);
	text-decoration: underline;
}

.elementor-field-subgroup.elementor-subgroup-inline {
	gap: 32px;
}

body .elementor-19 .elementor-element.elementor-element-e1087f3 .elementor-labels-above .elementor-field-group > label {
	padding-top: 24px;
}

.elementor-field-type-acceptance.elementor-field-group.elementor-column.elementor-field-group-field_d22b590.elementor-col-100 {
	margin-top: 12px;
}

.elementor-field-type-acceptance.elementor-field-group.elementor-column.elementor-field-group-field_80c99cf.elementor-col-100 {
	margin-bottom: 48px;
}

/* check box */
.elementor-form .elementor-field-type-acceptance input:before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	border-radius: 4px;
	border: 1px solid #2A1E2A;
	background-color: transparent;
}

/* checked icon */
.elementor-form .elementor-field-type-acceptance input:after {
	content: "";
	border-bottom-style: solid;
	border-bottom-width: 2px;
	border-right-style: solid;
	border-right-width: 2px;
	border-color: #2A1E2A;
	display: inline-block;
	position: absolute;
	height: 10px;
	width: 5px;
	left: 8px;
	top: 4px;
	transform: rotate(45deg);
	opacity: 0;
	transition: .125s;
}

.elementor-form .elementor-field-type-acceptance input:checked:after {
	opacity: 1;
}

/* Making checkbox and radio button invisible */
input[type="radio"] {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden !important;
	padding: 0;
	position: absolute;
	width: 1px;
}

/* For Radio button */
.elementor-field-type-radio > div label:before {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	margin-right: 16px;
	border-radius: 100%;
	vertical-align: -1px;
	border: 2px solid #2A1E2A;
	/* border: 2px solid rgba(0,0,0,0.25); */
	padding: 0.13em;
	background-color: transparent;
	/* background-color: transparent; */
	/* background-clip: content-box; */
	transition: all 0.2s ease;
}
.elementor-field-type-radio > div label {
	margin-right: 1em;
}
.elementor-field-type-radio > div input:hover + label:before {
	border-color: #2A1E2A;
}
.elementor-field-type-radio > div input:checked + label:before {
	background-color: transparent;
	border-color: #2A1E2A;
}

/* Elementor Form End
 -------------------------------- */
 
 .jet-select__control {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13.642' height='8' viewBox='0 0 13.642 8'%3E%3Cpath id='Pfad_4732' data-name='Pfad 4732' d='M1081.507,212.185a1.19,1.19,0,0,1-.847-.351l-5.61-5.625a1.2,1.2,0,0,1,0-1.689l5.61-5.626a1.2,1.2,0,1,1,1.693,1.689l-4.769,4.782,4.769,4.781a1.2,1.2,0,0,1-.847,2.04' transform='translate(-198.543 1082.703) rotate(-90)' fill='%23212121'/%3E%3C/svg%3E%0A");
   background-repeat: no-repeat;
   background-position-x: 92%;
   background-position-y: 21px;
 }
 
 .zahl {
	 font-size: 24px; 
	 line-height: 24px;
 }
 
 @media (max-width:767px) {
	 .zahl {
		  font-size: 20px; 
		  line-height: 20px;
	  }attributes
 }
 
 .loesungen-card:hover h3 {
	 color: #091123 !important;
 }
 
 .loesungen-card:hover svg path {
	 fill: #091123 !important;
 }
 
 a.loesungen-card-kontakt:hover h3 {
	  color: #fff !important;
  }
  
  @media (max-width:767px) {
	  .grid-1-3 {
		  grid-column: 1/3;
	 }
  }
  
 .text ul {
	 margin-top: 16px;
	 padding-left: 16px;
	 padding-bottom: 16px;
 }
 
 