/* ====== GLOBALS ====== */

/* Importing google fonts 'Roboto' */
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");

:root {
  --clr-accent: rgb(93, 76, 245);
  --clr-accenthover: rgba(93, 76, 245, 0.808);
  --clr-fadewhite: rgba(255, 255, 255, 0.459);
  --clr-fadeblack: rgba(0, 0, 0, 0.226);
  --clr-white: rgba(255, 255, 255, 0.877);
  --clr-bg: rgb(39, 39, 39);
}

.scroll-img {
  z-index: -1;
}

::-webkit-scrollbar {
  height: 4px;
  width: 4px;
  background: rgb(61, 61, 61);
}

::-webkit-scrollbar-thumb:horizontal {
  background: rgb(31, 31, 31);
  border-radius: 10px;
}

html,
body {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: "Roboto", sans-serif;
  background-color: var(--clr-bg);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

.head {
  display: none;
}

/* ======================= */

/* GRID */

.grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  flex: 1 1 100%;
}

.grid-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: rgb(61, 61, 61);
  border-radius: 1em;
  max-width: 85%;
  margin: 0 auto;
  padding: 1em;
  margin: 1em;
  max-width: 425px;
  min-height: 175px;
  text-align: center;
}

.grid-box h1 {
  padding: 0em 0.6em;
  padding-top: 1em;
  font-size: 1.5rem;
  color: var(--clr-white);
  margin: 0;
}

.grid-box p {
  padding: 1em 1em;
  padding-top: 0;
  color: var(--clr-fadewhite);
}

/* ======================= */

/* MEDIA QUERY ON EXIT OF MOBILE SIZING */
/* This query is for when we exit mobile sizing; do 'something'. */
@media (min-width: 750px) {
  /* Center the browser logos once we expand to a non mobile sizing */
  .item-v2 {
    margin-left: 2em;
  }

  /* Hide the ethereum logo when we exit mobile sizing */

  .ethereum-box img {
    display: none;
  }

  /* ======================= */

  /* Make mobile-nav dissapear if someone drags width to be greater than mobile sizing */

  /* .mobile-nav,
  .mobile-nav section,
  .mobile-nav .text,
  .x {
    visibility: hidden;
    opacity: 0;
  } */

  /* ======================= */
}

/* MEDIA QUERY MOBILE SIZING */

/* Nav Layout */

.mobile-only {
  display: none;
}

nav {
  display: flex;
  justify-content: space-between;
  padding: 1rem;
}

nav img {
  margin-right: 2em;
}

/* ================ */

/* Burger */
.burger {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.burger .line {
  width: 35px;
  background: var(--clr-fadewhite);
  padding: 2px 10px;
  margin: 3px 0;
  border-radius: 5px;
  margin-left: auto;
  margin-right: 1em;
}

.burger:hover {
  cursor: pointer;
}

/* ================ */

/* Popout mobile nav */

.mobile-nav {
  transition: visibility 0s, opacity 0.25s, transform 0.3s ease;
  position: absolute;
  top: 0;
  width: 100%;
  background-color: rgb(47, 47, 47);
  padding: 2rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  padding-right: 0;
  transform: translateY(-500px);
}

.mobile-nav section {
  display: flex;
  flex-direction: row;
  transition: visibility 0s;
}

.mobile-nav section li {
  opacity: 0;
}

.mobile-nav h2 {
  color: var(--clr-white);
  font-size: 1.5rem;
  margin: 0;
  margin-bottom: 1.5rem;
}

.mobile-nav ul {
  display: flex;
  flex-direction: column;
  list-style: none;
  width: min-content;
  padding: 0;
  margin-top: 1.5em;
  margin-bottom: 0.25em;
}

.mobile-nav li {
  color: rgba(255, 255, 255, 0.411);
  font-weight: 500;
  margin-bottom: 1.25rem;
  cursor: pointer;
  display: inline;
  width: max-content;
  transition: opacity 0.75s linear, transform 1s ease;
}

.mobile-nav li:hover {
  text-decoration: underline;
}

/* Mobile Nav Animation */

.mobile-nav section li:nth-of-type(1) {
  transform: translateX(100px);
}

.mobile-nav section li:nth-of-type(2) {
  transform: translateX(200px);
}

.mobile-nav section li:nth-of-type(3) {
  transform: translateX(300px);
}

.mobile-nav section li:nth-of-type(4) {
  transform: translateX(400px);
}

/* X to close */

.x {
  display: flex;
  align-items: center;
  width: 2rem;
  height: 2rem;
  padding: 0.25em;
  padding-top: 0;
  margin-top: 0;
  margin-left: auto;
  margin-right: 1rem;
  color: rgba(255, 255, 255, 0.411);
  transform: scaleX(140%);
}

.x:hover {
  cursor: pointer;
}

/* ================ */

/* Head Section */

.head {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.head h1 {
  color: var(--clr-white);
  font-size: 3rem;
  margin-bottom: 0;
  max-width: 1000px;
}

/* Purple underline under "love" */
.love::after {
  content: "";
  text-align: center;
  display: block;
  height: 0.3rem;
  width: 3.5ch;
  margin: 0 auto;
  border-radius: 1em;
  background-color: var(--clr-accent);
}

.head p {
  font-size: 1.3rem;
  padding: 1.5rem;
  line-height: 1.4em;
  max-width: 450px;
  min-width: 325px;
  color: var(--clr-fadewhite);
}

.head button {
  color: var(--clr-white);
  padding: 0.75em 1.15em;
  font-size: 1.15rem;
  font-weight: 900;
  background: var(--clr-accent);
  border: none;
  border-radius: 2em;
}

.head button:hover {
  cursor: pointer;
  background: var(--clr-accenthover);
}

/* ================ */

/* Info box */

.info-box {
  display: flex;
  flex-direction: column;
  background-color: var(--clr-accent);
  width: 325px;
  border-radius: 1em;
  text-align: center;
  margin: 0 auto;
  margin-top: 5em;
}

.info-box h2 {
  padding: 2.5rem 2rem;
  font-size: 2.25em;
  color: var(--clr-white);
  margin: 0;
}

.info-box img {
  object-fit: contain;
  width: clamp(275px, 75%, 400px);
  margin-right: auto;
  margin-left: 0;
}

.info-box p {
  padding: 2.5rem 2rem;
  color: var(--clr-fadewhite);
  max-width: 475px;
  margin: 0 auto;
}

/* ================ */

/* Second info section */

.info-box-2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.info-box-2 h1 {
  color: var(--clr-white);
  font-size: 3rem;
  margin-top: 2em;
  margin-bottom: 0;
  max-width: 1000px;
  margin-left: 0.5em;
  margin-right: 0.5em;
}

.info-box-2 p {
  font-size: 1.3rem;
  padding: 1.5rem;
  padding-top: 0rem;
  line-height: 1.4em;
  max-width: 450px;
  min-width: 325px;
  color: var(--clr-fadewhite);
}

/* ================ */

/* Ethereum Box */

.ethereum-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background-color: var(--clr-accent);
  border-radius: 1em;
  padding: 2em;
  max-width: clamp(275px, 90%, 415px);
  margin: 0 auto;
  margin-top: 5rem;
}

.ethereum-box img {
  width: 100px;
  height: 100px;
}

.ethereum-box h1 {
  color: var(--clr-white);
  margin: 0;
  padding-top: 1em;
  font-size: 1.8em;
}

.ethereum-box p {
  color: var(--clr-fadewhite);
}

.ethereum-box input {
  border: none;
  border-radius: 2em;
  padding: 1em;
  font-size: 1.05em;
  background: rgba(0, 0, 0, 0.219);
  color: var(--clr-fadewhite);
}

.ethereum-box input:focus {
  outline: 1px solid rgba(255, 255, 255, 0.534);
}

.ethereum-box input::placeholder {
  color: var(--clr-fadewhite);
}

/* ================ */

/* Info Box 3 */

.info-box-3 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.info-box-3 h1 {
  color: var(--clr-white);
  font-size: 3rem;
  margin-top: 1.5em;
  margin-bottom: 0;
  max-width: 1000px;
  margin-left: 0.25em;
  margin-right: 0.25em;
}

.info-box-3 p {
  font-size: 1.3rem;
  padding: 1.5rem;
  padding-top: 0rem;
  line-height: 1.4em;
  max-width: 450px;
  min-width: 325px;
  color: var(--clr-fadewhite);
}

.info-box-4 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.info-box-4 h1 {
  color: var(--clr-white);
  font-size: 3rem;
  margin-top: 1.5em;
  margin-bottom: 0;
  max-width: 1000px;
  margin-left: 0.25em;
  margin-right: 0.25em;
}

.info-box-4 p {
  font-size: 1.3rem;
  padding: 1.5rem;
  padding-top: 0rem;
  line-height: 1.4em;
  max-width: 450px;
  min-width: 325px;
  color: var(--clr-fadewhite);
}

/* ================ */
.items {
  position: relative;
  width: 100%;
  overflow-y: hidden;
  color: var(--clr-white);
  white-space: nowrap;
  transition: all 0.2s;
  transform: scale(0.98);
  will-change: transform;
  user-select: none;
  cursor: pointer;

  text-align: center;
}

.item {
  display: inline-block;
  background: var(--clr-fadeblack);
  min-height: 250px;
  min-width: 275px;
  margin: 2em 1em;
  border-radius: 1em;
  text-align: left;
}

.item-v2 {
  display: inline-block;
  cursor: pointer;
  max-height: 350px;
  padding-right: 0;
  padding-left: 3em;
  transition: transform 0.5s;
}

.item-v2:hover {
  transform: scale(1.025);
}

.browser-box {
  margin-bottom: -2em;
}

.item-box {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: start;
  align-items: center;
}

.item1 {
  padding: 2em;
  margin-top: 1.5em;
}

.item1 img {
  border-radius: 50%;
  width: 47px;
  height: 47px;
}

.item1 .user-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  margin-left: 1em;
}

.item1 .name {
  margin-bottom: 0.25em;
  color: rgba(255, 255, 255, 0.788);
  position: relative;
}

.item1 .handle {
  color: var(--clr-fadewhite);
  font-size: 0.8em;
}

.item1 img:nth-of-type(2) {
  width: 35px;
  height: 35px;
  margin-left: auto;
}

.item-box-2 {
  width: 100%;
  font-size: 1.05em;
  color: rgba(255, 255, 255, 0.836);
  display: inline-block;
  letter-spacing: 0.15em;
  line-height: 1.5em;
}

.item-box-2 p {
  color: var(--clr-white);
  white-space: normal;
  height: 123.42px;
  width: 262.58px;
}

.item-box-3 p {
  color: var(--clr-fadewhite);
  margin: 0;
  padding: 0;
}

.item2 {
  margin: 0 auto;
}

.item2-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 2em 4em 0em 2em;
}

.item2 img {
  /* Browser Image */
  width: 150px;
  margin-bottom: 2em;
}

.item2 button {
  padding: 1em 2em;
  border-radius: 2em;
  border: none;
  background: rgb(61, 61, 61);
  color: var(--clr-white);
  font-weight: 900;
  font-size: 1rem;
  min-width: 125px;
  max-width: 175px;
  cursor: pointer;
  transition: background 0.25s linear, border 0.75s linear;
}

.item2 button:hover {
  background: rgba(0, 0, 0, 0.055);
  border: 2px solid var(--clr-accenthover);
}

footer {
  background: rgb(31, 31, 31);
  color: var(--clr-white);
}

footer h1 {
  letter-spacing: 1.5px;
  padding-top: 1em;
  margin-bottom: 0;
}

.foot-head-wrapper {
  margin-left: 2.5em;
  margin-bottom: 2em;
}

.foot-head-wrapper h3 {
  font-weight: 400;
  color: var(--clr-fadewhite);
}

footer h2 {
  color: var(--clr-white);
  margin: 0;
  margin-bottom: 0.5em;
  font-size: 1.3em;
}

.ul-wrapper {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2em;
}

footer ul {
  display: flex;
  flex-direction: column;
  flex: 1 1 25%;
  list-style: none;
}

footer ul:nth-of-type(3) {
  margin-right: 2em;
  margin-bottom: 2em;
}

footer li {
  color: var(--clr-fadewhite);
  margin: 0.5em 0em;
  font-weight: 700;
  cursor: pointer;
  transition: color 0.25s;
  width: max-content;
}

footer li:hover {
  color: var(--clr-white);
}

.social-logo {
  width: 45px;
  height: 45px;
  margin: 0.25em 0.5em 0 0.5em;
  transition: transform 0.25s;
}

.social-logo:hover {
  cursor: pointer;
  transform: translateY(-4px);
}

.company {
  letter-spacing: 5px;
  font-weight: 300;
  text-transform: uppercase;
  font-size: 1.25em;
  margin-top: 1em;
}

.JS-footer {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: center;
  background-color: transparent;
  padding: 2em 1em 0em 1em;
  border-top: 2px solid var(--clr-bg);
  text-align: center;
}

.JS-footer a {
  text-decoration: none;
}

#scroll-button {
  padding: 0.75em 2em;
  margin-top: 2em;
  font-size: 1rem;
  background-color: transparent;
  color: var(--clr-white);
  border: 1px solid var(--clr-white);
  border-radius: 2em;
  transition: transform 0.25s;
  margin-bottom: 2em;
}

#scroll-button:hover {
  cursor: pointer;
  background-color: rgba(0, 0, 0, 0.541);
  transform: translateY(-2px);
}

@media (min-width: 350px) {
  .item2-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 2em;
    margin-bottom: 10em;
    margin-right: 4em;
    margin-left: 0;
  }

  .item2-wrapper:nth-of-type(4) {
    margin-right: 0;
  }
}

@media (min-width: 500px) {
  .info-box {
    width: 500px;
  }
}

@media (min-width: 750px) {
  .info-box {
    width: 700px;
  }
}

/* This is here to make sure the H1's look good at some awkward widths */
@media (min-width: 250px) and (max-width: 470px) {
  .head h1 {
    width: 300px;
  }

  .info-box-2 h1 {
    width: 325px;
  }

  .info-box-3 h1 {
    width: 325px;
  }
}

@media (max-width: 250px) {
  .head h1 {
    width: 300px;
  }

  .info-box-2 h1 {
    width: 325px;
  }

  .info-box-3 h1 {
    width: 325px;
  }
}
