/* Sprachgruppe: bewusst spezifischer als die Bootstrap-Package-Navbar. */
.navbar-mainnavigation .container-mainnavigation > .navbar-brand {
    align-self: center;
}

.navbar-mainnavigation .language-navbar {
    align-self: center;
    flex-shrink: 0;
    margin-inline-start: auto;
    max-width: 100%;
    padding: 0;
    color: var(--bs-navbar-color, #495057);
}

.navbar-mainnavigation .language-navbar .navbar-nav-language {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: .125rem;
    margin: 0;
    padding: .1875rem;
    list-style: none;
    border: 1px solid currentColor;
    border-color: color-mix(in srgb, currentColor 30%, transparent);
    border-radius: .5rem;
}

.navbar-mainnavigation .language-navbar .nav-link {
    justify-content: center;
    min-height: 2.75rem;
    min-width: 2.75rem;
    padding: .375rem .625rem;
    border-radius: .3125rem;
    font-size: .875rem;
    line-height: 1.25;
    text-decoration: none;
    white-space: nowrap;
}

.navbar-mainnavigation .language-navbar .language-label-short {
    display: none;
}

/* Kompakte Kopfzeile fuer Smartphone und Tablet. Kein Trenner-Breakpoint. */
@media (max-width: 991.98px) {
    .navbar-mainnavigation .container-mainnavigation {
        column-gap: .5rem;
    }

    .navbar-mainnavigation .container-mainnavigation > .navbar-brand {
        min-width: 0;
        flex-shrink: 1;
    }

    .navbar-mainnavigation .navbar-brand-image img {
        max-width: 100%;
        object-fit: contain;
        object-position: left center;
    }

    .navbar-mainnavigation .container-mainnavigation > .navbar-toggler {
        flex-shrink: 0;
    }

    /* Das geoeffnete Hauptmenue folgt unter der gesamten Kopfzeile. */
    .navbar-mainnavigation .container-mainnavigation > .navbar-collapse {
        order: 1;
    }

    .navbar-mainnavigation .language-navbar .language-label-full {
        display: none;
    }

    .navbar-mainnavigation .language-navbar .language-label-short {
        display: inline;
    }
}

/* Unterbindet gezielt den geerbten dreieckigen Navigationsindikator. */
.navbar-mainnavigation .language-navbar .navbar-nav-language .nav-link::before {
    content: none;
    display: none;
}

.navbar-mainnavigation .language-navbar .nav-link.active {
    color: var(--bs-navbar-active-color, #212529);
    background-color: rgba(127, 127, 127, .18);
    font-weight: 600;
}

.navbar-mainnavigation .language-navbar a.nav-link:hover {
    background-color: rgba(127, 127, 127, .12);
    text-decoration: underline;
    text-underline-offset: .2em;
}

.navbar-mainnavigation .language-navbar a.nav-link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 1px;
    text-decoration: underline;
    text-underline-offset: .2em;
}

.navbar-mainnavigation .language-navbar .nav-link.disabled {
    color: var(--bs-navbar-color, #495057);
    opacity: .65;
    cursor: default;
}

/* Source Code Pro (normal und italic, variable Gewichtungen) */

@font-face {

    font-family: 'SourceCodePro';

    src: url('../Fonts/SourceCodePro-VariableFont.ttf') format('truetype');

    font-weight: 100 900; /* Unterstützt Gewichtungen von 100 (Thin) bis 900 (Black) */

    font-style: normal;

}



@font-face {

    font-family: 'SourceCodePro';

    src: url('../Fonts/SourceCodePro-Italic-VariableFont.ttf') format('truetype');

    font-weight: 100 900;

    font-style: italic;

}



/* Source Sans (normal und italic, variable Gewichtungen) */

@font-face {

    font-family: 'SourceSans';

    src: url('../Fonts/SourceSans3-VariableFont.ttf') format('truetype');

    font-weight: 100 900;

    font-style: normal;

}



@font-face {

    font-family: 'SourceSans';

    src: url('../Fonts/SourceSans3-Italic-VariableFont.ttf') format('truetype');

    font-weight: 100 900;

    font-style: italic;

}



/* Globale Stile für Schriften */

body {

    font-family: 'SourceSans', sans-serif !important;

    font-weight: 400 !important; /* Regular */

}



strong, b {

    font-family: 'SourceSans', sans-serif !important;

    font-weight: 700 !important; /* Bold */

}



.thin-text {

    font-family: 'SourceSans', sans-serif !important;

    font-weight: 100 !important; /* Thin */

}



em, i {

    font-family: 'SourceSans', sans-serif !important;

    font-style: italic !important;

}



code {

    font-family: 'SourceCodePro', monospace !important;

    font-style: normal !important;

}



code.emphasis {

    font-family: 'SourceCodePro', monospace !important;

    font-style: italic !important;

}



h1, h2, h3, h4, h5, h6 {

    font-weight: 700 !important; /* Beispiel: Fett */

}







// Weitere CSS-Definitionen:



/* Raster - Modernisiert mit Flexbox */



.myrow {

  width:auto;

  display: flex;

  flex-wrap: wrap;

  gap: 2%;

  -webkit-border-radius: 010px;

  -moz-border-radius: 010px;

   border-radius: 010px;

   padding:2%;

   margin: 2%;

   border: 2px solid;

   border-color: rgb(192,192,192);

   font-family:"Source Sans 3 ExtraLight",sans-serif;

   font-weight:500;

   line-height:1.1;

   color:inherit;

}



.myrowheading {

  width:auto;

  display: flex;

  flex-wrap: wrap;

  gap: 2%;

  -webkit-border-radius: 010px;

  -moz-border-radius: 010px;

   border-radius: 010px;

   padding: 0 2% 2% 2%;

   margin: 2%;

   border: 2px solid;

   border-color: rgb(192,192,192);

   font-family: "Source Sans 3 ExtraLight",sans-serif;

   font-weight:500;

   line-height:1.1;

   color:inherit;

   background: lightgrey;

}



.myrownormal {

  width:auto;

  display: flex;

  flex-wrap: wrap;

  gap: 2%;

  -webkit-border-radius: 010px;

  -moz-border-radius: 010px;

   border-radius: 010px;

   padding: 0 2% 2% 2%;

   margin: 2%;

   border: 2px solid;

   border-color: rgb(192,192,192);

   font-family:"Source Sans 3 ExtraLight",sans-serif;

   font-weight:500;

   line-height:1.1;

   color:inherit;

}



.myrownormal-subtle {

  width: auto;

  display: flex;

  flex-wrap: wrap;

  gap: 2%;

  -webkit-border-radius: 10px;

  -moz-border-radius: 10px;

  border-radius: 10px;

  padding: 0 2% 2% 2%;

  margin: 2%;

  border: 2px dotted rgb(210, 210, 210);

  font-family: "Source Sans 3 ExtraLight", sans-serif;

  font-weight: 400;

  line-height: 1.1;

  color: inherit;

  background: rgba(245, 245, 245, 0.4);

  

  /* Typografische Verkleinerung: */

  font-size: 0.85em;           /* 15% kleiner als Eltern */

  letter-spacing: -0.3px;      /* Enger komprimiert */

  line-height: 1.05;           /* Zeilenhöhe reduzieren */

}

.parentwrap > .myrownormal{



   border-color: rgb(102,205,0);

   background: rgba(102,205,0, 0.3);

   border-style: solid;

   border-width: 4px;

  font-family: "Source Sans 3 ExtraLight", sans-serif;



}



.parentwrap > .myrowheading {



   border-color: rgb(71,143,0);

   background: rgba(71,143,0, 0.5);

   border-style: solid;

   border-width: 4px;

  font-family: "Source Sans 3 ExtraLight", sans-serif;



}



.myrowinfo {

  width:auto;

  display: flex;

  flex-wrap: wrap;

  gap: 2%;

  -webkit-border-radius: 010px;

  -moz-border-radius: 010px;

   border-radius: 010px;

   padding:2%;

   margin: 2%;

   border: 4px solid;

   border-color: #ff8700;

   font-family:"Source Sans 3 ExtraLight",sans-serif;

   font-weight: 100;

   line-height:1.1;

   color:inherit;

   background: rgba(255,135,0, 0.2);  font-family: "Source Sans 3 ExtraLight", sans-serif;



}



.myrowinfo {

  display: block;

}



.myrownotiz {

  width:auto;

  display: flex;

  flex-wrap: wrap;

  gap: 2%;

  -webkit-border-radius: 010px;

  -moz-border-radius: 010px;

   border-radius: 010px;

   padding:2%;

   margin: 2%;

   border: 2px solid;

   border-color: #bdbdbd;

   font-family:"Source Sans 3 ExtraLight",sans-serif;

   font-weight: 100;

   line-height:1.1;

   color:inherit;

   background: whitesmoke;

  font-family: "Source Sans 3 ExtraLight", sans-serif;

}



.myrownotiz {

  display: block;

}



.myrund {

  padding: 2%;

  background-color: rgb(192,192,192);

  -webkit-border-radius: 010px;

  -moz-border-radius: 010px;

  border-radius: 010px;

  border: 2px solid; 

  border-color: rgb(192,192,192);

  font-family: "Source Sans 3 ExtraLight", sans-serif;

}



.myrund1 {

  padding: 2%;

  background-color: rgb(105,105,105);

  -webkit-border-radius: 010px;

  -moz-border-radius: 010px;

  border-radius: 010px;

  border: 2px solid;

  color: rgb(255,255,255);

  border-color: rgb(255,255,255);

  font-family: "Source Sans 3 ExtraLight", sans-serif;

}



.myrund2 {

  padding: 2%;

  background-color: rgb(192,192,192);

  -webkit-border-radius: 010px;

  -moz-border-radius: 010px;

  border-radius: 010px;

  border: 4px solid;

  border-color: rgb(105,105,105);

  font-family: "Source Sans 3 ExtraLight", sans-serif;

  display: flex;

  flex-wrap: wrap;

  gap: 2%;

}







/* Clearfix nicht mehr nötig - Flexbox übernimmt das automatisch */



.tablewrapper {

  position: relative;

  font-family: "Source Sans 3 ExtraLight", sans-serif;

}



.myContainer table {

    display: table !important;

    border: 2px solid #ff8700;

    border-collapse: collapse !important;

    border-spacing: 5px !important;

    padding: 2px !important;

    /* margin: 5px !important; */

    font-family: "Source Sans 3 ExtraLight", sans-serif !important;

}



/* 

.table {

    display:table !important;

    border: 2px solid #ff8700;

    border-collapse: collapse;

    border-spacing:5px;

    padding: 2px !important;

    // margin: 5px !important;

    font-family: "Source Sans 3 ExtraLight", sans-serif;

*/

   

}



.tablewrapper {



    border: 4px solid #ff8700;

    padding: 10px;

    margin: 3px auto 3px auto;

    width: 100%;

    font-family: "Source Sans 3 ExtraLight", sans-serif;

}



.tablewrapper div.colspan {margin: 5px; font-size: large;}





.table div {

    display:table-row;

    border: 4px solid #ff8700;

    border-collapse: separate;

    padding: 10px !important;

    width: 100%;

   

}

.table div div {

    display:table-cell;

    width: auto;

}



.table div.caption { display: table-caption;}



.myinfobox { 

position: absolute;

display: none;

      min-width: 200;

      max-width: 400;

      width: auto;color: black;

background: white;

opacity: 0.8;

font: x-small;

border: 2px solid #ff8700;

padding: 5px;

 font-family: "Source Sans 3 ExtraLight", sans-serif;

-webkit-border-radius: 010px;

-moz-border-radius: 010px;

border-radius: 010px;





-webkit-transform: translate(20px, 10px);

-moz-transform: translate(20px, 10px);

-ms-transform: translate(20px, 10px);

-o-transform: translate(20px, 10px);

transform: translate(20px, 10px);

font-family: "Source Sans 3 ExtraLight", sans-serif;

left: auto;

right: auto;



}





.myboxwrap:hover > div.myinfobox{



      display: inline-block;



}





/* Flexbox-basierte Spalten (kein float mehr nötig) */

.columns {

    flex-shrink: 0; /* Verhindert ungewolltes Schrumpfen */

}





.whitetable {border: 2px solid white; border-collapse: collapse; border-spacing:2px; padding: 2px;}

.whiterow { padding: 2px;}

.whitecell {border: 2px solid white; padding: 5px; width: 60%;}





@media screen and (max-width:600px) {



/* Small - Flexbox-basiert */

.small-1 {flex-basis: 100%;}

    

    .font-xl{font-size: 130%; font-family: "Source Sans 3 ExtraLight", sans-serif;}

    .font-l{font-size: 120%; font-family: "Source Sans 3 ExtraLight", sans-serif;}

    .font-ml{font-size: 110%; font-family: "Source Sans 3 ExtraLight", sans-serif;}

    .font-n{font-size: 100%; font-family: "Source Sans 3 ExtraLight", sans-serif;}

    .font-s{font-size: 90%; font-family: "Source Sans 3 ExtraLight", sans-serif;}

  

.myrund1 {

  padding: 2%;

  background-color: rgb(105,105,105);

  -webkit-border-radius: 010px;

  -moz-border-radius: 010px;

  border-radius: 010px;

  border: 2px solid;

  color: rgb(255,255,255);

  border-color: rgb(255,255,255);

  margin-bottom: 1%;

 font-family: "Source Sans 3 ExtraLight", sans-serif;

}



.tablewrapper {width: 100%;}

.leftcell {min-width: 20%; font-size: x-small;}

.rightcell {min-width: 10%; font-size: x-small;}





.myinfobox{



-webkit-transform: translate(0px, 20px);

-moz-transform: translate(0px, 20px);

-ms-transform: translate(0px, 20px);

-o-transform: translate(0px, 20px);

transform: translate(0px, 20px);

 font-family: "Source Sans 3 ExtraLight", sans-serif;

left: 100px;



}



}



@media screen and (min-width:600px) and (max-width:1000px) {



/* Medium - Flexbox-basiert */

.medium-1 {flex-basis: 49%;} /* 49% + 2% gap + 49% = 100% (für 2-Spalten-Layout) */

.medium-2 {flex-basis: 100%;}

.medium-3 {flex-basis: 100%;} /* Volle Breite für Beschreibung */

    

    .font-xl{font-size: 160%; font-family: "Source Sans 3 ExtraLight", sans-serif;}

    .font-l{font-size: 140%; font-family: "Source Sans 3 ExtraLight", sans-serif;}

    .font-ml{font-size: 120%; font-family: "Source Sans 3 ExtraLight", sans-serif;}

    .font-n{font-size: 100%; font-family: "Source Sans 3 ExtraLight", sans-serif;}

    .font-s{font-size: 80%; font-family: "Source Sans 3 ExtraLight", sans-serif;}



.myrund1 {

  padding: 2%;

  background-color: rgb(105,105,105);

  -webkit-border-radius: 010px;

  -moz-border-radius: 010px;

  border-radius: 010px;

  border: 2px solid;

  color: rgb(255,255,255);

  border-color: rgb(255,255,255);

  margin-bottom: 2%;

  font-family: "Source Sans 3 ExtraLight", sans-serif;

}



.tablewrapper {width: 100%;}

.leftcell {min-width: 55%; }

.rightcell {min-width: 45%;}





.myinfobox{



-webkit-transform: translate(0px, 20px);

-moz-transform: translate(0px, 20px);

-ms-transform: translate(0px, 20px);

-o-transform: translate(0px, 20px);

transform: translate(0px, 20px);

 font-family: "Source Sans 3 ExtraLight", sans-serif;

left: 100px;



}



}



@media screen and (min-width:1000px) {



/* Large - Flexbox-basiert */

.large-1 {flex-basis: 25%;} /* Identifikationsspalte */

.large-2 {flex-basis: 15%;} /* Zweite Spalte (LP, Typ etc.) */

.large-3 {flex-basis: 100%;}

.large-4 {flex-basis: 60%;} /* Beschreibungsspalte (veraltet) */

.large-5 {flex-basis: 73%;} /* Beschreibungsspalte 2-Spalten - 25% + 2% gap + 73% = 100% */

.large-6 {flex-basis: 56%;} /* Beschreibungsspalte 3-Spalten - 25% + 2% + 15% + 2% + 56% = 100% */

    

    .font-xl{font-size: 250%; font-family: "Source Sans 3 ExtraLight", sans-serif;}

    .font-l{font-size: 200%; font-family: "Source Sans 3 ExtraLight", sans-serif;}

    .font-ml{font-size: 150%; font-family: "Source Sans 3 ExtraLight", sans-serif;}

    .font-n{font-size: 100%; font-family: "Source Sans 3 ExtraLight", sans-serif;}

    .font-s{font-size: 50%; font-family: "Source Sans 3 ExtraLight", sans-serif;}



.tablewrapper {width: 50%;}

  

}



.tablewrapper {width: 100%;}

.leftcell {min-width: 60%; }

.rightcell {min-width: 10%; }



// Für Studienberatungsseite



.rund {

    -webkit-border-radius: 10px;

    -moz-border-radius: 10px;

    border-radius: 10px;

    padding: 10px;

    margin: 5px;

    font-family: "Source Sans 3 ExtraLight", sans-serif;

}

.graugrau {

    background: rgb(192,192,192);

    font-family: "Source Sans 3 ExtraLight", sans-serif;

}

.grau {

    border: 2px solid;

    border-color: rgb(192,192,192);

    font-family: "Source Sans 3 ExtraLight", sans-serif;

}



ul.dropdown-menu ul.dropdown-menu ul.dropdown-menu {

    font-size: 0.5em !important;

}



/* PTL-Seite: gekapselte Formatierung fuer Tabellen im zugehoerigen HTML-CE */

.ptl-table-content .ptl-table {

    border-collapse: collapse;

    width: 100%;

}



.ptl-table-content .ptl-table th,

.ptl-table-content .ptl-table td {

    border: 1px solid #000;

    padding: 8px;

    text-align: left;

}



.ptl-table-content .ptl-table th {

    background-color: #f4f4f4;

}



.ptl-table-content .ptl-table__wide-col {

    width: 50%;

}



.ptl-table-content .ptl-table__nowrap {

    white-space: nowrap;

}



.kenzsystem {

    /*font-size: 10px; /* Feste Pixelgröße (sehr klein) */

    /* oder alternativ: */

    font-size: 0.6rem; /* Relative Größe */

}



/* Zeilenumbruch für Code-Blöcke */

pre[class*="language-"],

pre code {

  white-space: pre-wrap !important;

  word-wrap: break-word !important;

  overflow-wrap: break-word !important;

}

