/* NAV */
.navbar {
  height: 10vh;
  display: flex;
  align-items: flex-start;
  margin-top: var(--r16);
  padding-left: 3rem;
  padding-right: 3rem;
}

.nav-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  position: relative;
}

/* Logo */
.nav-wrap #logo-wrap {
  height: 50%;
}
#logo-wrap img {
  position: absolute;
  top: -20px;
  width: 100px;
}

@supports (-webkit-touch-callout: none) {
  .nav-wrap #logo-wrap lottie-player {
    width: 45%;
  }
}

/* Menu underline */
.nav-item {
  position: relative;
}

.nav-item .menu-hover-line {
  background-image: linear-gradient(
    to right,
    #fcdc00,
    #fbc519,
    #fa954e,
    #f96e79,
    #f95397,
    #fd0988
  );
  position: absolute;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  top: 100%;
  right: 50%;
  width: 90%;
  height: 0.3vw;
  transform-origin: center;
  transform: scaleX(0) translateX(50%);
  -webkit-transform: scaleX(0) translateX(50%);
  -moz-transform: scaleX(0) translateX(50%);
  -ms-transform: scaleX(0) translateX(50%);
  -o-transform: scaleX(0) translateX(50%);
  transition: transform 0.1s linear;
  -webkit-transition: transform 0.1s linear;
  -moz-transition: transform 0.1s linear;
  -ms-transition: transform 0.1s linear;
  -o-transition: transform 0.1s linear;
}

.nav-item:hover .menu-hover-line {
  transition: transform 0.5s cubic-bezier(0, 0, 0.63, 1.46);
  -webkit-transition: transform 0.5s cubic-bezier(0, 0, 0.63, 1.46);
  -moz-transition: transform 0.5s cubic-bezier(0, 0, 0.63, 1.46);
  -ms-transition: transform 0.5s cubic-bezier(0, 0, 0.63, 1.46);
  -o-transition: transform 0.5s cubic-bezier(0, 0, 0.63, 1.46);
  transform: scaleX(1) translateX(50%);
  -webkit-transform: scaleX(1) translateX(50%);
  -moz-transform: scaleX(1) translateX(50%);
  -ms-transform: scaleX(1) translateX(50%);
  -o-transform: scaleX(1) translateX(50%);
}

.nav-link {
  font-family: "Cera Pro Medium";
}

.navbar-toggler {
  position: relative;
  height: 15px;
  width: 30px;
  border: none;
}

.navbar-brand {
  position: relative;
  height: 180px;
  width: 200px;
}

.navbar-brand > img {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  max-width: 800px;
  z-index: 999;
}

.mob-main-menu {
  display: none;
}

/* MOBILE */
.nav__toggle {
  position: absolute;
  display: block;
  width: 100%;
  height: 0.2rem;
  margin-bottom: 0.3rem;
  background-color: #fff;
  z-index: 9999;
  border-radius: 25px;
}

.nav__toggle:nth-child(1) {
  top: 0;
  width: 60%;
  right: 0;
}

.nav__toggle:nth-child(2) {
  top: 50%;
  left: 0;
}

.nav__toggle:nth-child(3) {
  top: 100%;
  width: 60%;
  left: 0;
}

.mob-main-menu {
  position: fixed;
  width: 100%;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: -1;
  background-color: var(--bg-color);
  max-width: 96vw;
  /* display: flex; */
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  opacity: 0;
  height: 0;
  overflow-y: scroll;
}

.mob-main-menu::-webkit-scrollbar {
  display: none;
}

.mob-main-menu ul:nth-child(1) {
  list-style: none;
  padding-top: var(--r200);
  padding-left: 0rem;
}

.mob-main-menu .mob-social-wrap {
  list-style: none;
  position: absolute;
  bottom: 6em;
  padding-left: 0rem;
}

.mob-main-menu ul li {
  margin: 0.8rem 0;
  font-size: 1.8rem;
  text-align: center;
}

.mob-main-menu ul li a {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
  text-align: center;
}

.mob-main-menu ul li .active {
  color: rgba(255, 255, 255);
}

.mob-social-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  column-gap: 1rem;
  width: 100%;
  padding-left: var(--r16) !important;
}

.mob-social-wrap li a i {
  font-size: 18px;
}

/* Mobile Services Submenu*/
.mob-services-dropdown-wrap {
  overflow: hidden;
}

.services-link {
  margin-left: 35px;
}

.mob-services-dropdown {
  display: grid;
  font-size: 1rem;
  row-gap: 0.5rem;
  height: 0px;
  transition: height 0.2s linear;
  -webkit-transition: height 0.2s linear;
  -moz-transition: height 0.2s linear;
  -ms-transition: height 0.2s linear;
  -o-transition: height 0.2s linear;
}

#arrow {
  position: relative;
  margin-left: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 0.5rem;
  transform: translateY(-25%) rotateZ(45deg);
  -webkit-transform: translateY(-25%) rotateZ(45deg);
  -moz-transform: translateY(-25%) rotateZ(45deg);
  -ms-transform: translateY(-25%) rotateZ(45deg);
  -o-transform: translateY(-25%) rotateZ(45deg);
  transition: transform 0.2s linear;
  -webkit-transition: transform 0.2s linear;
  -moz-transition: transform 0.2s linear;
  -ms-transition: transform 0.2s linear;
  -o-transition: transform 0.2s linear;
}

#arrow.active-arrow {
  transform: translateY(25%) rotateZ(45deg) scale(-1);
  -webkit-transform: translateY(25%) rotateZ(45deg) scale(-1);
  -moz-transform: translateY(25%) rotateZ(45deg) scale(-1);
  -ms-transform: translateY(25%) rotateZ(45deg) scale(-1);
  -o-transform: translateY(25%) rotateZ(45deg) scale(-1);
  transition: transform 0.2s linear;
  -webkit-transition: transform 0.2s linear;
  -moz-transition: transform 0.2s linear;
  -ms-transition: transform 0.2s linear;
  -o-transition: transform 0.2s linear;
}

/* MEDIA QUERY */
@media screen and (min-width: 2560px) {
  .navbar {
    height: 10vh;
  }

  .nav-link {
    font-size: 36px;
  }

  .navbar-brand > img {
    width: 400px;
    max-width: unset;
  }
}

.services-nav-item {
  height: fit-content;
}

/* Service Dropdown */
.services-dropdown {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: max-content;
  gap: 10px;

  text-align: start;
  justify-items: start;
  align-items: first baseline;

  /* height: 0px; */
  max-height: 0px;
  width: fit-content;
  visibility: hidden;

  position: absolute;
  left: -12px;
  margin-top: 4px;
  padding: 10px 20px 20px 20px;

  background: rgb(13, 11, 23, 0.7);
  overflow: hidden;

  z-index: 99;

  transition: opacity 0.5s linear;
  -webkit-transition: opacity 0.5s linear;
  -moz-transition: opacity 0.5s linear;
  -ms-transition: opacity 0.5s linear;
  -o-transition: opacity 0.5s linear;
}

.services-nav-item:hover .services-dropdown {
  /*height: 165px;
  */
  max-height: 600px;
  visibility: visible;
  transition: visibility, max-height 1s;
  -webkit-transition: visibility, max-height 1s;
  -moz-transition: visibility, max-height 1s;
  -ms-transition: visibility, max-height 1s;
  -o-transition: visibility, max-height 1s;
}

.services-dropdown > a {
  height: fit-content;
  width: max-content;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  font-size: 13px;
  white-space: nowrap;
}

.services-dropdown > a:hover,
.active {
  color: white !important;
}

@media screen and (min-width: 2560px) {
  .services-dropdown > a {
    font-size: 20px;
  }

  .services-dropdown {
    margin-top: 8px;
  }
}

@media screen and (max-width: 1000px) {
  .navbar {
    height: 10vh;
  }

  .mob-main-menu {
    display: flex;
  }
}

@media screen and (max-width: 560px) {
  .navbar {
    padding: 0 var(--r16);
    align-items: flex-start;
    margin-top: unset;
  }

  .navbar-brand {
    height: auto;
  }

  .navbar-brand > img {
    width: 70%;
    height: auto;
  }

  .nav-wrap #logo-wrap {
    height: 30%;
  }
}
