html {
  font-family: 'Montserrat', Helvetica Neue, Arial, Sans-serif;
  color: var(--colorTextoGeneral);
  height: 100%;
}


/* navegacion-visor */

  .navegacion-visor {
    height: 60px;
    background-color: var(--colorBackgroundBarraNavegacionVisor);
    box-shadow: 0 1px 1px 0 var(--colorBordeSombraBarraNavegacionVisor);
  }

  .contenedor-navegacion-visor {
    height: 100%;
  }

  .grid-contenedor-navegacion-visor {
    height: 100%;
  }

  .panel-titulo-documento {
    display: none;
    height: 100%;
    color: var(--colorTextoTituloVisor);
    align-items: center;
  }

  @media screen and (min-width: 576px) {
    .panel-titulo-documento {
      display: flex;
    }
  }

  .panel-titulo-documento h1 {
    font-size: var(--letra12);
    font-weight: 600;
    line-height: 14px;
    margin: 0 20px 0 20px;
    text-align: center;
  }

  @media screen and (min-width: 768px) {
    .panel-titulo-documento h1 {
      font-size: var(--letra14);
      line-height: 18px;
      margin-left: 30px;
      text-align: left;
    }
  }

  @media screen and (min-width: 992px) {
    .panel-titulo-documento h1 {
      font-size: var(--letra16);
      line-height: 20px;
    }
  }

  @media screen and (min-width: 1200px) {
    .panel-titulo-documento h1 {
      font-size: var(--letra18);
      line-height: 24px;
    }
  }

  .titulo-documento {
    margin-left: 20px;
    margin-right: 20px;
    text-align: center;
  }

  @media screen and (min-width: 768px) {
    .titulo-documento {
      height: auto;
      margin-left: 30px;
      text-align: left;
    }
  }


  /* panel-boton-anotaciones */

    .panel-boton-anotaciones {
      display: flex;
      height: 100%;
      border-left: 1px solid var(--colorBordePanelVisor);
    }

    .boton-anotaciones {
      height: 36px;
      width: 36px;
      border: 1px solid var(--colorBordeBotonCompuesto);
      border-radius: 4px;
      background-color: var(--colorBackgroundBotonCompuesto);
      align-self: center;
      margin-left: 20px;
      margin-right: 20px;
      cursor: pointer;
    }

    @media screen and (min-width: 768px) {

      .boton-anotaciones {
        width: 150px;
      }
    }

    .boton-anotaciones img {
      width: 18px;
      height: 18px;
    }

    .contenedor-boton-anotaciones {
      display: flex;
      height: 100%;
      justify-content: center;
      align-items: center;
    }

    @media screen and (min-width: 768px) {

      .contenedor-boton-anotaciones {
        line-height: 36px;
        text-align: center;
      }
    }

    .texto-boton-anotaciones {
      display: none;
      color: var(--colorTextoBotonCompuesto);
      font-size: var(--letra14);
      font-weight: bolder;
      letter-spacing: 0.4px;
    }

    @media screen and (min-width: 768px) {

      .texto-boton-anotaciones {
        display: inline-block;
        vertical-align: middle;
        margin-left: 10px;
      }
    }

    #texto-boton-anotaciones {
      margin: 9px 0 0 0; /* Para que la imagen salga centrada en el eje y; (36 - 18) / 2 */
      margin: 0;
      padding: 0;
    }

  /* -> panel-boton-anotaciones */


  /* panel-botones-acciones */

    .panel-botones-acciones {
      height: auto;
      border-left: 1px solid var(--colorBordePanelVisor);
    }

    .contenedor-panel-botones-acciones {
      height: 100%;
    }

    .grid-contenedor-panel-botones-acciones {
      height: 100%;
      align-items: center;
    }

    .boton-suin-sencillo {
      height: var(--botonVisorSencilloSize);
      width: var(--botonVisorSencilloSize);
      border: 1px solid var(--colorBordeBotonSUINJuriscol);
      border-radius: var(--borderRadiusBotonSencilloVisor);
      background-color: var(--colorBackgroundBotonSUINJuriscol);
      cursor: pointer;
      margin-left: 20px;
      margin-right: 0; 
    }

    .boton-suin-sencillo:hover {
      border: 1px solid var(--colorBordeBotonSUINJuriscolHover);
      background-color: var(--colorBackgroundBotonSUINJuriscolHover);
    }

    .boton-suin-sencillo img {
      width: 28px;
      height: 28px;
    }

    .contenedor-boton-suin-sencillo {
      display: flex;
      height: 100%;
      justify-content: center;
      align-items: center;
    }


    .boton-imprimir-sencillo {
      display: none;
      height: 36px;
      width: 36px;
      border: 1px solid var(--colorBordeBotonSencillo);
      border-radius: 4px;
      background-color: var(--colorBackgroundBotonSencillo);
      cursor: pointer;
    }

    @media screen and (min-width: 576px) {

      .boton-imprimir-sencillo {
        display: none;
        margin-left: 20px; /* Al activar el botón compartir, debe eliminarse esta instrucción */
        margin-right: 10px; /* Al activar el botón compartir, debe eliminarse esta instrucción */
      }
    }

    .boton-imprimir-sencillo img {
      width: 18px;
      height: 18px;
    }

    .contenedor-boton-imprimir-sencillo {
      display: flex;
      height: 100%;
      justify-content: center;
      align-items: center;
    }

    .boton-download-sencillo {
      height: 36px;
      width: 36px;
      border: 1px solid var(--colorBordeBotonSencillo);
      border-radius: 4px;
      background-color: var(--colorBackgroundBotonSencillo);
      cursor: pointer;
      margin-left: 10px; /* Al activar el botón imprimir, debe eliminarse esta instrucción */
      margin-right: 30px;
    }

    .boton-download-sencillo img {
      width: 18px;
      height: 18px;
    }

    .contenedor-boton-download-sencillo {
      display: flex;
      height: 100%;
      justify-content: center;
      align-items: center;
    }

  /* -> panel-botones-acciones */

/* -> navegacion-visor */


/* contenedor-contenido */

.contenedor-contenido {
  height: 100%;
}

.grid-contenedor-contenido {
  justify-content: initial;
  justify-items: initial;
  height: 100%
}

/* -> contenedor-contenido */

.dummy-line {
  display: none;
  width: 1px;
  height: auto;
}

@media screen and (min-width: 768px) {

  .dummy-line {
    display: block;
  }
}

/* panel-auxiliar */

.panel-auxiliar {
  display: none;
  width: 280px;
  height: auto;
  border-left: 1px solid var(--colorBordePanelVisor);
  border-right: 1px solid var(--colorBordePanelVisor);
  background-color: var(--colorBackgroundPanelAuxiliar);
}

@media screen and (min-width: 992px) {

  .panel-auxiliar {
    min-width: 280px;
    max-width: 300px;
    width: 100%;
  }
}

@media screen and (min-width: 1200px) {

  .panel-auxiliar {
    display: block;
    max-width: 350px;
  }
}

@media screen and (min-width: 1580px) {

  .panel-auxiliar {
    max-width: 400px;
  }
}

/* -> panel-auxiliar */


/* panel-fondo-documento */

.panel-fondo-documento {
  display: block; /* Estaba en none, con el funcionamiento de botones modales para ancho menor a 768px */
  width: auto;
  height: auto;
}

@media screen and (min-width: 768px) {

  .panel-fondo-documento {
    display: block;

    height: calc(var(--altoPanelFondoDocumento) - 20px * 2);
    border-left: 1px solid var(--colorBordePanelVisor);
    background-color: var(--colorBackgroundPanelFondoDocumento);

    margin: 0 0 50px 0;
  }
}

@media screen and (min-width: 992px) {

  .panel-fondo-documento {
    height: calc(var(--altoPanelFondoDocumento) - 15px * 2);
  }
}

@media screen and (min-width: 1200px) {

  .panel-fondo-documento {
    height: calc(var(--altoPanelFondoDocumento) - 10px * 2);
  }
}

@media screen and (min-width: 1580px) {

  .panel-fondo-documento {
    height: var(--altoPanelFondoDocumento);
    border: 1px solid var(--colorBordePanelVisor);
    border-radius: 4px; /* Se redondean las esquinas cuando se muestra panel-auxiliar */
    margin: 30px 30px 50px 30px;
  }
}

/* -> panel-fondo-documento */


/* panel-documento */

.panel-documento { /* width se rige por la grid */
  height: calc(100vh - 60px - 10px * 2 - 1px * 2);
  /* 60px es la altura de titulo-boton-cerrar */
  /* 10px * 2 es el margen superior e inferior de panel-documento */
  /* 1px * 2 es el borde superior e inferior de panel-documento */
  background-color: var(--colorBackgroundPanelDocumento);
  border: 1px solid var(--colorBordePanelDocumento);
  margin: 10px;
  padding: 30px 30px 200px 30px;
  text-align: left;
  overflow: auto; /* scroll muestra la barra horizontal también */
}

@media screen and (min-width: 768px) {

  .panel-documento {
    height: var(--altoPanelDocumento);
  }
}

@media screen and (min-width: 992px) {

  .panel-documento {
    text-align: justify;
    margin: 15px;
    padding: 100px 140px 200px 140px; /* Como no está visible panel-auxiliar, padding es el mismo que para ancho mayor a 1580px */
  }
}

@media screen and (min-width: 1200px) {

  .panel-documento {
    margin: 20px;
    padding: 80px 70px 200px 70px;
  }
}

@media screen and (min-width: 1580px) {

  .panel-documento {
    margin: 30px;
    padding: 100px 140px 200px 140px;
  }
}

.panel-documento p {
  color: var(--colorTextoDocumento);
  font-family: Merriweather; /* Typeface especial para textos en el visor */
  font-size: var(--letra16);
  font-weight: 300;
  letter-spacing: 0.1px;
  line-height: 32px;
}

@media screen and (min-width: 992px) {

  .panel-documento p {
    font-size: var(--letra18);
  }
}

.panel-documento table {
  color: var(--colorTextoDocumento);
  font-family: Merriweather; /* Typeface especial para textos en el visor */
  font-size: var(--letra12);
  letter-spacing: 0.1px;
  line-height: 18px;
}

@media screen and (min-width: 992px) {

  .panel-documento table {
    font-size: var(--letra14);
  }
}


/* Estilos classes documentos */

  .ir-arriba {
    display: block;
    width: 100%;
    height: 16px;
  }

  .ir-arriba img {
    width: 16px;
    height: 16px;
  }

  .centrado {
    text-align: center;
  }

  .Letra14pt {
    font-size: var(--letra24);
    font-weight: bold;
  }

  .b_aj {
    font-weight: 600;
    color: var(--colorTextoDocumento); /* Antes, en un ensayo: --colorTextoBoldAJ */
  }

  .i_aj {
    font-style: italic;
  }

  .bookmarkaj {
    color: var(--colorTextoBookmarksAJ);
    font-weight: 600;
  }

  .panel-documento a {
    color: var(--colorTextoLinks);
    font-weight: 400;
    text-decoration: none;
  }

  .panel-documento a:hover {
    color: var(--colorTextoLinksHover);
  }

  .panel-documento p s {
    color: var(--colorTextoTachados);
  }

  s .b_aj {
    color: var(--colorTextoTachados);
  }

  .caja_vja_encabezado {
    display: block;
    height: 36px;
    width: 300px; /* Estaba en 183 px */
    border-radius: 4px;
    background-color: var(--colorBackgroundEncabezadoCajasValorJuridicoAgregado);
    margin-bottom: 20px;
  }

  a.caja_vja_encabezado {
    color: var(--colorTextoEncabezadoCajasValorJuridicoAgregado);
    font-family: 'Montserrat', sans-serif;
    font-size: var(--letra16);
    font-weight: 600;
    line-height: 36px;
    text-align: center;
    text-decoration: none; /* Hasta 20210314 no estaba asignado este estilo */
  }

  a.caja_vja_encabezado:hover {
    color: var(--colorTextoEncabezadoCajasValorJuridicoAgregadoHover);
    background-color: var(--colorBackgroundEncabezadoCajasValorJuridicoAgregadoHover);
  }

  .caja_vja_encabezado_c {
    display: block;
    height: 36px;
    width: 300px; /* Estaba en 183 px */
    border-radius: 4px;
    background-color: var(--colorBackgroundEncabezadoCajasValorJuridicoAgregado);
    margin-bottom: 20px;
  }

  a.caja_vja_encabezado_c {
    color: var(--colorTextoEncabezadoCajasValorJuridicoAgregado);
    font-family: 'Montserrat', sans-serif;
    font-size: var(--letra16);
    font-weight: 600;
    line-height: 36px;
    text-align: center;
    text-decoration: none; /* Hasta 20210314 no estaba asignado este estilo */
  }

  a.caja_vja_encabezado_c:hover {
    color: var(--colorTextoEncabezadoCajasValorJuridicoAgregadoHover);
    background-color: var(--colorBackgroundEncabezadoCajasValorJuridicoAgregadoHover);
  }

  .caja_vja_v {
    background-color: var(--colorBackgroundNotasVigencia);
    border: 1px solid var(--colorBordeCajasValorJuridicoAgregado);
    border-radius: 4px;
    padding: 20px;
    margin-bottom: 20px;
  }

  .caja_vja_c {
    background-color: var(--colorBackgroundNotasConcordancias);
    border: 1px solid var(--colorBordeCajasValorJuridicoAgregado);
    border-radius: 4px;
    padding: 20px;
    margin-bottom: 20px;
  }

  .caja_vja_la {
    background-color: var(--colorBackgroundNotasLegislacionAnterior);
    border: 1px solid var(--colorBordeCajasValorJuridicoAgregado);
    border-radius: 4px;
    padding: 20px;
    margin-bottom: 20px;
  }

/* -> Estilos classes documentos */

/* -> panel-documento */


/* panel-lateral-modal (background) */

.panel-lateral-modal { /* este es el background, ocupa toda la pantalla */
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 3; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
  transition: display 0.5s;
}

.boton-cerrar-panel-modal {
  display:inline-block;
  height: 60px;
  color: var(--colorTextoBotonCerrarPanelModal);
  background-color: var(--colorBackgroundBotonCerrarPanelModal);
}

.boton-cerrar-panel-modal:hover,
.boton-cerrar-panel-modal:focus {
  color: var(--colorTextoBotonCerrarPanelModalHover);
  background-color: var(--colorBackgroundBotonCerrarPanelModalHover);
  text-decoration: none;
  cursor: pointer;
}

.titulo-boton-cerrar {
  display: none; /* Este título no es necesario visualizarlo pues el panel al que pertenece ya tiene un título estático */
  float: left;
  width: 90%;
  height: 60px;
  font-size: var(--letra18);
  font-weight: 600;
  line-height: 60px;
  vertical-align: middle;
  text-align: left;
  padding-left: 20px;
}

.icono-boton-cerrar {
  width: 10%;
  float: right;
  font-size: var(--letra36);
  line-height: 60px;
  padding-right: 20px;
  text-align: right;
  vertical-align: middle;
}


/* The side navigation menu */
.contenedor-panel-lateral-modal { /* este es el panel que muestra los contenidos */
  height: 100vh; /* Ocupa toda la altura, antes tenía: height: calc(100vh - 133px) */
  /* vh 	Relative to 1% of the height of the viewport* - * Viewport = the browser window size. If the viewport is 50cm wide, 1vw = 0.5cm. */
  width: 0; /* 0 width - change this with JavaScript */
  position: fixed; /* Stay in place */
  z-index: 1; /* Stay on top */
  top: 0; /* Stay at the top */
  left: 0;
  background-color: var(--colorBackgroundPanelFondoDocumento);
  border: 1px solid var(--colorBordePanelVisor);
  overflow-x: hidden; /* Disable horizontal scroll */
  transition: width 0.5s; /* 0.5 second transition effect to slide in the sidenav */
  margin-top: 0; /* Antes 133px, para ver el logo, pero si el ascensor está desplazado, de nada sirve y se ve mal */
}
