/*Custom Properties are properties that are reapeted wihtin the css and can be put in the variables and accessed 
through a scope in this case a root socpe and the syntax for ucstom properties is the following */
:root {
  --primary-color: black;
  --secondary-color: #1c3fa8;
  --dark-color: #002240;
  --light-color: #f4f4f4;
}

input,
textarea,
button,
select,
div,
a {
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; /* this allows us to add padding and borders without having to add with on the element*/
}

/*-------------------------------------------------- Typography ------------------------------------------------------------------------------------*/
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
    Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  color: #333;
  line-height: 1.6;
}

/*-------------------------------------------------- Layout ------------------------------------------------------------------------------------*/

h1,
h2,
h3 {
  font-weight: 100; /* this will make it a little less bold */
  line-height: 1.2;
  margin-left: 10px 0; /* margin top and bottom 10 px and left and right 0*/
}

p {
  margin: 10px 0; /* margin on the top and bottom of the paragraphs so that you can tell that they are not squished together */
}

section {
  overflow: hidden;
}


/* --------------------------------------------------------------------------- NAVLINKS ------------------------------------------------*/

.main-body {
  height: 50vh;
  background-color: var(--primary-color);
  color: white;
}

.features-head .container,
.features-sub-head .container,
.docs-sub-head .container,
.docs-head .container,
.docs-main .container {
  max-width: 1100px;
}

nav {
  height: 8vh;
  background: var(--primary-color);
}

.nav-links {
  display: flex;
  list-style: none;
  width: 30%;
  height: 100%;
  align-items: center;
  margin-left: auto;
}

.nav-links li a:hover,
.nav-links li a:focus {
  border-bottom: 2px #fff solid;
}

.nav-links li a {
  color: white;
  text-decoration: none;
  font-size: 15px;
  color: #fff;
  padding: 10px;
  margin: 0 5px;
}

/* ------------------------------------------------------FOOTER ------------------------*/

.footer .social a {
  margin: 0 20px;
}

.fa-github:hover {
  color: #000000;
}

.fa-facebook:hover {
  color: #1773ea;
}

.fa-instagram:hover {
  color: #b32e87;
}

.fa-twitter:hover {
  color: #1c9cea;
}

/* --------------------------------------------------------------- Media Queries -----------------------------------------------*/
/* tablet view and under */
@media (max-width: 768px) {
  .hero .grid,
  .stats .grid,
  .clid .grid,
  .cloud .grid,
  .features-main .grid,
  .docs-main .grid,
  .grid {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr; /* this is used to make everything stack on top of each other as such we select all the grids */
  }

  .hero {
    height: auto; /* by setting this to auto it will take the amount of the container */
  }

  .hero-text {
    text-align: center;
    margin-top: 40px; /* this is to push it down a bit */
  }

  .cli .grid > *:first-child {
    /* this is so thhat the grid first child element will occupy one column and one row */
    grid-column: 1;
    grid-row: 1;
  }
  .cli .grid {
    padding-top: 300px;
    height: 50vh;
  }

  .features-head,
  .features-sub-head,
  .docs-head {
    text-align: center;
  }

  .features-sub-head img,
  .docs-head img {
    justify-self: center; /* this is to make sure that the images within the head section of each page is aligned to the center when we shrink */
  }

  .features-head .grid > *:first-child,
  .features-sub-head .grid > *:nth-child(2) {
    grid-column: 1;
  }

  .line {
    animation: fade-in 1s ease-in-out;
    width: 30px;
    height: 3px;
    background: white;
    margin: 5px;
  }

  nav {
    position: relative;
  }

  .nav-links li {
    padding: 20%;
  }

  /* ANIMATION */

  .hamburger.open {
    padding-right: 35px;
  }

  .hamburger.open .midll {
    animation: fade-out 2.5s ease-in-out;
    transform: translateX(-50px);
    background: transparent;
    box-shadow: none;
  }
  .hamburger.open .top {
    animation: fade-in 1s ease-in-out;
    transform: rotate(45deg) translate(35px, -25px);
  }
  .hamburger.open .bottm {
    animation: fade-in 1s ease-in-out;
    transform: rotate(-45deg) translate(35px, 25px);
  }

  .hamburger {
    animation: fade-in 1s ease-in-out;
    position: absolute;
    cursor: pointer;
    right: 5%;
    top: 50%;
    transform: translate(-5%, -50%);
    z-index: 100;
  }

  .nav-links {
    animation: fade-in 1s ease-in-out;
    position: fixed;
    background: rgba(0, 0, 0, 0.8);
    height: 100%;
    width: 100%;
    flex-direction: column;
    transform: translateX(160%);
    clip-path: circle(100px at 90% -10%);
    -webkit-clip-path: circle(100px at 90% -10%);
    transition: all 1s ease-out;
    pointer-events: none;
    z-index: 90;
  }

  .nav-links.open {
    clip-path: circle(1000px at 90% -10%);
    -webkit-clip-path: circle(1100px at 90% -10%);
    pointer-events: all;
    transform: translateX(0%);
    width: 100%;
  }

  .nav-links li {
    opacity: 0;
  }

  .nav-links li a {
    font-size: 15px;
  }

  .nav-links.open li {
    animation: addRemoveBox 1.5s ease-in-out;
    padding: 8%;
  }

  .nav-links li:nth-child(1) {
    transition: all 0.5s ease 0.2s;
  }

  .nav-links li:nth-child(2) {
    transition: all 0.5s ease 0.4s;
  }

  .nav-links li:nth-child(3) {
    transition: all 0.5s ease 0.6s;
  }

  li.fade {
    opacity: 1;
  }

  .to-hide {
    display: inline;
  }
}

@media (max-width: 1300px) {
  .nav-links {
    display: flex;
    list-style: none;
    width: 50%;
    height: 100%;
    align-items: center;
    margin-left: auto;
  }

  .nav-links li a:hover,
  .nav-links li a:focus {
    border-bottom: 2px #fff solid;
  }

  .nav-links li a {
    color: white;
    text-decoration: none;
    font-size: 15px;
    color: #fff;
    padding: 10px;
    margin: 0 5px;
  }
}

@media (max-width: 620px) {
  .features-head img {
    display: none;
  }
}

@media (max-width: 720px) {
  .cli .grid {
    display: none;
  }

  .footer .social {
    height: 100%;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    flex-direction: column;
  }
}
