:root {
--transit-element-height: 193px; /*290px*/
--transit-element-width: 193px; /*290px*/
}



/** CSS für alle **/

  /*
* ===================================================================================== very small =====================================================================================
*/
@media screen {

  .transit-head {
    margin-bottom: -23%;
  }

  #transit-headline {
    font-size: 3rem;
    margin-top: 13%;
    margin-bottom: 13%;
    text-align: center;
  }

  .transit-introduction {
    font-size: 1.4rem;

  }

  #newsletter-details {
    font-size: 1.4rem;
    width: 100%;
    background-color: rgb(110, 110, 110);
    border: 1px solid darkgrey;
    border-radius: 5px;
    padding: 21px;
    color: white;
  }

  
#transit {
  color: black !important;
}

#transit:hover {

}

.transit-about-link {
  text-decoration: underline;
  color: white;
}

.group-head > a {
  color: black !important;
}


/**
                            ===================================================WRAPPER=============================
*/
.transit-project-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  width: 100%;
}

.transit-project-headline {
  font-size: 2.5rem;
}

.group-head {
  display: inline-flex;
  justify-content: space-between;
  width: 100%;
  background-color: white;
  padding: 10% 43px;
  margin-top: 50px;
}

.transit-arrow-up-link {
  align-self: center;
}




.transit-content {
  margin: 25px 0;
  justify-content: center;
}




/* ------------ Transit-Element-Wrapper ------------ */

.transit-element-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
  overflow-y: scroll;
  height: 66vh;
  background-color: white;
  padding-bottom: 1%;
}



.transit-portrait-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  margin-top: 10%;
}

.transit-portrait {
  position: relative;
  height: 150px;
  width: 100%;
  z-index: 1;
  border-radius: 5px;
  margin-top: 2%;
  margin-bottom: 2%;
}

.transit-portrait-img {
  position: absolute;
  height: 100%;
  width: 100%;
  margin: 0;
  z-index: 4;
  border-radius: 5px;
}


.transit-portrait-text {
  display: flex;
  position: absolute;
  opacity: 1;/* ONLY MOBILE */
  z-index: 5;
  height: 100%;
  width: 100%;
  margin: 0;
  justify-content: center;
  align-items: center;
  font-size: 3rem;
  color: white;
  font-weight: bold;
  font-family: 'Roboto';
  text-shadow: 1px 1px grey;
  background-color: rgba(21,21,21,0.2);
  border-radius: 5px;
}

.visible {
  transition: all 1.5s;
  display: block !important;
  visibility: visible !important;
}

/**
                          ===================================================SKELETON(ELEMENT-WRAPPER)=============================
*/

.transit-skeleton {
  width: 100%;
  height: 100%;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0;
  justify-content: center;
}


/**
                          ==================================================TRANSIT-ELEMENT=============================
*/
.transit-element {
  height: 250px;
  width: 250px;
  margin: 1px;

  display: flex;

  align-content: center;
  justify-content: center;

  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transition: all .5s linear;
  transition: all .5s linear;

  border: 2px solid black;

}

.flipped {
  transition: all 1s;
  transform: rotateY(180deg);
}


.face {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color:whitesmoke;  
  transform: rotateX(0deg); /* FIREFOX Fix 16.11.21*/
}
.back {
  background-color: lightgray;
  overflow:hidden;
  z-index:-1;
  display: block;
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
  box-sizing: border-box;

  font-size: 16px;
}


.face > img {
  width: 100%;
  height: 100%;
}

.front, .back{
  transition: all .5s linear;
}
.front{
  z-index:1;
  /*box-shadow: 5px 5px 5px #aaa;*/
}
.back{
  /*box-shadow: 0 0 0 #aaa;*/
}

.transit-element-list {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 1.35rem;
}


ul.transit-element-list > li > b > a {
  color: #ff6666;    
}

.li-name {
  margin-left: 6%;
  margin-top: 7%;
}

.li-location {
  margin-left: 6%;
}

/* Listpoint containing video */
.li-video {
  margin-top: 8%;
}


.li-contact {
  margin-left: 6%;
}


.transit-video {
    width: 101%;
    height: 169px;
}
/**
                          ===================================================SPONSOREN=============================
*/

.transit-sponsors {
  margin: 0 0 1% 0;
  background-color: white;
  width: 78%;
}

.transit-sponsor-portrait-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 5%;
  border-top: 1px solid lightgray;
  flex-wrap: wrap;
}

.transit-sponsor-portrait-wrapper > a {
  display: contents;
}

.transit-sponsor-img {
  height: 40px;
  margin-top: 25px;
  margin-bottom: 25px;
  margin-left: 15px;
  margin-right: 15px;
  justify-content: center;
  
}

.transit-sponsors-text {
  text-align: center;
  font-size: 1rem;
  padding: 0 15px;
}

.li-sponsor {
  width: 150px;
  height: 150px;
}

.video-alt-text {
  text-align: center;
}

.transit-apply-output {
  border-radius: 5px;
  background-color: #ff6666;
  color: white;
  text-align: center;
  width: 50%;
  margin-left: 25%;
  font-size: 2rem;
}


#dis-tanzen-logo {
  transform: scale(0.4);
  margin-left: -70px;
}


  
}
  /*
* ===================================================================================== small phone =====================================================================================
*/
@media screen and (min-width: 374px){
  .transit-sponsor-img { 
    height: 50px;
  }
  .transit-portrait {
    width: 80%;
  }

  .transit-head {
    margin-bottom: -15%;
  }

  .transit-element-wrapper {
    width: 90%;
  }

  .group-head {
    width: 90%;
  }

  .transit-sponsors {
    width: 90%;
  }

}

  /*
* ===================================================================================== phone =====================================================================================
*/
@media screen and (min-width: 480px){

}

  /*
* ===================================================================================== tablet =====================================================================================
*/
@media screen and (min-width: 768px){
 

  .transit-head {
    padding: 0 55px;
    margin-bottom: -7%;
  }

  #transit-headline {
    margin-top: 5%;
    margin-bottom: 5%;
  }

  #transit-instruction {
    text-align: center;
  }
  
  .transit-portrait-wrapper {
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: 4%;
  }

  .transit-portrait {
    width: 45%;
    height: 180px;
    margin-left: 1%;
    margin-right: 1%;
}

.transit-portrait-text {
  font-size: 1.5rem;
  text-align: center;
}

#newsletter-details {
  margin-top: 5%;
}


.group-head {
  width: 78%;
  padding: 3% 33px;
}

.transit-element-wrapper {
  width: 78%;
  height: 85vh;
}

.transit-sponsors {
  width: 78%;
}

.transit-sponsor-img {
  height: 60px;
}

}

  /*
* ===================================================================================== laptop =====================================================================================
*/
@media screen and (min-width: 1023px){
  
  #newsletter-details {
    font-size: 2rem;
  }

  .transit-element-wrapper {
    height: auto;
  }

  .transit-element {
    height: 200px;
    width: 200px;
    margin: 10px;
  }


  /*PC*/
  @media screen and (orientation: landscape) {


    .transit-head {
      margin-bottom: 0;
    }

    #transit-headline {
      margin-top: 4%;
      margin-bottom: 4%;
      font-size: 5rem;
    }
  
    .transit-introduction {
      font-size: 1.9rem;
      margin-left: 18px;
    }

    #transit-head-intro {
      font-size: 1.85rem;
    }

    .transit-portrait {
      height: 280px;
    }

    .transit-portrait-text {
      font-size: 3.5rem;
    }

    #transit-instruction {
      font-size: 1.75rem;
      text-align: center;
    }

    .transit-portrait-wrapper {
      margin-top: 2.5%;
    }

    #newsletter-details {
      margin-left: 18px;
    }

    .transit-project-headline {
      font-size: 2.5rem;
    }

    .transit-sponsor-portrait-wrapper {
      flex-direction: row;
    }
  }
  #newsletter-details {
    font-size: 2rem;
  }

  .transit-element-wrapper {
    height: auto;
    width: 96%;
  }

  .transit-sponsors {
    width: 96%;
  }

  .group-head {
    display: inline-flex;
    margin-top: 2%;
    margin-bottom: 0;
    width: 96%;
  }


  .li-video {
    margin-top: -14px;
  }
  
  .transit-video {
    height: 130px;
    margin-top: 14%;
  }

  .transit-sponsor-img {
    height: 80px;
  }

}


  /*
* ===================================================================================== IPadPro =====================================================================================
*/
@media screen and (min-width: 1366px){
  
  @media screen and (orientation: landscape) {
    #transit-headline {
      margin-top: 1%;
      margin-bottom: 1%;
      font-size: 5rem;
    }
  
    .transit-introduction {
      font-size: 1.9rem;
      margin-left: 18px;
    }

    #transit-head-intro {
      font-size: 1.85rem;
    }

    .transit-portrait {
      height: 310px;
    }

    #transit-instruction {
      font-size: 1.75rem;
      text-align: center;
    }

    .transit-portrait-wrapper {
      margin-top: 2.5%;
    }

    #newsletter-details {
      margin-left: 18px;
    }

    .group-head {
      display: inline-flex;
      margin-top: 2%;
      margin-bottom: 0;
    }

    .transit-project-headline {
      font-size: 2.5rem;
    }

    .transit-sponsor-portrait-wrapper {
      flex-direction: row;
    }
  }
  #newsletter-details {
    font-size: 2rem;
  }

  .transit-element-wrapper {
    height: auto;
  }

  

}

  /*
* ===================================================================================== desktop =====================================================================================
*/
@media screen and (min-width: 1920px){
  
/**
                            ===================================================WRAPPER=============================
*/
.transit-project-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  width: 100%;
}

.transit-content {
  margin: 0;
  justify-content: center;
}



/**
                          ===================================================HEADLINE/BESCHREIBUNG/MISC.=============================
*/

#transit-headline {
  text-align: center;
  font-size: 5rem;
  margin-top: 1%;
  margin-bottom: 0%;
}


.transit-head {
  font-size: 2rem;
  padding: 0;
}

.transit-introduction {
  margin: 50px;
  font-size: 2rem;
}

#newsletter-details {
  width: 95%;
  margin-top: 0;
}

#transit-instruction {
  margin: 50px;
}

.transit-portrait-wrapper {
  display: flex;
  max-height: 300px;
  margin: 25px 0;
  margin-top: 50px;
  justify-content: center;
  flex-direction: row;
}

.transit-portrait {
  position: relative;
  height: 275px;
  width: 420px;
  margin: 0 15px;
  z-index: 1;
  border-radius: 5px;
}

.transit-portrait-img {
  position: absolute;
  height: 100%;
  width: 100%;
  margin: 0;
  z-index: 4;
  border-radius: 5px;
}


.transit-portrait-text {
  display: flex;
  position: absolute;
  opacity: 0;
  z-index: 5;
  height: 100%;
  width: 100%;
  margin: 0;
  justify-content: center;
  align-items: center;
  font-size: 3rem;
  color: white;
  font-weight: bold;
  font-family: 'Roboto';
  text-shadow: 1px 1px grey;
  background-color: rgba(21,21,21,0.2);
  border-radius: 5px;
}

.visible {
  transition: all 1.5s;
  display: block !important;
  visibility: visible !important;
}

#newsletter-details {
  font-size: 2rem;
}

/**
                          ===================================================SKELETON(ELEMENT-WRAPPER)=============================
*/

.transit-skeleton {
  width: 100%;
  height: 100%;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0;
  justify-content: center;
  flex-direction: column;
  align-content: center;
}

.group-head {
  display: inline-flex;
  margin-top: 2%;
  margin-bottom: 0;
  width: 96%;
  padding: 3% 43px;
}


.transit-element-wrapper {
  height: auto;
  overflow: hidden;
  padding-bottom: 2%;
}

.transit-project-headline {
  font-size: 3.5rem;
}

.transit-arrow-up {
  font-size: 4rem !important;
  margin-right: 11px;
}


/**
                          ==================================================TRANSIT-ELEMENT=============================
*/
.transit-element {
  height: 170px;
  width: 170px;
  margin: 3px;

  display: flex;

  align-content: center;
  justify-content: center;

  font-size: 3rem;

  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transition: all .5s linear;
  transition: all .5s linear;

  border: 2px solid black;

}

.flipped {
  transition: all 1s;
  transform: rotateY(180deg);
}


.face {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color:whitesmoke;  
}
.back {
  background-color: lightgray;
  overflow:hidden;
  z-index:-1;
  display: block;
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
  box-sizing: border-box;

  font-size: 16px;
}


.face > img {
  width: 100%;
  height: 100%;
}

.front, .back{
  transition: all .5s linear;
}
.front{
  z-index:1;
  /*box-shadow: 5px 5px 5px #aaa;*/
}
.back{
  /*box-shadow: 0 0 0 #aaa;*/
}

.transit-element-list {
    list-style: none;
    margin: 0;
    padding: 0;
}


ul.transit-element-list > li > b > a {
  color: #ff6666;    
}

.li-name {
  margin-left: 6%;
  margin-top: 7%;
}

.li-location {
  margin-left: 6%;
}

/* Listpoint containing video */
.li-video {
    margin-top: 0;
}


.li-contact {
  margin-left: 6%;
}


.transit-video {
    width: 100%;
    height: 96px;
}
/**
                          ===================================================SPONSOREN=============================
*/


.transit-sponsor-portrait-wrapper {
  flex-direction: row;
}

.transit-sponsors-text {
  padding: 20px 15px;
}

.video-alt-text {
  text-align: center;
}

#newsletter-details {
  margin-left: 50px;
}

.transit-arrow-up-link {
  align-self: center;
}

.transit-apply-output {
  border-radius: 5px;
  background-color: #ff6666;
  color: white;
  text-align: center;
  width: 50%;
  margin-left: 25%;
  font-size: 2rem;
}


}