/*
Theme Name: ARQDIS
Description: Tema para el sitio web de ARQDIS Uniandes
Version: 2.1.222
Author: Nasif Rincón, Isabela Ortiz, Simón de Zubiría
Text Domain: arqdis
*/
/*-------------------00. RESET CSS (Meyer Reset)-------------------*/
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: none;
}

/* Egresados: cargo link should always be blue */
.cargo-egresado-link,
.cargo-egresado-link:visited,
.cargo-egresado-link:hover,
.cargo-egresado-link:active,
.cargo-egresado-link:focus {
  color: #0000ee !important;
}

a:focus {
  outline: none;
}

/* Se agregó esta regla para sobreescribir la regla que wordpress agregó en otro css */
html :where(img) {
  max-width: unset;
}

/* New Course Badge (Cursos) */
.grid-post-thumbnail,
.cover-container,
.course-thumbnail-wrapper {
  position: relative;
}
/* Respaldo cuando un post no tiene imagen destacada (thumbnail genérico): en vez
   de una figura vacía, una tarjeta neutra con el título, para que el grid no
   muestre huecos en blanco. */
.grid-post-thumbnail-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  aspect-ratio: 4 / 3;
  padding: 1.25rem;
  box-sizing: border-box;
  background: repeating-linear-gradient(
    135deg,
    #f2f2f2 0,
    #f2f2f2 12px,
    #ececec 12px,
    #ececec 24px
  );
  color: #8a8a8a;
  font-family: "Roboto Mono", monospace;
  font-size: 0.95rem;
  line-height: 1.3;
}
.new-course-badge {
  /* Adjustable sizing via CSS variables */
  --new-course-badge-size: 240px;
  --new-course-badge-bg-scale: 1;
  --new-course-badge-text-scale: 0.3;

  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: var(--new-course-badge-size);
  height: var(--new-course-badge-size);
  pointer-events: none; /* avoid affecting hover/clicks */
  z-index: 5; /* above blue overlay */
}
/* Remove the cover-container specific adjustment - now handled by wrapper */
.course-thumbnail-wrapper {
  display: inline-block;
  width: 100%;
  margin-bottom: 1rem;
}
.new-course-badge img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  display: block;
}
.new-course-badge .badge-bg {
  width: calc(100% * var(--new-course-badge-bg-scale)) !important;
  height: auto !important;
  transition: transform 1.2s ease-in-out;
}
.new-course-badge .badge-text {
  width: calc(100% * var(--new-course-badge-text-scale)) !important;
  height: auto !important;
}

/* Mobile: keep the badge centered over the actual image, not just the wrapper */
@media (max-width: 768px) {
  .course-thumbnail-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .course-thumbnail-wrapper > img {
    display: block;
    width: 100%;
    height: auto;
  }

  .course-thumbnail-wrapper .new-course-badge {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
/* Higher specificity overrides for badge images inside blue-on-hover */
.grid-post-thumbnail.blue-on-hover .new-course-badge .badge-bg,
.grid-post-thumbnail.blue-on-hover:hover .new-course-badge .badge-bg {
  width: calc(100% * var(--new-course-badge-bg-scale)) !important;
  height: auto !important;
}
.grid-post-thumbnail.blue-on-hover .new-course-badge .badge-text,
.grid-post-thumbnail.blue-on-hover:hover .new-course-badge .badge-text {
  width: calc(100% * var(--new-course-badge-text-scale)) !important;
  height: auto !important;
}
/* Rotate only the background on hover of the thumbnail link or figure */
a.grid-post-link:hover .new-course-badge .badge-bg,
.grid-post-thumbnail:hover .new-course-badge .badge-bg,
.cover-container:hover .new-course-badge .badge-bg,
.blue-on-hover:hover .new-course-badge .badge-bg {
  transform: translate(-50%, -50%) rotate(180deg) !important;
}
/* Ensure the badge is not tinted by any hover overlay */
.new-course-badge,
.new-course-badge img {
  mix-blend-mode: normal;
  filter: none;
}

/* Strong overrides so generic thumbnail rules don't affect the badge */
.grid-post-thumbnail.blue-on-hover .new-course-badge img,
.grid-post-thumbnail .new-course-badge img,
.cover-container .new-course-badge img {
  filter: none !important;
  height: auto !important;
  width: 100% !important;
}
/* But preserve transition for badge-bg rotation */
.grid-post-thumbnail .new-course-badge .badge-bg,
.grid-post-thumbnail.blue-on-hover .new-course-badge .badge-bg {
  transition: transform 1.2s ease-in-out !important;
}
/* No transition for badge-text */
.grid-post-thumbnail .new-course-badge .badge-text,
.grid-post-thumbnail.blue-on-hover .new-course-badge .badge-text {
  transition: none !important;
}

/* Inscription Closing Soon Badge */
.inscription-soon-badge {
  --inscription-soon-badge-size: 240px;
  --inscription-soon-badge-bg-scale: 1;

  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: var(--inscription-soon-badge-size);
  height: var(--inscription-soon-badge-size);
  pointer-events: none;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
}
.inscription-soon-badge .badge-bg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% * var(--inscription-soon-badge-bg-scale)) !important;
  height: auto !important;
  transition: transform 1.2s ease-in-out !important;
}
.inscription-soon-badge .badge-text-label {
  position: relative;
  z-index: 2;
  font-family: "Roboto Mono", monospace;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  color: #fff !important;
  line-height: 1.15;
  max-width: 55%;
  word-wrap: break-word;
  letter-spacing: 0.02em;
}
/* Rotate badge-bg on hover */
a.grid-post-link:hover .inscription-soon-badge .badge-bg,
.grid-post-thumbnail:hover .inscription-soon-badge .badge-bg,
.grid-post-thumbnail.blue-on-hover:hover .inscription-soon-badge .badge-bg,
.blue-on-hover:hover .inscription-soon-badge .badge-bg {
  transform: translate(-50%, -50%) rotate(180deg) !important;
}
/* Higher specificity overrides for badge images inside blue-on-hover */
.grid-post-thumbnail.blue-on-hover .inscription-soon-badge .badge-bg,
.grid-post-thumbnail.blue-on-hover:hover .inscription-soon-badge .badge-bg {
  width: calc(100% * var(--inscription-soon-badge-bg-scale)) !important;
  height: auto !important;
}
/* Ensure the badge is not tinted by any hover overlay */
.inscription-soon-badge,
.inscription-soon-badge img,
.inscription-soon-badge .badge-text-label {
  mix-blend-mode: normal;
  filter: none;
}
/* Strong overrides so generic thumbnail rules don't affect the badge */
.grid-post-thumbnail.blue-on-hover .inscription-soon-badge img,
.grid-post-thumbnail .inscription-soon-badge img {
  filter: none !important;
  height: auto !important;
  width: 100% !important;
}
/* Preserve transition for badge-bg rotation */
.grid-post-thumbnail .inscription-soon-badge .badge-bg,
.grid-post-thumbnail.blue-on-hover .inscription-soon-badge .badge-bg {
  transition: transform 1.2s ease-in-out !important;
}
.grid-post-thumbnail.blue-on-hover .inscription-soon-badge,
.grid-post-thumbnail.blue-on-hover:hover .inscription-soon-badge,
.grid-post-thumbnail.blue-on-hover .inscription-soon-badge img,
.grid-post-thumbnail.blue-on-hover:hover .inscription-soon-badge img,
.grid-post-thumbnail.blue-on-hover .inscription-soon-badge .badge-text-label,
.grid-post-thumbnail.blue-on-hover:hover
  .inscription-soon-badge
  .badge-text-label {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* Specific overrides for cover-container and badge children */
.cover-container .new-course-badge .badge-bg,
.cover-container .new-course-badge .badge-text {
  filter: none !important;
  transition: none !important;
}
.cover-container .new-course-badge .badge-bg {
  width: calc(100% * var(--new-course-badge-bg-scale)) !important;
  height: auto !important;
  transition: transform 1.2s ease-in-out !important;
}
.cover-container .new-course-badge .badge-text {
  width: calc(100% * var(--new-course-badge-text-scale)) !important;
  height: auto !important;
}

/* Ensure blue-on-hover visual rules never affect the badge (base and hover) */
.grid-post-thumbnail.blue-on-hover .new-course-badge,
.grid-post-thumbnail.blue-on-hover:hover .new-course-badge,
.grid-post-thumbnail.blue-on-hover .new-course-badge img,
.grid-post-thumbnail.blue-on-hover:hover .new-course-badge img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/*-------------------00. BOOTSTRAP FIXES-------------------*/
/* Algunas partes del css de bootstrap estaban generando problemas, por lo que las borramos
 * del css de bootstrap y las re escribimos aquí de forma que no alteren nada.
*/

/* Se modificó esta regla para no incluir al side-menu, estaba generando problemas en iOS */
*,
:not(#side-menu *)::after,
:not(#side-menu *)::before {
  box-sizing: inherit;
}

/*-------------------------------00. COLORES---------------------------------------*/
:root {
  --arqdis-blue: rgb(0, 0, 255);
  --arqdis-red: #c84269;
  --arqdis-magenta: rgb(255, 0, 255);
  --arqdis-cyan: rgb(0, 255, 255);
  --arqdis-gray: rgb(169, 169, 169);
}

/*-------------------01. TIPOGRAFÍAS Y ESTILOS DE TEXTO----------------------------*/
/* @import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,400..700;1,400..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@900&display=swap'); */
:root {
  /*pasar a 16*/
  font-size: 14.5px;
  /*Variables de tamaño de texto*/
  --fz-9pt: 0.7rem;
  --fz-10pt: 0.85rem;
  --fz-11pt: 0.925rem;
  --fz-12pt: 1rem;
  --fz-13pt: 1.0625rem;
  --fz-14pt: 1.125rem;
  --fz-15pt: 1.2rem;
  --fz-16pt: 1.3rem;
  --fz-17pt: 1.4rem;
  --fz-18pt: 1.5rem;
  --fz-20pt: 1.625rem;
  --fz-22pt: 1.83rem;
  --fz-24pt: 2rem;
  --fz-26pt: 2.16rem;
  --fz-28pt: 2.32rem;
  --fz-30pt: 2.5rem;
  --fz-35pt: 2.9rem;
  --fz-40pt: 3.3rem;
  --fz-45pt: 3.75rem;
  --fz-48pt: 4rem;
  --fz-50pt: 4.2rem;
  --fz-55pt: 4.6rem;
  --fz-60pt: 5rem;
  --fz-65pt: 5.4rem;
  --fz-70pt: 5.8rem;
  --fz-80pt: 6.7rem;
  --fz-90pt: 7.5rem;
  --fz-100pt: 8.3rem;
  --fz-120pt: 10rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* -- SINGLES -- */
.section-title,
.serie-title,
.archive-title,
.archive-subtitle,
.small-archive-title,
.programa-heading-title {
  font-family: Montserrat, sans-serif;
  font-weight: 900;
  font-size: var(--fz-60pt);
  line-height: 1em;
  color: black;
  text-transform: uppercase;
  text-decoration: none;
}

.serie-title,
.archive-title {
  font-size: var(--fz-80pt);
}

.archive-subtitle {
  font-size: var(--fz-30pt);
}

.section-title.long-title {
  font-size: var(--fz-40pt);
}

.serie-title.long-title,
.archive-title.long-title {
  font-size: var(--fz-80pt);
}

.small-archive-title {
  font-size: var(--fz-45pt);
}

h4.post-subtitle,
h2.main-subtitle {
  font-size: var(--fz-22pt);
  line-height: 1.2em;
}

h1.hidden-h1 {
  display: none;
}

h5.post-subtitle,
h4.wp-block-arqdis-plugin-subtitle {
  font-size: var(--fz-30pt);
  line-height: 1.3em;
}

h3.post-subtitle,
h2.main-subtitle.long-subtitle,
li.expo-project-title {
  font-size: var(--fz-20pt);
  line-height: 1.2em;
}

h6.post-subtitle,
a.facility-link,
time.wp-block-arqdis-plugin-post-date {
  font-size: var(--fz-16pt);
  line-height: var(--fz-24pt);
}

.post-subtitle.tiny-subtitle {
  font-size: var(--fz-12pt);
  line-height: 1.3em;
}

a[href].magenta-on-hover {
  color: var(--arqdis-blue);
  text-decoration: none;
  transition: color 0.3s;
}

a[href].magenta-on-hover:hover {
  color: var(--arqdis-magenta);
}

a.post-button,
button.post-button,
.wp-block-buttons,
a.wp-block-button__link,
.post-body a.wp-block-button__link {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-14pt);
  line-height: 1.2em;
  font-weight: 700;
  color: white;
  text-decoration: none;
  text-transform: uppercase;
  font-style: initial;
}

.post-subtitle {
  display: block;
}

.post-subtitle,
.wp-block-arqdis-plugin-subtitle,
.wp-block-arqdis-plugin-post-date,
.facility-link,
.expo-section-title,
.expo-project-title,
.expo-section-shortcut,
.anuncio-lista-title {
  font-family: "Roboto Mono", monospace;
  font-weight: 700;
  color: black;
  text-transform: uppercase;
}

h2.main-subtitle {
  font-family: Montserrat, sans-serif;
  font-weight: 900;
  line-height: 1.2em;
  color: black;
  text-transform: uppercase;
}

.post-related-people {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-20pt);
  line-height: var(--fz-24pt);
  font-weight: 400;
}

.related-people-subcurso {
  font-family: "Roboto Mono", monospace;
  line-height: 1.2em;
  font-weight: 400;
}

.wp-block-arqdis-plugin-author {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-16pt);
  line-height: var(--fz-20pt);
  font-weight: 550;
  text-transform: uppercase;
}

.wp-block-arqdis-plugin-host {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-16pt);
  line-height: var(--fz-20pt);
  font-weight: 550;
  text-transform: uppercase;
}

.post-related-people a,
.related-people-subcurso a,
.wp-block-arqdis-plugin-author a,
.wp-block-arqdis-plugin-host a,
a.bold-on-hover,
a.bold-on-hover-body,
button.bold-on-hover,
button.bold-on-hover-body {
  font-style: italic;
  text-transform: uppercase;
  text-decoration: none;
  color: black;
}

a.bold-on-hover-body,
button.bold-on-hover-body {
  text-transform: initial;
}

.post-body strong,
.post-body b,
.info-page-main strong,
.info-page-main b,
.course-type-desc strong,
.course-type-desc b {
  font-weight: 550;
}

em,
.post-body em,
.post-body i,
.info-page-main em,
.info-page-main i,
.course-type-desc em,
.course-type-desc i {
  font-style: italic;
}

.post-body a:not(.not-default-link):not(.wp-block-button__link) {
  font-weight: 400;
  font-style: italic;
  color: black;
  text-decoration: none;
}

a.bold-on-hover,
a.bold-on-hover-body,
button.bold-on-hover,
button.bold-on-hover-body {
  font-weight: 400;
}

.wp-block-arqdis-plugin-author a {
  font-weight: 500;
}

.wp-block-arqdis-plugin-host a {
  font-weight: 500;
}

.post-body a:not(.not-default-link):not(.wp-block-button__link)[href],
.post-related-people a[href],
.wp-block-arqdis-plugin-author a[href],
.wp-block-arqdis-plugin-host a[href],
a[href].bold-on-hover,
a[href].bold-on-hover-body,
button.bold-on-hover,
button.bold-on-hover-body {
  color: var(--arqdis-blue);
}

.post-links a {
  text-decoration: underline;
}

/* .post-body a:not(.not-default-link):not(.wp-block-button__link), 
.post-related-people a, 
a.form-link,
a.bold-on-hover,
a.bold-on-hover-body,
button.bold-on-hover,
button.bold-on-hover-body {
  --bold-hover-weight: 550;
}

.wp-block-arqdis-plugin-author a{
  --bold-hover-weight: 700;
} */

/* .post-body a:not(.not-default-link):not(.wp-block-button__link)[href]:hover, 
.post-related-people a[href]:hover, 
a.form-link[href]:hover,
.wp-block-arqdis-plugin-author a[href]:hover,
a[href].bold-on-hover:hover,
a[href].bold-on-hover-body:hover,
button.bold-on-hover:hover,
button.bold-on-hover-body:hover {
  font-weight: var(--bold-hover-weight);
} */

h6.wp-block-arqdis-plugin-intitle {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-20pt);
  line-height: var(--fz-24pt);
  font-weight: 700;
  text-transform: uppercase;
}

blockquote.wp-block-arqdis-plugin-quote {
  font-size: var(--fz-30pt);
  line-height: var(--fz-35pt);
  font-family: "Roboto Mono", monospace;
  font-weight: 400;
  color: var(--arqdis-blue);
}

.single-notas .post-body strong em,
.single-notas .post-body em strong,
.single-notas .post-body b em,
.single-notas .post-body em b,
.single-notas .post-body strong i,
.single-notas .post-body i strong,
.single-notas .post-body b i,
.single-notas .post-body i b {
  font-family: "Roboto Mono", monospace;
  font-weight: 700;
  font-style: initial;
  text-transform: uppercase;
}

.topics a,
.topics span,
.tag-archive-title,
.topics-filter button.topic-button-filter,
.topics-filter,
.filter-module-container,
.show-filters-button,
.switch-type-names,
.filter-tax-divider {
  font-family: "Roboto Mono", monospace;
  font-weight: 500;
  font-size: var(--fz-14pt);
  text-transform: lowercase;
}

.tag-archive-title,
.grid-header-container input.search-field,
.grid-header-container form.search-form {
  font-size: var(--fz-30pt);
}

.topics a.program-tag {
  text-transform: uppercase;
}

.topics-filter button.topic-button-filter,
.show-filters-button,
.switch-type-names {
  text-transform: uppercase;
  font-weight: 700;
}

.evento-fecha-mes {
  font-family: "Roboto mono", monospace;
  font-weight: 700;
  font-size: var(--fz-28pt);
  text-transform: uppercase;
}

.evento-fecha-inicio .evento-fecha-mes,
.evento-fecha-fin .evento-fecha-mes {
  font-size: var(--fz-22pt);
}

.evento-fecha-dia {
  font-family: "Roboto mono", monospace;
  font-weight: 700;
  font-size: var(--fz-50pt);
}

.evento-fecha-inicio .evento-fecha-dia,
.evento-fecha-fin .evento-fecha-dia {
  font-size: var(--fz-35pt);
}

.evento-fecha-ano {
  font-family: "Roboto mono", monospace;
  font-weight: 700;
  font-size: var(--fz-20pt);
}

.evento-fecha-hora,
.evento-fecha-zona {
  font-family: "Roboto mono", monospace;
  font-weight: 700;
  font-size: var(--fz-16pt);
}

.post-body .in-body-title {
  font-family: "Roboto Mono", monospace;
  font-weight: 700;
  font-size: var(--fz-14pt);
  line-height: var(--fz-24pt);
  color: black;
  text-transform: uppercase;
}

[class*="wp-block"] figcaption,
span.text-caption,
figcaption.text-caption {
  font-size: var(--fz-14pt);
  line-height: 1.2em;
  font-family: "Roboto Mono", monospace;
  font-weight: 500;
  color: black;
}

.datos-semillero,
.datos-clasificado strong,
.classified-label {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-14pt);
  line-height: 1.4em;
  color: black;
}

.datos-semillero {
  font-weight: 400;
}

div.logos-instituciones span {
  font-family: "Montserrat", sans-serif;
  font-weight: 900;
  font-size: var(--fz-14pt);
  color: black;
  line-height: 1.2em;
  text-transform: uppercase;
}

button.expo-index {
  font-family: "Roboto Mono", monospace;
  font-weight: 700;
  font-size: var(--fz-18pt);
  line-height: 1.4em;
  color: black;
  text-transform: uppercase;
}

.expo-project-author {
  font-family: "Roboto Mono", monospace;
  font-weight: 400;
  font-size: var(--fz-16pt);
  font-style: italic;
  line-height: 1.3em;
  text-transform: uppercase;
}

button.show-more-button {
  font-family: "Work Sans", sans-serif;
  font-size: var(--fz-14pt);
}

.expo-section-title,
.expo-section-shortcut {
  font-size: var(--fz-30pt);
  line-height: 1.3em;
}

.concurso-side-info,
.anuncio-attachment-links {
  font-family: "Roboto Mono", monospace;
  line-height: 1.2em;
  font-size: var(--fz-16pt);
  color: black;
}

.anuncio-attachment-links {
  font-size: var(--fz-14pt);
}

.classified-timeframe-item time {
  font-size: var(--fz-10pt);
  color: var(--arqdis-magenta);
  font-weight: 600;
}

.concurso-side-info a,
.anuncio-attachment-links a {
  text-decoration: none;
  color: black;
}

.anuncio-lista-title,
.anuncio-lista-item-parent {
  font-size: var(--fz-20pt);
}

.anuncio-lista-item-name,
.anuncio-lista-item {
  font-size: var(--fz-15pt);
}

.anuncio-lista-subitem {
  font-family: "Roboto Mono", monospace;
  text-transform: lowercase;
  font-size: var(--fz-10pt);
  font-weight: 600;
}

.anuncio-lista-mes {
  font-family: "Roboto Mono", monospace;
  text-transform: uppercase;
  font-weight: 700;
  font-size: var(--fz-14pt);
}

/* -- SINGLE CURSOS --*/
.metadatos-subcurso {
  font-family: "Roboto Mono", monospace;
  font-weight: 400;
  font-size: var(--fz-12pt);
  line-height: 1em;
}

/* -- SINGLE PODCASTS --*/
.podcast-episode-title,
.podcast-episode-hosts,
.podcast-episode-hosts p {
  font-family: "Roboto Mono", monospace;
}

.podcast-episode-title {
  font-weight: 700;
  font-size: var(--fz-20pt);
  line-height: 1.2em;
}

.podcast-episode-hosts p strong {
  font-weight: 700;
}

.podcast-episode-hosts p em {
  font-style: italic;
}

.podcast-episode-hosts p a[href] {
  color: var(--arqdis-blue);
  text-decoration: none;
}

.post-body ol {
  list-style: decimal;
}

/* -------- CONTENIDOS FIJOS -------*/
.info-page-content .table-of-contents,
.info-page-toc,
.wp-block-arqdis-plugin-section-title {
  font-family: "Roboto Mono", monospace;
  line-height: 1.1em;
  text-transform: uppercase;
}

.wp-block-arqdis-plugin-section-title {
  font-weight: 700;
}

.wp-block-arqdis-plugin-section-title {
  font-size: var(--fz-28pt);
}

.info-section .wp-block-arqdis-plugin-section-title {
  font-size: var(--fz-22pt);
}

.info-section .info-section .wp-block-arqdis-plugin-section-title {
  font-size: var(--fz-18pt);
}

.info-page-content .table-of-contents,
.info-page-toc {
  font-weight: 500;
  font-size: var(--fz-12pt);
}

/* Under-title TOC container (shares typography via .info-page-toc) */
.info-page-mobile-toc {
  display: block;
  max-width: 900px;
  margin: 0 auto 2em;
  padding: 0 30px;
}

/* Shared TOC list + link styling (used by BOTH under-title and sidebar/overlay) */
.info-page-toc ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.info-page-toc > ul > li:not(.toc-child-anchors) {
  margin-bottom: 0.2em;
  font-weight: bold;
}

.info-page-toc li.has-child-anchors {
  margin-bottom: 0.25em;
}

.info-page-toc li ul li {
  margin-bottom: 0.4em;
}

.info-page-toc li ul {
  padding-left: 1em;
}

.info-page-toc h6,
.info-page-toc a {
  text-decoration: none;
  color: #808080;
}

.info-page-toc h6 {
  padding-bottom: 0.3em;
  border-bottom: 2px solid currentColor;
  margin-bottom: 1.1em;
}

.info-page-toc a {
  display: block;
  transform: translateX(0px);
  transition:
    color 0.1s,
    transform 0.3s;
}

.info-page-toc a:hover {
  transform: translateX(5px);
}

.info-page-toc a.active-anchor {
  color: black;
}

.info-page-toc .info-page-download-link a,
.info-page-toc .info-page-contact-link a {
  color: black;
  display: grid;
  grid-template-columns: min-content auto;
  grid-column-gap: 0.5em;
  align-items: center;
}

.info-page-content .table-of-contents ul li ul li,
.info-page-content .table-of-contents h6 {
  font-size: var(--fz-12pt);
}

.info-page-content .table-of-contents h6,
.info-page-content .table-of-contents a {
  text-decoration: none;
  color: #808080;
}

.info-page-content .table-of-contents a.active-anchor {
  color: black;
}

.info-page-content .table-of-contents ul li {
  font-size: inherit;
}

.info-page-main [class*="wp-block"] figcaption {
  font-family: "Work Sans", sans-serif;
  font-size: var(--fz-12pt);
  font-weight: 400;
}

.info-page-main [class*="wp-block"] figcaption em {
  font-style: italic;
}

.info-page-heading .info-page-slogan {
  font-size: var(--fz-16pt);
}

.info-page-contact-title,
.info-page-contact-subtitle {
  font-family: "Roboto Mono", monospace;
  text-transform: uppercase;
  color: var(--arqdis-blue);
  line-height: 1.3em;
}

.info-page-contact-title {
  font-size: var(--fz-30pt);
  font-weight: 700;
}

.info-page-contact-subtitle {
  font-size: var(--fz-16pt);
  font-weight: 500;
}

.info-page-main a:not(a.wp-block-button__link),
.info-page-main a:not(a.wp-block-button__link):visited {
  color: var(--arqdis-blue);
  text-decoration: none;
  transition: color 0.3s;
}

.info-page-main a:not(a.wp-block-button__link):hover {
  color: var(--arqdis-magenta);
}

/* Programa Interactivo */
.course-title,
.related-courses-nav a,
.related-courses-nav h6,
a.only-course-option {
  font-family: "Roboto Mono", monospace;
  font-weight: 500;
  line-height: 1.2em;
  text-transform: uppercase;
  color: black !important;
}

.related-courses-nav h6 {
  font-weight: 700;
  font-size: var(--fz-16pt);
}

.descripcion-oferta {
  font-size: var(--fz-13pt);
  line-height: 1em;
  color: var(--arqdis-gray);
  font-style: italic;
}

.course-title {
  font-size: var(--fz-20pt);
  font-weight: 700;
}

.related-courses-nav a,
a.only-course-option {
  font-size: var(--fz-13pt);
  text-decoration: none;
}

.course-type-desc p {
  line-height: 1.4em;
}

.course-type-desc a {
  text-decoration: none;
  color: var(--arqdis-blue);
}

.course-type-desc em {
  font-style: italic;
}

.course-type-desc strong {
  font-weight: 600;
}

/* -- OPCIONES ACADÉMICAS --*/
.opciones-info-fechas {
  font-family: "Roboto Mono", monospace;
  font-weight: 700;
  font-size: var(--fz-14pt);
  line-height: 1.3em;
  color: black;
}

/* -- GENERAL --*/
p,
.post-body li,
.info-page-main li,
.anuncio-lista,
.ewa-rteLine {
  font-family: "Work Sans", sans-serif;
  font-weight: 400;
  font-size: var(--fz-14pt);
  /* line-height: var(--fz-24pt); */
  line-height: 1.7em;
  color: black;
}

:where(p) strong {
  font-weight: 600;
}

.uppercase-text {
  text-transform: uppercase;
}

.lowercase-text {
  text-transform: lowercase;
}

.contact-person {
  font-family: "Roboto Mono", monospace;
  font-weight: 400;
  font-size: var(--fz-14pt);
  line-height: 1.3em;
  color: black;
}

/* --------------- GRID -------------- */
.grid-title,
.grid-subtitle,
.grid-post-type-link,
.scale-name,
.back-link,
.load-more-posts,
.load-more-posts button {
  font-family: "Roboto Mono", monospace;
  line-height: 1.2em;
  color: black;
  text-decoration: none;
}

.grid-title {
  font-size: var(--fz-16pt);
  font-weight: 700;
}

.grid-subtitle,
.grid-post-type-link {
  font-size: var(--fz-14pt);
  font-weight: 400;
}

.grid-smaller-subtitle {
  font-size: var(--fz-12pt);
}

.scale-name {
  font-size: var(--fz-10pt);
  font-weight: 500;
  color: var(--arqdis-magenta);
  text-transform: uppercase;
}

.grid-post-type-link {
  text-transform: uppercase;
}

.grid-post-link {
  text-decoration: none;
}

.grid-button {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-14pt);
  font-weight: 700;
  line-height: 1.3em;
  text-transform: uppercase;
  color: white;
  text-align: center;
  text-decoration: none;
}

.grid-title.grid-large-title {
  font-size: var(--fz-22pt);
  font-weight: 500;
}

.grid-title.grid-largest-title {
  font-size: var(--fz-24pt);
  font-weight: 500;
  text-transform: uppercase;
}

.external-clasificado-wrapper .grid-title.grid-largest-title {
  text-transform: unset;
}

.grid-title.grid-medium-title {
  font-size: var(--fz-20pt);
  font-weight: 500;
}

.back-link {
  font-size: var(--fz-16pt);
  font-weight: 700;
  text-transform: uppercase;
}

.load-more-posts,
.load-more-posts button {
  color: white;
  font-weight: 700;
  font-size: var(--fz-20pt);
  text-transform: uppercase;
}

/* -- GRID CLASIFICADOS --*/
.grid-subtitle.clasificados-grid-type {
  font-size: var(--fz-12pt);
  font-weight: 500;
  color: var(--arqdis-magenta);
  text-transform: uppercase;
}

.grid-subtitle.clasificados-grid-subtitle {
  font-size: var(--fz-13pt);
}

.grid-subtitle.clasificados-grid-subtitle strong {
  font-weight: 700;
}

/* -- GRID PAPERS --*/
.grid-paper-citation {
  color: gray;
  word-break: break-all;
}

.grid-paragraph {
  line-height: 1.3em;
  font-size: var(--fz-12pt);
}

/* -- GRID ANUNCIOS --*/
.anuncio-badge {
  font-family: "Roboto Mono", monospace;
  color: white;
  font-weight: 600;
  font-size: var(--fz-12pt);
  line-height: 1em;
}

/* ----- TIPO DE CURSO PREVIEW -----*/
/*(Informacion pinneada al filtrar cursos pregrado)*/
.course-type-item-header,
.archive-pinned-header {
  font-family: "Roboto Mono", monospace;
  color: black;
  font-weight: 700;
  line-height: 1.2em;
  text-transform: uppercase;
  font-size: var(--fz-20pt);
}

/* -- GRID CONTENIDOS FIJOS --*/
.contenido-fijo-item {
  font-size: var(--fz-14pt);
}

.contenido-fijo-title,
.contenido-fijo-subtitle {
  font-family: "Roboto Mono", monospace;
  text-decoration: none;
  text-transform: uppercase;
}

.contenido-fijo-title {
  font-size: var(--fz-35pt);
  font-weight: 700;
}

.contenido-fijo-subtitle {
  font-weight: 500;
}

/* -- ÍNDICE PUBLICACIONES -- */
.pub-index-section,
.pub-index-subsection,
.pub-index-entry,
.pub-index-entry-author,
.programa-metadata,
.programa-descripcion,
.download-programa,
.enlace-contenido-fijo,
.pub-cred-entry,
.pub-cred-role,
.egresados-descripcion {
  font-family: "Roboto Mono", monospace;
  color: black;
  font-weight: 400;
}

.pub-index-section,
.pub-index-subsection,
.pub-index-entry,
.pub-cred-strong {
  font-weight: 700;
}

.pub-cred-strong {
  text-transform: uppercase;
}

.pub-index-section,
.pub-index-subsection {
  text-transform: uppercase;
}

.pub-index-section {
  font-size: var(--fz-30pt);
  /*color: var(--arqdis-blue);*/
}

.pub-index-subsection {
  font-size: var(--fz-20pt);
}

.pub-index-entry {
  font-size: var(--fz-16pt);
}

.pub-index-entry a {
  color: var(--arqdis-blue);
  text-decoration: none;
}

.pub-index-entry-author {
  font-size: var(--fz-14pt);
}

.pub-cred-entry {
  font-size: var(--fz-12pt);
}

.pub-cred-role {
  font-size: var(--fz-9pt);
}

.pub-index-entry,
.pub-index-entry-author,
.pub-cred-entry,
.pub-cred-role {
  line-height: 1.2em;
}

.pub-cred-entry,
.pub-cred-role {
  color: #aaa;
}

/* -- GRID PROGRAMAS --*/
.programa-heading-title {
  font-size: var(--fz-120pt);
}

.programa-heading-title.long-title {
  font-size: var(--fz-90pt);
}

.programa-header .programa-slogan {
  font-size: var(--fz-22pt);
}

.programa-metadata {
  font-size: var(--fz-10pt);
  color: gray;
  line-height: 1.4em;
}

.info-legal-block {
  font-size: var(--fz-10pt);
  color: gray;
  line-height: 1.6em;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.info-legal-block strong {
  font-weight: 700;
}

.programa-descripcion {
  font-size: var(--fz-22pt);
  line-height: 1.4em;
}

.download-programa,
.programa-header-nav-links {
  font-size: var(--fz-17pt);
  color: white;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
}

.enlace-contenido-fijo {
  font-size: var(--fz-16pt);
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
}

.resize-gallery-info,
.resize-gallery-info p {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-12pt);
  line-height: 1.3em;
}

@media screen and (min-width: 1950px) {
  .resize-gallery-info,
  .resize-gallery-info p {
    font-size: var(--fz-14pt);
  }
}

.resize-gallery-info strong {
  font-weight: bold;
  font-size: var(--fz-14pt);
}

/*-- GRID EVENTOS --*/
.week-event-time,
.week-event nav a,
.resize-gallery-container nav a {
  font-family: "Roboto Mono", monospace;
  font-weight: 600;
  color: var(--arqdis-gray);
  text-transform: uppercase;
  font-size: var(--fz-12pt);
}

.week-event .week-event-enter {
  color: var(--arqdis-blue);
}

.week-event-desc {
  font-size: var(--fz-14pt);
  line-height: 1.2em;
}

.week-event-day {
  font-weight: 500;
  color: black;
}

/* -- FOOTER --*/
footer * {
  color: #dfdfdf;
}

footer.white-footer * {
  color: #1d1d1d;
}

.footer-text-title {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-16pt);
  line-height: 1.3em;
  font-weight: 500;
  text-transform: uppercase;
}

.footer-text-subtitle {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-12pt);
  line-height: 1.3em;
  font-weight: 500;
}

.footer-text-title a,
.footer-text-subtitle a {
  color: white;
  text-decoration: none;
}

footer.white-footer .footer-text-title a,
footer.white-footer .footer-text-subtitle a {
  color: black;
}

/* -- FORM --*/
.wpcf7 label {
  font-family: "Roboto mono", monospace;
  font-size: var(--fz-14pt);
  font-weight: 400;
}

.form-over-black-bg * {
  color: white;
}

.wpcf7-acceptance label {
  font-family: "Roboto mono", monospace;
  font-size: var(--fz-12pt);
  line-height: 1.2em;
  font-weight: 400;
}

input.wpcf7-text,
select.wpcf7-select,
textarea.wpcf7-textarea {
  font-family: "Roboto mono", monospace;
  font-size: var(--fz-12pt);
  font-weight: 400;
}

a.form-link {
  color: var(--arqdis-blue);
  text-decoration: none;
}

.form-over-black-bg a.form-link {
  color: magenta;
}

.form-over-black-bg.form-cyan-accents a.form-link {
  color: cyan;
}

input.wpcf7-submit {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-14pt);
  font-weight: 700;
  text-transform: uppercase;
}

.simple-form-container input.wpcf7-submit {
  font-family: Montserrat, sans-serif;
  font-weight: 900;
  font-size: var(--fz-16pt);
}

span.wpcf7-not-valid-tip {
  font-family: "Roboto mono", monospace;
  font-size: var(--fz-12pt);
  font-weight: 400;
  color: magenta;
}

.wpcf7-response-output {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-14pt);
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
}

.event-intitle,
.post-intitle,
h6.related-content-title {
  font-family: Montserrat, sans-serif;
  font-weight: 900;
  font-size: var(--fz-20pt);
  line-height: 1.2em;
  color: black;
  text-transform: uppercase;
}

h6.related-content-title {
  font-size: var(--fz-24pt);
}

h5.post-intitle {
  font-size: var(--fz-30pt);
}

.child-event-time,
.event-itinerary-date {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-14pt);
  font-weight: 700;
  text-transform: uppercase;
}

.child-event-title {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-18pt);
  line-height: 1.3em;
  margin-top: -0.25em;
  font-weight: 700;
  text-decoration: none;
  color: black;
}

.child-event-speakers {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-14pt);
  line-height: 1.3em;
  font-weight: 400;
}

.child-event-addtocal {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-10pt);
  line-height: 1.3em;
  font-weight: 700;
  text-transform: uppercase;
  color: magenta;
  text-decoration: none;
}

/* --------------- BANNER HOME -------------- */
.home-banner-container,
.cinta-en-construccion {
  font-size: var(--fz-24pt);
}

.grid-post-thumbnail .cinta-en-construccion {
  font-size: var(--fz-22pt);
}

.banner-menu-item {
  font-family: "Roboto Mono";
  font-size: inherit;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  color: black;
  margin-right: 2em;
}

.home-slogan,
.programa-slogan,
.marquee-slogan,
.cinta-en-construccion {
  font-family: "Roboto Mono";
  font-weight: 700;
  text-transform: uppercase;
  color: white;
}

.home-slogan,
.programa-slogan,
.marquee-slogan {
  font-size: inherit;
}
/*Disable Hover Effect en pantallas más pequeñas*/
@media (max-width: 1269px) {
  .home-banner-story-container *:hover,
  .home-banner-story-container *:active,
  .home-banner-story-container *:focus {
    box-shadow: none !important;
    object-position: 50% 50% !important;
    filter: none !important;
    transition: none !important;
    outline: none !important;
  }
}

/* -- Alt text del banner -- */
.home-banner-story {
  text-decoration: none;
  color: transparent;
  font-family: "Roboto Mono";
  text-align: center;
  line-height: 1.5em;
  font-size: 1.5rem;
}

/* --------------- EDCO -------------- */
.edco-main-menu a,
.highlighted-edco-subtitle {
  font-family: Montserrat, sans-serif;
  font-weight: 700;
}

.edco-main-menu a {
  text-transform: uppercase;
  font-size: var(--fz-35pt);
  color: white;
  text-decoration: none;
  line-height: 1.4em;
}

.edco-nav-marquee {
  font-size: var(--fz-24pt);
}

.post-related-list-nav a {
  font-family: "Roboto Mono", monospace;
  font-weight: 500;
  color: black;
  text-decoration: none;
  font-size: var(--fz-20pt);
}

.edco-contact-container p {
  font-family: "Roboto Mono", monospace;
  font-weight: 400;
  color: black;

  font-size: var(--fz-14pt);
  line-height: 1.2em;
}

.edco-category-text p em {
  font-style: italic;
}

.edco-category-text p strong {
  font-weight: 550;
}

.highlighted-edco-subtitle {
  text-transform: uppercase;
  font-size: var(--fz-35pt);
  line-height: 1.4em;
}

.form-over-black-bg.edco-contact-container p {
  color: white;
}

.edco-category-title {
  font-family: Montserrat, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  font-size: var(--fz-60pt);
  line-height: 1.3em;
}

/*-------------------02. ESTILOS DE DIAGRAMACIÓN----------------------------*/
:root,
html {
  /*Variables de diagramación*/
  --min-side-margin: 50px;
  --thin-content-w: 1200px;
  --normal-content-w: 1500px;
  --medium-content-w: 1600px;
  --large-content-w: 1700px;
  --larger-content-w: 2150px;
  --grid-content-w: 2300px;
  --largest-content-w: 2500px;
  --logged-in-h: 32px;
}

html {
  /* Forzamos el scroll para evitar layout shifts
     cuando el usuario filtra un grid y los contenidos son tan
     pocos que quita el scrollbar
  */
  overflow-y: scroll;
  /* Ocultamos cualquier scroll que se salga del ancho normal del contenido
     especialmente para el thumbnail de anuncios cuando tienen un badge animado 
  */
  overflow-x: hidden;
}

/* -- CONTAINERS -- */
.grid-container,
.grid-object-container,
.single-container,
.facility-single-container,
.wide-single-container,
.midwide-single-container,
.post-related-content,
.post-related-list,
.post-related-grid,
.grid-header-container,
.edco-header-container,
.thin-container {
  padding-left: var(--min-side-margin) !important;
  padding-right: var(--min-side-margin) !important;
}

.single-container {
  max-width: var(--normal-content-w);
}

.thin-container {
  max-width: var(--thin-content-w);
}

.facility-single-container,
.wide-single-container {
  max-width: var(--larger-content-w);
}

.post-related-list,
.edco-header-container {
  max-width: var(--grid-content-w);
}

.expo-single-container.container-fluid {
  max-width: var(--largest-content-w);
  padding-left: var(--min-side-margin);
  padding-right: 0;
  margin-left: auto;
  margin-right: 0;
}

.midwide-single-container {
  max-width: var(--medium-content-w);
}

.facility-single-container .post-body {
  margin-top: 0;
}

.post-related-content,
.post-related-grid {
  max-width: var(--larger-content-w);
}

.post-related-content .grid-container,
.post-related-grid .grid-container {
  padding: 0 !important;
}

/* -- ESTILOS DE GENÉRICOS -- */
.no-top-margin {
  margin-top: 0 !important;
}

.no-bottom-margin {
  margin-bottom: 0 !important;
}

.no-top-padding {
  padding-top: 0 !important;
}

.no-bottom-padding {
  padding-bottom: 0 !important;
}

.margin-bot-05em {
  margin-bottom: 0.5em !important;
}

/* -- ESTILOS DE CURSOR -- */
a[href]:not([href*="arqdis-local"]):not([href*="arqdis.uniandes.edu.co"]):not(
    [href*="arqdispr.uniandes.edu.co"]
  ):not(#wpadminbar *):not([href*="157.253"]):not([href*="/arqdis/"]):not(
    #wpadminbar *
  ):not(a[href^="#"]) {
  cursor: alias;
}

a[href*="javascript"],
a[href*="#inicio"],
a[href^="#"] {
  cursor: pointer !important;
}

a[download] {
  /* Descargables */
  cursor: s-resize;
}

a[href*=".pdf"],
a[href*=".rtf"],
a[href*=".txt"] {
  cursor: context-menu;
}

a[href*=".jpg"],
a[href*=".png"],
a[href*=".gif"] {
  cursor: zoom-in;
}

/* -- LAYOUT CSS GRID -- */
.layout-container {
  display: grid;
  grid-auto-flow: dense;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  grid-column-gap: 8%;
  grid-template-rows: min-content 1fr min-content;
  /* minmax(auto, min-content) minmax(min-content, 1fr) minmax(min-content, 1fr) */
}

.layout-container.wide-content {
  grid-template-columns: minmax(0, 2.5fr) minmax(0, 1fr);
}

.layout-aside {
  grid-row: span 3;
}

/* -- LAYOUT ALTERNO (LEFT SIDEBAR) -- */
.layout-container.alt-layout {
  grid-template-columns: 0px minmax(0, 2fr) minmax(0, 1fr);
}

.alt-layout .layout-heading,
.alt-layout .layout-main-top,
.alt-layout .layout-main-bottom {
  grid-column: 2;
}

/* -- LAYOUT EXPOSICIONES -- */
.layout-container-expo {
  display: grid;
  grid-auto-flow: dense;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
  grid-column-gap: 5%;
  grid-template-rows: min-content 1fr;
}

.layout-container-expo .layout-heading,
.layout-container-expo .layout-main-top {
  max-width: 850px;
  width: 100%;

  margin-left: auto;
  margin-right: auto;
}

.layout-container-expo .layout-aside {
  grid-row: span 2;
}

/* -- LAYOUT INVERTIDO -- */
.layout-container.inverted-layout {
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
}

.inverted-layout.equal-columns {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.equal-columns {
  grid-column-gap: 5%;
}

.layout-bottom-row {
  grid-column: span 2;
}

/* -- LAYOUT UNA COLUMNA -- */
.layout-container.one-column-layout {
  grid-template-columns: minmax(0, 1fr);
}

.layout-container.one-column-layout .layout-main-top {
  margin-top: 0.5em;
}

/* -------------------- ARQDIS GRID -------------------- */
.grid-container {
  max-width: var(--grid-content-w);
  --grid-col-count: 4;
  --grid-col-percent: calc(100%/var(--grid-col-count));
  --grid-gutter-sz: max(50px, min(5vw, 125px));
  --grid-col-sz: calc(
    var(--grid-col-percent) - var(--grid-gutter-sz) *
      (var(--grid-col-count) - 1) / var(--grid-col-count)
  );
}

.grid-object-container {
  max-width: var(--grid-content-w);
}

.grid-header-container {
  max-width: var(--grid-content-w);
  margin-bottom: max(35px, min(4.5vw, 90px));
}

.program-header-end-marker {
  display: block;
  height: 0;
  margin-top: calc(max(35px, min(4.5vw, 90px)) * -1);
  padding-bottom: max(35px, min(4.5vw, 90px));
}

.grid-header-container input.search-submit {
  margin-right: 0;
}

.grid-header-container form.search-form {
  max-width: 700px;
  margin-bottom: 0;
}

.load-more-posts {
  margin-top: 3em;
  margin-left: var(--min-side-margin) !important;
  margin-right: var(--min-side-margin) !important;
}

.load-more-posts button {
  display: block;
  position: relative;
  background-color: black;
  padding: 0.5em 1em;
  margin: 0 auto;
  border: none;
  width: 100%;
  max-width: 585px;
  cursor: pointer;
  transition: background-color 0.3s;
}

.load-more-posts button:hover {
  background-color: blue;
}

.load-more-posts button[disabled],
.load-more-posts button[disabled]:hover {
  background-color: #ccc;
  cursor: progress;
}

.load-more-posts button[disabled]::after {
  content: "";
  display: block;
  position: absolute;
  background-image: url(assets/loading-white.gif);
  height: 100%;
  width: 1.5em;
  right: 0.4em;
  top: 0;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

.small-archive-title {
  /* margin-top: 1.6em; */
  margin-bottom: 0.2em;
}

/* ---------- PACKERY GENERAL LAYOUT ---------*/

.packery-layout-grid .archive-grid-layout {
  opacity: 1;
  transition: opacity 0.3s;
}

.packery-layout-grid .archive-grid-layout.loading-masonry {
  opacity: 0;
}

.packery-layout-grid .grid-archive-col-sizer,
.packery-layout-grid .grid-archive-item,
.packery-layout-grid .stamped-content {
  width: var(--grid-col-sz);
}

body:not(.post-type-archive-audiovisuales) .packery-layout-grid .grid-archive-item.double-width:not(.grid-archive-item.double-width + .grid-archive-item.double-width),
/* TEMPORARY FIX: Disable nth-child(8n) double-width rule for Audiovisuales to prevent overlapping */
/* .post-type-archive-audiovisuales .packery-layout-grid .grid-archive-item.double-width:nth-child(8n), */
.packery-layout-grid .stamped-content.double-width {
  width: calc(var(--grid-col-sz) * 2 + var(--grid-gutter-sz));
}

.packery-layout-grid .grid-archive-gutter-sizer {
  width: var(--grid-gutter-sz);
}

/* ---------- CSS GRID GENERAL LAYOUT ---------*/
.css-layout-grid .archive-grid-layout {
  display: grid;
  grid-template-columns: repeat(var(--grid-col-count), minmax(0, 1fr));
  grid-auto-flow: dense;
  grid-gap: var(--grid-gutter-sz);
}

.css-layout-grid .grid-archive-col-sizer,
.css-layout-grid .grid-archive-gutter-sizer {
  display: none;
}

/* ---------- CONTENIDOS RELACIONADOS LAYOUT ---------*/
.post-related-content,
.post-related-list {
  margin-top: min(5vw, 90px);
  padding-bottom: 3rem;
}

.post-related-grid {
  margin-top: min(5vw, 60px);
}

h6.related-content-title {
  margin: 2em 0;
}

/* ---------- BOTÓN VOLVER ---------*/
.back-button-container {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.post-related-grid .back-button-container {
  margin-bottom: 6rem;
}

.back-button-container a {
  background: black;
  padding: 0.3em 0.4em;
  color: white;
  transition: 0.3s;
  margin-right: 0;
}

.back-button-container a:hover {
  margin-right: 5px;
  background: var(--arqdis-blue);
}

.back-button-container a::before {
  content: "«";
}

/* ---------- FILTROS GRID ---------*/
.filter-module-container {
  display: grid;
  grid-template-columns: 1fr max-content;
  margin-top: 1.7em;
}

.topics-filter button.topic-button-filter[status="active"]:hover,
.topics-filter button.topic-button-filter[status="active"]:focus,
.grid-header-container .topics-filter button.topic-button-filter {
  background-color: var(--arqdis-blue);
  color: white;
  outline: 2px solid transparent;
  outline-offset: -2px;
  transition:
    color 0.3s,
    outline 0.3s,
    background-color 0.2s;

  cursor: pointer;
  border: none;
}

.topics-filter button.topic-button-filter:hover,
.topics-filter button.topic-button-filter:focus,
.topics-filter button.topic-button-filter[status="active"] {
  background-color: white;
  color: var(--arqdis-blue);
  outline: 2px solid var(--arqdis-blue);
  outline-offset: -2px;
}

.topic-button-filter {
  white-space: nowrap;
}

.filter-tax-divider {
  height: 2.5em;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.filter-tax-divider span {
  height: 0.5em;
  width: 0.5em;
  background-color: var(--arqdis-blue);
}

.topics-filter {
  position: relative;
  transition: height 0.3s;
  overflow: hidden;
}

.topics-filter.compressed {
  height: 2.5em !important;
}

.show-filters-button,
.switch-type-names {
  color: black;
  background-color: transparent;
  border: none;
  outline: none;
  height: 2.4em;
  padding: 0;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.show-filters-button.hidden-button {
  display: none;
}

.show-filters-button.checking-if-multiline {
  opacity: 0;
}

.show-filters-button::after,
.abbreviated-types .switch-type-names::after {
  content: attr(expand-text);
}

.show-filters-button.compress::after,
.switch-type-names::after {
  content: attr(compress-text);
}

.show-filters-button svg {
  margin-right: 0.6em;
  margin-left: 1em;
}

.show-filters-button svg rect {
  fill: var(--arqdis-blue);
}

.show-filters-button svg rect:nth-child(4),
.show-filters-button svg rect:nth-child(5),
.show-filters-button svg rect:nth-child(6),
.show-filters-button svg rect:nth-child(7),
.show-filters-button svg rect:nth-child(8),
.show-filters-button svg rect:nth-child(9),
.show-filters-button.compress:hover svg rect:nth-child(4),
.show-filters-button.compress:hover svg rect:nth-child(5),
.show-filters-button.compress:hover svg rect:nth-child(6),
.show-filters-button.compress:hover svg rect:nth-child(7),
.show-filters-button.compress:hover svg rect:nth-child(8),
.show-filters-button.compress:hover svg rect:nth-child(9) {
  fill: lightgray;
  transition: fill 0.3s;
}

.show-filters-button:hover svg rect:nth-child(4),
.show-filters-button:hover svg rect:nth-child(5),
.show-filters-button:hover svg rect:nth-child(6),
.show-filters-button:hover svg rect:nth-child(7),
.show-filters-button:hover svg rect:nth-child(8),
.show-filters-button:hover svg rect:nth-child(9),
.show-filters-button.compress svg rect:nth-child(4),
.show-filters-button.compress svg rect:nth-child(5),
.show-filters-button.compress svg rect:nth-child(6),
.show-filters-button.compress svg rect:nth-child(7),
.show-filters-button.compress svg rect:nth-child(8),
.show-filters-button.compress svg rect:nth-child(9) {
  fill: var(--arqdis-blue);
}

.show-filters-button svg rect:nth-child(4),
.show-filters-button:hover svg rect:nth-child(9),
.show-filters-button.compress:hover svg rect:nth-child(4),
.show-filters-button.compress svg rect:nth-child(9) {
  transition-delay: 0.35s;
}

.show-filters-button svg rect:nth-child(5),
.show-filters-button:hover svg rect:nth-child(8),
.show-filters-button.compress:hover svg rect:nth-child(5),
.show-filters-button.compress svg rect:nth-child(8) {
  transition-delay: 0.3s;
}

.show-filters-button svg rect:nth-child(6),
.show-filters-button:hover svg rect:nth-child(7),
.show-filters-button.compress:hover svg rect:nth-child(6),
.show-filters-button.compress svg rect:nth-child(7) {
  transition-delay: 0.25s;
}

.show-filters-button svg rect:nth-child(7),
.show-filters-button:hover svg rect:nth-child(6),
.show-filters-button.compress:hover svg rect:nth-child(7),
.show-filters-button.compress svg rect:nth-child(6) {
  transition-delay: 0.2s;
}

.show-filters-button svg rect:nth-child(8),
.show-filters-button:hover svg rect:nth-child(5),
.show-filters-button.compress:hover svg rect:nth-child(8),
.show-filters-button.compress svg rect:nth-child(5) {
  transition-delay: 0.15s;
}

.show-filters-button svg rect:nth-child(9),
.show-filters-button:hover svg rect:nth-child(4),
.show-filters-button.compress:hover svg rect:nth-child(9),
.show-filters-button.compress svg rect:nth-child(4) {
  transition-delay: 0.1s;
}

/* ---------- FILTROS TIPO DE CURSO ---------*/
.course-type-filter-module {
  --ctype-color: var(--arqdis-blue);
}

.course-type-filter-module.abbreviated-types
  .topics-filter
  button.topic-button-filter {
  text-transform: initial;
  box-sizing: content-box;
  width: 5ch;
}

/* Allow curso nuevo button to be wider */
.course-type-filter-module.abbreviated-types
  .topics-filter
  button.topic-button-filter[filter-name="curso-nuevo"] {
  width: auto;
  padding-left: 0.75em;
  padding-right: 0.75em;
}

.course-type-filter-module.has-hover-inside
  .topics-filter
  button.topic-button-filter[status="inactive"],
.has-filtered-grid
  .course-type-filter-module
  .topics-filter
  button.topic-button-filter[status="inactive"],
.has-filtered-grid
  .course-type-filter-module
  .topics-filter
  button.topic-button-filter:hover[status="active"],
.has-filtered-grid
  .course-type-filter-module
  .topics-filter
  button.topic-button-filter:focus[status="active"],
.loading-filtered-grid
  .course-type-filter-module
  .topics-filter
  button.topic-button-filter[status="inactive"] {
  opacity: 0.2;
}

.course-type-filter-module .topics-filter button.topic-button-filter,
.course-type-filter-module
  .topics-filter
  button.topic-button-filter[status]:hover,
.course-type-filter-module
  .topics-filter
  button.topic-button-filter[status]:focus,
.loading-filtered-grid
  .course-type-filter-module
  .topics-filter
  button.topic-button-filter:hover[status="active"],
.loading-filtered-grid
  .course-type-filter-module
  .topics-filter
  button.topic-button-filter:focus[status="active"] {
  opacity: 1;
  background-color: var(--ctype-color);
  transition:
    background-color 0.2s,
    opacity 0.2s;
  color: white;
  outline: none;
}

.switch-names-icon {
  box-sizing: content-box;
  width: 4ch;
  padding: 0.48em;
  background: lightgray;
  color: white;
  margin-right: 0.6em;
  margin-left: 1em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.switch-names-icon span {
  transition: width 0.3s;
  overflow: hidden;
  display: inline-block;
}

.abbreviated-types .switch-type-names .switch-names-icon span,
.switch-type-names:hover .switch-names-icon span {
  width: 0;
}

.abbreviated-types .switch-type-names:hover .switch-names-icon span,
.switch-type-names .switch-names-icon span {
  width: 1ch;
}

/* ----- LOADING FILTERED GRID AJAX -----*/

.filter-module-container {
  position: relative;
}

.loading-filtered-grid .filter-module-container::after {
  content: "";
  position: fixed;
  bottom: 0;
  left: 0;
  display: block;
  height: 10px;
  background: var(--arqdis-blue);
  z-index: 3;
  animation-name: loading-bar;
  animation-duration: 1.3s;
  animation-iteration-count: infinite;
  pointer-events: none;
}

@keyframes loading-bar {
  0% {
    width: 0;
    left: 0;
  }

  50% {
    width: 100%;
    left: 0;
  }

  100% {
    width: 100%;
    left: 100%;
  }
}

.grid-container {
  transition: opacity 0.3s;
}

.loading-filtered-grid .grid-container {
  opacity: 0.4;
  cursor: progress;
}

.loading-filtered-grid .grid-container > * {
  pointer-events: none;
  user-select: none;
}

.topics-filter button.topic-button-filter[status="active"][disabled]:hover,
.topics-filter button.topic-button-filter[status="active"][disabled]:focus {
  background-color: white;
  color: var(--arqdis-blue);
  outline: 2px solid var(--arqdis-blue);
  outline-offset: -2px;

  cursor: progress;
}

.topics-filter button.topic-button-filter[disabled]:hover,
.topics-filter button.topic-button-filter[disabled]:focus {
  background-color: var(--arqdis-blue);
  color: white;
  outline: 2px solid transparent;
  outline-offset: -2px;

  cursor: progress;
  border: none;
}

/* ---------- INVESTIGACIONES GRID LAYOUT ---------*/
.investigaciones-archive-grid-container,
.series-archive-grid-container {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  grid-column-gap: 30px;
  --grid-col-count: 2;
}

.investigaciones-interactive-map {
  display: flex;
  justify-content: center;
}

.investigaciones-interactive-map svg {
  max-height: 60vh;
  min-height: 400px;
  width: 100%;
  position: sticky;
  top: 20vh;
}

.investigaciones-interactive-map .croquis-path {
  fill: none;
  stroke: var(--arqdis-blue);
  stroke-width: 2;
  stroke-miterlimit: 10;
}

.investigaciones-interactive-map .pointer-circle {
  fill: var(--arqdis-blue);
  stroke: none;
  opacity: 0;
  transform: translate(118px, 166.5px);
  transition:
    transform 0.5s,
    opacity 0.3s;
}

.investigaciones-interactive-map .pointer-circle.active-pointer {
  opacity: 1;
}

/* ---------- EQUIPO GRID ---------*/
.equipo-category-grid {
  margin-bottom: max(50px, min(7vw, 130px));
}

/* ---------- CURSOS GRID ---------*/
.cinta-en-construccion {
  background-color: var(--arqdis-blue);
  height: 2em;
  display: flex;
  align-items: center;
  position: fixed;
  z-index: 10;
  left: 0;
  bottom: 0;
  width: 100%;
  opacity: 1;
  transition: opacity 0.3s;
}

.loading-filtered-grid .cinta-en-construccion {
  opacity: 0;
}

.grid-post-thumbnail.en-construccion {
  overflow: hidden;
}

.grid-header-container + .cursos-archive-subheader-container > .post-intitle {
  margin-top: 0;
}

.cursos-archive-subheader-container .post-intitle {
  margin-top: 3em;
}

.grid-post-thumbnail .cinta-en-construccion {
  width: auto;
  position: absolute;
  left: 0;
  bottom: unset;
  top: 0;
  transform: rotate(-45deg) translate(-30%, 350%);
  transform-origin: left bottom;
}

.grid-post-thumbnail:hover .cinta-en-construccion {
  opacity: 0;
}

/* ---------- EVENTOS GRID BANNER ---------*/

.week-events-banner-container {
  margin-bottom: max(35px, min(4.5vw, 90px));
  opacity: 1;
  transition: opacity 0.3s;
}

.grid-header-container.related-grid-is-loading ~ .week-events-banner-container {
  opacity: 0;
}

body.post-type-archive-eventos
  .loading-filtered-grid
  .week-events-banner-container {
  opacity: 0.4;
  cursor: progress;
}

body.post-type-archive-eventos
  .loading-filtered-grid
  .week-events-banner-container
  a {
  pointer-events: none;
}

body.post-type-archive-eventos
  .has-filtered-grid
  .week-events-banner-container {
  display: none;
}
/*  REVISAR */
.week-events-banner {
  border: 2px solid var(--arqdis-magenta);
  background-image: url("assets/patron-grid-magenta.svg");
  background-size: 40px auto;
  padding: 20px 0 30px 0;
}

.week-events-banner .grid-largest-title {
  color: var(--arqdis-magenta);
  font-weight: 700;
  padding-left: 30px;
}

.week-event-list {
  display: flex;
  flex-wrap: nowrap;
  column-gap: max(4vw, 20px);
  margin-top: 30px;
  overflow: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  padding: 0 30px;
  scroll-behavior: smooth;
}

.week-event-list::-webkit-scrollbar {
  display: none;
}

.week-event {
  display: grid;
  grid-template-columns: 190px 1fr;
  grid-template-rows: min-content auto min-content;
  column-gap: 15px;
  flex-grow: 0;
  flex-shrink: 0;
  width: 570px;
}

.week-event nav {
  grid-column: 2;
  grid-row: 3;
}

.week-event-thumb-link {
  grid-column: 1;
  grid-row: 1 / span 3;
}

.week-event-thumb {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 100%;
  overflow: hidden;
}

.week-event-thumb-link img,
.week-event .week-event-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  filter: grayscale(0%);
  transition: filter 0.3s;
}

.week-event-thumb-link[href]:hover img,
.week-event-info-link[href]:hover ~ .week-event-thumb-link img {
  filter: grayscale(100%);
}

.week-event-thumb-link figure::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: blue;
  mix-blend-mode: screen;
  left: 0;
  top: 0;
  opacity: 0;
  transition: 0.3s;
}

.week-event-thumb-link[href]:hover figure::after,
.week-event-info-link[href]:hover ~ .week-event-thumb-link figure::after {
  opacity: 1;
}

.week-event img {
  position: relative;
  width: 100%;
  height: auto;
  top: auto;
  left: auto;
}

.week-event .grid-title {
  margin: 0.2em 0 0.5em 0;
}

.week-event nav {
  justify-self: end;
  margin-top: 15px;
}

.week-event nav a:not(:last-child) {
  margin-right: 1em;
}

.week-event nav a,
.resize-gallery-container nav a {
  transition: color 0.3s;
}

.week-event nav a:hover,
.resize-gallery-container nav a:hover {
  color: var(--arqdis-magenta);
}

.week-event-add-to-cal::after,
.week-event-view-more::after,
.week-event-enter::after {
  font-family: "Material Symbols Outlined";
  text-transform: none;
  display: inline-block;
  margin-left: 0.3em;
  position: relative;
  font-size: 1.2em;
  top: 0.15em;
  transition:
    transform 0.3s,
    color 0.3s;
}

.week-event-add-to-cal::after {
  content: "add";
}

.week-event-view-more[href]::after,
.week-event-enter::after {
  content: "arrow_outward";
  font-family: "Material Icons";
}

.week-event-add-to-cal:hover::after {
  transform: rotate(180deg);
}

.week-event-view-more:hover::after,
.week-event-enter:hover::after {
  transform: translate(1.5px, -1.5px);
}

.week-events-scroller {
  display: none;
  margin-right: 30px;
  margin-top: 30px;
  justify-content: end;
}

.has-overflowing-events ~ .week-events-scroller {
  display: flex;
}

.week-events-scroller,
.week-events-scroller button {
  font-family: "Material Symbols Outlined";
  font-size: var(--fz-30pt);
}

.week-events-scroller button {
  color: var(--arqdis-magenta);
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  transition:
    color 0.3s,
    transform 0.3s;
  transform: translate(0px, 0px);
  cursor: pointer;
}

.week-events-scroller button:first-of-type:enabled:hover {
  transform: translate(-2px, 0px);
}

.week-events-scroller button:last-of-type:enabled:hover {
  transform: translate(2px, 0px);
}

.week-events-scroller button:disabled {
  color: var(--arqdis-gray);
  cursor: not-allowed;
}

.week-events-scroller button:first-of-type {
  margin-right: 0.3em;
}

.week-event.week-past-event * {
  color: var(--arqdis-gray);
}

.week-event.week-past-event img {
  filter: grayscale(1) contrast(0.2) brightness(1.7);
}

.week-event.week-past-event .week-event-thumb-link[href]:hover img,
.week-event.week-past-event
  .week-event-info-link[href]:hover
  ~ .week-event-thumb-link
  img {
  filter: grayscale(1) contrast(0.5) brightness(1.3);
}

.week-event.week-past-event .week-event-thumb-link[href]:hover figure::after,
.week-event.week-past-event
  .week-event-info-link[href]:hover
  ~ .week-event-thumb-link
  figure::after {
  opacity: 0;
}

.week-event.week-ongoing-event .week-event-day,
.week-event.week-today-event .week-event-day,
.week-today-date {
  font-weight: 700;
  color: var(--arqdis-magenta);
}

.week-event.week-ongoing-event .week-event-clock,
.week-event.week-today-event .week-event-clock {
  font-weight: 700;
  color: black;
}

.week-event.week-ongoing-event .week-event-clock {
  animation: twinkle;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

.week-event-multidate {
  display: inline-grid;
  grid-template-columns: min-content;
}

.week-event-multidate > span {
  grid-column: 1;
  grid-row: 1;
  opacity: 0;
  transition: opacity 0.5s;
}

.week-event-multidate:not(.js-loaded) > span:first-child,
.week-event-multidate > span.carrousel-active {
  opacity: 1;
}
/* ---------- PROGRAMAS ARCHIVE ---------*/
.programa-top-container {
  display: flex;
  flex-direction: column;
}

.programa-header {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  grid-gap: 25px;
}

a[href].programa-heading-title {
  position: relative;
  left: 0;
  transition: left 0.3s;
  cursor: pointer;
}

a[href].programa-heading-title:hover {
  left: -10px;
}

.programa-slogan,
.programa-metadata {
  transition: opacity 0.3s;
  opacity: 1;
}

.programa-slogan.sizing-element,
.programa-metadata.sizing-element {
  opacity: 0;
}

.programa-header .programa-slogan {
  height: 1.5em;
  display: flex;
  align-items: center;
  background-color: var(--arqdis-blue);
  --program-slogan-offset: calc(-1 * var(--min-side-margin));
  margin-left: var(--program-slogan-offset);
  left: 0;

  margin-top: 0.5em;
}

.programa-descripcion ~ .programa-descripcion {
  margin-top: 0.7em;
}

/* Estado de las inscripciones del ciclo vigente (programas que admiten por ciclos) */
.programa-ciclo-admisiones .ciclo-titular {
  display: block;
  font-weight: 600;
}

@media only screen and (min-width: 2300px) {
  .programa-header .programa-slogan {
    /* left: calc( (var(--grid-content-w) - 100vw)/2); */
    --program-slogan-offset: 0px;
  }
}

.programa-header .programa-slogan span {
  position: absolute;
  animation-play-state: running;
}

.programa-header .programa-slogan {
  /* width: 95%; */
  max-width: calc(100% - var(--program-slogan-offset));
}

.programa-header .programa-metadata {
  /* width: 90%; */
  max-width: 100%;
}

.programa-header .programa-metadata {
  margin-top: 1em;
}

.programa-header-nav-links {
  margin-top: 1.5em;
}

.programa-header .download-programa {
  background-color: black;
  display: inline-block;
  padding: 0.6em;
  border: none;
  outline: none;
  transition: background-color 0.3s;
}

.programa-header .apply-button {
  animation-name: button-dance;
  animation-iteration-count: 5;
  animation-duration: 4s;
  animation-delay: 1s;
}

@keyframes button-dance {
  0%,
  25%,
  100% {
    transform: rotate(0deg);
  }

  3.125%,
  15.625% {
    transform: rotate(-15deg);
  }

  9.375%,
  21.875% {
    transform: rotate(15deg);
  }
}

.programa-header .download-programa:not(:first-child) {
  margin-left: 1em;
}

.programa-header .download-programa:hover {
  background-color: var(--arqdis-blue);
}

.programa-contenidos-fijos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 35px;
  margin-bottom: 50px;
}

.caja-contenido-fijo {
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 768px) and (max-height: 870px) {
  .programa-top-container {
    flex-direction: column-reverse;
  }

  .programa-contenidos-fijos {
    margin-bottom: 0px;
    margin-top: 50px;
  }
}

.enlace-contenido-fijo {
  height: 5em;
  padding: 0 1.5em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-width: 2px;
  border-style: solid;
  color: blue;

  transform: scale(1);
  transition:
    color 0.3s,
    border-color 0.3s,
    transform 0.15s;
}

.enlace-contenido-fijo:hover {
  border-color: magenta !important;
  color: magenta;
  transform: scale(1.02);
}

.caja-contenido-fijo:nth-of-type(9n + 1) .enlace-contenido-fijo {
  border-color: var(--arqdis-cyan);
  background-image: url("assets/patron-math-cyan.svg");
}

.caja-contenido-fijo:nth-of-type(9n + 2) .enlace-contenido-fijo {
  border-color: var(--arqdis-cyan);
  background-image: url("assets/patron-grid-cyan.svg");
}

.caja-contenido-fijo:nth-of-type(9n + 3) .enlace-contenido-fijo {
  border-color: var(--arqdis-cyan);
  background-image: url("assets/patron-grid-cyan.svg");
}

.caja-contenido-fijo:nth-of-type(9n + 4) .enlace-contenido-fijo {
  border-color: var(--arqdis-blue);
  background-image: url("assets/patron-grid.svg");
}

.caja-contenido-fijo:nth-of-type(9n + 5) .enlace-contenido-fijo {
  border-color: var(--arqdis-blue);
  background-image: url("assets/patron-math.svg");
}

.caja-contenido-fijo:nth-of-type(9n + 6) .enlace-contenido-fijo {
  border-color: var(--arqdis-blue);
  background-image: url("assets/patron-dots.svg");
}

.caja-contenido-fijo:nth-of-type(9n + 7) .enlace-contenido-fijo {
  border-color: var(--arqdis-blue);
  background-image: url("assets/patron-dots-cyan.svg");
}

.caja-contenido-fijo:nth-of-type(9n + 8) .enlace-contenido-fijo {
  border-color: var(--arqdis-blue);
  background-image: url("assets/patron-math-cyan.svg");
}

.caja-contenido-fijo:nth-of-type(9n + 9) .enlace-contenido-fijo {
  border-color: var(--arqdis-blue);
  background-image: url("assets/patron-grid.svg");
}

.enlace-contenido-fijo.enlace-contenido-externo {
  position: relative;
  padding: 0 60px;
}

.enlace-contenido-fijo.enlace-contenido-externo::after {
  content: "";
  background-image: url("assets/enlace-externo.svg");
  display: block;
  position: absolute;
  right: 10px;
  top: 0;
  background-repeat: no-repeat;
  background-position: center;
  width: 45px;
  height: 100%;
}

/*---RESIZE GALLERY DE PROGRAMAS---*/
.conocer-programa-wrapper {
  margin-top: 2.125rem;
  display: flex;
  justify-content: space-between;
}

.conocer-programa-wrapper .wpcf7 {
  width: min-content;
  flex-grow: 1;
  display: flex;
  justify-content: end;
}

.conocer-programa-wrapper .wpcf7-form {
  margin: 0;
  height: 100%;
  margin-left: 50px;
  min-width: 380px;
  max-width: 700px;
}

.conocer-programa-wrapper .wpcf7-not-valid-tip {
  display: none;
}

.conocer-programa-wrapper input.wpcf7-not-valid {
  animation-name: invalidInput;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

@keyframes invalidInput {
  0%,
  100% {
    border-color: black;
  }

  50% {
    border-color: var(--arqdis-magenta);
  }
}

@media only screen and (min-width: 500px) {
  .conocer-programa-wrapper .wpcf7-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5em 3%;
    align-items: start;
  }

  /* Hide BR tags that CF7 might insert, which break grid layouts */
  .conocer-programa-wrapper .wpcf7-form br {
    display: none;
  }

  /* Handle direct paragraphs/labels and those inside conditional groups */
  .conocer-programa-wrapper .wpcf7-form > p,
  .conocer-programa-wrapper .wpcf7-form > label,
  .conocer-programa-wrapper .wpcf7-form > div > p,
  .conocer-programa-wrapper .wpcf7-form > div > label,
  .conocer-programa-wrapper .wpcf7-form > .form-field {
    /* specific for custom field wrappers */
    display: flex;
    flex-direction: column;
    margin: 0;
    box-sizing: border-box;
  }

  /* Ensure inputs don't overflow their containers */
  .conocer-programa-wrapper .wpcf7-form input,
  .conocer-programa-wrapper .wpcf7-form select,
  .conocer-programa-wrapper .wpcf7-form textarea {
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Conditional group wrappers should act as if they are not there */
  .conocer-programa-wrapper .wpcf7-form > div {
    display: contents;
  }

  /* Full width elements */
  /* Submit button container */
  .conocer-programa-wrapper .wpcf7-form > p:has(.wpcf7-submit),
  .conocer-programa-wrapper .wpcf7-form > label:has(.wpcf7-submit),
  .conocer-programa-wrapper .wpcf7-form > div > p:has(.wpcf7-submit),
  .conocer-programa-wrapper .wpcf7-form > div > label:has(.wpcf7-submit) {
    grid-column: 1 / -1;
  }

  /* Acceptance checkbox usually needs full width */
  .conocer-programa-wrapper .wpcf7-form > p:has(.wpcf7-acceptance),
  .conocer-programa-wrapper .wpcf7-form > label:has(.wpcf7-acceptance),
  .conocer-programa-wrapper .wpcf7-form > div > p:has(.wpcf7-acceptance),
  .conocer-programa-wrapper .wpcf7-form > div > label:has(.wpcf7-acceptance) {
    grid-column: 1 / -1;
  }
  .form-input-required {
    display: flex;
    align-items: flex-end;
    margin-bottom: 0.3em;
    min-height: 2.5em;
  }
  /* Fix for the phone group explicitly in this context if needed */
  .conocer-programa-wrapper .form-field.phone-group {
    box-sizing: border-box;
  }

  /* Ensure consistent label spacing - display labels as block elements */
  /* Min-height ensures labels align even when text wraps differently */
  .conocer-programa-wrapper .wpcf7-form label > span:first-child,
  .conocer-programa-wrapper .wpcf7-form label > .form-input-required,
  .conocer-programa-wrapper .wpcf7-form p > span:first-child,
  .conocer-programa-wrapper .wpcf7-form .form-field > span:first-child {
    display: flex;
    align-items: flex-end;
    margin-bottom: 0.3em;
    min-height: 2.5em;
  }

  /* Ensure form controls take full width within their container */
  .conocer-programa-wrapper .wpcf7-form label .wpcf7-form-control-wrap {
    display: block;
  }

  .conocer-programa-wrapper .wpcf7-form label input,
  .conocer-programa-wrapper .wpcf7-form label select {
    width: 100%;
  }

  /* Special handling for radio buttons and acceptance checkboxes */
  .conocer-programa-wrapper .wpcf7-form label .wpcf7-radio,
  .conocer-programa-wrapper .wpcf7-form label .wpcf7-acceptance {
    display: block;
    margin-top: 0.3em;
  }

  /* For radio buttons and acceptance not inside labels (direct children of p) */
  .conocer-programa-wrapper .wpcf7-form p > span:first-child {
    display: block;
    margin-bottom: 0.3em;
  }

  .conocer-programa-wrapper .wpcf7-form p > .wpcf7-form-control-wrap {
    display: block;
  }
}

@media only screen and (min-width: 1580px) {
  .conocer-programa-wrapper .wpcf7-form p {
    line-height: 1.2;
  }
}

/* Remove old specific margins and hiding rules */

.resize-gallery-wrapper {
  position: relative;
  background: white;
  box-shadow:
    -5px -5px 10px rgba(0, 0, 0, 0.1),
    3px 7px 5px rgba(0, 0, 0, 0.05);
  padding: 30px;
  width: max-content;
  overflow: auto;
  scrollbar-width: none;
  --active-width: 450px;
  --gallery-slide-count: 0;
  --gallery-slide-gap: 15px;
}

.resize-gallery-wrapper::-webkit-scrollbar {
  display: none;
}

.resize-gallery-container {
  position: relative;
  width: min-content;
}

.resize-gallery-container > div:first-child {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: start;
  width: calc(
    (var(--active-width) / 4 + var(--gallery-slide-gap)) *
      (var(--gallery-slide-count) - 1) + var(--active-width)
  );
  height: var(--active-width);
}

.overflowing-resize-gallery .resize-gallery-container > div:first-child {
  width: calc(
    (var(--active-width) / 4 + var(--gallery-slide-gap)) *
      (var(--gallery-slide-count) - 1) + var(--active-width) * 2
  );
}

.resize-gallery-container img {
  flex-shrink: 0;
  width: var(--active-width);
  height: auto;
  transform-origin: top left;
  transform: translateX(calc(-75% * (var(--pos) - 1))) scale(0.25);
  transition:
    transform 0.4s,
    opacity 0.3s;
  opacity: 0.6;
  cursor: pointer;
  position: relative;
  z-index: 2;
}

.resize-gallery-container img:not(:first-child) {
  margin-left: var(--gallery-slide-gap);
}

.resize-gallery-container img:hover {
  opacity: 1;
}

.resize-gallery-container img.active {
  cursor: unset;
  opacity: 1;
  transform: translateX(calc(-75% * (var(--pos) - 1))) scale(1);
}

.resize-gallery-container img.active ~ img {
  transform: translateX(calc(-75% * (var(--pos) - 2))) scale(0.25);
}

.resize-gallery-info {
  position: absolute;
  max-width: 25em;
  padding: 0 15px;
  left: 0;
  bottom: 0;
  transition: opacity 0.3s;
  transform: translateX(var(--active-width));
}

.resize-gallery-info nav {
  margin-top: 0.6em;
  text-align: right;
}

.resize-gallery-info.hidden-gallery-info {
  opacity: 0;
}

.resize-gallery-info p {
  margin-top: 0.7em;
}

.resize-gallery-nav {
  position: sticky;
  left: 0px;
  transform: translateX(20px);
  display: flex;
  width: 100%;
  justify-content: end;
  height: 0;
  bottom: 5px;
  margin-top: 10px;
}

.resize-gallery-nav button {
  border: none;
  background-color: transparent;
  border-radius: 0;
  font-family: "Material Symbols Outlined";
  text-transform: none;
  font-size: var(--fz-20pt);
  height: 1.3em;
  padding: 0;
  cursor: pointer;
}

.resize-gallery-nav button:not(:last-child) {
  margin-right: 0.2em;
}

.resize-gallery-nav button span {
  display: inline-block;
  transition: transform 0.3s;
}

.resize-gallery-nav button.resize-gallery-prev:hover span {
  transform: translateX(-5px);
}

.resize-gallery-nav button.resize-gallery-next:hover span {
  transform: translateX(5px);
}

.resize-gallery-slide-indicator {
  display: none;
}

@media screen and (max-width: 1580px) {
  .conocer-programa-wrapper .wpcf7-form p {
    margin-bottom: 0.5em;
  }

  .resize-gallery-wrapper {
    --active-width: 400px;
  }

  .resize-gallery-info {
    max-width: 20em;
  }
  .conocer-programa-wrapper {
    flex-wrap: wrap;
  }
  .conocer-programa-wrapper .wpcf7 {
    justify-content: flex-start;
  }
  .conocer-programa-wrapper .wpcf7 form {
    margin-top: 2rem;
    height: auto;
    margin-left: 0;
  }

  .resize-gallery-wrapper {
    --active-width: 27vw;
  }

  .container-video-program {
    order: -1;
  }
}

@media screen and (max-width: 1380px) {
}

/*@media screen and (max-width: 1250px) {
  .conocer-programa-wrapper{
  flex-wrap: wrap;
  }
  .conocer-programa-wrapper .wpcf7 {
    justify-content:flex-start;
  }
  .conocer-programa-wrapper .wpcf7 form{
   margin-top:2rem; 
   height:auto; 
   margin-left:0; 
  }

  .resize-gallery-wrapper {
    --active-width: 27vw;
  }

  .container-video-program{
    order: -1;
  }
}*/

@media screen and (max-width: 992px) {
  .resize-gallery-wrapper {
    --active-width: 345px;
  }

  .resize-gallery-nav {
    margin-top: 15px;
  }
}

@media screen and (max-width: 767px) {
  .resize-gallery-wrapper {
    --active-width: 70vw;
    overflow: hidden;
  }

  .resize-gallery-info {
    position: sticky;
    left: 0px;
    transform: translateX(0px) !important;
    padding: 15px 0;
    max-width: var(--active-width);
    min-height: 13.95em;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .resize-gallery-wrapper {
    padding: 22.5px 15px;
    padding-left: calc((100% - var(--active-width)) / 2);
  }

  .resize-gallery-nav {
    display: none;
  }

  .resize-gallery-slide-indicator {
    display: block;
    width: 100%;
    height: 0;
    position: sticky;
    display: flex;
    justify-content: end;
    left: 0;
    top: 0;
    z-index: 10;
    font-family: "Roboto Mono", monospace;
    font-size: var(--fz-12pt);
    font-weight: 700;
    letter-spacing: 0.2em;
  }

  .resize-gallery-slide-indicator::after {
    content: attr(data-current-slide) "/" attr(data-total-slides);
    background-color: rgba(0, 0, 0, 0.6);
    border-radius: 0.8em;
    padding: 0.3em 0.3em 0.35em 0.5em;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    position: absolute;
    margin-top: 10px;
    margin-right: calc(12.5px + (100% - 70vw) / 2);
  }
}

@media screen and (max-width: 575px) {
  .resize-gallery-wrapper {
    --active-width: 80vw;
  }

  .resize-gallery-slide-indicator::after {
    margin-right: calc(12.5px + (100% - 80vw) / 2);
  }

  .wpcf7-form,
  .wpcf7 .wpcf7-form {
    padding: 1rem 20px;
    margin: 0;
    width: 100%;
  }
}

@media screen and (max-width: 410px) {
  .resize-gallery-wrapper {
    --active-width: 70vw;
  }

  .resize-gallery-slide-indicator::after {
    margin-right: calc(12.5px + (100% - 70vw) / 2);
  }

  .conocer-programa-wrapper .wpcf7-form {
    min-width: 80px;
  }
}

/* ----------------------- LAYOUT INTERNO ITEMS -----------------------*/

.grid-archive-item,
.grid-post-link {
  display: flex;
  flex-direction: column;
}

.grid-post-type-link {
  width: max-content;
  margin-bottom: 0.7em;
}

.grid-archive-item .grid-title {
  margin-top: 0.6em;
}

.grid-archive-item .grid-subtitle {
  margin-top: 0.2em;
}

/* ===== STUDENT PROJECT CARDS ===== */
/* Applies globally for consistent styling across all grids */

.student-project-wrapper {
  display: flex;
  flex-direction: column;
}

.student-project-card {
  background-color: #ffffff;
  box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition: box-shadow 0.3s ease;
  text-decoration: none;
  color: inherit;
}

.student-project-card:hover {
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.35);
}

.post-type-archive-proy_est .student-project-card.active-project {
  box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.45);
}

/* Thumbnail Image - Square aspect ratio */
.student-thumb-image {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: visible;
  position: relative;
}

.student-thumb-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Award Badge (Proyecto Premiado) */
.student-thumb-award-badge {
  position: absolute;
  /* pull the badge slightly outside the thumbnail while leaving room
     so the SVG star points are not clipped */
  top: -12px;
  right: -12px;
  width: 96px;
  height: 96px;
  z-index: 3; /* sobre su thumbnail, pero debajo de la tarjeta de detalle (z-index 10) */
  overflow: visible; /* ensure the badge itself can render outside */
  pointer-events: none; /* badge shouldn't block clicks on the thumbnail */
}

.student-thumb-award-badge img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain; /* preserve svg aspect and avoid clipping inside the img box */
}

/* Ensure the award badge image does NOT inherit hover filter/transition from the
   surrounding .student-thumb-image.blue-on-hover img rule. Make this selector
   specific and force no transition on filter so the badge remains static. */
.student-thumb-image .student-thumb-award-badge img,
.grid-post-thumbnail .student-thumb-award-badge img {
  transition: none !important;
  -webkit-transition: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
  will-change: auto !important;
}

/* Blue-on-hover effect for student thumbnails */
.student-thumb-image.blue-on-hover {
  image-rendering: -webkit-optimize-contrast;
}

/* Disable webkit image rendering in safari, only needed in chrome */
_::-webkit-full-page-media,
_:future,
:root .student-thumb-image.blue-on-hover {
  image-rendering: initial;
}

.student-thumb-image.blue-on-hover img {
  filter: grayscale(0%);
  transition: filter 0.3s;
}

/* Hover effect for archive version (clickable card) */
.clickable-project-thumb.student-project-card:hover
  .student-thumb-image.blue-on-hover
  img {
  filter: grayscale(100%);
}

/* Hover effect for external grids (link) */
.grid-post-link.student-project-card:hover
  .student-thumb-image.blue-on-hover
  img {
  filter: grayscale(100%);
}

.student-thumb-image.blue-on-hover::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: blue;
  mix-blend-mode: screen;
  left: 0;
  top: 0;
  opacity: 0;
  transition: 0.3s;
}

/* Hover effect for archive version (clickable card) */
.clickable-project-thumb.student-project-card:hover
  .student-thumb-image.blue-on-hover::after {
  opacity: 1;
}

/* Hover effect for external grids (link) */
.grid-post-link.student-project-card:hover
  .student-thumb-image.blue-on-hover::after {
  opacity: 1;
}

/* Title Section */
.student-thumb-title {
  padding: 8px 8px 8px 8px;
  width: 100%;
}

.student-thumb-title .grid-title {
  font-family: "Roboto Mono", monospace;
  font-weight: 700;
  font-size: 18px;
  line-height: normal;
  color: #000000;
  text-transform: uppercase;
  margin: 0;
  word-wrap: break-word;
  white-space: pre-wrap;
}

.grid-post-type-link span {
  position: relative;
}

.grid-post-type-link span:before {
  content: " ";
  white-space: pre;
}

.grid-post-type-link span::after {
  content: "";
  position: absolute;
  display: block;
  width: 1ch;
  height: 1.2em;
  left: 0;
  top: 0;
  border-bottom: 1px solid black;
  transition: width 0.3s;
}

.grid-post-type-link[href]:hover span::after {
  width: 100%;
}

.grid-subtitle > span {
  display: block;
}

.show-in-singles {
  display: none;
}

/* ----- GENERIC PREVIEW -----*/
.grid-post-thumbnail img,
.grid-post-thumbnail video {
  /* display: block;
  max-height: 65vh;
  max-width: 100%;
  width: auto;
  height: auto; */

  object-fit: cover;
  width: 100%;
  height: 100%;
  vertical-align: middle;
}

.grid-post-thumbnail {
  max-width: 100%;
  /* Activar ambos para limitar altura 
  max-height: 80vh;
  overflow: hidden; */
}

.grid-post-thumbnail.blue-on-hover {
  position: relative;
  image-rendering: -webkit-optimize-contrast;
}

/* desactivar webkit image rendering en safari, solo lo necesitamos en chrome */
_::-webkit-full-page-media,
_:future,
:root .grid-post-thumbnail.blue-on-hover {
  image-rendering: initial;
}

.grid-post-thumbnail.blue-on-hover img,
.grid-post-thumbnail.blue-on-hover video {
  filter: grayscale(0%);
  transition: filter 0.3s;
}

.grid-post-link[href]:hover .grid-post-thumbnail.blue-on-hover img,
.grid-post-link[href]:hover .grid-post-thumbnail.blue-on-hover video {
  filter: grayscale(100%);
}

.grid-post-thumbnail.blue-on-hover::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: blue;
  mix-blend-mode: screen;
  left: 0;
  top: 0;
  opacity: 0;
  transition: 0.3s;
}

.grid-post-link[href]:hover .grid-post-thumbnail.blue-on-hover::after {
  opacity: 1;
}

/* Exception: Proyecto Premiado SVG should not receive the blue/grayscale overlay
   and instead gently scales on hover. Target by filename (src ends-with) so this
   only affects that specific asset. */
img[src$="proyectopremiado.svg"] {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  transform-origin: center center;
  /* Match the blue-on-hover speed (0.3s) for a consistent feel */
  transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
  will-change: transform, opacity;
}

/* Ensure the blue-on-hover container rules don't re-apply filters to this image */
.grid-post-thumbnail.blue-on-hover img[src$="proyectopremiado.svg"],
.student-thumb-image.blue-on-hover img[src$="proyectopremiado.svg"] {
  filter: none !important;
}

/* Stronger override: when the container has the blue-on-hover class, ensure the
   award badge inside it does NOT get transitions or filter effects. This selector
   includes the blue-on-hover class to increase specificity above the generic
   .student-thumb-image.blue-on-hover img rule. */
.grid-post-thumbnail.blue-on-hover .student-thumb-award-badge img,
.student-thumb-image.blue-on-hover .student-thumb-award-badge img {
  /* Allow the badge to keep its transform transition while still
     preventing filter/grayscale from applying. Enforce transform
     transition with !important so it isn't crossed out by other rules. */
  transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1) !important;
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.19, 1, 0.22, 1) !important;
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
  will-change: transform, opacity !important;
}

/* Hover/touch: subtle scale up to 1.1 with easing */
img[src$="proyectopremiado.svg"]:hover,
.grid-post-link[href]:hover img[src$="proyectopremiado.svg"],
.clickable-project-thumb.student-project-card:hover
  img[src$="proyectopremiado.svg"] {
  transform: scale(1.01) translateX(2px) translateY(-2px);
}

/* ----- PERSONA PREVIEW -----*/
.persona-item .grid-post-thumbnail.persona-thumbnail {
  aspect-ratio: 4 / 5;
  overflow: hidden;
}

.persona-item .grid-post-thumbnail.persona-thumbnail .placeholder-image {
  height: 100%;
  padding-top: 0;
}

.persona-item .grid-subtitle > span:nth-child(2) {
  margin: 0.2em 0;
}

/* ----- PUBLICACIÓN PREVIEW -----*/
.grid-post-thumbnail.rise-on-hover {
  position: relative;
  bottom: 0;
  transition: bottom 0.3s;
}

.grid-post-link:hover .grid-post-thumbnail.rise-on-hover {
  bottom: 10px;
  z-index: -1;
}

.grid-pub-links,
.grid-item-links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 15px;
  justify-items: center;
  align-items: center;
  margin-top: 15px;
  max-width: 430px;
}

.grid-pub-links a,
.grid-item-links a {
  display: block;
  background: black;
  width: 100%;
  transition: background 0.3s;
  padding: 0.3em;
}

.grid-pub-links a:hover,
.grid-item-links a:hover {
  background: var(--arqdis-blue);
}

a.grid-button[disabled] {
  background: lightgray;
  color: gray;
  cursor: not-allowed;
  pointer-events: none;
}

/* ----- INVESTIGACIÓN PREVIEW -----*/
.investigacion-item .grid-title {
  margin-top: 0;
  transition: color 0.3s;
}

.investigacion-item .grid-post-link:hover .grid-title {
  color: var(--arqdis-blue);
}

body:not(.post-type-archive-investigaciones)
  .investigacion-item
  .grid-title:before {
  content: "* ";
  color: var(--arqdis-magenta);
}

.scale-name {
  margin-bottom: 0.6em;
}

.investigacion-item .grid-subtitle {
  margin-top: 0.4em;
}

/* ----- CLASIFICADO PREVIEW -----*/
.clasificado-item {
  --clasificado-txt-c: black;
  --clasificado-hover-title-c: var(--arqdis-blue);
  --clasificado-type-c: var(--arqdis-magenta);
}

.clasificado-item.clasificado-cerrado-item {
  --clasificado-txt-c: #aaa;
  --clasificado-hover-title-c: black;
  --clasificado-type-c: #aaa;
}

.clasificado-item .grid-title,
.clasificado-item .clasificados-grid-subtitle {
  color: var(--clasificado-txt-c);
}

.clasificado-item .clasificados-grid-type {
  color: var(--clasificado-type-c);
}

.clasificado-item .grid-post-link {
  border-top: 2px solid var(--clasificado-txt-c);
  border-bottom: 2px solid var(--clasificado-txt-c);
  padding: 8% 0;
}

body:not(.post-type-archive-clasificados) .external-clasificado .grid-post-link,
body:not(.post-type-archive-clasificados) .beca-clasificado .grid-post-link {
  border-top: none;
  border-bottom: none;
  padding: 0 0;
}

.clasificado-item .grid-title {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
  transition: color 0.3s;
}

.clasificado-item .grid-post-link:hover .grid-title {
  color: var(--clasificado-hover-title-c);
}

.clasificado-item .clasificados-grid-subtitle {
  margin-top: 0.5em;
  display: block;
}

.clasificado-item .clasificados-grid-subtitle.cierre-proximo {
  width: fit-content;
  color: white;
  background-color: var(--arqdis-magenta);
  padding: 0.1em 0.2em;
}

.clasificado-item .clasificados-grid-subtitle.cierre-proximo time {
  animation: twinkle;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

.clasificado-item .clasificados-grid-type {
  margin-top: 0;
}

.clasificado-item .beca-wrapper {
  border: 2px dashed var(--clasificado-txt-c);
  margin: -2% 0;
  padding: 4%;
}

.external-clasificado .clasificados-grid-type {
  display: none;
}

.external-clasificado .external-clasificado-wrapper {
  border: 2px solid var(--clasificado-txt-c);
  padding: 70px 5%;
  background: url("assets/patron-grid-bw.png");

  position: relative;
}

.evento-item .grid-post-link[target="_blank"],
.generico-item .grid-post-link[target="_blank"],
.persona-item .grid-post-link[target="_blank"],
.documento-item .grid-post-link[target="_blank"] {
  position: relative;
}

.external-clasificado-wrapper::after,
.enlace-externo-item .grid-post-link::after,
/*.edco-item .grid-post-link[href]::after,*/
.evento-item .grid-post-link[target="_blank"]::after,
.generico-item .grid-post-link[target="_blank"]::after,
.persona-item .grid-post-link[target="_blank"]::after,
.documento-item .grid-post-link[target="_blank"]::after {
  content: "";
  background-image: url("assets/enlace-externo.svg");
  display: block;
  position: absolute;
  top: 10px;
  right: 10px;
  background-repeat: no-repeat;
  width: 55px;
  height: 55px;
}

.clasificado-cerrado-item .external-clasificado-wrapper::after {
  filter: contrast(0.2) brightness(1.9);
}

/* ----- ENLACE EXTERNO PREVIEW -----*/
.enlace-externo-item .grid-post-link,
.edco-item .grid-post-link[href] {
  position: relative;
}

/* ----- PAPER PREVIEW -----*/
.paper-item .grid-post-link {
  box-shadow:
    -5px -5px 10px rgba(0, 0, 0, 0.1),
    3px 7px 5px rgba(0, 0, 0, 0.05);
  padding: 10px 30px 30px 30px;
  position: relative;
  transition: bottom 0.3s;
  bottom: 0;
}

.paper-item .grid-post-link:hover {
  bottom: 5px;
}

.paper-item .topics {
  height: 32px;
  overflow: hidden;
}

.paper-item .grid-subtitle {
  margin-top: 0.3em;
}

.paper-item .topics + .grid-subtitle {
  margin-top: 0.3em;
}

.paper-item .topics span {
  white-space: nowrap;
}

.paper-item h6.grid-title {
  word-break: normal;
  overflow-wrap: anywhere;
}

/* ----- DOCUMENTO PREVIEW -----*/
.documento-item a.grid-post-link[href][target="_blank"] {
  cursor: alias;
}

/* ----- ANUNCIO PREVIEW -----*/
.anuncio-thumb-banner {
  border-bottom: 2px solid #aaa;
  max-height: 80px;
  margin: -12px -12px 12px -12px;
  overflow: hidden;
  max-width: unset;
}

.anuncio-thumb-banner img,
.anuncio-thumb-banner video {
  max-height: 80px;
  width: 100%;
  display: block;
  object-fit: cover;
}

.anuncio-item .grid-post-link {
  border: 2px solid #aaa;
  padding: 12px;
  position: relative;
}

.anuncio-badge {
  display: block;
  position: absolute;
  z-index: 0;
  right: 0;
  top: 0;
  transform: translate(29%, -50%);
  width: 12ch;
  height: 12ch;
  display: flex;
  align-items: center;
  justify-content: center;
}

.anuncio-badge::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: url(assets/estrella.svg);
  background-position: center center;
  background-repeat: no-repeat;
  z-index: -1;
  transform-origin: center;
  animation-name: spin;
  animation-duration: 15s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.anuncio-item .grid-paragraph {
  margin-bottom: 0.3em;
}

.anuncio-item .grid-title {
  margin-top: 0;
  margin-bottom: 0.3em;
  z-index: 1;
}

.anuncio-item .grid-title {
  transition: color 0.3s;
}

.anuncio-item:hover .grid-title {
  color: var(--arqdis-blue);
}

.recent-anuncio-subtitle {
  font-weight: 500;
  color: var(--arqdis-blue);
}

/* ----- CURSO PREVIEW -----*/
.grid-post-thumbnail .course-types-icons {
  position: absolute;
  top: 15px;
  right: 15px;
  display: flex;
  width: 20%;
  max-width: 85px;
  flex-direction: column;
  gap: 15px;
  z-index: 1;
}

/* Etiquetas de tipo de curso con nombre completo (vista de posgrado), debajo
   del código. Reutilizan el par de colores del tipo (fondo + texto) que define
   print_course_type_labels(). Bordes rectos, en línea con el lenguaje de marca. */
.course-type-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-top: 0.5em;
}

.course-type-label {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-10pt);
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1.2;
  padding: 0.22em 0.55em;
}

/* Aviso de cupos limitados en cursos de posgrado que también se ofertan a
   pregrado. En la tarjeta va bajo la imagen y el código; en la página del curso,
   bajo los metadatos. */
.course-limited-quota-notice {
  display: block;
  margin-top: 0.35em;
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-10pt);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1.2;
}

.course-limited-quota-note {
  margin-top: 0.5em;
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-10pt);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

/* Etiquetas de PROGRAMA en la vista de cursos de posgrado.
   Color de fondo por programa (esquema de Proyectos de estudiantes),
   texto siempre blanco; fondo neutro por defecto si el programa no tiene color. */
.course-program-labels {
  margin-top: 0.5em;
  /* Espacio vertical entre filas cuando las etiquetas se envuelven. */
  line-height: 1.9;
}

.course-program-label {
  display: inline;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-10pt);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  padding: 0.22em 0.55em;
  /* Espacio horizontal entre etiquetas que caben en la misma línea. */
  margin-right: 0.4rem;
  color: #ffffff;
  background-color: #000000;
}

/* Contenedor de etiquetas de categoría EDCO. A diferencia de los programas
   (que necesitan inline para envolverse línea a línea), las etiquetas EDCO son
   cajas atómicas, así que usamos flex con un único gap: el mismo espaciado
   horizontal y vertical cuando se envuelven. */
.course-edco-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.5em;
}

/* Etiquetas de categoría EDCO: nombres cortos que deben mantenerse íntegros.
   Cada etiqueta es una caja atómica que se envuelve como unidad y nunca se parte
   a media palabra (p. ej. "Curso abierto"). */
.course-edco-label {
  display: inline-block;
  white-space: nowrap;
  /* El gap del contenedor flex maneja el espaciado en ambos ejes. */
  margin-right: 0;
  -webkit-box-decoration-break: slice;
  box-decoration-break: slice;
}

/* ----- TIPO DE CURSO PREVIEW -----*/
/*(Informacion pinneada al filtrar cursos pregrado)*/

.course-type-item-header svg {
  width: 100%;
  height: auto;
}

.course-type-item-header {
  display: grid;
  grid-template-columns: 1fr 3fr;
  align-items: center;
  column-gap: 1.5em;
}

.course-type-desc-item .grid-title {
  text-transform: uppercase;
  font-weight: 700;
  margin-top: 0;
}

.course-type-desc-item nav.post-buttons {
  margin-top: 0;
}

.course-type-desc-item .post-body {
  margin-top: 0;
  margin-bottom: 0;
}

.course-type-desc-item a.post-button {
  margin-top: 0.4em;
  padding-top: 0.6em;
  padding-bottom: 0.6em;
}

.course-type-desc-item {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: min(max(20px, 3vw), 30px);
}

/* ----- VIDEO PREVIEW -----*/
button.video-load-button {
  /* CSS Reset */
  border: none;
  border-radius: 0;
  padding: 0;
  text-align: left;
  background: transparent;
}

button.unloaded-video {
  cursor: pointer;
  position: relative;
}

button.unloaded-video figure::after {
  content: "";
  position: absolute;
  display: block;
  --play-btn-w: 10%;
  width: var(--play-btn-w);
  height: calc(16 * var(--play-btn-w) / 9);
  background-image: url(assets/video-play.svg);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  filter: saturate(0);
  transition: filter 0.3s;
  z-index: 3; /* Above thumbnail image */
}

/* Adjust play button size for vertical videos */
button.unloaded-video.vertical-video figure::after {
  --play-btn-w: 15%; /* Slightly larger for vertical videos */
  height: calc(
    9 * var(--play-btn-w) / 16
  ); /* 9:16 aspect ratio for play button */
}

button.unloaded-video:hover figure::after {
  filter: saturate(1);
}

button.video-load-button figure {
  position: relative;
  width: 100%;
}

/* 16:9 videos (horizontal) */
button.video-load-button.horizontal-video figure {
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}

/* 9:16 videos (vertical) */
button.video-load-button.vertical-video figure {
  padding-bottom: 177.78%; /* 9:16 */
  height: 0;
}

button.video-load-button figure img,
button.video-load-button figure iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

button.video-load-button[video-uri*="vimeo"] figure iframe {
  width: 100%;
  height: 100%;
}

/* ----- CONTENIDOS FIJOS PREVIEW -----*/
.contenido-fijo-item a.grid-post-link {
  background-image: url("assets/contenidos-fijos/patron-grid-cerrado-blue.png");
  border: 2px solid var(--arqdis-blue);
  padding: 2em;
  transition: border 0.3s;
}

.contenido-fijo-item:hover a.grid-post-link {
  border: 2px solid var(--arqdis-magenta);
}

.contenido-fijo-subtitle {
  margin-top: 0.7em;
}

.contenido-fijo-item .contenido-fijo-title {
  color: var(--arqdis-blue);
  transition: color 0.3s;
}

.contenido-fijo-item:hover .contenido-fijo-title {
  color: var(--arqdis-magenta);
}

.contenido-fijo-item .contenido-fijo-subtitle {
  color: var(--arqdis-blue);
  transition: color 0.3s;
}

.contenido-fijo-item:hover .contenido-fijo-subtitle {
  color: var(--arqdis-magenta);
}

.contenido-fijo-item.style-1 a.grid-post-link {
  background-image: url("assets/contenidos-fijos/patron-grid-cerrado-blue.png");
}

.contenido-fijo-item.style-2 a.grid-post-link {
  background-image: url("assets/contenidos-fijos/patron-grid-cerrado-cyan.png");
}

.contenido-fijo-item.style-3 a.grid-post-link {
  background-image: url("assets/contenidos-fijos/patron-math-blue.png");
}

.contenido-fijo-item.style-4 a.grid-post-link {
  background-image: url("assets/contenidos-fijos/patron-dots-cyan.png");
}

/* ----- STAMPED BOXES PREVIEW REVISAR-----*/
.stamped-content.generic-template {
  border: 2px solid var(--arqdis-magenta);
  background-image: url("assets/patron-grid-magenta.svg");
  background-size: 40px auto;
  padding: 20px;

  position: absolute;
  right: 0;

  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: min-content 1fr;
  grid-auto-flow: dense;
  grid-column-gap: 30px;
  grid-row-gap: 15px;
}

.stamped-content .grid-title {
  color: var(--arqdis-magenta);
}

.stamped-content .grid-subtitle {
  color: var(--arqdis-blue);
}

.stamped-content.generic-template p {
  grid-row: span 2;
}

.stamped-content.generic-template a {
  background-color: var(--arqdis-blue);
  padding: 0.6em;
  display: block;
  transition: background-color 0.3s;
}

.stamped-content.generic-template a:hover {
  background-color: var(--arqdis-magenta);
}

.is-filtered .stamped-content {
  display: none;
}

/* ---------- OPCIONES (DOCUMENTOS) ARCHIVE ------------- */
.opciones-info-item h3 {
  margin-bottom: 0.4em;
}

.opciones-info-item p:not(:last-child) {
  margin-bottom: 0.7em;
}

.opciones-info-item p {
  line-height: 1.4em;
}

.opciones-info-item > div:not(:last-child) {
  margin-bottom: 1.5rem;
}

.contact-person > span {
  display: block;
}

.contact-person > span:first-child {
  font-weight: 700;
}

.contact-person > span:not(:first-child) {
  font-size: 0.9em;
}

.opciones-cal-container {
  overflow: hidden;
  position: relative;
}

.opciones-cal-container::before,
.opciones-cal-container::after {
  content: "";
  position: absolute;
  top: 0;
  width: 65px;
  height: 100%;
}

.opciones-cal-container::before {
  left: 0;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 1) 13%,
    rgba(255, 255, 255, 0) 100%
  );
}

.opciones-cal-container::after {
  right: 0;
  background: linear-gradient(
    -90deg,
    rgb(255, 255, 255) 13%,
    rgba(255, 255, 255, 0) 100%
  );
}

.opciones-cal-container svg {
  height: 97px;
  user-select: none;
}

.opciones-cal-container .cal-event-movable {
  transform: translateX(calc(-1 * var(--days-past) * var(--day-size)));
  transition: transform 0.5s;
}

.opciones-info-closed .opciones-cal-container {
  opacity: 0.4;
}

a.grid-button[disabled] {
  white-space: nowrap;
}

.opciones-cal-container .cal-today-marker,
.opciones-cal-container .cal-today-marker + text {
  animation-name: svg-twinkle;
  animation-duration: 3s;
  animation-iteration-count: infinite;
}

@keyframes svg-twinkle {
  0%,
  100%,
  25%,
  75% {
    fill: rgba(0, 0, 0, 1);
  }
  50% {
    fill: rgba(0, 0, 0, 0);
  }
}

/* ---------- CALENDARIO ANIMADO ------------- */
.cal-marker {
  fill: var(--arqdis-blue);
}

.cal-today-marker {
  fill: black;
  opacity: 1;
}

.cal-event-span {
  fill: var(--arqdis-magenta);
}

.cal-event-mark-txt {
  font-family: "Roboto Mono", monospace;
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 500;
}

/* ---------- EDCO ARCHIVES ------------- */
.edco-main-menu {
  display: grid;
  min-height: calc(100vh - var(--main-nav-h) - var(--edco-marquee-h));
  grid-template-rows: calc(100vh - var(--main-nav-h) - var(--edco-marquee-h));
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
}

.edco-main-menu,
.edco-nav-marquee {
  --edco-marquee-h: 50px;
}

.logged-in .edco-main-menu {
  min-height: calc(
    100vh - var(--main-nav-h) - var(--edco-marquee-h) - var(--logged-in-h)
  );
  grid-template-rows: calc(
    100vh - var(--main-nav-h) - var(--edco-marquee-h) - var(--logged-in-h)
  );
}

.edco-main-menu a {
  display: flex;
  justify-content: center;
}

.edco-link-container {
  max-width: 70%;
  margin-top: 1.5em;
}

.edco-link-container span {
  background-color: #1d1d1d;
  padding: 0 0.3em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.edco-main-menu a:nth-child(4n + 1) {
  background-color: var(--arqdis-cyan);
}

.edco-main-menu a:nth-child(4n + 2) {
  background-color: var(--arqdis-blue);
}

.edco-main-menu a:nth-child(4n + 3) {
  background-color: var(--arqdis-magenta);
}

.edco-main-menu a:nth-child(4n + 4) {
  background-color: black;
}

.edco-nav-marquee {
  background-color: #1d1d1d;
  height: var(--edco-marquee-h);
}

.edco-main-menu {
  background-color: #1d1d1d;
}
/*- HOVERS -*/
.edco-main-menu a {
  opacity: 1;
  transition: opacity 0.3s;
}

.edco-link-container {
  transition: margin-top 0.3s;
}

.edco-main-menu:hover a:not(:hover) {
  opacity: 0.3;
}

.edco-main-menu:hover a:hover .edco-link-container {
  margin-top: 1.2em;
}

/*- INTERNAL EDCO ARCHIVES -*/

.post-related-list-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-column-gap: 30px;
}

.post-related-list-nav a {
  display: block;
  padding: 1.5em 0.5em;
  border-top: 2px solid black;
}

.post-related-list-nav a:nth-last-child(1),
.post-related-list-nav a:nth-last-child(2),
.post-related-list-nav a:nth-last-child(3) {
  border-bottom: 2px solid black;
}

.post-related-list-nav
  a:not(:nth-child(1)):not(:nth-child(2)):not(:nth-child(3)) {
  margin-top: -2px;
}

.post-related-list-nav a span {
  display: block;
  transition: transform 0.3s;
  transform: translateX(0);
}

.post-related-list-nav a:hover span {
  transform: translateX(0.3em);
}

.edco-contact-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-column-gap: 30px;
  margin-top: max(4rem, min(7vw, 8rem));
  padding-top: max(4rem, min(7vw, 8rem));
  padding-bottom: max(4rem, min(7vw, 8rem));
}

.edco-contact-container:not(.form-over-black-bg) {
  margin-top: 0;
}

.highlighted-edco-subtitle {
  max-width: 8em;
  margin-bottom: 0.5em;
}

.highlighted-edco-subtitle span {
  background-color: black;
  color: white;
  padding: 0 0.2em;
  box-decoration-break: clone;
}

.form-over-black-bg.form-cyan-accents .highlighted-edco-subtitle span {
  background-color: cyan;
  color: black;
}

.edco-contact-container p {
  margin-bottom: 1.3em;
}

.edco-contact-container.simple-form-container .wpcf7-form {
  margin: 0;
}

.edco-category-grid > .grid-container {
  margin-top: calc(var(--grid-gutter-sz) * 0.8);
  margin-bottom: calc(var(--grid-gutter-sz) * 0.8);
}

.edco-nav-marquee.cyan-marquee {
  background-color: var(--arqdis-cyan);
  color: black;
}

.edco-heading-area {
  position: relative;
}

.edco-heading-bg {
  position: absolute;
  right: calc(50% + 30px);
  top: 0;
  z-index: -1;
  width: 60%;
  height: 100%;
  object-fit: cover;
}

.edco-category-heading {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  display: grid;
  grid-column-gap: 30px;
  padding: 35px 0;
}

.edco-category-title {
  padding-right: 30px;
}

.edco-category-title * {
  background: black;
  color: white;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 0 0.2em;
}

.edco-category-text {
  max-width: 700px;
}

.edco-category-text p {
  margin-bottom: 1.4em;
}

/* ----- INTERNAL EDCO PREVIEW -----*/
.edco-curso-cerrado a {
  pointer-events: none;
}

.edco-curso-cerrado .grid-post-thumbnail.blue-on-hover img {
  filter: grayscale(100%) contrast(0.2) brightness(1.7);
}

.edco-item.edco-curso-cerrado .grid-post-link[href]::after {
  background-image: url("assets/no-disponible-temporalmente.svg");
}

/* ----- CLASIFICADO PREVIEW -----*/

.edco-item .grid-title {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
  transition: color 0.3s;
}
.edco-item .edco-grid-subtitle {
  margin-top: 0.5em;
  display: block;
}

.edco-item .edco-grid-subtitle.cierre-proximo {
  width: fit-content;
  color: white;
  background-color: var(--arqdis-magenta);
  padding: 0.1em 0.2em;
}

.edco-item .edco-grid-subtitle.cierre-proximo time {
  animation: twinkle;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

.edco-item .edco-grid-type {
  margin-top: 0;
}

.edco-item .beca-wrapper {
  margin: -2% 0;
  padding: 4%;
}

/* ---------------------- SINGLES ---------------------- */
main {
  margin-top: max(1rem, min(3vw, 5rem));
  /*margin-top: clamp(1rem, 3vw, 5rem);*/
  padding-bottom: 3rem;
  /* For footer */
  min-height: 61vh;
  /*transition: 0.3s;*/
}

.clip-the-x {
  overflow-x: hidden; /*Cambiar hidden por clip cuando haya mejor soporte*/
  padding-top: 6px;
}

.post-metadata,
.topics,
.post-related-people {
  margin-top: 0.4em;
  margin-bottom: 0.4em;
}

.topics {
  margin-top: 0.8em;
}

h5.post-subtitle {
  margin: 0;
}

h2.main-subtitle {
  margin-bottom: 0.5em;
  margin-top: 0.2em;
  max-width: 850px;
}

.post-body {
  margin-top: 1rem;
  margin-bottom: 1.5rem;
  max-width: 850px;
}

.post-body p:not(:first-child) {
  margin-top: 1.2rem;
}

.post-body p:not(:last-child) {
  margin-bottom: 1.2rem;
}

.post-body sup {
  vertical-align: super;
  font-size: 0.8em;
}

.post-body ul {
  margin-bottom: 2rem;
}

.post-body ul:not(:first-child) {
  margin-top: 2rem;
}

.post-metadata.metadata-list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 2rem;
}

.post-metadata:not(.metadata-list) span:not(:last-child):after {
  content: "| ";
}

.post-metadata.metadata-list
  span:not(:only-child):not(.no-separator):not(:last-child):after {
  content: "|";
  margin-right: 1rem;
}

.post-metadata.metadata-list span.no-separator {
  margin-right: 0.6em;
}

.post-related-people > span:not(:last-child):after,
.related-people-subcurso > span:not(:last-child):after {
  content: ", ";
  white-space: pre;
}

/* .post-related-people span span{
  display: inline-block;
} */

.post-body a:not(.not-default-link):not(.wp-block-button__link),
.post-related-people a,
a.form-link[href],
.wp-block-arqdis-plugin-author a[href],
.wp-block-arqdis-plugin-host a[href],
a[href].bold-on-hover,
a[href].bold-on-hover-body,
button.bold-on-hover,
button.bold-on-hover-body {
  /* display: inline-flex;
  flex-direction: column;
  align-items: center; */
  transition: 0.3s;

  -webkit-text-stroke-width: 0.05ex;
  -webkit-text-stroke-color: transparent;
}

.post-body a:not(.not-default-link):not(.wp-block-button__link)[href]:hover,
.post-related-people a[href]:hover,
a.form-link[href]:hover,
.wp-block-arqdis-plugin-author a[href]:hover,
.wp-block-arqdis-plugin-host a[href]:hover,
a[href].bold-on-hover:hover,
a[href].bold-on-hover-body:hover,
button.bold-on-hover:hover,
button.bold-on-hover-body:hover {
  -webkit-text-stroke-color: currentColor;
}

/* .post-body a:not(.not-default-link):not(.wp-block-button__link)[href]:after, 
.post-related-people a[href]:after, 
a.form-link[href]:after,
.wp-block-arqdis-plugin-author a:after,
a[href].bold-on-hover:after,
a[href].bold-on-hover-body:after,
button.bold-on-hover:after,
button.bold-on-hover-body:after {
  content: attr(text-content);
  font-weight: var(--bold-hover-weight);
  height: 0;
  visibility: hidden;
  overflow: hidden;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  pointer-events: none;
} */

.topics a,
.topics span,
.tag-archive-title,
.topics-filter button.topic-button-filter {
  display: inline-block;
  background-color: var(--arqdis-blue);
  color: white;
  padding: 0.48em;
  transition: 0.2s;
  text-decoration: none;
}

.topics a,
.topics span,
.tag-archive-title,
.topics-filter button.topic-button-filter,
.filter-tax-divider {
  margin: 0 0.6em 0.6em 0;
}

.tag-archive-title {
  padding: 0.3em;
}

.topics a:hover,
.topics a:focus {
  background-color: magenta;
}

.cover-container {
  width: 100%;
  max-width: 510px;
  /* Solía ser absolute. Podría pasar a sticky ↓ */
  position: relative;
  left: 0;
  padding: inherit;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.cover-container img:only-child,
.cover-container img:not(.over-content-slider-handle):last-child {
  margin-bottom: 1rem;
}
/* Remove margin when image is inside thumbnail wrapper */
.course-thumbnail-wrapper img {
  margin-bottom: 0 !important;
}

.cover-container img {
  width: 100%;
  height: auto;
}

.cover-container .placeholder-image,
.grid-archive-item .placeholder-image {
  width: 100%;
  padding-top: 100%;
  background-image:url(assets/placeholder-cover.svg);
  background-size: contain;
  background-repeat: no-repeat;
  /* margin-bottom: 0.6rem; */
}

.persona-item .grid-post-thumbnail.persona-thumbnail .placeholder-image {
  height: 100%;
  padding-top: 0;
}

.cover-container .placeholder-image.course-placeholder,
.grid-archive-item .placeholder-image.course-placeholder {
  padding-top: 133.3333333%;
  background-image: url(assets/placeholder-course.png);
}

.cover-container .placeholder-whitespace {
  width: 100%;
  padding-top: 120%;
  margin-bottom: 0.6rem;
}

/* Episode platforms box */
.episode-platforms-box {
  background-color: white;
  padding: 1.5rem;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.25);
}

.episode-platforms-box h3 {
  font-family: "Roboto Mono", monospace;
  font-weight: 700;
  font-size: var(--fz-16pt);
  letter-spacing: 0.05em;
  margin: 0 0 1rem 0;
  text-transform: uppercase;
}

.episode-platforms-box a {
  color: #000;
  display: block;
  font-family: "Roboto Mono";
  font-size: 16.3px;
  font-style: normal;
  font-weight: 700;
  line-height: 200%; /* 32.6px */
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

.episode-platforms-box a::after {
  content: "";
  background-image: url("assets/thick-arrow-ne.svg");
  background-repeat: no-repeat;
  width: 1em;
  height: 0.85em;
  display: inline-block;
  background-position: center center;
  vertical-align: bottom;
  margin-left: 0.1em;
  margin-bottom: 0.35em;
}

.episode-platforms-box a:hover {
  color: blue;
}

nav.post-buttons,
div.secondary-post-buttons {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 1.2rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
  position: relative;
}

nav.post-buttons.contains-secondary-buttons {
  overflow: hidden;
}

div.secondary-post-buttons {
  margin-top: 0;
  position: absolute;
  width: 100%;
  left: calc(100% + 0.6rem);
  transition: left 0.3s;
}

button.post-button {
  --secondary-button-count: 0;
  position: relative;
  transition:
    right 0.3s,
    margin-bottom 0.3s;
  right: 0;
  margin-bottom: 0;
}

button.post-button.showing-secondary-buttons {
  right: calc(100% + 0.6rem);
  margin-bottom: calc(
    (var(--secondary-button-count) - 1) * (2em + 1.2em + 1.2rem)
  ); /*padding top y bottom + line-height + grid-gap */
}

button.post-button.showing-secondary-buttons + div.secondary-post-buttons {
  left: 0;
}

@media screen and (min-width: 992px) and (max-width: 1230px),
  screen and (min-width: 768px) and (max-width: 972px) {
  .secondary-post-buttons .optional-text {
    display: none;
  }
}

.layout-main-top nav.post-buttons {
  display: none;
}

.post-buttons a,
.post-buttons button,
a.wp-block-button__link {
  background: black;
  text-align: center;
  padding: 1em;
  transition: 0.3s;
  border: 0;
}

.post-buttons button {
  cursor: pointer;
}

.post-buttons a:hover,
.post-buttons button:hover,
a.wp-block-button__link:hover {
  background: var(--arqdis-blue);
}

.post-buttons span.contains-optional-text {
  overflow-y: hidden;
  max-height: 1em;
  display: inline-block;
}

.post-buttons span.optional-text {
  white-space: nowrap;
}

/* -- SINGLES ESPACIOS -- */
.single-espacios main {
  margin-top: 0;
  position: relative;
  /* overflow-x: hidden; */
  overflow: hidden;
}

div.top-margin-espacios {
  height: max(1rem, min(3vw, 5rem));
  /*height: clamp(1rem, 3vw, 5rem);*/
}

div.draggable-bounds {
  height: 100%;
  width: 300%;
  position: absolute;
  left: -100%;
  top: 0;
}

#espacios-main-info p,
#espacios-main-info span,
#espacios-main-info a,
#espacios-main-info h1 {
  position: relative;
  z-index: 2;
}

#espacios-main-info h1 {
  pointer-events: none;
}

.tecnico .nombre:before {
  content: "Técnico: ";
}

.tecnico.coordinador .nombre:before {
  content: "Coordinador: ";
}

.tecnico .extension:before {
  content: "ext: ";
}

.tecnico .extension {
  white-space: nowrap;
}

a.facility-link {
  display: inline-grid;
  grid-template-columns: 2em auto;
  align-items: center;
  text-decoration: none;
  grid-column-gap: 0.5em;
  transition: 0.3s;
}

a.facility-link:first-child:not(:last-child) {
  margin-right: 1em;
}

a.facility-link:nth-child(2) {
  margin-top: 0.5em;
}

a.facility-link img {
  height: 2em;
  filter: brightness(0);
  transition: inherit;
}

a.facility-link:hover,
a.facility-link:focus {
  color: var(--arqdis-blue);
}

a.facility-link:hover img,
a.facility-link:focus img {
  filter: brightness(1);
}

#espacios-main-info {
  padding-bottom: 2rem;
}

#facility-image-container {
  --longest-side: 28vmax;
  position: relative;
  height: calc(var(--longest-side) * 2);
  z-index: 1;
}

#facility-image-container > div {
  height: 100%;
  width: 100%;
  position: relative;
}

.facility-image {
  position: absolute;
  left: 45%;
  transition: opacity 0.3s;
}

.facility-image.loading-image {
  opacity: 0;
  /*poner transition: 2s si se quiere la animación inicial de moviemiento de las fotos*/
}

.facility-image:not(.loading-image) {
  opacity: 1;
}

.facility-image:hover {
  cursor: grab;
}

.facility-image.ui-draggable-dragging {
  cursor: grabbing;
}

.facility-image.landscape-img {
  width: var(--longest-side);
  max-width: 800px;
  height: auto;
}

.facility-image.portrait-img {
  height: var(--longest-side);
  max-height: 800px;
  width: auto;
}

.facility-image img {
  object-fit: cover;
}

.facility-image.landscape-img img {
  width: 100%;
}

.facility-image.portrait-img img {
  height: 100%;
}

#facility-slider-container .gallery-nav {
  display: none;
}

/* -- SINGLE EXPERIENCIA -- */
#experience-video-container {
  position: relative;
  margin: 3rem 0;
  width: 100%;
  max-width: calc(
    90vh * 1.78
  ); /* define max-h = 90vh gracias al aspecto 16-9 */
}

.experience-subtitle {
  margin-bottom: 1.5rem;
  margin-top: 2rem;
}

.experience-subtitle *:first-child:not(:last-child) {
  margin-bottom: 0.5rem;
}

.experience-author {
  text-align: right;
}

.experience-images-container {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.experience-images-container img {
  max-width: 100%;
  height: auto;
  max-height: 90vh;
  object-fit: contain;
}

.experience-image {
  margin: 30px 0;
}

.experience-image:first-child {
  margin-top: 0;
}

.layout-main-top .experience-image:first-child {
  margin-top: 50px;
}

/* -- SINGLE EVENTO -- */
.single-eventos .single-container {
  max-width: var(--large-content-w);
}

time.fecha-evento {
  display: flex;
  min-height: 100%;
  align-items: start;
  justify-content: start;
  padding-top: 0.8rem;
}

time.fecha-evento div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

time.fecha-evento span {
  color: #b3b3b3;
  padding-bottom: 5px;
}

time.fecha-evento.fecha-futura span {
  color: black;
}

time.fecha-evento.fecha-futura span.evento-fecha-zona {
  color: #b3b3b3;
}

time.fecha-evento.fecha-futura span.evento-fecha-mes {
  color: magenta;
}

time.fecha-evento.evento-en-curso .evento-fecha-hora {
  animation: twinkle;
  animation-duration: 3s;
  animation-iteration-count: 20;
  /* titilar por 1 minuto */
  animation-timing-function: ease-in-out;
}

.evento-fecha-ano + .evento-fecha-hora {
  margin-top: 0.4em;
}

.evento-fecha-inicio .evento-fecha-dia:only-child {
  padding-bottom: 0;
}

.evento-fecha-inicio .evento-fecha-dia::after,
.evento-fecha-fin .evento-fecha-dia::before {
  content: "―";
  color: #b3b3b3;
}

.evento-fecha-inicio .evento-fecha-mes,
.evento-fecha-fin .evento-fecha-mes {
  padding-bottom: 0;
}

.evento-fecha-inicio .evento-fecha-mes {
  align-self: flex-start;
}

.evento-fecha-fin .evento-fecha-mes {
  align-self: flex-end;
}

div.evento-video:nth-child(2),
#event-slider-container:nth-child(2) {
  margin-top: 4rem;
}

div.parent-event-video {
  margin-bottom: 3rem;
}

div.evento-video,
#event-slider-container {
  margin-top: 3rem;
}

#event-slider-container > div {
  margin-left: auto;
  margin-right: auto;
}

.event-intitle,
.post-intitle {
  margin-top: 2em;
  margin-bottom: 1.2em;
}

.publication-index-title:not(:first-of-type) {
  margin-top: 3em;
}

@keyframes twinkle {
  0%,
  100%,
  25%,
  75% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}

.child-event-list li {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-column-gap: 2rem;
}

.child-event-list li,
.post-child-list li {
  padding: 2rem 2rem;
  border-top: 1px solid black;
}

.child-event-list li:last-of-type,
.post-child-list li:last-of-type {
  border-bottom: 1px solid black;
}

.child-event-time {
  white-space: nowrap;
  margin: 0 1em;
}

.child-event-data {
  display: flex;
  flex-direction: column;
  max-width: 95%;
}

.child-event-data > * {
  max-width: max-content;
}

.child-event-prefix {
  color: var(--arqdis-magenta);
}

.child-event-addtocal {
  display: flex;
  align-items: center;
  margin-top: 0.8em;
}

.child-event-addtocal:before {
  content: "";
  display: block;
  width: 1.3em;
  height: 1.3em;
  background-image: url("assets/add-to-calendar.svg");
  margin-right: 0.5em;
  transition: 0.5s;
}

.child-event-addtocal:hover:before {
  transform: rotate(180deg);
}

li.past-event .child-event-time {
  color: #b3b3b3;
}

.event-agenda-button {
  background: black;
  padding: 1em;
  display: block;
  text-align: center;
  max-width: max-content;
  margin-left: auto;
  margin-top: 1.5em;
  transition: 0.3s;
}

.event-agenda-button:hover {
  background: var(--arqdis-blue);
}

div.logos-instituciones.logos-evento {
  margin-top: 2rem;
}

.child-event-desc {
  margin-top: 0.6em;
}

.child-event-video-button {
  display: inline-block;
  padding: 0.2em 0.5em;
  background: black;
  margin-top: 1em;
  transition: background 0.3s;
}

.child-event-video-button:hover {
  background: var(--arqdis-blue);
}

.child-event-list li.event-itinerary-date {
  border-top: none;
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  grid-column-gap: 1em;
}

.event-itinerary-date::after {
  content: "";
  height: 1px;
  background: black;
}

.event-itinerary-date:first-child {
  padding-top: 0;
}

.event-itinerary-date:not(:first-child) {
  margin-top: 1rem;
}

.event-itinerary-date ~ li {
  border-top: 0;
}

.event-itinerary-date + li,
.event-itinerary-date
  ~ li:not(.event-itinerary-date + li):not(.event-itinerary-date) {
  padding-top: 0;
}

.event-itinerary-date ~ li:not(.event-itinerary-date + li) .child-event-data {
  border-top: 1px solid black;
}

.event-itinerary-date ~ li:not(.event-itinerary-date + li) > * {
  padding-top: 2rem;
}

.event-itinerary-date ~ li:last-of-type {
  padding-bottom: 4rem;
}

/* -- SINGLE CURSOS -- */
.metadatos-subcurso span:not(:last-child):after {
  content: " | ";
}

.post-body p.metadatos-subcurso {
  margin-top: 0.4em;
  margin-bottom: 0.8em;
}

.post-body p.related-people-subcurso {
  margin-top: 0;
}

.subcurso .post-intitle {
  margin-bottom: 0;
}

.horario-subcurso {
  margin: 0.8em 0 1.25em;
  display: flex;
  flex-direction: column;
  align-content: center;
  align-items: center;
}

.subcourse-weekdays {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 0.65em;
  width: fit-content;
  max-width: 100%;
  margin-bottom: 0.9em;
}

.subcourse-weekday {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  min-height: 2rem;
  background: rgba(0, 0, 0, 0.11);
  color: rgba(255, 255, 255, 0.9);
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.subcourse-weekday.is-active {
  background: var(--arqdis-blue);
  color: white;
}

.tabla-horario {
  width: 100%;
  align-self: stretch;
  border-collapse: collapse;
}

.tabla-horario th,
.tabla-horario td {
  text-align: left;
  padding: 0.48em 0.7em;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.tabla-horario th {
  font-family: "Roboto Mono", monospace;
  font-size: 0.95em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  border-bottom: 2px solid black;
}

.tabla-horario td {
  font-size: 1.05em;
  line-height: 1.35;
}

.tabla-horario td:nth-child(1),
.tabla-horario td:nth-child(2) {
  font-family: "Work Sans", sans-serif;
}

.tabla-horario tbody tr:last-child td {
  border-bottom: none;
}

.modalidad-badge {
  display: inline-block;
  font-family: "Roboto Mono", monospace;
  font-size: 0.73em;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 0.24em 0.58em;
  border: 1px solid rgba(0, 0, 0, 0.25);
}

.modalidad-presencial,
.modalidad-virtual {
  background-color: transparent;
  color: inherit;
}

.horario-franja {
  display: block;
}

.horario-fechas {
  display: block;
  font-family: "Roboto Mono", monospace;
  font-size: 0.78em;
  opacity: 0.7;
  margin-top: 0.15em;
}

.subcourse-annotation {
  margin: 0.7em 0 1em;
  font-size: 0.85em;
  line-height: 1.4;
  opacity: 0.75;
}

@media screen and (max-width: 575px) {
  .subcourse-weekdays {
    gap: 0.28em;
    margin-bottom: 0.65em;
  }

  .tabla-horario th,
  .tabla-horario td {
    padding: 0.36em 0.32em;
  }

  .tabla-horario th {
    font-size: 0.8em;
  }

  .tabla-horario td {
    font-size: 1em;
  }
}

.no-wrap-inside {
  white-space: nowrap;
}

.type-icon-abbr {
  fill: white;
  font-family: "Roboto Mono", monospace;
  font-size: 19px;
  font-weight: 700;
  animation-name: notextfix;
  text-transform: initial;
  animation-iteration-count: 1;
  animation-duration: 0.1s;
  animation-fill-mode: forwards;
  animation-delay: 0.3s;
}

/* En Chrome, al cargar las miniaturas de los cursos por ajax
cuando se carga la siguiente página del archivo de cursos, no se
renderiza el nombre del tipo de curso por un bug de chrome que no
ha sido reportado (https://stackoverflow.com/questions/41059999/text-tag-in-svg-not-rendering-correctly-in-chrome) 
entonces agregamos este fix que, por ser una animación, obliga a Chrome
a actualizar el paint de ese texto y que por lo tanto sí aparezca*/
@keyframes notextfix {
  0% {
    fill: rgba(255, 255, 255, 0.99);
  }
  100% {
    fill: white;
  }
}

.cover-container .course-types-icons {
  position: absolute;
  top: 15px;
  right: 15px;
  display: flex;
  width: 20%;
  flex-direction: column;
  gap: 15px;
}

.unavailable-course .cover-container .course-types-icons {
  display: none;
}

.unavailable-course .cover-container img {
  filter: grayscale(100%) contrast(0.2) brightness(1.7);
}

.informacion-extra-single {
  padding-top: 2.5em;
  margin-bottom: 1.5em;
  position: relative;
}

.layout-main-top > .informacion-extra-single:first-child {
  padding-top: 1em;
}

.informacion-extra-single:first-child .underline {
  text-decoration: underline;
}

.informacion-extra-single a[href] {
  color: gray;
  text-transform: unset;
}

.informacion-extra-single::before {
  content: "";
  background-image: url("assets/info-icon.svg");
  width: 1.2em;
  height: 1.2em;
  display: block;
  float: left;
  position: relative;
  left: 0;
  top: 0.3em;
  margin-right: 0.4em;
}

.layout-main-top > .informacion-extra-single:first-child::before {
  animation-name: attention;
  animation-duration: 1s;
  animation-iteration-count: 5;
  animation-delay: 1s;
}

@keyframes attention {
  0%,
  100% {
    scale: 1;
  }
  50% {
    scale: 1.4;
  }
}

/* -- SINGLES INVESTIGACIONES -- */
div.logos-instituciones {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  filter: saturate(0);
}

div.logos-instituciones img {
  max-height: 65px;
  max-width: 100%;
  width: auto;
  height: auto;
  padding-right: 30px;
  padding-bottom: 15px;
  box-sizing: content-box;
}

div.logos-instituciones span {
  display: block;
  margin: 0 1em 0.5em 0;
}

li.list-divider {
  margin-bottom: 0.5em;
}

.research-team-list em {
  color: gray;
}

/* -- CROQUIS INVESTIGACIONES -- */
div.research-thumb-container {
  position: relative;
}

.research-thumb-container.blue-cover-filter::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--arqdis-blue);
  mix-blend-mode: screen;
}

.research-thumb-container.blue-cover-filter img {
  filter: grayscale(1) brightness(0.8);
  display: block;
  position: relative;
  z-index: -1;
}

div#croquis-colombia {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

div#croquis-colombia svg {
  width: inherit;
  max-width: 80%;
  max-height: 80%;
}

.croquis-path {
  fill: none;
  stroke: white;
  stroke-width: 2;
  stroke-miterlimit: 10;
}

.placeholder-whitespace + #croquis-colombia .croquis-path {
  stroke: var(--arqdis-blue);
}

.department-group {
  display: none;
}

.department-group.active-department {
  display: initial;
}

.croquis-text {
  font-family: "Roboto Mono", monospace;
  font-weight: 700;
  font-size: 15px;
  text-transform: uppercase;
  fill: white;
}

.pointer-circle {
  fill: white;
  stroke: none;
  opacity: 0;
}

.placeholder-whitespace + #croquis-colombia .croquis-text,
.placeholder-whitespace + #croquis-colombia .pointer-circle {
  fill: var(--arqdis-blue);
}

.active-department .pointer-circle {
  animation: gps-pointer-appear;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

@keyframes gps-pointer-appear {
  0%,
  100% {
    opacity: 0;
  }
  25%,
  75% {
    opacity: 1;
  }
}

/* -- SINGLE SEMILLERO y CLASIFICADO -- */
.post-body p.datos-semillero {
  margin: 2em 0;
}

.datos-semillero span {
  display: block;
}

.datos-semillero span:not(:first-child) {
  margin-top: 1.2rem;
}

/* -- SINGLE CLASIFICADO -- */
.datos-clasificado > * {
  display: block;
}

.datos-clasificado > :not(:first-child) {
  margin-top: 1.2rem;
}

/* .closed-classified time{
  text-transform: uppercase;
} */

.closed-classified h1,
.closed-classified h5,
.closed-classified span,
.closed-classified p,
.closed-classified .post-body a,
.closed-classified time,
.closed-classified .classified-label,
.closed-classified li,
.closed-classified .post-body p:nth-child(2):before,
.closed-classified .post-intitle,
.closed-classified .classified-related-links a {
  color: #aaa;
}

.closed-classified .post-body a[href] {
  color: gray !important;
}

.closed-classified .classified-related-links li a::before {
  opacity: 0.3;
}

span.aviso-clasificado {
  text-transform: uppercase;
}

span.aviso-clasificado,
time.is-upcoming {
  color: magenta;
}

.post-body.clasificado-body ol,
.post-body.clasificado-body ul {
  padding-left: 2em;
  margin: 0 0 1.2em 0;
}

.clasificado-body ol {
  list-style: decimal;
}

.clasificado-body ul {
  list-style: square;
}

.single-clasificados .layout-heading h1.section-title:last-child {
  margin-bottom: 1rem;
}

.concurso-side-info .post-intitle:first-of-type {
  margin-top: 0.1em;
}

.concurso-side-info .post-intitle {
  margin-bottom: 0.8em;
}

.classified-banner-container img {
  max-width: 100%;
  height: auto;
  object-fit: cover;
  max-height: 20vh;
}

.classified-banner-container {
  margin-bottom: max(1rem, min(3vw, 5rem));
}

.classified-banner-container.grayed-out-banner {
  filter: grayscale(1);
}

.classified-timeframe-item {
  display: flex;
  flex-direction: column;
}

.classified-timeframe-item.past-activity time,
.classified-timeframe-item.past-activity span {
  color: #b3b3b3;
}

.classified-timeframe-item {
  margin-bottom: 1em;
}

.classified-related-links li {
  margin-bottom: 0.5em;

  transform: translateX(0px);
  transition: transform 0.3s;
}

.classified-related-links li:hover {
  transform: translateX(5px);
}

.classified-related-links li a::after {
  color: #b3b3b3;
  font-size: 0.8em;
  font-weight: 450;
}

.classified-related-links li a[href*=".zip"]::after {
  content: ".zip";
}

.classified-related-links li a[href*=".pdf"]::after {
  content: ".pdf";
}

.classified-related-links li a[href*=".docx"]::after {
  content: ".docx";
}

.classified-related-links li a[href*=".xlsx"]::after {
  content: ".xlsx";
}

.classified-related-links li a[href*=".txt"]::after {
  content: ".txt";
}

.classified-related-links li a[href*=".rtf"]::after {
  content: ".rtf";
}

.classified-related-links li a::before {
  content: "";
  background-image: url("assets/thick-arrow-ne.svg");
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: middle;
  margin-right: 0.5em;
}

.classified-related-links li a[href*=".zip"]::before,
.classified-related-links li a[href*=".pdf"]::before,
.classified-related-links li a[href*=".docx"]::before,
.classified-related-links li a[href*=".xlsx"]::before,
.classified-related-links li a[href*=".txt"]::before,
.classified-related-links li a[href*=".rtf"]::before {
  background-image: url("assets/thick-arrow-download.svg");
}

/* -- SINGLES EXPOSICIONES -- */
.single-exposiciones main {
  margin-top: calc(-1 * var(--main-nav-h));
  --top-offset: var(--main-nav-h);
}

.layout-container-expo .layout-heading {
  margin-top: var(--top-offset);
  padding-top: max(1rem, min(3vw, 5rem));
}

.expo-content {
  border-left: 2px solid black;
  border-bottom: 2px solid black;
  width: 100%;
  max-height: calc(100vh + 2px);
  overflow-y: auto;
  overflow-x: hidden;

  position: -webkit-sticky;
  position: sticky;
  top: 0;

  scrollbar-width: none;
  --expo-nav-h: 60px;
}

.logged-in .expo-content {
  /* 100vh descontando la barra de wp*/
  max-height: calc(100vh + 2px - var(--logged-in-h));
  top: var(--logged-in-h);
}

.expo-content::-webkit-scrollbar {
  display: none;
}

.expo-content,
.expo-content figcaption {
  padding: 0 15px;
}

.expo-content figure {
  margin: 3rem -14px;

  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.expo-content figure figcaption {
  width: 100%;
}

.expo-content figure:not(:nth-last-child(2)) figcaption {
  margin-bottom: 0;
}

.expo-content figure:first-child {
  margin-top: 0;
}

.expo-content figure:nth-last-child(2) {
  margin-bottom: 0;
}

img.expo-photo {
  display: block;
  height: auto;
  width: auto;
  max-width: 100%;
  max-height: 80vh;
}

.expo-content figure a {
  display: block;
}

nav.expo-navigation {
  height: var(--expo-nav-h);
  margin: 0 -15px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;

  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
}

nav.expo-navigation div {
  height: 100%;
  display: flex;
}

nav.expo-navigation button {
  margin: 0;
  padding: 0;
  border: 2px solid black;
  border-bottom: none;
  background: white;

  display: block;
  height: 100%;
  cursor: pointer;
}

nav.expo-navigation button:hover:not(:disabled) {
  background: var(--arqdis-blue);
}

nav.expo-navigation button:hover:not(:disabled) * {
  filter: invert(1);
}

nav.expo-navigation button:disabled {
  background: rgb(228, 228, 228);
  opacity: 50%;
}

nav.expo-navigation button:disabled img {
  opacity: 50%;
}

nav.expo-navigation button:disabled:hover {
  cursor: not-allowed;
}

button.expo-prev img,
button.expo-next img {
  display: block;
  height: 100%;
  width: auto;
}

nav.expo-navigation button.expo-index {
  display: flex;
  align-items: center;
  border-left: none;
  padding: 0 calc(var(--expo-nav-h) / 2);
}

button.expo-index img {
  display: block;
  height: 0.7em;
  width: auto;
  margin-left: 0.5em;
}

nav.expo-navigation button.expo-prev {
  border-right: none;
}

.expo-thumbnail {
  display: none;
}

/* -- EXPO COMPLEJA -- */
.expo-content.complex-content ul.expo-section-list,
.expo-content.middle-content ul.expo-section-list {
  /* Indent */
  padding-left: 50px;
}

.expo-content.complex-content ul,
.expo-content.middle-content ul {
  /* Indent */
  padding-left: 25px;
  counter-reset: section;
}

.expo-content.complex-content ul.expo-image-list,
.expo-content.middle-content ul.expo-image-list {
  margin-top: 3rem;
  padding-left: 0;
}

ul.expo-image-list figure {
  margin-left: 0;
}

.expo-section-title {
  margin-top: 2em;
}

li.expo-project-title {
  margin-top: 4em;
}

li.expo-project-title:first-child {
  margin-top: 2.5em;
}

li.expo-section-title::before {
  counter-increment: section;
  content: counter(section, decimal-leading-zero) "_";
}

li.expo-project-title::before {
  counter-increment: section;
  content: counters(section, ".") "_";
}

.show-more-button {
  background: none;
  border: none;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.post-body.hidden-project-desc {
  margin-top: 0.5rem;
}

.hidden-project-desc > p {
  display: none;
}

.expo-index-title {
  display: none;
}

nav.expo-index {
  display: grid;
  min-height: calc(2px + 100vh);
  grid-template-columns: 1fr;
  grid-auto-rows: 1fr;
  grid-auto-flow: row;

  position: relative;
  z-index: 2;
  margin: 0 -15px;

  background: white;

  counter-reset: section-button;
}

button.expo-section-shortcut {
  background: none;
  margin: 0;
  position: relative;
  padding: 10px 3em;
  border: none;
  border-top: 2px solid black;
  text-align: left;
  counter-increment: section;

  transition:
    color 0.2s,
    background 0.2s;
}

button.expo-section-shortcut:first-child {
  border-top: none;
}

button.expo-section-shortcut:last-child {
  border-bottom: 2px solid black;
}

button.expo-section-shortcut::before {
  content: counter(section, decimal-leading-zero) "_";
  font-size: 0.5em;
  position: absolute;
  display: flex;
  left: 3.8em;
  line-height: 3em;
}

button.expo-section-shortcut:hover {
  color: white;
  background: var(--arqdis-blue);
  cursor: pointer;
}

.figure-anchor iframe {
  max-width: 100%;
}

/* -- SINGLE CONTENIDO GRATIS -- */
img.img80-percent-of-cover {
  width: 80%;
}

.cover-container.center-cover {
  text-align: center;
}

.related-pub-title {
  display: none;
}

.related-pub-text {
  margin-top: 15px;
  text-align: left;
}

.related-pub-text span {
  display: block;
}

.related-pub-links {
  display: grid;
  grid-template-columns: repeat(3, auto);
  grid-column-gap: 10px;
  justify-items: center;
  align-items: center;
  margin-top: 20px;
  margin-bottom: 30px;
}

.related-pub-links a,
.related-pub-links button {
  display: block;
  background: black;
  width: 100%;
  transition: background 0.3s;
  padding: 0.3em;
  border: none;
}

.related-pub-links button {
  cursor: pointer;
}

.related-pub-links a:hover,
.related-pub-links button:hover {
  background: var(--arqdis-blue);
}

/* ------- NOTAS + EDITOR DE BLOQUES ------- */

/* -- BANNER -- */
div.nota-banner-container,
div.episode-banner-container {
  position: relative;
  min-height: 70vh;
  margin-top: calc((var(--top-margin) * 2 + var(--logo-h)) * -1);
  display: flex;
  flex-direction: column; /* stack children vertically */
  justify-content: flex-end; /* stick content to bottom without reversing order */
  overflow: hidden;
}

div.banner-image-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
  filter: brightness(0.9);
}

.blue-cover {
  background: linear-gradient(
    0deg,
    rgb(0, 0, 255) 0%,
    rgb(0, 0, 255) 55%,
    rgb(255, 255, 255) 100%
  );
}
.red-cover {
  background: linear-gradient(
    0deg,
    var(--arqdis-red) 0%,
    var(--arqdis-red) 55%,
    rgb(255, 255, 255) 100%
  );
}
.banner-image-wrapper img {
  filter: grayscale(1);
  z-index: 0;
}

.banner-image-wrapper::before,
.banner-image-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.banner-image-wrapper::before {
  mix-blend-mode: screen;
  z-index: 1;
}

.banner-image-wrapper::after {
  background: linear-gradient(0deg, rgb(0, 0, 0) -20%, rgba(0, 0, 255, 0) 90%);
  z-index: 2;
}

.banner-image-wrapper.blue-cover::before {
  background-color: var(--arqdis-blue);
}

.banner-image-wrapper.red-cover::before {
  background-color: var(--arqdis-red);
}

.banner-image-wrapper.cyan-cover::before {
  background-color: var(--arqdis-cyan);
}

.banner-image-wrapper.magenta-cover::before {
  background-color: var(--arqdis-magenta);
}

div.banner-image-wrapper img {
  object-fit: cover;
  object-position: 50% 50%;
  height: 100%;
  width: 100%;
}

.top-banner-alignment div.banner-image-wrapper img {
  object-position: 50% 0%;
}

.center-banner-alignment div.banner-image-wrapper img {
  object-position: 50% 50%;
}

.bottom-banner-alignment div.banner-image-wrapper img {
  object-position: 50% 100%;
}

div.nota-banner-container .section-title,
div.episode-banner-container .section-title {
  max-width: var(--medium-content-w);
  width: 100%;
  margin: 2em auto;
  margin-bottom: 0.5em;
  align-self: auto; /* align with column flow (left) */
  padding-left: var(--min-side-margin) !important;
  padding-right: var(--min-side-margin) !important;
  color: white;
  white-space: normal; /* allow wrapping */
  overflow-wrap: anywhere; /* prevent overflow on long words */
  word-break: normal;
}

main.no-title .post-body,
main.no-title .wp-block-arqdis-plugin-subtitle,
main.no-title .topics {
  margin-top: 0;
}

main.no-title {
  margin-top: max(1rem, min(5vw, 5rem));
}

/* -- SUBTITLE -- */
.wp-block-arqdis-plugin-subtitle {
  margin: 0.8em 0;
}

/* -- DATE -- */
time.wp-block-arqdis-plugin-post-date {
  display: block;
  margin: 0.5em 0;
}

/* -- AUTHORS -- */
h6.wp-block-arqdis-plugin-author {
  margin: 0.5em 0;
  margin-bottom: 2em;
}

h6.wp-block-arqdis-plugin-author:before {
  content: "Por: ";
}

/* Change "Por:" to "Anfitrión:" for podcast episodes */
.single-podcast_episode h6.wp-block-arqdis-plugin-author:before,
.postid-podcast_episode h6.wp-block-arqdis-plugin-author:before,
body.post-type-podcast_episode h6.wp-block-arqdis-plugin-author:before {
  content: "Anfitrión: ";
}

/* -- HOSTS -- */
h6.wp-block-arqdis-plugin-host {
  margin: 0.5em 0;
  margin-bottom: 2em;
}

h6.wp-block-arqdis-plugin-host:before {
  content: "Anfitrión: ";
}

/* -- PARENT PODCAST -- */
p.wp-block-arqdis-plugin-parent-podcast {
  margin: 0.5em 0;
  margin-bottom: 2em;
  font-size: var(--fz-16pt);
  line-height: var(--fz-24pt);
  font-family: "Roboto Mono", monospace;
  font-weight: 700;
  color: blue;
  text-transform: uppercase;
}

/* -- HOST -- */
h6.wp-block-arqdis-plugin-host {
  margin: 0.5em 0;
  margin-bottom: 2em;
}

h6.wp-block-arqdis-plugin-host:before {
  content: "Anfitrión: ";
}

/* -- INNER TITLE -- */
h6.wp-block-arqdis-plugin-intitle {
  position: relative;
  color: white;
  padding: 0.08em;

  margin-top: 3em;
  margin-bottom: 1.5em;
}

h6.wp-block-arqdis-plugin-intitle div span {
  min-width: 100%;
  display: inline-block;
}

h6.wp-block-arqdis-plugin-intitle div span {
  position: relative;
  z-index: 2;
}

h6.wp-block-arqdis-plugin-intitle div span:not(:first-child) {
  margin-top: 8px;
}

h6.wp-block-arqdis-plugin-intitle div span:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100vw;
  height: 100%;
  background-color: var(--arqdis-blue);
  z-index: -1;
}

/* -- IMAGES -- */
figure.wp-block-image,
figure.wp-block-embed {
  margin: 3rem 0;
}

.info-page-content figure.wp-block-image,
.info-page-content figure.wp-block-embed {
  margin: 2rem 0;
}

figure.wp-block-image,
figure.wp-block-image img {
  max-width: 100%;
  height: auto;
}

figure.wp-block-image img,
figure.wp-block-embed div.wp-block-embed__wrapper {
  margin-bottom: 1rem;
}

figure.wp-block-image.is-style-float-left {
  --float-margin: 3%;
  --float-offset: max(
    0px,
    calc(
      (100vw - var(--medium-content-w)) / 2 + var(--min-side-margin) -
        var(--float-margin)
    )
  );
  float: left;
  max-width: 50%;
  --inverted-float-offset: calc(-1 * var(--float-offset));
  margin-left: max(var(--inverted-float-offset), -18%);
  margin-right: 2rem;
  margin-top: 0.5rem;
  margin-bottom: -5px;
}

figure.wp-block-image.is-style-float-left:first-child {
  margin-top: 1.7rem;
}

/* -- AUDIO -- */
figure.wp-block-audio {
  margin: 2.5em 0;
}

/* -- CAPTIONS -- */

[class*="wp-block"] figcaption,
span.text-caption,
figcaption.text-caption {
  display: grid;
  grid-template-columns: auto auto;
  grid-column-gap: 0.8em;
  justify-content: start;

  text-align: left;
  margin-top: 0;
  margin-bottom: 1em;
}

.wp-block-audio figcaption {
  margin-top: 0.5em;
}

[class*="wp-block"] figcaption:before,
span.text-caption:before,
figcaption.text-caption:before {
  content: "";
  width: 0;
  height: 0;
  border-left: 0.5em solid transparent;
  border-right: 0.5em solid transparent;
  border-bottom: 1em solid black;
  display: inline-block;
  position: relative;
  top: 0.1em;
}

span.text-caption,
figcaption.text-caption {
  margin-top: 0.8em;
}

/* -- BLOCKQUOTE -- */
div.wp-block-arqdis-plugin-quote {
  max-width: 100%;
}

blockquote.wp-block-arqdis-plugin-quote {
  margin: 2em 0;
  padding: 0.5em 0;
}

blockquote.wp-block-arqdis-plugin-quote.is-style-grid-quote,
blockquote.wp-block-arqdis-plugin-quote.is-style-dot-quote,
blockquote.wp-block-arqdis-plugin-quote.is-style-math-quote {
  position: relative;
  min-width: 140%;
  padding: 2em 0;
}

blockquote.wp-block-arqdis-plugin-quote.is-style-grid-quote:before,
blockquote.wp-block-arqdis-plugin-quote.is-style-dot-quote:before,
blockquote.wp-block-arqdis-plugin-quote.is-style-math-quote:before {
  content: "";
  display: block;
  margin-left: -50vw;
  height: 100%;
  width: 150vw;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}

blockquote.wp-block-arqdis-plugin-quote.is-style-grid-quote:before {
  background-image: url("assets/patron-grid.svg");
  background-size: 100px auto; /* adjust 180px as needed for your scale */
  background-repeat: repeat;
}

/* blockquote.wp-block-arqdis-plugin-quote.is-style-dot-quote:before{
   background-image: url("assets/patron-dots.svg");
  background-size: 180px auto; /* adjust 180px as needed for your scale 
  background-repeat: repeat;
} */
blockquote.wp-block-arqdis-plugin-quote.is-style-dot-quote:before {
  background-image: url("assets/patron-dots.svg");
  background-size: 180px auto; /* adjust 180px as needed for your scale */
  background-repeat: repeat;
}
blockquote.wp-block-arqdis-plugin-quote.is-style-math-quote:before {
  background-image: url("assets/patron-math.svg");
  background-size: 180px auto; /* adjust 180px as needed for your scale */
  background-repeat: repeat;
}

/* Podcast episode: use podcast-specific SVG backgrounds for quotes */
.single-podcast_episode
  blockquote.wp-block-arqdis-plugin-quote.is-style-grid-quote:before {
  background-image: url("assets/patron-grid-podcast.svg");
}
.single-podcast_episode
  blockquote.wp-block-arqdis-plugin-quote.is-style-dot-quote:before {
  background-image: url("assets/patron-dots-podcast.svg");
}
.single-podcast_episode
  blockquote.wp-block-arqdis-plugin-quote.is-style-math-quote:before {
  background-image: url("assets/patron-math-podcast.svg");
}

/* -- COLORES DE TEXTO -- */
.has-arqdis-blue-background-color {
  background-color: var(--arqdis-blue);
}

.has-arqdis-blue-color {
  color: var(--arqdis-blue);
}

/* -- PODCAST EPISODES COLOR OVERRIDES --
   On podcast episode pages, use the configurable red for quotes and inner titles. */
.single-podcast_episode blockquote.wp-block-arqdis-plugin-quote {
  color: var(--arqdis-red);
}

.single-podcast_episode h6.wp-block-arqdis-plugin-intitle div span:before {
  background-color: var(--arqdis-red);
}

.has-arqdis-magenta-background-color {
  background-color: magenta;
}

.has-arqdis-magenta-color {
  color: magenta;
}

.has-arqdis-cyan-background-color {
  background-color: cyan;
}

.has-arqdis-cyan-color {
  color: cyan;
}

.has-arqdis-black-background-color {
  background-color: black;
}

.has-arqdis-black-color {
  color: black;
}

.has-arqdis-white-background-color {
  background-color: white;
}

.has-arqdis-white-color {
  color: white;
}

.has-arqdis-grey-background-color {
  background-color: #9b9b9b;
}

.has-arqdis-grey-color {
  color: #9b9b9b;
}

/* -- IG EMBED -- */

iframe.instagram-media {
  margin: 3rem 0 !important;
}

/* -- BUTTONS -- */
a.wp-block-button__link {
  color: white;
  padding: 0.7em;
  border-radius: unset;
  cursor: pointer;
  display: inline-block;
  margin: 1.2em 0;
  text-align: left;
}

a.wp-block-button__link[target="_blank"] {
  cursor: alias;
}

/* -- EXTRAS -- */
.arqdis-has-small-indent {
  margin-left: 10px;
}

.arqdis-is-footnote {
  color: #9b9b9b;
  position: relative;
  font-size: 0.9em;
  line-height: 1em;
}

.arqdis-is-footnote sup {
  position: absolute;
  top: 0;
  right: 100%;
  margin-right: 0.3em;
}

.arqdis-is-footnote:not(.arqdis-is-footnote ~ .arqdis-is-footnote) {
  border-top: 1px solid black;
  padding-top: 20px;
  margin-top: 60px;
}

.arqdis-is-footnote:not(.arqdis-is-footnote ~ .arqdis-is-footnote) sup {
  top: 20px;
}

/* -------------- PODCASTS SINGLE ------------ */
/* Two-column wrapper only for podcast single */
.single-podcasts .podcast-two-column {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  grid-column-gap: 8%;
  align-items: start;
  margin-top: 1rem;
}

/* Make the podcast cover span the full aside width without inner padding */
.single-podcasts .podcast-two-column .cover-container {
  max-width: none;
  width: 100%;
  padding: 0; /* override padding: inherit from base */
  box-sizing: border-box;
}

.single-podcasts .podcast-two-column .cover-container img {
  display: block; /* remove inline-gap */
  width: 100%;
  height: auto;
}

/* Fallback: ensure any cover container on podcast single fills its parent */
.single-podcasts .cover-container {
  max-width: none;
  width: 100%;
  padding: 0;
}

.single-podcasts .cover-container img {
  width: 100%;
  height: auto;
  display: block;
}

.single-podcasts .podcast-left {
  display: flex;
  flex-direction: column;
}

/* Left aligned section title placed under description */
.single-podcasts .podcast-episodes-heading-left {
  margin-top: 2rem;
}

/* Center the episodes list that comes after the two-column */
.single-podcasts .podcast-episodes-list-container {
  grid-column: span 2;
  display: flex;
  justify-content: center;
}
.podcast-episode-link {
  display: flex;
  flex-direction: row;
  gap: 2rem;
}
.single-podcasts .podcast-episodes-list-container .podcast-episode-list {
  width: 100%;
  max-width: var(--grid-content-w);
}

/* Ensure episodes list spans the full width of the two-column layout */
.single-podcasts .layout-bottom-row.podcast-episodes-list-container {
  grid-column: span 3;
  width: 100%;
  max-width: var(--grid-content-w);
  margin: 0 auto;
}

.single-podcasts
  .layout-bottom-row.podcast-episodes-list-container
  .post-child-list {
  width: 100%;
}

.podcast-buttons {
  display: flex;
  flex-direction: column;
}

.podcast-info > * {
  display: block;
}

.podcast-episode-list {
  --episode-count: 0;
  counter-reset: episodio var(--episode-count);
}

.podcast-buttons img {
  width: 2.5rem;
  height: auto;
  margin-bottom: 0.5rem;
}

.podcast-buttons button {
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
}

.podcast-buttons a,
.podcast-buttons button {
  filter: hue-rotate(0deg);
  transition: filter 0.3s;
  cursor: pointer;
}

.podcast-buttons a:hover,
.podcast-buttons button:hover {
  filter: hue-rotate(-55deg);
}

.podcast-stop {
  display: none;
}

.podcast-info > .podcast-embed {
  height: 0;
  margin-top: 0;
  overflow: hidden;
  transition:
    height 0.3s,
    margin-top 0.3s;

  background-image: url("assets/loading-dots-magenta.gif");
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto 30px;
}

.podcast-info > .podcast-embed.active-episode {
  height: 100px;
  margin-top: 1rem;
}

.podcast-episode-hosts > p:first-child::before {
  content: "Anfitrión: ";
}

/* -------------- CONTENIDOS FIJOS SINGLE ------------ */
.info-page-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 4fr);
  grid-column-gap: 35px;
  box-shadow:
    -5px -5px 10px rgba(0, 0, 0, 0.1),
    3px 7px 5px rgba(0, 0, 0, 0.05);
  background-color: white;
}

.info-page-mobile-selector {
  display: none;
}

.index-track {
  box-shadow: 3px 7px 5px rgba(0, 0, 0, 0.05);
}

body.single-informacion {
  position: relative;
}

.info-page-background {
  position: absolute;
  width: 100%;
  height: calc(100% - var(--main-nav-h) * 6);
  left: 0;
  bottom: 0;
  background-image: url("assets/contenidos-fijos/patron-grid-abierto-blue.png");
  z-index: -1;
}

.info-page-background.has-program-header {
  height: calc(100% - var(--main-nav-h) * 6 - 80vh);
}

.info-page-heading {
  margin-bottom: 2em;
}

.info-page-heading.has-program-header {
  margin-bottom: 0.1em;
}

.info-page-heading.has-program-header .info-page-slogan {
  display: none;
}

.info-page-content .table-of-contents {
  padding: 15px;
  position: sticky;
  top: 0px;
  overflow-y: auto;
  --max-table-h: 100vh;
  max-height: var(--max-table-h);
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.info-page-content .table-of-contents::-webkit-scrollbar {
  display: none;
}

.logged-in .info-page-content .table-of-contents {
  top: var(--logged-in-h);
  --max-table-h: calc(100vh - var(--logged-in-h));
}

.info-page-content .table-of-contents h6 {
  padding-bottom: 0.3em;
}

.info-page-content .table-of-contents li,
.info-page-content .table-of-contents li ul {
  margin-bottom: 1.3em;
}

.info-page-content .table-of-contents li.has-child-anchors {
  margin-bottom: 0.5em;
}

.info-page-content .table-of-contents li ul li {
  margin-bottom: 0.4em;
}

.info-page-content .table-of-contents li ul {
  padding-left: 1em;
}

.info-page-content .table-of-contents li a {
  display: block;
  transform: translateX(0px);
  transition:
    color 0.1s,
    transform 0.3s;
}

.info-page-content .table-of-contents li a:hover {
  transform: translateX(5px);
}

.info-page-main {
  max-width: 900px;
  padding: 30px;
  padding-bottom: 100px;
}

.info-section {
  padding-left: 15px;
}

.info-page-main li {
  list-style: square;
  margin-left: 1em;
}

.info-page-main p,
.info-page-main li {
  margin-bottom: 0.7em;
}

.wp-block-arqdis-plugin-section-title {
  padding-top: 1.7em;
  padding-bottom: 0.7em;
}

.wp-block-arqdis-plugin-section-title:first-child {
  padding-top: 0.7em;
}

.info-page-main [class*="wp-block"] figcaption {
  display: initial;
}

.info-page-main [class*="wp-block"] figcaption::before {
  margin-right: 10px;
}

.info-page-heading-wrapper {
  position: relative;
  width: max-content;
  max-width: 100%;
}

.info-page-slogan.marquee-slogan {
  height: 1.5em;
  display: flex;
  align-items: center;
  background-color: var(--arqdis-blue);

  margin-top: 0.5em;
  position: absolute;
  width: 100%;
}

.info-page-content .table-of-contents .info-page-download-link a,
.info-page-content .table-of-contents .info-page-contact-link a {
  color: black;
  display: grid;
  grid-template-columns: min-content auto;
  grid-column-gap: 0.5em;
  align-items: center;
  margin-bottom: 1.3em;
}

.info-page-download-link a::before {
  content: "";
  display: block;
  width: 1.5em;
  height: 1.5em;
  background-image: url(assets/download-facilities.svg);
  background-size: contain;
  filter: brightness(0);
}

.info-page-main .wpcf7-form {
  padding-left: 15px;
  padding-right: 15px;
  margin-top: 0 !important;
  box-shadow: none;
}

.info-page-contact-form form {
  margin: 0;
}

.info-page-contact-form-container {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  margin: 4rem 0;
  grid-column-gap: 50px;
}

.info-page-contact-form-label {
  position: relative;
}

.info-page-contact-form-label-sticky {
  position: sticky;
  top: 2rem;
}

.info-page-contact-subtitle {
  margin-top: 0.5em;
}

.info-page-2,
.interactive-program-container {
  margin-top: 50px;
}

nav.pdf-file-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 25px;
  margin: 25px 0;
}

nav.pdf-file-grid span {
  display: block;
  margin-top: 0.3em;
}

nav.pdf-file-grid img {
  max-width: 100%;
  height: auto;
  filter: grayscale(0%);
  transition: filter 0.3s;
}

nav.pdf-file-grid a:hover img {
  filter: grayscale(100%);
}

nav.pdf-file-grid figure {
  display: block;
  position: relative;
}

nav.pdf-file-grid figure::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: blue;
  mix-blend-mode: screen;
  left: 0;
  top: 0;
  opacity: 0;
  transition: 0.3s;
}

nav.pdf-file-grid a:hover figure::after {
  opacity: 1;
}

/* Scrolling Tabla de Contenidos */
.info-page-1 .index-track {
  position: relative;
}

.info-page-1 {
  --page-1-h: 100%;
  --page-2-h: 0px;
  --page-gap: 0px;
  --mask-gradient-sz: 30px;
}

.info-page-1 .full-page-track {
  position: absolute;
  width: 100%;
  height: calc(var(--page-1-h) + var(--page-gap) + var(--page-2-h));
  mask-image: linear-gradient(
    black 0px,
    black calc(var(--page-1-h) - var(--mask-gradient-sz)),
    transparent var(--page-1-h),
    transparent calc(var(--page-1-h) + var(--page-gap)),
    black calc(var(--page-1-h) + var(--page-gap) + var(--mask-gradient-sz))
  );
  -webkit-mask-image: linear-gradient(
    black 0px,
    black calc(var(--page-1-h) - var(--mask-gradient-sz)),
    transparent var(--page-1-h),
    transparent calc(var(--page-1-h) + var(--page-gap)),
    black calc(var(--page-1-h) + var(--page-gap) + var(--mask-gradient-sz))
  );
  background: white;
}

/* Programa Interactivo */
.interactive-program-container {
  position: relative;
  display: grid;
  grid-template-columns: auto auto;
  justify-content: center;
  grid-gap: 50px;
}

.programa-pregrado.interactive-program-container {
  max-width: unset;
}

/* .programa-dis.interactive-program-container,
.programa-mdis.interactive-program-container{
  grid-template-columns: min(70vw, calc(85vh*1.3189606395)) auto;
} */

.programa-arq.interactive-program-container {
  grid-template-columns: min(70vw, calc(85vh * 1.5876980762)) auto;
}

.programa-mam.interactive-program-container {
  grid-template-columns: min(70vw, calc(85vh * 1.2899351098)) auto;
}

.interactive-program-container .program-svg-container,
.interactive-program-container .program-dynamic-info-container {
  box-shadow:
    -5px -5px 10px rgba(0, 0, 0, 0.1),
    3px 7px 5px rgba(0, 0, 0, 0.05);
  background-color: white;
}

.program-svg-container svg {
  height: auto;
  padding: 25px;
  max-width: 100%;
  max-height: 70vh;
  min-width: 500px;
  width: auto;
  min-height: 650px;
}

.programa-pregrado .program-svg-container svg {
  max-height: 85vh;
  width: 100vw;
}

.programa-mam .program-svg-container svg {
  max-height: 95vh;
}

.programa-posgrado .program-svg-container svg {
  height: 100vh;
}

.program-right-dialog-window {
  width: 25vw;
  /* max-width: 500px; */
  min-width: 350px;
  position: relative;
  display: none; /* Hidden by default */
}

@media screen and (max-width: 992px) {
  .program-right-dialog-window {
    display: none; /* Ensure it's hidden by default on mobile too */
  }

  /* Edge-case: ensure DIS program SVG isn't accidentally hidden on large screens
     (some global rules set .program-svg-container display:none). This targets
     only the DIS interactive program and only for large viewports so other
     program layouts remain untouched. */
}

@media screen and (min-width: 1500px) {
  .programa-dis.interactive-program-container .program-svg-container,
  .programa-mdis.interactive-program-container .program-svg-container {
    display: block !important;
  }
}

.program-dynamic-info-container {
  padding: 25px;
  overflow-y: auto;

  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

/* .program-dynamic-info-container{
  width: 25vw;
  max-width: 500px;
  min-width: 350px;

  padding: 25px;
  max-height: calc(70vh + 10px);
  min-height: 650px;
  overflow-y: auto;
}

.programa-pregrado .program-dynamic-info-container{
  max-height: calc(85vh + 10px);
} */

.related-courses-nav h6 {
  margin-bottom: 0.2em;
}

/* .related-courses-nav h6.inactivos-header ~ a{
  color: var(--arqdis-gray);
} */

.related-courses-nav h6:not(:first-child) {
  margin-top: 1em;
}

/* Encabezado de los cursos de posgrado dentro de un plan de estudios de pregrado */
.related-courses-nav h6.posgrado-group-header {
  margin-top: 1.2em;
}

/* La advertencia va en la misma jerarquía que el código del curso, no en la del encabezado */
.related-courses-nav h6.posgrado-group-header .cupos-limitados-nota {
  display: block;
  margin-top: 0.15em;
  font-size: calc(var(--fz-13pt) * 0.8);
  font-weight: 500;
  color: var(--arqdis-gray);
}

.descripcion-oferta {
  margin-bottom: 0.8em;
}

.course-title {
  margin-bottom: 0.5em;
}

.course-type-desc {
  margin-bottom: 25px;
}

.related-courses-nav {
  display: flex;
  flex-direction: column;
}

.related-courses-nav a,
a.only-course-option {
  display: flex;
  flex-direction: column;
  margin-bottom: 0.5em;
  margin-left: 4px;

  transform: translateX(0);
  transition: transform 0.3s;
}

a.only-course-option {
  margin-left: 0;
  flex-direction: row;
}

a.only-course-option::after {
  content: "";
  background-image: url(assets/thick-arrow-ne.svg);
  width: 1em;
  height: auto;
  vertical-align: middle;
  background-repeat: no-repeat;
  margin-left: 0.2em;
}

.related-courses-nav a .course-code {
  font-size: 0.8em;
  color: var(--arqdis-gray);
}

.related-courses-nav a[href]:hover,
a.only-course-option:hover {
  transform: translateX(5px);
  cursor: alias;
}

.course-type-desc p {
  margin-bottom: 1em;
}

.course-type-icon {
  max-width: 40%;
  max-height: 95px;
  margin-bottom: 20px;
}

.program-static-image {
  display: none;
  width: 100%;
  box-shadow:
    -5px -5px 10px rgba(0, 0, 0, 0.1),
    3px 7px 5px rgba(0, 0, 0, 0.05);
}

/* El enlace que envuelve la imagen estática (lleva al PDF del plan) no debe
   crear una caja propia: la imagen sigue participando de la grilla como antes. */
.program-static-image-link {
  display: contents;
}

@media screen and (max-width: 1500px) {
  .program-static-image {
    display: block;
  }
}

.clickable-course {
  cursor: pointer;
}
.program-accordion-detail .clickable-course:hover {
  transform: none !important;
}

.program-dynamic-info-close-btn {
  display: none;
}

.download-study-plan-button {
  display: block;
  background: black;
  transition: background 0.3s;
  padding: 0.3em;
  position: absolute;
  right: calc(100% + 50px);
  top: 100%;
  margin-top: 25px;
  white-space: nowrap;
}

.download-study-plan-button:hover {
  background: var(--arqdis-blue);
}

.plan-contiene-boton-descargable ~ .info-page-2 {
  margin-top: 105px;
}

/* ------------------ SINGLE LANDING ------------------ */
main.landing-main {
  margin-left: 15px;
  margin-right: 15px;
}

/* -------------- ANUNCIO SINGLE ------------ */
.anuncio-paper-doc {
  box-shadow:
    -5px -5px 10px rgba(0, 0, 0, 0.1),
    3px 7px 5px rgba(0, 0, 0, 0.05);
  background-color: white;
}

.anuncio-paper-doc-content {
  padding: calc(var(--min-side-margin) * 1.5) calc(var(--min-side-margin) * 2);
}

.anuncio-main-wrapper {
  padding: max(1rem, min(3vw, 5rem)) 0;
  background-image: url("assets/contenidos-fijos/patron-grid-abierto-blue.png");
  margin-bottom: calc(min(5vw, 90px) * -1 - 50px);
  padding-bottom: calc(min(5vw, 90px) + 50px);
}

.anuncio-attachments-container {
  margin-top: 3rem;
  display: flex;
  justify-content: flex-end;
}

.anuncio-attachments-container .anuncio-paper-doc {
  padding: 25px 50px;
  position: relative;
}

.anuncio-clip {
  position: absolute;
  width: 30px;
  top: 0;
  left: 10px;
  transform: translateY(-50%);
}

.anuncio-attachments-heading {
  display: none;
}

.anuncio-banner {
  display: block;
  object-fit: cover;
  width: calc(100% + var(--min-side-margin) * 4);
  max-width: unset;
  height: auto;
  max-height: 30vh;
  margin-left: calc(var(--min-side-margin) * -2);
  margin-top: calc(var(--min-side-margin) * -1.5);
  margin-bottom: 2rem;
}

.anuncio-inline-img {
  max-width: 40%;
  height: auto;
  float: right;
  padding: 0 0 30px 30px;
  margin-right: -5%;
}

.anuncio-lista {
  column-count: 2;
  gap: 30px;
  margin-top: 30px;
}

.anuncio-lista-item {
  margin-bottom: 1.2em;
  display: flex;
  flex-wrap: wrap;
  -webkit-column-break-inside: avoid;
  break-inside: avoid-column;
  page-break-inside: avoid;
}

.anuncio-lista-mes {
  margin-bottom: 0.7em;
}

.anuncio-lista-mes:not(.anuncio-lista-item-parent + .anuncio-lista-mes) {
  margin-top: 2.8em;
}

.anuncio-lista-item-name {
  width: 100%;
  flex-shrink: 0;
  line-height: 1.3em;
}

.anuncio-lista-item-name:not(:only-child) {
  margin-bottom: 0.3em;
}

.anuncio-lista-subitem:not(:last-child) {
  margin-right: 6px;
}

.anuncio-lista-item-parent {
  margin-bottom: 1em;
}

.anuncio-lista-item-parent:not(:first-child) {
  margin-top: 3em;
}

.anuncio-lista-subitem {
  line-height: 2.2em;
}

.anuncio-lista-subitem span {
  color: white;
  background-color: var(--arqdis-magenta);
  box-decoration-break: clone;
  padding: 0.2em;
}

/* -- GENERALES -- */

html.global-smooth-scroll {
  scroll-behavior: smooth;
}

div.keep-aspect-16-9,
figure.wp-embed-aspect-16-9 > div,
div.keep-aspect-4-3,
figure.wp-embed-aspect-4-3 > div,
div.keep-aspect-21-9,
figure.wp-embed-aspect-21-9 > div,
div.keep-aspect-18-9,
figure.wp-embed-aspect-18-9 > div,
div.keep-aspect-1-1,
figure.wp-embed-aspect-1-1 > div,
div.keep-aspect-9-16,
figure.wp-embed-aspect-9-16 > div,
div.keep-aspect-1-2,
figure.wp-embed-aspect-1-2 > div {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  width: 100%;
}

div.keep-aspect-16-9,
figure.wp-embed-aspect-16-9 > div {
  padding-bottom: 56.25%; /* 16:9 */
}

div.keep-aspect-4-3,
figure.wp-embed-aspect-4-3 > div {
  padding-bottom: 75%; /* 4:3 */
}

div.keep-aspect-21-9,
figure.wp-embed-aspect-21-9 > div {
  padding-bottom: 42.86%; /* 21:9 */
}

div.keep-aspect-18-9,
figure.wp-embed-aspect-18-9 > div {
  padding-bottom: 50%; /* 18:9 */
}

div.keep-aspect-1-1,
figure.wp-embed-aspect-1-1 > div {
  padding-bottom: 100%; /* 1:1 */
}

div.keep-aspect-9-16,
figure.wp-embed-aspect-9-16 > div {
  padding-bottom: 177.78%; /* 9:16 */
}

div.keep-aspect-1-2,
figure.wp-embed-aspect-1-2 > div {
  padding-bottom: 200%; /* 1:2 */
}

div.keep-aspect-16-9 iframe,
figure.wp-embed-aspect-16-9 > div iframe,
div.keep-aspect-4-3 iframe,
figure.wp-embed-aspect-4-3 > div iframe,
div.keep-aspect-21-9 iframe,
figure.wp-embed-aspect-21-9 > div iframe,
div.keep-aspect-18-9 iframe,
figure.wp-embed-aspect-18-9 > div iframe,
div.keep-aspect-1-1 iframe,
figure.wp-embed-aspect-1-1 > div iframe,
div.keep-aspect-9-16 iframe,
figure.wp-embed-aspect-9-16 > div iframe,
div.keep-aspect-1-2 iframe,
figure.wp-embed-aspect-1-2 > div iframe {
  position: absolute;
  top: 0;
  left: 0;
  max-width: 100%;
  max-height: 100%;
}

.expo-video-thumbnail-wrapper {
  position: relative;
  overflow: hidden;
  background: #000;
  z-index: 0;
}

.expo-video-thumbnail-link {
  position: absolute;
  inset: 0;
  display: block;
  background: #000;
}

.expo-video-thumbnail-link img.expo-video-thumbnail-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  z-index: 0;
}

.expo-video-thumbnail-overlay {
  position: absolute;
  inset: 0;
  background: transparent;
  transition: background 0.2s ease;
  z-index: 1;
}

.expo-video-thumbnail-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 72px;
  height: auto;
  transform: translate(-50%, -50%);
  transition: transform 0.2s ease;
  z-index: 2;
  pointer-events: none;
}

.expo-video-thumbnail-link:hover .expo-video-thumbnail-overlay,
.expo-video-thumbnail-link:focus .expo-video-thumbnail-overlay {
  background: rgba(0, 0, 0, 0.32);
}

.expo-video-thumbnail-link:hover .expo-video-thumbnail-logo,
.expo-video-thumbnail-link:focus .expo-video-thumbnail-logo {
  transform: translate(-50%, -50%) scale(1.04);
}

/* -- VIDEO ITEMS STYLING (HORIZONTAL AND VERTICAL) -- */

/* Ensure video items adapt to content height */
.video-item {
  height: auto !important;
  min-height: fit-content;
}

/* Limit vertical videos height for better grid layout */
.video-item.vertical-video figure {
  max-height: 80vh;
}

/* Hide empty iframes before video loads to prevent YouTube placeholder controls */
button.video-load-button.unloaded-video iframe[src=""] {
  display: none !important;
}

/* Ensure thumbnail is visible when video is unloaded */
button.video-load-button.unloaded-video figure img {
  z-index: 2; /* Above iframe container when unloaded */
}

/* Hide thumbnail when video is loaded (no unloaded-video class) */
button.video-load-button:not(.unloaded-video) figure img {
  z-index: -1; /* Behind everything when video is playing */
}

/* -- PODCAST EPISODE ITEMS STYLING -- */

.podcast-episode-item {
  display: flex;
  flex-direction: column;
}

.podcast-episode-item .grid-post-link.podcast-episode-link {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  padding: 12px;
  background-color: white;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}

.podcast-episode-item .grid-post-thumbnail.podcast-episode-thumbnail {
  width: 72px;
  height: 72px;
  flex-shrink: 0;
  margin: 0;
  overflow: hidden;
}

.podcast-episode-item .grid-post-thumbnail.podcast-episode-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top;
}

.podcast-episode-item .podcast-episode-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex: 1;
  min-width: 0;
}

.podcast-episode-item .podcast-episode-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.podcast-episode-item .grid-title {
  margin: 0;
  font-size: var(--fz-16pt);
  line-height: 1.2em;
  font-weight: 700;
  font-family: "Roboto Mono", monospace;
  text-transform: none;
  text-align: left;
  justify-content: flex-start;
}

.podcast-episode-item .grid-subtitle {
  font-size: var(--fz-16pt);
  font-family: "Roboto Mono", monospace;
  font-weight: 400;
  margin: 0;
  display: block;
  text-align: left;
}

.podcast-episode-item .grid-duration {
  font-size: var(--fz-12pt);
  font-family: "Roboto Mono", monospace;
  font-weight: 400;
  color: #666;
  margin: 0;
  display: inline;
}

/* -- SLIDESHOWS OPACIDAD -- */

.opacity-slideshow-container {
  position: relative;
}

.opacity-slideshow-container > div {
  height: auto;
  width: max-content;
  max-width: 100%;
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-columns: 1fr;
  align-items: center;
  justify-items: center;
  margin: 0 auto 0 0;
}

.opacity-slideshow-container .gallery-nav {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  transition: 0.3s;
}

.opacity-slideshow-container .gallery-nav > img {
  height: 3rem;
}

.opacity-slideshow-container #prev-slide {
  left: 13px;
}

.opacity-slideshow-container #prev-slide:hover {
  left: 5px;
}

.opacity-slideshow-container #next-slide {
  right: 13px;
}

.opacity-slideshow-container #next-slide:hover {
  right: 5px;
}

.opacity-slideshow-container > div > img {
  opacity: 1;
  transition: 0.3s;
  max-width: 100%;
  grid-column: 1;
  grid-row: 1;
}

.opacity-slideshow-container.main-content-slideshow > div > img {
  max-height: 60vh;
}

.opacity-slideshow-container > div > img.inactive {
  opacity: 0;
  pointer-events: none;
}

/* -- GALERÍA SINGLE PUBLICACIONES -- */
body.single-publicaciones main {
  /* overflow: hidden; */
  padding-top: 6px;
}

.publicaciones-slider-height-wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: var(--pub-cover-h); /* definida inline por php */
}

.over-content-slider-container {
  align-items: start;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
}

.over-content-slider-container > img:first-child {
  max-width: 430px;
  width: 100%;
  height: auto;
}

.over-content-slider-container > img:not(:first-child) {
  /* max-height: 570px; */
  max-height: 100%;
  width: auto;
  /* width: 100%; */
}

.over-content-slider-container > img:not(:last-child) {
  margin-right: 15px;
}

.over-content-slider-container {
  display: grid;
  z-index: 0;
}

.over-content-slider-handle {
  grid-column: 1;
  grid-row: 1;
  max-width: 100%;
  position: relative;
  box-shadow:
    -2px -2px 4px rgba(0, 0, 0, 0.02),
    1px 1px 5px rgba(0, 0, 0, 0.02);
}

.over-content-slider-handle:not(:first-child) {
  opacity: 0;
  --randleft: 0;
  --randtop: 0;
  left: var(--randleft);
  top: var(--randtop);
}

.publicaciones-thumbnails {
  position: absolute;
  width: 40%;
  right: calc(-40% - 10px);
  top: -5px;
  display: flex;
  flex-wrap: wrap;
}

.publicaciones-thumbnails > img {
  flex-shrink: 0;
  max-height: 50px;
  width: auto;
  margin: 5px;
  opacity: 0.3;
  transition: opacity 0.2s;
  cursor: zoom-in;
}

.publicaciones-thumbnails > img:hover {
  opacity: 1;
}

.publicaciones-thumbnails > img.frontmost-thumb {
  opacity: 1;
  box-shadow:
    -1px -1px 2px rgba(0, 0, 0, 0.09),
    1px 1px 3px rgba(0, 0, 0, 0.09);
}

/* Indicar que las imágenes del slider abren el lightbox */
#publicaciones-slider .over-content-slider-handle {
  cursor: zoom-in;
}

/* ===== LIGHTBOX STYLES (compartido con proyectos de estudiantes) ===== */
.detail-lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.95);
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.detail-lightbox.active {
  display: flex;
  opacity: 1;
}

/* Prevent body scroll when lightbox is open */
body.lightbox-open {
  overflow: hidden;
}

.lightbox-content {
  position: relative;
  max-width: 95vw;
  max-height: 95vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lightbox-image {
  max-width: 100%;
  max-height: 95vh;
  object-fit: contain;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
  animation: lightboxZoomIn 0.3s ease;
}

@keyframes lightboxZoomIn {
  from {
    transform: scale(0.9);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

/* Close button */
.lightbox-close {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  background-color: transparent;
  border: none;
  color: #ffffff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  z-index: 10001;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  font-weight: 300;
}

.lightbox-close:hover {
  transform: scale(1.1);
}

/* Navigation arrows */
.lightbox-nav {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  width: 60px;
  height: 60px;
  background-color: transparent;
  border: none;
  color: #ffffff;
  font-size: 48px;
  line-height: 1;
  cursor: pointer;
  z-index: 10001;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  font-weight: 300;
}

.lightbox-prev {
  left: 20px;
}

.lightbox-next {
  right: 20px;
}

.lightbox-nav:hover {
  transform: translateY(-50%) scale(1.1);
}

/* Counter */
.lightbox-counter {
  position: fixed;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(0, 0, 0, 0.7);
  color: #ffffff;
  padding: 10px 20px;
  border-radius: 20px;
  font-family: 'Roboto Mono', monospace;
  font-size: 14px;
  z-index: 10001;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .lightbox-close {
    top: 10px;
    right: 10px;
    width: 44px;
    height: 44px;
    font-size: 32px;
  }

  .lightbox-nav {
    width: 50px;
    height: 50px;
    font-size: 40px;
  }

  .lightbox-prev {
    left: 10px;
  }

  .lightbox-next {
    right: 10px;
  }

  .lightbox-counter {
    bottom: 20px;
    font-size: 12px;
    padding: 8px 16px;
  }

  .lightbox-content {
    max-width: 100vw;
    max-height: 100vh;
  }

  .lightbox-image {
    max-height: 100vh;
  }
}

/* Touch device optimization */
@media (hover: none) and (pointer: coarse) {
  .lightbox-close,
  .lightbox-nav {
    background-color: rgba(255, 255, 255, 0.2);
  }
}

/* -- MAGNIFY ON HOVER -- */
body.single-viajes_de_estudio main,
body.single-workshops main {
  overflow: hidden;
  padding-top: 6px;
}

.magnify-on-hover {
  position: relative;
  --lens-size: max(200px, min(12vw, 400px));
}

.large-img-version {
  /* width: 200px;
  height: 200px; */
  width: var(--lens-size);
  height: var(--lens-size);
  position: absolute;
  border-radius: 100%;
  box-shadow:
    0 0 0 7px rgb(255, 255, 255),
    0 0 7px 7px rgba(0, 0, 0, 0.09);
  /* box-shadow: 0 0 0 7px rgba(255, 255, 255, 0.85), 0 0 7px 7px rgba(0, 0, 0, 0.25), inset 0 0 40px 2px rgba(0, 0, 0, 0.25); */
  background-repeat: no-repeat;
  z-index: 10;
  opacity: 0;
  display: none;
}

.magnify-on-hover:hover .large-img-version {
  cursor: crosshair;
  opacity: 1;
}

.small-img-version {
  display: block;
}

/* -- MAGNIFIC POPUPS -- */

.mfp-fade.mfp-bg,
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;

  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}

.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8;
}

.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

.mfp-container.mfp-iframe-holder .mfp-content {
  max-width: min(1080px, min(90vw, calc(80vh * 16 / 9)));
}

/* -- ÍNDICE PUBLICACIONES -- */
.publication-index {
  min-height: 430px;
  max-height: 60vh;
  overflow: auto;
  box-shadow:
    -5px -5px 10px rgba(0, 0, 0, 0.1),
    3px 7px 5px rgba(0, 0, 0, 0.05);
  padding: 35px 50px 50px 15px;
}

.publication-index ul {
  padding-left: 15px;
}

.pub-index-section,
.pub-index-subsection {
  margin: 2em 0 1em 0;
}

.pub-index-section:first-child,
.pub-index-subsection:first-child {
  margin-top: 0;
}

.publication-index ul li:last-child {
  margin-bottom: 2em;
}

.pub-index-entry {
  margin-top: 1.4em;
}

.pub-index-entry a {
  display: inline-block;
  padding-left: 0;
  transition: padding-left 0.3s;
}

.pub-index-entry a:hover {
  padding-left: 5px;
}

.pub-index-entry-author {
  margin-top: 0.4em;
}

.pub-cred-role {
  margin-top: 0.2em;
}

/* -- CRÉDITOS PUBLICACIONES -- */
.pub-credits-list {
  margin-top: 35px;
}

.pub-credits-list ul li:last-child {
  margin-bottom: 1em;
}

/* -- ARCHIVO SERIES -- */
.serie-item .grid-paragraph {
  margin-top: 0.6em;
  line-height: 1.5em;
  max-width: 500px;
}

.serie-item .grid-title {
  transition: color 0.3s;
}

.serie-item .grid-post-link:hover .grid-title {
  color: var(--arqdis-blue);
}

.series-featured-images {
  position: sticky;
  top: 8vh;
  display: grid;
}

.series-featured-images img {
  max-height: 60vh;
  min-height: 400px;
  width: 100%;
  object-fit: contain;
  object-position: top center;
  grid-column: 1;
  grid-row: 1;
  opacity: 0;
  transition: opacity 0.3s;
}

.series-featured-images img.highlighted-serie-image {
  opacity: 1;
}

/* -- SINGLE SERIES -- */
.tax-series .layout-container {
  grid-template-rows: min-content min-content 1fr;
}
.layout-container.full-content .layout-main-bottom {
  grid-column: span 2;
}
.serie-vertical-preview {
  display: none;
}

.grid-serie-spines {
  display: flex;
  flex-direction: column;
}

.grid-serie-spines > a {
  --spine-w2h-percent: 0%;
  --spine-w2h-decimal: 0;
  --relative-w: 100% position: relative;
  width: var(--relative-w);
  height: 0;
  padding-top: calc(var(--relative-w) * var(--spine-w2h-decimal));
  margin-bottom: 12px;
  transform: translateX(0);

  transition: transform 0.3s;
}

.grid-serie-spines > a:hover {
  transform: translateX(10px);
}

.grid-serie-spines img {
  width: var(--spine-w2h-percent);
  height: auto;

  position: absolute;
  left: 0;
  top: 0;

  transform-origin: top left;
  transform: rotate(90deg) translateY(-100%);
}

.grid-serie-spines a.inverted-spine img {
  transform-origin: top right;
  transform: translateX(-100%) rotate(-90deg);
}

.badge-shape {
  fill: magenta;
  transform-origin: center;
  animation-name: spin;
  animation-duration: 15s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.badge-text {
  fill: white;
  transform: translateY(-2px);
}

#serie-badge {
  position: absolute;
  width: 30%;
  right: -6%;
  top: 0;
  transform: translate(-20%, -20%);
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* -- FORMULARIOS -- */

.wpcf7-form {
  display: block;
  position: relative;
  box-shadow:
    -5px -5px 10px rgba(0, 0, 0, 0.1),
    3px 7px 5px rgba(0, 0, 0, 0.05);
  padding: 1rem 2rem;
  margin: 4rem 0;
  background: white;
}

.child-event-list + div.wpcf7,
.event-agenda-button + div.wpcf7 {
  margin-top: 6rem;
}

.form-over-black-bg .wpcf7-form {
  background: black;
}

.event-intitle ~ .wpcf7 .wpcf7-form,
.post-intitle ~ .wpcf7 .wpcf7-form {
  margin-top: 0;
}

input.wpcf7-text,
select.wpcf7-select,
textarea.wpcf7-textarea {
  padding: 5px;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0);
}

select.wpcf7-select {
  background-color: transparent;
  appearance: none;
  border-radius: 0;
  outline: none;
  cursor: pointer;
}

select.wpcf7-select[data-chosen]:not([data-chosen=""]) {
  color: black;
}

input.wpcf7-text:focus,
select.wpcf7-select:focus,
textarea.wpcf7-textarea:focus {
  outline: none;
  box-shadow: 2px 2px 5px #00000070;
}

.form-over-black-bg input.wpcf7-text,
.form-over-black-bg textarea.wpcf7-textarea {
  transition: border-color 0.3s;
}

.form-over-black-bg input.wpcf7-text:focus,
.form-over-black-bg textarea.wpcf7-textarea:focus {
  border-color: magenta;
}

.form-over-black-bg.form-cyan-accents input.wpcf7-text:focus,
.form-over-black-bg.form-cyan-accents textarea.wpcf7-textarea:focus {
  border-color: cyan;
}

.wpcf7-form .wpcf7-list-item label {
  display: flex;
}

.wpcf7-form span.wpcf7-list-item-label {
  display: flex;
  align-items: center;
}

.wpcf7-list-item input[type="checkbox"] {
  position: absolute;
  opacity: 0;
}

.wpcf7-list-item input[type="checkbox"] + *,
.wpcf7-list-item input[type="checkbox"] + *::before,
.wpcf7-list-item input[type="checkbox"] {
  cursor: pointer;
}

.wpcf7-list-item input[type="checkbox"] + *::before {
  content: "";
  display: block;
  min-width: 1em;
  min-height: 1em;
  border: 1px solid black;
  margin-right: 0.8em;
  background: magenta;
  box-shadow:
    inset 0px 0px 0px 20px white,
    2px 2px 5px rgba(0, 0, 0, 0);
  transition:
    box-shadow 0.2s,
    border-color 0.3s;
}

.form-over-black-bg .wpcf7-list-item input[type="checkbox"] + *::before {
  border-color: white;
  box-shadow:
    inset 0px 0px 0px 20px black,
    2px 2px 5px rgba(0, 0, 0, 0);
}

.form-cyan-accents .wpcf7-list-item input[type="checkbox"] + *::before {
  background: cyan;
}

.wpcf7-list-item input[type="checkbox"]:focus + *::before {
  box-shadow:
    inset 0px 0px 0px 20px white,
    2px 2px 5px #00000070;
}

.form-over-black-bg .wpcf7-list-item input[type="checkbox"]:focus + *::before {
  box-shadow:
    inset 0px 0px 0px 20px black,
    2px 2px 5px #00000070;
  border-color: magenta;
}

.form-over-black-bg.form-cyan-accents
  .wpcf7-list-item
  input[type="checkbox"]:focus
  + *::before {
  border-color: cyan;
}

.wpcf7-list-item input[type="checkbox"]:checked:focus + *::before {
  box-shadow:
    inset 0px 0px 0px 3px white,
    2px 2px 5px #00000070;
}

.form-over-black-bg
  .wpcf7-list-item
  input[type="checkbox"]:checked:focus
  + *::before {
  box-shadow:
    inset 0px 0px 0px 3px black,
    2px 2px 5px #00000070;
  border-color: magenta;
}

.form-over-black-bg.form-cyan-accents
  .wpcf7-list-item
  input[type="checkbox"]:checked:focus
  + *::before {
  border-color: cyan;
}

.wpcf7-list-item input[type="checkbox"]:checked + *::before {
  box-shadow: inset 0px 0px 0px 3px white;
}

.form-over-black-bg
  .wpcf7-list-item
  input[type="checkbox"]:checked
  + *::before {
  box-shadow: inset 0px 0px 0px 3px black;
}

input.wpcf7-text,
select.wpcf7-select,
textarea.wpcf7-textarea {
  width: 100%;
  border: 1px solid black;
}

.form-over-black-bg input.wpcf7-text,
.form-over-black-bg textarea.wpcf7-textarea {
  border-color: white;
  background-color: black;
}

textarea.wpcf7-textarea {
  resize: vertical;
  min-height: 2.5em;
}

.wpcf7-form p {
  margin-bottom: 1rem;
}

span.wpcf7-list-item {
  margin-left: 0;
}

input.wpcf7-submit {
  display: block;
  outline: none;
  border: none;
  color: white;
  background: black;
  width: 100%;
  padding: 0.5em;
  margin-top: 1.5rem;
  cursor: pointer;
  transition: 0.3s;
}

span.wpcf7-spinner {
  position: absolute;
  top: calc(50% - 12px);
  right: 0;
  margin: 0 6px;
}

.form-over-black-bg input.wpcf7-submit {
  background: white;
  color: black;
}

input.wpcf7-submit:not([disabled]):hover {
  background: var(--arqdis-blue);
}

.form-over-black-bg input.wpcf7-submit:not([disabled]):hover {
  background: magenta;
}

.form-over-black-bg.form-cyan-accents input.wpcf7-submit:not([disabled]):hover {
  background: cyan;
}

input.wpcf7-submit[disabled],
.form-over-black-bg input.wpcf7-submit[disabled] {
  background: lightgray;
  color: gray;
  cursor: not-allowed;
}

span.form-input-required:after {
  content: "*";
  color: magenta;
}

.form-cyan-accents span.form-input-required:after {
  color: cyan;
}

form.wpcf7-form:not(.sent) .wpcf7-response-output {
  /* display: none  is blocked*/
  position: absolute;
  z-index: -9999;
  opacity: 0;
}

form.wpcf7-form .wpcf7-response-output {
  opacity: 0;
  margin: 0;
  transition: opacity 0.3s;
  text-transform: unset;
  font-weight: 400;
  color: var(--arqdis-gray);
}

form.wpcf7-form.sent .wpcf7-response-output {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  background: white;
  border: none;
  opacity: 1;
  display: grid;
  grid-template-columns: minmax(0, 300px);
  grid-template-rows: min-content;
  justify-items: center;
  align-content: center;
  row-gap: 15px;
}

form.wpcf7-form.sent .wpcf7-response-output::before {
  content: "";
  width: 50%;
  height: 0;
  padding-top: 40%;
  background-image: url("assets/check.svg");
  background-repeat: no-repeat;
  background-size: 100% auto;
}

form.wpcf7-form.sent .wpcf7-response-output::after {
  content: "Enviado";
  grid-row: 2;
  font-size: 1.8em;
  font-weight: 700;
  margin-bottom: 0.2em;
  color: black;
}

.form-over-black-bg
  form.wpcf7-form.sent
  .wpcf7-response-output::after
  .form-over-black-bg.wpcf7-form.sent
  .wpcf7-response-output::after {
  color: white;
}

form.wpcf7-form > p:last-of-type {
  position: relative;
}

div.wpcf7 span.ajax-loader {
  position: absolute;
  right: 10px;
  top: calc(50% - 12.5px);
  width: 25px;
  height: 25px;
  margin: 0;
  background-color: transparent;
  border: 2px solid white;
}

.simple-form-container:not(.form-over-black-bg) div.wpcf7 span.ajax-loader {
  filter: invert(1);
}

div.wpcf7 .ajax-loader::before {
  top: 3px;
  left: 3px;
  background-color: white;
}

.form-disclaimer-text {
  font-family: "Roboto Mono", monospace;
  font-size: 0.8em;
  line-height: 1.3em;
  color: #bbb;
}

.form-disclaimer-text a {
  color: #bbb !important;
  text-decoration: underline !important;
}

/* --- Phone Group Styling --- */
.form-field.phone-group {
  display: flex;
  flex-direction: column;
}

.form-field.phone-group > p:first-child {
  margin-bottom: 0;
  font-family: "Roboto mono", monospace;
  font-size: var(--fz-14pt);
  font-weight: 400;
}

.form-field.phone-group .phone-wrapper {
  display: flex;
  gap: 0.5em;
  align-items: flex-start;
  width: 100%;
}

.form-field.phone-group .phone-wrapper > label {
  margin: 0;
}

.form-field.phone-group .phone-wrapper > label.phone-code-label,
.form-field.phone-group .phone-wrapper > .phone-code-label {
  flex: 0 0 auto;
  max-width: 69px;
  width: auto;
}

.form-field.phone-group .phone-wrapper > label.phone-number-label,
.form-field.phone-group .phone-wrapper > .phone-number-label {
  flex: 1;
  width: auto;
}

.form-field.phone-group .phone-wrapper br {
  display: none;
}

.form-field.phone-group .phone-code-label .wpcf7-form-control-wrap {
  position: relative;
}

.form-field.phone-group .phone-code-label .wpcf7-form-control-wrap::before {
  content: none;
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-12pt);
  color: inherit;
  pointer-events: none;
  z-index: 1;
}

.form-field.phone-group select.phone-code {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("../assets/arrow-button-down.svg");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 15px;
}

.form-field.phone-group input.phone-code {
  padding-left: 20px;
}

/* Hide CF7 individual tips for phone group; custom message is rendered under phone number */
.form-field.phone-group .phone-code-label .wpcf7-not-valid-tip,
.form-field.phone-group .phone-number-label .wpcf7-not-valid-tip {
  display: none !important;
}

/* Custom validation message rendered by JS under the phone number section */
.form-field.phone-group .phone-number-label .phone-group-error-message {
  display: none;
  margin-top: 0.3em;
  font-size: var(--fz-12pt);
  line-height: 1.3em;
  color: magenta;
}

.form-field.phone-group .phone-code-label .wpcf7-form-control-wrap,
.form-field.phone-group .phone-number-label .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.form-field.phone-group input.phone-code,
.form-field.phone-group input.phone-number {
  width: 100%;
  box-sizing: border-box;
}

.form-field.phone-group .form-disclaimer-text {
  margin-top: 0.3em;
}

/* Phone group - phone-wrapper is a span, works inside p.form-field */
.form-field.phone-group .phone-wrapper {
  display: flex;
  width: 100%;
}

/* --- FORMULARIO SIMPLE ----- */
.simple-form-container .wpcf7-form {
  box-shadow: none;
  padding: 0;
  margin: 4rem 0;
}

.simple-form-container input.wpcf7-submit {
  width: auto;
  padding: 0.5em 1em;
}

/*-------------------03. MENU DE NAVEGACIÓN-------------------*/
/* Variables específicas a toda la sección de navegación */
nav#main-nav,
footer,
.nota-banner-container,
.episode-banner-container,
main,
body {
  --top-margin: 1rem;
  --logo-h: 55px;
  --main-nav-h: calc(var(--top-margin) * 2 + var(--logo-h));
}

/* Estilar la topbar que contiene el logo fijo del sitio */
nav#main-nav {
  background-color: white;
  height: calc(var(--top-margin) * 2 + var(--logo-h));
}

nav#main-nav.transparent-header {
  background-color: unset;
}

/* Estilar el logo fijo del sitio */
a#home-link {
  padding: var(--top-margin);
  display: grid;
  grid-auto-flow: column;
  width: max-content;
  position: relative;
}

a#home-link img#marca-registrada {
  width: calc(var(--logo-h) * 0.22);
  height: calc(var(--logo-h) * 0.22);
  transform: translateY(50%);
}

a#home-link img {
  height: var(--logo-h);
}

nav#branding-top {
  position: fixed;
  z-index: 11;
}

aside
  nav:not(.menu-redes-container)
  > ul
  > li.menu-item
  > a[target="_blank"]::after {
  content: "";
  background-image: url("assets/thick-arrow-ne.svg");
  background-repeat: no-repeat;
  width: 1em;
  height: 0.85em;
  display: inline-block;
  background-position: center center;
  vertical-align: bottom;
  margin-left: 0.1em;
  opacity: 0.4;
  margin-bottom: 0.05em;
}

/* -- INTERSECTION OBSERVER --*/
/* Estilos detector del top */
#top-marker {
  position: absolute;
  height: 1px;
  top: 5px;
  z-index: -100;
}

/* Estilos logo después de scroll*/
body.mid-scroll #branding-uniandes,
body.mid-scroll #titulo-arqdis,
body.mid-scroll #marca-registrada,
body.mid-scroll #anos-uniandes {
  display: none;
}

/* -- END INTERSECTION OBSERVER --*/
/* Estilar el botón de 'MENU'*/
nav#menu-button {
  position: fixed;
  color: black;
  top: 0;
  right: 0;
  margin: var(--top-margin);
  padding: 0.5rem;
  z-index: 11;
  /* Estilos para alinear el botón con el logo (SOLO CUANDO NO SE HA HECHO SCROLL) */
  margin-top: calc(var(--top-margin) + var(--logo-h) / 2);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

nav#menu-button a {
  display: inline-grid;
  height: min-content;
  grid-template-rows: auto;
  grid-column-gap: 0.8rem;
  grid-template-columns: auto 1em;
  align-items: center;
  font-family: "Roboto Mono", monospace;
  font-weight: 700;
  font-size: var(--fz-20pt);
  text-transform: uppercase;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  text-decoration: none;
  color: inherit;
}

nav#menu-button:hover,
nav#menu-button:focus-within {
  background-color: var(--arqdis-blue);
  color: white;
  cursor: pointer;
}

nav#menu-button:hover img,
nav#menu-button:focus-within img {
  filter: invert(1);
}

body.admin-bar nav#menu-button {
  top: var(--logged-in-h);
}

nav#menu-button img {
  width: 100%;
}

/* Estilos del overlay invisible que aparece al abrir el menú.
 * este llena todo el espacio no ocupado por el menú y así nos
 * permite detectar cuando alguien hace click por fuera, para
 * cerrar el menú.
 */

span#out-of-menu {
  display: none;
  opacity: 0;
  pointer-events: none;
  width: 100%;
  height: 100%;
}

span#out-of-menu.open-menu {
  display: block;
  pointer-events: all;
  width: 100%;
  height: 100%;
}

/* Estilar la barra lateral */
aside#side-menu {
  --aside-pad-top: 3.5rem;
  --aside-pad: max(2rem, min(5vw, var(--aside-pad-top)));
  /*--aside-pad: clamp(2rem, 5vw, var(--aside-pad-top));*/
  --aside-width: 30rem;
  box-sizing: content-box;
  position: fixed;
  right: calc(-1 * (var(--aside-width) + var(--aside-pad) * 2));
  top: 0;
  height: max(100vh, 100%);
  overflow-y: hidden;
  transition: 0.2s;
  z-index: 12;
  display: grid;
  grid-template-columns: 1fr min-content;
  overscroll-behavior: none;
}

div#side-wrapper {
  position: relative;
  width: var(--aside-width);
  padding: var(--aside-pad);
  padding-top: var(--aside-pad-top);
  min-height: calc(100% - var(--aside-pad) - var(--aside-pad-top));
}

:root {
  --scrollbar-w: 15px;
}

.open-menu div#side-wrapper,
.open-menu a#close-menu {
  margin-right: var(--scrollbar-w);
}

.side-menu-is-open:not(.has-hidden-scrollbar) #wpadminbar {
  padding-right: var(--scrollbar-w);
}

html.side-menu-is-open {
  padding-right: var(--scrollbar-w);
  overflow: hidden;
}

html.has-hidden-scrollbar.side-menu-is-open {
  padding-right: 0;
}

aside#side-menu.open-menu {
  right: 0;
  width: 100%;
  overflow-y: scroll;
}

@media screen and (max-width: 991px) {
  :root {
    --scrollbar-w: 0px;
  }

  aside#side-menu {
    overflow-y: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  aside#side-menu::-webkit-scrollbar {
    display: none;
  }

  .open-menu div#side-wrapper,
  .open-menu a#close-menu {
    margin-right: 0;
  }

  .side-menu-is-open #wpadminbar {
    padding-right: 0;
  }

  html.side-menu-is-open {
    padding-right: 0;
    overflow: auto;
  }
}

body.admin-bar aside#side-menu {
  top: var(--logged-in-h);
  height: calc(max(100vh, 100%) - var(--logged-in-h));
}

span#out-of-menu {
  grid-row: 1;
  grid-column: 1;
}

.menu-content-wrapper {
  grid-row: 1;
  grid-column: 2;
  background-color: white;
}

aside#side-menu.open-menu .menu-content-wrapper {
  box-shadow: 5px 0 25px rgba(0, 0, 0, 0.2);
}

/* Estilar el botón de cerrar menú */
a#close-menu {
  display: flex;
  position: fixed;
  top: inherit;
  right: inherit;
  align-items: center;
  justify-content: center;
  color: gray;
  text-decoration: none;
  z-index: 2;
}

a#close-menu img {
  filter: saturate(0) brightness(3);
  transition: 0.2s;
}

a#close-menu:hover,
a#close-menu:focus {
  color: var(--arqdis-blue);
}

a#close-menu:hover img,
a#close-menu:focus img {
  filter: saturate(1) brightness(1);
}

a#close-menu img {
  --x-pad: 0.5rem;
  width: 1.8rem;
  /*max-width: calc(var(--aside-pad)*0.8 - var(--x-pad)*2);*/
  padding: var(--x-pad);
}

/* Estilar la barra de búsqueda */
form.search-form {
  display: flex;
  justify-content: space-between;
  align-items: center;
  --search-pad: 0.5em;
  padding: var(--search-pad);
  margin-bottom: 3em;
  box-shadow:
    5px 5px 10px rgba(0, 0, 0, 0.1),
    -3px -3px 5px rgba(0, 0, 0, 0.02);
  transition: 0.3s;
}

form.search-form:focus-within {
  box-shadow:
    2px 2px 10px 4px rgba(0, 0, 0, 0.2),
    -3px -3px 5px rgba(0, 0, 0, 0.02);
}

form.search-form label,
input.search-field {
  width: 100%;
}

input.search-field,
form.search-form {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-12pt);
}

input.search-field {
  border: none;
  appearance: none;
}

input.search-field:focus {
  outline: none;
}

input.search-submit {
  font-size: inherit;
  background-image: url(assets/search-blue.svg);
  background-repeat: no-repeat;
  background-position: center center;
  height: 1.3em;
  width: 1.3em;
  filter: brightness(0);
  transition: 0.2s;
  background-color: unset;
  border: 0;
  --outline-offset: 0.35em;
  margin-right: calc(var(--outline-offset) - 3px);
  margin-left: calc(var(--search-pad) + var(--outline-offset));
  padding: 0;
  cursor: pointer;
}

input.search-submit:hover {
  filter: brightness(1);
  outline: none;
}

input.search-submit:focus {
  filter: brightness(1);
  outline: 1px solid rgba(0, 0, 0, 0.2);
  outline-offset: var(--outline-offset);
}

/* Definir variables de tamaño para el menu*/
div.menu-block {
  --menu-y-gap: 1.2rem;
}

/* Definir cómo se visualiza cada bloque de navegación del menu*/
div.menu-block {
  margin-bottom: calc(var(--menu-y-gap) * 2);
}

div.menu-block:last-child {
  margin-bottom: 0;
}

ul.menu {
  display: grid;
  grid-auto-flow: row;
  grid-template-columns: auto;
  grid-template-rows: auto;
  grid-auto-rows: auto;
  grid-row-gap: var(--menu-y-gap);
}

a.menu-title {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-14pt);
  font-weight: 700;
  display: block;
  margin-bottom: var(--menu-y-gap);
  text-decoration: none;
  text-transform: uppercase;
  color: var(--arqdis-blue);
  pointer-events: none;
}

a.menu-title:before {
  content: "_";
}

li.menu-item > a,
li.menu-item > button {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-14pt);
  color: black;
  font-weight: 700;
  text-decoration: none;
}

ul.sub-menu > li > a {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-12pt);
  color: black;
  font-weight: 400;
  text-decoration: none;
  padding-top: calc(var(--menu-y-gap) / 4);
}

ul.menu > li > a,
li.menu-item > button {
  transition: 0.3s;
}

li.menu-item > button {
  font-size: var(--fz-12pt);
  border: none;
  background-color: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  cursor: pointer;
}

/*Este menú se agrega desde javascript si tenemos banner de cookies*/
#menu-cookies {
  margin-top: calc(var(--menu-y-gap) * -1);
}

#menu-cookies ul > li > button::before {
  content: "";
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  background-image: url(assets/configurar.svg);
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
  vertical-align: top;
  margin-right: 0.3em;
}

ul.menu:not(#prg-menu):not(#social-menu) > li > a:hover,
ul.menu:not(#prg-menu):not(#social-menu) > li:focus-within a,
#menu-cookies ul > li > button:hover,
#menu-cookies ul > li:focus-within button {
  padding-left: 5px;
}

ul.menu > li a:focus {
  outline: none;
}

/* Sobreescribir los estilos del menu para la sección de educación, que funciona distinto*/
ul#sch-menu {
  margin-bottom: 1.2rem;
}

ul#prg-menu {
  grid-auto-flow: row;
  grid-template-columns: repeat(2, 45%);
  grid-template-rows: repeat(3, auto);
  grid-column-gap: 3rem;
}

ul#prg-menu li:first-child {
  grid-column: span 2;
  grid-row: span 2;
}
ul#prg-menu ul.sub-menu li {
  grid-column: span 2;
  grid-row: span 2;
}
nav #prg-menu-container:not(last-child) {
  margin-bottom: 20px;
}

ul#prg-menu > li a {
  display: block;
  position: relative;
  left: 0;
  transition: 0.3s;
}

ul#prg-menu > li:hover a,
ul#prg-menu > li:focus-within a {
  left: 5px;
}

/* Estilos del menú de redes sociales */
nav#social-menu-container {
  display: flex;
  justify-content: flex-end;
}

#menu-block-redes:last-child nav#social-menu-container {
  /* Posicionar al final del menú si no hay nada más abajo */
  position: absolute;
  bottom: var(--aside-pad);
  right: var(--aside-pad);
}

ul#social-menu {
  display: inline-grid;
  grid-auto-flow: column;
  grid-column-gap: 1rem;
}

ul#social-menu img {
  height: 1.5rem;
  filter: brightness(0);
  transition: 0.2s;
}

ul#social-menu a:hover img,
ul#social-menu a:focus img {
  filter: brightness(1);
}

div#menu-block-redes {
  /* Define el espacio que ocupa el menú absoluto de redes */
  height: 2rem;
  margin-bottom: 1.5rem;
}

#menu-contact-info address {
  display: flex;
  flex-direction: column;

  cursor: text;
}

#menu-contact-info address a,
#menu-contact-info address div {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-14pt);
}

#menu-contact-info address div,
#menu-contact-info address > a {
  margin-bottom: 1em;
}

#menu-contact-info address > a:last-child {
  margin-bottom: 1.3em;
}

#menu-contact-info address a {
  color: black;
  font-weight: 500;
  text-decoration: none;

  pointer-events: none;
}

#menu-contact-info .tel-contact {
  display: flex;
  justify-content: space-between;
}

#menu-contact-info .menu-contactpoint {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

#menu-contact-info .menu-contactpoint::before {
  content: attr(data-contactpoint-label);
  font-size: var(--fz-11pt);
  color: #808080;
  /*text-transform: lowercase;*/
  font-weight: 500;
  margin-bottom: 0.3em;
  line-height: 1.2em;
}

@media screen and (max-width: 450px) {
  .menu-optional-label {
    display: none;
  }

  #menu-arq-ext::before,
  #menu-dis-ext::before {
    width: 3ch;
    overflow: hidden;
  }
}

#menu-contact-info p {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-10pt);
  color: #cbcbcb;
  font-weight: 500;
  line-height: 1.3em;
}

/*-----------------------------FOOTER-----------------------------*/
footer {
  background-color: black;
  padding: 5rem;
  position: relative;
  margin-top: 5rem;
  z-index: 2;
}

footer.white-footer {
  background-color: white;
}

footer > div:first-child {
  display: grid;
  grid-template-columns: auto;
  grid-auto-flow: column;
  grid-auto-columns: min-content;
  justify-content: space-between;
  align-items: start;
  max-width: 2200px;
  margin: 0 auto;
}

[id*="footer_col_"] {
  --footer-item-margin: 2rem;
  margin: 0 var(--footer-item-margin);
}

[id*="footer_col_"]:nth-child(2) {
  margin-left: 0;
  margin-right: var(--footer-item-margin);
}

[id*="footer_col_"]:last-child {
  margin-right: 0;
  margin-left: var(--footer-item-margin);
}

.footer-text-title {
  white-space: nowrap;
}

a#footer-logo {
  display: flex;
  align-items: center;
  margin-right: 4rem;
  width: min-content;
}

a#footer-logo img {
  height: var(--logo-h);
  filter: invert(1);
}

footer.white-footer a#footer-logo img {
  filter: unset;
}

#footer_bottom {
  text-align: center;
  display: flex;
  justify-content: center;
  margin-top: 3rem;
}

#footer_bottom p {
  max-width: 1500px;
}

.scroll-top-icon {
  position: absolute;
  left: 3vw;
  top: 0;
  width: 3rem;
  transform: translate(0, -70%);
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}

.no-scroll-up-arrow .scroll-top-icon {
  display: none;
}

svg#scroll-to-top line,
svg#scroll-to-top polyline {
  fill: none;
  stroke: cyan;
  stroke-width: 1.6;
  transition: 0.3s;
}

.scroll-top-icon:hover line,
.scroll-top-icon:hover polyline {
  transform: translate(0, -10px);
}

footer.invisible-footer {
  padding: 0;
}

footer.invisible-footer * {
  display: none !important;
}

/*-------------------06. BANNER HOME -------------------*/
.home-banner-container {
  --banner-menu-h: 2em;
  /* --banner-portrait-scale: 0.2; Removed local definition */
  --home-banner-h: calc(100vh - var(--main-nav-h) - var(--banner-menu-h) * 2);
  width: 100%;
}

.home-banner-container,
.home-banner-container ~ .week-events-banner-container {
  /* usamos el margen original que tendría el main si no estuviera el banner */
  margin-bottom: max(1rem, min(3vw, 5rem));
}

.logged-in .home-banner-container {
  --home-banner-h: calc(
    100vh - var(--main-nav-h) - var(--banner-menu-h) * 2 - var(--logged-in-h)
  );
}

.home-banner-story-container {
  display: grid;
  grid-template-columns: repeat(4, 25%);
  grid-template-rows: var(--home-banner-h);
}

.home-banner-story img,
.home-banner-story video {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

.banner-img-mobile,
.banner-video-mobile {
  display: none;
}

.banner-menu-container {
  height: var(--banner-menu-h);
  display: flex;
  align-items: center;
  border-top: 2px solid black;
  border-bottom: 2px solid black;
}

.banner-menu-item:first-child {
  margin-left: 2em;
}

.banner-menu-item {
  display: inline-flex;
  align-items: center;
  margin-right: 2em;
  white-space: nowrap;
}

a.banner-menu-item:last-of-type {
  margin-right: 1em;
}

.banner-menu-item::before {
  content: "";
  background-image: url("assets/arrow-button-right.svg");
  background-repeat: no-repeat;
  height: 1.5em;
  width: 2.5em;
  background-position: 0;
  transition: background-position 0.3s;
}

.banner-menu-item:hover::before {
  background-position: 0.5em;
}

.scroll-to-main-home {
  margin-left: auto;
  font-size: inherit;
  height: 2em;
  border: none;
  background-color: transparent;
  width: 1.5em;
  background-image: url("assets/arrow-button-down.svg");
  background-repeat: no-repeat;
  background-position: 0 0.2em;
  margin-right: 0.4em;
  transition: background-position 0.2s;
  cursor: pointer;
}

.scroll-to-main-home:hover {
  background-position: 0 0.4em;
}

.home-slogan {
  height: var(--banner-menu-h);
  display: flex;
  align-items: center;
  background-color: black;
}

.marquee-slogan {
  display: flex;
  align-items: center;
}

.home-slogan span,
.programa-slogan span,
.marquee-slogan span,
.cinta-en-construccion span {
  white-space: pre;
}

.home-slogan,
.programa-slogan,
.marquee-slogan {
  position: relative;
}

.home-slogan,
.programa-slogan,
.marquee-slogan,
.cinta-en-construccion {
  overflow: hidden;
  --offset: 7vw;
  --move-initial: calc(-25% + var(--offset));
  --move-final: calc(-50% + var(--offset));
  --marquee-dur: 30s;
}

.home-slogan span,
.programa-slogan span,
.marquee-slogan span,
.cinta-en-construccion span {
  display: inline-block;
  position: relative;
  transform: translate3d(var(--move-initial), 0, 0);
  animation: marquee var(--marquee-dur) linear infinite;
  /* animation-play-state: paused; */
}

.home-slogan span::after,
.programa-slogan span::after,
.marquee-slogan span::after,
.cinta-en-construccion span::after {
  content: " " attr(marquee-text) " " attr(marquee-text) " " attr(marquee-text)
    " ";
}

@keyframes marquee {
  0% {
    transform: translate3d(var(--move-initial), 0, 0);
  }

  100% {
    transform: translate3d(var(--move-final), 0, 0);
  }
}

/* -- BANNER HOVER --*/
.home-banner-story-container {
  background: #1c1c1c;
  overflow-y: hidden;
}

.home-banner-story::after {
  content: "";
  position: absolute;
  background: #1c1c1c;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}

.home-banner-story.banner-loading::after,
.home-banner-story.banner-loading
  ~ .home-banner-story:not(.banner-loading)::after {
  opacity: 1;
}

.home-banner-story:nth-child(2)::after {
  transition-delay: 0.4s;
}

.home-banner-story:nth-child(3)::after {
  transition-delay: 0.6s;
}

.home-banner-story:nth-child(4)::after {
  transition-delay: 0.8s;
}

.home-banner-story {
  opacity: 1;
  /* transition: opacity 0.3s; */

  background-position: 50% 0px;
  background-size: cover;

  position: relative;
  box-shadow: 0px 0px 20px 6px rgba(0, 0, 0, 0.5);
  /* z-index: 0; */
}

/* .home-banner-story:hover{
  z-index: 1;
  box-shadow: 0px 0px 20px 6px rgba(0, 0, 0, 0.5);
} */

.home-banner-story img,
.home-banner-story video {
  object-position: 50% 0;
  transition: transform 0.3s ease;
}

.home-banner-story[href]:hover img,
.home-banner-story[href]:hover video {
  transform: scale(1.03);
}

/* .home-banner-story-container:hover .home-banner-story:not(:hover){
  opacity: 0.3;
} */

@media screen and (min-width: 1310px) and (min-aspect-ratio: 999999999/999999998) and (max-aspect-ratio: 293040293/125000000) {
  .home-banner-story-container {
    max-height: 70vh;
    grid-template-rows: min(70vh, var(--home-banner-h));
  }
}

/*-------------------10. RESPONSIVE BREAKPOINTS-------------------*/
/* Large FHD devices (desktops, 1999 and below) */
@media only screen and (max-width: 1999px) {
  /*------------- TIPOGRAFÍA -------------*/
  /* -- ARCHIVE -- */
  .serie-title,
  .archive-title {
    font-size: var(--fz-70pt);
  }

  .archive-subtitle {
    font-size: var(--fz-24pt);
  }

  .serie-title.long-title,
  .archive-title.long-title {
    font-size: var(--fz-60pt);
  }

  .small-archive-title {
    font-size: var(--fz-35pt);
  }

  /* -- PROGRAMAS ARCHIVE -- */
  .programa-heading-title {
    font-size: var(--fz-80pt);
  }

  .programa-heading-title.long-title {
    font-size: var(--fz-65pt);
  }

  .programa-descripcion {
    font-size: var(--fz-18pt);
  }

  .enlace-contenido-fijo {
    font-size: var(--fz-14pt);
  }

  .download-programa,
  .programa-header-nav-links {
    font-size: var(--fz-16pt);
  }

  /* -- GRID -- */
  .grid-title.grid-largest-title {
    font-size: var(--fz-22pt);
  }

  /* ----- TIPO DE CURSO PREVIEW -----*/
  .course-type-item-header,
  .archive-pinned-header {
    font-size: var(--fz-18pt);
  }

  /* -- GRID CONTENIDOS FIJOS --*/
  .contenido-fijo-title {
    font-size: var(--fz-24pt);
  }

  /* --------------- EDCO -------------- */
  .edco-main-menu a {
    font-size: var(--fz-28pt);
  }

  /* -- FOOTER -- */
  .footer-text-title {
    font-size: var(--fz-14pt);
  }

  /*------------- DIAGRAMACIÓN -------------*/
  /* -- LAYOUT EXPOSICIONES -- */
  .layout-container-expo {
    grid-column-gap: 8%;
  }

  /*-------------------- GRID THUMBNAILS -------------------- */
  .anuncio-badge {
    width: 10ch;
    height: 10ch;
  }

  /* -- FOOTER -- */
  footer {
    padding: 4rem 3rem;
  }

  a#footer-logo {
    --logo-h: 30px;
    margin-right: 2rem;
  }

  [id*="footer_col_"] {
    --footer-item-margin: 1rem;
  }
}

@media only screen and (max-width: 1768px) {
  /*------------- DIAGRAMACIÓN -------------*/
  /* -- GALERÍA SINGLE PUBLICACIONES -- */
  .publicaciones-thumbnails {
    position: static;
    width: 100%;
    right: unset;
    top: unset;
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
    margin-left: -5px;
    margin-right: -5px;
  }

  .over-content-slider-handle:not(:first-child) {
    left: unset;
    right: var(--randleft);
  }
}

/* Very Large devices (desktops, 1499 and below) */
@media only screen and (max-width: 1499px) {
  /*------------- TIPOGRAFÍA -------------*/
  /* -- SINGLES -- */
  .section-title {
    font-size: var(--fz-40pt);
  }

  .section-title.long-title {
    font-size: var(--fz-30pt);
  }

  /* -- SINGLE EVENTO -- */
  .evento-fecha-mes,
  .evento-fecha-inicio .evento-fecha-mes,
  .evento-fecha-fin .evento-fecha-mes {
    font-size: var(--fz-20pt);
  }

  .evento-fecha-dia {
    font-size: var(--fz-40pt);
  }

  .evento-fecha-inicio .evento-fecha-dia,
  .evento-fecha-fin .evento-fecha-dia {
    font-size: var(--fz-30pt);
  }

  .evento-fecha-ano {
    font-size: var(--fz-16pt);
  }

  .evento-fecha-hora,
  .evento-fecha-zona {
    font-size: var(--fz-14pt);
  }

  .expo-section-shortcut {
    font-size: var(--fz-24pt);
  }

  /* -- PROGRAMAS ARCHIVE -- */
  .programa-heading-title {
    font-size: var(--fz-65pt);
  }

  .programa-heading-title.long-title {
    font-size: var(--fz-50pt);
  }

  .programa-descripcion {
    font-size: var(--fz-14pt);
  }

  .download-programa,
  .programa-header-nav-links {
    font-size: var(--fz-13pt);
  }

  /* -- BANNER HOME -- */
  .home-banner-container,
  .edco-nav-marquee,
  .cinta-en-construccion {
    font-size: var(--fz-18pt);
  }

  /* -- GRID CURSOS -- */
  .grid-post-thumbnail .cinta-en-construccion {
    font-size: var(--fz-20pt);
  }

  /* -- GRID --*/
  .grid-title.grid-large-title {
    font-size: var(--fz-20pt);
  }

  /* --------------- EDCO -------------- */
  .edco-main-menu a {
    font-size: var(--fz-22pt);
  }

  .post-related-list-nav a {
    font-size: var(--fz-18pt);
  }

  .edco-category-title {
    font-size: var(--fz-45pt);
  }

  /* --------------- CONTENIDOS FIJOS -------------- */
  .wp-block-arqdis-plugin-section-title {
    font-size: var(--fz-24pt);
  }

  .info-section .wp-block-arqdis-plugin-section-title {
    font-size: var(--fz-20pt);
  }

  .info-section .info-section .wp-block-arqdis-plugin-section-title {
    font-size: var(--fz-16pt);
  }

  .info-page-content .table-of-contents {
    font-weight: 500;
    font-size: var(--fz-14pt);
  }

  .info-page-content .table-of-contents ul li ul li,
  .info-page-content .table-of-contents h6 {
    font-size: var(--fz-11pt);
  }

  .info-page-contact-title {
    font-size: var(--fz-24pt);
  }

  /*------------- MENÚ DE NAVEGACIÓN -------------*/
  /* Sidebar and nav menu */
  nav#menu-button a {
    font-size: var(--fz-18pt);
  }

  nav#main-nav,
  footer,
  .nota-banner-container,
  .episode-banner-container,
  main,
  body {
    --logo-h: 45px;
  }

  /*------------- DIAGRAMACIÓN -------------*/
  /* -- SINGLES ESPACIOS -- */
  .tecnico {
    max-height: unset;
    overflow-y: unset;
  }

  .tecnico .nombre {
    display: block;
  }

  /* -- SINGLE EVENTO -- */
  time.fecha-evento {
    padding-top: 0.65rem;
  }

  time.fecha-pasada {
    padding-left: 12px;
  }

  time.fecha-futura {
    margin-left: -10px;
  }

  /* -- NOTAS -- FLOATING IMAGES -- */
  figure.wp-block-image.is-style-float-left {
    margin-left: calc(var(--min-side-margin) * -1 + var(--float-margin));
  }

  /* -- LAYOUT INVERTIDO -- */
  .layout-container.inverted-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  /* -- FOOTER -- */
  footer > div:first-child {
    grid-template-areas:
      "logo skip item1 item2"
      "logo skip item3 item4";
    grid-row-gap: 1.5rem;
  }

  a#footer-logo {
    grid-area: logo;
    --logo-h: 50px;
  }

  [id*="footer_col_"],
  [id*="footer_col_"]:nth-child(2),
  [id*="footer_col_"]:last-child {
    --footer-item-margin: 1rem;
    margin: 0 var(--footer-item-margin);
  }

  #footer_col_1 {
    grid-area: item1;
  }

  #footer_col_2 {
    grid-area: item2;
  }

  #footer_col_3 {
    grid-area: item3;
  }

  #footer_col_4 {
    grid-area: item4;
  }
  /* ------- CONTENIDOS FIJOS -------*/
  .info-page-content {
    grid-column-gap: 0;
  }

  .info-page-content .table-of-contents {
    top: calc(var(--logo-h) + 10px);
    --max-table-h: 92vh;
  }

  .logged-in .info-page-content .table-of-contents {
    top: calc(var(--logo-h) + var(--logged-in-h) + 10px);
    --max-table-h: calc(92vh - var(--logged-in-h));
  }

  /* Programa Interactivo */
  .interactive-program-container.programa-pregrado {
    grid-template-columns: auto;
    grid-row-gap: 0;
  }

  .programa-dis.interactive-program-container,
  .programa-mdis.interactive-program-container {
    max-width: calc(85vh * 1.3189606395);
    min-width: calc(750px * 1.3189606395);
  }

  .programa-arq.interactive-program-container {
    max-width: calc(85vh * 1.5876980762);
    min-width: calc(620px * 1.5876980762);
  }

  .programa-mam.interactive-program-container {
    max-width: calc(110vh * 1.2899351098);
    min-width: calc(750px * 1.2899351098);
  }

  .programa-pregrado .program-dynamic-info-container.starting-content {
    opacity: 0;
  }

  .programa-pregrado .program-right-dialog-window {
    position: static;
  }
  .programa-pregrado .program-dynamic-info-container {
    position: absolute;
    left: var(--min-side-margin);
    max-width: unset;
    max-height: unset;
    width: calc(100% - var(--min-side-margin) * 2);
    height: 100%;
    background: rgba(255, 255, 255, 0.95);
  }

  @media screen and (max-width: 990px) {
    .programa-pregrado .program-dynamic-info-container {
      left: 0;
    }
  }

  .programa-pregrado .program-dynamic-info-container {
    display: grid;
    grid-template-columns: 95px 1fr 1fr;
    gap: 30px;
    padding: 50px;
  }

  .programa-pregrado .course-type-icon {
    max-width: unset;
    max-height: unset;
    max-width: 20%;
  }

  .programa-pregrado nav.related-courses-nav {
    overflow-y: auto;
    overflow-x: hidden;
  }

  .program-dynamic-info-close-btn {
    display: block;
    border: none;
    background-color: transparent;
    position: absolute;
    width: 30px;
    height: 30px;
    padding: 0;
    top: 10px;
    right: 10px;
    background-image: url("assets/close-blue.svg");
    filter: grayscale(1);
    opacity: 0.7;
    cursor: pointer;
    transition: opacity 0.3s;
  }

  .program-dynamic-info-close-btn:hover {
    opacity: 1;
  }

  .download-study-plan-button {
    right: var(--min-side-margin);
  }

  /* -------------------- ARQDIS GRID -------------------- */
  .grid-container {
    --grid-col-count: 3;
  }
  /* ------ CONTENIDOS RELACIONADOS LAYOUT ------*/
  .post-related-content .grid-archive-item:nth-last-child(1) {
    display: none;
  }

  /* ---------- INVESTIGACIONES GRID LAYOUT ---------*/
  .investigaciones-archive-grid-container,
  .series-archive-grid-container {
    --grid-col-count: 1;
  }

  /*----- INTERNAL EDCO ARCHIVES ------*/
  .post-related-list-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .post-related-list-nav a:nth-last-child(3) {
    border-bottom: none;
  }

  .post-related-list-nav a:nth-child(3) {
    margin-top: -2px;
  }
}

/* Medium HiDPI devices (desktops, 1399 and below) */
@media only screen and (max-width: 1399px) {
  /*------------- TIPOGRAFÍA -------------*/
  /* -- ARCHIVE -- */
  .serie-title,
  .archive-title {
    font-size: var(--fz-70pt);
  }

  .serie-title.long-title,
  .archive-title.long-title {
    font-size: var(--fz-50pt);
  }

  .archive-subtitle {
    font-size: var(--fz-20pt);
  }

  /*------------- DIAGRAMACIÓN -------------*/
  /* -- SINGLE CONTENIDO GRATIS -- */
  .related-pub-links {
    grid-template-columns: 1fr;
    grid-row-gap: 1rem;
  }

  .related-pub-links a,
  .related-pub-links button {
    padding: 0.8em;
  }
}

/* Large devices (desktops, 1199 and below) */
@media only screen and (max-width: 1199px) {
  /*------------- TIPOGRAFÍA -------------*/
  /* -- SINGLES -- */
  .section-title {
    font-size: var(--fz-35pt);
  }

  .section-title.long-title {
    font-size: var(--fz-24pt);
  }

  h5.post-subtitle,
  .pub-index-section {
    font-size: var(--fz-24pt);
  }

  .concurso-side-info {
    font-size: var(--fz-14pt);
  }

  h5.post-intitle {
    font-size: var(--fz-24pt);
  }

  /* -- SINGLE EVENTO -- */
  .evento-fecha-mes {
    font-size: var(--fz-16pt);
  }

  .evento-fecha-inicio .evento-fecha-mes,
  .evento-fecha-fin .evento-fecha-mes {
    font-size: var(--fz-18pt);
  }

  .evento-fecha-dia {
    font-size: var(--fz-35pt);
  }

  .evento-fecha-inicio .evento-fecha-dia,
  .evento-fecha-fin .evento-fecha-dia {
    font-size: var(--fz-28pt);
  }

  .evento-fecha-ano {
    font-size: var(--fz-14pt);
  }

  .evento-fecha-hora,
  .evento-fecha-zona {
    font-size: var(--fz-12pt);
  }

  .child-event-time,
  .event-itinerary-date {
    font-size: var(--fz-12pt);
  }

  .child-event-title {
    font-size: var(--fz-16pt);
  }

  /* -- SINGLE EXPO -- */
  .expo-section-title,
  .expo-section-shortcut {
    font-size: var(--fz-22pt);
  }

  .long-index .expo-section-shortcut {
    font-size: var(--fz-20pt);
  }

  /* -- ARCHIVO -- */
  .serie-title,
  .archive-title {
    font-size: var(--fz-60pt);
  }

  .serie-title.long-title,
  .archive-title.long-title {
    font-size: var(--fz-40pt);
  }

  /* -- GRID CURSOS -- */
  .grid-post-thumbnail .cinta-en-construccion {
    font-size: var(--fz-18pt);
  }

  /* -- PROGRAMAS ARCHIVE -- */
  .programa-heading-title {
    font-size: var(--fz-50pt);
  }

  .programa-heading-title.long-title {
    font-size: var(--fz-40pt);
  }

  .programa-descripcion {
    font-size: var(--fz-12pt);
  }

  .programa-header .programa-slogan {
    font-size: var(--fz-16pt);
  }

  .enlace-contenido-fijo {
    font-size: var(--fz-12pt);
  }

  .download-programa,
  .programa-header-nav-links {
    font-size: var(--fz-10pt);
  }

  /* --------------- CONTENIDOS FIJOS -------------- */
  .wp-block-arqdis-plugin-section-title {
    font-size: var(--fz-20pt);
  }

  .info-section .wp-block-arqdis-plugin-section-title {
    font-size: var(--fz-16pt);
  }

  .info-section .info-section .wp-block-arqdis-plugin-section-title {
    font-size: var(--fz-14pt);
  }

  .info-page-content .table-of-contents {
    font-weight: 500;
    font-size: var(--fz-12pt);
  }

  .info-page-content .table-of-contents ul li ul li,
  .info-page-content .table-of-contents h6 {
    font-size: var(--fz-10pt);
  }

  .info-page-contact-title {
    font-size: var(--fz-22pt);
  }

  .info-page-contact-subtitle {
    font-size: var(--fz-14pt);
  }

  .related-courses-nav a {
    font-size: var(--fz-12pt);
  }

  /*------------- GRID -------------*/
  .grid-title.grid-large-title {
    font-size: var(--fz-18pt);
  }

  .grid-title.grid-largest-title {
    font-size: var(--fz-20pt);
  }

  .grid-title.grid-medium-title {
    font-size: var(--fz-16pt);
  }

  .grid-post-type-link {
    font-size: var(--fz-12pt);
  }

  .info-page-heading .info-page-slogan {
    font-size: var(--fz-12pt);
    display: none;
  }

  /* ----- TIPO DE CURSO PREVIEW -----*/
  .course-type-item-header,
  .archive-pinned-header {
    font-size: var(--fz-16pt);
  }

  .grid-container a.post-button,
  .grid-container button.post-button,
  .course-type-desc-item .post-body p {
    font-size: var(--fz-12pt);
  }

  /* -- GRID CONTENIDOS FIJOS --*/
  .contenido-fijo-title {
    font-size: var(--fz-22pt);
  }

  /* --------------- EDCO -------------- */
  .edco-main-menu a {
    font-size: var(--fz-30pt);
  }

  .highlighted-edco-subtitle {
    font-size: var(--fz-30pt);
  }

  .edco-category-title {
    font-size: var(--fz-35pt);
  }

  /*------------- MENÚ DE NAVEGACIÓN -------------*/
  /* Sidebar and nav menu */
  nav#menu-button a {
    font-size: var(--fz-16pt);
  }

  nav#main-nav,
  footer,
  .nota-banner-container,
  .episode-banner-container,
  main,
  body {
    --logo-h: 40px;
  }

  /*------------- DIAGRAMACIÓN -------------*/
  /* -- SINGLES ESPACIOS -- */
  .tecnico .nombre {
    display: initial;
  }

  .tecnico:not(:first-child) {
    display: none;
  }

  /* -- SINGLES EVENTOS -- */
  time.fecha-evento {
    padding-top: 0.49rem;
  }

  time.fecha-pasada {
    padding-left: 10px;
  }

  /* -- LAYOUT EXPOSICIONES -- */
  .layout-container-expo {
    grid-column-gap: 5%;
  }

  /* -- SINGLE EXPO COMPLEJA -- */
  .expo-content.complex-content ul.expo-section-list,
  .expo-content.middle-content ul.expo-section-list {
    /* Indent */
    padding-left: 15px;
  }

  /* -- NOTAS -- BLOCKQUOTE -- */
  blockquote.wp-block-arqdis-plugin-quote,
  blockquote.wp-block-arqdis-plugin-quote.is-style-grid-quote,
  blockquote.wp-block-arqdis-plugin-quote.is-style-dot-quote,
  blockquote.wp-block-arqdis-plugin-quote.is-style-math-quote {
    min-width: 160%;
  }

  /* -- FOOTER -- */
  a#footer-logo {
    --logo-h: 35px;
  }

  /* -- SINGLE SERIES -- */
  .serie-vertical-preview {
    display: initial;
  }

  .serie-horizontal-preview:not(:last-child) {
    /* solo esconderla si hay un vertical preview */
    display: none;
  }

  #serie-badge {
    width: 40%;
  }

  /* -- PROGRAMAS ARCHIVE -- */
  .enlace-contenido-fijo.enlace-contenido-externo {
    padding: 0 50px;
  }

  .enlace-contenido-fijo.enlace-contenido-externo::after {
    width: 30px;
  }

  /* ---------- EDCO ARCHIVES ------------- */
  .edco-main-menu {
    min-height: calc(100vh - var(--main-nav-h));
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    grid-auto-columns: minmax(0, 1fr);
    grid-template-rows: unset;
  }

  .logged-in .edco-main-menu {
    grid-template-rows: unset;
  }

  .edco-main-menu a {
    justify-content: start;
  }

  .edco-link-container {
    max-width: unset;
    margin-top: unset;
    padding: 1em;
  }

  /*- HOVERS -*/
  .edco-link-container {
    transition: padding-left 0.3s;
  }

  .edco-main-menu:hover a:hover .edco-link-container {
    margin-top: unset;
    padding-left: 1.3em;
  }

  /* -------- PROGRAMA ARCHIVE -------*/
  .programa-header .download-programa:not(:first-child) {
    margin-left: 0.5em;
  }

  /* -------- CONTENIDOS FIJOS -------*/
  .info-page-content {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 4fr);
  }

  .info-page-contact-form-container {
    grid-column-gap: 30px;
  }

  /* Programa Interactivo */
  .programa-pregrado .program-dynamic-info-container {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 95px auto;
  }

  .programa-pregrado .course-type-icon {
    margin-bottom: 0;
    max-height: 95px;
  }

  .programa-pregrado .course-info-container {
    grid-row: 2;
  }

  .programa-pregrado nav.related-courses-nav {
    grid-row: 1 / span 2;
  }

  .programa-posgrado .program-svg-container svg {
    height: auto;
  }

  /* --------------- BANNER HOME -------------- */
  .banner-menu-item {
    display: none;
  }

  .banner-menu-item:nth-child(1),
  .banner-menu-item:nth-child(2),
  .banner-menu-item:nth-child(3) {
    display: inline-flex;
  }
}

/* Medium devices (tablets, 991px and below) */
@media only screen and (max-width: 991px) {
  /*------------- TIPOGRAFÍA -------------*/
  /* -- SINGLES -- */
  .section-title {
    font-size: var(--fz-24pt);
  }

  .section-title.long-title {
    font-size: var(--fz-18pt);
  }

  .evento-fecha-mes {
    font-size: var(--fz-15pt);
  }

  .evento-fecha-dia {
    font-size: var(--fz-30pt);
  }

  .evento-fecha-ano {
    font-size: var(--fz-14pt);
  }

  .evento-fecha-hora,
  .evento-fecha-zona {
    font-size: var(--fz-12pt);
  }

  .evento-fecha-inicio .evento-fecha-dia,
  .evento-fecha-fin .evento-fecha-dia {
    font-size: var(--fz-24pt);
  }

  .evento-fecha-inicio .evento-fecha-mes,
  .evento-fecha-fin .evento-fecha-mes {
    font-size: var(--fz-16pt);
  }

  h4.wp-block-arqdis-plugin-subtitle {
    font-size: var(--fz-20pt);
    line-height: var(--fz-24pt);
  }

  h5.post-subtitle,
  .expo-section-title,
  .expo-section-shortcut,
  .long-index .expo-section-shortcut {
    font-size: var(--fz-16pt);
  }

  h4.post-subtitle,
  h2.main-subtitle {
    font-size: var(--fz-14pt);
    line-height: var(--fz-18pt);
  }

  h3.post-subtitle,
  h2.main-subtitle.long-subtitle,
  li.expo-project-title {
    font-size: var(--fz-16pt);
  }

  h6.post-subtitle,
  a.facility-link,
  time.wp-block-arqdis-plugin-post-date,
  h6.wp-block-arqdis-plugin-author {
    font-size: var(--fz-14pt);
    line-height: var(--fz-20pt);
  }

  .post-related-people {
    font-size: var(--fz-16pt);
    line-height: var(--fz-20pt);
  }

  h6.wp-block-arqdis-plugin-intitle {
    font-size: var(--fz-16pt);
    line-height: var(--fz-20pt);
  }

  [class*="wp-block"] figcaption,
  span.text-caption,
  figcaption.text-caption {
    font-size: var(--fz-12pt);
  }

  blockquote.wp-block-arqdis-plugin-quote {
    font-size: var(--fz-24pt);
    line-height: 1.4em;
  }

  .event-intitle,
  .post-intitle,
  h6.related-content-title {
    font-size: var(--fz-18pt);
  }

  h5.post-intitle {
    font-size: var(--fz-20pt);
  }

  .expo-project-author {
    font-size: var(--fz-14pt);
  }

  button.expo-index {
    font-size: var(--fz-16pt);
  }

  .podcast-episode-title {
    font-size: var(--fz-18pt);
  }

  .anuncio-lista-title,
  .anuncio-lista-item-parent {
    font-size: var(--fz-18pt);
  }

  .anuncio-lista-item-name,
  .anuncio-lista-item {
    font-size: var(--fz-13pt);
  }

  .anuncio-lista-mes {
    font-size: var(--fz-12pt);
  }

  /* -- ARCHIVO -- */
  .serie-title,
  .archive-title {
    font-size: var(--fz-50pt);
  }

  .serie-title.long-title,
  .archive-title.long-title {
    font-size: var(--fz-30pt);
  }

  .small-archive-title {
    font-size: var(--fz-28pt);
  }

  /* -- EDCO ARCHIVE -- */
  .post-related-list-nav a {
    font-size: var(--fz-16pt);
  }

  .edco-category-title {
    font-size: var(--fz-40pt);
  }

  /* -- EVENTOS GRID BANNER -- */
  .week-event-desc {
    font-size: var(--fz-13pt);
    line-height: 1.2em;
  }

  /* ---- CONTENIDOS FIJOS ---- */
  .info-page-main p,
  .info-page-main li {
    font-size: var(--fz-12pt);
    line-height: 1.7em;
  }

  .download-programa,
  .programa-header-nav-links {
    font-size: var(--fz-12pt);
  }

  /*------------- MENÚ DE NAVEGACIÓN -------------*/
  /* Sidebar and nav menu */
  div#side-wrapper {
    width: min(50vw, 30rem);
  }

  /*------------- BANNER HOME -------------*/
  .home-banner-container,
  .edco-nav-marquee,
  .cinta-en-construccion {
    font-size: var(--fz-17pt);
  }

  /* -- GRID CURSOS -- */
  .grid-post-thumbnail .cinta-en-construccion {
    font-size: var(--fz-20pt);
  }

  /*------------- DIAGRAMACIÓN -------------*/

  h5.post-subtitle {
    margin: 0.4em 0;
  }

  /* -- LAYOUT CSS GRID -- */
  .layout-container {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr);
    grid-column-gap: 30px;
  }

  .layout-container.wide-content {
    grid-template-columns: minmax(0, 2fr) 0px;
  }

  .layout-main-bottom {
    grid-column: span 2;
  }

  /* -- ALT LAYOUT -- */
  .layout-container.alt-layout {
    grid-template-columns: 0px minmax(0, 2fr) minmax(0, 1.4fr);
    grid-column-gap: 45px;
  }

  .alt-layout .layout-main-bottom {
    grid-column: 2 / span 2;
  }

  /* ---------- FILTROS GRID ---------*/
  .filter-module-container {
    display: block;
  }

  .show-filters-button,
  .switch-type-names {
    display: none;
  }

  .topics-filter,
  .topics-filter.compressed {
    height: unset !important;
    max-width: 100vw;
    display: flex;
    flex-wrap: nowrap;
    overflow: auto;
    margin: 0 calc(-1 * var(--min-side-margin));
    padding: 0 var(--min-side-margin);

    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
  }

  .course-type-filter-module .topics-filter button.topic-button-filter {
    flex-shrink: 0;
  }

  .topics-filter::-webkit-scrollbar {
    display: none;
  }

  /* -- SINGLES ESPACIOS -- */
  .facility-single-container .post-body {
    margin-top: 1rem;
  }

  #facility-image-container {
    --longest-side: 90vw;
    height: auto;
    overflow-x: auto;
    overflow-y: hidden;
    position: static;
    scroll-snap-type: x mandatory;
  }

  #facility-image-container > div {
    height: auto;
    width: min-content;
    position: static;
    display: flex;
    flex-direction: row;
    align-items: center;
  }

  .facility-image {
    position: static;
    margin: 0 15px;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    overflow: hidden;
  }

  #facility-slider-container {
    position: relative;
  }

  #facility-slider-container .gallery-nav {
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    transition: 0.3s;
  }

  #facility-slider-container .gallery-nav > img {
    height: 3rem;
  }

  #facility-slider-container #prev-slide {
    left: 20px;
  }

  #facility-slider-container #prev-slide:hover {
    left: 10px;
  }

  #facility-slider-container #next-slide {
    right: 20px;
  }

  #facility-slider-container #next-slide:hover {
    right: 10px;
  }

  .facility-image:hover {
    cursor: ew-resize;
  }

  /* -- SINGLES EVENTOS -- */
  time.fecha-evento {
    padding-top: 0.45rem;
    justify-content: center;
  }

  time.fecha-evento span {
    padding-bottom: 3px;
  }

  time.fecha-pasada {
    padding-left: 5px;
  }

  time.fecha-futura {
    margin-left: 0;
  }

  time.fecha-futura > div {
    padding-right: 10px;
  }

  /* -- LAYOUT EXPOSICIONES -- */

  .layout-container-expo {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
  }

  .layout-container-expo .layout-aside {
    grid-row: 3;
  }

  /* -- SINGLE EXPOSICIONES -- */
  .expo-single-container.container-fluid {
    padding-left: var(--min-side-margin);
    padding-right: var(--min-side-margin);
  }

  .layout-container-expo .layout-aside {
    margin: 0 calc(-1 * var(--min-side-margin));
  }

  .expo-content {
    --expo-nav-h: 50px;
  }

  .expo-content,
  .logged-in .expo-content {
    border-left: none;
    border-bottom: none;
    max-height: unset;
    overflow: unset;
    position: static;
    top: unset;

    margin-top: 2rem;
  }

  nav.expo-navigation button {
    border-bottom: 2px solid black;
  }

  .expo-thumbnail {
    display: block;
  }

  /* -- EXPO COMPLEJA -- */
  nav.expo-index {
    padding-left: 30px;
    min-height: unset;
  }

  .expo-index-title {
    display: block;
    padding-left: 30px;
    margin: 0 -15px;
    padding-bottom: 1rem;
    background: white;
    position: relative;
    z-index: 2;
  }

  button.expo-section-shortcut {
    border-left: 2px solid black;
  }

  button.expo-section-shortcut:first-child {
    border-top: 2px solid black;
  }

  button.expo-section-shortcut::before {
    left: 3.5em;
  }

  /* -- SINGLE DESCARGABLE -- */
  .single-descargables .post-bottom-content {
    margin-top: 2rem;
  }

  /* -- NOTAS -- FLOATING IMAGES -- */
  figure.wp-block-image.is-style-float-left {
    float: unset;
    max-width: 100%;
    margin: 3rem 0;
  }

  /* -- NOTAS -- BLOCKQUOTE -- */
  blockquote.wp-block-arqdis-plugin-quote,
  blockquote.wp-block-arqdis-plugin-quote.is-style-grid-quote,
  blockquote.wp-block-arqdis-plugin-quote.is-style-dot-quote,
  blockquote.wp-block-arqdis-plugin-quote.is-style-math-quote {
    min-width: 170%;
  }

  /* -- SINGLE EXPERIENCIA -- */
  .experience-image {
    margin: 12.5px 0;
  }

  .layout-main-top .experience-image:first-child {
    margin-top: 30px;
  }

  /* -- FOOTER -- */
  footer {
    padding: 3rem var(--min-side-margin);
  }

  footer > div:first-child {
    grid-template-areas:
      "logo skip"
      "item1 item2"
      "item3 item4";
    grid-row-gap: 2rem;
    justify-content: initial;
    grid-auto-columns: auto;
  }

  a#footer-logo {
    --logo-h: 35px;
  }

  [id*="footer_col_"]:nth-child(2n) {
    margin-left: 0 !important;
    margin-right: var(--footer-item-margin);
  }

  [id*="footer_col_"]:nth-child(2n + 1) {
    margin-right: 0 !important;
    margin-left: var(--footer-item-margin);
  }

  #footer_bottom {
    text-align: left;
  }

  /* -------- CONTENIDOS FIJOS -------*/
  .info-page-content {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 4fr);
  }

  .info-page-main {
    padding: 15px;
    padding-bottom: 80px;
  }

  .info-page-contact-form-container {
    grid-template-columns: 1fr;
    grid-row-gap: 30px;
  }

  nav.pdf-file-grid {
    grid-template-columns: 1fr 1fr;
  }

  /* Programa Interactivo */
  .interactive-program-container {
    grid-row-gap: 0;
  }

  .program-static-image {
    display: initial;
    background: white;
    padding: 2vw;
  }

  .program-svg-container,
  .program-dynamic-info-container,
  .programa-pregrado .program-dynamic-info-container {
    display: none;
  }

  .interactive-program-container {
    grid-template-columns: 1fr;
  }

  .programa-dis.interactive-program-container,
  .programa-mdis.interactive-program-container,
  .programa-arq.interactive-program-container,
  .programa-mam.interactive-program-container {
    max-width: unset;
    min-width: unset;
  }

  /* -------------- ANUNCIO SINGLE ------------ */
  .anuncio-paper-doc-content {
    padding: var(--min-side-margin);
  }

  .anuncio-banner {
    width: calc(100% + var(--min-side-margin) * 2);
    margin-left: calc(var(--min-side-margin) * -1);
    margin-top: calc(var(--min-side-margin) * -1);
  }

  .anuncio-inline-img {
    margin-right: 0;
    padding: 0 0 20px 20px;
  }

  /* -------------------- ARQDIS GRID -------------------- */
  .grid-container {
    --grid-col-count: 2;
  }

  /* ------ CONTENIDOS RELACIONADOS LAYOUT ------*/
  .post-related-content .grid-archive-item:nth-last-child(2) {
    display: none;
  }

  /* ---------- INVESTIGACIONES GRID LAYOUT ---------*/
  .investigaciones-archive-grid-container,
  .series-archive-grid-container {
    display: block;
    grid-template-columns: unset;
  }

  .investigaciones-interactive-map {
    display: none;
  }

  /* -- ARCHIVO SERIES -- */
  .series-featured-images {
    display: none;
  }

  /*------------- PROGRAMAS ARCHIVE -------------*/
  .programa-header {
    grid-template-columns: minmax(0, 1fr);
  }

  .programa-header .download-programa:not(.admissions-button) {
    display: none;
  }

  .programa-header .download-programa:not(:first-child) {
    margin-left: 1em;
  }

  .programa-header .programa-descripcion {
    max-width: 600px;
  }

  .programa-header .programa-slogan {
    width: calc(100% - var(--program-slogan-offset));
  }

  .programa-header .programa-metadata {
    width: 100%;
  }

  .programa-slogan.sizing-element,
  .programa-metadata.sizing-element {
    opacity: 1;
  }

  .enlace-contenido-fijo.enlace-contenido-externo {
    padding: 0 35px;
  }

  .enlace-contenido-fijo.enlace-contenido-externo::after {
    width: 25px;
    right: 5px;
    background-position: center 5px;
  }

  /*----- EDCO ARCHIVE -----*/
  .edco-category-heading {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-row-gap: 30px;
  }

  .edco-category-title {
    padding-right: 0;
  }

  .edco-heading-bg {
    display: none;
  }

  /*----- EVENTOS GRID BANNER -----*/
  .week-event {
    grid-template-columns: 205px 1fr;
    width: 530px;
  }
}

/* Size where the logged in bar changes */
@media only screen and (max-width: 782px) {
  :root,
  html {
    --logged-in-h: 46px;
  }
}

/* Maintain menu visible in information page */
@media only screen and (max-width: 767px) {
  body.single-informacion.admin-bar nav#menu-button {
    top: 0;
  }
}

/* Size where the logged in bar positioning system changes */
@media only screen and (max-width: 600px) {
  body.single-informacion #wpadminbar {
    top: -46px;
  }
}

/* Small devices (landscape phones, 767px and below) */
@media only screen and (max-width: 767px) {
  /*------------- TIPOGRAFÍA -------------*/
  /*-- SINGLES --*/
  .section-title.long-title {
    font-size: var(--fz-20pt);
  }

  .podcast-episode-title {
    font-size: var(--fz-17pt);
  }

  .podcast-episode-content p {
    font-size: var(--fz-12pt);
  }

  /*-- ARCHIVO --*/
  .serie-title,
  .archive-title {
    font-size: var(--fz-40pt);
  }

  .archive-subtitle {
    font-size: var(--fz-18pt);
  }

  .tag-archive-title,
  .grid-header-container input.search-field,
  .grid-header-container form.search-form {
    font-size: var(--fz-22pt);
  }

  /* -- PROGRAMAS ARCHIVE -- */
  .programa-heading-title {
    font-size: var(--fz-40pt);
  }

  .programa-heading-title.long-title {
    font-size: var(--fz-30pt);
  }

  .programa-metadata {
    font-size: var(--fz-9pt);
  }

  .programa-header .programa-slogan {
    font-size: var(--fz-14pt);
  }

  /* -- GRID CURSOS -- */
  .grid-post-thumbnail .cinta-en-construccion {
    font-size: var(--fz-16pt);
  }

  /*------------- GRID -------------*/
  .grid-title {
    font-size: var(--fz-14pt);
  }

  .grid-subtitle {
    font-size: var(--fz-12pt);
  }

  .grid-smaller-subtitle {
    font-size: var(--fz-10pt);
  }

  .grid-post-type-link {
    font-size: var(--fz-11pt);
  }

  .grid-title.grid-large-title,
  .grid-title.grid-medium-title {
    font-size: var(--fz-14pt);
  }

  .grid-title.grid-largest-title {
    font-size: var(--fz-16pt);
  }

  .back-link {
    font-size: var(--fz-14pt);
  }

  /* -- TIPO DE CURSO PREVIEW --*/
  .course-type-item-header,
  .archive-pinned-header {
    font-size: var(--fz-14pt);
  }

  /* -- GRID CONTENIDOS FIJOS --*/
  .contenido-fijo-title {
    font-size: var(--fz-18pt);
  }

  .contenido-fijo-item {
    font-size: var(--fz-12pt);
  }

  /* -- CONTENIDOS FIJOS -- */
  .info-page-content .table-of-contents h6,
  .wp-block-arqdis-plugin-section-title {
    font-size: var(--fz-18pt);
    color: black;
    font-weight: 700;
  }

  .info-section .wp-block-arqdis-plugin-section-title {
    font-size: var(--fz-14pt);
  }

  .info-page-content .table-of-contents a,
  .info-section .info-section .wp-block-arqdis-plugin-section-title {
    font-size: var(--fz-14pt);
  }

  .info-page-content .table-of-contents a {
    color: black;
    text-decoration: none;
  }

  .info-page-content .table-of-contents a.active-anchor {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
  }

  /*------------- DIAGRAMACIÓN -------------*/
  /* -- MAIN GRID --*/
  body.archive main {
    overflow-x: hidden; /* para evitar scrollbar cuando hay un .anuncio-badge */
  }

  /* -- LAYOUT CSS GRID -- */
  .layout-container,
  .layout-container.wide-content {
    grid-template-columns: minmax(0, 1fr);
    grid-column-gap: 0;
  }

  .layout-aside {
    grid-row: span 1;
  }

  .layout-aside.bottom-on-mobile {
    grid-row: 3 / span 1;
  }

  .layout-main-bottom {
    grid-column: span 1;
  }

  /* -- ALT LAYOUT -- */
  .layout-container.alt-layout {
    grid-template-columns: minmax(0, 1fr) min-content;
    grid-column-gap: 15px;
  }

  .alt-layout .layout-left-bar {
    grid-column: 2;
  }

  .alt-layout .layout-heading {
    grid-column: 1;
  }

  .alt-layout .layout-aside,
  .alt-layout .layout-main-top,
  .alt-layout .layout-main-bottom {
    grid-column: 1 / span 2;
  }

  /* -- INVERTED LAYOUT -- */
  .layout-bottom-row {
    grid-column: span 1;
  }

  .layout-container.inverted-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  /* -- SINGLES -- */
  .cover-container {
    /* En pantallas pequeñas ↓ */
    position: unset;
    left: unset;
    padding: unset;
    margin-top: 1.4rem;
  }

  .cover-container img {
    width: 80%;
  }

  .cover-container img.full-width-image {
    width: 100%;
  }

  .cover-container .placeholder-image {
    display: none;
  }

  .cover-container.series-cover {
    position: relative;
  }

  .layout-main-top nav.post-buttons {
    display: grid;
  }

  .layout-aside nav.post-buttons {
    display: none;
  }

  /* -- EXPERIENCIA -- */
  #experience-video-container {
    margin: 1rem 0;
  }

  .layout-main-top .experience-image:first-child {
    margin-top: 12.5px;
  }

  .layout-aside .experience-image:first-child {
    margin-top: 30px;
  }

  /* -- SINGLE CURSOS -- */
  .single-cursos .cover-container {
    position: relative;
  }
  
  .cover-container .course-types-icons {
    top: 10px;
    right: calc(10px + 20%);
    width: 17%;
    gap: 10px;
  }

  /* -- SINGLES EVENTOS -- */
  time.fecha-evento {
    justify-content: center;
    padding-left: 0;
  }

  time.fecha-futura > div {
    padding-right: 0;
  }

  .child-event-list li {
    grid-template-columns: auto;
    grid-row-gap: 1rem;
  }

  .child-event-list li,
  .post-child-list li {
    padding-left: 15px;
    padding-right: 15px;
  }

  .child-event-time {
    margin-left: 0;
  }

  .child-event-list li.event-itinerary-date:first-child {
    padding-top: 0;
  }

  .child-event-list li.event-itinerary-date {
    padding-left: 0;
  }

  .event-itinerary-date
    ~ li:not(.event-itinerary-date + li):not(.event-itinerary-date) {
    border-top: 1px solid black;
  }

  .event-itinerary-date ~ li:not(.event-itinerary-date + li) .child-event-data {
    border-top: 0;
  }

  .event-itinerary-date ~ li:not(.event-itinerary-date + li) > * {
    padding-top: 0;
  }

  .event-itinerary-date + li {
    padding-bottom: 1.5rem;
  }

  .event-itinerary-date
    ~ li:not(.event-itinerary-date + li):not(.event-itinerary-date) {
    padding-top: 1.5rem;
  }

  .event-itinerary-date ~ li:not(.event-itinerary-date) {
    padding-left: 0;
    margin-left: 15px;
  }

  .child-event-list li.event-itinerary-date {
    padding-bottom: 1.5rem;
    padding-top: 1.5rem;
    margin-top: 0;
  }

  /* -- ÍNDICE PUBLICACIONES -- */
  .publication-index,
  .publication-index-title {
    display: none;
  }

  /* -- CRÉDITOS PUBLICACIONES -- */
  .pub-credits-list {
    display: none;
  }

  /* -- NOTAS -- FLOATING IMAGES -- */
  figure.wp-block-image.is-style-float-left {
    float: left;
    max-width: 50%;
    margin-left: calc(var(--min-side-margin) * -1 + var(--float-margin));
    margin-right: 2rem;
    margin-top: 0.5rem;
    margin-bottom: -5px;
  }

  /* -- NOTAS -- BLOCKQUOTE -- */
  blockquote.wp-block-arqdis-plugin-quote,
  blockquote.wp-block-arqdis-plugin-quote.is-style-grid-quote,
  blockquote.wp-block-arqdis-plugin-quote.is-style-dot-quote,
  blockquote.wp-block-arqdis-plugin-quote.is-style-math-quote {
    min-width: 100%;
  }

  /* -- NOTAS -- BANNER -- */
  main.no-title {
    margin-top: 0;
  }

  main.no-title .wp-block-arqdis-plugin-subtitle {
    margin-top: 0.8em;
  }

  /* -- SINGLES PUBLICACIONES -- */
  .single-publicaciones .post-bottom-content {
    margin-top: 2rem;
  }

  /* -- SINGLE DESCARGABLE -- */
  .single-descargables .post-bottom-content {
    margin-top: 0;
  }

  .layout-aside.layout-push-to-bottom {
    grid-row: 4;
  }

  h6.related-pub-title {
    display: block;
  }

  .single-descargables h6.related-pub-title {
    margin-top: 0.5em;
  }

  /* -------------- ANUNCIO SINGLE ------------ */
  .anuncio-paper-doc-content {
    padding: var(--min-side-margin) calc(var(--min-side-margin) / 2);
    margin: 0 calc(var(--min-side-margin) / -2);
  }

  .anuncio-attachments-container {
    padding-left: calc(var(--min-side-margin) / 2) !important;
    padding-right: calc(var(--min-side-margin) / 2) !important;
  }

  .anuncio-banner {
    width: calc(100% + var(--min-side-margin));
    margin-left: calc(var(--min-side-margin) / -2);
  }

  /* -- CROQUIS COLOMBIA INVESTIGACIONES -- */
  .cover-container .research-thumb-container {
    width: 80%;
  }

  .research-thumb-container > img {
    width: 100%;
  }

  /* -- SLIDESHOW OPACIDAD -- */
  .opacity-slideshow-container .gallery-nav > img {
    height: 2.5rem;
  }

  .opacity-slideshow-container #prev-slide:hover {
    left: 13px;
  }

  .opacity-slideshow-container #next-slide:hover {
    right: 13px;
  }

  /* -- GALERÍA SINGLE PUBLICACIONES -- */
  .publicaciones-slider-height-wrapper {
    padding-top: calc(var(--pub-cover-h) * 0.8);
  }

  .over-content-slider-container {
    margin: 0px calc(-1 * var(--min-side-margin));
    width: 100vw;
    overflow-x: auto;
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
  }

  .over-content-slider-container::-webkit-scrollbar {
    display: none;
  }

  .over-content-slider-container > img:first-child {
    margin-left: var(--min-side-margin);
  }

  .over-content-slider-container > img:last-child {
    padding-right: var(--min-side-margin);
  }

  .over-content-slider-container {
    display: flex;
    flex-direction: row;
    align-items: start;
    height: 100%;
    flex-wrap: nowrap;
  }

  .over-content-slider-container > img {
    flex-shrink: 0;
  }

  .publicaciones-thumbnails {
    display: none;
  }

  .over-content-slider-handle,
  .over-content-slider-container > img:first-child {
    height: 100%;
    width: auto;
    max-width: unset;
    box-shadow: unset;
  }

  .over-content-slider-handle:not(:first-child) {
    opacity: 1;
    left: unset;
    top: unset;
    right: unset;
  }

  /* -- SINGLE SERIES -- */
  #serie-badge {
    right: 0;
    width: 25%;
  }

  /*----- EVENTOS GRID BANNER -----*/
  .week-event-list {
    padding: 0 15px;
  }

  .week-events-banner .grid-largest-title {
    padding-left: 15px;
  }

  .week-events-scroller {
    margin-right: 15px;
    margin-top: 15px;
  }

  .week-events-banner {
    padding-top: 15px;
    padding-bottom: 15px;
  }

  .week-event {
    grid-template-columns: 215px 1fr;
    width: 515px;
  }

  .home .week-events-banner-container ~ .grid-header-container h2 {
    margin-top: 1em;
  }

  /* --------- PROGRAMAS ARCHIVE --------- */
  .programa-top-container {
    flex-direction: column-reverse;
  }

  .programa-contenidos-fijos {
    margin-top: 25px;
    margin-bottom: 0;
  }

  .programa-contenidos-fijos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 20px;
  }

  /* ---------- BOTÓN VOLVER ---------*/
  .post-related-grid .back-button-container {
    margin-bottom: 3rem;
  }

  /* ---------- EDCO INTERNAL ARCHIVE ---------*/
  .post-related-list-nav {
    grid-template-columns: minmax(0, 1fr);
  }

  .post-related-list-nav a:nth-last-child(2) {
    border-bottom: none;
  }

  .post-related-list-nav a:nth-child(2) {
    margin-top: -2px;
  }

  .simple-form-container .wpcf7 .wpcf7-form {
    padding-left: 0;
    padding-right: 0;
  }

  .edco-contact-container {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .edco-contact-container .hide-in-mobile {
    display: none;
  }

  /* ------- CONTENIDOS FIJOS -------*/
  .info-page-content {
    grid-template-columns: 1fr;
    box-shadow: none;
  }

  .info-page-mobile-toc {
    display: block;
    padding: 0;
    margin: 15px 0 15px;
  }

  body.single-informacion {
    --info-page-selector-h: 54px;
  }

  body.single-informacion.info-page-toc-open {
    overflow: hidden;
  }

  body.single-informacion.info-page-toc-open .info-page-mobile-selector {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
  }

  .info-page-mobile-selector {
    display: block;
    position: sticky;
    top: 0;
    z-index: 5000;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    box-shadow:
      0 10px 10px rgba(0, 0, 0, 0.22);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  }

  .logged-in .info-page-mobile-selector {
    top: 0;
  }

  .info-page-mobile-selector__button {
    width: 100%;
    min-height: var(--info-page-selector-h);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 15px;
    background: transparent;
    border: none;
    cursor: pointer;

    font-family: "Roboto Mono", monospace;
    line-height: 1.1em;
    text-transform: uppercase;
    font-weight: 700;
    font-size: var(--fz-14pt);
    color: #000;
  }

  .info-page-mobile-selector__current {
    flex: 1;
    text-align: left;
  }

  .info-page-mobile-selector__button::after {
    content: "";
    display: block;
    width: 1.1em;
    height: 1.1em;
    flex: none;
    background-image: url(assets/arrow-button-dwn.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transform: rotate(0deg);
    transition: transform 0.2s ease;
  }

  body.single-informacion.info-page-toc-open
    .info-page-mobile-selector__button::after {
    transform: rotate(180deg);
  }

  body.single-informacion .info-page-content .table-of-contents {
    position: fixed;
    left: 0;
    right: 0;
    top: var(--info-page-selector-h);
    bottom: auto;
    z-index: 4999;
    max-height: min(
      72vh,
      calc(100vh - var(--info-page-selector-h) - 12px)
    );
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;

    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    box-shadow: 0 26px 60px rgba(0, 0, 0, 0.2);
    border-radius: 0;

    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    transition:
      opacity 0.2s ease,
      transform 0.2s ease;
  }



  body.single-informacion
    .info-page-content
    .table-of-contents::-webkit-scrollbar {
    display: none;
  }

  body.single-informacion.info-page-toc-open
    .info-page-content
    .table-of-contents {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    padding-top: 1rem;
    padding-left: 1rem;
  }

  .info-page-mobile-toc-backdrop {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 4998;
    background: rgba(0, 0, 0, 0.22);

    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
  }

  body.single-informacion.info-page-toc-open .info-page-mobile-toc-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  .index-track .table-of-contents li.has-child-anchors + li {
    display: block;
  }

  .info-page-content .table-of-contents > ul > li {
    margin-bottom: 0.5em;
  }

  .index-track {
    box-shadow: none;
  }

  .index-track .table-of-contents {
    padding: 0;
    padding-bottom: 5px;
  }

  .index-track .table-of-content,
  .logged-in .index-track .table-of-contents {
    max-height: unset;
  }

  .info-page-main {
    padding: 0;
    padding-bottom: 80px;
  }

  .info-page-1 .info-page-main {
    padding-bottom: 0;
  }

  .info-page-2 {
    margin-top: 0;
  }

  .plan-contiene-boton-descargable ~ .info-page-2 {
    margin-top: 70px;
  }

  .info-page-main .wpcf7 .wpcf7-form {
    margin-bottom: 0;
  }

  .info-page-toc h6 {
    display: block;
    padding-bottom: 0;
    border-bottom: none;
    margin-bottom: 0;
    color:black;
    font-weight: bold;
    font-size: var(--fz-16pt);
    margin-bottom: 0.2em;
  }

  .info-page-toc a,
  .info-page-toc a:visited {
    color: #000;
    text-decoration: none;
  }

  .info-page-toc a.active-anchor,
  .info-page-toc a.active-anchor:visited {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
  }

  .info-page-toc .info-page-download-link a::after,
  .info-page-toc .info-page-contact-link a::after {
    content: none;
  }

  .info-page-toc li.toc-child-anchors ul {
    padding-left: 30px;
  }

  .info-page-toc li.toc-child-anchors a {
    font-size: var(--fz-12pt);
    font-weight: 500;
    opacity: 0.9;
  }

  .info-page-toc ul {
    padding-left: 15px;
  }

  .info-page-toc a::after {
    content: "";
    display: inline-block;
    width: 1.1em;
    height: 1em;
    margin-left: 0.5em;
    background-image: url(assets/arrow-button-se.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
  }

  .info-page-background {
    display: none;
  }

  .info-section {
    padding-left: 5px;
  }

  .info-page-content .table-of-contents .info-page-download-link {
    margin-top: 1.2em;
  }

  .info-page-content .table-of-contents .info-page-download-link a::after,
  .info-page-content .table-of-contents .info-page-contact-link a::after {
    content: none;
  }

  .info-page-content img[data-mfp-src] {
    pointer-events: none;
  }

  /* Scrolling Tabla de Contenidos */
  .info-page-1 .full-page-track {
    position: static;
    width: unset;
    height: unset;
    mask-image: unset;
    -webkit-mask-image: unset;
    background: transparent;
  }

  /* Programa Interactivo */
  .interactive-program-container {
    margin-top: 0;
  }

  .program-static-image {
    margin: 2rem 0;
    box-shadow: none;
  }

  /* Ensure static program image is visible on small screens */
  @media screen and (max-width: 991px) {
    .interactive-program-container .program-static-image {
      display: block !important;
    }
  }

  /* Also ensure the static program image is visible on medium screens
     without affecting other parts of the site. Scope to the interactive
     program container and only override the display property. */
  @media screen and (min-width: 992px) and (max-width: 1499px) {
    .interactive-program-container .program-static-image {
      display: block !important;
    }
  }

  /* Make DIS and MDIS programs stack like other postgrad programs at medium widths: show the static image
   and accordion stacked (no side-by-side SVG). This avoids the accordion
   appearing to the right of the static image. */
  @media screen and (min-width: 992px) and (max-width: 1499px) {
    .programa-dis.interactive-program-container,
    .programa-mdis.interactive-program-container {
      grid-template-columns: 1fr !important;
    }
    .programa-dis.interactive-program-container .program-svg-container,
    .programa-mdis.interactive-program-container .program-svg-container {
      display: none !important;
    }
    .programa-dis.interactive-program-container .program-static-image,
    .programa-mdis.interactive-program-container .program-static-image {
      display: block !important;
    }
  }

  /* Small screens: ensure DIS and MDIS interactive programs stack and are not grids, and
   the static image is visible. */
  @media screen and (max-width: 991px) {
    .programa-dis.interactive-program-container,
    .programa-mdis.interactive-program-container {
      display: block !important;
      grid-template-columns: unset !important;
    }
    .programa-dis.interactive-program-container .program-static-image,
    .programa-mdis.interactive-program-container .program-static-image {
      display: block !important;
      max-width: 100%;
      box-shadow: none;
    }
    .programa-dis.interactive-program-container .program-svg-container,
    .programa-mdis.interactive-program-container .program-svg-container {
      display: none !important;
    }
    /* ensure accordion stacks under/after the image */
    .programa-dis.interactive-program-container .program-acordeon-container,
    .programa-mdis.interactive-program-container .program-acordeon-container {
      display: block !important;
      width: 100%;
    }
  }

  .download-study-plan-button {
    margin-top: 0;
  }

  /*------------- MENÚ DE NAVEGACIÓN -------------*/
  /* Sidebar and nav menu */
  div#side-wrapper {
    width: max(
      0px,
      min(calc(100vw - var(--aside-pad) * 2 - var(--scrollbar-w)), 30rem)
    );
    /*width: clamp(0px, calc(100vw - var(--aside-pad)*2), 30rem);*/
  }

  .single nav#branding-top,
  .tax-series nav#branding-top,
  .single nav#menu-button,
  .tax-series nav#menu-button {
    position: absolute;
  }

  /* -- INTERSECTION OBSERVER --*/
  body.mid-scroll.single #branding-uniandes,
  body.mid-scroll.single #titulo-arqdis,
  body.mid-scroll.single #marca-registrada {
    display: initial;
  }

  /* -- FOOTER -- */
  footer {
    padding: 3rem var(--min-side-margin);
  }

  footer > div:first-child {
    grid-template-areas:
      "logo"
      "item1"
      "item2"
      "item3"
      "item4";
    grid-row-gap: 2rem;
  }

  [id*="footer_col_"]:nth-child(2n + 1) {
    margin-left: 0 !important;
    margin-right: var(--footer-item-margin);
  }

  #footer_bottom {
    margin-top: 2rem;
  }

  .footer-text-subtitle {
    margin-top: 0.2em;
  }

  .scroll-top-icon {
    width: 2.5rem;
  }

  svg#scroll-to-top line,
  svg#scroll-to-top polyline {
    stroke-width: 1.5;
  }

  /* ------------------- GRID ------------------- */
  /* ----- PAPER PREVIEW -----*/
  .paper-item .grid-post-link {
    padding: 10px 20px 15px 20px;
  }
}

@media only screen and (max-width: 700px) {
  nav#branding-top.on-site-top #anos-uniandes {
    display: none;
  }
}

/* Extra small devices (phones, 575px and below) */
@media only screen and (max-width: 575px) {
  /*------------ TIPOGRAFÍA -----------------*/
  /* -- SINGLES --*/
  .section-title.long-title {
    font-size: var(--fz-18pt);
  }

  blockquote.wp-block-arqdis-plugin-quote {
    font-size: var(--fz-18pt);
  }

  .topics a,
  .topics span,
  .filter-module-container,
  .topics-filter,
  .topics-filter button.topic-button-filter,
  .show-filters-button,
  .switch-type-names,
  .filter-tax-divider {
    font-size: var(--fz-12pt);
  }

  .anuncio-lista-title,
  .anuncio-lista-item-parent {
    font-size: var(--fz-16pt);
  }

  .anuncio-lista-item-name,
  .anuncio-lista-item {
    font-size: var(--fz-12pt);
  }

  /* -- SINGLE EVENTOS -- */
  .child-event-title {
    font-size: var(--fz-14pt);
  }

  .child-event-speakers {
    font-size: var(--fz-12pt);
    margin-top: 0.2em;
  }

  .child-event-desc {
    font-size: var(--fz-12pt);
    line-height: 1.4em;
  }

  .evento-fecha-inicio .evento-fecha-dia,
  .evento-fecha-fin .evento-fecha-dia {
    font-size: var(--fz-22pt);
  }

  .evento-fecha-inicio .evento-fecha-mes,
  .evento-fecha-fin .evento-fecha-mes {
    font-size: var(--fz-15pt);
  }

  /* -- FORMULARIOS -- */
  .wpcf7 label {
    font-size: var(--fz-12pt);
    font-weight: 400;
  }

  /* -- FOOTER -- */
  .footer-text-title {
    font-size: var(--fz-12pt);
  }

  .footer-text-subtitle {
    font-size: var(--fz-10pt);
  }

  /*
  p {
    font-size: var(--fz-12pt);
    line-height: var(--fz-20pt);
  }
  */

  /* -- ARCHIVO -- */
  .serie-title,
  .archive-title {
    font-size: var(--fz-30pt);
  }

  .archive-subtitle {
    font-size: var(--fz-16pt);
  }

  .serie-title.long-title,
  .archive-title.long-title {
    font-size: var(--fz-24pt);
  }

  .small-archive-title {
    font-size: var(--fz-22pt);
  }

  .tag-archive-title,
  .grid-header-container input.search-field,
  .grid-header-container form.search-form {
    font-size: var(--fz-18pt);
  }

  /* -- PROGRAMAS ARCHIVE -- */
  .programa-heading-title {
    font-size: var(--fz-26pt);
  }

  .programa-heading-title.long-title {
    font-size: var(--fz-22pt);
  }

  .programa-contenidos-fijos {
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 20px;
  }

  .caja-contenido-fijo.hide-in-mobile,
  .hide-in-mobile {
    display: none;
  }

  /* -- GRID CURSOS -- */
  .grid-post-thumbnail .cinta-en-construccion {
    font-size: var(--fz-18pt);
  }

  /* --------------- GRID -------------- */
  /* -- TIPO DE CURSO PREVIEW --*/
  .course-type-item-header,
  .archive-pinned-header {
    font-size: var(--fz-16pt);
  }

  .grid-container a.post-button,
  .grid-container button.post-button,
  .course-type-desc-item .post-body p {
    font-size: var(--fz-14pt);
  }

  /* -- CONTENIDOS FIJOS SINGLE -- */
  .info-page-contact-title {
    font-size: var(--fz-18pt);
  }

  /* --------------- EDCO -------------- */
  .edco-main-menu a {
    font-size: var(--fz-22pt);
  }

  .post-related-list-nav a {
    font-size: var(--fz-14pt);
  }

  .edco-contact-container p {
    font-size: var(--fz-12pt);
  }

  .highlighted-edco-subtitle {
    font-size: var(--fz-24pt);
  }

  .edco-category-title {
    font-size: var(--fz-28pt);
  }

  /*------------- NOTAS + BLOCK EDITOR -------------*/
  .wp-block-buttons,
  a.wp-block-button__link {
    font-size: var(--fz-12pt);
  }

  /*------------- GRID -------------*/
  .grid-title.grid-large-title,
  .grid-title.grid-largest-title {
    font-size: var(--fz-18pt);
  }

  .grid-title.grid-medium-title {
    font-size: var(--fz-16pt);
  }

  h6.related-content-title,
  .post-intitle {
    font-size: var(--fz-17pt);
  }

  h5.post-intitle {
    font-size: var(--fz-20pt);
  }

  .load-more-posts,
  .load-more-posts button {
    font-size: var(--fz-18pt);
  }

  /* -- GRID ANUNCIOS --*/
  .anuncio-badge {
    font-size: var(--fz-10pt);
  }

  /*------------- CONTENIDOS RELACIONADOS -------------*/
  .post-related-content .grid-title {
    font-weight: 700;
    margin-bottom: 0;
  }

  .post-related-content .grid-subtitle {
    font-size: var(--fz-12pt);
    margin-top: 0.2em;
  }

  /*------------- DIAGRAMACIÓN -------------*/
  :root,
  html {
    /*Variables de diagramación*/
    --min-side-margin: 15px;
  }

  .post-body {
    margin-top: 0.4rem;
  }

  .post-metadata.metadata-list.publication-metadata {
    flex-direction: column;
  }

  .post-metadata.metadata-list span {
    margin-bottom: 1rem;
  }

  .post-metadata.metadata-list span:not(:only-child):after {
    content: "";
    margin-bottom: 1rem;
  }

  /* -- FORMULARIOS -- */
  .wpcf7-form,
  .wpcf7 .wpcf7-form {
    padding: 1rem 20px;
    margin: 4rem -15px;
  }

  .event-intitle ~ .wpcf7 .wpcf7-form,
  .post-intitle ~ .wpcf7 .wpcf7-form {
    margin-top: 0;
  }

  /* -- SINGLES EVENTOS -- */
  time.fecha-evento {
    margin-right: 5px;
  }

  div.evento-video {
    margin-top: 2rem;
  }

  .child-event-list li,
  .post-child-list li {
    padding-left: 3px;
    padding-right: 3px;
  }

  .child-event-data {
    max-width: 100%;
  }

  .event-agenda-button {
    max-width: 100%;
  }

  /* -- SINGLES EXPOSICIONES -- */

  .expo-index-title {
    padding-left: 15px;
  }

  nav.expo-index {
    padding-left: 15px;
  }

  .expo-content.complex-content ul.expo-section-list,
  .expo-content.middle-content ul.expo-section-list {
    padding-left: 0px;
  }

  button.expo-section-shortcut {
    padding: 10px 2em;
  }

  button.expo-section-shortcut::before {
    left: 1.5em;
  }

  /* -- PODCASTS SINGLE -- */
  li.podcast-episode {
    grid-template-columns: 1fr;
  }

  .podcast-buttons {
    flex-direction: row;
    grid-row: 2;
  }

  .podcast-buttons img {
    margin-bottom: 0;
    margin-right: 0.5em;
  }

  .podcast-info {
    display: grid;
  }

  .podcast-embed {
    grid-row: 4;
  }

  .podcast-episode-content {
    margin-bottom: 0;
  }

  .podcast-info > .podcast-embed.active-episode {
    margin-bottom: 1rem;
  }

  /* Stack the two columns on small screens */
  .single-podcasts .podcast-two-column {
    grid-template-columns: 1fr;
    grid-column-gap: 0;
  }

  .single-podcasts .podcast-episodes-list-container {
    padding-left: 0;
    padding-right: 0;
  }

  /* -- NOTAS -- INTITLE -- */
  h6.wp-block-arqdis-plugin-intitle {
    margin-top: 1.5em;
  }

  /* -- NOTAS -- FLOATING IMAGES -- */
  figure.wp-block-image.is-style-float-left {
    float: unset;
    max-width: 100%;
    margin: 3rem 0;
  }

  /* ----- ANUNCIO SINGLE ----- */
  .anuncio-main-wrapper {
    padding: max(1rem, min(3vw, 5rem)) 0 0 0;
    background-image: unset;
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .anuncio-paper-doc-content {
    padding: 0;
    margin: 0;
  }

  .anuncio-paper-doc {
    box-shadow: unset;
    background-color: transparent;
  }

  .anuncio-attachments-container {
    padding-left: var(--min-side-margin) !important;
    padding-right: var(--min-side-margin) !important;
  }

  .anuncio-attachments-container .anuncio-paper-doc {
    padding: 0;
  }

  .anuncio-clip {
    display: none;
  }

  .anuncio-attachments-container {
    margin-top: 0;
    display: block;
    margin-bottom: 2rem;
  }

  .post-intitle.anuncio-attachments-heading {
    display: block;
    margin-top: 1em;
    margin-bottom: 0.5em;
  }

  .anuncio-main-wrapper .container-fluid.thin-container:only-child {
    margin-bottom: 3rem;
  }

  .anuncio-banner {
    width: calc(100% + var(--min-side-margin) * 2);
    margin-left: calc(var(--min-side-margin) * -1);
  }

  .anuncio-inline-img {
    max-width: 500px;
    height: auto;
    float: unset;
    padding: 0;
    max-height: 40vh;
    width: auto;
  }

  .anuncio-lista {
    column-count: 1;
    margin-top: 15px;
  }

  /* -- SINGLE SERIES -- */
  #serie-badge {
    width: 30%;
  }

  /* -- EVENTOS GRID BANNER -- */
  .week-event {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: unset;
    width: calc(100vw - var(--min-side-margin) * 2 - 32px);
  }

  .week-event nav {
    grid-column: 1;
    grid-row: 2;
  }

  .week-event-thumb-link {
    display: none;
  }

  .week-event-list {
    scroll-snap-type: x mandatory;
  }

  .week-event {
    scroll-snap-align: center;
  }

  .contains-multiple-events ~ .week-events-scroller {
    display: flex;
  }

  .grid-header-container.related-grid-is-loading
    ~ .week-events-banner-container {
    opacity: 1;
  }

  /*-- PROGRAMAS ARCHIVE --*/
  .programa-header .programa-slogan,
  .programa-header .programa-metadata {
    width: 100%;
  }

  .programa-header .programa-metadata {
    display: none;
  }

  .enlace-contenido-fijo.enlace-contenido-externo {
    padding: 0 50px;
  }

  .enlace-contenido-fijo.enlace-contenido-externo::after {
    width: 30px;
    right: 10px;
    background-position: center;
  }

  /* -------------- CONTENIDOS FIJOS SINGLE ------------ */
  .info-page-contact-form-container {
    margin: 0;
  }

  .info-page-contact-form .wpcf7-form {
    margin: 0;
  }

  /*------------- MENÚ DE NAVEGACIÓN -------------*/
  /* Sidebar and nav menu */
  nav#menu-button a {
    font-size: var(--fz-14pt);
  }

  nav#branding-top.on-site-top #titulo-arqdis,
  nav#branding-top.on-site-top #anos-uniandes {
    display: none;
  }

  nav#main-nav,
  footer,
  .nota-banner-container,
  .episode-banner-container,
  main,
  body {
    --logo-h: 30px;
  }

  a#home-link img#marca-registrada {
    width: 7px;
    height: 7px;
    transform: translateY(50%);
  }

  /*-------------------- GRID THUMBNAILS -------------------- */
  .anuncio-badge {
    transform: translate(
      5%,
      -50%
    ); /*aún con el html overflow-x hidden esto se necesita*/
    width: 9ch;
    height: 9ch;
  }

  /* -------------------- ARQDIS GRID -------------------- */
  .grid-container {
    --grid-col-count: 1;
  }

  /* ---------- PACKERY GENERAL LAYOUT ---------*/
  .packery-layout-grid .grid-archive-col-sizer,
  .packery-layout-grid .grid-archive-gutter-sizer {
    display: none;
  }

  .packery-layout-grid .archive-grid-layout {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: var(--grid-gutter-sz);
  }

  .packery-layout-grid .archive-grid-layout .grid-archive-item,
  .packery-layout-grid .archive-grid-layout .grid-archive-item.double-width,
  body:not(.post-type-archive-audiovisuales)
    .packery-layout-grid
    .grid-archive-item.double-width:not(
      .grid-archive-item.double-width + .grid-archive-item.double-width
    ),
  .packery-layout-grid
    .grid-archive-item.double-width:not(
      .grid-archive-item.double-width + .grid-archive-item.double-width
    ),
  .post-type-archive-audiovisuales
    .packery-layout-grid
    .grid-archive-item.double-width:nth-child(8n),
  .packery-layout-grid .stamped-content.double-width {
    width: 100%;
  }

  .packery-layout-grid .archive-grid-layout.loading-masonry {
    opacity: 1;
  }

  /* ------ CONTENIDOS RELACIONADOS LAYOUT ------*/
  .post-related-content .grid-container {
    --grid-gutter-sz: 35px;
  }

  .post-related-content .grid-archive-item:nth-last-child(1),
  .post-related-content .grid-archive-item:nth-last-child(2) {
    display: flex;
  }

  .post-related-content .show-in-singles {
    display: initial;
  }

  .post-related-content {
    margin-top: 0;
    padding-bottom: 0;
  }

  h6.related-content-title {
    margin-bottom: 1em;
  }

  /* ------ CONTENIDOS RELACIONADOS PREVIEW ------*/
  .post-related-content .grid-post-thumbnail {
    display: none;
  }

  .post-related-content .grid-archive-item .grid-title {
    margin-top: 0;
  }

  .post-related-content .grid-title.grid-large-title,
  .post-related-content .grid-title.grid-medium-title,
  .post-related-content .grid-title.grid-largest-title {
    font-size: var(--fz-14pt);
  }

  .post-related-content .grid-title.grid-largest-title {
    text-transform: initial;
  }

  .post-related-content .grid-post-type-link {
    pointer-events: none;
  }

  .post-related-content .external-clasificado-wrapper::after,
  .post-related-content .enlace-externo-item .grid-post-link::after,
  .post-related-content .edco-item .grid-post-link[href]::after,
  .post-related-content .evento-item .grid-post-link[target="_blank"]::after,
  .post-related-content .generico-item .grid-post-link[target="_blank"]::after,
  .post-related-content .persona-item .grid-post-link[target="_blank"]::after,
  .post-related-content
    .documento-item
    .grid-post-link[target="_blank"]::after {
    content: unset;
  }

  /*----- INVESTIGACIONES ----*/
  body:not(.post-type-archive-investigaciones)
    .post-related-content
    .investigacion-item
    .grid-title::before {
    content: unset;
  }

  .post-related-content .investigacion-item .grid-post-link:hover .grid-title {
    color: black;
  }

  /*----- CLASIFICADOS ----*/
  .post-related-content .clasificado-item .grid-post-link {
    border-top: none;
    border-bottom: none;
    padding: 0;
  }

  .post-related-content .clasificado-item .clasificados-grid-subtitle {
    display: none;
  }

  .post-related-content .grid-subtitle.clasificados-grid-type {
    font-weight: 400;
    color: black;
    text-transform: unset;
  }

  .post-related-content .clasificado-item .grid-post-link {
    flex-direction: column-reverse;
  }

  .post-related-content .clasificado-item .grid-post-link:hover .grid-title {
    color: black;
  }

  .post-related-content .clasificado-item .beca-wrapper {
    border: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column-reverse;
  }

  .post-related-content .external-clasificado-wrapper {
    border: none;
    padding: 0;
    background: none;
  }

  .post-related-content .external-clasificado-wrapper::after {
    content: unset;
    background-image: none;
  }

  .post-related-content .external-clasificado .clasificados-grid-type {
    display: initial;
  }

  .post-related-content .paper-item .grid-post-link {
    box-shadow: none;
    padding: 0;
    position: static;
  }

  .post-related-content .paper-item .topics,
  .post-related-content .paper-item .topics + .grid-subtitle {
    display: none;
  }

  .post-related-content .paper-item .grid-subtitle {
    margin-top: 0.2em;
  }

  /*----- ANUNCIOS ----*/
  .post-related-content .anuncio-item .grid-post-link {
    padding: 0;
    border: none;
  }

  .post-related-content .anuncio-badge {
    display: none;
  }

  .post-related-content .anuncio-item .grid-paragraph {
    display: none;
  }

  .post-related-content .anuncio-item:hover .grid-title {
    color: black;
  }

  /*----- VIDEOS ----*/
  button.unloaded-video figure::after {
    --play-btn-w: 15%;
  }

  /* ----- STAMPED BOXES -----*/
  .stamped-content.generic-template {
    position: static;
    grid-template-columns: 1fr;
    grid-template-rows: unset;
    grid-auto-flow: unset;
    grid-row-gap: 15px;
  }

  .is-filtered .stamped-content {
    display: none;
  }
}

@media (max-width: 430px) {
  /* -- SINGLES ESPACIOS -- */
  .tecnico > span,
  .tecnico > span.nombre {
    display: block;
  }

  .tecnico.post-metadata span:not(:last-child):after {
    content: unset;
  }
}

/*----- QUERIES BANNER HOME ----*/

/* -- Banner Vertical -- */
@media only screen and (min-width: 768px) and (min-aspect-ratio: 999999999/999999998) and (max-aspect-ratio: 192/149) {
  .home-banner-story-container {
    grid-template-columns: repeat(3, 33.3333333%);
  }

  .home-banner-story:nth-child(4) {
    display: none;
  }
}

/* -- Banner Horizontal -- */
@media only screen and (min-width: 768px) and (max-aspect-ratio: 1/1),
  only screen and (min-width: 768px) and (min-aspect-ratio: 293040293/125000000),
  only screen and (max-width: 767px) {
  .banner-menu-container {
    display: none;
  }

  .home-banner-container {
    --home-banner-h: calc(100vh - var(--main-nav-h) - var(--banner-menu-h));
  }

  .logged-in .home-banner-container {
    --home-banner-h: calc(
      100vh - var(--main-nav-h) - var(--banner-menu-h) - var(--logged-in-h)
    );
  }

  .home-banner-story-container {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, calc(var(--home-banner-h) / 4));
  }

  .banner-img-desktop,
  .banner-video-desktop {
    display: none;
  }

  .banner-img-mobile,
  .banner-video-mobile {
    display: block;
  }

  a.home-banner-story {
    background-image: none !important;
  }

  /* .home-slogan span {
    animation-play-state: running;
    } */

  /* -- Hover effect --*/
  .home-banner-story img,
  .home-banner-story video {
    object-position: 50% 50%;
  }

  .home-banner-story[href]:hover img,
  .home-banner-story[href]:hover video {
    transform: scale(1.03);
  }

  .home-banner-story {
    box-shadow: 0px 0px 20px 6px rgba(0, 0, 0, 0.5);
  }

  .home-banner-story:hover {
    box-shadow: 0px 0px 20px 6px rgba(0, 0, 0, 0.5);
  }
}

@media only screen and (min-width: 768px) and (min-aspect-ratio: 417/454) and (max-aspect-ratio: 1/1),
  only screen and (max-width: 767px) and (min-aspect-ratio: 100896861/125000000) and (max-aspect-ratio: 1812688822/1666666667) {
  .home-banner-story-container {
    grid-template-rows: repeat(2, calc(var(--home-banner-h) / 2));
  }

  .home-banner-story:nth-child(3),
  .home-banner-story:nth-child(4) {
    display: none;
  }
}

@media only screen and (min-width: 768px) and (min-aspect-ratio: 32/45) and (max-aspect-ratio: 367400881/400000000),
  only screen and (max-width: 767px) and (min-aspect-ratio: 534759358/833333333) and (max-aspect-ratio: 237404379/294117647) {
  .home-banner-story-container {
    grid-template-rows: repeat(3, calc(var(--home-banner-h) / 3));
  }

  .home-banner-story:nth-child(4) {
    display: none;
  }
}

@media only screen and (max-width: 767px) and (min-aspect-ratio: 2719033233/2500000000),
  only screen and (min-width: 768px) and (min-aspect-ratio: 293040293/125000000) {
  .home-banner-story-container {
    grid-template-rows: 33.333333vw;
  }

  .home-banner-story:nth-child(2),
  .home-banner-story:nth-child(3),
  .home-banner-story:nth-child(4) {
    display: none;
  }
}

/* -- Banner vertical extremo (aspect-ratio > 1847/786) -- */
@media only screen and (min-width: 768px) and (min-aspect-ratio: 1847/786) {
  .home-banner-story-container {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    grid-auto-rows: auto !important;
    grid-auto-flow: row !important;
  }
  .home-banner-story:nth-child(n + 4),
  .home-banner-story:nth-child(n + 3),
  .home-banner-story:nth-child(n + 2),
  .home-banner-story:nth-child(n + 1) {
    display: block !important;
  }

  .banner-img-mobile,
  .banner-video-mobile {
    display: none !important;
  }

  .banner-img-desktop,
  .banner-video-desktop {
    display: block !important;
  }
}

/*----- DESACTIVAR HOVER EN MOVIL ----*/
@media (hover: none) {
  /* ---------- LINKS --------- */
  .post-body a:not(.not-default-link):not(.wp-block-button__link)[href]::after,
  .post-related-people a[href]::after,
  a.form-link[href]::after,
  .wp-block-arqdis-plugin-author a::after,
  .wp-block-arqdis-plugin-host a::after,
  a[href].bold-on-hover::after,
  a[href].bold-on-hover-body::after,
  button.bold-on-hover::after,
  button.bold-on-hover-body::after {
    content: unset;
  }

  /* .post-body a:not(.not-default-link):not(.wp-block-button__link), 
  .post-related-people a, 
  a.form-link[href], 
  .wp-block-arqdis-plugin-author a[href], 
  a[href].bold-on-hover, 
  a[href].bold-on-hover-body, 
  button.bold-on-hover, 
  button.bold-on-hover-body {
    display: inline;
  } */

  /* .post-body a:not(.not-default-link):not(.wp-block-button__link)[href]:hover, 
  .post-related-people a[href]:hover, 
  a.form-link[href]:hover,  
  a[href].bold-on-hover:hover, 
  a[href].bold-on-hover-body:hover, 
  button.bold-on-hover:hover, 
  button.bold-on-hover-body:hover {
    font-weight: 400;
  }

  .wp-block-arqdis-plugin-author a[href]:hover{
    font-weight: 500;
  } */

  .post-body a:not(.not-default-link):not(.wp-block-button__link)[href]:hover,
  .post-related-people a[href]:hover,
  a.form-link[href]:hover,
  a[href].bold-on-hover:hover,
  a[href].bold-on-hover-body:hover,
  button.bold-on-hover:hover,
  button.bold-on-hover-body:hover,
  .wp-block-arqdis-plugin-author a[href]:hover {
    -webkit-text-stroke-color: transparent;
  }

  /* ---------- BANNER HOME --------- */
  .home-banner-story:hover,
  .home-banner-story[href]:hover {
    z-index: 0;
  }

  .home-banner-story:hover img,
  .home-banner-story[href]:hover img {
    object-position: initial;
  }

  .home-banner-story-container:hover .home-banner-story:not(:hover) {
    opacity: 1;
  }

  /* ---------- EDCO --------- */
  .edco-main-menu:hover a:not(:hover) {
    opacity: 1;
  }

  .edco-main-menu:hover a:hover .edco-link-container {
    margin-top: unset;
    padding-left: 1em;
  }

  .post-related-list-nav a:hover span {
    transform: translateX(0);
  }

  /* ---------- CONTENIDOS FIJOS --------- */
  .info-page-content .table-of-contents li a:hover {
    transform: translateX(0px);
  }

  a[href].programa-heading-title:hover {
    left: 0;
    position: static;
  }

  /* ---------- CLASIFICADOS --------- */
  .classified-related-links li:hover {
    transform: translateX(0px);
  }

  /* ---------- PODCASTS --------- */
  .podcast-buttons a:hover,
  .podcast-buttons button:hover {
    filter: hue-rotate(0deg);
  }

  /* ---------- PÁGINAS DE INFORMACIÓN --------- */
  .info-page-main a:hover {
    color: var(--arqdis-blue);
  }

  .programa-header .download-programa:hover {
    background-color: black;
  }

  .info-page-content .table-of-contents li a:hover {
    transform: translateX(0px);
  }

  nav.pdf-file-grid a:hover img {
    filter: grayscale(0%);
  }

  nav.pdf-file-grid a:hover figure::after {
    opacity: 0;
  }

  /* ---------- GRID --------- */
  .load-more-posts button:hover {
    background-color: black;
  }

  .topics-filter button.topic-button-filter[status="active"]:hover,
  .topics-filter button.topic-button-filter[status="active"]:focus {
    background-color: white;
    color: var(--arqdis-blue);
    outline: 2px solid var(--arqdis-blue);
    outline-offset: -2px;
  }

  .topics-filter button.topic-button-filter:hover,
  .topics-filter button.topic-button-filter:focus {
    background-color: var(--arqdis-blue);
    color: white;
    outline: 2px solid transparent;
    outline-offset: -2px;
  }

  .course-type-filter-module.has-hover-inside
    .topics-filter
    button.topic-button-filter[status="inactive"],
  .course-type-filter-module:focus-within
    .topics-filter
    button.topic-button-filter[status="inactive"] {
    opacity: 1;
  }

  .has-filtered-grid
    .course-type-filter-module
    .topics-filter
    button.topic-button-filter:hover[status="active"],
  .has-filtered-grid
    .course-type-filter-module
    .topics-filter
    button.topic-button-filter:focus[status="active"] {
    opacity: 1;
  }

  .has-filtered-grid
    .course-type-filter-module
    .topics-filter
    button.topic-button-filter:hover[status="inactive"],
  .has-filtered-grid
    .course-type-filter-module
    .topics-filter
    button.topic-button-filter:focus[status="inactive"] {
    opacity: 0.2;
  }

  .grid-post-type-link[href]:hover span::after {
    width: 1ch;
  }

  .grid-post-link[href]:hover .grid-post-thumbnail.blue-on-hover img {
    filter: grayscale(0%);
  }

  .grid-post-link[href]:hover .grid-post-thumbnail.blue-on-hover::after {
    opacity: 0;
  }

  .grid-post-link:hover .grid-post-thumbnail.rise-on-hover {
    bottom: 0;
  }

  .grid-pub-links a:hover,
  .grid-item-links a:hover {
    background: black;
  }

  .investigacion-item .grid-post-link:hover .grid-title,
  .serie-item .grid-post-link:hover .grid-title {
    color: black;
  }

  .clasificado-item .grid-post-link:hover .grid-title {
    color: var(--clasificado-txt-c);
  }

  .paper-item .grid-post-link:hover {
    bottom: 0;
  }

  .contenido-fijo-item:hover a.grid-post-link {
    border: 2px solid var(--arqdis-blue);
  }

  .contenido-fijo-item:hover .contenido-fijo-title {
    color: var(--arqdis-blue);
  }

  .contenido-fijo-item:hover .contenido-fijo-subtitle {
    color: var(--arqdis-blue);
  }

  .stamped-content.generic-template a:hover {
    background-color: var(--arqdis-blue);
  }

  .anuncio-item:hover .grid-title {
    color: black;
  }

  button.unloaded-video:hover figure::after {
    filter: saturate(0);
  }

  .grid-post-thumbnail:hover .cinta-en-construccion {
    opacity: 1;
  }

  /* ---------- BACK BUTTON --------- */
  .back-button-container a:hover {
    margin-right: 0;
    background: black;
  }

  /* ------ EVENTOS GRID BANNER ------ */
  .week-event-thumb-link[href]:hover img,
  .week-event-info-link[href]:hover ~ .week-event-thumb-link img {
    filter: grayscale(0%);
  }

  .week-event-thumb-link[href]:hover figure::after,
  .week-event-info-link[href]:hover ~ .week-event-thumb-link figure::after {
    opacity: 0;
  }

  .week-event.week-past-event .week-event-thumb-link[href]:hover img,
  .week-event.week-past-event
    .week-event-info-link[href]:hover
    ~ .week-event-thumb-link
    img {
    filter: grayscale(1) contrast(0.2) brightness(1.7);
  }

  .week-event nav a:hover,
  .resize-gallery-container nav a:hover {
    color: var(--arqdis-gray);
  }

  .week-event nav .week-event-enter:hover {
    color: var(--arqdis-blue);
  }

  .week-event-add-to-cal:hover::after {
    transform: unset;
  }

  .week-event-view-more:hover::after,
  .week-event-enter:hover::after {
    transform: translate(0px, 0px);
  }

  .week-events-scroller button:first-of-type:enabled:hover {
    transform: translate(0px, 0px);
  }

  .week-events-scroller button:last-of-type:enabled:hover {
    transform: translate(0px, 0px);
  }

  /* ---------- PROGRAMAS --------- */
  .enlace-contenido-fijo:hover {
    color: blue;
    transform: scale(1);
  }

  /* ---------- SINGLES --------- */
  .topics a:hover,
  .topics a:focus {
    background-color: var(--arqdis-blue);
  }

  .post-buttons a:hover,
  .post-buttons button:hover {
    background: black;
  }

  a.facility-link:hover,
  a.facility-link:focus {
    color: black;
  }

  a.facility-link:hover img,
  a.facility-link:focus img {
    filter: brightness(0);
  }

  .child-event-addtocal:hover:before {
    transform: rotate(0deg);
  }

  .event-agenda-button:hover {
    background: black;
  }

  .child-event-video-button:hover {
    background: black;
  }

  nav.expo-navigation button:hover:not(:disabled) {
    background: white;
  }

  nav.expo-navigation button:hover:not(:disabled) * {
    filter: invert(0);
  }

  button.expo-section-shortcut:hover {
    color: black;
    background: none;
  }

  .related-pub-links a:hover,
  .related-pub-links button:hover {
    background: black;
  }

  .grid-serie-spines > a:hover {
    transform: translateX(0px);
  }

  /* ---------- FORMS --------- */
  input.wpcf7-submit:not([disabled]):hover {
    background: black;
  }

  .form-over-black-bg input.wpcf7-submit:not([disabled]):hover {
    background: white;
  }

  .form-over-black-bg.form-cyan-accents
    input.wpcf7-submit:not([disabled]):hover {
    background: white;
  }

  /* ---------- MENÚ --------- */
  nav#menu-button:hover,
  nav#menu-button:focus-within {
    background-color: transparent;
    color: black;
  }

  nav#menu-button:hover img,
  nav#menu-button:focus-within img {
    filter: invert(0);
  }

  a#close-menu:hover,
  a#close-menu:focus {
    color: gray;
  }

  a#close-menu:hover img,
  a#close-menu:focus img {
    filter: saturate(0) brightness(3);
  }

  input.search-submit:hover {
    filter: brightness(0);
  }

  ul.menu:not(#prg-menu):not(#social-menu) > li > a:hover,
  ul.menu:not(#prg-menu):not(#social-menu) > li:focus-within a,
  #menu-cookies ul > li > button:hover,
  #menu-cookies ul > li:focus-within button {
    padding-left: 0px;
  }

  ul#prg-menu > li:hover a,
  ul#prg-menu > li:focus-within a {
    left: 0px;
  }

  ul#social-menu a:hover img,
  ul#social-menu a:focus img {
    filter: brightness(0);
  }

  #menu-contact-info address a {
    pointer-events: initial;
  }

  /* ---------- FOOTER --------- */
  .scroll-top-icon:hover line,
  .scroll-top-icon:hover polyline {
    transform: translate(0, 0px);
  }
}

/*---------------------------- MISC ------------------------------*/
.grecaptcha-badge {
  visibility: hidden;
}

#usercentrics-root:not(.custom-css-loaded) {
  display: none;
}

/*---------------------------- BOTÓN FLOTANTE WHATSAPP CHATBOT ------------*/

.arqdis-boton-flotante {
  font-size: var(--fz-24pt);
}

@media only screen and (max-width: 1999px) {
  .arqdis-boton-flotante {
    font-size: var(--fz-20pt);
  }
}

@media only screen and (max-width: 1499px) {
  .arqdis-boton-flotante {
    font-size: var(--fz-16pt);
  }
}

.arqdis-boton-flotante {
  position: fixed;
  bottom: 1em;
  right: 1em;
  width: max(50px, min(8vw, 85px));
  height: max(50px, min(8vw, 85px));
  background-color: var(--arqdis-blue) !important;
  border-radius: 100px;
  z-index: 10;
  margin: 15px;
  margin-bottom: 1em;
  margin-left: auto;
  transform-origin: center;
  transform: scale(1);
  transition: transform 0.3s;
  color: var(--arqdis-blue);
  padding: 18px;
}

.whatsapp-landing .arqdis-boton-flotante {
  bottom: 3em;
}

.arqdis-boton-flotante {
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
}
.arqdis-boton-flotante {
  pointer-events: unset;
  opacity: 1;
}
.arqdis-boton-flotante figure {
  width: 60%;
  display: flex;
}

.arqdis-boton-flotante figure img {
  position: relative;
  left: 2%;
  bottom: 2%;
}

.arqdis-boton-flotante:hover,
.arqdis-boton-flotante:focus,
.arqdis-boton-flotante:active {
  transform: scale(1.08);
}
@media (hover: none) {
  .arqdis-boton-flotante:hover,
  .arqdis-boton-flotante:focus,
  .arqdis-boton-flotante:active {
    transform: scale(1);
  }
}

@media only screen and (max-width: 2000px) {
  .whatsapp-landing .arqdis-boton-flotante {
    bottom: 4em;
  }
}

@media only screen and (max-width: 1199px) {
  .arqdis-boton-flotante {
    font-size: var(--fz-14pt);
    padding: 15px;
  }
  .whatsapp-landing .arqdis-boton-flotante {
    bottom: 4.5em;
  }
}

@media only screen and (max-width: 767px) {
  .arqdis-boton-flotante {
    padding: 10px;
  }
}

@media only screen and (max-width: 575px) {
  .whatsapp-landing .arqdis-boton-flotante {
    bottom: 3em;
  }
}

/*----------------------- LISTAS EN LAS NOTAS -------------------------------*/
.single-notas .layout-container ul {
  list-style: square !important;
  padding-left: 2em;
  margin: 0 0 1.2em 0;
}

.single-notas .layout-container ol {
  list-style: decimal !important;
  padding-left: 2em;
  margin: 0 0 1.2em 0;
}

/*------------------ LISTAS EN LOS PERFILES DE PROFESORES --------------------*/
.single-personas .post-body ul {
  list-style: square;
  padding-left: 2em;
  margin: 0 0 1.2em 0;
}

.single-personas .post-body ol {
  list-style: decimal;
  padding-left: 2em;
  margin: 0 0 1.2em 0;
}

.single-personas .post-body li {
  margin-bottom: 0.4em;
}

.single-personas .post-body li > ul,
.single-personas .post-body li > ol {
  margin: 0.4em 0 0.4em 0;
}

/*------------------ OPCIONES ACADEMICAS ---------------------*/

.buttons-options .grid-item-links {
  grid-template-columns: repeat(1, 1fr) !important;
}

/*------------------ PÁGINA DESPUÉS DE ARQDIS - NUESTROS EGRESADOS ---------------------*/
.nuestros-egresados-info:after,
.datos-nuestros-egresados:after {
  content: "";
  display: table;
  clear: both;
}

.col-nuestros-egresados {
  float: left;
  width: 33.33%;
  padding-right: 10em;
}
.dato-egresado {
  float: left;
  width: 33.33%;
  padding-right: 3em;
  align-items: center;
}

.egresados-descripcion {
  font-size: var(--fz-16pt);
  line-height: 1.4em;
  max-width: 600px;
}

.numero-dato-egresado {
  font-family: Montserrat, sans-serif;
  font-weight: 500;
  font-size: var(--fz-45pt);
  display: inline;
}
.unidad-dato-egresado {
  display: inline;
  font-family: Montserrat, sans-serif;
  font-weight: 500;
  font-size: var(--fz-20pt);
}
.texto-dato-egresado {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-12pt);
  line-height: 1.2em;
}
.datos-nuestros-egresados {
  margin-top: 2em;
}

.buttons-egresados {
  margin-top: 3em;
}

.buttons-egresados {
  align-items: center;
  text-align: center;
}

.nombre-egresado {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-30pt);
  line-height: 1.2em;
  font-weight: 700;
  padding-bottom: 0.25em;
  margin-top: 0;
}

.grid-archive-item .nombre-egresado {
  margin-top: 0;
}

.cargo-egresado {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-18pt);
  line-height: 1.2em;
  font-weight: 400;
  padding-bottom: 1.5em;
}

.col-lista-egresados {
  padding-left: 2em;
  padding-right: 0;
}

.grid-title-egresados {
  font-size: var(--fz-24pt);
  font-weight: 500;
  text-transform: uppercase;
}

.grid-title-egresados {
  color: var(--arqdis-magenta);
  font-weight: 700;
}

.historia-egresados-button {
  background-color: var(--arqdis-blue);
  padding: 0.6em;
  display: block;
  transition: background-color 0.3s;
  margin-top: 1em;
}

.col-historia-egresados {
  width: 40%;
  float: left;
  align-items: center;
  padding-left: 23em;
  padding-right: 5em;
  text-align: center;
}

.col-texto-historia-egresados {
  width: 60%;
  float: left;
  padding-right: 5em;
}

.container-historia-egresados:after {
  content: "";
  display: table;
  clear: both;
  margin-left: auto;
  margin-right: auto;
}

.grid-title-egresados {
  padding-left: 0;
}

.etiqueta-egresado {
  font-family: "Roboto Mono", monospace;
  color: black;
  text-decoration: none;
  font-size: var(--fz-14pt);
}

.descripcion-historia-egresados {
  font-family: "Roboto Mono", monospace;
  color: var(--arqdis-blue);
  font-size: var(--fz-14pt);
  padding-left: 4em;
  max-width: 800px;
}
.container-historia-egresados {
  background-image: url("./assets/patron-grid-azul-raster.png");
  padding-top: 3em;
  padding-bottom: 3em;
  margin-top: 1em;
}
.grid-egresados-historias-container {
  margin-bottom: 0;
}

.escuela-posgrados-egresados {
  background-color: black;
  color: white;
  margin-top: 4em;
  display: flex;
  align-items: center;
  padding-left: 0;
}

.escuela-posgrados-egresados:after {
  content: "";
  display: table;
  clear: both;
}

.textos-escuela-posgrado-egresados,
.container-button-escuela-posgrado-egresados {
  width: 50%;
  float: left;
  align-items: center;
}

.title-escuela-posgrado-egresados {
  font-family: Montserrat, sans-serif;
  font-weight: 900;
  font-size: var(--fz-50pt);
  line-height: 1em;
  text-transform: uppercase;
  text-decoration: none;
  max-width: 700px;
  /* margin-left:auto; 
    margin-right:auto; */
  margin-bottom: 0.5em;
}

.text-escuela-posgrado-egresados {
  font-family: "Roboto Mono", monospace;
  line-height: 1.2em;
  color: white;
  text-decoration: none;
  font-size: var(--fz-20pt);
  max-width: 700px;
  /*margin-left:auto; 
    margin-right:auto; */
}
.button-escuela-posgrado-egresados {
  font-family: Montserrat, sans-serif;
  font-weight: 900;
  font-size: var(--fz-24pt);
  text-decoration: none;
  color: black;
  background-color: white;
  padding: 0.5em 2em;
  text-align: center;
  text-transform: uppercase;
}
.button-escuela-posgrado-egresados:visited {
  color: black;
}

.container-button-escuela-posgrado-egresados {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  max-width: 400px;
  margin-right: auto;
  margin-left: auto;
}

.egresados-container.programa-slogan.sizing-element {
  opacity: 1;
}

.datos-nuestros-egresados {
  text-align: center;
}

.small-archive-title-recursos {
  margin-bottom: 1em;
}

/*@media only screen and (min-width: 2325px) {
    .escuela-posgrados-egresados{
      padding: 4em 12em; 
    }
  }*/

@media only screen and (max-width: 1999px) {
  .egresados-descripcion {
    font-size: var(--fz-14pt);
  }
  .col-nuestros-egresados {
    padding-right: 5em;
  }

  .dato-egresado {
    padding-right: 0.5em;
  }

  .numero-dato-egresado {
    font-size: var(--fz-40pt);
  }
  .unidad-dato-egresado {
    font-size: var(--fz-18pt);
  }
  .texto-dato-egresado {
    font-size: var(--fz-10pt);
  }

  .nombre-egresado {
    font-size: var(--fz-24pt);
  }
  .cargo-egresado {
    font-size: var(--fz-16pt);
  }
  .col-historia-egresados {
    padding-left: 15em;
    padding-right: 5em;
  }

  .grid-title-egresados {
    font-size: var(--fz-22pt);
  }

  .title-escuela-posgrado-egresados {
    font-size: var(--fz-48pt);
  }
  .text-escuela-posgrado-egresados {
    font-size: var(--fz-18pt);
  }
}

@media only screen and (max-width: 1499px) {
  .egresados-descripcion {
    font-size: var(--fz-12pt);
  }
  .col-nuestros-egresados {
    padding-right: 2em;
  }

  .numero-dato-egresado {
    font-size: var(--fz-35pt);
  }
  .unidad-dato-egresado {
    font-size: var(--fz-16pt);
  }
  .texto-dato-egresado {
    font-size: var(--fz-10pt);
  }
  .nombre-egresado {
    font-size: var(--fz-20pt);
  }
  .cargo-egresado {
    font-size: var(--fz-14pt);
  }

  .col-lista-egresados {
    padding-left: 4em;
    padding-right: 0;
  }

  .col-historia-egresados {
    padding-left: 10em;
    padding-right: 2em;
  }

  .grid-title-egresados {
    font-size: var(--fz-20pt);
  }
  .title-escuela-posgrado-egresados {
    font-size: var(--fz-45pt);
  }
  .text-escuela-posgrado-egresados {
    font-size: var(--fz-16pt);
  }
}

.buttons-egresados-m {
  display: none;
}

@media only screen and (max-width: 1199px) {
  .egresados-descripcion {
    font-size: var(--fz-10pt);
  }
  .col-nuestros-egresados {
    padding-right: 1em;
  }

  .nombre-egresado {
    font-size: var(--fz-16pt);
  }
  .cargo-egresado {
    font-size: var(--fz-13pt);
  }
  .etiqueta-egresado {
    font-size: var(--fz-12pt);
  }
  .col-historia-egresados {
    padding-left: 5em;
    padding-right: 1em;
  }

  .grid-title-egresados {
    font-size: var(--fz-18pt);
  }

  .descripcion-historia-egresados {
    font-size: var(--fz-12pt);
  }
  .title-escuela-posgrado-egresados {
    font-size: var(--fz-40pt);
  }
  .text-escuela-posgrado-egresados {
    font-size: var(--fz-14pt);
  }

  .escuela-posgrados-egresados {
    display: flex;
    flex-direction: column;
  }

  .textos-escuela-posgrado-egresados {
    width: 100%;
  }

  .container-button-escuela-posgrado-egresados {
    max-width: 700px;
    margin-right: auto;
    margin-top: 2em;
    justify-content: left;
    margin-left: 0;
  }
}

@media only screen and (max-width: 991px) {
  .egresados-descripcion {
    font-size: var(--fz-10pt);
  }
  .col-nuestros-egresados {
    padding-right: 1em;
  }
  .col-nuestros-egresados {
    width: 100%;
  }
  .col-lista-egresados {
    width: 50%;
    padding-left: 0;
    margin-top: 3em;
  }
  .dato-egresado {
    padding-right: 4em;
  }
  .nombre-egresado {
    font-size: var(--fz-16pt);
  }
  .cargo-egresado {
    font-size: var(--fz-13pt);
  }
  .etiqueta-egresado {
    font-size: var(--fz-12pt);
  }
  .buttons-egresados-m {
    display: block;
  }
  .buttons-egresados-l {
    display: none;
  }
  .cargo-egresado {
    max-width: 400px;
  }
  .col-historia-egresados {
    padding-left: 3em;
    padding-right: 3em;
  }
  .grid-title-egresados {
    text-align: left;
  }
  .title-escuela-posgrado-egresados {
    font-size: var(--fz-35pt);
  }
  .text-escuela-posgrado-egresados {
    font-size: var(--fz-13pt);
  }
  .button-escuela-posgrado-egresados {
    font-size: var(--fz-20pt);
  }
}

@media only screen and (max-width: 767px) {
  .etiqueta-egresado {
    font-size: var(--fz-11pt);
  }
  .grid-title-egresados {
    font-size: var(--fz-18pt);
  }
  .col-texto-historia-egresados {
    padding-right: 1em;
  }
  .col-historia-egresados {
    padding-left: 3em;
    padding-right: 0em;
  }
  .title-escuela-posgrado-egresados {
    font-size: var(--fz-28pt);
  }
  .button-escuela-posgrado-egresados {
    font-size: var(--fz-18pt);
  }
}

@media only screen and (max-width: 575px) {
  .col-lista-egresados {
    width: 100%;
  }
  .col-lista-egresados-2 {
    margin-top: 0;
  }
  .texto-dato-egresado {
    font-size: var(--fz-9pt);
  }
  .grid-title-egresados {
    font-size: var(--fz-18pt);
    text-align: left;
  }
  .col-historia-egresados {
    width: 100%;
  }
  .col-texto-historia-egresados {
    width: 100%;
  }

  .historia-egresados-button {
    display: block;
    position: relative;
    top: 200px;
    margin-right: 1em;
  }
  .descripcion-historia-egresados {
    padding-left: 1em;
    margin-top: -2em;
    width: 100%;
  }

  .col-historia-egresados {
    padding-left: 1em;
    padding-right: 0;
  }
  .container-historia-egresados {
    padding-bottom: 7em;
  }
  .title-escuela-posgrado-egresados {
    font-size: var(--fz-24pt);
  }
  .text-escuela-posgrado-egresados {
    font-size: var(--fz-12pt);
  }
  .button-escuela-posgrado-egresados {
    font-size: var(--fz-16pt);
  }
  .escuela-posgrados-egresados {
    padding: 2.5em 1em;
  }
}

@media only screen and (max-width: 400px) {
  .descripcion-historia-egresados {
    font-size: var(--fz-10pt);
    padding-left: 1.5em;
  }
  .title-escuela-posgrado-egresados {
    font-size: var(--fz-20pt);
  }
}

.container-black-escuela-posgrados-egresados {
  background-color: black;
  padding-top: 1em;
  padding-bottom: 1em;
  margin-top: 4em;
  margin-bottom: 0;
}

/*---------------------- VIDEO PROGRAMA ------------------------*/

.container-video-program {
  width: 100%;
  margin-bottom: 3em;
  position: relative;
  padding-top: 56.25%; /* Aspect ratio of 16:9 */
}

.container-video-program iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 1580px) {
  .container-video-program {
    padding-top: 0;
    margin-top: 0em;
    width: 640px;
    height: 360px;
    margin-left: 2em;
  }
  .container-video-program iframe {
    position: relative;
    width: 640px;
    height: 360px;
  }
}

@media screen and (min-width: 1999px) {
  .container-video-program {
    width: 900px;
    height: 506px;
  }
  .container-video-program iframe {
    width: 900px;
    height: 506px;
  }
}

@media screen and (max-width: 767px) {
  .container-video-program {
    margin-bottom: 2em;
  }
}
@media screen and (max-width: 365px) {
  .container-video-program {
    margin-bottom: 1em;
  }
}

/*---------------- STAMPED CONTENT DE EGRESADOS ---------------------__*/

.stamped-content-egresados {
  margin-top: 4em;
  margin-bottom: 16em;
}

.stamped-content-egresados .stamped-content.generic-template {
  background-image: url("assets/patron-grid-azul-raster.png") !important;
  border: none;
  padding: 4em;
  padding-left: 30em;
  padding-right: 30em;
  grid-column-gap: 12em;
}

@media screen and (max-width: 1999px) {
  .stamped-content-egresados .stamped-content.generic-template {
    padding-left: 20em;
    padding-right: 20em;
  }
  .stamped-content-egresados {
    margin-bottom: 18em;
  }
}
@media screen and (max-width: 1499px) {
  .stamped-content-egresados .stamped-content.generic-template {
    padding-left: 10em;
    padding-right: 10em;
    padding: 3em;
    grid-column-gap: 8em;
  }
  .stamped-content-egresados {
    margin-bottom: 16em;
  }
}

@media screen and (max-width: 1199px) {
  .stamped-content-egresados .stamped-content.generic-template {
    padding: 2em;
    padding-left: 4em;
    padding-right: 4em;
    grid-column-gap: 4em;
  }
}

@media screen and (max-width: 767px) {
  .stamped-content-egresados {
    margin-bottom: 18em;
  }
}

@media screen and (max-width: 575px) {
  .stamped-content-egresados {
    margin-bottom: 1em;
  }
  .stamped-content-egresados .stamped-content.generic-template {
    padding: 2em;
    padding-left: 1em;
    padding-right: 1em;
    grid-column-gap: 4em;
  }
}

/*----------------- BORDE CUENTANOS TU HISTORIA - EGRESADOS --------------------------*/
.stamped-content-egresados .stamped-content.generic-template {
  border-top: 2px solid var(--arqdis-magenta);
  border-bottom: 2px solid var(--arqdis-magenta);
}

/*----------------------------- INACTIVO SEMILLERO --------------------------------*/

.inactivo-semillero {
  padding-top: 0 !important;
}

/*----------------- ESCUELA DE POSGRADOS NUEVOS ESTILOS ------------------*/
.button-escuela-posgrado-egresados:hover {
  background: var(--arqdis-blue);
  color: white;
}

/*Formulario nuevo Habeas Data*/
.wpcf7-radio .wpcf7-list-item.first {
  display: inline-block;
  margin-right: 1em;
}

.wpcf7-radio .wpcf7-list-item.last {
  display: inline-block;
}

input[type="radio"] {
  visibility: hidden;
  position: absolute;
}
.wpcf7-radio .wpcf7-list-item-label:before {
  height: 15px;
  width: 15px;
  margin-right: 5px;
  content: " ";
  display: inline-block;
  vertical-align: sub;
  border: 1px solid black;
  border-radius: 100%;
}
input[type="radio"]:checked + .wpcf7-list-item-label:before {
  background: var(--arqdis-magenta) !important;
  border: 1px solid black;
}

.form-input-required + br {
  display: none;
}

.body-landing .wpcf7-form span.wpcf7-list-item-label {
  align-items: center;
}

.evento-fecha-mes {
  padding-top: 5px;
}

.button-oficina {
  margin-top: 2em;
  display: flex;
  justify-content: center;
}

.button-oficina a {
  width: 100%;
  text-align: center;
  display: block;
}

/* Eventos importantes escuela de posgrados*/
.important-events-pos {
  background-image: url(assets/patron-math-black-raster.png);
  flex-grow: 1;
  margin-left: 35px;
  overflow: hidden !important;
  padding: 30px;
  max-height: 100%;
}
.important-events-pos .important-event {
  margin-top: 0.8em;
  max-height: 100%;
}

.important-events-pos time {
  color: var(--arqdis-magenta);
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-20pt);
}

.important-events-pos a.event-description p,
.important-events-pos p.event-description {
  font-family: "Roboto Mono", monospace;
  font-size: var(--fz-14pt);
  line-height: 1.3;
}

.resize-gallery-wrapper {
  height: 100%;
}

.important-events-pos h5 {
  padding-bottom: 30px;
}

.important-events-list {
  overflow: hidden;
  position: relative;
}

.scrolling-content {
  animation: scroll-up 20s linear infinite;
}

.important-event {
  padding: 10px 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

@keyframes scroll-up {
  0% {
    transform: translateY(0%);
  }
  100% {
    transform: translateY(
      -50%
    ); /* Mueve solo hasta la mitad porque el contenido está duplicado */
  }
}

.important-events-pos:hover .scrolling-content {
  animation-play-state: paused;
}

@media screen and (max-width: 1580px) {
  .important-events-pos {
    margin-top: 2em;
    margin-left: 0;
  }

  .important-events-pos time {
    font-size: var(--fz-20pt);
  }

  .important-events-pos a.event-description p,
  .important-events-pos p.event-description {
    font-family: "Roboto Mono", monospace;
    font-size: var(--fz-14pt);
    line-height: 1.3;
  }

  .important-events-pos h5 {
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 1250px) {
  .important-events-pos time {
    font-size: var(--fz-18pt);
  }

  .important-events-pos a.event-description p,
  .important-events-pos p.event-description {
    font-family: "Roboto Mono", monospace;
    font-size: var(--fz-12pt);
    line-height: 1.3;
  }

  .important-event {
    padding: 5px 0;
  }
}
.important-event p {
  transition: transform 0.3s;
  transition: font-weight 0.3s;
}

.important-event p:hover {
  transform: translateX(5px);
  font-weight: 600;
}

/* plantillas 404 */
div.template-404 {
  width: 100%;
  height: auto;
}

/* plantillas 404 */
div.template-404 {
  width: 100%;
  height: auto;
}

div.call-to-action-404 {
  width: 50%;
}

div.call-to-action-404 blockquote.wp-block-arqdis-plugin-quote {
  margin: 0;
  padding: 0;
}

div.call-to-action-404 p.creditos {
  display: inline-block;
}

div.info-404 {
  display: flex;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--grid-content-w);
}

div.credits-404 p.creditos:before {
  content: "";
  width: 0;
  height: 0;
  border-left: 0.5em solid transparent;
  border-right: 0.5em solid transparent;
  border-bottom: 1em solid black;
  display: inline-block;
  position: relative;
  top: 0.1em;
  margin-right: 0.6em;
}

.home-slogan.slogan-404 {
  display: none;
}

div.info-404 {
  margin-bottom: 3em;
}

.credits-404 {
  margin-top: var(--top-margin);
}

.credits-404 .arrow-down {
  height: 35px;
  fill: var(--arqdis-blue);
  transition: transform 0.3s ease;
}

.credits-404 .arrow-down:hover {
  transform: translateY(0.2em);
}

@media screen and (max-width: 1280px) {
  div.info-404 {
    flex-direction: column;
  }

  div.call-to-action-404 p.creditos {
    order: 1;
  }

  div.call-to-action-404 {
    order: 2;
    margin-top: 1em;
  }

  blockquote.wp-block-arqdis-plugin-quote {
    max-width: 100% !important;
    min-width: 100% !important;
    width: 100% !important;
  }
  div.call-to-action-404 {
    max-width: 100% !important;
    width: 100%;
  }
}

@media screen and (max-width: 991px) {
  .credits-404 .arrow-down {
    height: 20px;
  }
}

@media screen and (max-width: 800px) {
  .home-slogan.slogan-404 {
    margin-bottom: 2em;
    display: block;
    align-items: center;
    padding: 0.5em;
  }

  div.credits-404 p.creditos {
    display: none;
  }

  blockquote.wp-block-arqdis-plugin-quote {
    max-width: 100% !important;
    width: 100% !important;
    min-width: 100% !important;
  }
  div.call-to-action-404 {
    max-width: 100% !important;
    width: 100%;
  }
}

/* Ajustes edco*/
@media screen and (max-width: 768px) {
  .single-educacion-continua .layout-main-top {
    display: flex;
    flex-direction: column;
  }

  .single-educacion-continua .layout-main-top .post-body {
    order: 2;
  }

  .single-educacion-continua .layout-main-top .informacion-extra-single {
    order: 1;
  }
}

/*Contenidos fijos en investigaciones*/
.investigaciones-archive-container-contenidos-fijos {
  margin-bottom: 2em;
}

/*Acordeones plan de estudios mobile*/

/* CSS Custom Property for semester accordion background color - easily customizable */
:root {
  --semester-accordion-bg: #f1f1f1; /* Light gray - change this to customize the color */
}

.program-accordion-container {
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: 100%;
  position: relative;
  background: white;
  margin-top: 1em;
  margin-bottom: 2em;
}

.program-accordion-container .program-accordion-div * {
  font-family: "Roboto Mono", monospace;
  font-weight: 600;
  text-transform: uppercase;
}

.program-accordion-container .program-accordion-div {
  background: white;
}

/* Year-level accordion styling */
.program-accordion-container .year-accordion {
  background: white;
  border: black 1px solid;
}

/* Semester-level accordion styling with light gray background */
.program-accordion-container .semester-accordion {
  background: var(--semester-accordion-bg) !important;
  border: none !important;
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}
.program-accordion-div .semester-accordion-title {
  color: #808080;
  text-align: center;
}
.program-accordion-container .semester-accordion:first-child {
  margin-top: 1.5rem;
}

.program-accordion-container .semester-accordion:last-child {
  margin-bottom: 1.5rem;
}

.program-accordion-container h5 {
  font-size: var(--fz-15pt);
}
/*Animación de apertura de los acordeones*/
.program-accordion-container .program-accordion-detail {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

/* Nested accordion details for semesters */
.program-accordion-container .semester-accordion .program-accordion-detail {
  gap: 1.5rem;
}

.program-accordion-container .program-accordion-detail > div {
  color: white;
}

.program-accordion-container .program-accordion-div {
  border: black 1px solid;
  padding: 1.5em;
  padding-top: 1.5em;
  padding-bottom: 1.5em;
  position: relative;
}

.program-accordion-container .accordion-course-type {
  display: flex;
  position: relative;
  padding: 20px;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  margin-bottom: 1rem;
}

.program-accordion-container .accordion-course-type:first-child {
  margin-top: 1.5em;
}

.program-accordion-container .accordion-course-type:last-child {
  margin-bottom: 24px;
}

.program-accordion-container .program-accordion-div .open-accordion-arrow {
  width: 40px;
  height: 40px;
  position: absolute;
  top: 12px;
  right: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url("assets/material-symbol-arrow-open.svg");
  background-position: center;
  background-repeat: no-repeat;
}

/* Generic fallback for other accordion divs (non-nested programs) - MUST come first */
.program-accordion-container .program-accordion-div.open .open-accordion-arrow {
  background-image: url("assets/material-symbol-cross-closed.svg");
}

/* Year accordion icons - down arrow when closed, X when open - Higher specificity */
.program-accordion-container
  .program-accordion-div.year-accordion:not(.open)
  .open-accordion-arrow {
  background-image: url("assets/material-symbol-arrow-open.svg") !important;
}
.program-accordion-container
  .program-accordion-div.year-accordion.open
  .open-accordion-arrow {
  background-image: url("assets/material-symbol-cross-closed.svg") !important;
}

/* Semester accordion icons - down arrow when closed, X when open - Maximum specificity */
.program-accordion-container
  .program-accordion-div.semester-accordion:not(.open)
  .open-accordion-arrow {
  background-image: url("assets/material-symbol-arrow-open.svg") !important;
}
.program-accordion-container
  .program-accordion-div.semester-accordion.open
  .open-accordion-arrow {
  background-image: url("assets/material-symbol-cross-closed.svg") !important;
}

.program-accordion-container .accordion-specific-title {
  font-size: var(--fz-15pt);
  display: flex;
  flex: 1;
  align-items: center;
}

.program-accordion-div .course-x-times {
  border-radius: 100%;
  width: 35px;
  height: 35px;
  text-align: center;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  top: -30px;
  right: -15px;
}

.accordion-specific-title {
  position: relative;
}

.program-accordion-div .course-x-times span {
  font-size: var(--fz-13pt);
}

.program-accordion-container .course-type-weeks {
  font-size: var(--fz-15pt);
  position: absolute;
  left: 0.5em;
  bottom: -18px;
  border: 2px solid;
  background-color: white;
  padding: 7px;
  padding-top: 2px;
  padding-bottom: 3px;
}

.program-accordion-container
  .program-accordion-div
  .program-accordion-detail
  .accordion-course-type
  .course-type-credits {
  display: flex;
  flex-direction: column;
  padding-left: 22px;
  align-items: center;
  justify-content: center;
}

.program-accordion-container .course-type-credits span:nth-child(1) {
  font-size: var(--fz-13pt);
}

.program-accordion-container .course-type-credits span:nth-child(2) {
  font-size: var(--fz-9pt);
}

.program-accordion-container .course-type-weeks span {
  font-size: var(--fz-11pt);
}

/* Transversal courses info styling */
.transversal-courses-info {
  padding: 1rem;
  color: #333 !important;
  font-family: "Inter", sans-serif !important;
  font-weight: 400 !important;
  text-transform: none !important;
}

.transversal-courses-info p {
  margin: 0;
  color: #333 !important;
}

/* Transversal requirements visual style */
.transversal-course {
  background-color: #e5e5e5 !important;
  color: #000000 !important;
  border: none !important;
}

.transversal-course .course-x-times {
  background-color: #ffffff !important;
  border: 2px solid #e5e5e5 !important;
  color: #000000 !important;
}

.transversal-weeks {
  background-color: #ffffff !important;
  border: 2px solid #e5e5e5 !important;
  color: #000000 !important;
}

/* .program-accordion-div {
  cursor: default !important;   
} */

.program-accordion-div span.open-accordion-arrow {
  cursor: pointer !important;
}

.program-right-dialog-window.from-accordion .program-dynamic-info-container {
  height: 100%;
  width: 100%;
  background: white;
  overflow: auto;
}

@media screen and (max-width: 500px) {
  .program-right-dialog-window.from-accordion {
    height: 300px;
  }
}

.program-right-dialog-window.from-accordion .accordion-close-button {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 32px;
  height: 32px;
  background-image: url("assets/material-symbol-cross-closed.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  cursor: pointer;
  z-index: 10000;
}

.program-right-dialog-window.from-accordion {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100vw !important;
  height: 50vh;
  z-index: 9999;
  transition: all 0.3s ease;
  left: 50%;
  transform: translateX(-50%);
  display: block !important; /* Force visibility */
}

/* Ensure the dialog container scrolls internally and sits above other UI on mobile */
.program-right-dialog-window.from-accordion .program-dynamic-info-container {
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
  max-height: 100%;
}

@media screen and (max-width: 992px) {
  .program-right-dialog-window.from-accordion {
    display: block !important;
    visibility: visible !important;
  }

  .program-right-dialog-window.from-accordion .program-dynamic-info-container {
    display: block !important;
    visibility: visible !important;
  }
}

.accordion-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(255, 255, 255, 0.5);
  z-index: 9998;
}

/* Prevent page content shift on mobile when the dialog opens */
html.lock-scroll,
body.lock-scroll {
  height: 100%;
  overflow: hidden !important;
}
/* --- Botón cerrar diálogo cursos (pantallas medianas) --- */
.dialog-close-button {
  position: absolute;
  top: 50px;
  right: 100px;
  font-size: 3rem;
  color: #888;
  cursor: pointer;
  z-index: 10;
  background: none;
  border: none;
  line-height: 1;
  padding: 0;
  transition: color 0.2s;
  display: none; /* por defecto oculto, JS lo muestra según tamaño */
}
.dialog-close-button:hover {
  color: #222;
}
.dialog-close-button-posgrado {
  position: absolute;
  top: 25px;
  right: 25px;
  font-size: 3rem;
  color: #888;
  cursor: pointer;
  z-index: 10;
  background: none;
  border: none;
  line-height: 1;
  padding: 0;
  transition: color 0.2s;
  display: none; /* por defecto oculto, JS lo muestra según tamaño */
}
.dialog-close-button-posgrado:hover {
  color: #222;
}
.program-accordion-div:hover {
  cursor: pointer;
}

/* MAM Program Border Styles */
.mam-solid-border {
  border: 4px solid !important;
}

.mam-dashed-border {
  border: 4px solid transparent !important;
  background:
    linear-gradient(white, white) padding-box,
    repeating-linear-gradient(
        45deg,
        var(--mam-border-color, #000) 0,
        var(--mam-border-color, #000) 3px,
        transparent 3px,
        transparent 6px
      )
      border-box !important;
}

/* Remove pseudo-element fallback - using direct border instead */
.mam-dashed-border > * {
  position: relative;
  z-index: 2;
}

/* Fix MAM hover behavior to match ARQ - prevent scaling/transform issues */
.programa-mam .accordion-course-type {
  transform: none !important;
  transition: none !important;
}

.programa-mam .accordion-course-type:hover {
  transform: none !important;
  cursor: pointer;
}
/* Nuevos Estilos de podcast y de episodios */

/* Adjust layout for podcast episodes */
.podcast-episode {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 2rem;
}

.podcast-thumb {
  flex: 0 0 auto;
  max-width: 150px;
}

.podcast-thumb img {
  width: 100%;
  height: auto;
  display: block;
  transition: filter 0.3s;
  position: relative;
}

.podcast-thumb .blue-on-hover,
.podcast-thumb.blue-on-hover,
.blue-on-hover.placeholder-image {
  position: relative;
  z-index: 0;
  overflow: hidden;
}

/* Blue overlay and grayscale effect for podcast episode images and placeholders */
/* Grayscale on image, blue overlay on .podcast-thumb */
.podcast-episode-link:hover .podcast-thumb img,
.podcast-episode-link:focus .podcast-thumb img {
  filter: grayscale(100%);
}
.podcast-thumb.blue-on-hover,
.blue-on-hover.placeholder-image {
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.podcast-thumb.blue-on-hover::after,
.blue-on-hover.placeholder-image::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: var(--arqdis-blue, blue);
  mix-blend-mode: screen;
  opacity: 0;
  z-index: 2;
  transition: opacity 0.3s;
  pointer-events: none;
}
.podcast-episode-link:hover .podcast-thumb.blue-on-hover::after,
.podcast-episode-link:focus .podcast-thumb.blue-on-hover::after,
.podcast-episode-link:hover .blue-on-hover.placeholder-image::after,
.podcast-episode-link:focus .blue-on-hover.placeholder-image::after {
  opacity: 1;
}

/* Blue overlay effect for podcast episode images and placeholders */
.podcast-thumb .blue-on-hover,
.podcast-thumb.blue-on-hover,
.blue-on-hover.placeholder-image {
  position: relative;
  z-index: 0;
}
.podcast-thumb .blue-on-hover::after,
.podcast-thumb.blue-on-hover::after,
.blue-on-hover.placeholder-image::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: var(--arqdis-blue, blue);
  mix-blend-mode: screen;
  opacity: 0;
  z-index: 2;
  transition: opacity 0.3s;
  pointer-events: none;
}
.podcast-episode-link:hover .podcast-thumb .blue-on-hover::after,
.podcast-episode-link:hover .podcast-thumb.blue-on-hover::after,
.podcast-episode-link:hover .blue-on-hover.placeholder-image::after,
.podcast-episode-link:focus .podcast-thumb .blue-on-hover::after,
.podcast-episode-link:focus .podcast-thumb.blue-on-hover::after,
.podcast-episode-link:focus .blue-on-hover.placeholder-image::after {
  opacity: 1;
}

.podcast-info {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.podcast-episode-title {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
  color: black;
  transition: color 0.25s ease;
}
.podcast-info {
  color: black;
  transition: color 0.25s ease;
}
.podcast-info * {
  color: inherit;
  transition: color 0.25s ease;
}
/* When hovering/focusing the entire card, turn all text blue */
.podcast-episode-link:hover .podcast-info,
.podcast-episode-link:hover .podcast-info *,
.podcast-episode-link:hover .podcast-episode-title,
.podcast-episode-link:hover .podcast-mobile,
.podcast-episode-link:hover .podcast-mobile *,
.podcast-episode-link:focus .podcast-info,
.podcast-episode-link:focus .podcast-info *,
.podcast-episode-link:focus .podcast-episode-title,
.podcast-episode-link:focus .podcast-mobile,
.podcast-episode-link:focus .podcast-mobile *,
.podcast-episode-link:focus-visible .podcast-info,
.podcast-episode-link:focus-visible .podcast-info *,
.podcast-episode-link:focus-visible .podcast-episode-title,
.podcast-episode-link:focus-visible .podcast-mobile,
.podcast-episode-link:focus-visible .podcast-mobile * {
  color: var(--arqdis-blue);
}
.podcast-episode-content {
  font-size: 1rem;
  text-align: justify;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.podcast-duration {
  color: black;
  font-family: "Roboto", sans-serif;
}
.post-body.podcast-episode-content {
  max-width: none;
}

/* Hide mobile version on desktop */
.podcast-mobile {
  display: none;
}

/* Desktop layout */
@media (min-width: 768px) {
  .podcast-episode-link {
    display: flex;
    flex-direction: row;
    gap: 2rem;
  }
}

/* Mobile layout */
@media (max-width: 767px) {
  .podcast-episode-link {
    display: block;
  }
  .podcast-thumb,
  .podcast-info {
    display: none;
  }
  .podcast-mobile {
    display: block;
  }
  .podcast-mobile-header {
    display: flex;
    align-items: center;
    gap: 1rem;
  }
  .podcast-mobile .podcast-thumb {
    width: 80px;
    flex-shrink: 0;
    display: block; /* Ensure the image is visible */
  }
  .podcast-duration {
    margin-top: 0.5rem;
  }
}

/* Podcast Episode: Complementary links styling */
.episode-complementary-box a {
  color: var(--arqdis-uniandes-edu-co-blue, var(--color-blue-50, #00f));
  font-family: "Work Sans", sans-serif;
  font-size: 16.3px;
  font-style: normal;
  text-decoration: none;
  font-weight: 400;
  display: list-item; /* enable list marker for each link */
  list-style-type: disc;
  list-style-position: outside;
  margin-left: 1.25rem; /* indent to make room for bullet */
  line-height: 1.4;
}

.episode-complementary-box a::marker {
  color: var(--arqdis-uniandes-edu-co-blue, var(--color-blue-50, #00f));
}

.episode-complementary-box a::after {
  content: none !important;
}

/* Audio player styles */
.arqdis-audio-player {
  display: grid;
  grid-template-columns: auto 80px 1fr;
  align-items: center;
  gap: 1rem;
  margin-top: 0.75rem;
}

.episode-banner-container .arqdis-audio-player.banner-context {
  margin-top: 0.25rem;
  margin-bottom: 3rem;
  max-width: var(--medium-content-w);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--min-side-margin) !important;
  padding-right: var(--min-side-margin) !important;
  box-sizing: border-box;
}

.arqdis-audio-player .ap-btn {
  background: none;
  border: 0;
  color: #fff;
  width: 36px;
  height: 36px;
  cursor: pointer;
  display: grid;
  place-items: center;
}

.arqdis-audio-player .ap-time {
  font-family: "Work Sans", system-ui, sans-serif;
  font-size: 14px;
  color: #fff;
  opacity: 0.9;
  white-space: nowrap;
}

.arqdis-audio-player .ap-track {
  position: relative;
  height: 2px;
  background: transparent; /* invisible clickable area */
  cursor: pointer;
  outline: none;
  padding: 10px 0; /* add vertical click threshold above/below the line */
  margin: -10px 0; /* compensate so track doesn't take extra visual space */
}

.arqdis-audio-player .ap-track::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 2px;
  background: rgba(255, 255, 255, 0.6); /* visible line */
  pointer-events: none;
}

.arqdis-audio-player .ap-fill {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 0%;
  background: transparent;
}

.arqdis-audio-player .ap-thumb {
  position: absolute;
  top: 50%;
  width: 10px;
  height: 10px;
  background: #fff;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  left: 0%;
  pointer-events: none;
}

.arqdis-audio-player .ap-track:focus .ap-thumb,
.arqdis-audio-player .ap-track:hover .ap-thumb {
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.15);
}

@media (max-width: 640px) {
  .arqdis-audio-player {
    grid-template-columns: auto 70px 1fr;
    gap: 0.75rem;
  }
  .arqdis-audio-player .ap-time {
    font-size: 13px;
  }
  .arqdis-audio-player .ap-btn {
    width: 32px;
    height: 32px;
  }
}

/* Detail Card No Results State */
.detail-card-no-results {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
  padding: 2rem;
}

.detail-no-results-content {
  text-align: center;
  max-width: 500px;
}

.detail-no-results-message {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #666;
  margin: 0;
  font-weight: 400;
}

/* Permanent download button - positioned at the bottom right of the SVG container */
.permanent-download-study-plan-button {
  display: block;
  background: black;
  color: white;
  transition: background 0.3s;
  padding: 0.3em;
  position: absolute;
  bottom: 25px; /* Aligned with SVG padding */
  right: 25px; /* Aligned with SVG padding */
  white-space: nowrap;
  text-decoration: none;
  z-index: 10;
}

.permanent-download-study-plan-button:hover {
  background: var(--arqdis-blue);
  color: white;
  text-decoration: none;
}

/* Position relative to the SVG container */
.program-svg-container {
  position: relative;
}

/* Hide on mobile/small screens where the layout is different */
@media screen and (max-width: 991px) {
  .permanent-download-study-plan-button {
    display: none;
  }
}

/* ==========================================
   MOBILE FILTER PANEL STYLES
   ========================================== */

/* Hide mobile filter elements on desktop */
.mobile-filter-trigger,
.mobile-filter-overlay {
  display: none;
}

/* Mobile-specific styles */
@media screen and (max-width: 991px) {
  /* Hide desktop filter module on mobile */
  .filter-module-container {
    display: none;
  }

  /* Mobile filter trigger button */
  .mobile-filter-trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    padding: 0.5em 1em;
    margin-top: 1em;
    background-color: transparent;
    color: var(--arqdis-blue);
    border: 2px solid var(--arqdis-blue);
    font-family: "Roboto Mono", monospace;
    font-size: var(--fz-14pt);
    font-weight: 500;
    cursor: pointer;
    transition:
      background-color 0.2s,
      color 0.2s;
  }

  .mobile-filter-trigger:hover,
  .mobile-filter-trigger:focus,
  .mobile-filter-trigger[aria-expanded="true"] {
    background-color: var(--arqdis-blue);
    color: white;
  }

  .mobile-filter-trigger .filter-arrow {
    transition: transform 0.3s;
  }

  .mobile-filter-trigger[aria-expanded="true"] .filter-arrow {
    transform: rotate(180deg);
  }

  /* Mobile filter overlay */
  .mobile-filter-overlay {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition:
      opacity 0.3s,
      visibility 0.3s;
  }

  .mobile-filter-overlay[aria-hidden="false"] {
    opacity: 1;
    visibility: visible;
  }

  /* Mobile filter panel */
  .mobile-filter-panel {
    position: fixed;
    top: 0;
    left: 0;
    width: 85%;
    max-width: 350px;
    height: 100%;
    background-color: white;
    transform: translateX(-100%);
    transition: transform 0.3s ease-out;
    display: flex;
    flex-direction: column;
    z-index: 10000;
  }

  .mobile-filter-overlay[aria-hidden="false"] .mobile-filter-panel {
    transform: translateX(0);
  }

  /* Mobile filter header */
  .mobile-filter-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5em;
    padding-bottom: 0;
  }

  .mobile-filter-header h3 {
    margin: 0;
    font-family: "Roboto Mono", monospace;
    font-size: var(--fz-18pt);
    font-weight: 700;
    color: black;
    letter-spacing: 0.05em;
  }

  .mobile-filter-close {
    background: none;
    border: none;
    padding: 0.5em;
    cursor: pointer;
    color: var(--arqdis-blue);
    transition: transform 0.2s;
  }

  .mobile-filter-close:hover {
    transform: scale(1.1);
  }

  /* Mobile filter options container */
  .mobile-filter-options {
    flex: 1;
    overflow-y: auto;
    padding: 1em 1.5em;
    padding-bottom: 2em;
    display: flex;
    flex-direction: column;
    gap: 0.2em;
    position: relative;
    /* Styled scrollbar */
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
    padding-top: 0;
  }

  /* Webkit scrollbar styling */
  .mobile-filter-options::-webkit-scrollbar {
    width: 4px;
  }

  .mobile-filter-options::-webkit-scrollbar-track {
    background: transparent;
  }

  .mobile-filter-options::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 4px;
  }

  .mobile-filter-options::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0, 0, 0, 0.35);
  }

  /* Mobile filter option (checkbox label) */
  .mobile-filter-option {
    display: flex;
    align-items: center;
    padding: 0.8em 0;
    cursor: pointer;
    font-size: var(--fz-14pt);
    color: black;
    border-bottom: 1px solid #eee;
    user-select: none;
    font-family: roboto mono;
    text-transform: uppercase;
  }

  .mobile-filter-option:last-child {
    border-bottom: none;
  }

  /* Hide default checkbox */
  .mobile-filter-checkbox {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
  }

  /* Custom checkmark */
  .mobile-filter-checkmark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    min-width: 20px;
    border: 2px solid #ccc;
    margin-right: 1em;
    transition:
      border-color 0.2s,
      background-color 0.2s;
  }

  .mobile-filter-checkbox:checked + .mobile-filter-checkmark {
    background-color: var(--arqdis-blue);
    border-color: var(--arqdis-blue);
  }

  .mobile-filter-checkmark::after {
    content: "";
    display: none;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    margin-bottom: 2px;
  }

  .mobile-filter-checkbox:checked + .mobile-filter-checkmark::after {
    display: block;
  }

  /* .mobile-filter-option:hover .mobile-filter-checkmark {
    border-color: var(--arqdis-blue);
  } */

  /* Mobile filter actions */
  .mobile-filter-actions {
    padding: 1.5em;
    border-top: none;
    position: relative;
    background: white;
    /* Floating shadow effect */
    box-shadow: 0 -8px 20px rgba(0, 0, 0, 0.08);
  }

  /* Gradient fade above button */
  .mobile-filter-actions::before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 0;
    right: 0;
    height: 48px;
    background: linear-gradient(to top, white 0%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none;
  }

  .mobile-filter-apply {
    width: 100%;
    padding: 0.8em 1.5em;
    background-color: transparent;
    color: var(--arqdis-blue);
    border: 2px solid var(--arqdis-blue);
    font-family: "Roboto Mono", monospace;
    font-size: var(--fz-14pt);
    font-weight: 600;
    cursor: pointer;
    transition:
      background-color 0.2s,
      color 0.2s;
    letter-spacing: 0.05em;
  }

  .mobile-filter-apply:hover,
  .mobile-filter-apply:focus {
    background-color: var(--arqdis-blue);
    color: white;
  }

  .mobile-filter-apply:disabled {
    opacity: 0.4;
    cursor: not-allowed;
  }

  .mobile-filter-apply:disabled:hover {
    background-color: transparent;
    color: var(--arqdis-blue);
  }
}
p span.small-print {
  display: inline-block;
  font-size: 0.9em;
  font-family: "Roboto Mono", monospace;
  margin-top: 1.2em;
}

@media (min-width: 768px) {
  .info-page-mobile-toc {
    display: none;
  }
}
@media only screen and (max-width: 991px) {
  .single-informacion h1.section-title{
    font-size: var(--fz-24pt);
    border-bottom: blue solid 10px;
  }
  .info-page-heading{
    margin-bottom: 1em;
  }
}

/*-------------------LINKTREE CPT-------------------*/

body.single-linktree {
  position: relative;
  margin: 0;
  overflow-x: hidden;
}

.linktree-background {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 0;
  pointer-events: none;
}

.linktree-page {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  min-height: 100vh;
}

.linktree-card {
  width: 592px;
  min-height: 864px;
  background-color: white;
  padding: 32px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.25);
  overflow: hidden;
}

.linktree-banner {
  margin: -32px -32px 24px;
  overflow: hidden;
}

.linktree-banner-img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.linktree-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 10px;
}

.linktree-avatar {
  height: 35px;
  margin-bottom: 0;
}

.linktree-avatar img {
  height: 100%;
  width: auto;
  object-fit: contain;
}

.linktree-subtitle {
  font-size: 14px;
  color: #666;
  margin: 4px 0 0;
}

.linktree-sections {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}

.linktree-section-title {
  font-family: 'Roboto Mono', monospace;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--arqdis-magenta);
  text-align: left;
  margin: 14px 0 4px;
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 8px;
}

.linktree-section-title::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--arqdis-magenta);
  opacity: 0.25;
}

.linktree-sections > .linktree-section-title:first-child {
  margin-top: 0;
}

.linktree-links {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.linktree-link {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 0.5px solid black;
  padding: 10px 12px;
  text-decoration: none;
  color: black;
  font-family: 'Work Sans', sans-serif;
  font-weight: 500;
  font-size: 14px;
  transition: border-color 0.12s ease, color 0.12s ease;
  width: 100%;
  box-sizing: border-box;
}

.linktree-link:hover {
  border-color: var(--arqdis-blue);
  color: var(--arqdis-blue);
}

.linktree-link:active {
  background-color: rgba(0, 0, 255, 0.04);
}

.linktree-link-icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}

.linktree-link-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.linktree-link-label {
  flex: 1;
  text-align: left;
}

.linktree-link-arrow {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  background-color: black;
  -webkit-mask-image: url("assets/thick-arrow-ne.svg");
  mask-image: url("assets/thick-arrow-ne.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  opacity: 0.35;
  transform: translateX(-5px);
  transition: opacity 0.15s ease, background-color 0.15s ease, transform 0.15s ease;
}

.linktree-link:hover .linktree-link-arrow {
  background-color: var(--arqdis-blue);
  opacity: 1;
  transform: translateX(0);
}

@media only screen and (max-width: 620px) {
  .linktree-card {
    width: 100%;
    min-height: auto;
    padding: 24px 16px;
  }

  .linktree-banner {
    margin: -24px -16px 20px;
  }

  .linktree-link {
    font-size: 13px;
  }

  .linktree-section-title {
    font-size: 10px;
  }
}


/* ==========================================================================
   Índice móvil en páginas de información (single-informacion)
   - Inline bajo el título: lista completa con tipografía ligera (secciones en
     negrita, apartados en regular/gris con guion), sin flechas ni líneas.
   - Descargar/Contáctanos salen de la lista y van como fila de acciones al final.
   - Desplegable de la barra pegajosa: misma tipografía ligera.
   ========================================================================== */
.toc-count {
  display: none;
}

@media only screen and (max-width: 767px) {
  /* ---- Inline bajo el título ---- */
  .info-page-mobile-toc {
    margin: 18px 0 30px;
  }

  .info-page-mobile-toc h6 {
    font-size: var(--fz-10pt);
    font-weight: 500;
    letter-spacing: 0.08em;
    color: #777;
    margin-bottom: 10px;
  }

  .info-page-mobile-toc > ul {
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 20px;
  }

  .info-page-mobile-toc > ul > li:not(.info-page-download-link):not(.info-page-contact-link) {
    flex: 0 0 100%;
    margin: 0;
  }

  .info-page-mobile-toc > ul > li.has-child-anchors,
  .info-page-mobile-toc > ul > li:not(.toc-child-anchors):not(.info-page-download-link):not(.info-page-contact-link) {
    padding: 7px 0 3px;
    font-weight: 700;
    font-size: var(--fz-13pt);
  }

  .info-page-mobile-toc > ul > li > a {
    display: block;
  }

  .info-page-mobile-toc a::after {
    content: none;
  }

  .info-page-mobile-toc a:hover {
    transform: none;
  }

  /* Apartados */
  .info-page-mobile-toc li.toc-child-anchors ul {
    padding-left: 0;
    margin: 2px 0 6px;
  }

  .info-page-mobile-toc li.toc-child-anchors li {
    margin-bottom: 0.15em;
  }

  .info-page-mobile-toc li.toc-child-anchors a {
    display: flex;
    gap: 8px;
    font-weight: 400;
    font-size: var(--fz-11pt);
    color: #555;
    opacity: 1;
    padding: 2px 0;
    text-decoration: none;
  }

  .info-page-mobile-toc li.toc-child-anchors a::before {
    content: "";
    flex: none;
    width: 10px;
    height: 1px;
    background: #999;
    margin-top: 0.6em;
  }

  .info-page-mobile-toc li.toc-child-anchors a.active-anchor {
    color: #000;
  }

  /* Acciones al final, en una fila alineada */
  .info-page-mobile-toc > ul > li.info-page-download-link,
  .info-page-mobile-toc > ul > li.info-page-contact-link {
    order: 1;
    flex: 0 0 auto;
    margin: 14px 0 0;
    font-weight: 700;
    font-size: var(--fz-12pt);
    line-height: 1.6em;
  }

  .info-page-mobile-toc > ul > li.info-page-download-link a,
  .info-page-mobile-toc > ul > li.info-page-contact-link a {
    display: flex;
    align-items: center;
    gap: 0.45em;
    min-height: 1.6em;
    grid-template-columns: none;
  }

  /* ---- Desplegable de la barra pegajosa: tipografía ligera ---- */
  body.single-informacion .info-page-content .table-of-contents li.toc-child-anchors ul {
    padding-left: 0;
    margin: 4px 0 8px;
  }

  body.single-informacion .info-page-content .table-of-contents li.toc-child-anchors li {
    margin-bottom: 0.15em;
  }

  body.single-informacion .info-page-content .table-of-contents li.toc-child-anchors a {
    display: flex;
    gap: 8px;
    font-weight: 400;
    font-size: var(--fz-11pt);
    color: #555;
    opacity: 1;
    padding: 2px 0;
  }

  body.single-informacion .info-page-content .table-of-contents li.toc-child-anchors a::before {
    content: "";
    flex: none;
    width: 10px;
    height: 1px;
    background: #999;
    margin-top: 0.6em;
  }

  body.single-informacion .info-page-content .table-of-contents li.toc-child-anchors a::after {
    content: none;
  }

  body.single-informacion .info-page-content .table-of-contents li.toc-child-anchors a.active-anchor {
    color: #000;
  }

  body.single-informacion .info-page-content .table-of-contents li.info-page-download-link,
  body.single-informacion .info-page-content .table-of-contents li.info-page-contact-link {
    margin-top: 0.4em;
  }
}
