/* 
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: #2A1F2A;
  --color-secondary: #084BA4;
  --color-white: #fff;
  
  /* Schriftart */
  --font-primary: "Montserrat", 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%;
}

.kontakt-cta-grid .kontakt-cta-icon {
	transition: all .3s ease;
}

.kontakt-cta-grid:hover .kontakt-cta-icon {
	padding-right: 4px;
	transition: all .3s ease;
}

.leistung-card:hover .leistung-btn {
	position: absolute;
	top: 30px;
	left: 24px;
	transform: translate(0,0);
	width: auto;
	text-align: left;
}

.leistung-card .leistung-btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: all 0.3s ease-in-out;
}

.leistung-card:hover .leistung-btn-3 {
	position: absolute;
	top: 30px;
	left: 24px;
	transform: translate(0,0);
	width: auto;
	text-align: left;
}

.leistung-card .leistung-btn-3 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: all 0.3s ease-in-out;
}

.leistung-card:hover .leistung-btn-3.elementor-align-center .elementor-button {
	width: 250px;
}

.leistung-card:hover span.elementor-button-text {
	font-size: 12px;
}

.leistung-card:hover .leistung-close {
	opacity: 1;
}

.leistung-card .leistung-close {
	opacity: 0;
	transition: all 0.3s ease-in-out;
}

.leistung-card:hover .leistung-open {
	opacity: 0;
}

.leistung-card .leistung-open {
	position: absolute;
	right: 24px;
	opacity: 1;
	transition: all 0.3s ease-in-out;
}

.leistung-card:hover .leistung-text {
	opacity: 1;
}

.leistung-card .leistung-text {
	transition: all 0.3s ease-in-out;
	opacity: 0;
}

.leistung-card .leistung-img {
	position: absolute;
	top: 50%;
	left: 55%;
	transform: translate(-50%, -50%);
	opacity: 1;
	width: 100%;
}

.leistung-card:hover .leistung-img {
	opacity: 0;
}

.leistung-card:hover .leistung-list {
	opacity: 1;
}

.leistung-card .leistung-list {
	transition: all 0.3s ease-in-out;
	opacity: 0;
}

.vita-text ul {
	list-style: none;
	padding-left: 0;
}

.vita-text ul li {
	position: relative;
	padding-left: 0;
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.vita-text ul li::before {
	content: "";
	width: 8px;
	height: 16px;
	background-image: url('/wp-content/uploads/2025/03/listing-plus-icon.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	filter: brightness(0) invert(1);
	flex-shrink: 0;
	margin-top: 3px;
}

.das-bringen-sie-mit-text ul {
	list-style: none;
	padding-left: 0;
}

.das-bringen-sie-mit-text ul li {
	position: relative;
	padding-left: 0;
	display: flex;
	align-items: flex-start;
	gap: 12px; 
}

.das-bringen-sie-mit-text ul li::before {
	content: "";
	width: 3px;
	height: 3px;
	background-color: #084BA4;
	border-radius: 50%;
	flex-shrink: 0;
	margin-top: 11px;
}

.news-text h3 {
	padding-top: 24px;
	font-weight: 600;
	font-size: 20px;
}

.text h2 {
	padding-top: 24px;
	font-weight: 600;
	font-size: 24px;
}

.text h3 {
	padding-top: 24px;
	font-weight: 600;
	font-size: 20px;
}

.text h4 {
	padding-top: 24px;
	font-weight: 600;
	font-size: 16px;
}

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

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

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

.btn-primary .elementor-button:hover,
.btn-primary .elementor-button:focus {
  background-color: var(--color-secondary);
  color: var(--color-white);
  border-color: var(--color-secondary);
}

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

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

/* Primary 02 Button */
.btn-primary-02 .elementor-button {
  background-color: transparent;
  color: var(--color-primary);
  border: 2px solid var(--color-primary);
}

.btn-primary-02 .elementor-button:hover,
.btn-primary-02 .elementor-button:focus {
  background-color: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}

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

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

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

.btn-secondary .elementor-button:hover,
.btn-secondary .elementor-button:focus {
  background-color: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}

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

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

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

.btn-secondary-02 .elementor-button:hover,
.btn-secondary-02 .elementor-button:focus {
  background-color: #FF6A15;
  color: var(--color-primary);
  border-color: #FF6A15;
}

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

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

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

.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
 -------------------------------- */
 
.elementor .elementor-element.elementor-widget-n-tabs:not(:has(>.elementor-widget-container))>.e-n-tabs>.e-n-tabs-heading .e-n-tab-title[aria-selected=true] {
    color: #fff;
}

.elementor-widget-n-tabs .e-n-tab-title[aria-selected=false]:hover {
    color: #fff !important;
}