* {
  box-sizing: border-box; }

/* Grundgeruest */
html {
  height: 100%;
  margin: 0;
  padding: 0;
  width: 100%; }

body {
  background: #fff;
  color: #393939;
  font-size: 14px;
  font-family: 'Oxygen', 'Arial', sans-serif;
  line-height: 165%;
  padding: 0px;
  margin: 0px;
  position: relative;
  width: 100%;
  font-weight: 400;
  text-align: left;
  min-height: 100%;
  height: 100% !important;
  -webkit-text-size-adjust: none;
  overflow-y: scroll; }

footer .inside, #navigation .inside, #container .inside, .titelslider .inside {
  width: 90%;
  position: relative;
  z-index: 20;
  max-width: 1200px;
  margin: 0 auto; }

.titelslider ul {
  margin: 0px;
  list-style: none;
  padding: 0px; }

.titelslider ul li {
  height: 370px;
  width: 100%;
  background-size: cover !important;
  background-position: center !important; }

.titelslider .inside {
  height: 370px; }

.titelslider .inside .readbox {
  background: rgba(251, 8, 52, 0.9);
  padding: 20px 28px;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  position: absolute;
  left: 0px;
  font-size: 16px;
  bottom: 110px; }

.titelslider ol.flex-control-nav {
  list-style: none;
  position: absolute;
  bottom: 30px;
  left: 0px;
  right: 0px;
  margin: 0px;
  padding: 0px;
  text-align: center; }

.titelslider ol.flex-control-nav li {
  display: inline-block;
  margin-right: 3px;
  position: relative;
  padding: 3px 0;
  margin-bottom: 0px;
  top: 5px; }

.titelslider ol.flex-control-nav li a {
  width: 9px;
  height: 9px;
  display: block;
  background: #fb0834;
  text-indent: -100000px;
  border-radius: 50%;
  cursor: pointer; }

.titelslider ol.flex-control-nav li a:hover, .titelslider ol.flex-control-nav li a.flex-active {
  background: none;
  border: 2px solid #fb0834;
  width: 13px;
  height: 13px; }

@media only screen and (min-width: 700px) {
  .titelslider ol.flex-control-nav {
    bottom: 87px; } }

/* HEADER */
header {
  z-index: 10;
  width: 100%;
  max-width: 100%;
  position: relative;
  height: 370px; }

header .header {
  z-index: 100;
  width: 100%;
  max-width: 100%;
  position: relative; }

.logo {
  position: absolute;
  z-index: 130;
  display: block;
  left: -49px;
  top: -3px; }

@media only screen and (min-width: 1080px) {
  .logo {
    left: -96px;
    top: -7px; } }

.logo a {
  display: block;
  text-indent: -100000px;
  padding-top: 0px; }

.logo a img {
  max-width: 100%; }

.logo img {
  display: block;
  border: none;
  max-width: 50%;
  width: auto !important; }

iframe {
  width: 100% !important;
  border: none; }

/* Navigation */
#navigation {
  position: absolute;
  z-index: 130;
  top: 30px;
  left: 0px;
  right: 0px; }

#navigation .inside {
  background: url(../images/bg-nav.png) bottom left repeat-x;
  box-shadow: 3px 3px 4px rgba(0, 0, 0, 0.15);
  min-height: 70px;
  background-size: contain !important; }

button {
  display: inline-block;
  margin: 0;
  border: none;
  background: none; }

button span {
  display: block; }

.grid-button {
  cursor: pointer;
  user-select: none;
  color: #fff;
  padding: 27px 20px;
  height: 18px;
  width: 29px;
  z-index: 140;
  background: url(../images/mobil.png) center no-repeat;
  display: block;
  float: right;
  margin-right: 20px;
  top: 0px;
  position: relative; }

/* Ebene 1 */
.navi {
  display: none; }

.navi ul {
  list-style: none;
  margin: 0px;
  padding: 0px 0 0 0;
  z-index: 1000;
  text-align: left; }

.navi ul li {
  position: relative;
  text-align: left;
  display: inline-block; }

.navi ul li a.last {
  background: none; }

.navi ul li a, .navi ul li strong {
  position: relative;
  color: #181816;
  display: block;
  padding: 18px 12px 13px 12px;
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase; }

.logo a img {
  max-width: 200px; }

.navi ul li > a.trail, .navi ul li > a.active, .navi ul li > strong.active, .navi ul li > a:hover, .navi ul li > strong:hover {
  background: #fb0831;
  color: #fff;
  font-weight: 700; }

@media only screen and (min-width: 900px) {
  .col_48 {
    float: left;
    width: 46%; }
  .col_48.offset {
    margin-right: 8%; }
  .col_40 {
    float: left;
    width: 40%; } }

.col_60 {
  float: left;
  width: 100%; }

.col_60.offset {
  margin-right: 0%; }

.col_30 {
  float: left;
  width: 100%; }

.col_30.offset {
  margin-right: 0%; }

.col_20 {
  float: left;
  width: 100%; }

.col_20.offset {
  margin-right: 0%; }

.col_35 {
  float: left;
  width: 100%; }

.col_35.offset {
  margin-right: 0%; }

@media only screen and (min-width: 590px) and (max-width: 900px) {
  .col_60 {
    float: left;
    width: 65%; }
  .col_60.offset {
    margin-right: 5%; }
  .col_30 {
    float: left;
    width: 30%; }
  .col_30.offset {
    margin-right: 5%; }
  .col_20 {
    float: left;
    width: 20%; }
  .col_20.offset {
    margin-right: 5%; }
  .col_35 {
    float: left;
    width: 35%; }
  .col_35.offset {
    margin-right: 5%; } }

@media only screen and (min-width: 970px) {
  .col_60 {
    float: left;
    width: 65%; }
  .col_60.offset {
    margin-right: 5%; }
  .col_30 {
    float: left;
    width: 30%; }
  .col_30.offset {
    margin-right: 5%; }
  .col_20 {
    float: left;
    width: 20%; }
  .col_20.offset {
    margin-right: 5%; }
  .col_35 {
    float: left;
    width: 35%; }
  .col_35.offset {
    margin-right: 5%; } }

@media only screen and (min-width: 900px) {
  .col_70 {
    float: left;
    width: 61%;
    padding-right: 2%;
    position: relative; }
  .col_70::after {
    content: '';
    position: absolute;
    top: 0px;
    right: 0px;
    width: 1px;
    bottom: 0px;
    background: #dbdbd8; }
  .col_30_1 {
    float: left;
    width: 35%;
    padding-left: 2%;
    position: relative; }
  .col_30_1::after {
    content: '';
    position: absolute;
    top: 0px;
    left: -1px;
    width: 1px;
    bottom: 0px;
    background: #dbdbd8; } }

@media only screen and (min-width: 1200px) {
  .col_70 {
    float: left;
    width: 66%; }
  .col_30_1 {
    float: left;
    width: 30%; } }

@media only screen and (min-width: 1080px) {
  .navi {
    display: block;
    float: right; }
  .grid-button {
    display: none; }
  .logo a img {
    max-width: 100%; }
  .navi ul li > a, .navi ul li > strong {
    padding: 44px 12px 38px 12px; }
  #navigation .inside {
    min-height: 138px;
    background-size: auto !important; } }

@media only screen and (min-width: 1220px) {
  .navi ul li > a, .navi ul li > strong {
    padding: 44px 22px 38px 22px; } }

/* Titelbox */
/* CONTENT */
#container {
  position: relative;
  z-index: 100;
  padding: 50px 0; }

h1 {
  position: relative;
  display: block;
  font-weight: 700;
  font-size: 16px;
  line-height: 120%;
  color: #fb0831;
  margin-top: 0px;
  margin-bottom: 25px;
  text-transform: uppercase;
  text-align: center; }

h2 {
  position: relative;
  display: block;
  font-weight: 700;
  font-size: 16px;
  line-height: 140%;
  color: #388bf1;
  margin-top: 0px;
  text-align: center;
  width: 100%;
  margin: 0 auto 35px auto; }

h3 {
  color: #fb0831;
  font-weight: 700;
  position: relative;
  padding: 0 0 7px 0;
  font-size: 16px;
  margin-top: 0px; }

h3::after {
  content: '';
  position: absolute;
  left: 0px;
  width: 56px;
  height: 2px;
  bottom: 0px;
  background: #fb0831; }

h4 {
  position: relative;
  font-weight: 700;
  font-size: 14px;
  line-height: 140%;
  color: #393939;
  margin-top: 0px;
  display: inline-block; }

h5 {
  color: #393939;
  font-size: 14px;
  position: relative;
  line-height: 130%;
  font-weight: normal;
  display: inline-block;
  margin-top: 0;
  padding: 10px 0 10px 0px;
  margin-bottom: 0px; }

h6 {
  color: #393939;
  font-size: 14px;
  position: relative;
  line-height: 130%;
  font-weight: bold;
  display: block;
  margin-top: 0;
  padding: 24px 0 10px 0px;
  margin-bottom: 0px;
  text-align: center; }

a {
  color: #fb0831;
  text-decoration: none; }

a:hover {
  color: #650700; }

form {
  padding: 0 0px; }

fieldset {
  padding: 20px; }

fieldset p {
  margin: 0px; }

form label {
  width: auto;
  float: left;
  display: block;
  text-align: left;
  padding: 5px 0;
  font-size: 14px; }

form input, form textarea, form select {
  width: 100%;
  display: block;
  font-family: 'Oxygen', 'Arial', sans-serif;
  font-size: 14px;
  font-weight: 300;
  border-radius: 5px;
  background: #fff;
  border: none;
  float: left;
  padding: 20px 20px; }

.submit_container {
  float: right; }

.submit {
  background: #fb0831;
  padding: 20px 40px;
  margin-top: 10px;
  text-align: center;
  display: block;
  color: #fff;
  border: 0px;
  border-radius: 5px;
  font-size: 14px;
  float: none;
  width: 100%;
  font-weight: bold;
  cursor: pointer; }

.submit:hover {
  background: #e3042d;
  color: #fff;
  transition: all 0.2s linear; }

@media only screen and (min-width: 500px) {
  .submit {
    background: #fb0831 url(../images/button.png) right center no-repeat; }
  .submit:hover {
    background: #e3042d url(../images/button-h.png) right center no-repeat; } }

form .checkbox_container {
  border: none;
  padding: 0px; }

form .checkbox_container input {
  float: left;
  width: 10px;
  margin-top: 10px;
  margin-right: 10px; }

form .checkbox_container label {
  float: left;
  width: 80%; }

form .datenschutz {
  font-size: 14px; }

@media only screen and (min-width: 500px) {
  form input, form textarea, form select {
    width: 69%;
    float: left; }
  form .datenschutz {
    margin-left: 30%; }
  form .datenschutz {
    width: auto; }
  form .checkbox_container {
    margin-left: 30%; } }

form input[type="radio"] {
  width: 10px;
  margin-right: 10px;
  padding-top: 5px; }

@media only screen and (min-width: 500px) {
  .datenschutztext {
    margin-left: 30%;
    width: 70%; }
  form .button {
    margin-left: 30%; } }

/* Spalten */
.hr {
  margin: 30px 0;
  border-top: 1px solid #DBDBDB;
  border-bottom: 1px solid #fff;
  width: 100%;
  height: 2px;
  position: relative; }

/* Allgemein */
@media only screen and (min-width: 500px) {
  .formicon {
    display: block;
    position: relative;
    padding: 45px 0 45px 151px; }
  .formicon1 {
    position: relative; }
  .formicon1::before {
    content: '';
    background: url(../images/formicon1.png?v1) no-repeat;
    width: 43px;
    height: 22px;
    display: block;
    position: absolute;
    left: 20px;
    top: -10px;
    z-index: 10; }
  .formicon::before {
    content: '';
    background: url(../images/formicon.png?v1) no-repeat;
    width: 151px;
    height: 210px;
    display: block;
    position: absolute;
    left: 0px;
    top: 0px; } }

.berechnungsform {
  background: #f4f4f4;
  border-radius: 5px;
  padding: 30px;
  margin-top: 15px; }

.berechnungsform h2 {
  text-align: left;
  margin: 0px;
  width: 100%; }

.berechnungsform label {
  pointer-events: none;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  color: #c0c0c0;
  z-index: 10;
  padding: 20px 20px; }

.widget {
  position: relative; }

.berechnungsform input {
  position: relative;
  width: 100%; }

.is-focused input {
  color: #393939; }

.is-focused label {
  display: none; }

.berechnungsform .info {
  background: url(../images/bg_info.jpg);
  border-radius: 5px;
  padding: 15px 25px 15px 85px;
  position: relative; }

.berechnungsform .formicon1 {
  margin-bottom: 10px; }

.berechnungsform .info::before {
  content: '';
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 20px;
  background: url(../images/info.png?v1);
  width: 43px;
  height: 42px; }

.autarkie {
  background: #dbdbd8;
  padding-bottom: 5px; }

.berechnungsform.autarkie .formicon1 {
  margin-bottom: 0px; }

.autarkie h2 {
  color: #fb0834; }

.autarkie form {
  margin-top: 15px; }

.autarkie .widget {
  margin-bottom: 10px !important; }

@media only screen and (min-width: 1000px) {
  .autarkie .widget {
    position: relative;
    width: 31%;
    float: left;
    margin-right: 2.33%;
    margin-bottom: 0px; } }

.autarkie .submit {
  margin: 0px;
  color: #fff; }

@media only screen and (min-width: 500px) {
  .autarkie .formicon {
    display: block;
    position: relative;
    padding: 20px 0 20px 64px; }
  .autarkie .formicon1 {
    position: relative; }
  .autarkie .formicon1::before {
    content: '';
    background: url(../images/formicon1.png?v1) no-repeat;
    width: 20px;
    height: 10px;
    display: block;
    position: absolute;
    left: 10px;
    top: -5px;
    z-index: 10;
    background-size: contain; }
  .autarkie .formicon::before {
    content: '';
    background: url(../images/formicon.png?v1) no-repeat;
    width: 70px;
    height: 90px;
    display: block;
    position: absolute;
    left: 0px;
    top: 0px;
    background-size: contain; } }

.autarkiebox {
  margin-top: 25px; }

.reglerbox {
  border-radius: 5px;
  border: 1px solid #dbdbd8;
  padding: 20px 25px;
  margin-bottom: 10px; }

.reglerbox input {
  border-radius: 3px;
  border: 1px solid #dbdbd8;
  padding: 12px 15px;
  width: 67px;
  text-align: right; }

.reglerbox label {
  padding: 10px 0px 10px 15px; }

.reglerslider {
  margin-bottom: 20px; }

.reglervalue {
  float: right;
  width: auto !important;
  margin-bottom: 20px; }

@media only screen and (min-width: 590px) {
  .reglervalue {
    margin-bottom: 0px; } }

.reglervalue.solar {
  float: left;
  width: auto !important; }

.reglervalue.solar label {
  width: 30px; }

.schnellauswahl {
  float: left;
  width: 100%;
  margin-top: 6px;
  margin-bottom: 10px; }

@media only screen and (min-width: 590px) and (max-width: 829px) {
  .schnellauswahl {
    float: left;
    width: 55%;
    margin-top: 6px;
    margin-bottom: 0px; } }

@media only screen and (min-width: 830px) and (max-width: 900px) {
  .schnellauswahl {
    float: left;
    width: 70%;
    margin-top: 6px;
    margin-bottom: 0px; } }

@media only screen and (min-width: 970px) {
  .schnellauswahl {
    float: left;
    width: 55%;
    margin-top: 6px;
    margin-bottom: 0px; } }

@media only screen and (min-width: 1300px) {
  .schnellauswahl {
    float: left;
    width: 74%;
    margin-top: 6px; } }

.schnellauswahl .istro {
  float: left;
  width: auto;
  margin-right: 7%;
  cursor: pointer; }

.istro .icon {
  background: url(../images/person.png?v1) no-repeat;
  width: 12px;
  height: 32px;
  display: inline-block; }

.istro:hover .icon, .istro.active .icon {
  background: url(../images/person-h.png) no-repeat; }

.grad {
  background: #e9e9e9;
  border: 1px solid #dbdbd8;
  width: 52px;
  height: 42px;
  position: relative;
  cursor: pointer;
  float: left;
  margin-right: 10px;
  margin-bottom: 10px; }

.grad:hover, .grad.active {
  background: #fb0834;
  border: 1px solid #dbdbd8; }

.grad span {
  background: #393939;
  width: 29px;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 10px;
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%); }

.grad20 span {
  -ms-transform: rotate(-20deg);
  -o-transform: rotate(-20deg);
  -webkit-transform: rotate(-20deg);
  -moz-transform: rotate(-20deg);
  transform: rotate(-20deg); }

.grad30 span {
  -ms-transform: rotate(-30deg);
  -o-transform: rotate(-30deg);
  -webkit-transform: rotate(-30deg);
  -moz-transform: rotate(-30deg);
  transform: rotate(-30deg); }

.grad45 span {
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.grad:hover span, .grad.active span {
  background: #fff; }

.solaraus input {
  width: 60px; }

.roundsliderbox {
  position: relative;
  padding: 30px; }

.solaranlage {
  position: relative; }

.s {
  position: absolute;
  bottom: 0px;
  left: 66px;
  color: rgba(57, 57, 57, 0.5);
  width: 30px;
  text-align: center; }

.sw {
  position: absolute;
  bottom: 20px;
  left: 12px;
  color: rgba(57, 57, 57, 0.5);
  width: 30px;
  text-align: center; }

.w {
  position: absolute;
  top: 70px;
  left: -5px;
  color: rgba(57, 57, 57, 0.5);
  width: 30px;
  text-align: center; }

.nw {
  position: absolute;
  top: 20px;
  left: 12px;
  color: rgba(57, 57, 57, 0.5);
  width: 30px;
  text-align: center; }

.n {
  position: absolute;
  top: 0px;
  left: 66px;
  color: rgba(57, 57, 57, 0.5);
  width: 30px;
  text-align: center; }

.no {
  position: absolute;
  top: 20px;
  right: 12px;
  color: rgba(57, 57, 57, 0.5);
  width: 30px;
  text-align: center; }

.o {
  position: absolute;
  top: 70px;
  right: -5px;
  color: rgba(57, 57, 57, 0.5);
  width: 30px;
  text-align: center; }

.so {
  position: absolute;
  bottom: 20px;
  right: 12px;
  color: rgba(57, 57, 57, 0.5);
  width: 30px;
  text-align: center; }

.roundsliderbox {
  float: right; }

.rs-range-color {
  background-color: #ecece9; }

.rs-path-color {
  background-color: #ecece9; }

.rs-handle {
  background-color: #fb0834;
  padding: 7px;
  border: 2px solid #fff; }

.rs-handle.rs-focus {
  border-color: #fb0834; }

.rs-handle:after {
  border-color: #fb0834;
  background-color: #fb0834; }

.rs-border {
  border-color: transparent; }

.resultbox {
  font-weight: bold;
  border-radius: 5px;
  border: 1px solid #dbdbd8;
  padding: 2px 25px;
  margin-bottom: 10px;
  margin-top: 25px; }

.resultbox .tabs {
  display: inline-block;
  font-weight: bold;
  margin-right: 15px;
  width: auto; }

.boxw1 {
  width: 100px;
  display: inline-block; }

.boxw2 {
  width: 100px;
  color: #b7d872;
  display: inline-block; }

.boxw3 {
  width: 100px;
  color: #fb0834;
  display: inline-block; }

.diagramm {
  margin: 15px auto 0 auto;
  max-width: 400px; }

.aktionsbox {
  position: absolute;
  top: 20px;
  right: 20px; }

.append {
  width: 25px;
  height: 25px;
  background: #fb0834 url(../images/append.png) center no-repeat;
  border-radius: 3px;
  float: left;
  margin-left: 5px;
  cursor: pointer; }

.append:hover {
  background: #e3042d url(../images/append.png) center no-repeat; }

.close {
  width: 25px;
  height: 25px;
  border-radius: 3px;
  float: left;
  margin-left: 5px;
  background: #393939 url(../images/close.png) center no-repeat;
  cursor: pointer; }

.close:hover {
  background: #232323 url(../images/close.png) center no-repeat; }

.solaranlage2, .solaranlage3 {
  display: none; }

.faq {
  background: url(../images/faq.png) no-repeat;
  width: 23px;
  height: 23px;
  position: relative;
  margin-left: 10px;
  display: block;
  float: right;
  cursor: pointer; }

.toogleopen {
  position: relative;
  background: #dbdbd8;
  border-radius: 5px;
  padding: 20px;
  z-index: 100;
  display: none;
  margin-bottom: 20px; }

/* FOOTER */
footer {
  background: #388bf1;
  padding: 20px 0px;
  position: relative;
  z-index: 20;
  line-height: 180%; }

footer p {
  color: #fff; }

footer h3 {
  font-size: 16px;
  color: #fff;
  margin-top: 20px;
  position: relative;
  padding-bottom: 6px; }

footer h3::after {
  color: #fff;
  content: '';
  position: absolute;
  left: 0px;
  width: 30px;
  height: 2px;
  bottom: 0px;
  background: #0e54aa; }

footer ul {
  margin: 0px;
  padding: 0px;
  list-style: none; }

footer ul li .active {
  font-weight: 700; }

footer ul.etc {
  margin: 0px;
  padding: 0px;
  list-style: none;
  text-align: center; }

footer ul.etc li {
  display: inline-block;
  padding-right: 3px;
  padding-left: 3px;
  position: relative; }

footer a {
  color: #fff; }

footer a:hover {
  color: #fff;
  text-decoration: underline; }

footer .copyright {
  color: #acc7e9;
  font-size: 14px; }

footer .webdesign {
  color: #acc7e9;
  font-size: 14px; }

footer .webdesign a {
  color: #acc7e9; }

footer .webdesign a:hover {
  text-decoration: underline; }

.abi {
  float: left;
  margin-right: 50px; }

.fooline {
  border-top: 1px solid #1c6ccf;
  border-bottom: 1px solid #5aa1f9;
  width: 100%;
  height: 1px;
  margin: 20px 0; }

.kb {
  float: left;
  width: 100%; }

.ab {
  float: left;
  width: 100%; }

.mt0 {
  margin-top: 0px !important; }

@media only screen and (min-width: 440px) {
  .abi {
    width: 40%;
    min-height: 230px; } }

@media only screen and (min-width: 520px) {
  footer .copyright {
    float: left; }
  footer .webdesign {
    float: right; }
  footer ul.etc li {
    padding-right: 10px;
    padding-left: 10px; } }

@media only screen and (min-width: 620px) {
  .abi {
    width: auto;
    min-height: auto; } }

@media only screen and (min-width: 700px) {
  .akb {
    float: left;
    width: 46%;
    margin-right: 4%; }
  .okb {
    float: left;
    width: 46%; } }

@media only screen and (min-width: 1000px) {
  .akb {
    float: left;
    width: 21%;
    margin-right: 4%; }
  .okb {
    float: left;
    width: 25%; } }

.tabs {
  display: inline-block;
  width: 75px;
  font-weight: bold; }

.tabs1 {
  display: inline-block;
  width: 150px;
  font-weight: bold; }

b, strong {
  font-weight: 700; }

img {
  border: none;
  max-width: 100%;
  height: auto;
  vertical-align: middle; }

/* Floats ohne zusaetzliches Element aufheben */
.clearfix::after, .widget::after, .tableless::after, .inside::after, .custom::after, .rs-columns::after, .ce_gallery::after {
  content: "";
  visibility: hidden;
  display: block;
  clear: both;
  height: 0; }

@-ms-viewport {
  width: device-width; }

#cboxTitle, #cboxCurrent {
  display: none !important; }

.debug-konsole {
  font-size: 12px;
  background: #f0f0f0; }
  .debug-konsole .column {
    width: 25%;
    float: left; }
  .debug-konsole span.debug {
    background: #999;
    color: #fff;
    font-weight: bold;
    padding: 0 2px;
    border-radius: 2px; }

.autarkierechner .autarkierechner__panel {
  display: none; }

.autarkierechner .autarkierechner__panel .city_selection_box {
  background: #ffffff;
  border-radius: 5px;
  border-top: 2px solid #ddd;
  display: none;
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
  z-index: 1000;
  margin-top: -9px;
  margin-bottom: 10px;
  overflow: hidden; }
  .autarkierechner .autarkierechner__panel .city_selection_box ul {
    list-style-type: none;
    margin: 0;
    padding: 0; }
    .autarkierechner .autarkierechner__panel .city_selection_box ul li {
      padding: 10px 20px;
      border-bottom: 1px solid #f0f0f0;
      cursor: pointer; }
      .autarkierechner .autarkierechner__panel .city_selection_box ul li:last-child {
        border-bottom: none; }
      .autarkierechner .autarkierechner__panel .city_selection_box ul li:hover {
        background: #f9f9f9;
        color: #388bf1; }

.autarkierechner .autarkierechner__panel input.submit.disabled {
  background: #ccc;
  cursor: default; }

.autarkierechner .autarkierechner__panel div.standort_fehler {
  margin-top: 10px;
  margin-bottom: -20px;
  color: red;
  display: none; }

.ares__anfrage_formular h2 {
  margin: 20px 0; }
  .ares__anfrage_formular h2:first-of-type {
    margin-top: 0; }

.ares__anfrage_formular h2 + p {
  margin-top: -20px; }

.ares__anfrage_formular .widget {
  margin-bottom: 10px; }
  .ares__anfrage_formular .widget.col_30 {
    margin-right: 10px; }
    @media all and (max-width: 970px) {
      .ares__anfrage_formular .widget.col_30 {
        width: 100%; } }
  .ares__anfrage_formular .widget.col_70 {
    width: calc(70% - 10px);
    padding-right: 0; }
    @media all and (max-width: 970px) {
      .ares__anfrage_formular .widget.col_70 {
        width: 100%; } }

.ares__anfrage_formular .form_errors {
  color: red;
  font-weight: bold;
  margin: 0 0 30px 0;
  display: none; }

.ares__anfrage_formular.berechnungsform label.datenschutz {
  pointer-events: visiblePainted;
  position: static;
  top: inherit;
  left: inherit;
  width: auto;
  color: inherit;
  z-index: 10;
  margin: 10px 0;
  float: none;
  display: block;
  text-align: left;
  padding: 5px 0;
  font-size: 14px; }
  .ares__anfrage_formular.berechnungsform label.datenschutz input.datenschutz {
    width: auto;
    float: left;
    margin-right: 15px;
    margin-left: 0;
    position: static; }

.backend table.datatable {
  width: 100%;
  border-collapse: collapse; }
  .backend table.datatable th {
    border-bottom: 2px solid #bbb; }
  .backend table.datatable td {
    border-bottom: 1px solid #ddd; }

.backend .column-1, .backend .column-2, .backend .column-3 {
  width: 30%;
  float: left;
  border-right: 1px solid #f0f0f0;
  padding-left: 2%; }

.backend .column-3 {
  border-right: none; }

.backend .details ul {
  list-style-type: none;
  margin: 0 0 2rem 0;
  padding: 0; }

#stromspeicher__info {
  float: none;
  clear: both;
  padding-top: 5px;
  font-size: 13px; }
  #stromspeicher__info span b {
    font-weight: bold;
    border-bottom: 1px solid red; }

.toogleopen {
  font-size: 13px;
  padding: 10px;
  line-height: 130%; }

.resultbox .tabs.small {
  font-size: 12px;
  margin: -5px 0 0;
  display: block;
  color: #777; }

.resultbox table {
  width: 100%; }
  .resultbox table tr td {
    vertical-align: top; }
    .resultbox table tr td:nth-child(2) {
      text-align: right; }
  .resultbox table .faq2 {
    margin-left: 0; }

.hinweis__gesamtflaeche_erreicht {
  display: none;
  clear: both;
  font-size: 10px;
  line-height: 1.2;
  padding: 0.5rem 0 0 0;
  font-weight: bold;
  color: darkred; }

.reglerbox input.hightlightGesamtflaeche {
  border: 2px solid darkred;
  padding: 11px 14px; }
