@charset "UTF-8";
@font-face {
  font-family: 'NotoSansRegular';
  src: url(../Fonts/Redesign-2025/NotoSans-Regular.ttf);
}
@font-face {
  font-family: 'UbuntuBold';
  src: url(../Fonts/Redesign-2025/Ubuntu-Bold.ttf);
}
@font-face {
  font-family: 'UbuntuRegular';
  src: url(../Fonts/Redesign-2025/Ubuntu-Regular.ttf);
}
@font-face {
  font-family: 'UbuntuMedium';
  src: url(../Fonts/Redesign-2025/Ubuntu-Medium.ttf);
}
/** Variablen **/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body {
  box-sizing: border-box;
  font-weight: 400;
  letter-spacing: 0.004em;
  /* font-size: $baseFontSize; */
  font-size: 20px;
  color: #3a4246;
  background-color: #fff;
  font-family: 'NotoSansRegular';
}
@media screen and (max-width: 1200px) {
  html,
  body {
    font-size: 19px;
  }
}
@media screen and (max-width: 1024px) {
  html,
  body {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  html,
  body {
    font-size: 17px;
  }
}
@media screen and (max-width: 480px) {
  html,
  body {
    font-size: 16px;
  }
}

.visitenkarten {
  display: flex;
  background-color: #e9ecf0;
  padding: 1rem 2rem;
  display: flex;
  flex-direction: row;
  text-align: left;
}

.visitenkarten:not(:first-of-type) {
  margin-top: 1rem;
}

.visitenkarten .informationen {
  width: 60%;
}

.visitenkarten .name {
  font-weight: bold;
  font-size: 1.1rem;
}

.visitenkarten .bild {
  display: inline-flex;
  justify-content: end;
  align-items: flex-start;
  width: 40%;
  border-radius: 16px;
}

.visitenkarten .bild img {
  box-shadow: 10px 10px 5px 0px rgba(174, 174, 174, 0.58);
  -webkit-box-shadow: 10px 10px 5px 0px rgba(174, 174, 174, 0.58);
  -moz-box-shadow: 10px 10px 5px 0px rgba(174, 174, 174, 0.58);

  max-width: 300px;
  height: auto;
}
.visitenkarten {
  .fa-image-portrait {
    font-size: 5rem !important;
  }
}

section {
  margin-top: 2rem;
  padding-bottom: 2rem;
}

p {
  font-family: 'NotoSansRegular';
  font-size: 1rem;
  margin: 1rem 0;
  line-height: 1.6rem;
}

div.terminWrapper div {
  font-family: 'NotoSansRegular';
  font-size: 1rem !important;
}

.lessMargin {
  margin: 1rem 0;
}
.lessMargin p {
  margin-block: 0.25rem;
}

a {
  font-size: 1rem;
  color: #004884;
  font-weight: 600;
}

a.pdf::before,
span.pdf::before {
  font-family: 'Font Awesome 6 Free';
  font-weight: 600;
  content: '\f1c1';
  margin-right: 0.5rem;
  color: #ff0000;
}

a.external::before {
  font-size: 0.7rem;
  font-family: 'Font Awesome 6 Free';
  font-weight: 600;
  content: '\f08e';
  margin-right: 0.2rem;
  text-decoration: none;
  border-bottom: 0;
}

h1,
h2,
h3,
h4 {
  letter-spacing: 0.05rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'UbuntuRegular';
  color: #004985;
  word-break: normal;
}

h1 {
  font-size: 2.25rem;
  margin-bottom: 2rem;
  /* font-family: "UbuntuMedium"; */
}

h2 {
  font-size: 1.9rem;
  margin: 1rem 0;
  /* font-family: "UbuntuMedium"; */
}

h3 {
  font-size: 1.5rem;
  margin: 0.75rem 0;
  font-family: 'UbuntuRegular';
}

h3:not(:first-of-type) {
  margin-top: 1rem;
}

h4 {
  font-size: 1.2rem;
  font-family: 'UbuntuRegular';
}

h5 {
  font-size: 1.2rem;
  font-family: 'UbuntuRegular';
  font-weight: 100;
}

h6 {
  font-size: 1.25rem;
}

.bold {
  font-weight: 700;
}

.light {
  font-weight: 300;
}

.fontMedium {
  font-family: 'UbuntuMedium';
}

.bisschenAbstand {
  padding-bottom: 0.3rem;
}

.mehrAbstand {
  padding-bottom: 0.4rem;
}

.vielAbstand {
  padding-bottom: 0.6rem;
}

small {
  font-size: 0.8rem;
}

/**
 * https://typescale.com/
 * Font-Size: 17px
 * Scale: 1.250 - Major
 * Font: Ubuntu Sans
 * Weight: 400
 * Line-height: 1.6
 * Letter-spacing: 0.004em
 * color: #1A1A1A
 * Background: #FFFFFF
 *
 *
 *
 *
**/
/* HeaderBild mit Titel und DCS Logo 
�berlegen ob das Background Image nicht vielleicht besser in das HTML geschriebwn wird f�r leichtere Anpassungen */
.headerBanner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-image: url('../img/banner/sauelen.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  /* padding-block: 6rem; */
  padding-block: 12rem;
  font-family: 'UbuntuMedium';
  height: 400px;
}
.headerBanner p {
  color: #fff;
  font-family: 'UbuntuMedium';
  font-size: 3rem;
  line-height: 2.9rem;
  padding-inline: 5rem;
  text-align: center;
  /* font-weight: 600; */
  text-shadow: 4px 4px 10px rgba(0, 0, 0, 0.75);
}
.headerBanner .noShadow {
  text-shadow: none;
}
.headerBanner .light {
  font-weight: 300;
}
.headerBanner .biggerFont {
  font-size: 3.5rem;
  padding-inline: 0;
}
.headerBanner .logo-gross {
  width: 60%;
  display: flex;
  margin: 0 auto;
}
.headerBanner img {
  width: 20%;
}
@media screen and (max-width: 900px) {
  .headerBanner img {
    width: 30%;
  }

  .headerBanner {
    height: 350px !important;
  }
}
@media screen and (max-width: 500px) {
  .headerBanner p {
    padding-inline: 2rem;
  }
  .headerBanner img {
    width: 40%;
  }

  .headerBanner {
    height: 200px !important;
  }
}

.blueOverlay {
  /* background-color: #3f6ba2; */
  /* background-color: rgba(255, 255, 255, 0.3); */
  background-color: rgba(63, 107, 162, 0.6);
  background-blend-mode: darken;
}

.abstandsDiv.gross {
  padding-top: 5rem;
}

.abstandsDiv.medium {
  padding-top: 3rem;
}

.abstandsDiv.mediumBottom {
  padding-bottom: 3rem;
}

.abstandsDiv.klein {
  padding-top: 2.2rem;
}

/**
* WRAPPER
**/
div.contentWrapper {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

div#artikelInhalt img,
footer img {
  max-width: 200px;
  height: auto;
}

@media screen and (max-width: 1200px) {
  div.contentWrapper {
    max-width: 860px;
  }
}
@media screen and (max-width: 1024px) {
  div.contentWrapper {
    max-width: 780px;
  }
}
@media screen and (max-width: 768px) {
  div.contentWrapper {
    max-width: 90vw;
  }
}

/* F�r die grauen Hintergrundelemente
am besten in die Section vor div.contentWrapper */
.greyBackground {
  color: #004985;
  background-color: #e8ecf3;
}

.noBottomPadding {
  padding-bottom: 0;
}

.noTopMargin {
  margin-top: 0;
}

main {
  background-color: #fff;
}
main.scrolled {
  /* margin-top: 73px; */
}

.blauerWrapper {
  width: 100%;
  background-color: #6e92c4;
  color: #fff;
  padding: 0.5rem;
  margin-block: 0.5rem;
  transition: transform 0.5s ease, box-shadow 0.3s ease;
  will-change: transform;
  padding-left: 1rem;
}
.blauerWrapper a {
  color: #fff;
  text-decoration: none;
}
.blauerWrapper h2,
.blauerWrapper h3 {
  color: #fff;
  font-family: 'UbuntuRegular';
  font-weight: 300;
}

.blauerVeranstaltungsWrapper {
  display: grid;
  grid-template-columns: 1fr;
  background-color: #6e92c4;
  position: relative;
  transition: transform 0.5s ease, box-shadow 0.3s ease;
  will-change: transform;
  height: 0;
  opacity: 0;
  overflow: hidden;
  transition: height 0.5s ease, opacity 0.5s ease;
}
.blauerVeranstaltungsWrapper a {
  text-decoration: none;
}
.blauerVeranstaltungsWrapper h2,
.blauerVeranstaltungsWrapper h3 {
  color: #fff;
}
.blauerVeranstaltungsWrapper h3 {
  font-weight: 300;
}
.blauerVeranstaltungsWrapper .veranstaltungsInnenWrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  height: 100%;
}
.blauerVeranstaltungsWrapper .veranstaltungsInnenWrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}
.blauerVeranstaltungsWrapper .veranstaltungsInnenWrapper h2,
.blauerVeranstaltungsWrapper p {
  padding-top: 0.1rem;
  padding-inline: 0.5rem;
  color: #fff;
  font-size: 1.4rem;
}
.blauerVeranstaltungsWrapper .text {
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.blauerVeranstaltungsWrapper .text p {
  font-weight: 400;
  font-size: 1rem;
}

.blauerVeranstaltungsWrapper.expanded {
  height: 10rem;
  opacity: 1;
  /* padding: 0.5rem; */
  margin-block: 0.3rem;
}

.blauerVeranstaltungsWrapper:hover {
  transform: scale(1.07);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4);
  z-index: 2;
}
@media screen and (max-width: 750px) {
  .blauerVeranstaltungsWrapper .veranstaltungsInnenWrapper img {
    display: none;
  }
  .blauerVeranstaltungsWrapper .veranstaltungsInnenWrapper {
    grid-template-columns: 1fr;
  }
}

.centered {
  text-align: center;
}

.fortbildungsTabelle {
  text-align: left;
  border-collapse: collapse;
  width: 100%;
  font-weight: 100;
  overflow-x: scroll;
}
.fortbildungsTabelle thead tr {
  color: #fff;
  background-color: #6e92c4;
  font-family: 'UbuntuRegular';
}
.fortbildungsTabelle thead tr th {
  padding: 0.5rem;
  padding-left: 1.5rem;
}
.fortbildungsTabelle tbody tr {
  color: #000;
  background-color: #d9dfea;
  border-bottom: 3px solid #fff;
}
.fortbildungsTabelle tbody tr td {
  padding: 1.5rem;
  border: none;
}
.fortbildungsTabelle tbody tr:last-child {
  border-bottom: none;
}
.firstChildBold {
  td:first-child {
    font-weight: bold;
  }
}
footer {
  width: 100%;
  height: auto;
  background-color: #e1e5ec;
  padding-bottom: 2rem;
  color: #004985;
}
footer ul {
  list-style: none;
}
footer .footerFlex {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding-block: 2rem;
}
footer .copyright {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  padding-top: 2rem;
}
footer .footerLogo {
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  align-items: center;
}
footer .footerLogo img {
  max-width: 12rem;
  -o-object-fit: contain;
  object-fit: contain;
}
footer .footerLogo .imcLogoFooter {
  max-width: 8rem;
  padding-top: 2rem;
}
@media screen and (max-width: 650px) {
  footer .footerFlex {
    flex-direction: column;
    align-items: center;
  }
  footer .footerLogo {
    flex-direction: row-reverse;
  }
  footer .footerLogo img {
    max-width: 20rem;
    padding-bottom: 1rem;
    padding-inline: 1rem;
  }
  footer .footerLogo .imcLogoFooter {
    max-height: 6rem;
    padding-top: 0.5rem;
  }
}

.kachelWrapper {
  display: grid;
  width: 100%;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2px;
}
.kachelWrapper .kachel {
  aspect-ratio: 3/2;
  /* background-color: #3f6ba2; */
  /* background-color: #3a6b9f; */
  /* background-color: #406b99; */
  background-color: #3a608a;
  color: white;
  background-repeat: no-repeat;
  background-size: cover;
  background-blend-mode: multiply;
  /* Um Schrift sauber zu zentrieren */
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  /* für Hover Animation */
  transition: transform 0.5s ease, box-shadow 0.3s ease;
  will-change: transform;
}
.kachelWrapper .platzhalter {
  background: linear-gradient(to right, #3c6c9f 0%, #aabbd3 50%, #e9ecf1 100%);
  transition: unset;
  display: none;
}
.kachelWrapper .span3mitSelect {
  grid-column: span 3;
  aspect-ratio: auto;
  height: 10rem;
  background-blend-mode: normal;
  transition: unset;
  position: relative;
}
.kachelWrapper .span3mitSelect .selectWrapper {
  position: absolute;
  right: 6rem;
  max-width: 17rem;
  display: flex;
  flex-direction: column;
  justify-content: end;
  /* align-items: anchor-center; */
}
.kachelWrapper .span3mitSelect .selectWrapper label {
  font-size: 1.2rem;
  text-shadow: 0 4px 10px rgba(0, 0, 0, 0.9);
  text-align: left;
}
.kachelWrapper .span3mitSelect .selectWrapper select {
  cursor: pointer;
  background-color: #2e4e7f;
  color: #fff;
  padding: 0.75rem 1rem;
  border: none;
  font-size: 1rem;
  font-weight: 500;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  transition: background-color 0.3s ease, transform 0.2s ease,
    box-shadow 0.3s ease;
}
.kachelWrapper .kachelText {
  font-size: 1.3rem;
  /* font-weight: 700; */
  font-family: 'UbuntuRegular';
  font-weight: 100;
  letter-spacing: 0.05rem;
  text-shadow: 4px 4px 10px rgba(0, 0, 0, 0.8);
}
.kachelWrapper a {
  text-decoration: none;
}
.kachelWrapper .kachel:hover {
  transform: scale(1.1);
  /* Vergrößern um 10 % */
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  /* Optional */
  z-index: 2;
}
.kachelWrapper .kachel.span3mitSelect:hover {
  transform: none;
}
.kachelWrapper .kachel.platzhalter:hover {
  transform: none;
  box-shadow: none;
}

/* Einheitliche select-Felder */
.contentWrapper select {
  height: 3rem;
  margin-top: 0.5rem;
  background-color: #004884;
  background-color: #3c6ca0;
  color: #fff;
  border: 1px solid #ccc;
  border-radius: 0.2em;
  padding: 0.5em 1em;
  font-size: 1rem;
  font-weight: 500;
  width: 100%;
  transition: border-color 0.3s ease, box-shadow 0.3s;
}

.contentWrapper select option {
  width: 100%;
}

@media screen and (max-width: 800px) {
  /* body {
  	// overflow: hidden !important;
  } */
  /* 	Warum Footer und h1 hier dazu und font-size in pt und important angegeben?
  Hier waren vorher nur die Anpassungen des Kachelwrappers  */
  h1 {
    font-size: 30pt !important;
  }
  .kachelWrapper {
    grid-template-columns: 1fr 1fr;
  }
  .span3mitSelect {
    grid-column: span 2 !important;
  }
  div#footerContent {
    grid-template-columns: repeat(1, 1fr) !important;
    grid-template-rows: repeat(1, 0.2fr) !important;
  }
  .platzhalter {
    display: flex !important;
  }
}
@media screen and (max-width: 500px) {
  .kachelWrapper {
    grid-template-columns: 1fr;
  }
  .span3mitSelect {
    grid-column: span 1 !important;
  }
  .kachelWrapper .span3mitSelect .selectWrapper {
    right: 2rem;
  }
  .platzhalter {
    display: none !important;
  }
}
@media screen and (max-width: 350px) {
  .kachelWrapper .span3mitSelect .selectWrapper {
    right: 1rem;
  }
}
.saeulenWrapper {
  background-image: url('../img/banner/sauelen.jpg');
  display: flex;
  flex-direction: column;
  align-items: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding-block: 4rem;
}
.saeulenWrapper h2 {
  color: white;
  padding-block: 1rem;
}
.saeulenWrapper .saeulenInnenWrapper {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  color: #004985;
  font-weight: 800;
  gap: 3px;
  /* padding-inline: 2rem; */
}
.saeulenWrapper .saeuleGridElement {
  padding: 2rem 2.5rem;
  background-color: white;
  background-image: url('../img/Schlange-mit-Saeule.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 3rem;
  text-align: center;
  text-transform: uppercase;
}

input[type='submit'],
button,
.button {
  cursor: pointer;
  background-color: #2e4e7f;
  color: #fff;
  padding: 0.75em 1.5em;
  border: none;
  border-radius: 0.5em;
  font-size: 1rem;
  font-weight: 500;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  transition: background-color 0.3s ease, transform 0.2s ease,
    box-shadow 0.3s ease;
}

input[type='submit']:hover,
button:hover {
  background-color: #3a5e9b;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2);
}

input[type='submit']:active,
button:active {
  transform: translateY(0);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
}

input[type='text'],
input[type='password'],
input[type='email'] {
  background-color: #fff;
  color: #000;
  border: 1px solid #ccc;
  border-radius: 0.2em;
  padding: 0.5em 1em;
  font-size: 1rem;
  font-weight: 500;
  width: 100%;
  max-width: 400px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

input[type='text']::-moz-placeholder,
input[type='password']::-moz-placeholder,
input[type='email']::-moz-placeholder {
  color: #888;
}

input[type='text']::placeholder,
input[type='password']::placeholder,
input[type='email']::placeholder {
  color: #888;
}

input[type='text']:hover,
input[type='password']:hover,
input[type='email']:hover {
  border-color: #aaa;
}

input[type='text']:focus,
input[type='password']:focus,
input[type='email']:focus {
  outline: none;
  border-color: #2e4e7f;
  box-shadow: 0 0 0 3px rgba(46, 78, 127, 0.2);
}

@media screen and (max-width: 800px) {
  .saeulenWrapper .saeuleGridElement {
    padding: 2rem 1.5rem;
    background-size: 2.5rem;
  }
}
@media screen and (max-width: 600px) {
  .saeulenWrapper .saeuleGridElement {
    padding: 1.5rem 1rem;
    background-size: 2rem;
    font-size: 0.7rem;
  }
}
.saeulenWrapper .first {
  border-radius: 6rem 0 0 6rem;
}
.saeulenWrapper .last {
  border-radius: 0 6rem 6rem 0;
}

.blaueListe {
  color: #004985;
  margin: 0.5rem 1rem;
  line-height: 1.6rem;
}
.blaueListe .noBullets {
  list-style-type: none;
}

.adressListe {
  list-style: none;
}
.adressListe a {
  font-weight: 700;
  text-decoration: none;
  color: #637fb6;
}

.blauerText {
  color: #004985;
}

.zwischenBalken {
  width: 100%;
  background-color: #6e92c4;
  position: relative;
}
.zwischenBalken .contentWrapper {
  position: relative;
}
.zwischenBalken .contentWrapper h2 {
  color: #fff;
  padding: 1rem 0;
  display: inline-block;
  position: relative;
  font-weight: 100;
}
.zwischenBalken .contentWrapper h2::after {
  content: '';
  position: absolute;
  left: 0;
  top: 100%;
  width: 0;
  height: 0;
  border-left: 0.75rem solid transparent;
  border-right: 0.75rem solid transparent;
  border-top: 0.75rem solid #6e92c4;
}

.floatImgContainer {
  float: right;
}
.floatImgContainer .floatImg {
  margin-bottom: 0;
  padding: 0;
  /* height: 14rem;
  aspect-ratio: 3/4; */
  width: 10rem;
  padding: 1rem;
}
.floatImgContainer .floatImg img {
  width: 100%;
}
.floatImgContainer .floatImgText {
  background-color: #fff;
  color: #3a4246;
  margin-top: -1rem;
  font-size: 0.7rem;
  padding: 0.5rem 0.5rem 1.5rem 0.5rem;
  width: 100%;
}

.pdfDownloads {
  list-style: none;
  padding: 0;
  margin: 0;
}

.pdfDownloads li {
  background-color: #6e92c4;
  margin-bottom: 3px;
}

.pdfDownloads li a {
  display: flex;
  align-items: center;
  padding: 0.25rem 1rem;
  text-decoration: none;
  color: #fff;
  width: 100%;
  font-family: 'UbuntuRegular';
  font-weight: 100;
}

.pdfDownloads li a::before {
  content: '';
  display: inline-block;
  background: url('../img/pdf_symbol.svg') no-repeat center center;
  background-size: contain;
  width: 1rem;
  height: 1rem;
  margin-right: 0.5rem;
}

#olliPfeil {
  display: flex;
  justify-content: center;
  transform: translate(0, -60%);
}
#olliPfeil i {
  font-size: 2.5rem;
  background-color: #fff;
  border-radius: 2.5rem;
}

.spendenGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.25rem;
}

.spendenGridElement {
  background-color: #e1e5ec;
  padding: 1.5rem;
  position: relative;
  height: 10rem;
}

.spendenGridElement h3 {
  width: 100%;
  color: #004985;
  font-weight: 500;
}

.spendenGridInhalt {
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(-1.5rem, -1.5rem);
  font-size: 18px;
}

.paypalButton {
  width: 7rem;
}

.spendenLogo {
  position: absolute;
  bottom: 0;
  left: 0;
  max-height: 4rem;
  transform: translate(1.5rem, -1.5rem);
}

.textNebenBildGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
.textNebenBildGrid .gridElement {
  padding: 0;
}
.textNebenBildGrid img {
  max-width: 430px;
}

.preistraegerImgContainer img {
  max-height: 17rem;
}

.imgQuerFull img {
  max-width: 100%;
}

.bilderGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.bilderGridElement img {
  max-width: 100%;
  max-height: 100%;
}

.span2 {
  grid-column: span 2;
}

.logoFlex,
.koopFlex {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1rem;
}

.logoFlexElement img {
  max-height: 5rem;
}

.koopFlexElement img {
  max-height: 5rem;
}

#userid {
  display: none;
}

/* Collapsible */
button.collapsible::after {
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  color: #fff;
  content: '\f106';

  transform: rotateZ(90deg);
  -webkit-transition: -webkit-transform 0.25s ease-in-out;
  -ms-transition: -ms-transform 0.25s ease-in-out;
  transition: transform 0.25s ease-in-out;

  background: #29639a;
  width: 30px;
  height: 30px;
  padding: 10px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

button.collapsible {
  font-family: 'UbuntuRegular';
  font-size: 1.9rem;
  background-color: #6e93c0;
  color: #ffffff;
  cursor: pointer;
  padding: 18px;
  width: 100%;
  border: none;
  border-radius: 0;
  text-align: left;
  outline: none;
  display: block;
  margin-bottom: 0;
  margin-top: 20px;
  font-weight: normal;

  display: flex;
  justify-content: space-between;
  align-items: center;
}

button.collapsible.active::after {
  transform: rotateZ(180deg);
  -webkit-transition: -webkit-transform 0.25s ease-in-out;
  -ms-transition: -ms-transform 0.25s ease-in-out;
  transition: transform 0.25s ease-in-out;
}

.content.active {
  max-height: inherit;
  padding: 18px;
  transition: max-height 1s ease-in-out;
}

.content {
  font-size: 1rem;
  background-color: #e9ecf0;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.5s cubic-bezier(0, 1, 0, 1);
}

ol {
  padding: 0;
  margin-left: 1rem;
}

ol li {
  margin-bottom: 0.5rem;
}

ol.black-background {
  list-style: none;
}

ol.black-background li {
  counter-increment: item;
  margin-bottom: 15px;
}

ol.black-background li:before {
  margin-right: 10px;
  content: counter(item);
  background: #323844;
  border-radius: 100%;
  color: white;
  width: 1.2em;
  text-align: center;
  display: inline-block;
}

ol.black-background li:nth-child(even) {
}

ol.black-background li:nth-child(odd) {
  background-color: #e9ecf0;
}

main ul.farbwechsel {
  list-style: none;
}

main ul.farbwechsel li {
  display: inline-flex !important;
  justify-content: flex-start;
  min-height: 2rem;
  width: 100%;
}

main ul.farbwechsel li::before {
  font-family: 'Font Awesome 6 Free';
  font-weight: 600;
  padding-right: 16px;
  padding-left: 16px;
  content: '\f0da';
  padding-top: 5px;
}

main ul li {
  color: #004985;
  margin: 0.5rem 1rem;
  line-height: 1.6rem;
}

main li.noBullets {
  list-style-type: none;
}

main ul.farbwechsel li:nth-child(odd) {
  background-color: #e9ecf0;
}

table.inhaltstabelle {
  background: #fff;
  overflow-x: scroll;
}
table.inhaltstabelle th,
table.inhaltstabelle td {
  padding: 0.25rem 0.5rem;
}

table.inhaltstabelle th {
  background-color: #003d72;
  color: #fff;
  font-weight: 600;
  text-align: left;
}

table.inhaltstabelle tr:nth-child(even) td {
  background-color: #e9ecf0;
}

.graueTabelle {
  width: 100%;
  border-collapse: collapse;
  color: #333;
}

.graueTabelle td {
  vertical-align: top;
  padding: 0.6rem 0.7rem;
}

.graueTabelle tr:nth-child(odd) {
  background-color: #dadfe7;
}

.graueTabelle td:first-child {
  width: 80px;
  font-weight: 600;
}

/* Spinner / Wartesymbol */
#spinner {
  width: 50vw;
  height: 25vh;
  background-color: rgba(225, 229, 236, 0.95);
  border: 2px solid #003d72;

  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.5rem;

  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 150;
}

#spinnerInhalt {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#spinner h1 {
  font-size: 34px;
}
#spinner p {
  font-size: 1rem;
}

.kontaktFlex {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding-block: 1rem;
}
.kontaktFlex ul {
  list-style: none;
  li {
    margin: 0;
    color: black;
  }
}
.kontaktFlexElement strong {
  color: #003d72;
}

@media screen and (max-width: 650px) {
  .kontaktFlex {
    flex-direction: column;
    align-items: center;
  }
  .kontaktFlexElement:first-child {
    margin-bottom: 2rem;
  }
}

.registrierungContainer .title {
  font-size: 1.6rem;
}
.registrierungContainer .userDetails {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media screen and (max-width: 675px) {
  .registrierungContainer .userDetails {
    grid-template-columns: 1fr;
  }
}
.registrierungContainer .userDetails .inputBox {
  width: 100%;
  margin-block: 0.75rem;
  display: flex;
  flex-direction: column;
}
.registrierungContainer .userDetails .inputBox .details {
  font-weight: 600;
}
.registrierungContainer .userDetails .inputBox input {
  width: 100%;
  height: 3rem;
  margin-top: 0.5rem;
  background-color: #ddd;
}
.registrierungContainer .userDetails .inputBox input::placeholder {
  color: #3c6ca0a3;
  /* color: #9cb6d4; */
}
.registrierungContainer .adressField {
  display: flex;
  flex-direction: row !important;
}
.registrierungContainer .adressField .adressDiv1 {
  width: 69%;
  margin-right: 1%;
}
.registrierungContainer .adressField .adressDiv2 {
  width: 20%;
}
.registrierungContainer .genderDetails .genderTitle {
  font-size: 1.6rem;
  font-weight: 600;
}
.registrierungContainer .genderDetails .category {
  display: flex;
  justify-content: space-between;
  width: 80%;
}
.registrierungContainer .genderDetails label {
  display: flex;
  align-items: center;
}
.registrierungContainer .genderDetails .dot {
  height: 1rem;
  width: 1rem;
  background: #d9d9d9;
  border-radius: 50%;
  margin-right: 0.75rem;
  border: 5px solid transparent;
  transition: all 0.3s ease;
}
.registrierungContainer .genderDetails #dot-1:checked ~ .category label .one,
.registrierungContainer .genderDetails #dot-2:checked ~ .category label .two,
.registrierungContainer .genderDetails #dot-3:checked ~ .category label .three {
  border-color: #d9d9d9;
  background-color: #3c6ca0;
}
.registrierungContainer .genderDetails input[type='radio'] {
  display: none;
}
.registrierungContainer input[type='submit'] {
  width: 100%;
  margin-top: 1rem;
}
.registrierungContainer .userDetails select {
  height: 3rem;
  margin-top: 0.5rem;
  /* background-color: #004884; */
  background-color: #3c6ca0;
  color: #fff;
  border: 1px solid #ccc;
  border-radius: 0.2em;
  padding: 0.5em 1em;
  font-size: 1rem;
  font-weight: 500;
  width: 100%;
  max-width: 400px;
  transition: border-color 0.3s ease, box-shadow 0.3s;
}

/* Erste Option im Menü (z.B. Bitte wählen) lesbarer machen */
.dropdown-el.expanded label:first-of-type {
  color: #333;
}
.password {
  /* width: 90%; */
  padding: 15px 12px;
  margin-bottom: 5px;
  border: 1px solid #e5e5e5;
  border-bottom: 2px solid #ddd;
  background: rgba(255, 255, 255, 0.2) !important;
  color: #555;
}
.passUndBtnBox {
  position: relative;
}

.password + .unmask {
  position: absolute;
  /* right: 7%; */
  transform: translateX(-60%);
  top: 1.5rem;
  width: 1rem;
  height: 1rem;
  background: transparent;
  border-radius: 50%;
  cursor: pointer;
  border: none;
  font-family: 'fontawesome';
  font-size: 14px;
  line-height: 1rem;
  -webkit-appearance: none;
  outline: none;
  box-shadow: 0 0 0 0;
}
.password + .unmask:before {
  content: '\f06e';
  position: absolute;
  top: 0;
  left: 0;
  width: 1rem;
  height: 1rem;
  background: rgba(205, 205, 205, 0.2);
  z-index: 1;
  color: #aaa;
  border: 2px solid;
  border-radius: 50%;
}
.password[type='text'] + .unmask:before {
  content: '\f070';
  background: rgba(105, 205, 255, 0.2);
  color: #06a;
}
#valid {
  font-size: 12px;
  color: #daa;
  height: 15px;
}
#strong span {
  display: block;
  height: 100%;
  padding: 0.1rem 0.5rem;
  transition: all 0.6s ease;
  border-radius: 5px;
  text-transform: capitalize;
}

#strong span.weak {
  background-color: #f4cccc;
  color: #a00;
}

#strong span.medium {
  background-color: #ffe599;
  color: #b36b00;
}

#strong span.strong {
  background-color: #b6d7a8;
  color: #215e21;
}

.displayNone {
  display: none;
}

/** Dropdowns **/
.dropdown-el {
  width: 90%;
  position: relative;
  display: inline-block;
  height: 3rem; /* fester Header-Bereich */
  cursor: pointer;
  text-align: left;
  outline: none;
  background-color: #3c6ca0; /* geschlossen = blau */
  border: 0.1rem solid #004985;
  border-radius: 1rem;
  overflow: visible;
}

.dropdown-el::after {
  content: '';
  position: absolute;
  right: 0.8rem;
  top: 1.2rem;
  border: 0.3rem solid #004985;
  border-color: #004985 transparent transparent transparent;
  transition: 0.3s transform ease;
  z-index: 6;
}
.dropdown-el.expanded::after {
  transform: rotate(-180deg);
}

.dropdown-el input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}

.dropdown-el label {
  display: none;
  height: 3rem;
  line-height: 3rem;
  padding: 0 3rem 0 1rem;
  cursor: pointer;
  background: #fff;
  color: #004985;
}

.dropdown-el input:checked + label {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: transparent;
  color: #fff;
  border-radius: 1rem;
  z-index: 7;
}

/* Expanded */
.dropdown-el.expanded {
  z-index: 100;
}

.dropdown-el.expanded label {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  border-left: 0.1rem solid #004985;
  border-right: 0.1rem solid #004985;
  z-index: 5;
}
.dropdown-el.expanded label:first-child {
  border-top: 0.1rem solid #004985;
  border-radius: 0.4rem 0.4rem 0 0;
}
.dropdown-el.expanded label:last-child {
  border-bottom: 0.1rem solid #004985;
  border-radius: 0 0 0.4rem 0.4rem;
}

/* Hover im Menü */
.dropdown-el.expanded label:hover {
  background: #f5f8fc;
}

/* Erste Option im Menü (z.B. Bitte wählen) lesbarer machen */
.dropdown-el.expanded label:first-of-type {
  color: #333;
}

select.dropdown {
  width: 100%;
  min-width: 15ch;
  max-width: 30ch;
  border: 1px solid var(--select-border);
  border-radius: 0.25em;
  padding: 0.25em 0.5em;
  font-size: 1.25rem;
  cursor: pointer;
  line-height: 1.1;
  background-color: #fff;
  background-image: linear-gradient(to top, #f9f9f9, #fff 33%);
  border: 2px solid #004884;
}

div.selectWrapper {
  margin-bottom: 1rem;
}

div.selectWrapper label {
  display: inline-block;
  font-weight: 600;
  padding-bottom: 0.5rem;
}

a.glightbox2 img {
  max-width: 250px;
  height: auto;
}

.terminWrapper {
  margin-bottom: 1rem;
}

/* Termin Arten */
/* Termin */
.termin_art_1 {
  border-left: 10px solid #940078;
}
/* Praktikum */
.termin_art_2 {
  border-left: 10px solid #009933;
}
/* Online Meeting */
.termin_art_3 {
  border-left: 10px solid #de8400;
}
/* Masterarbeit */
.termin_art_4 {
  border-left: 10px solid #c6052e;
}
/* Klausur */
.termin_art_5 {
  border-left: 10px solid #ed0400;
}
/* Lerninhalte */
.termin_art_6 {
  border-left: 10px solid #007dfa;
}

/* Termin */
.termin_schrift_1 {
  color: #940078;
}
/* Praktikum */
.termin_schrift_2 {
  color: #009933;
}
/* Online Meeting */
.termin_schrift_3 {
  color: #de8400;
}
/* Masterarbeit */
.termin_schrift_4 {
  color: #c6052e;
}
/* Klausur */
.termin_schrift_5 {
  color: #ed0400;
}
/* Lerninhalte */
.termin_schrift_6 {
  color: #007dfa;
}

label {
  display: inline-block;
  font-weight: 600;
  margin-top: 1rem;
}

.error {
  color: #a83232;
}

.success {
  color: #1c5402;
}

label.custom-file-upload {
  border: 1px solid #ccc;
  display: inline-block;
  padding: 6px 12px;
  cursor: pointer;
}

input[type='file'].custom-file-upload {
  display: none;
}
