*{
  margin: 0;
  padding: 0;
  box-sizing:border-box;

  /* trim both sides to the capital letters */
  text-box: trim-both cap alphabetic;
  /* trim both sides to the lowercase letter x */
  text-box: trim-both cap alphabetic;
}

html, body{
    background-color: rgb(249, 249, 249);
    /* cursor: none; */
    overflow: overlay;
    overflow-x: hidden;

    font-family: bdo;

    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  body::-webkit-scrollbar {
  display: none;
}
  
  
  :root {
    --negro: #101010;
    --blanco: #f9f9f9;
    --azul: #0000FF;
  }
  

  @font-face {
    font-family: 'bdo';
    src: url('/font/BDOGrotesk-VF.woff2')format('woff2-variations');
    font-weight: 100 900;
}

::selection {
      background: black;
      color: white;
    }

::-webkit-selection {
    background: black;
    color: white;
}

  
  p {
    white-space: normal;
    word-break: break-word;
    display: inline;
    margin: 0;
    padding: 0;
    line-height: 130%;
  }
  
  h1 {
    font-size: 2.5em;
    margin: 0;
    padding: 0;
    letter-spacing: -.7px;

    font-weight: 400;
    line-height: 110%;
  }
  
  h2{
    font-size: 2em;
    margin: 0;
    padding: 0;
  }
  
  img{
    display:inherit;
    margin: 0;
    padding: 0;
    /* width: 100%; */
    border-radius: 5px;

    object-fit: cover;
    object-position: center center;
  }
  
  svg, path{
    display: block;
    margin: 0;
    padding: 0;
  }
  
  a{
    display: inline;
    margin: 0;
    padding: 0;
    text-decoration: none;
    color: var(--negro);
  }

  a:hover, .socials a:hover, .links a:hover{
    color: var(--azul);
    cursor: pointer;
  }


/* --------- NAVBAR -------- */

  #navbar {
      position: fixed;
      width: 100%;
      top: 0;
      left: 0;
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      background-color: var(--blanco);
      z-index: 1000;

      padding: 18px 20px 11px;
      letter-spacing: -.3px;

      cursor:default;
    }

    .logo {
      white-space: normal;
      
      color: var(--negro);
      font-weight: 400;
      line-height: 110%;
    }

    .hover_bea:hover{
      color: var(--azul);
    }

    .links{
        display: flex;
        flex-direction: row;
        gap: 3em;
    }

    .links a {
      text-decoration: none;
      color: var(--negro);
      font-weight: regular;
      font-size: 0.938em;
    }

    #icono_menu_mobile{
      display: none;
    }

    #icono_menu_mobile img{
      border-radius: 0px;
    }

    #desplegable_mobile{
      display: none;
    }

    /* --------- PROYECTO -------- */

.proyecto_completo{
    padding: 20px 20px 0px;
    display: flex;
    flex-direction: column;
    object-fit: cover;
    width: 100%;
    overflow: visible;

    margin-top: 21px;
    margin-bottom: 10px;
}

.portada_proy{
  width: 100%;
  height: 95vh;
  overflow: hidden;
}

.portada_proy img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

/* INFO PROYECTO */

.info_proy{
    padding: 20px 0px 100px;
    display: flex;
    flex-direction: row;

    justify-content: space-between;
    align-items: flex-start;
}

.titulo_desc{
    display: flex;
    flex-direction: column;
    gap: 22px;
    max-width: 580px;
}

.titulo_desc p a {
  display: inline !important;
  white-space: nowrap;
}

.tags{
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 250px;
}


/* PROYECTO */

.imagenes_proy{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.img_proy{
  width: 100%;
  /* height: 50vh; */
  overflow: hidden;
}

.img_proy img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

/* LINEA FINAL */

.cont_linea{
  padding: 0px 20px;
}

.linea{
  width: 100%;
  height: 1px;
  background: black;
  opacity: .2;
}


/* ---------- MAS PROYECTOS ---------- */

.mas_proy{
  padding: 36px 20px 0px;
  display: flex;
  flex-direction: column;
  gap: 180px;
  margin-bottom: 42px;
}

.img_mas_proy{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
}

.img_mas_proy_int img{
  height: 100%;
  width: 100%;
  object-fit: cover;
}


/* ---------- FOOTER ---------- */

.footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: var(--blanco);
  z-index: 999;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  overflow: hidden;
  gap: 30px;
  padding: 15px 20px;


  transform: translateY(100%);
  transition: transform 0.4s ease;
  pointer-events: none;
}

.footer.visible {
  transform: translateY(0%);
  opacity: 1;
  pointer-events: auto;
}

#footerMessage {
  display: none;
  transform: translateY(20px);
  height: 0;
  opacity: 0;
}

#footerEmail {
  font-size: 1em;
}

.socials{
  display: flex;
  gap: 3em;
}

.socials a {
  text-decoration: none;
  color: var(--negro);
  font-weight: regular;
  font-size: 1em;
}

/* ------- */

.footer_mobile{
  display: none;
}

@media (max-width: 1024px) and (min-width: 768px) {


/* INFO PROYECTO */

.titulo_desc{
    max-width: 440px;
}

  /* ------------- */

.links{
  gap: 2em;
}

.mas_proy{
  padding: 26px 20px 0px;
  gap: 150px;
}

.mas_proy h1{
  font-size: 2em;
}

}

@media (max-width: 880px) and (min-width: 768px) {

  .info_proy{
    padding: 20px 0px 30px;
    flex-direction: column;

    gap: 40px;
}

}

@media (max-width: 768px) and (min-width: 425px) {

.info_proy{
  padding: 20px 50px 30px 0px;
  flex-direction: column;

  gap: 40px;
}

  
.proyecto_completo{
  padding: 20px 10px 0px;
}

.imagenes_proy{
  gap: 5px;
}

.links{
  gap: 1.2em;
}

/* ---------- MAS PROYECTOS ---------- */

.cont_linea{
  padding: 0px 10px;
}

.mas_proy{
  padding: 26px 10px 0px;
  display: flex;
  flex-direction: column;
  gap: 150px;
  margin-bottom: 42px;
}

.img_mas_proy{
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.mas_proy h1{
  font-size: 2em;
}

/* --------- FOOTER --------- */

.footer{
  display: none;
}

.footer_mobile{
  position: fixed;
  bottom: 0;
  width: 100vw;
  background-color: var(--blanco);
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 10px 10px;

  transform: translateY(100%);
  transition: transform 0.4s ease;
  pointer-events: none;
}

.footer_mobile.visible {
  transform: translateY(0%);
  opacity: 1;
  pointer-events: auto;
}

.icons_mobile{
  display: flex;
  flex-direction: row;
  gap: 14px;
}

}

@media (max-width: 424px) {

#navbar {
  padding: 12px 10px 9px;
}

#icono_menu_mobile{
  display: block;
}

#desplegable_mobile{
  width: 100vw;
  position: fixed;
  padding: 50px 10px 0px;
  display: none;
  flex-direction: column;
  background-color: var(--blanco);
}

.desplegable_int{
  padding: 36px 0px 16px;
  text-align: right;
}

.desplegable_int_borde{
  border-top: 2px solid #d9d9d9;
  padding: 16px 0px 16px;
}

.links{
  display: none;
}

/* ----------------- */

.info_proy{
  padding: 20px 40px 50px 0px;
  flex-direction: column;

  gap: 40px;
}


/* ----------- */

.proyecto_completo{
  padding: 10px 10px 0px;
  margin-top: 28px;
}

.imagenes_proy{
  gap: 5px;
}

/* ---------- MAS PROYECTOS ---------- */

.cont_linea{
  padding: 0px 10px;
}

.mas_proy{
  padding: 26px 10px 0px;
  display: flex;
  flex-direction: column;
  gap: 120px;
  margin-bottom: 42px;
}

.img_mas_proy{
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.mas_proy h1{
  font-size: 1.8em;
}

/* FOOTER */

.footer{
  display: none;
}

.footer_mobile{
  position: fixed;
  bottom: 0;
  width: 100vw;
  background-color: var(--blanco);
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 10px 10px;
}

.icons_mobile{
  display: flex;
  flex-direction: row;
  gap: 14px;
}

}