:root {
   /* --primary-color: #047aed; */
   --primary-color: linear-gradient(
      315deg,
      hsla(0, 94%, 33%, 1) 0%,
      hsla(224, 76%, 13%, 1) 100%
   );
   --secondary-color: #1c3fa8;
   --dark-color: #002240;
   --light-color: #f4f4f4;
   --success-color: #5cb85c;
   --error-color: #d9534f;
}
/*==============
  general reset 
 ===============*/
* {
   box-sizing: border-box;
   margin: 0;
   padding: 0;
}
body {
   font-family: 'Poppins', sans-serif;
   color: #333;
   line-height: 1.6;
}
h1,
h2 {
   font-weight: 300;
   line-height: 1.2;
   margin: 10px 0;
}

ul {
   list-style-type: none;
}
a {
   text-decoration: none;
   color: #333;
   letter-spacing: 1.2px;
}
p {
   margin: 10px 0;
}
img {
   width: 100%;
}
.hidden {
   visibility: hidden;
   height: 0;
}
/*=============
     navbar
 ============ */
.navbar .logo {
   font-family: 'Parisienne', cursive;
   letter-spacing: 2px;
   line-height: 1.2;
   margin: 10px 0;
}
.navbar {
   /* background: var(--primary-color); */
   color: #ffffff;
   height: 70px;
}
.navbar ul {
   display: flex;
}
.navbar a {
   color: #ffffff;
   padding: 10px;
   margin: 0 5px;
}
.navbar a:hover {
   border-bottom: 1px solid #fff;
}
.navbar .flex {
   justify-content: space-between;
}
header {
   background: var(--primary-color);
}
/* showcase */
.showcase {
   height: 400px;
   /* background: var(--primary-color); */
   color: #fff;
   position: relative;
}
.showcase::before,
.showcase::after {
   content: '';
   position: absolute;
   height: 100px;
   bottom: -70px;
   right: 0;
   left: 0;
   background: #fff;
   transform: skewY(-3deg);
   -webkit-transform: skewY(-3deg);
   -mos-transform: skewY(-3deg);
   -mz-transform: skewY(-3deg);
}
.showcase h1 {
   font-size: 40px;
}
.showcase p {
   margin: 20px 0;
}
.showcase .grid {
   overflow: visible;
   grid-template-columns: 55% 45%;
   gap: 30px;
}
.showcase-form {
   position: relative;
   top: 60px;
   height: 350px;
   width: 400px;
   padding: 40px;
   z-index: 100;
   animation: slideInFromRight 1s ease-in;
   justify-self: flex-end;
}
.showcase-form .form-control {
   margin: 30px 0;
}
.showcase-form input[type='text'],
.showcase-form input[type='email'] {
   border: 0;
   border-bottom: 1px solid #b4becb;
   width: 80%;
   padding: 3px;
   font-size: 16px;
}
.showcase-text {
   animation: slideInFromLeft 1s ease-in;
}
.showcase-form input:focus {
   outline: none;
}
/* ==============
     features
================ */
.features-head img {
   width: 200px;
   justify-self: flex-end;
}
.features-sub-head img {
   width: 300px;
   justify-self: flex-end;
}
.features-main .card > i {
   margin-right: 20px;
}
.features-main .grid {
   padding: 30px;
}
.features-main .grid > *:first-child {
   grid-column: 1 / span 3;
}
.features-main .grid > *:nth-child(2) {
   grid-column: 1 / span 2;
}
/* ==========
    docs
=========== */
.docs-head img {
   width: 200px;
   justify-self: flex-end;
}
.docs-main h3 {
   margin: 20px 0;
}
.docs-main .grid {
   grid-template-columns: 1fr 2fr;
   align-items: start;
}
.docs-main nav li {
   font-size: 17px;
   padding-bottom: 5px;
   border-bottom: 1px solid #333;
   margin-bottom: 5px;
}
.docs-main a:hover {
   font-weight: bold;
}
/* ===========
    stats
============== */
.stats {
   padding-top: 100px;
   animation: slideInFromBottom 1s ease-in;
}
.stats-heading {
   max-width: 600px;
   margin: auto;
}
.stats .grid h3 {
   font-size: 45px;
}
.stats .grid p {
   font-size: 20px;
   font-weight: bold;
}
.stats-card {
   background: var(--dark-color);
   color: #fff;
   border-radius: 5px;
}
.stats-card i {
   margin-top: 10px;
}
/* Cli */
.cli .grid {
   grid-template-columns: repeat(3, 1fr);
   grid-template-rows: repeat(2, 1fr);
}
.cli .grid > *:first-child {
   grid-column: 1 / span 2;
   grid-row: 1 / span 2;
}
/* cloud */
.cloud .grid {
   grid-template-columns: 4fr 3fr;
}
/* languages */
.languages .flex {
   flex-wrap: wrap;
}
.languages .card {
   text-align: center;
   margin: 18px 10px 40px;
   transition: all 0.2s ease-in;
}
.languages .card:hover {
   transform: translateY(-8px);
}
.languages .card h4 {
   font-size: 20px;
   margin-bottom: 10px;
}
/* Animations */
@keyframes slideInFromLeft {
   0% {
      transform: translateX(-100%);
   }
   100% {
      transform: translateX(0);
   }
}
@keyframes slideInFromRight {
   0% {
      transform: translateX(100%);
   }
   100% {
      transform: translateX(0);
   }
}
@keyframes slideInFromTop {
   0% {
      transform: translateY(-100%);
   }
   100% {
      transform: translateX(0);
   }
}
@keyframes slideInFromBottom {
   0% {
      transform: translateY(100%);
   }
   100% {
      transform: translateX(0);
   }
}
/* footer */
.footer .social a {
   margin: 0 10px;
}
.footer .social a > i {
   padding: 5px;
   border-radius: 50%;
   transition: all 0.2s ease-in;
}
.footer .social a > i:hover {
   background: var(--light-color);
   color: var(--dark-color);
}
/* code pre */
code,
pre {
   background: #333;
   color: #fff;
   padding: 10px;
   border-radius: 5px;
}
/* Tablets and under */
@media (max-width: 768px) {
   .grid,
   .showcase .grid,
   .stats .grid,
   .cli .grid,
   .cloud .grid,
   .features-main .grid,
   .docs-main .grid {
      grid-template-columns: 1fr;
      grid-template-rows: 1fr;
   }
   .showcase {
      height: auto;
   }
   .showcase-text {
      text-align: center;
      margin-top: 40px;
      animation: slideInFromTop 1s ease-in;
   }
   .showcase-form {
      justify-self: center;
      margin: auto;
      animation: slideInFromBottom 1s ease-in;
   }
   .cli .grid > *:first-child {
      grid-column: 1;
      grid-row: 1;
   }
   .features-head,
   .features-sub-head,
   .docs-head {
      text-align: center;
   }
   .features-head img,
   .features-sub-head img,
   .docs-head img {
      justify-self: center;
   }
   .features-main .grid > *:first-child,
   .features-main .grid > *:nth-child(2) {
      grid-column: 1;
   }
}
/* Mobile */
@media (max-width: 500px) {
   .navbar {
      height: 110px;
   }
   .navbar .flex {
      flex-direction: column;
   }
   .navbar ul {
      padding: 10px;
      background: rgba(0, 0, 0, 0.1);
   }
}
