/**
* CSS
*
* @version 2.0
* @author Vaska
*
* There are also some obscure rules in base.css
*/


/* marquee footer */
@keyframes marquee-scroll {
  from { transform: translateX(100vw); }
  to   { transform: translateX(-100%); }
}
#site-footer {
  display: none;
  overflow: hidden;
  white-space: nowrap;
  border-top: 1px solid #000;
}
#site-footer .marquee-track {
  display: inline-block;
  animation: marquee-scroll 40s linear infinite;
  animation-delay: -19s;
  font-size: 17px;
  font-family: 'FreeSerif', Georgia, serif;
  padding: 4px 0;
}

body {
	font-size: 21px;
	font-family: 'FreeSerif', Georgia, serif;
	background: #fff;
	color: #000;
	line-height: 1.4em;
	/* font-weight: 300; */
}

/* transparent nav overlay */
#topnav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 14px 27px;
  background: transparent;
}
#topnav .nav-left,
#topnav .nav-right {
  font-family: 'FreeSerif', Georgia, serif;
  font-size: 21px;
  letter-spacing: 0.03em;
  text-decoration: none;
  text-transform: uppercase;
}
#topnav .nav-left         { color: #000; }
#topnav .nav-left:visited { color: #000; }
#topnav .nav-left:hover   { text-decoration: underline; }
#topnav .nav-right         { color: #000; }
#topnav .nav-right:visited { color: #000; }
#topnav .nav-right:hover   { text-decoration: underline; }

.nav-right-group {
  display: flex;
  gap: 24px;
}

/* landing overlay */
#landing-overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: flex;
  flex-direction: column;
  background: #fff;
  overflow-y: auto;
  overflow-x: hidden;
}
#overlay-topnav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 51;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 14px 27px;
}
#overlay-topnav .nav-left,
#overlay-topnav .nav-right {
  font-family: 'FreeSerif', Georgia, serif;
  font-size: 21px;
  color: yellow;
  text-decoration: none;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
#overlay-topnav .nav-left:hover,
#overlay-topnav .nav-right:hover { text-decoration: underline; }
#overlay-hero {
  position: relative;
  line-height: 0;
}
#overlay-hero img {
  width: 100%;
  height: auto;
  display: block;
}
.hero-nav {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%;
}
#hero-nav-left  { left: 0;  cursor: w-resize; }
#hero-nav-right { right: 0; cursor: e-resize; }

/* three-column footer */
#overlay-footer {
  display: flex;
  gap: 36px;
  padding: 27px;
  padding-bottom: 50px;
  font-size: 17px;
  line-height: 1.3em;
}
.footer-col {
  flex: 0 0 auto;
  width: 14vw;
}
.footer-col--right {
  margin-left: auto;
}
.footer-col p {
  margin-bottom: 1em;
  width: auto;
}
/* section page grid (landing.php) */
#section-grid {
  position: relative;
  width: 100%;
}
.section-intro {
  width: 14vw;
  font-size: 17px;
  line-height: 1.3em;
  margin-bottom: 40px;
}

/* scattered image grid */
#overlay-grid {
  position: relative;
  width: 100%;
  min-height: 0;
}
.grid-item a {
  display: block;
  text-decoration: none;
}
.grid-caption {
  font-size: 13px;
  line-height: 1.3em;
  margin-top: 5px;
  color: #000;
  font-style: italic;
}

/* link scheme */
/* you can customize links further down the page too */
a:link { text-decoration: none; color: #000; }
a:visited { text-decoration: none; color: #888888; }
a:hover { text-decoration: underline; }
a:active { text-decoration: none; color: #00cc00; }
a img { border: none; }
audio:focus { outline: none; }

/* general styles */
small { font-size: 9px; }
code { font-family: monospace; }
blockquote { padding-left: 9px; }

/* CMS text size utilities */
.t-21 { font-size: 21px; line-height: 1.4em; }
.t-17 { font-size: 17px; line-height: 1.4em; }
.t-13 { font-size: 13px; line-height: 1.4em; }

/* headings */
h1 { font-size: 21px; margin-bottom: 1em; font-weight: bold; }
h2 { font-size: 21px; margin-bottom: 1em; font-weight: bold; }
h3 { font-size: 21px; margin-bottom: 1em; }
h4 { font-size: 21px; margin-bottom: 1em; }

/* paragraph width */
#index p { margin-bottom: 1em; }
#exhibit p, code, blockquote { width: 600px; margin-bottom: 1em; /* line-height: 1.3em; */ }

/* bilingual FR/EN exhibit layout */
.exhibit-bilingual {
  display: flex;
  gap: 72px;
}
.lang-group {
  display: flex;
  flex-direction: column;
}
.lang-cols {
  display: flex;
  gap: 36px;
}
.lang-col {
  flex: 0 0 14vw;
  width: 14vw;
  min-width: 0;
  font-size: 17px;
  line-height: 1.4em;
  overflow-wrap: break-word;
}
/* override #exhibit p { width: 600px } — needs higher specificity */
#exhibit .lang-col p,
#landing-description .lang-col p {
  width: auto;
  margin-bottom: 1em;
}
.lang-label {
  display: block;
  font-size: 21px;
  font-weight: normal;
  margin-bottom: 21px;
}
/* images below text (over_and_over format) */
#exhibit .textspace {
  margin-bottom: 75px;
}
#img-container .over {
  margin-bottom: 50px;
}

/* highlighter style - maybe you want to change colors? */
.highlight { background: #ccff00; color: #000; }

/* hero slideshow */
:root { --hero-h: 0px; }

#hero {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 5;
  line-height: 0;
}
#hero img {
  width: 100%;
  height: auto;
  display: block;
}

/* never adjust the margin or padding here unless you seriously know what you are doing */
/* think #index .container and #exhibit .container for only padding adjustments */
#index { width: 540px; background: #fff; }
#exhibit { margin: 0 0 0 540px; }

/* styling the index */
#index ul { list-style: none; margin: 0; padding: 0; }
#index ul.section { margin-top: 2em; margin-bottom: 0; }
#index ul.section:first-child { margin-top: 0; }

/* section title */
#index span.section_title,
#index span.section_title a { color: #000; }
#index span.section_title a:visited { color: #000; }

/* exhibit items — compact, flush */
#index ul.section li { margin: 0; padding: 0; line-height: 1.35em; }
#index ul.section li a { color: #000; }
#index ul.section li a:visited { color: #000; }
#index ul.section li a:hover { text-decoration: underline; }
#index ul.subsection {  }

/* the follow rules for index are not required */
/* they are mostly for complex customization */
/* for tag display */
#index ul#all_tags { list-style-type: none; margin-bottom: 1em; }
#index ul#all_tags li { display: inline; margin-right: 3px; }
#index ul#all_tags li a {  }

/* styles for the section titles */
#index ul.section span.section_title, 
#index ul.section span.section_title a 
{ color: black; }

/* active section title — blue only when on the section page itself, not inside a project */
#index ul.active_section:not(:has(li.active)) span.section_title,
#index ul.active_section:not(:has(li.active)) span.section_title a,
#index ul.active_section:not(:has(li.active)) span.section_title a:visited { font-weight: normal; color: #00f; }

/* active exhibit title parts */
/* color of active exhibit title link and font-weight */
li.active a:link, li a.active, li.active a:hover, li a.active, li.active a:active, li a.active, 
li.active a:visited, li a.active, li span.active, #index ul.section li.active a:link, 
#index ul.section li.active a:hover, #index ul.section li.active a:active, #index ul.section li.active a:visited
{ font-weight: normal; color: #00f; }

/* additional #index options */
#index ul li .password a { /* background: url(../img/locked.gif) right center no-repeat; padding-right: 18px; */ }

/* the "new" indicator */
#index ul li sup.new_exhibit { color: #0c0; font-weight: bold; text-transform: uppercase; font-size: 8px; vertical-align: top; }
#index ul li sup.new_exhibit:before { color: #0c0; font-weight: bold; text-transform: uppercase; font-size: 8px; vertical-align: top; content: "New"; }
/* end styling for index */

/* links styles only for the #index region */
#index a:link {  } 
#index a:visited {  }
#index a:hover {  } 
#index a:active {  } 

/* links styles only for the #exhibit region */
#exhibit a:link { text-decoration: underline; }
#exhibit a:visited { color: #000; }
#landing-description a:visited { color: #000; }
#overlay-footer a:visited { color: #000; }
#exhibit a:hover { text-decoration: none; } 
#exhibit a:active {  } 

/* links styles just for h1 title of site (your name/logo) */
#index h1 a { font-weight: normal; text-decoration: none; color: #000; }

/* this is where you adjust your paddings for #index and #exhibit together */
.container { padding: 27px 9px 25px 27px; }

/* this is where you pad them separately */
#index { scrollbar-width: none; }
#index::-webkit-scrollbar { display: none; }

#index .container { padding-top: 54px; }
#exhibit .container {  }

/* size and style of titles and captions (not mobile though) */
.captioning { margin-top: 2px; }
.title { font-size: 0.7em; font-style: italic; line-height: 1.2em; }
.caption { font-size: 0.7em; font-style: italic; line-height: 1.2em; }