/* open-sans-300 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url('/static/wbgpl25/fonts/open-sans-v44-latin-300.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-300italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  src: url('/static/wbgpl25/fonts/open-sans-v44-latin-300italic.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-regular - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('/static/wbgpl25/fonts/open-sans-v44-latin-regular.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: url('/static/wbgpl25/fonts/open-sans-v44-latin-italic.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-500 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  src: url('/static/wbgpl25/fonts/open-sans-v44-latin-500.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-500italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 500;
  src: url('/static/wbgpl25/fonts/open-sans-v44-latin-500italic.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-600 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url('/static/wbgpl25/fonts/open-sans-v44-latin-600.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-600italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 600;
  src: url('/static/wbgpl25/fonts/open-sans-v44-latin-600italic.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-700 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('/static/wbgpl25/fonts/open-sans-v44-latin-700.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-700italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  src: url('/static/wbgpl25/fonts/open-sans-v44-latin-700italic.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-800 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  src: url('/static/wbgpl25/fonts/open-sans-v44-latin-800.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-800italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 800;
  src: url('/static/wbgpl25/fonts/open-sans-v44-latin-800italic.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


.btn-secondary,
.btn-secondary:hover,
.btn-secondary:active,
.btn-secondary:focus {
  color: #fff !important;
}


html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  line-height: 1.6;
  color: #333333;
}

h1, h2, h3, h4, h5 {
  hyphens: auto;
}

/* Skip Links für Barrierefreiheit */
.skip-links {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
}

.skip-links a {
  position: absolute;
  left: -9999px;
  padding: 0.75rem 1.5rem;
  background-color: #ef7c00;
  color: #ffffff;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0 0 4px 0;
}

.skip-links a:focus {
  left: 0;
  top: 0;
}

/* Content-Container max 1705px */
.content-wrapper {
  max-width: 1705px;
  margin: 0 auto;
}

#seitentitel h1 {
  color: #ef7c00;
  font-weight: 700;
}

#content .content-wrapper {
  padding: 40px 1.5rem;
  display: flex;
  gap: 80px;
}
#content-main {
  flex-grow: 1;
}
#content-aside {
  flex: 0 0 400px;
}


.site-header {
  background-color: #666865;
  position: sticky;
  top: 0;
  z-index: 1000;
  transition: all 0.3s ease;
}

.site-header .header-inner {
  max-width: 1705px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Logo - links */
.header-brand {
  display: flex;
  align-items: center;
  padding: 1rem 0 1rem 0;
  transition: padding 0.3s ease;
}

.header-brand .logo {
  height: 78px;
  width: auto;
  transition: height 0.3s ease;
}

/* Top Bar mit Reparaturanfragen/Telefon - rechts, untereinander */
.header-topbar {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding: 1rem 0;
  /* transition: all 0.3s ease; */
}

.header-topbar .repair-link {
  color: #ffffff;
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
  text-decoration: none;
}

.header-topbar>*:nth-child(1) {
  color: #fff;
  font-size: 1.7rem;
  width: 257px;
  text-align: center;
}

.header-topbar>*:nth-child(2) {
  width: 257px;
  font-size: 1.6rem;
  font-weight: 600;
}


.header-nav {
  background-color: #666865;
  padding: 20px 0;
  transition: background-color 0.3s ease;
}
.shrink .header-nav {
  padding: 8px 0;
}

.header-nav .nav-inner {
  max-width: 1705px;
  margin: 0 auto;
  padding: 0 1.5rem 0 0;
}

.header-nav .navbar {
  padding: 0;
}

.header-nav .navbar-nav .nav-link {
  color: #ffffff;
  padding: 1rem 1.5rem;
  font-weight: 400;
  font-size: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  transition: background-color 0.3s ease;
}

.header-nav .navbar-nav .nav-link:hover,
.header-nav .navbar-nav .nav-link:focus {
  background-color: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.header-nav .navbar-nav .nav-link.active {
  background-color: #ef7c00;
}

.header-nav .dropdown-menu {
  background-color: #666865;
  border: none;
  border-radius: 0;
  padding: 0;
  margin-top: 0;
}

.header-nav .dropdown-item {
  color: #ffffff;
  padding: 0.85rem 1.5rem;
  font-size: 1rem;
}

.header-nav .dropdown-item:hover,
.header-nav .dropdown-item:focus {
  background-color: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.header-nav .nav-icons {
  display: flex;
  align-items: center;
}

.header-nav .nav-icons .nav-link {
  padding: 0.4rem 0.85rem;
  font-size: 2.25rem;
}

.header-nav .navbar-toggler {
  border-color: rgba(255, 255, 255, 0.3);
  padding: 0.5rem 0.75rem;
}

.header-nav .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.site-header.shrink .header-topbar {
  display: none;
}

.site-header.shrink .header-brand {
  padding: 0.8rem 0 0 0;
}

.site-header.shrink .header-brand .logo {
  height: 40px;
}



.hero {
  position: relative;
  max-width: 1920px;
  margin: 0 auto;
  overflow: hidden;
}

.hero-image {
  width: 100%;
  height: auto;
  display: block;
}

.hero-cta {
  position: absolute;
  top: 50%;
  left: 5%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.hero-cta .btn {
  font-size: 2.75rem;
  font-weight: 400;
  line-height: 1.3;
  padding: 1rem 1.5rem;
  text-align: left;
}
.hero-cta .btn span {
  display: block;
  font-size: 2.75rem;
  font-weight: 700;
}

.hero-cta .cta-label {
  display: inline-block;
  background-color: #ffffff;
  color: #333333;
  padding: 0.5rem 1rem;
  font-size: 1.4rem;
  margin-left: auto;
  font-weight: 500;
}


.prelude {
  padding: 3rem 0;
}

.prelude .content-wrapper {
  padding: 0 1.5rem;
}

.prelude-title {
  color: #ef7c00;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1.5rem;
  text-transform: uppercase;
}

.prelude-text {
  font-size: 1.1rem;
  line-height: 1.7;
  color: #333333;
}

.prelude-text p {
  margin-bottom: 1.25rem;
}

.prelude-teaser {
  background-color: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 3px;
  overflow: hidden;
}
.prelude-teaser a {
  display: block;
  position: relative;
}

.prelude-teaser img {
  width: 100%;
  height: auto;
  display: block;
}



.scrollbox {
  background-color: #f0f0f0;
  padding: 3rem 0;
}

.scrollbox .content-wrapper {
  padding: 0 1.5rem;
}

.scrollbox-title {
  text-align: center;
  font-size: 2.55rem;
  font-weight: 700;
  color: #666865;
  margin-bottom: 2rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.scrollbox-outer {
  display: flex;
  align-items: center;
  gap: 73px;
}


.scrollbox-thumbs {
  display: flex;
  flex-direction: column;
  gap: 18px;
  flex-shrink: 0;
  width: 145px;
}

.scrollbox-thumb {
  width: 145px;
  height: 90px;
  padding: 0;
  background: none;
  border: 3px solid transparent;
  border-radius: 3px;
  cursor: pointer;
  overflow: hidden;
  transition: border-color 0.3s ease;
}

.scrollbox-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.scrollbox-thumb:hover,
.scrollbox-thumb:focus {
  border-color: #ef7c00;
}

.scrollbox-thumb.active {
  border-color: #ef7c00;
}


.scrollbox-inner {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 19px;
}


.scrollbox-nav-btn {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
}

.scrollbox-content {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 30px;
}


.scrollbox-main {
  flex: 0 0 42%;
}

.scrollbox-image {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid #666865;
}


.scrollbox-info {
  flex: 1;
  padding: 0.5rem 30px 0.5rem 0;
}

.scrollbox-info .location {
  font-size: 1.3rem;
  margin-bottom: 0.25rem;
  font-weight: 500;
}

.scrollbox-info .address {
  font-size: 1.55rem;
  font-weight: 600;
  color: #ef7c00;
  margin-bottom: 1rem;
}

.scrollbox-info .title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #333333;
  margin-bottom: 0.75rem;
}

.scrollbox-info .description {
  font-size: 1rem;
  line-height: 1.6;
  color: #333333;
  margin-bottom: 1.5rem;
}

.scrollbox-info .details-btn {
  display: inline-block;
  background-color: #ef7c00;
  color: #ffffff;
  padding: 0.6rem 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 3px;
  transition: background-color 0.3s ease;
}

.scrollbox-info .details-btn:hover,
.scrollbox-info .details-btn:focus {
  background-color: #c66800;
  text-decoration: none;
  color: #ffffff;
}






.startboxen {
  background-color: #fff;
  padding: 3rem 0;
}

.startboxen .content-wrapper {
  padding: 0 1.5rem;
}

.startboxen-title {
  text-align: center;
  font-size: 2.55rem;
  font-weight: 700;
  color: #666865;
  margin-bottom: 2rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}





.startboxen-flex {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 80px;
  grid-row-gap: 80px;
}
.startbox {
  max-width: 600px;
}
.infobox {
  background-color: #666865;
  padding: 40px 42px 30px 42px;
  display: flex;
  flex-direction: column;
}
.startbox .infobox {
  height: 100%;
}
.infobox-content {
  background-color: #fff;
  flex-grow: 1;
  padding: 18px 23px;
  text-align: center;
}
.infobox-footer {
  flex: 0 0 70px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.infobox-image {
  display: block;
  aspect-ratio: 5 / 3;
  width: 100%;
  object-fit: cover;
  margin-bottom: 18px;
}
.infobox-text-content p:last-child {
  margin-bottom: 0;
}
h3.infobox-title {
  font-size: 1.55rem;
}


.site-footer {
  background-color: #666865;
  color: #ffffff;
}

.site-footer a {
  color: #ffffff;
  text-decoration: none;
}

.site-footer a:hover,
.site-footer a:focus {
  color: #ef7c00;
  text-decoration: underline;
}


.footer-content {
  padding: 35px 0;
}

.footer-content .content-wrapper {
  padding: 0 1.5rem;
}

.footer-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 2rem;
}

.footer-left {
  display: flex;
  gap: 6rem;
  align-items: flex-end;
}

.footer-social {
  margin-bottom: 1rem;
}

.footer-social a {
  font-size: 1.85rem;
  color: #ffffff;
}

.footer-social a:hover,
.footer-social a:focus {
  color: #ef7c00;
}

.footer-quicklinks-title {
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
  color: #ffffff;
}

.footer-quicklinks {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-quicklinks a {
  font-size: 1.1rem;
  color: #fff;
  font-weight: 300;
}

.footer-quicklinks a:hover,
.footer-quicklinks a:focus {
  color: #ef7c00;
}

.footer-column {
  min-width: 150px;
}

.footer-right {
  text-align: right;
  padding-top: 23px;
}
#footer-right-line {
  background-color: #ef7c00;
  height: 1px;
  width: 860px;
  margin-top: 0.4rem;
  margin-bottom: 1rem;
}
.footer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 35px;
  justify-content: flex-end;
  margin-bottom: 0.4rem;
}

.footer-legal a {
  font-size: 1.1rem;
  color: #ffffff;
  text-transform: uppercase;
  font-weight: 600;
}

.footer-legal a:hover,
.footer-legal a:focus {
  color: #ef7c00;
}

.footer-copyright {
  font-size: 1.1rem;
  color: #fff;
  margin-bottom: 0.9rem;
  line-height: 1.5;
  font-weight: 300;
}

.footer-hotline {
  font-size: 1.1rem;
  font-weight: 600;
}

.footer-hotline a, .footer-hotline a:hover, .footer-hotline a:active {
  color: #fff;
}

footer a, footer a:active, footer a:hover {
  color: #fff !important;
}


#mobile-header {
  display: none;
}





.img-container, .img-container a {
  position: relative;
  display: block;
}
.img-icon {
	position: absolute;
  right: 5px;
  bottom: 5px;
  background-color: #ef7c00;
  width: 35px;
  height: 35px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 35px;
  border: 1px solid #fff;
}
.img-icon svg {
  color: #fff;
}

.inh-abs-titel {
  padding-bottom: 0.5rem;
}

.bildgala + .absatz-buttons {
  padding-top: 2rem;
}
.inh-abs-text + .bildgala {
  padding-top: 1rem;
}
.inh-abs-text + .absatz-buttons {
  padding-top: 0.5rem;
}
.content-element + .content-element {
  margin-top: 3rem;
}


#content-aside > div + div {
  padding-top: 50px;
}


.imgleft {
  float: left;
  margin-right: 30px;
  margin-bottom: 20px;
}
.imgright {
  float: right;
  margin-left: 30px;
  margin-bottom: 20px;
}
.clear {
  clear: both;
}
.absatz-buttons {
	display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 1rem;
}

.bildgala {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 40px;
  grid-row-gap: 40px;
}

.gala-bild-container a {
  display: block;
  position: relative;
}
.gala-bild-container a img {
  display: block;
  aspect-ratio: 1 / 1;
  width: 100%;
  object-fit: cover;
}



.listing-img{
  width: 260px;
  background:#f2f2f2;
}

.listing-img img{
  object-fit: cover;
  aspect-ratio: 1 / 1;
}


.immo-suche {
  margin-bottom: 25px;
}
.immosuche-flex {
  display: flex;
  gap: 25px;
  align-items: stretch;
}
.ws-area {
  padding: 10px;
}
.ws-area:nth-child(1) {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
}
.ws-area:nth-child(2) {
  flex: 0 0 280px;
}
.ws-area:nth-child(3) {
  flex: 0 0 280px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
}
.immosuchebg {
  background-color: #f2f2f2;
}

.immonav {
  padding: 10px;
}
.immonavtop {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  margin-top: 25px;
}


.immonavbottom {
  display: flex;
  justify-content: center;
  margin-top: 25px;
}


.slider-titel {
  text-align: center;
}
.slider-flex {
  display: flex;
  gap: 15px;
}
.slider-value {
  flex: 0 0 70px;
}
.slider-value.value-left {
  text-align: center;
}
.slider-value.value-right {
  text-align: center;
}
.slider-box {
  flex-grow: 1;
  padding-top: 5px;
}


.noUi-target {
  box-shadow: none;
  background: #666865;
}
.noUi-handle {
  box-shadow: none;
  background: #ef7c00;
}
.noUi-horizontal {
  height: 12px;
}
.noUi-horizontal .noUi-handle {
  top: -9px;
}


.btn[aria-disabled="true"]{
  pointer-events:none;
  opacity:.55;
}

.listing-quick-infos {
  display: flex;
  gap: 25px;
  row-gap: 15px;
  flex-wrap: wrap;
  margin-bottom: 15px;
}


#immogrid-container {
  display: grid;
  grid-template-columns: 1fr 400px;
  grid-gap: 50px;
  padding-bottom: 50px;
}
#immogrid-gala {
  grid-area: 1 / 1 / 2 / 2;
  width: 100%; 
}
#immogrid-info {
  grid-area: 1 / 2 / 2 / 3;
}
#immogrid-daten {
  grid-area: 2 / 1 / 3 / 3;
}

/* zum ändern der Höhe der Galerie muss in den folgenden 3 Definitionen die max-height angepasst werden! */
#carouselimmobilder .carousel-inner > .carousel-item { height: 550px; margin-top: 4px; margin-bottom: 3px; }
#carouselimmobilder .carousel-inner > .carousel-item > .carousel-item-content { max-height: 500px; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: auto; }
#carouselimmobilder .carousel-item { text-align: center; }
#carouselimmobilder .carousel-item img { max-height: 500px; max-width: 100%; }
/*#carouselimmobilder .carousel-control-prev, .carousel-control-next { color: #294594; font-size: 20pt; padding: 13px; background-color: #fff; }*/
#carouselimmobilder .carousel-caption { position: static; right: auto; left: auto; bottom: auto; padding-top: 6px; padding-bottom: 6px; font-size: 17pt; color: #333; }

#carouselimmobilder .carousel-inner > .carousel-item .img-icon, #carouselcontent .carousel-inner > .carousel-item .img-icon {
  bottom: initial;
  top: 40px;
  right: initial;
  left: 50%;
  transform: translateX(-50%);
}


.carousel .carousel-control-prev.carousel-icon-btn,
.carousel .carousel-control-next.carousel-icon-btn{
  width: 44px;
  height: 44px;
  top: 50%;
  transform: translateY(-50%);
  bottom: auto;
  opacity: 1;
  border-radius: 999px;
  background: #ef7c00;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.carousel .carousel-control-prev.carousel-icon-btn{ left: 12px; }
.carousel .carousel-control-next.carousel-icon-btn{ right: 12px; }

.carousel .carousel-control-prev.carousel-icon-btn .carousel-control-prev-icon,
.carousel .carousel-control-next.carousel-icon-btn .carousel-control-next-icon{
  display: none;
}

.carousel .carousel-icon-btn i{
  font-size: 18px;
  color: #fff;
}

.carousel .carousel-icon-btn:focus-visible{
  outline: 3px solid #ef7c00;
  outline-offset: 3px;
}



#carouselimmobilder .carousel-inner > .carousel-item a {
  /* display: flex; */
  align-items: center;
  /* height: 100%; */
  justify-content: center;
}

#immogrid-info-adresse {
  padding-bottom: 20px;
  font-size: 16pt;
}
#immogrid-info-adresse span {
  display: block;
}

#immo-energie-text {
  font-size: 15pt;
}
.energie-wert {

}
.energiew-left {
  display: inline-block;
  width: 180px;
}
.energiew-right {
  display: inline-block;
}

#immogrid-info-energiedaten {
  padding-bottom: 30px;
}

#immogrid-info-kontkat {
  font-size: 15pt;
}
.immoflex-info-whgnr {
  padding-bottom: 20px;
}
.immoflex-info-asp-bild {
  padding-bottom: 20px;
}
.immoflex-info-asp-bild img {
  max-width: 100%;
}

#immogrid-daten-flex-container {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 80px;
  margin-bottom: 75px;
  justify-content: center;
}
.immogrid-daten-flex-item {
  flex: 0 0 auto;
}
.immogrid-daten-flex-item .wsle-wert {
  font-size: 30pt;
}

#immogrid-zusatz-flex-container {
  display: flex;
  gap: 30px;
  justify-content: space-around;
  align-items: flex-start;
  margin-bottom: 75px;
}
.immogrid-zusatz-flex-item {
  flex: 0 0 50%;
  max-width: 400px;
  width: 400px;  
}

#ausstattung-table {
  display: table;
  width: 100%;
}
.ausstattung-table-row {
  display: table-row;
}

.ausstattung-table-col {
  display: table-cell;
}
.atc-titel {
  padding-left: 10px;
}
.atc-symbol {
  font-size: 17pt;
  text-align: center;
}

#immo-texte {
  padding: 0 23px;
}
.immo-text-inhalt {
  padding-bottom: 50px;
}
.immo-text-inhalt-haftung {
  padding-top: 30px;
}
.aktion-container {
  position: relative;
  padding-bottom: 30px;
}
.immo-text-aktionsicon {
  padding-right: 10px;
  position: absolute;
  top: -7px;
}
.immo-text-aktionsicon img {
  max-width: 60px;
}
.aktion-container h3 {
  margin-left: 45px;
  padding: 0 13px 0 23px;
  display: inline;
  background-color: var(--ci-color-orange);
}

#immogrid-info-adresse {
  display: flex;
  gap: 15px;
}

#geo-link {
  font-size: 37pt;
  line-height: 60px;
}

#immogrid-info-flex-buttons-container {
  display: flex;
  padding-bottom: 30px;
}
.immogrid-info-flex-buttons-item {
  flex: 0 0 50%;
}
.immogrid-info-flex-buttons-item .btn {
  width: 95%;
  font-size: 12pt;
}

#immogrid-info-anfrage {
  text-align: right;
}


.dl-auto{
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 1rem;
  row-gap: .25rem;
}

.dl-auto dt{
  font-weight: 500;
  white-space: nowrap;
}

.dl-auto dd{
  margin: 0;
}

.stellplatz-typen {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 25px;
  grid-row-gap: 0;
}

.gaestewohnung-datum {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 25px;
  grid-row-gap: 25px;
}

.belegungskalender-border {
  padding: 10px;
  max-width: 370px;
}


.abs-tabelle {
  display: table;
  width: 100%;
  padding-bottom: 15px;
}

.at-row {
  display: table-row;
}

.at-cell {
  display: table-cell;
  position: relative;
  padding: 10px 8px 11px 8px;
  color: #000;
  font-size: 11pt;
  vertical-align: top;
}

.at-cell p {
  margin-bottom: 0;
}

.at-row:nth-child(odd) .at-cell {
  background: #b7b7b7;
}

.at-row:nth-child(even) .at-cell {
  background: #d3d3d3;
}

.at-row:first-child .at-cell {
  background-color: #9a9c9d;
  font-weight: bold;
}

.at-cell-margin {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background-color: #fff;
}


.ma-liste {
  display: table;
  width: 100%;
  padding-top: 40px;
}

.ma-eintrag {
  display: table-row;
}

.ma-bild {
  display: table-cell;
  vertical-align: top;
  width: 20%;
  padding-bottom: 35px;
}

.ma-bild img {
  display: block;
  width: 100%;
}

.kontakt-bild-solo {
  padding-top: 40px;
}

.ma-infos {
  display: table-cell;
  vertical-align: top;
  box-sizing: border-box;
  padding-left: 30px;
  padding-bottom: 35px;
}

#seitentitel.ma-infos-titel h1 {
  padding-top: 0;
}

.ma-infos.infos-no-pic {
  padding-left: 0;
}

.ma-abteilung {
  padding-bottom: 5px;
  font-size: 13pt;
}

.ma-name {
  font-weight: bold;
  padding-bottom: 5px;
  font-size: 13pt;
}

.ma-position {
  font-size: 11pt;
}

.ma-kontakt {
  padding-top: 15px;
}

.ma-kontakt i {
  font-size: 14pt;
}

.ma-telefon-mobil {
  padding-top: 3px;
}

.ma-email {
  padding-top: 3px;
}

.ma-adresse {
  padding-top: 15px;
}

.ma-strasse {
  padding-top: 3px;
}

.ma-plzort {
  padding-top: 3px;
}


.ugruppe {
  display: table;
  width: 100%;
}

.ugruppe-eintrag {
  display: table-row;
}

.ugruppe-bild {
  display: table-cell;
  vertical-align: top;
  width: 20%;
  padding-bottom: 35px;
}

.ugruppe-bild img {
  display: block;
  width: 100%;
}

.ugruppe-infos {
  display: table-cell;
  vertical-align: top;
  box-sizing: border-box;
  padding-left: 30px;
  padding-bottom: 35px;
}

.ugruppe-infos p:last-child {
  padding-bottom: 0;
}

.ugruppe-titel {
  padding-bottom: 5px;
  font-size: 13pt;
}

.uguppe-infotext {
  padding-top: 5px;
}

.ugruppe-link {
  text-align: right;
}

.carousel-caption {
  bottom: 0;
  background-color: #666865;
  padding: 10px;
  left: 0;
  width: 100%;
  color: #fff;
}

.download-file-type {
  width: 40px;
  display: block;
}






















/* Consent Banner */
#consent-banner { position: fixed; bottom: 0; left: 0; width: 100%; background-color: rgb(0 0 0 / 90%); z-index: 5000; color: #fff; }
#consent-banner, #consent-banner * { box-sizing: border-box; }
#consent-banner-center { max-width: 1000px; padding: 10px; display: flex; gap: 35px; margin: 0 auto; }
#consent-banner-left { flex-grow: 1; }
#consent-banner-right { flex: 0 0 175px; }

#content-banner-buttons { display: flex; flex-direction: column; gap: 8px; }
.consent-banner-button > button { width: 100%; }

#consent-banner-text { padding-bottom: 10px; }
#consent-banner-links { display: flex; gap: 20px; }
#consent-banner-links a, #consent-banner-links a:hover { font-weight: bold; color: #fff; }

#consent-banner-checkboxen { display: flex; gap: 30px; padding-top: 10px; flex-wrap: wrap; }

.cb-btn { background-color: #3c2353; color: #fff; border: 1px solid #d3d3d3; border-radius: 3px; padding: 6px; cursor: pointer; }


.consent-banner-unblock-info { background-color: #F1F1F1; text-align: center; padding: 15px; }
.consent-banner-unblock-info-text p { padding-bottom: 0; margin-bottom: 0; }
.consent-banner-unblock-info-link { padding-top: 10px; }
.consent-banner-unblock-info-button { padding-top: 15px; }


@media screen and (max-width: 1024px){
  #consent-banner-center { flex-direction: column; gap: 15px; }
  #consent-banner-left { flex: 0 0 100%; }
  #consent-banner-right { flex: 0 0 auto; }
  #content-banner-buttons { flex-direction: row; justify-content: center; }
  .consent-banner-button { flex: 0 0 175px; }
}
@media screen and (max-width: 768px){
  #content-banner-buttons { flex-direction: column; gap: 12px; }
  .consent-banner-button { flex: 0 0 auto; }
}
@media screen and (max-width: 450px){
  #content-banner-buttons { flex-direction: column; gap: 10px; }
  .consent-banner-button { flex: 0 0 auto; }
}
/* Consent Banner */

.cookie-informationen { display: table; box-sizing: border-box; padding-bottom: 25px; }
.cookie-informationen * { box-sizing: border-box; }
.cookie-row { display: table-row; }
.cookie-info-name { display: table-cell; vertical-align: top; white-space: nowrap; padding: 0 0 5px 0; font-weight: bold; font-style: italic; }
.cookie-info-text { display: table-cell; vertical-align: top; padding: 0 0 5px 10px; }
.cookie-info-text p:last-child { margin-bottom: 0; }

.iframe-daten-info { text-align: center; background-color: rgb(0 0 0 / 15%); padding: 4% 2%; }









.text-orange {
  color: #ef7c00 !important;
}

.bg-orange {
  background-color: #ef7c00 !important;
}

.text-gray {
  color: #666865 !important;
}

.bg-gray {
  background-color: #666865 !important;
}

.bg-lightgray {
  background-color: #f0f0f0 !important;
}




*:focus {
  outline: 2px solid #ef7c00;
  outline-offset: 2px;
}

*:focus-visible {
  outline: 2px solid #ef7c00;
  outline-offset: 2px;
}

@media screen and (max-width: 1700px) {
  .footer-row {
    flex-direction: column;
  }
  #footer-right-line {
    width: 100%;
  }
  .footer-copyright {
    text-align: left;
  }
  .footer-hotline {
    text-align: left;
  }
}

@media screen and (max-width: 1400px) {
  #content .content-wrapper {
    flex-direction: column;
  }
  #content-aside > div {
    max-width: 600px;
    margin: 0 auto;
  }
  #content-aside > div + div {
    padding-top: 80px;
  }
}

@media screen and (max-width: 1300px) {
  .scrollbox-thumbs {
    display: none;
  }
  .startboxen-flex {
    grid-template-columns: repeat(2, 1fr);
  }
  .startboxen-flex > *:nth-child(3) {
    grid-column: 1 / span 2;
    justify-self: center;
  }

  .site-header {
    display: none;
  }
  #mobile-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    position: sticky;
    top: 0;
    background-color: #666865;
    z-index: 500;
  }
  #mobile-header-logo img {
    display: block;
    height: 50px;
  }
  #mobile-header-navigation a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 28pt;
    height: 50px;
    width: 50px;
    color: #fff;
  }
  .offcanvas {
    background-color: #666865;
  }
  .offcanvas .nav-link, .offcanvas .dropdown-item  {
    color: #fff !important;
  }
  .offcanvas .dropdown-menu {
    background-color: #666865;
  }
  .offcanvas .dropdown-item:hover, .offcanvas .dropdown-item:focus {
    background-color: #5a5a5a;
  }
  #mobile-menuLabel img {
    display: block;
    max-width: 250px;
    width: 100%;
  }
  .listing{
    flex-direction: column;
    justify-content: space-between;
  }
  .listing-img{
    width: 100%;
    height: 220px;
  }
  .listing-img img {
    width: 100%;
  }
}

@media screen and (max-width: 1200px) {
  .hero-cta .btn {
    font-size: 2.35rem;
  }
  .hero-cta .btn span {
    font-size: 2.35rem;
  }
  #immogrid-container {
    grid-template-columns: 1fr;
  }
  #immogrid-gala {
    grid-area: 1;
  }
  #immogrid-infos {
    grid-area: 2;
  }
  #immogrid-daten {
    grid-area: 3;
  }
}

@media screen and (max-width: 1100px) {
  .hero-cta .btn {
    font-size: 2.15rem;
  }
  .hero-cta .btn span {
    font-size: 2.15rem;
  }
  .hero-cta .cta-label {
    font-size: 1.2rem;
  }
  .immosuche-flex {
    flex-wrap: wrap;
  }
  .ws-area:nth-child(1) {
    flex: 0 0 100%;
  }
  .ws-area:nth-child(2), .ws-area:nth-child(3) {
    flex: calc(50% - 12.5px);
  }
}

@media screen and (max-width: 1000px) {
  .startboxen-flex {
    grid-template-columns: 1fr;
  }
  .startboxen-flex > * {
    justify-self: center;
  }
  .startboxen-flex > *:nth-child(3) {
    grid-column: 1;
  }
  .footer-legal {
    justify-content: center;
    row-gap: 15px;
  }
  .scrollbox-thumbs {
    display: none;
  }

  .scrollbox-content {
    flex-direction: column;
  }

  .scrollbox-main {
    width: 100%;
  }

  .scrollbox-image {
    max-width: 100%;
  }

  .scrollbox-info {
    text-align: center;
    padding: 1.5rem 0 0 0;
  }
  .bildgala {
    grid-template-columns: repeat(3, 1fr);
  }
  #immogrid-zusatz-flex-container {
    flex-direction: column;
  }
  .immogrid-zusatz-flex-item {
    flex:  0 0 auto;
    max-width: 100%;
    width: 100%;
  }
  #immo-texte {
    padding: 0;
  }
}

@media screen and (max-width: 765px) {
  .footer-copyright {
    text-align: center;
  }
  .footer-hotline {
    text-align: center;
  }
  .footer-left {
    flex-direction: column;
    row-gap: 15px;
    align-items: flex-start;
  }
  .infobox {
    padding: 10px;
  }
  .infobox-footer {
    flex: 0 0 50px;
  }
  .infobox-content {
    padding: 10px;
  }
  .startboxen .content-wrapper, .prelude .content-wrapper, .footer-content .content-wrapper, .scrollbox .content-wrapper {
    padding: 0 12px;
  }
  #content .content-wrapper {
    padding-left: 12px;
    padding-right: 12px;
  }
  .hero-cta {
    position: static;
    padding: 0 12px;
    transform: translateY(0);
  }
  .hero-cta .btn, .hero-cta .btn span {
    text-align: center;
    font-size: calc(1.375rem + 1.5vw) !important;
  }
  .hero-cta .cta-label {
    width: 100%;
    text-align: center;
    font-size: calc(1.1rem + 0.6vw) !important;
  }
  h1 {
    font-size: calc(1.375rem + 1.5vw) !important;
  }
  h2 {
    font-size: calc(1.325rem + 0.9vw) !important;
  }
  h3 {
    font-size: calc(1.3rem + 0.6vw) !important;
  }
  .bildgala {
    grid-template-columns: repeat(2, 1fr);
  }
  .ws-area:nth-child(2), .ws-area:nth-child(3) {
    flex: calc(100%);
  }
  .immonavtop {
    flex-direction: column;
    gap: 20px;
  }
  .immonav-ergebnis {
    display: none;
  }
  #immogrid-zusatz-flex-container {
    margin-bottom: 10px;
  }
  #immogrid-daten-flex-container {
    gap: 30px 40px;
  }
  #carouselimmobilder .carousel-inner > .carousel-item {
    height: 300px;
  }
  .stellplatz-typen {
    grid-template-columns: 1fr;
  }
  .gaestewohnung-datum {
    grid-template-columns: 1fr;
  }
  .img-container {
    width: 100% !important;
  }
  .abs-tabelle {
    display: block;
  }

  .at-row {
    display: block;
    padding-bottom: 10px;
  }

  .at-cell {
    display: block;
    padding: 5px 8px 5px 8px;
  }

  .at-cell-margin {
    display: none;
  }

  .at-row:nth-child(odd) .at-cell:first-child {
    border-bottom: 1px solid #d3d3d3;
  }

  .at-row:nth-child(even) .at-cell:first-child {
    border-bottom: 1px solid #9a9a9a;
  }


  .ma-liste {
    display: block;
  }

  .ma-eintrag {
    display: block;
  }

  .ma-bild {
    display: block;
    padding-bottom: 10px;
    width: auto;
  }

  .ma-infos {
    display: block;
    padding-left: 0;
    padding-bottom: 45px;
  }

  .ma-no-bild {
    display: none;
  }


  .ugruppe {
    display: block;
  }

  .ugruppe-eintrag {
    display: block;
  }

  .ugruppe-bild {
    display: block;
    padding-bottom: 10px;
    width: auto;
  }

  .ugruppe-infos {
    display: block;
    padding-left: 0;
    padding-bottom: 45px;
  }

  .ugruppe-no-bild {
    display: none;
  }
}


#designbody { background: none; background-color: #fff !important; color: #000; font-size: 10pt; font-weight: 400; font-family: Arial, Sans-serif; }
#designbody ul, ol { padding-left: 21px; }
#designbody p { padding-bottom: 1rem; }
.mceContentBody { padding-top: 0!important; }
