:root {
  --bg: aliceblue;
  --fg: mediumblue;
}

@font-face {
  font-family: bagnard-sans;
  src: url(../font/BagnardSans.otf);
}
* {
  box-sizing: border-box;
}

body {
  background-color: var(--bg);
  color: var(--fg);
  font-family: bagnard-sans;
  max-width: 50em;
  margin: 0 auto;
  padding: 0 10px; 
  background-image: 
      radial-gradient(1px 1px at 23px 47px, var(--fg), transparent 2px),
      radial-gradient(1px 1px at 67px 123px, var(--fg), transparent 2px),
      radial-gradient(3px 3px at 156px 89px, var(--fg), transparent 2px),
      radial-gradient(1px 1px at 234px 145px, var(--fg), transparent 2px);
    background-size: 200px 200px;
  background-repeat: repeat;
}
article {
  max-width: 50em;
  margin: 0 auto;
  font-size: 1rem;
}
article > img {
  width: 50em;
  max-width: 100%;
  vertical-align: middle; 
}
iframe {
  width: 100%;
  min-height: 85vmin;
}
header, footer {
  margin: 0 10px; 
}
p {
  font-size: 12pt;
  opacity: 1;
}
h1 {
  font-size: 48pt; 
}
a {
  text-decoration: none;
  border-radius: 0.3rem;
  color: var(--fg);
}
a:hover {
  cursor: grab;
}
button {
  background-color: var(--fg);
  color: var(--bg);
  border-radius: 10px;
}
.grid-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 10px;
  max-width: 50em; 
  margin: auto; 
}
.grid-container > a {

  border: 1px solid var(--fg);
}
.grid-container > a > div {
  padding: 15px;
  margin: 0;
  width: 100%;
  height: 500px;
  display: flex;
  flex-direction: column;
  align-items: center;
  opacity: 0.65;
}
.grid-container > a > div > h2 {
  text-align: center;
  margin: 10px 0;
}
.grid-container > a > div > p {
  text-align: center;
  margin-top: auto;
  margin-bottom: 0;
  align-self: stretch;
}
.grid-container > a > div > img {
  width: 100%;
  max-width: 200px;
  height: 200px;
  object-fit: cover;
  filter: grayscale(100%) sepia(100%) hue-rotate(200deg);
}
.grid-container > a > div > img:hover {
  filter: grayscale(0%) sepia(0%) hue-rotate(0deg);
}

/* responsive */
@media (max-width:1025px) { 
  h1 {
    font-size: 8vw;  /* Scales with viewport width */
    line-height: 1.2;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .grid-container {
    grid-template-columns: 1fr;  /* Single column */
    gap: 10px;
    padding: 10px;
    max-width: 100%;
   }
.grid-container > a > div > h2 {
  height: auto;
}
.grid-container > a > div {
    width: 100%;
    margin: 10px 0;
    height: auto;
    min-height: 450px;
  }
.grid-container > a > div > img {
    width: 60vw;
    max-width: 300px;
    height: auto;
  }
.grid-container > a > div > p {
    font-size: 11pt;  
    line-height: 1.4;
  }
}
