/* FIX: menu items can also be spans */

.menu--main > .menu > .menu__item > span{
  font-size: 18px;
}

.c-page-header__inner .menu--main > .menu .menu__item--expanded > span {
  display: flex;
  align-items: center;
  gap: 0.4375rem;
  position: relative;
}

.c-page-header__inner .menu--main > .menu .menu__item--expanded > span::after {
  content: "\e902";
  font-family: icons, sans-serif !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  font-size: 0.3125rem;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: var(--transition-eased);
}

.c-page-header__inner .menu--main > .menu .menu__item--expanded:focus-within > span::after,
.c-page-header__inner .menu--main > .menu .menu__item--expanded:hover > span::after {
  transform: rotate(180deg);
}


/* FIX: tab content is wrapped */
.c-tabs__tab__content .view-content{
  padding-block-start: 34px;
  display: flex;
  flex-direction: column;
  gap: 70px;
}

/* FEAT: placeholder when image unavailable */

.c-card__media img,
.c-info-box__media img {
  text-align: center;
  line-height: 10rem;
  background-color: #f8f8f8;
}

/* FEAT: caption for table paragraphs */

.bestor-table-caption {
    font-size: 15px;
    font-style: italic;
    margin-block-start: 18px;
}


/* FEAT: hide dropdown toc if no elements */

@supports selector(:has(*)) {
  .c-dropdown:has(.toc-js nav:empty) {
    display: none;
  }
}

.toc-js nav:empty {
  display: none;
}


/* FEAT: provide fixes for non-lemma pages */

@media screen and (min-width: 90em) {
  .c-structured-layout--no-top .c-structured-layout__content {
    grid-column-start: 1 !important;
  }
}


@media screen and (min-width: 90em) {
  .c-structured-layout--no-sidebar .c-structured-layout__content {
    grid-column-end: span 18 !important; 
  }
}

/* FEAT: full text search on search page */

.c-page-intro__search .database-full-text-search-form {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
}

.c-page-intro__search .database-full-text-search-form .form-wrapper{
  margin-left:-50px;
}

.c-page-intro__search .database-full-text-search-form .c-button--default{
  padding:12px
}

.c-page-intro__search .database-full-text-search-form  .c-input{
  padding-right:65px;
}


/* FIX: improve facet subtitle styling */

.views-exposed-form form > .form-item > label,
.views-exposed-form form > .selectify-multi > label {
  margin-bottom: 10px;
  font-size: var(--font-h4-size);
  font-weight: var(--font-weight-medium);
  font-family: var(--font-family-title);
  line-height: 1.25;
  display: block;
}

.views-exposed-form fieldset > legend .fieldset-legend {
  margin-bottom: 10px;
  font-size: var(--font-h4-size);
  font-weight: var(--font-weight-medium);
  font-family: var(--font-family-title);
  line-height: 1.25;
}

/* FIX: Improve Facet Checkbox Styling */

.page-sidebar .js-form-type-checkbox {
  margin-bottom:10px;
}


.page-sidebar .js-form-type-checkbox label{
  display: inline-block;
  padding: 5px 10px 5px 35px;
}


.page-sidebar .js-form-type-checkbox.highlight label{
  background-color: var(--color-primary);
  border-radius:10px;
}

.page-sidebar .js-form-type-checkbox label::before {
  left: 10px;
  top:12px;
}

.page-sidebar .c-input-checkbox ~ label::after {
  left: 12.21875px;
  top:15px;
}

.page-sidebar .js-form-type-checkbox.highlight label::before {
 display:none;
}


/* FEAT: Facet Glossary Widget Styling */

.bef-links {
  margin: 2rem 0;
}

.bef-links ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.bef-links li {
  margin: 0;
}

.bef-links .bef-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0.5rem;
  background: #fff;
  border: 2px solid #e0e0e0;
  border-radius: 4px;
  color: #333;
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
  transition: all 0.2s ease;
}

.bef-links .bef-link:hover {
  background: #f5f5f5;
  border-color: #999;
  transform: translateY(-2px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.bef-links .bef-link:active,
.bef-links .bef-link.active {
  background: var(--color-primary, #007bff);
  border-color: var(--color-primary, #007bff);
  color: #fff;
}

.form-item-startchar > label {
  font-weight: 600;
  margin-bottom: 1rem;
  display: block;
}

.form-item-startchar .bef-link:focus {
  color: #000 !important;
}

.form-item-startchar .bef-link--selected {
  background-color:  var(--color-primary);
  color: #000;
}

/* FEAT: update multiselect to visually better single select dropdown */

.c-select-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
}

.c-select-caret {
  position: absolute;
  right: 1.3125rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.3125rem;
  pointer-events: none;
  transition: transform 0.3s ease;
}

.js-hide, .author-facet-hidden {
  display:none;
  visibility: hidden;
}

/* FEAT: style reset button */
.views-exposed-form .form-submit{
  padding: 3px 8px;
  border: solid black 1px;
  border-radius: 10px;
}

.views-exposed-form .form-submit:hover{
  color:  var(--color-primary);
}


/* FIX: make space between paragraphs smaller */

@media screen and (min-width: 90em) {

  .field--type-entity-reference-revisions .c-text,
  .field--type-entity-reference-revisions .c-media-1-item,
  .field--type-entity-reference-revisions .c-text-media {
    padding-block: 1.5rem;
  }

  .field--type-entity-reference-revisions .c-media-1-item {
    padding-block: 2rem;
  }
}

/* FIX: remove border of footnotes block */

#footnotes_group {
  border: unset;
}


/* FEAT: sidebar with key info for events */

.node-event-full  .c-lemma-sidebar__related-items {
  border: solid black 1px;
  padding: 30px;
}

.node-event-full .c-lemma-sidebar .c-lemma-sidebar__wrapper {
    gap: 0px;
}


/* FIX: general adaptations of empty space: padding, margin */

.c-grid.h-bg-color-tertiary .c-grid__grid-items__item > div{
  margin-left:auto;
  margin-right: auto;
}


.c-tabs .c-tabs__tab__content {
  padding-block-start: 0px;
}

.view-id-announcements.view-display-id-page_4 .h-margin-top-40,
#publications .view-content .h-margin-top-40 {
  margin-block-start: 0px;
}

.page-footer{
  margin-top: 30px;
}

.page-subcontent{
  margin-bottom: -40px;
}

.c-pager {
  margin-top: 0px;
}

.block-views .view-announcements {
  margin-top:50px;
  margin-bottom: 40px
}

.field--name-field-geolocation{
  margin-top: 30px;
  margin-bottom:40px;
}

@media screen and (min-width: 61.25em) {
    .c-pager.h-padding-top-default {
       padding-top:3rem;
    }
}

@media screen and (min-width: 100em) {
    .c-pager.h-padding-top-default {
         padding-top:3rem;
    }
}

@media screen and (min-width: 61.25em) {
    .c-grid {
        padding-block: 2rem;
    }
}

/* FEAT: fallback when no img styling */


.bestor-card-horizontal .c-card__media {
  width: 320px;
  height: 211px;
}

.bestor-card-vertical-slim .c-card__media {
  width: 199px;
  height: 302px;
}

.bestor-card-vertical .c-card__media {
  width: 402px;
  height: 456px;
}

.c-info-box__media {
  width: 100%;
  max-width: 466px;
  height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #f8f8f8;
}

.bestor-img-wrapper .c-card__media,
.c-info-box__media {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #f8f8f8;
  overflow: hidden;
}

.bestor-img-wrapper .c-card__media > img.fallback-logo-bestor,
.c-info-box__media > img.fallback-logo-bestor {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  background-color: #f8f8f8;
  padding:40px;
  opacity:0.4;
}

/* FEAT: style remote videos in paragraphs */

.field--type-entity-reference-revisions .media--type-remote-video .field--name-field-media-oembed-video{
  position: relative;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
}

.field--type-entity-reference-revisions .media--type-remote-video .field--name-field-media-oembed-video  iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}