@import url("https://fonts.googleapis.com/css?family=Mr+Dafoe|Oswald:200,300,400,500,600,700|Roboto:300,400,500,700&display=swap");

/*Variables*/
:root {
  --primary-color: #222;
  --secondary-color: #e60000;
}

* {
  box-sizing: border-box;
}

html {
  font-size: 10px;
}

body {
  background: var(--primary-color);
  color: #fff;
  height: 100vh;
  margin: 0;
  font-family: "Roboto", sans-serif;
  line-height: 1.5;
  /*
  background-image: url(../images/bg-main.JPG);
  background-attachment: fixed; */
  background-size: cover;
  animation: animate 25s ease-in-out infinite;
}

@keyframes animate{
  0%,100%{
    background-image: url(../images/bg-main.JPG);
    background-position: fixed;
    height: 100vh;
  }
  25%{
    background-image: url(../images/coding_display.jpeg);
    background-position: fixed;
  }
  50%{
    background-image: url(../images/IMG_1649.JPG);
    background-position: center;
  }
  75%{
    background-image: url(../images/landing_image.jpeg);
    background-position: center;
    height: 100vh;
  }
}

body#bg-img:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: rgba(0, 0, 0, 0.8);
}

/*Headings*/
h1,
h2,
h3 {
  margin: 0;
  font-weight: 400;
  text-align: center;
}

.lg-heading {
  font-size: 12rem;
  font-family: "Mr Dafoe";
  text-shadow: 0 0 10px #000;
}

.sm-heading {
  margin-bottom: 3rem;
  padding: 0.45rem 2rem;
  background: rgba(0, 0, 0, 0.3);
  font-size: 2rem;
  border-radius: 20px;
  font-family: "Oswald", cursive;
  letter-spacing: 2px;
  text-transform: uppercase;
}

a {
  color: #fff;
  text-decoration: none;
}

header {
  position: fixed;
  z-index: 2;
  width: 100%;
}

.text-secondary {
  color: var(--secondary-color);
}

main {
  padding: 6.4rem;
  height: 100%;
  /*min-height: calc(100vh - 60px);*/
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

main .icons {
  margin-top: 5rem;
  text-align: center;
}

main .icons a {
  padding: 0.8rem;
}

main .icons a:hover .fab {
  /*color: var(--secondary-color);*/
  transition: all 0.2s ease-in-out;
}

main .icons a .fa-facebook-square:hover {
  color: #4267b2;
  transform: scale(1.3);
}

main .icons a .fa-linkedin:hover {
  color: #0077B5;
  transform: scale(1.3);
}

main .icons a .fa-instagram:hover {
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%);
	-webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transform: scale(1.3);
}

main#home {
  overflow: hidden;
}

main#home h1 {
  margin-top: 20vh;
}

/*MENU BUTTON*/
.menu-btn {
  position: absolute;
  z-index: 3;
  right: 40px;
  top: 40px;
  cursor: pointer;
  transition: all 0.5s ease-out;
}

.menu-btn .btn-line {
  width: 28px;
  height: 3px;
  margin: 0 0 5px 0;
  background: #fff;
  transition: all 0.5s ease-out;
}

/*Rotating Into X With Menu Lines*/
.menu-btn.close {
  transform: rotate(180deg);
}

.menu-btn.close .btn-line:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.menu-btn.close .btn-line:nth-child(2) {
  opacity: 0;
}

.menu-btn.close .btn-line:nth-child(3) {
  transform: rotate(-45deg) translate(7px, -6px);
}

/*Menu Overlay*/
nav.menu {
  position: fixed;
  top: 0;
  width: 100%;
  visibility: hidden;
}

nav.menu.show {
  visibility: visible;
}

nav.menu .menu-branding,
nav.menu .menu-nav {
  display: flex;
  flex-flow: column wrap;
  align-items: center;
  justify-content: center;
  float: left;
  width: 50%;
  height: 100vh;
  overflow: hidden;
}

nav.menu .menu-nav {
  margin: 0;
  padding: 0;
  background: rgba(0, 0, 0, 0.9);
  list-style: none;
  transform: translate3d(0, -100%, 0);
  transition: all 0.5s ease-out;
}

nav.menu .menu-nav.show {
  /*Slide in from top*/
  transform: translate3d(0, 0, 0);
}

/*Branding Side*/
nav.menu .menu-branding {
  background: rgba(230, 0, 0, 0.9);
  transform: translate3d(0, 100%, 0);
  transition: all 0.5s ease-out;
}

nav.menu .menu-branding.show {
  /*Slide in from bottom*/
  transform: translate3d(0, 0, 0);
}

.menu-branding .portrait {
  width: 250px;
  height: 250px;
  background: url(../images/portrait.PNG);
  background-size: cover;
  border-radius: 50%;
  border: solid 10px #fff;
  box-shadow: 0 0 15px 10px rgba(0, 0, 0, 0.5);
}

.nav-item a {
  transition: all 0.5s ease-out;
}

.nav-item .nav-link {
  font-family: "Oswald", cursive;
  display: inline-block;
  font-size: 3rem;
  text-transform: uppercase;
  padding: 1rem 0;
  color: #fff;
  text-decoration: none;
}

.nav-item a:hover {
  color: var(--secondary-color);
}

.nav-item.current > a {
  color: var(--secondary-color);
}

/*Footer*/
#main-footer {
  text-align: center;
  padding: 1.6rem;
  background: var(--primary-color);
  color: #fff;
  height: 60px;
}

/*Media Queries*/

/*Small / Smartphones*/
@media screen and (max-width: 500px) {
  main#home h1 {
    margin-top: 10vh;
  }
}

/*Medium / Tablets & Small Laptops*/
@media screen and (max-width: 768px) {
  main {
    align-items: center;
    text-align: center;
  }

  .lg-heading {
    line-height: 1;
    margin-bottom: 1rem;
  }

  .sm-heading {
    font-size: 2.5rem;
  }

  nav.menu .menu-branding,
  nav.menu .menu-nav {
    float: none;
    width: 100%;
    min-height: 0;
  }

  nav.menu .menu-nav.show,
  nav.menu .menu-branding.show {
    transform: translate3d(0, 0, 0);
  }

  nav.menu .menu-nav {
    height: 70vh;
    transform: translate3d(-100%, 0, 0);
    font-size: 2.4rem;
  }

  nav.menu .menu-branding {
    height: 30vh;
    transform: translate3d(100%, 0, 0);
  }

  .menu-branding .portrait {
    width: 150px;
    height: 150px;
  }

  .about-info {
    grid-template-areas:
      "bioimage"
      "bio"
      "job1"
      "job2"
      "job3";
    grid-template-columns: 1fr;
  }
}

/*Large / Desktops & Laptops*/
@media screen and (min-width: 769px) and (max-width: 1170px) {
}

/*Extra Large/ Widescreens*/
@media screen and (min-width: 1171px) {
}
