/**
 * CSS für Studiengänge A-Z und Bewerbungsfristen
 *
 * Farben:
 * - dunkelblau: var(--uol-uniblau)
 *   RGB: 15/62/105
 */

.notice-error-inline {
    border: 2px solid #f00;
    color: black;
    background-color: rgba(255, 0, 0, 0.05);
    padding: 5px;
    margin-left: 0px;
    margin-bottom: 1em;
}

.filter-error {
    border: 1px solid var(--uol-text-error);
    color: var(--uol-text-error);
    background-color: var(--uol-bg-error);
    padding: 5px;
    margin-bottom: 1em;
}

.zsb-studiengaenge-filter {
    width: 100%;
    padding: 1em;
    display: inline-flex;
    flex-wrap: wrap;
    background: var(--uol-bg-stufe1-trans);
}

/**
----------------
--- Suchfeld ---
-----------------
*/

.zsb-studiengaenge-filter  .searchFieldArea {
    width: 100%;
     display: flex;
}

.zsb-studiengaenge-filter .searchSymbol {
    /* display:block, sonst hat height keinen Effekt */
    float: left;
    padding: 5px;
    text-align: center;
    vertical-align: middle;
    margin: 0px;
    background-color: var(--uol-uniblau);
    color: white;
    height: 42px;
    width: 42px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.zsb-studiengaenge-filter #search {
    width: calc(100% - 50px);
}


/**
 * clear button in search, initially invisible
*/
.clearBtn {
    position: absolute;
    top: 0;
    right: -15px;
    transition: right 0.2s;
    color: transparent;
}

/**
 * visible clear button in search
 */
.showClearBtn {
    right: 5px;
    color: black;
}


/**
--------------
--- Filter ---
--------------
*/

/* für Abschluss wurde fieldset und legend genomme, um einige zu gruppieren */
.zsb-studiengaenge-filter fieldset {
    border-bottom: 1px dotted var(--uol-text-color);
    margin-bottom: 0.5em;
}

.zsb-studiengaenge-filter fieldset legend {
    font-size: 1em;
    font-weight: bold;
    margin-bottom: 0.5em;
}

/* dropdown bereich */
.zsb-studiengaenge-filter .dropdown-menu {
    color: var(--uol-text-color);
    padding: 1em;
    width: max-content;
    max-width: 98vw;
    min-width: min-content;
}

.zsb-studiengaenge-filter .dropdown-menu.show {
    background-color: var(--uol-bg-color);
}

[data-colormode="dark"] .zsb-studiengaenge-filter .dropdown-menu {
    background-color: black;
}

.zsb-studiengaenge-filter .filterRow {
    margin-top: 1em;
    margin-left: 0;
}

.zsb-studiengaenge-filter .filterRow .iconResetSingle img {
    width: 20px;
    height: 20px;
}

/**
 * drop down button
 */
.zsb-studiengaenge-filter .filterRow .dropdown-toggle {
    color: var(--uol-text-color);
    padding-right: 1em;
    padding-left: 0px !important;
    border: 0px;
}

.zsb-studiengaenge-filter div.btn-group:hover .dropdown-toggle::after {
    border-top: .3em solid #a1daf8 !important;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent;
}

.zsb-studiengaenge-filter .filterRow label {
    margin-right: 1em;
}

.zsb-studiengaenge-filter .checkSub {
    padding-left: 2em;
}

div.zsb-studiengaenge-filter p.check,
div.zsb-studiengaenge-filter p.radio {
    margin-bottom: 0!important;
}

/** kleinen zusätzlichen Abstand zwischen "alle auswählen" und dem Rest */
.zsb-studiengaenge-filter .checkAll {
    margin-bottom: 0.5em;
    border-bottom: 1px dotted grey;
}


/*
 * ---------------------
 * --- Reset Filter ----
 * ---------------------
 */

#resetButtonbar {
    /* initial auf nicht sichtbar setzen, wird bei Bedarf mit jquery sichtbar geschaltet */
    margin-top: 1em;
    display: inline-flex;
    flex-direction: column;
}

#resetButtonbar a.resetButton {
    background-color: #a1daf8;
    padding: 5px 9px;
    border-radius: 20px;
    text-decoration: none;
    margin-right: 5px;
    color: #000;
    display: inline-flex;
    vertical-align: middle;
    justify-content: center;
}

button#resetFilter:hover {
    background: #a1daf8;
    text-decoration: underline;
}

.labelResetSingle {
    font-size: 18px;
    margin-right: 0 !important;
}

div.zsb-studiengaenge-filter .btn, button#resetFilter {
    font-size: 18px;
}

div.zsb-studiengaenge-filter .btn, button#resetFilter {
    padding: 5px 9px !important;
}

span.iconResetSingle,
.icon-reset_x {
    display: inline-flex;
    align-items: center;
    margin-left: .3em;
}

.icon-reset_x .icon-markup  {
    width: 16px;
    height: 16px;
    display: inline-flex !important;
}

/*
 * --------------------------
 * Ergebnisliste
 * --------------------------
 */
.zsb-studiengaenge-ergebnisse {
    margin-top: 1em;
}

ul.zsb-studiengaenge-ergebnisse,
ul.zsb-studiengaenge-ergebnisse li {
    list-style-type: none;
}


.zsb-studiengaenge-ergebnisse .ka-content {
    border: none;
    padding: 9px 0 !important;
}

.tab-pane > div.zsb-studiengaenge-ergebnisse,
.ka-content > div.zsb-studiengaenge-ergebnisse {
    margin-top: 0;
}

.zsb-studiengaenge-ergebnisse-fachrichtungen {
    margin-top: 0;
}

.zsb-studiengaenge-ergebnisse .ka-panel.fachrichtung > .ka-content {
    padding-top: 6px !important;
}

.zsb-studiengaenge-ergebnisse-fachrichtungen div.fachrichtung header.ka-handler {
    border-left: none !important;
    background: var(--uol-uniblau) !important;
    color: white !important;
}

.zsb-studiengaenge-ergebnisse-fachrichtungen div.fachrichtung header.ka-handler:hover {
    background: #a1daf8 !important;
    color: #000;
}

.zsb-studiengaenge-ergebnisse-fachrichtungen .ka-handler:not(:last-child)::after, .ka-handler:not(:last-child)::before {
    border-color: white !important;
}

.zsb-studiengaenge-ergebnisse-fachrichtungen h2 {
    color: white !important;
}

.zsb-studiengaenge-ergebnisse-fachrichtungen .ka-panel.fachrichtung header.ka-handler:hover h2,
.zsb-studiengaenge-ergebnisse-fachrichtungen .ka-panel.fachrichtung header.ka-handler:hover,
.zsb-studiengaenge-ergebnisse-fachrichtungen .ka-panel.fachrichtung header.ka-handler:hover:not(:last-child)::after,
.zsb-studiengaenge-ergebnisse-fachrichtungen .ka-panel.fachrichtung header.ka-handler:hover:not(:last-child)::before
{
    color: #000 !important;
    border-color: #000 !important;
}

[data-colormode="dark"] div.zsb-studiengaenge-ergebnisse div.zsb-studiengang {
    border-left: 3px solid #a1daf8;
}

[data-colormode="dark"] div.zsb-studiengaenge-ergebnisse div.zsb-studiengang div.studiengang-links a.button_inline,
[data-colormode="dark"] div.zsb-studiengaenge-ergebnisse div.zsb-studiengang div.studiengang-links a.button_inline::before {
    background-color: #a1daf8 !important;
    color: black !important;
}

.nav-tabs > li > a.active {
    border-bottom-color: var(--uol-uniblau) !important;
}

.nav-tabs > li > a:not(.active) img {
    filter: saturate(0) brightness(3.5);
}

/* Ergebnisliste Kacheln
 --------------------------
 */

.zsb-studiengaenge-ergebnisse .zsb-studiengang {
    padding: 1em;
    margin-bottom: 0.5em;
    background-color: var(--uol-bg-stufe1-trans);
    border-left: 3px solid var(--uol-uniblau);
    max-width: 1140px;
    margin: 0 auto 0.5em auto;
}

.zsb-studiengaenge-ergebnisse .zsb-studiengang .studiengang-name {
    font-weight: 700;
    font-size: 1.3em;
    background: var(--uol-bg-stufe1-trans);
    margin: -1rem -1rem 1rem -1rem;
    padding: .6rem 1rem !important;
    width: calc(100% + 2rem);
    hyphens: auto;
    hyphenate-limit-chars: auto 4;
    line-height: 1.3;
}

.zsb-studiengaenge-ergebnisse div.zsb-studiengang div.studiengang-links a.button_inline,
.zsb-studiengaenge-ergebnisse div.zsb-studiengang div.studiengang-links a.button_inline::before {
    background-color: rgb(var(--uol-uniblau-rgb)) !important;
    color: white !important;
}

.zsb-studiengaenge-ergebnisse div.zsb-studiengang div.studiengang-links a.button_inline:hover,
.zsb-studiengaenge-ergebnisse div.zsb-studiengang div.studiengang-links a.button_inline:hover::before {
    background-color: #a1daf8 !important;
    color: black !important;
}

.studiengang-details {
  line-height: 1.4667em;
  margin-bottom: 0!important;
}

.studiengang-details + .studiengang-details {
  margin-top: .3em;
}

/* icons */

.studiengang-icons {
    margin-top: 1rem;
}

.studiengang-icon {
    display: flex;
    align-items: center;
    margin-bottom: 5px !important;
}

.studiengang-icon-text {
    margin-left: 1em;
}

.studiengang-icon-image {
    width: 32px;
    height: 32px;
    margin-right: 0.5em;
}

.studiengang-icon-image img {
    max-height: 32px;
    max-width: 32px;
}

.zsb-studiengaenge-filter .searchSymbol span.icon-markup {
    /* display: inline-flex !important; */
    display: inline-block !important;
    justify-content: center;
    vertical-align: middle;
    width: 32px;
    height: 32px;
    margin-right: 0.5em;
}

.zsb-studiengaenge-filter .searchSymbol span.icon-markup img {
    width: 25px;
    height: 25px;
    max-height: 32px;
}

html[data-colormode*="dark"] .zsb-studiengang .icon-markup > img {
    filter:brightness(3) saturate(.5)
}

html[data-colormode*="dark"] .icon-markup img,
html[data-colormode*="dark"] div.zsb-studiengaenge-ergebnisse .nav-tabs a.active::before {
    filter: brightness(8) saturate(1) hue-rotate(50deg);
}

[data-colormode="dark"] span.icon-reset_x .icon-markup img {
    filter: none;
}


/* links */
.studiengang-links {
    margin-top: 1em;
}

[data-colormode="dark"] #main div.studiengang-links a.button_inline:hover,
[data-colormode="dark"] #main div.zsb-studiengaenge-filter a.resetButton:hover {
    text-decoration: underline solid #000 2px !important;
}

/*
 * tags
 * hier nur allgemeine styles für das tag, egal wo das tag ist
 */
.zsb-studiengang .tag {
    border-radius: 12px;
    color: black;
    line-height: 1.15;
    margin-right: 3px;
    margin-bottom: .3rem;
    padding: 4px 10px;
    background-color: #a1daf8;
}

.zsb-studiengang .studiengang-details .tag {
    display: inline-block;
}

[data-colormode="dark"] .zsb-studiengang span.tag {
    color: black;
}

/**
 * Notice
 */
#zsb-studiengaenge-notice-notfound {
    margin: 4rem 0;
    font-size: 1.5rem;
    font-weight: bold;
}

/**
  * --------------------
  * ---- media min-width
  * ---------------------
 */

/** übernommmen aus HTML-Element */
@media (min-width: 769px) {
    #resetButtonbar {
        flex-direction: row;
        width: 100%;
        /**
         * https://gitlab.uni-oldenburg.de/it-dienste/typo3/zsb/-/issues/473#note_340923
         */
        gap: 9px 0;
        justify-content: flex-start !important;

    }
    #resetButtonbar > :last-child {
        margin-left: auto;
    }
}

@media (min-width: 768px) {
    div.zsb-studiengaenge-filter div.filterRow {
        width: 100%;
        display: inline-flex;
        justify-content: space-between;
    }

    div.studiengang-name, div.studiengang-details {
        margin-bottom: 1em
    }
}

@media (min-width: 720px) {
  div.zsb-studiengang {
    display: grid;
    grid-template-areas:
      "sgheader sgheader"
      "sgcol11 sgcol2"
      "sgcol12 sgcol2"
      "sgcol13 sgcol2"
      "sgcol14 sgcol2";
    grid-template-columns: auto 17em;
  }
  .fristen div.zsb-studiengang {
    grid-template-columns: auto 0;
  }
  .studiengang-name {
    grid-area: sgheader;
  }
  .studiengang-name + .studiengang-details {
    grid-area: sgcol11;
    padding-top: 4px;
  }
  .studiengang-details + .studiengang-details {
    grid-area: sgcol12;
  }
  .studiengang-details + .studiengang-details + .studiengang-details {
    grid-area: sgcol13;
  }
  .studiengang-icons {
    grid-area: sgcol2;
    margin-top: 0!important;
    padding-left: 1em;
  }
  .studiengang-links {
    grid-area: sgcol14;
  }
}

@media (min-width: 800px) {
  .zsb-studiengaenge-ergebnisse .zsb-studiengang {
    grid-template-columns: auto 21em;
    padding: 1em 2em !important;
  }

  .fristen .zsb-studiengaenge-ergebnisse .zsb-studiengang {
    grid-template-columns: auto 0;
  }

  .zsb-studiengaenge-ergebnisse .zsb-studiengang div.studiengang-name {
    margin: -1rem -2rem 1rem -2rem;
    padding: .6rem 2rem !important;
    width: calc(100% + 4rem);
  }
}

/**
  * --------------------
  * ---- media max-width
  * ---------------------
 */

@media (max-width: 768px) {
    /* dropdown */
    .zsb-studiengaenge-filter .dropdown-menu {
        min-width: 300px;
    }

    div#resetButtonbar span.icon-markup {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
    }

    div#resetButtonbar a.resetButton {
        margin: .3em;
        display: inline-flex;

        /** Sybille geändert wegen
        https://gitlab.uni-oldenburg.de/it-dienste/typo3/zsb/-/issues/473#note_340923
        */
        /*justify-content: center;*/
        justify-content: space-between;
        align-items: center;
        padding: 2px 9px;
    }
}

@media (max-width: 480px) { /* Von 400px auf 480px ändern! */
    div.studiengang-details {
        display: flex;
        flex-direction: row !important;
        flex-flow: row wrap;
    }

    div.studiengang-details strong {
        width: 100%;
        padding-bottom: 3px;
    }

    div.studiengang-details + div.studiengang-details {
        margin-top: .5em;
    }
}

@media (max-width: 550px) {
    .nav-tabs > li > a {
        font-size: inherit;
    }

    div.zsb-studiengaenge-filter .btn, button#resetFilter {
        font-size: 16px !important;

    }
}

@media (max-width: 400px) {
    div.studiengang-details {
        display: flex;
        flex-direction: row !important;
        flex-flow: row wrap;
    }

    div.studiengang-details strong {
        width: 100%;
        padding-bottom: 3px;
    }

    div.studiengang-details + div.studiengang-details {
        margin-top: .5em;
    }
}

@media (max-width: 300px) {
    /* dropdown  */
    .zsb-studiengaenge-filter .dropdown-menu {
        min-width: 250px;
    }
}

@media (max-width: 250px) {
    /* dropdown  */
    .zsb-studiengaenge-filter .dropdown-menu {
        min-width: 200px;
    }
}
