/* 
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: 12px;
  --spacing-m: 16px;
  --spacing-l: 24px;
  --spacing-xl: 32px;
  --spacing-xxl: 48px;

 /* Farben */
  --color-primary: #1a1a1a;
  --color-secondary: #1a1a1a;
  --color-white: #fff;
  
  /* Schriftart */
  --font-primary: "Varela Round", 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: 24px;
	--spacing-l: 32px;
	--spacing-xl: 48px;
	--spacing-xxl: 72px;
  }

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

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

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

b, strong {
	font-weight: 700;
}

.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%;
}

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