/*
Theme Name: ZQUAD Theme (Hello Child)
Description: Entdecke das maßgeschneiderte WordPress-Theme von ZQUAD, der Full-Service-Agentur für kreative und mutige Markenauftritte. Unser Theme vereint ästhetisches Design mit leistungsstarker Funktionalität und bietet eine flexible Grundlage für professionelle We
Author: ZQUAD Full-Service-Agentur
Author URI: zquad.de
Author Email: hallo@zquad.de
Version: 1.0.0
Text Domain: hello-elementor-child
Template: hello-elementor
*/
/*
Add your custom styles here
*/

/* Verbesserte Fade-In-Up Animation */
.fadeInUp {
    animation-name: fadeInUpAnimation !important;
}

/* Verbesserte Fade-In-Down Animation */
.fadeInDown {
    animation-name: fadeInDownAnimation !important;
}

/* Verbesserte Fade-In-Left Animation */
.fadeInLeft {
    animation-name: fadeInLeftAnimation !important;
}

/* Verbesserte Fade-In-Right Animation */
.fadeInRight {
    animation-name: fadeInRightAnimation !important;
}

.fadeInUp, .fadeInDown, .fadeInLeft, .fadeInRight {
    animation-duration: 1s !important;
    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
    animation-fill-mode: forwards !important;
}

/* Keyframes für verbesserte Animationen */
@keyframes fadeInUpAnimation {
    0% { opacity: 0; transform: translateY(100px); }
    100% { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInDownAnimation {
    0% { opacity: 0; transform: translateY(-100px); }
    100% { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInLeftAnimation {
    0% { opacity: 0; transform: translateX(-100px); }
    100% { opacity: 1; transform: translateX(0); }
}

@keyframes fadeInRightAnimation {
    0% { opacity: 0; transform: translateX(100px); }
    100% { opacity: 1; transform: translateX(0); }
}

p, .elementor-widget-text-editor {
     -webkit-hyphens: auto;
     -webkit-hyphenate-limit-chars: 5 5 10;
     -webkit-hyphenate-limit-lines: 2;
     -webkit-hyphenate-limit-last: always;
     -webkit-hyphenate-limit-zone: 8%;
     -moz-hyphens: auto;
     -moz-hyphenate-limit-chars: 5 5 10;
     -moz-hyphenate-limit-lines: 2;
     -moz-hyphenate-limit-last: always;
     -moz-hyphenate-limit-zone: 8%;
     -ms-hyphens: auto;
     -ms-hyphenate-limit-chars: 5 5 10;
     -ms-hyphenate-limit-lines: 2;
     -ms-hyphenate-limit-last: always;
     -ms-hyphenate-limit-zone: 8%;
     hyphens: auto;
     hyphenate-limit-chars: 5 5 10;
     hyphenate-limit-lines: 2;
     hyphenate-limit-last: always;
     hyphenate-limit-zone: 8%;
 }
.elementor p a, p a {
	text-decoration: underline;
	color: inherit;
}

@keyframes waberAnimation {
  0% { transform: scale(1); } /* Startzustand: Originalgröße */
  50% { transform: scale(1.1); } /* Bei 50% der Zeit: 10% größer */
  100% { transform: scale(1); } /* Am Ende: Zurück zur Originalgröße */
}

.waber {
  animation: waberAnimation 3s infinite; /* Animation anwenden */
  animation-timing-function: ease-in-out; /* Beschleunigungskurve für sanfteren Übergang */
}

/* Elementor */
body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
.elementor-location-footer {
  margin-top: auto;
}
html,
body{
  width:100% !important;
  overflow-x:hidden !important;
}

.e-load-more-spinner {
	font-size: 20px;
	color: var( --e-global-color-primary ) !important;
}
.elementor-button .aramark-arrow * {
    stroke: white !important;
    transition: all .15s ease;
}
.elementor-button:hover .aramark-arrow * {
    stroke: var( --e-global-color-primary ) !important;
}
.elementor-button .aramark-arrow, summary .aramark-arrow, .animated-arrow .aramark-arrow {
    transition: all .15s ease;
}
.elementor-button:hover .aramark-arrow,  summary:hover .aramark-arrow, .animated-arrow:hover .aramark-arrow {
    transform: translateX(27%);
}
.animated-arrow {
	width: max-content !important;
}
.animated-arrow.left .aramark-arrow {
    transform: scale(-1);
}
.animated-arrow.left:hover .aramark-arrow {
    transform: translateX(-27%) scale(-1);
}
.elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}
/*
#fixed-header {
    opacity: 1;
    transition: opacity .5s ease-in-out;
}
#fixed-header:hover{
    opacity: 1 !important;
}
body[data-elementor-device-mode="desktop"] .elementor-sticky--effects #fixed-header {
    opacity: .8;
}
*/
.slide-mask-anim img {
  opacity: 1;
  mask-image: linear-gradient(120deg, black 49.9%, transparent 50%);
  -webkit-mask-image: linear-gradient(120deg, black 49.9%, transparent 50%);
  mask-size: 240% 100%;
  -webkit-mask-size: 240% 100%;
  mask-position: 100% 0; /* ← Start rechts */
  -webkit-mask-position: 100% 0;
  transition: 
    mask-position 1.2s ease-in-out,
    -webkit-mask-position 1.2s ease-in-out;
  display: block;
  max-width: 100%;
  will-change: mask-position;
  mask-composite: exclude;
}

/* Sichtbar-Zustand → Maske wandert nach links */
.slide-mask-anim.is-visible img {
  mask-position: 0 0;
  -webkit-mask-position: 0 0;
}

button.btn-small {
	width: auto !important;
    text-align: center !important;
    margin: auto !important;
    border-radius: 25px !important;
    color: #022035 !important;
    border: 1px solid #022035 !important;
    background: #fff !important;
    padding: 7px 21px !important;
    min-width: max-content !important;
}

#fixed-header {
    opacity: 1;
    transition: opacity .5s ease-in-out;
	height: 64px;
}
#fixed-header:hover{
    opacity: 1 !important;
}
#fixed-header-wrap.elementor-sticky--effects #fixed-header {
    opacity: .8;
}
#fixed-header .nav-desktop {
	display: flex;
}
#fixed-header .nav-mobile {
	display: none;
}
@media (max-width: 1140px) {
	#fixed-header {
		height: 56px;
	}
	#fixed-header .nav-desktop {
		display: none;
	}
	#fixed-header .nav-mobile {
		display: flex;
	}
	#fixed-header-wrap.elementor-sticky--effects #fixed-header {
		opacity: 1;
	}
	#fixed-header .e-n-menu-wrapper {
		margin-top: -17px;
		padding: 0px 15px 10px 15px;
		z-index: 99;
		right: -100%;
		left: unset;
		max-width: 1054px !important;
	}
	#fixed-header .e-n-menu-wrapper a:hover, #fixed-header .e-n-menu-wrapper a span:hover {
		color: var(--e-global-color-primary);
	}
	#fixed-header .e-n-menu-wrapper li:first-child {
		padding-top: 45px;
	}
	#fixed-header .e-n-menu-wrapper li:last-child {
		padding-bottom: 10px;
	}
	#fixed-header .e-n-menu-wrapper li:last-child > div {
		padding-bottom: 20px;
		border-radius: 0 0 25px 25px;
	}
	#fixed-header .e-n-menu-wrapper li:first-child::before {
		content: '';
		position: absolute;
		width: calc(100% - 70px);
		height: 1px;
		background-color: #999;
		left: 35px;
		top: 26px;
	}
	#fixed-header .e-n-menu-wrapper > ul::before {
		content: '';
		position: absolute;
		height: calc(100% - 15px);
		width: calc(100% - 30px);
		left: 15px;
		top: 0;
		background-color: white;
		border-radius: 0px 0px 25px 25px;
		box-shadow: 0px 2px 10px 0px rgba(0,0,0,0.2);
	}
}

#fixed-header button {
	border: none !important;
}

.oeffnungszeiten table {
	margin-bottom: 0;
}

.oeffnungszeiten td {
	padding: 5px 8px;
    border: 0;
	background: none !important;
}
.oeffnungszeiten td:last-child {
	width: 100%;
	padding-left: 0px;
}
.oeffnungszeiten .aktuell td {
	color: var( --e-global-color-primary );
	background: white !important;
}
.oeffnungszeiten .aktuell td:first-child {
	border-radius: 5px 0 0 5px;
}
.oeffnungszeiten .aktuell td:last-child {
	border-radius: 0 5px 5px 0;
}

/* Alles standardmäßig .5 */
.breadcrumbs-zuordnung .crumb, .breadcrumbs .crumb { opacity: .5; transition: .2s ease; color: black }
.breadcrumbs-zuordnung .sep, .breadcrumbs .sep   { opacity: .5; }

/* Aktuelles = 1.0 */
.breadcrumbs-zuordnung .crumb.current, .breadcrumbs .crumb.current { opacity: 1; }

/* Hover auf Links = 1.0 */
.breadcrumbs-zuordnung a.crumb:hover, .breadcrumbs a.crumb:hover { opacity: 1; }

.badge-small span, .badge-small.taxonomy-item span {
	font-size: 12px !important;
	font-family: "Gotham", Sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--e-global-color-6c82486);
}
.badge-small.taxonomy-item span {
    color: white;
}
.badge-small, .badge-small.taxonomy-item {
	font-size: 12px !important;
	font-family: "Gotham", Sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--e-global-color-6c82486);
	background-color: var(--e-global-color-d2b155c);
    padding: 8px 25px 8px 25px;
    border-radius: 50px 50px 50px 50px;
}
.badge-small.taxonomy-item {
    color: white;
	background-color: var(--e-global-color-6c82486);
}
/*
.gastro-geschlossen img {
	filter: grayscale(100%);
}
*/
.gastro-geschlossen .btn-gastro-details {
	/* opacity: .5; */
	transition: .5s ease-in-out;
}
.gastro-geschlossen .btn-gastro-details:hover {
	opacity: 1;
}

body:not(.elementor-editor-active) .taxonomie-dropdown {
	display: none;
}
.tfs-wrap { position: relative; }
.tfs-wrap select.tax-filter-select {
	width: 100%; padding: 8px 18px 8px 18px;
	border: none; border-radius: 50px; background: #fff;
	font-size: 16px; line-height: 1.4;
}
.tfs-wrap select.tax-filter-select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg fill='grey' height='14' width='14' xmlns='http://www.w3.org/2000/svg'><path d='M2 4l5 6 5-6z'/></svg>");
	background-repeat: no-repeat;
	background-position: right 15px center; /* ⬅️ hier */
	background-size: 14px;
	padding-right: 15px;
}

.fa-external-link-alt {
	transform: translateY(-.05rem);
}

/* Form Styles */
select.has-placeholder {
	color: #666 !important;
}
.form-new-style form.elementor-form .elementor-field-group {
	align-content: flex-start;
}
.form-new-style form.elementor-form .elementor-field-type-html {
	
}
.form-new-style form.elementor-form .elementor-field-type-html .ueberschrift {
	margin-top: 15px;
}
.form-new-style form.elementor-form .elementor-field-group label {
	position: relative;
    height: 18px;
    transition: all .1s 
ease-out;
	top: 4px;
    left: 15px;
    background: var(--e-global-color-d2b155c);
    padding: 3px 7px;
    border-radius: 9px;
	z-index: 10;
}
.form-new-style form.elementor-form .elementor-field-group label:after {
	margin-left: -5px;
}
.form-new-style form.elementor-form .elementor-field-type-upload input {
	height: 40px;
    border-radius: 0 !important;
    padding-top: 12px;
    font-size: 14px;
}
.form-new-style form.elementor-form .elementor-field-type-upload label {
	left: 0;
}
.form-new-style form.elementor-form .elementor-field-group-break {
	margin: 0 !important;
}
.form-new-style form.elementor-form .e-form__buttons {
	margin-top: 20px;
}
/*
#form-konferenz-angebot label.floating-label, #form-konferenz-angebot label.label-active {
	position: relative;
    height: 18px;
    transition: all .1s 
ease-out;
}
#form-konferenz-angebot label.floating-label {
	font-size: 14px;
	padding: 0;
	background: none;
    top: 32px;
    left: 18px;
    pointer-events: none;
    opacity: 0.6;
}
#form-konferenz-angebot label.label-active {
    top: 4px;
    left: 15px;
    background: var(--e-global-color-d2b155c);
    padding: 3px 7px;
    border-radius: 9px;
}
*/
@media (max-width: 767px) {
	#start-loop-image {
		box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.1);
		position: absolute;
		height: 80px;
		width: 80px;
		top: -62px;
		right: 30px;
		z-index: 10;
	}
}