body {
  overflow-x: hidden;
  width: 100vw;
  min-height: 100vh;
}
.own_header {
  position: fixed;
  top: 0;
  height: 10vh;
  z-index: 35;
  transition: all 0.8s ease;
  overflow: hidden;
}
.header-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.5s linear;
}
.header_active .header-overlay {
  opacity: 1;
  background-color: #fff;
}
.header_active #contact-link {
  border: 2.5px solid #000;
}
.header_active .nav_bar_list_item {
  color: #000;
  text-shadow: 2px 2px 4px #fff;
}
.header_active .nav_bar_list_item_link_active {
  border-bottom: 1.5px solid #000;
}

/* Si el menu esta abierto entonces... */
.header_menu_active > .header-overlay {
  opacity: 1;
  background-color: rgba(0, 0, 0, 0.9);
}
.nav_bar_container {
  width: 100vw;
  height: 100%;
  padding: 0 5vw;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}
.nav {
  width: 30%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  display: none;
}
.nav_bar_list_item {
  color: var(--grey-color);
  font-size: clamp(.8rem, 1vw, 1.5rem);
}
.nav_bar_list_item_link_active {
  border-bottom: 1.5px solid var(--grey-color);
}

#contact-link {
  /* margin-left: 10px; */
  padding: 5px 10px;
  border: 2.5px solid #000;
  border-radius: 10px;
  transition: all 0.3s ease;
}
.brand_logo {
  height: 100%;
  width: 70%;
  position: relative;
  cursor: pointer;
}
.header_logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.8s linear;
  margin-top: -85%;
}

/* .header_active #white_logo {
  opacity: 0;
} */
.header_brand_name {
  font-size: clamp(1rem, 2.2vw + 0.8rem, 2.725rem);
  font-weight: 600;
  /* font-family: 'Josefin Sans', sans-serif; */
  text-align: center;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: var(--grey-color);
  transition: margin-top 0.8s linear, color 0.3s linear;
  display: flex;
  align-items: center;
}

/* Para el logo-hamburguesa */
.menu_logo {
  height: 80%;
  max-height: 50px;
  cursor: pointer;
  text-align: end;
  scale: 0.5;
  position: absolute;
  right: 3%;
}

.menu_logo:before,
.menu_logo:after,
.menu_logo div {
  background: #fff;
  content: "";
  display: block;
  width: 50px;
  height: 6px;
  border-radius: 3px;
  margin: 7px 0;
  transition: 0.5s;
  cursor: pointer;
}
.header_active .menu_logo:before,
.header_active .menu_logo:after,
.header_active .menu_logo div {
  background: #000;
}
.header_menu_active .menu_logo:before,
.header_menu_active .menu_logo:after,
.header_menu_active .menu_logo div {
  background: #fff;
}
/* Animaciones */

.header_active .header_brand_name {
  color: #000;
  text-shadow: none;
}
.header_menu_active .header_brand_name{
  color: var(--grey-color);
  text-shadow: initial;
}
.menu_logo_active:before {
  transform: translateY(12px) rotate(135deg);
}
.menu_logo_active:after {
  transform: translateY(-12px) rotate(-135deg);
}
.menu_logo_active div {
  transform: scale(0);
}
/*  */
/* Para el menu_mobile */
.menu_mobile {
  position: fixed;
  left: 0;
  height: 90vh;
  width: 100vw;
  top: 10vh;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: rgba(0, 0, 0, 0.9);
  z-index: 20;
  transition: opacity 0.5s linear;
  overflow: hidden;
  opacity: 0;
  scale: 0;
}
.menu_mobile_active {
  opacity: 1;
  scale: 1;
}
.menu_mobile_list {
  height: 50%;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: center;
}
.menu_mobile_item {
  font-size: 1.3rem;
  color: var(--grey-color);
}
.menu_mobile_logo_container {
  height: 30%;
}
.menu_mobile_logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
/*  */

@media (min-width: 768px) {
  .brand_logo {
    width: 40%;
  }
  .own_header{
    height: 15vh;
  }
  
}
@media (min-width: 1024px) {
  .nav {
    display: flex;
  }
  .menu_mobile,
  .menu_logo{
    display: none;
  }
  .nav_bar_container {
    padding: 0 5vw;
    transition: padding .5s ease;
  }
  .header_active .nav_bar_container{
    padding: 0 15vw;
  }
  /* Si pasan el mouse por arriba del header... */
  .header:hover .header-overlay {
    opacity: 1;
    background-color: #fff;
  }
  .header:hover .nav_bar_list_item {
    color: #000;
    text-shadow: none;
  }
  .header:hover .header_brand_name {
    color: #000;
    text-shadow: none;
  }
  /*  */
  /* Animaciones */
.header_active #black_logo {
  margin-top: 0;
}

.header_active .header_brand_name {
  margin-top: 50%;
  color: var(--grey-color);
}

}
