:root {
  color: black;
  background-color: white;
  font-size: 16px;
  font-family: "helvetica-neue", sans-serif;
  --text-primary: #b6b6b6;
  --text-secondary: #ececec;
  --bg-primary: #23232e;
  --bg-secondary: #141418;
  --transition-speed: 600ms;
}

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

h1 {
  padding: 1em;
  text-align: center;
  vertical-align: center;
}

::selection {
  color: #ffb3b3;
}

/*BANNERS*/

aside {
  margin-left: 5rem;
  display: grid;
  grid-template-columns: calc(100vw - 5rem);
  grid-template-rows: repeat(3, 100vh);
  overflow-x: hidden;
}

aside div:nth-of-type(1) {
  background: url(https://charliemcquigg.io/images/pineappleOG.svg);
  background-size: 125px;
}

aside div:nth-of-type(2) {
  background-color: #222942;
  height: 100vh;
}

aside div:nth-of-type(3) {
  height: 100vh;
  background: url(https://charliemcquigg.io/images/pineappleOG.svg);
  background-size: 125px;
  overflow: hidden;
}

aside img {
  object-position: 50% 50%;
  object-fit: cover;
  margin-left: 12.5vw;
  margin-top: 7.5vh;
}

aside img:first-child {
  width: 75%;
}

aside img:nth-of-type(2) {
  width: 25%;
}

aside div:nth-of-type(3) img {
  margin-top: 15%;
  margin-left: 11%;
  width: 80%;
}

main {
  margin-left: 5rem;
}

/*NAV*/

nav {
  z-index: 1000;
}

.navbar {
  width: 5rem;
  height: 100vh;
  position: fixed;
  background-color: var(--bg-primary);
  transition: width 200ms ease;
}

.navbar-nav {
  display: flex;
  list-style: none;
  flex-direction: column;
}

.nav-link {
  display: flex;
  align-items: center;
  height: 5rem;
  color: var(--text-primary);
  text-decoration: none;
  filter: grayscale(100%) opacity(0.7);
  transition: var(--transition-speed);
}

.link-text {
  display: none;
  margin-left: 1em;
  text-align: right;
}

nav svg {
  color: #fff;
  width: 4em;
  padding: 0.5em;
  margin-left: 0.5em;
}

.navbar:hover {
  width: 16rem;
}

.logo:hover {
  width: 16rem;
}

.navbar:hover .link-text {
  display: block;
}

nav img {
  padding: 0.5em;
  width: 3.5em;
  margin-left: 0.5em;
}

.home {
  margin-left: 0.75em;
}

a {
  text-decoration: none;
}

.nav-link:hover {
  filter: grayscale(0) opacity(1);
  background: var(--bg-secondary);
  color: var(--text-secondary);
}

/*MOBILE*/

@media only screen and (max-width: 600px) {
  .navbar {
    bottom: 0;
    width: 100vw;
    height: 5rem;
  }

  .navbar-nav {
    flex-direction: row;
  }

  .navbar:hover {
    width: 100vw;
  }

  .nav-item {
    height: 5em;
  }

  nav svg {
    width: 3em;
    margin-left: 0.5em;
    margin-right: 0.5em;
  }

  nav li:hover {
    max-width: 3.75em;
  }

  .link-text {
    font-size: 12px;
    padding-right: 1em;
  }

  nav img {
    width: 2.5em;
    margin-left: 0.5em;
    margin-right: 0.5em;
  }

  .nav-link {
    flex-direction: column;
    justify-content: center;
  }

  aside {
    display: grid;
    grid-template-columns: 100vw;
    grid-template-rows: calc(100vh - 5rem);
    margin-left: 0;
    margin-bottom: 5rem;
  }

  aside div:nth-of-type(1) {
    background-size: 75px;
  }

  aside div:nth-of-type(3) {
    background-size: 75px;
    padding-top: 25vh;
  }

  aside img {
    margin-left: 15%;
    margin-top: 12.5vh;
  }

  main {
    margin: 0;
  }
}

/* MOBILE // LANDSCAPE (halfway) */

@media only screen and (min-width: 600px) {
  aside div:nth-of-type(3) img {
    margin-top: 30vh;
  }
}

/* MOBILE // LANDSCAPE */

@media only screen and (orientation: landscape) {
  /*NAV*/

  .logo {
    width: 4em;
  }

  nav img {
    width: 3em;
  }

  aside img:first-child {
    width: 40%;
    margin-left: 25vw;
  }

  aside div:nth-of-type(1) img {
    padding-top: 7.5vh;
    margin-left: 27.5vw;
  }

  aside div:nth-of-type(2) img {
    margin-top: 15vh;
    margin-left: 27vw;
    width: 40%;
  }

  aside div:nth-of-type(3) img {
    margin-top: 30vh;
    margin-left: 25%;
    width: 50%;
  }
}

/* Large screens */
@media only screen and (min-width: 715) {
  .navbar {
    top: 0;
    width: 5rem;
    height: 100vh;
  }

  .navbar:hover {
    width: 16rem;
  }

  .navbar:hover .link-text {
    display: inline;
  }
}

