/* CSS WOHNFLÄCHENVERMESSUNG.DE */
/* Allgemeine Stile */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, sans-serif;
    background-color: #FFFFFF; /* Wei&szlig; */
    color: #333333;  /* Anthrazit */
    line-height: 1.6;
    margin: 0;
    padding: 0;
  }

/* ÜBERSCHRIFTEN */
h1, h2 {
    white-space: nowrap; /* Verhindert Zeilenumbrüche innerhalb der Überschrift */
    margin: 0; /* Entfernt Standardabstände */
    padding: 0; /* Entfernt Standardabstände */
    text-align: center; /* Zentriert die Überschrift */
  }

  h1 {
    color: #FAFAFA;  /* Koralle */
    font-size: 2.0rem;
    font-style: italic; /* Macht den Text kursiv */
    text-transform: uppercase;
    transform: scaleX(1.2); /* Skaliert die Schrift horizontal */
}

h2 {
    color: #FAFAFA;
    font-size: 1.0rem;
    text-transform: uppercase;
}

h3 {
    
    color: #02256b;
    font-size: 1.3rem;
    margin-top: 15px; /* Abstand nach der h3-Überschrift */
    margin-bottom: 5px; /* Abstand nach der h3-Überschrift */
    text-transform: uppercase;
}
h4 {
    color: #02256b;
    font-size: 1.1rem;
    margin-top: 25px; /* Abstand nach der h4-Überschrift */
    margin-bottom: 5px; /* Abstand nach der h4-Überschrift */
    text-transform: uppercase;
}

h5 {
    font-size: 1.0rem;
    color: #333;
    margin: 0 auto;
    padding: 0;
    text-align: left;
    margin-top: 10px; /* Abstand nach der h5-Überschrift */
    margin-bottom: 0px; /* Abstand nach der h5-Überschrift */
    text-transform: uppercase; /* ALLES IN GROßBUCHSTABEN */
  }

/* Header */
header {
    /*background: linear-gradient(0deg, #1C1C1C, #6E6E6E);  /* von Schwarz nach Kobaltblau */ 
    color: white;
    position: fixed;
    width: 100%; 
    height: 8.0rem; /* Höhe des Headers in rem */
    font-family: Arial, sans-serif;
    background-color: #F16334; /* Dunkelgrau */
    padding: 20px 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-start; /* Vertikale Ausrichtung der Elemente nach oben */
}
.header-left {
    font-size: 14px;
    flex: 1;
    text-align: left;
    padding-left: 0.9rem; /* Abstand vom linken Seitenrand */
}

.header-left a {
    text-decoration: none;
    color: #FAFAFA;
}

.header-left a:hover {
    color: #1E3A8A;
    text-decoration: none; /* Keine Unterstreichung beim Hover */
}

.header-center {
    flex: 2;
    text-align: center;
}

/* Header - rechte Spalte CTA-Button */
.header-right {
    flex: 1;
    text-align: right;
    padding-right: 1.0em; /* Abstand vom rechten Seitenrand */
}

/* CTA-BUTTON STYLE */
.cta-button {
    display: inline-block;
    background-color: #1E3A8A;
    color: #FAFAFA;
    font-weight: bold;
    padding: 2px 4px;
    font-size: 0.8rem;
    text-transform: uppercase;
    font-weight: bold;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.2s ease;
   }

.cta-button:hover {
    background-color: #5e6781; /* Etwas dunkleres Gelb bei Hover */
}


/* NAVIGATION */
nav {
    background-color: #1E3A8A;
    position: fixed;
    width: 100%;
    text-align: center;
    top: 8.0rem;
    z-index: 999; 
}

nav ul {
    list-style-type: none;
     margin: 0;
}

nav li {
    display: inline-block;
    margin: 0 0px; /* Etwas weniger Abstand zwischen den Buttons */
}

nav a {
    display: block;
    background-color: #1E3A8A;
    color: #FAFAFA;
    text-decoration: none;
    padding: 6px 8px;
    font-weight: bold;
    text-transform: uppercase;
    transition: background-color 0.3s ease;
    font-size: 0.85rem; /* Kleinere Schriftgröße für mobile Geräte */
    line-height: 1.2;
}

nav a.active {
    background-color: #ffcc00;
    color: #949292
}

nav a:hover {
    background-color: #FAFAFA;
    color: #333;
    transition: background-color 0.3s ease;
}


/* Main Content */
main {
    background-color: white;
    padding-top: 11rem;
}

/* EXTERNE LINKS FORMATIERUNG */
.external-link {
    color: #0047AB; /* Hover-Farbe ändern */
    text-decoration: none; /* Entfernt die Unterstreichung */
    font-size: 15px; /* Schriftgröße */
    font-weight: norma; /* Normale Schriftstärke */
    transition: all 0.3s ease; /* Sanfter Übergang für alle Änderungen */
  }
  
.external-link:hover {
    color: #FF6F61; /* Farbe des Links */
    text-decoration: underline; /* Unterstreichung beim Hover */
  } 

/* SERVICE IMAGES*/
.service-images {
    display: flex;
    justify-content: space-around;
    margin-top: 20px;
}

.service-images img {
    width: 15%;
    height: auto;
    border-radius: 0px;
    transition: transform 0.3s ease-in-out; /* Sanfte Transition für die Transformation */

}
.service-images img:hover {
    transform: scale(2.0); /* Vergrößert das Bild um X % */
    }

.gallery {
    display: flex;
    justify-content: space-around;
    margin-top: 20px;
}

.gallery img {
    width: 20%;
    height: auto;
    border-radius: 0px;
}

/*  KONTAKTFORMULAR  */
.contact-form {
    
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
    align-items: flex-start;
    width: 40%;
}

.contact-form input,
.contact-form textarea {
    padding: 5px; /* Innenabstand, beeinflusst die Höhe */
    margin-bottom: 0px;  /* Abstand unter jedem Eingabefeld */
    font-size: 12px;
    border-radius: 1px;
    border: 0.5px solid #ccc; /* Border-Farbe angepasst */
    width: 100%;
    background-color: #f9f9f9; /* Hintergrundfarbe für Eingabefelder */
    color: #333; /* Textfarbe */
    box-sizing: border-box; /* Damit Padding die Gesamtgröße nicht beeinflusst */
}

/* Spezifische Höhe für das Nachrichten Eingabefeld */
.contact-form textarea {
  height: 100px; /* Höhe für das Textarea-Feld */
}

.contact-form input:focus,
.contact-form textarea:focus {
    border-color: #003366; /* Fokus-Farbe für Eingabefelder */
    outline: none;
}

/* Fokussiert */
.contact-form input:focus,
.contact-form textarea:focus {
    border-color: #003366;
    outline: none;
}

/* BUTTON STYLING */
.contact-form button {
    padding: 10px;
    margin-top: 10px;
    background-color: #003366;
    color: white;
    font-weight: bold;
    border: none;
    border-radius: 1px;
    cursor: pointer;
    width: 60%;
}

.contact-form button:hover {
    background-color: #FF6F61; /* Koralle beim Hover */
}

/* Beschreibung (Intro-Texte) */
.description {
    background-color: transparent;
    padding: 1.25rem;
    color: #333333;
    font-size: 16px;
    line-height: 1.3;
    margin-top: 10px;
    box-shadow: none;
}

/* Benachrichtigungs-Styling */
.notification {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    padding: 15px 30px;
    background-color: #4caf50; /* Erfolg (grün) */
    color: white;
    border-radius: 5px;
    font-size: 16px;
    text-align: center;
    z-index: 9999;
    display: none;
    opacity: 0;
    transition: opacity 0.5s ease;
}

/* Fehlerbenachrichtigungen */
.notification.error {
    background-color: #f44336; /* Fehler (rot) */
}

/* Benachrichtigung sichtbar machen */
.notification.show {
    display: block;
    opacity: 1;
}

.content-title {
    font-size: 1.4rem; /* Kleinere Schriftgröße für die h2 im Content-Bereich */
    text-align: left;
    margin-bottom: 20px; /* Abstand zum nächsten Element */
    font-weight: bold; /* Optional: Weniger auffällig */
    color: #181961;
    overflow: hidden;         /* Verhindert, dass der Text überläuft */
    white-space: nowrap;      /* Verhindert den Zeilenumbruch */
    padding-left: 0px;       /* Falls nötig, um den Text etwas vom Rand abzurücken */
    padding-right: 0px;      /* Falls nötig, um den Text etwas vom Rand abzurücken */
    overflow-wrap: break-word; /* Alternativ kann auch diese Eigenschaft verwendet werden */
    white-space: normal; /* Zeilenumbruch zulassen */
    
  }

  .container {      /* 80% BLOCK FÜR DIE INHALTE */
    width: 80%;               /* 80% der Bildschirmbreite */
    max-width: 1200px;        /* Maximale Breite, um zu verhindern, dass es zu breit wird */
    margin: 0 auto;           /* Zentriert den Container */
    padding: 20px;            /* Innenabstand für ein bisschen Abstand zum Rand */
}

/* FOOTER */
footer {
    background-color: black;
    color: #A4A4A4;
    font-size: 0.8rem; /* Kleinere Schriftgröße für mobile Geräte */
    display: flex;
    position: fixed; /* Fixiert den Footer am unteren Rand */
    justify-content: space-between;
    padding: 2px 20px; /* Reduziertes vertikales Padding für eine geringere Höhe */
    text-align: center;
    padding: 2px 0;
    bottom: 0; /* Setzt den Footer ganz nach unten */
    width: 100%; /* Stellt sicher, dass der Footer die gesamte Breite einnimmt */
    z-index: 1000; /* Stellt sicher, dass der Footer immer oben ist */
}

footer .footer-left {
    flex: 1;
    text-align: left;
}

footer .footer-right {
    flex: 1;
    text-align: right;
    font-size: 0.8rem;
}

footer a {
    color: #A4A4A4;
    text-decoration: none;
    text-transform: uppercase;
    margin: 0 5px;
}
footer a:hover {
    color: #FF6F61; /* Gelbe Hervorhebung beim Hover */
}
footer a.active {
    color: #FFFFFF; /* hebt den aktuellen Link hervor*/
}


/* COOKIE BANNER     COOKIE BANNER */
#cookie-banner {
    position: fixed;
    bottom: 0;
    background: #424242;
    color: #fff;
    padding: 5px;
    width: 100%;
    text-align: center;
    z-index: 9999;
    font-size: 13px;  /* Etwas kleinere Schrift */
    border-top: 2px solid #444;  /* Dünne Trennlinie oben */
  }
  /* Stil für die Buttons */
  #accept-cookies, #decline-cookies {
    padding: 2px 8px;  /* Kleinere Buttons für weniger Höhe */
    border: none;
    border-radius: 1px;  /* Leicht abgerundete Ecken */
    cursor: pointer;
    font-size: 13px;
    transition: background-color 0.3s, transform 0.2s;
  }
   /* Akzeptieren-Button */
   #accept-cookies {
    background: #1c641f;  /* Grüner Hintergrund */
    color: white;
  }
  
  #accept-cookies:hover {
    background: #3a9e3f;  /* Etwas dunklerer Grünton beim Hover */
    transform: scale(1.05);  /* Etwas größer beim Hover */
  }
  
  #accept-cookies:active {
    transform: scale(1);  /* Zurück zur normalen Größe beim Klicken */
  }
  
  /* Ablehnen-Button */
  #decline-cookies {
    background: #a1170d;  /* Roter Hintergrund */
    color: white;
  }
  
  #decline-cookies:hover {
    background: #d1302d;  /* Etwas dunklerer Rotschattenton */
    transform: scale(1.05);
  }
  
  #decline-cookies:active {
    transform: scale(1);
  }
  
  /* Abstand zwischen den Buttons */
  #accept-cookies {
    margin-right: 10px;
  }
  
/*    MEDIA QUERIES    MEDIA QUERIES     MEDIA QUERIES     */

/* SMARTPHONEs     SMARTPHONES     SMARTPHONES */
/* Für Smartphones im Hochformat (max. 480px Breite) */
@media (max-width: 480px) {
        
    h1 {
        font-size: 0.7rem;
    }
    h2 {
        font-size: 0.7rem;
    }
    h3 {
        font-size: 0.9rem;
    }
    h4 {
        font-size: 0.8rem;
    }
    h5 {
        font-size: 0.8rem;
    }
    h6 {
        font-size: 0.6rem;
    }

    .content-title {
        font-size: 0.9rem; /* Kleinere Schriftgröße für die h2 im Content-Bereich */
    }
    nav a {
        padding: 0px 3px; /* Noch flachere Buttons */
        font-size: 0.7rem; /* Kleinere Schriftgröße */
    }
    .header-left {
        flex: 1;
        text-align: left;
        font-size: 0.7rem;
        padding: 0px 0;
    }
    .description {
        background-color: transparent;
        padding: 0.0rem;
        color: #333333;
        font-size: 14px;
        line-height: 1.3;
        margin-top: 0px;
        box-shadow: none;
    }
    main {
        background-color: white;
        padding: 1.2rem;
    }
}

@media (max-width: 768px) { /* FÜR SMARTPHONES Die Media Query @media (max-width: 768px) betrifft in der Regel sowohl Hoch- als auch Querformat von Smartphones,*/
    h1 {
        font-size: 0.95rem;
    }
    h2 {
        font-size: 0.5rem;
    }
    h3 {
        font-size: 0.8rem;
    }
    h4 {
        font-size: 0.7rem;
    }
    h5 {
        font-size: 0.7rem;
    }
    h5 {
        font-size: 0.6rem;
    }
    h6 {
        font-size: 0.6rem;
    }
    .content-title {
        font-size: 0.9rem; /* Kleinere Schriftgröße für die h2 im Content-Bereich */
    }
    header {
        height: 6.5rem; /* Höhe des Headers in rem */
        flex-direction: column; /* Stapelt die Inhalte vertikal */
        align-items: center; /* Zentriert den Inhalt */
        text-align: center; 
        padding: 10px 0; /* Weniger Padding für kleinere Bildschirme */
    }

    .header-center,
    .header-left,
    .header-right {
        width: 100%; /* Volle Breite */
        padding: 3px 0; /* Vertikaler Abstand zwischen den Bereichen */
        text-align: center; /* Zentriert den Text */
    }
    .header-container { 
        display: flex;
        flex-direction: column; /* Stapelt die Elemente untereinander */
        align-items: center; /* Zentriert die Elemente */
        text-align: center;
    }
    .header-left {
        font-size: 0.55rem;
        order: 2; /* vertikal Mitte */
        display: flex;        /* Flexbox aktivieren */
        flex-wrap: wrap;      /* Zeilenumbruch erlauben, falls nötig */
        gap: 5px;            /* Abstand zwischen den Elementen */
        justify-content: center; /* Zentriert den Inhalt */
        align-items: center;  /* Vertikale Ausrichtung */
    }
    .header-left br {
        display: none;        /* <br> ausblenden */
    }
    .header-center {
        order: 1; /* Ganz oben */
    }
    .header-right {
        order: 3; /* Ganz unten */
        width: 100%; /* Volle Breite für bessere Darstellung */
        display: flex;
        justify-content: center; /* Zentriert den CTA-Button */
    }
    .header-right .cta-button {
        display: none;
    }  
    
    nav {
        height: 6.5rem; /* Reduzierte Höhe der gesamten Nav-Leiste */
        top: 6.5rem;
      }
    nav a {
        display: block;
        padding: 1px 5px;
        font-size: 0.6rem;
        
    }
    nav li {
        display: inline-block;
    }
    .external-link {
        font-size: 10px; /* Schriftgröße */
        margin-left: 0px;            /* 20px Abstand nach rechts */
        transition: all 0.1s ease; /* Sanfter Übergang für alle Änderungen */
      }
    .internal-link {
        font-size: 12px; /* Schriftgröße */
        margin-left: 0px;            /* 20px Abstand nach rechts */
        transition: all 0.2s ease-in-out; /* Sanfter Übergang für alle Änderungen */
    }
    .container {      /* 80% BLOCK FÜR DIE INHALTE */
        width: 95%;               /* 80% der Bildschirmbreite */
        margin: 0 auto;           /* Zentriert den Container */
        padding: 5px;            /* Innenabstand für ein bisschen Abstand zum Rand */
    }

    main {
        padding-top: 13rem;
    }

    .footer-container {  
        transform: scale(0.5); /* Verkleinert den Footer auf 50% */
        transform-origin: bottom center; /* Skalierung vom unteren Mittelpunkt */
    }
    footer {
        font-size: 0.6rem;
    }
    footer .footer-right {
       font-size: 0.6rem;
    }
    footer .footer-right {
        flex: 1;
        text-align: left;
    }
    #accept-cookies, #decline-cookies {
        padding: 1px 8px;  /* Kleinere Buttons für weniger Höhe */
        font-size: 10px;
    }
    #cookie-banner {
        padding: 5px;
        width: 100%;
        font-size: 10px;  /* Etwas kleinere Schrift */
        border-top: 2px solid #444;  /* Dünne Trennlinie oben */
        position: fixed;
        bottom: 0;
        left: 0;
        display: block;
        flex-direction: column; /* Stellt sicher, dass Text und Buttons untereinander angeordnet sind */
        justify-content: center; /* Vertikale Zentrierung */
    }
    #cookie-buttons {
        display: flex;
        justify-content: center; /* Zentriert die Buttons */
        gap: 10px; /* Abstand zwischen den Buttons */
    }
}


/* IPADs UND IPHOHES im Querformat (max. 1024px Breite) */
@media (max-width: 1180px) and (orientation: landscape) {
    
    h1 {
        font-size: 1.6rem;
    }
    h2 {
        font-size: 0.8rem;
    }
    h3 {
        font-size: 0.9rem;
    }
    h4 {
        font-size: 0.8rem;
    }
    h5 {
        font-size: 0.8rem;
    }
    h5 {
        font-size: 0.6rem;
    }
    h6 {
        font-size: 0.6rem;
    }
    .content-title {
        font-size: 1.2rem; /* Kleinere Schriftgröße für die h2 im Content-Bereich */
    }
    .header-left {
        flex: 1 1 22.5%; /* Header-left nimmt mehr Platz ein (40% der Breite) */
        font-size: 14px;
        text-align: left;
        flex-wrap: nowrap;           /* Verhindert Umbruch der Inhalte */
        padding-left: 15px; /* Abstand vom linken Seitenrand */
        width: auto;  /* Keine feste Breite, automatisch anpassen */
      }
    .header-center {
        flex: 1 1 55%; /* Header-center wird schmaler (30% der Breite) */ 
        transform: scale(1.0);
        transform-origin: top center;
      }
      .header-right {
        flex: 1 1 22.5%; /* header-right bleibt gleich (30% der Breite) */
      }

    nav a {
        padding: 2px 5px;
        font-size: 0.8rem;
        display: inline-block;
       
    }

    nav li {
        display: inline-block;
    }
}

 /* IPADs im Hochformat */
@media (min-width: 600px) and (max-width: 900px) {
    h1 {
        font-size: 1.6rem;
    }
    h2 {
    font-size: 0.8rem;
    }
    h3 {
    font-size: 1.0rem;
    }
    h4 {
    font-size: 1.0rem;
    }
    h5 {
    font-size: 1.0rem;
    }
    h6 {
    font-size: 0.6rem;
    }
        .content-title {
    font-size: 1.2rem; /* Kleinere Schriftgröße für die h2 im Content-Bereich */
    }

    .header-center,
    .header-left,
    .header-right {
      transform: scale(0.85); /* Verkleinert den gesamten Bereich auf 50% */
      transform-origin: top center; /* Setzt den Skalierungspunkt */
    }
        
    .container {
        width: 90%; /* Container nimmt 85% der Bildschirmbreite ein */
    }
}