/* DEFAULT ELEMENT STYLES */
* {
  font: normal 14px Verdana, Arial, sans-serif;
  text-decoration: none;
  line-height: 1.6;
  padding: 0px;
  margin: 0px;
  scroll-behavior: smooth;
}
html{
  scroll-padding-top: 118px;
}
body {
  position: relative;
  z-index: 3;
  scroll-padding-top: 118px;
}
h1 {
  font-weight: bold;
  font-size: 20px;
}
h2 {
  font-weight: bold;
  font-size: 16px;
}
/* GENERIC CLASSES */
.clear {
  clear: both;
}
.alert {
  background-color: inherit;
  color: red;
}
.hint {
  font-size: 80%;
}
.margin-center {
  margin: 0px auto 0px auto;
}
.float-right {
  float: right;
}
.float-left {
  float: left;
}
.col-container {
  display: table;
}
.col {
  display: table-cell;
}
/*Header settings*/
.header {
  display: block;
  height: 118px;
  position: fixed;
  z-index: 10;
  top: 0px;
  left: 0px;
  width: 100%;
}
.he-logo img {
  position: absolute;
  width: 150px;
  height: auto;
  top: 30px;
  left: 20px;
}
nav {
  position: fixed;
  top: 63px;
  width: 100%;
  display: flex;
}
.navigation {
  position: absolute;
  right: 0;
  display: flex;
}
.navigation li {
  padding: 10px 15px 0px 15px;
  list-style: none;
}
.navigation a {
  text-decoration: none;
  font-size: 16px;
  text-transform: uppercase;
}
.show-responsive {
  display: none;
}
.menu {
  position: absolute;
  top: -10px;
  right: 20px;
  display: none;
}
.menu div {
  width: 45px;
  height: 6px;
  margin: 5px;
  transition: all 0.3s ease;
}
/*Main content*/
#main {
  width: 1400px;
  margin: 170px auto 70px auto;
}
#main .main-left-content {
  position: relative;
  z-index: 2;
  width: 1200px;
  border-radius: 10px;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.3);
  padding-bottom: 10px;
}
#main .main-right-content {
  width: 20%;
  position: absolute;
  z-index: 1;
  padding: 0px;
}
/*Left side, main settings*/
.obgm-logo {
  width: auto;
  height: 300px;
  padding: 40px 230px 40px 230px;
  float: left;
}
.start-text {
  font-size: 22px;
  line-height: 1.6;
  font-weight: bold;
  padding: 30px 30px 20px 25px;
}
.main-text {
  padding: 0px;
  padding-left: 20px;
  font-size: 14px;
}
.welcome-text {
  font-size: 14px;
  line-height: 1.6;
  padding: 0px 60px 15px 25px;
}
.sk-btn, .gpk_button {
  border: none;
  padding: 10px;
  margin: 20px 0px 20px 250px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 14px;
  cursor: pointer;
  border-radius: 5px;
  float: left;
  clear: both;
}
.sk-btn:focus, .gpk_button:focus {
  outline: 0;
}
.sponsor {
  padding: 10px 30px 0px 0px;
}
.spons-text-frag {
  width: 100%;
  padding: 20px 0px 20px 30px;
  float: left;
}
.sponsor-logo {
  padding: 5px 0px 5px 0px;
  float: left;
}
.sponsor-text {
  font-weight: bold;
  font-size: 14px;
  padding: 20px 0px 0px 30px;
}
.first-sponsor {
  margin-top: 10px;
}
.first-sponsor, .second-sponsor {
  height: 65px;
  padding: 0px 0px 0px 30px;
}
.minist-logo {
  height: 50px;
  padding: 10px 0px 30px 30px;
}
/*Right side, main settings*/
.box {
  position: relative;
  height: 140px;
  width: 250px;
  margin-bottom: 5px;
  margin-left: -10px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.4);
  text-align: center;
  cursor: pointer;
}
.box a {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 2px;
}
.with-image p {
  position: relative;
  top: 5px;
  /*left: -18px;*/
  font-size: 13px;
  font-weight: 600;
}
.with-image img {
  width: 140px;
  position: relative;
  /*left: -22px;*/
  top: 10px;
}
.no-image {
  height: 50px;
}
.with-image .box-text-link {
  position: absolute;
  font-weight: 600;
  top: 15px;
  left: 36px;
  font-size: 13px;
}
.box:first-child {
  border-radius: 0px 10px 0px 0px;
}
.box:last-child {
  border-radius: 0px 0px 10px 0px;
}
.box-all-content {
  height: 100%;
  position: absolute;
  right: 15%;
  top: 0;
  /*border-left: 1px solid #dbd0d0;*/
}
.box-arrow-top {
  border: solid #fff;
  border-width: 0 3px 3px 0px;
  display: inline-block;
  padding: 8px;
  position: absolute;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  top: 12px;
  /*right: -41px;*/
}

.box-arrow-top.with-image {
  top: 56px;
}

.box-arrow-bottom {
  border: solid #fff;
  border-width: 0 3px 3px 0px;
  display: inline-block;
  padding: 10px;
  position: absolute;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  top: 10px;
  right: 14px;
}
/*Top button*/
#myBtn {
  display: none;
  position: fixed;
  bottom: 150px;
  right: 140px;
  z-index: 99;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 20px 40px;
  border-radius: 10px;
}
.myBtn-text {
  font-size: 18px;
  left: 35px;
  position: absolute;
  top: 5px;
}
.arrow-but-top {
  border: solid #fff;
  border-width: 0 2px 2px 0px;
  display: inline-block;
  padding: 6px;
  position: absolute;
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
  top: 16px;
  right: 55px;
}
/*Questions and Answers*/
.frage-icon {
  width: 25px;
  float: right;
  margin-top: -35px;
}
.arrow-box {
  position: relative;
  float: right;
  margin-top: -25px;
  right: 5px;
  width: 20px;
  height: 20px;
  border: 2px solid #5e7f7d;
  border-radius: 5px;
}
.arrow-down {
  border: solid #83888c;
  border-width: 0 2px 2px 0px;
  display: none;
  padding: 5px;
  top: 7px;
  left: 4px;
  position: absolute;
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}
.main-question.active .arrow-down {
  display: inline-block;
  top: 7px;
  transform: rotate(225deg);
  -webkit-transform: rotate(225deg);
  transition: 0ms linear transform;
}
.main-question:not(.active) .arrow-down {
  display: inline-block;
  top: 1px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transition: 0ms linear transform;
}
.second-question {
  font-weight: bold;
  font-size: 16px;
  padding: 20px 45px 5px 25px;
}
.main-left-frag ul {
  list-style-type: none;
  padding-left: 20px;
}
.themen ul {
  list-style: none;
}
.themen ul li::before {
  content: "\2022";
  font-weight: bold;
  display: inline-block;
  width: 16px;
  margin-left: 5px;
  position: absolute;
}
#grundlegendes, #funk_solar, #anschaffung_solar, #photovoltaik, #solarthermie, #heatpump,
#etapp1, #etapp2, #etapp3, #etapp4, #etapp5, #etapp6, #etapp7, #etapp8, #etapp9 {
  display: none;
}
.main-question {
  border-bottom: 2px solid #dbd0d0;
  width: 93%;
  margin: 0 20px 5px 20px;
  padding: 5px 0px 5px 10px;
  border-radius: 5px;
  cursor: pointer;
}
.question h2 {
  font-size: 16px;
  font-weight: 300;
  width: 780px;
}
.fra {
  font-size: 14px;
  padding: 10px 20px 30px 30px;
}
.frag-text {
  font-size: 14px;
  padding: 20px 10px 5px 0px;
  line-height: 1.6;
}
.text-answer-list li {
  margin-left: 20px;
}
.plane-text, .house-text, .sun-text, .text-text {
  width: 200px;
  font-size: 13px;
  padding: 10px 20px 5px 20px;
  float: left;
}
.themen {
  padding: 10px 20px 30px 20px;
}
.themen a {
  padding-top: 4px;
  padding-bottom: 4px;
}
.ent {
  height: 600px;
}
.entst {
  position: relative;
  padding: 20px 100px 600px 10px;
}
.ent-text {
  font-size: 13px;
  padding: 10px 10px 30px 10px;
}
.frag-bild {
  height: auto;
  width: 200px;
}
#solarkataster {
  width: 100%;
}
.ent-top {
  width: 99%;
  margin: auto;
  padding: 20px 0px 0px 0px;
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
}
.ent-plane,
.ent-house,
.ent-sun,
.ent-text {
  width: 45%;
  padding: 5px 5px;
  box-sizing: border-box;
}
.ent-bot {
  width: 99%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
}
.main-tipps {
  padding-left: 20px;
}
.etappe-main {
  padding: 10px 60px 10px 25px;
  font-size: 14px;
}
.etappe-main-first {
  padding: 0px 20px 20px 20px;
}
.etappe-main h1,
.etappe-main-first h1 {
  padding: 0 0 20px 0;
}
.etappen {
  padding: 20px 20px 0px 20px;
  font-weight: bold;
  font-size: 17px;
}
.etappen ul {
  padding-top: 20px;
  padding-left: 35px;
}
.etappen ul li {
  font-weight: bold;
  padding: 10px 20px 0px 0px;
  list-style-type: disc;
}
.etappen p {
  padding: 15px 20px 0px 5px;
  font-size: 14px;
}
.sec-ques-last {
  margin-bottom: 10px;
}
/*Solarkataster*/
#map {
  top: 121px;
  width: auto;
  height: 471px;
  z-index: 0;
}
.footer-solar {
  margin-top: 118px;
}
.footer-solar {
  margin-top: 88px;
}
/*Impressum, Widerspruch, Datenschutz, Haftungs., Links*/
.genehm-text, .wider-text, .daten-text, .impressum-text{
  font-size: 14px;
  line-height: 1.6;
  padding: 0px 40px 15px 25px;
}
.genehm-main, .wider-main{
  font-weight: bold;
}
.daten-text b, h3, strong, .impressum-text b, h3, strong{
  font-weight: bold;
}
.daten-text h2, h3, strong, .impressum-text h2,h3, strong, .links h2,h3{
  margin: 10px 0 10px 0;
}
.daten-text ul {
  margin: 10px 30px 10px 30px;
}
.daten-text a, .frag-text a{
  word-break: break-all;
}
.left-cont{
  min-height: 350px;
}
.links {
  padding-left: 30px;
}
.links ul{
  padding: 0 0 20px 30px;
}
.links ul li{
  text-decoration: underline;
}
/*Footer settings*/
.arrow-box-spk {
  position: relative;
  margin-top: 0px;
  left: 10px;
  width: 15px;
  height: 15px;
  border: 2px solid #5e7f7d;
  border-radius: 5px;
}
.arrow-down-spk {
  border: solid #83888c;
  border-width: 0 2px 2px 0px;
  display: none;
  padding: 3px;
  left: 4px;
  position: absolute;
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}
.footer-arrow-spk.active .arrow-down-spk {
  display: inline-block;
  top: 7px;
  transform: rotate(225deg);
  -webkit-transform: rotate(225deg);
  transition: 0ms linear transform;
}
.footer-arrow-spk:not(.active) .arrow-down-spk {
  display: inline-block;
  top: 2px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transition: 0ms linear transform;
}
.footer {
  width: 100%;
  display: block;
/*  position: absolute;*/
  z-index: 1111;
  text-align: center;
}
.footer ul a {
  text-decoration: none;
  outline: none;
  transition: 0.3s;
  padding: 5px;
}
.logo-tet {
  position: relative;
  height: auto;
  width: 150px;
  top: 10px;
}
.footer-item-logo {
  height: 40px;
}
.footer-item-logo p {
  /*font-weight: 600;*/
  font-size: 12px;
}
.footer-item-list {
  padding: 10px 6px 10px 6px;
  box-sizing: border-box;
}
.footer-item-list ul li {
  display: inline;
}
.footer-item-list a:hover {
  cursor: pointer;
}
.footer-bottom {
  padding: 5px 0px 5px 40px;
  text-align: center;
}
.footer-bottom p {
  font-size: 12px;
}

/* footer new */
#footer_show_hide {
  display: none;
}
.arrow-box-show-hide {
  position: relative;
  left: 10px;
  width: 15px;
  height: 15px;
  border: 2px solid #5e7f7d;
  border-radius: 5px;
  cursor: pointer;
  margin-top: 5px;
}
.arrow-box-show-hide > svg {
  fill: #5e7f7d;
  margin: 2px;
  margin-bottom: 4px;
  stroke-width: 5px;
  stroke: #5e7f7d;
}

.arrow-box-show-hide.active_f > svg {
  transform: rotate(180deg);
}
