/* Basis Styles */
body {
    background-color: #1A2530;
    color: #ecf0f1; /* Helle Textfarbe */
    font-family: 'Arial', sans-serif; /* Moderne Schriftart */
    margin: 0; /* Entfernt Standardabstände */
    padding: 0; /* Entfernt Standardabstände */
}

h1, h2, h3, h4, h5, h6, strong {
    color: #fafafa; /* Helle Farbe für Überschriften */
    font-family: 'Roboto', sans-serif; /* Elegantere Schriftart für Überschriften */
}

small {
    color: #bdc3c7; /* Hellgraue Farbe für kleine Texte */
}

img {
    display: block;
    margin: 20px auto; /* Genügend Abstand oben und unten */
    border: 0;
    height: auto;
    width: auto;
}

/* Container Styles */
.container {
    max-width: 1200px; /* Maximale Breite */
    margin: 20px auto; /* Zentrieren */
    text-align: center; /* Zentriert den Text */
    padding: 20px; /* Innenabstand */
    background-color: #2c3e50; /* Dunkelblau-grau */
    color: #ecf0f1; /* Helle Textfarbe */
    border-radius: 10px; /* Abgerundete Ecken */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5); /* Shadow für modernes Aussehen */
}
.container.container-center {
    max-width: 1200px; /* Maximale Breite */
    margin: 20px auto; /* Zentrieren */
    text-align: center; /* Zentriert den Text */
    padding: 20px; /* Innenabstand */
    background-color: #2c3e50; /* Dunkelblau-grau, um Kontrast zu erzeugen */
    color: #ecf0f1; /* Helle Textfarbe für gute Lesbarkeit */
    border-radius: 10px; /* Abgerundete Ecken */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5); /* Shadow für modernes Aussehen */
}

/* Thumbnail Styles */
.thumbnail {
    width: 250px; /* Breite der Thumbnails */
    height: 250px; /* Höhe der Thumbnails */
    overflow: hidden; /* Überlaufenden Inhalt verstecken */
    position: relative; /* Positionierung für das Bild */
    display: inline-block; /* Damit die Thumbnails nebeneinander angezeigt werden */
    margin: 5px; /* Abstand zwischen den Thumbnails */
}

.thumbnail img {
    width: 100%; /* Bild auf die Breite des Containers skalieren */
    height: 100%; /* Bild auf die Höhe des Containers skalieren */
    object-fit: cover; /* Bild proportional zuschneiden, um den Container auszufüllen */
    position: absolute; /* Bild absolut innerhalb des Containers */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* Zentriert das Bild */
}

/* Header Styles */
.header {
    padding: 20px; /* Innenabstand */
}

.logo {
    display: inline-block; 
    margin-bottom: 10px; /* Abstand unten */
}

.title {
    font-size: 2em; /* Titel Schriftgröße */
    margin: 15px 0; /* Vertikaler Abstand */
}

.subtitle {
    font-size: 1.1em; /* Untertitel Schriftgröße */
    margin: 15px 0; 
    color: #bdc3c7; /* Hellgrau für Untertitel */
}

.price-guarantee {
    font-size: 1.2em; 
    color: #d1cfcf; /* Sanftes Grau für Preisgarantie */
    margin: 10px 0; /* Abstand */
}

.services {
    font-size: 1.1em; 
    margin-top: 15px; 
    line-height: 1.8; /* Erhöhte Zeilenhöhe für bessere Lesbarkeit */
    color: #bdc3c7; /* Hellgrau */
}

.tc-note-style1 {
    text-align: left; 
    margin: 20px auto; 
    padding: 15px; 
    background-color: #34495e; /* Dunkler Grauton für besseren Kontrast */
    border-radius: 10px; 
    border: 1px solid #4b6584; /* Dunkelgraue Farbe */
    max-width: 1200px; 
    width: 100%; 
    color: #ecf0f1; /* Helle Textfarbe */
}

.tc-note-style1 strong {
    color: #fae3e0; /* Eine vergleichbare, hellere Farbe für den starken Text */
    font-size: 1.2em; 
}

.tc-note-style1 a {
    margin: 0 10px; 
    color: #81cfe0; /* Helle Blau-Töne für Links, die voneinander abgehoben sind */
    text-decoration: none; 
    transition: color 0.3s; 
}

.tc-note-style1 a:hover {
    color: #d1cfcf; /* Farbveränderung beim Hover für Links */
}

.tc-note-style1 h4 {
    color: #e67e22; /* Orange für die Telefonnummer, um sie hervorzuheben */
    font-weight: bold; 
    margin: 10px 0; 
}

/* tc-box-style1 */
.tc-box-style1 {
    padding: 25px; 
    background-color: #34495e; /* Dunkelblau-grau */
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2); 
    margin-bottom: 25px; 
    border-radius: 8px; 
}

.tc-box-style1 .box-title {
    font-size: 18px; 
    line-height: normal; 
    color: #ecf0f1; 
    border-bottom: 1px solid #4b6584; 
    padding-bottom: 8px; 
    margin: 0 0 15px; 
}

.tc-box-style1 .box-content {
    font-size: 14px; 
    color: #bdc3c7; /* Hellgrau */
}

/* tc-member-style6 */
.tc-member-style6 {
    position: relative;
    border: 1px solid rgba(0, 0, 0, 0.03); 
    background: #fff; /* Hintergrundfarbe für die Mitgliederkarte */
    padding: 15px; 
    border-radius: 8px; 
    overflow: hidden; 
    transition: box-shadow 0.3s; 
}

.tc-member-style6 .member-photo {
    overflow: hidden; 
    position: relative; 
    border-radius: 8px; 
}

.tc-member-style6 .member-photo img {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); 
    width: 100%; /* Bildgröße auf 100% setzen */
}

.tc-member-style6 .member-info {
    padding-top: 15px; 
    background: #fff; 
}

.tc-member-style6 .member-name {
    font-size: 16px; 
    margin: 0; 
    color: #2c3e50; /* Dunkel für den Namen */
}

.tc-member-style6 span.member-role {
    font-size: 12px; 
    display: block; 
    color: #bdc3c7; /* Hellgrau für die Rolle */
}

.tc-member-style6:hover .member-photo img {
    transform: scale(1.1); 
}

/* Member Alignment */
.tc-member-style6.member-align-center {
    text-align: center; 
}

/* Media Styles */
@media (max-width: 991px) {
    .row div[class*="col-"] {
        margin-bottom: 35px; 
    }

    .row div[class*="col-"]:last-child {
        margin-bottom: 0; 
    }
}

/* Lightbox Styles */
.lb-loader, .lightbox {
    text-align: center;
    line-height: 0;
    position: absolute;
    left: 0;
}

body.lb-disable-scrolling {
    overflow: hidden;
}

.lightboxOverlay {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9999;
    background-color: rgba(0, 0, 0, 0.8); /* Dunkler Overlay mit 80% Opazität */
    display: none;
}

.lightbox {
    width: 100%;
    z-index: 10000;
    font-weight: 400;
    outline: 0;
}

.lightbox .lb-image {
    display: block;
    height: auto;
    max-width: inherit;
    max-height: none;
    border-radius: 3px;
    border: 4px solid #ecf0f1; /* Helle Farbe für den Rahmen */
}

.lightbox a img {
    border: none;
}

.lb-outerContainer {
    position: relative;
    width: 250px;
    height: 250px;
    margin: 0 auto;
    border-radius: 4px;
    background-color: #fff; /* Weißer Hintergrund */
}

.lb-outerContainer:after {
    content: "";
    display: table;
    clear: both;
}

.lb-loader {
    top: 43%;
    height: 25%;
    width: 100%;
}

.lb-cancel {
    display: block;
    width: 32px;
    height: 32px;
    margin: 0 auto;
    background: url(../images/loading.gif) no-repeat;
}

.lb-nav {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 10;
}

.lb-container > .nav {
    left: 0;
}

.lb-nav a {
    outline: 0;
    background-image: url(data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==);
}

.lb-next, .lb-prev {
    height: 100%;
    cursor: pointer;
    display: block;
}

.lb-nav a.lb-prev {
    width: 34%;
    left: 0;
    float: left;
    background: url(../images/prev.png) left 48% no-repeat;
    opacity: 0;
    transition: opacity .6s;
}

.lb-nav a.lb-prev:hover {
    opacity: 1;
}

.lb-nav a.lb-next {
    width: 64%;
    right: 0;
    float: right;
    background: url(../images/next.png) right 48% no-repeat;
    opacity: 0;
    transition: opacity .6s;
}

.lb-nav a.lb-next:hover {
    opacity: 1;
}

.lb-dataContainer {
    margin: 0 auto;
    padding-top: 5px;
    width: 100%;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.lb-dataContainer:after {
    content: "";
    display: table;
    clear: both;
}

.lb-data {
    padding: 0 4px;
    color: #bdc3c7; /* Hellgrau für Text */
}

.lb-data .lb-details {
    width: 85%;
    float: left;
    text-align: left;
    line-height: 1.1em;
}

.lb-data .lb-caption {
    font-size: 13px;
    font-weight: 700;
    line-height: 1em;
    color: #e67e22; /* Orange für die Caption */
}

.lb-data .lb-caption a {
    color: #4ae; /* Eingegebene Links */
}

.lb-data .lb-number {
    display: block;
    clear: left;
    padding-bottom: 1em;
    font-size: 12px;
    color: #999;
}

.lb-data .lb-close {
    display: block;
    float: right;
    width: 30px;
    height: 30px;
    background: url(../images/close.png) top right no-repeat;
    text-align: right;
    outline: 0;
    opacity: .7;
    transition: opacity .2s;
}

.lb-data .lb-close:hover {
    cursor: pointer;
    opacity: 1;
}

.info-table {
    width: 100%;
    border-collapse: collapse; /* Verhindert doppelte Ränder */
    margin: 20px 0; /* Abstand zu anderen Elementen */
}

.red-background {
    background-color: #FF0000;
    padding: 10px; /* Vereinheitlichter Innenabstand */
}

.message-cell {
    background-color: #ffcccb;
    padding: 15px;    /* Einheitliche Innenabstände */
    color: #212121;    /* Textfarbe */
    word-wrap: break-word;
    font-family: Arial, sans-serif;
}

.message-title {
    font-size: 14pt;  /* Größere Schrift für den Titel */
    color: red;
}

.warning {
    font-weight: bold;
    text-decoration: underline;
}