@import url("theme.css");
app-header {
    background-image: url("../images/webpage-start-background.jpg");
    background-size: contain;
}

.logo {
    background-image: url("../images/logo.jpg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    width: var(--pb-logo-image-width);
    height: var(--pb-logo-image-height);
    cursor: pointer;
}

.menubar .logo {
    margin-right: 64px;
}

.splash {
    background-image: url("../images/logo.jpg");
}

body {
    --bss-color-title: #40A0A0;
    --bss-color-scroll: #054A29;
    --bss-color-gold: #a69933;
    --bss-color-red: #731750;
    --bss-color-lemma: #EC7357;
    --bss-color-lb: #2274A5;
    --bss-catalog-font-size: 14px;
    --bss-serif-font-family: "Noto Serif Devanagari", "Noto Serif TC", serif;
    --bss-chinese-font-family: "Noto Sans", "BabelStone Han";
    --pb-logo-image-width: 234px;
    --pb-logo-image-height: 60px;
    --pb-base-font-family: "Noto Sans", "BabelStone Han", sans-serif;
    --pb-content-font-family: "Noto Sans", "BabelStone Han", sans-serif;
    --pb-content-font-size: 20px;
    --pb-content-margin: calc(var(--pb-content-font-size) * var(--pb-base-line-height));
    --pb-heading-font-family: var(--pb-base-font-family);
    --pb-menubar-background-color: #ffffff;
    --pb-menubar-color: var(--pb-color-primary);
    --pb-toolbar-background-color: rgba(0, 0, 0, .4);
    --pb-toolbar-color: var(--pb-color-inverse);
    --grid-height: calc(100vh - 128px);
    --pb-svg-height: calc(var(--grid-height) - 72px);
    --pb-panel-max-height: var(--grid-height);
    --pb-lang-input-color: var(--pb-color-primary);
    --pb-lang-label-color: var(--pb-color-primary);
}

html.glightbox-open {
    overflow: unset;
}

a:link, a:visited, a:hover {
    text-decoration: none;
    color: var(--bss-color-lb);
}

.menubar a:link, .menubar a:visited, .menubar a:hover {
    color: var(--pb-menubar-color);
}

.breadcrumbs a:link, .breadcrumbs a:visited, .breadcrumbs a:hover {
    color: inherit;
    text-decoration: underline;
}

.toolbar pb-view {
    --pb-view-max-width: calc(100vw - 128px);
    --pb-content-font-size: 16px;
}

.breadcrumbs {
    margin: 0 0 0 20px;
}

app-toolbar pb-search {
    --pb-search-label-color: var(--pb-toolbar-color);
    --pb-search-input-color: var(--pb-toolbar-color);
    --pb-search-focus-color: var(--pb-color-focus);
    padding-left: 20px;
    margin-left: auto; /* Pushes the search bar to the right */
}

.content-body {
    display: grid;
    height: var(--grid-height);
    grid-template-columns: auto minmax(360px, 33vw);
    grid-template-rows: auto 1fr;
    grid-template-areas: "header tabs" "transcription tabs";
    column-gap: 20px;
    margin: 0 auto;
    max-width: 1440px;
}

.site .content-body {
    grid-template-areas: "text map" "text inscriptions";
}

.site pb-view[src=site] {
    grid-area: text;
}

.site pb-leaflet-map {
    grid-area: map;
}

.site .documents {
    grid-area: inscriptions;
}

.sites-map {
    display: grid;
    margin: 0 20px;
    grid-template-columns: 520px 1fr;
    column-gap: 20px;
    height: calc(100vh - 128px);
}

@media (max-width: 1024px) {
    .sites-map {
        grid-template-columns: 320px 1fr;
    } 
}

@media (max-width: 1440px) {
    .content-body {
        margin: 0 1rem;
    }
}

#transcription {
    grid-area: transcription;
}

#documents {
    font-size: var(--bss-catalog-font-size);
}

#documents h2 {
    color: var(--bss-color-gold);
}

pb-tabs {
    grid-area: tabs;
}

pb-tabs::part(pages) {
    height: calc(100% - 48px);
    overflow: auto;
    --pb-content-font-size: var(--bss-catalog-font-size);
}

.header {
    grid-area: header;
}

#variants {
    font-family: var(--pb-content-font-family);
    font-size: var(--pb-content-font-size);
}

#transcription, #taisho {
    overflow: auto;
}

pb-svg {
    height: 100%;
}

pb-leaflet-map {
    margin-top: 2rem;
    width: 100%;
    height: 356px;
}

pb-view[src=site]::part(content) {
    margin-right: 100px;
}

ul.variants {
    list-style: none;
    margin: 0;
    padding: 0;
}

.characters main {
    max-width: var(--pb-view-max-width);
    margin: 20px auto; 
    display: flex;
    justify-content: center; 
}

.character {
    width: 10rem;
    text-align: center;
    position: relative;
}

.character h1 {
    font-family: var(--bss-chinese-font-family);
}

.character .count {
    position: absolute;
    right: 0;
    top: 0;
    color: var(--bss-color-lb);
}

.snippets {
    display: grid;
    grid-template-columns: repeat(4, auto);
    column-gap: 20px;
}

.snippet {
    max-width: 220px;
    font-size: var(--bss-catalog-font-size);
    text-align: center;
}

.snippet img {
    width: 100%;
}

.zh, :lang(zh) {
    font-family: var(--bss-chinese-font-family);
}

.matches {
    display: block;
    margin-left: 20px;
    margin-top: 10px;
    font: var(--pb-results-body-font);
}

.matches .hi {
    background-color: var(--pb-highlight-color);
    color: var(--pb-color-primary);
}

.home main {
    margin: 0 auto;
    max-width: 1200px;
}

#akademie {
    display: flex;
    flex-direction: row;
    justify-content: center;
    background-color: #F2F0F1;
    width: 100%;
    padding: 20px 0;
}
#akademie h3 {
    margin: 0;
}
#akademie img {
    margin-right: 40px;
}

.home .two-column {
    display: flex;
    flex-direction: row;
}

.home .two-column h2 {
    margin-top: 0;
    color: #0063af;
    line-height: 1.5;
}
.home .two-column :first-child {
    margin-right: 10px;
}

.home #credits {
    margin-top: 30px;
}
.home .by-province, .home .by-province h3 {
    font-size: 20px;
}
.home td {
    padding-bottom: 30px;
    vertical-align: top;
}
.home .by-province .province {
    padding-right: 4em;
}

.home .by-province ul {
    padding-bottom: 0px;
    padding-left: 0;
}
.home .by-province li {
    list-style: none;
    padding: 0;
    margin: 0 0 10px 0;
}
.home .by-province ul {
    margin-top: 0;
}
.home .province {
    margin-right: 20px;
}
.home .province h3:lang(en) {
    text-transform: uppercase;
}
.home .province h3 {
    margin: 0;
}
.home .panels {
    max-width: 860px;
    display: grid;
    grid-template-columns: minmax(10rem, 430px) minmax(10rem, 430px);
    grid-template-rows: 256px 256px;
    margin: 64px auto 128px auto;
}
.home .panels > div {
    text-align: center;
}
.home .panels > div > a > div {
    background-color: rgba(0, 0, 0, .4);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.home .panels h2 {
    margin: 0 auto;
    color: white;
}
.home #characters {
    background-image: url("https://sutras.adw.uni-heidelberg.de/images/characters/subimage_HDS_9.6_6.png");
    background-size: 100% auto;
    background-position: center center;
}
.home #sites {
    background-image: url("../images/screenshot-sites.png");
    background-size: 100% auto;
    background-position: center center;
}
.home #inscriptions {
    background-image: url("../images/screenshot-inscription.png");
    background-size: 100% auto;
    background-position: center center;
}

.home #research {
    background-image: url("../images/triangulation.jpg");
    background-size: 100% auto;
    background-position: center center;
}

.articles main {
    display: grid;
    margin: 0 auto;
    max-width: 1200px;
    grid-template-columns: minmax(220px, 360px) auto;
    column-gap: 40px;
}

.article p {
    margin-top: -5px;
    margin-bottom: 2; 
    line-height: 0.8; 
}

.inscriptions main {
    display: grid;
    margin: 0 auto;
    max-width: 1200px;
    grid-template-columns: minmax(120px, 200px) auto;
    column-gap: 40px;
}

.bibliography main {
    margin: 0 auto;
}

.article main {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: center;
}

.article pb-view:part(content) {
    scroll-padding-top: 128px;
}

.person main {
  display: flex;
  flex-direction: column; 
  align-items: flex-start; 
  margin: 0; 
  height: 100%; 
  width: 100%; 
}

.person-head {
  background-color: #f7f7f7; 
  width: 100%; 
  padding: 15px; 
  padding-left:36px;
  text-align: left; 
  border-bottom: 1px solid #ccc; 
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.person-head h1 {
  font-size: 1.8rem;
  margin: 0 0 5px; 
  color: #333; 
  font-weight: bold; 
}

.person-head p {
  font-size: 1rem;
  margin: 0;
  color: #666; 
}

.person-details {
  padding-top:20px;
  padding-left: 80px;
  margin-left: 30px; 
  text-align: left; 
  width: calc(100% - 60px); 
  box-sizing: border-box; 
}

.person-details > div {
  margin-bottom: 30px; 
}

.person-variants ul {
  list-style: none; 
  margin: 0;
  padding: 0;
}

#personLoader {
  width: 100%; 
  padding: 0px;
}