@font-face {
    font-family: 'Oswald';
    src: url('../fonts/Oswald-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 700; /* Variable Font */
    font-style: normal;
}

@font-face {
  font-family: 'Line Awesome Free';
  src: url('../fonts/line-awesome.woff2') format('woff2'),
       url('../fonts/line-awesome.woff') format('woff'),
       url('../fonts/line-awesome.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Oswald', sans-serif;
  font-weight: 200;
}

.h5, h5 {
    font-size: 2em;
}

body {background: rgb(240, 235, 229);}

.buttons,
.navbar a,
.footer-menu a {
  font-family: 'Oswald', sans-serif;
  text-decoration:none;
  color: #fff;
  outline:0;
}

.datenschutz a {
    color: #4c4c4a;
    font-weight: bold;
}
a:focus {
  box-shadow:0 0 0 .1rem rgba(48,133,238,.2);
}
a.active,
a:active,
a:focus,
a:hover {
  text-decoration: none !important;
  color:#e3ad00 !important;
}
a:visited {
  color:#e3ad00;
}

.navbar-brand img {
    width: 100%; /* Setzt die Breite auf 100% des Containers */
    max-width: 200px; /* Falls du eine maximale Größe festlegen möchtest */
    height: auto !important; /* Stellt sicher, dass das Seitenverhältnis erhalten bleibt */
}

.la {
  font-family: 'Line Awesome Free';
  font-weight: 900;
}

#header{
    height: auto;
    background: rgb(240, 235, 229);
    border-bottom: 1px solid rgb(0,0,0);
}

#header .navbar-section {
    height: auto;
}

body.header-fixed.header-animated #header.scrolled,
body.header-fixed.header-animated #header.scrolled .navbar-section {
    height: auto;
}

.header-fixed #body-wrapper {
  padding-top: 6rem; /* oder 4.5rem für einen subtilen Abstand */
}

/* HAUPTMENÜ */
.navbar a {
    font-size: 2em;
    font-weight: 100; /* Beispielgewicht */
    text-transform: uppercase;
}

nav.dropmenu ul li a.active,
nav.dropmenu ul li a:hover,
nav.dropmenu ul li a:focus {
  color: #e3ad00 !important;
}

.mobile-menu .button_container span {
  background: #3d2b1f !important;
}

#body-wrapper {
    background: rgb(240, 235, 229);
}

#page-wrapper {
    border-bottom: 1px solid rgb(0,0,0);
}

.hero.hero-fullscreen {
  width: 100%;
  aspect-ratio: 4 / 3;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  box-sizing: border-box;

  /* optional, falls andere Regeln stören */
  min-height: unset;
  height: auto;
}

video {width: 100%;}

.fullscreen-btn {
    background: #4c4c4a;
    color: rgb(240, 235, 229);
    outline: 1px solid rgb(240, 235, 229); /* Braune Umrandung */
    outline-offset: -6px; /* Verschiebt die Border nach innen */
    padding: 9px 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;

    /* Folgendes entfernt typische "Reste" */
    border: none;
    border-radius: 0;
    box-shadow: none;
}

.fullscreen-btn:hover {
    background-color: #6a3f1a; /* Dunklere Farbe beim Hover */
}

.fullscreen-exit-hint {
    display: none;
    position: absolute;
    top: 10px;
    right: 12px;
    padding: 6px 12px;
    background: rgba(0,0,0,0.6);
    color: #fff;
    font-size: 0.9rem;
    border-radius: 4px;
    z-index: 999;
    pointer-events: none;
}

/* Nur sichtbar im Vollbildmodus */
    .video-container:fullscreen .fullscreen-exit-hint,
    .video-container:-webkit-full-screen .fullscreen-exit-hint,
    .video-container:-moz-full-screen .fullscreen-exit-hint {
    display: block;
}

.btn-primary {
    border-radius: none;
}
.btn-primary:hover {
    background-color: #6a3f1a; /* Beispiel: ein schöner Braunton */
    border-color: #6a3f1a;
    color: #fff;
}

/* BLOG */
.blog-listing .card {
    background: none;
    border: 1px solid #4c4c4a;
}

.blog-listing .bricklayer-column {
    padding: 0 10px;
}

.card-title {
    padding: 25px 0 10px;
}

a.u-url,
.card-title a {
    background: #4c4c4a;
    color: rgb(240, 235, 229);
    padding: 8px 25px;
    margin-top: 2px;
    outline: 1px solid rgb(240, 235, 229); /* Braune Umrandung */
    outline-offset: -6px; /* Verschiebt die Border nach innen */
}

.content-title h2 {
    margin-bottom: 1.5rem
}

.blog-listing .blog-date {
    font-size: 20px;
    color: #4c4c4a;
}

.btn {
    background: #fff !important;
    color:#000 !important;
    border: 0;
}

.btn:hover {
    background: #000 !important;
    color:#fff !important;
}

section thead {
    color: #fff;
}

section thead th {
    background: #4c4c4a !important;
}

section tbody td {
    border: 1px solid #4c4c4a !important;
}

/* DATENSCHUTZ */
table {border-collapse: collapse;}
table tr td {border: 1px solid #dce2e9;}
th {
    background: #eceff3;
    padding: 0.5rem;
}
td {padding: 0.5rem;}

.e-content {
    padding-top: 20px;
}

/* KONTAKT */
#my-nice-form {
    color: #000;
}

select.form-control {
    border-radius: 0.25rem;
    border: 1px solid #e0e0e5;
    padding: 0.8rem 1.25rem;
    width: 100%;
}

#my-nice-form .buttons {
    margin-top: 20px;
}

#my-nice-form .buttons .button {
    background: #fff;
    color: #4c4c4a;
    border: none;
}

#my-nice-form .buttons .gdlr-button {
    background: #4c4c4a;
    color: #fff;
}

.outline-kontakt section a {
    color: #d40000;
    text-decoration: underline;
}

.outline-kontakt section a:hover {
    color: #000000;
}

input {
    background-color: white;
    vertical-align: middle;
    border: 1px solid #e0e0e5;
    font-size: 1rem;
    width: 100%;
    line-height: 2;
    padding: 0.375rem 1.25rem;
}

textarea {
    width: 100%;
    min-height: 150px;
    max-height: 500px;
    border: 1px solid #e0e0e5;
}

.form-data.basic-captcha .form-input-wrapper {
    border: none;
    overflow: inherit;
}
.form-input-prepend {
    display: flex;
    align-items: center; /* wichtig für vertikale Zentrierung */
}

.form-input-prepend button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.4em;
    background: transparent;
    border: none;
    cursor: pointer;
    flex-shrink: 0;        /* verhindert, dass der Button zerdrückt wird */
}

.form-input-prepend button > svg {
    width: 18px;
    height: 18px;
}


.button:focus,
.button:hover {
    color: #fff !important;
    background:#000 !important;
}

select.form-control {
    background-color: #ffffff;  /* z. B. Weiß */
    color: #333333;             /* Textfarbe */
    border-radius: 0;
}



/* video */

.video-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: flex;
    justify-content: center; /* Zentriert horizontal */
    align-items: center; /* Zentriert vertikal */
}

.video-container img {
    width: 100%;
}

video {
    margin: 0 0 1.2rem;
}

/* Footer */

#footer {
    background: rgb(225, 216, 205) !important;
    padding-bottom: 40px; /* oder so viel, wie du brauchst */
}

.footer-menu {
    list-style: none; /* Entfernt die Standard-Listenpunkte */
    padding: 0;
    display: flex; /* Setzt die Buttons nebeneinander */
    gap: 10px; /* Abstand zwischen den Buttons */
    justify-content: center; /* Zentriert die Buttons */
    transition: max-height 0.4s ease;
}

.footer-menu li {
    display: inline-block;
}

.footer-menu a {
    display: inline-block;
    padding: 0 10px;
    height: 36px;
    line-height: 32px;
    background-color: transparent;
    color: #4c4c4a;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 1px solid #4c4c4a;
}c

.footer-menu a:hover,
.footer-menu a:link:hover,
.footer-menu a:visited:hover {
  background-color: #000 !important;
  color: #fff !important;
}


.footer-menu a.active {
  background-color: #000;
  color: #fff;
}

/* Hamburger-Menü */
.menu-toggle {
    display: none;
    font-size: 24px;
    cursor: pointer;
    color: #3a414e;
}

/* SMARTPHONEMENÜ */
/* Menü-Styling */

.overlay {
    background: rgb(240, 235, 229) !important;
}
.overlay-menu {
    background: rgb(240, 235, 229);
}

.mobile-logo  {
    border-bottom: 1px solid rgb(0,0,0);
}

.mobile-logo img,
.mobile-logo svg {
    margin-top: 0;
    margin-left: 23px;
}

.mobile-nav-open {
    font-size: 0;
}

.tree.treemenu.treemenu-root {
    padding: 0; /* Entfernt den zusätzlichen Abstand */
    /*margin: 0;*/ /* Verhindert unerwünschte Außenabstände */
}

.treemenu li {
    background: transparent;
    border: 1px solid #4c4c4a;
}

.treemenu li.tree-empty>.toggler:before,
.treemenu li.tree-closed>.toggler:before,
.treemenu li.tree-opened>.toggler:before {
    content: ''; /* Entfernt das Symbol */
}

/* Allgemeines Styling für die Menüpunkte */
.overlay-menu ul li {
    padding: 20px; /* Erhöht die Höhe der Menüpunkte */
    margin: 15px 0;
    font-size: 1.4rem; /* Größere Schrift für bessere Bedienbarkeit */
}

.treemenu li.tree-empty:hover {
    background: #3d2b1f !important;
    color: #fff !important;
}

.treemenu li.tree-empty:hover a {
/*     color: #e3ad00; */
}

/* Schriftfarbe */
.overlay-menu ul li a {
    font-family: 'Oswald', sans-serif;
    text-decoration: none;
    color: #3d2b1f; /* Dunkelbraune Schriftfarbe */
    display: block;
    transition: 0.3s ease;
    font-size: 1em;
    font-weight: 100; /* Beispielgewicht */
    text-transform: uppercase;
}

.treemenu li a.active,
.treemenu li a:focus,
.treemenu li a:hover {
    color: #e3ad00 !important;
}

/* Responsive Design */
@media screen and (max-width: 768px) {

    .blog-listing .bricklayer-column {
        padding: 0;
    }

    .header-fixed #body-wrapper {
        padding-top: 7rem !important;
    }

    #my-nice-form .buttons {
        display: flex;
        justify-content: center;
        gap: 1rem;
        flex-wrap: wrap;
    }

    #my-nice-form .buttons .button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.6em 1.4em;
        font-size: 1rem;
        line-height: 1.2;
        cursor: pointer;
        transition: all 0.2s
    }

    .footer-menu {
        flex-direction: column;
        max-height: 0;
        overflow: hidden;
        background-color: transparent;
        padding: 0 12px;
        border-radius: 4px;
    }
    ul.footer-menu {
        margin: 0;
    }

    .menu-toggle {
        display: block;
        font-size: 24px;
        cursor: pointer;
        color: #3a414e;
        margin-bottom: 10px;
    }

    .footer-menu.active {
        max-height: 300px; /* Passe diese Zahl ggf. an */
    }
    .menu-open .menu-toggle {
        display: none; /* Achtung: Hamburger Menü verschwindet wieder */
    }
}


