﻿:root {
  --primary-color: #051428; 
  --secondary-color: #79B1AC; 
  --contrast-color: #FAEBD7; 
  --secondary-contrast-color: #f5d6b3; 
  --text-color: #000000; 
  --secondary-text-color: #d1d1d1; 
}


.line-container {
	position: fixed; /* Fixierte Position, SVG bleibt an Ort und Stelle */
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	overflow: hidden;
	display: inline-block;
	opacity: 0.5;
	z-index: 1;
}

svg {
	display: inline-block;
	height: 100%;
}


/* Willkommen */
#willkommen{
	position: absolute;
	top: 250px;
	max-width: 900px;
	min-width: 250px;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 45vw; /* Passt die Breite an die Viewport-Breite an */
	height: auto; 
	display: block;
	filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.5)); 
}

/* unterüberschrift */
#unterüberschrift{
	position: absolute;
	top: 530px;
	max-width: 380px;
	min-width: 180px;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 20vw; /* Passt die Breite an die Viewport-Breite an */
	height: auto; 
	display: block;
	filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.5)); 
}

/* Logo Animation */
#logo{
	position: absolute;
	top: 400px;
	max-width: 1400px;
	min-width: 350px;
	left: 50%;
	transform: translate(-50%,-50%);
	animation: fill 1s ease forwards 3s, shadow 1s ease forwards 3s;
	width: 60vw; /* Passt die Breite an die Viewport-Breite an */
	height: auto; 
	display: block;
}

/* Für kleine Bildschirme */
@media (max-width: 1335px) { /* Du kannst die Breite anpassen, je nach Bedarf */
    #willkommen {
        top: 100px;
    }
	#logo {
        top: 190px;
    }	
	#unterüberschrift {
        top: 280px;
    }
}

/* Für kleine Bildschirme */
@media (max-width: 768px) { /* Du kannst die Breite anpassen, je nach Bedarf */
    #willkommen {
        top: 120px;
    }
	#logo {
        top: 180px;
    }	
	#unterüberschrift {
        top: 230px;
    }
}

#logo path:nth-child(1){
	stroke-dasharray: 607;
	stroke-dashoffset: 607;
	animation: line-anim 1s ease forwards 2.1s;
}
#logo path:nth-child(2) {
    stroke-dasharray: 484;
	stroke-dashoffset: 484;
	animation: line-anim 1s ease forwards 1.8s;
}
#logo path:nth-child(3){
	stroke-dasharray: 336;
	stroke-dashoffset: 336;
	animation: line-anim 1s ease forwards 2.3s;
}
#logo path:nth-child(4){
	stroke-dasharray: 494;
	stroke-dashoffset: 494;
	animation: line-anim 1s ease forwards 2.1s;
}
#logo path:nth-child(5){
	stroke-dasharray: 259;
	stroke-dashoffset: 259;
	animation: line-anim 1s ease forwards 1.8s;
}
#logo path:nth-child(6){
	stroke-dasharray: 680;
	stroke-dashoffset: 680;
	animation: line-anim 1s ease forwards 1.5s;
}
#logo path:nth-child(7){
	stroke-dasharray: 434;
	stroke-dashoffset: 434;
	animation: line-anim 1s ease forwards 1.2s;
}
#logo path:nth-child(8){
	stroke-dasharray: 357;
	stroke-dashoffset: 357;
	animation: line-anim 1s ease forwards 1.5s;
}
#logo path:nth-child(9){
	stroke-dasharray: 318;
	stroke-dashoffset: 318;
	animation: line-anim 1s ease forwards 1.2s;
}
#logo path:nth-child(10){
	stroke-dasharray: 504;
	stroke-dashoffset: 504;
	animation: line-anim 1s ease forwards 0.9s;
}
#logo path:nth-child(11){
	stroke-dasharray: 555;
	stroke-dashoffset: 555;
	animation: line-anim 1s ease forwards 0.6s;
}
#logo path:nth-child(12){
	stroke-dasharray: 530;
	stroke-dashoffset: 530;
	animation: line-anim 1s ease forwards 0.3s;
}
#logo path:nth-child(13){
	stroke-dasharray: 514;
	stroke-dashoffset: 514;
	animation: line-anim 1s ease forwards;
}

@keyframes line-anim {
	to{
		stroke-dashoffset: 0; 
	}
}
@keyframes fill{
	from {
		fill: transparent;
	}
	to{
		fill: antiquewhite;
	}
}

@keyframes fill-special {
	from {
		fill: transparent;
	}
	to {
		fill: #99cccc; /* Spezielle Farbe für Pfade 3-7 */
	}
}

#logo path:nth-child(3),
#logo path:nth-child(4),
#logo path:nth-child(5),
#logo path:nth-child(6),
#logo path:nth-child(7) {
	animation: fill-special 1s ease forwards 3s; /* Anpassung */ 
}

@keyframes shadow {
	from {
		filter: drop-shadow(0px 0px 0px transparent);
	}
	to {
		filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.5));
	}
}



/* Cookie-Banner */
.cookie_card {
  --shadow: rgba(60, 64, 67, 0.3) 0 1px 2px 0,
    rgba(60, 64, 67, 0.15) 0 2px 6px 2px;
  width: 75%;
  max-width: 230px;
  background-color: transparent;
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
  background-image: linear-gradient(
      120deg,
      rgba(16, 37, 68, 0.8),
      rgba(5, 20, 40, 0.4)
  );
  border-radius: 1.2rem;
  border: 2px solid var(--contrast-color);  
  box-shadow: var(--shadow);
  padding: 1rem;
  position: fixed;
  bottom: 10px;
  left: 150px;
  transform: translateX(-50%);
  z-index: 1000;
  display: none; /* Standardmäßig versteckt */
}

.cookie_content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.cookie_icon {
  position: relative;
  margin-top: 10px;
  margin-bottom: 8px;
}

.cookie_icon svg {
  width: 70px;
  height: auto;
}

.cookie_description {
  font-size: 0.75rem;
  color: antiquewhite;
  margin-bottom: 1rem;
  text-align: left;
}

.privacy-link {
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: #846566;
  transition: color 0.3s;
}

.cookie_accept_button {
  padding: 0.4rem 1.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #634647;
  background-color: #ddad81;
  border: none;
  border-radius: 0.4rem;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s;
  
}

.cookie_accept_button:hover {
  background-color: #634647;
  color: #ddad81;
}

/* Hintergrundbild und allgemeine Stile für alle Seiten */
body {
    background: none;
    overflow-x: hidden; /* Verhindert horizontales Scrollen */
    font-family: 'Roboto', sans-serif;
}

/* Link-Farbe beim Hover */
body a:hover {
    color: Antiquewhite;
}

/* Impressum- und Datenschutz-Seite: Hintergrund und Rahmen */
body.impressum-page,
body.datenschutz-page {
    background-color: #A9A9A9;
    box-shadow: 0 0 0 10px white; /* Weißer Rahmen */
    margin: 10px; /* Abstand zum Rand des Viewports */
    padding: 20px; /* Abstand innerhalb des Rahmens */
}

/* Inhalt für Impressum und Datenschutz */
.impressum .content,
.datenschutz .content {
    background-color: #A9A9A9;
    margin-left: 40px;
    margin-right: 40px;
    max-width: 1200px;
    line-height: 1.6;
    text-align: left;
    padding: 20px;
    border-radius: 5px;
}

/* Hintergrund und Textformatierung */
.impressum,
.datenschutz {
    background-image: none;
    background-color: #A9A9A9;
    color: #000000;
    font-family: 'Roboto', sans-serif;
}



/* Menü-Styles */
#menu {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    padding: 1vw 0;
    width: 100%;
    max-width: 100vw;
    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden;
}

/* Menü-Styles */
#menu {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    padding: 1vw 0;
    width: 100%;
    max-width: 100vw;
    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden;
}

/* Menü-Buttons */
.menu-list {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* Standardmäßig sind die Buttons unsichtbar */
.menu-list.hidden li:not(.always-visible) {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* Logo bleibt immer sichtbar */
.always-visible {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Menü-Links */
.menu-list li {
    margin: 0 1.5vw;
    position: relative;
    transition: transform 0.6s ease, opacity 0.6s ease;
}

.menu-list li a {
    color: var(--contrast-color);
    text-decoration: none;
    padding: 1em 2em;
    font-size: clamp(16px, 1.2vw, 24px);
    text-align: center;
    position: relative;
    overflow: hidden;
    z-index: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(100px, 10em, 200px);
    height: clamp(40px, 3em, 80px);
    line-height: 3em;
    box-sizing: border-box;
}

/* Hover-Effekt */
.menu-list li a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(90% - 0.5em);
    height: calc(80% - 0.5em);
    background-color: #34495E;
    border: 2px solid var(--contrast-color);
    border-radius: 80px;
    transform: translate(-50%, -50%) scale(1);
    transition: transform 0.3s ease;
    z-index: -1;
}

.menu-list li a:hover::before {
    transform: translate(-50%, -50%) scale(1.1);
}

.menu-list li a:hover {
    transform: scale(1.1);
}

/* Menü-Bild (Logo) */
.menu-image {
    width: 10vw;
    height: 10vw;
    border-radius: 50%;
    margin: 0 3vw;
    cursor: pointer;
    max-width: 110px;
    max-height: 110px;
    transition: transform 0.3s ease;
}

.menu-image:hover {
    transform: scale(1.1);
}

/* Animation für das Ein- und Ausblenden der Buttons */
.menu-list li.moving {
    transition: transform 0.6s ease, opacity 0.6s ease;
}

.menu-list.hidden li:not(.always-visible) {
    transform: translateX(0) translateY(0);
    opacity: 0;
}



/* Dropdown-Menü sichtbar bei kleinerem Bildschirm und beim Klicken */
@media (max-width: 1335px) {
    .menu-list {
        flex-direction: column;
        position: absolute;
        top: 100%;
        background-color: rgba(0, 0, 0, 0.8);
        padding: 1em;
        width: 80vw;
        border-radius: 10px;
        visibility: hidden;
        height: 0;
        opacity: 0;
        overflow: hidden;
        transition: height 0.3s ease, opacity 0.3s ease;
    }

    .menu-toggle {
        display: block;
        background-color: transparent;
        border: none;
        cursor: pointer;
        position: fixed;
        top: 10px;
        right: 12px;
        z-index: 5;
    }

    .menu-toggle .burger-strich {
        width: 30px;
        height: 4px;
        margin: 6px 0;
        background: linear-gradient(90deg, black, black, var(--contrast-color), black);
        background-size: 200% 100%;
        border-radius: 2px;
        transition: 0.3s ease;
        animation: farbverlaufBewegung 5s infinite linear;
    }

    @keyframes farbverlaufBewegung {
        0% { background-position: 0% 0; }
        50% { background-position: 100% 0; }
        100% { background-position: 200% 0; }
    }

    .menu-toggle.active .burger-strich:nth-child(1) {
        transform: translateY(10px) rotate(45deg);
    }

    .menu-toggle.active .burger-strich:nth-child(2) {
        opacity: 0;
    }

    .menu-toggle.active .burger-strich:nth-child(3) {
        transform: translateY(-10px) rotate(-45deg);
    }

    .menu-list.active {
        visibility: visible;
        height: auto;
        opacity: 1;
    }

    .menu-list.desktop-menu {
        display: none;
    }
}

/* Menü-Bild (Mobil) */
.menu-list.mobile-menu img.menu-image {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    margin: 1em auto;
    display: block;
    margin-top: -5px;
    transition: transform 0.3s ease;
}

/* Menü-Liste (Mobil) */
.menu-list.mobile-menu {
    position: fixed;
    top: 10px;
    right: 10px;
    transform-origin: top right;
    flex-direction: column;
    background-color: transparent;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    background-image: linear-gradient(45deg, rgba(200, 200, 200, 0.3), rgba(5, 20, 40, 0.7));
    padding: 1em;
    z-index: 3;
    height: 400px;
    width: 160px;
    opacity: 0;
    visibility: hidden;
    transform: scale(0);
    transition: opacity 0.5s ease, transform 0.5s ease, visibility 0s 0.5s;
}

/* Menü sichtbar machen */
.menu-list.mobile-menu.active {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

@media (min-width: 1336px) {
    .menu-toggle {
        display: none;
    }
}

/* Runde Bilder Container */
.container3 {
  display: flex;
  gap: 10px;
  border-radius: 16px; /* Abrundung für den gesamten Container */
  overflow: hidden;
  margin-top: 450px;
}

.card {
  background-color: #fff;
  height: 600px;
  width: 350px;
  flex: 1;
  transition: flex 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.card:hover {
  flex: 2;
  background-color: #b8b8b8;
}

/* Stellt sicher, dass NUR der Text klickbar ist */
.card-link {
  position: absolute;
  z-index: 2;
  text-decoration: none;
  display: inline-block;
}

/* Der eigentliche Text */
.card-text {
  color: var(--contrast-color);
  text-shadow: 
    -1px -1px 0 var(--primary-color),  
     1px -1px 0 var(--primary-color),
    -1px  1px 0 var(--primary-color),
     1px  1px 0 var(--primary-color);
  font-size: 80px;
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
  transition: transform 0.3s ease;
  white-space: nowrap;
  writing-mode: vertical-rl;
  
  /* Startposition: Vertikal mit unten nach rechts */
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-180deg);
}

/* Beim Hover dreht sich der Text um 90° im Uhrzeigersinn */
.card:hover .card-text {
  transform: translate(-50%, -50%) rotate(-90deg);
}

/* Verhindert, dass das Bild angeklickt werden kann */
.round-image {
  pointer-events: none;
  user-select: none;
}



@media (max-width: 1335px) {
	.card {
		background-color: #fff;
		height: 450px;
		width: 250px;
		flex: 1;
		transition: all 0.3s ease;
		display: flex;
		align-items: center;
		justify-content: center;
	} 
	.card:hover {
		flex: 2;
		background-color: #b8b8b8;
	}
	.container3 {
		margin-top: 250px;
	}
}

@media (max-width: 768px) {
	.card {
		background-color: #fff;
		height: 350px;
		width: 250px;
		flex: 1;
		transition: all 0.3s ease;
		display: flex;
		align-items: center;
		justify-content: center;
	} 
	.card:hover {
		flex: 5;
		background-color: #b8b8b8;
	}
	.container3 {
		margin-top: 150px;
	}
	.card-text {
		font-size: 50px;
	}
}

/* Einblend-Animation */
@keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

/* Fade-Effekte */
.fade-out { opacity: 0; transition: opacity 0.5s ease-out; }
.fade-in { opacity: 1; transition: opacity 0.5s ease-in; }


/* Runde Bilder */
.round-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* beeinflusst Inhalt aller Seiten */
.content {
    padding: 20px;
    text-align: center;
	color: black; 
	margin-top: 100px;
	margin-left: 10px; 
	margin-right: 10px; 
	line-height: 1.6;
	z-index: 1;
}

/*Überschriften*/
h1 {  
	margin-top: 50px;
	color: var(--primary-color);
	font-size: calc(3rem + 1vw); /* Größer als h2 */
	font-weight: bold; /* Falls gewünscht, für mehr Kontrast */
	letter-spacing: 2px; /* Etwas mehr Abstand für edleren Look */
}

h2 {  
	margin-top: 50px;
	color: var(--contrast-color);
	font-size: calc(2rem + 1vw);
	text-shadow: 1px 1px 2px black;
    text-align: center;
}

h3 {
	font-size: calc(1.5rem + 1vw); 
	color: #99cccc; 
	text-shadow: 1px 1px 2px black;
}

h4 {
    margin-top: 20px;
    font-size: 1.5rem;
    color: #99cccc;
}

.grid-container {
    display: grid;
    gap: 50px;
    grid-template-columns: 1fr;
    max-width: 1200px; 
    margin: 0 auto;
}

/* Ab einer Bildschirmbreite von 768px (Tablets und größer) nebeneinander */
@media (min-width: 768px) {
    .grid-container {
        grid-template-columns: 1fr 2fr;
    }
}

.item {
    text-align: left;
}

/* Über mich Profilecard */
.profil_wrapper {
  display: flex;
  justify-content: center;
}

.profil_card {
  width: 280px;
  height: 280px;
  background: var(--contrast-color);
  border-radius: 32px;
  padding: 3px;
  position: relative;
  box-shadow: #604b4a30 0px 70px 30px -50px;
  transition: all 0.5s ease-in-out;
  place-items: center;
}

.profil_card .profil_mail {
  position: absolute;
  right: 2rem;
  top: 1.4rem;
  background: transparent;
  border: none;
}

.profil_card .profil_mail svg {
  stroke: var(--secondary-color);
  stroke-width: 3px;
}

.profil_card .profil_mail svg:hover {
  stroke: var(--primary-color);
}

.profil_card .profil_pic {
  position: absolute;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  top: 3px;
  left: 3px;
  border-radius: 29px;
  z-index: 1;
  border: 0px solid #fbb9b6;
  overflow: hidden;
  transition: all 0.5s ease-in-out 0.2s, z-index 0.5s ease-in-out 0.2s;
}

.profil_card .profil_pic img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
  -o-object-position: 0px 0px;
  object-position: 0px 0px;
  transition: all 0.5s ease-in-out 0s;
}

.profil_card .profil_pic svg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 0px 0px;
  object-position: 0px 0px;
  transform-origin: 45% 20%;
  transition: all 0.5s ease-in-out 0s;
}

.profil_card .profil_bottom {
  position: absolute;
  bottom: 3px;
  left: 3px;
  right: 3px;
  background: var(--primary-color);
  top: 80%;
  border-radius: 29px;
  z-index: 2;
  box-shadow: rgba(96, 75, 74, 0.1882352941) 0px 5px 5px 0px inset;
  overflow: hidden;
  transition: all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
}

.profil_card .profil_bottom .profil_content {
  position: absolute;
  bottom: 0;
  left: 1.5rem;
  right: 1.5rem;
  height: 160px;
}

.profil_name {
  display: block;
  font-size: 1.2rem;
  color: white;
  font-weight: bold;
  text-align: right;
  margin-top: -45px;
  margin-bottom: 25px;
}

.profil_card .profil_bottom .profil_content{
  display: block;
  font-size: 1.2rem;
  color: var(--contrast-color) ;
  font-weight: bold;
}

.profil_card .profil_bottom .profil_content .profil_about-me {
  display: block;
  font-size: 0.9rem;
  color: white;
  margin-top: 1rem;
}

.profil_card .profil_bottom .profil_bottom-bottom {
  position: absolute;
  bottom: 1rem;
  left: 1.5rem;
  right: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.profil_card .profil_bottom .profil_bottom-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.profil_card .profil_bottom .profil_bottom-bottom .profil_social-links-container {
  display: flex;
  gap: 1rem;
  position: relative;
  top: 7px; /* Verschiebt die Social Buttons nach unten */
}

.profil_card .profil_bottom .profil_bottom-bottom .profil_social-links-container svg {
  height: 20px;
  fill: var(--contrast-color);
  filter: drop-shadow(0 5px 5px rgba(165, 132, 130, 0.1333333333));
}

.profil_card .profil_bottom .profil_bottom-bottom .profil_social-links-container svg:hover {
  fill: var(--secondary-color);
  transform: scale(1.2);
}

.profil_card .profil_bottom .profil_bottom-bottom .profil_button {
  position: relative; /* Bleibt an der ursprünglichen Position */
}

.profil_card .profil_bottom .profil_bottom-bottom .profil_button {
  background: var(--contrast-color);
  color: var(--primary-color);
  border: none;
  top: 3px;
  border-radius: 20px;
  font-size: 0.7rem; /* Etwas größere Schrift */
  padding: 0.5rem 0.8rem; /* Leicht mehr Innenabstand */
  box-shadow: rgba(165, 132, 130, 0.1333333333) 0px 5px 5px 0px;
}


.profil_card .profil_bottom .profil_bottom-bottom .profil_button:hover {
  background: var(--secondary-color);
  color: white;
}

.profil_card:hover {
  border-top-left-radius: 55px;
}

.profil_card:hover .profil_bottom {
  top: 20%;
  border-radius: 80px 29px 29px 29px;
  transition: all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.2s;
}

.profil_card:hover .profil_pic {
  width: 100px;
  height: 100px;
  aspect-ratio: 1;
  top: 10px;
  left: 10px;
  border-radius: 50%;
  z-index: 3;
  border: 7px solid var(--contrast-color);
  transition: all 0.5s ease-in-out, z-index 0.5s ease-in-out 0.1s;
}

.profil_card:hover .profil_pic img {
  transform: scale(1.5);
  -o-object-position: -16px 0px;
  object-position: -16px 0px;
  transition: all 0.5s ease-in-out 0.5s;
}

.profil_card:hover .profil_pic svg {
  transform: scale(2.5);
  transition: all 0.5s ease-in-out 0.5s;
}

/* Über mich Polaroid */
.polaroid_container {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap; 
  margin-top: 140px;
}

.polaroid_container .polaroid_glass {
  position: relative;
  background: #fcf6f2;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 25px 25px rgba(0, 0, 0, 0.25);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.5s;
  border-radius: 5px;
  margin: 0 -45px;
  transform: rotate(calc(var(--r) * 1deg));
  overflow: hidden; 
  width: 300px; 
  height: 330px;  
}

.polaroid_container:hover .polaroid_glass {
  transform: rotate(0deg);
  margin: 0 5px;
}

.polaroid_container .polaroid_glass::before {
  content: attr(data-text);
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 40px;
  background: rgba(255, 255, 255, 0.05);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
}

.polaroid_glass img {
  width: 90%; /* Bild füllt den Container */
  height: 80%; /* Bild füllt den Container */
  object-fit: cover; /* Schneidet das Bild passend zu */
  border-radius: 10px; /* Gleiche Rundung wie der Container */
  margin-bottom: 30px;
}

@media (max-width: 1335px) {
	.polaroid_container .polaroid_glass {
		width: 220px; 
		height: 250px;	
	}
}

@media (max-width: 768px) {
  .polaroid_container {
    flex-direction: column;
    align-items: center;
	margin-top: 80px;
  }
  .polaroid_container .polaroid_glass {
    margin: -60px 0; /* Abstand zwischen den Bildern */
  }
  .polaroid_container:hover .polaroid_glass {
	margin: 10px 0;
  }
}

/*Scroll Einblendung */
.scroll-message {
    display: none;
    position: fixed;
    top: -200px;
    left: 50%;
    transform: translateX(-50%) translateZ(0); /* Fügt ein 3D-Transform hinzu */
    width: 80%;
    max-width: 400px;
    background-color: transparent;
    backdrop-filter: blur(50px);
    -webkit-backdrop-filter: blur(50px);
    background-image: linear-gradient(
        120deg,
        rgba(255, 255, 255, 0.8),
        rgba(200, 200, 200, 0.4)
    );
    color: black;
    text-align: left;
    padding: 12px 20px;
    font-size: 16px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Arial", sans-serif;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    z-index: 9999;
    opacity: 0;
    transition: top 0.5s ease, opacity 0.5s ease;
}

.scroll-message .message-content {
    display: flex;
    align-items: center;
}

.scroll-message .message-image {
    width: 50px;
    height: 50px;
    border-radius: 50%; /* Rundes Bild */
    margin-right: 10px; /* Abstand zum Text */
}

.scroll-message .message-text {
    display: flex;
    flex-direction: column;
}

.scroll-message .main-text {
    margin: 0;
    font-weight: 600; /* Etwas fetterer Text für bessere Sichtbarkeit */
    animation: fadeInText 1s ease-in-out; /* Fade-In-Animation für den Text */
}

.scroll-message .sub-text {
    margin: 0;
    font-size: 14px; /* Kleinere Schrift für die zweite Zeile */
    opacity: 0.8; /* Etwas weniger stark hervorgehoben */
}

@keyframes fadeInText {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

/* Nur auf kleinen Bildschirmen (maximale Breite 768px) */
@media (max-width: 768px) {
    .scroll-message {
        display: block; /* Fenster wird auf kleinen Bildschirmen sichtbar */
    }
}




/* Layout für Über mich Kacheln */
.packages_übermich {
    display: flex; 
    flex-wrap: wrap; 
    justify-content: center; 
    gap: 30px; 
    padding: 0px; 
    width: 100%;
    margin-left: auto;  
    margin-right: auto;
	margin-top: 50px;
	margin-bottom: 50px;	
    position: relative;
}

.kachel_übermich {
    position: relative;
    width: 300px;
    height: 300px;
    border-radius: 10px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    box-shadow: 0 0 32px rgba(255, 255, 255, 0.5);
    background-color: rgba(242, 242, 242, 0.2); /* Fallback-Hintergrund */
    transition: box-shadow 0.3s ease, background-size 0.8s ease-in-out; /* Längerer Übergang und weichere Animation */
}

.kachel_übermich:hover {
    background-size: 120%; /* Stärkerer Zoom-Effekt */
    box-shadow: 0 0 32px rgba(5, 20, 40, 0.7);
}

/* Titel- und Textstil */
.kachel_title {
    position: absolute;
    bottom: 20px;
    left: 20px;
    color: var(--contrast-color);
    font-size: 1.2em;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); /* Ursprünglicher Schatten */
    display: flex;
    align-items: center;
    margin: 0;
    cursor: pointer;
    transition: transform 0.3s ease, text-shadow 0.3s ease; /* Übergang für den Titel-Schatten */
}

/* Titel-Effekt bei Hover */
.kachel_übermich:hover .kachel_title {
    transform: scale(1.1); /* Vergrößert den Titel bei Hover */
    text-shadow: 0 4px 8px rgba(0, 0, 0, 0.8); /* Stärkerer Schatten bei Hover */
}

/* Pfeil-Icon-Effekt */
.arrow_icon {
    font-size: 16px;
    margin-left: 10px;
    transition: transform 0.3s ease;
}

.kachel_übermich:hover .arrow_icon {
    transform: rotate(180deg);
}

/* Inhalt bei Hover sichtbar machen */
.kachel_content {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 10px;
    right: 10px;
    bottom: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--contrast-color);
	background-image: linear-gradient(
			120deg,
		rgba(5, 20, 40, 0.7),
		rgba(0, 0, 0, 0.7)
		);
	border-radius: 10px;
    padding: 20px;
    text-align: center;
    font-size: 1em;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    border-radius: 10px;
    backdrop-filter: blur(5px);
}

.kachel_übermich:hover .kachel_content {
    visibility: visible;
    opacity: 1;
}


/* Normale Galerie-Ansicht für größere Bildschirme */
.gallery {
    columns: 4; /* Anzahl der Spalten */
    column-gap: 30px; /* Abstand zwischen den Spalten */
    max-width: 2000px; /* Maximale Breite der Galerie */
    margin: 0 auto; /* Zentriert die Galerie auf der Seite */
	margin-left: -20px;
	margin-right: -20px;
    user-select: none; /* Verhindert Markieren */
    -webkit-user-drag: none; /* Verhindert Ziehen in Webkit-Browsern */
}

/* Verhindert das lange Drücken und Bildauswahl auf iOS */
img {
    -webkit-touch-callout: none; /* Deaktiviert das iOS-Menü */
    user-select: none; /* Verhindert Markieren */
    pointer-events: auto; /* Beibehaltung der Klickbarkeit */
}

/* Verhindert langes Drücken auf iOS */
img::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    pointer-events: none;
    user-select: none;
}

/* Bild-Styles */
.tile img {
    width: 100%;
    margin-bottom: 20px;
    border: 5px solid white;
}

/* Normaler Zustand der Kachel */
.tile {
	position: relative;
    transition: transform 0.5s ease, box-shadow 0.5s ease, border 0.5s ease; /* Übergang auch für den normalen Zustand */
    transform: scale(1); /* Standardgröße */
	z-index: 1;
}

/* Hover-Effekt: Vergrößern */
.tile:hover {
    transform: scale(1.05); /* Leichte Vergrößerung */
    z-index: 1; /* Hebt das Bild leicht hervor */
}


/* Responsive Design für mittlere Bildschirme */
@media (max-width: 768px) {
   .gallery {
		columns: 2;
	}
	.tile img {
		border: 2px solid white;
	}	
}

/* Lightbox Styles */
.lightbox {
    display: flex;
    flex-direction: column; /* Bild und Caption untereinander anordnen */
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    user-select: none; /* Verhindert Markieren */
    -webkit-user-drag: none; /* Verhindert Ziehen in Webkit-Browsern */
    z-index: 1000; /* Höherer Z-Index */
}

.lightbox.hidden {
    display: none;
}

.lightbox-content {
    max-width: 90%;
    max-height: 80%; /* Platz für Caption berücksichtigen */
    margin: 0 auto; /* Zentrieren */
    margin-top: 2%;
    border: 10px solid white; /* Weißer Rahmen um das Bild */
	z-index: 5;
}

#lightbox-caption {
    display: none;
}

/* Close */
.close {
    position: absolute;
    top: 15%;
    right: 30px;
    font-size: 80px;
    color: antiquewhite;
    cursor: pointer;
    background: transparent;
    z-index: 1000; /* Über anderen Inhalten */
    transition: transform 0.3s ease, opacity 0.3s ease; /* Sanfte Übergänge */
}

.close:hover {
    transform: scale(1.2); /* Vergrößerung beim Hover für visuelle Rückmeldung */
    opacity: 0.8;
}

/* Navigation Pfeile */
.prev, .next {
    position: absolute;
    top: 45%;
    font-size: 80px;
    color: antiquewhite !important;
    cursor: pointer;
    padding: 0px;
    z-index: 1000; /* Höherer Z-Index für Navigations-Buttons */
    transition: opacity 0.3s ease; /* Smooth transition for opacity changes */
}

.prev {
    left: 30px;
}

.next {
    right: 30px;
}

/* Medienabfrage für sehr kleine Browserfenster */
@media (max-width: 1335px) {
	.close {
		top: 30px;
		font-size: 40px;
		right: 20px;
	}
}

@media (min-width: 600px) {
	    .swipe-hint svg {
			opacity: 0;
		}
}

@media (max-width: 600px) {
    .prev, .next {
        opacity: 0; /* Pfeile unsichtbar machen */
        font-size: 4px;
        top: 200%;
    }
    
    /* Swipe-Hinweis Container */
    .swipe-hint {
        position: absolute;
        top: 85%;
        left: 0;
        right: 0;
        font-size: 50px;
        color: white;
        z-index: 2000; /* Höher als das Bild */
        display: flex;
        justify-content: center;
        align-items: center;
        opacity: 0; /* Anfangs unsichtbar */
        transition: opacity 0.5s ease; /* Für sanftes Einblenden */
    }
    
    /* Sichtbar machen, wenn die Lightbox geöffnet wird */
    .swipe-hint.active {
        opacity: 0.6;
        animation: swipeAnimation 2s infinite ease-in-out;
        cursor: pointer;
    }
    
    /* Animation für die Pfeile */
    @keyframes swipeAnimation {
        0% {
            transform: translateX(-20px);
        }
        50% {
            transform: translateX(20px);
        }
        100% {
            transform: translateX(-20px);
        }
    }
    
    /* Pfeile */
    .swipe-hint span {
        padding: 0 10px; /* Weniger Platz für kleinere Darstellung */
        font-size: 50px; /* Kleinere Pfeile */
        transition: transform 0.3s ease;    
    }
}



/* Stile für die Seitenabschnitte */
section {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative; /* Für das Overlay erforderlich */
    background-color: rgba(0, 0, 0, 0); /* Transparent, um den Hintergrund durchscheinen zu lassen */
    min-height: 100vh; /* Stellt sicher, dass jede Section mindestens 100vh hoch ist */
    height: auto; /* Die Höhe wird automatisch angepasst, falls der Inhalt mehr Platz benötigt */
    padding: 20px; /* Fügen Sie etwas Abstand zum Rand hinzu */
    box-sizing: border-box; /* Stellt sicher, dass Padding und Border in der Höhe/Breite enthalten sind */
}

section.section-special {
    min-height: 10vh; /* Beispielwert, kannst du nach Bedarf anpassen */
}

	#home {
   	 position: relative;
   	 display: flex;
   	 justify-content: center;
   	 align-items: center;
   	 padding: 20px; /* Mindestabstand zu den Rändern */
	 background-color: var(--primary-color); 
	}

	#home::before {
   	 content: '';
   	 position: absolute;
    	top: 0;
   	 left: 0;
   	 right: 0;
   	 bottom: 0;
   	 z-index: 1;
	}

	#home .content {
   	 position: relative;
    	z-index: 2;
   	 text-align: center; /* Zentriert den Text innerhalb der .content-Klasse */
   	 font-size: 4vw; /* Schriftgröße proportional zur Fensterbreite */
   	 max-width: 80%; /* Maximale Breite der Inhaltselemente */
	}

 /* Über mich Sektion - transparente Überlagerung */
 #about {
	background-color: #89C2A7; 
 }
 
 #about .content {
    position: relative;
	top: -50px;
    z-index: 2;
	padding: 0px; /* Mindestabstand zu den Rändern */
	text-align: left; /* Text linksbündig ausrichten */
 }

.wave_about {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.wave_about svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 123px;
}

.wave_about {
    fill: var(--primary-color);
}

 #services {
    position: relative;
	background-color: #89C2A7; 
 }
 
 #services .content {
    position: relative;
	top: -50px;
    z-index: 1;
	padding: 0px; /* Mindestabstand zu den Rändern */
	text-align: left; /* Text linksbündig ausrichten */
 }

 /* Galerie Sektion - transparente Überlagerung */
#gallery {
	position: relative;
	background-color: var(--primary-color); 
}

#gallery .content {
	position: relative;
	top: -50px;
	z-index: 2;
}

.wave_gallery {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
}

.wave_gallery svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 73px;
}

.wave_gallery .shape-fill {
    fill: #89C2A7;
}

/* Ablauf Sektion - transparente Überlagerung */
 #Ablauf {
     position: relative;
	background-color: #79B1AC; 
 }
 
#Ablauf .content {
    position: relative;
    top: -50px;
    z-index: 1;
    padding: 0px;
    text-align: left;
}

#Ablauf .content *:not(h2):not(.Button_standard) {
    font-family: 'Bradley Hand', 'Segoe Print', 'Comic Sans MS', cursive;
}

@media (min-width: 100px) {
        .steps {
            flex-direction: row;
            justify-content: space-between;
        }
        .step:nth-child(1) {
            align-self: flex-start;
        }
        .step:nth-child(2) {
            align-self: flex-end;
        }
        .step:nth-child(3) {
            align-self: center;
        }
    }

/* Ablauf Notizen To-Do */
.page0,
.page1,
.page2,
.page3 {
  position: relative;
  box-sizing: border-box;
  max-width: 400px;
  margin: 30px auto 0;
  /* gemeinsamer Font: */
  font-family: 'Open Sans', Arial, sans-serif;
  padding: 1.4rem 0.5rem 0.3rem 4.5rem;
  background: #fff;
  background-image: linear-gradient(#FFFACD 1.1rem, #ccc 1.2rem);
  background-size: 100% 1.2rem;
  line-height: 1.2rem;
  border-radius: 7px;
}

/* Einzelne Drehungen und Größen bleiben jeweils erhalten: */

.page0 {
  max-width: 450px;
  font-size: 28px;
  transform: rotate(1deg);
  line-height: 1.9rem; 
}

.page1 {
  font-size: 20px;
  transform: rotate(-6deg);
}

.page2 {
  font-size: 20px;
  transform: rotate(3deg);
}

.page3 {
  font-size: 20px;
  transform: rotate(-2deg);
}


.margin {
  position: absolute;
  border-left: 1px solid #d88;
  height: 100%;
  left: 3.3rem;
  top: 0;
}


.wave_ablauf {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.wave_ablauf svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 73px;
}

.wave_ablauf .shape-fill {
    fill: var(--primary-color);
}


		/* Preise */
		
#Preise {
 background-color: var(--primary-color); 
}
	
.wave_preise {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.wave_preise svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 33px;
}

.wave_preise .shape-fill {
    fill: #79B1AC;
}	

.packages {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.package-card {
    display: flex;
    flex-direction: column;
    position: relative;
    background-color: #D4A5A5;
    border: 2px solid var(--contrast-color);
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 4px 8px rgba(255, 255, 255, 0.4);
    transition: transform 0.2s;
    z-index: 1;
}

.package-card span {
  font-size: 1.2rem;
  position: absolute;
  overflow: hidden;
  width: 150px;
  height: 150px;
  top: -10px;
  right: -10px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
}

.package-card span::before {
  content: 'Favorit';
  position: absolute;
  width: 150%;
  height: 40px;
  background-image: linear-gradient(45deg, #ff6547 0%, #ffb144  51%, #ff7053  100%);
  transform: rotate(45deg) translateY(-20px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow: 0 5px 10px rgba(0,0,0,0.23);
}

.package-card span::after {
  content: '';
  position: absolute;
  width: 10px;
  bottom: 0;
  left: 142px;
  height: 8px;
  z-index: -1;
  box-shadow: -142px -142px #cc3f47;
  background-image: linear-gradient(-45deg, #FF512F 0%, #F09819  51%, #FF512F  100%);
}

.package-card:hover {
    transform: translateY(-10px);
}

.package-header {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2rem;
    color: var(--primary-color);
	font-weight: bold;
	text-align: left;
}

.package-price {
    font-size: 3.75rem;
    color: var(--contrast-color);
	font-weight: 700;
	text-align: left;
}

.package-description {
    font-size: 1em;
    margin-bottom: 20px;
    color: var(--primary-color);
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
    line-height: 1.625;
    text-wrap: pretty;
	text-align: left;
	text-align: left;
}

.package-features {
    list-style: none;
    padding: 0;
	text-align: left;
	margin-left: 10px;
    margin-bottom: 1.5rem;
	text-align: left;
}

.package-features li {
    margin-bottom: 10px;
    font-size: 0.9em;
}

.package-description,
.package-features {
    flex-grow: 1; /* Dehnt den Inhalt aus, damit der Button nach unten gedrückt wird */
}

.Button_standard {
    background: linear-gradient(135deg, #34495E, var(--primary-color)); /* Verlauf mit deinen Farben */
    color: var(--contrast-color); /* Dunkle Schrift für guten Kontrast */
    font-size: 16px;
    font-weight: bold;
	width: 180px;
	height: 50px;
	margin-top: auto;
    margin-left: auto;
    margin-right: auto;
    display: block; 
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    box-shadow: 0 0 5px rgba(250, 235, 215, 0.5);
    position: relative;
    overflow: hidden;
}

.Button_standard:hover {
    background: linear-gradient(135deg, var(--primary-color), #34495E); /* Umgekehrter Verlauf */
    color: #fff;
    box-shadow: 0 0px 5px rgba(255, 255, 255, 0.5);
}

.Button_standard:active {
    transform: translateY(1px);
    box-shadow: 0 2px 5px rgba(5, 20, 40, 0.2);
}

.footnotes {
    font-size: 1.0em;
    text-align: left;
    margin-top: 20px;
    margin-left: -20px;
    margin-right: -20px;
	max-width: 800px;
    color: white;
	z-index: 1;
}

@media (max-width: 1335px) {
    .packages {
        display: grid;
        grid-template-columns: repeat(2, 1fr); 
        gap: 20px; /* Abstand zwischen den Cards */
    }
}

@media (max-width: 600px) {
    .packages {
        display: grid;
        grid-template-columns: repeat(1, 1fr); 
        gap: 20px; /* Abstand zwischen den Cards */
    }
}

    
        
     

	/* Kontakt Sektion - transparente Überlagerung */
        #Kontakt {
            position: relative;
			background-color: #B39DB8; 
        }
      
        #Kontakt .content {
            position: relative;
			top: -100px;
            z-index: 1;
			padding: 0px; /* Mindestabstand zu den Rändern */	
			text-align: left; /* Text linksbündig ausrichten */
        }
		
		/* Grundstil für die Kontaktmethoden */
		.contact-methods .method {
			background-color: rgba(255, 255, 255, 0.3);
			padding: 15px;
			border-radius: 10px;
			display: flex;
			align-items: center;
			transition: background-color 0.3s, transform 0.3s ease; /* Übergänge für Hintergrund und Bewegung */
		}
		
		.contact-methods .method:hover {
			background-color: rgba(255, 255, 255, 0.5); /* Hellerer Hintergrund bei Hover */
			transform: translateY(-5px); /* Leichte Bewegung nach oben */
		}
		
		/* Stil für die Icons */
		.contact-methods .icon {
			width: 24px;
			height: 24px;
			margin-right: 10px;
		}
		
		/* Stil für den Textbereich */
		.contact-methods .text {
			flex-grow: 1;
		}
		
		/* Stil für den Text */
		.contact-methods h4 {
			margin: 0;
			color: #ffffff;
		}
		
		.contact-methods p {
			margin: 0;
			color: black;
		}


        /* Sanfter Scroll-Effekt */
        html {
            scroll-behavior: smooth;
        }

.wave_kontakt {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.wave_kontakt svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 33px;
}

.wave_kontakt .shape-fill {
    fill: var(--primary-color);
}

.wave_ende {
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
}

.wave_ende svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 117px;
}

.wave_ende .shape-fill {
    fill: #FFFFFF;
}
 
}




/* allgemeine Textformatierungen */
  .centered {
    text-align: center;
  }

  .points-container {
    display: inline-block;
    text-align: left;
    margin: 0 auto;
  }

  .points {
    margin-left: 20px;
    margin-right: 20px;
  }
  
  
/* Standardmäßig die Telefonnummer nicht anklickbar */
.phone-number {
    text-decoration: underline;
    color: white;
}

/* Bei kleinen Bildschirmen wird die Telefonnummer anklickbar */
@media only screen and (max-width: 600px) {
    .phone-number {
        display: inline-block;
        cursor: pointer;
    }
    .phone-number::after {
        content: '';
        display: block;
        width: 0;
        height: 0;
        visibility: hidden;
    }
    .phone-number:hover {
        text-decoration: none;
    }
    .phone-number:active {
        color: blue; /* Optional: Farbe beim Klicken */
    }
    .phone-number::before {
        content: '+4915784451071';
        display: block;
        position: absolute;
        left: -9999px;
        top: -9999px;
        pointer-events: none;
    }
    .phone-number:focus {
        outline: none;
        border: none;
        text-decoration: none;
    }
}

/* Bei großen Bildschirmen bleibt die Telefonnummer als reiner Text */
@media only screen and (min-width: 601px) {
    .phone-number {
        cursor: default;
        color: black;
        text-decoration: underline;
    }
}  

/* Basis-Stil für die Schriftgröße */
.copyright-info {
    font-size: calc(0.5rem + 1vw);
    color: white;
}

/* Anpassung der Schriftgröße für Browserfenstergrößen über 800px */
@media (min-width: 800px) {
    .copyright-info {
        font-size: calc(0.5rem + 1vw);
    }
}

/* Begrenzung der maximalen Schriftgröße */
@media (min-width: 800px) {
    .copyright-info {
        font-size: 0.8rem; /* Maximalwert für die Schriftgröße */
    }
}

/*Mail Button unten rechts*/
.mail-button {
    position: fixed;
    display: none;
    z-index: 2;
}

.mail-button svg {
    stroke: var(--contrast-color); /* Standardfarbe (z. B. rötlicher Akzent) */
    transition: stroke 0.2s ease-in-out; /* Weicher Farbwechsel */
}

.mail-button:hover svg {
    stroke: grey; /* Dunklere Farbe beim Hover */
}

/* Animation für das kurze Vibrieren */
@keyframes vibrate_mail {
    0% { transform: translate(0, 0); }
    25% { transform: translate(5px, 0); }
    50% { transform: translate(-5px, 0); }
    75% { transform: translate(5px, 0); }
    100% { transform: translate(0, 0); }
}

@media (min-width: 768px) {
    .mail-button img {
        width: 30px; /* Größere Breite */
        height: 40px; /* Größere Höhe */
    }
    .mail-button {
        bottom: 40px;
        right: 12px;
        display: block;
    }
}

/* Verschiebung nach oben ab 1335px Bildschirmbreite */
@media (min-width: 1335px) {
    .mail-button {
        bottom: 70px; 
        right: 30px;
    }
}

/*Instagram Button unten rechts*/
.instagram-button {
    position: fixed;
    bottom: 7px;
    right: 16px;
    display: block;
    z-index: 2;
}

.instagram-button img {
    width: 30px;
    height: 30px;
}

/* Animation für das kurze Vibrieren */
@keyframes vibrate_insta {
    0% { transform: translate(0, 0); }
    25% { transform: translate(-2px, 0); }
    50% { transform: translate(2px, 0); }
    75% { transform: translate(-2px, 0); }
    100% { transform: translate(0, 0); }
}

/* Größere Darstellung ab 1335px Bildschirmbreite */
@media (min-width: 1335px) {
    .instagram-button img {
        width: 40px; /* Größere Breite */
        height: 40px; /* Größere Höhe */
    }
	.instagram-button {
		bottom: 20px;
		right: 30px;
	}
}



.whatsapp-button {
    position: fixed;
    bottom: 47px;
    right: 16px;
    display: none; /* Standardmäßig nicht sichtbar */
    z-index: 2;
}

.whatsapp-button img {
    width: 30px; /* Größe des Icons */
    height: 30px;
}

.notification-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    background-color: red;
    color: white;
    border-radius: 50%;
    padding: 2px 5px;
    font-size: 8px; /* Kleinere Schriftgröße für die '1' */
    display: none; /* Standardmäßig nicht sichtbar */
}

/* Für kleine Bildschirme */
@media (max-width: 768px) {
    .whatsapp-button {
        display: block; /* Bei kleinen Bildschirmen immer sichtbar */
    }

    .notification-badge {
        display: none; /* Standardmäßig keine Benachrichtigung sichtbar */
    }
}

/* Rabatt-Banner */
@keyframes pulsieren {
  0% {
    box-shadow: rgba(4, 228, 0, 0.8) 5px 12px 28px;
  }
  25% {
    box-shadow: rgba(4, 228, 0, 0.4) 5px 12px 40px;
  }
  50% {
    box-shadow: rgba(255, 255, 255, 0.8) 5px 12px 45px;
  }
  75% {
    box-shadow: rgba(255, 255, 255, 0.4) 5px 12px 40px;
  }
  100% {
    box-shadow: rgba(4, 228, 0, 0.8) 5px 12px 28px;
  }
}

.rabatt_card {
  width: 370px;
  height: 180px;
  border-radius: 8px;
  box-sizing: border-box;
  padding: 10px 15px;
  background-color: transparent;
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
  background-image: linear-gradient(
      120deg,
      rgba(16, 37, 68, 0.8),
      rgba(5, 20, 40, 0.4)
  );
  position: fixed;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 15px;
  z-index: 2;
  animation: pulsieren 10s infinite ease-in-out;
}

.rabatt_icon-container {
  width: 60px;
  height: 95px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 8px;
}

.rabatt_icon {
  width: 17px;
  height: 17px;
  color: #269b24;
}

.rabatt_message-text-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; /* Zentriert Inhalt vertikal */
  flex-grow: 1;
  text-align: center; /* Zentriert Text horizontal */
}

.rabatt_message-text,
.rabatt_sub-text {
  margin: 0;
  margin-top: 10px;
  cursor: default;
}

.rabatt_message-text {
  color: #269b24;
  font-size: 20px;
  font-weight: 700;
}

.rabatt_sub-text {
  font-size: 14px;
  color: var(--contrast-color);
}

.rabatt_cross-icon {
  width: 80px;
  height: 80px;
  color: #fff;
  cursor: pointer;
}

.rabatt_cross-icon:hover {
  color: black;
  transition: color 0.3s;
}

.copy-icon {
    cursor: pointer;
    font-size: 16px;
    color: var(--contrast-color);
	transition: color 0.3s;
    user-select: none; /* Verhindert Markierung */
}
.copy-icon:hover {
    color: black;
}

/* Kontaktformular */
.form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: auto;
  width: 500px;
  background-color: var(--primary-color);
  padding: 20px;
  border-radius: 10px;
  position: relative;
  align-items: center; /* Zentriert den Inhalt */
}

.form label {
  position: relative;
  width: 100%; /* Nutzt die volle Breite */
  display: flex;
  flex-direction: column;
  align-items: left; /* Zentriert die Input-Felder */
  
}

.form label .input, 
.form label .input01 {
  width: 90%;
  padding: 20px 10px 12px 10px;
  outline: 0;
  border: 1px solid #355891;
  border-radius: 5px;
  resize: none;
  text-align: left; /* Text bleibt linksbündig */
}

.input01 {
  width: 100%;
  min-height: 8rem; /* Startgröße */
  max-height: 25rem; /* Maximale Höhe */
  resize: vertical !important;
  overflow-y: auto; /* Scrollbar, falls nötig */
}

.form label select.input, 
.form label select.input01 {
    width: 90%;
    padding: 20px 10px 12px 10px;
    outline: 0;
    border: 1px solid #355891;
    border-radius: 5px;
    background-color: white;
    text-align: left;
    font-size: 1em;
    cursor: pointer;
    appearance: none; /* Entfernt das Standard-Dropdown-Design */
}

.g-recaptcha {
  transform: scale(0.9); /* Skaliert das reCAPTCHA */
}

/* Spezielle Anpassung für Smartphones */
@media (max-width: 768px) {
  .input01 {
    resize: none; /* Deaktiviert das manuelle Ziehen auf Smartphones */
    min-height: 12rem;
    max-height: 25rem;
    height: auto;
  }
}


/* Auf kleineren Bildschirmen größere Höhe für input01 */
@media (max-width: 600px) {
  .form {
	width: 80%;
   }	
   
  .input01 {
    min-height: 11rem;
  }
   .form label select.input {
     width: 100%;
     padding: 15px 10px;
 }
}

.form label .input + span, .form label .input01 + span {
  position: absolute;
  left: 20px;
  top: 15px;
  color: var(--primary-color);
  background-color: #fff;
  font-size: 0.9em;
  cursor: text;
  transition: 0.3s ease;
}

.form label .input:placeholder-shown + span,
.form label .input01:placeholder-shown + span {
  top: 15px;
  font-size: 0.9em;
}

.form label .input01:focus + span, .form label .input01:valid + span {
  top: 5px;
  font-size: 0.7em;
  font-weight: 600;
}

.form label .input:focus + span, .form label .input:not(:placeholder-shown):valid + span {
  top: 5px;
  font-size: 0.7em;
  font-weight: 600;
}

/* Standardverhalten für alle Inputs außer Telefonnummer */
.form label .input:not([type="tel"]):valid + span,
.form label .input01:valid + span {
  color: green;
}

/* Spezielle Regel nur für Telefonnummer */
.form label input[type="tel"]:not(:placeholder-shown):valid + span {
  color: green;
}


.fancy {
  background-color: var(--secondary-color);
  border: 2px solid #355891;
  border-radius: 5px;
  box-sizing: border-box;
  color: var(--primary-color);
  cursor: pointer;
  display: inline-block;
  font-weight: 390;
  letter-spacing: 2px;
  margin: 0;
  outline: none;
  padding: 8px 30px;
  position: relative;
  text-align: center;
  transition: all 0.3s ease-in-out;
  font-size: 13px;
  width: 100%;
  max-width: 350px;
}

.fancy:hover {
  color: var(--secondary-color);
  background: var(--contrast-color);
}

.checkbox-wrapper {
    display: flex;
    align-items: center; /* Sorgt für korrekte vertikale Ausrichtung */
    gap: 8px; /* Abstand zwischen Checkbox und Text */
    font-size: 14px;
    color: var(--contrast-color);
    max-width: 90%;
}

.checkbox-input {
    width: 16px;
    height: 16px;
    accent-color: #ff5e57;
    cursor: pointer;
    flex-shrink: 0;
    margin: 0;
}

label {
    display: flex; /* Hält den Text in einer Zeile */
    align-items: center; /* Stellt sicher, dass der Text sich nicht nach unten verschiebt */
    cursor: default; /* Text ist nicht klickbar */
    max-width: 100%;
}

.checkbox-text {
    font-size: 16px;
    line-height: 1.4;
    color: var(--contrast-color);
    white-space: normal; /* Erlaubt natürlichen Umbruch, aber nur wenn nötig */
    flex-grow: 1; /* Nutzt verfügbaren Platz ohne zu früh umzubrechen */
}

.checkbox-text a {
    color: #ff5e57;
    text-decoration: none;
    font-weight: 600;
}

.checkbox-text a:hover {
    text-decoration: underline;
}







/* Tooltip beim abschicken des Kontaktformulars */
.tooltip {
    position: fixed;
    top: 30%;
    left: 50%;
	min-width: 280px;
    width: auto;
    transform: translate(-50%, -50%);
    background-color: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 12px 18px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 500;
    opacity: 1;
    transition: opacity 0.5s ease-in-out, transform 0.3s ease-in-out;
    z-index: 1000;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3);
    pointer-events: none;
    text-align: center;
}

.tooltip.success {
    background-color: #4CAF50;
}

.tooltip.error {
    background-color: #FF5733;
}

.tooltip.show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.tooltip.hide {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.9);
}

/* Optional: Add fade-out effect when tooltip is hidden */
.tooltip.fade-out {
    animation: fadeOutAnimation 0.5s forwards;
}

@keyframes fadeOutAnimation {
    to {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.8);
    }
}


/* Fußzeile */
.footer {
    text-align: center;
    width: 100%;
    background-color: white; /* Weißer Hintergrund */
    color: black; /* Dunkle Schrift */
    padding: 15px 0;
    font-size: 0.85rem;
    position: relative;
    border-top: 1px solid #ddd; /* Dezente Trennlinie nach oben */
}

.footer {
    margin-top: -1px; /* Falls eine unsichtbare Linie da ist */
    border-top: none; /* Falls ein Border oben gesetzt wurde */
}

.footer-content {
    display: flex;
    justify-content: center;
    gap: 20px; /* Abstand zwischen den Links */
    margin-bottom: 5px;
}

.footer a {
    color: black; /* Dunkle Linkfarbe */
    text-decoration: none;
    font-size: 0.85rem;
    font-family: Arial, sans-serif;
    transition: color 0.3s ease-in-out;
}

.footer a:hover {
    color: #b30000; /* Dezente Rotfärbung beim Hover */
}

.copyright {
    font-size: 0.75rem;
    color: #666; /* Leicht abgedunkelte Farbe für dezente Wirkung */
}



