@charset "utf-8";
/* #region ..... set up basic page resets .........*/
@view-transition{
  navigation:auto;
}
::view-transition-group(root){
  animation-duration: 1s;
}
body {
    min-height: 100vh;
    min-height: 100svh;
    display: grid;
  grid-template-rows: 130px 1fr auto;
  grid-template-columns: 1fr auto 1fr;
    text-rendering: optimizeLegibility;
    color: black;
    overflow-x: hidden;
    background-color: white;
  }
  html {
    height: 100vh;
    height: 100svh;
    font-size: 16px;
    font-family: system-ui, sans-serif;
    line-height: 1.2rem;
  }
  * {
    box-sizing: border box;
}
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, ol, ul, li, article, figcaption, figure, footer, header, menu, nav, section, summary, time, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
    background: transparent;
  }

  img,
picture{
  max-width: 100%;
  display: block;
  height: auto;
  max-height: 100%;
  font-style:italic;
}
:root {
  --plasmablue: rgba(0, 72, 132);
    --lightgrey: rgba(211, 211, 211, 0.3); 
}
/* set up standard colors */
.blue-grad{
  background-image: linear-gradient(to bottom, #bee1ff, #b5dcfe, #acd8fd, #a2d3fd, #99cefc, #99cefc, #99cefc, #99cefc, #a2d3fd, #acd8fd, #b5dcfe, #bee1ff);
  padding: 2rem 0px;
}

.grey-grad{
  background-image: linear-gradient(to bottom, #eee8ec, #d5d0d4, #bdb9bd, #a6a2a5, #8f8c8f, #8f8c8f, #8f8c8f, #8f8c8f, #a6a2a5, #bdb9bd, #d5d0d4, #eee8ec);
}
/* set up text items */
p{
    font-size: 1rem;
    color: black;
    font-weight: 500;
    text-wrap:pretty;
    line-height: 1.5rem;  
  }
  p, li{
    text-wrap: pretty;
  }
  h1, h2, h3{
      color: var(--plasmablue);
      text-wrap:balance;
  }
  
  h1{
    font-size: 1.5rem;
    line-height: 2rem;
    max-width: 50ch;
    font-weight: 700;
  }
  h2{
    font-size: 1.4rem;
    line-height: 1.7rem;
    font-weight: 600;
    margin-top: 0.5rem;
  }
  h3{
    font-size: 1.2rem;
    line-height: 1.5rem;
    font-weight: 600;
    margin-top: 0.5rem;
  }
  
  a{
    text-decoration: none;
  }
  .glossar h2{
    margin-top: 1rem;
  }
  .veroeffentlichungen p{
    margin-bottom: 2rem;
    font-size: 1.2rem;
    font-weight: 700;
  }

/* #endregion */
/* #region page layout */
.fixed-section{
        position:fixed;
        top:0;
       display: flex;
     justify-content: space-around;
     align-items: center;
        z-index: 999;
        min-width:100%;
        background-color: white;
         border-bottom:  var(--plasmablue) thin solid;
      }
      .main-wrapper{
        display:flex;
        flex-direction: column;
        grid-area: 2/1/3/-1;
        margin-inline: 1rem;
      }
      .footer {
        display: flex;
        grid-area: 3/1/4/-1;
        flex-direction: column;
          padding-top:1rem;
        justify-content: space-around;
        padding-bottom: 20px;
          border-top:  var(--plasmablue) thin solid;
      }
   /* #endregion page layout */

   /* #region fixed section design */
  .logo {
    display: block;
    margin: 1rem;
  }
  .international{
    justify-content: center;
    }
  .button-block{
    display: flex;
    grid-area: 2/3/3/4;
   margin: auto;  

   }
  .nav-container{
    display: flex;
    grid-area: 2/4/3/-1;

  }
  .items-holder{
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2rem;
  }
   /* #region International dropdown menu */
  /* The container <div> - needed to position the dropdown content */
  /* Dropdown Button */
  .dropbtn {
    background-color:white;
    padding:0px 38px;
    font-size: 16px;
    margin-inline: 0px auto 0px 3rem;
    border: none;
  }
  .dropdown {
    position: relative;
    display: inline-block;
  }
  
  /* Dropdown Content (Hidden by Default) */
  .dropdown-content {
    display: none;
    position: absolute;
    background-color:#b5dcfe ;
     border: 3px solid var(--plasmablue);
     border-radius: 10px;
    min-width: 300px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
  }
  
  /* Links inside the dropdown */
  .dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;      
    display: block;
  }
  
  /* Change color of dropdown links on hover */
  .dropdown-content a:hover {
    background-color: #f1f1f1;
  }
  
  /* Show the dropdown menu on hover */
  .dropdown:hover .dropdown-content{
    display: block;
  }
  /* Change the background color of the dropdown button when the dropdown content is shown */
  .dropdown:hover{
    background-color: white;
  }
  .dropdown .dropbtn:focus + .dropdown-content {
    display: block;
  }
  .nav-container{
     grid-area:2/2/3/5;
     display: flex;
     justify-self: center;
  }
  .button-block{
    display: flex;
    grid-area: 1/2/2/5;
   margin-inline: auto;
   align-self: center;
   
  }
  /* #endregion */

      /* #region ........ contact button ........*/
      .kontakt-button{
        padding:5px 25px;
        background-color: var(--plasmablue);
        color:aliceblue;
        border-radius: 15px; 
        border:var(--plasmablue) medium solid;
        cursor: pointer;
       }
  .button{
     display: block;
     background-color: rgba(33,33,34,0.95);
     border: medium outset var(--plasmablue);
     padding: 10px 25px;
     font-size: 16px;
     color: aliceblue;
     cursor: pointer;
     border-radius: 10px;
   }
   
   .button:hover, .button:focus{
     background-color:var(--plasmablue);
     border: white medium inset;
   }
   
   /* #endregion ..... Contact button  .........*/
    /* #region navigation */
    /* #region navigation desktop */
    /* #region ..... icons */
.arrowicon {
  border: solid #474396;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 3px;
  margin: 0px 5px 3px 6px;
}
.right {
      -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);

}
.left {
      -webkit-transform: rotate(135deg);
  transform: rotate(135deg);

}
.up {
     -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
 
}
.down {
     -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
 
}
/* #endregion icons */
 .nav a{
    text-decoration: none;
  }
  .ion-md-menu {
    display: inline-block;
  
  }
  .ion-md-close {
    display: inline-block;
    
  }
  .menu-icons {
   display: flex;
   font-size: 4rem;
   cursor: pointer;
   display: none;
  }
  
  .nav{
     
      max-width: 100%;
      margin-inline: auto;
  }
  
  .nav-list {
    display: flex;
    min-width: 750px;
    margin-top: 0px;
    align-items: center;
    justify-content:space-between;
    z-index: 1600;
  
  }
  nav ul {
    list-style: none;
    align-content: right;
    font-style: normal;
  } 
  .nav-list li {
    line-height: 4rem;
    position: relative;
    margin: 0px auto;
  }
  .nav-list a {
    display: block;
    color:var(--plasmablue);
    letter-spacing: 0.5px;
    padding: 0 1.0rem;
    font-size: 16px;
    font-weight: 600;
    text-transform: capitalize;
    transition: color 650ms;
    text-decoration: none;
  }
  .nav-list a:hover{
    color: red;
  }
  .sub-menu li {
    line-height: 3rem;
  }
  .sub-menu {
    width: 18rem;
    display: block;
    position: absolute;
      left: -50%;
    border-top: 3px solid var(--plasmablue);
    border-bottom: 3px solid var(--plasmablue);
    background-color: white;
    box-shadow: 10px 10px 15px lightgrey;
    z-index: 1500;
    top: 4rem;
    opacity: 0;
    visibility: hidden;
    transition: all 650ms ease;
  }
  .sub-menu-last{
      width: 10rem;
    opacity: 0;
     left:-50%;
    visibility: hidden;
    transition: all 650ms ease;
      
  }
  .sub-menu a {
    font-weight: 600;
    font-size: 14px;
  }
  .sub-menu .sub-menu::before {
    top: 0.9rem;
    left: -2.5rem;
    border: 1.2rem solid transparent;
    border-right-color: var(--plasmablue);
  }
  .sub-menu .sub-menu {
    border-top: none;
    border-left: 3px solid var(--plasmablue);
    top: 0;
    left: 160%;
  }
  .nav-list li:hover > .sub-menu {
    top: 4rem;
      left:-50%;
    opacity: 1;
    visibility: visible;
  }
  .sub-menu li:hover> .sub-menu {
    top: 0;
    left: 68%;
  }
  li.move-right {
    margin: auto 50px auto auto;
    line-height: initial;
  }
/* #endregion navigation desktop */
  /* #region  navigation Mobile */
  @media screen and (max-width:1200px) {
    .menu-icons{
      display: block;
    }
     .nav-list{
      position: fixed;
      top: 120px;
      left: 0;
    height: 80vh;
         min-width: 100vw;
         margin-left: 0px;
      display: none;
      flex-direction: column;
      align-items: initial;
      background-color: white;
      z-index: 1000;
      overflow-y: scroll;
         padding-bottom:20vh;
     }
      .nav ul {
    list-style: none;
    align-content: right;
  }
     .nav-list > li{
      line-height: 4rem;
         margin-inline:auto;
     }
      
     .sub-menu{
      position: initial;
      border: 3px solid transparent;
      border-left-color:darkblue;
      margin-left: 1rem;
      max-height: 0;
     }
     .sub-menu::before{
      display: none;
     }
     .nav-list li:hover > .sub-menu{
      opacity: 1;
      visibility: visible;
      max-height: initial;
     }
     li.move-right{
      margin: 0 auto 0 0;
      line-height: initial;
     }
    
     .ion-md-close{
      display: none;
     }
     nav.active .ion-md-close{
      display: block;
     }
      nav.active .ion-md-menu{
      display: none;
     }
     nav.active .nav-list{
      display: flex;
     }
      .nav-align{
      text-align: left;  
      }
      
      .homelink{
          margin-left:-130px;
      }
    }
  /* #endregion of mobile navigation */
    /* #endregion navigation */

     /* #endregion fixed section design */
    /* #region footer */ 

    .footer {
        display: flex;
        grid-area: 3/1 / span1/span1;
        flex-direction: column;
          padding-top:1rem;
          margin-top: 20px;
        justify-content: space-around;
        padding-bottom: 20px;
          border-top:  var(--plasmablue) thin solid;
          gap: 1rem;
      }
      .footer__links{
          display: flex;
          justify-content: space-around;
      }
      .social-media{
        display:flex;
        justify-content: space-around;  
      }
      .social-link{
        cursor: pointer;
        width:100px;
        height:100px;
      }
      .facebook{
        background-image: url('../assets/icons/fb_gs100.webp');
        background-repeat: no-repeat;
        width:50px;
        height:50px;
      }
      .facebook:hover,.facebook:focus{
        background-image: url('../assets/icons/fb_100.webp');
      }
      .instagram{
        background-image: url('../assets/icons/gsinst.webp');
        background-repeat: no-repeat;
        width:50px;
        height:50px;
      }
      .instagram:hover, .instagram:focus{
        background-image: url('../assets/icons/inst.webp');
      }
      .twitter{
        background-image: url('../assets/icons/twitter_100gs.webp');
        background-repeat: no-repeat;
        width:60px;
        height:60px;
      }
      .twitter:hover, .twitter:focus{
        background-image: url('../assets/icons/twitter_100.webp');
      }
      .youtube{
        background-image: url('../assets/icons/YouTube_100gs.webp');
        background-repeat: no-repeat;
        width:60px;
        height:60px;
      }
      .youtube:hover, .youtube:focus{
        background-image: url('../assets/icons/YouTube_100.webp');
      }
      .footer__text{
          display:block;
          margin:5px auto;
          text-align: center;
          max-width: 98%;
      }
      .footer__text p{
          font-size: 0.9rem;
      }    /* #endregion footer */

    /* #region content classes */  
  
    /* hero section */
    .breadcrumbs {
      display: flex;
      gap: 1rem;
      margin:10px 10px;
      font-size: 0.8rem;
      min-height: 20px;
    }
    .breadcrumbs a:not(:first-child)::before {
      content: " >> ";
    }
    .breadcrumbs p:not(:first-child)::before {
      content: " >> ";
    }
    .breadcrumbs p{
      font-size: 0.8rem;
      line-height: 1.2rem;
      font-weight: 400;
      display: inline;
    }
    .hero, .content-news{
      display: flex;
      flex-direction: column;
      max-width: 98%;
      gap: 2rem;
      margin:0px 1rem 2rem 1rem;
    }
 
   .text80, .text100, .text40{
    display: grid;
    margin: auto;
   }
   .text40{
    max-width: 30ch;
    width: fit-content;
   }
   .text80{
    max-width: 80ch;
    width: fit-content;
   }
   .text80align-left{
    display: grid;
    max-width: 80ch;
    width: fit-content;
    margin: auto auto auto 3rem;
   }
   .text100{
    max-width: 80ch;
    width: fit-content;
   }
   .text80t{
    display: grid;
    margin:0px auto auto auto;
    max-width: 80ch;
    width: fit-content;
   }
.space1{
  margin-bottom: 1rem;
}
.space2{
  margin-bottom: 2rem;
}
.underline {
  display: block;
  width: 100%;
  height: 2px;
  border-bottom: solid black thin;
}
.round{
  border-radius: 50%;
  max-width:300px;
  border: rgba(0,0,0,0.60) medium inset; 
  margin:0px auto 1rem auto;

}
/* ##################### internal links ##########################*/
.internlinks {
  position: relative;
  text-decoration: none;
  letter-spacing: 0.09em;
  line-height: 2.5rem;
  margin-left: 0rem;
  
}
.internlinks{
  color: var(--plasmablue);
}

.internlinks::before {
  content: url("../assets/icons/link.gif");
  margin-right: 5px;
}
.internlinks::after{
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 20px;
  bottom: -25px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s;
}

.internlinks::after {
  border-top: 2px solid darkblue;
}

.internlinks:hover::after, .internlinks:focus::after {
  transform: scaleX(1);
}
/* ##################### End internal links ##########################*/
.flex-row{
  display: flex;
}
.centered-content {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-rows: Auto;
  margin-inline: 2rem;
}
.center-content{
  display: flex;
  flex-direction:column;
  grid-area: 1/2/-1/3;
}


.column, .dreiCol, .viertelcol{
  flex: 1 1 100%; /* Eine Spalte auf mobilen Geräten */
}
 


.colContainer:last-child {
  border-bottom: none;
}

.colContainer{
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* Zentriert die Elemente horizontal */
  border-bottom: black solid thin;
  padding-bottom: 2rem;
  margin-bottom: 1rem;
}
.colContainernu{
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* Zentriert die Elemente horizontal */
  margin-bottom: 2rem;
}

.dashlist ul, li {
  list-style-type: none;
  margin-left: 0;
  padding-left: 1rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.6rem;
  }
  .dashlist > li::before{
    display: inline-block;
    content: "-";
    width: 1em; 
  }
 
    @media screen and (min-width:900px){
      .hero {
        display:grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        max-width: 98%;  
      }
      .hero-text{
        display: grid;
        grid-area: 1/1/-1/2;
        margin: auto;
        max-width: 80ch;
        width: fit-content;
      }
      .hero-image{
        display: grid;
        grid-area: 1/2/-1/-1; 
        margin:0px 0px 0px auto;   
      }



.column{
  flex: 1 1 45%; /* 2 Spalten auf großen Bildschirmen */
  display: flex;
  justify-content: center; /* Zentriert die Elemente horizontal */
  align-items: center; /* Zentriert die Elemente vertikal */
  margin: 10px; /* Abstand zwischen den Spalten */
  min-width: 300px; /* Minimale Breite für die Spalten */

}
.dreiCol {
  flex: 1 1 30%; /* 2 Spalten auf großen Bildschirmen */
  display: flex;
  justify-content: center; /* Zentriert die Elemente horizontal */
  align-items: center; /* Zentriert die Elemente vertikal */
  margin: 10px; /* Abstand zwischen den Spalten */
  min-width: 300px; /* Minimale Breite für die Spalten */
}

.fullcol{
  flex: 1 1 100%; /* 2 Spalten auf großen Bildschirmen */
  display: flex;
  justify-content: center; /* Zentriert die Elemente horizontal */
  align-items: center; /* Zentriert die Elemente vertikal */
  margin: 10px; /* Abstand zwischen den Spalten */
  min-width: 300px; /* Minimale Breite für die Spalten */
}
.text100{
  max-width: 100ch;
  width: fit-content;
 }

}

.viertelcol { 
  display: flex; 
  flex: 1 1 25%;         /* Standardmäßig 4 Spalten */
  box-sizing: border-box; /* Damit Padding und Border in der Breite berücksichtigt werden */
  padding: 10px; 
   justify-content: center; 
  align-items: center; 
  /* Beispiel für Padding */
      /* Text zentrieren */
}

/* Für Bildschirme von 901px bis 1200px */
@media (max-width: 1200px) and (min-width: 701px) {
  .viertelcol {
      flex: 1 1 50%;     /* 2 Spalten */
  }
}

    
    /* #endregion content classes */ 
    /*#region helpers */
.br{
  border: red solid thin;
}
.bb{
  border: rgb(52, 5, 171) solid thin;
}
.centerit{
  margin: auto;
}
.centerit-h{
  margin-inline: auto;
  overflow-wrap: break-word;
}
.border-bottom{
  border-bottom: black thin solid;
}
     /* #endregion helpers */
/* #region .... Cookie banner .... */
.cookie-banner {
  position: fixed;
 top:100px;
  left: 0;
  right: 0;
  background-color:  #afd8fb;
  color: #fff;
  display: flex;
    flex-direction: column;
    border-radius: 20px;
    border:medium black solid;
}
.cookie-banner__button {
  background: #fff;
  color: #000;
  border: 0;
  padding: 10px 20px;
  cursor: pointer;
  border-radius: 15px;
    width:200px;
    margin: 20px auto;
}
.cookie-banner p{
    font-size: 1rem;
}
/* #endregion */