/*************************************************************
 * Copyright notice
 *
 * (c) 2023, a7digital GmbH
 *
 * This script is part of the TYPO3 project. The TYPO3 project is
 * free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * The GNU General Public License can be found at
 * http://www.gnu.org/copyleft/gpl.html.
 *
 * This script is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * This copyright notice MUST APPEAR in all copies of the script!
 ************************************************************/
.tx-a7realty span,
.a7realtyimitation span {
  overflow: hidden;
  white-space: nowrap;
}
.tx-a7realty .immobilielist .listitem,
.a7realtyimitation .immobilielist .listitem {
  overflow: hidden;
  background-color: #e5e5e5;
  margin: 0 0 1em;
}
.tx-a7realty .immobilielist .listitem .image,
.a7realtyimitation .immobilielist .listitem .image {
  float: left;
  width: 220px;
  height: 145px;
  margin: 0 auto;
}
.tx-a7realty .immobilielist .listitem .image a img,
.a7realtyimitation .immobilielist .listitem .image a img {
  vertical-align: bottom;
  width: auto;
  height: 145px;
  margin: 0 auto;
}
.tx-a7realty .immobilielist .listitem .block,
.a7realtyimitation .immobilielist .listitem .block {
  float: left;
  padding: 30px 0;
  margin: 0 50px 0 50px;
  max-width: calc(100% - 320px);
}
.tx-a7realty .immobilielist .listitem h3,
.a7realtyimitation .immobilielist .listitem h3 {
  font-size: 1.5em;
}
.tx-a7realty .immobilielist .listitem .geo,
.a7realtyimitation .immobilielist .listitem .geo {
  font-weight: 700;
  font-size: 1.2em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-bottom: 0.8em !important;
}
.tx-a7realty.list a,
.a7realtyimitation.list a,
.tx-a7realty.list a > *,
.a7realtyimitation.list a > * {
  color: inherit !important;
}
.tx-a7realty > .beschreibungen *:first-child,
.a7realtyimitation > .beschreibungen *:first-child {
  font-weight: 700;
  margin-bottom: 1.5em;
}
.tx-a7realty .block .objektbeschreibung,
.a7realtyimitation .block .objektbeschreibung {
  margin-top: 0.8em;
}
.tx-a7realty .block,
.a7realtyimitation .block {
  margin-bottom: 0.8em;
  margin-top: 50px;
}
.tx-a7realty table,
.a7realtyimitation table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.tx-a7realty table tbody td,
.a7realtyimitation table tbody td {
  background: #f2f2f2;
  word-break: break-word;
  padding: 0.8em 1em 0.7em;
  border: 0.4em solid #ffffff;
}
.tx-a7realty td:first-child,
.a7realtyimitation td:first-child {
  width: 33.33%;
  min-width: 230px;
  max-width: 40vw;
  vertical-align: top;
  border-left: none;
}
.tx-a7realty td:last-child,
.a7realtyimitation td:last-child {
  border-right: none;
}
.tx-a7realty .mobileonly,
.a7realtyimitation .mobileonly {
  display: none;
}
.tx-a7realty .mobileonly.energieeffizienzklasse,
.a7realtyimitation .mobileonly.energieeffizienzklasse {
  background: #f2f2f2;
  padding: 0.8em 1em 0.7em;
}
.tx-a7realty table tbody .platzhalter,
.a7realtyimitation table tbody .platzhalter {
  visibility: hidden;
}
.tx-a7realty .tiptext,
.a7realtyimitation .tiptext {
  margin-top: 0.8em;
}
.tx-a7realty tr:first-child td,
.a7realtyimitation tr:first-child td {
  border-top: none;
}
.tx-a7realty tr:last-child td,
.a7realtyimitation tr:last-child td {
  border-bottom: none;
}
.tx-a7realty .optionsmenu a,
.a7realtyimitation .optionsmenu a {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  width: auto;
  padding: 0.5em 1.5em;
  margin: 0 1.8em 1.8em 0;
}
.tx-a7realty .optionsmenu a:hover,
.a7realtyimitation .optionsmenu a:hover {
  color: #ffffff !important;
  background-color: #0e7cd2;
  text-decoration: none;
}
.tx-a7realty .imagecycle,
.a7realtyimitation .imagecycle {
  width: 100%;
}
.tx-a7realty .slick-slider.a7carousel-1-main .slick-img,
.a7realtyimitation .slick-slider.a7carousel-1-main .slick-img {
  height: 400px;
  width: auto;
}
.tx-a7realty .slick-slider.a7carousel-1-nav .slick-img,
.a7realtyimitation .slick-slider.a7carousel-1-nav .slick-img {
  height: 60px;
  width: auto;
}
.tx-a7realty .slick-slider.a7carousel-1-nav figure,
.a7realtyimitation .slick-slider.a7carousel-1-nav figure {
  margin: 0 5px 0 0;
}
.tx-a7realty .fieldgroup,
.a7realtyimitation .fieldgroup {
  margin-bottom: 50px;
}
.tx-a7realty .fieldgroup:last-child,
.a7realtyimitation .fieldgroup:last-child {
  margin-bottom: 0;
}
.tx-a7realty .formular div > h3,
.a7realtyimitation .formular div > h3 {
  margin-bottom: 1.2em;
}
.tx-a7realty .formular .inputfield,
.a7realtyimitation .formular .inputfield,
.tx-a7realty .formular .absendefeld,
.a7realtyimitation .formular .absendefeld {
  display: inline-block;
  width: 20em;
  max-width: 100%;
  margin: 0 0 0.9em;
}
.tx-a7realty td:first-child .formular .absendefeld,
.a7realtyimitation td:first-child .formular .absendefeld {
  width: 100%;
}
.tx-a7realty .formular .inputfield > .label,
.a7realtyimitation .formular .inputfield > .label {
  width: auto;
}
.tx-a7realty .formular .field > .label,
.a7realtyimitation .formular .field > .label {
  display: block;
  float: left;
  width: 11em;
  margin: 0.5em 1em 0.4em 0;
  clear: both;
}
.tx-a7realty .formular .doppelfeld,
.a7realtyimitation .formular .doppelfeld {
  margin: 0;
  display: inline-block;
}
.tx-a7realty .formular .doppelfeld > input,
.a7realtyimitation .formular .doppelfeld > input {
  width: 5em;
  max-width: 60%;
}
.tx-a7realty .formular .doppelfeld > label,
.a7realtyimitation .formular .doppelfeld > label {
  display: inline;
}
.tx-a7realty .formular .field input,
.a7realtyimitation .formular .field input,
.tx-a7realty .field textarea,
.a7realtyimitation .field textarea,
.tx-a7realty select,
.a7realtyimitation select {
  background: #e5e5e5;
  border: none;
}
.tx-a7realty .formular .field input,
.a7realtyimitation .formular .field input,
.tx-a7realty .field textarea,
.a7realtyimitation .field textarea,
.tx-a7realty .chosen-container-multi .chosen-choices,
.a7realtyimitation .chosen-container-multi .chosen-choices {
  padding: 0.5em 0.45em;
}
.tx-a7realty .chosen-container,
.a7realtyimitation .chosen-container {
  text-align: left;
  max-width: 100%;
}
.tx-a7realty .chosen-container-multi .chosen-choices li,
.a7realtyimitation .chosen-container-multi .chosen-choices li {
  display: inline-block;
  float: none;
}
.tx-a7realty .chosen-container-multi .chosen-choices li.search-choice,
.a7realtyimitation .chosen-container-multi .chosen-choices li.search-choice {
  padding: 3px 20px 7px 5px;
}
.tx-a7realty select,
.a7realtyimitation select {
  padding: 0.3em 0.6em 0.4em;
}
.tx-a7realty .formular .field input:hover,
.a7realtyimitation .formular .field input:hover,
.tx-a7realty .field textarea:hover,
.a7realtyimitation .field textarea:hover,
.tx-a7realty .field select:hover,
.a7realtyimitation .field select:hover {
  background: #dddddd;
}
.tx-a7realty .field select,
.a7realtyimitation .field select,
.tx-a7realty .field input,
.a7realtyimitation .field input,
.tx-a7realty .field textarea,
.a7realtyimitation .field textarea {
  width: 100%;
  max-width: 34em;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.tx-a7realty .formular .absenden input,
.a7realtyimitation .formular .absenden input {
  width: auto;
  min-width: 12em;
  color: #ffffff;
  background: #0c68b1;
  padding: 0.5em 2em;
  border: none;
  margin-left: 12em;
}
.tx-a7realty .formular .absenden input:hover,
.a7realtyimitation .formular .absenden input:hover {
  background: #0e76c9;
}
.tx-a7realty .query-options,
.a7realtyimitation .query-options {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 1em;
}
.tx-a7realty .query-options > *,
.a7realtyimitation .query-options > * {
  display: flex;
  flex: 0 1 auto;
  gap: 0.25em;
  align-items: baseline;
}
.tx-a7realty .query-options > * > *,
.a7realtyimitation .query-options > * > * {
  flex: 0 1 auto;
}
.tx-a7realty .query-options .area input,
.a7realtyimitation .query-options .area input {
  width: 5em;
}
.tx-a7realty .query-options .sort,
.a7realtyimitation .query-options .sort {
  order: 2;
}
.tx-a7realty .query-options .region select,
.a7realtyimitation .query-options .region select,
.tx-a7realty .query-options .region .chosen-container,
.a7realtyimitation .query-options .region .chosen-container {
  width: 13em;
}
.tx-a7realty .query-options .region .chosen-choices,
.a7realtyimitation .query-options .region .chosen-choices {
  padding-top: 0.2em;
  padding-bottom: 0.2em;
}
.tx-a7realty form select option,
.a7realtyimitation form select option {
  padding-left: 0.3em;
  margin: 0.4em 1.5em 0.4em 0.45em;
}
.tx-a7realty .formular #field-privacypolicy,
.a7realtyimitation .formular #field-privacypolicy {
  width: auto;
}
.tx-a7realty .formular .field.privacypolicy,
.a7realtyimitation .formular .field.privacypolicy {
  white-space: nowrap;
}
.tx-a7realty .formular .field.privacypolicy > .label,
.a7realtyimitation .formular .field.privacypolicy > .label {
  display: inline-block;
  position: relative;
  bottom: 1px;
  float: none;
  white-space: normal;
  width: auto;
  margin: 1em 0 1em 0.5em;
}
.tx-a7realty .absenden input.clicked,
.a7realtyimitation .absenden input.clicked {
  filter: grayscale(1);
}
@media (max-width: 639px) {
  .tx-a7realty .immobilielist .listitem,
  .a7realtyimitation .immobilielist .listitem {
    padding-top: 30px;
  }
  .tx-a7realty .immobilielist .listitem .image,
  .a7realtyimitation .immobilielist .listitem .image {
    float: none;
    width: 220px;
  }
  .tx-a7realty .immobilielist .listitem .block,
  .a7realtyimitation .immobilielist .listitem .block {
    max-width: calc(100% - 100px);
  }
  .tx-a7realty .immobilielist .listitem .geo,
  .a7realtyimitation .immobilielist .listitem .geo {
    white-space: inherit;
    overflow: initial;
    text-overflow: initial;
  }
  .tx-a7realty .mobileonly,
  .a7realtyimitation .mobileonly {
    display: block !important;
  }
  .tx-a7realty .nomobile,
  .a7realtyimitation .nomobile {
    display: none !important;
  }
}
@media (min-width: 640px) and (max-width: 969px) {
  .tx-a7realty .formular .inputfield,
  .a7realtyimitation .formular .inputfield {
    width: calc(100% - 15em);
  }
  .tx-a7realty .formular .field > .label,
  .a7realtyimitation .formular .field > .label {
    width: 14em;
  }
  .tx-a7realty .formular .field.privacypolicy > .label,
  .a7realtyimitation .formular .field.privacypolicy > .label {
    width: auto;
  }
  .tx-a7realty .formular .absenden input,
  .a7realtyimitation .formular .absenden input {
    margin-left: 15em;
  }
}
@media (max-width: 639px) {
  .tx-a7realty .formular .inputfield,
  .a7realtyimitation .formular .inputfield {
    width: calc(100% - 10em);
  }
  .tx-a7realty .formular .field > .label,
  .a7realtyimitation .formular .field > .label {
    width: 9em;
  }
  .tx-a7realty .formular .field.privacypolicy > .label,
  .a7realtyimitation .formular .field.privacypolicy > .label {
    width: auto;
  }
  .tx-a7realty .formular .absenden input,
  .a7realtyimitation .formular .absenden input {
    margin-left: 10em;
  }
}
@media (max-width: 550px) {
  .tx-a7realty .formular .inputfield,
  .a7realtyimitation .formular .inputfield,
  .tx-a7realty .formular .chosen-container,
  .a7realtyimitation .formular .chosen-container,
  .tx-a7realty .formular .field > .label,
  .a7realtyimitation .formular .field > .label,
  .tx-a7realty .formular .field .optioncheckboxes,
  .a7realtyimitation .formular .field .optioncheckboxes,
  .tx-a7realty .formular .absenden,
  .a7realtyimitation .formular .absenden,
  .tx-a7realty .formular .absenden input,
  .a7realtyimitation .formular .absenden input {
    width: 100%;
  }
  .tx-a7realty .formular .absenden input,
  .a7realtyimitation .formular .absenden input {
    margin-left: 0;
    margin-top: 1em;
  }
}
