.justify {
    text-align: justify;
}

.hyphens {
    hyphens: auto;
}

#site-logo {
    max-height: 70px;
    max-width: 390px;
}

#homeHeading {
    margin-top: 0px;
}

#homeHeading>h1 {
    margin-top: 0px;
}

.navbar-brand img {
    height: 25px;
    max-width: unset;
}

.flex-wrapper {
    min-height: 100%;
}

.top-content {
    background-color: #004896;
    margin-top: -20px;
}

.hessenhub-main-nav {
    border-radius: 0px;
}

.panel,
.thumbnail,
.img-thumbnail {
    border-radius: 0px;
}

@media screen and (min-width: 768px) {
    #site-logo {
        max-height: 100px;
    }
    .navbar-brand img {
        height: 70px;
        max-height: 70px;
        max-width: unset;
    }
    .navbar-brand {
        height: 100px;
    }
    .hessenhub-main-nav ul:first-child>li>a {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .jumbotron {
        margin-top: 40px;
    }
}

@media screen and (max-width: 768px) {
    .row.row-grid:has(h1) {
        margin-bottom: 20px;
    }

    h2.heading-gradient {
        margin-top: 0px;
    }
}

.admin-brand-logo img {
    width: 100%;
    height: 100%;
    max-height: 70px;
    max-width: unset;
}

.type-icon {
    max-width: 64px;
    max-height: 64px;
}

.hessenhub-media {
    -webkit-box-shadow: -6px 4px 4px x rgba(145, 145, 145, 0.7);
    -moz-box-shadow: -6px 4px 4px 0 rgba(145, 145, 145, 0.7);
    box-shadow: -6px 4px 4px 0 rgba(145, 145, 145, 0.7);
    border: 1px solid black;
    border-left: 10px solid #004896;
    border-bottom: 5px solid #004896;
}

.media-heading {
    line-height: 125%;
}

.result-list .panel {
    border: 0;
    box-shadow: 0 0 0 rgba(0, 0, 0, .05);
    margin-bottom: 0px;
}

.result-list .media-object {
    max-width: 32px;
}

.result-list .media-left {
    padding-right: 15px;
}

.form-inline #search {
    width: 184px;
}

.tags-icon {
    margin-right: .2em;
}

.small-h2 {
    font-size: 16pt;
}

.select-label {
    font-weight: bold;
}

.hessenhub-required {
    color: rgb(169, 68, 66);
}

.form-authors-panel.hasError {
    border-color: rgb(169, 68, 66);
}

.form-authors-panel.hasError .errorMessage {
    color: rgb(169, 68, 66);
}

#disciplineAccordion .panel.hasError {
    border-color: rgb(169, 68, 66);
}

.panel-footer.hasError {
    color: rgb(169, 68, 66);
}

/* Spacing solution from: https://coderwall.com/p/0jezca/vertical-spacing-for-bootstrap-columns */
.row.row-grid > [class*="col-"]+[class*="col-"] {
    margin-top: 15px;
}

@media ( min-width : 1200px) {
    .row.row-grid [class*="col-lg-"]+[class*="col-lg-"] {
        margin-top: 0;
    }
}

@media ( min-width : 992px) {
    .row.row-grid [class*="col-md-"]+[class*="col-md-"] {
        margin-top: 0;
    }
}

@media ( min-width : 768px) {
    .row.row-grid [class*="col-sm-"]+[class*="col-sm-"] {
        margin-top: 0;
    }
}

.heading-gradient {
    background: linear-gradient(to right, rgb(0, 72, 150) 50%, transparent);
    background-color: unset;
    color: white;
    padding: 5px;
    border-radius: 0px;
    margin-top: 20px;
    padding-left: 10px;
}

.details-page-header {
    background-color: rgba(0, 72, 150);
    position: relative;
    border-radius: 0px;
    min-height: 75px;
}

.details-page-header h1 {
    padding-left: 10px;
    color: white;
    top: 50%;
    transform: translate(0, -50%);
    position: absolute;
    margin-top: 0px;
}

.imprint-container h1 {
    background-color: rgba(0, 72, 150);
    display: flex;
    align-items: center;
    position: relative;
    border-radius: 0px;
    min-height: 75px;
    padding-left: 10px;
    color: white;
    margin-top: 0px;
    margin-bottom: 20px;
    font-size: 30px;
}


.imprint-container h2 {
    background-color: rgb(0, 72, 150);
    color: white;
    padding: 5px;
    border-radius: 0px;
    margin-top: 20px;
    padding-left: 10px;
    font-size: 24px;
}

.imprint-container h3 {
    background-color: rgb(0, 72, 150);
    color: white;
    padding: 5px;
    border-radius: 0px;
    margin-top: 20px;
    padding-left: 10px;
    font-size: 18px;
}


.dimension-icon {
    top: 50%;
    transform: translate(-100%, -50%);
    position: absolute;
    padding: 5px;
    max-width: unset;
    max-height: 75px;
}


.levelofcompetence-filter-link-container,
.resourcetype-list {
    margin-top: 5px;
}

.highlight-container {
    border-radius: 0px;
}

.highlight {
    padding: 15px;
}

.hyphens-auto {
    hyphens: auto;
}

/* Favorites */
.favorite-toggle {
    margin-left: .2em;
    margin-bottom: .2em;
}

.favorite-toggle.non-favorite .favorite-icon:before {
    content: "\e007";
}

.favorite-toggle.non-favorite>button {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
}

.favorite-toggle.favorite .favorite-icon:before {
    content: "\e006";
}

.favorite-toggle.favorite>button {
    color: #fff;
    background-color: #004896;
    border-color: #003c7d;
}

.unfavorite {
    border-color: lightgray;
}

.unfavorite .media-left {
    opacity: .5;
}

.unfavorite p {
    opacity: .5;
}

.unfavorite .learningobjectLabels {
    opacity: .5;
}

.unfavorite .media-body>div:last-child {
    opacity: .5;
}

#favoritesFilterCollapseHeading #filterCounter {
    margin-left: .5em;
}

#filterCollapseHeading #filterCounter {
    margin-left: .5em;
}

#favoritesImportTextField {
    margin-bottom: 10px;
}

#favoritesInfoModal h5:not(:first-child) {
    margin-top: 25px;
}

.favoritesRow {
    margin-top: 10px;
    margin-bottom: 10px;
}

#filterReset,
#applyFilter {
    margin-top: .5em;
}

/* END Favorite*/
[data-toggle="collapse"][aria-expanded="false"] span.collapseIcon::before
    {
    content: "\e114"; /* Chevron down */
}

[data-toggle="collapse"][aria-expanded="true"] span.collapseIcon::before
    {
    content: "\e113"; /* Chevron up */
}

[data-toggle="collapse"][aria-expanded="false"] span.verbShow {
    display: inline;
}

[data-toggle="collapse"][aria-expanded="false"] span.verbHide {
    display: none;
}

[data-toggle="collapse"][aria-expanded="true"] span.verbShow {
    display: none;
}

[data-toggle="collapse"][aria-expanded="true"] span.verbHide {
    display: inline;
}

.toast-top {
    position: fixed;
    top: 58px;
    width: 95%;
    left: 50%;
    transform: translate(-50%);
    display: none;
}

.affix {
    position: static;
}

@media screen and (min-width: 768px) {
    .toast-top {
        position: fixed;
        top: 115px;
        width: 50%;
        left: 50%;
        transform: translate(-50%);
        display: none;
    }
}

.hessenhub-media .panel-body {
    margin-left: 5px;
}

.panel-body>p:last-child {
    margin-bottom: 0px;
}

.form-margin-bottom {
    margin-bottom: 1em;
}

.required-marker-hint {
    border-left: solid .25em #004896;
    height: 2em;
    margin-bottom: 15px;
    margin-left: .15em;
    padding-left: .5em;
    padding-top: .4em;
}

@media ( max-width : 992px) {
    /* fixed search mask on mobil view */
    .affix {
        position: static;
    }
    /* hide back-to-top button */
    #toTopButton {
        margin-right: 100px;
    }
}

/* floating search container only if enough screen hight on desktop view */
/* this does not protect from zoom/scaling inside the browser */
/* i downt know how bootstrap is doing this */
@media ( min-height : 850px) and ( min-width : 992px) {
    .affix {
        position: fixed;
        top: 20px;
    }
}

#toTopButton {
    display: none;
    position: absolute;
    right: -20px;
}

#toTopPos {
    position: fixed;
    bottom: 0px;
    background-color: #e9e9ec;
    cursor: pointer;
    padding: 15px;
}

@media screen and (min-width: 992px) {
    #lo_container {
        display: flex;
        min-height: 435px;
        flex-direction: column;
        justify-content: flex-start;
    }

    #similar_lo_container {
        margin-top: auto;
    }
}

@media screen and (min-height: 1015px) {
    .description-column {
        min-height: 355px;
    }
}

@media screen and (max-height: 1015px) {
    .description-column {
        min-height: unset;
    }
}

/*
@media screen and (min-width: 768px) {
    .affix {
        position:fixed;
        z-index: 1030;
    }
}
*/

/* CSS for select-hack */
.myDropdown {
    position: relative;
    display: inline-block;
}

/* hide checkbox and set shape to customize tab hitbox */
.myDropdown>input[type="checkbox"] {
    position: absolute;
    top: -4px;
    width: 55px;
    height: 34px;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border: none;
}

/* style dropdown button */
.myDropdown>label {
    display: inline-block;
    padding: 6px 12px;
    color: #333;
    line-height: 1.42857143;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #ccc;
    cursor: pointer;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    font-weight: 100;
}

/* on hover (over checkbox) or active checkbox highlight limit selector */
.myDropdown>input[type="checkbox"]:hover ~ label, .myDropdown>a[role="button"]:focus
    {
    background-color: #e6e6e6;
}

/* style dropdown list (hidden) */
.myDropdown>ul {
    position: absolute;
    z-index: 999;
    display: none;
    /* left: -100vw; */
    top: calc(1.5em + 14px);
    border: 0.5px solid #ccc;
    background: #fff;
    color: #555555;
    padding: 0px 0px;
    margin: 0;
    list-style: none;
    width: 98%;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    box-shadow: 0 3px 8px rgba(0, 0, 0, .15);
    -webkit-box-shadow: 0 3px 8px rgba(0, 0, 0, .15);
    -moz-box-shadow: 0 3px 8px rgba(0, 0, 0, .15);
}

/* set fixed width of dropdown list (and show) (should be one line for each element including " per page" text)*/
.myDropdown>input[type="checkbox"]:checked ~ ul, .myDropdown>ul:target {
    display: block;
    left: 0px;
    width: 110px;
}

/* style the currently selected limit in dropdown list */
.dropdown_selected:first-child {
    /* if first one is active (only top borders) */
    border-radius: 4px 4px 0px 0px;
    -moz-border-radius: 4px 4px 0px 0px;
    -webkit-border-radius: 4px 4px 0px 0px;
}

.dropdown_selected { /* set background for selected element */
    background-color: #004896;
}

.dropdown_selected_a {
    /* disable link of currently selected page limit and style it */
    display: block;
    padding: 6px 15px;
    color: #fff;
}

.dropdown_selected:last-child {
    /* if last one is active (only bottom borders) */
    border-radius: 0px 0px 4px 4px;
    -moz-border-radius: 0px 0px 4px 4px;
    -webkit-border-radius: 0px 0px 4px 4px;
}

/* style of all links in list */
.myDropdown>ul a {
    display: block;
    padding: 6px 15px;
    color: #333;
    text-decoration: none;
}

/* style elements on hover or focus in dropdown list */
.myDropdown>ul a:hover, .myDropdown>ul a:focus {
    background: #ececec;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border-color ease-in-out .15s, box-shadow
        ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out
        .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

/* extend page limit number with " per page" text in the dropdown menue */
.myDropdown>input[type="checkbox"]:checked ~ ul a:after, .myDropdown>input[type="checkbox"]:checked
     ~ ul span:after {
    content: ' pro Seite';
}

/* set label color if dropdown menue if is open */
.myDropdown>input[type="checkbox"]:checked ~ label {
    background: #ececec;
}

/* CSS for pagination */
.paginationList {
    /* put pagination selector in same line as pages */
    display: inline;
}

.paginationSelector {
    /* space between "last page" and "items per page" */
    display: inline-block;
    margin-left: 5px;
}
/* END CSS for pagination */

/* Textarea */
#maxLengthCounter {
    /* mvoe counter a bit to the textarea*/
    margin-top: 5px;
}

textarea#comment, textarea#description {
    /* limit resize of comment and description textarea */
    resize: vertical;
    min-height: 150px;
}

/* END Textarea */

.hidden {
    display: none;
}

/* Pagination */

.paginationContainer {
    margin-top: 30px;
    margin-bottom: 30px;
}

.pagination {
    display: inline;
}

#elemsPerPage {
    display: inline-block;
    margin-left: 5px;
}

/* END Pagination */

.init_hidden {
    display: none !important;
}

.clearfix {
    margin-bottom: 15px;
}

/* Search */
.infoTag {
    padding-top: 20px;
}

/* Admin */
.navbar-text {
    padding: 0px 15px;
}

/* API-Token */
#api_comment {
    resize: none;
}

#learningobjectsTable #thStatus {
    min-width: 100px;
}

#learningobjectsTable #thAction {
    min-width: 190px;
}

.inline-img {
    display: inline;
    margin: 0 0.125em;
    padding: 0;
    height: 1em;
    vertical-align: baseline;
}

/* learningpackages */
@media screen and (min-width: 768px) {
    .grid-group-wrapper.row {
        display: flex;
        flex-wrap: wrap;
    }
    .grid-group-wrapper.row>[class*=col-] {
        display: flex;
        flex-direction: column;
    }
    .grid-group-wrapper.row .thumbnail, .grid-group-wrapper.row .caption {
        display: flex;
        flex: 1 0 auto;
        flex-direction: column;
    }
    .grid-group-wrapper.row .flex-bottom {
        align-self: flex-end;
        width: 100%;
        padding-left: 9px;
    }
}

#learningpackagesTable th:first-child {
    width: 60%;
}

#learningpackagesTable td:last-child a {
    margin-top: .5em;
}

#learningpackagesTable td:last-child {
    padding-top: 3px;
}

.num-lo-sep {
    margin: 0px -5px .4em -14px;
}

#introText {
    hyphens: auto;
}

/* hard line break in very long learningpackge title */
.learningpackage h3 a {
    word-break: break-all;
}

/* END learningpackages */

.top-content .jumbotron {
    background-color: #004896;
}

.top-content .jumbotron h1 {
    margin-bottom: 1em;
}

.top-content .jumbotron h1 img{
    transform: scale(1.25);
}

.top-content .jumbotron p {
    color: white;
    padding: 0em .7em;
    margin-top: 1em;
    font-size: 2em;
    hyphens: auto;
    text-align: justify;
}

.top-content .jumbotron form .main-search button {
    color: rgb(50, 50, 50);
}

.top-content .jumbotron form .main-search button:hover {
    background-color: #004896;
    color: white;
}

.top-content .jumbotron .dropdown button {
    background-color: rgb(255, 255, 255);
    color: rgb(50, 50, 50);
}

.top-content .jumbotron .filter-row {
    min-height: 46px;
}

div.content.main-cards div.panel {
    border: none;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    margin-top: 25px;
    margin-bottom: 25px;
}

div.content.main-cards div.panel-heading {
    background-color: unset;
    text-align: center;
    border: none;
}

div.content.main-cards div.panel-body {
    text-align: center;
}

.section-row {
    margin-top: 5em;
}

div .section-row ~ .section-row {
    margin-top: 4em;
}

.section-start {
    padding: 1em 0em 1em 0em;
    margin-bottom: 2em;
}

.section-start h2 {
    color: white;
    padding: .5em 0em;
    background-color: #004896;
    margin-top: 0px;
    margin-bottom: 1em;
}

.section-start p {
    font-size: 1.25em;
}

.stats-img img {
    max-width: 50%;
}

.dimension-card.media {
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    margin-top: 25px;
    margin-bottom: 25px;
    border-radius: 0px;
    transition: .3s;
}

.dimension-card.media:hover {
    box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.2);
}

.dimension-card.media object {
    transition: .3s;
}

.dimension-card.media:hover object {
    transform: scale(1.1);
}

.dimension-card .media-body {
    padding-right: 1em;
}

.dimension-card object {
    width: 100px;
    padding: 0em 1em;
}

.dimension-card-link {
    color: unset;
}

.dimension-card-link:hover p, .dimension-card-link:hover {
    text-decoration: none;
}

.dimension-card-link:hover h2,
.dimension-card-link:hover h3 {
    text-decoration: underline;
}

div .home-level-row {
    margin-top: 1.0em;
    display: flex;
    align-items: center;
}

div .home-level-row ~ .home-level-row {
    margin-top: 2.0em;
    margin-bottom: 2.0em;
}

.home-level-row p {
    font-size: 1.2em;
}

.level-dimension-container {
    min-height: 17em;
}

.home-container .row-grid:last-child {
    margin-bottom: 4em;
}

.breadcrumb {
    background-color: rgba(0, 72, 150, 1);
    border-radius: 0px;
}

.breadcrumb li a {
    color: rgba(256, 256, 256, 1);
}

.breadcrumb > li.active {
    color: rgba(256, 256, 256, 1);
    font-style: italic;
}

.breadcrumb > li.active::before {
    font-style: normal;
}

.thumbnail.lvl-card {
    border: none;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    transition: .3s;
}

.thumbnail.lvl-card:hover {
    border: none;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

.lvl-card-link,
.lvl-card-link:hover,
.lvl-card-link:hover p {
    text-decoration: none;
    transition: .3s;
}

 a:hover > .lvl-card > .caption > h3 {
    text-decoration: underline;
 }

.thumbnail.lvl-card > img {
    transform: scale(.9);
    transition: .3s;
}

.thumbnail.lvl-card:hover > img {
    transform: scale(.95);
}

.thumbnail.learningpackage-card {
    border: none;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    transition: .3s;
}

.thumbnail.learningpackage-card:hover {
    border: none;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

.learningpackage-card-link,
.learningpackage-card-link:hover,
.learningpackage-card-link:hover p {
    text-decoration: none;
    transition: .3s;
}

a:hover > .learningpackage-card > .caption > h3 {
    text-decoration: underline;
}

.thumbnail.learningpackage-card > img {
    transform: scale(.9);
    transition: .3s;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.thumbnail.learningpackage-card:hover > img {
    transform: scale(.95);
}

@media ( min-width : 768px) {
    .vertical-align-middle {
        display: flex;
        align-items: center;
    }
}

.fav-thumbnail {
    margin-bottom: 20px;
}

.dimension-card-heading {
    font-family: inherit;
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
    font-size: 24px;
}

.levelofcompetence-card-heading {
    font-family: inherit;
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
    font-size: 24px;
}

.details-page-information-row {
    margin-top: 20px;
}

.item-description-row {
    margin-top: 20px;
    margin-bottom: 10px;
}

.large-label {
    font-size: 13px;
    font-weight: normal;
    padding: .75em;
    display: inline-block;
}

.lo-details-div {
     margin-top: 5px;
}

.big-fav-toogle {
    margin-top: 1em;
    margin-left: 0px;
}

/* Reports */

.provider-panel {
    margin-bottom: 15px;
    border-radius: 0px;
}

.provider-panel .panel-body {
    padding: 10px;
}

.provider-panel .panel-body a {
    padding: 8px 12px;
    text-decoration: none;
}
