html, input, select, body {
  font-family: 'RobotoLight',Tahoma,Verdana,Arial,Helvetica;
}
html, body {
  padding: 0;
  margin: 0;
/*  background: rgb(14,15,17); */
/*  background: linear-gradient(90deg, rgba(14,15,17,1) 0%, rgba(22,25,26,1) 21%, rgba(26,29,30,1) 47%, rgba(22,25,26,1) 64%, rgba(15,16,18,1) 78%); */
  background: linear-gradient(to left, #05141b,#071522, #06121e, #05121a, #06151d);
  height: 100%;
  --swiper-theme-color: #daa521;
  overscroll-behavior-y: none;
  overflow: hidden;
}
input, select {
  border: none;
  border-radius: 2px;
  padding-left: 2vw;
  padding-right: 2vw;
  padding-top: 1vh;
  padding-bottom: 1vh;
  margin-top: 5px;
  margin-bottom: 5px;
  transition: ease-in-out, box-shadow .35s ease-in-out, background-color .35s ease-in-out;;
  box-shadow: 0px 7px 19px 0px rgb(0 0 0 / 53%);
  background-color: #142a3f;
  color: #fff;
  width: 80%;
}
input:focus, select:focus {
  box-shadow: 0px 0px 9px 0px #daa52082;
  transition: ease-in-out, box-shadow .35s ease-in-out, background-color .35s ease-in-out;;
}
.watermarkbg {
  background-image: url(../img/wappen_background.svg),none;
  background-position: top right;
  background-repeat: no-repeat;
  background-color: transparent;
  content: ".";
  opacity: 0.60;
  filter: alpha(opacity=60);
  background-size: cover;
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
}
#navBack {
  float: left;
  padding: 10px 0px 5px;
  font-size: 3vh;
  color: #daa521;
  position: relative;
}
#logo {
  float: left;
  padding: 10px 10px 5px;
}
#tab_Menu_button {
  float: right;
  padding: 10px 10px 5px;
  height: 100%;
  color: #a2a2a2;
  font-size: 3vh;
}
#titleBar {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  align-items: center;
  color: #daa521;
  display: flex;
  justify-content: center;
  overflow: hidden;
}
#titleBar div {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  min-width: 0;
  max-width: 65vw;
}

#pull-to-refresh {
  color: #FFFFFF;
  position: fixed;
  top: -50px;
  width: 100%;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: top 0.7s ease-in-out;
}

.pull-to-refresh-visible {
  top: 1vh !important;
}

#header {
  top: 0vh;
  width: 100%;
  /*background-color: #1a1d1e;*/
  background: linear-gradient(to left, #05141b,#071522, #06121e, #05121a, #06151d);
  position: absolute;
}
#loginscreen {
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  z-index: 100;
  position: absolute;
  background: linear-gradient(to left, #05141b,#071522, #06121e, #05121a, #06151d);
}
#loginheader {
  top: 0vh;
  width: 100%;
  height:7vh;
  /*background-color: #1a1d1e;*/
  background: linear-gradient(to left, #05141b,#071522, #06121e, #05121a, #06151d);
  position: absolute;
  display: flex;
  align-content: center;
  justify-content: center;
}
#loginheader img {
  height: 100%;
}
#loginfooter {
  bottom: 0px;
  width: 100%;
  height: 7vh;
  /*background-color: #1a1d1e;*/
  background: linear-gradient(to left, #05141b,#071522, #06121e, #05121a, #06151d);
  position: absolute;
  display: block;
  grid-auto-flow: column;
  color: #daa521;
  font-size: 1.5vh;
  padding-left: 1vw;
  padding-right: 1vw;
  align-content: center;
  justify-content: flex-start;
  text-align: center;
}
#logincontent {
  display:grid;
  grid-template-rows: 1fr 5fr 5fr 3fr;
}
#loginsiegel {
  display: flex;
  align-content: center;
  justify-content: center;
}
#loginfields {
  color: #818181;
  display: flex;
  align-content: center;
  justify-content: center;
  text-align: center;
  align-items: center;
  font-size: 1.5vh;
  flex-direction: column;
}
#loginfields input {
  width: 50%;
}
#login_pwd_reset {
  max-width: 70vw;
}
#login_pwd_reset a {
  color: inherit;
}
.inputGreen {
  background-color: hsla(120,100%,40%,0.4);
  color: hsla(120,100%,40n%,0.9);
}
.inputInvalid {
  box-shadow: 0px 0px 9px 0px hsla(0,100%,40%,0.9);
  transition: ease-in-out, box-shadow .35s ease-in-out, background-color .35s ease-in-out;
  background-color: hsla(0,100%,40%,0.4);
}
.fbutton {
  padding: 10px 10px 5px;
  text-align: center;
  color: #a2a2a2;
}
.fbuttonActive {
  color: #daa521;
}
.content {
  position: absolute;
  left: 0px;
  right: 0px;
  padding-bottom: 1vh;
  overflow-y: scroll;
  overflow-x: hidden;
  display: none;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
  z-index: 0;
  scrollbar-color: #a2a2a2 #071421;
}
.contentActive {
  display: block;
}
.contentElement {
  margin: 0px auto;
  margin-top: 1vh;
  width: 80%;
  box-shadow: 0px 7px 19px 0px rgb(0 0 0 / 53%);
  /*background: linear-gradient(to left,#1d1c1c,#292929e3,#313131,#272727,#1d1d1d);*/
  background: linear-gradient(to left, #081b31,#142a3f, #142a3f, #142a3f, #081b31);
  padding: 1vh;
  color: #FFFFFF;
}
.contentElement i {
  color: #daa521;
}
.contentElement i:last-child{
  float: right;
  color: #000000;
}
.contentInputElement{
  text-align: center;
  margin: 1vh;
}
.contentInputElement span {
  color: #C8C8C8;
  position: absolute;
  padding-top: 1vh;
  padding-left: 2vw;
}
.contentInputElement input {
  padding-top: 3vh;  
}
.contentAppInfo {
  text-align: center;
  margin: 1vh;
}
.contentAppInfo::before {
  display: block;
  background-image: linear-gradient(to bottom, rgba(5, 18, 26, 0.2), rgba(0, 0, 0, 0.0));
  height: 1vh;
  width: 100%;
  content: '';
}
.contentAppInfo::after {
  display: block;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.0), rgba(5, 18, 26, 0.2));
  height: 1vh;
  width: 100%;
  content: '';
}
.contentAppInfo a {
  color: inherit !important;
}
.contentKursHeader{
  color: #daa521;
  text-align: center;
  margin: 1vh;
}
.contentKursText {
  margin: 0px auto;
  margin-top: 1vh;
  width: 80%;
  box-shadow: 0px 7px 19px 0px rgb(0 0 0 / 53%);
  /*background: linear-gradient(to left,#1d1c1c,#292929e3,#313131,#272727,#1d1d1d);*/
  background: linear-gradient(to left, #081b31,#142a3f, #142a3f, #142a3f, #081b31);
  padding: 1vh;
  color: #C8C8C8;
  text-align: justify;
}
.contentKursText p, .contentKursText h2, .contentKursText h3 {
  margin: 0px;
}
.contentKursPicture {
  margin: 0px auto;
  margin-top: 1vh;
  width: calc(80% + 2vh);
  box-shadow: 0px 7px 19px 0px rgb(0 0 0 / 53%);
  padding: 0;
}
.contentKursPicture img {
  width: 100%;
}
.contentForwardBack {
  margin: 0px auto;
  margin-top: 1vh;
  width: 80%;
  display: grid;
  grid-template-columns: 1fr 6fr 1fr;
}
.contentForwardBack div {
  text-align: center;
  color: #daa521;
}
.contentKursData {
  margin: 0px auto;
  margin-top: 1vh;
  width: 80%;
  box-shadow: 0px 7px 19px 0px rgb(0 0 0 / 53%);
  /*background: linear-gradient(to left,#1d1c1c,#292929e3,#313131,#272727,#1d1d1d);*/
  background: linear-gradient(to left, #081b31,#142a3f, #142a3f, #142a3f, #081b31);
  padding: 1vh;
  color: #FFFFFF;
  display: grid;
  grid-template-areas: 
            "info1      info1       date        icon1"
            "info2      info2       time        icon1"
            "addtext    addtext     addtext     addtext"
            "available  intdetail   lessonnum   icon2"
            "location   instructor2 instructor  icon2"
            "leer       preis       preis       preis";
}
.contentKursDataInfo1{
  grid-area: info1;
  color: #818181;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.contentKursDataInfo2{
  grid-area: info2;
}
.contentKursDataIcon1{
  grid-area: icon1;
  display: flex;
  align-items: center;
  justify-content: space-around;
}
.contentKursDataIcon2{
  grid-area: icon2;
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.contentKursDataDate{
  grid-area: date;
}

.contentKursDataCancelled {
  color: #FFFFFF;
  position: absolute;
  margin-left: 0.5vw;
  transform: rotate(-10deg);
  margin-top: 6vw;
  background-color: #a80000;
  padding-left: 4vw;
  padding-right: 4vw;
  z-index: 1;
}

.contentKursDataTime{
  grid-area: time;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.contentKursDataAdditionalText {
  grid-area: addtext;
  color: #818181;
  display: flex;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 70vw;
}

.contentKursDataPreis {
  grid-area: preis;
  color: #FFFFFF;
  display: flex;
  height: 2vh;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 70vw;
  max-height: 2vh;
}

.contentKursDataAvailable{
  grid-area: available;
  display: flex;
  align-items: end;
  height: 3vh;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.contentKursDataIntDetail{
  grid-area: intdetail;
  display: flex;
  align-items: end;
  height: 3vh;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}


.contentKursDataLessonNum{
  grid-area: lessonnum;
  display: flex;
  align-items: end;
  height: 3vh;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.contentKursDataInstructor{
  grid-area: instructor;
  color: #818181;
  display: flex;
  align-items: end;
  height: 3vh;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.contentKursDataInstructor2{
  grid-area: instructor2;
  color: #818181;
  display: flex;
  align-items: end;
  height: 3vh;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.contentKursDataLocation{
  grid-area: location;
  color: #818181;
  display: flex;
  align-items: end;
  height: 3vh;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.contentKursAdditional {
  margin: 0px auto;
  margin-top: 1vh;
  width: 80%;
  box-shadow: 0px 7px 19px 0px rgb(0 0 0 / 53%);
  /*background: linear-gradient(to left,#1d1c1c,#292929e3,#313131,#272727,#1d1d1d);*/
  background: linear-gradient(to left, #081b31,#142a3f, #142a3f, #142a3f, #081b31);
  padding: 1vh;
  color: #FFFFFF;
  display: grid;
  grid-template-columns: 1fr 3fr 3fr 1fr;
  grid-template-areas: 
            "icon      title    right    right"
            "icon      content  content  .....";
}
.contentKursAdditionalIcon {
  grid-area: icon;
  color: #818181;
}
.contentKursAdditionalTitle {
  grid-area: title;
  color: #818181;
}
.contentKursAdditionalContent {
  grid-area: content;
  color: #C8C8C8;
}
.contentKursAdditionalLessons {
  grid-area: content;
  color: #C8C8C8;
  display: grid;
  grid-template-columns: 2fr 4fr 4fr;
}
.contentKursAdditionalRight {
  grid-area: right;
  color: #818181;
  display: flex;
  justify-content: flex-end;
}
.kursStatusAvailable{
  color: #5dff6f;
}
.kursStatusLow{
  color: #ff7328;
}
.kursStatusFull{
  color: #ff2929;
}
.kursLessonsStatusCompleted{
  color: #626262;
}
.kursLessonsInhalt{
  grid-column: 1 / 4;
  padding-left: 3vw;
  font-style: italic;
  margin-bottom: 0.5vh;
  border-bottom: 1px solid #666
}
.kursLessonsCancelled {
  text-decoration: line-through;
}
.coverImage {
    width: 100vw;
    object-fit: cover;
    object-position: 100% 0%;
    max-width: 100vh;
    margin-left: auto;
    margin-right: auto;
    display: block;
}
.gridx2 div{
  text-align: center;
}
.gridx2title {
  color: #daa521;
}
.gridx2 div img{
  width:100%;
}
.gridx2left {
  /*background: linear-gradient(to left,#1d1c1c,#292929e3,#313131,#272727,#1d1d1d);*/
  background: linear-gradient(to left, #081b31,#142a3f, #142a3f, #142a3f, #081b31);
  color: #dbdbdb;
  margin-bottom: 3vh;
}
.gridx2right {
  /*background: linear-gradient(to left,#1d1c1c,#292929e3,#313131,#272727,#1d1d1d);*/
  background: linear-gradient(to left, #081b31,#142a3f, #142a3f, #142a3f, #081b31);
  color: #dbdbdb;
  margin-bottom: 3vh;
}
.swiper {
  margin-top: 3vh;
  width: 84vw;
  height: 15vh;
}
.stdswiper-slide img {
  width: 100%;
}
.stdswiper-slide div {
  position: absolute;
  left: 0px;
  right: 0px;
  bottom: 1vh;
  height: 3vh;
  background-color: #2a2a2ade;
  font-size: 2vh;
  line-height: 3vh;
  color: #FFFFFF;
  text-align: center;
}
.icon-green {
  color: #25DD3B;
}
.icon-red {
  color: #dd2525;
}
#appfog {
  transition: backdrop-filter 1s;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.appfogEnabled {
  z-index: 99;
  backdrop-filter: blur(5px);
  background-color: rgb(0 0 0 / 15%);
}
#actionoverlay {
  position: absolute;
  z-index: 100;
  bottom: -50vh;
  left: 5vw;
  right: 5vw;
  background-color: #FFFFFF;
  padding-bottom: 3vh;
  padding-left: 2vw;
  padding-right: 2vw;
  padding-top: 1vh;
  min-height: 10vh;
  /*background: linear-gradient(to left,#1d1c1c,#292929e3,#313131,#272727,#1d1d1d);*/
  background: linear-gradient(to left, #081b31,#142a3f, #142a3f, #142a3f, #081b31);
  color: #ffffff;
  text-align: center;
  transition: bottom 1s;
}
.actionoverlayEnabled {
  bottom: 0vh !important;
}
#actionoverlay .contentKursData {
  text-align: left;
}
#actionoverlay .contentKursDataIcon1 {
  display: none;
}
#actionoverlay .contentKursDataIcon2 {
  display: none;
}
.overlayButtons {
  display: grid;
  justify-content: space-around;
  align-content: space-evenly;
  justify-items: center;
  grid-auto-flow: column;
  margin-top: 1vh;
}
.overlayButtons div {
  margin: 0px auto;
  margin-top: 1vh;
  box-shadow: 0px 7px 19px 0px rgb(0 0 0 / 53%);
  padding: 1vh;
  width: 25vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
.overlayButtonGreen {
  background: linear-gradient(to left,#1d9c1c,#29a929e3,#31b131,#27a727,#1d9d1d);
  color: #000000;
}
.overlayButtonRed {
  background: linear-gradient(to left,#9d1c1c,#a92929e3,#b13131,#a72727,#9d1d1d);
  color: #FFFFFF;
}
.receiptIframe {
  width: 100%;
  height: 100%;
  border: 0;
  background-color: #FFFFFF;
}

.campusSlider div {
  display: inline-flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
}

.campusSlider .favorite {
  color: #daa521;
  position: absolute;
  top: 1vh;
  right: 2vw;
  margin: 0px;
}

.campusSlider .videolength {
  position: absolute !important;
  top: 1vh;
  left: 2vw;
  color: #FFFFFF;
  background-color: #00000080;
  padding-left: 5px;
  padding-right: 5px;
}

.campusSlider span {
  display: block;
  color: #FFFFFF;
  text-overflow: ellipsis;
  overflow: hidden;
}

.cardSwiper {
  height: 60vh;
  width: 60vw;
}

.cardSwiper-slide {
  background-color: #FFFFFF;
  border-radius: 5vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative; /* Ensure the delete button is positioned relative to the card */
}

.cardSwiper-slide img, .cardSwiper-slide canvas {
  /*width: 50vw ;*/
  max-width: 50vw !important;
  max-height: 50vh !important;
}

.delete-btn {
    position: absolute;
    top: 2vh;
    right: 3vw;
    cursor: pointer;
    z-index: 10;
}

#campusVideoPlayer {
  width: 100%;
  max-width: 800px;
  opacity: 1;
  margin-left: auto;
  margin-right: auto;
  display: block;
}