:root {
  --main-color: #D63C2E;
  --hover: #af2e22;  
  --menu-button: #19162F;
  --dirty-white: #FCFFFB;
  --main-black: #04002E;
  --card-background: #1A1737;
  --light-grey: #F5F5F540;
  --light-grey-transparent: #F5F5F594;;
  --grey-blue: #9494A5;
  --grey-blue-light: #9998A5;
  
  --transition-sec: 0.3s;
  --font-jost: 'Jost';
  --font-amiko: 'Amiko';
}

.btn-primary {
  background-color: var(--main-color) !important;
  font-family: var(--font-jost) !important;
  font-weight: 500;
  font-size: 16px;
  text-transform: none;
  padding: 10px 30px;
}
.btn-primary:hover {
  background-color: var(--hover) !important;
}
.main-logo {
  max-height: 80px;
}

/* TOP */
#mainNav .navbar-nav .nav-item .nav-link {
  font-family: var(--font-jost) !important;
  font-size: 16px;
  font-weight: 500;
  padding: 8px 30px;
}
nav.navbar.navbar-shrink {
  background-color: var(--main-black) !important;
}
@media screen and (max-width : 992px) {
  nav.navbar {
    background-color: var(--main-black) !important;
  } 
 
  nav.navbar .navbar-toggler,
  nav.navbar .navbar-toggler:hover {
    background-color: var(--grey-blue-light);
    transition: var(--transition-sec);
  }
  nav.navbar .navbar-toggler.collapsed {
    background-color: var(--menu-button);
    transition: var(--transition-sec);
  }
  #mainNav .navbar-nav .nav-item .nav-link {
    text-align: center;
  }
}
@media screen and (min-width : 992px) {
  #mainNav .navbar-nav .nav-item.last .nav-link {
    border: 1px solid var(--main-color);
    border-radius: 40px;
    padding: 8px 30px;
  }
  #mainNav .navbar-nav .nav-item.last {
    margin-left: 20px;
  }
}

header.masthead {
  background: url("../assets/img/bg-masthead.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-size: cover;
  position: relative;
  isolation: isolate;
}
header.masthead::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background-color: rgba(4, 0, 46, 0.6);
}
header.masthead::after {
  background: linear-gradient(360deg, var(--main-black) 10%, rgba(4, 0, 46, 0) 90%);
  content: '';
  position: absolute;
  width: 100%;
  height: 100px;
  bottom: 0;
}
header.masthead h2 {
  color: var(--main-color) !important;
  font-family: var(--font-jost) !important;
  font-weight: 700;
  font-size: 48px !important;
}
header.masthead h3 {
  color: var(--grey-blue) !important;
  font-family: var(--font-jost) !important;
  font-weight: 500;
  font-size: 28px !important;
}
header.masthead p {
  color: var(--dirty-white) !important;
  font-family: var(--font-amiko) !important;
  font-weight: 400;
  font-size: 20px;
}
/* TOP END */

/* ABOUT SECTION */
#services,
#about {
  background-color: var(--main-black) !important;
}
#about {
  display: flex;
  justify-content: flex-end;
}
#about .white-background {
  background-color: white;
  border-radius: 40px;
  color: var(--main-black);
  padding: 4em;
}
@media screen and (max-width : 768px) {
  #about .white-background {
    padding: 2em;
  }   
}
#about .white-background  h2 {
  font-family: var(--font-jost) !important;
  font-weight: 500;
  font-size: 48px;
}
#about .white-background  p {
  color: var(--grey-blue);
  font-family: var(--font-amiko);
  font-weight: 400;
  font-size: 20px;
}

#about .white-background .hexagon {
  width: 168px;
  height: 175px;
  max-width: 100%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  transition: var(--transition-sec);
}
#about .white-background .hexagon.tech {
  background-image: url('../assets/img/icons/hexagon_tech.png') !important;
  transition: var(--transition-sec);
}
#about .white-background .hexagon.tech:hover {
  background-image: url('../assets/img/icons/hexagon_tech_act.png') !important;
  transition: var(--transition-sec);
}#about .white-background .hexagon.coding {
  background-image: url('../assets/img/icons/hexagon_coding.png') !important;
  transition: var(--transition-sec);
}
#about .white-background .hexagon.coding:hover {
  background-image: url('../assets/img/icons/hexagon_coding_act.png') !important;
  transition: var(--transition-sec);
}
#about .white-background .hexagon.part {
  background-image: url('../assets/img/icons/hexagon_part.png') !important;
  transition: var(--transition-sec);
}
#about .white-background .hexagon.part:hover {
  background-image: url('../assets/img/icons/hexagon_part_act.png') !important;
  transition: var(--transition-sec);
}

/* ABOUT SECTION END */

/* SERVICES SECTION END */
#services .row .col {
  display: flex;
  flex-direction: column;
  padding: 16px;
}
#services .card-sep {
  height: 30px;
  width: 30px;
  border-radius: 30px;
  background-color: var(--main-color);
  margin: 30px auto;
}
#services .card {
  display: flex;
  justify-content: space-between;
  height: 100%;
  background-color: var(--card-background);
  border-radius: 16px;
  transition: var(--transition-sec);
}
#services .card:hover {
  background-color: var(--main-color);
  transform: scale(1.07);
  transition: var(--transition-sec);
}
#services .card:hover .card-sep {
  background-color: var(--card-background);
  transform: scale(1.07);
  transition: var(--transition-sec);
}
#services .card h3 {
  font-family: var(--font-jost) !important;
  font-weight: 500;
  font-size: 28px;
}
#services .card p {
  color: var(--dirty-white) !important;
  font-family: var(--font-amiko) !important;
  font-weight: 400;
  font-size: 20px;
}
#services .card .tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-family: var(--font-jost) !important;
  font-weight: 500;
  font-size: 16px;
}
#services .card .tag {
  color: var(--dirty-white) !important;
  background-color: var(--light-grey) !important;
  border-radius: 40px;
  padding: 10px 20px;
  font-size: 14px;
  margin: 6px;
  text-align: center;
}

.services-separator {
  background-color: var(--dirty-white);
  height: 100px;
  width: 100%;
}
.services-separator > .triangle {
  background-color: var(--main-black);
  clip-path: polygon(100% -1%, 0% -1%, 100% 100%);
  height: 100px;
  position: relative;
  top: -1px;
}
/* SERVICES SECTION END */

/* TECHNOLOGIES */
#technologies h2 {
  color: var(--main-black);
  font-family: var(--font-jost) !important;
  font-weight: 500;
  font-size: 48px;
}
#technologies p {
  color: var(--grey-blue);
  font-family: var(--font-amiko) !important;
  font-weight: 400;
  font-size: 20px;
}
#technologies .technologies {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
}
#technologies .technologies .tech {
  padding: 10px;
}
#technologies .technologies .tech img {
  max-height: 34px;
}
/* TECHNOLOGIES END */

/* CONTACT */
#contact {
  background-image: url('../assets/img/contact_background.png');
  background-size: cover;
  background-position: center;

  position: relative;
  isolation: isolate;
}
#contact::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background-color: rgba(4, 0, 46, 0.6);
}


#contact h2,
#contact a {
  color: var(--dirty-white);
  text-decoration: none !important;
  font-size: 20px;
}
#contact h2 {
  font-family: var(--font-jost) !important;
  font-weight: 500;
  font-size: 48px;
}
#contact p {
  color: var(--light-grey-transparent);
  font-size: 20px;
}
#contact a,
#contact p {
  font-family: var(--font-amiko) !important;
  font-weight: 400;
}
#contact a:hover {
  color: var(--main-color);
  transition: var(--transition-sec);
}
#contact .links {
  display: flex;
  flex-direction: column;
}
#contact .form-column {
  background-color: var(--card-background) !important;
  padding: 2em 4em;
  border-radius: 20px;
}
#contact .form-column label {
  color: var(--light-grey-transparent) !important;
  font-family: var(--font-amiko) !important;
  font-weight: 400;
}
#contact .form-column input,
#contact .form-column textarea {
  color: var(--grey-blue);
  border-color: var(--grey-blue) !important;
  border-radius: 20px;
  background-color: var(--card-background) !important;
  font-family: var(--font-amiko) !important;
  font-weight: 400;
}
#contact .form-column .btn-primary {
  border-radius: 40px !important;
  padding: 8px 20px !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  border: 1px solid var(--grey-blue);
  -webkit-text-fill-color: var(--grey-blue);
  -webkit-box-shadow: 0 0 0px 1000px var(--card-background) inset;
  transition: background-color 5000s ease-in-out 0s;
}
/* CONTACT END */

/* FOOTER */
footer {
  background-color: var(--dirty-white);
  color: var(--main-color) !important;
  font-family: var(--font-jost) !important;
  font-weight: 500;
}
footer img.logo {
  max-height: 80px;
}
footer .social img {
  max-height: 40px; 
}
footer .social a:nth-child(2) {
  margin: 0 10px;
}
footer h1 {
  font-size: 14px;
  display: inline-block;
}
/* FOOTER END */



.navbar-toggler {
      border: none;
      background: transparent;
      outline: none;
      padding: 0.25rem 0.5rem;
    }

    .navbar-toggler:focus {
      box-shadow: none;
    }

    /* The 3 lines (bars) */
    .toggler-icon {
      display: block;
      width: 25px;
      height: 3px;
      background-color: var(--dirty-white);
      margin: 5px auto;
      border-radius: 2px;
      transition: all 0.3s ease-in-out;
    }

    /* Change color easily here */
    .navbar-dark .toggler-icon {
      background-color: var(--dirty-white);
    }

    /* Animate into X when active */
    .navbar-toggler.collapsed .top-bar {
      transform: rotate(0) translateY(0);
    }

    .navbar-toggler.collapsed .middle-bar {
      opacity: 1;
    }

    .navbar-toggler.collapsed .bottom-bar {
      transform: rotate(0) translateY(0);
    }

    .navbar-toggler:not(.collapsed) .top-bar {
      transform: rotate(45deg) translate(5px, 5px);
    }

    .navbar-toggler:not(.collapsed) .middle-bar {
      opacity: 0;
    }

    .navbar-toggler:not(.collapsed) .bottom-bar {
      transform: rotate(-45deg) translate(6px, -6px);
    }