:root {
     color-scheme: light only;
}

* {
  background-color: darkslategrey !important;
  border-color: darkslategrey !important;
  text-decoration: none !important;
  color: mintcream !important;
  font-family: 'Montserrat', Arial, sans-serif;
  overscroll-behavior: none;
}


.bg-dark {
  background-color: darkslategrey !important;
  border-color: darkslategrey !important;
}

header a, strong, h1 {
  color: salmon !important; 
}

header h1 {
  font-size: clamp(0.1rem, 2rem, 2rem);
}



.site-logo {
  margin-top: 12px; 
  margin-bottom: 0; 
  font-size: small; 
  text-align: center;
  padding-top: 10px; 
  /* display:flex; */ 
  flex-direction: column; 
  flex: none;
  transform: translateY(-1em);
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='salmon' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

#navbarNav {
  box-shadow: -15px 15px 50px 40px rgba(49,79,79,1);
}


.navbar-toggler,
.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus {
  box-shadow: none;
}

	
.img-cover{
  object-fit: cover;
  object-position: center;
}

/*
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
*/


html, body {
  /* scroll-behavior: smooth; */
  height: 100%;
  margin: auto;
  /* overflow: auto; */
}

header {
  margin-left: auto;
  margin-right: auto;
  max-width: 52rem;
  height: 15%;
  box-shadow: 0 10px 40px 40px rgba(49,79,79,1);
  padding-top: 1.3rem;
  padding-bottom: 0px;
  position: sticky;
  top: 0;
  z-index: 1000 !important;
}

main {
  margin-left: auto;
  margin-right: auto;
  max-width: 46rem;
  margin-bottom: 2rem;
  margin-top: 4rem;
}


main a {
  text-decoration: underline !important;
}


footer {
  margin-left: auto;
  margin-right: auto;
  max-width: 52rem; 
  padding-top: 1.3rem;
  padding-bottom: 0.7rem;
  text-align: center;
}

hr {
  border: 0;
  clear:both;
  display:block;
  width: 96%;               
  background-color: mintcream !important;
  height: 1px;
}

blockquote {
  margin:0em 2em 0em 2em;
  font-size: 95%;
  text-align:left;
}

figcaption {
  width: 90%;
  font-size: 95%;
  font-style: italic;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.hamburger {
  padding-left: 24px; 
  padding-right: 24px;
}


.card {
  text-align: center;
}

.card-img-container {
  box-sizing: border-box;
  max-width: 200px;  
  margin-left: auto;
  margin-right: auto;
}

.card-img-container::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: 0 0px 20px 20px rgba(49,79,79,1) inset;
  border-radius: inherit;
}

.card-img {
  object-fit: cover; 
  width: 100%; 
  height: 100%;
}

.rounded-circle {
  border-style: solid;
  border-color: darkslategrey;
}


.button-wrap {
  max-width: 20rem; 
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding-bottom: 5px;
}


.button {
  background-color: salmon !important;
  /* color: white !important; */
  padding: 12px 12px;
  text-decoration: none;
  border: none;
  border-radius: 6px;
  display: inline-block;
  font-size: 16px;
  cursor: pointer;
  transition: background 0.3s;
  text-align: center;
}

.button:hover {
  background-color: mintcream !important;
}

.grid-container {
  display: grid;
  justify-items: center;
}

.triangle-wrap {
  max-width: 40rem; 
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.triangle-left {
  cursor: pointer;
  transition: border-right-color 0.3s ease;
  width: 0;
  height: 0;
  border-top: 20px solid transparent !important;
  border-bottom: 20px solid transparent !important;
  border-right: 40px solid salmon !important;
  display: inline-block;
}

.triangle-right {
  cursor: pointer;
  transition: border-left-color 0.3s ease;
  width: 0;
  height: 0;
  border-top: 20px solid transparent !important;
  border-bottom: 20px solid transparent !important;
  border-left: 40px solid salmon !important;
  display: inline-block;
}


.triangle-up {
  cursor: pointer;
  transition: border-bottom-color 0.3s ease;
  width: 0;
  height: 0;
  border-left: 20px solid transparent !important;
  border-right: 20px solid transparent !important;
  border-bottom: 40px solid salmon !important;
  display: inline-block;
}

.triangle-left:hover, .triangle-right:hover, .triangle-bottom:hover {
  border-right-color: mintcream !important;
}

.story-nav {
  margin-left: auto;
  margin-right: auto;
  max-width: 46rem; 
}


.artefact {
  display: flex;
  justify-content: center;
  position: relative;
  width: 100%;
  height: auto;
  max-width: 46rem; 
  max-height: 31.5rem; 
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2rem;
  margin-bottom: 2rem;
  overflow: hidden;
  object-fit: contain;
}

.slideshow {
  display: flex;
  position: relative;
  justify-content: center;
  width: 100%; 
  max-width: 46rem; 
  max-height: 31.5rem; 
  aspect-ratio: 1 / 1;
  align-items: center;
  overflow: hidden;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
  margin-top: 2rem;
}

.slide {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  margin: auto;
  position: absolute;
  /* top: 0; left: 0;
  height: 100%; */
  opacity: 0;
  transition: opacity 1s ease;
}

.slide.active {
  opacity: 1;
  z-index: 1; 
}

audio {
  display: flex;
  position: relative;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
}

.video-container {
  /* max-width: 100%; */
  /* height: 100%; */
  background: #f8f8f8;
  padding-top: 20px;
  padding-bottom: 20px;
  text-align: center;
  display: flex;
  justify-content: center;
  position: relative;
  text-align: center;
  overflow: hidden;
}

/*.video-container figure {
  margin: 0;
}*/

.video-container iframe {
  /* max-height: 408px; */
  aspect-ratio: 500 / 315;
  border: none;
  border-radius: 8px;
  background: #000;
}
.video-container figcaption {
  margin-top: 10px;
  font-size: 95%;
  color: #333;
  font-style: italic;
}
.video-link-fallback {
  display: none;
  font-size: small;
  color: #cf222e;
  background: #fff7f7;
  border: 1px solid #f9dada;
  border-radius: 6px;
  padding: 16px;
  margin-top: 20px;
}
.video-link-fallback a {
  color: #065fd4;
  text-decoration: underline;
  font-weight: bold;
}


.flip-box {
  background-color: transparent;
  width: 100%;
  max-width: 46rem;
  aspect-ratio: 70 / 43;
  perspective: 1000px;
  cursor: pointer;
  position: relative;
  display: block;
  text-align: center;
  /*margin-left: auto;
  margin-right: auto;*/
  margin-top: 3rem;
  margin-bottom: 0.7rem;
}

.flip-box-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.8s; /* cubic-bezier(.4,2,.3,1); */
  transform-style: preserve-3d;
}

.flipped {
  transform: rotateY(180deg);
}

.flip-box-front, .flip-box-back {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  overflow: hidden;
}

.flip-box-front img, .flip-box-back img {
  width: 100%;
  height: 100%;
  object-fit: cover;   /* Scales image, keeps aspect */
  display: block;
  aspect-ratio: 70 / 43; /* Ensures correct aspect even before load */
}

.flip-box-back {
  transform: rotateY(180deg);
}


.header-center {
  flex: 1 1 0; 
  /* display: inline-block; */
  min-width: 0;
  text-align: center;
  margin: 0;
  flex-basis: 0;
  overflow: hidden;
  white-space: nowrap;
  z-index: 1100 !important;
}

.header-center h1 {
  font-size: clamp(1.25rem, 2vw + 1rem, 2rem);
}

.header-center h2 {
  font-size: clamp(1.125rem, 2vw + 0.75rem, 1.5rem);
}

/*
https://spirokovac.com/css-clamp-calculator/
max_width = 800px; 
min_width = 200px; 
*/

/*
@media (prefers-color-scheme: black) {
  #navbarNav {
    box-shadow: -15px 15px 50px 40px rgba(0,0,0,1);
  }

  header {
    box-shadow: 0 10px 40px 40px rgba(0,0,0,1);
  }

  .card-img-container::after {
    box-shadow: 0 0px 20px 20px rgba(0,0,0,1) inset;
  }

}
*/


