/*
Theme Name: Impreza Child
Template: Impreza
Version: 2.2
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/
/* ==========================================================
   MICHAL – Custom Icons für Timeline Tabs
   Normal = DARK
   Hover  = LIGHT
   Aktiv  = LIGHT
   ========================================================== */

.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(1),
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(2),
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(3),
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(4) {
	position: relative;
}


/* Original-Icons ausblenden */
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(1) > i,
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(2) > i,
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(3) > i,
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(4) > i {
	display: none !important;
}


/* Eigene Icons */
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(1)::before,
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(2)::before,
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(3)::before,
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(4)::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);

	width: 62px;
	height: 62px;

	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;

	pointer-events: none;
}


/* ==========================================================
   TAB 1 – BERATUNG
   ========================================================== */

/* Normal */
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(1)::before {
	background-image: url("/wp-content/uploads/2026/09/michal-icon-beratung-dark.png");
}

/* Hover */
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(1):hover::before {
	background-image: url("/wp-content/uploads/2026/09/michal-icon-beratung-light.png");
}

/* Aktiv */
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(1).active::before {
	background-image: url("/wp-content/uploads/2026/09/michal-icon-beratung-light.png");
}


/* ==========================================================
   TAB 2 – ORGANISATION
   ========================================================== */

/* Normal */
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(2)::before {
	background-image: url("/wp-content/uploads/2026/09/Michal_Begleitung_Organisation-dark.png");
}

/* Hover */
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(2):hover::before {
	background-image: url("/wp-content/uploads/2026/09/Michal_Begleitung_Organisation-light.png");
}

/* Aktiv */
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(2).active::before {
	background-image: url("/wp-content/uploads/2026/09/Michal_Begleitung_Organisation-light.png");
}


/* ==========================================================
   TAB 3 – ÜBERFÜHRUNG
   ========================================================== */

/* Normal */
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(3)::before {
	background-image: url("/wp-content/uploads/2026/09/michal-icon-ueberfuehrung-dark.png");
}

/* Hover */
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(3):hover::before {
	background-image: url("/wp-content/uploads/2026/09/michal-icon-ueberfuehrung-light.png");
}

/* Aktiv */
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(3).active::before {
	background-image: url("/wp-content/uploads/2026/09/michal-icon-ueberfuehrung-light.png");
}


/* ==========================================================
   TAB 4 – VERABSCHIEDUNG
   ========================================================== */

/* Normal */
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(4)::before {
	background-image: url("/wp-content/uploads/2026/09/Michal_Begleitung_Verabschiedung-dark.png");
}

/* Hover */
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(4):hover::before {
	background-image: url("/wp-content/uploads/2026/09/Michal_Begleitung_Verabschiedung-light.png");
}

/* Aktiv */
.tabs-michal-icons .w-tabs-list .w-tabs-item:nth-child(4).active::before {
	background-image: url("/wp-content/uploads/2026/09/Michal_Begleitung_Verabschiedung-light.png");
}


/* ==========================================================
   TIMELINE – Linie
   ========================================================== */

.w-tabs.style_timeline > .w-tabs-list .w-tabs-list-h:before,
.w-tabs.style_timeline2 > .w-tabs-list .w-tabs-list-h:before {
	border-color: #c8c8c8 !important;
}


/* ==========================================================
   MICHAL – TEAM MOSAIK

   Basisklasse:
   michal-team-2

   Höhenklassen:
   team-groesser
   team-kleiner
   ========================================================== */


/* ==========================================================
   ABSTÄNDE
   ========================================================== */

/* Normalen Impreza-Abstand beibehalten */
.michal-team-mosaic .g-cols {
	--columns-gap: 1.5rem !important;
}

/* Abstand zwischen den beiden Team-Zeilen */
.michal-team-mosaic .w-separator {
	height: 1.5rem !important;
	min-height: 1.5rem !important;
	margin: 0 !important;
	padding: 0 !important;
}


/* ==========================================================
   PERSONENKARTE
   ========================================================== */

.michal-team-2 {
	position: relative !important;
	width: 100% !important;
	overflow: hidden !important;
	border-radius: var(--site-border-radius) !important;
}


/* ==========================================================
   KARTENHÖHEN – DESKTOP

   Groß  = 480px
   Klein = 420px
   Unterschied = 60px
   ========================================================== */

.michal-team-2.team-groesser {
	height: 480px !important;
	min-height: 480px !important;
	max-height: 480px !important;
}

.michal-team-2.team-kleiner {
	height: 420px !important;
	min-height: 420px !important;
	max-height: 420px !important;
}


/* ==========================================================
   BILDER
   ========================================================== */

.michal-team-2 .w-person-image {
	width: 100% !important;
	height: 100% !important;
	aspect-ratio: auto !important;
	overflow: hidden !important;
	border-radius: var(--site-border-radius) !important;
}

.michal-team-2 .w-person-image,
.michal-team-2 .w-person-image *,
.michal-team-2 .w-person-image img,
.michal-team-2 .w-person img {
	border-radius: var(--site-border-radius) !important;
}

.michal-team-2 .w-person-image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;

	object-fit: cover !important;
	object-position: center top !important;
}


/* ==========================================================
   WPBAKERY WRAPPER
   ========================================================== */

.michal-team-mosaic .g-cols > .wpb_column > .vc_column-inner {
	height: 100% !important;
	padding: 0 !important;
}


/* ==========================================================
   ZWEITE ZEILE VERSCHIEBEN

   Groß  = 480px
   Klein = 420px

   Differenz = 60px

   Die großen Karten in Reihe 2 werden 60px nach oben
   gezogen. Dadurch entsteht der Mosaik-Effekt.
   ========================================================== */

.michal-team-mosaic
.w-separator + .g-cols
.michal-team-2.team-groesser {
	margin-top: -60px !important;
}

.michal-team-mosaic
.w-separator + .g-cols
.michal-team-2.team-kleiner {
	margin-top: 0 !important;
}


/* ==========================================================
   TEXT OVERLAY
   ========================================================== */

.michal-team-2 .w-person-content {
	position: absolute !important;
	z-index: 5 !important;

	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;

	padding: 5rem 1.25rem 1.4rem !important;

	background:
		linear-gradient(
			to bottom,
			transparent 0%,
			rgba(0, 0, 0, .04) 20%,
			rgba(0, 0, 0, .72) 100%
		) !important;

	color: #fff !important;
	text-align: center !important;
}


/* Name */
.michal-team-2 .w-person-name {
	margin: 0 0 .3rem !important;

	font-size: 1.25rem !important;
	line-height: 1.2 !important;

	color: #fff !important;
}


/* Position / Beschreibung */
.michal-team-2 .w-person-role {
	margin: 0 !important;

	font-size: 1rem !important;
	line-height: 1.35 !important;

	color: #fff !important;
	opacity: .95 !important;
}


/* ==========================================================
   TABLET
   601px – 1024px
   ========================================================== */

@media (max-width: 1024px) and (min-width: 601px) {

	/* Tablet ebenfalls etwas kompakter */

	.michal-team-2.team-groesser {
		height: 450px !important;
		min-height: 450px !important;
		max-height: 450px !important;
	}

	.michal-team-2.team-kleiner {
		height: 400px !important;
		min-height: 400px !important;
		max-height: 400px !important;
	}


	/* Differenz = 50px */

	.michal-team-mosaic
	.w-separator + .g-cols
	.michal-team-2.team-groesser {
		margin-top: -50px !important;
	}

	.michal-team-mosaic
	.w-separator + .g-cols
	.michal-team-2.team-kleiner {
		margin-top: 0 !important;
	}

}


/* ==========================================================
   MOBILE
   bis 600px

   Auf dem Handy:
   - ALLE Karten gleich hoch
   - team-groesser wird ignoriert
   - team-kleiner wird ignoriert
   - KEIN Mosaik-Versatz
   ========================================================== */

@media (max-width: 600px) {

	.michal-team-2,
	.michal-team-2.team-groesser,
	.michal-team-2.team-kleiner {
		height: 420px !important;
		min-height: 420px !important;
		max-height: 420px !important;

		margin-top: 0 !important;
	}


	/* Jeglichen Versatz in Reihe 2 deaktivieren */

	.michal-team-mosaic
	.w-separator + .g-cols
	.michal-team-2.team-groesser,

	.michal-team-mosaic
	.w-separator + .g-cols
	.michal-team-2.team-kleiner {
		margin-top: 0 !important;
	}


	/* Bilder auf Mobile weiterhin vollständig füllen */

	.michal-team-2 .w-person-image {
		width: 100% !important;
		height: 100% !important;
	}

	.michal-team-2 .w-person-image img {
		width: 100% !important;
		height: 100% !important;

		object-fit: cover !important;
		object-position: center top !important;
	}

}

</style>
<style>

/* ==========================================================
   MICHAL TEAM – BILD-ZOOM AUSGLEICH
   Größere Karten bekommen etwas mehr Bild-Zoom,
   damit Personen/Köpfe optisch ähnlich groß bleiben.
   ========================================================== */


/* Normale / kleinere Karten */
.michal-team-2.team-kleiner .w-person-image img {
	transform: scale(1) !important;
	transform-origin: center top !important;
}


/* Größere Karten:
   Bild etwas stärker hineinzoomen */
.michal-team-2.team-groesser .w-person-image img {
	transform: scale(1.10) !important;
	transform-origin: center top !important;
}


/* ==========================================================
   TABLET
   Etwas weniger Zoom
   ========================================================== */

@media (max-width: 1024px) and (min-width: 601px) {

	.michal-team-2.team-groesser .w-person-image img {
		transform: scale(1.07) !important;
	}

}


/* ==========================================================
   MOBILE
   Alle Karten gleich hoch = auch gleicher Bild-Zoom
   ========================================================== */

@media (max-width: 600px) {

	.michal-team-2.team-groesser .w-person-image img,
	.michal-team-2.team-kleiner .w-person-image img {
		transform: scale(1) !important;
		transform-origin: center top !important;
	}

}
	
	.michal-fhliste {
  list-style: none;
  margin: 0;
  padding: 0;
}

.michal-fhliste li {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: center;
  padding: .9rem 1.2rem;
  border-radius: var(--site-border-radius);
  background: #e3e3d5;
  margin-bottom: .5rem;
}

.michal-fhliste li b {
  font-weight: 600;
  white-space: nowrap;
}

.michal-fhbtn {
  border: 0;
  background: #823c64;
  color: #f0f0e6;
  border-radius: 999em;
  padding: .4em 1.1em;
  font-size: .95rem;
  cursor: pointer;
  justify-self: end;
  white-space: nowrap;
}

.no-touch .michal-fhbtn:hover {
  background: #3c3c3c;
}

@media (max-width: 900px) {
  .michal-fhliste li {
    grid-template-columns: 1fr;
    gap: .5rem;
  }

  .michal-fhliste li b {
    white-space: normal;
  }

  .michal-fhbtn {
    justify-self: start;
  }
}

/*-----------------------------------------------------------------------------------*/
/* mobile	 */
/*-----------------------------------------------------------------------------------*/

.ush_menu_1 .w-nav-item.level_1.current-menu-item>a:not(.w-btn), .ush_menu_1 .w-nav-item.level_1.current-menu-ancestor>a:not(.w-btn), .ush_menu_1 .w-nav-item.level_1.current-page-ancestor>a:not(.w-btn) {
	/* border-radius: 0.75rem !important; */
	margin: 0 !important;
}

.w-nav.type_mobile .w-nav-anchor.level_1:not(.w-btn) {
	padding-left:1.5rem !important;
	padding-right: 1.5rem !important;
}

.ush_menu_1 .w-nav-list.level_2 {
	margin-bottom:15px;
}


/*-----------------------------------------------------------------------------------*/
/* eRecht24 Content	 */
/*-----------------------------------------------------------------------------------*/

.recht24content h1,
.recht24content h2,
.recht24content h3,
.recht24content h4,
.recht24content h5,
.recht24content h6 {
  line-height: 1.3;
  padding-bottom:5px;
}

.recht24content h1 {
  margin-bottom:30px !important;
}

.recht24content h2 {
  font-size:1.3rem !important;
  font-weight: bold !important;
  padding-bottom:15px;
  }

.recht24content h3 {
  font-size:1.2rem !important;
}

.recht24content h4 {
  font-size:1.1rem !important;
}

.recht24content h5 {
  font-size:1.0rem !important;
}

.recht24content h6 {
  font-size:1.0rem !important;
}

.impressum a {
	color:inherit !important;
    text-decoration: none !important;
    text-decoration-thickness: 0px !important;
    text-decoration-style: none !important;
    text-decoration-skip-ink: none !important;
    text-underline-offset: none !important;
}

/*-----------------------------------------------------------------------------------*/
/* cmplz-show-banner Cursor Icon ohne Link	 */
/*-----------------------------------------------------------------------------------*/

.cmplz-show-banner {
	cursor: pointer !important;
}

/* Complianz – Checkbox sauber rechts positionieren */

#cmplz-cookies-overview .cmplz-dropdown-cookiepolicy summary {
    position: relative !important;
}

/* Checkbox */
#cmplz-cookies-overview input.cmplz-accept-service {
    position: absolute !important;
    right: 60px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    z-index: 2;
}

/* Platz für Checkbox freihalten */
#cmplz-cookies-overview .cmplz-dropdown-cookiepolicy summary p {
    margin-right: 30px !important;
}

/*-----------------------------------------------------------------------------------*/
/* Misc	 */
/*-----------------------------------------------------------------------------------*/

/* Complianz – Google Bewertungen Consent-Button */

#google-reviews.cmplz-consent-area {
    text-align: center;
}

#google-reviews .cmplz-accept-category,
.cmplz-consent-area .cmplz_marketing_consentarea {
    display: inline-block;
    background-color: #383838;
    color: #ffffff !important;
    padding: 16px 28px;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    transition: all 0.25s ease;
    max-width: 100%;
    box-sizing: border-box;
}

/* Hover */
.cmplz-consent-area .cmplz_marketing_consentarea:hover {
    background-color: #555555;
    color: #ffffff !important;
    transform: translateY(-2px);
}

/* Fokus für Tastaturbedienung */
.cmplz-consent-area .cmplz_marketing_consentarea:focus-visible {
    outline: 2px solid #383838;
    outline-offset: 4px;
}

/* Mobile */
@media (max-width: 600px) {
    .cmplz-consent-area .cmplz_marketing_consentarea {
	  padding: 14px 20px;
	  font-size: 14px;
    }
}

/* Complianz-Button horizontal zentrieren */
.cmplz-consent-area {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}