@charset "utf-8";
@import url('./bootstrap-icons/font/bootstrap-icons.css');
@import url('./fonts.css');

html {
    overflow-x: hidden;
    scroll-behavior: smooth;
    scroll-padding-top: 6em;
}

body {
    font-family: 'Fira Sans', sans-serif;
    font-weight: 300;
    overflow-x: hidden;
    scroll-behavior: smooth;
}

img {
    max-width: 100%; /* calc(100vw - 40px); */
    height: auto;
}

h1 {
    margin-bottom: 1.5rem;
}

h2.h1-h2-combi {
    margin-top: -1.3em;
}

.triangle {
    position: absolute;
    max-width: 1440px;
    text-align: right;
    right: calc(50% - 101px);
    top: 26px;
    transform: rotate(45deg);
    background: #fff;
    /* border-radius: 5%; */
    width: 200px;
    height: 200px;
    overflow: hidden;
    z-index: 0;
}

.triangle > .leibniz-logo {
    max-width: 60px!important;
    transform: rotate(-45deg) translate(-102px, -103px);
}

.triangle-2 {
    position: absolute;
    max-width: 1440px;
    text-align: right;
    right: calc(50% - 31px);
    top: -83px;
    transform: rotate(38deg);
    background: #fff;
    /* border-radius: 5%; */
    width: 80px;
    height: 200px;
    overflow: hidden;
    z-index: 0;
}

.triangle-2 > .leibniz-logo {
    max-width: 60px!important;
    transform: rotate(-38deg) translate(-53px, 50px);
}

.lipics-square {
    display: inline-block;
    background-color: #ffc107;
    width: 0.8em;
    height: 0.8em;
}

.headline {
    padding-top: 1rem;
    text-align: center;
}

.bold {
    font-weight: bold;
}

.-hidden{
    display: none;
}

.margin-auto {
    margin: auto;
}

@media(min-width: 576px) {
    .max-width-300-lg {
        max-width: 300px;
    }
}

.popover {
    max-width: 50%;
    margin-right: 10px;
    min-width: 200px;
}

#_top-of-page {
    position: absolute;
    top: 0;
    color: #fff;
}

.text-center {
    text-align: center;
}

.centered-links {
    text-align: center;
}

.centered-links a {
    display: block;
}

.bottom-aligned {
    position: absolute;
    bottom: 0;
}

.child-width-80 > * > * {
    width: 80%;
    height: auto;
}

.min-height-5em { min-height: 5em; }
.min-height-6em { min-height: 6em; }
.min-height-7em { min-height: 7em; }
.min-height-8em { min-height: 8em; }
.min-height-9em { min-height: 9em; }
.min-height-10em { min-height: 10em; }
.min-height-11em { min-height: 11em; }
.min-height-12em { min-height: 12em; }
.min-height-13em { min-height: 13em; }
.min-height-14em { min-height: 14em; }
.min-height-15em { min-height: 15em; }
.min-height-16em { min-height: 16em; }
.min-height-17em { min-height: 17em; }
.min-height-18em { min-height: 18em; }
.min-height-19em { min-height: 19em; }
.min-height-20em { min-height: 20em; }
.min-height-21em { min-height: 21em; }
.min-height-22em { min-height: 22em; }
.min-height-23em { min-height: 23em; }
.min-height-24em { min-height: 24em; }
.min-height-25em { min-height: 25em; }
.min-height-26em { min-height: 26em; }
.min-height-27em { min-height: 27em; }
.min-height-28em { min-height: 28em; }
.min-height-29em { min-height: 29em; }
.min-height-30em { min-height: 30em; }
.min-height-31em { min-height: 31em; }
.min-height-32em { min-height: 32em; }
.min-height-33em { min-height: 33em; }
.min-height-34em { min-height: 34em; }
.min-height-35em { min-height: 35em; }
.min-height-36em { min-height: 36em; }
.min-height-37em { min-height: 37em; }
.min-height-38em { min-height: 38em; }
.min-height-39em { min-height: 39em; }
.min-height-40em { min-height: 40em; }
.min-height-41em { min-height: 41em; }
.min-height-42em { min-height: 42em; }
.min-height-43em { min-height: 43em; }
.min-height-44em { min-height: 44em; }
.min-height-45em { min-height: 45em; }
.min-height-46em { min-height: 46em; }
.min-height-47em { min-height: 47em; }
.min-height-48em { min-height: 48em; }
.min-height-49em { min-height: 49em; }
.min-height-50em { min-height: 50em; }

.padding-top-0 {
    padding-top: 0!important;
}

.padding-bottom-0 {
    padding-bottom: 0!important;
}

.scroll-up-button {
    position: fixed;
    bottom: 10px;
    right: 10px;
    font-size: 30px;
    background-color: rgba(255, 255, 7255, 0.4);
    width: 40px;
    height: 40px;
    text-align: center;
    border-radius: 20px;
    color: #545b62!important;
    line-height: 42px;
    transition: bottom 0.2s ease-in-out;
    z-index: 1000;
}

.scroll-up-button.-invisible {
    bottom: -50px;
    transition: bottom 0.2s ease-in-out;
}

/****** brand header */

.navbar-brand > .lzi-logo {
    height: 3.05em;
    margin: -25px 10px -17px 0;
    transform: translate(-17px, 0);
    /*
    height: 60px;
    margin: -25px 10px -17px -16px;
     */
}

.brand-header > .brand-text {
    position: absolute;
    top: 0;
    color: #636b6f;
    left: 160px;
}

.brand-header > .brand-text > span:first-child {
    /* font-size: 26px; */
    font-size: 20px;
    line-height: 1.8em;
}

.brand-header > .brand-text > span:nth-child(3) {
    font-size: 19px;
}

@media (max-width: 800px) {

    .brand-header > .leibniz-logo {
        float: unset;
        margin-right: unset;
        margin-left: 10px;
    }

    .brand-header > .brand-text {
        top: 74px;
        z-index: 10;
        left: 90px;
    }

    .brand-header > .brand-text > span:first-child {
        font-size: 12px;
    }

    .brand-header > .brand-text > span:nth-child(3) {
        font-size: 10px;
    }
}

/******* metadata injection */

._page-metadata {
    display: none!important;
}

/******* main menu */

@media(max-width: 991px) {
    .navbar-collapse {
        margin-top: 15px;
    }
}

nav.navbar.main {
    /* border-bottom: 1px solid #636b6f; */
    border-top: 1px solid #eee;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
    font-weight: 400!important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    transition: top 0.2s ease-in-out;
}

@media(min-width: 992px) {
    nav.navbar.main.reduced {
        top: -57px;
        transition: top 0.2s ease-in-out;
    }
}

.no-outline {
    outline: none!important;
}

li.nav-item.current > a {
    color: #545b62!important;
    font-weight: bold;
}

li.nav-item.active > a {
    color: #545b62!important;
    font-weight: bold;
}

li.nav-item > a:hover {
    /* background: linear-gradient(0deg, #636b6f 0%, rgba(255,255,255,0) 6%); */
    font-weight: bold;
    color:  #545b62!important;
}

li.nav-item > a:after {
    display: none;
}

li.nav-item > a.nav-link {
    text-transform: uppercase;
    padding-right: 1rem!important;
    padding-left: 0.5rem!important;
    font-size: 0.9rem;
}

.navbar-light .navbar-nav .nav-link {
    color: #545b62;
}

.navbar-search .btn-outline-success,
.search-expanded .btn-outline-success,
#btn-go-to-seminar
{
    border-color: #ffc107;
    background-color: #ffc107;
    color: #636b6f;
}

.navbar-search .btn-outline-success:hover,
.search-expanded .btn-outline-success:hover,
#btn-go-to-seminar:hover
{
    border-color: #636b6f;
    background-color: #ffc107;
    color: black;
}

.navbar-search input:focus {
    outline: none;
    border: none;
    box-shadow: none;
}

@media(max-width: 991px) {
    .navbar-search > .input-group {
        width: 100%;
    }
}

/******* search overlay */

.search-overlay {
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: -120vh;
    background-color: rgba(0, 0, 0, 0.85);
    z-index: 1000;
    transition: top 0.5s ease-in-out;
    overflow: hidden;
}

.search-overlay form {
    background-color: #ffc107;
    margin-top: 4em!important;
}

.search-overlay form button, .search-overlay input {
    border: 1px solid #555!important;
}

.search-overlay .add-seminars {
    color: #000;
    margin: 1em auto;
    max-width: 80vw;
    text-align: center;
}

.search-overlay.-show {
    top: 0;
    transition: top 0.5s ease-in-out;
    overflow: scroll;
}

.search-overlay a {
    color: #eee;
}


.search-overlay a:hover {
    color: #fff;
}

.search-overlay > .dagstuhl-services a {
    color: #007bff!important;
}

.search-overlay h4 {
    color: #fff;
    text-align: left;
    margin-top: 4rem;
}

.search-overlay .faq {
    margin: 4rem 2.5vw;
}

.search-overlay button.close {
    color: white;
    position: absolute;
    top: 0;
    right: 10px;
    font-size: 2em;
}

.search-overlay .dagstuhl-services > .card {
    flex: 0 0 27.7777%; max-width: 27.7777%;
}

.search-overlay .dagstuhl-services-header {
    background-color: #eee;
}

.search-overlay .dagstuhl-services-header h5 {
    text-align: center;
}

@media(max-width: 500px) {
    .search-overlay .dagstuhl-services-header h5 {
        padding-left: 90px;
    }
    .search-overlay .dagstuhl-services-header h5 > span {
        display: none;
    }
}

@media(max-width: 900px) {
    .search-overlay .dagstuhl-services > .card{
        flex: unset;
        width: 90vw;
        max-width: 90vw;
        margin: auto;
    }

    .search-overlay .dagstuhl-services-header {
        max-width: 90vw;
        width: 90vw!important;
        margin: auto;
        flex: unset;
    }
}

.search-expanded .input-group {
    width: 95vw;
    margin: 2em 2.5vw 0 2.5vw;
}

.search-expanded input:focus {
    outline: none;
    border: none;
    box-shadow: none;
}

/******* secondary menu */

.secondary-menu {
    margin: 2rem 0 1.5rem 0;
    z-index: 5;
}

.secondary-menu .uplink {
    margin: 0 0 10px 0;
    text-align: center;
}

.secondary-menu li.nav-item > a.nav-link {
    text-transform: none;
}

.secondary-menu .nav-tabs {
    justify-content: center;
}

/************ breadcrumb */

.breadcrumb {
    position: fixed;
    transition: margin-top 0.2s ease-in-out;
    width: 100%;
    z-index: 100;
    margin-top: 57px;
    background-color: #636b6f;
    border-radius: 0!important;
    color: #eee;
    padding: 0.2rem 1.5rem;
    font-size: 0.9em;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}
@media(min-width: 992px) {
    .breadcrumb.reduced {
        margin-top: 0;
        transition: margin-top 0.2s ease-in-out;
    }
}

@media (max-width: 576px) {
    .breadcrumb {
        font-size: 0.7em;
        font-weight: bold;
        padding: 0.2rem 0.2rem;
    }

    .breadcrumb-item {
        padding-left: 0.1rem!important;
    }

    .breadcrumb-item, .breadcrumb-item::before {
        padding-right: 0.1rem!important;
    }

    .breadcrumb-item > span {
        max-width: 150px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

}

@media (max-width: 776px) {
    .breadcrumb-item > span {
        max-width: 200px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

.breadcrumb-item > span {
    max-width: calc(95vw - 300px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.breadcrumb > li:before {
    color: #eee!important;
}

.breadcrumb-item > a {
    color: #eee;
}

.breadcrumb-margin {
    height: 7em;
}

ol.breadcrumb {
    max-width: 100vw;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/*********** language menu */

.language-menu {
    margin-left: 15px;
}

.btn-language > a {
    color: unset;
}

/********** footer */

@media (min-width: 576px) {
    .page-footer {
        text-align: left;
    }
}

.page-footer {
    padding: 30px;
    text-align: center;
    color: #fff;
}

@media (min-width: 571px) and (max-width: 976px) {
    .col-sm-2 {
        -ms-flex: 0 0 33%;
        flex: 0 0 33%;
        max-width: 33%;
    }
}

.page-footer{background-color:#fff;padding-top:30px;text-align:center}
.page-footer .footer-copyright{background-color:#fff;padding-top:3px;padding-bottom:3px;text-align:center;margin-top:50px;border:1px solid #ededed}
.page-footer.dark {background-color: #545b62;border-color:#545b62}/*{background-color: #222425;border-color:#222425}*/
.page-footer .footer-copyright p{margin:10px;color:#7d8288}
.page-footer.dark .footer-copyright p{color:#ccc}
.page-footer ul{ list-style-type:none;padding-left:0;line-height:1.7}
.page-footer h5{font-size:18px;font-weight:700;margin-top:30px;}
.page-footer.dark h5{color:#fff}
/* .page-footer.dark h5{color:#ffc107;} */
.page-footer a{color:#53595f;text-decoration:none}
.page-footer.dark a{color:#d2d1d1}
.page-footer a:focus,.page-footer a:hover{text-decoration:none;color:#1d2125}
.page-footer.dark a:focus,.page-footer.dark a:hover{color:#fff}
@media (min-width:576px){.page-footer{text-align:left}}
@media (min-width:768px){.page-footer ul li{position:relative;padding-left:10px}
.page-footer ul li:after,.page-footer ul li:before{content:"";position:absolute;left:0;width:2px;height:6px;border-radius:2px;background-color:#ffc107;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}
.page-footer ul li:before{top:9px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}
.page-footer ul li:after{top:13px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}}

.footer-link-separator {
    border-bottom: 1px solid #888;
}

.copyright {
    padding: 20px;
    position: relative;

    /*
    background-color: #ffc107;
    color: #000;
    */

    background-color: #333435;
    color: #fff;

    text-align: center;
}

.copyright > a {
    color:#d2d1d1;
    text-decoration: none;
    margin-left: 20px;
}

.copyright > a:hover {
    color:#fff
}

.leibniz-footer-logo {
    margin-top: 3em;
}

/********** cards */

.clean-card{box-shadow:0 2px 10px rgba(0,0,0,.075);border-radius:3px;margin-bottom:40px;border:1px solid #eaeaea;transition: all 0.2s ease-in-out!important;}
.clean-card .image{border-radius:3px 3px 0 0;overflow:hidden}
/*.clean-card .info{padding:30px}*/

.clean-card .card-body { padding: 1.5em;}
.clean-card h4{font-weight:600;font-size:1em}
.clean-card p {opacity:.8;font-size:.85em;margin-bottom:.9em}
.clean-card li {opacity:.8;font-size:.85em;}
.clean-card .raw-content-LIPIcs {opacity:.8;font-size:.85em;}
.clean-card .raw-content-LIPIcs li {opacity: unset;font-size:unset;}
.clean-card .icons a{font-size:16px;color:#3b99e0;opacity:.75;height:2em;line-height:2;text-align:center;padding:.6em .4em}
.clean-card .icons a:hover{opacity:1;text-decoration:none}

.clean-card h3, .clean-card h4 { text-align: center; }
.clean-card.text-center .neos-contentcollection {
    text-align: center;
}


.clean-card:hover {
    transform: scale(1.02);
    transition: all 0.2s ease-in-out!important;
}

.flex-card, .article-teaser, .art-card, .series-card {
    height: calc(100% - 2em);
}

.flex-card .card-text.role {
    margin-bottom: 1em;
    text-align: center;
}

.flex-card .centered-links {
    font-size: 0.85em;
}

.seminar-card h3 { min-height: 2.4em }
/* .seminar-card { min-height: 39em }
.seminar-card .card-text.role { min-height: 15em; }*/
.seminar-card.flex-card .card-text.role {
    text-align: left;
}
.card.seminar-card .card-text.role > p {
    font-size: inherit;
    opacity: unset;
}

.location-card .card-img-top {
    height: 15em;
    object-fit: cover;
}

@media(min-width: 576px) {
    ._art-card {
        min-height: 34em;
    }
    ._series-card {
        min-height: 36em;
    }
}

.business-card-small .role {
    color: #222222;
    font-weight: bold;
}

.business-card-small > .card {
    overflow: hidden;
}

@media(min-width: 576px) {
    .business-card-small .card-body {
        min-height: 15em;
    }

    .business-card-small .card-body.large {
        min-height: 20em;
    }
}

.business-card-small .card-body.unset-height {
    height: unset;
}

.business-card-small h3 {
    font-size: 1em;
}

.business-card-small .card-img-top {
    max-width: 115px;
    width: calc(100% - 4em);
    margin: 2em auto 0;
    border-radius: 50%;
    border: 1px solid #ddd;
}

.business-card-large .card-img-top {
    max-width: 250px;
    width: calc(100% - 4em);
    margin: 2em auto 0;
    border-radius: 50%;
    border: 1px solid #ddd;
}

@media(max-width: 990px) {
    .business-card-small.card-only {
        max-width: 500px;
        margin: auto;
    }
}

.business-card-small.no-image .image-wrapper {
    width: 0!important;
}

@media(min-width: 991px) {
    .business-card-small.card-only {
        margin: auto;
        max-width: 37em;
    }

    .business-card-small.card-only .image-wrapper {
        position: absolute;
        width: 250px;
        height: unset;
        max-width: unset;
        max-height: 300px;
        margin: auto;
        overflow: hidden;
    }

    .business-card-small.card-only .card-body {
        margin-left: 200px;
    }
}

/* three-cards-layout, summer-schools */

.business-card-small.three-cards-layout .card-body {
    min-height: unset;
}

.summer-schools .business-card-small .card-body {
    min-height: 11em;
    min-width: 14em;
}


@media(min-width: 576px) {
    .summer-schools.left .neos-contentcollection {
        float: right;
    }

    .summer-schools.right .neos-contentcollection {
        float: left;
    }
}

@media(max-width: 991px) and (min-width: 576px) {
    .business-card-small.three-cards-layout .image-wrapper,
    .card-9-3 > .business-card-small .image-wrapper {
        position: absolute;
        width: 250px;
        height: unset;
        max-width: unset;
        max-height: 300px;
        margin: auto;
        overflow: hidden;
    }

    .business-card-small.three-cards-layout .card-img-top {
        max-width: 250px;
    }

    .business-card-small.three-cards-layout.has-image .card-body,
    .card-9-3 > .business-card-small .card-body.has-image {
        margin-left: 200px;
    }

    .business-card-small.three-cards-layout,
    .card-9-3 > .business-card-small {
        max-width: 580px;
        min-height: 250px;
        margin: auto;
    }

    .business-card-small.three-cards-layout > .card,
    .card-9-3 > .business-card-small > .card {
        min-height: 250px;
    }

    .business-card-small.three-cards-layout .card-body.info
    {
        padding-top: 4em;
    }
}

/*
@media(max-width: 1200px) and (min-width: 576px) {
    .business-card-small {
        max-width: 600px;
        margin: auto;
    }

    .business-card-small .image-wrapper {
        position: absolute;
        width: 210px;
        overflow: hidden;
    }

    .business-card-small .card-body {
        padding-left: 210px;
    }
}

@media (max-width: 576px) {
    .business-card-small .image-wrapper {
        height: unset;
        max-height: 430px;
    }

    .business-card-small.three-cards-layout .image-wrapper {
        max-width: unset;
    }
}
*/

main.main {
    padding: 0 1.5rem 0 1.5rem;
    min-height: calc(100vh - 234px);
}

@media (max-width: 70em) {
    main.main {
        padding: 0 0.5rem 0 0.5rem;
    }
}

.news-article-column {
    margin: -5px -7px 0 0;
    transform: translate(10px, -10px);
    padding-top: 20px;
    background-color: #f8f9fa!important;
    border-left: 1px solid #eee;
}

.card {
    border-radius:0!important;
}

/********* business card */

.card-img {
    height: auto;
}


/********* feature box */
.feature-box {
    padding: 15px 20px 15px 70px;
}

.block-heading > h1, h2 {
    text-align: center;
}

.feature-box .icon {
    font-size: 30px;
    position: absolute;
    left: 15px;
    top: 15px;
    width: 30px;
    text-align: center;
    color: #636b6f;
}

.feature-box .icon-2nd {
    top: 60px;
}

.feature-box .icon-3rd {
    top: 105px;
}

.feature-box h4 {
    font-weight: 600;
    font-size: 1.2rem;
    text-align: left;
    color: #636b6f;
}



/********* carousel */


.carousel-item > img {
    height: auto;
}

.header-image {
    margin: 40px -1.5rem 15px -1.5rem;
}

.carousel.narrow {
    max-width: 500px;
    margin: auto;
}

.-carousel-image {
    width: 100%;
    height: 100%;
    max-width: unset;
}

.carousel-caption h1 {
    font-size: 4em;
    margin-bottom: 0;
}
.carousel-caption h5 {
    font-size: 2.1em;
}

#id-46f47c36-d6dd-4299-b5ce-638fa238a848 .carousel-indicators {
    display: none;
}

.__outlined {
    text-shadow:
        -2px -2px 0 rgba(0,0,0,0.5),
        0   -2px 0 rgba(0,0,0,0.5),
        2px -2px 0 rgba(0,0,0,0.5),
        2px  0   0 rgba(0,0,0,0.5),
        2px  2px 0 rgba(0,0,0,0.5),
        0    2px 0 rgba(0,0,0,0.5),
        -2px  2px 0 rgba(0,0,0,0.5),
        -2px  0   0 rgba(0,0,0,0.5);
}

._outlined {
    text-shadow:
        -1px -1px 2px #000,
        2px   -1px 2px #000,
        1px -1px 2px #000,
        1px  2px   2px #000,
        1px  1px 2px #000,
        2px    1px 2px #000,
        -1px  1px 2px #000,
        -1px  2px  2px #000;
}

.outlined {
    text-shadow:
        0 0 5px #000;
    /*
        -1px -1px 5px #aaa,
        1px -1px 5px #aaa,
        1px -1px 5px #aaa,
        1px 1px 5px #aaa,
        1px 1px 5px #aaa,
        1px 1px 5px #aaa,
        -1px  1px 5px #aaa,
        -1px  1px  5px #aaa;*/
}

.header-image.container-image {
    margin: -30px -1.5rem 15px -1.5rem;
    width: 120%;
    height: 400px;
    object-fit: cover;
}

@media (max-width: 576px) {
    .header-image.container-image {
        margin: -34px -1.5rem 15px -1.5rem;
        width: 120%;
        height: 150px;
        object-fit: cover;
    }
}

/******* col-sm-9 /col-sm-3 adaptions for business cards ***/

@media (min-width: 576px) and (max-width: 1200px) {
    .col-sm-9.card-col {
        min-width: 100%;
    }

    .col-sm-3.card-col {
        min-width: 100%;
        padding: 0 25%;
        text-align: center;
    }
}

@media (min-width: 800px) and (max-width: 1200px) {
    .col-sm-3.card-col {

    }
}

/******* quick links */
.quick-links-overlay {
    position: fixed;
    left: 0;
    top: 0;
    height: 100vh;
    width: 100vw;
    z-index: 29;
}

.quick-links .list-container, .quick-links-handle {
    background-color: #ffc107;
}

.quick-links .role-details {
    padding: 0 20px 0 11px;
}

.quick-links.aside .quick-links-handle .up, .quick-links.aside .quick-links-handle .down {
    display: none;
}

.quick-links.atop.show .quick-links-handle .down {
    display: none;
}

.quick-links.atop:not(.show) .quick-links-handle .up {
    display: none;
}

.quick-links > .list-container {
    height: 400px;
    border: 1px solid #555;
}

.quick-links > .list-container li {
    cursor: pointer;
}

.quick-links.atop {
    position: fixed;
    padding: 0;
    top: -404px;
    left: calc(50vw - 165px);
    width: 330px;
    z-index: 3000;
    font-weight: 400;
    color: #444;
    transition: top 0.5s ease-in-out;
    box-shadow: 0 2px 10px rgb(0 0 0 / 8%);
}

.quick-links.atop .list-container {
    border-radius: 0 0 4px 4px;
}

.quick-links.atop.show {
    top: -1px;
    transition: top 0.5s ease-in-out;
}

.quick-links.atop:not(.show) .list-container {
    overflow: hidden;
}

.quick-links.atop > .quick-links-handle {
    position: absolute;
    display: inline-block;
    text-align: center;
    text-transform: uppercase;
    font-size: 0.9em;
    border-radius: 0 0 4px 4px;
    transform: translateX(calc(50% + 65px));
    padding-bottom: 0;
    box-shadow: 0 2px 10px rgb(0 0 0 / 8%);
}

.quick-links.aside {
    position: fixed;
    padding: 0;
    border-radius: 4px;
    right: -334px;
    width: 370px;
    top: 100px;
    z-index: 30;
    font-weight: 400;
    color: #444;
    transition: right 0.5s ease-in-out;
}

.quick-links.aside.show {
    right: -11px;
    transition: right 0.5s ease-in-out;
}

.quick-links.aside > .list-container {
    margin-left: 40px;
    border-radius: 4px 0 0 4px;
    border: 1px solid #000;
}

.quick-links.aside > .quick-links-handle {
    display: block;
    text-align: center;
    width: 216px;
    text-transform: uppercase;
    font-size: 0.9em;
    box-shadow: 0 2px 10px rgb(0 0 0 / 8%);
/* border-top: 1px solid #000;
border-right: 1px solid #000;
border-left: 1px solid #000; */
    transform: rotate(-90deg) translate(286px, -89px); /* rotate(90deg) translate(-93px, -82px); */
    /* border-radius: 4px 4px 0 0; */
}

.quick-links ul {
    list-style: none;
    padding: 0;
}

.quick-links li > a {
    display: inline-block;
    width: 100%;
}

.quick-links .role-select {
    min-width: 288px;
}

.quick-links.atop li > a {
    width: 103%;
    background-color: #f0b107;
    margin-bottom: 5px;
    border-radius: 2px;
    text-align: center;
}

.quick-links li:hover {
    background-color: #f0b107;
}

.quick-links li.demo-hover {
    background-color: #f0b107;
}

.quick-links a {
    color: #444;
    padding: 10px;
    text-decoration: none!important;
}

@keyframes quicklinks-atop-wiggle {
    0% { transform: translateX(calc(50% + 65px)); }
    20% { transform: translateX(calc(50% + 61px)); }
    40% { transform: translateX(calc(50% + 65px)); }
    60% { transform: translateX(calc(50% + 69px)); }
    80% { transform: translateX(calc(50% + 65px)); }
    100% { transform: translateX(calc(50% + 61px)); }
}

@keyframes quicklinks-aside-wiggle {
    0% { transform: rotate(-90deg) translate(286px, -89px); }
    33% { transform: rotate(-90deg) translate(282px, -89px); }
    66% { transform: rotate(-90deg) translate(286px, -89px); }
    100% { transform: rotate(-90deg) translate(290px, -89px); }
}

.handle-wiggle-vertical {
    animation-name: quicklinks-aside-wiggle;
    animation-duration: 200ms;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 3;
    transform-origin: 50% 50%;
}

.handle-wiggle-horizontal {
    animation-name: quicklinks-atop-wiggle;
    animation-duration: 200ms;
    transform-origin: 50% 50%;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 3;

}

/********* top news */

section.section.full-width.top-news {
    padding: 15px 8px 8px 8px;
    margin: -13px -30px 0 -30px;
    text-align: center;
    background-color: #545b62!important;
    transition: all 0.5s ease-in-out!important;
}

section.section.full-width.top-news:hover {
    transform: scale(1.02);
    transition: all 0.5s ease-in-out!important;
}

.top-news .text-muted {
    color: #ccc!important;
}

.top-news a {
    color: white!important;
}

@media(max-width: 576px) {
    section.section.full-width.top-news {
        padding-left: 30px;
    }
    section.top-news .slick {
        display: none;
    }
    section.top-news .top-news-headline {
        text-align: center;
    }
}

section.top-news button.slick-prev,
section.top-news button.slick-next {
    background-color: transparent;
    border: none!important;
    outline: none!important;
    color: transparent;
    position: absolute;
    top: calc(50% - 1em);
    line-height: 1em;
}

section.top-news button.slick-prev {
    left: -2.5em;
}
section.top-news button.slick-next {
    right: -4.5em;
}

section.top-news .slick-prev:before {
    content: "‹";
    color: rgb(255,255,255, 0.5);
    font-size: 30px;
}

section.top-news .slick-next:before {
    content: "›";
    color: rgb(255,255,255, 0.5);
    font-size: 30px;
}

@media(min-width: 576px) {
    section.top-news .static {
        display: none;
    }
    section.top-news .top-news-headline {
        position: relative;
        padding: 0 20px 0 3px;
        text-align: left;
        overflow: hidden;
    }

    section.top-news .top-news-headline > .top-news-headline-overlay {
        width:100%;
        height:100%;
        position:absolute;
        left:0;
        top:0;
        cursor: pointer;
        background:linear-gradient(to right, transparent calc(100% - 20px), #545b62);
    }
}

/********* section */

section.section {
    position: relative;
}

section.section > .href-destination {
    position: absolute;
    top: 0;
}

section.section.full-width {
    margin: 0 -30px;
    padding: 1rem 30px;
}

section.section.full-width > h1, section.section.full-width > .headline-wrapper > h1,
section.section.full-width > h2, section.section.full-width > .headline-wrapper > h2 {
    text-align: center;
}

section.section.full-width.small-headlines > h1,
section.section.full-width.small-headlines > .headline-wrapper > h1,
h2 {
    font-size: 1.5rem;
}

section.section.full-width.small-headlines > .container > .block-heading > h1, h2 {
    font-size: 1.5rem!important;
}

section.section.full-width.medium-headlines > h1, h2 {
    font-size: 2rem;
}

section.section.small-headlines h3 {
    font-size:1.3rem;
}

section.section.small-headlines h4 {
    font-size:1.2rem;
}

section.section.full-width .center {
    text-align: center;
}

section.section.center-tables table {
    margin: auto;
}

section.section.bg-light .table td, section.section.bg-light .table th {
    border-top: 1px solid #000;
}

section.section table {
    margin: auto;
}

section.section.center-h3 h3 {
    text-align: center;
}

.section-content.bs-row > .neos-contentcollection {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
    margin-top: 1.5em;
}

.section-content.bs-justify-content > .neos-contentcollection {
    justify-content: center !important;
}

section.welcome-section {
    background-color: #ffc107;
    margin-top: -16px!important;
    overflow: hidden;
    box-shadow: rgba(99, 99, 99, 0.2) 0 2px 8px 0;
}

section.welcome-section .narrow span {
    word-break: keep-all;
}

section.welcome-section .second-line {
    font-size: 0.6em;
}

@media(max-width: 976px) {
    section.welcome-section .wide {
        display: none;
    }
}

@media(min-width: 977px) {
    section.welcome-section .narrow {
        display: none;
    }
}

.header-image {
    max-width: unset!important;
}

/********* blog article */

.article-teaser-pagination {
    text-align: center;
    margin-top: -10px;
    word-break: break-all;
    margin-bottom: 20px;
}

.years {
    margin: 0 5px;
    white-space: nowrap;
}

.blog-article .blog-article__header {
    text-align: center;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ddd;
}

.blog-article .blog-article__image {
    margin: auto;
    text-align: center;
    padding-bottom: 20px;
}

.blog-article .blog-article__content > .summary {
    font-weight: 400;
    padding: 1em 1em 0.5em 1em;
}

.blog-article .blog-article__content img {
    margin: 0 auto;
    display: block;
}

.blog-article .blog-article__content h1 {
    font-size: 1.5rem;
}

.blog-article .blog-article__image > img {
    vertical-align: middle;
    border-style: none;
    max-width: calc(100vw - 20px);
    max-height: calc(100vw - 20px);
    object-fit: contain;
}

.blog-article__teaser {
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    border-radius: 3px;
    margin-bottom: 40px;
    border: 1px solid #eaeaea;
}

.blog-article__teaser.narrow-width {
    height: 400px;
}

.blog-article__categories-item {
    padding-left: 10px;
}

.blog-article .blog-article__author {
    font-size: 1rem;
    display: block;
}

.blog-article .blog-article__publication-date {
    display: block;
}

.blog-article__footer {
    border-top: 1px solid #ddd;
    padding-top: 10px;
    margin-top: 10px;
}

.blog-article-pager {
    text-align: center;
}

.blog-article-pager > ul {
    list-style: none;
    display: inline-flex;
    padding: 0;
}

.blog-article-pager > ul > li {
    padding: 10px;
}

.blog-article-pager__prev > a::before {
    content: "❮ "
}

.blog-article-pager__next > a::after {
    content: " ❯"
}

.blog-latest-articles > .card img {
    width: 100%;
    height: 100%;
}

.truncate-overflow {
    position: relative;
    max-height: 6em;
    overflow: hidden;
}

.article-teaser-image {
    max-width: 100%;
    max-height: 150px;
}

.sponsor-logos-home img {
    max-width: 200px;
    margin: 10px;
}

/** search term highlighting *****/

mark {
    background-color: #ffc107;
}


.panel-default {
    flex-basis: 100%!important;
    margin-bottom: 5px!important;
}

.panel-default .label-info {
    min-width: 200px;
    display: inline-block;
    text-align: center;
    background: #fff;
    margin-right: 10px;
}

/** library ****/

.btn-search-ebsco, .btn-search-opac {
    margin: 10px 0;
    background-color:#ffc107;
    color: #000;
    border: 0;
    outline: none;
}

.btn-search-opac {
    float: right;
}

.btn-search-ebsco {
    float: left;
}

@media (max-width: 993px) {
    .btn-search-ebsco, .btn-search-opac {
        width: 100%;
    }
}

/** publishing **/

.publishing-logo-cards {
    margin: auto;
    justify-content: center;
}



@media (min-width: 576px) {
    .publishing-logo-cards {
        max-width: 768px;
    }
}

@media (min-width: 768px) {
    .publishing-logo-cards {
        max-width: 992px;
    }
}

@media (min-width: 992px) {
    .publishing-logo-cards {
        max-width: 1200px;
    }
}

@media (min-width: 1200px) {
    .publishing-logo-cards {
        max-width: 1140px;
    }
}

.logo-card {
    width: 15rem;
    margin: 0.7rem;
    min-width: 31%;
}

@media(max-width: 1200px) {
    .logo-card {
        min-width: 30%;
    }
}

@media(max-width: 992px) {
    .logo-card {
        min-width: 45%;
    }
}

@media(max-width: 576px) {
    .logo-card {
        min-width: 100%;
    }
}

.logo-card .logo-image {
    text-align: center;
    padding: 1em;
    min-height: 5em;

}

.logo-card .card-body {
    border-top: 1px solid rgba(0,0,0,0.125);
}

.text > h3 {
    font-size: 1.2em;
}

section.how-to-get-to-schloss-dagstuhl-section-1 a > img {
    width: 80%;
    height: auto;
}

/** history */

.history-carousel-card img {
    object-fit: scale-down;
    width: 100%;
}

/** seminars */

.event-details .section-content h1,
.event-details .section-content h2 {
    font-size: 1.5rem;
}

.event-details .section-content h3 {
    font-size: 1.2rem;
}

.event-details .section-content h4 {
    font-size: 1.1rem;
}

.event-details .section-content h5 {
    font-size: 1rem;
}

/** staff-details */

.staff-details h2 {
    text-align: left;
}

.staff-details h3 {
    margin-top: 1em;
    font-size: 1.5rem;
}

/** expenses */

@media(max-width: 571px) {
    table {
        margin: 0 -1em!important;
        font-size: 0.8em;
        overflow-x: auto;
        display: block;
    }
}
