/* Importing vocabulary.css */
@import "/_assets/vocabulary/css/vocabulary.css" layer(vocabulary);

/* CSS for All Pages */
body {
  font-family: sans-serif;
  margin: 0;
  width: 100%;
  padding: 0 0 0;
}

header {
  width: 100%;
}

main {
  width: 100%;
  padding: 0 0;
  display: block; /* prevent vocab grid overirding */
}

main a {
  cursor: pointer;
  height: fit-content;
}


code {
  padding: 2px 4px;
  border: 0.0625rem solid rgb(216, 216, 216);
  border-radius: 0.25rem;
  font-family: monospace;
  color: rgb(51, 51, 51);
  background-color: #f5f5f5;
  font-size: 1.3rem;
}

/* Styles for listing.html resource thumbnail cards */
.listing-page main {
  padding: 0;
  width: 90%;
  margin: 0 var(--vocabulary-page-edges-space) 6em;
  box-sizing: border-box;
}

.listing-page > main header::before {
  left: unset;
}

#thumbnaillist {
  grid-area: content;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  margin: 0 0;
  padding: 0 0 8em;
  gap: 10% 5%;
  box-sizing: border-box;
  width: 100%;
  height: fit-content;
  grid-auto-rows: minmax(100px, auto);
  list-style: none;
  position: relative;
}

.thumbnailbox {
  grid-column: span 3;
  height: fit-content;
}

.thumbnailLink {
  --underline-background-color: white;
}

.thumbnail {
  width: 100%;
  aspect-ratio: 200/150;
  margin: 0 auto;
}

.thumbnailtitle {
  font-family: "Roboto Condensed";
  font-style: normal;
  font-weight: 700;
  font-size: 1.6vw;
}

.thumbnailblurb {
  color: #000;
  font-size: 1.3vw;
  font-family: "Source Sans Pro";
  font-style: normal;
  font-weight: 400;
}

/* Styles For index.html and all.html */
.filter-grid {
  display: grid;
  grid-template-columns: 1fr 3.5fr 1fr;
  gap: 0 4.1em;
  grid-template-areas:
    "header header header"
    "sidebar content content";
}

.filter-grid header {
  grid-area: header;
}

#resourcenavbar {
  height: fit-content;
  display: flex;
  flex-direction: column;
  justify-content: center;
  grid-area: sidebar;
}

#resourcenavbar h2 {
  text-align: center;
  font-size: 1.5em;
  margin: 1.5em 0 0;
}

#resourcenavbar ul {
  list-style: none;
  margin: 0;
}

#resourcenavbar ul li {
  font-size: 1rem;
  margin-bottom: 1rem;
}

#resourcenavbar p {
  font-size: 1rem;
}

.resourcenav {
  height: fit-content;
  display: none;
}

.resourcenav.resourcenavstatic {
  display: block;
}

#see-all {
  margin: 0 auto;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.5em;
  text-align: center;
  font-family: "Roboto Condensed";
  font-style: normal;
  font-weight: 700;
}

/* Styles For resource.html */
.resource-page > main {
  width: 60%;
  margin: 0 auto;
}

.topic-categories {
  order: -1;
  display: flex;
  gap: 10px;
}

.resource-page main figure {
  width: 100%;
  margin: 0;
  margin-bottom: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
}

.resource-page iframe {
  width: 100%;
}

.downloadlinks {
  width: 100%;
  background-color: var(--vocabulary-brand-color-soft-tomato);
  padding: 2em;
  box-sizing: border-box;
}

.downloadlinks a {
  font-size: 1.2em;
  --underline-background-color: var(--vocabulary-brand-color-soft-tomato);
  margin-right: 1em;
}

.resource-license {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 4em;
}

.resource-license p {
  font-size: 1.1em;
}

/* Styles for submission.html */
.submit-page > main {
  width: 60%;
  margin: 0 auto 8em;
}

.submit-page > main a {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.submit-page main > header::before {
  left: unset;
}

.submit-page main > ol li {
  margin: 1em 0;
}

.submit-page main > ol img {
  width: 100%;
}

.submit-page main > ol code {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Styles For footer.html */
footer {
  box-sizing: border-box;
  width: 100%;
}

footer a {
  color: var(--vocabulary-brand-color-turquoise);
}

footer .donate a {
  color: #000;
}

/* Media Queries for responsiveness */
@media screen and (max-width: 1200px) {
  /* For listing.html */
  #thumbnaillist {
    gap: 6vw 5%;
    padding: 0 0 8em;
  }

  .thumbnailbox {
    grid-column: span 4;
  }

  .thumbnailtitle {
    font-size: 2.4vw;
  }

  .thumbnailblurb {
    font-size: 1.7vw;
  }
}

@media screen and (max-width: 768px) {
  /* For listing.html */
  .filter-grid {
    grid-template-columns: 1fr;
    margin: 0 var(--vocabulary-page-edges-space);
    box-sizing: border-box;
    grid-template-areas:
      "header"
      "sidebar"
      "content";
  }

  #thumbnaillist {
    gap: 12vw 7%;
    padding: 4em 0 6em;
  }

  .thumbnailbox {
    grid-column: span 6;
  }

  .thumbnailtitle {
    font-size: 3.5vw;
  }

  .thumbnailblurb {
    font-size: 2.5vw;
  }

  /* For index.html and all.html */
  .language-list ul {
    columns: 2;
  }

  /* For resource.html */
  .resource-page > main {
    width: 80%;
  }

  /* For submission.html */
  .submit-page > main {
    width: 80%;
  }
}

@media screen and (max-width: 480px) {
  /* For listing.html */
  #thumbnaillist {
    gap: 35vw 5%;
    padding: 4em 0 4em;
  }

  .thumbnailbox {
    grid-column: span 12;
  }

  .thumbnailtitle {
    font-size: 6.5vw;
  }

  .thumbnailblurb {
    font-size: 5vw;
  }
}
