:root {
  --black: #272727;
  --red: #f44336;
  --yellow: rgba(255, 255, 0, 0.6);
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

body {
  margin: 0;
  color: var(--black);
  font-family: sans-serif;
  position: relative;
  padding-bottom: 30vw;
}

body::after {    
  content: "";
  background-image: url('../img/nucks.png');
  background-size: cover;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.075;
  padding-top: 28.57%;
  filter: grayscale(1);
}

a {
  color: var(--red);
}

h1, h2, h3 {
  font-family: 'Bangers', impact, sams-serif;
  font-weight: normal;
  text-transform: uppercase;
}

h1 {
  text-align: center;
  color: var(--red);
  font-size: 22vw;
  margin: 0;
  transform: rotate(-3deg);
  text-transform: uppercase;
  text-shadow: 0.03em 0.03em 0 var(--black);
}

h2, h3 {
  letter-spacing: 0.05em;
  margin: 0 0 0.5em;
}

h2 {
  font-size: 1.5rem;
  border-bottom: 2px solid var(--black);
  border-right: 2px solid var(--black);
  padding: 0.25em 0.75em;
  max-width: max-content;
  background: var(--yellow);
}

p {
  margin-top: 0;
}

p:last-child {
  margin-bottom: 0;
}

img {
  display: block;
  width: 100%;
}

a.pow {
  display: inline-block;
  padding: 0.75em 0.25em 0.75em 0.75em;
  font-size: 2.5rem;
  line-height: 1;
  background: url(../img/pow.png) no-repeat;
  background-size: contain;
  transform: rotate(-10deg);
  text-transform: uppercase;
  color: var(--red);
  text-decoration: none;
  text-shadow: -0.05em -0.05em #666;
  letter-spacing: 0.07em;
}

.wrapper {
  width: min(95%, 60rem);
  margin: 0 auto;
}

header {
  overflow: hidden;
  padding: .75rem 0;
}

.issue {
  display: none;
  align-self: center;
  grid-row: span 2;
  width: 5rem;
  text-align: center;
  border: 1px solid var(--black);
}

.issue .img {
  grid-column: span 2;
  border-bottom: 1px solid var(--black);
}

.issue .price {
  border-right: 1px solid var(--black);
  grid-row: span 2;
  display: flex;
  justify-content: center;
  align-items: center;
}

#issue-num {
  font-weight: bold;
  font-size: 1.125rem;
  padding-top: 0.25rem;
}

#issue-month {
  font-size: 0.8125rem;
  padding-bottom: 0.25rem;
}

.social {
  position: fixed;
  z-index: 1;
  right: 0;
  top: 23vw;
  opacity:  0.6;
}

.social a {
  display: block;
  width: 45px;
  margin-bottom: 25px
}

.cell {
  border: 2px solid var(--black);
  line-height: 1.5;
}

.text {
  letter-spacing: 0.03em;
  margin: 20px;
  border: 1px solid var(--black);
  background: Lavender;
  padding: 1rem;
  font-family: 'Archivo Narrow', sans-serif;
}

.text + .text {
  margin-top: 10px;
}

.about {
  position: relative;
  overflow: hidden;
}

.about::before {    
  content: "";
  background-size: cover;
  background-position: 50% 50%;
  position: absolute;
  top: 0;
  right: 0px;
  bottom: 0px;
  left: -67%;
  opacity: 0.075;
  filter: grayscale(1);
}

.section-1 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-gap: 10px;
  margin-bottom: 10px;
}

.about {
  grid-column: 1 / -1;
  grid-row: 2 / 3;
  display: flex;
  flex-direction: column;
}

.about .bubble {
  max-width: 30rem;
}

.section-2 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 10px;
}

.cta-buy {
  margin-bottom: 2rem;
}

.cta-buy a {
  display: flex;
  max-width: max-content;
  align-items: center;
  position: relative;
  height: 3em;
  padding: 0.5em 1em;
  background: var(--red);
  color: #fff;
  font: 1rem/1 'Bangers', impact, sams-serif;
  text-transform: uppercase;
  text-decoration: none;
}

@media(hover: hover) and (pointer: fine) {
  .cta-buy a {
    transition: padding 0.3s ease-in-out;
  }

  .cta-buy a:hover {
    padding-left: 3em;
  }
}

.cta-buy a:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.5em 0 1.5em 1.5em;
  border-color: transparent transparent transparent var(--red);
  position: absolute;
  right: -1.5em;
}

.cta-buy b {
  background: var(--red);
  color: #fff;
  font-size: 2em;
  font-weight: normal;
  padding: 0 0.25em;
}

.cta-buy span {
  transform: rotate(-10deg);
}

.cta-buy span:first-child {
  align-self: flex-start;
}

.cta-buy span:last-child {
  align-self: flex-end;
}

.roadmap, .team {
  background: whitesmoke;
}

.roadmap {
  grid-column: 1 / -1;
  grid-row: 2 / 3;
  display: flex;
  flex-direction: column;
}

.roadmap .bubble {
  max-width: 35rem;
}

.about .bubble.right,
.roadmap .bubble.right {
  align-self: flex-end;
}

.team {
  grid-column: 1 / -1;
  grid-row: 3 / 4;
}

.members {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(21rem, 1fr));
  align-items: center;
}

.members .bubble.left {
  justify-self: start;
}

.members .bubble.right {
  justify-self: end;
}

.member h3 {
  margin: 0;
}

.portrait {
  height: 4rem;
  width: 4rem;
  border-radius: 50%;
  overflow: hidden;
}

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

.member p a {
  font-size: 0.9375rem;
}


@media (min-width: 30rem) {

  [class*="nh-"] { 
    padding: 5px;
  }

  .text ul {
    column-count: 2;
  }

  .buy {
    margin-left: 60px;
  }

  .cta-buy a {
    font-size: 1.5rem;
  }

}


@media (min-width: 40rem) {

  header {
    display:  grid;
    grid-template-columns: auto auto;
    grid-template-columns: 5rem auto;
  }

  h1 {
    font-size: min(19vw, 11rem);
  }

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

  .social {
    position: static;
    z-index: auto;
    right: auto;
    top: auto;
    opacity: 1;
    justify-self: end;
  }

  .social a {
    display: inline-block;
    vertical-align: middle;
    width: 30px;
    margin: 0 0 0 20px;
  }

  .text ul {
    column-count: 3;
  }

}


@media(hover: hover) and (pointer: fine) and (min-width: 40rem) {

  .social a {
    transition: transform 0.2s ease-in-out;
  }

  .social a:hover {
    transform: translateY(-5px);
  }

}


@media (min-width: 45rem) {

  [class*="nh-"] { 
    overflow: hidden;
  }

  [class*="nh-"] img { 
    height: 100%;
    object-fit: cover;
  }

  .section-1 {
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(3, 10rem);
    grid-gap: 20px;
    margin-bottom: 20px;
  }

  .about {
    grid-column: span 4;
    grid-row: span 3;
  }

  .nh-3 {
    grid-column: span 2;
  }

  .bubble p {
    font-size: 0.9375rem;
  }

  .member p a {
    font-size: 0.875rem;
  }

  .cta-buy a {
    font-size: 2rem;
  }
  
}


@media (min-width: 50rem) {

  .bubble {
    line-height: 1.6;
  }
  .section-2 {
    grid-template-columns: 11rem auto;
    grid-template-rows: repeat(5, auto);
    grid-gap: 20px;
  }

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

  .cta-buy a {
    font-size: 1.5rem;
  }

  .team {
    grid-column: 1 / 2;
    grid-row: 5 / 6;
  }

  .members {
    display: block;
  }

  .member {
    padding: 1rem 15px;
    margin-right: 10px;
    margin-left: 10px;
  }

  .member p {
    font-size: 0.8125rem;
  }

  .member p a {
    font-size: 0.75rem;
  }

}

@media (min-width: 55rem) {

  .cta-buy a {
    font-size: 2rem;
  }

}





