/* SPACING */

	/* Base classes with default values */
	[class*="mb-"] { margin-bottom: 0; }
	[class*="pb-"] { padding-bottom: 0; }
	[class*="pt-"] { padding-top: 0; }
	[class*="gap-fluid-"] { gap: 0; }

	/* Margin Bottom */
	.mb-0 { margin-bottom: 0; }
	.mb-4 { margin-bottom: var(--calc-size-4); }
	.mb-8 { margin-bottom: var(--calc-size-8); }
	.mb-8-fix { margin-bottom: .5rem; }
	.mb-12 { margin-bottom: var(--calc-size-12); }
	.mb-16 { margin-bottom: var(--calc-size-16); }
	.mb-20 { margin-bottom: var(--calc-size-20); }
	.mb-24 { margin-bottom: var(--calc-size-24); }
	.mb-28 { margin-bottom: var(--calc-size-28); }
	.mb-32 { margin-bottom: var(--calc-size-32); }
	.mb-36 { margin-bottom: var(--calc-size-36); }
	.mb-40 { margin-bottom: var(--calc-size-40); }
	.mb-48 { margin-bottom: var(--calc-size-48); }
	.mb-56 { margin-bottom: var(--calc-size-56); }
	.mb-64 { margin-bottom: var(--calc-size-64); }
	.mb-72 { margin-bottom: var(--calc-size-72); }
	.mb-80 { margin-bottom: var(--calc-size-80); }
	.mb-88 { margin-bottom: var(--calc-size-88); }
	.mb-96 { margin-bottom: var(--calc-size-96); }
	.mb-144 { margin-bottom: var(--calc-size-144); }

	/* Padding Bottom */
	.pb-0 { padding-bottom: 0; }
	.pb-4 { padding-bottom: var(--calc-size-4); }
	.pb-8 { padding-bottom: var(--calc-size-8); }
	.pb-12 { padding-bottom: var(--calc-size-12); }
	.pb-16 { padding-bottom: var(--calc-size-16); }
	.pb-20 { padding-bottom: var(--calc-size-20); }
	.pb-24 { padding-bottom: var(--calc-size-24); }
	.pb-28 { padding-bottom: var(--calc-size-28); }
	.pb-32 { padding-bottom: var(--calc-size-32); }
	.pb-36 { padding-bottom: var(--calc-size-36); }
	.pb-40 { padding-bottom: var(--calc-size-40); }
	.pb-48 { padding-bottom: var(--calc-size-48); }
	.pb-56 { padding-bottom: var(--calc-size-56); }
	.pb-64 { padding-bottom: var(--calc-size-64); }
	.pb-72 { padding-bottom: var(--calc-size-72); }
	.pb-80 { padding-bottom: var(--calc-size-80); }
	.pb-88 { padding-bottom: var(--calc-size-88); }
	.pb-96 { padding-bottom: var(--calc-size-96); }
	.pb-144 { padding-bottom: var(--calc-size-144); }

	/* Padding Top */
	.pt-0 { padding-top: 0; }
	.pt-4 { padding-top: var(--calc-size-4); }
	.pt-8 { padding-top: var(--calc-size-8); }
	.pt-12 { padding-top: var(--calc-size-12); }
	.pt-16 { padding-top: var(--calc-size-16); }
	.pt-20 { padding-top: var(--calc-size-20); }
	.pt-24 { padding-top: var(--calc-size-24); }
	.pt-28 { padding-top: var(--calc-size-28); }
	.pt-32 { padding-top: var(--calc-size-32); }
	.pt-36 { padding-top: var(--calc-size-36); }
	.pt-40 { padding-top: var(--calc-size-40); }
	.pt-48 { padding-top: var(--calc-size-48); }
	.pt-56 { padding-top: var(--calc-size-56); }
	.pt-64 { padding-top: var(--calc-size-64); }
	.pt-72 { padding-top: var(--calc-size-72); }
	.pt-80 { padding-top: var(--calc-size-80); }
	.pt-88 { padding-top: var(--calc-size-88); }
	.pt-96 { padding-top: var(--calc-size-96); }
	.pt-144 { padding-top: var(--calc-size-144); }

	/* Gap Fluid */
	.gap-fluid-0 { gap: 0; }
	.gap-fluid-4 { gap: var(--calc-size-4); }
	.gap-fluid-8 { gap: var(--calc-size-8); }
	.gap-fluid-12 { gap: var(--calc-size-12); }
	.gap-fluid-16 { gap: var(--calc-size-16); }
	.gap-fluid-20 { gap: var(--calc-size-20); }
	.gap-fluid-24 { gap: var(--calc-size-24); }
	.gap-fluid-28 { gap: var(--calc-size-28); }
	.gap-fluid-32 { gap: var(--calc-size-32); }
	.gap-fluid-36 { gap: var(--calc-size-36); }
	.gap-fluid-40 { gap: var(--calc-size-40); }
	.gap-fluid-48 { gap: var(--calc-size-48); }
	.gap-fluid-56 { gap: var(--calc-size-56); }
	.gap-fluid-64 { gap: var(--calc-size-64); }
	.gap-fluid-72 { gap: var(--calc-size-72); }
	.gap-fluid-80 { gap: var(--calc-size-80); }
	.gap-fluid-88 { gap: var(--calc-size-88); }
	.gap-fluid-96 { gap: var(--calc-size-96); }
	.gap-fluid-144 { gap: var(--calc-size-144); }
	.gap-fluid-48x32 { gap: var(--calc-size-48) var(--calc-size-32); }
	.gap-fluid-64x32 { gap: var(--calc-size-64) var(--calc-size-32); }
	.gap-fluid-0x32 { gap: 0 var(--calc-size-32); }


	.gap-fix-8 {gap: .5rem;}
	.gap-fix-16 {gap: 1rem;}
	.gap-fix-24 {gap: 1.5rem;}
	.gap-fix-32 {gap: 2rem;}
	.gap-fix-48 {gap: 3rem;}
	.gap-fix-96 {gap: 6rem;}
	.gap-fix-144 {gap: 9rem;}

	.gap-em-0-15 {gap: .15em;}
	.gap-em-0-25 {gap: .25em;}
	.gap-em-0-5 {gap: .5em;}
	.gap-em-0-75 {gap: .75em;}
	.gap-em-1 {gap: 1em;}

/* END SPACING */

.vc_section {
	padding-left: 0; padding-right: 0;
	position: relative;  z-index: 100;
	margin: 0 auto;
	overflow: hidden; overflow-x: clip; overflow-y: visible;
}
.vc_section:not([class*="pt-"]) {padding-top: var(--calc-size-72);}
.vc_section:not([class*="pb-"]) {padding-bottom: var(--calc-size-72);}
.vc_section:first-child:not([class*="pt-"]) {padding-top: var(--calc-size-144);}
.vc_section:last-child:not([class*="pb-"]) {padding-bottom: var(--calc-size-96);}
.blog-content .vc_section:last-child:not([class*="pb-"]) {padding-bottom: var(--calc-size-144);}

.vc_row {
	--def-row-gap: var(--calc-size-32);
	--def-row-half-gap: calc(var(--def-row-gap) / 2);
	--def-row-gap-margin: calc(var(--def-row-half-gap) * -1);
	--def-row-gap-padding: var(--def-row-half-gap);
	--def-row-gap-mobile: var(--def-row-gap);
  margin-left: 0;
  margin-right: 0;
	/* padding-top: var(--calc-size-96); 
	padding-bottom: var(--calc-size-96);  */
	position: relative;  z-index: 100;
}

.vc_inner {--def-row-gap: var(--calc-size-32);}
.vc_row:not(.vc_inner) {overflow: hidden; overflow-x: clip; overflow-y: visible;}
.templatera_shortcode > .vc_row:not(.vc_inner) {overflow: visible; overflow-x: visible;}

.vc_row:not([class*="pt-"]) {padding-top: 0;}
.vc_row:not([class*="pb-"]) {padding-bottom: var(--calc-size-48);}
.vc_row:not([class*="pb-"]):last-child {padding-bottom: 0;}

.wpb_button:not([class*="mb-"]):not(:last-child), 
.wpb_content_element:not([class*="mb-"]):not(:last-child), 
.vc_btn3-container:not([class*="mb-"]):not(:last-child) {/* margin-bottom: var(--calc-size-32); ?? */ margin-bottom: var(--calc-size-24);}
.vc_btn3-container:not([class*="mb-"]):last-child {margin: 0;}

.wpb_single_image:not([class*="mb-"]):not(:last-child) {margin-bottom: var(--calc-size-32);}

.vc_row:has(.text-media) {padding-bottom: 0!important;}
.vc_row:not(:first-child):has(.text-media) {padding-top: .5rem!important;}

.with-separator {width: var(--wrapper-width);  max-width: calc(var(--wrapper-max-width) - (var(--side-gap) * 2));}
.with-separator .content-wrapper, .templatera_shortcode > .vc_row > .content-wrapper {width: 100%; max-width: 100%;}
.vc_row.with-separator {margin: 0 auto;}
.with-separator .with-separator {width: 100%; max-width: 100%;}
.with-separator, .with-separator .vc_row, .vc_row.with-separator {overflow-x: visible;}


.sep-top {border-top: solid 1px var(--colors-semantic-separator);}
.sep-bottom {border-bottom: solid 1px var(--colors-semantic-separator);}



/* @media screen and (max-width: 900px) { */
@media screen and (max-width: 767px) {
	.vc_row {--def-row-gap-mobile: var(--wrapper-side-padding);}
}

.vc_column_container > .vc_column-inner,
.vc_row-no-padding .vc_column_container > .vc_column-inner {
  padding-left: var(--def-row-gap-padding);
  padding-right: var(--def-row-gap-padding);
}

.as-vc_row_wrapper {
	display: flex; 
	margin-left: var(--def-row-gap-margin); 
	margin-right: var(--def-row-gap-margin); 
	flex-wrap: wrap; flex-grow: 1;
}
.vc_row-o-content-middle .as-vc_row_wrapper {align-items: center;}
.vc_row-o-content-bottom .as-vc_row_wrapper {align-items: flex-end;}

.as-row-gap_fluid .as-vc_row_wrapper, .as-row-gap_fixed .as-row-gap_fluid .as-vc_row_wrapper {
	--def-fluid-gap-vw: calc(var(--rem-to-px) / 2 / var(--clamp_vw_devider) * 100); 
	--def-row-gap-margin: clamp(var(--def-row-half-gap) * -1, var(--def-fluid-gap-vw) * 1vw * -1, 1rem * -1);
	--def-row-gap-padding: clamp(1rem, var(--def-fluid-gap-vw) * 1vw, var(--def-row-half-gap));
	--def-row-gap-mobile: clamp(var(--wrapper-side-padding), var(--def-fluid-gap-vw) * 2 * 1vw, var(--def-row-gap));
}
.as-row-gap_fixed .as-vc_row_wrapper {
	--def-row-half-gap: calc(var(--def-row-gap) / 2);
	--def-row-gap-margin: calc(var(--def-row-half-gap) * -1);
	--def-row-gap-padding: var(--def-row-half-gap);
	--def-row-gap-mobile: var(--def-row-gap);
}

.as-row-gap_0rem, .as-row-gap_0rem .vc_inner, .vc_row .vc_inner.as-row-gap_0rem {--rem-to-px: 0; --def-row-gap: 0rem;}
.as-row-gap_2rem, .as-row-gap_2rem .vc_inner, .vc_row .vc_inner.as-row-gap_2rem {--rem-to-px: 32; --def-row-gap: 2rem;}

/* @media screen and (max-width: 900px) { */
@media screen and (max-width: 767px) {
	.as-vc_row_wrapper {
		gap: var(--def-row-gap-mobile);
	}
}

.vc_row.light-section {background: var(--colors-semantic-background);}
.vc_row.no-bg-section {background: none;}

.vc_row.row_templarera_wrapper {padding-top: 0!important; padding-bottom: 0!important; background: none;}
.vc_parallax-inner .para-image {display: block; width: 100%; height: 100%; opacity: 0!important;}
.vc_parallax-inner .para-image img {display: block; width: 100%; height: 100%; object-fit: cover;}
.vc_row.vc_parallax .vc_parallax-inner {top: 0 !important; height: 100%!important;	background-attachment: fixed; background-position: 50% 50%;}
.full-width-image * {display: block; width: 100%;}


.as-grid {display: grid;}
.as-grid-def-gap:not([class*="gap-fluid-"]) {gap: var(--calc-size-32);}
.as-grid-def-gap-horizonal-separated:not([class*="gap-fluid-"]) {gap: var(--calc-size-64) var(--calc-size-32);}
.vc_column-inner .as-grid > .wpb_content_element {margin: 0;} /* asgrid class in wpb_wrapper */
.as-grid-auto-rows {grid-auto-rows: 1fr;}
.as-grid-align-top .vc_column-inner > .wpb_wrapper .wpb_text_column {align-items: flex-start;}
.as-grid-col-1, .as-grid-def-col-1 {grid-template-columns: repeat(1, minmax(0, 1fr))!important;}
.as-grid-col-2, .as-grid-def-col-2 {grid-template-columns: repeat(2, minmax(0, 1fr));}
.as-grid-col-3, .as-grid-def-col-3 {grid-template-columns: repeat(3, minmax(0, 1fr));}
.as-grid-col-4, .as-grid-def-col-4 {grid-template-columns: repeat(4, minmax(0, 1fr));}
.as-grid-col-percentage {grid-template-columns: repeat(auto-fit, minmax(0, calc(33.33% - 9px))); justify-content: center;}

@media (prefers-reduced-motion: no-preference) {
	/* simple animations */
	.fade-in {opacity: 0; }
	.slide-from-bottom {transform: translateY(3rem); transform: translateY(1em); will-change: transform;}
	.slide-from-top {transform: translateY(-3rem); transform: translateY(-1em); will-change: transform;}
	.slide-from-left {transform: translateX(-5rem); transform: translateX(-2em); will-change: transform;}
	.slide-from-right {transform: translateX(5rem); transform: translateX(2em); will-change: transform;}

	.is_inview.fade-in {opacity: 1; transition: opacity 1.2s ease;}
	.is_inview.slide-from-bottom,
	.is_inview.slide-from-top {transform: translateY(0); transition: transform .8s cubic-bezier(0.260, 0.860, 0.440, 0.985);}

	.is_inview.slide-from-left, .is_inview.slide-from-right {transform: translateX(0); transition: transform .8s cubic-bezier(0.260, 0.860, 0.440, 0.985);}

	.is_inview.fade-in.slide-from-bottom, .is_inview.fade-in.slide-from-top, .is_inview.fade-in.slide-from-left, .is_inview.fade-in.slide-from-right {transition: opacity .6s ease, transform .8s cubic-bezier(0.260, 0.860, 0.440, 0.985);}

	.is_inview.delay-0-1s {transition-delay: .1s!important;}
	.is_inview.delay-0-2s {transition-delay: .2s!important;}
	.is_inview.delay-0-3s {transition-delay: .3s!important;}
	.is_inview.delay-0-4s {transition-delay: .4s!important;}
	.is_inview.delay-0-5s {transition-delay: .5s!important;}
	.is_inview.delay-0-6s {transition-delay: .5s!important;}
	.is_inview.delay-0-7s {transition-delay: .7s!important;}
	.is_inview.delay-0-8s {transition-delay: .8s!important;}
	.is_inview.delay-0-9s {transition-delay: .9s!important;}
	.is_inview.delay-1-0s {transition-delay: 1s!important;}
}

/* links */
.as_text_column a {
  font-weight: var(--weight-bold); 
  background: linear-gradient(var(--colors-semantic-accent), var(--colors-semantic-accent)) no-repeat 0% 100%/100% 0%;
  outline-color: transparent; transition: background-size var(--short-duration) var(--base-easing), outline-color var(--base-duration) var(--base-easing);
}
.anchor-custom-link,a.anchor-item,.as_text_column a {
  text-decoration: underline;
  text-decoration-color: var(--colors-semantic-accent);
  text-decoration-thickness: 14%;
}

.elements_loading a {font-weight: var(--weight-bold);  pointer-events: none; cursor: default; color: var(--colors-semantic-text-tertiary);}

.as_def_link a {
	display: inline-flex; gap: var(--calc-size-16); align-items: center; text-decoration: underline;  text-decoration-color: transparent;
  text-decoration-thickness: 14%; outline-color: transparent; transition: text-decoration-color var(--base-duration) var(--base-easing), outline-color var(--base-duration) var(--base-easing);
}
.no-text-decoration a {text-decoration: none;}
.link-hover-bg a {transition: background var(--base-duration) var(--base-easing);}

.as_def_link a svg {width: var(--calc-size-16);	height: var(--calc-size-16);}
.bg-dark:not(.bg-white) .as_def_link svg path {
  stroke: var(--colors-schnee);
}

.bg-dark:not(.bg-white) .as_text_column a {
	transition: text-decoration var(--base-duration) var(--base-easing), color var(--base-duration) var(--base-easing), background-size var(--short-duration) var(--base-easing), outline-color var(--base-duration) var(--base-easing);
  text-decoration-color: var(--colors-schnee-80);
}
.bg-dark:not(.bg-white) .as_text_column a:not(:hover) {
  color: var(--colors-schnee);
}


.external-link {display: inline-flex; gap: .15em; align-items: center; flex-wrap: wrap;}
.external-link svg {width: .8889em;	height: .8889em;}
.external-link svg path, .as_def_link a svg path {transition: all var(--base-duration) var(--base-easing);}
.bg-dark:not(.bg-white)  a.external-link:not(:hover) svg path, .as-button.as-button-primary a.external-link:not(:hover) svg path {
  stroke: var(--colors-schnee);
}
.bg-dark:not(.bg-white) .as-button.as-button-primary a.external-link:not(:hover) svg path {
  stroke: var(--colors-semantic-text);
}

/* buttons */ 
.as-button, .as_text_link {display: flex; justify-content: flex-start;}
.vc_btn3-center {justify-content: center;}
.vc_btn3-right {justify-content: flex-end;}

.as-button a, .wpb_content_element:not(.google-map-container) button, button.wpcf7-submit, .em.em-event-booking-form .em-button.em-booking-submit, .em-coupon-code-button {
	display: flex;
	align-items: center;
	font-family: inherit;
  font-size: inherit;
  font-weight: var(--weight-medium);
  line-height: 155.556%;
  border: none;
  border-radius: 2px;
  padding: 0.75rem 1.5rem;
  background-color: transparent;
  color: inherit;
  box-shadow: inset 0 0 0 1px var(--colors-semantic-highlight-primary);
  cursor: pointer;
  transition-timing-function: var(--base-easing);
  transition-duration: var(--base-duration);
  transition-property: color, box-shadow, background-color;
	gap: .5rem;
}
.vc_btn3-full-width a {justify-content: center; flex-grow: 1;}

.as-button a svg path, .wpb_content_element:not(.google-map-container) button svg path {
	transition: all var(--base-duration) var(--base-easing);
	stroke: var(--colors-semantic-text);
}
.as-button.as-button-primary a svg path, .wpb_content_element:not(.google-map-container) .as-button.as-button-primary button svg path, .wpb_content_element:not(.google-map-container) .as-button.as-button-tertiary button svg path {
	stroke: var(--colors-schnee);
}

.as-button.as-button-primary a, .wpb_content_element:not(.google-map-container) .as-button.as-button-primary button, button.wpcf7-submit, .em.em-event-booking-form .em-button.em-booking-submit, .em-coupon-code-button {
	background-color: var(--colors-semantic-highlight-primary);
	color: var(--colors-schnee);
}

.as-button.as-button-tertiary a, .wpb_content_element:not(.google-map-container) .as-button.as-button-tertiary button {
	background-color: var(--colors-semantic-highlight-secondary);
	color: var(--colors-schnee);
	box-shadow: inset 0 0 0 1px var(--colors-semantic-highlight-secondary);
}

.as-button.as-button-disabled a[aria-disabled="true"], .wpb_content_element:not(.google-map-container) button:disabled, .wpb_content_element:not(.google-map-container) .as-button[aria-disabled="true"] button {
	color: var(--colors-semantic-text-tertiary)!important;
	background-color: transparent!important;
	box-shadow: none;
	padding-inline: calc(23 / 16 * 1rem);
	padding-block: calc(11 / 16 * 1rem);
	border: 1px dashed var(--colors-semantic-text-tertiary);
	cursor: not-allowed;
}

.wpb_content_element:not(.google-map-container) .as-button[aria-disabled="true"] button svg path {
	stroke: var(--colors-semantic-text-tertiary)!important;
}

.bg-dark:not(.bg-white) .as-button.as-button-disabled a[aria-disabled="true"], .bg-dark:not(.bg-white) .wpb_content_element:not(.google-map-container) button:disabled, .bg-dark:not(.bg-white) button.wpcf7-submit:disabled {
	color: var(--colors-schnee);
	border-color: var(--colors-schnee);
	background-color: transparent;
}

.bg-dark:not(.bg-white) .as-button a, .bg-dark:not(.bg-white) .wpb_content_element:not(.google-map-container) button, .bg-dark:not(.bg-white) button.wpcf7-submit {
  color: var(--colors-schnee);
	box-shadow: inset 0 0 0 1px var(--colors-schnee);
}

.bg-dark:not(.bg-white) .as-button.as-button-primary a, .bg-dark:not(.bg-white) .wpb_content_element:not(.google-map-container) button, .bg-dark:not(.bg-white) button.wpcf7-submit {
	background-color: var(--colors-schnee);
	color: var(--colors-granit);
}

.header-meta .as-button a {padding: 0.5rem 1.125rem .5rem .75rem; gap: .5rem; line-height: 114.286%; letter-spacing: .0025em; color: var(--colors-semantic-highlight-primary);}

/* button/link hover */
@media screen and (hover) {
	.as_text_column a:hover {background-size: 100% 100%;}
	.as_def_link:not(.no-text-decoration) a:hover {text-decoration-color: var(--colors-semantic-accent);}
	.bg-dark:not(.bg-white) .as_text_column a:hover {
    text-decoration-color: var(--colors-semantic-accent);
	}


	.as-button a:hover, .wpb_content_element:not(.google-map-container) button:hover, .wpb_content_element:not(.google-map-container) .as-button.as-button-primary button:hover, button.wpcf7-submit:hover, .link-hover-bg a:hover, .em.em-event-booking-form .em-button.em-booking-submit:hover, .em-coupon-code-button:hover
	{
		background-color: var(--colors-semantic-accent-subtle);
    color: var(--colors-semantic-text);
	}

	/* button over video - no transparent background */
	.wpb_content_element:not(.google-map-container) .as-button.as-button-primary button.video-play-btn:hover {
		background-color: var(--colors-semantic-accent-subtle-hex);
	}

	.as-button.as-button-tertiary a:hover, .wpb_content_element:not(.google-map-container) .as-button.as-button-tertiary button:hover {
		background-color: var(--colors-semantic-accent-subtle-hex);
		/* color: var(--colors-schnee); */
	}

	.as-button.as-button-primary a:hover svg path, .wpb_content_element:not(.google-map-container) .as-button.as-button-primary button:hover svg path,
	.as-button.as-button-tertiary a:hover svg path, .wpb_content_element:not(.google-map-container) .as-button.as-button-tertiary button:hover svg path {
		stroke: var(--colors-semantic-text);
	}


	.bg-dark:not(.bg-white) .as-button a:hover, .bg-dark:not(.bg-white) .wpb_content_element:not(.google-map-container) button:hover, .bg-dark:not(.bg-white) button.wpcf7-submit:hover, .bg-dark:not(.bg-white) .link-hover-bg a:hover
	{
		background-color: var(--colors-schnee-20);
    color: var(--colors-schnee);
	}
	.bg-dark:not(.bg-white)  a.external-link:hover svg path {
		stroke: var(--colors-schnee);
	}

}

/* button/link focus with keyboard */
.as_text_column a:focus-visible, .as_def_link a:focus-visible {outline: 2px solid var(--colors-semantic-highlight-primary); outline-offset: 0.25rem; border-radius: 0.01px;}
.as_def_link a:focus-visible {text-decoration-color: var(--colors-semantic-accent);}
.bg-dark:not(.bg-white) .as_text_column a:focus-visible {outline: 2px solid var(--colors-schnee-80);}

.as-button a:focus-visible, .wpb_content_element:not(.google-map-container) button:focus-visible, button.wpcf7-submit:focus-visible, .em.em-event-booking-form .em-button.em-booking-submit:focus-visible, .em-coupon-code-button:focus-visible
{
	outline: 2px solid var(--colors-semantic-highlight-primary);
  outline-offset: 4px;
}
.as-button.as-button-tertiary a:focus-visible, .wpb_content_element:not(.google-map-container) .as-button.as-button-tertiary button:focus-visible
{
	outline-color: var(--colors-semantic-highlight-secondary);
}
.bg-dark:not(.bg-white) .as-button a:focus-visible, .bg-dark:not(.bg-white) .wpb_content_element:not(.google-map-container) button:focus-visible, .bg-dark:not(.bg-white) button.wpcf7-submit:focus-visible
{
	outline: 2px solid var(--colors-schnee);
}

/* button/link active */
.as_text_column a:active {background-image: linear-gradient(var(--colors-semantic-accent-subtle), var(--colors-semantic-accent-subtle)); text-decoration-color: transparent;}
.as_def_link a:active {transition: none; translate: 0 2px;}
.bg-dark:not(.bg-white) .as_text_column a:active {background-image: linear-gradient(var(--colors-schnee-20), var(--colors-schnee-20)); color: var(--colors-schnee); transition: none;}
.bg-dark:not(.bg-white)  a.external-link:active svg path { transition: none;  stroke: var(--colors-schnee);}

.as-button:not(.as-button-disabled) a:active, .wpb_content_element:not(.google-map-container) button:not(:disabled):active, button.wpcf7-submit:not(:disabled):active, .em.em-event-booking-form .em-button.em-booking-submit:active, .em-coupon-code-button:active {translate: 0 2px;}




/* HERO //////////////////////////////// */
	
	.hero {padding: var(--calc-size-96) 0 0;}
	.half_hero {padding: var(--calc-size-40) 0 0;}
	.hero h1 em {font-style: normal; font-weight: var(--weight-normal);}
	.hero_copy {line-height: 146%; font-weight: var(--weight-light); letter-spacing: -.015em;}
	.hero_copy strong, .hero_copy b {font-weight: var(--weight-medium);}
	.hero_copy:not(:last-child) {margin: 0 0 var(--calc-size-24);}
	.hero .as-button:not(:last-child) {margin-bottom: var(--calc-size-24);}
	.hero h1 + .as-button {margin-top: var(--calc-size-48);}
	.hero_container {flex-direction: column;}
	.hero_text {padding: 0 0 var(--calc-size-96)}
	.hero_image img {width: 100%;}

/* END HERO //////////////////////////////// */

/* breadcrumb */
	.home .breadcrumb-wrapper, .single-related_content .breadcrumb-wrapper, .single-textmedia .breadcrumb-wrapper {display: none;}
	.breadcrumb {font-size: var(--font-size-xs); color: var(--colors-semantic-text); margin: 0 0 var(--calc-size-24);}
	.half_hero .breadcrumb {margin: 0 0 var(--calc-size-48);}
	.breadcrumb ul {display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; height: 1.5625rem; white-space: nowrap;}
	.breadcrumb li > a, .breadcrumb li > span {display: flex; align-items: center; gap: .5rem; line-height: 175%;}
	.breadcrumb li > a {color: var(--colors-semantic-text-secondary); outline-color: transparent;  transition: outline-color var(--base-duration) var(--base-easing);}
	.breadcrumb li > a:focus-visible {outline: 2px solid var(--colors-semantic-highlight-primary);  outline-offset: 0.25rem;  border-radius: 0.01px;}

	.breadcrumb li.hidden {display: none!important;}
	.breadcrumb a svg {width: 1rem; height: auto;}
	.breadcrumb li > a[rel="home"]::before, .en .breadcrumb li:nth-child(2) > a::before, .ru .breadcrumb li:nth-child(2) > a::before {
			content: '';
			width: 1rem;
			height: 1rem;
			background-image: url("data:image/svg+xml,%3Csvg width='16' height='17' viewBox='0 0 16 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.99967 4.49999V7.16666M9.33301 9.83333H6.66634M9.33301 12.5H6.66634M9.33301 5.83333H6.66634M11.9997 8.49999H13.333C13.6866 8.49999 14.0258 8.64047 14.2758 8.89052C14.5259 9.14057 14.6663 9.47971 14.6663 9.83333V13.8333C14.6663 14.1869 14.5259 14.5261 14.2758 14.7761C14.0258 15.0262 13.6866 15.1667 13.333 15.1667H2.66634C2.31272 15.1667 1.97358 15.0262 1.72353 14.7761C1.47348 14.5261 1.33301 14.1869 1.33301 13.8333V7.83333C1.33301 7.47971 1.47348 7.14057 1.72353 6.89052C1.97358 6.64047 2.31272 6.49999 2.66634 6.49999H3.99967M11.9997 15.1667V3.16666C11.9997 2.81304 11.8592 2.4739 11.6091 2.22385C11.3591 1.9738 11.02 1.83333 10.6663 1.83333H5.33301C4.97939 1.83333 4.64025 1.9738 4.3902 2.22385C4.14015 2.4739 3.99967 2.81304 3.99967 3.16666V15.1667' stroke='%23454140' stroke-opacity='0.6' stroke-width='1.33333' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
			background-size: contain;
			background-repeat: no-repeat;
			background-position: center;
			display: block;
	}

	.en .breadcrumb li:first-child, .ru .breadcrumb li:first-child {display: none;}

/* end breadcrumb */


/* ANCHORS MODULE //////////////////////////////// */

.anchor-navigation {margin: 4rem 0;}
.anchor-grid {
	display: grid;	gap: 1px;	background: var(--colors-semantic-separator);	border-top: 1px solid var(--colors-semantic-separator);	border-bottom: 1px solid var(--colors-semantic-separator);	
	width: 100%; background-clip: padding-box; overflow: hidden; overflow: clip; 
	/* Mobile first - single column by default */
	grid-template-columns: 1fr;
	--item-mob-padding: var(--calc-size-24) var(--calc-size-32) var(--calc-size-32) var(--wrapper-side-padding);
	--item-def-padding: var(--calc-size-32) var(--calc-size-64) var(--calc-size-64) var(--calc-size-32);
	--item-small-padding: var(--calc-size-24) var(--calc-size-64) var(--calc-size-48) var(--calc-size-24);
}

.anchor-item, .anchor-custom-link {
		background: var(--colors-semantic-background);	display: flex; word-wrap: break-word;	overflow-wrap: break-word;	hyphens: auto; line-height: 125%; letter-spacing: .25%;
		padding: var(--item-mob-padding);	position: relative; font-weight: var(--weight-bold);
		transition: background-color var(--base-duration)  var(--base-easing), text-decoration-color var(--base-duration)  var(--base-easing); outline: none; text-wrap: balance; 
    /* text-decoration: underline;
    text-decoration-color: var(--colors-semantic-accent);
    text-decoration-thickness: 14%; */
}
.anchor-item {display: block;}
.anchor-item::after {content: ''; position: absolute; width: calc(100% + 2px); height: calc(100% + 2px); border: solid .25rem var(--colors-semantic-highlight-primary); z-index: 100; top: -1px; left: -1px; opacity: 0; transition: opacity var(--short-duration)  var(--base-easing);}
.anchor-item:hover, .anchor-custom-link:hover {background: var(--colors-semantic-accent-subtle-hex); text-decoration-color: transparent;}
.anchor-item:active span {translate: 0 2px;	display: block;}
.anchor-item:focus-visible::after {opacity: 1;}
.anchor-item br {display: none;}

@media (min-width: 768px) and (max-width: 1400px) {
	.anchor-grid-7 .anchor-item:last-child::before {content: ''; position: absolute; width: 100%; height: 100%; background: var(--colors-semantic-background); z-index: 100; top: 0; left: calc(100% + 1px);}
}

@media (min-width: 768px) {
	.anchor-grid {grid-template-columns: repeat(auto-fit, minmax(0, 1fr));}
	.anchor-item, .anchor-custom-link {padding: var(--item-def-padding);}
	.anchor-item br, .anchor-custom-link br {display: block;}

  .anchor-item {display: flex;}
}

@media (min-width: 901px) and (max-width: 1680px) {
	.anchor-grid-8 {grid-template-columns: repeat(4, 1fr);}
}

@media (min-width: 901px) and (max-width: 1400px) {
	.anchor-grid-7 {grid-template-columns: repeat(4, 1fr);	}
}

@media (min-width: 901px) and (max-width: 1200px) {
	.anchor-grid-5 .anchor-item {padding: var(--item-small-padding);}
	.anchor-grid-6 {grid-template-columns: repeat(3, 1fr);}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.custom-links.anchor-grid-4 {grid-template-columns: repeat(2, 1fr);}
}

@media (min-width: 768px) and (max-width: 900px) {
	.anchor-grid-6, .anchor-grid-8, .anchor-grid-7 {grid-template-columns: repeat(2, 1fr);}
}

@media (max-width: 900px) {
	.anchor-grid-5 {grid-template-columns: 1fr;}
	.anchor-grid-5 .anchor-item {padding: var(--item-mob-padding);}
	.anchor-grid-5 .anchor-item br {display: none;}
}

.custom-links {margin-top: -2px;}
.custom-links .anchor-custom-link {flex-direction: column; gap: var(--calc-size-24); text-decoration: none;}
.custom-links .anchor-custom-link .anchor-item {padding: 0!important; position: static;}
.custom-links .anchor-custom-link h5 {margin: 0;}
.custom-links .anchor-custom-link .external-link {display: inline-block;}
.custom-links .anchor-custom-link .external-link svg {margin-left: .3rem; vertical-align: middle;}


/* END ANCHORS MODULE //////////////////////////////// */


/* KEYFACTS MODULE //////////////////////////////// */
.keyfacts {min-width: 0; background: #fff; margin-top: -1px;}
.keyfacts_content {min-width: 0;}
.keyfacts_content_inner {padding: var(--calc-size-96) var(--wrapper-side-padding); display: flex; flex-direction: column; gap: var(--calc-size-40);}
.keyfacts_item_top {padding: 0 0 var(--calc-size-8); border-bottom: solid 2px var(--colors-schnee); font-size: var(--font-size-l);  font-weight: var(--weight-light); line-height: 100%; gap: .5rem;}
.keyfacts_item_top img {flex-shrink: 0;}
.keyfacts_subheadline {padding: var(--calc-size-8) 0 0; font-size: var(--font-size-s); line-height: 100%; letter-spacing: -.015em;}
.keyfacts_headline {flex-grow: 1; gap: var(--calc-size-8); align-items: baseline; align-items: flex-end;}
.keyfacts_headline span {letter-spacing: -.015em;}
.keyfacts_headline span.keyfacts_number {font-weight: var(--weight-bold); font-size: var(--font-size-4xl_2); line-height: 80%; flex-shrink: 0;}
.keyfacts_headline span.no-number {font-weight: var(--weight-medium);}
/* END KEYFACTS MODULE //////////////////////////////// */


/* TEXTMEDIA/TESTIMONIAL MODULE //////////////////////////////// */
.text-media {min-width: 0;}
.text-media:not(:last-child) {margin-bottom: .5rem;}
.text-media_content {flex: 1; min-width: 0;}
.text-media_content_inner {padding: var(--calc-size-48);}
.text-media_content_inner ul {padding-left: var(--calc-size-24);}
.text-media_content_inner strong {font-weight: var(--weight-bold);}
.text-media_content_inner > div:last-child > div.mb-16:last-child {margin-bottom: 0;}
.text-media_content_inner .as-button:last-child {padding-top: var(--calc-size-16);}

.testimonial .text-media_content_inner {padding-top: var(--calc-size-96); display: flex;  flex-direction: column;  height: 100%;  justify-content: space-between; color: var(--colors-schnee-80);}
.testimonial blockquote {line-height: 146%;}

.testimonial .text-media_content_inner.no-link > div {display: flex;  flex-direction: column;  height: 100%;  justify-content: space-between;}
.testimonial .text-media_content_inner.no-link > div p {margin: 0;}

.text-media.emergency .text-media_image {aspect-ratio: auto;}
.text-media.emergency .text-media_image a {flex-grow: 1; padding: var(--calc-size-144) var(--wrapper-side-padding);}
.text-media.emergency .text-media_image a span {display: flex; align-items: center; gap: var(--calc-size-24); font-size: var(--font-size-4xl);  font-weight: var(--weight-bold);  letter-spacing: -0.015em; line-height: 109.25%;}
.text-media.emergency .text-media_content_inner {padding-top: var(--calc-size-96);}
.text-media.emergency .text-media_content_inner .as_text_column {max-width: 40rem;}
.text-media.emergency .text-media_content_inner strong {font-weight: var(--weight-medium);}
.text-media.emergency .text-media_content_inner .hyphenate {text-wrap: auto;}

.text-media_image.has_zoom {position: relative;}
.overlay-open {position: absolute; right: 1rem; bottom: 1rem; z-index: 10;}
.overlay-close {position: absolute; right: var(--calc-size-32); top: var(--calc-size-32); z-index: 200;}
.wpb_content_element.overlay-open:not(.google-map-container) button, .wpb_content_element.overlay-close:not(.google-map-container) button {padding: .625rem;}
/* END TEXTMEDIA/TESTIMONIAL MODULE //////////////////////////////// */


/* CONTACTS MODULE / BASE LIST //////////////////////////////// */
.contact-module {}
.base_list.as-list:not(.as-list-two-col-no-pictures) {gap: 0;}

.base_list .picture_container picture {aspect-ratio: 4 / 5;}
.base_list.as-list .picture_container picture {aspect-ratio: 2 / 1;}
.base_list .picture_container picture img {width: 100%; height: 100%; object-fit: cover;}

.base_list_element {display: flex;}
.draft-contact {opacity: 0.5;}
.base_list.as-grid .base_list_element {flex-direction: column; gap: var(--calc-size-24);}
.base_list.as-list .base_list_element {padding: var(--calc-size-48) 0; border-top: solid 1px var(--colors-semantic-separator); gap: var(--calc-size-32);}
.base_list.as-list:not(.as-list-two-col-no-pictures) .base_list_element:last-child {border-bottom: solid 1px var(--colors-semantic-separator);}


.base_list:not(.as-list) {padding-bottom: var(--calc-size-48); border-bottom: 1px solid var(--colors-semantic-separator); gap: var(--calc-size-48) var(--calc-size-32);}
.base_list:last-child {border-bottom: none; padding-bottom: 0; /* ??? auf bestehenden Seiten prüfen */ }
.base_list:not(.as-list) .info_container {padding-top: var(--calc-size-14); border-top: 1px solid var(--colors-semantic-separator); flex-direction: column;  display: flex;  height: 100%;  justify-content: space-between;}
.base_list:not(.as-list) .info_container:first-child {padding-top: 0; border-top: none;}
.base_list .info_container {font-size: var(--font-size-s);}
.base_list h5 {line-height: 155.556%; font-size: var(--font-size-base); letter-spacing: .0075em;}
.base_list.as-list h5:not(:last-child) {padding-bottom: var(--calc-size-8); }
.base_list header {overflow: hidden;}
.base_list header *:not(h5) {word-wrap: break-word; hyphens: auto;}
.base_list header p {opacity: .6; margin: 0;}
.base_list footer {font-size: var(--font-size-base);}
.base_list .info_main > div:not(:last-child) {padding-bottom: var(--calc-size-8);}

.contact-module-with-location header {margin-bottom: var(--calc-size-8); padding-bottom: var(--calc-size-8); border-bottom: solid 1px var(--colors-semantic-separator);}

.contact-module-footer {padding: var(--calc-size-24) 0; border-bottom: 1px solid var(--colors-semantic-separator); flex-wrap: wrap; gap: var(--calc-size-24); }
.contact-module-footer h5 {flex: 1 1 auto;}
.contact-module-footer h5 span {font-weight: var(--weight-normal);}
.contact-module-footer .vc_btn3-container {flex: 0 0 auto;}
.base_list .info_container .info_main a {display: flex; width: fit-content;}
.base_list .info_container .info_main div > span {display: flex; gap: var(--calc-size-16);  align-items: flex-start;}
.base_list .info_container .info_main div > span svg {width: var(--calc-size-16);  height: var(--calc-size-16); margin-top: var(--calc-size-6);}

.contact-module-footer-under-grid {padding: 0; border: none; gap: 0; margin-top: var(--calc-size-48);}
.contact-module-footer-under-grid h5 {margin: 0!important;}
.contact-module-footer-under-grid .vc_column-inner > .wpb_wrapper  {display: flex; align-items: center; justify-content: space-between; padding: var(--calc-size-24) 0; border-bottom: 1px solid var(--colors-semantic-separator); border-top: 1px solid var(--colors-semantic-separator); flex-wrap: wrap; gap: var(--calc-size-24);}


@media (min-width: 381px) {
	.base_list:not(.as-list) {grid-template-columns: repeat(2, minmax(0, 1fr));}
}

@media (min-width: 460px) {
	.base_list.as-list.as-list-two-col-no-pictures .info_container.info_container_no_footer {grid-template-columns: repeat(2, minmax(0, 1fr));}
}

@media (min-width: 768px) {
	.base_list.as-list:not(.as-list-two-col-no-pictures) .base_list_element {flex-direction: row-reverse; align-items: flex-end;}
	.base_list.as-list:not(.as-list-two-col-no-pictures) .base_list_element > div {width: 50%;}

	.base_list.as-list .info_container {gap: var(--calc-size-16); grid-template-areas: "header main" "footer footer"; grid-template-columns: 1fr 1fr;  grid-template-rows: auto auto;  column-gap: var(--calc-size-32);}
	.base_list.as-list .info_container.info_container_no_footer {grid-template-areas: "header main"; grid-template-rows: auto;}
	.base_list.as-list.as-list-two-col-no-pictures .info_container {width: 100%;}
	.base_list.as-list .info_container > header {grid-area: header;}
	.base_list.as-list .info_container > .info_main {grid-area: main;}
	.base_list.as-list .info_container > footer {grid-area: footer;}
}

@media (min-width: 901px) {
	.base_list:not(.as-list) {grid-template-columns: repeat(4, minmax(0, 1fr));}
	.base_list.base_list_col_1:not(.as-list) {grid-template-columns: repeat(1, minmax(0, 1fr));}
	.base_list.base_list_col_3:not(.as-list) {grid-template-columns: repeat(3, minmax(0, 1fr));}
}

/* END CONTACTS MODULE //////////////////////////////// */


/* ACCORDIONS MODULE //////////////////////////////// */
details summary::-webkit-details-marker {display: none;}

.acc-container.acc_big details, .acc-container.acc_big > h3 {--acc-big-space: var(--calc-size-32);}
.acc-container.acc_small details, .acc-container.acc_small > h3 {--acc-big-space: var(--calc-size-12);}

.acc-container details, .acc-container > h3 {border-top: 1px solid var(--colors-semantic-separator);}
.multiple_acc.acc-container details {border-top: none;}
.acc-container.acc_small details:first-child, .acc-container.acc_small > h3:not(.download):first-child,
.acc-container.acc_small h2 + details, .acc-container.acc_small > h2 + h3 {border-top: none;} 
.acc-container:not(.acc_small) details:last-child, .acc-container:not(.acc_small) > h3:last-child, .acc-container.acc_small > h3.download:last-child {border-bottom: 1px solid var(--colors-semantic-separator);}

.acc-container summary {font-weight: var(--weight-medium); user-select: none;  padding: var(--acc-big-space);  display: flex;  align-items: center;  gap: 1rem;  transition-timing-function: ease;  transition-duration: 350ms;  transition-property: background-color;  cursor: pointer;}
.acc-container > h3 a {font-weight: var(--weight-bold); user-select: none;  padding: var(--acc-big-space);  display: flex;  align-items: center;  gap: 1rem; }
.acc-container.acc_small > h3 a {font-weight: var(--weight-medium);}
.acc-container.acc_small summary, .acc-container.acc_small > h3 a {padding-left: 0; padding-right: 0;}

.acc-container summary:hover {background-color: var(--colors-semantic-accent-subtle);}
.acc-container summary:focus-visible {outline: 2px solid var(--colors-semantic-highlight-primary);  outline-offset: 0.25rem;  border-radius: 0.01px;}
.acc-container summary:active > * {translate: 0 2px;}

.acc-container details > div {padding: 0 var(--acc-big-space) var(--acc-big-space);}
.acc-container.acc_small details > div {padding-left: 0; padding-right: 0;}

.acc-container > h2 {margin: 0 0 var(--calc-size-4); font-size: var(--font-size-l); color: var(--colors-semantic-text-tertiary); padding-left: 0!important;}
.acc-container details > div h4 {font-size: var(--font-size-m); margin: 0 0 var(--calc-size-16);}

.acc-container details > div .wpb_text_column:not([class*="mb-"]):not(:last-child),
.with-indent .wpb_text_column:not([class*="mb-"]):not(:last-child) {margin-bottom: var(--calc-size-48);}

.acc-container details > div .wpb_text_column:not([class*="mb-"]) + .vc_btn3-container,
.with-indent .wpb_text_column:not([class*="mb-"]) + .vc_btn3-container {margin-top: calc(var(--calc-size-24) * -1);}


.entry-content .acc-container > h2::before {content: none;}
.acc-container h3 {margin: 0; font-size: var(--font-size-l);}
.acc-container.acc_small h3 {font-weight: var(--weight-medium); line-height: 155.556%; font-size: var(--font-size-base); letter-spacing: .0075em;}

.acc-container summary svg, .acc-container > h3 a > svg {display: block;  margin-left: auto;  transition: rotate 200ms ease; flex-shrink: 0;}
.acc-container:not(.acc_small) summary svg, .acc-container:not(.acc_small) > h3 a > svg {width: var(--calc-size-32); height: var(--calc-size-32);}
.acc-container details[open] summary svg {rotate: 180deg;}
.acc-container > h3 a > svg path {transition: all var(--base-duration) var(--base-easing);}
.acc-container > h3 a:hover > svg path {stroke: var(--colors-semantic-accent)}
.acc-container > h3 a.external-link span + svg {display: none;}

.acc-container details::details-content {transition: height 350ms ease, content-visibility 350ms ease allow-discrete; height: 0; overflow: clip; interpolate-size: allow-keywords;   }
.acc-container details[open]::details-content {height: auto;}

.acc-container:not(.acc_small) details > div > .wpb_content_element {max-width: 40rem;}
/* .acc-container details .wpb_content_element:not([class*="mb-"]):not(:last-child) {margin-bottom: var(--calc-size-16);} */
.acc-container details .wpb_content_element:not([class*="mb-"]) + .vc_btn3-container:not([class*="mb-"]):last-child {margin-top: calc(var(--calc-size-32) * -1);}
.acc-container details .vc_btn3-container:not([class*="mb-"]):last-child {margin-bottom: 0;}

.acc-container .base_list {border-bottom: none;}
.acc-container .contact-module:last-child .base_list {padding-bottom: 0;}

/* @media (min-width: 1440px) {
	.acc-container:not(.acc_small) details > div > .wpb_content_element {max-width: 60%;}
} */

.emergency_headline_button_row .vc_column-inner > .wpb_wrapper {display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--calc-size-24); padding: var(--calc-size-24) var(--calc-size-32); border-top: 1px solid var(--colors-semantic-separator);}
.emergency_headline_button_row:last-child .vc_column-inner > .wpb_wrapper {border-bottom: 1px solid var(--colors-semantic-separator);}
.acc-container + .emergency_headline_button_row .vc_column-inner > .wpb_wrapper {border-top: none;}

	/* downloads */
.acc-container h3.download a {justify-content: space-between; gap: .25rem 1rem;}
.acc-container h3.download a span:last-child {display: flex; gap: 1rem; align-items: center; font-weight: var(--weight-normal); line-height: 175%; font-size: var(--font-size-xs); letter-spacing: .0025em; flex-shrink: 0;}
.acc-container h3.download a svg {flex-shrink: 0; width: 16px;  height: 16px;}
.acc-container h3.download a svg path {transition: all var(--base-duration) var(--base-easing);}
.acc-container h3.download a:hover svg path {stroke: var(--colors-semantic-accent)}

/* END ACCORDIONS MODULE //////////////////////////////// */


/* CARD GRID //////////////////////////////// */
.card-grid-container {} /* Parent wrapper */
.card-grid > div {} 

.card-container.bg-dark {padding: var(--calc-size-96) var(--calc-size-48) var(--calc-size-48) }
.card-container .wpb_text_column {flex-grow: 1;}
.card-container .vc_custom_heading {text-wrap: balance; hyphens: auto; word-wrap: break-word; align-content: flex-end;}
.card-container > .wpb_single_image:first-child:not(:last-child)  {border-bottom: 1px solid var(--colors-semantic-separator); padding-bottom: var(--calc-size-32);}
.card-container.bg-dark > .wpb_single_image:first-child  {margin-top: calc(var(--calc-size-96) * -1); margin-left: calc(var(--calc-size-48) * -1); margin-right: calc(var(--calc-size-48) * -1); padding-bottom: var(--calc-size-32);}
/* .card-container .vc_btn3-container a::after  {content: ''; position: absolute; width: 100%; height: 100%; inset: 0; z-index: 1000;} */

.grid_element_two_col .as-grid-auto-rows  {grid-auto-rows: auto; gap: var(--calc-size-64) var(--calc-size-32)}

.card-container:not(.bg-dark) p {color: var(--colors-semantic-text-secondary);}

/* END CARD GRID //////////////////////////////// */


/* slick global */

.slick-slider {position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none;  user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent;}
.slick-list {position: relative; display: block; overflow: hidden; overflow: clip; margin: 0; padding: 0;}
.slick-list:focus {outline: none;}
.slick-list.dragging {cursor: pointer; cursor: hand;}
/*.slick-slider .slick-track, .slick-slider .slick-list {-webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0);}*/
.slick-track {position: relative; top: 0; left: 0;display: block; /*margin-left: auto; margin-right: auto;*/}
.slick-track:before,.slick-track:after{display: table; content: '';}
.slick-track:after{clear: both;}
.slick-loading .slick-track{visibility: hidden;}
.slick-slide {display: none; float: left; height: 100%; min-height: 1px;}
.slick-slide:focus {outline: none;}
/* .slick-slide:focus-visible {outline: 2px solid var(--colors-semantic-highlight-primary);  outline-offset: 4px;} */
[dir='rtl'] .slick-slide{float: right;}
.slick-slide img{display: block; margin: 0 auto;}
.slick-slide.slick-loading img{display: none;}
.slick-slide.dragging img{pointer-events: none;}
.slick-initialized .slick-slide{display: block;}
.slick-loading .slick-slide{visibility: hidden;}
.slick-vertical .slick-slide{display: block; height: auto; border: 1px solid transparent;}

.gallery-slider .gallery-image-element picture {background: var(--colors-traube-10);}
.gallery-slider .gallery-image-element picture img {object-fit: contain;}

.gallery-footer {margin-top: 1rem;  padding-top: 1rem;  border-top: solid 1px var(--colors-semantic-separator);}
/* .gallery-images-nav {width: calc(100% - 400px);} */
.gallery-buttons-nav button {white-space: nowrap;}
/* .gallery-images-nav .slick-slide {height: 52px;} */
.gallery-images-nav {display: none;}
.gallery-images-nav, .gallery-nav-slider, .gallery-nav-slider .slick-list, .gallery-nav-slider .slick-track, .gallery-nav-slider .slick-slide {height: 100%;}
.gallery-nav-slider .slick-slide {cursor: pointer;}
.gallery-nav-slider .slick-slide:active {translate: 0 2px;}

.gallery-nav-slider .slick-slide:not(:last-of-type) {margin-right: .5rem;}
.gallery-nav-slider .slick-slide picture {position: relative;}
.gallery-nav-slider .slick-slide picture::before, .gallery-nav-slider .slick-slide picture::after {content: ''; position: absolute; width: 100%; height: 100%; inset: 0; border: solid 4px #fff; z-index: 10; transition: opacity var(--short-duration) var(--base-easing); opacity: 0;}
.gallery-nav-slider .slick-slide picture::after {border: solid 2px var(--colors-semantic-accent); z-index: 20;}
.gallery-nav-slider .slick-slide img {transition: opacity var(--base-duration) var(--base-easing); opacity: .5; position: relative; z-index: 1;}
.gallery-nav-slider .slick-slide.slick-active img {opacity: 1;}
.gallery-nav-slider .slick-slide:hover img {opacity: 1;}
.gallery-nav-slider .slick-slide:hover picture::before, .gallery-nav-slider .slick-slide:hover picture::after {opacity: 1;}
.gallery-nav-slider .slick-slide.slick-active picture::before {opacity: 1;}
.gallery-nav-slider .slick-slide.slick-active picture::after {opacity: 1; border-color: var(--colors-semantic-highlight-primary);}
/* DISTRIBUTION //////////////////////////////// */
.distribution-module {}
.distribution-module .as_def_link > a {height: 100%; display: flex; gap: .5rem; align-items: inherit; border-radius: 2px; overflow: clip;}
.distribution-module .as_def_link > a::after {border-radius: 2px; content: ''; position: absolute; width: 100%; height: 100%; inset: 0; z-index: 10; border: solid 1px var(--colors-semantic-highlight-primary); opacity: 0; transition: opacity var(--short-duration) var(--base-easing);}
.distribution-module .dist-image {width: 29.41177%; flex-shrink: 0; position: relative; z-index: 1;}
.distribution-module .dist-content {align-items: center; justify-content: space-between; gap: var(--calc-size-8); padding: var(--calc-size-8) var(--calc-size-24); transition: all var(--base-duration) var(--base-easing); position: relative; z-index: 1;}
.distribution-module .dist-content svg {width: var(--calc-size-24);  height: var(--calc-size-24); flex-shrink: 0;}
.distribution-module .dist-content svg path {stroke: var(--colors-schnee);}
.distribution-module .as_def_link > a:focus-visible {text-decoration-color: transparent;}
@media screen and (hover) {
	.distribution-module .as_def_link > a:hover {text-decoration-color: transparent;}
	.distribution-module a:hover .dist-content {background: var(--colors-semantic-accent-subtle); color: var(--colors-semantic-text)}
	.distribution-module a:hover svg path {stroke: var(--colors-semantic-text);}
	.distribution-module a:hover::after {opacity: 1;}
}

/* END DISTRIBUTION //////////////////////////////// */


/* Doctor single */
.doctor_hero h1 {line-height: 125%; margin: 0 0 2px; text-wrap: auto;  hyphens: none;  word-wrap: normal;}
.doctor_hero p.txt-fluid-2xl {line-height: 146%;  letter-spacing: -.015em;}
.single-arzt .contact-module footer.as_text_column {display: none;}

/* cv */
.cv-list {display: grid;}
.cv-entry {display: grid;	grid-template-columns: minmax(10rem, 1fr) 5fr;	gap: var(--calc-size-32); padding: var(--calc-size-24) var(--calc-size-32); border-top: solid 1px var(--colors-semantic-separator);}



/* EVENTS //////////////////////////////// */

	/* event list */
	.events-list {border-top: 1px solid var(--colors-semantic-separator);}
	.event-item {border-bottom: 1px solid var(--colors-semantic-separator);}
	.event-item a {display: flex; padding: var(--calc-size-24) var(--calc-size-16); gap: var(--calc-size-24);}
	.event-item a svg {width: var(--calc-size-24);  height: var(--calc-size-24); flex-shrink: 0;}

	.event-item a:active {translate: none;}
	.event-item a:active > span, .event-item a:active > svg  {translate: 0 2px;}

	.event-item a > svg path {transition: all var(--base-duration) var(--base-easing);}
	.event-item a:hover > svg path {stroke: var(--colors-semantic-accent)}

	.event-spaces {display: flex; align-items: center; gap: var(--calc-size-8);}
	.event-spaces::before {content: ''; width: .9375rem; height: .9375rem; border-radius: 50%; background: var(--colors-semantic-positive);}
	.event-spaces.spaces-limited::before {background: var(--colors-semantic-warning);}
	.event-spaces.spaces-full::before {background: var(--colors-semantic-negative);}

	/* event single */
	.wpb_content_element.add_to_calendar_element .em-event-add-to-calendar {display: none;}
	.wpb_content_element.add_to_calendar_element .em-tooltip-ddm-content {display: block; width: auto!important;}
	.wpb_content_element.add_to_calendar_element .em-tooltip-ddm-content > a {display: flex!important; width: fit-content;}
	
	.em-booking-form-details textarea {height: 10rem; width: 100%;}
	.event-map {width: 100%; height: 100%;}
	.em-location-map-container {width: 100%!important; height: 100%!important;}

	.em.em-event-booking-form h3.em-booking-section-title {
		background-color: var(--colors-semantic-highlight-secondary);
		color: var(--colors-schnee);
		font-size: var(--font-size-l);
		padding: var(--calc-size-24);
		border: none;
	}

	.event-content {}
	.event-details-block {padding: var(--calc-size-24) 0; border-bottom: 1px solid var(--colors-semantic-separator);}
	.event-details-block:last-child {border-bottom: none;}
	h2 + .event-details-block {padding-top: 0;}
	.event-details-block strong {font-weight: var(--weight-bold);}
	.event-details-block:not(.ticklist) ul {padding-left: var(--calc-size-32);}
	.event-details-block.ticklist ul {font-size: var(--font-size-m);}
	.event-details-block p:not(:last-child) {margin: 0 0 var(--calc-size-8);}
	.event-details-block .base_list.as-list .base_list_element {padding: var(--calc-size-24) 0}
	.event-details-block .base_list.as-list .base_list_element:first-child {border-top: none; padding-top: 0;}


/* END EVENTS //////////////////////////////// */



/* PRESSE //////////////////////////////// */
	.dropcap {float: left; letter-spacing: -.015em; font-size: 3.778em; font-weight: var(--weight-bold); line-height: 100%; color: var(--colors-semantic-highlight-primary); margin: 0 var(--calc-size-8) 0 0;}
	.dropcap:before,
	.dropcap:after {
		content: "";
		display: block;
	}
	/* .dropcap:before {
		margin-top: -0.2em;
	} */
	.dropcap:after {
		margin-bottom: -0.15em;
	}

	.load_more_news {padding: var(--calc-size-32) 0 0 var(--calc-size-16);}
	.news-grid .card-container .vc_custom_heading {align-content: flex-start;}
	.blog-content h2 {padding: 0!important; margin-left: 0!important; font-size: var(--font-size-2xl); margin-bottom: var(--calc-size-16);}
	.blog-content h2::before {content: none!important;}
/* END PRESSE //////////////////////////////// */



/* IMAGE ZOOM //////////////////////////////// */

.img_overlay {
  background: var(--colors-semantic-text-secondary); 
  z-index: 100000; 
  position: fixed; 
  inset: 0; 
  width: 100%; 
  height: 100%; 
  overflow: hidden; 
  opacity: 0; 
  visibility: hidden;
}

.topAnimsStart .img_overlay {
  transition: all .3s ease;
}

.img_overlay.opened {
  opacity: 1; 
  visibility: visible;
}

.img_overlay .img_overlay_inner {
  position: relative; 
  width: 100%; 
  height: 100%;  
  display: flex; 
  align-items: center; 
  justify-content: center; 
  opacity: 0; 
  transition: opacity .4s ease; 
  z-index: 100;
  padding: 6vh 5vw;
  box-sizing: border-box;
}

.img_overlay .img_overlay_inner.opened { 
  opacity: 1;
}


.img_overlay .img_overlay_inner > picture {
  display: contents;
}

.img_overlay .img_overlay_inner > picture img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}


/* END IMAGE ZOOM //////////////////////////////// */


/* VIDEO //////////////////////////////// */

.video-module-wrapper {aspect-ratio: 16/9; position: relative;}
.video-module-wrapper *:focus-visible {outline: 0;}
.video-module-wrapper video, .video-module-wrapper iframe {width: 100%; height: 100%; position: relative; z-index: 1; display: block; opacity: 0;}
.video-module-wrapper video {visibility: hidden;}
.topAnimsStart .video-module-wrapper video, .topAnimsStart .video-module-wrapper iframe {opacity: 1;}
.video-module-wrapper picture {aspect-ratio: 16/9; position: absolute; z-index: 2; width: 100%;  height: 100%;}
.video-module-wrapper picture img {width: 100%; height: 100%; object-fit: cover;}
.video-module-wrapper .as-button {position: absolute; left: var(--calc-size-32); bottom: var(--calc-size-32); z-index: 3;}
.video-module-wrapper .as-button button {padding: var(--calc-size-16);}
.video-module-wrapper .as-button button:hover, .video-module-wrapper .as-button button:active {background-color: #FDEDD5;}
.video-module-wrapper .as-button button svg {width: var(--calc-size-32); height: var(--calc-size-32);}
.video-module-wrapper .as-button button svg path {transition: all var(--base-duration) var(--base-easing);}
.video-module-wrapper .as-button button:hover svg path, .video-module-wrapper .as-button button:active svg path  {fill: var(--colors-semantic-text); stroke: var(--colors-semantic-text);}
.video-module-wrapper.video-active video {visibility: visible;}
.video-module-wrapper.video-active picture, .video-module-wrapper.video-active .as-button {opacity: 0; visibility: hidden; transition: all .3s ease;}

/* END VIDEO //////////////////////////////// */

/* KOOPERATIONSPARTNER //////////////////////////////// */
.cooperation_partner {grid-template-columns: max-content 1fr max-content; grid-template-columns: auto 1fr auto;}
.cooperation_row {display: contents;}
.cooperation_row > div {padding: var(--calc-size-16) 0;  border-bottom: 1px solid var(--colors-semantic-separator); display: flex;  align-items: center;}
.cooperation_row > div:not(:first-child) {padding-left: var(--calc-size-16);}
.cooperation_row > div:not(:last-child) {padding-right: var(--calc-size-16);}
.cooperation_partner .headline {font-weight: var(--weight-bold); font-size: var(--font-size-m); line-height: 115%;}
/* END KOOPERATIONSPARTNER //////////////////////////////// */


/* TIMELINE //////////////////////////////// */
.timeline-row {}
.timeline-row h6 {margin: 0 0 var(--calc-size-8)!important;}
.timeline-row h6:last-child {margin: 0!important;}
.timeline-row h6, .timeline-row .wpb_content_element {max-width: 544px;}
.timeline-row .txt-fluid-m {line-height: 115%;}
.timeline-row .txt-fluid-m strong {font-weight: var(--weight-bold);}
.timeline-row .vc_inner {padding-left: 64px;}
.timeline-row .vc_inner::after {content: ''; position: absolute; width: 40px; height: 40px;  background: #E3E2E2; border: solid 4px #fff; left: 4px; top: -9px; border-radius: 50%; z-index: 100;}
.timeline-row .vc_inner::before {content: ''; position: absolute; width: 30px; height: 30px;  background: var(--colors-semantic-accent); border: solid 3px #fff; left: 9px; top: -4px; border-radius: 50%; z-index: 200;}
.timeline-row .vc_inner:last-child {padding-bottom: var(--calc-size-48);}
.timeline-row .as-vc_row_parent > .wpb_column > .vc_column-inner > .wpb_wrapper {position: relative;}
.timeline-row .as-vc_row_parent > .wpb_column > .vc_column-inner > .wpb_wrapper::before {content: ''; position: absolute; width: 2px; height: 100%; background: #E3E2E2; margin-left: -1px; left: 24px; top: 0;}
.timeline-row .as-vc_row_parent > .wpb_column > .vc_column-inner > .wpb_wrapper::after {content: ''; position: absolute; width: 12px; height: 2px; background: #E3E2E2;  left: 18px; bottom: 0;}
/* END TIMELINE //////////////////////////////// */





/* FORMELEMENTS //////////////////////////////// */
input[type="text"], input[type="email"], input[type="tel"], textarea, select, input[type="file"] { 
	-webkit-border-radius: 0; 
	width: 100%; 
	font-family: var(--font-family-primary); 
	background: #fff;
  border: 1px solid var(--colors-semantic-separator);
  border: none;
	color: var(--colors-semantic-text);
	font-size: var(--font-size-base); 
	padding: var(--calc-size-12) var(--calc-size-12); 
	padding: 15px 12px 12px; 
	-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
	transition: all .3s ease;
	box-shadow: none; border-radius: 0; position: relative;
	box-shadow: inset 0 0 0 1px var(--colors-semantic-separator); 
}
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, textarea:focus, select:focus {
  outline: 0; 
	box-shadow: inset 0 0 0 2px var(--colors-semantic-accent);
}  

form label b, form label strong {font-weight: var(--weight-bold);}


input[type="text"]:hover, input[type="email"]:hover, input[type="tel"]:hover, textarea:hover, select:hover {
	box-shadow: inset 0 0 0 2px var(--colors-semantic-accent);
} 

.gfield_error input[type="text"], .gfield_error input[type="email"], .gfield_error input[type="tel"], .gfield_error textarea, .gfield_error select {
	box-shadow: inset 0 0 0 1px var(--colors-semantic-highlight-primary);
	background: #F8E9EC;
}

input[type="text"], input[type="email"], textarea, select {-webkit-appearance: none;}
select {-webkit-appearance: none;  appearance: none;}
select {
  position: relative;
  padding-right: 2.5rem; /* space for arrow */
  background-image:
    linear-gradient(to bottom, transparent, transparent),
    url("data:image/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%23454140' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat, no-repeat;
  background-position: right 12px center, right 12px center;
  background-size: 16px 16px, 16px 16px;
  cursor: pointer;
}

input:-webkit-autofill,input:-webkit-autofill:hover, input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,
select:-webkit-autofill:hover,select:-webkit-autofill:focus {
  transition: background-color 9999s ease-in-out 0s;
}
textarea {height: 9.75rem; resize: none; display: block; }
::-webkit-input-placeholder {color: var(--colors-semantic-text-tertiary) !important;}::-moz-placeholder {color: var(--colors-semantic-text-tertiary) !important;}:-moz-placeholder {color: var(--colors-semantic-text-tertiary) !important;}:-ms-input-placeholder {color: var(--colors-semantic-text-tertiary) !important;}
 
.gfield_checkbox {position: relative;}
.gfield_checkbox input[type="checkbox"] {
	position: absolute; left: -50rem; opacity: 0;
}
.gfield_checkbox label {position: relative;	padding: 0 0 0 36px; display: block; font-size: var(--font-size-s); font-size: 16px;}
.gfield_checkbox label.gfield_consent_label {font-size: 14px;}

.gfield_checkbox label::before {
	content: '';
	position: absolute;
	left: 0; top: 0;
	width: 24px; height: 24px;
	background: #fff;
	border: solid 1px var(--colors-semantic-separator);
	transition: all .2s ease;
	outline: solid 2px transparent;
	outline-offset: .25rem;
	border-radius: 1px;
	cursor: pointer;
	z-index: 10;
}

.gfield_checkbox label::after {
	content: '';
	position: absolute;
	left: 0; top: 0;
	width: 24px; height: 24px;
	transition: all .2s ease;
	z-index: 20;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg width='17' height='17' viewBox='0 0 17 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.133 4.66699L6.79964 12.0003L3.46631 8.66699' stroke='%23454140' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 18px 18px;
	background-position: center;
	vertical-align: middle;
	opacity: 0;
}

.gfield_checkbox input[type="checkbox"]:focus-visible + label::before {
	outline-color: var(--colors-semantic-highlight-primary);
}
.gfield_checkbox input[type="checkbox"]:checked + label::before {
	border-color: var(--colors-semantic-accent);
	background: var(--colors-semantic-accent);
}
.gfield_checkbox input[type="checkbox"]:checked + label::after {
	opacity: 1;
}

.gfield_checkbox label:hover::before {
	border-color: var(--colors-semantic-accent);
	background: var(--colors-semantic-accent-subtle);
}

.gfield_error .gfield_checkbox label::before, .gfield_error.gfield_checkbox label::before {
	border-color: var(--colors-semantic-highlight-primary);
	background: #F8E9EC;
}

.gform-theme--foundation .gform_validation_container {
  display: none !important;
}

.gfield > .gfield_validation_message:first-child {display: none;}

.gfield--type-multi_choice .gchoice:not(:last-child), .gfield--type-multi_choice legend {
	margin-bottom: var(--calc-size-8);
}


@supports selector(:has(*)) {

	.input-checkbox input[type="checkbox"] {
		position: absolute; left: -50rem; opacity: 0;
	}
	.input-checkbox label {position: relative;	padding: 0 0 0 36px; display: block; font-size: 16px;}

	.input-checkbox label::before {
		content: '';
		position: absolute;
		left: 0; top: 0;
		width: 24px; height: 24px;
		background: #fff;
		border: solid 1px var(--colors-semantic-separator);
		transition: all .2s ease;
		outline: solid 2px transparent;
		outline-offset: .25rem;
		border-radius: 1px;
		cursor: pointer;
		z-index: 10;
	}

	.input-checkbox label::after {
		content: '';
		position: absolute;
		left: 0; top: 0;
		width: 24px; height: 24px;
		transition: all .2s ease;
		z-index: 20;
		cursor: pointer;
		background-image: url("data:image/svg+xml,%3Csvg width='17' height='17' viewBox='0 0 17 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.133 4.66699L6.79964 12.0003L3.46631 8.66699' stroke='%23454140' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-size: 18px 18px;
		background-position: center;
		vertical-align: middle;
		opacity: 0;
	}

	.input-checkbox:has(input[type="checkbox"]:focus-visible) label::before {
		outline-color: var(--colors-semantic-highlight-primary);
	}
	.input-checkbox:has(input[type="checkbox"]:checked) label::before {
		border-color: var(--colors-semantic-accent);
		background: var(--colors-semantic-accent);
	}
	.input-checkbox:has(input[type="checkbox"]:checked) label::after {
		opacity: 1;
	}

	.input-checkbox label:hover::before {
		border-color: var(--colors-semantic-accent);
		background: var(--colors-semantic-accent-subtle);
	}
	

}


@media only screen and (min-width: 601px) {
	

		.gfield:not(.gfield--type-select):not(.gfield--type-multi_choice) .gfield_label, .input-user-field:not(:has(select)) label, .input-textarea label {
				position: absolute;
				top: 12px;
				left: 12px;
				pointer-events: none;
				transition: all 0.3s ease;
				z-index: 1;
				overflow: hidden;
				white-space: nowrap;
		}

		.gfield input:placeholder-shown:not(:focus)::placeholder, .gfield textarea:placeholder-shown:not(:focus)::placeholder, .input-user-field input:placeholder-shown:not(:focus)::placeholder, .input-textarea textarea:placeholder-shown:not(:focus)::placeholder {
			opacity: 0;
		}
		.gfield input:placeholder-shown:focus::placeholder, .gfield textarea:placeholder-shown:focus::placeholder, .input-user-field input:placeholder-shown:focus::placeholder, .input-textarea textarea:placeholder-shown:focus::placeholder {
			opacity: 1;
		}

			.gfield:not(.gfield--type-select):not(.gfield--type-multi_choice):has(.ginput_container input:focus) .gfield_label,
			.gfield:not(.gfield--type-select):not(.gfield--type-multi_choice):has(.ginput_container input:not(:placeholder-shown)) .gfield_label,
			.gfield:not(.gfield--type-select):not(.gfield--type-multi_choice):has(.ginput_container textarea:focus) .gfield_label,
			.gfield:not(.gfield--type-select):not(.gfield--type-multi_choice):has(.ginput_container textarea:not(:placeholder-shown)) .gfield_label,
			 .input-user-field:not(:has(select)):has(input:focus) label,
			 .input-textarea:has(textarea:focus) label,
			 .input-user-field:not(:has(select)):has(input:not(:placeholder-shown)) label,
			 .input-textarea:has(textarea:not(:placeholder-shown)) label {
					top: 2px;
					font-size: 12px;
			}

			.gfield input[type="text"]:focus, .gfield input[type="email"]:focus, .gfield input[type="tel"]:focus, .gfield textarea:focus,.gfield input:not(:placeholder-shown), .gfield textarea:not(:placeholder-shown),
			.input-user-field input:focus, .input-textarea textarea:focus, .input-user-field input:not(:placeholder-shown), .input-textarea textarea:not(:placeholder-shown) {
				padding: 20px 12px 7px; 
			}

			.gfield-input-wrapper .gfield_validation_message {display: none;}
			.gfield > .gfield_validation_message:first-child {display: block;}

	}



/* END FORMELEMENTS //////////////////////////////// */

/* TERMINVEREINBARUNG //////////////////////////////// */
.appointment-form .bg-dark:not(.bg-white) a {color: var(--colors-schnee-80);}
.appointment-form .bg-dark:not(.bg-white) svg path {stroke: var(--colors-schnee-80);}
.appointment-form .vc_inner, .appointment-form .vc_inner .vc_column-inner {padding: 0;}
.appointment-form .vc_inner .as-vc_row_wrapper {margin: 0;}
.appointment-form .as-vc_row_parent > .wpb_column > .vc_column-inner > .wpb_wrapper {margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; min-width: 0;}
.appointment-form .vc_inner:first-child {flex: 1;  min-width: 0;}
.appointment-form .vc_inner:last-child {background: var(--colors-traube-10);}
.appointment-form .vc_inner:first-child .vc_column-inner {padding: var(--calc-size-48);}

@media only screen and (min-width: 901px) {
  .appointment-form .as-vc_row_parent > .wpb_column > .vc_column-inner > .wpb_wrapper {flex-wrap: nowrap; min-height: 30rem;}
	.appointment-form .vc_inner:last-child {width: 64.474%; flex-shrink: 0;}
	.appointment-form .vc_inner:first-child .vc_column-inner {padding: var(--calc-size-96) var(--calc-size-48) var(--calc-size-48);}
}
@media only screen and (max-width: 900px) {
  .appointment-form .as-vc_row_parent > .wpb_column > .vc_column-inner > .wpb_wrapper {
    flex-direction: column; flex-wrap: nowrap;
  }
	/* .gfield_checkbox label::before {top: 4px;} */
}

.gform_wrapper {padding: var(--calc-size-48);}
.gform_wrapper h2 {padding: 0!important;}
.gform_wrapper h2::before {content: none!important;}
.gform_wrapper .gfield:not(:first-child) h6 {margin: var(--calc-size-16) 0 0 !important;}
.gform_fields {display: grid; grid-template-columns: repeat(12,1fr); gap: var(--calc-size-16); align-items: end;}
.gform_fields .gfield {grid-column: 1/-1; min-inline-size: 0; position: relative;}
.gfield-input-wrapper {position: relative;}
.gform_fields .gfield:not(.gfield--type-checkbox):not(.gfield--type-choice) {overflow: hidden;}
.gform_fields .gfield--type-hidden {display: none;}
.gform_fields .gfield--width-full {grid-column: span 12;}
.gform-footer {margin: var(--calc-size-32) 0 0;}
.gform-footer .as-button {flex-direction: row-reverse;  gap: 1rem;}

.gform-theme--foundation .hidden_label .gfield_label, .gform-theme--foundation .hidden_sub_label, .gform-theme--foundation .screen-reader-text {
  border: 0;  clip: rect(1px,1px,1px,1px);  clip-path: inset(50%);  height: 1px;  margin: -1px;  overflow: hidden;  padding: 0;  position: absolute;  width: 1px;  word-wrap: normal !important;
}
.gfield_visibility_hidden {display: none;}
.gfield_required_asterisk {color: var(--colors-semantic-highlight-primary);}
.gform_heading .gform_required_legend {font-size: var(--font-size-s);  font-weight: var(--weight-medium);  margin: 0 0 var(--calc-size-16); line-height: 115%;}
.gform_heading .gform_description {display: none;}

.gfield_description {font-size: 14px; line-height: 115%;  padding: 6px 0 0 0;}
.gfield_validation_message {font-size: var(--font-size-xs); color: var(--colors-semantic-highlight-primary); line-height: 115%; margin: 0 0 var(--calc-size-4); padding: 0;}
.validation_error {border: solid 1px var(--colors-semantic-highlight-primary); color: var(--colors-semantic-highlight-primary); padding: var(--calc-size-8) var(--calc-size-16); margin-bottom: var(--calc-size-32);}
.validation_error svg {width: var(--calc-size-24); height: var(--calc-size-24); flex-shrink: 0; margin-top: var(--calc-size-4);}

.gform_confirmation_message {display: flex;  flex-direction: column;  height: 100%;  align-items: center;  justify-content: center;  gap: var(--calc-size-16);  background: var(--colors-semantic-accent-subtle);  border: solid 1px var(--colors-semantic-accent);  padding: var(--calc-size-128) var(--calc-size-32);}
.gform_confirmation_message > br {display: none;}

.gform_wrapper .gform-loader {
    align-self: center;
    animation: gformLoader 1.1s infinite linear;
    block-size: 8em;
    border-block-end: 1.1em solid #000;
    border-block-start: 1.1em solid #fff;
    border-inline-end: 1.1em solid #fff;
    border-inline-start: 1.1em solid #000;
    border-radius: 50%;
    display: inline-block;
    font-size: 2px;
    inline-size: 8em;
    transform: translateZ(0);
    vertical-align: middle;
		position: absolute;
		margin-left: -3.5rem;
}

@keyframes gformLoader {
    0% { transform: rotate(0); }
    100% { transform: rotate(360deg); }
}

@media only screen and (min-width: 901px) {
  .gform_fields .gfield--width-half {grid-column: span 6;}

	.gform_confirmation_wrapper {position: absolute;  height: 100%;  width: 100%;}
	.event-booking .gform_confirmation_wrapper {position: relative; height: auto;}

}
/* END TERMINVEREINBARUNG //////////////////////////////// */

/* events part 2 */

.event-booking .gform_wrapper {padding: 0;}
.em-booking-section {display: flex; flex-direction: column; gap: var(--calc-size-16); margin: 0 0 var(--calc-size-32);}
.input-user-field, .input-textarea, .input-checkbox {margin: 0!important; position: relative;}

.em-booking-form-tickets p {margin: 0!important; font-size: var(--font-size-l);}
.em-booking-form-tickets p label {padding-right: var(--calc-size-8);}

.em-booking-summary {font-size: var(--font-size-l); display: flex; flex-direction: column; gap: var(--calc-size-16);}

.em.em-event-booking-form .em-button.em-booking-submit {justify-content: center;}

.em .em-booking-form-summary .em-bs-section:not(:first-child) {
  padding-top: var(--calc-size-16);
  border-top: 1px solid var(--colors-semantic-separator);
}

.em .em-booking-form-summary .em-bs-section {
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: none;
  grid-gap: var(--calc-size-8);
}

.em .em-booking-form-summary .em-bs-section .em-bs-row.em-bs-row-item {
  grid-template-columns: max-content auto max-content;
}
.em .em-booking-form-summary .em-bs-section .em-bs-row {
  display: grid;
  grid-template-rows: none;
  grid-template-columns: auto max-content;
  grid-gap: var(--calc-size-8);;
  align-items: center;
  justify-items: start;
}

.em .em-booking-form-summary .em-bs-qty-x {
  display: inline-block;
  padding-right: var(--calc-size-8);
}

.em .em-booking-form-summary .em-bs-section-items {
  font-size: var(--font-size-m);
}

.em .em-booking-form-summary .em-bs-section-total {
  font-weight: var(--weight-bold);
}

.em .em-booking-form-summary .em-bs-cell-price {
  justify-self: end;
  justify-content: end;
  text-align: right;
}



.em-booking-message, .em-notice {padding: var(--calc-size-24); margin-bottom: var(--calc-size-32);}

.notice-success {
	border: solid 1px var(--colors-semantic-highlight-primary);
  color: var(--colors-semantic-highlight-primary);
}

.em-booking-message-success, .em-notice-info {
	background: var(--colors-semantic-accent-subtle);
  border: solid 1px var(--colors-semantic-accent);
}

.em-booking-message-error {
  border: solid 1px var(--colors-semantic-highlight-primary);
  color: var(--colors-semantic-highlight-primary); padding-top: 12rem;
}


/* Specific styling for the first error message in the booking form */
.em-event-booking-form:has(>.em-booking-message-error:first-child) {
	margin-top: -10rem;
}
.em-event-booking-form > .em-booking-message-error:first-child {
  padding: 10rem 0 0; border: none;
}

.em-event-booking-form > .em-booking-message-error:first-child p {
	padding: 0 var(--calc-size-24) var(--calc-size-16);
	border-left: solid 1px var(--colors-semantic-highlight-primary);
	border-right: solid 1px var(--colors-semantic-highlight-primary);
	margin: 0;
}
.em-event-booking-form > .em-booking-message-error:first-child p:first-child {padding-top: var(--calc-size-24); border-top: solid 1px var(--colors-semantic-highlight-primary);}
.em-event-booking-form > .em-booking-message-error:first-child p:last-child {padding-bottom: var(--calc-size-24); border-bottom: solid 1px var(--colors-semantic-highlight-primary);}
/* END Specific styling for the first error message in the booking form */


.em-coupon-code-fields {display: flex;  position: relative; flex-direction: column;  gap: var(--calc-size-16); }
.em-coupon-code-fields:has(.em-coupon-error) input {box-shadow: inset 0 0 0 1px var(--colors-semantic-highlight-primary);  background: #F8E9EC;}
.em-coupon-code-fields button {justify-content: center;}
.em-coupon-code-wrap {flex-grow: 1;}
.em-coupon-error {color: var(--colors-semantic-highlight-primary);}

/* SUCHE */
.search-form .inputs {flex-direction: column; gap: var(--calc-size-16);}
.search-form .inputs .gfield {flex-grow: 1;}
.search-form.wpb_content_element button {justify-content: center; width: 100%;}
.search-form .gfield-input-wrapper label {display: none;}

.search-result-item a {padding: var(--calc-size-32) 0;  gap: var(--calc-size-32);}
.search-result-item a span span {line-height: 1.75;}
.search-result-item .page-picture {width: 16rem; flex-shrink: 0;}


@media screen and (min-width: 601px) {
	.search-form .inputs {flex-direction: row;  gap: var(--calc-size-32);}
	.search-form input, .search-form .ginput_container, .search-form .gfield-input-wrapper {height: 100%;}
	.search-form.wpb_content_element button {min-width: 10rem; width: auto;}
	.search-form .gfield-input-wrapper label {display: block;}

	.hero_text h1 {text-wrap: balance;}

	.em-coupon-code-fields {flex-direction: row;    gap: var(--calc-size-32); margin: 0 0 var(--calc-size-48);}
	.em-coupon-error {position: absolute; left: 0; top: 100%; margin-top: var(--calc-size-8);}
	.em-coupon-success {display: none;}
	.em-coupon-code-wrap input {height: 100%;}
}


@media screen and (min-width: 768px) {
	
	/* HERO MODULE */
	.half_hero .hero_container {flex-direction: row;}
	.half_hero .hero_container > div {width: 50%; flex-shrink: 0; display: flex; justify-content: center; flex-direction: column;}
	.half_hero:not(.doctor_hero) h1 {hyphens: auto;  word-wrap: break-word; text-wrap: balance;}
	.half_hero .hero_text {padding: 0}
	.full_hero .hero_copy {max-width: 57%;}

	/* card grid in one column - content in two columns */
	.grid_element_two_col .card-container {gap: var(--calc-size-32); display: grid;  grid-template-columns: repeat(2, minmax(0, 1fr));}
	.grid_element_two_col .card-container:has(> div:only-child) {grid-template-columns: 1fr;}
	.grid_element_two_col .card-container > .wpb_single_image:first-child:not(:last-child) {border-bottom: none; padding-bottom: 0;     margin-bottom: 0;}

	.timeline-row .vc_inner {padding-left: 96px;}

}



@media only screen and (min-width: 901px) {

	
	/* HERO MODULE */
	.half_hero .hero_text .content-wrapper {width: auto; margin: 0 var(--calc-size-48) 0 var(--side-gap);}

	/* KEYFACTS MODULE */
	.keyfacts {flex-wrap: nowrap;}
	.keyfacts_content_inner {padding: 2rem 16%; padding: 2rem 3rem;}
	.keyfacts_image {width: 55.5556%; flex-shrink: 0;}

	.keyfacts_item_top {font-size: clamp(18px, 1.528vw, 22px);}
	.keyfacts_subheadline {font-size: clamp(14px, 1.11vw, 16px); }
	.keyfacts_headline span.keyfacts_number {font-size: clamp(40px, 3.4723vw, 50px); line-height: 80%; }
	.keyfacts_item_top img {width: clamp(40px, 3.333vw, 48px); height: auto;}

	/* TEXTMEDIA/TESTIMONIAL MODULE //////////////////////////////// */
	.text-media {flex-wrap: nowrap;}
	.text-media_image {width: 64.474%; flex-shrink: 0;}
	.text-media_image.ratio-1-1 {width: 34.8685%;}

	.text-media.emergency .text-media_image a {padding: var(--calc-size-16); }

	/* END TEXTMEDIA/TESTIMONIAL MODULE //////////////////////////////// */


}



@media only screen and (min-width: 1024px) {
	
	.with-indent .vc_column-inner > .wpb_wrapper {padding-left: var(--calc-size-96);}
	.event-content .with-indent .vc_column-inner > .wpb_wrapper {padding-right: var(--calc-size-96);}
	.with-indent .vc_column-inner .vc_column-inner > .wpb_wrapper {padding-left: 0;}
	.with-indent h2.vc_custom_heading:not(.no-square) {margin-left: calc((.75em + .5rem) * -1);}
	.with-indent .vc_inner .vc_col-sm-8 {width: calc(66.6666% - var(--calc-size-96) + (var(--def-row-gap-padding))*4);}

	.event-details-block .wpb_text_column, .event-details-nobookings-available .wpb_text_column, .em.em-hide-dynamic.em-event-booking-form.input > p  {max-width: 68.8%;}

	/* .entry-content .with-indent h2:not(.no-square)::before {display: inline-block;  margin-right: .5rem; position: relative;  top: .0625em;} */

	.timeline-row.with-indent .as-vc_row_parent > .wpb_column > .vc_column-inner > .wpb_wrapper::before {left: calc(var(--calc-size-96) + 32px);}
	.timeline-row.with-indent .as-vc_row_parent > .wpb_column > .vc_column-inner > .wpb_wrapper::after {left: calc(var(--calc-size-96) + 26px);}
	.timeline-row.with-indent .vc_inner::after {left: 12px;}
	.timeline-row.with-indent .vc_inner::before {left: 17px;}

}

@media only screen and (min-width: 1200px) {
	.text-media, .container-extended {margin: 0 calc(var(--calc-size-48) * -1);}
	.container-extended .text-media {margin: 0;}
	
}


@media only screen and (min-width: 1440px) {
	.keyfacts_content_inner {padding: 2rem clamp(2rem, 7.223vw, 6.5rem);}
}




@media screen and (max-width: 900px) {

	.breadcrumb ul {white-space: nowrap; overflow: auto; flex-wrap: nowrap;}

	.with-separator {width: calc(100% - (var(--wrapper-side-padding) * 2));}
  .with-separator .content-wrapper, .templatera_shortcode > .vc_row > .content-wrapper {padding: 0;}

	.as-grid-def-col-md-1:not([class*="as-grid-col"]) {grid-template-columns: repeat(1, minmax(0, 1fr)); grid-auto-rows: auto;}
	.as-grid-def-col-md-2:not([class*="as-grid-col"]) {grid-template-columns: repeat(2, minmax(0, 1fr));}

	.as-grid-col-md-1 {grid-template-columns: repeat(1, minmax(0, 1fr)); grid-auto-rows: auto;}
	.as-grid-col-md-2 {grid-template-columns: repeat(2, minmax(0, 1fr));}

	.card-container .vc_custom_heading {height: auto!important;}

	.em-event-booking-form > .em-booking-message-error:first-child {padding: 8rem 0 0;}
	.em-event-booking-form:has(>.em-booking-message-error:first-child) {margin-top: -8rem;}
}


@media screen and (max-width: 767px) {

	.text-media, .container-extended {margin: 0 calc(var(--wrapper-side-padding) * -1);}
	.text-media_content_inner, .testimonial .text-media_content_inner, .gform_wrapper, .appointment-form .vc_inner:first-child .vc_column-inner, .container-extended .card-container.bg-dark {padding: var(--wrapper-side-padding);}
	
	.as-grid-def-col-sm-1:not([class*="as-grid-col"]) {grid-template-columns: repeat(1, minmax(0, 1fr)); grid-auto-rows: auto;}
	.as-grid-def-col-sm-2:not([class*="as-grid-col"]) {grid-template-columns: repeat(2, minmax(0, 1fr));}

	.as-grid-col-sm-1 {grid-template-columns: repeat(1, minmax(0, 1fr)); grid-auto-rows: auto;}
	.as-grid-col-sm-2 {grid-template-columns: repeat(2, minmax(0, 1fr));}

	.cv-entry {grid-template-columns: 1fr;	gap: 0.5rem;	padding-left: 0; padding-right: 0;}
	
		/* downloads */
	.acc-container h3.download a {flex-wrap: wrap; gap: .25rem 1rem;}
	.acc-container h3.download a span:last-child {flex-shrink: inherit;}

	/* KOOPERATIONSPARTNER //////////////////////////////// */
		.cooperation_partner {display: block;}
		.cooperation_row {display: block; border-bottom: 1px solid var(--colors-semantic-separator); padding: 1rem 0;}
		.cooperation_row > div {display: flex; width: 100%;  padding: 0!important;  border: none; align-items: flex-start; flex-direction: column; }
		.cooperation_row > div:not(:first-child)::before {content: attr(data-label) ": "; font-weight: var(--weight-bold); flex-shrink: 0;}
		.cooperation_row > div.headline {padding-bottom: .5rem!important;}
		.cooperation_row > div br {display: none;}
		.cooperation_partner > .cooperation_row:first-child { display: none; }
	/* END KOOPERATIONSPARTNER //////////////////////////////// */

	.gallery-images-nav {display: none!important;}
	.gallery-buttons-nav {width: 100%;  justify-content: space-between; flex-wrap: wrap;}
	.gallery-buttons-nav .as-button {flex-grow: 1;}
	.gallery-buttons-nav .as-button button {width: 100%; justify-content: center;}

	.img_overlay .img_overlay_inner {padding: 6vh var(--wrapper-side-padding);}
	.overlay-close {right: var(--wrapper-side-padding); top: var(--wrapper-side-padding);}

	.em-event-booking-form > .em-booking-message-error:first-child {padding: 5rem 0 0;}
	.em-event-booking-form:has(>.em-booking-message-error:first-child) {margin-top: -5rem;}
}	


@media screen and (max-width: 600px) {
	
	.as-grid-def-col-s-1:not([class*="as-grid-col"]) {grid-template-columns: repeat(1, minmax(0, 1fr)); grid-auto-rows: auto;}
	.as-grid-def-col-s-2:not([class*="as-grid-col"]) {grid-template-columns: repeat(2, minmax(0, 1fr));}

	.as-grid-col-s-1 {grid-template-columns: repeat(1, minmax(0, 1fr)); grid-auto-rows: auto;}
	.as-grid-col-s-2 {grid-template-columns: repeat(2, minmax(0, 1fr));}

	.gfield_checkbox label {hyphens: auto;	word-wrap: break-word; word-break: break-word; overflow: hidden; text-wrap: balance;}

	.search-result-item a {flex-wrap: wrap;}
	.search-result-item a > span {max-width: calc(100% - 3rem);}
}


@media screen and (max-width: 460px) {
	.base_list header * {text-wrap: balance;}

	.as-grid-def-col-xs-1:not([class*="as-grid-col"]) {grid-template-columns: repeat(1, minmax(0, 1fr)); grid-auto-rows: auto;}
	
	.as-grid-col-xs-1 {grid-template-columns: repeat(1, minmax(0, 1fr)); grid-auto-rows: auto;}
	.as-grid-col-xs-2 {grid-template-columns: repeat(2, minmax(0, 1fr));}

  .search-result-item .page-picture {max-width: 100%; width: 100%; flex-shrink: 1;}

}

@media screen and (max-width: 380px) {
	.as-grid-col-xxs-1 {grid-template-columns: repeat(1, minmax(0, 1fr)); grid-auto-rows: auto;}
	.as-grid-col-xxs-2 {grid-template-columns: repeat(2, minmax(0, 1fr));}

}

@media screen and (max-width: 359px) {
	
}