/*
Theme Name: agentur dk Theme
Author: agentur dk
Template: Divi Styles fuer beide Pages
Version: 1.0.0
*/
.hide{display:none !important;}

/* Footer */
.partner_logos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.5em;
    margin-top: 1rem;
}


/* Fixed Social Icons */
#social-sidebar {
  position: fixed;
  right: 0px;
  top: 80%;
  font-size: 2.5rem;
  transform: translateY(-50%);
}

/* Elternelement font dick */
#mobile-menu .has-submenu > a.menu-link{
background:#EEEEEE;
}


/* Externe Links erkennen und Symbol anhängen */
.et_pb_text_inner a[href^="https"]
:not([href*="bb8b80h.myrdbx.io"])
:not([href*="urlaub-mit-der-familie.de"])
:not([href*="b34at37q.myrdbx.io"])
:not([href*="bag-familienerholung.de"])::after {
  font-family: "Font Awesome 5 Pro"; /* ggf. "Font Awesome 5 Free" */
  content: "\f35d"; /* Unicode für das „external-link-alt“ Symbol */
  font-weight: 900; /* Nur nötig bei Free-Version, damit solid Icons angezeigt werden */
  margin-left: 0.3em;
  font-size: 0.7em;
  vertical-align: super;
}

/* Startseiten */
.et_pb_slide_title,
.et_pb_slide_content {
  text-shadow: none !important;
  box-decoration-break: clone !important;
  -webkit-box-decoration-break: clone !important;
}

.et_pb_slide_content p {
  font-size: 1.5rem !important;
}

.et_pb_slide_description .et_pb_slide_title {
  font-weight: 500 !important;
}

.et_pb_contact p input,
.et_pb_contact p textarea {
  font-size: 100% !important;
}

.et_pb_text_inner,
.et_pb_text_inner ul li,
.et_pb_text_inner ol li,
.dk-fokus-houses a.swiper-btn-more,
.bagfe-calculator *,
.et_pb_contact p input,
.et_pb_contact p textarea,
.input[type="checkbox"] + label,
.input::placeholder {
  font-size: 1.4rem !important;
  line-height: 1.6;
}

/* Schneluche UMDF */
@media (max-width: 645px) {
  .home #search form {
    width: 100%;
    align-items: unset;
  }
}

#search form button {
  color: black;
}

a.et_pb_button.et_pb_bg_layout_dark{
border: 2px solid #FFF !important;
}

/* Grundlegendes WCAG-konformes Link-Styling */
.et_pb_text_inner a {
  color: #246328; /* starker Farbkontrast */
  text-decoration: underline;
  font-weight: 500;
}

/* Fokus deutlich sichtbar machen (z. B. beim Tabben) */
.et_pb_text_inner a:focus {
  outline: 3px solid #246328;
  outline-offset: 2px;
}

/* Optional: Visuelle Anpassung bei Hover */
.et_pb_text_inner a:hover {
  color: #246328;
  text-decoration: underline;
}

/* Barrierefreie Kontaktformulare CF7*/
/* Container oben rechts im Formular */
.pflichtfeld-hinweis {
font-size: 1.2rem;
color: #333;
font-weight: 500;
text-align:right;
margin-bottom:0;
}

.pflichtfeld-hinweis p{
margin-bottom:0;
}

/* Grundlayout für Formular */
.wpcf7-form {
  font-size: 1.4rem;
  line-height: 1.5;
  color: #000; /* Kontrastreicher Text */
}

/* Input-, Select- und Textarea-Felder */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="url"],
.wpcf7-form textarea,
.wpcf7-form select {
  width: 100%;
  padding: 0.25em;
  font-size: 1.4rem;
  border: 1px solid #888;
  border-radius: 4px;
  box-sizing: border-box;
  background-color: #fff;
  color: #000;
}

/* Fokus-Styling für Tastatur-User */
.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
  outline: 3px solid #005fcc; /* kontrastreicher Fokusrahmen */
  outline-offset: 2px;
}

/* Label-Styling */
.wpcf7-form label {
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 0.25em;
  color: #000;
}

/*Bestellprodukte Box*/
.wpcf7-form #bestellmengen{
  border: 1px solid #000;
  padding:1em;
}

/* Submit-Button */
.wpcf7-form input[type="submit"] {
  padding: 0.5em 1em;
  font-size: 1.4rem;
  background-color: #FFCB01;
  color: #000;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.wpcf7-form input[type="submit"]:hover {
  background-color: #000;
color:#FFF;
}

/* Fehlermeldungen */
.wpcf7-not-valid-tip {
  color: #b30000;
  font-size: 1.2rem;
  margin-top: 0.25em;
  display: block;
}

/* Erfolgsmeldung */
.wpcf7-mail-sent-ok {
  border: 2px solid #007e33;
  background: #e6f9e6;
  padding: 1em;
  font-size: 1.4rem;
}

/* Fehlermeldung */
.wpcf7-validation-errors {
  border: 2px solid #b30000;
  background: #ffe5e5;
  padding: 1em;
  font-size: 1.4rem;
}

#honigtoepfe br{display:none;}

/* Fehlerzustand */
.wpcf7-not-valid .wpcf7-acceptance {
  border-left: 3px solid #b30000;
  background-color: #ffe5e5;
  padding-left: 1em;
}

/* DSGVO Checkbox Block */
.wpcf7-acceptance .wpcf7-list-item{margin:0 !important;}

/* Checkbox skalieren */
.wpcf7-acceptance input[type="checkbox"] {
  margin-right: 0.6em;
  transform: scale(1.5);
  cursor: pointer;
}

.wpcf7-acceptance a:focus {
  outline: 3px solid #005fcc;
  outline-offset: 2px;
}

/* Julius */

.btn {
	border-radius: 3px;
}

#mobile-menu {
	padding: 42px 0;
	gap: 0;
	overflow: auto;
}

#mobile-menu li#mobile-menu-close{
  padding: 0 1rem;
}

#mobile-menu li {
  position: relative;
  display: block;
  padding: 0;
  margin: 0;
  list-style: none;
}

#mobile-menu .menu-item i {
	position: absolute;
	top: 14px;
	left: 6px;
	font-size: 1.5rem;
}

#mobile-menu .menu-item.current-menu-item > a {
  font-weight: bold;
}

#mobile-menu a {
	color: #fff;
	font-size: 1.4rem;
	padding: 0.5rem 1rem 0.5rem 36px;
	text-decoration: none;
	display: block;
	transition: all 0.3s ease-in-out;
}

.et-db #et-boc #mobile-menu .submenu {
	background: transparent;
	position: relative;
	visibility: visible;
	width: auto;
	box-shadow: none;
	border: none;
	opacity: 1;
	list-style: none;
	padding: 0;
	margin: 0 0 0 1rem;
	display: none;
	transition: all 0.3s ease-in-out;
	left: 0;
	top: 0;
}

.et-db #et-boc #mobile-menu li.open > .submenu {
  display: block;
}

.et-db #et-boc #mobile-menu .submenu li {
  position: relative;
  display: block;
  padding: 0;
  margin: 0;
  list-style: none;
}

.et-db #et-boc #mobile-menu .submenu a{
  color: #fff;
  font-size: 1.4rem;
  padding: 0.5rem 1rem 0.5rem 36px;
  text-decoration: none;
  display: block;
  transition: all 0.3s ease-in-out;
}

.et-db #et-boc #mobile-menu li:hover .submenu {
  opacity: 1;
  background: transparent;
}

/* .et-db #et-boc #mobile-menu li.has-submenu > a::before {
	content: "\f107";
	font-family: "Font Awesome 5 Pro";
	font-weight: 900;
	font-size: 1.4rem;
	margin-right: 0.5rem;
} */



/* startseite */

#katalog-img {
	position: absolute;
	bottom: 40px;
	right: 40px;
	width: 220px;
  z-index: 99;
}

@media (min-width: 1200px) {
  .et-db #et-boc #main-content .et-l .et_pb_row {
    max-width: 1000px;
  }

  .et-db #et-boc #main-content .et-l .default-width .et_pb_row {
    max-width: 1140px;
  }
}

@media (min-width: 1400px) {
  .et-db #et-boc #main-content .et-l .default-width .et_pb_row {
    max-width: 1320px;
  }
}

@media (max-width: 1000px){
  #katalog-img {
    width: 140px;
  }
}


@media (max-width: 768px) {
  #katalog-img {
    top: 15px;
    right: 15px;
    bottom: auto;
    width: 70px;
  }
}

/* focus house */
.dk-house-card {
  background: #fff;
}

.dk-house-card .dk-house-card-title a {
  color: #111;
}

.dk-house-card-image {
  position: relative;
  height: 200px;
}
.dk-house-card-image img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}
.dk-house-card-fav {
  position: absolute;
  top: 0;
  right: 0;
  padding: 1rem;
}

.dk-house-card-fav .btn-fav {
  background: #246328;
  border: none;
  border-radius: 50%;
  color: #fff;
  font-size: 1.6rem;
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.dk-house-card-fav .btn-fav:hover {
  color: #fff;
}

.dk-house-card-info {
  padding: 1rem;
}

.dk-house-card-location {
  color: #246328;
  font-size: 1.4rem;
  margin-bottom: 1rem;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.dk-house-card-title {
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 1rem;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.dk-house-card-description {
  font-size: 1.4rem;
}

.dk-house-card-more {
  margin-top: 1rem;
}

.swiper-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
}

.btn-swiper {
  background: #fff;
  color: #000;
  border-radius: 50% !important;
  padding: 0.5rem;
  font-size: 1.4rem;
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.btn-swiper:hover {
  background: #246328;
  color: #fff;
}

/* Grüne Box mit Icons Wortumbruch */
#features div.et_pb_text_inner{
hyphens: auto !important;
}

/* Footer da durch das Wort Barrierefreiheitserklärung ein Platz mehr war */
/* Standard Desktop (ab 1200px) */
.copyright-wrapper .container .copyright {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  text-align: left;
}

.copyright-wrapper .container .copyright strong {
  white-space: nowrap;
}

.copyright-wrapper .container .copyright ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin: 0;
  padding: 0;
}

.copyright-wrapper .container .copyright ul li {
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  list-style: none;
}

/* Unter 1200px – alles untereinander, zentriert */
@media (max-width: 1199px) {
  .copyright-wrapper .container .copyright {
    display: block;
    text-align: center;
  }

  .copyright-wrapper .container .copyright strong {
    display: block;
    margin-bottom: 1rem;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
  }

  .copyright-wrapper .container .copyright ul {
    display: block;
  }

  .copyright-wrapper .container .copyright ul li {
    display: block;
    margin: 0.5rem 0;
  }
}

/* Blogansicht mit 2 Spalten */
@media only screen and (min-width: 981px) {
  .newsansicht .et_pb_posts .et_pb_post img,
  .newsansicht .et_pb_posts .et_overlay {
    width: 38%;
    height: auto !important;
    margin-right: 4%;
    float: left;
  }
  .newsansicht .et_pb_posts .entry-title,
  .newsansicht .et_pb_posts .post-meta,
  .newsansicht .et_pb_posts .post-content { 
      float: right; 
      width: 58%; 
  }
  body.rtl .newsansicht .et_pb_posts .et_pb_post img,
  body.rtl .newsansicht .et_pb_posts .et_overlay {
    float: right;
    margin-left: 4%;
    margin-right: 0;
  }
  body.rtl .newsansicht .et_pb_posts .entry-title,
  body.rtl .newsansicht .et_pb_posts .post-meta,
  body.rtl .newsansicht .et_pb_posts .post-content { 
      float: left; 
  }
}

/* Blog Post Übersichtsseite Fallback Bild */
.fallback-thumb-link {
  display: block;
  width: 100%;
  margin-bottom: 1em;
}

.fallback-thumb-link img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border: none;
}

@media only screen and (min-width: 981px) {
  .newsansicht .et_pb_post .fallback-thumb-link {
    width: 38%;
    float: left;
    margin-right: 4%;
  }

  .newsansicht .et_pb_post .fallback-thumb-link img {
    width: 100%;
    height: auto;
  }
}

.news-preview article{margin-bottom:0px;}
.news-preview h3.entry-title a{border-bottom:1px solid #111;}
.news-preview .pagination.clearfix {
    display: block;
    gap: 3rem;
    margin-top: 0rem;
}

.news-preview img{display:none;}