/* ============================================
   === THÜRINGER DEXTERHOF MODERN DESIGN ===
   ============================================ */

/* === COLOR PALETTE ===
   Primary Yellow:  #e2de02
   Primary Dark:    #37384d
   Brown/Accent:    #d59e5b
   Brown Hover:     #d9923c
   Light Gray:      #f5f5f5
   Light Beige:     #fafaf8
   Border Gray:     #e0e0e0
   Text Dark:       #333333
   Text Light:      #666666
*/

/* ============================================
   === FONTS ===
   ============================================ */

@font-face {
  font-family: "Nexa-Script";
  src: url("../fonts/Nexa Script.otf") format("opentype");
}

@font-face {
  font-family: "Nexa-Script";
  font-weight: bold;
  src: url("../fonts/Nexa Script Bold.otf") format("opentype");
}

@font-face {
  font-family: "Lucida-Calligraphy";
  src: url("../fonts/Lucida Calligraphy Font.ttf") format("truetype");
}

/* ============================================
   === GLOBAL RESET & BASE ===
   ============================================ */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 16px;
  height: 100%;
  scroll-behavior: smooth;
}

body {
  font-family: "Arial", sans-serif;
  color: #333333;
  background-color: #ffffff;
  line-height: 1.6;
  height: 100%;
}

/* ============================================
   === TYPOGRAPHY ===
   ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.4;
  color: #333333;
}

h1 {
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

h2 {
  font-size: 2rem;
  margin-bottom: 0.8rem;
}

h3 {
  font-size: 1.5rem;
  margin-bottom: 0.6rem;
}

p {
  font-size: 1rem;
  margin-bottom: 1rem;
  color: #555555;
}

a {
  color: #d59e5b;
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover {
  color: #d9923c;
}

/* ============================================
   === UTILITY CLASSES ===
   ============================================ */

.hidden {
  display: none !important;
}

.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

.active {
  background-color: #d59e5b;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}

i[class^="icofont"] {
  color: #333;
}

/* ============================================
   === FORM ELEMENTS ===
   ============================================ */

.full-line-label {
  display: block !important;
  margin-bottom: 8px !important;
  font-weight: 600 !important;
  color: #333 !important;
  font-size: 0.95rem !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.red-star {
  color: #e64444 !important;
  margin-left: 4px;
}

/*
    === HEADER-BAR ===
*/

#header-bar {
  width: 100%;
  height: 155px;
  background-color: #37384d;
  border-left: 10px solid #e2de02;
  border-right: 10px solid #e2de02;
  box-shadow: 0 0 15px #37384d;
  z-index: 2;
}

#header-bar-container {
  width: 95%;
  margin: 0px auto;
  position: relative;
  height: 100%;
}

.logo-container,
.heading {
  display: inline-block;
  vertical-align: top;
}

.logo-contrainer {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: inline-block;
  vertical-align: center;
}

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

#header-bar a > img {
  height: 100px;
  border: 3px solid #e2de02;
  border-radius: 50%;
  margin-top: 17.5px;
  border: 2px 2px 3px #22222f;
  transition: transform 1s linear;
  transition: -webkit-animation 1s linear;
  transition: animation 1s linear;
  transition:
    animation 1s linear,
    -webkit-animation 1s linear;
}

#header-bar .heading {
  text-shadow: 2px 2px 3px #22222f;
  margin-top: 6.2px;
  margin-left: 25px;
}

#header-bar .header-headline {
  font-size: 55px;
  font-family: "Nexa-Script", "Arial", sans-serif;
  display: inline-block;
}

#header-bar .header-subline {
  font-size: 30px;
  padding-left: 25px;
  display: inline-block;
}

#header-bar .header-headline-small {
  display: none;
  font-family: "Nexa-Script", "Arial", sans-serif;
  font-size: 40px;
}

@-webkit-keyframes logoAnimation {
  0% {
    transform: rotateZ(0deg);
  }
  50% {
    transform: rotateZ(180deg);
  }
  100% {
    transform: rotateZ(360deg);
  }
}

@keyframes logoAnimation {
  0% {
    transform: rotateZ(0deg);
  }
  50% {
    transform: rotateZ(180deg);
  }
  100% {
    transform: rotateZ(360deg);
  }
}

#header-bar a > img:hover {
  -webkit-animation: logoAnimation 1s linear; /* 360deg. Rotate*/
  animation: logoAnimation 1s linear;
}

/*
  === Header-Bar - NAVBAR ===
*/
.header-bar-right {
  position: absolute;
  bottom: 0;
  right: 0;
}

#header-bar ul {
  padding: 0;
  margin: 0;
}

#header-bar ul > li {
  display: inline-block;
}

#header-bar ul > li > a:hover {
  background-color: #d9923c;
}

#header-bar ul > li > a {
  display: inline-block;
  line-height: 55px;
  padding: 0 12px;
  font-size: 18px;
}

#header-bar ul > li > a:link {
  color: #fff;
  text-decoration: none;
}

#header-bar ul > li > a:visited {
  color: #fff;
  text-decoration: none;
}

#header-bar ul > li > a:active {
  color: #f0f0f0;
  text-decoration: none;
}

#header-bar ul > li > a:hover {
  color: #f0f0f0;
  text-decoration: none;
}

/*
    === Header-Bar - NAVBAR (Mobil) ===
*/

#mobile-nav {
  display: none;
}

#mobile-nav-button {
  color: #fff;
  float: right;
  font-size: 32px;
  border-radius: 1px;
  position: relative;
}

#mobile-nav-button:hover {
  cursor: pointer;
}

#mobile-nav-button > div {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 37px;
  height: 37px;
}

#mobile-nav-button > div > span {
  border: 1px solid #fff;
  padding: 0 10px;
}

#mobile-nav-dropdown {
  position: absolute;
  top: 0;
  right: 10px;
  height: 100%;
  display: flex;
  align-items: center;
}

#mobile-nav-content {
  position: absolute;
  right: 5px;
  top: 100%;
  /* display: none; hard coded for js to toggle better */
  background-color: #37384d;
  padding-top: 25px;
  min-width: 280px;
}

#mobile-nav-content > ul > li {
  display: block;
  min-height: 35px;
  margin-bottom: 1px;
}

#mobile-nav-content > ul > li > a {
  line-height: 35px;
  padding: 0 15px;
  width: 100%;
  font-size: 17px;
  display: block;
}

/* Mobile Submenu Styles */
#mobile-nav-content .mobile-submenu {
  display: none;
  background-color: #2c2d3c;
  padding: 0;
  margin: 0;
}

#mobile-nav-content .mobile-submenu-parent.active > a {
  background-color: #2c2d3c;
}

#mobile-nav-content .mobile-submenu-parent.active > .mobile-submenu {
  display: block;
}

#mobile-nav-content .mobile-submenu > li {
  display: block;
  height: 30px;
  margin-bottom: 0;
}

#mobile-nav-content .mobile-submenu > li > a {
  line-height: 30px;
  padding: 0 15px 0 35px;
  font-size: 16px;
  display: block;
}

/* - toggle mobil menu -> now with js and onclick
#mobile-nav-dropdown:hover > #mobile-nav-content {
  display: block;
}
*/

@media (max-width: 985px) {
  #header-bar {
    height: 175px;
  }

  #header-bar a > img {
    margin-top: 6.2px;
  }

  #header-bar .header-headline {
    display: block;
  }

  #header-bar .header-subline {
    display: block;
  }

  #mobile-nav-dropdown {
    top: 0;
    right: 10px;
  }

  #mobile-nav-content {
    top: 100%;
  }
}

@media (max-width: 900px) {
  /** Default 715px **/
  #header-bar {
    height: 130px;
  }

  #desktop-nav {
    display: none;
  }

  #header-bar .header-headline {
    font-size: 48px;
  }

  #header-bar .header-subline {
    font-size: 27px;
  }

  #mobile-nav {
    display: block;
  }

  #mobile-nav-dropdown {
    top: 0;
    right: 10px;
  }

  #mobile-nav-content {
    top: 100%;
  }
}

@media (max-width: 670px) {
  #header-bar {
    height: 150px;
  }

  #header-bar .header-headline {
    font-size: 44px;
  }

  #header-bar .header-subline {
    font-size: 25px;
  }
}

@media (max-width: 615px) {
  #header-bar {
    height: 140px;
  }

  #header-bar a > img {
    height: 70px;
    margin-top: 17.5px;
  }

  #header-bar .header-headline {
    font-size: 40px;
  }

  #header-bar .header-subline {
    font-size: 23px;
  }

  #mobile-nav-button > div > span {
    padding: 0 8px;
  }

  #mobile-nav-button {
    font-size: 25px;
  }

  #mobile-nav-dropdown {
    top: 0;
    right: 10px;
  }

  #mobile-nav-content {
    top: 100%;
  }
}

@media (max-width: 510px) {
  #header-bar a > img {
    display: none;
  }

  #header-bar .heading {
    margin-left: 0;
  }

  #mobile-nav-dropdown {
    top: 0;
    right: 10px;
  }

  #mobile-nav-content {
    top: 100%;
  }
}

@media (max-width: 415px) {
  #header-bar .header-headline,
  #header-bar .header-subline {
    display: none;
  }

  #header-bar .header-headline-small {
    display: block;
  }

  #mobile-nav-dropdown {
    top: 0;
    right: 10px;
  }

  #mobile-nav-content {
    top: 100%;
  }
}

/*
    === Index.php Eindrücke & weitere Sektionen ===
    === Siehe index.css für spezifische Styles ===
*/

/*
  === Main Section mit Hintergrund Bild ===

*/

#main-banner {
  width: 100%;
  color: #fff;
  padding-top: 40px;
  padding-bottom: 80px;
}

@media (max-width: 590px) {
  #main-banner {
    background: url("../img/background/Hintergrundbild600.jpg") no-repeat;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
  }
}

@media (min-width: 591px) and (max-width: 990px) {
  #main-banner {
    background: url("../img/background/Hintergrundbild1000.jpg") no-repeat;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
  }
}

@media (min-width: 991px) and (max-width: 1390px) {
  #main-banner {
    background: url("../img/background/Hintergrundbild1400.jpg") no-repeat;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
  }
}

@media (min-width: 1391px) and (max-width: 1590px) {
  #main-banner {
    background: url("../img/background/Hintergrundbild1600.jpg") no-repeat;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
  }
}

@media (min-width: 1591px) and (max-width: 1990px) {
  #main-banner {
    background: url("../img/background/Hintergrundbild2000.jpg") no-repeat;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
  }
}

@media (min-width: 1991px) and(max-width: 2490px) {
  #main-banner {
    background: url("../img/background/Hintergrundbild2500.jpg") no-repeat;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
  }
}

@media (min-width: 2491px) and (max-width: 3990px) {
  #main-banner {
    background: url("../img/background/Hintergrundbild4000.jpg") no-repeat;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
  }
}

@media (min-width: 3991px) {
  #main-banner {
    background: url("../img/background/Hintergrundbild.jpg") no-repeat;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
  }
}

#main-banner .container {
  background-color: rgba(255, 255, 255, 0.9);
  padding-top: 7px;
  box-shadow: none;
}

#main-banner [class*="col-"] {
  padding: 0.4rem;
}

#main-banner .intro-container {
  text-align: center;
}

#main-banner .intro-container > h1 {
  margin: 10px 0;
}

/* Unsere Betrieb Styles siehe index.css */

/* Dexter Rasse Info Styles siehe index.css */

/*
  === Media Querrys für
                    Main-Banner
                    Unsere Betrieb (index.php)
                    Dexter Rasse Info (index.php)
  ===
*/

@media (max-width: 885px) {
  #main-banner .intro-container > h1 {
    font-size: 25px;
  }
}

/* Impressum/Datenschutz Styles in impressum.css */

/*
    === Footer ===
*/

#footer {
  width: 100%;
  background-color: #37384d;
  border-left: 10px solid #e2de02;
  border-right: 10px solid #e2de02;
  box-shadow: 0 0 15px #37384d;
  font-size: 15px;
  color: #fff;
  padding: 8px 0;
}

.cookieBanner-FooterFix {
  padding-bottom: 18px !important;
}

#footer .col-6 {
  padding: 0;
}

#footer #user-counter-container  /* User Counter (index.php) */ {
  margin: 0px auto;
  margin-bottom: 10px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

#footer #user-counter   /* User Counter (index.php) */ {
  /* Admin Button (impressum.php) */
  border: 1px solid #e2de02;
  border-top-left-radius: 10px;
  border-bottom-right-radius: 10px;
  padding: 6px 10px;
}

#footer #footer-nav,
.footer-text {
  /* Footer Nav */
  display: inline-block;
}

#footer #footer-nav {
  /* Footer Nav */
  float: right;
}

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

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

#footer #footer-nav > a:active {
  color: #f0f0f0;
  text-decoration: none;
}

#footer #footer-nav > a:hover {
  color: #f0f0f0;
  text-decoration: none;
}

#footer #footer-nav > a {
  margin-right: 20px;
  display: inline-block;
}

#footer .Admin-Login:link {
  color: #fff;
  text-decoration: none;
}

#footer .Admin-Login:visited {
  color: #fff;
  text-decoration: none;
}

#footer .Admin-Login:active {
  color: #f0f0f0;
  text-decoration: none;
}

#footer .Admin-Login:hover {
  color: #f0f0f0;
  text-decoration: none;
}

/*
  === Footer FIX ===
    Fix damit der Footer unten ist,
    wenn Content zu wenig Inhalt hat.
    Eingesetzt auf folgenden Seiten:
      ~ Admin-Login.php
*/

#footer-height-fix-Div {
  position: relative;
  min-height: 100%;
}

.smallFooter-minContent-Fix {
  position: absolute;
  bottom: 0;
}

/*
  === COOKIE ===
*/

#CB-small {
  background-color: rgb(213, 158, 91);
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  bottom: 0px;
  box-sizing: border-box;
  color: rgb(0, 0, 0);
  cursor: pointer;
  font-family: Helvetica, Calibri, Arial, sans-serif;
  font-size: 16px;
  left: 48px;
  overflow: hidden;
  overflow-x: hidden;
  overflow-y: hidden;
  padding-bottom: 8px;
  padding-left: 8px;
  padding-right: 8px;
  padding-top: 8px;
  position: fixed;
  transform: matrix(1, 0, 0, 1, 0, 22.8436);
  transition-delay: 0s;
  transition-duration: 1s;
  transition-property: transform;
  transition-timing-function: ease;
  z-index: 999;
  display: none;
}

.CB-small_trans-to-big {
  transform: matrix(1, 0, 0, 1, 0, 1) !important;
}

#CB-small_more-info:link {
  color: #000;
  text-decoration: none;
}

#CB-small_more-info:visited {
  color: #000;
  text-decoration: none;
}

#CB-small_more-info:active {
  color: #000;
  text-decoration: none;
}

#CB-small_more-info:hover {
  color: #000;
  text-decoration: underline;
}

#CB {
  width: 100%;
  background-color: #a06646;
  border-top: 2px solid #955d3e;
  font-size: 15px;
  color: #000;
  padding: 8px 0;
  z-index: 999;
  position: fixed;
  bottom: 0;
}

#CB-inner {
  padding: 7px 30px 7px 30px;
  width: 100%;
}

#CB-more {
  display: none;
}

#CB-more .DatenschutzLink {
  color: #000;
  text-decoration: underline;
}

#CB-more .DatenschutzLink:link {
  color: #000;
  text-decoration: underline;
}

#CB-more .DatenschutzLink:visited {
  color: #000;
  text-decoration: underline;
}

#CB-more .DatenschutzLink:active {
  color: #000;
  text-decoration: underline;
}

#CB-more .DatenschutzLink:hover {
  color: #2a2828;
  text-decoration: underline;
}

#CB-left {
  float: left;
  /* display: inline-block; */
}

#CB_more-info {
  margin-left: 15px;
}

#CB_more-info:link {
  color: #000;
  text-decoration: underline;
}

#CB_more-info:visited {
  color: #000;
  text-decoration: underline;
}

#CB_more-info:active {
  color: #000;
  text-decoration: underline;
}

#CB_more-info:hover {
  color: #2a2828;
  text-decoration: underline;
}

#CB-right {
  float: right;
  /* display: inline-block; */
}

#CB-Ablehnen-Button {
  color: #000;
  text-decoration: none;
}

#CB-Ablehnen-Button:link {
  color: #000;
  text-decoration: none;
}

#CB-Ablehnen-Button:visited {
  color: #000;
  text-decoration: none;
}

#CB-Ablehnen-Button:active {
  color: #000;
  text-decoration: none;
}

#CB-Ablehnen-Button:hover {
  color: #000;
  text-decoration: underline;
}

#CB-Annehmen-Button {
  color: #000;
  text-decoration: none;
  background-color: #d59e5b;
  border-radius: 5px;
  padding: 7px 12px;
  margin-left: 10px;
  font-size: 17px;
  font-weight: bold;
}

#CB-Annehmen-Button:link {
  color: #000;
  text-decoration: none;
}

#CB-Annehmen-Button:visited {
  color: #000;
  text-decoration: none;
}

#CB-Annehmen-Button:active {
  color: #000;
  text-decoration: none;
}

#CB-Annehmen-Button:hover {
  background-color: #d9923c;
  color: #000;
  text-decoration: none;
}

@media (max-width: 715px) {
  #CB-left {
    float: inherit;
    display: block;
    padding-bottom: 15px;
  }
}

/*
  === Footer Media Querry ===
*/

@media (min-width: 1100px) {
  #footer {
    font-size: 17px;
  }
}

/*
  === Galerie.php Styles in galerie.css ===
*/

/*
  === Fleischverkauf & Kontakt Styles in fleischverkauf.css & kontakt.css ===
*/

/*
    === GRID-SYSTEM ===
*/

.container {
  width: 95%;
  margin-left: auto;
  margin-right: auto;
}

.row::after {
  content: "";
  clear: both;
  display: block;
}

[class*="col-"] {
  float: left;
  min-height: 1px;
  padding: 0.8rem;
}

.col-1 {
  width: 16.666%;
}
.col-2 {
  width: 33.333%;
}
.col-3 {
  width: 50%;
}
.col-4 {
  width: 66.666%;
}
.col-6 {
  width: 100%;
}

/* Admin Pages: col-6 sollte 100% sein (volle breite in container) */
.admin-section .col-6 {
  width: 100%;
  padding: 0.8rem;
}

@media (max-width: 1024px) {
  .col-1 {
    width: 33.333%;
  }
}

@media (max-width: 768px) {
  .col-1 {
    width: 50%;
  }
  .col-2 {
    width: 100%;
  }
  .col-3 {
    width: 100%;
  }
  .col-4 {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .col-1 {
    width: 100%;
  }
  .col-2 {
    width: 100%;
  }
  .col-3 {
    width: 100%;
  }
  .col-4 {
    width: 100%;
  }
}

/* ============================================
   === NORMAL INPUT & BUTTONS (Legacy) ===
   ============================================ */

.normal-input {
  margin-bottom: 30px;
  line-height: 18px;
  padding: 12px 14px;
  width: 100%;
  max-width: 400px;
  border: 2px solid #e0e0e0;
  border-radius: 6px;
  font-family: "Arial", sans-serif;
  font-size: 1rem;
  background-color: #fafaf8;
  transition: all 0.3s ease;
  color: #333;
}

.normal-input:focus {
  outline: none;
  border-color: #d59e5b;
  background-color: white;
  box-shadow: 0 0 0 3px rgba(213, 158, 91, 0.1);
}

.send-button-Big {
  width: 100%;
  max-width: 100%;
  padding: 14px 30px;
  font-size: 17px;
  font-weight: 600;
  background: linear-gradient(135deg, #d59e5b 0%, #d9923c 100%);
  border: none;
  border-radius: 8px;
  color: white;
  cursor: pointer;
  text-shadow: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(213, 158, 91, 0.3);
  margin-top: 20px;
}

.send-button-Big:hover {
  background: linear-gradient(135deg, #d9923c 0%, #cc7a28 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(213, 158, 91, 0.4);
}

.send-button-Big:active {
  transform: translateY(0);
}
