@charset "UTF-8";
:root {
  --c-primary-10:#FDECF1;
  --c-primary: #A60F38;
  --c-primary-20: #830C2C;
  --c-primary-40: #5D091F;
  --c-primary-60: #380613;
  --c-primary-light: #0FA623;
  --c-primary-alpha: 166, 15, 56;
  --c-primary-20-alpha: 131, 12, 44;
  --c-primary-40-alpha: 93, 9, 31;
  --c-primary-60-alpha: 56, 6, 19;
  --c-primary-light-alpha: 253, 236, 241;
  --bg-theme-light:#E5E3DC;
  --bg-theme-medium:#EDEDE8;
  --bg-theme:#CDC9BB;
  --bg-theme-dark:#003366;
  --bg-theme-black:#131313;
  --c-orange-alpha:238, 117, 4;
  --c-primary-accent: #0FA623;
  --c-black: #1B1B1B;
  --c-red: #e42c2a;
  --c-black-alpha: 27, 27, 27;
  --c-red-alpha: 228, 44, 42;
  --background-color: #fff;
  --background-light-color: #F9F5F0;
  --text-color: #292929;
  --title-color: #000;
  --text-color-dt: #fff;
  --title-color-dt:#fff;
  --high-contast: #001225;
  --c-title-color: var(--c-black);
  --header-background: #fff;
  --accent-dark-background: #fff;
  --button-background: var(--c-primary);
  --button-color: #fff;
  --button-tag-background: #fff;
  --button-tag-color: var(--c-black);
  --pagination-link-color: var(--c-primary-20);
  --pagination-link-border: var(--c-primary-20);
  --pagination-link-bg: #fff;
  --pagination-link-hover-color: #fff;
  --pagination-link-hover-bg: var(--c-primary);
  --pagination-link-active-color: #fff;
  --pagination-link-active-bg: var(--c-primary-20);
  --pagination-link-inactive-color: #b9b9b9;
  --pagination-link-inactive-bg: #ececec;
  --block-bg-grey: #f7f7f7;
  --block-bg-color: rgba(0, 67, 137, .15);
  --block-bg-background: #fff;
  --block-bg-shadow: 0 10px 20px -5px rgba(0, 0, 0, .15);
  --block-bottom-bg-shadow: 0 -10px 20px -5px rgba(0, 0, 0, .15);
  --card-color-bg: #3c3c3c;
  --card-background: transparent;
  --card-shadow: 0;
  --form-fondo-input: #fff;
  --form-color-input: #333;
  --form-borde-input-color: #999;
  --form-color-select-icono: rgba(26, 24, 22, .25);
  --form-color-check-box:var(--text-color);
  --form-fondo-clausula: rgba(255, 255, 255, .4);
  --form-color-clausula: #333;
  --form-borde-clausula: rgba(26, 24, 22, .4);
  --icon-filter: invert(0);
  --img-filter: none;
  --gris-bordes: #c2c1c1;
  --gris-medio: #717171;
  --gris-claro: #e8e8e8;
  --gris-oscuro:#535150;
  --bg-dark-theme: var(--c-primary);
  --color-dark-theme: #fff;
  --bg-tint: rgba(0, 18, 37, .5);
  --bg-tint-hover: rgba(var(--c-black-alpha), .85);
  --level-0: #fff;
  --level-1: #e8e8e8;
  --level-2: #f8f8f8;
  --level-3: #fff;
  --azul-uno-rgb: 0, 166, 210;
  --azul-dos-rgb: 2, 108, 212;
  --tinta: linear-gradient(135deg, rgba(var(--azul-uno-rgb), .8) 0%, rgba(var(--azul-dos-rgb), .8) 100%);
}

/*RESET*/
a, abbr, acronym, address, applet, article, aside, audio, b, blockquote, big, body, center, canvas, caption, cite, code, command, datalist, dd, del, details, dfn, dl, div, dt, em, embed, fieldset, figcaption, figure, font, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, keygen, label, legend, li, meter, nav, object, ol, output, p, pre, progress, q, s, samp, section, small, span, source, strike, strong, sub, sup, table, tbody, tfoot, thead, th, tr, tdvideo, tt, u, ul, var {
  background: transparent;
  border: 0 none;
  font-size: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
}

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, table td {
  padding: 0;
  border: none;
  border-collapse: collapse;
}

body {
  -webkit-text-size-adjust: none;
  overflow-x: hidden;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

img {
  vertical-align: top;
}

embed {
  vertical-align: top;
}

article, aside, audio, canvas, command, datalist, details, embed, figcaption, figure, footer, header, hgroup, keygen, meter, nav, output, progress, section, source, video {
  display: block;
}

mark, rp, rt, ruby, summary, time {
  display: inline;
}

@font-face {
  font-family: "Montserrat Light";
  src: url("/static/fonts/montserrat/montserrat-light.woff2") format("woff2"), url("/static/fonts/montserrat/montserrat-light.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("/static/fonts/montserrat/montserrat-regular.woff2") format("woff2"), url("/static/fonts/montserrat/montserrat-regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat Medium";
  src: url("/static/fonts/montserrat/montserrat-medium.woff2") format("woff2"), url("/static/fonts/montserrat/montserrat-medium.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat Semibold";
  src: url("/static/fonts/montserrat/montserrat-semibold.woff2") format("woff2"), url("/static/fonts/montserrat/montserrat-semibold.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
body {
  font-family: "Montserrat";
  font-size: 1em;
  line-height: 1.65;
  color: var(--text-color);
  font-size: 1.063rem;
  letter-spacing: 0.015rem;
}
@media (min-width: 25em) {
  body {
    font-size: 1.125rem;
  }
}
@media (min-width: 60em) {
  body {
    font-size: 1.1875rem;
    font-family: "Montserrat Light", "Montserrat";
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.15;
  letter-spacing: 1px;
  margin-bottom: 0.5em;
  font-weight: normal;
  font-family: "Montserrat Semibold";
  text-transform: uppercase;
  color: var(--title-color);
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  font-family: inherit;
}

h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span,
h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
h6 strong {
  font-family: "Montserrat Semibold";
  font-weight: normal;
  font-size: inherit;
  color: inherit;
}

* + h1,
* + h2,
* + h3,
* + h4,
* + h5,
* + h6 {
  margin-top: 1em;
}

h1 {
  font-size: 1.953rem;
  font-family: "Montserrat Semibold";
}
h1 strong {
  font-family: "Montserrat Semibold";
}

h2 {
  font-size: 1.563rem;
}

h3 {
  font-size: 1.25rem;
}

h4 {
  font-size: 1.15rem;
}

h5 {
  font-size: 1rem;
}

h6 {
  font-size: 1rem;
}

@media (min-width: 37.4em) {
  h1 {
    font-size: 2.441rem;
  }
  h2 {
    font-size: 1.953rem;
  }
  h3 {
    font-size: 1.563rem;
  }
  h4 {
    font-size: 1.25rem;
  }
  h5 {
    font-size: 1.15rem;
  }
  h6 {
    font-size: 1rem;
  }
}
@media (min-width: 80em) {
  h1 {
    font-size: 3.052rem;
  }
  h2 {
    font-size: 2.441rem;
  }
  h3 {
    font-size: 1.953rem;
  }
  h4 {
    font-size: 1.563rem;
  }
  h5 {
    font-size: 1.25rem;
  }
  h6 {
    font-size: 1.15rem;
  }
}
a {
  color: var(--c-primary);
  font-family: "Montserrat";
  text-decoration: none;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
a:hover {
  color: var(--c-primary-accent);
  text-decoration: underline;
}

h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover {
  text-decoration: none;
}

b,
strong {
  font-family: "Montserrat Semibold";
  font-weight: normal;
}

address {
  font-style: normal;
}

body.noscroll {
  overflow: hidden;
}

#contenedor {
  margin: 0 auto;
  height: auto;
  background: var(--background-color);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

#header {
  -webkit-box-ordinal-group: -1;
      -ms-flex-order: -2;
          order: -2;
}

#contenido,
#footer {
  position: relative;
  width: 100%;
}

#contenido {
  min-height: 50vh;
  background: var(--background-color);
}

#contenedor.hero #contenido, #contenedor.hero #footer {
  top: 0;
}

.bloque {
  height: auto;
  width: 100%;
  padding: 1.5rem 1rem;
  clear: both;
}
.bloque.fondo {
  background: inherit;
}
.bloque.nopad {
  padding: 0 !important;
}
@media only screen and (min-width: 340px) {
  .bloque {
    padding: 1.5rem;
  }
}
@media only screen and (min-width: 400px) {
  .bloque {
    padding: 2rem;
  }
}
@media only screen and (min-width: 960px) {
  .bloque {
    padding: 3rem;
  }
}
@media only screen and (min-width: 1240px) {
  .bloque {
    width: 100%;
    padding: 4rem calc((100% - 1200px) / 2);
  }
  .bloque.descargas {
    padding-left: calc((100vw - 56rem) / 2);
    padding-right: calc((100vw - 56rem) / 2);
  }
}
@media only screen and (min-width: 1440px) {
  .bloque {
    width: 100%;
    padding: 4rem calc((100% - 1356px) / 2);
  }
}

#contenido .bloque.dark_theme:nth-child(2n),
.bloque.dark_theme,
.dark_theme,
.bloque.fondo_color {
  background: var(--bg-dark-theme);
  color: var(--color-dark-theme);
}
#contenido .bloque.dark_theme:nth-child(2n) h1, #contenido .bloque.dark_theme:nth-child(2n) h2, #contenido .bloque.dark_theme:nth-child(2n) h3, #contenido .bloque.dark_theme:nth-child(2n) h4, #contenido .bloque.dark_theme:nth-child(2n) h5, #contenido .bloque.dark_theme:nth-child(2n) h6, #contenido .bloque.dark_theme:nth-child(2n) .titulo_bloque, #contenido .bloque.dark_theme:nth-child(2n) .titulo_bloque h2, #contenido .bloque.dark_theme:nth-child(2n) .titulo_bloque strong, #contenido .bloque.dark_theme:nth-child(2n) .texto_imagen .caption,
.bloque.dark_theme h1,
.bloque.dark_theme h2,
.bloque.dark_theme h3,
.bloque.dark_theme h4,
.bloque.dark_theme h5,
.bloque.dark_theme h6,
.bloque.dark_theme .titulo_bloque,
.bloque.dark_theme .titulo_bloque h2,
.bloque.dark_theme .titulo_bloque strong,
.bloque.dark_theme .texto_imagen .caption,
.dark_theme h1,
.dark_theme h2,
.dark_theme h3,
.dark_theme h4,
.dark_theme h5,
.dark_theme h6,
.dark_theme .titulo_bloque,
.dark_theme .titulo_bloque h2,
.dark_theme .titulo_bloque strong,
.dark_theme .texto_imagen .caption,
.bloque.fondo_color h1,
.bloque.fondo_color h2,
.bloque.fondo_color h3,
.bloque.fondo_color h4,
.bloque.fondo_color h5,
.bloque.fondo_color h6,
.bloque.fondo_color .titulo_bloque,
.bloque.fondo_color .titulo_bloque h2,
.bloque.fondo_color .titulo_bloque strong,
.bloque.fondo_color .texto_imagen .caption {
  color: var(--color-dark-theme);
}
#contenido .bloque.dark_theme:nth-child(2n) a:not(.boton):not(.boton-borde):not(.boton-grande):not(.boton-medio),
.bloque.dark_theme a:not(.boton):not(.boton-borde):not(.boton-grande):not(.boton-medio),
.dark_theme a:not(.boton):not(.boton-borde):not(.boton-grande):not(.boton-medio),
.bloque.fondo_color a:not(.boton):not(.boton-borde):not(.boton-grande):not(.boton-medio) {
  color: var(--c-primary-10);
}
#contenido .bloque.dark_theme:nth-child(2n) a:not(.boton):not(.boton-borde):not(.boton-grande):not(.boton-medio):hover,
.bloque.dark_theme a:not(.boton):not(.boton-borde):not(.boton-grande):not(.boton-medio):hover,
.dark_theme a:not(.boton):not(.boton-borde):not(.boton-grande):not(.boton-medio):hover,
.bloque.fondo_color a:not(.boton):not(.boton-borde):not(.boton-grande):not(.boton-medio):hover {
  color: var(--c-primary-light);
}
#contenido .bloque.dark_theme:nth-child(2n) .boton,
.bloque.dark_theme .boton,
.dark_theme .boton,
.dark_theme .boton-borde,
.dark_theme .boton-grande,
.dark_theme .boton-medio,
.bloque.fondo_color .boton,
.bloque.fondo_color .boton-borde,
.bloque.fondo_color .boton-grande,
.bloque.fondo_color .boton-medio {
  background: #fff;
  color: var(--c-primary);
  outline-color: #fff;
}
#contenido .bloque.dark_theme:nth-child(2n) .boton.boton-borde,
.bloque.dark_theme .boton.boton-borde,
.dark_theme .boton.boton-borde,
.dark_theme .boton-borde,
.bloque.fondo_color .boton.boton-borde,
.bloque.fondo_color .boton-borde {
  background: transparent;
  color: #fff;
  outline-color: #fff;
}
#contenido .bloque.dark_theme:nth-child(2n) .boton:hover,
.bloque.dark_theme .boton:hover,
.dark_theme .boton:hover,
.dark_theme .boton-borde:hover,
.dark_theme .boton-grande:hover,
.dark_theme .boton-medio:hover,
.bloque.fondo_color .boton:hover,
.bloque.fondo_color .boton-borde:hover,
.bloque.fondo_color .boton-grande:hover,
.bloque.fondo_color .boton-medio:hover {
  color: #fff;
  background: var(--c-primary);
  outline-color: var(--c-primary);
}

#contenido .bloque.fondo {
  background-color: #f7f7f7;
}

#contenido .bloque.fondo_color {
  background: var(--bg-dark-theme);
  color: var(--color-dark-theme);
}
#contenido .bloque.fondo_color + .bloque.fondo_color {
  background: var(--bg-theme-black);
}

body.dark #contenido .bloque.fondo_color {
  background: var(--bg-dark-theme);
  color: var(--color-dark-theme);
}

.caja1,
.caja2,
.caja3,
.caja4,
.caja5,
.caja6,
.caja23,
.caja24,
.caja34 {
  height: auto;
}

.caja1 {
  width: 100%;
}

.caja2 {
  width: 50%;
}

.caja3 {
  width: 33.333%;
}

.caja23 {
  width: 66.666%;
}

.caja24 {
  width: 49%;
}

.caja4 {
  width: 25%;
}

.caja34 {
  width: 75%;
}

.caja5 {
  width: 20%;
}

.caja6 {
  width: 16.666%;
}

#contenido img {
  -webkit-filter: var(--img-filter);
          filter: var(--img-filter);
}

img.lazyload,
img.lazyloading {
  opacity: 0;
}

img.lazyloaded {
  opacity: 1;
  -webkit-transition: opacity 0.3s cubic-bezier(0.85, 0, 0.15, 1);
  transition: opacity 0.3s cubic-bezier(0.85, 0, 0.15, 1);
}

@media only screen and (min-width: 960px) {
  .seccion {
    padding: 0 3rem;
    border: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .seccion #principal {
    margin-right: 1.5rem;
    background: inherit;
    width: 75%;
  }
  .seccion #columna {
    margin-left: 1.5rem;
    width: 25%;
  }
  .seccion #columna .sticker {
    position: sticky;
    top: calc(4rem + 0.1rem);
    padding-bottom: 3rem;
  }
}
@media only screen and (min-width: 1240px) {
  .seccion {
    padding: 0 calc((100% - 1200px) / 2);
  }
  .seccion #principal {
    margin-right: 2rem;
  }
  .seccion #columna {
    margin-left: 2rem;
  }
  .seccion #columna .sticker {
    position: sticky;
    top: calc(4.5rem + 0.1rem);
    padding-bottom: 4rem;
  }
}
@media only screen and (min-width: 1440px) {
  .seccion {
    padding: 0 calc((100% - 1356px) / 2);
  }
}

@media only screen and (max-width: 959px) {
  #principal {
    width: 100% !important;
  }
}
@media only screen and (min-width: 960px) {
  #principal .bloque {
    width: 100%;
    padding: 2rem;
  }
}
@media only screen and (min-width: 1240px) {
  #principal .bloque {
    padding: 2rem;
  }
}

@media only screen and (min-width: 960px) {
  #columna .bloque {
    width: 100%;
    padding: 2rem 0;
  }
  #columna .bloque:first-child {
    padding-top: 3rem;
  }
}
#columna .bloque.etiquetas {
  margin: 0;
  padding-bottom: 3rem;
}
@media only screen and (max-width: 959px) {
  #columna {
    width: 100% !important;
  }
}

#columna .titulo_bloque h4,
.ultimas_noticias_normal .titulo_bloque h4,
.ultimas_noticias_relacionadas .titulo_bloque h4 {
  font-family: "Montserrat Semibold";
  font-size: 1.25rem;
}
#columna .titulo_bloque h2,
.ultimas_noticias_normal .titulo_bloque h2,
.ultimas_noticias_relacionadas .titulo_bloque h2 {
  font-family: "Montserrat Semibold";
}

#columna .titulo_bloque {
  text-align: left;
  margin-bottom: 1rem;
}

#principal .titulo_bloque {
  margin-bottom: 2rem;
}

#principal .listado_noticias .titulo_bloque {
  margin-bottom: 0;
}

body.hero #header:not(.fixed) {
  position: fixed;
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: none;
}
body.hero #header:not(.fixed) .centrar {
  position: relative;
  z-index: 2;
}
body.hero #header:not(.fixed):after {
  position: absolute;
  top: 0;
  content: "";
  width: 100%;
  height: 10rem;
  z-index: 1;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(var(--c-black-alpha), 0.4)), color-stop(8rem, rgba(var(--c-black-alpha), 0)));
  background: linear-gradient(to bottom, rgba(var(--c-black-alpha), 0.4) 0%, rgba(var(--c-black-alpha), 0) 8rem);
}
body.hero #header:not(.fixed).fixed {
  background: var(--header-background);
  -webkit-box-shadow: 0;
          box-shadow: 0;
  border: solid;
  border-width: 0;
  border-color: transparent;
}
body.hero #header:not(.fixed).fixed:after {
  content: none;
}
body.hero #header:not(.fixed) #logo img {
  -webkit-filter: contrast(0) brightness(100);
          filter: contrast(0) brightness(100);
}
body.hero #header:not(.fixed) .button_container span {
  background: #fff;
}
@media only screen and (min-width: 1240px) {
  body.hero #header:not(.fixed) #nav li a {
    color: #fff;
    text-shadow: 0 0 5px rgba(var(--c-black-alpha), 0.35);
  }
  body.hero #header:not(.fixed) #nav ul li a {
    color: var(--c-black);
  }
  body.hero #header:not(.fixed) #nav ul li a:hover {
    color: var(--c-primary-20);
  }
  body.hero #header:not(.fixed) .boton-borde {
    outline-color: #fff;
  }
  body.hero #header:not(.fixed) .boton-borde:hover {
    color: #fff;
  }
}
@media only screen and (min-width: 1240px) {
  body.hero #header:not(.fixed) .selector-idioma button {
    color: #fff;
  }
  body.hero #header:not(.fixed) .selector-idioma button img {
    -webkit-filter: invert(1);
            filter: invert(1);
  }
}

@media only screen and (min-width: 1240px) {
  body.hero #header.centrado-logo:not(.fixed) .menu_principal.centrar {
    background: transparent;
  }
  body.hero #header.centrado-logo:not(.fixed) .menu_principal.centrar #menu {
    border: 1px solid #fff;
    border-width: 1px 0;
  }
  body.hero #header.centrado-logo:not(.fixed) .menu_principal.centrar #menu li {
    border-width: 0;
  }
  body.hero #header.centrado-logo:not(.fixed) .menu_principal.centrar #menu li a {
    background: transparent;
  }
  body.hero #header.centrado-logo:not(.fixed) .submenu a {
    color: #fff;
  }
  body.hero #header.centrado-logo:not(.fixed) .boton-borde {
    color: #fff;
    outline-color: #fff;
  }
}

@media only screen and (min-width: 1240px) {
  body.hero #header.submenu:not(.fixed) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  }
  body.hero #header.submenu:not(.fixed) #submenus {
    background: transparent;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  }
}

#header {
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 1000;
  -webkit-transition: -webkit-transform 0.125s cubic-bezier(0.86, 0, 0.07, 1);
  transition: -webkit-transform 0.125s cubic-bezier(0.86, 0, 0.07, 1);
  transition: transform 0.125s cubic-bezier(0.86, 0, 0.07, 1);
  transition: transform 0.125s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.125s cubic-bezier(0.86, 0, 0.07, 1);
  line-height: 1;
  background: var(--header-background);
  -webkit-box-shadow: 0;
          box-shadow: 0;
  border: solid;
  border-width: 0;
  border-color: transparent;
}
#header.fixed {
  -webkit-box-shadow: var(--block-bg-shadow);
          box-shadow: var(--block-bg-shadow);
}
@media only screen and (min-width: 1240px) {
  #header.fixed {
    -webkit-box-shadow: var(--block-bg-shadow);
            box-shadow: var(--block-bg-shadow);
  }
}

#header .centrar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 4rem;
  margin: 0 auto;
  padding-top: 0;
  padding-bottom: 0;
}
@media only screen and (min-width: 960px) {
  #header .centrar {
    height: 4.5rem;
  }
}
@media only screen and (min-width: 1240px) {
  #header .centrar {
    height: 7rem;
  }
}
@media only screen and (min-width: 1440px) {
  #header .centrar {
    height: 7rem;
  }
}

#header .redes a span {
  height: 2rem;
  width: 1.5rem;
  line-height: 2rem;
  font-size: 0.9rem;
  background: transparent;
  color: var(--title-color);
  border: none;
}
#header .redes a span:hover {
  background: transparent;
  color: var(--c-primary);
}

#header #menu + #idiomas {
  margin-left: 2rem;
}

#header #logo {
  display: inline-block;
  margin: auto;
}
@media only screen and (min-width: 960px) {
  #header #logo {
    margin: auto 0;
  }
}
#header #logo a {
  display: block;
}
#header #logo img, #header #logo svg {
  width: auto;
  height: 2.75rem;
}
@media only screen and (min-width: 370px) {
  #header #logo img, #header #logo svg {
    height: 2.75rem;
  }
}
@media only screen and (min-width: 600px) {
  #header #logo img, #header #logo svg {
    height: 2.75rem;
  }
}
@media only screen and (min-width: 960px) {
  #header #logo img, #header #logo svg {
    height: 3rem;
  }
}
@media only screen and (min-width: 1240px) {
  #header #logo img, #header #logo svg {
    height: 4.5rem;
  }
}
@media only screen and (min-width: 1440px) {
  #header #logo img, #header #logo svg {
    height: 4.5rem;
  }
}

#header.submenu #submenus {
  display: none;
}
@media only screen and (min-width: 1240px) {
  #header.submenu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  #header.submenu #submenus {
    display: block;
    background: var(--c-primary);
    border-bottom: none;
  }
  #header.submenu #submenus .centrar {
    height: 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #header.submenu .submenu {
    font-size: 0.8rem;
    margin-right: auto;
  }
  #header.submenu .submenu ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1rem;
  }
  #header.submenu .submenu span, #header.submenu .submenu a {
    color: #fff;
    font-family: "Montserrat";
  }
  #header.submenu .submenu span i, #header.submenu .submenu span.icon, #header.submenu .submenu a i, #header.submenu .submenu a.icon {
    display: inline;
    margin-right: 0.125rem;
    color: inherit;
    opacity: 0.5;
  }
  #header.submenu .submenu a:hover {
    color: #fff;
  }
  #header.submenu .submenu a.mail:before {
    color: inherit;
    opacity: 0.5;
  }
  #header.submenu .enlaces ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 1.5rem;
  }
  #header.submenu .enlaces a {
    display: inline-block;
    color: #fff;
    font-size: 0.8rem;
    text-transform: none;
    letter-spacing: 0.5px;
    line-height: 2rem;
  }
  #header.submenu .enlaces a:hover {
    text-decoration: underline;
  }
  #header.submenu .enlaces a.boton, #header.submenu .enlaces a.boton-borde, #header.submenu .enlaces a.boton-grande, #header.submenu .enlaces a.boton-medio {
    padding: 0 1rem;
    border-radius: 0;
    border: none;
    color: var(--button-color);
    background: var(--c-primary);
    outline: 0;
  }
  #header.submenu .enlaces a.boton:hover, #header.submenu .enlaces a.boton-borde:hover, #header.submenu .enlaces a.boton-grande:hover, #header.submenu .enlaces a.boton-medio:hover {
    color: var(--button-color);
    background: var(--c-primary-40);
  }
  #header.submenu .redes {
    margin-left: 2rem;
  }
  #header.submenu .redes p.siguenos {
    display: none;
  }
  #header.submenu #submenus #idiomas {
    margin-left: 2rem;
  }
  #header.submenu .centrar {
    height: 4.5rem;
  }
}
@media only screen and (min-width: 1240px) and (min-width: 1240px) {
  #header.submenu .centrar {
    height: 7rem;
  }
}
@media only screen and (min-width: 1240px) {
  #header.submenu #nav li.ultimo {
    margin-left: auto;
    margin-right: 0;
  }
}
@media only screen and (min-width: 1240px) {
  #header.submenu.fixed {
    -webkit-transform: translateY(-2rem);
            transform: translateY(-2rem);
  }
}

#header.submenu .logo_centrado_menu #logo {
  margin: 0;
}
#header.submenu .logo_centrado_menu .enlaces {
  margin-right: 3rem;
}
@media only screen and (min-width: 1240px) {
  #header.submenu .logo_centrado_menu .enlaces {
    display: none;
  }
}
#header.submenu .logo_centrado_menu .enlaces .boton, #header.submenu .logo_centrado_menu .enlaces .boton-borde, #header.submenu .logo_centrado_menu .enlaces .boton-grande, #header.submenu .logo_centrado_menu .enlaces .boton-medio {
  font-size: 0.75rem;
  padding: 0.65rem 0.75rem;
  font-family: "Montserrat";
  line-height: 1;
}

@media only screen and (min-width: 1240px) {
  #header .logo_centrado_menu {
    height: 7rem;
  }
  #header .logo_centrado_menu #logo {
    display: none;
  }
  #header .logo_centrado_menu .logo_menu {
    display: inline-block;
  }
  #header .logo_centrado_menu .logo_menu a:after {
    content: none;
  }
  #header .logo_centrado_menu .logo_menu img, #header .logo_centrado_menu .logo_menu svg {
    height: 4.5rem;
  }
}
@media only screen and (min-width: 1240px) and (min-width: 1440px) {
  #header .logo_centrado_menu .logo_menu img, #header .logo_centrado_menu .logo_menu svg {
    height: 4.5rem;
  }
}
@media only screen and (min-width: 1240px) {
  #header .logo_centrado_menu #nav {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #header .logo_centrado_menu #nav li {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  #header .logo_centrado_menu #nav li:first-child {
    margin-left: 0;
  }
  #header .logo_centrado_menu #nav li.ultimo,
  #header .logo_centrado_menu #nav li:last-of-type {
    margin-left: auto;
  }
  #header .logo_centrado_menu #nav li a.boton, #header .logo_centrado_menu #nav li a.boton-borde, #header .logo_centrado_menu #nav li a.boton-grande, #header .logo_centrado_menu #nav li a.boton-medio {
    width: auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-left: auto;
  }
  #header .logo_centrado_menu #nav li a.boton:hover, #header .logo_centrado_menu #nav li a.boton-borde:hover, #header .logo_centrado_menu #nav li a.boton-grande:hover, #header .logo_centrado_menu #nav li a.boton-medio:hover {
    color: var(--c-primary-40);
    border-color: var(--title-color-dt);
    background: var(--title-color-dt);
  }
  #header .logo_centrado_menu #nav li ul {
    left: 0;
  }
}
#menu {
  width: 100%;
  text-align: center;
}
@media only screen and (min-width: 1240px) {
  #menu {
    width: 100%;
  }
}

@media only screen and (min-width: 1240px) {
  #nav {
    list-style: none;
    position: relative;
    z-index: 1200;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 3rem;
  }
}
@media only screen and (min-width: 1240px) and (min-width: 1440px) {
  #nav {
    gap: 3rem;
  }
}
@media only screen and (min-width: 1240px) {
  #nav li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
  }
  #nav li.primero, #nav li:first-of-type {
    margin-left: auto;
  }
  #nav li.ultimo, #nav li:last-of-type {
    margin-right: 0;
    margin-left: auto;
  }
  #nav li a {
    display: inline-block;
    position: relative;
    text-decoration: none;
    font-family: "Montserrat Semibold";
    color: var(--title-color);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.9rem;
    padding: 0;
    line-height: inherit;
    white-space: nowrap;
  }
  #nav li a.boton, #nav li a.boton-borde, #nav li a.boton-grande, #nav li a.boton-medio {
    background: var(--button-background);
    color: var(--button-color);
    padding: 0.65rem 1.25rem;
    line-height: 1.2;
  }
  #nav li a.boton:hover, #nav li a.boton-borde:hover, #nav li a.boton-grande:hover, #nav li a.boton-medio:hover {
    background: var(--c-primary-accent);
    color: #fff;
    outline-color: var(--c-primary);
  }
  #nav li a.boton-borde {
    color: var(--c-primary);
    background: transparent;
  }
  #nav li a.boton-borde:hover {
    background: var(--c-primary-accent);
    color: #fff;
    outline-color: var(--c-primary);
  }
  #nav li a.boton:after, #nav li a.boton-borde:after, #nav li a.boton-grande:after, #nav li a.boton-medio:after {
    content: none;
  }
}
@media only screen and (min-width: 1240px) and (min-width: 1240px) {
  #nav li a {
    font-size: 0.9rem;
    line-height: 3rem;
    height: 7rem;
  }
}
@media only screen and (min-width: 1240px) and (min-width: 1440px) {
  #nav li a {
    font-size: 0.9rem;
  }
}
@media only screen and (min-width: 1240px) and (min-width: 1240px) {
  #nav li a:after {
    position: absolute;
    content: "";
    display: block;
    bottom: 0;
    left: 0;
    -webkit-transform-origin: center top;
            transform-origin: center top;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
    transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms, -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
    width: 100%;
    background: var(--c-azul-claro);
    height: 2px;
  }
  #nav li a:hover {
    text-decoration: none;
    color: var(--c-primary);
    background: transparent;
  }
  #nav li a:hover:after {
    -webkit-transform-origin: center top;
            transform-origin: center top;
    -webkit-transform: scale(1);
            transform: scale(1);
    background: var(--c-primary);
  }
  #nav li a.activo, #nav li a.activo:hover {
    font-family: "Montserrat Semibold";
    color: var(--title-color);
    background: transparent;
  }
  #nav li a.activo:after, #nav li a.activo:hover:after {
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transform: scale(1);
            transform: scale(1);
    background: var(--c-primary);
  }
}
@media only screen and (min-width: 1240px) {
  #nav li#ultimo a:after {
    content: none;
  }
  #nav li #logo {
    margin: auto;
  }
  #nav li #logo a {
    padding: 0;
  }
  #nav li #logo a:after {
    content: none;
  }
  #nav li #logo a img {
    height: 95px;
    margin-top: 1rem;
  }
}
@media only screen and (max-width: 1239px) {
  #menu {
    display: none;
  }
  #menu.abierto {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media only screen and (min-width: 1240px) {
  #menu_movil {
    display: none;
  }
}
@media only screen and (min-width: 1240px) {
  #header.header #nav {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #header.header #nav li {
    margin: 0;
  }
  #header.header #nav li a {
    line-height: 7rem;
    padding: 0 1rem;
    white-space: nowrap;
  }
  #header.header #nav li a.boton, #header.header #nav li a.boton-borde, #header.header #nav li a.boton-grande, #header.header #nav li a.boton-medio {
    line-height: 1;
    padding: 1rem;
  }
  #header.header #nav li a span {
    position: relative;
    right: 0;
  }
  #header.header #nav li:hover > ul,
  #header.header #nav li ul:hover {
    margin-top: 7rem;
  }
  #header.header #nav li ul a {
    line-height: 1;
    padding: 1rem;
  }
}
#nav li a.boton span, #nav li a.boton-borde span, #nav li a.boton-grande span, #nav li a.boton-medio span {
  display: inline;
  position: relative;
  right: 0;
  width: auto;
  margin-top: 0.125rem;
  margin-right: 0.5rem;
  font-size: 0.6rem;
}
#nav li a.boton span:after, #nav li a.boton-borde span:after, #nav li a.boton-grande span:after, #nav li a.boton-medio span:after {
  content: none;
}

#menu #nav li.logo_menu {
  display: none !important;
}
@media only screen and (min-width: 1240px) {
  #menu #nav li.logo_menu {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  #menu #nav li.logo_menu:first-of-type {
    display: none !important;
  }
}

#nav li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
#nav li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: auto;
}
#nav li a span {
  display: inline-block;
  position: absolute;
  right: -0.25rem;
  width: 0.25rem;
  height: 1rem;
}
#nav li a span:after {
  position: absolute;
  font-family: "infotelecom";
  content: "\e81b";
  font-size: 0.5rem;
}
@media only screen and (max-width: 1239px) {
  #nav li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #nav li ul {
    margin-top: 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media only screen and (min-width: 1240px) {
  #nav li ul {
    visibility: hidden;
    opacity: 0;
    width: auto;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
    margin-top: 0;
    left: -1rem;
    display: none;
    position: absolute;
    min-width: 10rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background: #fff;
    padding: 1rem;
    border: 1px solid #c2c1c1;
    -webkit-box-shadow: 0 5px 10px -5px rgba(var(--c-black-alpha), 0.6);
            box-shadow: 0 5px 10px -5px rgba(var(--c-black-alpha), 0.6);
    border-radius: 0;
  }
  #nav li ul:before {
    position: absolute;
    content: "";
    top: -0.55rem;
    left: 3rem;
    width: 1rem;
    height: 1rem;
    background: #fff;
    border: solid #c2c1c1;
    border-width: 1px 1px 0 0;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  #nav li ul li {
    display: block;
    margin: 0;
    text-align: left;
    border-bottom: 1px solid;
    border-color: transparent;
  }
  #nav li ul li:last-of-type {
    border: 0;
  }
  #nav li ul li:first-child {
    display: block;
  }
  #nav li ul li:first-of-type, #nav li ul li:last-of-type {
    margin-left: 0;
  }
  #nav li ul a {
    display: block;
    white-space: nowrap;
    text-align: left;
    font-family: "Montserrat";
    font-size: 0.9rem;
    color: var(--c-black);
    background: transparent;
    padding: 0.3rem 1rem 0.3rem 0;
    line-height: 1.6;
  }
  #nav li ul a:after {
    content: none;
  }
  #nav li ul a:hover {
    text-decoration: none;
    color: var(--c-primary-20);
    background: transparent;
  }
  #nav li ul a.activo, #nav li ul a.activo:hover {
    color: var(--c-primary-20);
    background: transparent;
  }
  #nav li:hover > ul, #nav li ul:hover {
    visibility: visible;
    opacity: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 3rem;
    z-index: 2;
  }
  #nav li:hover > a {
    color: var(--c-primary);
    background: transparent;
  }
  #nav li:hover > a:after {
    width: 100%;
    background: var(--c-primary);
    bottom: 0;
  }
}

#nav li li a span::after {
  content: "\e81d";
  top: 0.25rem;
}

#nav li ul li ul {
  margin: -2rem !important;
  left: calc(100% + 1rem);
  top: 0;
}
#nav li ul li ul:before {
  border-width: 1px 0 0 1px;
  top: 2.5rem;
  left: -0.5rem;
}

/* menú móvil sin js*/
.button_container {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: 0;
}

.button_container {
  height: 1.5rem;
  width: 1.5rem;
  cursor: pointer;
  z-index: 15000;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
  position: absolute;
  right: 1.5rem;
}
@media only screen and (min-width: 600px) {
  .button_container {
    right: 2rem;
  }
}
@media only screen and (min-width: 960px) {
  .button_container {
    right: 3rem;
  }
}
.button_container:hover {
  opacity: 0.7;
}
.button_container.activo .top {
  -webkit-transform: translateY(8px) translateX(0) rotate(45deg);
          transform: translateY(8px) translateX(0) rotate(45deg);
  width: 100%;
}
.button_container.activo .middle {
  opacity: 0;
  background: transparent;
}
.button_container.activo .bottom {
  -webkit-transform: translateY(-8px) translateX(0) rotate(-45deg);
          transform: translateY(-8px) translateX(0) rotate(-45deg);
  width: 100%;
}
.button_container span {
  background: var(--title-color);
  border: none;
  height: 0.15rem;
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
  cursor: pointer;
  border-radius: 0.25rem;
}
.button_container.activo span {
  background: var(--title-color);
}
.button_container span.middle {
  top: 0.5rem;
}
.button_container span.bottom {
  top: 1rem;
}
.button_container span.describe {
  display: none;
}
.button_container.activo strong {
  color: var(--title-color);
}
@media only screen and (min-width: 1240px) {
  .button_container {
    display: none;
  }
}

@media only screen and (max-width: 1239px) {
  #menu {
    display: none;
    position: fixed;
    background: #fff;
    top: 0;
    left: -110vw;
    width: 100vw;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    z-index: 13000;
    margin: 0;
    padding: 3rem;
  }
  #menu.abierto {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    opacity: 1;
    left: 0;
    visibility: visible;
    height: 100%;
    overflow-y: auto;
    -webkit-animation: fadeInRight 0.5s ease forwards;
            animation: fadeInRight 0.5s ease forwards;
    background: #fff;
    background-color: #fff;
    background-image: url(/static/graficos/inferior.svg);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: 120% 3rem;
  }
  #menu.abierto #nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: auto;
    text-align: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #menu.abierto #nav li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    opacity: 0;
    -webkit-animation: fadeInRight 0.5s ease forwards;
            animation: fadeInRight 0.5s ease forwards;
    margin: 0 0 1rem;
  }
  #menu.abierto #nav li:nth-child(1) {
    -webkit-animation-delay: 0.15s;
            animation-delay: 0.15s;
  }
  #menu.abierto #nav li:nth-child(2) {
    -webkit-animation-delay: 0.3s;
            animation-delay: 0.3s;
  }
  #menu.abierto #nav li:nth-child(3) {
    -webkit-animation-delay: 0.45s;
            animation-delay: 0.45s;
  }
  #menu.abierto #nav li:nth-child(4) {
    -webkit-animation-delay: 0.6s;
            animation-delay: 0.6s;
  }
  #menu.abierto #nav li:nth-child(5) {
    -webkit-animation-delay: 0.75s;
            animation-delay: 0.75s;
  }
  #menu.abierto #nav li:nth-child(6) {
    -webkit-animation-delay: 0.9s;
            animation-delay: 0.9s;
  }
  #menu.abierto #nav li:nth-child(7) {
    -webkit-animation-delay: 1.05s;
            animation-delay: 1.05s;
  }
  #menu.abierto #nav li:nth-child(8) {
    -webkit-animation-delay: 1.2s;
            animation-delay: 1.2s;
  }
  #menu.abierto #nav li:nth-child(9) {
    -webkit-animation-delay: 1.35s;
            animation-delay: 1.35s;
  }
  #menu.abierto #nav li a {
    font-family: "Montserrat Semibold";
    font-size: 1.15rem;
    color: var(--title-color);
    padding: 0.225rem 0;
    text-transform: uppercase;
    line-height: 1.2;
    letter-spacing: 2px;
  }
  #menu.abierto #nav li a.activo {
    color: var(--c-primary);
    background: transparent;
    padding: 0.65rem 1.5rem;
    border-radius: 2rem;
  }
  #menu.abierto #nav li a:after {
    content: none;
  }
  #menu.abierto #nav li a.boton, #menu.abierto #nav li a.boton-borde, #menu.abierto #nav li a.boton-grande, #menu.abierto #nav li a.boton-medio {
    padding: 0.65rem 1.5rem;
    margin-top: 1rem;
    color: #fff;
    outline-color: transparent;
    background: var(--c-primary);
  }
  #menu.abierto #nav li a.boton.activo, #menu.abierto #nav li a.activo.boton-borde, #menu.abierto #nav li a.activo.boton-grande, #menu.abierto #nav li a.activo.boton-medio {
    color: var(--c-primary);
    outline-color: transparent;
    background: transparent;
  }
  #menu.abierto #nav li a span {
    position: relative;
  }
  #menu.abierto #nav li li a {
    font-family: "Montserrat";
    font-size: 0.9rem;
  }
}
@media only screen and (max-width: 1239px) and (min-width: 600px) {
  #menu {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media only screen and (max-width: 1239px) and (min-width: 600px) and (max-width: 959px) {
  #menu {
    padding: 3rem;
  }
}
@media only screen and (max-width: 599px) {
  #menu_movil {
    padding: 3rem;
  }
}
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media only screen and (max-width: 1239px) {
  body.dark #menu {
    background: var(--level-0);
  }
  body.dark #menu.abierto li a:hover {
    opacity: 1;
  }
}
.visually-hidden {
  position: absolute !important;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  word-wrap: normal;
}

.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
  position: static !important;
  overflow: visible;
  clip: auto;
  width: auto;
  height: auto;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#enlaces_rapidos {
  position: fixed;
  top: 0;
  z-index: 1000;
  width: 100vw;
  text-align: center;
}

.enlace-rapido {
  display: inline-block;
  background: var(--c-black);
  color: var(--title-color-dt);
  font-size: 1rem;
  padding: 0.25rem 1rem;
  border-radius: 0 0 0.5rem 0.5rem;
  outline: 0;
  text-decoration: underline;
}
.enlace-rapido:hover {
  background: var(--c-primary);
  color: var(--title-color-dt);
}

body.accesible *:focus {
  outline-style: solid;
  outline-color: var(--c-primary) !important;
  outline-width: 2px;
  outline-offset: 4px;
}

/*FOOTER*/
#footer {
  position: relative;
  margin: 0 auto;
  z-index: 5;
}
#footer .bloque {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media only screen and (min-width: 960px) {
  #footer .bloque {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media only screen and (min-width: 1240px) {
  #footer .bloque {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

#footer .logo {
  text-align: center;
  margin: 0 auto 1rem;
}
#footer .logo img {
  width: 10rem;
}
@media only screen and (min-width: 960px) {
  #footer .logo {
    margin: 0;
  }
  #footer .logo img {
    width: 8rem;
  }
}

#footer {
  background: #fff;
  font-size: 1rem;
  color: var(--text-color);
  border: solid;
  border-width: 0;
  border-color: #f7f7f7;
}
#footer a {
  color: var(--c-primary);
}
#footer a:hover {
  text-decoration: underline;
  color: var(--c-primary);
}
@media only screen and (min-width: 1240px) {
  #footer {
    font-size: 1rem;
  }
}

#footer .redes a span.icon {
  color: var(--title-color);
  background: #fff;
}
#footer .redes a:hover span.icon {
  color: #fff;
  background: var(--c-primary-20);
  border-color: var(--c-primary);
}

#footer .kit-digital {
  width: 100%;
  text-align: center;
  margin: auto;
}
#footer .kit-digital img {
  width: 100%;
  max-width: 32rem;
}
@media only screen and (min-width: 600px) {
  #footer .kit-digital img {
    margin-top: -1rem;
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 1240px) {
  #footer .kit-digital {
    padding: 0 calc((100% - 1200px) / 2);
  }
}

#footer.dark_theme {
  background: var(--bg-dark-theme);
  color: var(--text-color-dt);
}
#footer.dark_theme a {
  color: var(--c-primary-10);
}
#footer.dark_theme .redes a span {
  color: var(--title-color-dt);
  border-color: var(--title-color-dt);
  background: transparent;
}
#footer.dark_theme .redes a span:hover {
  background: #fff;
  color: var(--c-primary);
  border-color: #fff;
}
#footer.dark_theme address a {
  color: var(--title-color-dt);
}
#footer.dark_theme address i {
  color: var(--c-primary-light);
}

#footer.dark_theme #cierre {
  background: var(--bg-dark-theme);
  border-top: 1px solid rgba(255, 255, 255, 0.25);
}

#footer #cierre {
  background: #f7f7f7;
  color: var(--text-color);
  font-size: 0.9rem;
  border-top: 0 solid;
  border-color: rgba(var(--c-primary-alpha), 0.25);
  padding-top: 1rem;
  padding-bottom: 1rem;
}
@media only screen and (min-width: 1240px) {
  #footer #cierre {
    font-size: 0.95rem;
  }
}
#footer #cierre.bloque {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (min-width: 1240px) {
  #footer #cierre.bloque {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
#footer #cierre ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
}
@media only screen and (min-width: 960px) {
  #footer #cierre ul {
    gap: 1rem 2rem;
  }
}
#footer #cierre ul li {
  position: relative;
}
#footer #cierre ul li:after {
  position: absolute;
  content: "·";
  right: -0.75rem;
  color: var(--c-primary);
  font-size: 1.25rem;
  line-height: 1;
}
@media only screen and (min-width: 960px) {
  #footer #cierre ul li:after {
    right: -1rem;
  }
}
#footer #cierre ul li:last-of-type:after {
  content: none;
}
#footer #cierre a {
  display: inline-block;
  color: var(--text-color);
  border-color: rgba(var(--c-primary-alpha), 0.5);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#footer #cierre a:hover {
  color: var(--c-primary);
  text-decoration: underline;
}
#footer #cierre a:last-of-type {
  padding: 0;
}
#footer #cierre #copy {
  color: var(--text-color);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.25rem;
  margin-top: 0.75rem;
  width: 100%;
}
#footer #cierre #copy a {
  opacity: 1;
  margin: 0.5rem 0 0;
}
#footer #cierre #copy img {
  vertical-align: middle;
}
@media only screen and (min-width: 600px) {
  #footer #cierre #copy {
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  #footer #cierre #copy a {
    margin: 0 0 0 2rem;
  }
}
@media only screen and (min-width: 1240px) {
  #footer #cierre #copy {
    width: auto;
    margin: 0 0 0 auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  #footer #cierre #copy a {
    margin: 0 2rem 0 0;
  }
}

#footer.dark_theme #cierre {
  color: var(--text-color-dt);
}
#footer.dark_theme #cierre a {
  color: #ececec;
}
#footer.dark_theme #cierre a:hover {
  color: #fff;
}
#footer.dark_theme #cierre #copy {
  color: #ececec;
}

#footer address {
  text-align: center;
  margin-bottom: 0;
}
@media only screen and (min-width: 960px) {
  #footer address {
    text-align: left;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
#footer address ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (min-width: 960px) {
  #footer address ul {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #footer address ul li span:not(.icon), #footer address ul li a {
    display: inline-block;
    position: relative;
    padding-left: 1.75rem;
  }
  #footer address ul li span:not(.icon) i, #footer address ul li span:not(.icon) .icon, #footer address ul li a i, #footer address ul li a .icon {
    position: absolute;
    left: 0;
  }
}
#footer address strong {
  font-family: "Montserrat Semibold";
  font-size: 1rem;
  color: var(--title-color);
  line-height: 1.15;
  letter-spacing: 1px;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media only screen and (min-width: 1240px) {
  #footer address strong {
    font-size: 1rem;
  }
}
@media only screen and (min-width: 960px) {
  #footer address strong {
    display: inline-block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#footer address strong span {
  display: inline-block;
  text-transform: uppercase;
  border-top: 2px solid var(--c-primary);
  padding: 0.25rem 1rem;
  margin: 0 auto 0.5rem;
  font-size: 0.8rem;
}
@media only screen and (min-width: 960px) {
  #footer address strong span {
    border: 0;
    padding: 0;
    margin: 0 0 0 0.25rem;
    font-family: "Montserrat";
    font-size: inherit;
  }
}
#footer address a {
  display: inline-block;
  color: var(--text-color);
}
#footer address i, #footer address .icon {
  color: var(--c-primary);
  font-size: 1rem;
  display: inline-block;
  margin-right: 0.25rem;
}
#footer address a i, #footer address a .icon {
  color: var(--c-primary);
}

#header script + a,
#footer address script + a,
#header a.mail,
#footer address a.mail,
.mm-spn li.empresa a.mail,
.seccion.contacto a.mail {
  position: relative;
  padding-left: 1.75rem;
}
#header script + a:before,
#footer address script + a:before,
#header a.mail:before,
#footer address a.mail:before,
.mm-spn li.empresa a.mail:before,
.seccion.contacto a.mail:before {
  position: absolute;
  font-family: "infotelecom";
  content: "\e824";
  font-size: calc(1rem + 0.1rem);
  left: 0;
  color: var(--c-primary);
}

#header script + a:before,
#header a.mail:before {
  top: 0;
  color: inherit;
  opacity: 0.5;
  line-height: 0.75;
}

#footer.dark_theme address strong {
  color: var(--title-color-dt);
}
#footer.dark_theme address .icon, #footer.dark_theme address a .icon {
  color: var(--title-color-dt);
}

#footer.dark_theme address script + a:before,
#footer.dark_theme address a.mail:before {
  color: var(--title-color-dt);
}

#footer.contacto_enlaces .submenu {
  padding: 0;
  margin-top: 2rem;
  text-align: center;
}
#footer.contacto_enlaces .logo {
  display: none;
}
#footer.contacto_enlaces .redes {
  margin-top: 2rem;
}
@media only screen and (min-width: 960px) {
  #footer.contacto_enlaces .bloque {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 3rem;
  }
  #footer.contacto_enlaces .submenu, #footer.contacto_enlaces .contactos {
    width: calc(50% - 1.5rem);
  }
  #footer.contacto_enlaces .submenu {
    margin-top: 0;
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  #footer.contacto_enlaces .logo {
    display: none;
  }
  #footer.contacto_enlaces .redes {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media only screen and (min-width: 1240px) {
  #footer.contacto_enlaces .bloque {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 0 3rem;
  }
  #footer.contacto_enlaces .contactos {
    padding-left: 0;
    position: relative;
    width: auto;
    max-width: 50%;
  }
  #footer.contacto_enlaces address span.direccion {
    display: block;
    margin-right: 0;
  }
  #footer.contacto_enlaces .logo {
    display: none;
    position: absolute;
    left: 0;
  }
  #footer.contacto_enlaces .logo img {
    width: 8rem;
  }
  #footer.contacto_enlaces .redes {
    width: auto;
    -ms-flex-item-align: start;
        align-self: flex-start;
    margin: 0;
  }
}

#footer .submenu {
  text-align: center;
  gap: 1.5rem 0;
}
#footer .submenu ul {
  margin: 0;
}
#footer .submenu ul li {
  margin-bottom: 0.5rem;
}
#footer .submenu ul li:last-of-type {
  margin: 0;
}
#footer .submenu h4, #footer .submenu .titulo_enlaces {
  font-family: "Montserrat Semibold";
  font-size: 1rem;
  color: var(--title-color);
  line-height: 1.15;
  letter-spacing: 1px;
  margin-bottom: 0.5rem;
}
@media only screen and (min-width: 1240px) {
  #footer .submenu h4, #footer .submenu .titulo_enlaces {
    font-size: 1rem;
  }
}
#footer .submenu h4 a, #footer .submenu .titulo_enlaces a {
  color: inherit;
}
#footer .submenu h4 a:hover, #footer .submenu .titulo_enlaces a:hover {
  color: var(--c-primary);
  text-decoration: none;
}
#footer .submenu a {
  color: var(--text-color);
}
#footer .submenu a:hover {
  color: var(--c-primary);
  text-decoration: none;
}
@media only screen and (min-width: 600px) {
  #footer .submenu {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2rem 0;
  }
  #footer .submenu nav, #footer .submenu ul {
    width: 50%;
    margin: 0;
  }
  #footer .submenu nav.doble, #footer .submenu ul.doble {
    width: 100%;
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  }
  #footer .submenu nav ul {
    width: 100%;
  }
}
@media only screen and (min-width: 960px) {
  #footer .submenu {
    text-align: left;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 0 2rem;
  }
  #footer .submenu nav, #footer .submenu ul {
    width: auto;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
@media only screen and (min-width: 1240px) {
  #footer .submenu {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  #footer .submenu nav, #footer .submenu ul {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  #footer .submenu nav.doble, #footer .submenu ul.doble {
    -webkit-box-flex: 2;
        -ms-flex-positive: 2;
            flex-grow: 2;
  }
}

#footer.centrado.submenus address {
  margin: 0;
}
#footer.centrado.submenus .submenu {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
#footer.centrado.submenus .submenu ul {
  width: 100%;
}
@media only screen and (min-width: 960px) {
  #footer.centrado.submenus .bloque {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #footer.centrado.submenus .redes {
    margin: 0;
  }
  #footer.centrado.submenus .submenu {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    margin-right: 3rem;
    padding: 0;
  }
}

#footer.dark_theme .submenu h4, #footer.dark_theme .submenu .titulo_enlaces {
  color: var(--title-color-dt);
}
#footer.dark_theme .submenu h4 a, #footer.dark_theme .submenu .titulo_enlaces a {
  color: inherit;
}
#footer.dark_theme .submenu h4 a:hover, #footer.dark_theme .submenu .titulo_enlaces a:hover {
  color: #fff;
  text-decoration: none;
}
#footer.dark_theme .submenu a {
  color: var(--c-primary-10);
}
#footer.dark_theme .submenu a:hover {
  text-decoration: underline;
  text-decoration-color: #fff;
  color: #fff;
}

/*COLUMNAS*/
.columnas {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-column-gap: 0rem;
  grid-row-gap: 0rem;
}
.columnas .paginacion, .columnas .titulo_bloque, .columnas .etiquetas_noticias, .columnas .cierre {
  grid-column-start: 1;
  grid-column-end: -1;
}
.columnas .columna {
  margin-bottom: 2rem;
}
.columnas .columna p {
  text-align: justify;
}
.columnas .columna img {
  max-width: 100%;
  margin-bottom: 1rem;
}
.columnas .columna:last-child {
  margin-bottom: 0;
}
.columnas.bordes .columna {
  border: 1px solid;
  padding: 1rem;
}
@media only screen and (min-width: 960px) {
  .columnas {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 3rem;
    grid-row-gap: 3rem;
  }
  .columnas .paginacion, .columnas .titulo_bloque, .columnas .etiquetas_noticias, .columnas .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
  .columnas .columna {
    margin-bottom: 0;
  }
  .columnas.n3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 3rem;
    grid-row-gap: 3rem;
  }
  .columnas.n3 .paginacion, .columnas.n3 .titulo_bloque, .columnas.n3 .etiquetas_noticias, .columnas.n3 .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
  .columnas.bordes .columna {
    padding: 1.25rem;
  }
}
@media only screen and (min-width: 1240px) {
  .columnas + .columnas {
    padding-top: 0;
  }
  .columnas {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 3rem;
    grid-row-gap: 0rem;
  }
  .columnas .paginacion, .columnas .titulo_bloque, .columnas .etiquetas_noticias, .columnas .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
  .columnas.n3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 3rem;
    grid-row-gap: 3rem;
  }
  .columnas.n3 .paginacion, .columnas.n3 .titulo_bloque, .columnas.n3 .etiquetas_noticias, .columnas.n3 .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
  .columnas.n4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-column-gap: 3rem;
    grid-row-gap: 0rem;
  }
  .columnas.n4 .paginacion, .columnas.n4 .titulo_bloque, .columnas.n4 .etiquetas_noticias, .columnas.n4 .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
  .columnas.bordes .columna {
    padding: 1.25rem;
  }
}
@media only screen and (min-width: 1440px) {
  .columnas.bordes .columna {
    padding: 1.5rem;
  }
}

/* TEXTOS*/
.textos p {
  text-align: left;
}

.textos ol,
.textos ul {
  text-align: left;
}

.textos p {
  margin-bottom: 1.65rem;
}

.textos *:last-child,
.textos p:last-child,
.textos p:last-of-type {
  margin-bottom: 0 !important;
}

.textos p + ul,
.textos p + ol {
  margin-top: 1.65rem;
}

/*LISTADOS*/
.textos ul,
.textos ol {
  margin: 0 0 1.65rem 1rem;
  list-style-position: outside;
}

.textos ul li,
.textos ol li {
  margin: 0;
  padding: 0;
}

.textos ul a,
.textos ol a {
  font-weight: normal;
}

.textos ol {
  list-style-type: decimal;
  list-style-position: outside;
  margin-left: 1.5rem;
}

.textos ul li {
  list-style-type: disc;
  padding: 0;
  margin: 0 0 1rem;
}

.textos ol li {
  padding: 0;
  margin: 0 0 1rem;
}

.textos ul ul,
.textos ol ul {
  list-style-type: circle;
  margin: 1rem 0 0 1rem;
}

.textos dl dt {
  padding-bottom: 0;
  font-style: normal;
}

.textos dl dd {
  padding-bottom: 1rem;
}

/*RULER / SEPARADOR */
.textos hr {
  display: block;
  position: relative;
  width: 100%;
  margin: 0 auto 2rem;
  border: 0;
  height: 0.25rem;
}
.textos hr:before {
  content: "";
  position: absolute;
  width: 8rem;
  height: 0.25rem;
  left: 0;
  background-color: var(--c-primary);
}

/*FLORITURAS*/
.first:first-letter {
  font-size: 4rem;
  float: left;
  display: block;
  margin: 0.5rem 1rem 0 0;
  font-family: "Montserrat Semibold";
  line-height: 0.8;
}

/*TEXTO COLUMNAS*/
.textos p.columnado {
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
  -webkit-column-gap: 4rem;
     -moz-column-gap: 4rem;
          column-gap: 4rem;
  -webkit-column-rule: 1px outset #c2c1c1;
     -moz-column-rule: 1px outset #c2c1c1;
          column-rule: 1px outset #c2c1c1;
  margin: 3rem 0;
}
@media only screen and (max-width: 767px) {
  .textos p.columnado {
    -webkit-column-count: 1 !important;
       -moz-column-count: 1 !important;
            column-count: 1 !important;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    -webkit-column-rule: 0 none;
       -moz-column-rule: 0 none;
            column-rule: 0 none;
  }
}

.formato_centrado,
.formato_titulo_seccion {
  text-align: center;
}
.formato_centrado .texto_columna p,
.formato_titulo_seccion .texto_columna p {
  text-align: center;
}

.formato_titulo_seccion,
#principal .formato_titulo_seccion {
  background-color: inherit;
}

.textos ~ .formato_titulo_seccion,
#principal .formato_titulo_seccion ~ .textos {
  padding-bottom: 0;
}

#principal .formato_titulo_seccion {
  text-align: left;
}
#principal .formato_titulo_seccion p {
  text-align: left;
}

@media only screen and (min-width: 1600px) {
  #principal .foto_flotada_derecha .texto_imagen img, #principal .foto_flotada_izquierda .texto_imagen img {
    width: 100%;
    left: 0;
  }
}

@media only screen and (min-width: 960px) {
  .formato_titulo_seccion .texto_columna {
    width: 100%;
  }
}
@media only screen and (min-width: 960px) {
  .bloque.textos .texto_columna {
    margin: 0 auto;
  }
  .bloque.textos .texto_columna.sin-foto {
    padding: 0;
  }
}
@media only screen and (min-width: 960px) {
  .bloque.textos + .bloque.textos {
    padding-top: 0;
  }
  .bloque.textos + .bloque.dark_theme,
  .bloque.dark_theme + .bloque.textos {
    padding-top: 3rem;
  }
}
@media only screen and (min-width: 960px) and (min-width: 1240px) {
  .bloque.textos + .bloque.dark_theme,
  .bloque.dark_theme + .bloque.textos {
    padding-top: 4rem;
  }
}
@media only screen and (min-width: 960px) and (min-width: 1440px) {
  .bloque.textos + .bloque.dark_theme,
  .bloque.dark_theme + .bloque.textos {
    padding-top: 6rem;
  }
}
.nota p {
  color: #8a8988;
}

.separa {
  display: block;
  height: 2px;
  margin: 0;
  background: var(--c-primary);
}

/*TEXTOS + FOTOS*/
.textos .texto_imagen {
  display: block;
  margin: 0 0 2rem;
  max-width: 900px !important;
  width: 100%;
  position: relative;
}
@media only screen and (min-width: 960px) {
  .textos .texto_imagen {
    margin: 0;
  }
}
.textos .texto_imagen .caption {
  display: none;
  font-family: "Montserrat";
  font-size: 0.9rem;
  color: var(--gris-oscuro);
  width: calc(100% - 1.5rem);
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
@media only screen and (min-width: 960px) {
  .textos .texto_imagen .caption {
    position: absolute;
    left: 0;
    bottom: -1.5rem;
  }
}
.textos .texto_imagen img {
  position: relative;
  width: 100%;
  max-width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
}
.textos.formato_centrado .texto_imagen {
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (min-width: 960px) {
  .foto_flotada_derecha,
  .foto_flotada_izquierda,
  .formato_centrado {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .foto_flotada_derecha {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-flow: row-reverse;
            flex-flow: row-reverse;
  }
  .formato_centrado {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .formato_centrado .texto_imagen {
    margin-bottom: 1.5rem;
    width: 100%;
  }
  .formato_centrado .texto_columna,
  .textos .texto_columna {
    margin: 0 auto;
    width: 100%;
    max-width: 45rem;
  }
}
@media only screen and (min-width: 960px) and (min-width: 1240px) {
  .formato_centrado .texto_columna,
  .textos .texto_columna {
    max-width: 56rem;
  }
}
@media only screen and (min-width: 960px) {
  .foto_flotada_izquierda .texto_columna {
    padding: 0 1.5rem 0 3rem;
  }
  .foto_flotada_derecha .texto_columna {
    padding: 0 3rem 0 1.5rem;
  }
  #principal .foto_flotada_derecha, #principal .foto_flotada_izquierda, #principal .formato_centrado {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #principal .foto_flotada_derecha .texto_imagen, #principal .foto_flotada_derecha .texto_columna, #principal .foto_flotada_izquierda .texto_imagen, #principal .foto_flotada_izquierda .texto_columna, #principal .formato_centrado .texto_imagen, #principal .formato_centrado .texto_columna {
    width: 100%;
    padding: 0;
  }
  #principal .foto_flotada_derecha .texto_imagen, #principal .foto_flotada_izquierda .texto_imagen, #principal .formato_centrado .texto_imagen {
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 1240px) {
  .foto_flotada_derecha,
  .foto_flotada_izquierda,
  .formato_centrado {
    width: 100%;
  }
  .foto_flotada_izquierda .texto_columna {
    padding: 0 3rem 0 4rem;
  }
  .foto_flotada_derecha .texto_columna {
    padding: 0 4rem 0 3rem;
  }
}
@media only screen and (min-width: 1440px) {
  .foto_flotada_izquierda .texto_columna {
    padding: 0 4rem 0 6rem;
  }
  .foto_flotada_derecha .texto_columna {
    padding: 0 6rem 0 4rem;
  }
}
@media only screen and (min-width: 1600px) {
  .foto_flotada_derecha .texto_columna,
  .foto_flotada_izquierda .texto_columna {
    padding: 0 6rem 0 4rem;
  }
  .foto_flotada_izquierda .texto_columna {
    padding: 0 4rem 0 6rem;
  }
}
.foto_flotada_izquierda_portada,
.foto_flotada_derecha_portada {
  border: none;
  border-width: 0;
  border-color: transparent;
  width: 100% !important;
  padding: 0;
  position: relative;
}
.foto_flotada_izquierda_portada .texto_columna,
.foto_flotada_derecha_portada .texto_columna {
  width: calc(100% - 2rem);
  margin: 0 auto;
  padding-bottom: 3rem;
}
@media only screen and (min-width: 340px) {
  .foto_flotada_izquierda_portada .texto_columna,
  .foto_flotada_derecha_portada .texto_columna {
    width: calc(100% - 4rem);
    padding-bottom: 4rem;
  }
}
.foto_flotada_izquierda_portada .texto_imagen,
.foto_flotada_derecha_portada .texto_imagen {
  position: relative;
  max-width: 100% !important;
  width: 100%;
}

@media only screen and (min-width: 960px) {
  .foto_flotada_izquierda_portada,
  .foto_flotada_derecha_portada {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .foto_flotada_izquierda_portada .texto_imagen,
  .foto_flotada_derecha_portada .texto_imagen {
    -ms-flex-item-align: stretch;
        align-self: stretch;
    margin-bottom: 0;
    width: 50%;
  }
}
@media only screen and (min-width: 960px) and (min-width: 1240px) {
  .foto_flotada_izquierda_portada .texto_imagen,
  .foto_flotada_derecha_portada .texto_imagen {
    max-height: calc(100vh - 7rem);
  }
}
@media only screen and (min-width: 960px) {
  .foto_flotada_izquierda_portada .texto_imagen img,
  .foto_flotada_derecha_portada .texto_imagen img {
    width: 100%;
  }
  .foto_flotada_izquierda_portada .texto_columna,
  .foto_flotada_derecha_portada .texto_columna {
    margin: 0;
    width: 50%;
    padding: 3rem;
  }
  .foto_flotada_derecha_portada {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-flow: row-reverse;
            flex-flow: row-reverse;
  }
  .bloque.textos + .bloque.foto_flotada_izquierda_portada,
  .bloque.textos + .bloque.foto_flotada_derecha_portada {
    padding-top: 0;
  }
}
@media only screen and (min-width: 960px) and (min-width: 1240px) {
  .bloque.textos + .bloque.foto_flotada_izquierda_portada,
  .bloque.textos + .bloque.foto_flotada_derecha_portada {
    padding-top: 4rem;
  }
}
@media only screen and (min-width: 960px) and (min-width: 1440px) {
  .bloque.textos + .bloque.foto_flotada_izquierda_portada,
  .bloque.textos + .bloque.foto_flotada_derecha_portada {
    padding-top: 6rem;
  }
}
@media only screen and (min-width: 1240px) {
  .foto_flotada_izquierda_portada,
  .foto_flotada_derecha_portada {
    padding: 4rem 0;
  }
  .foto_flotada_izquierda_portada .texto_columna,
  .foto_flotada_derecha_portada .texto_columna {
    padding: 4rem;
    max-width: 50% !important;
  }
  .foto_flotada_izquierda_portada .texto_columna,
  .foto_flotada_derecha_portada .texto_columna {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
@media only screen and (min-width: 1440px) {
  .foto_flotada_izquierda_portada,
  .foto_flotada_derecha_portada {
    padding: 6rem calc((100% - 1356px) / 2);
  }
}
@media only screen and (min-width: 1440px) and (min-width: 1600px) {
  .foto_flotada_izquierda_portada,
  .foto_flotada_derecha_portada {
    padding: 6rem calc((100% - 1356px) / 2);
  }
}
@media only screen and (min-width: 1440px) {
  .foto_flotada_izquierda_portada .texto_columna,
  .foto_flotada_derecha_portada .texto_columna {
    padding: 4rem;
  }
  .foto_flotada_izquierda_portada .texto_columna {
    padding-right: calc((100% - 1356px) / 2);
  }
  .foto_flotada_derecha_portada .texto_columna {
    padding-left: calc((100% - 1356px) / 2);
  }
}
.foto_flotada_izquierda_portada {
  background: transparent;
}

.foto_flotada_derecha_portada {
  background: transparent;
}

.foto_flotada_izquierda_portada .texto_columna,
.foto_flotada_derecha_portada .texto_columna {
  color: var(--title-color);
}
.foto_flotada_izquierda_portada .texto_columna h2, .foto_flotada_izquierda_portada .texto_columna h3,
.foto_flotada_derecha_portada .texto_columna h2,
.foto_flotada_derecha_portada .texto_columna h3 {
  color: var(--title-color);
}
.foto_flotada_izquierda_portada .texto_columna h2 strong,
.foto_flotada_derecha_portada .texto_columna h2 strong {
  display: block;
  margin-bottom: 0.5rem !important;
  font-family: inherit;
  font-size: 1.1rem;
  color: var(--title-color);
  text-transform: uppercase;
  letter-spacing: 1px;
}
.foto_flotada_izquierda_portada .texto_columna .boton-borde,
.foto_flotada_derecha_portada .texto_columna .boton-borde {
  color: var(--title-color);
  outline-color: var(--title-color);
}
.foto_flotada_izquierda_portada .texto_columna .boton-borde:hover,
.foto_flotada_derecha_portada .texto_columna .boton-borde:hover {
  color: #fff;
  background: var(--c-primary-accent);
  outline-color: var(--c-primary-accent);
}

.foto_flotada_izquierda_portada .texto_imagen .caption,
.foto_flotada_derecha_portada .texto_imagen .caption {
  font-family: "Montserrat";
  font-size: 0.9rem;
  color: var(--gris-oscuro);
  position: absolute;
  bottom: 1rem;
  left: 1rem;
}

.foto_flotada_derecha_portada .texto_imagen .caption {
  left: 2rem;
}
@media only screen and (min-width: 340px) {
  .foto_flotada_derecha_portada .texto_imagen .caption {
    left: 3rem;
  }
}
@media only screen and (min-width: 960px) {
  .foto_flotada_derecha_portada .texto_imagen .caption {
    left: 4rem;
  }
}
@media only screen and (min-width: 1240px) {
  .foto_flotada_derecha_portada .texto_imagen .caption {
    left: 6rem;
  }
}
@media only screen and (min-width: 1440px) {
  .foto_flotada_derecha_portada .texto_imagen .caption {
    left: 7rem;
  }
}

.foto_flotada_derecha_portada .texto_imagen img {
  border-radius: 0 0 3rem 3rem;
}
@media only screen and (min-width: 960px) {
  .foto_flotada_derecha_portada .texto_imagen img {
    border-radius: 3rem 0 0 3rem;
  }
}
@media only screen and (min-width: 1240px) {
  .foto_flotada_derecha_portada .texto_imagen img {
    border-radius: 3rem 0 0 3rem;
  }
}
@media only screen and (min-width: 1440px) {
  .foto_flotada_derecha_portada .texto_imagen img {
    border-radius: 3rem;
  }
}

.foto_flotada_izquierda_portada .texto_imagen img {
  border-radius: 0 0 3rem 3rem;
}
@media only screen and (min-width: 960px) {
  .foto_flotada_izquierda_portada .texto_imagen img {
    border-radius: 0 3rem 3rem 0;
  }
}
@media only screen and (min-width: 1240px) {
  .foto_flotada_izquierda_portada .texto_imagen img {
    border-radius: 0 3rem 3rem 0;
  }
}
@media only screen and (min-width: 1440px) {
  .foto_flotada_izquierda_portada .texto_imagen img {
    border-radius: 3rem;
  }
}

blockquote {
  background: #fff;
  border: solid;
  border-width: 2px;
  border-color: var(--gris-bordes);
  border-radius: 2rem;
  font-family: "Montserrat";
  font-size: 1.25rem;
  color: var(--title-color);
  margin: 2rem 0;
  padding: 2rem;
  text-indent: 0;
  letter-spacing: 0;
  position: relative;
}
blockquote:before, blockquote:after {
  font-family: georgia;
  position: absolute;
  font-style: normal;
  font-size: 8rem;
  line-height: 1;
  padding: 0;
  height: 4rem;
  color: var(--c-primary);
  opacity: 1;
}
blockquote:before {
  content: "“";
  top: 0;
  left: -1rem;
}
@media only screen and (min-width: 480px) {
  blockquote:before {
    top: 0;
    left: -1rem;
  }
}
blockquote:after {
  content: "”";
  bottom: 0;
  right: -1rem;
}
@media only screen and (min-width: 480px) {
  blockquote:after {
    bottom: 0;
    right: -1rem;
  }
}
blockquote strong {
  font-family: "Montserrat Semibold";
  font-weight: normal;
}
@media only screen and (min-width: 480px) {
  blockquote {
    padding: 3rem;
    padding-left: 3rem;
    font-size: 1.35rem;
  }
}

table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  background: transparent;
  color: inherit;
}

.tabla {
  margin-bottom: 2rem;
  overflow-x: scroll;
}

.tabla th,
.tabla td {
  padding: 0.5rem;
  line-height: 1.2;
  text-align: left;
  border-top: solid;
  border-top-width: 1px;
  border-color: var(--gris-bordes);
}

.tabla th {
  font-family: "Montserrat Semibold";
  font-weight: normal;
  vertical-align: bottom;
}

.tabla td {
  vertical-align: top;
}

.tabla thead:first-child tr th,
.tabla thead:first-child tr td {
  border-top: 0;
}

.tabla tbody + tbody {
  border-top: solid;
  border-top-width: 2px;
  border-top-color: var(--gris-bordes);
}

.tabla-condensada tbody tr:nth-child(odd) td,
.tabla-condensada tbody tr:nth-child(odd) th {
  background-color: var(--gris-claro);
}

.tabla-bordes {
  border: solid;
  border-width: 1px;
  border-color: var(--gris-bordes);
  border-collapse: separate;
  *border-collapse: collapsed;
  border-radius: 0.5rem;
}

.tabla-bordes th + th,
.tabla-bordes td + td,
.tabla-bordes th + td,
.tabla-bordes td + th {
  border-left: solid;
  border-left-width: 1px;
  border-color: var(--gris-bordes);
}

.tabla-bordes thead:first-child tr:first-child th,
.tabla-bordes tbody:first-child tr:first-child th,
.tabla-bordes tbody:first-child tr:first-child td {
  border-top: 0;
}

.tabla-bordes thead:first-child tr:first-child th:first-child,
.tabla-bordes tbody:first-child tr:first-child td:first-child {
  border-radius: 0.5rem 0 0 0;
}

.tabla-bordes thead:first-child tr:first-child th:last-child,
.tabla-bordes tbody:first-child tr:first-child td:last-child {
  border-radius: 0 0.5rem 0 0;
}

.tabla-bordes thead:last-child tr:last-child th:first-child,
.tabla-bordes tbody:last-child tr:last-child td:first-child {
  border-radius: 0 0 0 0.5rem;
}

.tabla-bordes thead:last-child tr:last-child th:last-child,
.tabla-bordes tbody:last-child tr:last-child td:last-child {
  border-radius: 0 0 0.5rem 0;
}

.tabla-cabeceras thead th,
.tabla-cabeceras tbody tr td:first-child {
  background-color: var(--gris-claro);
  color: var(--title-color);
}

.tabla-puntos thead th {
  background: #2191fb;
  border-color: #2191fb;
  color: #fff;
}
.tabla-puntos thead:last-of-type th {
  background: #0B8845;
  border-color: #0B8845;
}

/*banner*/
.banner {
  position: relative;
  z-index: 2;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}
.banner.parallax {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
}
.banner.parallax .cabecera, .banner.parallax .enlace-reservas {
  min-height: 100vw;
}
@media only screen and (min-width: 600px) {
  .banner.parallax .cabecera, .banner.parallax .enlace-reservas {
    position: relative;
    min-height: 50vh;
  }
}

.banner .tinta {
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  overflow: auto;
  position: absolute;
  z-index: 1;
}

.banner.sin_foto {
  height: auto;
}

.enlace-reservas {
  text-align: center;
  position: relative;
  z-index: 2;
  width: 100%;
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2rem;
  min-height: 100vw;
  height: auto;
}
.enlace-reservas :last-child {
  margin-bottom: 0;
}

.banner .progressive {
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
}

.banner img,
.banner .progressive img {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media only screen and (min-width: 600px) {
  .cabecera,
  .banner img,
  .banner .progressive img {
    min-height: 33vw;
  }
  .enlace-reservas {
    min-height: 33vw;
  }
  .banner.sin_foto .cabecera,
  .banner.sin_foto .enlace-reservas {
    min-height: 20vw;
  }
}
@media only screen and (min-width: 600px) and (orientation: portrait) {
  .cabecera,
  .banner img,
  .banner .progressive img {
    min-height: 50vw;
  }
  .enlace-reservas {
    min-height: 50vw;
  }
}
@media only screen and (min-width: 1240px) {
  .enlace-reservas {
    padding: 6rem;
    text-align: center;
  }
  .banner.sin_foto .enlace-reservas {
    padding: 4rem 6rem;
  }
  .banner.sin_foto .cabecera,
  .banner.sin_foto .enlace-reservas {
    min-height: 15rem;
  }
  .cabecera,
  .banner img,
  .banner .progressive img {
    min-height: 3vw;
  }
  .enlace-reservas {
    min-height: 3vw;
  }
}
.banner .enlace-reservas {
  background: rgba(var(--c-black-alpha), 0.8);
  color: #fff;
  text-shadow: 0 0 3px rgba(var(--c-primary-60-alpha), 0.8);
}

.banner.sin_foto .enlace-reservas {
  background: var(--c-primary-20);
  color: #fff;
  text-shadow: 0 0 3px rgba(var(--c-primary-60-alpha), 0.8);
}

.banner.sin_texto {
  height: 100vw;
}
@media only screen and (min-width: 600px) {
  .banner.sin_texto {
    height: 50vw;
  }
}
@media only screen and (min-width: 960px) {
  .banner.sin_texto {
    height: 40vw;
  }
}
@media only screen and (min-width: 1240px) {
  .banner.sin_texto {
    height: 33vw;
  }
}
@media only screen and (min-width: 1440px) {
  .banner.sin_texto {
    height: 25vw;
  }
}

.banner .tinta {
  background: rgba(var(--c-black-alpha), 0.8);
  opacity: 0;
}

.enlace-reservas h3 {
  width: 100%;
  max-width: 56rem;
  font-family: "Montserrat Semibold";
  color: #fff;
}
.enlace-reservas h3 strong {
  display: block;
}
.enlace-reservas p {
  text-align: center;
}
@media only screen and (min-width: 1240px) {
  .enlace-reservas p {
    text-align: center;
  }
}
.enlace-reservas .boton, .enlace-reservas .boton-borde, .enlace-reservas .boton-grande, .enlace-reservas .boton-medio {
  text-shadow: none;
}
.enlace-reservas .boton, .enlace-reservas .boton-grande, .enlace-reservas .boton-medio, .enlace-reservas .boton-borde {
  margin-top: 1.5rem;
  line-height: 1.3;
}
.enlace-reservas .boton + .boton, .enlace-reservas .boton-borde + .boton, .enlace-reservas .boton + .boton-borde, .enlace-reservas .boton-borde + .boton-borde, .enlace-reservas .boton-grande + .boton, .enlace-reservas .boton-grande + .boton-borde, .enlace-reservas .boton + .boton-grande, .enlace-reservas .boton-borde + .boton-grande, .enlace-reservas .boton-grande + .boton-grande, .enlace-reservas .boton-medio + .boton, .enlace-reservas .boton-medio + .boton-borde, .enlace-reservas .boton-medio + .boton-grande, .enlace-reservas .boton + .boton-medio, .enlace-reservas .boton-borde + .boton-medio, .enlace-reservas .boton-grande + .boton-medio, .enlace-reservas .boton-medio + .boton-medio {
  margin-left: 1.5rem;
}

.banner .boton:hover, .banner .boton-grande:hover, .banner .boton-medio:hover,
.banner .boton-borde:hover {
  background: var(--c-primary) !important;
  color: #fff !important;
  outline-color: var(--c-primary) !important;
}

.boton, .boton-borde, .boton-grande, .boton-medio {
  text-decoration: none !important;
  text-align: center;
  display: inline-block;
  position: relative;
  border: none;
  line-height: 1;
  border-radius: 0.5rem;
  padding: 0.75rem 1.5rem;
  font-family: "Montserrat Semibold";
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 1rem;
  color: var(--button-color);
  background: var(--c-primary);
  border-radius: 0.5rem;
  outline: solid;
  outline-width: 2px;
  outline-offset: -2px;
  outline-color: var(--c-primary);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.boton:hover, .boton-borde:hover, .boton-grande:hover, .boton-medio:hover {
  cursor: pointer;
  text-decoration: none;
  color: #fff;
  background: var(--c-primary-accent);
  outline-color: var(--c-primary-accent);
}
.boton:active, .boton-borde:active, .boton-grande:active, .boton-medio:active, .boton:focus, .boton-borde:focus, .boton-grande:focus, .boton-medio:focus {
  outline: none;
}
.boton:disabled, .boton-borde:disabled, .boton-grande:disabled, .boton-medio:disabled {
  cursor: default !important;
  color: #c2c1c1;
  background: #ececec;
  border-color: #c2c1c1;
}
@media only screen and (min-width: 960px) {
  .boton, .boton-borde, .boton-grande, .boton-medio {
    padding: 1rem 1.5rem;
  }
}

.boton-medio {
  padding: 1.25rem 4.5rem;
  font-size: 1.4rem;
}

.boton-grande {
  padding: 1.5rem 5rem;
  font-size: 1.5rem;
}

.boton-borde {
  outline-style: solid;
  outline-width: 2px;
  outline-offset: -2px;
  outline-color: var(--c-primary);
  background: transparent;
  color: var(--c-primary);
}
.boton-borde:hover {
  outline-color: var(--c-primary-accent);
}

/*Más colores*/
.btn-verde {
  background: #0B8845;
}
.btn-verde:hover {
  background: rgb(7.9469387755, 98.2530612245, 49.8489795918);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.btn-verde:active {
  background: rgb(1.4591836735, 18.0408163265, 9.1530612245);
}
.btn-verde {
  color: #fff;
  outline-color: #0B8845;
}

.btn-azul {
  background: #2191fb;
}
.btn-azul:hover {
  background: rgb(4.3044247788, 124.8283185841, 238.8955752212);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.btn-azul:active {
  background: rgb(2.7699115044, 80.3274336283, 153.7300884956);
}
.btn-azul {
  color: #fff;
  outline-color: #2191fb;
}

.btn-amarillo {
  background: #FF9F1C;
}
.btn-amarillo:hover {
  background: rgb(242.2, 139.7718061674, 0);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.btn-amarillo:active {
  background: rgb(155.5, 89.7378854626, 0);
}
.btn-amarillo {
  color: #fff;
  outline-color: #FF9F1C;
}

.btn-rojo {
  background: #DA2424;
}
.btn-rojo:hover {
  background: rgb(182.9826771654, 30.2173228346, 30.2173228346);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.btn-rojo:active {
  background: rgb(108.5708661417, 17.9291338583, 17.9291338583);
}
.btn-rojo {
  color: #fff;
  outline-color: #DA2424;
}

.btn-accent {
  background: var(--c-primary-accent);
  outline-color: var(--c-primary-accent);
}

.boton + .boton, .boton-medio + .boton, .boton-grande + .boton, .boton-borde + .boton, .boton + .boton-medio, .boton-medio + .boton-medio, .boton-grande + .boton-medio, .boton-borde + .boton-medio, .boton + .boton-grande, .boton-medio + .boton-grande, .boton-grande + .boton-grande, .boton-borde + .boton-grande, .boton + .boton-borde, .boton-medio + .boton-borde, .boton-grande + .boton-borde, .boton-borde + .boton-borde {
  margin-top: 1rem;
}

#footer a.volver-arriba {
  display: none;
  position: fixed;
  right: 0.5rem;
  bottom: 0.5rem;
  text-decoration: none;
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  background: #fff;
  color: var(--text-color);
  font-size: 0.65rem;
  border: solid;
  border-width: 1px;
  border-color: var(--text-color);
  border-radius: 100%;
  text-align: center;
  opacity: 0.8;
}
#footer a.volver-arriba span {
  display: none;
}
#footer a.volver-arriba span.icon {
  display: inline;
}
#footer a.volver-arriba:hover {
  opacity: 1;
}

/* COMPARTIR */
.compartir {
  background: transparent;
  border: none;
  border-width: 0;
  border-color: transparent;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0.5rem;
}
@media only screen and (min-width: 960px) {
  .compartir {
    padding-top: 3rem;
    padding-bottom: 3rem;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 1rem;
  }
}
.compartir a {
  display: inline-block;
  text-align: center;
  color: #fff;
  height: 3rem;
  line-height: 3rem;
  width: 3rem;
  font-size: 0.9rem;
  border-radius: 0.25rem;
}
@media only screen and (min-width: 960px) {
  .compartir a {
    width: auto;
    padding: 0 1rem;
    border-radius: 0.25rem;
  }
}
.compartir a span {
  display: none;
}
.compartir a span.icon {
  display: inline;
}
@media only screen and (min-width: 960px) {
  .compartir a span {
    display: none;
  }
}
.compartir a:hover {
  color: #fff;
  background: var(--c-primary) !important;
  text-decoration: none;
}
.compartir span.comparte {
  width: 100%;
  margin: 0.25rem 0;
  text-align: left;
}
@media only screen and (min-width: 960px) {
  .compartir span.comparte {
    width: 100%;
    text-align: left;
  }
}
.compartir span.comparte span {
  font-family: "Montserrat Semibold";
  color: var(--high-contast);
  text-transform: none;
  font-size: inherit;
  letter-spacing: 0.5px;
  text-align: left;
}
.compartir a.facebook {
  background: #306199;
}
.compartir a.twitter {
  background: #000;
}
.compartir a.pinterest {
  background: #B81621;
}
.compartir a.linkedin {
  background: #007BB6;
}
.compartir a.whatsapp {
  background: #14860c;
}
.compartir a.email {
  background: #0A88FF;
}

/*DESCARGAS*/
.descargas ul {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
.descargas ul li {
  width: 100%;
  display: block;
  line-height: 1.3;
}
.descargas a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-weight: normal;
  color: inherit;
  background: transparent;
  padding: 0.5rem 1rem;
  border: 2px solid;
  border-color: inherit;
  border-radius: 2rem;
  text-decoration: none;
  position: relative;
  z-index: 1;
  padding-left: 1rem;
}
.descargas a:hover {
  color: inherit;
  background: transparent;
  border-color: inherit;
  text-decoration: none;
}
.descargas a i, .descargas a span.icon {
  position: relative;
  left: 0;
  font-size: 1rem;
  margin-right: 0.125rem;
}
.descargas a.pdf i, .descargas a.pdf span.icon {
  color: #EA4C3A;
}
.descargas a.word i, .descargas a.word span.icon {
  color: #2372BA;
}
.descargas a.image i, .descargas a.image span.icon {
  color: #6A4197;
}
.descargas a.excel i, .descargas a.excel span.icon {
  color: #08743B;
}
.descargas a.powerpoint i, .descargas a.powerpoint span.icon {
  color: #DD5B26;
}
.descargas a.video i, .descargas a.video span.icon {
  color: #474A55;
}
.descargas a.video {
  aspect-ratio: initial;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: auto !important;
  height: auto !important;
  color: inherit;
  background: transparent;
  padding: 0.5rem 1rem;
  border: 2px solid;
  border-color: inherit;
  border-radius: 2rem;
  padding: 0.5rem 1rem !important;
  padding-left: 1rem !important;
}
@media only screen and (min-width: 768px) {
  .descargas ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .descargas ul li {
    width: calc(50% - 1rem);
  }
}

.cierre .descargas {
  margin-top: 0;
}

.noticia_ampliada .descargas strong {
  display: block;
  margin: 0 0 0.5rem;
  font-family: "Montserrat Semibold";
  color: var(--high-contast);
  text-transform: none;
  font-size: inherit;
  letter-spacing: 0.5px;
}

/*FORMULARIOS*/
/*RESET*/
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=date],
input[type=file],
select,
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: rgba(255, 255, 255, 0.025);
  border: none;
  border: solid 2px rgba(var(--text-color), 0.125);
  color: inherit;
  display: block;
  outline: 0;
  padding: 0 1rem;
  text-decoration: none;
  width: 100%;
  margin-bottom: 1rem;
  font-family: inherit;
  font-size: 1rem;
}
@media (min-width: 75em) {
  input[type=text],
  input[type=password],
  input[type=email],
  input[type=tel],
  input[type=date],
  input[type=file],
  select,
  textarea {
    font-size: 1rem;
  }
}

input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=date],
input[type=file],
select {
  height: 2.75em;
}

select option {
  min-height: 2.75em;
  height: auto;
  line-height: 2.75em;
  padding: 5px 0 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 1rem;
  background: #fff;
}
@media (min-width: 75em) {
  select option {
    font-size: 1rem;
  }
}

textarea {
  overflow: auto;
  padding: 1rem 1rem;
}

input[type=file] {
  padding: 0.5rem;
  padding-right: 2rem;
}

input[type=file]::-webkit-file-upload-button {
  background: #ececec;
  padding: 0.15rem 1rem;
  border-radius: 2rem;
  border: 1px solid #b9b9b9;
  margin-right: 1rem;
}

input[type=file]::file-selector-button {
  background: #ececec;
  padding: 0.15rem 1rem;
  border-radius: 2rem;
  border: 1px solid #b9b9b9;
  margin-right: 1rem;
}

.formulario .titulo_grupo_campos {
  font-family: "Montserrat Semibold";
  padding-left: 0.5rem;
  margin-bottom: 0.25rem;
}
.formulario .campo_campo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.formulario .campo_campo label {
  -webkit-box-ordinal-group: -1;
      -ms-flex-order: -2;
          order: -2;
  margin-bottom: 0.25rem;
  position: relative;
}
.formulario .titulo_campo, .formulario.formulario span.radios {
  display: block;
  width: 100%;
  padding-left: 0;
  position: relative;
}
.formulario span.radios {
  margin: 0.5rem 0;
}
.formulario span.radios span, .formulario .campo_alt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin-bottom: 0.5rem;
}
.formulario .campo_radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  margin-bottom: 1rem;
}
.formulario .campo_radio label {
  margin-bottom: 0.5rem;
}
.formulario .campo_radio input + label {
  -webkit-box-ordinal-group: 101;
      -ms-flex-order: 100;
          order: 100;
}
.formulario .campo_alt {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.formulario .campo_alt .titulo_campo, .formulario span.radios {
  width: calc(100% - 2rem);
  padding-left: 0.4rem;
}
.formulario .campo_alt .campo_checkbox, .formulario .campo_alt .campo_campo {
  width: 1.75rem;
  height: 1.75rem;
  text-align: center;
}
.formulario .error {
  color: #DA2424;
  display: block;
  margin: -0.75rem 0 0.75rem 0;
  font-size: 0.8rem;
  padding: 0 0 0 1rem;
  padding: 0 0 0 1.25rem;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .formulario .error {
    margin-left: 30%;
  }
}
.formulario .error:before {
  position: absolute;
  left: 0.25rem;
  font-family: "infotelecom";
  content: "\e816";
  font-size: 0.8rem;
}
.formulario .error span {
  white-space: nowrap;
}
.formulario .campo_alt .error {
  padding: 0 0 0 1.5rem;
  width: 100%;
  margin: 0 0 1rem;
}
.formulario {
  /*2 columnas*/
}
@media only screen and (min-width: 768px) {
  .formulario .grupo_campos .campo_campo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .formulario .grupo_campos .campo_campo label, .formulario .grupo_campos .campo_campo .titulo_campo {
    width: 30%;
    padding: 0.5rem 1rem 0 0;
    text-align: right;
  }
  .formulario .grupo_campos .campo_campo legend.titulo_campo {
    float: left;
  }
  .formulario .grupo_campos .campo_campo input, .formulario .grupo_campos .campo_campo textarea, .formulario .grupo_campos .campo_campo select {
    width: 40%;
  }
  .formulario .grupo_campos .campo_campo.campo_radio {
    display: block;
    padding-left: 30%;
  }
  .formulario .grupo_campos .campo_campo.campo_radio .titulo_campo {
    width: 100%;
    text-align: left;
  }
  .formulario .grupo_campos .campo_campo.campo_radio span.radios span label {
    width: 100%;
    text-align: left;
    padding: 0;
  }
  .formulario .campo_alt .error {
    padding-left: 1.5rem;
  }
  .formulario .campo_alt .error:before {
    left: 0.25rem;
  }
  .formulario .obliga, .formulario .titulo_grupo_campos, .formulario .campo_alt {
    padding-left: 30%;
  }
  .formulario .boton, .formulario .boton-medio, .formulario .boton-grande, .formulario .boton-borde {
    margin: 1rem 0 3rem;
    margin-left: 30%;
    width: 40%;
  }
}

/*FORMULARIO ESTILOS*/
.formulario input:not([type=button]):not([type=reset]):not([type=submit]):not([type=image]), .formulario select, .formulario textarea {
  background: var(--form-fondo-input);
  color: var(--form-color-input);
  border: solid;
  border-color: var(--form-borde-input-color);
  border-width: 1px;
  border-radius: 0.5rem;
  letter-spacing: 0.5px;
  font-family: inherit;
  font-size: 1rem;
}
.formulario input:not([type=button]):not([type=reset]):not([type=submit]):not([type=image]) input[type=button], .formulario select input[type=button], .formulario textarea input[type=button] {
  border-radius: 0;
}
@media only screen and (min-width: 768px) {
  .formulario input:not([type=button]):not([type=reset]):not([type=submit]):not([type=image]), .formulario select, .formulario textarea {
    font-size: 1rem;
  }
}
.formulario input:not([type=button]):not([type=reset]):not([type=submit]):not([type=image]):focus, .formulario select:focus, .formulario textarea:focus {
  border-color: rgb(0, 116, 189);
  -webkit-box-shadow: 0 0 5px rgba(0, 116, 189, 0.7);
          box-shadow: 0 0 5px rgba(0, 116, 189, 0.7);
}
.formulario {
  /* SELECT */
}
.formulario .campo_menu {
  position: relative;
}
.formulario .campo_menu:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-weight: normal;
  text-transform: none !important;
}
.formulario .campo_menu select {
  background-position: calc(100% - 1rem);
  background-repeat: no-repeat;
  background-size: 0.5rem;
  background-image: url('data:image/svg+xml,<svg viewBox="0 0 16 16" fill="black" xmlns="http://www.w3.org/2000/svg"><path d="m8 8.3 4.8-4.8c.7-.7.9-.7 1.6 0l1.2 1.2c.3.3.3.7 0 1l-7.1 7.1c-.3.3-.6.3-.9 0L.5 5.7c-.3-.3-.3-.7 0-1l1.4-1.4c.4-.4.7-.4 1.1 0l5 5z"/></svg>') !important;
}
.formulario .campo_menu.campo_doble {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.formulario .campo_menu.campo_doble select {
  width: calc(50% - 0.5rem);
}
.formulario .obliga, .formulario .obligatorio {
  color: #DA2424;
  padding-right: 0.25rem;
}
.formulario .boton, .formulario .boton-medio, .formulario .boton-grande, .formulario .boton-borde {
  font-size: 1rem;
  display: block;
  padding: 0;
  line-height: 2.5rem;
}
@media only screen and (min-width: 768px) {
  .formulario .boton, .formulario .boton-medio, .formulario .boton-grande, .formulario .boton-borde {
    font-size: 1.1rem;
  }
}
@media only screen and (min-width: 960px) {
  .formulario .boton, .formulario .boton-medio, .formulario .boton-grande, .formulario .boton-borde {
    font-size: 1.25rem;
    line-height: 3rem;
  }
}

.bloque.gracias {
  min-height: 60vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.gracias,
.gracias p {
  text-align: center;
}

.formulario span.info_datos {
  display: block;
  font-size: 0.9rem;
  text-align: justify;
  color: var(--form-color-clausula);
  background: var(--form-fondo-clausula);
  border: 1px solid var(--form-borde-clausula);
  padding: 1rem;
  margin: 1.5rem auto 0;
  width: calc(100% + 2rem);
  margin-left: -1rem;
  line-height: 1.4;
}

.formulario span.info_datos strong {
  font-size: 0.95rem;
  text-align: left;
  display: block;
}

@media only screen and (min-width: 768px) {
  .formulario span.info_datos {
    max-width: 96%;
    margin: 0 auto;
  }
}
.formulario select {
  background-image: url(/static/graficos/arrow.png);
  background-position: calc(100% - 1rem);
  background-repeat: no-repeat;
  background-size: 0.5rem;
}

.formulario .grupo_campos .campo fieldset .titulo_campo {
  padding: 0 0 0.5rem;
  line-height: 1.3;
}
.formulario .grupo_campos .campo fieldset .radios span:last-of-type {
  margin-bottom: 0;
}
.formulario .grupo_campos .campo fieldset .radios span label {
  margin: 0;
}
.formulario .grupo_campos .campo fieldset .radios span input {
  cursor: pointer;
  background-color: #fff;
  background-image: none !important;
  width: 1.5rem !important;
  height: 1.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0 0.5rem 0 0;
  border: solid var(--form-borde-input-color);
  -webkit-transition: background-color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out;
  border-width: 2px !important;
  border-radius: 100% !important;
}
.formulario .grupo_campos .campo fieldset .radios span input:checked {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e") !important;
  background-color: #2CA966;
  border-color: rgb(33.4647887324, 128.5352112676, 77.5774647887);
}
.formulario .grupo_campos .campo fieldset .radios span input:focus {
  border-color: rgb(0, 116, 189);
}
.formulario .grupo_campos .campo fieldset .radios span input:disabled {
  background-color: var(--pagination-link-inactive-bg);
  background-image: none;
}
.formulario .grupo_campos .campo fieldset .radios span input:disabled:checked {
  background-color: var(--pagination-link-inactive-bg);
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e") !important;
}

.formulario .campo_checkbox input[type=checkbox] {
  cursor: pointer;
  background-color: #fff;
  background-image: none !important;
  width: 1.5rem !important;
  height: 1.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  border: solid var(--form-borde-input-color);
  -webkit-transition: background-color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out;
  border-width: 2px !important;
}
.formulario .campo_checkbox input[type=checkbox]:checked {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e") !important;
  background-color: #2CA966 !important;
  border-color: rgb(33.4647887324, 128.5352112676, 77.5774647887) !important;
}

.formulario.placeholder .campo {
  padding-top: 2rem;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .formulario.placeholder .campo {
    padding-top: 1.5rem;
  }
}
.formulario.placeholder .seleccion {
  padding-top: 1rem;
}
.formulario.placeholder .seleccion .titulo_campo {
  padding: 0;
  margin: 0 0 0.5rem;
}
.formulario.placeholder .campo_input, .formulario.placeholder .campo_textarea {
  position: relative;
  display: block;
}
.formulario.placeholder input, .formulario.placeholder textarea {
  width: 100%;
  position: relative;
  top: 0;
  left: 0;
  z-index: 1;
  outline: 0;
}
.formulario.placeholder input, .formulario.placeholder select {
  margin-bottom: 0;
}
.formulario.placeholder .campo_input input, .formulario.placeholder .campo_textarea textarea, .formulario.placeholder .campo_menu select {
  font-size: 1rem;
}
.formulario.placeholder .campo_input input:focus + label, .formulario.placeholder .campo_textarea textarea:focus + label, .formulario.placeholder .campo_menu select:focus + label {
  z-index: 2;
  opacity: 1;
  top: -0.75rem;
  left: 0;
  background: var(--c-primary);
  color: #fff;
  font-family: "Montserrat";
  font-size: 0.8rem;
  text-transform: uppercase;
}
.formulario.placeholder .campo_input input.hide-label + label, .formulario.placeholder .campo_textarea textarea.hide-label + label, .formulario.placeholder .campo_input label, .formulario.placeholder .campo_textarea label, .formulario.placeholder .campo_menu label {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  position: absolute;
  top: 0;
  line-height: 1;
  opacity: 0;
  letter-spacing: 1px;
  padding: 0.25rem 0.5rem;
  white-space: nowrap;
  color: var(--text-color);
  font-family: "Montserrat";
  font-size: 0.8rem;
  text-transform: uppercase;
}
.formulario.placeholder textarea {
  display: block;
  resize: vertical;
}
.formulario.placeholder ::-webkit-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--text-color);
  opacity: 0.75;
  /* Firefox */
}
.formulario.placeholder ::-moz-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--text-color);
  opacity: 0.75;
  /* Firefox */
}
.formulario.placeholder :-ms-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--text-color);
  opacity: 0.75;
  /* Firefox */
}
.formulario.placeholder ::-ms-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--text-color);
  opacity: 0.75;
  /* Firefox */
}
.formulario.placeholder ::placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--text-color);
  opacity: 0.75;
  /* Firefox */
}
.formulario.placeholder .obliga {
  width: 100%;
  display: block;
  font-size: 1rem;
}
.formulario.placeholder .obligatorio {
  padding-right: 0;
}
.formulario.placeholder .error {
  margin: 0;
  margin-top: 0.25rem !important;
  color: #DA2424;
}
.formulario.placeholder .campo_input input:-moz-placeholder {
  border-color: #DA2424;
}
.formulario.placeholder .campo_input input:-ms-input-placeholder {
  border-color: #DA2424;
}
.formulario.placeholder .campo_input input:placeholder-shown {
  border-color: #DA2424;
}
.formulario.placeholder .campo_input input:not(.hide-label), .formulario.placeholder .campo_textarea textarea:not(.hide-label) {
  border-color: #0B8845 !important;
}
.formulario.placeholder .campo_input input:not(.hide-label) + label, .formulario.placeholder .campo_textarea textarea:not(.hide-label) + label {
  background: #fff;
  color: var(--text-color);
  z-index: 2;
  opacity: 1;
  top: -0.75rem;
  left: 0;
  padding: 0.25rem 0;
}
.formulario.placeholder span.radios {
  padding: 0 0 0 0.5rem;
  margin: 0;
}
.formulario.placeholder span.radios span {
  font-size: 1rem;
}
.formulario.placeholder span.radios span span.icon {
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .formulario.placeholder .titulo_bloque, .formulario.placeholder .obliga {
    padding: 0 calc((100% - 32rem) / 2);
  }
  .formulario.placeholder .titulo_grupo_campos {
    width: 100%;
    padding: 0;
  }
  .formulario.placeholder .grupo_campos {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 calc((100% - 32rem) / 2);
  }
  .formulario.placeholder .grupo_campos .titulo_campo {
    width: 100%;
    text-align: left;
  }
  .formulario.placeholder .grupo_campos input, .formulario.placeholder .grupo_campos textarea, .formulario.placeholder .grupo_campos select {
    width: 100%;
  }
  .formulario.placeholder .grupo_campos .campo_alt .titulo_campo {
    width: auto;
  }
  .formulario.placeholder .grupo_campos .campo {
    width: calc(50% - 0.5rem);
  }
  .formulario.placeholder .grupo_campos .campo.doble {
    width: 100%;
  }
  .formulario.placeholder .grupo_campos .campo:has(> .campo_radio), .formulario.placeholder .grupo_campos .campo:has(> .campo_menu), .formulario.placeholder .grupo_campos .campo.seleccion {
    width: 100%;
  }
  .formulario.placeholder .grupo_campos .campo .campo_radio {
    width: 100%;
    margin: 0;
  }
  .formulario.placeholder .grupo_campos .campo .campo_radio .titulo_campo {
    width: 100%;
    text-align: left;
  }
  .formulario.placeholder .grupo_campos .campo.triple {
    width: calc(33.33% - 0.66rem);
  }
  .formulario.placeholder .grupo_campos .campo .campo_campo {
    width: 100%;
  }
  .formulario.placeholder .campo .campo_radio {
    padding-left: 0;
  }
  .formulario.placeholder .campo_input label, .formulario.placeholder .campo_menu label, .formulario.placeholder .campo_textarea label {
    top: -0.75rem;
    width: auto;
    text-align: left;
  }
  .formulario.placeholder .campo_alt {
    padding-left: 0;
  }
  .formulario.placeholder .boton, .formulario.placeholder .boton-medio, .formulario.placeholder .boton-grande, .formulario.placeholder .boton-borde {
    width: 32rem;
    margin: 1rem auto 3rem;
  }
}

/*CABECERA*/
.cabecera_foto {
  width: 100%;
  overflow: hidden;
}

.cabecera_foto {
  margin: 0 auto;
  position: relative;
}

.cabecera_foto img,
.cabecera_foto .progressive img {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.cabecera_foto,
.cabecera_foto img,
.cabecera_foto .progressive,
.cabecera_foto .progressive img,
.titulo_seccion {
  height: calc(100vh - 4rem);
}

.cabecera_foto.en_seccion {
  height: 75vh;
}
.cabecera_foto.en_seccion img, .cabecera_foto.en_seccion .progressive, .cabecera_foto.en_seccion .progressive img, .cabecera_foto.en_seccion .titulo_seccion {
  height: 75vh;
}

.titulo_seccion {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  width: 100%;
  top: 0;
  overflow: hidden;
  z-index: 2;
  align-items: center;
}
.titulo_seccion .texto_columna :last-child {
  margin-bottom: 0 !important;
}

body.hero .cabecera_foto {
  height: 100vh;
}
body.hero .cabecera_foto img, body.hero .cabecera_foto .progressive, body.hero .cabecera_foto .progressive img, body.hero .cabecera_foto .titulo_seccion {
  height: 100vh;
  max-height: 100vh;
}

@media only screen and (min-width: 1240px) {
  .cabecera_foto {
    height: auto;
    overflow: hidden;
  }
  .titulo_seccion {
    position: relative;
    height: calc(100vh - (7rem + 2rem));
    max-height: 50rem;
  }
  .titulo_seccion .bloque {
    padding: 4rem;
  }
  .cabecera_foto .progressive {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
  }
  .cabecera_foto img,
  .cabecera_foto .progressive img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
  .cabecera_foto.en_seccion {
    height: 30rem;
  }
  .cabecera_foto.en_seccion img, .cabecera_foto.en_seccion .progressive, .cabecera_foto.en_seccion .progressive img, .cabecera_foto.en_seccion .titulo_seccion {
    height: 30rem;
  }
  body.hero .cabecera_foto.en_seccion {
    height: 100vh;
  }
  body.hero .cabecera_foto.en_seccion img, body.hero .cabecera_foto.en_seccion .progressive, body.hero .cabecera_foto.en_seccion .progressive img, body.hero .cabecera_foto.en_seccion .titulo_seccion {
    height: 100vh;
  }
}
@media only screen and (min-width: 1440px) {
  .titulo_seccion .bloque {
    padding: 6rem calc((100% - 1200px) / 2);
  }
  .cabecera_foto.en_seccion {
    height: 30rem;
  }
  .cabecera_foto.en_seccion img, .cabecera_foto.en_seccion .progressive, .cabecera_foto.en_seccion .progressive img, .cabecera_foto.en_seccion .titulo_seccion {
    height: 30rem;
  }
  body.hero .cabecera_foto.en_seccion {
    height: 100vh;
  }
  body.hero .cabecera_foto.en_seccion img, body.hero .cabecera_foto.en_seccion .progressive, body.hero .cabecera_foto.en_seccion .progressive img, body.hero .cabecera_foto.en_seccion .titulo_seccion {
    height: 100vh;
    max-height: 100vh;
  }
}
@media only screen and (min-width: 1600px) {
  .cabecera_foto.en_seccion {
    height: 40rem;
  }
  .cabecera_foto.en_seccion img, .cabecera_foto.en_seccion .progressive, .cabecera_foto.en_seccion .progressive img, .cabecera_foto.en_seccion .titulo_seccion {
    height: 40rem;
  }
  body.hero .cabecera_foto.en_seccion {
    height: 60rem;
  }
  body.hero .cabecera_foto.en_seccion img, body.hero .cabecera_foto.en_seccion .progressive, body.hero .cabecera_foto.en_seccion .progressive img, body.hero .cabecera_foto.en_seccion .titulo_seccion {
    height: 60rem;
  }
  body.hero .cabecera_foto.en_seccion .titulo_seccion {
    max-height: 60rem;
  }
}
.titulo_seccion {
  text-align: center;
}
@media only screen and (min-width: 960px) {
  .titulo_seccion {
    text-align: left;
  }
}

.titulo_seccion h1 {
  max-width: 45rem;
  margin: auto;
  font-family: "Montserrat Semibold";
  color: inherit;
  letter-spacing: 1px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (min-width: 960px) {
  .titulo_seccion h1 {
    margin: 0;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media only screen and (min-width: 1240px) {
  .titulo_seccion h1 {
    max-width: 52rem;
  }
}
.titulo_seccion h1 strong {
  display: inline-block;
  font-family: "Montserrat";
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: inherit;
  padding-top: 0.5rem;
  margin-top: 0.5rem;
  border-top: 2px solid var(--c-primary);
}

.titulo_seccion h2 {
  font-style: normal;
  display: inline-block;
  font-family: "Montserrat Semibold";
  font-size: 1.1rem;
  color: #fff;
  margin: 0.5rem auto 1rem;
}
@media only screen and (min-width: 1240px) {
  .titulo_seccion h2 {
    font-size: 1.4rem;
  }
}

.cabecera_foto.en_seccion #ancla {
  display: none;
}

.cabecera_foto #ancla {
  position: absolute;
  bottom: 1rem;
  left: calc(50% - 1rem);
  z-index: 3;
}
.cabecera_foto #ancla a {
  width: 2rem;
  height: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: transparent;
  color: var(--text-color-dt);
  font-size: 0.65rem;
  border: 2px solid;
  border-radius: 50%;
}
.cabecera_foto #ancla a span {
  display: none;
}
.cabecera_foto #ancla a span.icon {
  display: inline;
}

.titulo_seccion {
  background: rgba(var(--c-black-alpha), 0.5);
  color: #fff;
  text-shadow: 0 0 5px rgba(var(--c-black-alpha), 0.35);
}

body.dark .titulo_seccion {
  background: rgba(var(--c-black-alpha), 0.8);
}

.titulo_seccion .boton, .titulo_seccion .boton-medio, .titulo_seccion .boton-grande, .titulo_seccion .boton-borde {
  margin-top: 2rem;
  text-shadow: none;
}

.titulo_seccion .boton, .titulo_seccion .boton-medio, .titulo_seccion .boton-grande, .titulo_seccion .boton-borde,
.banner .boton,
.banner .boton-medio,
.banner .boton-grande,
.banner .boton-borde {
  background: #fff;
  color: var(--c-primary);
  outline-color: #fff;
}
.titulo_seccion .boton.boton-borde, .titulo_seccion .boton-borde,
.banner .boton.boton-borde,
.banner .boton-borde {
  background: transparent;
  color: #fff;
  outline-color: #fff;
}
.titulo_seccion .boton:hover, .titulo_seccion .boton-medio:hover, .titulo_seccion .boton-grande:hover, .titulo_seccion .boton-borde:hover,
.banner .boton:hover,
.banner .boton-medio:hover,
.banner .boton-grande:hover,
.banner .boton-borde:hover {
  color: #fff;
  background: var(--c-primary);
  outline-color: var(--c-primary);
}

.marquee {
  width: 100%;
  margin: 0 auto;
  white-space: nowrap;
  overflow: hidden;
  background: transparent;
}

.marquee p {
  display: inline-block;
  padding-left: 100%;
  /* show the marquee just outside the paragraph */
  will-change: transform;
  -webkit-animation: marquee 15s linear infinite;
          animation: marquee 15s linear infinite;
  font-family: "Montserrat Semibold";
  font-size: 1.25rem;
  color: inherit;
}
.marquee p span {
  display: inline-block;
  font-family: "Montserrat Semibold";
  color: var(--c-primary);
  margin: 0 2rem;
}

.marquee:hover p {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}

@-webkit-keyframes marquee {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(-100%, 0);
            transform: translate(-100%, 0);
  }
}

@keyframes marquee {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(-100%, 0);
            transform: translate(-100%, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .marquee {
    white-space: normal;
  }
  .marquee span {
    -webkit-animation-iteration-count: 1;
            animation-iteration-count: 1;
    -webkit-animation-duration: 0.01s;
            animation-duration: 0.01s;
    padding-left: 0;
  }
}
.redes ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
}
.redes li {
  margin: 0;
}
.redes a {
  display: block;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  color: var(--text-color);
}
.redes a span.icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 3rem;
  width: 3rem;
  border-style: solid;
  border-width: 1px;
  border-color: var(--gris-bordes);
  background: var(--title-color);
  color: #fff;
  font-size: 1.1rem;
  text-align: center;
  border-radius: 100%;
}
.redes a:hover span.icon {
  color: #fff;
  background: var(--c-primary-20);
  border-color: var(--c-primary);
}
.redes a span.nombre-red {
  display: none;
}

#footer .redes p.siguenos {
  line-height: 1.15;
  margin-bottom: 0.5rem;
  text-align: center;
}
@media only screen and (min-width: 960px) {
  #footer .redes p.siguenos {
    text-align: left;
  }
}

#footer .redes p.siguenos strong {
  font-family: "Montserrat Semibold";
  font-size: 1rem;
  color: var(--title-color);
  letter-spacing: 1px;
  display: inline-block;
  margin-bottom: 0.5rem;
}
@media only screen and (min-width: 1240px) {
  #footer .redes p.siguenos strong {
    font-size: 1rem;
  }
}

#footer.dark_theme .redes p.siguenos strong {
  color: var(--title-color-dt);
}

#footer .redes ul {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (min-width: 960px) {
  #footer .redes ul {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.noticia_ampliada .compartir span.comparte span {
  font-family: "Montserrat Semibold";
  color: var(--high-contast);
  text-transform: none;
  font-size: inherit;
  letter-spacing: 0.5px;
}

#submenus .redes a span {
  height: 2rem;
  width: 2rem;
  line-height: 2rem;
  font-size: 0.7rem;
  border-radius: 0;
}
#submenus .redes a:hover span {
  color: var(--c-primary);
  background: transparent;
}

.redes .facebook .icon {
  background: #306199;
}

.redes .twitter .icon {
  background: #000;
}

.redes .youtube .icon {
  background: #FF0000;
}

.redes .pinterest .icon {
  background: #B81621;
}

.redes .linkedin .icon {
  background: #007BB6;
}

.redes .whatsapp .icon {
  background: #14860c;
}

.redes .instagram .icon {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}

.redes .discord .icon {
  background: #5E66EF;
}

.redes .tiktok .icon {
  background: transparent;
  color: var(--title-color);
  text-shadow: -2px -2px 0px rgba(0, 235, 228, 0.6), 2px 2px 0px rgba(247, 0, 75, 0.6);
}

.redes .bluesky .icon {
  background: #1081F7;
}

.titulo_bloque {
  margin: 0 auto;
  width: 100%;
  text-align: center;
  position: relative;
  margin-bottom: 1rem;
}
@media only screen and (min-width: 340px) {
  .titulo_bloque {
    margin-bottom: 1.5rem;
  }
}
@media only screen and (min-width: 400px) {
  .titulo_bloque {
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 1240px) {
  .titulo_bloque {
    text-align: center;
  }
}
.titulo_bloque :last-child {
  margin-bottom: 0;
}
.titulo_bloque h2 {
  margin: 0 0 0.5em;
}
.titulo_bloque p {
  margin: auto;
  max-width: 45rem;
}
@media only screen and (min-width: 1240px) {
  .titulo_bloque p {
    max-width: 56rem;
    margin: auto;
  }
}
.titulo_bloque.izq {
  text-align: left;
}

@media only screen and (min-width: 768px) {
  .grupo_fichas.fichas_banners .titulo_bloque {
    margin-bottom: 1rem;
  }
}
.titulo_bloque h2 {
  letter-spacing: 0.5px;
  color: var(--c-title-color);
}
.titulo_bloque p {
  font-size: inherit;
}

#abre_whatsapp {
  position: fixed;
  z-index: 4;
  bottom: 0.5rem;
  left: 0.5rem;
}
#abre_whatsapp a {
  background-color: #14860c;
  outline-color: #14860c;
  width: 3rem;
  height: 3rem;
  line-height: 2rem;
  padding: 0;
}
#abre_whatsapp a i {
  vertical-align: text-top;
  font-size: 1.25rem;
}
#abre_whatsapp a span {
  display: none;
}

.boton.whatsapp_flotante, .whatsapp_flotante.boton-medio, .whatsapp_flotante.boton-grande, .whatsapp_flotante.boton-borde {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-item-align: start;
      align-self: flex-start;
  background: #14860c;
  outline-color: rgb(13.0136986301, 87.1917808219, 7.8082191781);
  position: sticky;
  z-index: 100;
  bottom: 0.5rem;
  margin: 0.5rem;
  width: 3rem;
  height: 3rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.boton.whatsapp_flotante span, .whatsapp_flotante.boton-medio span, .whatsapp_flotante.boton-grande span, .whatsapp_flotante.boton-borde span {
  display: none;
}
@media only screen and (min-width: 960px) {
  .boton.whatsapp_flotante, .whatsapp_flotante.boton-medio, .whatsapp_flotante.boton-grande, .whatsapp_flotante.boton-borde {
    height: 2.5rem;
    width: auto;
    padding: 0 1rem;
    font-size: 0.8rem;
    bottom: 1rem;
    left: 2rem;
  }
  .boton.whatsapp_flotante span, .whatsapp_flotante.boton-medio span, .whatsapp_flotante.boton-grande span, .whatsapp_flotante.boton-borde span {
    display: inline;
    margin-left: 0.25rem;
  }
}
@media only screen and (min-width: 1440px) {
  .boton.whatsapp_flotante, .whatsapp_flotante.boton-medio, .whatsapp_flotante.boton-grande, .whatsapp_flotante.boton-borde {
    left: calc((100% - 1356px) / 2);
  }
}

/* GALERIA DE FOTOS */
.galeria ul {
  /* display: grid;
  grid-template-columns: 1fr;  // en fr para que gap funcioni sin overflow
  grid-gap: 1rem; */
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
}
.galeria ul .paginacion, .galeria ul .titulo_bloque, .galeria ul .etiquetas_noticias, .galeria ul .cierre {
  grid-column-start: 1;
  grid-column-end: -1;
}
.galeria ul {
  grid-auto-flow: dense;
}
@media only screen and (min-width: 600px) {
  .galeria ul {
    /*  grid-template-columns: repeat(2, 1fr);
    // en fr para que gap funcioni sin overflow */
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }
  .galeria ul .paginacion, .galeria ul .titulo_bloque, .galeria ul .etiquetas_noticias, .galeria ul .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
}
@media only screen and (min-width: 960px) {
  .galeria ul {
    /* grid-template-columns: repeat(3, 1fr);
    // en fr para que gap funcioni sin overflow */
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }
  .galeria ul .paginacion, .galeria ul .titulo_bloque, .galeria ul .etiquetas_noticias, .galeria ul .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
}
@media only screen and (min-width: 1240px) {
  .galeria ul {
    /* grid-template-columns: repeat(4, 1fr);
    // en fr para que gap funcioni sin overflow */
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }
  .galeria ul .paginacion, .galeria ul .titulo_bloque, .galeria ul .etiquetas_noticias, .galeria ul .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
}
.galeria ul li {
  display: blocK;
  width: 100%;
}
.galeria ul li img {
  width: 100%;
  max-width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 1;
  -webkit-transition: opacity 0.25s ease-in-out;
  transition: opacity 0.25s ease-in-out;
}
.galeria ul li:hover {
  cursor: pointer;
}
.galeria ul li:hover img {
  opacity: 0.5;
}

.galeria.no-gap ul {
  grid-gap: 0;
}

.bloque.vw {
  padding-left: 0;
  padding-right: 0;
}
@media only screen and (min-width: 340px) {
  .bloque.vw .titulo_bloque {
    padding: 0 1.5rem;
  }
}
@media only screen and (min-width: 400px) {
  .bloque.vw .titulo_bloque {
    padding: 0 2rem;
  }
}
@media only screen and (min-width: 960px) {
  .bloque.vw .titulo_bloque {
    padding: 0 3rem;
  }
}
@media only screen and (min-width: 1240px) {
  .bloque.vw .titulo_bloque {
    padding: 0 calc((100% - 1200px) / 2);
  }
}

@media only screen and (min-width: 600px) {
  .galeria.lupa li {
    position: relative;
  }
  .galeria.lupa li:before {
    position: absolute;
    z-index: 2;
    background: rgba(var(--c-primary-20-alpha), 0.1);
    color: rgba(255, 255, 255, 0);
    font-size: 3rem;
    font-family: "infotelecom";
    content: "\e829";
    font-style: normal;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
    top: 0;
  }
  .galeria.lupa li:hover, .galeria.lupa li:active {
    cursor: pointer;
  }
  .galeria.lupa li:hover:before, .galeria.lupa li:active:before {
    background: rgba(var(--c-primary-20-alpha), 0.5);
    color: #fff;
  }
}
@media only screen and (min-width: 600px) {
  .galeria.zoom li {
    overflow: hidden;
  }
  .galeria.zoom li img {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transition: all 0.125s ease-in-out;
    transition: all 0.125s ease-in-out;
  }
  .galeria.zoom li:hover img {
    opacity: 1;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.galeria.metro {
  background: var(--level-1);
}
.galeria.metro ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 0.5rem;
  grid-row-gap: 0.5rem;
}
.galeria.metro ul .paginacion, .galeria.metro ul .titulo_bloque, .galeria.metro ul .etiquetas_noticias, .galeria.metro ul .cierre {
  grid-column-start: 1;
  grid-column-end: -1;
}
.galeria.metro ul {
  grid-auto-flow: dense;
}
.galeria.metro ul li:nth-child(6n+1), .galeria.metro ul li:first-child {
  grid-row-end: span 2;
  grid-column-end: span 2;
}
.galeria.metro ul li img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media only screen and (min-width: 768px) {
  .galeria.metro ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 0.5rem;
    grid-row-gap: 0.5rem;
  }
  .galeria.metro ul .paginacion, .galeria.metro ul .titulo_bloque, .galeria.metro ul .etiquetas_noticias, .galeria.metro ul .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
}
@media only screen and (min-width: 1240px) {
  .galeria.metro ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-column-gap: 0.5rem;
    grid-row-gap: 0.5rem;
  }
  .galeria.metro ul .paginacion, .galeria.metro ul .titulo_bloque, .galeria.metro ul .etiquetas_noticias, .galeria.metro ul .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
}

.galeria.instagram {
  background: var(--level-1);
}
.galeria.instagram ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 0.5rem;
  grid-row-gap: 0.5rem;
}
.galeria.instagram ul .paginacion, .galeria.instagram ul .titulo_bloque, .galeria.instagram ul .etiquetas_noticias, .galeria.instagram ul .cierre {
  grid-column-start: 1;
  grid-column-end: -1;
}
.galeria.instagram ul {
  grid-auto-flow: dense;
}
.galeria.instagram ul li:first-child {
  grid-row-end: span 2;
  grid-column-end: span 2;
}
.galeria.instagram ul li img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media only screen and (min-width: 768px) {
  .galeria.instagram ul {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-column-gap: 0.5rem;
    grid-row-gap: 0.5rem;
  }
  .galeria.instagram ul .paginacion, .galeria.instagram ul .titulo_bloque, .galeria.instagram ul .etiquetas_noticias, .galeria.instagram ul .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
}

.galeria.square {
  background: var(--level-2);
}
.galeria.square ul li {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
}
.galeria.square ul li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media only screen and (min-width: 400px) {
  .galeria.masonry ul {
    display: block;
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 1rem;
       -moz-column-gap: 1rem;
            column-gap: 1rem;
  }
  .galeria.masonry ul li {
    margin-bottom: 1rem;
    width: 100%;
  }
}
@media only screen and (min-width: 960px) {
  .galeria.masonry ul {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
  }
}

.masonry.no-gap ul {
  -webkit-column-gap: 0;
     -moz-column-gap: 0;
          column-gap: 0;
}
.masonry.no-gap ul li {
  margin-bottom: 0;
}

.grupo_fichas {
  display: block;
  width: 100%;
  margin: 0;
  clear: both;
}
.grupo_fichas .titulo_bloque {
  width: 100%;
  margin-bottom: 1.5rem;
}
@media only screen and (min-width: 600px) {
  .grupo_fichas .titulo_bloque {
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 960px) {
  .grupo_fichas .titulo_bloque {
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 1240px) {
  .grupo_fichas .titulo_bloque {
    margin-bottom: 3rem;
  }
}
.grupo_fichas .cierre {
  text-align: center;
  margin-top: 1.5rem;
}

.grupo_fichas ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.grupo_fichas .ficha {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.grupo_fichas .ficha .foto img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.grupo_fichas .ficha .texto ul {
  display: block;
  gap: 0;
}

.fichas_normal {
  background: transparent;
  border: none;
  border-width: 0;
  border-color: transparent;
}

.fichas_normal ul {
  gap: 1.5rem;
}
@media only screen and (min-width: 960px) {
  .fichas_normal ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }
  .fichas_normal ul .paginacion, .fichas_normal ul .titulo_bloque, .fichas_normal ul .etiquetas_noticias, .fichas_normal ul .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
}
@media only screen and (min-width: 1240px) {
  .fichas_normal ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 3rem;
    grid-row-gap: 3rem;
  }
  .fichas_normal ul .paginacion, .fichas_normal ul .titulo_bloque, .fichas_normal ul .etiquetas_noticias, .fichas_normal ul .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
}
@media only screen and (min-width: 1440px) {
  .fichas_normal ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 3rem;
    grid-row-gap: 3rem;
  }
  .fichas_normal ul .paginacion, .fichas_normal ul .titulo_bloque, .fichas_normal ul .etiquetas_noticias, .fichas_normal ul .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
}

.fichas_normal .ficha {
  background: var(--card-background);
  -webkit-box-shadow: var(--card-shadow);
          box-shadow: var(--card-shadow);
  border-radius: var(--card-border-radius);
  border: none;
  border-width: none;
  border-color: none;
  overflow: hidden;
  margin: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media only screen and (min-width: 768px) {
  .fichas_normal .ficha {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.fichas_normal .ficha .foto {
  width: 100%;
  aspect-ratio: initial;
}
.fichas_normal .ficha .foto img {
  border-radius: 1rem;
}
.fichas_normal .ficha .texto {
  position: relative;
  background: transparent;
  text-shadow: none;
  text-align: center;
  padding: 1rem 0 1.5rem;
}
@media only screen and (min-width: 370px) {
  .fichas_normal .ficha .texto {
    padding: 1.5rem 0 2rem;
  }
}
@media only screen and (min-width: 600px) {
  .fichas_normal .ficha .texto {
    padding: 2rem 0;
  }
}
.fichas_normal .ficha .texto h3 {
  font-family: "Montserrat Semibold";
  font-size: 1.25rem;
  color: var(--title-color);
  margin-bottom: 0.5rem;
  margin-top: auto;
}
@media only screen and (min-width: 600px) {
  .fichas_normal .ficha .texto h3 {
    font-size: 1.25rem;
  }
}
@media only screen and (min-width: 1240px) {
  .fichas_normal .ficha .texto h3 {
    font-size: 1.35rem;
  }
}
.fichas_normal .ficha .texto h3 a {
  color: inherit;
  font-family: inherit;
}
.fichas_normal .ficha .texto p {
  display: block;
  font-size: 1rem;
  line-height: 1.3;
}
@media only screen and (min-width: 1240px) {
  .fichas_normal .ficha .texto p {
    font-size: 1.1rem;
  }
}
.fichas_normal .ficha .texto p + p {
  margin-top: 1rem;
}
.fichas_normal .ficha .texto .boton, .fichas_normal .ficha .texto .boton-medio, .fichas_normal .ficha .texto .boton-grande, .fichas_normal .ficha .texto .boton-borde {
  margin-top: 1.5rem;
}

.fichas_destacadas {
  background: transparent;
  border: solid;
  border-width: 0;
  border-color: var(--gris-bordes);
}

.fichas_destacadas ul {
  gap: 1.5rem;
}
@media only screen and (min-width: 960px) {
  .fichas_destacadas ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }
  .fichas_destacadas ul .paginacion, .fichas_destacadas ul .titulo_bloque, .fichas_destacadas ul .etiquetas_noticias, .fichas_destacadas ul .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
}
@media only screen and (min-width: 1240px) {
  .fichas_destacadas ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 3rem;
    grid-row-gap: 3rem;
  }
  .fichas_destacadas ul .paginacion, .fichas_destacadas ul .titulo_bloque, .fichas_destacadas ul .etiquetas_noticias, .fichas_destacadas ul .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
}
@media only screen and (min-width: 1440px) {
  .fichas_destacadas ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 4rem;
    grid-row-gap: 4rem;
  }
  .fichas_destacadas ul .paginacion, .fichas_destacadas ul .titulo_bloque, .fichas_destacadas ul .etiquetas_noticias, .fichas_destacadas ul .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
}

.fichas_destacadas .ficha {
  background: var(--card-background);
  -webkit-box-shadow: var(--card-shadow);
          box-shadow: var(--card-shadow);
  border-radius: var(--card-border-radius);
  border: none;
  border-width: none;
  border-color: none;
  overflow: hidden;
  margin: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
.fichas_destacadas .ficha:last-of-type {
  border: none;
}
@media only screen and (min-width: 768px) {
  .fichas_destacadas .ficha {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    border-width: none;
  }
}
.fichas_destacadas .ficha .foto {
  width: 4rem;
  aspect-ratio: initial;
  margin: 0 auto 1.5rem;
}
@media only screen and (min-width: 768px) {
  .fichas_destacadas .ficha .foto {
    width: 8rem;
    margin: 0 auto 1.5rem;
  }
}
.fichas_destacadas .ficha .foto img {
  border-radius: 0;
  -webkit-filter: var(--icon-filter);
          filter: var(--icon-filter);
}
.fichas_destacadas .ficha.sin-foto .texto {
  padding: 0;
}
.fichas_destacadas .ficha.sin-foto .texto strong {
  color: var(--c-primary);
}
.fichas_destacadas .ficha .texto {
  position: relative;
  background: transparent;
  text-shadow: none;
  text-align: center;
  padding: 1rem 0 1.5rem;
  width: 100%;
}
@media only screen and (min-width: 600px) {
  .fichas_destacadas .ficha .texto {
    width: 100%;
  }
}
@media only screen and (min-width: 370px) {
  .fichas_destacadas .ficha .texto {
    padding: 1.5rem 0 2rem;
  }
}
@media only screen and (min-width: 600px) {
  .fichas_destacadas .ficha .texto {
    padding: 2rem 0;
  }
}
.fichas_destacadas .ficha .texto h3 {
  font-family: "Montserrat Semibold";
  font-size: 1.25rem;
  color: var(--title-color);
  margin-bottom: 0.5rem;
  margin-top: auto;
}
@media only screen and (min-width: 600px) {
  .fichas_destacadas .ficha .texto h3 {
    font-size: 1.25rem;
  }
}
@media only screen and (min-width: 1240px) {
  .fichas_destacadas .ficha .texto h3 {
    font-size: 1.35rem;
  }
}
.fichas_destacadas .ficha .texto h3 a {
  color: inherit;
  font-family: inherit;
}
.fichas_destacadas .ficha .texto p {
  display: block;
  font-size: 1rem;
  line-height: 1.3;
}
@media only screen and (min-width: 1240px) {
  .fichas_destacadas .ficha .texto p {
    font-size: 1.1rem;
  }
}
.fichas_destacadas .ficha .texto p + p {
  margin-top: 1rem;
}
.fichas_destacadas .ficha .texto .boton, .fichas_destacadas .ficha .texto .boton-medio, .fichas_destacadas .ficha .texto .boton-grande, .fichas_destacadas .ficha .texto .boton-borde {
  margin-top: 1.5rem;
}

.fichas_catalogo {
  margin: 0 auto;
  background: #f7f7f7;
  border: none;
  border-width: 0;
  border-color: transparent;
}
.fichas_catalogo ul {
  gap: 0.1rem;
}
.fichas_catalogo .ficha {
  position: relative;
  margin-bottom: 0;
}
.fichas_catalogo .ficha .foto {
  position: absolute;
  z-index: 1;
  padding: 0;
  inset: 0;
}
.fichas_catalogo .ficha .foto img {
  position: relative;
}
.fichas_catalogo .ficha .texto {
  position: relative;
  width: 100%;
  z-index: 2;
  padding: 2rem 2rem 4rem;
  min-height: 100vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background: var(--bg-tint);
  text-shadow: 0 0 5px var(--bg-tint);
  text-align: center;
}
.fichas_catalogo .ficha .texto h3 {
  font-family: "Montserrat Semibold";
  font-size: 1.45rem;
  color: #fff;
  margin-bottom: 0.5rem;
  margin-top: auto;
}
.fichas_catalogo .ficha .texto h3 a {
  color: inherit;
  font-family: inherit;
}
.fichas_catalogo .ficha .texto .destacado {
  font-family: "Montserrat";
  font-size: 0.9rem;
  color: #fff;
  opacity: 0.7;
  -webkit-box-ordinal-group: -1;
      -ms-flex-order: -2;
          order: -2;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.fichas_catalogo .ficha .texto p {
  color: #fff;
  line-height: 1.3;
  -webkit-transition: all 0.25s cubic-bezier(0.25, 0, 0.25, 1);
  transition: all 0.25s cubic-bezier(0.25, 0, 0.25, 1);
}
.fichas_catalogo .ficha .texto a.boton, .fichas_catalogo .ficha .texto a.boton-medio, .fichas_catalogo .ficha .texto a.boton-grande, .fichas_catalogo .ficha .texto a.boton-borde {
  position: relative;
  z-index: 2;
  -ms-flex-item-align: center;
      align-self: center;
  margin-top: auto;
  text-shadow: none;
}
@media only screen and (min-width: 600px) {
  .fichas_catalogo .ficha .texto {
    min-height: 66vw;
  }
}
.fichas_catalogo .ficha a.mas {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
}
@media only screen and (min-width: 768px) {
  .fichas_catalogo ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }
  .fichas_catalogo ul .paginacion, .fichas_catalogo ul .titulo_bloque, .fichas_catalogo ul .etiquetas_noticias, .fichas_catalogo ul .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
  .fichas_catalogo .ficha {
    margin: 0;
  }
  .fichas_catalogo .ficha .texto {
    min-height: 50vw;
    height: 100%;
  }
  .fichas_catalogo .ficha:nth-child(1) {
    grid-column: span 2;
  }
}
@media only screen and (min-width: 960px) {
  .fichas_catalogo .ficha .texto {
    min-height: calc(33vw - 2rem);
    height: 100%;
  }
  .fichas_catalogo .ficha:hover .texto {
    background: var(--bg-tint-hover);
  }
  .fichas_catalogo .ficha:hover .texto a.boton, .fichas_catalogo .ficha:hover .texto a.boton-medio, .fichas_catalogo .ficha:hover .texto a.boton-grande, .fichas_catalogo .ficha:hover .texto a.boton-borde {
    color: #fff;
    background: transparent;
    border-color: #fff;
    outline-color: #fff;
  }
}
@media only screen and (min-width: 1240px) {
  .fichas_catalogo ul {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }
  .fichas_catalogo ul .paginacion, .fichas_catalogo ul .titulo_bloque, .fichas_catalogo ul .etiquetas_noticias, .fichas_catalogo ul .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
  .fichas_catalogo .ficha {
    grid-column: span 2;
  }
  .fichas_catalogo .ficha:nth-child(1), .fichas_catalogo .ficha:nth-child(2) {
    grid-column: span 3;
  }
}
@media only screen and (min-width: 1600px) {
  .fichas_catalogo .ficha .texto {
    min-height: calc(25vw - 2rem);
  }
}
@media only screen and (min-width: 2000px) {
  .fichas_catalogo .ficha .texto {
    min-height: calc(20vw - 2rem);
  }
}

@media only screen and (max-width: 959px) {
  .fichas_catalogo {
    padding: 0.1rem 0;
  }
  .fichas_catalogo .titulo_bloque {
    padding: 1.5rem 1.5rem 0;
  }
}
@media only screen and (max-width: 959px) and (min-width: 768px) and (max-width: 959px) {
  .fichas_catalogo {
    padding: 0.1rem;
  }
  .fichas_catalogo ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 0.1rem;
    grid-row-gap: 0.1rem;
  }
  .fichas_catalogo ul .paginacion, .fichas_catalogo ul .titulo_bloque, .fichas_catalogo ul .etiquetas_noticias, .fichas_catalogo ul .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
}
.fichas_banners .ficha {
  position: relative;
  margin: 0 auto 1rem;
}
@media only screen and (min-width: 768px) {
  .fichas_banners .ficha {
    margin: 0;
  }
}
.fichas_banners .ficha .foto {
  position: relative;
  z-index: 1;
}
.fichas_banners .ficha .texto {
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: rgba(var(--c-black-alpha), 0.25);
  padding: 1rem;
  color: #fff;
  text-shadow: 0 0 3px rgba(var(--c-black-alpha), 0.75);
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
}
.fichas_banners .ficha .texto h3 {
  color: #fff;
}
.fichas_banners .ficha .texto h3 a {
  color: inherit;
}
.fichas_banners .ficha .texto p.destacado {
  -webkit-box-ordinal-group: -1;
      -ms-flex-order: -2;
          order: -2;
}
.fichas_banners .ficha .texto a.mas {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 3;
  text-indent: -9999px;
}
.fichas_banners .ficha:hover .texto {
  background: rgba(var(--c-black-alpha), 0.75);
  text-shadow: 0 0 3px rgba(var(--c-black-alpha), 0.15);
}

@media only screen and (min-width: 768px) {
  .fichas_banners {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }
  .fichas_banners .paginacion, .fichas_banners .titulo_bloque, .fichas_banners .etiquetas_noticias, .fichas_banners .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
}
@media only screen and (min-width: 1240px) {
  .fichas_banners {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }
  .fichas_banners .paginacion, .fichas_banners .titulo_bloque, .fichas_banners .etiquetas_noticias, .fichas_banners .cierre {
    grid-column-start: 1;
    grid-column-end: -1;
  }
}

.fichas_secciones {
  margin: 0;
  border: solid;
  border-width: 1px 0;
  border-color: var(--c-primary);
}
.fichas_secciones .titulo_bloque {
  margin-bottom: 2rem;
}
@media only screen and (min-width: 768px) {
  .fichas_secciones .titulo_bloque {
    margin-bottom: 3rem;
  }
}
.fichas_secciones .cierre {
  text-align: center;
  padding-top: 1.5rem;
}

.fichas_secciones .ficha {
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 0;
  margin: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.fichas_secciones .ficha:last-of-type {
  border-bottom: none;
}
.fichas_secciones .ficha.sin-foto .texto {
  padding: 0;
}
.fichas_secciones .ficha.sin-foto .texto strong {
  color: var(--c-primary);
}
.fichas_secciones .ficha .texto {
  padding: 0 0 1.5rem;
  text-align: center;
}
.fichas_secciones .ficha .boton, .fichas_secciones .ficha .boton-medio, .fichas_secciones .ficha .boton-grande, .fichas_secciones .ficha .boton-borde {
  width: auto;
  margin: 2rem auto 0;
}
@media only screen and (min-width: 768px) {
  .fichas_secciones .ficha {
    padding: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.fichas_secciones .ficha .foto {
  padding: 0;
}
.fichas_secciones .ficha .foto img {
  position: relative;
  width: 100%;
  height: auto;
}

@media only screen and (min-width: 768px) {
  .grupo_fichas.fichas_secciones {
    display: block;
  }
  .grupo_fichas.fichas_secciones ul {
    display: block;
  }
  .grupo_fichas.fichas_secciones .ficha {
    margin: 0;
  }
  .grupo_fichas.fichas_secciones .ficha:last-of-type {
    border-bottom: none;
  }
  .grupo_fichas.fichas_secciones .ficha .foto {
    margin: 0;
  }
  .grupo_fichas.fichas_secciones .ficha .texto {
    padding: 3rem;
    text-align: left;
  }
}
@media only screen and (min-width: 1240px) {
  .grupo_fichas.fichas_secciones .ficha {
    border: none;
    padding: 0;
  }
}
.fichas_secciones .ficha {
  border-bottom: 1px solid;
  border-color: var(--form-borde-input-color);
}
.fichas_secciones .ficha .texto {
  width: 100%;
}
.fichas_secciones .ficha .texto h3 {
  font-size: 1.5rem;
}
.fichas_secciones .ficha .foto {
  margin: 0 0 1.5rem;
}

/*MARCAS*/
.fichas_marcas {
  margin: 0 auto;
  display: block;
  padding-top: 2rem;
  padding-bottom: 2rem;
  background: transparent;
  border: none;
  border-width: 0;
  border-color: transparent;
  color: inherit;
}
@media only screen and (min-width: 960px) {
  .fichas_marcas {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
  }
}
.fichas_marcas ul {
  width: 100%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
}
.fichas_marcas ul li {
  width: calc(50% - 0.5rem);
  text-align: center;
}
.fichas_marcas ul li a {
  display: block;
}
.fichas_marcas ul li img {
  width: 100%;
  max-width: 180px;
  mix-blend-mode: darken;
}
.fichas_marcas .titulo_bloque {
  width: 100%;
  margin-bottom: 1rem;
  text-align: center;
}
.fichas_marcas .titulo_bloque h2, .fichas_marcas .titulo_bloque h3 {
  font-family: "Montserrat";
  font-size: 1.25rem;
}
@media only screen and (min-width: 960px) {
  .fichas_marcas .titulo_bloque {
    width: calc(33.33% - 2rem);
    margin: 0 2rem 0 0;
    text-align: left;
  }
}
@media only screen and (min-width: 1440px) {
  .fichas_marcas .titulo_bloque h2, .fichas_marcas .titulo_bloque h3 {
    font-size: 1.25rem;
  }
}
@media only screen and (min-width: 960px) {
  .fichas_marcas ul {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .fichas_marcas ul li {
    width: calc(25% - 0.5rem);
  }
}
@media only screen and (min-width: 1240px) {
  .fichas_marcas ul li {
    width: calc(25% - 0.5rem);
  }
}

/*TESTIMONIOS*/
.grupo_fichas.fichas_testimonios ul {
  display: block;
  gap: 0;
}

.fichas_testimonios {
  text-align: center;
}
.fichas_testimonios ul {
  width: 100%;
  margin: 0;
}
.fichas_testimonios ul li {
  display: block;
}
.fichas_testimonios ul li blockquote {
  display: block;
  font-style: normal;
  margin: 0;
  padding: 1rem;
}
.fichas_testimonios ul li blockquote:before, .fichas_testimonios ul li blockquote:after {
  content: none;
}
.fichas_testimonios ul li blockquote p {
  margin: 2rem 0;
}
.fichas_testimonios ul li blockquote strong {
  font-weight: normal;
}
.fichas_testimonios ul li blockquote img {
  margin: 0 auto;
}
.fichas_testimonios ul li blockquote cite {
  font-style: normal;
}
.fichas_testimonios ul li blockquote cite strong {
  display: block;
  margin: 1rem 0 0;
}
.fichas_testimonios ul li blockquote cite p {
  margin: 0 0 1rem;
  text-align: center;
}

@media only screen and (min-width: 600px) {
  .fichas_testimonios {
    display: block;
  }
  .fichas_testimonios ul {
    margin: 0;
  }
  .fichas_testimonios ul li {
    display: inline;
    margin: 0;
  }
  .fichas_testimonios ul li blockquote {
    margin: 0 0 1rem;
    padding: 1.5rem 3rem;
  }
}
@media only screen and (min-width: 960px) {
  .fichas_testimonios ul li blockquote {
    padding: 2rem 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .fichas_testimonios ul li blockquote p {
    width: 60%;
    margin: 0;
  }
  .fichas_testimonios ul li blockquote footer {
    width: 40%;
    margin-left: 2rem;
    position: relative;
    -ms-flex-item-align: stretch;
        align-self: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .fichas_testimonios ul li blockquote cite {
    margin: auto;
  }
  .fichas_testimonios ul li blockquote cite p {
    width: 100%;
  }
}
@media only screen and (min-width: 1240px) {
  .fichas_testimonios {
    padding-left: calc((100% - 56rem) / 2);
    padding-right: calc((100% - 56rem) / 2);
  }
  .fichas_testimonios ul li blockquote {
    padding: 3rem 4rem;
  }
}
/*testimonios controls*/
.fichas_testimonios .lSAction > .lSPrev,
.fichas_testimonios .lSAction > .lSNext {
  opacity: 1;
}

.fichas_testimonios {
  background: #f7f7f7;
  border: solid;
  border-width: 0;
  border-color: var(--bg-theme-dark);
}
.fichas_testimonios ul li blockquote {
  background: #fff;
  color: var(--text-color);
  border: solid;
  border-width: 2px;
  border-color: var(--c-primary);
  border-radius: 1rem;
}
.fichas_testimonios ul li blockquote p {
  text-align: center;
  font-size: 1.25rem;
}
.fichas_testimonios blockquote cite strong {
  font-family: "Montserrat Semibold";
  font-weight: normal;
  font-size: 1.1rem;
}
.fichas_testimonios blockquote cite span {
  font-family: "Montserrat";
  font-weight: normal;
  font-size: 1rem;
  display: block;
}
.fichas_testimonios blockquote cite span.puntuacion {
  color: #fc0;
  font-size: 0.9rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.fichas_testimonios blockquote cite p {
  opacity: 0.7;
}

.fichas_testimonios blockquote.una_columna {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.fichas_testimonios blockquote.una_columna p {
  font-size: 1.25rem;
}
@media only screen and (min-width: 960px) {
  .fichas_testimonios blockquote.una_columna p {
    margin: 2rem 0;
    width: 90%;
  }
}
.fichas_testimonios blockquote.una_columna footer {
  margin: 0 auto 2rem;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.fichas_testimonios blockquote.una_columna footer img {
  margin: auto;
  height: 5rem;
  width: 5rem;
  border-radius: 100%;
}
.fichas_testimonios blockquote.una_columna footer cite p {
  font-size: 0.9rem;
}
@media only screen and (min-width: 960px) {
  .fichas_testimonios blockquote.una_columna footer cite p {
    text-align: left;
    margin: 0;
  }
}

.fichas_testimonios li.columna footer img {
  margin: 0 1rem 0 0;
  height: 4rem;
  width: 4rem;
}

@media only screen and (min-width: 960px) {
  .fichas_testimonios li.columna {
    display: inline-block;
    width: 50%;
  }
  .fichas_testimonios li.columna blockquote {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .fichas_testimonios li.columna blockquote p {
    width: 100%;
    text-align: left;
  }
  .fichas_testimonios li.columna blockquote footer {
    width: 100%;
    text-align: left;
    margin: 2rem 0 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .fichas_testimonios li.columna blockquote footer cite {
    margin: 0;
  }
  .fichas_testimonios li.columna blockquote footer cite strong, .fichas_testimonios li.columna blockquote footer cite p {
    margin: 0;
  }
}
.fichas_testimonios img.imagen {
  margin: 0;
  display: inline-block;
  -ms-flex-item-align: start;
      align-self: flex-start;
  width: 4rem;
}
@media only screen and (min-width: 960px) {
  .fichas_testimonios img.imagen {
    margin: 0 0 1rem;
  }
}

.fichas_testimonios.dark_theme ul li blockquote {
  background: var(--card-color-bg);
  color: #fff;
  border-color: transparent;
}

.fichas_mensajes {
  background: var(--c-black);
  border: none;
  border-width: 0;
  border-color: transparent;
}

.fichas_mensajes ul li a {
  color: var(--c-primary-light);
  text-decoration: none;
}
.fichas_mensajes ul li span {
  font-family: inherit;
  font-size: 1.25rem;
  text-transform: uppercase;
  color: var(--title-color-dt);
  letter-spacing: 1px;
}
.fichas_mensajes ul li a span {
  color: inherit;
}

.fichas_mensajes {
  text-align: center;
  padding: 0.5rem 1rem;
  display: block;
}
.fichas_mensajes ul {
  width: 100%;
  margin: 0;
  display: block;
}
.fichas_mensajes ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.fichas_mensajes ul li img {
  height: 2rem;
  display: inline-block;
  margin-right: 1rem;
}
@media only screen and (min-width: 600px) {
  .fichas_mensajes ul li img {
    height: 2.25rem;
  }
}
@media only screen and (min-width: 1240px) {
  .fichas_mensajes {
    padding: 1rem;
  }
}

/*testimonios controls*/
.fichas_mensajes .lSAction button {
  background-image: url(/static/lightgallery/controles_bl.png);
  background-repeat: no-repeat;
  width: 2rem;
  height: 2rem;
  background-size: 4rem 2rem;
  margin-top: -1rem;
}

.fichas_mensajes .lSAction > .lSPrev,
.fichas_mensajes .lSAction > .lSNext {
  opacity: 0.7;
}

.fichas_mensajes .lSAction > .lSPrev {
  left: 0;
  background-position: 0 center;
}

.fichas_mensajes .lSAction > .lSNext {
  right: 0;
  background-position: -2.25rem center;
}

.bloque.textos + .fichas_faq {
  padding-top: 0;
}

.fichas_faq {
  background: transparent;
  border: none;
  border-width: 0;
  border-color: transparent;
}

.fichas_faq .ficha {
  display: block;
  background: #fff;
  border: solid;
  border-width: 1px;
  border-color: var(--c-primary);
  border-radius: 0;
  padding: 1rem;
}
@media only screen and (min-width: 600px) {
  .fichas_faq .ficha {
    padding: 1.5rem;
  }
}
@media only screen and (min-width: 960px) {
  .fichas_faq .ficha {
    padding: 1.5rem;
  }
}
.fichas_faq .ficha .textos {
  max-height: 0;
  overflow: hidden;
  padding: 0;
  margin: 0;
  -webkit-transition: max-height 0.3s ease-out;
  transition: max-height 0.3s ease-out;
}
.fichas_faq .ficha .textos p, .fichas_faq .ficha .textos ul, .fichas_faq .ficha .textos ol {
  padding: 0.75rem 0 0;
  margin-bottom: 0;
}
.fichas_faq .ficha .textos p:last-of-type, .fichas_faq .ficha .textos ul:last-of-type, .fichas_faq .ficha .textos ol:last-of-type {
  padding-bottom: 0.5rem !important;
}
.fichas_faq .ficha .textos p + p {
  padding-top: 0.5rem;
}
.fichas_faq .ficha .textos ul, .fichas_faq .ficha .textos ol {
  margin-top: 0.5rem;
}
.fichas_faq .ficha .textos ul li, .fichas_faq .ficha .textos ol li {
  margin-bottom: 0.5rem;
}
.fichas_faq .ficha + .ficha {
  margin-top: -1px;
}
.fichas_faq .ficha h3 {
  margin: 0;
  padding: 0 1.5rem 0 0;
  font-family: inherit;
  font-size: 1.25rem;
  color: var(--title-color);
  cursor: pointer;
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media only screen and (min-width: 600px) {
  .fichas_faq .ficha h3 {
    font-size: 1.25rem;
  }
}
@media only screen and (min-width: 1240px) {
  .fichas_faq .ficha h3 {
    font-size: 1.35rem;
  }
}
.fichas_faq .ficha h3 button, .fichas_faq .ficha h3 strong {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  cursor: pointer;
}
.fichas_faq .ficha h3:before {
  position: absolute;
  font-family: "infotelecom";
  content: "\e806";
  font-style: normal;
  font-size: 1.25rem;
  line-height: 1;
  right: 2px;
  top: 0;
  color: rgba(var(--c-primary-40-alpha), 0.25);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  will-change: auto;
}
.fichas_faq .ficha h3:hover {
  cursor: pointer;
  color: var(--c-primary);
}
.fichas_faq .ficha h3:hover:before {
  color: rgba(var(--c-primary-40-alpha), 0.75);
}
.fichas_faq .ficha h3.actual:before {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  color: var(--c-primary);
}
.fichas_faq .ficha h3.actual,
.fichas_faq .ficha h3.actual:hover {
  color: var(--c-primary);
  border: none;
  margin: 0;
}
.fichas_faq .ficha h3.actual strong,
.fichas_faq .ficha h3.actual:hover strong {
  color: inherit;
}
@media only screen and (min-width: 1240px) {
  .fichas_faq {
    padding-left: calc((100% - 56rem) / 2);
    padding-right: calc((100% - 56rem) / 2);
  }
}

.grupo_fichas.fichas_faq ul {
  display: block;
}

.fichas_tabs {
  background: rgba(var(--c-primary-light-alpha), 0.1);
  border: none;
  border-width: 0;
  border-color: transparent;
}
@media only screen and (max-width: 959px) {
  .fichas_tabs {
    padding-left: 0;
    padding-right: 0;
  }
  .fichas_tabs .titulo_bloque {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.fichas_tabs .tabs_menu {
  background: transparent;
  border: solid;
  border-width: 1px;
  border-color: var(--gris-borde);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 1rem 1rem 0 0;
  overflow: hidden;
}
@media only screen and (min-width: 600px) {
  .fichas_tabs .tabs_menu {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

[role=tab] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 0.75rem;
  font-family: inherit;
  font-size: 1rem;
  color: inherit;
  text-transform: inherit;
  background: #eee;
  border: solid;
  border-width: 0 0 2px;
  border-color: transparent;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  [role=tab] {
    font-size: inherit;
  }
}

[role=tab]:hover {
  background: var(--c-primary-20);
  color: #fff;
}

[role=tab][aria-selected=true],
[role=tab][aria-selected=true]:hover {
  background: var(--c-primary);
  color: #fff;
  border-width: 0 0 2px;
  border-color: var(--c-primary-40);
}

[role=tabpanel] {
  padding: 1rem;
  background: #fff;
  border: solid;
  border-width: 0 1px 1px;
  border-color: var(--gris-borde);
  border-radius: 0 0 1rem 1rem;
}
@media only screen and (min-width: 600px) {
  [role=tabpanel] {
    padding: 2rem;
  }
}

[role=tabpanel].activo {
  opacity: 1;
}

.fichas_precios {
  background: #f7f7f7;
  border: none;
  border-width: 0;
  border-color: transparent;
}
@media only screen and (min-width: 1240px) {
  .fichas_precios {
    padding-left: calc((100% - 1200px) / 2);
    padding-right: calc((100% - 1200px) / 2);
  }
}

.fichas_precios ul {
  gap: 1.5rem;
}
@media only screen and (min-width: 960px) {
  .fichas_precios ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 2rem;
  }
}
@media only screen and (min-width: 960px) and (min-width: 1240px) {
  .fichas_precios ul {
    gap: 3rem;
  }
}
@media only screen and (min-width: 960px) {
  .fichas_precios ul .ficha {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    max-width: 33%;
    -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
  }
}
.fichas_precios .ficha {
  background: #fff;
  border: solid;
  border-width: 1px;
  border-color: var(--gris-bordes);
  -webkit-box-shadow: var(--card-shadow);
          box-shadow: var(--card-shadow);
  border-radius: 2rem;
  padding: 1.5rem;
  padding-bottom: 4rem;
}
@media only screen and (min-width: 960px) {
  .fichas_precios .ficha {
    padding: 2rem;
    padding-bottom: 6rem;
  }
}
.fichas_precios .ficha .texto {
  width: 100%;
  padding: 0;
}
.fichas_precios .ficha .texto h3 {
  font-family: "Montserrat Semibold";
  font-size: 1.5rem;
  margin: 0 auto 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
}
@media only screen and (min-width: 960px) {
  .fichas_precios .ficha .texto h3 {
    font-size: 1.5rem;
  }
}
.fichas_precios .ficha .texto h3 strong {
  font-family: "Montserrat Semibold";
  font-size: 3rem;
  line-height: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: initial;
      -ms-flex-align: initial;
          align-items: initial;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: var(--c-primary-light);
  border: none;
  margin: 1rem auto 0;
  padding: 0.5rem 1rem;
  border-radius: 2rem;
}
.fichas_precios .ficha .texto h3 strong span {
  font-size: 1.5rem;
  line-height: 0.75;
  margin: 0.5rem 0 0 0.25rem;
}
.fichas_precios .ficha .texto ul li + li {
  margin-top: 1rem;
}
.fichas_precios .ficha .texto ul li strong {
  display: block;
  font-size: 0.8rem;
  text-transform: uppercase;
  opacity: 0.6;
  font-family: "Montserrat";
  color: var(--title-color);
  line-height: 1;
}
.fichas_precios .ficha .texto ul li {
  position: relative;
  padding-left: 2rem;
}
.fichas_precios .ficha .texto ul li:before {
  content: "\e804";
  font-family: "infotelecom";
  position: absolute;
  top: 0;
  left: 0;
  color: var(--c-primary);
  font-size: 1.5rem;
  line-height: 1;
}
.fichas_precios .ficha .texto p {
  display: block;
  position: relative;
  padding-top: 0.75rem;
  margin-top: 0.75rem;
  border-top: 1px solid var(--gris-bordes);
  line-height: 1.3;
}
.fichas_precios .ficha .texto a.enlace {
  font-family: "Montserrat";
  font-size: 1.25rem;
  position: absolute;
  bottom: 1px;
  left: 1px;
  margin: 0;
  width: auto;
  height: auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.3;
  padding: 0.75rem 2rem;
  background: var(--c-primary);
  color: #fff;
  border-radius: 0 2rem;
}
.fichas_precios .ficha .texto a.enlace:hover {
  text-decoration: none;
  background: var(--c-primary);
  color: #fff;
}

@media only screen and (min-width: 960px) {
  .fichas_precios + .bloque.textos {
    padding-top: 3rem;
  }
}
/*MAPA*/
.mapa, .mapa_grande {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.mapa iframe, .mapa_grande iframe, .mapa img, .mapa_grande img {
  background: #fff;
  padding: 0.5rem !important;
  border: 1px solid var(--gris-bordes) !important;
  height: 20rem;
  width: 100%;
}
.mapa img, .mapa_grande img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media only screen and (min-width: 960px) {
  .mapa img, .mapa_grande img {
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
}
.mapa_grande {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
}
@media only screen and (min-width: 1240px) {
  .mapa, .mapa_grande {
    max-width: 1200px;
    margin: auto;
  }
  .mapa iframe, .mapa_grande iframe {
    height: 20rem;
  }
}

/*SITEMAP*/
.sitemap dt {
  background-image: none;
  background-position: left top;
  background-repeat: no-repeat;
  background-size: initial;
  padding: 0;
  padding-left: 0;
  min-height: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  margin-left: -0;
  width: 1;
}
@media only screen and (min-width: 600px) {
  .sitemap dt {
    margin-left: 0;
  }
}
.sitemap dt a {
  display: inline-block;
  font-family: "Montserrat Semibold";
  font-size: inherit;
  color: var(--c-primary);
  font-style: normal;
  text-transform: none;
  text-decoration: none;
}
.sitemap dt a:hover {
  text-decoration: none;
  color: var(--c-primary) !important;
}
.sitemap dt + dt {
  margin-top: 1.5rem;
}
.sitemap dd {
  padding: 0;
  margin: 0 0 1.5rem;
  font-family: "Montserrat";
  line-height: 1.4;
}
.sitemap dd strong {
  font-family: "Montserrat Semibold";
}
@media only screen and (min-width: 600px) {
  .sitemap dd {
    margin-left: 0;
  }
}
@media only screen and (min-width: 1240px) {
  .sitemap {
    width: 100%;
    padding: 4rem calc((100% - 45rem) / 2) !important;
  }
}

/*SITEMAP SECCION*/
.sitemap_seccion {
  padding: 0;
  position: sticky;
  top: 4rem;
  z-index: 2;
  background: transparent;
  border: solid;
  border-color: var(--gris-bordes);
  border-width: 1px 0;
}

.sitemap_seccion ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  padding: 0.25rem;
  gap: 0.25rem;
}
@media only screen and (min-width: 600px) {
  .sitemap_seccion ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.sitemap_seccion li {
  display: inline-block;
  margin: 0;
  padding: 0;
  background-image: none !important;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.sitemap_seccion li + li {
  margin: 0;
}

.sitemap_seccion li a {
  display: block;
  position: relative;
  cursor: pointer;
  margin: 0;
  text-align: center;
  padding: 0.5rem;
  text-transform: uppercase;
  font-size: 0.75rem;
  background: transparent;
  font-family: "Montserrat";
  color: var(--text-color);
  white-space: nowrap;
  border: 1px solid var(--gris-bordes);
  border-radius: 0.5rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.sitemap_seccion li a:hover {
  background: var(--c-primary);
  color: #fff;
  text-decoration: none;
  border-color: var(--c-primary);
}

.sitemap_seccion li a.activo:hover,
.sitemap_seccion li a.activo {
  background: var(--c-primary-40);
  color: #fff;
  text-decoration: none;
  border-color: #fff;
}

@media only screen and (max-width: 599px) {
  .sitemap_seccion.no_movil li {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    overflow-x: scroll;
  }
  .sitemap_seccion.no_movil li a {
    padding: 0.5rem 1rem;
  }
}
@media only screen and (min-width: 600px) {
  .sitemap_seccion {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .sitemap_seccion li a {
    padding: 0.5rem;
  }
}
@media only screen and (min-width: 1240px) {
  .sitemap_seccion {
    margin: 0 auto;
    padding: 0 calc((100% - 1200px) / 2) !important;
  }
  .sitemap_seccion li a {
    font-size: 0.8rem;
  }
}
@media only screen and (min-width: 1440px) {
  .sitemap_seccion {
    padding: 0 calc((100% - 1356px) / 2) !important;
  }
}
@media only screen and (min-width: 1600px) {
  .sitemap_seccion li a {
    padding: 0.5rem 1rem;
  }
}
.buscador_sitemap {
  position: relative;
}
.buscador_sitemap + dl {
  margin-top: 2rem;
}
.buscador_sitemap form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.buscador_sitemap form label {
  white-space: nowrap;
  margin-right: 1.5rem;
}
.buscador_sitemap form input {
  border: solid;
  border-width: 1px;
  border-color: var(--form-borde-input-color);
  margin: 0;
  color: var(--form-color-input);
  background: var(--form-fondo-input);
  font-size: inherit;
}
.buscador_sitemap form input:focus {
  border-color: rgb(0, 116, 189);
}
.buscador_sitemap a {
  position: absolute;
  right: 0;
  width: 2.5rem;
  height: 2rem;
  line-height: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-left: 1px solid var(--form-borde-input-color);
  color: var(--title-color);
}
.buscador_sitemap a span {
  display: none;
}
.buscador_sitemap a span.icon {
  display: block;
}
@media only screen and (min-width: 600px) {
  .buscador_sitemap a {
    width: auto;
    padding: 0 0.5rem;
  }
  .buscador_sitemap a span {
    display: inline-block;
    margin-left: 0.25rem;
  }
}
@media only screen and (min-width: 1240px) {
  .buscador_sitemap a:hover {
    color: var(--c-primary);
    text-decoration: none;
  }
}

.busqueda {
  margin: 1.5rem 0;
  border-bottom: 1px solid;
  padding-bottom: 1.5rem;
  font-family: "Montserrat Semibold";
}
.busqueda span {
  font-family: "Montserrat";
}

.centrar_video {
  width: 100%;
  margin: 0 auto 3rem;
}
@media only screen and (min-width: 1240px) {
  .centrar_video {
    max-width: 1200px;
    margin-bottom: 4rem;
  }
}
@media only screen and (min-width: 1440px) {
  .centrar_video {
    max-width: 1356px;
  }
}
.centrar_video.actividad {
  margin: 0 auto;
  padding: 1rem 0;
  background: var(--c-black);
}
@media only screen and (min-width: 1240px) {
  .centrar_video.actividad {
    max-width: 100%;
    padding: 1rem calc((100% - 1200px) / 2);
  }
}

.video {
  position: relative;
  aspect-ratio: 1.7777777778;
  overflow: hidden;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  clear: both;
}
.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

p.video {
  width: 100%;
}

.contenedor_video {
  margin-bottom: 3rem;
  background: var(--c-black);
}
@media only screen and (min-width: 1240px) {
  .contenedor_video {
    margin-bottom: 4rem;
    background: transparent;
  }
}
.contenedor_video .centrar_video {
  position: relative;
  height: auto;
  aspect-ratio: 1.7777777778;
  overflow: hidden;
  margin: 0 auto;
}
.contenedor_video .enlace, .contenedor_video .foto_video, .contenedor_video iframe {
  position: absolute;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
}
.contenedor_video .enlace {
  z-index: 3;
}
.contenedor_video iframe {
  z-index: 1;
  background-color: var(--c-black);
}
.contenedor_video .enlace, .contenedor_video .foto_video {
  display: block;
  opacity: 1;
  -webkit-transition: 1s all;
  transition: 1s all;
}
.contenedor_video .enlace.abierto, .contenedor_video .foto_video.abierto {
  display: none;
  opacity: 0;
  pointer-events: none;
}
.contenedor_video .enlace a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}
.contenedor_video .enlace a:hover {
  background: rgba(0, 0, 0, 0.25);
}
.contenedor_video .enlace a span {
  display: none;
}
.contenedor_video .enlace a span.icon {
  display: block;
  position: relative;
  font-size: 4rem;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .contenedor_video .enlace a span.icon {
    font-size: 5rem;
  }
}
.contenedor_video {
  /*
  & .enlace a img{
      position: relative;
      width: $video-icono-width; //8rem;
      height: $video-icono-width; //8rem;
      min-height: $video-icono-width; //8rem; // sobreescribe
      @media only screen and (min-width: 768px) {
          width: $video-icono-width-xl; //12rem;
          height: $video-icono-width-xl; //12rem;
          min-height: $video-icono-width-xl; //12rem; // sobreescribe
      }
  }
  */
}
.contenedor_video .foto_video img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.breadcrumb {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.breadcrumb.hero {
  position: absolute;
  z-index: 20;
  width: 100vw;
}
.breadcrumb {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.breadcrumb ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.breadcrumb ol li {
  margin-right: 0.5rem;
}
.breadcrumb ol li a {
  position: relative;
  padding-right: 0.75rem;
}
.breadcrumb ol li a:after {
  position: absolute;
  font-family: "infotelecom";
  content: "\e81d";
  top: 25%;
  font-size: 0.5rem;
  color: inherit;
  margin: 0 -0.5rem 0 0.5rem;
}
.breadcrumb ol li a:hover {
  opacity: 1;
}
.breadcrumb ol li a:hover:after {
  text-decoration: none;
}
.breadcrumb ol li:last-child {
  margin-right: 0;
}
.breadcrumb ol li:last-child a {
  padding-right: 0;
}
.breadcrumb ol li:last-child a:after {
  content: none;
}

.breadcrumb {
  font-family: "Montserrat";
  font-size: 1rem;
  color: var(--text-color);
  background: #f7f7f7;
  text-transform: none;
  border: solid;
  border-width: 0;
  border-color: #c2c1c1;
}
.breadcrumb ol li a {
  color: var(--text-color);
}
.breadcrumb ol li:last-child a {
  font-family: "Montserrat Semibold";
  color: var(--title-color);
  opacity: 0.8;
}

.breadcrumb.hero {
  color: #fff;
  background: transparent;
  border: none;
  top: calc(75vh - 3.5rem);
}
@media only screen and (min-width: 1240px) {
  .breadcrumb.hero {
    top: calc(30rem - 4rem);
  }
}
@media only screen and (min-width: 1440px) {
  .breadcrumb.hero {
    top: calc(30rem - 4rem);
  }
}
@media only screen and (min-width: 1600px) {
  .breadcrumb.hero {
    top: calc(40rem - 4rem);
  }
}
.breadcrumb.hero ol li a {
  color: #fff;
  opacity: 0.7;
}
.breadcrumb.hero ol li a:after {
  opacity: 0.5;
}
.breadcrumb.hero ol li:last-child a {
  color: #fff;
  opacity: 0.9;
}

#contenido.con-breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#contenido.con-breadcrumb .breadcrumb {
  width: 100vw;
  -webkit-box-ordinal-group: 101;
      -ms-flex-order: 100;
          order: 100;
}

@media only screen and (min-width: 960px) {
  #contenido.cabecera .breadcrumb {
    width: 100vw;
    -webkit-box-ordinal-group: -99;
        -ms-flex-order: -100;
            order: -100;
    position: absolute;
    background: transparent;
    padding-left: calc(50% + 3rem);
  }
  #contenido.cabecera .breadcrumb ol li a {
    font-size: 0.9rem;
  }
  #contenido.cabecera .breadcrumb ol li a:hover:after {
    text-decoration: none !important;
  }
  #contenido.cabecera .breadcrumb ol li:last-child a {
    opacity: 1;
  }
}

@media only screen and (min-width: 1240px) {
  .bloque.textos {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.texto_imagen img {
  border-radius: 2rem;
}

.bloque.textos ul li::marker {
  color: var(--c-primary);
  font-size: 1.35rem;
}

.texto_columna p a:not(.boton):not(.boton-medio):not(.boton-grande):not(.boton-borde) {
  display: inline-block;
  position: relative;
}
.texto_columna p a:not(.boton):not(.boton-medio):not(.boton-grande):not(.boton-borde):after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  left: 0;
  bottom: 0.125rem;
  background: var(--c-primary-light);
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
  transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms, -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
}
.texto_columna p a:not(.boton):not(.boton-medio):not(.boton-grande):not(.boton-borde):hover {
  text-decoration: none;
  color: var(--c-primary);
}
.texto_columna p a:not(.boton):not(.boton-medio):not(.boton-grande):not(.boton-borde):hover:after {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1);
          transform: scale(1);
  background: var(--c-primary);
}

@media only screen and (max-width: 1239px) {
  .fecha_noticia_superior .fecha_noticia {
    margin-right: auto !important;
  }
  .fecha_noticia_superior .autor {
    -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
            order: -1 !important;
    margin: 0 0.5rem 0 0 !important;
  }
  .fecha_noticia_superior .autor span {
    display: none;
  }
}
#contenido {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
#contenido .breadcrumb {
  -webkit-box-ordinal-group: 101;
      -ms-flex-order: 100;
          order: 100;
}
#contenido .banner {
  -webkit-box-ordinal-group: 102;
      -ms-flex-order: 101;
          order: 101;
}

@media only screen and (min-width: 960px) {
  #footer .redes p.siguenos {
    display: none;
  }
  #footer.compacto .bloque.simple {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (min-width: 1240px) {
  #footer.compacto .redes a span.icon {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 0.9rem;
    border-width: 1px;
    border-color: rgba(255, 255, 255, 0.5);
  }
}
@media only screen and (min-width: 1440px) {
  #footer.compacto .bloque.simple address ul li:first-of-type {
    width: auto;
  }
}
.banner .enlace-reservas p {
  max-width: 45rem;
}

body.noscroll #header #logo {
  z-index: 100001;
}

.cabecera_video .inline_video {
  position: absolute;
  inset: 0;
}

.cabecera_video .inline_video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.portada_video {
  background: #f7f7f7;
}

.portada_video .texto_columna {
  padding-bottom: 2rem;
}
.portada_video .texto_columna h1 strong {
  display: block;
  font-size: 1.25rem;
  color: var(--c-primary);
  text-transform: uppercase;
  padding-bottom: 0.5rem;
}

.portada_video .texto_imagen {
  aspect-ratio: 3/2;
}

@media only screen and (min-width: 960px) {
  .portada_video .texto_imagen {
    margin: 0;
  }
  .portada_video + .bloque.textos {
    padding-top: 2rem !important;
  }
}
@media only screen and (min-width: 1440px) {
  .portada_video {
    padding: 4rem calc((100% - 1356px) / 2);
  }
}
.texto_imagen .inline_video {
  inset: 0;
  height: 100%;
}

.texto_imagen .inline_video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media only screen and (max-width: 1239px) {
  .ultimas_noticias_relacionadas .noticias {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 1rem;
    overflow-x: scroll;
  }
  .ultimas_noticias_relacionadas .noticias .noticia {
    overflow: initial;
    margin-bottom: 1rem;
  }
  .ultimas_noticias_relacionadas .noticias .noticia .imagen {
    width: 75vw;
    max-width: 24rem;
  }
}
#ancla {
  scroll-margin-top: 4rem;
}
@media only screen and (min-width: 960px) {
  #ancla {
    scroll-margin-top: calc(4.5rem + 2rem);
  }
}
@media only screen and (min-width: 1240px) {
  #ancla {
    scroll-margin-top: calc(7rem + 2rem);
  }
}

.foto_flotada_izquierda_portada ul,
.foto_flotada_derecha_portada ul {
  margin-left: 0;
}
.foto_flotada_izquierda_portada ul li,
.foto_flotada_derecha_portada ul li {
  list-style-type: none;
  position: relative;
  padding-left: 1.5rem;
}
.foto_flotada_izquierda_portada ul li:before,
.foto_flotada_derecha_portada ul li:before {
  font-family: "infotelecom";
  content: "\e803";
  color: var(--c-primary);
  position: absolute;
  left: 0;
}

.foto_flotada_izquierda_portada {
  background: var(--bg-dark-theme);
}
.foto_flotada_izquierda_portada .texto_columna, .foto_flotada_izquierda_portada .texto_columna h2 {
  color: var(--text-color-dt);
}
.foto_flotada_izquierda_portada .texto_columna .boton, .foto_flotada_izquierda_portada .texto_columna .boton-medio, .foto_flotada_izquierda_portada .texto_columna .boton-grande, .foto_flotada_izquierda_portada .texto_columna .boton-borde {
  color: var(--title-color);
  background: #fff;
  outline-color: var(--text-color-dt);
}
.foto_flotada_izquierda_portada .texto_columna .boton:hover, .foto_flotada_izquierda_portada .texto_columna .boton-medio:hover, .foto_flotada_izquierda_portada .texto_columna .boton-grande:hover, .foto_flotada_izquierda_portada .texto_columna .boton-borde:hover {
  color: #fff;
  background: var(--c-primary-accent);
  outline-color: var(--c-primary-accent);
}
.foto_flotada_izquierda_portada .texto_columna .boton-borde {
  color: var(--text-color-dt);
  outline-color: var(--text-color-dt);
  background: transparent;
}
.foto_flotada_izquierda_portada ul li:before {
  color: var(--text-color-dt);
}

#nav li a.boton, #nav li a.boton-medio, #nav li a.boton-grande, #nav li a.boton-borde {
  color: #fff;
  background: var(--c-primary);
}
#nav li a.boton:hover, #nav li a.boton-medio:hover, #nav li a.boton-grande:hover, #nav li a.boton-borde:hover {
  color: #fff;
  background: var(--c-primary-accent);
}

.servicios .bloque.textos + .bloque.textos {
  border-top: 2px solid var(--c-primary);
  padding-top: 2rem;
}
@media only screen and (min-width: 960px) {
  .servicios .bloque.textos + .bloque.textos {
    padding-top: 3rem;
  }
}
@media only screen and (min-width: 1240px) {
  .servicios .bloque.textos + .bloque.textos {
    padding-top: 4rem;
  }
}

.servicios .textos p {
  margin-bottom: 1rem;
}

.servicios .textos ul {
  margin: 1rem 0 1rem 1rem;
}
.servicios .textos ul li {
  margin: 0;
}

.servicios .textos h2 strong {
  color: var(--c-primary);
}

.servicios .textos .texto_imagen {
  aspect-ratio: 3/2;
  margin: -2rem -1.5rem 2rem;
  width: calc(100% + 3rem);
}
@media only screen and (min-width: 600px) {
  .servicios .textos .texto_imagen {
    margin: -2rem -2rem 2rem;
    width: calc(100% + 4rem);
  }
}
.servicios .textos .texto_imagen img {
  border-radius: 0 0 2rem 2rem;
}

@media only screen and (min-width: 960px) {
  .servicios .textos .texto_imagen {
    width: 40%;
    aspect-ratio: 1/1;
    margin: 0;
  }
  .servicios .textos .texto_imagen img {
    border-radius: 2rem;
  }
  .servicios .textos .texto_columna {
    width: 60%;
  }
  .servicios .textos .texto_columna.sin-foto {
    width: 100%;
  }
  .servicios h2 {
    font-size: 1.563rem;
  }
}
@media only screen and (min-width: 960px) and (min-width: 1240px) {
  .servicios h2 {
    font-size: 1.953rem;
  }
}
.servicios .textos .ok ul {
  margin-left: 0;
}
@media only screen and (min-width: 960px) {
  .servicios .textos .ok ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.5rem;
  }
}
.servicios .textos .ok ul li {
  margin: 0;
  list-style-type: none;
  position: relative;
  padding-left: 1.5rem;
  white-space: nowrap;
}
.servicios .textos .ok ul li:before {
  font-family: "infotelecom";
  content: "\e803";
  color: var(--c-primary);
  position: absolute;
  left: 0;
}

.servicios.dark_theme .textos .ok ul li:before {
  color: inherit;
}

#footer address ul {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.25rem 1rem;
}
@media only screen and (min-width: 960px) {
  #footer address ul {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media only screen and (min-width: 1240px) {
  #footer address ul li:first-of-type, #footer address ul li:last-of-type {
    width: 100%;
  }
}

.boton.blanco, .blanco.boton-medio, .blanco.boton-grande, .blanco.boton-borde {
  background: #fff;
  color: var(--title-color);
  outline-color: transparent;
}
.boton.blanco:hover, .blanco.boton-medio:hover, .blanco.boton-grande:hover, .blanco.boton-borde:hover {
  background: var(--c-primary);
  color: #fff;
}

.seccion.contacto {
  background: transparent;
  border: solid;
  border-width: 0;
  border-color: var(--gris-bordes);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  padding: 0;
}
.seccion.contacto .bloque.textos {
  text-align: center;
}
.seccion.contacto .bloque.textos img {
  width: 10rem;
  margin-bottom: 1rem;
  margin-top: 1.5rem;
}
@media only screen and (min-width: 960px) {
  .seccion.contacto .bloque.textos img {
    margin-top: 0;
    width: 10rem;
  }
}
.seccion.contacto .bloque.textos address strong {
  display: inline-block;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.seccion.contacto .bloque.textos address strong span {
  display: block;
  font-size: 0.8rem;
}
.seccion.contacto .bloque.textos .boton, .seccion.contacto .bloque.textos .boton-medio, .seccion.contacto .bloque.textos .boton-grande, .seccion.contacto .bloque.textos .boton-borde {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem !important;
}
@media only screen and (min-width: 960px) {
  .seccion.contacto .bloque.textos {
    width: 40%;
    border-width: 0;
    -ms-flex-item-align: stretch;
        align-self: stretch;
  }
}
.seccion.contacto .horarios {
  margin: 1.5rem 0;
  padding-top: 1.5rem;
  border: 1px dashed var(--gris-oscuro);
  border-width: 1px 0 0;
}
.seccion.contacto p {
  text-align: center;
}
.seccion.contacto ul {
  margin: 0;
  text-align: center;
}
.seccion.contacto ul li {
  list-style-type: none;
  margin: 0;
}
.seccion.contacto ul li h4 {
  font-family: "Montserrat Semibold";
  font-size: 1.25rem;
  margin-bottom: 0.5rem !important;
}
.seccion.contacto ul li h4 i, .seccion.contacto ul li h4 .icon {
  font-size: 1rem;
  margin-right: 0.5rem;
}
.seccion.contacto ul li a.mail:before {
  color: inherit;
}
.seccion.contacto .formulario {
  background: #fff;
  border: solid;
  border-width: 1px 0 0;
  border-color: var(--gris-bordes);
}
@media only screen and (min-width: 600px) and (max-width: 959px) {
  .seccion.contacto .formulario {
    padding: 3rem calc((100% - 25rem) / 2);
  }
}
.seccion.contacto .formulario .titulo_campo {
  padding-left: 0.25rem;
}
.seccion.contacto .formulario .titulo_campo label {
  white-space: nowrap;
}
.seccion.contacto .formulario .obligatorio {
  position: absolute;
  left: -0.5rem;
}
.seccion.contacto .formulario .campo_alt .obligatorio {
  position: relative;
  left: 0.125rem;
}
.seccion.contacto .formulario.placeholder {
  background: #fff;
}
.seccion.contacto .mapa_grande {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
@media only screen and (min-width: 768px) {
  .seccion.contacto .formulario .obliga,
  .seccion.contacto .formulario .titulo_grupo_campos,
  .seccion.contacto .formulario .campo_alt {
    padding-left: 0;
  }
  .seccion.contacto .formulario .grupo_campos .campo .titulo_campo {
    width: 100%;
    text-align: left;
  }
  .seccion.contacto .formulario .grupo_campos .campo .campo_campo {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .seccion.contacto .formulario .grupo_campos .campo .campo_campo label {
    text-align: left;
    width: 100%;
    padding: 0;
  }
  .seccion.contacto .formulario .grupo_campos .campo .campo_campo input, .seccion.contacto .formulario .grupo_campos .campo .campo_campo textarea, .seccion.contacto .formulario .grupo_campos .campo .campo_campo select {
    width: 100%;
  }
  .seccion.contacto .formulario.placeholder .obliga {
    padding: 0 calc((100% - 32rem) / 2);
  }
  .seccion.contacto .formulario.placeholder .grupo_campos .campo .campo_campo label {
    width: auto;
    padding: 0.25rem 0.5rem;
  }
  .seccion.contacto .formulario.placeholder .obligatorio {
    left: 0;
  }
  .seccion.contacto .formulario .boton, .seccion.contacto .formulario .boton-medio, .seccion.contacto .formulario .boton-grande, .seccion.contacto .formulario .boton-borde {
    margin: 1rem 0;
    width: 100%;
  }
  .seccion.contacto .formulario.placeholder .boton, .seccion.contacto .formulario.placeholder .boton-medio, .seccion.contacto .formulario.placeholder .boton-grande, .seccion.contacto .formulario.placeholder .boton-borde {
    width: 100%;
    max-width: 32rem;
    margin: 1rem auto 1.5rem;
  }
  .seccion.contacto .formulario span.info_datos {
    max-width: 100%;
    margin: 0 auto;
  }
  .seccion.contacto .formulario .error {
    width: 100%;
    padding-left: 1.25rem;
    margin-left: 0;
    margin-top: 0.25rem;
    font-size: 1rem;
    line-height: 1.2;
  }
  .seccion.contacto .formulario .error:before {
    left: 0;
  }
}
@media only screen and (min-width: 960px) {
  .seccion.contacto {
    background-image: #fff;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 3rem;
    position: relative;
  }
  .seccion.contacto:before {
    position: absolute;
    content: "";
    display: block;
    left: 50%;
    height: 100%;
    width: 1px;
    background: var(--gris-bordes);
  }
  .seccion.contacto .bloque.textos,
  .seccion.contacto .formulario {
    width: 100%;
  }
  .seccion.contacto .bloque.textos {
    grid-column: 1;
  }
  .seccion.contacto .formulario {
    grid-row: span 3;
    grid-column: 2;
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    border-width: 0;
  }
  .seccion.contacto .formulario .titulo_bloque, .seccion.contacto .formulario .titulo_bloque p {
    text-align: left;
  }
  .seccion.contacto .mapa_grande {
    grid-column: span 2;
    max-width: 100%;
    margin-bottom: 3rem;
    position: relative;
  }
}
@media only screen and (min-width: 1240px) {
  .seccion.contacto {
    gap: 0 4rem;
    padding: 0 calc((100% - 1200px) / 2);
  }
  .seccion.contacto .textos {
    padding: 4rem 0;
  }
  .seccion.contacto .formulario {
    padding: 4rem 0;
  }
  .seccion.contacto .formulario .grupo_campos .campo .campo_campo,
  .seccion.contacto .formulario .boton,
  .seccion.contacto .formulario .boton-medio,
  .seccion.contacto .formulario .boton-grande,
  .seccion.contacto .formulario .boton-borde {
    width: 32rem;
  }
  .seccion.contacto .formulario.placeholder .grupo_campos .campo .campo_campo,
  .seccion.contacto .formulario.placeholder .boton,
  .seccion.contacto .formulario.placeholder .boton-medio,
  .seccion.contacto .formulario.placeholder .boton-grande,
  .seccion.contacto .formulario.placeholder .boton-borde {
    width: 100%;
  }
}
@media only screen and (min-width: 1600px) {
  .seccion.contacto {
    padding: 0 calc((100% - 1356px) / 2);
  }
}

.bloque.mapa_grande .cierre {
  padding: 1rem 1rem 2rem;
  text-align: center;
}

.formulario.placeholder .obliga {
  display: none;
}

.contactos .direccion {
  display: block;
  margin: auto;
}
.contactos .direccion + br {
  display: none;
}

.seccion.contacto.dark_theme {
  background: var(--c-primary-40);
  border-color: rgba(255, 255, 255, 0.5);
}
@media only screen and (min-width: 960px) {
  .seccion.contacto.dark_theme {
    background: -webkit-gradient(linear, left top, right top, from(var(--c-primary-40)), color-stop(50%, var(--c-primary-40)), color-stop(50%, var(--c-primary)), to(var(--c-primary)));
    background: linear-gradient(to right, var(--c-primary-40) 0%, var(--c-primary-40) 50%, var(--c-primary) 50%, var(--c-primary) 100%);
  }
  .seccion.contacto.dark_theme:before {
    background: rgba(255, 255, 255, 0.5);
  }
}
.seccion.contacto.dark_theme .formulario {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.5);
}

@font-face {
  font-family: "infotelecom";
  src: url("/static/fonts/infotelecom.woff2?98110325") format("woff2"), url("/static/fonts/infotelecom.woff?98110325") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'infotelecom';
    src: url('../font/infotelecom.svg?98110325#infotelecom') format('svg');
  }
}
*/
[class^=icon-]:before, [class*=" icon-"]:before {
  font-family: "infotelecom";
  font-style: normal;
  font-weight: normal;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap 
  line-height: 1em; */
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed 
  margin-left: .2em; */
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}

.icon-th-large:before {
  content: "\e800";
} /* '' */
.icon-video:before {
  content: "\e801";
} /* '' */
.icon-th-list:before {
  content: "\e802";
} /* '' */
.icon-ok:before {
  content: "\e803";
} /* '' */
.icon-ok-circled:before {
  content: "\e804";
} /* '' */
.icon-ok-circled2:before {
  content: "\e805";
} /* '' */
.icon-cancel:before {
  content: "\e806";
} /* '' */
.icon-cancel-circled:before {
  content: "\e807";
} /* '' */
.icon-cancel-circled2:before {
  content: "\e808";
} /* '' */
.icon-plus-circled:before {
  content: "\e809";
} /* '' */
.icon-eye:before {
  content: "\e80a";
} /* '' */
.icon-eye-off:before {
  content: "\e80b";
} /* '' */
.icon-heart:before {
  content: "\e80c";
} /* '' */
.icon-heart-empty:before {
  content: "\e80d";
} /* '' */
.icon-star:before {
  content: "\e80e";
} /* '' */
.icon-star-empty:before {
  content: "\e80f";
} /* '' */
.icon-star-half:before {
  content: "\e810";
} /* '' */
.icon-user:before {
  content: "\e811";
} /* '' */
.icon-users:before {
  content: "\e812";
} /* '' */
.icon-thumbs-up:before {
  content: "\e813";
} /* '' */
.icon-thumbs-down:before {
  content: "\e814";
} /* '' */
.icon-location:before {
  content: "\e815";
} /* '' */
.icon-attention:before {
  content: "\e816";
} /* '' */
.icon-attention-circled:before {
  content: "\e817";
} /* '' */
.icon-comment:before {
  content: "\e818";
} /* '' */
.icon-chat:before {
  content: "\e819";
} /* '' */
.icon-calendar:before {
  content: "\e81a";
} /* '' */
.icon-down-open:before {
  content: "\e81b";
} /* '' */
.icon-left-open:before {
  content: "\e81c";
} /* '' */
.icon-right-open:before {
  content: "\e81d";
} /* '' */
.icon-up-open:before {
  content: "\e81e";
} /* '' */
.icon-zoom-in:before {
  content: "\e81f";
} /* '' */
.icon-phone:before {
  content: "\e820";
} /* '' */
.icon-trash-empty:before {
  content: "\e821";
} /* '' */
.icon-cog:before {
  content: "\e822";
} /* '' */
.icon-off:before {
  content: "\e823";
} /* '' */
.icon-mail:before {
  content: "\e824";
} /* '' */
.icon-search:before {
  content: "\e825";
} /* '' */
.icon-blogger:before {
  content: "\e826";
} /* '' */
.icon-export:before {
  content: "\e827";
} /* '' */
.icon-check:before {
  content: "\e828";
} /* '' */
.icon-lupa:before {
  content: "\e829";
} /* '' */
.icon-compartir:before {
  content: "\e82c";
} /* '' */
.icon-categoria:before {
  content: "\e82d";
} /* '' */
.icon-discord:before {
  content: "\e860";
} /* '' */
.icon-tiktok:before {
  content: "\e861";
} /* '' */
.icon-enlace:before {
  content: "\e863";
} /* '' */
.icon-otros:before {
  content: "\e864";
} /* '' */
.icon-web:before {
  content: "\e865";
} /* '' */
.icon-filtros:before {
  content: "\e868";
} /* '' */
.icon-usuario:before {
  content: "\e869";
} /* '' */
.icon-mapa:before {
  content: "\e86b";
} /* '' */
.icon-camara:before {
  content: "\e86c";
} /* '' */
.icon-cerrar:before {
  content: "\e86d";
} /* '' */
.icon-impresora:before {
  content: "\e86e";
} /* '' */
.icon-usuario-2:before {
  content: "\e871";
} /* '' */
.icon-logout:before {
  content: "\e874";
} /* '' */
.icon-boligrafo:before {
  content: "\e87b";
} /* '' */
.icon-editar:before {
  content: "\e87c";
} /* '' */
.icon-guardar:before {
  content: "\e87d";
} /* '' */
.icon-descripcion:before {
  content: "\e87e";
} /* '' */
.icon-contratar:before {
  content: "\e87f";
} /* '' */
.icon-descuento:before {
  content: "\e880";
} /* '' */
.icon-precio:before {
  content: "\e881";
} /* '' */
.icon-horario:before {
  content: "\e882";
} /* '' */
.icon-informacion:before {
  content: "\e883";
} /* '' */
.icon-ordenar:before {
  content: "\e884";
} /* '' */
.icon-orden-ascendente:before {
  content: "\e885";
} /* '' */
.icon-altavoz:before {
  content: "\e886";
} /* '' */
.icon-youtube:before {
  content: "\e88b";
} /* '' */
.icon-bluesky:before {
  content: "\e88c";
} /* '' */
.icon-flecha:before {
  content: "\e890";
} /* '' */
.icon-flecha-volver:before {
  content: "\e891";
} /* '' */
.icon-accesible:before {
  content: "\e892";
} /* '' */
.icon-move:before {
  content: "\f047";
} /* '' */
.icon-check-empty:before {
  content: "\f096";
} /* '' */
.icon-twitter:before {
  content: "\f099";
  font-size: 1.1em;
} /* '' */
.icon-facebook:before {
  content: "\f09a";
} /* '' */
.icon-rss:before {
  content: "\f09e";
} /* '' */
.icon-certificate:before {
  content: "\f0a3";
} /* '' */
.icon-menu:before {
  content: "\f0c9";
} /* '' */
.icon-mail-alt:before {
  content: "\f0e0";
} /* '' */
.icon-linkedin:before {
  content: "\f0e1";
} /* '' */
.icon-comment-empty:before {
  content: "\f0e5";
} /* '' */
.icon-chat-empty:before {
  content: "\f0e6";
} /* '' */
.icon-sitemap:before {
  content: "\f0e8";
} /* '' */
.icon-doc-text:before {
  content: "\f0f6";
} /* '' */
.icon-plus-squared:before {
  content: "\f0fe";
} /* '' */
.icon-angle-double-left:before {
  content: "\f100";
} /* '' */
.icon-angle-double-right:before {
  content: "\f101";
} /* '' */
.icon-angle-double-up:before {
  content: "\f102";
} /* '' */
.icon-angle-double-down:before {
  content: "\f103";
} /* '' */
.icon-mobile:before {
  content: "\f10b";
} /* '' */
.icon-circle-empty:before {
  content: "\f10c";
} /* '' */
.icon-quote-left:before {
  content: "\f10d";
} /* '' */
.icon-quote-right:before {
  content: "\f10e";
} /* '' */
.icon-code:before {
  content: "\f121";
} /* '' */
.icon-star-half-alt:before {
  content: "\f123";
} /* '' */
.icon-calendar-empty:before {
  content: "\f133";
} /* '' */
.icon-angle-circled-left:before {
  content: "\f137";
} /* '' */
.icon-angle-circled-right:before {
  content: "\f138";
} /* '' */
.icon-angle-circled-up:before {
  content: "\f139";
} /* '' */
.icon-angle-circled-down:before {
  content: "\f13a";
} /* '' */
.icon-rss-squared:before {
  content: "\f143";
} /* '' */
.icon-ok-squared:before {
  content: "\f14a";
} /* '' */
.icon-doc-text-inv:before {
  content: "\f15c";
} /* '' */
.icon-thumbs-up-alt:before {
  content: "\f164";
} /* '' */
.icon-thumbs-down-alt:before {
  content: "\f165";
} /* '' */
.icon-youtube-o:before {
  content: "\f167";
} /* '' */
.icon-instagram:before {
  content: "\f16d";
} /* '' */
.icon-tumblr:before {
  content: "\f173";
} /* '' */
.icon-plus-squared-alt:before {
  content: "\f196";
} /* '' */
.icon-wordpress:before {
  content: "\f19a";
} /* '' */
.icon-file-pdf:before {
  content: "\f1c1";
} /* '' */
.icon-file-word:before {
  content: "\f1c2";
} /* '' */
.icon-file-excel:before {
  content: "\f1c3";
} /* '' */
.icon-file-powerpoint:before {
  content: "\f1c4";
} /* '' */
.icon-file-image:before {
  content: "\f1c5";
} /* '' */
.icon-file-archive:before {
  content: "\f1c6";
} /* '' */
.icon-file-audio:before {
  content: "\f1c7";
} /* '' */
.icon-file-video:before {
  content: "\f1c8";
} /* '' */
.icon-file-code:before {
  content: "\f1c9";
} /* '' */
.icon-trash:before {
  content: "\f1f8";
} /* '' */
.icon-street-view:before {
  content: "\f21d";
} /* '' */
.icon-pinterest:before {
  content: "\f231";
} /* '' */
.icon-whatsapp:before {
  content: "\f232";
} /* '' */
.icon-user-plus:before {
  content: "\f234";
} /* '' */
.icon-user-times:before {
  content: "\f235";
} /* '' */
.icon-vimeo:before {
  content: "\f27d";
} /* '' */
.progressive {
  position: relative;
  display: block;
  overflow: hidden;
  outline: none;
}

.progressive img {
  display: block;
  width: 100%;
  max-width: none;
  height: inherit;
  border: 0 none;
}

.progressive img.preview {
  -webkit-filter: blur(2vw);
          filter: blur(2vw);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.progressive img.reveal {
  position: absolute;
  left: 0;
  top: 0;
  will-change: transform, opacity;
  -webkit-animation: progressiveReveal 1s ease-out;
          animation: progressiveReveal 1s ease-out;
}

@-webkit-keyframes progressiveReveal {
  0% {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@keyframes progressiveReveal {
  0% {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
/*! lightgallery - v1.2.14 - 2016-01-18

* http://sachinchoolur.github.io/lightGallery/

* Copyright (c) 2016 Sachin N; Licensed Apache 2.0 */
@font-face {
  font-family: "lg";
  src: url("/static/lightgallery/lg.eot?n1z373");
  src: url("/static/lightgallery/lg.eot?#iefixn1z373") format("embedded-opentype"), url("/static/lightgallery/lg.woff?n1z373") format("woff"), url("/static/lightgallery/lg.ttf?n1z373") format("truetype"), url("/static/lightgallery/lg.svg?n1z373#lg") format("svg");
  font-weight: normal;
  font-style: normal;
}
.lg-icon {
  font-family: "lg";
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.lg-actions .lg-next,
.lg-actions .lg-prev {
  background-color: rgba(0, 0, 0, 0.45);
  border-radius: 2px;
  color: #999;
  cursor: pointer;
  display: block;
  font-size: 22px;
  margin-top: -10px;
  padding: 8px 10px 9px;
  position: absolute;
  top: 50%;
  z-index: 1080;
}

.lg-actions .lg-next.disabled,
.lg-actions .lg-prev.disabled {
  pointer-events: none;
  opacity: 0.5;
}

.lg-actions .lg-next:hover,
.lg-actions .lg-prev:hover {
  color: #FFF;
}

.lg-actions .lg-next {
  right: 20px;
}

.lg-actions .lg-next:before {
  content: "\e095";
}

.lg-actions .lg-prev {
  left: 20px;
}

.lg-actions .lg-prev:after {
  content: "\e094";
}

@-webkit-keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}

@keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}
@-webkit-keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}
@keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}
.lg-outer.lg-right-end .lg-object {
  -webkit-animation: lg-right-end 0.3s;
          animation: lg-right-end 0.3s;
  position: relative;
}

.lg-outer.lg-left-end .lg-object {
  -webkit-animation: lg-left-end 0.3s;
          animation: lg-left-end 0.3s;
  position: relative;
}

.lg-toolbar {
  z-index: 1080;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.45);
}

.lg-toolbar .lg-icon {
  color: #999;
  cursor: pointer;
  float: right;
  font-size: 24px;
  height: 47px;
  line-height: 27px;
  padding: 10px 0;
  text-align: center;
  width: 50px;
  text-decoration: none !important;
  outline: medium none;
}

.lg-toolbar .lg-icon:hover {
  color: #FFF;
}

.lg-toolbar .lg-close:after {
  content: "\e070";
}

.lg-toolbar .lg-download:after {
  content: "\e0f2";
}

.lg-sub-html {
  background-color: rgba(0, 0, 0, 0.45);
  bottom: 0;
  color: #EEE;
  font-size: 16px;
  left: 0;
  padding: 10px 40px;
  position: fixed;
  right: 0;
  text-align: center;
  z-index: 1080;
}

.lg-sub-html h4 {
  margin: 0;
  font-size: 13px;
  font-weight: bold;
}

.lg-sub-html p {
  font-size: 12px;
  margin: 5px 0 0;
}

#lg-counter {
  color: #999;
  display: inline-block;
  font-size: 16px;
  padding-left: 20px;
  padding-top: 12px;
  vertical-align: middle;
}

.lg-toolbar,
.lg-prev,
.lg-next {
  opacity: 1;
  -webkit-transition: opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, -webkit-transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, -webkit-transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, -webkit-transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-hide-items .lg-prev {
  opacity: 0;
  -webkit-transform: translate3d(-10px, 0, 0);
          transform: translate3d(-10px, 0, 0);
}

.lg-hide-items .lg-next {
  opacity: 0;
  -webkit-transform: translate3d(10px, 0, 0);
          transform: translate3d(10px, 0, 0);
}

.lg-hide-items .lg-toolbar {
  opacity: 0;
  -webkit-transform: translate3d(0, -10px, 0);
          transform: translate3d(0, -10px, 0);
}

body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-object {
  -webkit-transform: scale3d(0.5, 0.5, 0.5);
          transform: scale3d(0.5, 0.5, 0.5);
  opacity: 0;
  -webkit-transition: opacity 250ms, -webkit-transform 250ms ease 0s !important;
  transition: opacity 250ms, -webkit-transform 250ms ease 0s !important;
  transition: transform 250ms ease 0s, opacity 250ms !important;
  transition: transform 250ms ease 0s, opacity 250ms, -webkit-transform 250ms ease 0s !important;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item.lg-complete .lg-object {
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
  opacity: 1;
}

.lg-outer .lg-thumb-outer {
  background-color: #0D0A0A;
  bottom: 0;
  position: absolute;
  width: 100%;
  z-index: 1080;
  max-height: 350px;
  -webkit-transform: translate3d(0, 100%, 0);
          transform: translate3d(0, 100%, 0);
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item {
  cursor: -webkit-grab;
  cursor: grab;
}

.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb {
  -webkit-transition-duration: 0s !important;
          transition-duration: 0s !important;
}

.lg-outer.lg-thumb-open .lg-thumb-outer {
  -webkit-transform: translate3d(0, 0%, 0);
          transform: translate3d(0, 0%, 0);
}

.lg-outer .lg-thumb {
  padding: 10px 0;
  height: 100%;
  margin-bottom: -5px;
}

.lg-outer .lg-thumb-item {
  border-radius: 5px;
  cursor: pointer;
  float: left;
  overflow: hidden;
  height: 100%;
  border: 2px solid #FFF;
  border-radius: 4px;
  margin-bottom: 5px;
}

@media (min-width: 1025px) {
  .lg-outer .lg-thumb-item {
    -webkit-transition: border-color 0.25s ease;
    transition: border-color 0.25s ease;
  }
}
.lg-outer .lg-thumb-item.active,
.lg-outer .lg-thumb-item:hover {
  border-color: #a90707;
}

.lg-outer .lg-thumb-item img {
  width: 100%;
  height: 100%;
}

.lg-outer.lg-has-thumb .lg-item {
  padding-bottom: 120px;
}

.lg-outer.lg-can-toggle .lg-item {
  padding-bottom: 0;
}

.lg-outer.lg-pull-caption-up .lg-sub-html {
  -webkit-transition: bottom 0.25s ease;
  transition: bottom 0.25s ease;
}

.lg-outer.lg-pull-caption-up.lg-thumb-open .lg-sub-html {
  bottom: 100px;
}

.lg-outer .lg-toogle-thumb {
  background-color: #0D0A0A;
  border-radius: 2px 2px 0 0;
  color: #999;
  cursor: pointer;
  font-size: 24px;
  height: 39px;
  line-height: 27px;
  padding: 5px 0;
  position: absolute;
  right: 20px;
  text-align: center;
  top: -39px;
  width: 50px;
}

.lg-outer .lg-toogle-thumb:after {
  content: "\e1ff";
}

.lg-outer .lg-toogle-thumb:hover {
  color: #FFF;
}

.lg-outer .lg-video-cont {
  display: inline-block;
  vertical-align: middle;
  max-width: 1140px;
  max-height: 100%;
  width: 100%;
  padding: 0 5px;
}

.lg-outer .lg-video {
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  position: relative;
}

.lg-outer .lg-video .lg-object {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.lg-outer .lg-video .lg-video-play {
  width: 84px;
  height: 59px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -42px;
  margin-top: -30px;
  z-index: 1080;
  cursor: pointer;
}

.lg-outer .lg-has-vimeo .lg-video-play {
  background: url("/static/lightgallery/vimeo-play.png") no-repeat scroll 0 0 transparent;
}

.lg-outer .lg-has-vimeo:hover .lg-video-play {
  background: url("/static/lightgallery/vimeo-play.png") no-repeat scroll 0 -58px transparent;
}

.lg-outer .lg-has-html5 .lg-video-play {
  background: transparent url("/static/lightgallery/video-play.png") no-repeat scroll 0 0;
  height: 64px;
  margin-left: -32px;
  margin-top: -32px;
  width: 64px;
  opacity: 0.8;
}

.lg-outer .lg-has-html5:hover .lg-video-play {
  opacity: 1;
}

.lg-outer .lg-has-youtube .lg-video-play {
  background: url("/static/lightgallery/youtube-play.png") no-repeat scroll 0 0 transparent;
}

.lg-outer .lg-has-youtube:hover .lg-video-play {
  background: url("/static/lightgallery/youtube-play.png") no-repeat scroll 0 -60px transparent;
}

.lg-outer .lg-video-object {
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
}

.lg-outer .lg-has-video .lg-video-object {
  visibility: hidden;
}

.lg-outer .lg-has-video.lg-video-palying .lg-object,
.lg-outer .lg-has-video.lg-video-palying .lg-video-play {
  display: none;
}

.lg-outer .lg-has-video.lg-video-palying .lg-video-object {
  visibility: visible;
}

.lg-progress-bar {
  background-color: #333;
  height: 5px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1080;
  opacity: 0;
  -webkit-transition: opacity 0.08s ease 0s;
  transition: opacity 0.08s ease 0s;
}

.lg-progress-bar .lg-progress {
  background-color: #a90707;
  height: 5px;
  width: 0;
}

.lg-progress-bar.lg-start .lg-progress {
  width: 100%;
}

.lg-show-autoplay .lg-progress-bar {
  opacity: 1;
}

.lg-autoplay-button:after {
  content: "\e01d";
}

.lg-show-autoplay .lg-autoplay-button:after {
  content: "\e01a";
}

.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap,
.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image {
  -webkit-transition-duration: 0s;
  transition-duration: 0s;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
  -webkit-transition: -webkit-transform 0.3s ease 0s;
  transition: -webkit-transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image {
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
  -webkit-transition: opacity 0.15s, -webkit-transform 0.3s ease 0s !important;
  transition: opacity 0.15s, -webkit-transform 0.3s ease 0s !important;
  transition: transform 0.3s ease 0s, opacity 0.15s !important;
  transition: transform 0.3s ease 0s, opacity 0.15s, -webkit-transform 0.3s ease 0s !important;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

#lg-zoom-in:after {
  content: "\e311";
}

#lg-zoom-out {
  opacity: 0.5;
  pointer-events: none;
}

#lg-zoom-out:after {
  content: "\e312";
}

.lg-zoomed #lg-zoom-out {
  opacity: 1;
  pointer-events: auto;
}

.lg-outer .lg-pager-outer {
  bottom: 60px;
  left: 0;
  position: absolute;
  right: 0;
  text-align: center;
  z-index: 1080;
  height: 10px;
}

.lg-outer .lg-pager-outer.lg-pager-hover .lg-pager-cont {
  overflow: visible;
}

.lg-outer .lg-pager-cont {
  cursor: pointer;
  display: inline-block;
  overflow: hidden;
  position: relative;
  vertical-align: top;
  margin: 0 5px;
}

.lg-outer .lg-pager-cont:hover .lg-pager-thumb-cont {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.lg-outer .lg-pager-cont.lg-pager-active .lg-pager {
  -webkit-box-shadow: 0 0 0 2px white inset;
          box-shadow: 0 0 0 2px white inset;
}

.lg-outer .lg-pager-thumb-cont {
  background-color: #fff;
  color: #FFF;
  bottom: 100%;
  height: 83px;
  left: 0;
  margin-bottom: 20px;
  margin-left: -60px;
  opacity: 0;
  padding: 5px;
  position: absolute;
  width: 120px;
  border-radius: 3px;
  -webkit-transition: opacity 0.15s ease 0s, -webkit-transform 0.15s ease 0s;
  transition: opacity 0.15s ease 0s, -webkit-transform 0.15s ease 0s;
  transition: opacity 0.15s ease 0s, transform 0.15s ease 0s;
  transition: opacity 0.15s ease 0s, transform 0.15s ease 0s, -webkit-transform 0.15s ease 0s;
  -webkit-transform: translate3d(0, 5px, 0);
          transform: translate3d(0, 5px, 0);
}

.lg-outer .lg-pager-thumb-cont img {
  width: 100%;
  height: 100%;
}

.lg-outer .lg-pager {
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  -webkit-box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.7) inset;
          box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.7) inset;
  display: block;
  height: 12px;
  -webkit-transition: -webkit-box-shadow 0.3s ease 0s;
  transition: -webkit-box-shadow 0.3s ease 0s;
  transition: box-shadow 0.3s ease 0s;
  transition: box-shadow 0.3s ease 0s, -webkit-box-shadow 0.3s ease 0s;
  width: 12px;
}

.lg-outer .lg-pager:hover,
.lg-outer .lg-pager:focus {
  -webkit-box-shadow: 0 0 0 8px white inset;
          box-shadow: 0 0 0 8px white inset;
}

.lg-outer .lg-caret {
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px dashed;
  bottom: -10px;
  display: inline-block;
  height: 0;
  left: 50%;
  margin-left: -5px;
  position: absolute;
  vertical-align: middle;
  width: 0;
}

.lg-fullscreen:after {
  content: "\e20c";
}

.lg-fullscreen-on .lg-fullscreen:after {
  content: "\e20d";
}

.group {
  *zoom: 1;
}

.group:before,
.group:after {
  display: table;
  content: "";
  line-height: 0;
}

.group:after {
  clear: both;
}

.lg-outer {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  opacity: 0;
  -webkit-transition: opacity 0.15s ease 0s;
  transition: opacity 0.15s ease 0s;
}

.lg-outer * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.lg-outer.lg-visible {
  opacity: 1;
}

.lg-outer.lg-css3 .lg-item.lg-prev-slide,
.lg-outer.lg-css3 .lg-item.lg-next-slide,
.lg-outer.lg-css3 .lg-item.lg-current {
  -webkit-transition-duration: inherit !important;
          transition-duration: inherit !important;
  -webkit-transition-timing-function: inherit !important;
          transition-timing-function: inherit !important;
}

.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide,
.lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide,
.lg-outer.lg-css3.lg-dragging .lg-item.lg-current {
  -webkit-transition-duration: 0s !important;
          transition-duration: 0s !important;
  opacity: 1;
}

.lg-outer.lg-grab img.lg-object {
  cursor: -webkit-grab;
  cursor: grab;
}

.lg-outer.lg-grabbing img.lg-object {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.lg-outer .lg {
  height: 100%;
  width: 100%;
  position: relative;
  overflow: hidden;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  max-height: 100%;
}

.lg-outer .lg-inner {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  white-space: nowrap;
}

.lg-outer .lg-item {
  background: url("/static/lightgallery/loading.gif") no-repeat scroll center center transparent;
  display: none !important;
}

.lg-outer.lg-css3 .lg-prev-slide,
.lg-outer.lg-css3 .lg-current,
.lg-outer.lg-css3 .lg-next-slide {
  display: inline-block !important;
}

.lg-outer.lg-css .lg-current {
  display: inline-block !important;
}

.lg-outer .lg-item,
.lg-outer .lg-img-wrap {
  display: inline-block;
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
}

.lg-outer .lg-item:before,
.lg-outer .lg-img-wrap:before {
  content: "";
  display: inline-block;
  height: 50%;
  width: 1px;
  margin-right: -1px;
}

.lg-outer .lg-img-wrap {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0 5px;
}

.lg-outer .lg-item.lg-complete {
  background-image: none;
}

.lg-outer .lg-item.lg-current {
  z-index: 1060;
}

.lg-outer .lg-image {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  max-height: 100%;
  width: auto !important;
  height: auto !important;
}

.lg-outer.lg-show-after-load .lg-item .lg-object,
.lg-outer.lg-show-after-load .lg-item .lg-video-play {
  opacity: 0;
  -webkit-transition: opacity 0.15s ease 0s;
  transition: opacity 0.15s ease 0s;
}

.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-object,
.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-video-play {
  opacity: 1;
}

.lg-outer .lg-empty-html {
  display: none;
}

.lg-outer.lg-hide-download #lg-download {
  display: none;
}

.lg-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1040;
  background-color: #000;
  opacity: 0;
  -webkit-transition: opacity 0.15s ease 0s;
  transition: opacity 0.15s ease 0s;
}

.lg-backdrop.in {
  opacity: 1;
}

.lg-css3.lg-no-trans .lg-prev-slide,
.lg-css3.lg-no-trans .lg-next-slide,
.lg-css3.lg-no-trans .lg-current {
  -webkit-transition: none 0s ease 0s !important;
  transition: none 0s ease 0s !important;
}

.lg-css3.lg-use-css3 .lg-item {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.lg-css3.lg-use-left .lg-item {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.lg-css3.lg-fade .lg-item {
  opacity: 0;
}

.lg-css3.lg-fade .lg-item.lg-current {
  opacity: 1;
}

.lg-css3.lg-fade .lg-item.lg-prev-slide,
.lg-css3.lg-fade .lg-item.lg-next-slide,
.lg-css3.lg-fade .lg-item.lg-current {
  -webkit-transition: opacity 0.1s ease 0s;
  transition: opacity 0.1s ease 0s;
}

.lg-css3.lg-slide.lg-use-css3 .lg-item {
  opacity: 0;
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide {
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide {
  -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0);
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide,
.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide,
.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
  -webkit-transition: opacity 0.1s ease 0s, -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: opacity 0.1s ease 0s, -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s, -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-css3.lg-slide.lg-use-left .lg-item {
  opacity: 0;
  position: absolute;
  left: 0;
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide {
  left: -100%;
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide {
  left: 100%;
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-current {
  left: 0;
  opacity: 1;
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide,
.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide,
.lg-css3.lg-slide.lg-use-left .lg-item.lg-current {
  -webkit-transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
}

@media only screen and (max-width: 767px) {
  .lg-has-iframe {
    height: 80vh;
  }
  .lg-has-iframe .lg-video {
    top: 0;
    padding-bottom: 80vh;
  }
}
@media only screen and (min-width: 1600px) {
  .lg-has-iframe {
    max-width: 1600px !important;
  }
}
/** /!!! core css Should not edit !!!/**/
.lSSlideOuter {
  overflow: hidden;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.lightSlider:before,
.lightSlider:after {
  content: " ";
  display: table;
}

.lightSlider {
  overflow: hidden;
}

.lSSlideWrapper {
  max-width: 100%;
  overflow: hidden;
  position: relative;
}

.lSSlideWrapper ul {
  margin-bottom: 0;
}

.lSSlideWrapper > .lightSlider:after {
  clear: both;
}

.lSSlideWrapper .lSSlide {
  -webkit-transform: translate(0px, 0px);
          transform: translate(0px, 0px);
  -webkit-transition: all 1s;
  transition: all 1s;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform;
  -webkit-transition-duration: inherit;
          transition-duration: inherit;
  -webkit-transition-timing-function: inherit;
          transition-timing-function: inherit;
}

.lSSlideWrapper .lSFade {
  position: relative;
}

.lSSlideWrapper .lSFade > * {
  position: absolute !important;
  top: 0;
  left: 0;
  z-index: 9;
  margin-right: 0;
  width: 100%;
}

.lSSlideWrapper.usingCss .lSFade > * {
  opacity: 0;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transition-duration: inherit;
          transition-duration: inherit;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: inherit;
          transition-timing-function: inherit;
}

.lSSlideWrapper .lSFade > *.active {
  z-index: 10;
}

.lSSlideWrapper.usingCss .lSFade > *.active {
  opacity: 1;
}

/** /!!! End of core css Should not edit !!!/**/
.lSSlideOuter .lSPager.lSpg {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.5rem 0;
  gap: 0.5rem;
}

.lSSlideOuter .lSPager.lSpg > li {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 1.5rem;
  height: 1.5rem;
}

.lSSlideOuter .lSPager.lSpg > li button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  padding: 0;
}

.lSSlideOuter .lSPager.lSpg > li button,
.lSSlideOuter .lSPager.lSpg > li a {
  border-radius: 100%;
  display: inline-block;
  overflow: hidden;
  text-indent: -999em;
  position: relative;
  z-index: 99;
  -webkit-transition: all 0.25s linear 0s;
  transition: all 0.25s linear 0s;
  margin: auto;
  width: 1.5rem;
  height: 1.5rem;
  cursor: pointer;
}

.lSSlideOuter .lSPager.lSpg > li.active:hover button,
.lSSlideOuter .lSPager.lSpg > li.active button,
.lSSlideOuter .lSPager.lSpg > li.active:hover a,
.lSSlideOuter .lSPager.lSpg > li.active a {
  width: 1.5rem;
  height: 1.5rem;
  cursor: pointer;
}

.lSSlideOuter .media {
  opacity: 0.8;
}

.lSSlideOuter .media.active {
  opacity: 1;
}

/* End of pager */
/** Gallery */
.lSSlideOuter .lSPager.lSGallery {
  list-style: none outside none;
  padding-left: 0;
  margin: 0;
  overflow: hidden;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.lSSlideOuter .lSPager.lSGallery li {
  opacity: 0.7;
  overflow: hidden;
  -webkit-transition: opacity 0.35s linear 0s;
  transition: opacity 0.35s linear 0s;
}

.lSSlideOuter .lSPager.lSGallery li button {
  padding: 0;
  border: 0;
}

.lSSlideOuter .lSPager.lSGallery li.active,
.lSSlideOuter .lSPager.lSGallery li:hover {
  opacity: 1;
}

.lSSlideOuter .lSPager.lSGallery li.active,
.lSSlideOuter .lSPager.lSGallery li.active button:hover {
  cursor: default;
}

.lSSlideOuter .lSPager.lSGallery li:hover,
.lSSlideOuter .lSPager.lSGallery li button:hover {
  cursor: pointer;
}

.lSSlideOuter .lSPager.lSGallery img {
  display: block;
  height: auto;
  max-width: 100%;
}

.lSSlideOuter .lSPager.lSGallery:before,
.lSSlideOuter .lSPager.lSGallery:after {
  content: " ";
  display: table;
}

.lSSlideOuter .lSPager.lSGallery:after {
  clear: both;
}

/* End of Gallery*/
.lSAction > button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  padding: 0;
}
.lSAction > button span {
  display: none;
}

.lSAction > button,
.lSAction > a {
  width: 2rem;
  height: 2rem;
  display: block;
  top: 50%;
  background-size: 4rem 2rem;
  cursor: pointer;
  position: absolute;
  z-index: 2;
  margin-top: -1rem;
  opacity: 0.5;
  -webkit-transition: opacity 0.35s linear 0s;
  transition: opacity 0.35s linear 0s;
  border-radius: 0.5rem;
}

.lSAction > button:hover,
.lSAction > a:hover {
  opacity: 1;
}

.lSAction > .lSPrev {
  background-position: 0.25rem center;
  left: 0.5rem;
}

.lSAction > .lSNext {
  background-position: -2.25rem center;
  right: 0.5rem;
}

.lSAction > a.disabled {
  pointer-events: none;
}

.cS-hidden {
  height: 1px;
  opacity: 0;
  filter: alpha(opacity=0);
  overflow: hidden;
}

@media only screen and (min-width: 960px) {
  .lSAction > button,
  .lSAction > a {
    width: 2.5rem;
    height: 2.5rem;
    background-size: 5rem 2.5rem;
    margin-top: -1.25rem;
  }
  .lSAction > .lSNext {
    background-position: -2.5rem center;
  }
}
.lSSlideOuter.vertical {
  position: relative;
}

.lSSlideOuter.vertical.noPager {
  padding-right: 0 !important;
}

.lSSlideOuter.vertical .lSGallery {
  position: absolute !important;
  right: 0;
  top: 0;
}

.lSSlideOuter.vertical .lightSlider > * {
  width: 100% !important;
  max-width: none !important;
}

/* Rtl */
.lSSlideOuter.lSrtl {
  direction: rtl;
}

.lSSlideOuter .lightSlider,
.lSSlideOuter .lSPager {
  padding-left: 0;
  list-style: none outside none;
}

.lSSlideOuter.lSrtl .lightSlider,
.lSSlideOuter.lSrtl .lSPager {
  padding-right: 0;
}

.lSSlideOuter .lightSlider > *,
.lSSlideOuter .lSGallery li {
  float: left;
  list-style-type: none;
  padding-left: 0;
  margin: 0;
}

.lSSlideOuter.lSrtl .lightSlider > *,
.lSSlideOuter.lSrtl .lSGallery li {
  float: right !important;
}

/* Rtl */
@-webkit-keyframes rightEnd {
  0% {
    left: 0;
  }
  50% {
    left: -15px;
  }
  100% {
    left: 0;
  }
}
@keyframes rightEnd {
  0% {
    left: 0;
  }
  50% {
    left: -15px;
  }
  100% {
    left: 0;
  }
}
@-webkit-keyframes topEnd {
  0% {
    top: 0;
  }
  50% {
    top: -15px;
  }
  100% {
    top: 0;
  }
}
@keyframes topEnd {
  0% {
    top: 0;
  }
  50% {
    top: -15px;
  }
  100% {
    top: 0;
  }
}
@-webkit-keyframes leftEnd {
  0% {
    left: 0;
  }
  50% {
    left: 15px;
  }
  100% {
    left: 0;
  }
}
@keyframes leftEnd {
  0% {
    left: 0;
  }
  50% {
    left: 15px;
  }
  100% {
    left: 0;
  }
}
@-webkit-keyframes bottomEnd {
  0% {
    bottom: 0;
  }
  50% {
    bottom: -15px;
  }
  100% {
    bottom: 0;
  }
}
@keyframes bottomEnd {
  0% {
    bottom: 0;
  }
  50% {
    bottom: -15px;
  }
  100% {
    bottom: 0;
  }
}
.lSSlideOuter .rightEnd {
  -webkit-animation: rightEnd 0.3s;
          animation: rightEnd 0.3s;
  position: relative;
}

.lSSlideOuter .leftEnd {
  -webkit-animation: leftEnd 0.3s;
          animation: leftEnd 0.3s;
  position: relative;
}

.lSSlideOuter.vertical .rightEnd {
  -webkit-animation: topEnd 0.3s;
          animation: topEnd 0.3s;
  position: relative;
}

.lSSlideOuter.vertical .leftEnd {
  -webkit-animation: bottomEnd 0.3s;
          animation: bottomEnd 0.3s;
  position: relative;
}

.lSSlideOuter.lSrtl .rightEnd {
  -webkit-animation: leftEnd 0.3s;
          animation: leftEnd 0.3s;
  position: relative;
}

.lSSlideOuter.lSrtl .leftEnd {
  -webkit-animation: rightEnd 0.3s;
          animation: rightEnd 0.3s;
  position: relative;
}

.lightSlider li img {
  max-width: 100%;
}

.galeria-minis .lightSlider li img {
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.lSSlideOuter .lSPager.lSpg > li button,
.lSSlideOuter .lSPager.lSpg > li a {
  color: #fff;
  background-color: var(--title-color);
  outline: 7px solid;
  outline-offset: -5px;
  outline-color: #fff;
}

.lSSlideOuter .lSPager.lSpg > li:hover button,
.lSSlideOuter .lSPager.lSpg > li:hover a {
  background-color: var(--c-primary-20);
  outline-color: var(--bg-theme-black);
  outline: 3px solid;
  outline-offset: -3px;
}

.lSSlideOuter .lSPager.lSpg > li.active:hover button,
.lSSlideOuter .lSPager.lSpg > li.active button,
.lSSlideOuter .lSPager.lSpg > li.active:hover a,
.lSSlideOuter .lSPager.lSpg > li.active a {
  background-color: var(--c-primary);
  outline: 3px solid;
  outline-offset: -3px;
  outline-color: var(--c-primary);
}

.lSSlideOuter .lSPager.lSGallery > li button,
.lSSlideOuter .lSPager.lSGallery > li a {
  outline: 2px solid;
  outline-offset: -2px;
  outline-color: #fff;
}

.lSSlideOuter .lSPager.lSGallery > li.active button,
.lSSlideOuter .lSPager.lSGallery > li.active a {
  outline: 3px solid;
  outline-offset: -3px;
  outline-color: var(--c-primary);
}

.lSAction > button,
.lSAction > a {
  background-image: url("/static/lightgallery/controles_bl.png");
  background-color: var(--c-primary);
}

.lSAction > button:hover,
.lSAction > a:hover {
  background-color: var(--c-primary-light);
}

body.dark_theme .lSAction > button,
body.dark_theme .lSAction > a,
html[data-theme=dark] .lSAction > button,
html[data-theme=dark] .lSAction > a {
  background-image: url("/static/lightgallery/controles_bl.png");
  background-color: var(--c-primary);
}
body.dark_theme .lSAction > button:hover,
body.dark_theme .lSAction > a:hover,
html[data-theme=dark] .lSAction > button:hover,
html[data-theme=dark] .lSAction > a:hover {
  background-color: var(--c-primary-light);
}

#slider .lightSlider li img {
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.imagenes {
  margin-bottom: 2rem;
}
@media only screen and (min-width: 1240px) {
  .imagenes {
    margin-bottom: 0;
  }
}

/*SLIDER SUPERIOR*/
#slider2 {
  position: relative;
  background-color: rgba(0, 0, 0, 0.05);
  height: calc(100vh - 4rem);
}

#slider2 #imageGallery {
  z-index: 4;
}

#slider2 .lSAction > a {
  z-index: 5;
}

#slider2 .lSSlideOuter .lSPager.lSpg > li a {
  width: 0.625rem;
  height: 0.625rem;
}

#slider2 .lSSlideOuter .lSPager {
  position: absolute;
  bottom: 0;
  width: 100%;
  z-index: 100;
}

#slider2 .lightSlider li img,
#slider2 img.imagen {
  width: 100% !important;
  height: calc(70vh - 4rem) !important;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

/*portada*/
/*SLIDER PORTADA*/
.lslide,
.clone {
  position: relative;
}

.lslide .caption,
.clone .caption {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  min-height: 30vh;
  background: var(--bg-theme-dark);
  color: #fff;
  text-align: center;
}

.lslide .caption .texto_columna,
.clone .caption .texto_columna {
  padding: 0 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.lslide .caption p,
.clone .caption p {
  text-transform: none;
  display: block;
  font-size: 1rem;
  text-align: center;
}
.lslide .caption * + h2, .lslide .caption * + h3, .lslide .caption * + h4, .lslide .caption * + h5, .lslide .caption * + h6, .lslide .caption :first-child,
.clone .caption * + h2,
.clone .caption * + h3,
.clone .caption * + h4,
.clone .caption * + h5,
.clone .caption * + h6,
.clone .caption :first-child {
  margin-top: 0;
}
.lslide .caption :last-child,
.clone .caption :last-child {
  margin-bottom: 0;
}
.lslide .caption h1, .lslide .caption h2, .lslide .caption h3, .lslide .caption h4, .lslide .caption h5, .lslide .caption h6, .lslide .caption p,
.clone .caption h1,
.clone .caption h2,
.clone .caption h3,
.clone .caption h4,
.clone .caption h5,
.clone .caption h6,
.clone .caption p {
  color: #fff;
}
.lslide .caption .boton, .lslide .caption .boton-medio, .lslide .caption .boton-grande, .lslide .caption .boton-borde,
.clone .caption .boton,
.clone .caption .boton-medio,
.clone .caption .boton-grande,
.clone .caption .boton-borde {
  -ms-flex-item-align: center;
      align-self: center;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}

@media only screen and (min-width: 600px) {
  .lslide .caption,
  .clone .caption {
    min-height: 30vh;
    height: auto;
  }
}
@media screen and (orientation: landscape) {
  .lslide .caption,
  .clone .caption {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background: transparent !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .lslide .caption .texto_columna,
  .clone .caption .texto_columna {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 1rem;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-item-align: end;
        align-self: flex-end;
    margin-bottom: 5rem;
  }
  .lslide .caption p:last-child,
  .clone .caption p:last-child {
    margin-bottom: 0;
  }
  .lslide .caption h1,
  .clone .caption h1,
  .lslide .caption h2,
  .clone .caption h2,
  .lslide .caption h3,
  .clone .caption h3,
  .lslide .caption p,
  .clone .caption p {
    color: #fff;
    text-shadow: 2px 2px #111;
    max-width: 45rem;
  }
}
@media only screen and (min-width: 1440px) {
  .lslide .caption .texto_columna,
  .clone .caption .texto_columna {
    -ms-flex-item-align: center;
        align-self: center;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 960px) {
  .galeria_responsive.borde_bajo,
  #slider2,
  #slider2 #imageGallery {
    min-height: calc(100vh - 4rem);
    height: calc(100vh - 4rem);
    overflow: hidden;
  }
  .lslide .caption,
  .clone .caption,
  #slider2 .lightSlider li img,
  #slider2 img.imagen {
    height: calc(100vh - 4rem) !important;
  }
}
@media only screen and (min-width: 1240px) {
  .galeria_responsive.borde_bajo,
  #slider2,
  #slider2 #imageGallery {
    min-height: calc(100vh - (7rem + 2rem));
    height: calc(100vh - (7rem + 2rem));
  }
  .lslide .caption,
  .clone .caption,
  #slider2 .lightSlider li img,
  #slider2 img.imagen {
    height: calc(100vh - (7rem + 2rem)) !important;
  }
}
/*@media only screen and (min-width: 1240px) {
	.galeria_responsive.borde_bajo,
	#slider2,
	#slider2 #imageGallery{
		min-height: calc(100vh - 8rem); // 100% - 6 header - 2
		height: calc(100vh - 8rem);
		overflow: hidden;
	}

	.lslide .caption,
	.clone .caption,
	#slider2 .lightSlider li img, 
	#slider2 img.imagen{
		height: calc(100vh - 8rem) !important;
	}
}

@media only screen and (min-width:1440px) {

	.galeria_responsive.borde_bajo,
	#slider2,
	#slider2 #imageGallery{
		min-height: 45rem;
		height: 45rem !important;
	}

	.lslide .caption,
	.clone .caption,
	#slider2 .lightSlider li img, 
	#slider2 img.imagen{
		height: 45rem !important;
	}

	.lslide .caption .texto_columna,
	.clone .caption .texto_columna {
		align-self: center;
		margin-bottom: 0;
	}
}*/
@media only screen and (min-width: 1800px) {
  .galeria_responsive.borde_bajo,
  #slider2,
  #slider2 #imageGallery {
    min-height: 67.5rem;
    height: 67.5rem !important;
  }
  .lslide .caption,
  .clone .caption,
  #slider2 .lightSlider li img,
  #slider2 img.imagen {
    height: 67.5rem !important;
  }
}
#slider2 .slider-fallback {
  width: 100%;
  height: 100%;
  position: absolute;
}

#slider2 .slider-fallback li {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#slider2 .slider-fallback li a {
  width: 100%;
  height: 100%;
}

#slider2 .slider-fallback li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}