.schloss-container{
  position: relative;
  width: 100%;
  height: 100%;
  overflow: auto;
  padding-inline: 10%;
  padding-block: 5%;
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: 1fr 2fr;
  grid-template-rows: repeat(5, 1fr);
  
  place-items: center;
  gap: 10px;
 
}


/* Fix the background not covering everything which is weird on ios */
.schloss-container::after{
  content: "";
  position: fixed;
  top: 0;
  height: 100%;
  left: 0;
  right:0;
  z-index:-1;
  border-radius: 20px;
  background-image: url(/resources/img/DS_Schloss.jpg);
  background-attachment: scroll;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.schloss-eingabefeld,
.schloss-eingabe-button{
  position: relative;
  display: block;
  min-width: 100px;
  width: fit-content;
  height: 100%;

  background-color: white;
  border-radius: 20px;

  font-size: 2rem;
  
}



.schloss-eingabefeld-pfeil-links,
.schloss-eingabefeld-pfeil-rechts{
  position: absolute;
  display: block;
  height: 100%;
  width: 50%;
  top: 0px;
  z-index: 5;

}

.schloss-eingabefeld-pfeil-links{
  left: 0px;
}

.schloss-eingabefeld-pfeil-rechts{
  right: 0px;
}

.schloss-eingabefeld-pfeil-links::before,
.schloss-eingabefeld-pfeil-rechts::before{
  display: block;
  position: absolute;
  height: auto;
  width: 100%;
  top: 50%;
  transform: translateY(-50%); 
}

.schloss-eingabefeld-pfeil-links::before{
  left: 0px;
  content: "\25C2";
}

.schloss-eingabefeld-pfeil-rechts::before{
  right: 0px;
  content: "\25C2";
  transform: rotateY(180deg) translateY(-50%);
}

.schloss-zahl,
.schloss-button-text{
  position: relative;
  display: block;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.schloss-eingabe-button{
  padding-inline: 1.5rem;
}


.schloss-fehlermeldung-feld{
  grid-area: 4 / 2 / 6 / 3;
  position:relative;
  display: block;
  height: 100%;
  background: var(--clr-schloss-hintergrund-falsch);
  color: white;
  font-size: 1.5rem;
  border-radius: 20px;
  transition: all 1s linear;
}

.schloss-fehlermeldung-feld.unsichtbar{
  opacity: 0;
}



.schloss-fehlermeldung-text{
  position: relative;
  display: block;
  padding-inline: 5%;
  top: 50%;
  transform: translateY(-50%);
}

.plan-container {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  contain: content;
  border: 5px solid var(--clr-plan-blau); 
}

.plan-menuzeile{
  position: relative;
  height: 60px;
  width: 100%;
  background-color: var(--clr-plan-blau);
}

.plan-programm-titel{
  position: absolute;
  display: inline-block;
  left: 0px;
  height: 100%;
  padding-left: 2ch;
  font-size: 1.5rem;
  color: white;
  text-align: left;
  line-height: 60px;
}

.plan-dokument-titel{
  position: relative;
  display: inline-block;
  height: 100%;
  padding-left: 2ch;
  font-size: 1rem;
  color: white;
  text-align: left;
  line-height: 60px;
}

#bt-als-anhang-speichern {
  position: absolute;
  display: block;
  height: 60px;
  width: 200px;

  top: 80px;
  right: 20px;
  z-index: 10;
  background: var(--clr-plan-blau);
}

.plan-button-text{
  display: block;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);

  color: white; 
  font-weight: bold;
}


.plan-content{
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  border-radius: 0 0 10px;
  background-color: var(--clr-plan-blau);
  
}


.plan-content img{
  position: relative;
  min-width: 1000px;
  width: 100%;
  top: 50%;
  /* transform: translateY(-50%); */
}

.plan-content-strechy-wrapper{
  position: relative;
  width:fit-content;
}

.plan-pos-wrapper{
  position:absolute;
  display: block;
  width: auto;
  z-index: 3;
  /* background: red; */
  border: 3px solid green;
}

.plan-pos-wrapper::before{
  display: none;
  position: absolute;
  content: "";
  width: 60px;
  height: 60px;
  background: rgba(255, 255, 0, 0.498);
  top: -60px;
  left: -60px;
  z-index: 1;

}

#plan-pos-id-0{
  top: 12.5%;
  left: 36.5%;
}
#plan-pos-id-1{
  bottom: 76%;
  left: 44.25%;
}
#plan-pos-id-2{
  bottom: 58.25%;
  left: 45.25%;
}
#plan-pos-id-3{
  top:55.3%;
  left: 48%;
}
#plan-pos-id-4{
  top: 63.2%;
  left: 43.5%;
}
#plan-pos-id-5{
  top: 68.5%;
  left: 23%;
}
#plan-pos-id-6{
  top: 62%;
  right: 75%;
}
#plan-pos-id-7{
  bottom: 46.5%;
  left: 21.75%;
}
#plan-pos-id-8{
  bottom: 54.75%;
  left: 8%;
}
#plan-pos-id-9{
  top: 27.75%;
  left: 18%;
}
#plan-pos-id-10{
  bottom: 82%;
  right: 74.75%;
}

#plan-pos-id-11{
  top: 26.6%;
  right: 22%;
}
#plan-pos-id-12{
  bottom: 73.6%;
  right: 2%;
}
#plan-pos-id-13{
  bottom: 61.75%;
  right: 5%;
}
#plan-pos-id-14{
  bottom: 50.5%;
  right: 0.25%;
}
#plan-pos-id-15{
  top: 56.5%;
  left: 75%;
}
#plan-pos-id-16{
  bottom: 46.5%;
  right: 26.75%;
}

.plan-pos-auswahlfeld{
  font-size: 1.2rem;
}


/*
___  ___  ___   _____  _     
|  \/  | / _ \ |_   _|| |    
| .  . |/ /_\ \  | |  | |    
| |\/| ||  _  |  | |  | |    
| |  | || | | | _| |_ | |____
\_|  |_/\_| |_/ \___/ \_____/
                             
                             */

.mail-container {
  position: absolute;
  height: 80%;
  width: 95%;
  top: 50%;
  left: 50%;
  z-index: 5;
  transform: translate(-50%,-50%);
  color: black;
  text-align: left;
  border: 5px solid var(--clr-ebreif-blau);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  background-color: var(--clr-ebreif-blau);

}

.mail-menuzeile{
  position:relative;
  height: 60px;
  font-size: 1.5rem;
  background-color: var(--clr-ebreif-blau);
}

.mail-menuzeile p{
  position: absolute;
  padding-left: 1ch;
  color: white;
  top: 50%;
  transform: translate(0, -50%) ;
}

.mail-close::after{
  position: absolute;
  top: 50%;
  right: 10px;
  font-size: 60px;
  height: auto;
  cursor: pointer;
  color: white;
  content: "\00d7";
  transition: transform 0.5s ease-in-out;
  transform: translate(0, -50%);
}

.mail-close:hover{
  cursor: pointer;
}

.mail-window-content{
  position: relative;
  height: 100%;
  overflow: auto;
  color: black;
  background-color: white;
}

.mail-header{
  position: relative;
  display: flex; 
  flex-direction: row;
  gap: 1rem;
  align-items: center;
  width: 95%;
  background-color: white;
  min-height: 100px;
  left: 50%;
  translate: -50%;
  
}



.mail-inputs{
  position: relative;
  flex: 1 1 auto;
  background-color: var(--clr-ebreif-hellblau);
  width: 100%;
}

.mail-input-wrapper {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
}

.mail-header-element-titel{
  padding: 1rem; 
  border: 2px solid white;
  color: white; 
  background-color: var(--clr-ebreif-blau);
  display: inline-block;
  text-align: center;
  font-weight: bold;
  min-width: 12ch;
  
}

#bt-mail-senden {
  position: relative;
  height: 100px;
  width: 100px;
  flex: 0 0 auto;
  
}

.mail-body {
  position: relative;
  background: white;
  margin-top: .5rem;
  width: 95%;
  left: 50%;
  transform: translateX(-50%);
  padding-block: 1rem;
  font-size: 1.2rem;
}

.mail-body-text-mit-eingabefeldern{
  display: inline-block;
}

.mail-body-text{
  display: block;
}

.mail-body-text+.mail-body-text{ /*Have a gap between paragraphs*/
  margin-top: 1rem;
}


#mail-an,
#mail-betreff,
#mail-anhang,
#mail-von {
  color: black; 
  background-color: var(--clr-ebrief-hellblau);
}

.mail-header-element {
  position: relative;
  display: block;
  padding-left: .5rem; 
  margin-left: 1rem;
  width: 100%;
  top: 0;
  bottom: 0;
  padding-bottom: 3px;
  overflow: hidden;
  flex: 1 1 auto;
}

#mail-body-keyword-1,
#mail-body-keyword-2 {
  position: relative;
  padding-left: 0.5ch;
  text-align: center;
  width: 5.5ch;
  font-size: 1.2rem;
  font-family: var(--ff-pc-schrift);
  font-weight: bold;
  bottom: 0px;
  background-color: var(--clr-ebrief-hellblau);
  user-select: unset;
  -webkit-user-select: unset;
}

.wide#mail-body-keyword-1{
  width: 28ch;
}

.mail-eingang,
.mail-verfassen,
.mail-anzeige{
  position: relative;
  height: 100%;
  width: 100%;
  overflow: auto;
}


.mail-eingang-titel{
  position: relative;
  margin: 1.5rem 0 1rem .5rem;
  padding: 0.5rem;
  width: fit-content;
  font-size: 1rem;
  color: white;
  background-color: var(--clr-ebreif-blau);
}

.mail-eingang-titel::after{
  position: absolute;
  top: -15px;
  right: -15px;
  z-index: 2;
  content: "1";
  height: 30px;
  width: 30px;
  border-radius: 30px;
  background-color: var(--clr-ebrief-neu-badge);
  color: white;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
}

.mail-eingang-tabelle{
  position: relative;
  width: 95%;
  left: 50%;
  transform: translate(-50%);
  border: 2 px solid black;
}

.mail-eingang-tabelle td{
  padding-left: .5ch;
}
th {
  font-weight: normal;
}

td.new {
  font-weight: bold;
}

.mail-eingang-klickbar{
  cursor: pointer;
}

.mail-eingang-tabelle tr{
  color: black;
}

.mail-eingang-tabelle tr:nth-child(odd){
  background-color: var(--clr-ebrief-zeile-hell);
}

.mail-eingang-tabelle tr:nth-child(even){
  background-color: var(--clr-ebrief-zeile-dunkel);
}

.mail-eingang-tabelle tr:nth-child(1){
  background-color: unset;
}

.mail-anzeige-header{
  position: relative;
  width: 95%;
  left: 50%;
  transform: translateX(-50%);
  background-color: white;
}

.mail-anzeige-body{
  position: relative;
  height: auto  ;
  width: 95%;
  left: 50%;
  top: 1ch;
  transform: translateX(-50%);
  border: 2px solid black;
  padding-inline: .5ch;
  overflow: auto;
}




@media only screen and (max-width: 600px){
  
  *, *::after, *::before{
    hyphens: auto;
  }

  .schloss-button-text{
    font-size: 1.25rem;
  }

  .schloss-fehlermeldung-feld{
    grid-area: 3 / 2 / 6 / 3;
    font-size: 1.25rem;
  } 

  .mail-container {
    height: 95%;
  }
  
  .plan-programm-titel{
    position: relative;
    display: block;
    height: unset;
    width: 100%;
    left: unset;
    padding-left: 2ch;
    font-size: 1.5rem;
    color: white;
    text-align: center;
    line-height: unset;
  }
  
  .plan-dokument-titel{
    position: relative;
    display: block;
    height: unset;
    left: unset;
    width: 100%;
    padding-left: 2ch;
    font-size: 1rem;
    color: white;
    text-align: center;
    line-height: unset;
  }

  .mail-header{
    padding: 1ch;
  }
  .mail-header-element-titel{
    height: 1.5rem;
    padding: unset;
    font-size: 1rem;
    width: unset;
    min-width: 8ch;
  }

  .mail-header-element{
    padding: unset;
    bottom: unset;
    margin: unset;
    margin-left: 1ch;
    font-size: smaller;
  }
  
  #mail-an{
    word-break: break-all;
  }

  #bt-mail-senden{
    height: 80px;
    width: 80px;
    top: unset;
    right: unset;
    transform: unset;
    position: relative;
  }

}