  /*! HTML5 Boilerplate v9.0.1 | MIT License | https://html5boilerplate.com/ */

  /* main.css 3.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
  /*
   * What follows is the result of much research on cross-browser styling.
   * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
   * Kroc Camen, and the H5BP dev community and team.
   */

  /* ==========================================================================
     Base styles: opinionated defaults
     ========================================================================== */

  html,body {
    color: #222;
    font-size: 1em;
    line-height: 1.4;
    margin: 0;
    font-family: Verdana, serif;
    scroll-behavior: smooth;
  }

  /*
   * Remove text-shadow in selection highlight:
   * https://twitter.com/miketaylr/status/12228805301
   *
   * Customize the background color to match your design.
   */



  ::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
  }

  ::selection {
    background: #b3d4fc;
    text-shadow: none;
  }

  /*
   * A better looking default horizontal rule
   */



  .nav{
    display: flex;
    align-items: center;
    position:fixed;
    top: 0;
    width: 100%;
    background-color: #ffffff;
    overflow: hidden;
    border-bottom:0 #d1d1d1 solid;
    box-shadow: 0 1px 5px grey;
    z-index: 10;
  }

  .nav #top{



  }

  .top {

    display: block;


  }

  .top a:hover, .sprachknopf a:hover{

    background-color: rgba(31, 187, 31, 0.3);
    color: black;
    transition: 0.7s
  }

  .active {

    background-color: rgba(31, 187, 31, 0.8);
    color: white;




  }

  .top a{

    text-align: center;
    color: black;
    padding-right: clamp(8px, 1vw, 16px);
    padding-left: clamp(8px, 1vw, 16px);
    padding-top: clamp(7px, 1vw, 14px);
    padding-bottom: clamp(8px, 1vw, 16px);
    font-size: clamp(12px, 1vw, 20px);
    text-decoration: none;
    margin-left: 10px;
    margin-right: 10px;
    margin-top: 20px ;
    margin-bottom: 20px;
    line-height: 3;


  }

  .sprachknopf{

    position: absolute;
    left: 50%;
    top: 100px;
    transform: translate(-50%, 0);
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 10;
    font-size: clamp(12px, 1vw, 20px);

  }

  .sprachknopf a{

    float: none;
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    text-align: left;
    font-size: clamp(12px, 1vw, 20px);

  }

  .overlay {

    height: 100%;
    width: 100%;
    display: none;
    position: fixed;
    z-index: 11;
    top: 0;
    left: 0;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0, 0.9);
  }

  .overlay .closebtn {

    position: absolute;
    top: 20px;
    right: 45px;
    font-size: 3vw;
    cursor: pointer;
    color: white;
  }



  .plaetze{

    position: relative;

    text-align: center;
    padding-right: clamp(8px, 1vw, 16px);
    padding-left: clamp(8px, 1vw, 16px);
    padding-top: clamp(7px, 1vw, 14px);
    padding-bottom: clamp(8px, 1vw, 16px);
    background-color: #1fbb1f;
    color: #ffffff;
    font-size: clamp(12px, 1vw, 20px);
    text-decoration: none;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
    margin-left: auto;
    margin-right: 20px;
    margin-top: 20px;
    margin-bottom: 20px;


  }

  .luecke {

    margin-top: 200px;

  }

  .ueberschrift h1 {

    text-align: left;
    font-size: clamp(15px, 1.5vw, 30px);
    background-color: #1fbb1f;
    padding: 20px;
    padding-left: 70px;
    padding-right: 4px;
    margin-left: -20px;
    margin-bottom: 50px;
    width: 35%;
    border-radius: 20px;

  }

  .main h2 {

    text-align: left;
    font-size: clamp(15px, 1.5vw, 30px);
    background-color: #1fbb1f;
    padding: 20px;
    padding-left: 70px;
    padding-right: 4px;
    margin-left: -20px;
    margin-bottom: 50px;
    width: 35%;
    border-radius: 20px;

  }

  .main h3{

    text-align: left;
    font-size: clamp(18px, 1.5vw, 25px);
    padding: 10px;
    padding-left: 70px;
    padding-right: 4px;
    margin-left: -20px;
    margin-bottom: 5px;
    width: 35%;
    border-radius: 20px;

  }

  .main h4{

    text-align: left;
    font-size: clamp(15px, 1.5vw, 20px);
    padding: 5px;
    padding-left: 70px;
    padding-right: 4px;
    margin-left: -20px;
    margin-bottom: 5px;
    width: 35%;
    border-radius: 20px;
  }

  .main p{

    font-size: clamp(12px, 1vw, 20px);
    background-color: white;
    box-shadow: 0 1px 5px grey;
    padding: 15px;
    width: 63%;

    margin-left: 50px;

  }

  .main a{

    font-weight: bold;
    padding: 5px;
    padding-left: 70px;
    padding-right: 4px;
    margin-left: -20px;
    margin-bottom: 5px;

  }

  .uebermich {

    display: none;

  }

  .fotogalerie {

    z-index: -6;

  }

  .beispielbild {

    display: flex;
    align-items: flex-start;
    gap: 0;

  }

  .beispielbild img{

    width: 25%;
    height: auto;
    box-shadow: 0 1px 5px grey;;

  }

  .recht {

    position: relative;
    z-index: -1;

  }

  .recht h2 {

    text-align: left;
    position: relative;
    font-size: clamp(15px, 1.5vw, 30px);
    background-color: #1fbb1f;
    padding: 20px;
    padding-left: 70px;
    margin-left: -20px;
    margin-bottom: 100px;
    width: 35%;
    border-radius: 20px;
  }

  .recht p {

    font-size: clamp(12px, 1vw, 20px);
    background-color: white;
    box-shadow: 0 1px 5px grey;
    padding: 15px;
    margin-top: 0;
    width: 80%;

    margin-left: 20px;

  }
  .hallo {

    position: relative;


  }

  .hallo img {

    display: block;
    width: 40%;
    margin: 0;
    margin-left: 60%;
    margin-top: -250px;
    padding: 0;
    border: none;

  }



  .overflow{

    overflow: hidden;
    width:100%;

  }

  .zeiten{

    float: right;
    text-align: center;
    background-color: #1fbb1f;
    padding-bottom: 20px;
    padding-top: 0;
    padding-left: 10px;
    padding-right: 20px;
    margin: 50px;
    margin-left: auto;
    margin-right: -20px;
    width: 80%;
    border-radius: 20px;

  }

  .zeiten h2 {

    font-size: clamp(15px, 1.5vw, 30px);

  }

  .zeiten a {

    font-size: clamp(12px, 1vw, 20px);

  }

  .rechts {

    margin: 100px 0;

  }


  .rechts h2
  {

    text-align: right;
    font-size: clamp(15px, 1.5vw, 30px);
    background-color: #1fbb1f;
    padding: 20px;
    padding-left: 70px;
    padding-right: 70px;
    margin-left: auto;
    margin-right: -40px;
    margin-bottom: 50px;
    width: 35%;
    border-radius: 20px;


  }

  .rechts p {

    text-align: left;
    display: flex;
    font-size: clamp(12px, 1vw, 20px);
    background-color: white;
    box-shadow: 0 1px 5px grey;
    padding: 15px;
    width: 63%;

  }

  .hintergrund{

    background-image: url('BG.jpeg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;  /* <- Fixiert das Bild beim Scrollen */
    height: 90%;
    padding-top: 0;
    padding-bottom: 0;

  }

  .besonders{


    text-align: center;
    margin-bottom: 150px;
    margin-top: 100px;

  }

  .besonders h2{

    text-align: left;
    position: relative;
    font-size: clamp(15px, 1.5vw, 30px);
    background-color: #1fbb1f;
    padding: 20px;
    padding-left: 70px;
    margin-left: -20px;
    margin-bottom: 100px;
    width: 35%;
    border-radius: 20px;

  }


  .besonders a{

    display: inline-block;

    font-size: clamp(12px, 1vw, 20px);;
    background-color: white;
    box-shadow: 0 1px 5px grey;
    margin: 15px;
    padding:15px;

    line-height: 50px;

  }

  .transparent {

    background-color: rgba(255, 255, 255, 0.7);
    padding:0;
    padding-top:20px;
    padding-bottom: 150px;

  }



  .line {

    display: flex;
    justify-content: space-between;

  }

  .fragezeichen {

    display: inline-block;
    width: 18%;
    float: right;
    margin-right: 150px;

  }

  .unten {

    padding: 3px;
    background-color: rgb(31, 187, 31);
    color: black;
  }

   .daten
  {

    box-sizing: border-box;
    border: 1px #1fbb1f solid;
    background-image: url("karte.png");
    background-size: 670px;
  }

  .imp
  {

    text-align: center;


  }

  .imp a{


    color: black;
    text-decoration-line: none;
    padding-left: 10px;
    padding-right: 10px;

  }

  .logo {

    margin-top: 10px;
    margin-bottom: 10px;
    margin-left:  80px;
    margin-right: 50px;



  }
  .logob{


    width: clamp(50px, 12vw, 220px);
    height: auto;
    display: block;
  }

  #impressum::before,#datenschutz::before {
    content: "";
    display: block;
    height: 200px;
    margin-top: -200px;
    visibility: hidden;
  }

  .test {


    margin-top: 200px;

  }


  hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
  }

  .icon {

    position: absolute;
    display: none;
    margin-top: 10px;
    margin-left:10px;
    z-index: 1;
    text-decoration-line: none;
    color: white;

  }

  .sicon {

    position: absolute;
    display: none;
    margin-top: 10px;
    margin-left:80px;
    z-index: 1;
    text-decoration-line: none;
    color: white;



  }

  .sidenav, .sprache {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    background-color: #ffffff;
    overflow-x: hidden;
    transition: 0.5s;
    padding-top: 60px;
  }


  .sidenav a, .sprache a {


    line-height: 40px;
    padding: 8px 8px 8px 32px;
    margin-top: 5px;
    margin-bottom: 5px;
    text-decoration: none;
    font-size: 15px;
    color: #000000;
    display: block;
    transition: 0.3s;
  }

  .sidenav a:hover, .sprache a:hover{
    background-color:rgba(31, 187, 31, 0.3);
    color: black;
    transition: 0.3s
  }

  .sidenav .closebtn, .sprache .closebtn{
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
  }
  .sidenav .closebtn:hover, .sprache .closebtn:hover {

    background-color: #ffffff;
    color: black;

  }
  .bild
  {
    margin-top: 25px;
    margin-right: 50px;
    float: right;
    width: 250px;

  }

  .link{

    font-size: clamp(12px, 1vw, 20px);
    text-align: center;

    margin-bottom: 50px;

  }

  .link a{
    color: black;
    text-decoration: none;

  }

  @media only screen and (max-width: 1715px){

    .top a {

      margin-left: 5px;
      margin-right: 5px;

    }

  }

  @media only screen and (max-width: 1425px) {

    .top a {

      margin-left: 1px;
      margin-right: 1px;

    }  }

  @media only screen and (max-width: 1175px) {

    .top {


      display: grid;
      grid-template-columns: repeat(8,1fr);
      grid-auto-rows: 40px;
      gap: 0;

    }

    .top a{
      padding: 0px 8px 0px 8px;
      font-size: 12px;
      align-self: center;
      justify-self: center;


    }

    .logo {

      margin-left: 30px;
      margin-right: 10px;

    }
    .plaetze {


      padding-left: 6px;
      padding-right: 6px;
      width: 90px;


    }

  }

  @media only screen and (max-width: 980px) {
    /* For mobile phones: */


    .uebermich {

      display: block;
      text-align: center;


    }

    .uebermich img{

      margin-top: -18px;
      width: 80vw;
      box-shadow: 0 1px 5px grey;

    }

    .luecke {

      margin-top: 140px;

    }

    .beispielbild img {

      display: none;

    }

    .main h2, .ueberschrift h1 {

      width: 80%;
      font-size: 20px;

    }

    .main p {
      margin-left: 20px ;
      font-size: 15px;
      width: 80%;

    }

    .line {

      display: flex;
      flex-direction: column;

    }


    div#oeffnung{order:1;}
    div#recht{order: 2;}

    .zeiten {

      margin-top:0;

    }

    .zeiten h2 {

      font-size: 20px;

    }

    .zeiten a{

      font-size: 15px;

    }

    .recht h2 {

      padding-right: 50px;
      font-size: 20px;
      margin-bottom: 50px;


    }

    .recht {

      margin-bottom: 30px;

    }

    .recht p {

      font-size: 15px;


    }

    .rechts h2{

      font-size: 20px;
      width: 60%;

    }

    .rechts p {

      font-size: 15px;
      width: 80%;

    }

    .hallo img {

      display: none;

    }

    .besonders {


    }

    .transparent {

      padding-top: 100px;
      display: grid;

    }

    .besonders h2 {

      width: 80%;
      font-size: 20px;


    }

    .besonders a{
      display: block;
      font-size: 15px;
      margin: 15px;

    }







    .daten{


      box-sizing: border-box;
      border: 1px #1fbb1f solid;
      background-size: 700px;


    }
    .bild{

      position: absolute;
      width: 100px;
      margin-top: 90px;
      right: -30px;
    }
    .plaetze{

      right: 10px;
      position: absolute;
      z-index: -1;
      margin-right: 0;
      width: clamp(50px, 30vw, 100px);
      font-size: 20px;

    }
    .icon {

      display: block;
      background-color: #1fbb1f;
      padding: 0 10px 0 10px;

    }

    .sicon{

      display: block;
      background-color: #1fbb1f;
      padding: 0 2px 0 2px;

    }

    .nav
    {
      border-bottom:0 #d1d1d1 solid;
      box-shadow: 0 1px 5px grey;

    }

    .logo {

      margin: 0 auto;
    }
    .logob{

      width: clamp(80px, 40vw, 180px);



    }


      .top {
        display: none;


      }
    }




  /*
   * Remove the gap between audio, canvas, iframes,
   * images, videos and the bottom of their containers:
   * https://github.com/h5bp/html5-boilerplate/issues/440
   */

  audio,
  canvas,
  iframe,
  img,
  svg,
  video {
    vertical-align: middle;
  }

  /*
   * Remove default fieldset styles.
   */

  fieldset {
    border: 0;
    margin: 0;
    padding: 0;
  }

  /*
   * Allow only vertical resizing of textareas.
   */

  textarea {
    resize: vertical;
  }

  /* ==========================================================================
     Author's custom styles
     ========================================================================== */

  /* ==========================================================================
     Helper classes
     ========================================================================== */

  /*
   * Hide visually and from screen readers
   */

  .hidden,
  [hidden] {
    display: none !important;
  }

  /*
   * Hide only visually, but have it available for screen readers:
   * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
   *
   * 1. For long content, line feeds are not interpreted as spaces and small width
   *    causes content to wrap 1 word per line:
   *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
   */

  .visually-hidden {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
    /* 1 */
  }

  /*
   * Extends the .visually-hidden class to allow the element
   * to be focusable when navigated to via the keyboard:
   * https://www.drupal.org/node/897638
   */

  .visually-hidden.focusable:active,
  .visually-hidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    white-space: inherit;
    width: auto;
  }

  /*
   * Hide visually and from screen readers, but maintain layout
   */

  .invisible {
    visibility: hidden;
  }

  /*
   * Clearfix: contain floats
   *
   * The use of `table` rather than `block` is only necessary if using
   * `::before` to contain the top-margins of child elements.
   */

  .clearfix::before,
  .clearfix::after {
    content: "";
    display: table;
  }

  .clearfix::after {
    clear: both;
  }

  /* ==========================================================================
     EXAMPLE Media Queries for Responsive Design.
     These examples override the primary ('mobile first') styles.
     Modify as content requires.
     ========================================================================== */

  @media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
  }

  @media print,
    (-webkit-min-device-pixel-ratio: 1.25),
    (min-resolution: 1.25dppx),
    (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
  }

  /* ==========================================================================
     Print styles.
     Inlined to avoid the additional HTTP request:
     https://www.phpied.com/delay-loading-your-print-css/
     ========================================================================== */

  @media print {
    *,
    *::before,
    *::after {
      background: #fff !important;
      color: #000 !important;
      /* Black prints faster */
      box-shadow: none !important;
      text-shadow: none !important;
    }

    a,
    a:visited {
      text-decoration: underline;
    }

    a[href]::after {
      content: " (" attr(href) ")";
    }

    abbr[title]::after {
      content: " (" attr(title) ")";
    }

    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
    a[href^="#"]::after,
    a[href^="javascript:"]::after {
      content: "";
    }

    pre {
      white-space: pre-wrap !important;
    }

    pre,
    blockquote {
      border: 1px solid #999;
      page-break-inside: avoid;
    }

    tr,
    img {
      page-break-inside: avoid;
    }

    p,
    h2,
    h3 {
      orphans: 3;
      widows: 3;
    }

    h2,
    h3 {
      page-break-after: avoid;
    }
  }

