html {
  font-size: 62.5%;
}

body {
  letter-spacing: .02em;
  font-size: 2.3rem;
}

p {
  font-size: 1.6rem;
}

.div_inner {
  width: 100%;

  background-color: white;

    background-color: #fff;
}

.head{

  padding: 2rem 2rem 2rem 2rem;
}

.main{
  padding: 2rem 2rem 2rem 2rem;
}
.headline_div {
  padding-top: 2rem;
  padding-bottom: 3.5rem;
  /* margin-left: 3.1rem; */
}

.jahr-container {
  display: inline-flex;
  align-items: center;
  gap: 0.25em;    /* Abstand zwischen Pfeilen und Zahl */
}

.jahr-switch {
  color: #415972;
  background: transparent;
  border: none;
  font-size: 1em;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  transition: color 0.2s;
}

.jahr-switch:disabled {
  color: #bbb;           /* Ausgegraut */
  cursor: default;
  opacity: 0.7;          /* Optional, für zusätzlichen “ausgegraut”-Effekt */
}

.heading_content {
  width: 100%;
      margin-bottom: 30px;

}

.paragraph{
  margin-bottom: 0;
}

.heading_content_left {
  min-width: ;
  width: 100%;
  /* margin-left: 3.1rem; */
    /* margin-right: 4.1rem; */
}
.head-table {

  width: 100%;

  max-width: 50rem;
margin-left: auto;
margin-right: auto;
}

.paragraph_div, .beschluss_div {
}

.beschluss_div{
  color: #415972;
  display: flex;
  align-items: center;

  margin-top: 1rem;
  margin-bottom: 4rem;

}

.Regierungsvorlage{
  text-decoration: none;
  font-weight: bold;
  font-size: 1.4rem;

}

.Regierungsvorlage_span{
  line-height: 1;
}

.Regierungsvorlage:hover{
  text-decoration: underline;
  color: #415972;
}

.RegierungsvorlageIcon{
  vertical-align: text-bottom;
  position: static;
  margin: 0;
  margin-right: 0.5em;
  margin-left: 0.5em;
  height:11px;
  text-indent:1.5em;

}
.headsvg {
  /*background-color: yellow;*/
  height: 100%;
  margin-bottom: 30px;
}

.space_bottom {
  height: 20rem;
  width: 100%;
}

.headsvg_sumup {
  float: left;
  /*background-color: yellow;*/
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

.headsvg-inside {
  width: 20%;
}

.div_legend {
  width: 40%;
  /*background-color: green;*/
  display: flex;
  justify-content: center;
  align-items: center;
}

.div_outer {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  border: 0;
}

h1 {
  padding: 0;
  margin: 0;
  margin-top: 1rem;
  /* margin-bottom: 0.6rem; */
    margin-bottom: 1.6rem;
  /* font-size: 2.2rem; */
  /* line-height: 1.2; */
  font-weight: 700;
  text-align: left;
  font-weight: 700;
color: #132943;

font-size: 4.5rem;
/* text-align: center; */
}

h2{
  margin-bottom: 1.6rem;
font-size: 3rem;
line-height: 3.6rem;
letter-spacing: .1em;
font-weight: 700;
}



.heading {
  font-size: 3.8rem;
  letter-spacing: .09em;

  /* line-height: 1.2; */
  text-align: left;
  margin: 0;

  line-height: 4rem;
}

.second_headline{
  margin: 0;
line-height: 3rem;
  padding: 0;

}

.subhead_heading{
  font-weight: bold;
  font-size: 1.7rem;
}

.subhead_heading_div{
  margin-top: 1rem;

}



.entwurf_info_no_break{
 white-space: nowrap;


}

.wrap_graph_boxes {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}

.graphic_box {
  flex: 0 0 100%;
  width: calc(100% - 4rem);

  display: flex;
  flex-direction: column;
}

.max_vis_div_outer{
  display: flex;
  justify-content: center;
  width: 100%;

}
.max_vis_div{
  width: 100%;
  max-width: 450px;
  text-align: center;
}

.vis_div {
  background-color: #fff;
  height: 25rem;
  text-align: center;
}



.graphic_box_text {
  flex-direction: column;
  align-items: flex-start;
  padding: 3rem 3rem 5rem 3rem;
  background-color: #fff;
  color: #1b2028;
  border: 0.3rem solid #132943;
  margin-top: 0;
  flex: 1;
}
.graphic_box_text h3{
  margin-top: 0;

}

.sr-hidden{

}

.sr_rect{
  cursor: pointer;
  opacity: 0;

}


.graphic_box_text p{
  margin-bottom: 0;
  padding-bottom: 0;
}

.graphic_box_text_hide{

  position:relative;
  height: 10rem;
   text-overflow: ellipsis;
     overflow: hidden;
       font-size: 1.6rem;
       white-space: wrap;

}

.fade_out_on:before{
  content:"";
  position:absolute;
  top: 3rem;
  width:100%;
  height:7rem;
  background: linear-gradient(rgba(0,0,0,0), #fff);
}

.fade_out_off:before{
  display: none;

}


h3 {
  /* font-size: 1.8rem; */
  line-height: 2.2rem;
  font-weight: 700;
  /* margin-bottom: 1.2rem; */
  margin-top: 1.8rem;

  font-size: 1.9rem;
    /* line-height: 3.1rem; */
    letter-spacing: .02em;
    /* font-weight: 400; */

    margin-bottom: 2.2rem;
    color: #132943;
}

.donut_div{
    width: 100%;
      display: flex;
      justify-content: center;

}

  #donut{
    max-width: 65rem;
    width: 100%;

  }


.table_div{
    width: 100%;
    display: flex;
    justify-content: center;
      min-width:;
      max-width: ;
}

.donut{
  width: 100%;
}


.button_div {
  /* float: right; */
}

.button_div_inner{
  margin: 0;
  border: 0;
  position: relative;
  top: calc(-0.15rem - 2rem);
  /*-20 - 1.5 da 20 hoch und border 3 dick*/
  height: 4rem;
  /* right: 2rem; */
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;


}



.button_vis {
  margin: 0 2rem 0 0;
  border: 0;

  height: 4rem;

  padding: 0.5rem 0.7rem 0.5rem 2rem;
  border-radius: 2rem;
  font-size: 1.3rem;
  line-height: 1.7rem;
  letter-spacing: .1em;
  font-weight: 700;
  color: #fff;
  background-color: #132943;
  cursor: pointer;
  /* float: right; */
  display: inline-block;
}



.button_info{
    padding: 0;
    margin: 0 0 0 0rem;
    border: none;
    background: none;
    cursor: pointer;
    letter-spacing: .02em;
      height: 8rem;
      width: 8rem;
      cursor: help;

}
.button_info_head{
    margin: 0;
    padding: 0.5rem 0.5rem 0.5rem 0.5rem;
    border: none;
    background: none;

      height: 4rem;
      width: 4rem;
      cursor: help;

}

.speech{
  max-width: none;


}
.speech_main{

  text-outline: -5px;
}



.top::after {
  top: -20px;
  left: 40px;
  margin-left: -20px;
}

#speech_main.top::after {
  top: -20px;
  left: calc(50% + 75px + 10px + 21px + 15px  );
  margin-left: -20px;
}

.speech_on{
  opacity: 1;
  display: inline;

}

.speech_off{

  opacity: 0;
  display: none;

}

.info_icon{

  height:3rem;
  text-indent:1.5em;
  background-color: white;
  margin: auto;

}
.arrow_icon{

  margin: 0 1rem 0 0.3rem;
  height:1rem;

}



.center_span1_FHEH, .center_span2_FHEH{
  font-size: 1.4rem;
}

.svgvor_ {
  width: 100%;
  height: 25rem;
}

.svgvor_donut{
    letter-spacing: .01em;
    width: 100%;
}

.svgvor_donut:focus{
    outline: 0px solid black;
}
    /* background-color: yellow; */


.y_axis_label{
  font-size: 2px;
  text-anchor: middle;
}



.donut_title{
  text-anchor: middle;
  fill: #132843;
  font-size: 4px;
}

.legend_donut{
font-size: 3px;
text-anchor: end;
fill: #132843;
line-height: 1;
}

.yaxis_ergebnis, .xaxis_ergebnis {
  stroke-width: 0.25px;
  font-size: 2px;
}
.xaxis_ergebnis text{
  text-anchor: middle;
}

.netto_line, .netto_path{
    stroke:#415972;
    /* stroke:#d9652e; */
    fill:none;
    stroke-width: 1px;
      outline: 0.5px solid transparent;
}

.netto_line:focus, .netto_path:focus{
  outline: 0.5px solid #132843;

}

.pathdashed{
  stroke-dasharray:1,1;
}

.circle_ergebnis{
  stroke-width:1;
  /* fill: #d9652e;; */
  outline: 0.5px solid transparent;

}

.circle_ergebnis:focus{

    outline-width: 0;

}

.path_unvis{
  opacity: 0;
  fill: none;
}

.ergbnis_label{
  text-anchor: begin;
  font-size: 2px;
  fill: #132843;
}




.space_graphic {
  display: block;
  opacity: 0;
  height: 0;
}

.space_graphic_each{
  display: block;
  opacity: 0;
  height: 11rem;
  width: 100%;

}



.image{
  height: 100%;
}

.vis_div_over{
  overflow: hidden;

}




/*-------------------d3.js------------------------*/

.donut_path{
  stroke-width: 1px;
  stroke: #132843;
  outline-width: 0;
}

.donut_path:focus{

      outline-width: 0;

}

.circle_center{
  font-size: 6px;
  line-height: 1;
  fill: #132843;
  text-anchor: middle;
  dominant-baseline: middle;



}

.svgvor_axis {
  width: 100%;
  height: 25rem;
  /* background-color: yellow; */
}

.AusEin_text {
  font-size: 5rem;
  fill: #132843;
  line-height: 1;
}

.text_example{
  fill: #132843;
  font-size: 1.3rem;
  line-height: 1.7rem;
  letter-spacing: .1em;
}

.example_name{
  text-anchor: begin;
  cursor: pointer;

}
.example_value{
  text-anchor: end;
  cursor: pointer;

}

.example_rect{
  height:1.7rem;
  width:100%;
  opacity: 0;
  cursor: pointer;
}

.AusEin_heading {
  text-anchor: begin;
  font-size: 1.3rem;
  line-height: 1.7rem;
  letter-spacing: .1em;
  fill: #132843;
}

.vollzug_balken {
  fill: #132843;
  stroke-width: 0px;
}

.vollzug_balken_weiss {
  fill: #fff;
}

.vollzug_balken_hinten {
  fill: #b8a552;
  stroke: 0;
}

.vollzug_heading {
  font-size: 1.3rem;
  line-height: 1.7rem;
  letter-spacing: .1em;
  font-weight: 700;
  fill: #132843;
}

.vollzug_date_text{
  text-anchor: end;

}

.vollzug_zahl {
  dominant-baseline: middle;
  dominant-baseline: middle;
  text-anchor: middle;
  font-size: 1rem;
  line-height: 1;
}



.vollzug_zahl_links {
  text-anchor: end;
  fill: #fff;
}




.vollzug_zahl_rechts {
  text-anchor: start;
  fill: #132843;
}

.BVA_entw_rect{
  fill: #132843;
  }

.erfolg_entw_rect{
  fill: #b8a552;
  }

.label_x_entw{
  text-anchor: middle;
  font-size: 1.6rem;
  letter-spacing: .02em;
  fill: #132843;
  color: #132843;

}
.label_y_entw{
  text-anchor: middle;
  font-size: 1.2rem;
  letter-spacing: .02em;
    fill: #132843;
    color: #132843;
}

.myYaxis_entw_aus path{
  opacity: 0;
}
.myYaxis_entw_ein path{
  opacity: 0;
}
.tick_numbers_entw{
  fill: #132843;;
  color: #132843;;
  text-anchor: end;
  font-size: 1.2rem;

}
.tick_numbers_voranschlag{
  fill: #132843;;
  color: #132843;;
  /* text-anchor: end; */
  font-size: 1.2rem;
dominant-baseline: middle;
}

.ticks_stroke{
fill: #132843;;
stroke: #132843;;
}

.legend.text{
    font-size: 1.3rem;
    letter-spacing: .02em;
  }


.legend.BVA{
 fill: #132843;;
}
.legend.erfolg{
  fill: #b8a552;

}

.yaxis_entw_text{
  x: 100%;
  text-anchor: begin;

}

.fheh_div_donut{
  height: 20px;
  width: 70px;
}


.div_switch_outer_donut{
  position: relative;
  width: 70px;
  height: 20px;
}
.div_switch_outer{
  position: absolute;
  width: 70px;
  height: 20px;
}

.div_switch{
  position: relative;
  top: -5.3rem;

}

.div_switch_donut{
  position: relative;
  top: -15px;
}

.polygon_vergleich{
  fill:  #ede4b9;
}

.div_panel{
  width: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0rem;
  margin-bottom: 3rem;

}
.div_panel_beschriftung{
  height: 2rem;
  width: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.div_panel_beschriftung_inner_left{
  display: flex;
  flex-direction: column;

  align-items: flex-end;
  width: 112px;


}
.FHEH_label_div_left{
  display: flex;
  flex-direction: row;

  justify-content: flex-end;
  margin-bottom: 0.3rem

}


.div_panel_beschriftung_inner_right{
  width: 105px;
}

.click_info{

  font-size: 1rem;
  text-align: right;
}

.click_arrow{
  margin-right: 28.75px;;
  height: 20px;
  -webkit-transform:rotate(180deg);
-moz-transform: rotate(180deg);
-ms-transform: rotate(180deg);
-o-transform: rotate(180deg);
transform: rotate(180deg);
}
.FHEH_span{
  text-anchor: middle;
  line-height: 1;
}
.FHEH_label_div_span{
  width: 15rem;

}
.FHEH_label_div{
  font-size: 1.3rem;
  line-height: 1;
  padding: 0 0 0 1rem;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}.FHEH_label{

}
.FHEH_label_div_right{
  display: flex;
  flex-direction: row;
  width: 30px;
  margin-left: 0rem;
  margin-top: 1rem;
  margin-right: 0px;
}


.switch{
  font-size: 4px;
}

.svgvor_kennz{
  z-index: 2;
cursor: pointer;
}

.svgvor_line {
  z-index: 1;

}
.line{
  stroke-width: 2;
  fill:none;
  z-index: 1;

}

.line.dashed{
stroke-dasharray:1,1;
}

.circle{
  fill: white;
  stroke:  #132843;
  z-index: 2;

}

.ticks_stroke_remove_kennz{
  z-index: 0;
}

.myYaxis_kennz path{
  opacity: 0;
}

.myYaxis_kennz text{
  fill: #132843;
  color: #132843;
}
.mouseover_kennz_rect{

  opacity: 0;
}


.tooltip{
  position: absolute;
  background-color: #fff;
  opacity: 0;
  display: none;
z-index: 7;
padding: 0.7rem;
border: 1px solid #132943;
text-align:center;
font-size: 1.2rem;
line-height: 1.2em;

}

.table_div_quicklinks{
  width: 100%;
  max-width: 650px;
}

.table_quicklinks{
  border: 0px solid #132843;
  border-collapse: collapse;
  margin: 0;
  width: 100%;
  position: relative;
  font-size: 1.4rem;
line-height: 1.8rem;

}



.th_quick{

      padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 1.6rem;
 padding-right: 1.6rem;
    text-align: left;
    border-bottom: 1px solid #132943;
    display: table-cell;
vertical-align: inherit;
font-weight: bold;

  }


.tr_quick{


  font-weight: normal;
  font-size: 1.4rem;
    line-height: 1.8rem;
    letter-spacing: .02em;
      border-top: 1px solid #132843;
      cursor: pointer;
      background-color: #fff;
}

.tr_quick:hover{
  background-color: #cadff4;


}


.td_quick{

   padding-left: 1.6rem;
padding-right: 1.6rem;
padding-top: 0.5rem;
padding-bottom: 0.5rem;
}


.div_icon_quicklink{
  height: 100%;
  display: flex;
  align-items: center;

}

.icon_link{
  width: 1.7rem;
  height: 1.7rem;
}

table .a_{
padding: 0;
text-decoration: none;
line-height: 1;
}

@media only screen and (min-width:1045px ) {
  html {
    font-size: 62.5%;
  }

  #speech_main.top::after {
    left: calc(50% + 105px + 10px + 15px);
  }
  .speech_main{

    top:20px;
  }

  .FHEH_label_div_right{
    margin-right: 82px;

    margin-top: 0rem;
  }
  .tooltip{
    padding: 2rem;
  border: 2px solid #132943;
  text-align:center;
  font-size: 1.5rem;
  line-height: 1.3em;

  }


  .heading {
    font-size: 4.8rem;
    letter-spacing: .128em;

    line-height: 5.4rem;
  }

  .headline_div {
    padding-bottom: 7rem;
    /* margin-left: 3.1rem; */
  }
  .second_headline{
    line-height: 3.6rem;
  }

  .div_inner{
      max-width: 1220px;
  }
  .graphic_box {
    flex: 0 0 33.3333333333%;
    max-width: calc(33.33333% - 1.5rem);

  }
  .max_vis_div{
    max-width: 100%;
    width: 100%;
  }
  .vis_div {

    width:100%
  }

  .div_inner {
    /*padding: 0 4.8rem  padding: 0 2.4rem;;*/
  }
  .svgvor_ {
    max-width:100%;
  }


  .FHEH_span{
    text-anchor: middle;
  }
  .FHEH_label_div_span{
    width: 21rem;

  }
  .FHEH_label_div{

    display: flex;
    flex-direction: row;
    align-items: center;

    font-size: 2rem;
  }




  .div_panel{

    margin-bottom: 0;

  }



    .heading_content_left {

      width: 50%;
      /* max-width: 550px; */
      float: left;
      /* margin-left: 3.1rem; */
        margin-right: 1rem;
    }
    .donut_div {
    margin: auto;
      width: 100%;
        max-width: 55rem;


      /* margin-right: 4.1rem;
      margin-left:0; */
      /* display: flex;
      flex-direction: column; */
    }
    .table_div {

      width: 50%;
        max-width: 50rem;
        min-width: 30rem;


      /* margin-right: 4.1rem;
      margin-left:0; */
      display: flex;
      flex-direction: column;
  margin: 0;
    }

    .heading_content {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      width: 100%;
      margin-bottom: 0px;

    }

    .space_graphic {
      display: block;
      opacity: 0;
      height: 9rem;
    }

    .space_graphic_each{
      display: block;
      opacity: 0;
      height: 0rem;
        width: 0%;

    }

    .main{
      padding: 3rem 3rem 3rem 3rem;
    }
    .head{
      padding: 3rem 3rem 3rem 3rem;
    }




  }