/* stylesheet for developers */
body[data-elementor-device-mode="mobile"] #content {
	overflow: hidden;
}

.animation-off .elementor-motion-effects-element,
.animation-off .mp-scroll-up,
.animation-off .mp-scroll-down {
	transform: none !important;
	background-position: center center !important;
}

.animation-off .animated {
	animation: none !important;
}

/*
.animation-off .elementor-widget-lottie svg g {
	display: block !important;
}
*/
.animation-off .elementor-widget-lottie .hidden svg {
	opacity: 0;
}
/*
.animation-off .elementor-widget-lottie .e-lottie__animation svg:not(:last-child) { 
    display: none;
}
*/
.animation-off .pin-spacer,
.animation-off .pin-spacer > .elementor-element {
	height: unset !important;
	max-height: unset !important;
	top: 0 !important;
	position: relative !important;
	margin: 0 !important;
}

.animation-off .pin-spacer #stacking-card .e-transform,
.animation-off .pin-spacer .elementor-element {
	transform: none !important;
}

.animation-switch:focus-within .slider.round {
	outline: -webkit-focus-ring-color auto 1px;
}

/* scrollup header */
.she-header-yes {
	top: 0;
	transition: 0.4s ease-in-out;
}

.she-header-yes.headerup {
	transform: translateY(-110vh) !important;
	transition: transform 0.4s ease-in-out !important;
}

/* scrollup footer */
.upscroll-to-top.elementor-sticky {
	transition: 0.4s ease-in-out;
	opacity: 0 !important;
}
.upscroll-to-top.elementor-sticky.show {
	opacity: 1 !important;
}

/* appointment booking */
.text-center {
	text-align: center;
}
.appointment-booking {
	min-width: 400px;
	max-width: 400px;
}
.appointment-booking .no-margin {
	margin: 0 !important
}
/** date field */
.appointment-booking #wpforms-form-4234,
.appointment-booking #wpforms-form-9849 {
	padding-top: 60px !important;
	position: relative;
}
.appointment-booking .wpforms-field-container {
	border: 1px solid #f2f2f2;
	padding: 20px;
}
.appointment-booking .flatpickr-current-month .numInputWrapper {
	display:none;
}
.appointment-booking .flatpickr-day.nextMonthDay {
    display: none !important;
}
.appointment-booking .wpforms-page-indicator[role="progressbar"],
.appointment-booking .wpforms-page-1 #wpforms-4234-field_3-container {
	display: none;
}
.appointment-booking .wpforms-field-pagebreak {
	position: static !important;
	height: 0;
	padding: 0 !important;
}
.appointment-booking .wpforms-page-button.wpforms-page-prev {
	position: absolute;
	left: 0;
	top: 0;
	font-size: 0;
	background: transparent !important;
	color: #000 !important;
	box-shadow: none;
	min-width: unset !important;
	margin-left: 5px !important;
}
/*
.appointment-booking .wpforms-page-button.wpforms-page-prev:hover:before {
	color: #fff !important;
}
*/
.appointment-booking .wpforms-page-button.wpforms-page-prev:before {
	font-family: 'FontAwesome';
	content: '\f060';
	position: relative;
	font-size: 40px;
	top: 4px;
	color: var(--e-global-color-accent);
}
.appointment-booking .wpforms-field-date-time .wpforms-field-date-time-date,
.appointment-booking .wpforms-page-button.wpforms-page-next {
	height: 0;
	visibility: hidden;
}
.appointment-booking .flatpickr-calendar {
	justify-items: center;
	font-size: 16px;
	width: 100%;
}
.appointment-booking .flatpickr-calendar .flatpickr-months {
	margin-bottom: 20px;
}
.appointment-booking .flatpickr-calendar .flatpickr-months .flatpickr-next-month {
	right: 15px;
}
.appointment-booking .flatpickr-calendar .dayContainer,
.appointment-booking .flatpickr-calendar .flatpickr-weekdaycontainer {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 10px;
	justify-items: center;
}
.appointment-booking .flatpickr-calendar .flatpickr-weekdays .flatpickr-weekdaycontainer {
	gap: 9px;
}
.appointment-booking .flatpickr-weekday {
	width: 40px;
	height: 20px;
	color: #000;
}
.appointment-booking .flatpickr-day.flatpickr-disabled,
.appointment-booking .flatpickr-day.prevMonthDay.flatpickr-disabled {
	color: rgba(57, 57, 57, 0.3);
    background: transparent;
    border-color: transparent;
    cursor: not-allowed;
}
.appointment-booking .flatpickr-day,
.appointment-booking .flatpickr-day.prevMonthDay {
	background-color: #000;
	border: 1px solid transparent;
	border-radius: 0;
	color: #fff;
	cursor: pointer;
	font-weight: 400;
	height: 40px;
	width: 40px;
}
.appointment-booking .flatpickr-day.today:after {
	content: '';
	position: relative;
	width: 10px;
	display: block;
	height: 3px;
	background-color: #999;
	border-radius: 0;
	margin-left: auto;
	margin-right: auto;
	margin-top: -7px;
}
.appointment-booking .flatpickr-day.today:hover:after {
	background-color: #999;
}
.appointment-booking .flatpickr-day.selected,
.appointment-booking .flatpickr-day:not(.flatpickr-disabled):hover,
.appointment-booking .flatpickr-day:not(.flatpickr-disabled):focus {
	background: #fff !important;
	border-color: transparent;
	color: #000 !important;
}
/** time field */
.appointment-booking .selected-details-container {
	background-color: #f2f2f2;
	padding: 1rem;
	margin-bottom: 20px;
	font-size: .875rem;
	line-height: 1.8rem;
}
.appointment-booking .selected-details-container .date:before {
	font-family: 'FontAwesome';
	content: '\f073';
	display: inline-block;
	padding-right: 10px;
}
.appointment-booking .selected-details-container .interval:before {
	font-family: 'FontAwesome';
	content: '\f017';
	display: inline-block;
	padding-right: 10px;
}
.appointment-booking #time-select-container {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
}
.appointment-booking .wpforms-field-date-time-time {
	height: 0;
	visibility: hidden;
}
.appointment-booking #time-select-container button {
	border-width: 1px;
	border-style: solid;
	border-color: #000;
	color: #000;
	font-size: 1rem;
	height: 2.2rem;
	justify-content: center;
	line-height: 1.5rem;
}
.appointment-booking #time-select-container button.active,
.appointment-booking #time-select-container button:hover {
	background-color: #fff;
	border-color: #fff;
}
.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover {
	color:#999 !important;
}

/* Elemente im unsichtbaren Zustand trotzdem tabbar machen */
.elementor-invisible {
  visibility: visible !important;   /* sichtbar für Fokus */
  opacity: 0 !important;           /* aber optisch unsichtbar */
}