/*CSS document*/

html, body, div, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit;}

body {
  background-color: var(--black);
  font-family: "indivisible-variable", sans-serif;
  font-variation-settings: "wght" 400;
  color: var(--black);
  /* max-width: 100rem; */
  margin: auto;
}

html, body {
  height: 100%;
  overflow-x: clip;  /* or hidden */
  overflow-y: auto;  /* enable vertical scroll */
  /* Firefox fallback */
  scrollbar-width: none;
}

body::-webkit-scrollbar {
  width: 0;
  height: 0;
  background: transparent;
}

a {
  text-decoration: none;
}

html, body { height: 100%; }

:root {
  --blue: rgb(20 , 80, 255);
  --light-blue: rgb(40 , 120, 255);
  --true-white: rgb(255, 255, 255);
  --white:rgb(246, 246, 248);
  --black: rgb(24, 24, 24);
  --true-black: rgb(0, 0, 0);
  --gray-black: rgb(40, 40, 42);
  --gray: rgb(54, 54, 56);
  --graph-gray: rgb(220, 220, 222);
  --green: rgb(0, 160, 80);
  --purple: rgb(120, 0, 240);
  --orange: rgb(240, 110, 0);
  --red: rgb(210, 0, 0);
  --yellow: rgb(255, 210, 0);
}

.logo h1 { 
  margin-top: 7rem;
  text-align: center;
}

h1 img {
  height: 16rem;
  /* padding: 1rem 0 5rem; */
}

/* .site-nav h1 {
  margin-left: .9rem;
  align-self: flex-start;
  text-align: left;
} */

.container {
  min-height: 100dvh;
  display: grid;
  grid-template-columns: 1fr 5fr;
  grid-template-rows: minmax(0, 1fr) auto;
}

nav {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  background-color: var(--black);
  color: var(--white);
  padding-top: 8rem;

  position: sticky;
  top: 0;
  align-self: start;
  display: flex;
  flex-direction: column;
}

main {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  padding: 1rem;
  background-color: var(--white);
}

.centered, .resume {
  display: grid;
  grid-template-columns: 1fr 2.5fr 1.5fr;
  grid-template-rows: min-content;
  margin: 8rem 0;
  row-gap: .8rem;
}

.resume {
  grid-template-columns: 1fr 4fr;
  margin-bottom: 8rem;
}

footer {
  grid-column: 1 / 3;
  grid-row: 2 / 3;
  height: 1rem;
  padding: 1rem 0;
  background-color: var(--black);
  color: var(--white);
  font-size: .9rem;

  display: grid;
  grid-template-columns: 1fr 5fr;
}

h2.buttons {
  font-variation-settings: "wght" 500;
  letter-spacing: -.02rem;
  color: var(--white);
  padding: .8rem 1rem;
  height: 1.4rem;
  /* border-right: 1px solid var(--white); */
  align-content: center;
}

.nav-btn .buttons {
  background: var(--black);
  color: var(--white);
  transition: .1s ease;
}

.nav-btn[aria-current="page"] .buttons,
.nav-btn.is-active .buttons {
  background: var(--white);
  color: var(--black);
}

.nav-btn:hover .buttons,
.nav-btn:focus-visible .buttons {
  background: var(--blue);
  color: var(--white);
}

.title, .titleright {
  font-variation-settings: "wght" 600;
  letter-spacing: -.02rem;
  grid-column: 1/2;
  text-align: right;
}

.title {
  margin-right: 1rem;
}

.titleright, .topic, .topic-skills {
  text-align: left;
  grid-column: 2/3;
}

.info {
  grid-column: 2/3;
  line-height: 1.4rem;
  font-size: .9rem;
}

.footer {
  grid-column: 2/3;
}

.centered ul li, .resume ul li {
  margin-top: .8rem;
}

.topic .titleright, .topic-skills .titleright {
  margin-bottom: .2rem;
}

.infocontain {
  margin-bottom: .8rem;
}

.topic-skills {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.topic-skills .titleright, .topic-skills .infocontain {
  grid-column: auto;
}

@media (max-width: 70rem) {

  .container {
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(0, 1fr) auto;
  }

  .site-nav {
    padding: 0;
  }

  .navcon {
    display: flex;
    flex-direction: row;
  }

  main {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-left: 0;
  }

  .info {
    grid-column: 2/4;
    margin-right: 1rem;
  }

  footer {
    grid-column: 1 / 2;
    grid-row: 3;
  }

  .footer {
    grid-column: 1/3;
    padding-left: 1rem;
  }
}

/* place the arrows in the side columns, same row as the hero */
.hero-nav {
  grid-row: 1;
  inline-size: 3rem;
  block-size: 3rem;
  border: 1px solid var(--graph-gray);
  border-radius: 999rem;
  background: var(--true-white);
  color: var(--black);
  cursor: pointer;

  display: grid;
  place-items: center;
  transition: .1s ease;
}

.hero-nav.prev { grid-column: 1 / 2; align-self: center; justify-self: end; }
.hero-nav.next { grid-column: 5 / 6; align-self: center; justify-self: start; }

.hero-nav:hover { background-color: var(--graph-gray); }

.hero-nav::before {
  content: "";
  inline-size: 1rem;
  block-size: 1rem;
  border-right: 2px solid var(--black);
  border-bottom: 2px solid var(--black);
}

.hero-nav.next::before { transform: rotate(-45deg); }   /* ➜ */
.hero-nav.prev::before { transform: rotate(135deg); }   /* ← */

.work-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-auto-rows: auto;
  margin: 7rem 0;
  column-gap: 1rem;
}

.hero {
  grid-column: 2 / 5;
}

.hero img {
  width: 100%;
  aspect-ratio: 3 / 2;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: center;
  /* box-shadow: .2rem .2rem .4rem rgba(0, 0, 0, 0.2); */
}

.hero-info {
  grid-column: 2 / 5;
  margin: .4rem 0 0;
}

.product-list {
  grid-column: 1 / 6;
  display: grid;
  column-gap: 1rem;
  grid-template-columns: repeat(5, 1fr);
  list-style: none;
  padding: 0;
  margin: 6rem 0 0;
}

.product img {
  grid-column: 1 / 6;
  width: 100%;
  aspect-ratio: 3 / 2;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: center;
  margin-top: 2rem;
  /* box-shadow: .2rem .2rem .4rem rgba(0, 0, 0, 0.2); */
}

.product .info {
  margin-top: .4rem;
}

.product-btn {
  width: 100%;
  padding: 0;
  margin: 0;
  background: none;
  border: none;
  text-align: left;
  cursor: pointer;
}

.product-btn:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}
