/* @import url("https://fonts.googleapis.com/css?family=Noto+Sans&display=swap"); */

.card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #353535;
  font-size: 2rem;
  color: #fff;
  box-shadow: rgba(3, 8, 20, 0.1) 0px 0.15rem 0.5rem, rgba(2, 8, 20, 0.1) 0px 0.075rem 0.175rem;
  height: 100%;
  width: 100%;
  border-radius: 4px;
  transition: all 500ms;
  overflow: hidden;

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.card:hover {
  box-shadow: rgba(2, 8, 20, 0.1) 0px 0.35em 1.175em, rgba(2, 8, 20, 0.08) 0px 0.175em 0.5em;
  transform: translateY(-3px) scale(1.1);
}

.basic-grid {
  display: grid;
  gap: 1rem;
  /* grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; */
  /* or */
  /* grid-template-columns: repeat(12, 1fr); */
  /* or */
  /*to overcome a challenge we use autofit like below..*/
  /* grid-template-columns: repeat(12, minmax(240px, 1fr)); */
  /* or */
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.basic-grid2 {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}

.basic-grid3 {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.photo-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  grid-auto-rows: 240px;
}

.photo-grid img {
  width: 100%;
}

@media screen and (min-width: 800px) {
  .card-tall {
    grid-row: span 2 / auto;
    /* or */
    /* grid-row: 1/3; */
  }
  .card-wide {
    grid-column: span 2 / auto;
  }
  .card-superwide {
    grid-column: span 4 / auto;
  }
}

/*===== animated grid ====*/
.animated-grid {
  display: grid;
  height: 85vh;
  gap: 1rem;
  grid-template-areas:
    "a b c d"
    "l z z e"
    "k z z f"
    "j i h g";
  grid-template-rows: repeat(4, 22%);
  grid-template-columns: 240px auto auto 240px;
  --stagger-delay: 100ms;
}
@media screen and (max-width: 750px) {
  .animated-grid {
    grid-template-columns: 70px auto auto 70px;
  }
}

@keyframes cardEntrance {
  from {
    opacity: 0;
    transform: scale(0.3);
    filter: hue-rotate(180deg);
  }
  to {
    opacity: 1;
    transform: scale(1);
    filter: hue-rotate(0deg);
  }
}

.card {
  background-color: turquoise;
  animation: cardEntrance 700ms ease-out;
  animation-fill-mode: backwards;
}

.animated-grid .card:nth-child(1) {
  grid-area: a;
  animation-delay: calc(1 * var(--stagger-delay));
}
.animated-grid .card:nth-child(2) {
  grid-area: b;
  animation-delay: calc(2 * var(--stagger-delay));
}
.animated-grid .card:nth-child(3) {
  grid-area: c;
  animation-delay: calc(3 * var(--stagger-delay));
}
.animated-grid .card:nth-child(4) {
  grid-area: d;
  animation-delay: calc(4 * var(--stagger-delay));
}
.animated-grid .card:nth-child(5) {
  grid-area: e;
  animation-delay: calc(5 * var(--stagger-delay));
}
.animated-grid .card:nth-child(6) {
  grid-area: f;
  animation-delay: calc(6 * var(--stagger-delay));
}
.animated-grid .card:nth-child(7) {
  grid-area: g;
  animation-delay: calc(7 * var(--stagger-delay));
}
.animated-grid .card:nth-child(8) {
  grid-area: h;
  animation-delay: calc(8 * var(--stagger-delay));
}
.animated-grid .card:nth-child(9) {
  grid-area: i;
  animation-delay: calc(9 * var(--stagger-delay));
}
.animated-grid .card:nth-child(10) {
  grid-area: j;
  animation-delay: calc(10 * var(--stagger-delay));
}
.animated-grid .card:nth-child(11) {
  grid-area: k;
  animation-delay: calc(11 * var(--stagger-delay));
}
.animated-grid .card:nth-child(12) {
  grid-area: l;
  animation-delay: calc(12 * var(--stagger-delay));
}
.animated-grid .card:last-child {
  grid-area: z;
  animation-delay: calc(13 * var(--stagger-delay));
}
