@charset "UTF-8";
/*
// 1. Funciones de Bootstrap (necesarias para cálculos)
@import "../../node_modules/bootstrap/scss/functions";

// 2. Variables de Bootstrap (colores, breakpoints, espaciado, etc.)
@import "../../node_modules/bootstrap/scss/variables";

// 3. Mapas de Bootstrap (para iterar sobre breakpoints, colores, etc.)
@import "../../node_modules/bootstrap/scss/maps";

// 4. Mixins de Bootstrap (media queries, grid, etc.)
@import "../../node_modules/bootstrap/scss/mixins";

// 5. Utilidades de Bootstrap (helpers para generar clases)
@import "../../node_modules/bootstrap/scss/utilities";

// Grid system (make-row, make-col, etc.)
@import "../../node_modules/bootstrap/scss/grid";

// Containers (make-container, make-container-max-widths)
@import "../../node_modules/bootstrap/scss/containers";

// Buttons (para @extend .btn)
//@import "../../node_modules/bootstrap/scss/buttons";

// Forms (para @extend .form-control, etc.)
//@import "../../node_modules/bootstrap/scss/forms";

// Helpers (justify-content-center, d-flex, etc.)
@import "../../node_modules/bootstrap/scss/helpers";
*/
:root {
  --font-stack: "Franklin Gothic Book", "Libre Franklin", "Roboto", "Lato", "Montserrat", "Atkinson Hyperlegible", sans-serif;
  --color-primario: #003973;
  --color-secundario: #2D5089;
  --color-terciario: #0b1f4a;
  --color-inverso: #ffffff;
  --color-primario-invertido: #c60046;
  --color-cabecera: #0E1A4D;
  --color-pie: #0B1F4A;
  --color-cierre: #001032;
  --color-azul-claro: #5AF0FF;
  --color-verde: #41D886;
  --color-rojo: #c60046;
  --color-rosa: #FF7B90;
  --color-amarillo: #FDDF73;
  --color-valladolid: #5534AE;
  --color-palencia: #93198F;
  --color-segovia: #ff9000;
  --color-soria: #AAD000;
  --color-texto: rgba(18, 18, 18, 0.8);
  --color-texto-principal: rgba(18, 18, 18, 0.8);
  --color-texto-secundario: rgba(18, 18, 18, 0.6);
  --color-texto-claro: #FFFFFF;
  --color-texto-enlace: #13347D;
  --color-texto-error: #AD0000;
  --color-texto-pie: #FFFFFF;
  --color-fondo: #f2f2f2;
  --color-gris: #f2f2f2;
  --color-blanco: #ffffff;
  --color-primario-hover: rgb(0, 38.0413043478, 76.75);
  --color-primario-active: rgb(0, 31.7217391304, 64);
  --color-primario-light: rgb(0, 107.5565217391, 217);
  --color-primario-dark: rgb(0, 19.0826086957, 38.5);
  --color-secundario-hover: rgb(35.5425824176, 63.1868131868, 108.2074175824);
  --color-secundario-active: rgb(32.3901098901, 57.5824175824, 98.6098901099);
  --color-secundario-light: rgb(84.8791208791, 128.3406593407, 199.1208791209);
  --color-valladolid-hover: rgb(70.6139380531, 43.1991150442, 144.5508849558);
  --color-valladolid-active: rgb(65.8185840708, 40.2654867257, 134.7345132743);
  --color-valladolid-light: rgb(141.4513274336, 114.8761061947, 213.1238938053);
  --color-palencia-hover: rgb(114.3095930233, 19.4404069767, 111.199127907);
  --color-palencia-active: rgb(103.4127906977, 17.5872093023, 100.5988372093);
  --color-palencia-light: rgb(220.6976744186, 53.3023255814, 215.2093023256);
  --color-segovia-hover: rgb(216.75, 122.4, 0);
  --color-segovia-active: rgb(204, 115.2, 0);
  --color-segovia-light: rgb(255, 188.4, 102);
  --color-soria-hover: rgb(138.7379807692, 169.75, 0);
  --color-soria-active: rgb(128.3173076923, 157, 0);
  --color-soria-light: rgb(218.4615384615, 255, 55);
  --border-width: 2px;
  --border-width-lg: 4px;
  --border-color: #c5c5c5;
  --border-radius: 0.5rem;
  --btn-bg: var(--color-primario);
  --btn-bg-hover: var(--color-primario-hover);
  --btn-bg-active: var(--color-primario-active);
  --btn-color: var(--color-texto-claro);
  --btn-border-radius: 0.375rem;
  --btn-border-color: #121212;
  --btn-border-size: 2px;
  --btn-padding-x: 1rem;
  --btn-padding-y: 0.5rem;
  --link-color: var(--color-texto-enlace);
  --link-color-hover: var(--color-primario);
  --link-color-invert: var(--color-texto-enlace);
  --link-color-hover: var(--color-primario);
  --link-decoration: underline;
  --card-bg: #FFFFFF;
  --card-border-color: #c5c5c5;
  --card-border-radius: 0.5rem;
  --card-padding: 1.5rem;
  --input-bg: #FFFFFF;
  --input-border-color: #c5c5c5;
  --input-border-radius: 0.375rem;
  --input-padding-x: 0.75rem;
  --input-padding-y: 0.5rem;
  --input-focus-border-color: var(--color-primario);
  --fondo-noticia-texto: var(--color-texto);
  --fondo-noticia: white;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15);
  --shadow: rgba(19, 52, 125, 0.1);
  --shadow-hover: rgba(19, 52, 125, 0.25);
  --transition-fast: 150ms ease-in-out;
  --transition-base: 300ms ease-in-out;
  --transition-slow: 500ms ease-in-out;
  --transition-ultraslow: 1000ms ease-in-out;
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;
}

@keyframes moveArrow {
  0% {
    opacity: 1;
  }
  50% {
    -webkit-transform: translateX(5px);
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
/*
@mixin columnasgrid() {
  $values: (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);



  display: grid;
  grid-gap: 10px;
  justify-content: stretch;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr);

  @each $value in $values {
    &.columnastabla-# { $value} {
      @if ($value == 1) {
        @include media-breakpoint-down(sm) {
          grid-template-columns: minmax(1fr);
        }
        @include media-breakpoint-up(sm) {
          grid-template-columns: minmax(1fr) minmax(0, 1fr);
        }

        @include media-breakpoint-up(md) {
          grid-template-columns: repeat(12, minmax(0, 1fr));
        }
      } @else if ($value == 2) {
        @include media-breakpoint-down(sm) {
          grid-template-columns: minmax(1fr);
        }
        @include media-breakpoint-up(sm) {
          grid-template-columns: minmax(1fr) minmax(0, 1fr);
        }

        @include media-breakpoint-up(md) {
          grid-template-columns: repeat(6, minmax(0, 1fr));
        }
      } @else if ($value == 3) {
        @include media-breakpoint-down(sm) {
          grid-template-columns: minmax(1fr);
        }
        @include media-breakpoint-up(sm) {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        @include media-breakpoint-up(lg) {
          grid-template-columns: repeat(4, minmax(0, 1fr));
        }
      } @else if ($value == 4) {
        @include media-breakpoint-down(sm) {
          grid-template-columns: minmax(1fr);
        }
        @include media-breakpoint-up(sm) {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        @include media-breakpoint-up(md) {
          grid-template-columns: repeat(3, minmax(0, 1fr));
        }
      } @else if ($value == 5) {
        @include media-breakpoint-down(sm) {
          grid-template-columns: minmax(1fr);
        }
        @include media-breakpoint-up(sm) {
          grid-template-columns: minmax(1fr) minmax(0, 1fr);
        }

        @include media-breakpoint-up(md) {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
      } @else if ($value == 6) {
        @include media-breakpoint-down(sm) {
          grid-template-columns: minmax(1fr);
        }
        @include media-breakpoint-up(sm) {
          grid-template-columns: minmax(1fr) minmax(0, 1fr);
        }

        @include media-breakpoint-up(md) {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
      } @else if ($value == 7) {
        @include media-breakpoint-down(sm) {
          grid-template-columns: minmax(1fr);
        }
        @include media-breakpoint-up(sm) {
          grid-template-columns: minmax(1fr) minmax(0, 1fr);
        }

        @include media-breakpoint-up(md) {
          grid-template-columns: repeat(1, minmax(0, 1fr));
        }
      } @else if ($value == 8) {
        @include media-breakpoint-down(sm) {
          grid-template-columns: minmax(1fr);
        }
        @include media-breakpoint-up(sm) {
          grid-template-columns: minmax(1fr) minmax(0, 1fr);
        }

        @include media-breakpoint-up(md) {
          grid-template-columns: repeat(8, minmax(0, 1fr));
        }
      } @else if ($value == 9) {
        @include media-breakpoint-down(sm) {
          grid-template-columns: minmax(1fr);
        }
        @include media-breakpoint-up(sm) {
          grid-template-columns: minmax(1fr) minmax(0, 1fr);
        }

        @include media-breakpoint-up(md) {
          grid-template-columns: repeat(9, minmax(0, 1fr));
        }
      } @else if ($value == 10) {
        @include media-breakpoint-up(md) {
          @include make-col(10);
        }
      } @else if ($value == 11) {
        @include media-breakpoint-up(md) {
          @include make-col(11);
        }
      } @else if ($value == 12) {
        @include media-breakpoint-down(sm) {
          grid-template-columns: minmax(1fr);
        }
        @include media-breakpoint-up(sm) {
          grid-template-columns: minmax(0, 1fr);
        }
      } @else {
        @include media-breakpoint-down(sm) {
          grid-template-columns: minmax(1fr);
        }
        @include media-breakpoint-up(sm) {
          grid-template-columns: minmax(0, 1fr);
        }
      }
    }
  }

  @each $value in $values {
    > .columnatabla-# { $value} {
      grid-column: span #  { $value};
    }
  }
}
*/
/*
@each $name, $values in $text-size {
  .texto-# { $name} {
    @include apply-text-size($name);
  }
}
  */
/**
 * Media query responsive - móvil primero
 * 
 * @param {String} $breakpoint - Punto de ruptura (sm, md, lg, xl, xxl)
 * @example
 *   .elemento {
 *     width: 100%;
 *     @include respond-to(md) {
 *       width: 50%;
 *     }
 *   }
 */
/**
 * Media query - escritorio primero
 * 
 * @param {String} $breakpoint - Punto de ruptura
 */
/**
 * Tipografía responsive fluida
 * 
 * @param {Number} $min-size - Tamaño mínimo
 * @param {Number} $max-size - Tamaño máximo
 * @param {Number} $min-width - Ancho mínimo (default: 320px)
 * @param {Number} $max-width - Ancho máximo (default: 1200px)
 * @example
 *   h1 {
 *     @include fluid-type(1.5rem, 3rem);
 *   }
 */
/**
 * Truncar texto con ellipsis
 * 
 * @param {Number} $lines - Número de líneas (default: 1)
 * @example
 *   .titulo {
 *     @include truncate(2);
 *   }
 */
/**
 * Centrar elemento absoluto
 * 
 * @param {String} $axis - Eje a centrar (both, x, y)
 * @example
 *   .modal {
 *     @include center(both);
 *   }
 */
/**
 * Flexbox centrado
 * 
 * @param {String} $direction - Dirección (row, column)
 * @example
 *   .container {
 *     @include flex-center(column);
 *   }
 */
/**
 * Grid responsive automático
 * 
 * @param {Number} $min-width - Ancho mínimo de columnas
 * @param {Number} $gap - Espacio entre columnas
 * @example
 *   .grid {
 *     @include auto-grid(250px, 2rem);
 *   }
 */
/*
@mixin columnasgrid() {
  display: grid !important;
  gap: $spacer-md; // O usa $spacer-md si está disponible

  // Base para móvil (fuerza 1 columna por defecto)
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;

  $values: (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);

  @each $value in $values {
    &.columnastabla-# { $value} {
      @if ($value == 1) {
        // TABLET (Min-width: 576px) -> Equivalente a SM
        @media (min-width: $breakpoint-sm) {
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        }

        // DESKTOP (Min-width: 992px) -> Equivalente a LG
        @media (min-width: $breakpoint-lg) {
          grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        }



      }
       @else if ($value == 2) {
        // TABLET (Min-width: 576px) -> Equivalente a SM
        @media (min-width: $breakpoint-sm) {
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        }

        // DESKTOP (Min-width: 992px) -> Equivalente a LG
        @media (min-width: $breakpoint-lg) {
          grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        }
      }
      @else if ($value == 3) {
        // TABLET (Min-width: 576px) -> Equivalente a SM
        @media (min-width: $breakpoint-sm)  {
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        }

        // DESKTOP (Min-width: 992px) -> Equivalente a LG
        @media (min-width: $breakpoint-lg) {
          grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        }
      }

      @else if ($value == 4) {
        @media (min-width: $breakpoint-sm)  {
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        }
        @media (min-width: $breakpoint-lg) { // XL
          grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        }
      }

       @else if ($value == 5) {
        @media (min-width: $breakpoint-sm)  {
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        }
        @media (min-width: $breakpoint-lg) { // XL
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        }
      }

       @else if ($value == 6) {
        @media (min-width: $breakpoint-sm)  {
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        }
        @media (min-width: $breakpoint-lg) { // XL
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        }
      }

       @else if ($value == 7) {
        @media (min-width: $breakpoint-sm)  {
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        }
        @media (min-width: $breakpoint-lg) { // XL
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        }
      }

      // Añade aquí otros valores si los necesitas con la misma lógica
    }
  }
}
*/
/**
 * Botón base con variantes
 * 
 * @param {Color} $bg - Color de fondo
 * @param {Color} $color - Color del texto
 * @example
 *   .btn-custom {
 *     @include button($color-primario, white);
 *   }
 */
/**
 * Tarjeta base
 * 
 * @param {Color} $bg - Color de fondo
 * @param {Number} $padding - Padding interno
 * @example
 *   .card-custom {
 *     @include card(white, 2rem);
 *   }
 */
/**
 * Entrada de formulario
 * 
 * @example
 *   .input-custom {
 *     @include input();
 *   }
 */
/**
 * Ocultar elemento visualmente pero mantener accesibilidad
 * 
 * @example
 *   .sr-only {
 *     @include visually-hidden();
 *   }
 */
/**
 * Limpiar floats
 * 
 * @example
 *   .container {
 *     @include clearfix();
 *   }
 */
/**
 * Resetear lista
 * 
 * @example
 *   ul {
 *     @include reset-list();
 *   }
 */
/**
 * Aspecto ratio (mantener proporción)
 * 
 * @param {Number} $width - Ancho
 * @param {Number} $height - Alto
 * @example
 *   .video {
 *     @include aspect-ratio(16, 9);
 *   }
 */
/**
 * Sombra personalizada
 * 
 * @param {String} $size - Tamaño (sm, md, lg, xl)
 * @example
 *   .card {
 *     @include shadow(md);
 *   }
 */
/**
 * Hover con elevación
 * 
 * @example
 *   .card {
 *     @include hover-lift();
 *   }
 */
/**
 * Scroll suave
 * 
 * @example
 *   .contenedor {
 *     @include smooth-scroll();
 *   }
 */
/**
 * Focus visible accesible
 * 
 * @param {Color} $color - Color del outline
 * @example
 *   button {
 *     @include focus-visible(var(--color-primario));
 *   }
 */
/**
 * Aplicar tema de campus
 * 
 * @param {String} $campus - Nombre del campus (valladolid, palencia, segovia, soria)
 * @example
 *   .contenedor {
 *     @include campus-theme(valladolid);
 *   }
 */
@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
@keyframes borderPulse {
  0% {
    border-color: var(--boton-borde-hover);
  }
  50% {
    border-color: var(--boton-borde-pulse);
  }
  100% {
    border-color: var(--boton-borde-hover);
  }
}
@keyframes iconPulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.9;
  }
  50% {
    transform: scale(1.1);
    opacity: 1;
  }
}
@keyframes loading {
  0% {
    left: -100%;
  }
  100% {
    left: 100%;
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*

// Media queries
.elemento {
  width: 100%;

  @include respond-to(md) {
    width: 50%;
  }

  @include respond-to(lg) {
    width: 33.333%;
  }
}

// Tipografía responsive
h1 {
  @include fluid-type(2rem, 4rem);
}

// Truncar texto
.titulo {
  @include truncate(2);
}

// Layouts
.hero {
  @include flex-center(column);
  min-height: 100vh;
}

.grid-productos {
  @include auto-grid(300px, 2rem);
}

// Componentes
.mi-boton {
  @include button(var(--color-primario), white);
}

.mi-tarjeta {
  @include card();
  @include hover-lift();
}

// Utilidades
.lista-menu {
  @include reset-list();
}

.video-container {
  @include aspect-ratio(16, 9);
}

// Campus
.seccion-valladolid {
  @include campus-theme(valladolid);
  background: var(--color-tema);
}

*/
@keyframes gradientShift {
  0%, 100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
@keyframes gradientShift {
  0%, 100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
/**
 * Mixin para transiciones suaves
 */
/*
@mixin smooth-transition($properties: all) {
  transition: $properties $transition-duration ease-in-out;
}
  */
/**
 * Mixin para el efecto hover de tarjetas
 */
/**
 * Mixin para el punto del timeline
 */
/**
 * Mixin para animaciones de aparición
 */
/**
 * Mixin para diferentes delays de animación
 */
/**
 * Mixin para responsive mobile
 */
/**
 * Mixin para limpiar estilos de lista
 */
/**
 * Keyframes para animación de aparición
 */
@keyframes fadeIn {
  to {
    opacity: 1;
    transform: translate(0, 0);
  }
}
/**
 * Keyframes para pulso del punto
 */
@keyframes pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(0, 57, 115, 0.7);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(0, 57, 115, 0);
  }
}
@keyframes scrollAnimation {
  0% {
    top: 10px;
    opacity: 1;
  }
  100% {
    top: 30px;
    opacity: 0;
  }
}
/**
 * MIXINS SCSS - DOCUMENTOS
 * Universidad de Valladolid
 * 
 * Mixins reutilizables para los diseños de enlaces a documentos
 * 
 * @author: Webmaster UVa
 * @date: 2025
 */
@keyframes flotacion-lenta {
  0% {
    transform: translateY(-50%) translateX(0);
  }
  50% {
    transform: translateY(-52%) translateX(600px);
  }
  100% {
    transform: translateY(-50%) translateX(0);
  }
}
@keyframes flotacion-lenta-big {
  0% {
    transform: scale(1) translateX(0);
  }
  50% {
    transform: scale(1.03) translateX(-500px);
  }
  100% {
    transform: scale(1) translateX(0);
  }
}
@keyframes flotacion-lenta-bottom {
  0% {
    transform: scale(1) translateY(0);
  }
  50% {
    transform: scale(1.02) translateY(-100px);
  }
  100% {
    transform: scale(1) translateY(0);
  }
}
@keyframes slideInLeft {
  from {
    transform: translateX(-100px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideIn {
  from {
    transform: translateX(400px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideOut {
  from {
    transform: translateX(0);
    opacity: 1;
  }
  to {
    transform: translateX(400px);
    opacity: 0;
  }
}
@keyframes gradient-shift {
  0%, 100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}
body {
  /* =============================================
     RESPONSIVE DESIGN
     ============================================= */
  /* =============================================
     MEJORAS DE ACCESIBILIDAD
     ============================================= */
  /* Asegura que los enlaces sean accesibles por teclado */
  /* Mejora del contraste para texto pequeño */
  /* Soporte para modo oscuro del navegador */
}
body .main {
  display: flex;
  flex-direction: column;
}
body .documento {
  margin-bottom: 1.5rem;
  --enlace-color: #13347D;
  --enlace-text-color: #13347D;
  --enlace-btn-background: #003973;
  --enlace-btn-color-texto: #ffffff;
  --enlace-btn-hover-background: #2D5089;
  --enlace-btn-hover-color-texto: #ffffff;
  /* =============================================
   ESTILOS BASE PARA TODOS LOS ENLACES
   ============================================= */
  /** DOCUMENTO LINEA FUERA **/
}
body .documento.espacio-0 {
  margin-top: 0;
  margin-bottom: 0;
}
body .documento.espacio-xs {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
body .documento.espacio-sm {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
body .documento.espacio-md {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
body .documento.espacio-lg {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
body .documento.espacio-xl {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
body .documento.espacio-xxl {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
body .documento.espacio-nivel.nivel-2 {
  padding-left: 3rem;
}
body .documento.espacio-nivel.nivel-3 {
  padding-left: 4.5rem;
}
body .documento.espacio-nivel.nivel-4 {
  padding-left: 6rem;
}
body .documento.espacio-nivel.nivel-5 {
  padding-left: 7.5rem;
}
body .documento.espacio-nivel.nivel-6 {
  padding-left: 9rem;
}
body .documento.texto-sm {
  --texto-size: 0.9rem;
}
body .documento.texto-xl {
  --texto-size: 1.5rem;
}
body .documento.texto-xxl {
  --texto-size: 2rem;
}
body .documento.texto-xxxl {
  --texto-size: 2.5rem;
}
body .documento.texto-4xl .title .title {
  font-size: 3rem;
}
body .documento.texto-4xl .title .subtitle {
  font-size: 1.25rem;
}
body .documento.texto-4xl .title .text {
  font-size: 1.75rem;
}
body .documento.texto-4xl .title .link {
  font-size: 1.125rem;
}
body .documento .titulo {
  display: block;
  text-align: left;
  line-height: 1.42857143;
  opacity: 1;
  box-sizing: border-box;
  width: 100%;
}
body .documento .titulo h1, body .documento .titulo h2, body .documento .titulo h3, body .documento .titulo h4, body .documento .titulo h5, body .documento .titulo h6 {
  font-family: "Franklin Gothic Book", "Libre Franklin", "Roboto", "Montserrat", sans-serif;
  color: #003973;
}
body .documento.titulo-clasico .elemento-titulo {
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #000;
}
body .documento.titulo-clasico .elemento-titulo .titulo h1 {
  position: relative;
  font-weight: 500;
  padding-right: 20px;
  text-transform: uppercase;
  margin-right: 15px;
  color: #000;
  line-height: 1em;
  margin-top: 0.1em;
}
body .documento.titulo-clasico .elemento-titulo h2 {
  position: relative;
  font-weight: 500;
  padding-right: 20px;
  margin-right: 15px;
  color: #000;
  line-height: 1em;
  margin-top: 0.1em;
}
body .documento.titulo-linea-inferior .elemento-titulo {
  padding-bottom: 0.5rem;
  margin-bottom: 0;
}
body .documento.titulo-linea-inferior .elemento-titulo .titulo {
  border-bottom: 3px solid #003973;
  position: relative;
}
body .documento.titulo-linea-inferior .elemento-titulo .titulo::after {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 60px;
  height: 3px;
  background-color: #c60046;
  transition: width 0.3s ease-in-out;
}
body .documento.titulo-linea-inferior .elemento-titulo .titulo:hover::after {
  width: 120px;
}
body .documento.titulo-linea-inferior .elemento-titulo .titulo h2 {
  border-bottom-width: 2px;
  margin-block-end: 0px;
}
body .documento.titulo-linea-inferior .elemento-titulo .titulo h2::after {
  height: 2px;
  bottom: -2px;
}
body .documento.titulo-barra-lateral .elemento-titulo {
  padding-bottom: 1.5rem;
}
body .documento.titulo-barra-lateral .elemento-titulo .titulo {
  padding-left: 1.5rem;
  border-left: 5px solid #003973;
  background: linear-gradient(to right, rgba(0, 57, 115, 0.25), transparent);
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-right: 1.5rem;
  border-radius: 0 4px 4px 0;
  transition: all 0.3s ease-in-out;
}
body .documento.titulo-barra-lateral .elemento-titulo .tituloh2 {
  border-left-width: 4px;
}
body .documento.titulo-barra-lateral .elemento-titulo .tituloh2:hover {
  border-left-width: 5px;
}
body .documento.titulo-degradado .elemento-titulo {
  padding-bottom: 1.5rem;
}
body .documento.titulo-degradado .elemento-titulo .titulo {
  color: #ffffff;
  background: linear-gradient(135deg, #003973 0%, #2D5089 100%);
  padding: 1.5rem 2rem;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 57, 115, 0.2);
  transition: all 0.3s ease-in-out;
}
body .documento.titulo-degradado .elemento-titulo .titulo > h1, body .documento.titulo-degradado .elemento-titulo .titulo h2 {
  color: #ffffff;
}
body .documento.titulo-degradado .elemento-titulo .titulo > i:first-child {
  color: #ffffff;
}
body .documento.titulo-degradado .elemento-titulo .titulo .btn-mas-info {
  color: #ffffff;
  border-color: #ffffff;
}
body .documento.titulo-degradado .elemento-titulo .titulo .btn-mas-info:hover {
  background-color: #ffffff;
  color: #003973;
}
body .documento.titulo-degradado .elemento-titulo .titulo:hover {
  box-shadow: 0 4px 12px rgba(0, 57, 115, 0.3);
  transform: translateY(-2px);
}
body .documento.titulo-degradado .elemento-titulo .tituloh2 {
  padding: 1rem 1.5rem;
}
body .documento.titulo-minimalista .elemento-titulo {
  padding-bottom: 1.5rem;
}
body .documento.titulo-minimalista .elemento-titulo .titulo {
  border: none;
  padding: 1rem 0;
  color: #003973;
  font-weight: 600;
  letter-spacer: -0.02em;
  position: relative;
}
body .documento.titulo-minimalista .elemento-titulo .titulo::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 40px;
  height: 1px;
  background-color: #003973;
  transition: width 0.3s ease-in-out;
}
body .documento.titulo-minimalista .elemento-titulo .titulo:hover::before {
  width: 80px;
}
body .documento.titulo-minimalista .elemento-titulo .titulo > i:first-child {
  opacity: 0.7;
  transition: opacity 0.3s ease-in-out;
}
body .documento.titulo-minimalista .elemento-titulo .titulo:hover > i:first-child {
  opacity: 1;
}
body .documento.titulo-minimalista .elemento-titulo .titulo .btn-mas-info {
  border: none;
  padding: 0.5rem 1rem;
  font-weight: 600;
}
body .documento.titulo-minimalista .elemento-titulo .titulo .btn-mas-info:hover {
  background-color: rgba(0, 57, 115, 0.1);
}
body .documento.titulo-borde .elemento-titulo {
  padding-bottom: 1.5rem;
}
body .documento.titulo-borde .elemento-titulo .titulo {
  border: 2px solid #003973;
  padding: 0.5rem 2rem;
  border-radius: 8px;
  background-color: #ffffff;
  transition: all 0.3s ease-in-out;
}
body .documento.titulo-borde .elemento-titulo .titulo:hover {
  border-color: #2D5089;
  box-shadow: 0 3px 10px rgba(0, 57, 115, 0.15);
  transform: translateY(-1px);
}
body .documento.titulo-borde .elemento-titulo .tituloh2 {
  border-width: 1px;
  padding: 1rem 1.5rem;
}
body .documento.titulo-badge .elemento-titulo {
  padding-bottom: 1.5rem;
}
body .documento.titulo-badge .elemento-titulo .titulo .badge {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  font-family: "Roboto", "Atkinson Hyperlegible", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacer: 0.5px;
  color: #FFFFFF;
  background-color: #c60046;
  border-radius: 12px;
  margin-left: 1rem;
  flex-shrink: 0;
}
body .documento.titulo-badge .elemento-titulo .titulo .badge.badge-secondary {
  background-color: #2D5089;
}
body .documento.titulo-badge .elemento-titulo .titulo .badge.badge-danger {
  background-color: #dc3545;
}
body .documento.titulo-badge .elemento-titulo .titulo .badge.badge-success {
  background-color: #28a745;
}
@media (max-width: 768px) {
  body .documento.titulo-badge .elemento-titulo .titulo .badge {
    margin-left: 0;
    margin-top: 0.5rem;
  }
}
body .documento.titulo-sombra .elemento-titulo {
  padding-bottom: 1.5rem;
}
body .documento.titulo-sombra .elemento-titulo .titulo {
  padding: 1.5rem 2rem;
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease-in-out;
}
body .documento.titulo-sombra .elemento-titulo .titulo:hover {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.08);
  transform: translateY(-3px);
}
body .documento.titulo-sombra .elemento-titulo .tituloh2 {
  padding: 1rem 1.5rem;
}
body .documento.titulo-subrayado-animado .elemento-titulo {
  padding-bottom: 1.5rem;
}
body .documento.titulo-subrayado-animado .elemento-titulo .titulo {
  position: relative;
}
body .documento.titulo-subrayado-animado .elemento-titulo .titulo::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 3px;
  background: linear-gradient(to right, #003973, #c60046);
  transition: width 0.3s ease-in-out;
}
body .documento.titulo-subrayado-animado .elemento-titulo .titulo:hover::after {
  width: 100%;
}
body .documento.titulo-subrayado-animado .elemento-titulo .tituloh2::after {
  height: 2px;
}
body .documento.titulo-icono-destacado .elemento-titulo {
  padding-bottom: 1.5rem;
}
body .documento.titulo-icono-destacado .elemento-titulo .titulo > i:first-child {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  flex-shrink: 0;
  font-size: 1.5em;
  color: #FFFFFF;
  background: linear-gradient(135deg, #003973 0%, #2D5089 100%);
  border-radius: 50%;
  margin-right: 1.5rem;
  box-shadow: 0 3px 8px rgba(0, 57, 115, 0.3);
  transition: all 0.3s ease-in-out;
}
body .documento.titulo-icono-destacado .elemento-titulo .titulo:hover > i:first-child {
  transform: scale(1.1) rotate(5deg);
  box-shadow: 0 5px 12px rgba(0, 57, 115, 0.4);
}
body .documento.titulo-icono-destacado .elemento-titulo .tituloh2 > i:first-child {
  width: 40px;
  height: 40px;
  font-size: 1.3em;
}
body .documento.titulo-institucional .elemento-titulo {
  padding-bottom: 1.5rem;
}
body .documento.titulo-institucional .elemento-titulo .titulo {
  padding: 2rem;
  background-color: #ffffff;
  border-top: 4px solid #003973;
  border-bottom: 1px solid #657786;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  position: relative;
  transition: all 0.3s ease-in-out;
}
body .documento.titulo-institucional .elemento-titulo .titulo::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 0;
  width: 80px;
  height: 4px;
  background-color: #c60046;
}
body .documento.titulo-institucional .elemento-titulo .titulo:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
}
body .documento.titulo-institucional .elemento-titulo .tituloh2 {
  padding: 1.5rem;
  border-top-width: 3px;
}
body .documento.titulo-institucional .elemento-titulo .tituloh2::before {
  height: 3px;
}
body .documento.campus-valladolid.titulo-linea-inferior, body .documento.campus-valladolid.titulo-barra-lateral {
  border-color: #5534AE;
}
body .documento.campus-valladolid.titulo-linea-inferior .elemento-titulo, body .documento.campus-valladolid.titulo-barra-lateral .elemento-titulo {
  margin-bottom: 0rem;
  border-bottom: 0px solid #000;
}
body .documento.campus-valladolid.titulo-degradado {
  background: linear-gradient(135deg, #5534AE 0%, rgb(109.6327433628, 75.610619469, 201.389380531) 100%);
}
body .documento.palencia.titulo-linea-inferior, body .documento.palencia.titulo-barra-lateral {
  border-color: #93198F;
}
body .documento.palencia.titulo-linea-inferior .elemento-titulo, body .documento.palencia.titulo-barra-lateral .elemento-titulo {
  margin-bottom: 0rem;
  border-bottom: 0px solid #000;
}
body .documento.palencia.titulo-degradado {
  background: linear-gradient(135deg, #93198F 0%, rgb(190.5872093023, 32.4127906977, 185.4011627907) 100%);
}
body .documento.campus-soria.titulo-linea-inferior, body .documento.campus-soria.titulo-barra-lateral {
  border-color: #AAD000;
}
body .documento.campus-soria.titulo-linea-inferior .elemento-titulo, body .documento.campus-soria.titulo-barra-lateral .elemento-titulo {
  margin-bottom: 0rem;
  border-bottom: 0px solid #000;
}
body .documento.campus-soria.titulo-degradado {
  background: linear-gradient(135deg, #AAD000 0%, rgb(209.1442307692, 255, 4) 100%);
}
body .documento.campus-segovia.titulo-linea-inferior, body .documento.campus-segovia.titulo-barra-lateral {
  border-color: #ff9000;
}
body .documento.campus-segovia.titulo-linea-inferior .elemento-titulo, body .documento.campus-segovia.titulo-barra-lateral .elemento-titulo {
  margin-bottom: 0rem;
  border-bottom: 0px solid #000;
}
body .documento.campus-segovia.titulo-degradado {
  background: linear-gradient(135deg, #ff9000 0%, rgb(255, 166.2, 51) 100%);
}
body .documento.icon-sm {
  --icon-size: 1.25rem;
}
body .documento.icon-sm svg, body .documento.icon-sm img, body .documento.icon-sm i {
  width: var(--icon-size);
  height: var(--icon-size);
  font-size: var(--icon-size);
  display: inline-block;
  flex-shrink: 0;
}
body .documento.icon-md {
  --icon-size: 1.5rem;
}
body .documento.icon-md svg, body .documento.icon-md img, body .documento.icon-md i {
  width: var(--icon-size);
  height: var(--icon-size);
  font-size: var(--icon-size);
  display: inline-block;
  flex-shrink: 0;
}
body .documento.icon-lg {
  --icon-size: 2rem;
}
body .documento.icon-lg svg, body .documento.icon-lg img, body .documento.icon-lg i {
  width: var(--icon-size);
  height: var(--icon-size);
  font-size: var(--icon-size);
  display: inline-block;
  flex-shrink: 0;
}
body .documento.icon-xl {
  --icon-size: 3rem;
}
body .documento.icon-xl svg, body .documento.icon-xl img, body .documento.icon-xl i {
  width: var(--icon-size);
  height: var(--icon-size);
  font-size: var(--icon-size);
  display: inline-block;
  flex-shrink: 0;
}
body .documento.icon-xxl {
  --icon-size: 4rem;
}
body .documento.icon-xxl svg, body .documento.icon-xxl img, body .documento.icon-xxl i {
  width: var(--icon-size);
  height: var(--icon-size);
  font-size: var(--icon-size);
  display: inline-block;
  flex-shrink: 0;
}
body .documento.color-amarillo {
  --enlace-title-color: #FDDF73;
  --enlace-text-color: #FDDF73;
  --enlace-text-color-hover: #fde58a;
  --enlace-btn-background: #FDDF73;
  --enlace-btn-color: rgba(18, 18, 18, 0.8);
  --enlace-btn-hover-background: #fde58a;
  --enlace-btn-hover-color-texto: rgba(18, 18, 18, 0.8);
}
body .documento.fondo-amarillo {
  --enlace-title-color: rgba(18, 18, 18, 0.8);
  --enlace-btn-background: rgba(18, 18, 18, 0.8);
  --enlace-btn-color: #FDDF73;
  --enlace-btn-hover-background: rgba(18, 18, 18, 0.8);
  --enlace-btn-hover-color: #FDDF73;
}
body .documento.color-azulmuyoscuro {
  --enlace-title-color: #13347D;
  --enlace-text-color: #13347D;
  --enlace-text-color-hover: #2D5089;
  --enlace-btn-background: #13347D;
  --enlace-btn-color: #ffffff;
  --enlace-btn-hover-background: #2D5089;
  --enlace-btn-hover-color-texto: #ffffff;
}
body .documento.fondo-azulmuyoscuro {
  --enlace-title-color: #ffffff;
  --enlace-btn-background: #ffffff;
  --enlace-btn-color: #13347D;
  --enlace-btn-hover-background: #ffffff;
  --enlace-btn-hover-color: #13347D;
}
body .documento.color-azuloscuro {
  --enlace-title-color: #13347D;
  --enlace-text-color: #13347D;
  --enlace-text-color-hover: #2D5089;
  --enlace-btn-background: #13347D;
  --enlace-btn-color: #ffffff;
  --enlace-btn-hover-background: #2D5089;
  --enlace-btn-hover-color-texto: #ffffff;
}
body .documento.fondo-azuloscuro {
  --enlace-title-color: #ffffff;
  --enlace-btn-background: #ffffff;
  --enlace-btn-color: #13347D;
  --enlace-btn-hover-background: #ffffff;
  --enlace-btn-hover-color: #13347D;
}
body .documento.color-azulclaro {
  --enlace-title-color: #5AF0FF;
  --enlace-text-color: #5AF0FF;
  --enlace-text-color-hover: #A6F6FE;
  --enlace-btn-background: #5AF0FF;
  --enlace-btn-color: rgba(18, 18, 18, 0.8);
  --enlace-btn-hover-background: #A6F6FE;
  --enlace-btn-hover-color-texto: rgba(18, 18, 18, 0.8);
}
body .documento.fondo-azulclaro {
  --enlace-title-color: rgba(18, 18, 18, 0.8);
  --enlace-btn-background: rgba(18, 18, 18, 0.8);
  --enlace-btn-color: #5AF0FF;
  --enlace-btn-hover-background: rgba(18, 18, 18, 0.8);
  --enlace-btn-hover-color: #5AF0FF;
}
body .documento.color-azul-up {
  --enlace-title-color: #1862ab;
  --enlace-text-color: #1862ab;
  --enlace-text-color-hover: #14508d;
  --enlace-btn-background: #1862ab;
  --enlace-btn-color: #ffffff;
  --enlace-btn-hover-background: #14508d;
  --enlace-btn-hover-color-texto: #ffffff;
}
body .documento.fondo-azul-up {
  --enlace-title-color: #ffffff;
  --enlace-btn-background: #ffffff;
  --enlace-btn-color: #1862ab;
  --enlace-btn-hover-background: #ffffff;
  --enlace-btn-hover-color: #1862ab;
}
body .documento.color-blanco {
  --enlace-title-color: #13347D;
  --enlace-text-color: #13347D;
  --enlace-text-color-hover: #2D5089;
  --enlace-btn-background: #13347D;
  --enlace-btn-color: #FFFFFF;
  --enlace-btn-hover-background: #2D5089;
  --enlace-btn-hover-color-texto: #FFFFFF;
}
body .documento.fondo-blanco {
  --enlace-title-color: #FFFFFF;
  --enlace-btn-background: #FFFFFF;
  --enlace-btn-color: #13347D;
  --enlace-btn-hover-background: #FFFFFF;
  --enlace-btn-hover-color: #13347D;
}
body .documento.color-rojo {
  --enlace-title-color: #c60046;
  --enlace-text-color: #c60046;
  --enlace-text-color-hover: #ab1738;
  --enlace-btn-background: #c60046;
  --enlace-btn-color: #FFFFFF;
  --enlace-btn-hover-background: #ab1738;
  --enlace-btn-hover-color-texto: #FFFFFF;
}
body .documento.fondo-rojo {
  --enlace-title-color: #FFFFFF;
  --enlace-btn-background: #FFFFFF;
  --enlace-btn-color: #c60046;
  --enlace-btn-hover-background: #FFFFFF;
  --enlace-btn-hover-color: #c60046;
}
body .documento.color-rosa {
  --enlace-title-color: #FF7B90;
  --enlace-text-color: #FF7B90;
  --enlace-text-color-hover: #FCABB8;
  --enlace-btn-background: #FF7B90;
  --enlace-btn-color: #ffffff;
  --enlace-btn-hover-background: #FCABB8;
  --enlace-btn-hover-color-texto: #ffffff;
}
body .documento.fondo-rosa {
  --enlace-title-color: #ffffff;
  --enlace-btn-background: #ffffff;
  --enlace-btn-color: #FF7B90;
  --enlace-btn-hover-background: #ffffff;
  --enlace-btn-hover-color: #FF7B90;
}
body .documento.color-verde {
  --enlace-title-color: #41d886;
  --enlace-text-color: #41d886;
  --enlace-text-color-hover: #52e097;
  --enlace-btn-background: #41d886;
  --enlace-btn-color: #ffffff;
  --enlace-btn-hover-background: #52e097;
  --enlace-btn-hover-color-texto: #ffffff;
}
body .documento.fondo-verde {
  --enlace-title-color: #ffffff;
  --enlace-btn-background: #ffffff;
  --enlace-btn-color: #41d886;
  --enlace-btn-hover-background: #ffffff;
  --enlace-btn-hover-color: #41d886;
}
body .documento.color-grisclaro {
  --enlace-title-color: #DADADA;
  --enlace-text-color: #DADADA;
  --enlace-text-color-hover: #DADADA;
  --enlace-btn-background: #DADADA;
  --enlace-btn-color: rgba(18, 18, 18, 0.8);
  --enlace-btn-hover-background: #DADADA;
  --enlace-btn-hover-color-texto: rgba(18, 18, 18, 0.8);
}
body .documento.fondo-grisclaro {
  --enlace-title-color: rgba(18, 18, 18, 0.8);
  --enlace-btn-background: rgba(18, 18, 18, 0.8);
  --enlace-btn-color: #DADADA;
  --enlace-btn-hover-background: rgba(18, 18, 18, 0.8);
  --enlace-btn-hover-color: #DADADA;
}
body .documento.color-grisoscuro {
  --enlace-title-color: #6D6D6C;
  --enlace-text-color: #6D6D6C;
  --enlace-text-color-hover: #6D6D6C;
  --enlace-btn-background: #6D6D6C;
  --enlace-btn-color: #ffffff;
  --enlace-btn-hover-background: #6D6D6C;
  --enlace-btn-hover-color-texto: #ffffff;
}
body .documento.fondo-grisoscuro {
  --enlace-title-color: #ffffff;
  --enlace-btn-background: #ffffff;
  --enlace-btn-color: #6D6D6C;
  --enlace-btn-hover-background: #ffffff;
  --enlace-btn-hover-color: #6D6D6C;
}
body .documento.color-palencia {
  --enlace-title-color: #93198F;
  --enlace-text-color: #93198F;
  --enlace-text-color-hover: #A944A6;
  --enlace-btn-background: #93198F;
  --enlace-btn-color: #ffffff;
  --enlace-btn-hover-background: #A944A6;
  --enlace-btn-hover-color-texto: #ffffff;
}
body .documento.fondo-palencia {
  --enlace-title-color: #ffffff;
  --enlace-btn-background: #ffffff;
  --enlace-btn-color: #93198F;
  --enlace-btn-hover-background: #ffffff;
  --enlace-btn-hover-color: #93198F;
}
body .documento.color-segovia {
  --enlace-title-color: #ff9000;
  --enlace-text-color: #ff9000;
  --enlace-text-color-hover: #FAAB39;
  --enlace-btn-background: #ff9000;
  --enlace-btn-color: #ffffff;
  --enlace-btn-hover-background: #FAAB39;
  --enlace-btn-hover-color-texto: #ffffff;
}
body .documento.fondo-segovia {
  --enlace-title-color: #ffffff;
  --enlace-btn-background: #ffffff;
  --enlace-btn-color: #ff9000;
  --enlace-btn-hover-background: #ffffff;
  --enlace-btn-hover-color: #ff9000;
}
body .documento.color-soria {
  --enlace-title-color: #AAD000;
  --enlace-text-color: #AAD000;
  --enlace-text-color-hover: #D0EA5B;
  --enlace-btn-background: #AAD000;
  --enlace-btn-color: #ffffff;
  --enlace-btn-hover-background: #D0EA5B;
  --enlace-btn-hover-color-texto: #ffffff;
}
body .documento.fondo-soria {
  --enlace-title-color: #ffffff;
  --enlace-btn-background: #ffffff;
  --enlace-btn-color: #AAD000;
  --enlace-btn-hover-background: #ffffff;
  --enlace-btn-hover-color: #AAD000;
}
body .documento.color-valladolid {
  --enlace-title-color: #5534AE;
  --enlace-text-color: #5534AE;
  --enlace-text-color-hover: #785FBB;
  --enlace-btn-background: #5534AE;
  --enlace-btn-color: #ffffff;
  --enlace-btn-hover-background: #785FBB;
  --enlace-btn-hover-color-texto: #ffffff;
}
body .documento.fondo-valladolid {
  --enlace-title-color: #ffffff;
  --enlace-btn-background: #ffffff;
  --enlace-btn-color: #5534AE;
  --enlace-btn-hover-background: #ffffff;
  --enlace-btn-hover-color: #5534AE;
}
body .documento.izquierda .contenido a {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}
body .documento.izquierda span.icon {
  width: fit-content !important;
}
body .documento.izquierda .texto {
  width: fit-content !important;
}
body .documento.centro .contenido {
  justify-content: center;
}
body .documento.derecha .contenido {
  justify-content: flex-end;
}
body .documento.completo .contenido {
  display: flex;
  width: 100%;
  justify-content: stretch;
}
body .documento.ancho .contenido {
  display: flex;
  width: 100%;
  justify-content: stretch;
}
body .documento.ancho .contenido a {
  width: 100%;
  display: inline-block;
  text-align: center;
}
body .documento.ancho .contenido a .meta {
  margin-left: auto;
}
body .documento.columnas-1 .contenido {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento.columnas-1 .contenido {
    width: 8.3333333333%;
  }
}
body .documento.columnas-2 .contenido {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento.columnas-2 .contenido {
    width: 16.6666666667%;
  }
}
body .documento.columnas-3 .contenido {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento.columnas-3 .contenido {
    width: 25%;
  }
}
body .documento.columnas-4 .contenido {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento.columnas-4 .contenido {
    width: 33.3333333333%;
  }
}
body .documento.columnas-5 .contenido {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento.columnas-5 .contenido {
    width: 41.6666666667%;
  }
}
body .documento.columnas-6 .contenido {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento.columnas-6 .contenido {
    width: 50%;
  }
}
body .documento.columnas-7 .contenido {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento.columnas-7 .contenido {
    width: 58.3333333333%;
  }
}
body .documento.columnas-8 .contenido {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento.columnas-8 .contenido {
    width: 66.6666666667%;
  }
}
body .documento.columnas-9 .contenido {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento.columnas-9 .contenido {
    width: 75%;
  }
}
body .documento.columnas-10 .contenido {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento.columnas-10 .contenido {
    width: 83.3333333333%;
  }
}
body .documento.columnas-11 .contenido {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento.columnas-11 .contenido {
    width: 91.6666666667%;
  }
}
body .documento.columnas-12 .contenido {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento.columnas-12 .contenido {
    width: 100%;
  }
}
body .documento .contenido {
  flex: 1 0 100%;
  min-width: 0;
  border: 0px;
  white-space: normal;
  word-break: break-word;
  text-decoration: none;
  box-sizing: border-box;
  text-align: left;
  font-family: "Roboto", "Atkinson Hyperlegible", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 400;
  font-size: 1.1rem;
  color: var(--enlace-color);
  display: flex;
  gap: 0.5rem;
  /*
      >button {
        white-space: normal;
        word-break: break-word;
        width: 100%;

        @import "./enlace-boton"; 
      }
  */
  opacity: 1;
}
body .documento .contenido.columnas-1 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-1 {
    width: 8.3333333333%;
  }
}
body .documento .contenido.columnas-2 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-2 {
    width: 16.6666666667%;
  }
}
body .documento .contenido.columnas-3 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-3 {
    width: 25%;
  }
}
body .documento .contenido.columnas-4 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-4 {
    width: 33.3333333333%;
  }
}
body .documento .contenido.columnas-5 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-5 {
    width: 41.6666666667%;
  }
}
body .documento .contenido.columnas-6 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-6 {
    width: 50%;
  }
}
body .documento .contenido.columnas-7 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-7 {
    width: 58.3333333333%;
  }
}
body .documento .contenido.columnas-8 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-8 {
    width: 66.6666666667%;
  }
}
body .documento .contenido.columnas-9 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-9 {
    width: 75%;
  }
}
body .documento .contenido.columnas-10 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-10 {
    width: 83.3333333333%;
  }
}
body .documento .contenido.columnas-11 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-11 {
    width: 91.6666666667%;
  }
}
body .documento .contenido.columnas-12 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-12 {
    width: 100%;
  }
}
body .documento .contenido a,
body .documento .contenido button {
  white-space: normal;
  word-break: break-word;
  font-size: var(--enlace-text-size);
  color: var(--enlace-text-color);
  gap: 0.5rem;
}
body .documento .contenido a img,
body .documento .contenido button img {
  height: 20px;
}
body .documento.borde .contenido {
  border: var(--border-width) solid var(--enlace-btn-background);
  padding: 0.5rem 1.5rem;
}
body .documento.borde-redondo .contenido {
  border: var(--border-width) solid var(--enlace-btn-background);
  border-radius: var(--border-radius);
  padding: 0.5rem 1.5rem;
}
body .documento.borde-sombra .contenido {
  border: var(--border-width) solid var(--enlace-btn-background);
  padding: 0.5rem 1.5rem;
  shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
body .documento.borde-izquierda .contenido {
  border-left: var(--border-width-lg) solid var(--enlace-btn-background);
  padding: 0.5rem 1.5rem;
}
body .documento .contenido {
  text-align: left;
  font-family: "Roboto", "Atkinson Hyperlegible", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 400;
  font-size: 1.1rem;
  color: #13347D;
  display: flex;
  opacity: 1;
  gap: 0.5rem;
}
body .documento .contenido.columnas-1 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-1 {
    width: 8.3333333333%;
  }
}
body .documento .contenido.columnas-2 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-2 {
    width: 16.6666666667%;
  }
}
body .documento .contenido.columnas-3 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-3 {
    width: 25%;
  }
}
body .documento .contenido.columnas-4 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-4 {
    width: 33.3333333333%;
  }
}
body .documento .contenido.columnas-5 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-5 {
    width: 41.6666666667%;
  }
}
body .documento .contenido.columnas-6 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-6 {
    width: 50%;
  }
}
body .documento .contenido.columnas-7 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-7 {
    width: 58.3333333333%;
  }
}
body .documento .contenido.columnas-8 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-8 {
    width: 66.6666666667%;
  }
}
body .documento .contenido.columnas-9 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-9 {
    width: 75%;
  }
}
body .documento .contenido.columnas-10 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-10 {
    width: 83.3333333333%;
  }
}
body .documento .contenido.columnas-11 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-11 {
    width: 91.6666666667%;
  }
}
body .documento .contenido.columnas-12 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  body .documento .contenido.columnas-12 {
    width: 100%;
  }
}
body .documento .contenido a {
  flex: 0 1 auto;
  white-space: normal;
  word-break: break-word;
  gap: 0.5rem;
}
body .documento .contenido a img {
  height: 20px;
}
body .documento .doc-link {
  text-decoration: none;
  color: inherit;
  display: flex;
  align-items: center;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  position: relative;
  margin-bottom: 1.5rem;
}
body .documento .doc-link:hover, body .documento .doc-link:focus {
  text-decoration: none;
}
body .documento .doc-link:focus {
  outline: 3px solid #003973;
  outline-offset: 3px;
}
body .documento .doc-link:focus:not(:focus-visible) {
  outline: none;
}
body .documento .doc-link:focus-visible {
  outline: 3px solid #003973;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  body .documento .doc-link {
    animation: none !important;
    transition: none !important;
  }
}
body .documento .doc-link.seguido + .doc-link {
  float: left;
  margin-right: 1.5rem;
}
body .documento .doc-link.ancho {
  width: 100%;
  float: none;
}
body .documento .doc-link.estrecho {
  max-width: fit-content;
}
body .documento .doc-link.borde {
  padding: 1rem 1.5rem;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid #657786;
  transition: border-color, box-shadow 0.3s ease-in-out;
}
body .documento.enl-linea a {
  display: inline-flex;
  align-items: top;
  gap: 0.5rem;
  color: var(--enlace-text-color);
  text-decoration: underline 1px transparent;
  text-underline-offset: 4px;
  padding: 0.3rem 0;
  transition: all 0.3s ease;
}
body .documento.enl-linea a > img {
  width: auto;
  height: 20px;
  transition: opacity 0.3s ease;
}
body .documento.enl-linea a:hover, body .documento.enl-linea a:focus {
  color: var(--enlace-text-color-hover);
  text-decoration-color: currentColor;
}
body .documento.enl-linea a:hover > img, body .documento.enl-linea a:focus > img {
  opacity: 0.8;
}
body .documento.enl-alinea a {
  display: inline-flex;
  flex: 0 1 auto;
  align-items: center;
  gap: 0.5rem;
  color: var(--enlace-text-color);
  text-decoration: underline 1px transparent;
  text-decoration: none;
  position: relative;
  padding: 0.3rem 0;
  transition: color 0.3s ease;
}
body .documento.enl-alinea a > img {
  width: auto;
  height: 20px;
  transition: filter 0.3s ease;
}
body .documento.enl-alinea a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background-color: var(--color-primario-hover);
  transition: width 0.3s ease;
}
body .documento.enl-alinea a:hover, body .documento.enl-alinea a:focus {
  color: var(--color-primario-hover);
}
body .documento.enl-alinea a:hover > img, body .documento.enl-alinea a:focus > img {
  filter: brightness(0.8);
}
body .documento.enl-alinea a:hover::after, body .documento.enl-alinea a:focus::after {
  width: calc(100% - 0.5rem); /* Ajuste por el gap */
}
body .documento.enl-res a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--enlace-text-color);
  text-decoration: none;
  border-radius: 4px;
  transition: all 0.3s ease;
}
body .documento.enl-res a > img {
  width: auto;
  height: 20px;
  transition: transform 0.3s ease;
}
body .documento.enl-res a:hover, body .documento.enl-res a:focus {
  padding: 0.3rem 0.5rem;
  background-color: rgba(45, 80, 137, 0.1);
  color: var(--color-primario-hover);
}
body .documento.enl-res a:hover > img, body .documento.enl-res a:focus > img {
  transform: scale(1.1);
}
body .documento.enl-deslizante a {
  display: inline-flex; /* o flex, según necesites */
  flex: 0 1 auto;
  gap: 0.5rem;
  color: var(--enlace-text-color);
  text-decoration: none;
  border-radius: 4px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden; /* Para efectos que necesiten esto */
  /* Estilos para la imagen dentro del enlace */
  /* Estilos para el texto */
}
body .documento.enl-deslizante a:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(45, 80, 137, 0.1);
  z-index: -1;
  transform: translateX(-100%);
  transition: transform 0.3s ease;
}
body .documento.enl-deslizante a:hover, body .documento.enl-deslizante a:focus {
  padding: 0.3rem 0.5rem;
  color: var(--color-primario-hover);
}
body .documento.enl-deslizante a:hover > img, body .documento.enl-deslizante a:focus > img {
  filter: brightness(0.8) saturate(1.5);
}
body .documento.enl-deslizante a:hover::after, body .documento.enl-deslizante a:focus::after {
  transform: translateX(0);
}
body .documento.enl-deslizante a > img {
  width: auto; /* Ajusta según necesites */
  height: 20px;
  transition: filter 0.3s ease;
}
body .documento.enl-deslizante a > span {
  position: relative;
}
body .documento.enl-ideslizante a {
  flex: 0 1 auto;
  position: relative;
  color: var(--enlace-text-color);
  font-family: "Roboto", "Atkinson Hyperlegible", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 400;
  font-size: 1.1rem;
  letter-spacing: 0;
  margin-top: 2px;
  padding-bottom: 2px;
  text-decoration: none;
  transition: color 0.3s ease;
  -webkit-tap-highlight-color: transparent;
}
body .documento.enl-ideslizante a::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: #5af0ff;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s ease, background-color 0.3s ease;
  z-index: 1;
}
body .documento.enl-ideslizante a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: #212121;
  transform: scaleX(1);
  transform-origin: right;
  transition: transform 0.4s ease;
  z-index: 2;
}
body .documento.enl-ideslizante a:focus-visible {
  outline: 2px dashed #5af0ff;
  outline-offset: 4px;
}
body .documento.enl-ideslizante a:hover {
  color: rgba(18, 18, 18, 0.8);
}
body .documento.enl-ideslizante a:hover::before {
  transform: scaleX(1);
  background-color: #5af0ff;
}
body .documento.enl-ideslizante a:hover::after {
  transform: scaleX(0);
}
body .documento.enl-ideslizante a:active::before {
  background-color: #ff6960;
}
body .documento.enl-ideslizante a:active > span {
  color: #ffffff;
}
body .documento.enl-ideslizante a > icon {
  margin-bottom: 2px;
}
body .documento.enl-ideslizante a > span {
  position: relative;
  z-index: 3;
}
body .documento.enl-sombra a {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 500;
  transition: all 0.3s ease;
  padding: 0.5rem 1rem;
  border-radius: 4px;
  gap: 0.5rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
body .documento.enl-sombra a:focus, body .documento.enl-sombra a:hover {
  outline: 3px solid var(--color-primario);
  outline-offset: 2px;
}
body .documento.enl-sombra a > img {
  width: 1.5rem;
  height: 1.5rem;
  margin-right: 0.5rem;
}
body .documento.enl-sombra a > span {
  line-height: 1.5;
}
body .documento.enl-sombra a:hover, body .documento.enl-sombra a:focus {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transform: translateY(-2px);
}
body .documento.simple .meta {
  margin-left: auto;
}
body .documento.boton-fondo a {
  align-items: center;
  background-color: var(--enlace-btn-background);
  color: var(--enlace-btn-color-texto);
  border: 2px solid var(--enlace-btn-background);
  padding: 1rem 1.5rem;
  border-radius: 12px;
  margin-bottom: 0;
}
body .documento.boton-fondo:hover:not(:disabled) a {
  background-color: var(--enlace-btn-hover-background);
  color: var(--enlace-btn-hover-color-texto);
  border-color: var(--enlace-secundario);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
body .documento.boton-fondo:active:not(:disabled) a {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
body .documento.boton-linea a {
  align-items: center;
  background-color: var(--enlace-blanco);
  color: var(--enlace-text-color);
  border: 2px solid var(--enlace-btn-background);
  padding: 1rem 1.5rem;
  border-radius: 12px;
  margin-bottom: 1.5rem;
}
body .documento.boton-linea:hover:not(:disabled) a {
  background-color: var(--enlace-blanco);
  color: var(--enlace-text-color);
  border-color: var(--enlace-btn-hover-background);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
body .documento.boton-linea:active:not(:disabled) a {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
body .documento.tarjeta .contenido {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: var(--border-width) solid var(--border-color);
  border-radius: 16px;
  padding: 0.5rem 1.5rem;
  overflow: hidden;
}
body .documento.tarjeta-horizontal .contenido {
  display: flex;
  flex-direction: row;
  background: #ffffff;
  border: var(--border-width) solid var(--border-color);
  border-radius: 16px;
  padding: 0.5rem 1.5rem;
  overflow: hidden;
}
body .documento.tarjeta-vertical .contenido {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: var(--border-width) solid var(--border-color);
  border-radius: 16px;
  padding: 0.5rem 1.5rem;
  overflow: hidden;
}
body .documento.tarjeta-horizontal {
  display: inline-flex;
  flex-direction: column;
}
body .documento.tarjeta-horizontal .contenido {
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: 50px 1fr;
  align-items: start;
  gap: 0 1rem;
  overflow: hidden;
}
body .documento.tarjeta-horizontal .contenido .titulo {
  grid-column: 2;
}
body .documento.tarjeta-horizontal .contenido .titulo h2 {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.2;
  color: var(--enlace-text-color);
}
body .documento.tarjeta-horizontal .contenido a {
  display: contents;
}
body .documento.tarjeta-horizontal .contenido a .icon {
  grid-column: 1;
  grid-row: 1/span 3;
  display: flex;
  justify-content: center;
  padding-top: 0.5rem;
  font-size: 2rem;
}
body .documento.tarjeta-horizontal .contenido a .texto {
  grid-column: 2;
  margin-top: 0.25rem;
  color: #444;
}
body .documento.tarjeta-horizontal .contenido a .meta {
  grid-column: 2;
  display: flex;
  gap: 1rem;
  margin-top: 0.5rem;
  font-size: 0.85rem;
  color: #888;
}
body .documento.tarjeta-horizontal .contenido a .meta .size:not(:last-child)::after,
body .documento.tarjeta-horizontal .contenido a .meta .date:not(:last-child)::after {
  content: "|";
  margin-left: 1rem;
  opacity: 0.5;
}
body .documento.tarjeta-vertical {
  display: inline-flex;
  flex-direction: column;
  text-align: center;
}
body .documento.tarjeta-vertical .contenido {
  flex: 1 1 auto;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
}
body .documento.tarjeta-vertical .titulo h2 {
  text-align: center;
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.3;
  color: var(--enlace-text-color);
}
body .documento.tarjeta-vertical a {
  display: contents;
}
body .documento.tarjeta-vertical a .icon {
  order: -1;
  font-size: 2.5rem;
  color: #E53935;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
body .documento.tarjeta-vertical a .texto {
  font-weight: 400;
  font-size: 1.25rem;
  color: rgba(18, 18, 18, 0.8);
  margin: 0.5rem 0;
}
body .documento.tarjeta-vertical a .meta {
  font-size: 1rem;
  color: rgba(18, 18, 18, 0.6);
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
}
body .documento.tarjeta-vertical a .meta i {
  font-size: 0.8rem;
  margin-right: -0.25rem;
}
body .documento.tarjeta-vertical a .meta .size {
  background: #f0f0f0;
  padding: 2px 8px;
  border-radius: 4px;
}
body .documento.tarjeta-vertical a .card-header {
  padding: 1.5rem;
  background: rgba(0, 57, 115, 0.03);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
body .documento.tarjeta-vertical a .type-badge {
  background: #E53935;
  color: #ffffff;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 400;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  line-height: 1;
}
body .documento.tarjeta-vertical a .card-body {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
body .documento.tarjeta-vertical a .card-footer {
  padding: 1.5rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #657786;
}
body .documento.tarjeta-vertical a .date {
  font-size: 1rem;
  color: rgba(18, 18, 18, 0.6);
  display: flex;
  gap: 1rem;
  align-items: center;
}
body .documento.tarjeta-vertical a .date > span {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
body .documento.tarjeta-vertical a .action {
  color: #003973;
  font-size: 1.5rem;
  transition: transform 0.3s ease-in-out;
}
body .documento.tarjeta-vertical a:hover .doc-action {
  transform: scale(1.2);
}
@media (max-width: 768px) {
  body {
    /* Ajustes para diseños específicos en móvil */
    /** DOCUMENTO LINEA FUERA **/
  }
  body .doc-link-06,
  body .doc-link-11,
  body .doc-link-12 {
    flex-direction: column;
    align-items: flex-start;
  }
  body .doc-link-18 {
    flex-direction: column;
  }
  body .comparison-grid {
    grid-template-columns: 1fr;
  }
  body.enl-simple a {
    display: inline-flex;
    align-items: top;
    gap: 0.5rem;
    color: #003973;
    text-decoration: none;
    font-weight: 500;
    position: relative;
    padding-bottom: 4px;
    transition: color 300ms cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: underline 1px transparent;
    text-underline-offset: 4px;
    padding: 0.3rem 0;
    transition: all 0.3s ease;
  }
  body.enl-simple a > img {
    width: auto;
    height: 20px;
    transition: opacity 0.3s ease;
  }
  body.enl-simple a:hover, body.enl-simple a:focus {
    color: var(--enlace-text-color-hover);
    text-decoration-color: currentColor;
  }
  body.enl-simple a:hover > img, body.enl-simple a:focus > img {
    opacity: 0.8;
  }
  body.enl-decorado a {
    display: inline-flex;
    align-items: top;
    gap: 0.5rem;
    color: #003973;
    text-decoration: none;
    font-weight: 500;
    position: relative;
    padding-bottom: 4px;
    transition: color 300ms cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: underline 1px transparent;
    text-underline-offset: 4px;
    padding: 0.3rem 0;
    transition: all 0.3s ease;
  }
  body.enl-decorado a > img {
    width: auto;
    height: 20px;
    transition: opacity 0.3s ease;
  }
  body.enl-decorado a:hover, body.enl-decorado a:focus {
    color: var(--enlace-text-color-hover);
    text-decoration-color: currentColor;
  }
  body.enl-decorado a:hover > img, body.enl-decorado a:focus > img {
    opacity: 0.8;
  }
  body.enl-subrayado a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--color-primario);
    text-decoration: none;
    position: relative;
    padding: 0.3rem 0;
    transition: color 0.3s ease;
  }
  body.enl-subrayado a > img {
    width: auto;
    height: 20px;
    transition: filter 0.3s ease;
  }
  body.enl-subrayado a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background-color: var(--color-primario-hover);
    transition: width 0.3s ease;
  }
  body.enl-subrayado a:hover, body.enl-subrayado a:focus {
    color: var(--color-primario-hover);
  }
  body.enl-subrayado a:hover > img, body.enl-subrayado a:focus > img {
    filter: brightness(0.8);
  }
  body.enl-subrayado a:hover::after, body.enl-subrayado a:focus::after {
    width: calc(100% - 0.5rem); /* Ajuste por el gap */
  }
  body.enl-doble a {
    color: #003973;
    text-decoration: none;
    font-weight: 500;
    padding: 0.75rem 2rem;
    display: inline-block;
    position: relative;
    transition: color 300ms cubic-bezier(0.4, 0, 0.2, 1);
  }
  body.enl-doble a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: #003973;
    transition: width 300ms cubic-bezier(0.4, 0, 0.2, 1);
  }
  body.enl-doble a::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 2px;
    background-color: #003973;
    transition: width 300ms cubic-bezier(0.4, 0, 0.2, 1);
  }
  body.enl-doble a:hover {
    color: #13347D;
  }
  body.enl-doble a:hover::before, body.enl-doble a:hover::after {
    width: 100%;
  }
  body.enl-doble a:focus {
    outline: 2px solid #003973;
    outline-offset: 4px;
    border-radius: 2px;
  }
  body.enl-dobleinf a {
    color: #003973;
    text-decoration: none;
    font-weight: 500;
    position: relative;
    padding-bottom: 8px;
    transition: color 300ms cubic-bezier(0.4, 0, 0.2, 1);
  }
  body.enl-dobleinf a::before {
    content: "";
    position: absolute;
    bottom: 4px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #003973;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
  }
  body.enl-dobleinf a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #2D5089;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
  }
  body.enl-dobleinf a:hover {
    color: #13347D;
  }
  body.enl-dobleinf a:hover::before, body.enl-dobleinf a:hover::after {
    transform: scaleX(1);
  }
  body.enl-dobleinf a:focus {
    outline: 2px solid #003973;
    outline-offset: 6px;
    border-radius: 2px;
  }
  body.enl-expansivo a {
    color: transparent;
    text-decoration: none;
    font-weight: 700;
    padding: 0.75rem 2rem;
    background: linear-gradient(135deg, #003973, #2D5089, #003973);
    background-clip: text;
    -webkit-background-clip: text;
    background-size: 200% 200%;
    animation: gradient-shift 3s ease infinite;
    display: inline-block;
    position: relative;
    transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
  }
  body.enl-expansivo a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #003973, #2D5089, #003973);
    transform: scaleX(0);
    transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
  }
  body.enl-expansivo a:hover {
    transform: translateY(-2px);
  }
  body.enl-expansivo a:hover::after {
    transform: scaleX(1);
  }
  body.enl-expansivo a:focus {
    outline: 2px solid #003973;
    outline-offset: 4px;
    border-radius: 2px;
  }
  body.enl-fondodeslizante a {
    display: flex; /* o flex, según necesites */
    gap: 0.5rem;
    color: var(--color-primario);
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden; /* Para efectos que necesiten esto */
    /* Estilos para la imagen dentro del enlace */
    /* Estilos para el texto */
  }
  body.enl-fondodeslizante a:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: rgba(45, 80, 137, 0.1);
    z-index: -1;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
  }
  body.enl-fondodeslizante a:hover, body.enl-fondodeslizante a:focus {
    padding: 0.3rem 0.5rem;
    color: var(--color-primario-hover);
  }
  body.enl-fondodeslizante a:hover > img, body.enl-fondodeslizante a:focus > img {
    filter: brightness(0.8) saturate(1.5);
  }
  body.enl-fondodeslizante a:hover::after, body.enl-fondodeslizante a:focus::after {
    transform: translateX(0);
  }
  body.enl-fondodeslizante a > img {
    width: auto; /* Ajusta según necesites */
    height: 20px;
    transition: filter 0.3s ease;
  }
  body.enl-fondodeslizante a > span {
    position: relative;
  }
  body.enl-fondodeslizanteinverso a {
    flex: 0 1 auto;
    position: relative;
    color: #13347D;
    font-family: "Roboto", "Atkinson Hyperlegible", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-weight: 400;
    font-size: 1.1rem;
    letter-spacing: 0;
    text-decoration: none;
    display: inline-block;
    transition: color 0.3s ease;
    -webkit-tap-highlight-color: transparent;
  }
  body.enl-fondodeslizanteinverso a::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background-color: #5af0ff;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.4s ease, background-color 0.3s ease;
    z-index: 1;
  }
  body.enl-fondodeslizanteinverso a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: #212121;
    transform: scaleX(1);
    transform-origin: right;
    transition: transform 0.4s ease;
    z-index: 2;
  }
  body.enl-fondodeslizanteinverso a:focus-visible {
    outline: 2px dashed #5af0ff;
    outline-offset: 4px;
  }
  body.enl-fondodeslizanteinverso a:hover {
    color: rgba(18, 18, 18, 0.8);
  }
  body.enl-fondodeslizanteinverso a:hover::before {
    transform: scaleX(1);
    background-color: #5af0ff;
  }
  body.enl-fondodeslizanteinverso a:hover::after {
    transform: scaleX(0);
  }
  body.enl-fondodeslizanteinverso a:active::before {
    background-color: #ff6960;
  }
  body.enl-fondodeslizanteinverso a:active > span {
    color: #ffffff;
  }
  body.enl-fondodeslizanteinverso a > span {
    position: relative;
    z-index: 3;
  }
  body.btn-redondo a {
    border-radius: 12px;
  }
  body.boton-fondo.btn-deslizante a {
    position: relative;
    display: inline-block;
    padding: 0.5em 0.5em;
    cursor: pointer;
    overflow: hidden;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    z-index: 1;
  }
  body.boton-fondo.btn-deslizante a::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: var(--enlace-btn-hover-background, #003973);
    transform: translateX(-100%);
    color: var(--enlace-btn-hover-color-texto);
    transition: transform 1.2s cubic-bezier(0.4, 0, 0.2, 1);
  }
  body.boton-fondo.btn-deslizante a:hover::before, body.boton-fondo.btn-deslizante a:focus::before {
    transform: translateX(0);
  }
  body.boton-fondo.btn-deslizante a:hover > span, body.boton-fondo.btn-deslizante a:focus > span {
    color: var(--enlace-btn-hover-color-texto);
  }
  body.boton-fondo.btn-deslizante a:active {
    text-decoration: none;
  }
  body.boton-fondo.btn-deslizante a > span {
    position: relative;
    z-index: 2;
    text-align: center;
    transition: color 0.5s ease;
    color: var(--enlace-btn-color-texto);
  }
  body.boton-fondo.btn-ideslizante a {
    position: relative;
    display: inline-block;
    padding: 0.5em 0.5em;
    cursor: pointer;
    overflow: hidden;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    z-index: 1;
  }
  body.boton-fondo.btn-ideslizante a::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: var(--enlace-btn-hover-background, #003973);
    transform: translateX(0);
    transition: transform 1.2s cubic-bezier(0.4, 0, 0.2, 1);
  }
  body.boton-fondo.btn-ideslizante a:hover::before, body.boton-fondo.btn-ideslizante a:focus::before {
    transform: translateX(-100%);
  }
  body.boton-fondo.btn-ideslizante a:hover > span, body.boton-fondo.btn-ideslizante a:focus > span {
    color: var(--enlace-btn-hover-color-texto);
  }
  body.boton-fondo.btn-ideslizante a:active {
    text-decoration: none;
  }
  body.boton-fondo.btn-ideslizante a > span {
    position: relative;
    z-index: 2;
    text-align: center;
    transition: color 0.5s ease;
    color: var(--enlace-btn-color-texto);
    display: inline-block;
  }
  body.boton-linea.btn-deslizante a {
    background-image: linear-gradient(to right, var(--enlace-btn-background) 50%, #ffffff 50%);
    background-size: 200% 100%;
    background-position: right bottom;
    transition: background-position 0.4s ease-in-out, color 0.3s ease;
    border: 2px solid var(--enlace-btn-background);
    color: var(--enlace-color-texto);
  }
  body.boton-linea.btn-deslizante a:hover {
    background-position: left bottom;
    color: var(--enlace-btn-hover-color-texto);
    border-color: var(--enlace-btn-background);
  }
  body.boton-linea.btn-ideslizante a {
    background-image: linear-gradient(to right, #ffffff 50%, var(--enlace-btn-background) 50%);
    background-size: 200% 100%;
    background-position: left bottom;
    padding: 12px 24px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    border-radius: 8px;
    transition: background-position 0.4s ease-out, color 0.3s ease;
    font-size: 16px;
    line-height: 1.5;
  }
  body.boton-linea.btn-ideslizante a:hover {
    background-position: right bottom;
    color: var(--enlace-btn-hover-color-texto);
    border-color: var(--enlace-btn-hover-background);
  }
  body.boton-linea.btn-ideslizante a:focus {
    outline: 3px solid #ffffff;
    outline-offset: 2px;
  }
  body.boton-linea.btn-ideslizante a:active {
    background-position: left bottom;
  }
  body.efecto-borde a {
    transition: border-color 0.4s ease-out;
  }
  body.efecto-borde a:hover {
    border-color: var(--enlace-btn-hover-background);
  }
  body.efecto-zoom a {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }
  body.efecto-zoom a:hover {
    transform: scale(1.05);
  }
  body.efecto-elevacion {
    transition: box-shadow 0.4s, transform 0.3s ease-in-out;
  }
  body.efecto-elevacion:hover {
    transform: translateY(-2px);
  }
  body.efecto-gris {
    filter: grayscale(0%);
    transition: filter 0.4s ease-out;
  }
  body.efecto-gris:hover {
    filter: grayscale(100%);
  }
  body.efecto-degris {
    filter: grayscale(100%);
    transition: filter 0.4s ease-out;
  }
  body.efecto-degris:hover {
    filter: grayscale(0%);
  }
  body.desactivado a {
    background-color: #6D6D6C;
    color: #ffffff;
    border-color: #6D6D6C;
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.7;
    box-shadow: none;
  }
  body.desactivado a:hover {
    background-color: #6D6D6C;
  }
}
@media (prefers-reduced-motion: reduce) {
  body * {
    animation: none !important;
    transition: none !important;
  }
}
body .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
body .doc-link-disabled {
  opacity: 0.5;
  pointer-events: none;
  cursor: not-allowed;
}
body .doc-link-loading {
  opacity: 0.5;
}
body .doc-link-loading::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.5);
  cursor: wait;
}
body .doc-link[data-estado=nuevo]::before {
  content: "NUEVO";
  background: #28A745;
  color: #ffffff;
  padding: 2px 0.5rem;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 400;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  line-height: 1;
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 5;
}
body .doc-link[data-estado=actualizado]::before {
  content: "ACTUALIZADO";
  background: #17A2B8;
  color: #ffffff;
  padding: 2px 0.5rem;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 400;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  line-height: 1;
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 5;
}
body .doc-link[data-estado=destacado] {
  border-color: #FFC107 !important;
}
body .doc-link[data-estado=restringido] .doc-icon {
  color: #DC3545 !important;
}
body .doc-link[data-estado=restringido]::after {
  content: "\f023";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 1rem;
  right: 1rem;
  color: #DC3545;
}
body .doc-link:focus-visible {
  outline: 3px solid var(--uva-focus);
  outline-offset: 3px;
}
@media screen and (prefers-contrast: high) {
  body .doc-meta,
  body .doc-description {
    color: var(--color-texto);
  }
}
@media (prefers-color-scheme: dark) {
  body {
    /* Nota: Los diseños están optimizados para modo claro
         pero se pueden agregar estilos específicos aquí */
  }
}

/*# sourceMappingURL=document.min.css.map */
