@charset "UTF-8";

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-VariableFont_wght.ttf') format('truetype');
}  
@font-face {
    font-family: 'MontserratItalic';
    src: url('../fonts/Montserrat-Italic-VariableFont_wght.ttf') format('truetype');
}  

html {
    height:100%;
    scroll-behavior: smooth;
  }

body {
      font-family:'Montserrat';
      font-size:1rem;
      font-weight:300;
      /* configurable: background-color:#f4f4f4; */
      overflow-y: scroll;
      background-color:#eceff0;
      color:#0c2e3f;
      min-height:100%;
      display: flex;
      flex-direction: column;
      min-height: 100vh;
  }
  #cuerpo {
      flex:1
  }
  h1 {
    font-size:1.5rem;
    font-weight:300;
}
h2 {
      font-size:1.2rem;
      font-weight:300;
  }
  p {
      font-size:1rem;
  }
  a {
    text-decoration:none;
    cursor:pointer;
    color:#000000;
  }
  .negrita, strong, b {
    font-weight:600;
  }
  .container {
      max-width:1280px;
    /* max-width:100%; */
  }
  #cabecera { 
    width:100%; 
    height:126px;
    background-color:#fff;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
    align-content: stretch;
    z-index:999;
}
  #cab-logo { 
    display: block;
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: auto;
    align-self: center;
    order: 0;
    padding-left:2rem;
    padding-right:2rem;
  }
  #cab-menu { 
    display: block;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: auto;
    align-self: center;
    order: 0;
  }
  .cab-menu-contenedor-opciones {
    width:100%; 
    display: flex; 
    flex-direction: row; 
    flex-wrap: nowrap; 
    justify-content: flex-end; 
    align-items: stretch; 
    align-content: stretch;
  }
  .cab-menu-opcion {
    display: block;
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: auto;
    align-self: center;
    order: 0;
    padding-left:4%;
    font-size:1rem;
    border:0px solid #ccc;
  }
  .cab-menu-contenedor-subopciones {
    width:100%; 
    display: flex; 
    flex-direction: row; 
    flex-wrap: nowrap; 
    justify-content: center; 
    align-items: stretch; 
    align-content: stretch;
  }
  .cab-menu-subopcion {
    display: block;
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: auto;
    align-self: center;
    order: 0;
    padding-left:3%;
    font-size:0.8rem;
    border:0px solid #ccc;
  }
  #cab-idiomas { 
    display: block;
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: auto;
    align-self: center;
    order: 0;
    padding-right:2rem;
    padding-left:6%;
  }
  #cab-idiomas a { 
    padding-left:0.5rem;
    color:#000;
    font-size:0.8rem;
  }

  .menu-toggle {
    display: none; /* Se muestra solo en móviles */
    background: transparent;
    border: none;
    cursor: pointer;
    outline: none;
  }
  
  .menu-toggle .bar {
    display: block;
    width: 25px;
    height: 3px;
    margin: 5px auto;
    transition: all 0.3s ease-in-out;
    background-color: #0c2e3f;
  }

  .navbar {
      padding-left:10%;
      padding-right:10%;
  }
  #navbarCollapse {
      text-align:center;
  }
  .nav-item {
      font-size:0.9rem;
      padding-right:1rem;
  }
  .nav-item.active {
      font-weight:bold;
  }
  .item-idioma {
      text-decoration:none; 
      color:#7f7f80; 
      font-size:0.75rem; 
      font-weight:bold;
  }
  .item-idioma.active {
      /* configurable: color:#ff0037; */
  }
  #caja_menu {
      display:none; 
      text-transform:uppercase; 
      position:fixed; 
      top:50px; 
      right:55px; 
      /*width:225px; */
      padding:10px;
  }
  .caja_menu_portada {
      background-color:#f4f4f4;
      opacity:0.7;
      width:100%;
      padding:5px;
      
  }
  .estilo_menu {
      text-decoration:none; 
      cursor:pointer;
      /* configurable desde webapp: color:#000; */
      font-family: 'Montserrat';
    font-weight:400;
      margin-right:0px;
      transition:margin-right .5s ease;
      will-change:margin-right;
  }
  .estilo_menu:hover {
      text-decoration:none; 
      /* configurable desde webapp: color:#ff0037; */
      font-family: 'Montserrat';
      font-weight:600;
      margin-right:10px;
      transition:margin-right .5s ease;
      will-change:margin-right;
  }

  .imagen-portada {
      width:100%;
      max-width:370px;
      height:auto;
  }
  .grid-item {
        margin-bottom:30px;
  }
  .grid-sizer, .grid-item { 
      width:32%; 
  }
  .espacio_primera_linea::first-line {
      margin-left:30px;
  }
  .campo {
      width:100%;
      border:0px solid #000;
      margin-bottom:30px;
  }
  .etiqueta_form {
      padding-top:10px;
  }
  
  .menu_activo {
      /* configurable: color:#ff0023;*/
  }
  .menu_activo::after {
    content:  "-";
    /* configurable: color:#ff0023;*/
  }
  #caja_scroll_down {
      display:none; 
      cursor:pointer; 
      position:fixed; 
      top:45%; 
      right:15px; 
      width:15px; 
      z-index:1100;
  }
  #caja_scroll_up {
      display:none; 
      position:fixed; 
      top:45%; 
      right:15px; 
      width:15px; 
      z-index:1100;
  }
  .foto-descripcion {
    display:none; 
    position:absolute; 
    top:0; 
    left:0; 
    width:100%; 
    height:100%; 
    background:url('/plantillas/ems/img/fondo75blanco.png');
}

.foto-descripcion-txt {
    width:100%; 
    position:absolute; 
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%);
}
#cajas_feed {
    text-transform: uppercase;
}
.fila-feed {
    display: block;
    /*width: 100%;*/
}
.fila-feed.derecha {
    text-align: right;
}
.fila-feed.izquierda {
    text-align: left;
}
.imagen-feed {
    position: relative;
    width: 100%;
    max-width: 800px;
    display: block;
}
.fila-feed.derecha .imagen-feed {
    margin-left: auto; /* Empuja la imagen a la derecha */
}
.imagen-feed:hover .overlay {
    opacity: 1;
}
.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(12, 46, 63, 0.35); /* Azul semitransparente */
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.overlay p {
    color: white;
    font-size: 1rem;
    text-transform: uppercase;
}
.boton {
    border:1px solid #0c2e3f;
    padding-top:0.5rem;
    padding-bottom:0.5rem;
    padding-left:1.5rem;
    padding-right:1.5rem;
    margin:2rem;
    text-transform: uppercase;
    font-weight:200;
    color:#0c2e3f;
    background: transparent;
    white-space: nowrap;
}
.boton:hover {
    border:1px solid #0c2e3f;
    color:#eceff0;
    background:#0c2e3f;
}
  #logo_animado {
position:absolute;
top:45%;
left:calc(50% - 38px);
width:75px; 
height:auto; 
text-align:center; 
}

  footer {
    font-size:0.8rem;
    padding:1rem;
    margin-top:auto;
}
.ico_rrss {
    padding:5px;
    width:35px;
    height:35px;
    border:1px solid #0c2e3f;
    border-radius:10px;
    margin:5px;
    transition: background-color 0.3s ease-in-out;
}
.ico_rrss:hover {
    background-color:#0c2e3f;
}
  #caja-lpd {
      z-index:1000; 
      position:fixed; 
      left:0; 
      bottom:0; 
      width:400px; 
      background:#F0F0F0; 
      padding:30px; 
      font-size:16px
  }
  
  .modal-dialog {
      max-width:75%;
  }
  #enrique-marti-associates {
      height:15px;
      margin-left:10px; 
      z-index:1100;
  }
  #buscar {
      display:none; 
      width:200px; 
      border:1px solid #000
  }			
  .enlace_press {
      text-decoration:none; 
      cursor:pointer; 
      color:#000;
  }
  .enlace_press:hover {
      text-decoration:none; 
      color:#ff0037;
      font-weight:800;
  }
  
  .foto_proyecto {
    margin-bottom:4rem;
  }
  
  #pie p {
    font-size:0.8rem !important;
  }
  
  
  /* PANTALLAS MAYORES DE 1000px */
  @media (min-width: 1000px) {
      #caja_primera_imagen {
          position:absolute; top:30%; left:-50px; width:50px; height:70%; text-align:center;
      }
      #caja_primera_imagen_back {
          position:absolute; top:0%; left:-110px; width:71px; height:20px;
      }
      #texto_primera_imagen {
          text-align:right; transform-origin:100% 100%; transform: rotate(-90deg); width:500px; margin-left:-500px;
      }
      #texto_segunda_imagen {
          position:absolute; top:-150px; left:5%; width:90%; padding:5%; background:#fff;
      }
                      
  }
  
  
  @media (max-width: 1900px) {
      #caja_scroll_down, #caja_scroll_up {
          right:15px; 
      }
  }
  
  
  
  /* SOLO MOVILES Y TABLETAS */
  @media (max-width: 1000px) {
    h1 {
        font-size:1.2rem;
        font-weight:300;
    }
    h2 {
          font-size:1.1rem;
          font-weight:300;
      }
      h3 {
          font-size:1rem;
      }
      .navbar {
          padding-left:0 !important;
          padding-right:0 !important;
      }
      #navbarCollapse {
          /*margin-top:32px; */
          background:url('/plantillas/ems/img/fondo75blanco.png');
      }
      .grid-sizer, .grid-item { 
          width:90%; 
      }
      #caja_scroll_down, #caja_scroll_up {
          bottom:20px; 
          right:5%; 
      }
      #caja_menu_lista {
          background-color:#f4f4f4;
          opacity:0.9;
          width:100%;
          padding:5px;
      }
      .foto-feed {
          margin-top:40px !important;
      }
      .foto-feed img {
          width:100% !important;
          max-width:100% !important;
          padding-left:0 !important;
          padding-right:0 !important;
      }
      #cajas_feed {
          margin-top:0 !important;
      }
      #pie_movil {
          display:block !important;
      }
      #caja_primera_imagen {
          text-align:center;
          min-height:100px;
          padding-top:30px
      }
      #caja_primera_imagen_back {
          display:none;
      }
      #texto_primera_imagen {
          
      }
      #texto_segunda_imagen {
          display:none;
      }
      
    #cab-menu {
      display: none;
      width: 100%;
      background: #fff;
      position: absolute;
      top: 126px; /* Altura de la cabecera */
      left: 0;
      padding: 1rem 0;
      z-index: 100;
    }
    /* Muestra el menú cuando se activa la clase */
    #cabecera.active #cab-menu {
      display: block;
    }
    /* Muestra el botón de menú en móviles */
    .menu-toggle {
      display: block;
    }
    /* Transformación del icono: de hamburguesa a cruz */
    #cabecera.active .menu-toggle .bar:nth-child(1) {
      transform: translateY(8px) rotate(45deg);
    }
    #cabecera.active .menu-toggle .bar:nth-child(2) {
      opacity: 0;
    }
    #cabecera.active .menu-toggle .bar:nth-child(3) {
      transform: translateY(-8px) rotate(-45deg);
    }
    #logo-img {
        height:60px !important;
    }
    #cab-idiomas a {
        display:block;
    }
    .cab-menu-contenedor-subopciones {
        flex-wrap: wrap;
        justify-content: center;
        background:#fff;
        padding-top:3rem;
    }
      .cab-menu-subopcion {
        flex: 0 0 33.33%;
        text-align: center;
        margin-bottom: 10px;
      }
      .cab-menu-contenedor-opciones {
        flex-direction:column !important;
      }

      .overlay {
        display:none !important;
      }
      .fila-feed {
        margin:0 !important;
      }
      .imagen-feed {
        width:100% !important;
        margin-bottom:1rem;
      }
      #cab-boton { 
        display: block;
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: auto;
        align-self: center;
        order: 0;

      }
      #menu-toggle {
        float:right;
      }

      .foto_proyecto {
        margin-bottom:2rem;
      }

      .cab-menu-opcion {
        margin-bottom:1rem;
      }
      #pie .row div {
        text-align:center !important;
      }
      
  }

      