/* Globale Stile (body und html) */
body,
html {
    margin: 0;
    padding: 0;
    height: 100%;
}

.background-dark {
    background-color: #000!important;
}

section {
    display: grid;
    place-items: center;
    align-content: center;
}

.hidden {
    opacity: 0;
    filter: blur(5px);
    transform: translateX(-100%);
    transition: all 1s;
}

.hidden_x {
    opacity: 0;
    filter: blur(5px);
    transform: translateY(-100%);
    transition: all 1s;
    transform: trans;
}

.show {
    opacity: 1;
    filter: blur(0);
    transform: translateX(0);
}

.show_x {
    opacity: 1;
    filter: blur(0);
    transform: translateX(0);
}

/* Custom styles */
.custom-border {
    padding: 10px;
    display: inline-block;
    text-align: center;
    transition: all 0.3s ease; /* Smooth transition for the border */
}

/* Additional style for the changing text */
#changing-text {
    color: #fff;
    white-space: nowrap;
    font-size: 1.5rem; /* Starting font size */
}

/* Stil für die Container der Bilder */
.logox {
    transition: transform 0.3s ease-in-out;
}


@media (max-width: 767px) {
    .row.justify-content-center0 {
        justify-content: center;
    }
}


.logox:hover {
    transform: scale(1.1);
}

.logox:not(:hover) {
    transition: transform 0.3s ease-in-out;
    transform: scale(1);
}

.logos {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Stil für die einzelnen Logos */
.logos .logo {
    width: 50%;
    text-align: center;
}

/* Stil für die Bilder innerhalb der Logos */
.logos .logo img {
    max-width: 100%;
    height: auto;
}

.logo:nth-child(2) {
    transition-delay: 200ms;
}

.logo:nth-child(3) {
    transition-delay: 400ms;
}

.logo:nth-child(4) {
    transition-delay: 600ms;
}

/* Header */
header {
    margin: 0% 0 0% 0;
    color: black;
}

.logo {
    width: 225px;
    /* Oder die gewünschte Größe */
}

.logo.animated.pulse {
    animation-name: custom-pulse;
}

/* Definiere die benutzerdefinierte Animation */
@keyframes custom-pulse {

    0%,
    100% {
        transform: scale(1);
        /* Start- und Endzustand: keine Veränderung */
    }

    50% {
        transform: scale(1.1);
        /* Mittelpunkt der Animation: leicht vergrößern */
    }
}

/* Füge eine passive Animation für das Logo hinzu, wenn es gehovered wird */
.logo {
    transition: transform 0.3s ease-in-out;
}


/* Navigation */

nav {
    text-align: center;
    padding-top: 20px;
}

nav ul {
    list-style-type: none;
    padding: 0;
    gap: 1.5rem;
}

nav li {
    display: inline;
    margin: 0 10px;
    transition: .5s;
    /* Hinzugefügt: Übergangseffekt*/
}

ul:hover li {
    filter: blur(5px);
}

ul li:hover {
    filter: blur(0px)
}

nav a {
    text-decoration: none;
    font-size: 1.25em;
    /*color: #666df5;*/
    color: #1BACAF;
    /* Hinzugefügt: Farbe der Navigationslinks */
    transition: color 0.3s ease;
    /* Hinzugefügt: Übergangseffekt für die Farbänderung */
}

nav a:hover {
    color: #fff;
    /* Hinzugefügt: Änderung der Linkfarbe bei Hover */
}

.nav-link:hover {
    font-weight: bold;
    transition: 0.25s;
    transform: scale(1.1);
}

/* fliegender Text */

.gradient-background {
    background: linear-gradient(to right, #FF6B6B, #355C7D);
    color: white;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

/* Video-Hintergrund */
#backgroundstart {
    background: linear-gradient(to bottom, #343a40, #858bfd);
}

#video-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
}

#video-background video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Bild-Hintergrund */
#bild-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
}

#bild-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Startbereich */
.start {
    text-align: center;
    padding: 50px;
    color: #fff;
}

.img-hover-zoom img {
    transition: transform 0.3s;
}

.img-hover-zoom:hover img {
    transform: scale(1.1);
}

.slide-container {
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
}

.container-slide {
    margin: 0;
    max-width: 100%;
}

.slide {
    display: inline-block;
    font-size: 2em;
    margin-right: 1em;
    animation: slideAnimation1 120s linear infinite;
    animation-delay: -60s;
}

@keyframes slideAnimation1 {
    0% {
        transform: translateX(100%);
    }

    100% {
        transform: translateX(-100%);
    }
}

/* Hauptinhalt */
main {
    text-align: center;
    margin: 0;
}

/* Textabschnitte */
.container.text-center.my-5 {
    padding: 50px;
    background-color: #f1f1f1;
}

.container.text-center.my-5 h2 {
    font-size: 2rem;
}

/* Dienstleistungen*/
.service-card {
    position: relative;
    overflow: hidden;
}

.service-card img {
    width: 100%;
    height: auto;
    transition: transform 0.3s ease;
}

.service-card:hover img {
    transform: scale(1.1);
}

.left-content,
.right-content {
    padding: 20px;
    width: 50%;
    box-sizing: border-box;
}

.left-content {
    background-color: #f4f4f4;
}

.right-content {
    background-color: #ffffff;
    opacity: 0.8;
}

/* Über uns */



/* Kundenkarten */
.customer-card {
    position: relative;
    overflow: hidden;
}

.customer-card img {
    width: 100%;
    height: auto;
    transition: transform 0.3s ease;
}

.customer-card:hover img {
    transform: scale(1.1);
}

/* Fußzeile */
footer {
    background-color: #2f2c2c;
    color: white;
}

.footer-logo {
    max-width: 100px;
}

.footer-logo img {
    width: 100%;
}

.qr-code {
    max-width: 100px;
}

.qr-code img {
    width: 100%;
}

footer h3 {
    margin-top: 10px;
    font-size: 1.2rem;
    font-weight: bold;
}

footer p {
    margin-bottom: 5px;
}

footer a {
    color: #fff;
    text-decoration: none;
}

.footer-container {
    display: flex;
    justify-content: space-between;
}


.container {
    padding-left: 0;
    padding-right: 0;
}

/* Textabschnitte mit Animationen */
.container.text-center.my-5 {
    padding: 50px;
    background-color: #f1f1f1;
    opacity: 0;
    /* Setze die Opazität auf 0, um die Animation zu beginnen */
    transform: translateY(20px);
    /* Verschiebe den Text um 20px nach unten, um die Animation zu beginnen */
    transition: opacity 2.5s ease, transform 2.5s ease;
    /* Füge einen Übergangseffekt hinzu */
}

.container.text-center.my-5 h2 {
    font-size: 2rem;
    transition: color 0.5s ease;
    /* Füge einen Übergangseffekt für die Textfarbe hinzu */
}

/* Füge animierte Klassen hinzu, um die Animation zu starten */
.container.text-center.my-5.animated {
    opacity: 1;
    transform: translateY(0);
}

.container.text-center.my-5.animated h2 {
    color: #666df5;
}

.animate__fadeInDown {
    --animate-duration: 3s;
    /* Dauer der Animation in Sekunden */
}

/* border startseite bilder */
.border-image {
    border: 20px solid transparent;
}

/* slideshow */
.slideshow .item img {
    width: 100%;
    /* 100% der Viewport-Breite */
    height: 300px;
}