* {
  box-sizing: border-box;
}

:root{

--vebred: #ff4f2c;
--vebreddark: #B2371E;
--vebredrgb: 240 81 51;
--vebgrey: #aba19b;
--expertblue: #0a006d;
--expertbluergb: 10 0 109;
--paperbeigedev: #E8E0F2; /*voor de ontwikkelomgeving*/
--paperbeige: #f2e3d3;

--paperbeigelight: #FCF9F6;

text-rendering: optimizeLegibility;
text-size-adjust: 100%;
unicode-bidi: isolate;
-webkit-font-smoothing: antialiased;
-webkit-locale: auto;

}

a {text-decoration: none;}
a:hover {text-decoration: underline;}
main a {color: var(--vebred);}

.error {display: none;}

body {
    background-color: var(--paperbeigelight);
    margin: 0;
    font-family: "Public Sans", sans-serif;
    
}

html {
    scroll-padding-top: 130px;
    scroll-behavior: smooth;
}
main {
    padding: 1em;
}

h1, h2 {
    color: var(--vebred);
    font-family: "Bricolage Grotesque", serif;
    font-weight: 600;
}


section, hgroup, pre {
    /*background-color: rgba(255, 192, 203 , 0.3);*/
    max-width: 1000px;
    margin: 1em auto;
    margin-top:3em;
   
}

/*back top top*/
#myBtn {
  /*display: none; /* Hidden by default */
  opacity : 0;
  position: fixed; /* Fixed/sticky position */
  bottom: 1em; /* Place the button at the bottom of the page */
  right: 1em; /* Place the button 30px from the right */
  z-index: 99; /* Make sure it does not overlap */
  border: none; /* Remove borders */
  outline: none; /* Remove outline */
  background-color:var(--vebred); /* Set a background color */
  color: white; /*Text color */
  cursor: pointer; /* Add a mouse pointer on hover */
  text-align: center;
  border-radius: 40%; /* Rounded corners */
  corner-shape: squircle;
  font-size: 1.8em; /* Increase font size */
  width : 1.5em;
  height: 1.5em;
  transition: opacity 0.6s ease-out, transform 1.2s ease-out;
   @media (min-width: 1200px) {
        display: none;}
}


code {background-color: var(--paperbeige);
    display:inline-block;
    margin-top: 2px;
}
header {
  background-color:var(--paperbeige);
  padding: 0.2em;
  position: sticky;
  top: 0;
  z-index:100;
  margin:0;
    
}

#header-content{
    display: flex;
    max-width: 1000px;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding:0em 0em; 
    box-sizing: border-box;
    margin: 0 auto;
   
}


#site-algemeen {
    display: inline-flex;
    align-items: center;
    padding-left: 1em;

}


#site-algemeen > *:not(:last-child) {
    border-right: 1px solid var(--expertblue);
    padding-right: 0.75em;
}

.logo {
  height: clamp(1.5rem, 4vw, 3rem);
  width: auto;
}



p#site-title
{   
  
font-family: "Bricolage Grotesque", sans-serif;
font-size: clamp(2rem, 4vw, 3rem);
margin: 0.6em 0.6em 0.6em 0.2em;
font-weight: 600;
color: var(--expertblue);
display: inline-block;

}

p#site-title:after {
    content: "Medieval Manuscripts in Flemish Collections";
    color: black;
    display: block;
    font-size: 0.3em;
    font-weight: normal;
    position: absolute;
}

#jump-to-section {
    background-color: var(--paperbeige);
    padding: 1em;
    border-radius:1em;
    font-size: 0.9em;
    opacity: 0;
    width: 14vw;
    position: fixed;
    bottom: 3em;
    right: 1.2em;
    z-index: 9999;
    transition: opacity 0.6s ease-out, transform 1.2s ease-out;
    @media (max-width: 1200px) {
        display: none;
    }
    }
#jump-to-section  ul li:first-child {
    font-weight: bold;
    margin-bottom: 1em;
}


menu#groot {
list-style-type: none;
font-family: "Bricolage Grotesque", serif;
/* als het scherm kleiner wordt dan 700 px */
    @media (max-width: 700px) {display:none}
}

menu > li  a  {
  text-decoration: None;
color: var(--expertblue);
  }

menu#groot > li {
display: inline-block;
  line-height:1.5em;
  padding: 0.5em;

}

details#burger-nav {
    display: None;
    @media (max-width: 700px) {display:block}
}

details#burger-nav > menu#klein {
    
    position: absolute;
    z-index: 99;
    background-color: var(--paperbeigelight);
    width:100vw;
    left: 0;
    list-style-type: none;
    border-bottom: 1px solid  var(--vebred);
    text-transform: uppercase;
    text-decoration: None;
   
  li {
    line-height:2em;
    
        }
    
    }


details#sub-nav-names > menu {
    position: absolute;
    top: 5em;
    z-index: 99;
    background-color: var(--paperbeigelight);
    padding: 0;
    margin: 0;
    list-style-type: none;
    list-style-position: inside;
    border: 1px solid  var(--vebgrey);
    box-shadow: 2px 2px 5px #E6E6E6, 0px 0px 0px #E6E6E6, 0px 0px 0px #E6E6E6;
    border-radius: 4px;
    
}

details#sub-nav-names > menu > li {
    margin: 0px;
    padding-left: 2ch;
    padding-right: 2ch;
    
    font-size: 0.9em;
     text-transform: uppercase;
      text-decoration: None;
      line-height:2.2em;
      transition: background-color 0.5s ease;
      &:hover {
        
        background-color: var(--paperbeige);
        text-decoration: None;
}
}

details#sub-nav-names > menu > li  >  a:hover{
    text-decoration: none;
}

details#sub-nav-names > summary {
    padding-top:5px;
    cursor: pointer;
}

details#burger-nav summary {
  
  color:red;
}

details#burger-nav summary::-webkit-details-marker {
  display: none;
  color:red;
}


hgroup > p {
    margin-top:0;
}

h1 {margin-bottom: 0.2em;}

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

li {
    list-style: none;
    line-height: 1.3em;
}



[data-source]::after {
    padding-left: 1ch;
 content: attr(data-source);
  color: DarkGray;
  font-size: 0.7em;
}

#references a[target="_blank"]::after
{content : url("../images/external-link.svg");
 display:inline-block;
 padding-left: 1ch;
 text-decoration: none;
 color: #333;
 font-size: 0.4rem;
 transform: translateY(2px);
}



#description::before {
    padding-right: 0.3em;
    z-index:1;
    display: inline-block;
    vertical-align: middle;
    
    }

p#description::after {
    display:block;
    padding-left: 0;
}
    
#description[data-type="collective"]::before {
    content: url("../images/collective.svg");
}

#description[data-type="location"]::before {
    content: url("../images/place.svg");
}

#description[data-type="person"]::before {
    content: url("../images/person.svg");
}

#description[data-type="work"]::before {
    content: url("../images/work.svg");
}

#description[data-type="search"]::before {
    content: url("../images/search-white.svg");
}

#description[data-type="collection"]::before {
    content: url("../images/collection.svg");
}

#primairy-data {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 1em;
    @media (max-width: 700px)
    {
    flex-direction: column;
    align-items: justify-content;
    }
    }

#primairy-data > ul > li  {
    margin-bottom: 0.4em;
    
}

#primairy-data #img-wrapper {
  display: block;

  @media (max-width: 700px){
    margin: 0 auto;
    
    }
  &:after     
     {content: attr(data-source);
      color: DarkGray;
      font-size: 0.7em;
    display:block;
    margin-top: 0.5em;
    padding-left: 0;
     }
}
#primairy-data img
    {  border-radius: 0.5em;
      width: 250px;}


#primairy-data ul {
    flex-grow: 1;
    @media (max-width: 700px){
    width: 100%;
    
    }
}

#primairy-data li, #references li {
  
    display: flex;
    
    
    & .label {
        flex: 0 0 25ch;
    }
    
    & .label::first-letter {
        text-transform: uppercase;
    }
    }




 @media (max-width: 700px) {

  #primairy-data li,
  #references li {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    line-height: 1.2;
  }

  #primairy-data li .label,
  #references li .label {
    flex: none;
    width: auto;
    display: block;
    line-height: 1.2;
    margin: 0;
    padding: 0;
  }
}

.inline-value {
    display: inline-flex;
    
    padding-right: 0.6ch;
    &::after {
        content: ",";
    }
    
    &:last-child::after {
        content: "";
}}

.function {
    font-size: O.9em;
    padding-left: 1ch;
    &::before {content: "(";}
    &::after {content: ")";}
    }

.manuscriptgroup {
    display: flex;
    align-items: flex-start;
    gap: 1em;
    counter-increment: msgroup;
    margin-bottom: 1.5em;
    background-color: white;
    position: relative;
    padding: 1em;
    border-radius: 1em;
    box-shadow: 0 2px 8px 0 #0003;
    
}
.manuscriptgroup h3 {margin-top:0;margin-bottom: 0.4em;}
/*
.manuscriptgroup > :first-child {
   
  width:6em;
  height:100%;
  flex: 0 0 6em;

}
$/


/*placeholder */



.manuscriptgroup > svg {
    color: rgba(var(--expertbluergb) / 0.1);
    width: clamp(4em, 8vw, 8em);
    height: auto;
    flex: 0 0 clamp(4em, 8vw, 8em);

}
.manuscriptgroup > img {
    width: clamp(4em, 8vw, 8em);
    height: auto;
     border-radius: 0.5em;
     flex: 0 0 clamp(4em, 8vw, 8em);
    
}


.manuscriptgroup:hover > svg {
    color: rgba(var(--expertbluergb) / 0.2);
    transition: all 0.5s ease;
    
    
    
    

}

.manuscriptgroup:hover > img {
    filter: brightness(110%);


}

.manuscriptgroup:hover::after {
    color: rgb(var(--vebredrgb) / 0.2);
}

.manuscriptgroup::after {
    content: counter(msgroup, decimal-leading-zero);
    font-family: "Bricolage Grotesque";
    font-variant-numeric: tabular-nums;
    color: rgb(var(--vebredrgb) / 0.1);
    transition: color 0.5s ease;
    position: absolute;
    font-size: clamp(2em, 5vw, 4em);;
    right: 0.2em;
    bottom: 0em;
    /*transform: translateY(-50%);*/
}

.manuscriptgroup span.role {
    padding-left: 1ch;
    font-size: 0.8em;
}

.manuscriptgroup ul  {
    
    margin: 0;
    padding: 0;
    
}

.manuscriptgroup ul li {
    
    line-height: 1.5em;
    list-style-type: None;
    list-style-position: inside;
    padding-left: 0;
    
}

.manuscriptgroup li.small {
    display: None;
}

.manuscriptgroup li.large a:hover {text-decoration: None;
    
}

#myLeafletMap {
    height: 300px;
    min-width: 325px;
    max-width:1000px;
    border-radius:5px;
    z-index:2;
}

#myLeafletMap svg {
    fill: var(--vebred);
}

#serviceLinks {
    border-radius: 1em;
    margin: 4em auto;
    padding:1em;
    display: flex;
    gap: 0.5em;
    background-image:  url("../images/waving-owl.png");
    background-repeat: no-repeat;
    background-position: right center;
    background-color: var(--paperbeige);
    background-size: contain;
    background-size: 9em auto;
    @media (max-width: 700px) {background-image:  None; flex-direction: column;}
}

#serviceLinks > a {
   font-family: "Bricolage Grotesque", serif;
   font-weight: 600;
  border-radius: 1.5em;
  background-color: var(--vebred);
  color: white;
  padding: 0.7em 1em;
  text-align: center;
    word-break: keep-all;
    transition: background-color 0.4s;
    &:hover {
     background-color: var(--vebreddark);
     text-decoration: none;
      @media (max-width: 700px) {display:block;}
}
}
#serviceLinks > a > svg {
    height: 1em;
    width: 1em;
    transform: translateY(0.1em);
}

#serviceLinks > a > svg path {
    stroke: currentColor;
    stroke-width: 2;
}

#permalink {
    background-color:pink;
    cursor: pointer;
}

#refresh:hover span {
  animation: spin 2s linear infinite;
  transition: font-size 0.2s ease;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg);
  }
100% {
    transform: rotate(360deg);
  }
}


div#CopiedSign {color: var(--expertblue);
position: fixed;
z-index : 999;
text-align: center;
padding: 1em;
visibility: hidden;
background-color: rgba(255,255,255,0.7);
border-radius: 15px;
max-width: fit-content;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}

footer {background-color: var(--expertblue);
    width: 100%;
    color: white;
    padding: 1em;
    }
footer ul {
    flex: 1;
}
footer ul li:first-child {
    font-weight: bold;
}
footer img {height: 4em}
footer a {color: white;}
#footerCols {display: flex;
    @media (max-width: 700px){
    flex-direction: column;
}
