@charset "UTF-8";
:root {
  --c-primary-10:#EDF8FD;
  --c-primary:#117CA6;
  --c-primary-20: #106E94;
  --c-primary-40: #0C526E;
  --c-primary-60: #083749;
  --c-primary-light: #6CC6E6;
  --c-orange: #EE7504;
  --c-primary-alpha: 19, 135, 182;
  --c-primary-20-alpha: 16, 110, 148;
  --c-primary-40-alpha: 12, 82, 110;
  --c-primary-60-alpha: 8, 55, 73;
  --c-primary-light-alpha: 108, 198, 230;
  --c-orange-alpha: 238, 117, 4;
  --bg-theme-light:#E5E3DC;
  --bg-theme-medium:#EDEDE8;
  --bg-theme:#CDC9BB;
  --bg-theme-dark:#561011;
  --bg-theme-black:#131313;
  --c-orange-alpha:238, 117, 4;
  --c-primary-accent: #561011;
  --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: #414141;
  --title-color: #1B1B1B;
  --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-20);
  --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: #147ca6;
  --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;
}

/*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: "Outfit Light";
  src: url("/static/fonts/outfit/Outfit-Light.woff2") format("woff2"), url("/static/fonts/outfit/Outfit-Light.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Outfit";
  src: url("/static/fonts/outfit/Outfit-Regular.woff2") format("woff2"), url("/static/fonts/outfit/Outfit-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Outfit SemiBold";
  src: url("/static/fonts/outfit/Outfit-SemiBold.woff2") format("woff2"), url("/static/fonts/outfit/Outfit-SemiBold.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Outfit Bold";
  src: url("/static/fonts/outfit/Outfit-Bold.woff2") format("woff2"), url("/static/fonts/outfit/Outfit-Bold.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Outfit Black";
  src: url("/static/fonts/outfit/Outfit-Black.woff2") format("woff2"), url("/static/fonts/outfit/Outfit-Black.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
body {
  font-family: "Outfit";
  font-size: 1em;
  line-height: 1.65;
  color: var(--text-color);
  font-size: 1.125rem;
  letter-spacing: 0.015rem;
}
@media (min-width: 25em) {
  body {
    font-size: 1.125rem;
  }
}
@media (min-width: 60em) {
  body {
    font-size: 1.1875rem;
    font-family: "Outfit Light";
  }
}
@media (min-width: 75em) {
  body {
    font-size: 1.25rem;
  }
}
@media (min-width: 87.5em) {
  body {
    font-size: 1.25rem;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.15;
  letter-spacing: 1px;
  margin-bottom: 0.5em;
  font-weight: normal;
  font-family: "Outfit SemiBold";
  text-transform: none;
  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: "Outfit 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: "Outfit SemiBold";
}
h1 strong {
  font-family: "Outfit 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: "Outfit";
  text-decoration: none;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
a:hover {
  color: var(--c-orange);
  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: "Outfit 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 - 60rem) / 2);
    padding-right: calc((100vw - 60rem) / 2);
  }
}
@media only screen and (min-width: 1440px) {
  .bloque {
    width: 100%;
    padding: 6rem 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-orange);
  outline-color: var(--c-orange);
}

#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%;
}

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);
}

body.hero #header {
  position: fixed;
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: none;
}
body.hero #header .centrar {
  position: relative;
  z-index: 2;
}
body.hero #header: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.8)), color-stop(6rem, rgba(var(--c-black-alpha), 0)));
  background: linear-gradient(to bottom, rgba(var(--c-black-alpha), 0.8) 0%, rgba(var(--c-black-alpha), 0) 6rem);
}
body.hero #header.fixed {
  background: var(--header-background);
  -webkit-box-shadow: 0;
          box-shadow: 0;
  border: solid;
  border-width: 0;
  border-color: transparent;
}
body.hero #header.fixed:after {
  content: none;
}
body.hero #header .button_container span {
  background: #fff;
}
body.hero #header .button_container.activo span,
body.hero #header.fixed .button_container.activo span,
body.hero #header a.menu span {
  background: #fff;
}
@media only screen and (min-width: 1240px) {
  body.hero #header #nav li a {
    color: #fff;
  }
  body.hero #header #nav ul li a {
    color: var(--c-black);
  }
  body.hero #header #nav ul li a:hover {
    color: var(--c-primary-20);
  }
  body.hero #header .boton-borde {
    outline-color: #fff;
  }
  body.hero #header .boton-borde:hover {
    color: #fff;
  }
}
@media only screen and (min-width: 1240px) {
  body.hero #header #idiomas a.activo {
    color: #fff;
  }
  body.hero #header #idiomas a.activo img {
    -webkit-filter: invert(1);
            filter: invert(1);
  }
  body.hero #header #idiomas:before {
    color: #fff;
  }
  body.hero #header.fixed #idiomas a.activo {
    color: var(--c-primary-20);
  }
  body.hero #header.fixed #idiomas a.activo img {
    -webkit-filter: none;
            filter: none;
  }
  body.hero #header.fixed #idiomas:before {
    color: var(--text-color);
  }
}

@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-transform: translateY(-0rem);
            transform: translateY(-0rem);
    -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: 6rem;
  }
}
@media only screen and (min-width: 1440px) {
  #header .centrar {
    height: 6rem;
  }
}

#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: var(--c-primary-40);
  color: #fff;
}

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

#header #logo {
  display: inline-block;
  margin: auto 0;
}
@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: 3rem;
}
@media only screen and (min-width: 370px) {
  #header #logo img, #header #logo svg {
    height: 3rem;
  }
}
@media only screen and (min-width: 600px) {
  #header #logo img, #header #logo svg {
    height: 3rem;
  }
}
@media only screen and (min-width: 960px) {
  #header #logo img, #header #logo svg {
    height: 3.25rem;
  }
}
@media only screen and (min-width: 1240px) {
  #header #logo img, #header #logo svg {
    height: 4rem;
  }
}
@media only screen and (min-width: 1440px) {
  #header #logo img, #header #logo svg {
    height: 4rem;
  }
}

#header.simple .redes p.siguenos {
  display: none;
}

#header.simple .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: 2.5rem;
  width: 2.5rem;
  border-style: solid;
  border-width: 2px;
  border-color: #fff;
  background: transparent;
  color: #fff;
  font-size: 0.9rem;
  text-align: center;
  border-radius: 100%;
}
#header.simple .redes a:hover {
  text-decoration: none;
}
#header.simple .redes a:hover span.icon {
  color: var(--c-primary);
  background: #fff;
  border-color: #fff;
}

.selector-idioma {
  display: none;
}
@media only screen and (min-width: 1240px) {
  .selector-idioma {
    display: block;
    position: relative;
    margin-left: 0;
  }
}

.selector-idioma button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Outfit";
  font-size: 0.9rem;
  color: var(--title-color);
  text-transform: uppercase;
}
.selector-idioma button span {
  font-size: 0.9rem;
  color: inherit;
  opacity: 0.5;
  margin-right: 0.125rem;
}
.selector-idioma button:after {
  position: relative;
  font-family: "Infotelecom";
  content: "\e81b";
  font-size: 0.5rem;
  color: inherit;
  margin-left: 0.125rem;
}
.selector-idioma button:hover {
  cursor: pointer;
}

.selector-idioma .lista-idiomas {
  position: absolute;
  z-index: 10001;
  background: #fff;
  -webkit-box-shadow: var(--c-black-alpha);
          box-shadow: var(--c-black-alpha);
  border: 1px solid var(--gris-bordes);
}
.selector-idioma .lista-idiomas li {
  border-bottom: 1px solid;
  border-color: transparent;
}
.selector-idioma .lista-idiomas li:last-of-type {
  border: 0;
}
.selector-idioma .lista-idiomas a {
  display: block;
  padding: 0 1rem;
  text-align: left;
  height: 2rem;
  line-height: 2rem;
  font-family: "Outfit";
  font-size: 0.9rem;
  color: var(--c-black);
  text-transform: uppercase;
}
.selector-idioma .lista-idiomas a:hover {
  color: var(--c-primary-20);
  background: transparent;
  text-decoration: none;
}
.selector-idioma .lista-idiomas a.activo {
  color: var(--c-primary-20);
  background: transparent;
}

#menu .idiomas_movil {
  position: absolute;
  left: 3rem;
  bottom: 1.75rem;
  width: calc(100vw - 6rem);
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
}
#menu .idiomas_movil li a {
  font-family: "Outfit";
  font-size: 0.9rem;
  color: #fff;
  text-transform: uppercase;
}
#menu .idiomas_movil li a.activo {
  color: var(--c-primary-light);
}
@media only screen and (min-width: 600px) {
  #menu .idiomas_movil {
    bottom: 3rem;
  }
}

@media only screen and (min-width: 1240px) {
  #menu .idiomas_movil {
    display: none;
  }
}
#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: auto;
    margin-left: 0;
  }
  #nav li a {
    display: inline-block;
    position: relative;
    text-decoration: none;
    font-family: "Outfit SemiBold";
    color: var(--title-color);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.95rem;
    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-orange);
    color: #fff;
  }
  #nav li a.boton-borde {
    color: var(--c-primary);
    background: transparent;
  }
  #nav li a.boton-borde:hover {
    outline-color: var(--c-orange);
  }
  #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.95rem;
    line-height: 3rem;
    height: 6rem;
  }
}
@media only screen and (min-width: 1240px) and (min-width: 1440px) {
  #nav li a {
    font-size: 0.95rem;
  }
}
@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-primary-light);
    height: 2px;
  }
  #nav li a:hover {
    text-decoration: none;
    color: var(--c-primary-20);
    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-light);
  }
  #nav li a.activo, #nav li a.activo:hover {
    color: var(--c-primary-20);
    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-light);
  }
}
@media only screen and (min-width: 1240px) {
  #nav li.ultimo {
    margin-left: auto;
  }
  #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: 6rem;
    padding: 0 1rem;
    white-space: nowrap;
  }
  #header.header #nav li.ultimo {
    margin-left: auto;
  }
  #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: 6rem;
  }
  #header.header #nav li ul a {
    line-height: 1;
    padding: 1rem;
  }
}
#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: "Outfit";
    font-size: 1rem;
    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-20);
    background: transparent;
  }
  #nav li:hover > a:after {
    width: 100%;
    background: var(--c-primary-light);
    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;
}

:root {
  --mm-ocd-width: 80%;
  --mm-ocd-min-width: 200px;
  --mm-ocd-max-width: 440px ;
}

body.mm-ocd-opened {
  overflow-y: hidden;
  -ms-scroll-chaining: none;
  overscroll-behavior: none;
}

.mm-ocd {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 100%;
  left: 0;
  z-index: 9999;
  overflow: hidden;
  -ms-scroll-chaining: none;
  overscroll-behavior: contain;
  background: rgba(0, 0, 0, 0);
  -webkit-transition-property: bottom, background-color;
  transition-property: bottom, background-color;
  -webkit-transition-duration: 0s, 0.3s;
          transition-duration: 0s, 0.3s;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-delay: 0.45s, 0.15s;
          transition-delay: 0.45s, 0.15s;
}

.mm-ocd--open {
  bottom: 0;
  background: rgba(0, 0, 0, 0.25);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.mm-ocd__content {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  width: 80%;
  width: var(--mm-ocd-width);
  min-width: 200px;
  min-width: var(--mm-ocd-min-width);
  max-width: 440px;
  max-width: var(--mm-ocd-max-width);
  background: #fff;
  transition-property: -webkit-transform;
  -webkit-transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
}

.mm-ocd--left .mm-ocd__content {
  left: 0;
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
}

.mm-ocd--right .mm-ocd__content {
  right: 0;
  -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0);
}

.mm-ocd--open .mm-ocd__content {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.mm-ocd__backdrop {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 3;
  width: 20%;
  width: calc(100% - var(--mm-ocd-width));
  min-width: calc(100% - 440px);
  min-width: calc(100% - var(--mm-ocd-max-width));
  max-width: calc(100% - 200px);
  max-width: calc(100% - var(--mm-ocd-min-width));
  background: rgba(3, 2, 1, 0);
}

.mm-ocd--left .mm-ocd__backdrop {
  right: 0;
}

.mm-ocd--right .mm-ocd__backdrop {
  left: 0;
}

.mm-spn,
.mm-spn a,
.mm-spn li,
.mm-spn span,
.mm-spn ul {
  display: block;
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

:root {
  --mm-spn-item-height: 3rem;
  --mm-spn-item-indent: 1.5rem;
  --mm-spn-line-height: 1.5rem;
}

.mm-spn {
  width: 100%;
  height: 100%;
  -webkit-tap-highlight-color: transparent;
  -webkit-overflow-scrolling: touch;
  overflow: hidden;
  clip-path: inset(0 0 0 0);
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.mm-spn ul {
  -webkit-overflow-scrolling: touch;
  position: fixed;
  top: 0;
  left: 100%;
  bottom: 0;
  z-index: 2;
  width: 130%;
  padding-right: 30%;
  line-height: 24px;
  line-height: var(--mm-spn-line-height);
  overflow: visible;
  overflow-y: auto;
  background: inherit;
  -webkit-transition: left 0.3s ease 0s;
  transition: left 0.3s ease 0s;
  cursor: default;
}

.mm-spn ul:after {
  content: "";
  display: block;
  height: 50px;
  height: var(--mm-spn-item-height);
}

.mm-spn > ul {
  left: 0;
}

.mm-spn ul.mm-spn--open {
  left: 0;
}

.mm-spn ul.mm-spn--parent {
  left: -30%;
  overflow-y: hidden;
}

.mm-spn li {
  position: relative;
  background: inherit;
  cursor: pointer;
}

.mm-spn li:before {
  content: "";
  display: block;
  position: absolute;
  top: 25px;
  top: calc(var(--mm-spn-item-height) / 2);
  right: 25px;
  right: calc(var(--mm-spn-item-height) / 2);
  z-index: 0;
  width: 10px;
  height: 10px;
  border-top: 2px solid;
  border-right: 2px solid;
  -webkit-transform: rotate(45deg) translate(0, -50%);
          transform: rotate(45deg) translate(0, -50%);
  opacity: 0.4;
}

.mm-spn li:after {
  content: "";
  display: block;
  margin-left: 20px;
  margin-left: var(--mm-spn-item-indent);
  border-top: 1px solid;
  opacity: 0.15;
}

.mm-spn a,
.mm-spn span {
  position: relative;
  z-index: 1;
  padding: 13px 20px;
  padding: calc((var(--mm-spn-item-height) - var(--mm-spn-line-height)) / 2) var(--mm-spn-item-indent);
}

.mm-spn a {
  background: inherit;
  color: inherit;
  text-decoration: none;
}

.mm-spn a:not(:last-child) {
  width: calc(100% - var(--mm-spn-item-height));
}

.mm-spn a:not(:last-child):after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  opacity: 0.15;
}

.mm-spn span {
  background: 0 0;
}

.mm-spn.mm-spn--navbar {
  cursor: pointer;
}

.mm-spn.mm-spn--navbar:before {
  content: "";
  display: block;
  position: absolute;
  top: 25px;
  top: calc(var(--mm-spn-item-height) / 2);
  left: 20px;
  left: var(--mm-spn-item-indent);
  width: 10px;
  height: 10px;
  margin-top: 2px;
  border-top: 2px solid;
  border-left: 2px solid;
  -webkit-transform: rotate(-45deg) translate(50%, -50%);
          transform: rotate(-45deg) translate(50%, -50%);
  opacity: 0.4;
}

.mm-spn.mm-spn--navbar.mm-spn--main {
  cursor: default;
}

.mm-spn.mm-spn--navbar.mm-spn--main:before {
  content: none;
  display: none;
}

.mm-spn.mm-spn--navbar:after {
  content: attr(data-mm-spn-title);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50px;
  height: var(--mm-spn-item-height);
  padding: 0 40px;
  padding: 0 calc(var(--mm-spn-item-indent) * 2);
  line-height: 50px;
  line-height: var(--mm-spn-item-height);
  opacity: 0.4;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.mm-spn.mm-spn--navbar.mm-spn--main:after {
  padding-left: 20px;
  padding-left: var(--mm-spn-item-indent);
}

.mm-spn.mm-spn--navbar ul {
  top: 51px;
  top: calc(var(--mm-spn-item-height) + 1px);
}

.mm-spn.mm-spn--navbar ul:before {
  content: "";
  display: block;
  position: fixed;
  top: inherit;
  z-index: 2;
  width: 100%;
  border-top: 1px solid currentColor;
  opacity: 0.15;
}

.mm-spn.mm-spn--vertical {
  overflow-y: auto;
}

.mm-spn.mm-spn--vertical ul {
  width: 100%;
  padding-right: 0;
  position: static;
}

.mm-spn.mm-spn--vertical ul ul {
  display: none;
  padding-left: 20px;
  padding-left: var(--mm-spn-item-indent);
}

.mm-spn.mm-spn--vertical ul ul:after {
  height: 25px;
  height: calc(var(--mm-spn-item-height) / 2);
}

.mm-spn.mm-spn--vertical ul.mm-spn--open {
  display: block;
}

.mm-spn.mm-spn--vertical li.mm-spn--open:before {
  -webkit-transform: rotate(135deg) translate(-50%, 0);
  transform: rotate(135deg) translate(-50%, 0);
}

.mm-spn.mm-spn--vertical ul ul li:last-child:after {
  content: none;
  display: none;
}

.mm-spn.mm-spn--light {
  color: #444;
  background: #f3f3f3;
}

.mm-spn.mm-spn--dark {
  color: #ddd;
  background: #333;
}

.mm-spn a {
  font-family: "Outfit SemiBold";
  font-size: 0.95rem;
  text-transform: uppercase;
  color: var(--title-color-dt);
  letter-spacing: 0.5px;
}

.mm-spn li.submenu a {
  font-family: "Outfit";
}

.mm-spn ul.mm-spn--parent {
  background: var(--c-primary-60);
}

.mm-spn--parent .mm-spn--open a {
  color: var(--title-color-dt);
  font-family: "Outfit";
  font-size: 1rem;
  text-transform: none;
}
.mm-spn--parent .mm-spn--open a.destaca {
  background: var(--c-primary-20);
  color: #fff;
  font-family: "Outfit SemiBold";
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.mm-spn.mm-spn--dark {
  background: var(--c-primary-40);
  color: var(--title-color-dt);
  font-family: "Outfit";
}

.mm-spn li:after {
  margin-left: 0;
  border-color: transparent;
}

.mm-spn li a.activo {
  color: var(--c-primary-light);
  background: var(--c-primary-20);
}

.mm-spn:after {
  -webkit-box-shadow: none;
          box-shadow: none;
  border-bottom: 1px solid var(--c-primary);
}

.mm-spn.mm-spn--navbar ul:before {
  content: none;
  border: 0 !important;
}

/*BOTON*/
.mm-spn li.boton_movil {
  margin-top: 2rem;
}
.mm-spn li.boton_movil:before, .mm-spn li.boton_movil:after {
  content: none;
}
.mm-spn li.boton_movil a {
  color: #fff;
  background: var(--c-primary);
}

.mm-spn li.idiomas:before, .mm-spn li.idiomas:after,
.mm-spn li.redes:before,
.mm-spn li.redes:after,
.mm-spn li.empresa:before,
.mm-spn li.empresa:after {
  content: none !important;
}
.mm-spn li.idiomas,
.mm-spn li.redes,
.mm-spn li.empresa {
  padding: 1rem var(--mm-spn-item-indent);
}
.mm-spn li.idiomas ul,
.mm-spn li.redes ul,
.mm-spn li.empresa ul {
  z-index: 1 !important;
  position: relative;
  left: 0;
  top: 0;
}
.mm-spn li.idiomas ul:before, .mm-spn li.idiomas ul:after,
.mm-spn li.redes ul:before,
.mm-spn li.redes ul:after,
.mm-spn li.empresa ul:before,
.mm-spn li.empresa ul:after {
  content: none !important;
}
.mm-spn li.idiomas ul li:before, .mm-spn li.idiomas ul li:after,
.mm-spn li.redes ul li:before,
.mm-spn li.redes ul li:after,
.mm-spn li.empresa ul li:before,
.mm-spn li.empresa ul li:after {
  content: none !important;
}

.mm-spn li.redes ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
}
.mm-spn li.redes ul li.siguenos {
  width: 100%;
}

.mm-spn li.red:after {
  content: none;
  border: 0 !important;
}

.mm-spn li.red a {
  display: inline-block;
  padding: 0 !important;
  margin: 0;
  font-size: 1rem;
  text-align: center;
  color: var(--title-color-dt);
  background: transparent;
  border: none;
  border-radius: 100%;
}
.mm-spn li.red a span {
  display: none;
}
.mm-spn li.red 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;
  padding: 0;
  height: 2.5rem;
  width: 2.5rem;
  line-height: 2.5rem;
}

.mm-spn li.idiomas ul {
  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;
  gap: 1rem;
}
.mm-spn li.idiomas ul li.describe {
  width: 100%;
  display: none;
}
.mm-spn li.idiomas ul li a {
  width: auto;
  padding: 0;
  color: var(--title-color-dt);
  background: transparent;
  font-size: 0.9rem;
}
.mm-spn li.idiomas ul li a.activo {
  color: var(--c-primary-light);
  background: none;
  padding-right: 0;
  border: none;
  position: relative;
}
.mm-spn li.idiomas ul li a.activo:before {
  content: none !important;
}
.mm-spn li.idiomas ul li:before {
  content: none !important;
}

a.menu {
  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;
  gap: 0.125rem;
  position: relative;
  height: 2rem;
  width: 2rem;
  padding: 0;
  cursor: pointer;
  z-index: 15000;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
  background: rgba(255, 255, 255, 0);
  color: var(--title-color);
  border: 0;
  border-color: transparent;
  border-radius: 0;
}
a.menu span {
  display: block;
  font-size: inherit;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}
a.menu strong {
  display: none;
  font-family: "Outfit";
  font-size: 0.9rem;
  text-transform: uppercase;
}

a.menu:hover {
  opacity: 0.7;
  text-decoration: none;
  background: transparent;
  color: var(--c-primary);
  border-color: transparent;
}
a.menu:hover strong {
  text-decoration: none;
}

@media only screen and (min-width: 1240px) {
  a.menu {
    display: none;
  }
}
.mm-spn li.empresa:after,
.mm-spn li.empresa:before {
  content: none;
  border: 0 !important;
}

.mm-spn li.empresa {
  text-transform: none;
  font-family: "Outfit";
  padding: 3rem var(--mm-spn-item-indent) 2rem;
  font-size: 1rem;
}
.mm-spn li.empresa address + address {
  margin-top: 2rem;
}
.mm-spn li.empresa 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;
  gap: 0.5rem;
}
.mm-spn li.empresa strong {
  font-family: "Outfit SemiBold";
  text-transform: uppercase;
  color: var(--title-color-dt);
  font-size: 1rem;
  display: block;
  margin-bottom: 0.25rem;
  line-height: 1.2;
}
.mm-spn li.empresa span {
  padding: 0 0 0 var(--mm-spn-item-indent);
  position: relative;
  color: var(--title-color-dt);
  font-family: "Outfit";
}
.mm-spn li.empresa span .icon, .mm-spn li.empresa span i {
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  color: var(--c-primary-light);
}
.mm-spn li.empresa span.telefono {
  font-family: "Outfit";
  color: var(--title-color-dt);
}
.mm-spn li.empresa a {
  display: inline-block;
  font-family: "Outfit";
  font-size: 1rem;
  text-transform: none;
  color: var(--title-color-dt);
  padding: 0 !important;
}
.mm-spn li.empresa a .icon, .mm-spn li.empresa a i {
  color: var(--c-primary-light);
}
.mm-spn li.empresa a:after {
  border: none !important;
}
.mm-spn li.empresa a.mail {
  padding-left: 1.5rem !important;
}
.mm-spn li.empresa a.mail:before {
  color: var(--c-primary-light) !important;
}

.mm-spn li.submenu.destacado {
  margin-top: 2rem;
  border: none !important;
}

.mm-spn li.submenu.destacado a {
  font-family: "Outfit";
  background: var(--c-primary);
}

#mmenu a.cerrar_menu_movil {
  position: absolute;
  display: block;
  right: 0;
  width: var(--mm-spn-item-height);
  height: var(--mm-spn-item-height);
  line-height: var(--mm-spn-item-height);
  padding: 0;
  text-align: center;
  background: transparent;
  color: #fff;
  margin-top: -1px;
}
#mmenu a.cerrar_menu_movil:after {
  content: none;
}
#mmenu a.cerrar_menu_movil span {
  padding: 0;
}
#mmenu a.cerrar_menu_movil:focus {
  outline-offset: -3px;
}

/* 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: #fff;
}
.button_container span.middle {
  top: 0.5rem;
}
.button_container span.bottom {
  top: 1rem;
}
.button_container span.describe {
  display: none;
}
.button_container.activo strong {
  color: #fff;
}
@media only screen and (min-width: 1240px) {
  .button_container {
    display: none;
  }
}

@media only screen and (max-width: 1239px) {
  #menu {
    display: none;
    position: fixed;
    background: -webkit-gradient(linear, left bottom, left top, from(#117da8), color-stop(50%, #67cbe6), color-stop(50%, #f5ca12), to(#ee7604));
    background: linear-gradient(to top, #117da8 0%, #67cbe6 50%, #f5ca12 50%, #ee7604 100%);
    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: -webkit-gradient(linear, left bottom, left top, from(#117da8), color-stop(50%, #67cbe6), color-stop(50%, #f5ca12), to(#ee7604));
    background: linear-gradient(to top, #117da8 0%, #67cbe6 50%, #f5ca12 50%, #ee7604 100%);
  }
  #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;
    background: #fff;
    padding: 2rem;
  }
  #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: "Outfit 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-20);
    background: transparent;
  }
  #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: var(--title-color);
    outline-color: var(--title-color);
  }
  #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-20);
    outline-color: transparent;
  }
  #menu.abierto #nav li a span {
    position: relative;
  }
  #menu.abierto #nav li li a {
    font-family: "Outfit";
    font-size: 1rem;
  }
}
@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: inherit;
  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: 1.15rem;
  }
}

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

#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-orange);
  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 {
    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: "Outfit SemiBold";
  font-size: 1.25rem;
  color: var(--title-color);
  line-height: 1.15;
  letter-spacing: 1px;
  margin-bottom: 0.5rem;
}
@media only screen and (min-width: 1240px) {
  #footer address strong {
    font-size: 1.25rem;
  }
}
@media only screen and (min-width: 960px) {
  #footer address strong {
    display: inline-block;
  }
}
#footer address a {
  display: inline-block;
  color: var(--text-color);
}
#footer address i, #footer address .icon {
  color: var(--c-orange);
  font-size: 1rem;
  display: inline-block;
  margin-right: 0.25rem;
}
#footer address a i, #footer address a .icon {
  color: var(--c-orange);
}

#header script + a,
#footer address script + a,
#header a.mail,
#footer address a.mail,
.mm-spn li.empresa a.mail,
.contactos 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,
.contactos a.mail:before {
  position: absolute;
  font-family: "infotelecom";
  content: "\e824";
  font-size: calc(1rem + 0.1rem);
  left: 0;
  color: var(--c-orange);
}

.contactos a.mail:before {
  color: var(--c-primary);
  font-size: 1.25rem;
}

.contactos a.mail:hover:before {
  color: var(--c-orange);
}

#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 script + a:before,
#footer.dark_theme address a.mail:before {
  color: var(--c-primary-light);
}

#footer.compacto {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (min-width: 960px) {
  #footer.compacto .bloque {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0 3rem;
  }
}
@media only screen and (min-width: 960px) and (min-width: 1240px) {
  #footer.compacto .bloque {
    gap: 0 4rem;
  }
}
#footer.compacto .bloque.simple {
  -webkit-box-ordinal-group: -1;
      -ms-flex-order: -2;
          order: -2;
}
@media only screen and (min-width: 960px) {
  #footer.compacto .bloque.simple {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 3rem;
  }
}
#footer.compacto .bloque.simple .redes {
  margin-top: 2rem;
}

@media only screen and (min-width: 960px) {
  #footer .submenu + .simple {
    padding-top: 0;
  }
  #footer.compacto .bloque.simple .logo {
    display: block;
    margin: 0;
  }
  #footer.compacto .bloque.simple .logo img {
    width: 6rem;
  }
  #footer.compacto .bloque.simple address ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 1rem;
  }
  #footer.compacto .bloque.simple address ul li:first-of-type {
    width: 100%;
  }
}
@media only screen and (min-width: 960px) and (min-width: 1240px) {
  #footer.compacto .bloque.simple address ul li:first-of-type {
    width: auto;
  }
}
@media only screen and (min-width: 1240px) {
  #footer.compacto .bloque.simple {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  #footer.compacto .bloque.simple .redes {
    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: "Outfit SemiBold";
  font-size: 1.25rem;
  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: 1.25rem;
  }
}
#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 .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: var(--c-primary-light);
  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: var(--c-primary-light);
  color: #fff;
}

/*COLUMNAS*/
.columnas {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-column-gap: 0rem;
  grid-row-gap: 0rem;
}
.columnas .paginacion, .columnas .paginacion-barra, .columnas .paginacion-rounded, .columnas .paginacion-center, .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 .paginacion-barra, .columnas .paginacion-rounded, .columnas .paginacion-center, .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 .paginacion-barra, .columnas.n3 .paginacion-rounded, .columnas.n3 .paginacion-center, .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 .paginacion-barra, .columnas .paginacion-rounded, .columnas .paginacion-center, .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 .paginacion-barra, .columnas.n3 .paginacion-rounded, .columnas.n3 .paginacion-center, .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 .paginacion-barra, .columnas.n4 .paginacion-rounded, .columnas.n4 .paginacion-center, .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: "Outfit 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: 1rem;
  margin: 0;
  background: var(--c-black);
}

/*TEXTOS + FOTOS*/
.textos .texto_imagen {
  display: block;
  margin: 0 0 2rem;
  max-width: 900px !important;
  width: 100%;
  position: relative;
}
.textos .texto_imagen .caption {
  display: none;
  font-family: "Outfit";
  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;
  border-radius: 2rem;
}
.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: 60rem;
  }
}
@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 - 6rem);
  }
}
@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: 0;
  }
}
@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: 0;
  }
}
@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% - 1200px) / 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: inherit;
}
.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: inherit;
}
.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(--c-primary);
  text-transform: uppercase;
  letter-spacing: 1px;
}
.foto_flotada_izquierda_portada .texto_columna .boton-borde,
.foto_flotada_derecha_portada .texto_columna .boton-borde {
  color: inherit;
  outline-color: inherit;
}

.foto_flotada_izquierda_portada .texto_imagen .caption,
.foto_flotada_derecha_portada .texto_imagen .caption {
  font-family: "Outfit";
  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;
  }
}

blockquote {
  background: transparent;
  border: solid;
  border-width: 2px;
  border-color: var(--gris-bordes);
  border-radius: 0;
  font-family: georgia;
  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: inherit;
  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: -2rem;
}
@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: "Outfit 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: "Outfit 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-primary-alpha), 0.75);
  color: #fff;
  text-shadow: 0 0 3px rgba(var(--c-primary-60-alpha), 0.8);
}

.banner.sin_foto .enlace-reservas {
  background: var(--c-primary);
  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-primary-alpha), 0.75);
  opacity: 0;
}

.enlace-reservas h3 {
  width: 100%;
  max-width: 60rem;
  font-family: "Outfit SemiBold";
  color: #fff;
}
.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;
}

.banner .boton:hover, .banner .boton-grande:hover, .banner .boton-medio:hover,
.banner .boton-borde:hover {
  background: var(--c-orange) !important;
  color: #fff !important;
  outline-color: var(--c-orange) !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: "Outfit SemiBold";
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 1rem;
  color: var(--button-color);
  background: var(--c-primary);
  border-radius: 2rem;
  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-orange);
  outline-color: var(--c-orange);
}
.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-orange);
}

/*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: center;
        -ms-flex-pack: center;
            justify-content: center;
    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: 100%;
}
@media only screen and (min-width: 960px) {
  .compartir a {
    width: auto;
    padding: 0 1rem;
    border-radius: 2rem;
  }
}
.compartir a span {
  display: none;
}
.compartir a span.icon {
  display: inline;
}
@media only screen and (min-width: 960px) {
  .compartir a span {
    display: inline;
  }
}
.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: auto;
    text-align: center;
  }
}
.compartir span.comparte span {
  font-family: "Outfit 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: "Outfit 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: "Outfit 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;
    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;
}

.regimenes fieldset .titulo_campo,
.formulario .grupo_campos .campo fieldset .titulo_campo {
  padding: 0 0 0.5rem;
  line-height: 1.3;
}
.regimenes fieldset .radios span:last-of-type,
.formulario .grupo_campos .campo fieldset .radios span:last-of-type {
  margin-bottom: 0;
}
.regimenes fieldset .radios span label,
.formulario .grupo_campos .campo fieldset .radios span label {
  margin: 0;
}
.regimenes fieldset .radios span input,
.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;
}
.regimenes fieldset .radios span input:checked,
.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);
}
.regimenes fieldset .radios span input:focus,
.formulario .grupo_campos .campo fieldset .radios span input:focus {
  border-color: rgb(0, 116, 189);
}
.regimenes fieldset .radios span input:disabled,
.formulario .grupo_campos .campo fieldset .radios span input:disabled {
  background-color: var(--pagination-link-inactive-bg);
  background-image: none;
}
.regimenes fieldset .radios span input:disabled:checked,
.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: "Outfit";
  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: "Outfit";
  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;
}

@media only screen and (min-width: 1240px) {
  .cabecera_foto {
    height: auto;
    overflow: hidden;
  }
  .titulo_seccion {
    position: relative;
    height: calc(100vh - (6rem + 0rem));
    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: calc(30rem + 6rem + 0rem);
  }
  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: calc(30rem + 6rem + 0rem);
  }
}
@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: calc(30rem + 6rem + 0rem);
  }
  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: calc(30rem + 6rem + 0rem);
  }
}
@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: calc(40rem + 6rem + 0rem);
  }
  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: calc(40rem + 6rem + 0rem);
  }
  body.hero .cabecera_foto.en_seccion .titulo_seccion {
    max-height: calc(40rem + 6rem + 0rem);
  }
}
.titulo_seccion {
  text-align: center;
}

.titulo_seccion h1 {
  max-width: 45rem;
  margin: auto;
  font-family: "Outfit SemiBold";
  color: inherit;
  letter-spacing: 3px;
}
.titulo_seccion h1 strong {
  display: block;
  font-family: "Outfit SemiBold";
  font-size: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: inherit;
  padding-bottom: 1rem;
}
@media only screen and (min-width: 1240px) {
  .titulo_seccion h1 strong {
    font-size: 1.75rem;
  }
}

.titulo_seccion h2 {
  font-style: normal;
  display: inline-block;
  font-family: "Outfit 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.15);
  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-orange);
  outline-color: var(--c-orange);
}

.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: "Outfit SemiBold";
  font-size: 1.25rem;
  color: inherit;
}
.marquee p span {
  display: inline-block;
  font-family: "Outfit 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: 2px;
  border-color: transparent;
  background: var(--title-color);
  color: var(--bg-theme);
  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-orange);
}
.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: "Outfit SemiBold";
  font-size: 1.25rem;
  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: 1.25rem;
  }
}

#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: "Outfit 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.8rem;
  border-radius: 0;
}
#submenus .redes a:hover span {
  color: #fff;
  background: var(--c-primary-40);
}

.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: 60rem;
    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;
}
.titulo_bloque strong {
  color: var(--c-primary);
}

#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 .paginacion-barra, .galeria ul .paginacion-rounded, .galeria ul .paginacion-center, .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 .paginacion-barra, .galeria ul .paginacion-rounded, .galeria ul .paginacion-center, .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 .paginacion-barra, .galeria ul .paginacion-rounded, .galeria ul .paginacion-center, .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 .paginacion-barra, .galeria ul .paginacion-rounded, .galeria ul .paginacion-center, .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%;
  aspect-ratio: 3/2;
  border-radius: 1rem;
  overflow: hidden;
}
.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 .paginacion-barra, .galeria.metro ul .paginacion-rounded, .galeria.metro ul .paginacion-center, .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 .paginacion-barra, .galeria.metro ul .paginacion-rounded, .galeria.metro ul .paginacion-center, .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 .paginacion-barra, .galeria.metro ul .paginacion-rounded, .galeria.metro ul .paginacion-center, .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 .paginacion-barra, .galeria.instagram ul .paginacion-rounded, .galeria.instagram ul .paginacion-center, .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 .paginacion-barra, .galeria.instagram ul .paginacion-rounded, .galeria.instagram ul .paginacion-center, .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: #f7f7f7;
  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(2, 1fr);
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }
  .fichas_normal ul .paginacion, .fichas_normal ul .paginacion-barra, .fichas_normal ul .paginacion-rounded, .fichas_normal ul .paginacion-center, .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(2, 1fr);
    grid-column-gap: 3rem;
    grid-row-gap: 3rem;
  }
  .fichas_normal ul .paginacion, .fichas_normal ul .paginacion-barra, .fichas_normal ul .paginacion-rounded, .fichas_normal ul .paginacion-center, .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(2, 1fr);
    grid-column-gap: 3rem;
    grid-row-gap: 3rem;
  }
  .fichas_normal ul .paginacion, .fichas_normal ul .paginacion-barra, .fichas_normal ul .paginacion-rounded, .fichas_normal ul .paginacion-center, .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: 2rem;
  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: 0;
}
.fichas_normal .ficha .texto {
  position: relative;
  background: #fff;
  text-shadow: none;
  text-align: left;
  padding: 1rem 1rem 1.5rem;
}
@media only screen and (min-width: 370px) {
  .fichas_normal .ficha .texto {
    padding: 1.5rem 1.5rem 2rem;
  }
}
@media only screen and (min-width: 600px) {
  .fichas_normal .ficha .texto {
    padding: 2rem;
  }
}
.fichas_normal .ficha .texto h3 {
  font-family: "Outfit 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 h3 span {
  display: block;
  font-family: "Outfit SemiBold";
  font-size: 1.15rem;
  color: var(--c-primary-20);
  margin-bottom: 0.25rem;
}
.fichas_normal .ficha .texto p {
  display: block;
  font-size: 1.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 {
  font-size: 0.9rem;
}

.fichas_destacadas {
  background: var(--c-primary-10);
  border: none;
  border-width: 0;
  border-color: transparent;
}

.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 .paginacion-barra, .fichas_destacadas ul .paginacion-rounded, .fichas_destacadas ul .paginacion-center, .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 .paginacion-barra, .fichas_destacadas ul .paginacion-rounded, .fichas_destacadas ul .paginacion-center, .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 .paginacion-barra, .fichas_destacadas ul .paginacion-rounded, .fichas_destacadas ul .paginacion-center, .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;
  padding: 1rem;
  background: #fff;
  border-radius: 100%;
}
@media only screen and (min-width: 768px) {
  .fichas_destacadas .ficha .foto {
    width: 8rem;
    margin: 0 auto 1.5rem;
  }
}
.fichas_destacadas .ficha .foto img {
  -webkit-filter: var(--icon-filter);
          filter: var(--icon-filter);
  mix-blend-mode: darken;
}
.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: "Outfit 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: transparent;
  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: inherit;
  font-size: 1.25rem;
  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: "Outfit";
  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;
  -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 .paginacion-barra, .fichas_catalogo ul .paginacion-rounded, .fichas_catalogo ul .paginacion-center, .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 .paginacion-barra, .fichas_catalogo ul .paginacion-rounded, .fichas_catalogo ul .paginacion-center, .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 .paginacion-barra, .fichas_catalogo ul .paginacion-rounded, .fichas_catalogo ul .paginacion-center, .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 .paginacion-barra, .fichas_banners .paginacion-rounded, .fichas_banners .paginacion-center, .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 .paginacion-barra, .fichas_banners .paginacion-rounded, .fichas_banners .paginacion-center, .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: "Outfit";
  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:after, .fichas_testimonios ul li blockquote:before {
  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: var(--c-primary-10);
  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: 3px;
  border-color: var(--bg-theme-dark);
  border-radius: 1rem;
}
.fichas_testimonios ul li blockquote p {
  text-align: center;
  font-size: 1.25rem;
}
.fichas_testimonios blockquote cite strong {
  font-family: "Outfit SemiBold";
  font-weight: normal;
  font-size: 1.1rem;
}
.fichas_testimonios blockquote cite span {
  font-family: "Outfit";
  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.5rem;
  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: 1rem;
}
@media only screen and (min-width: 1240px) {
  .fichas_faq .ficha + .ficha {
    margin-top: 1.5rem;
  }
}
.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: "\e81b";
  font-style: normal;
  font-size: 1rem;
  line-height: 1;
  right: 2px;
  top: 0.25rem;
  color: rgba(var(--c-primary-40-alpha), 0.25);
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -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 {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
  color: rgba(var(--c-primary-40-alpha), 0.5);
}
.fichas_faq .ficha h3.actual:before {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
  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% - 60rem) / 2);
    padding-right: calc((100% - 60rem) / 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: "Outfit 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: "Outfit 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: "Outfit";
  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: "Outfit";
  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-orange);
  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 {
  background: #fff;
  padding: 0.5rem !important;
  border: 1px solid var(--gris-bordes) !important;
  height: 20rem;
  width: 100%;
}
.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: url(/static/estilo8/autor.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 2rem;
  padding: 0;
  padding-left: 2.5rem;
  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: -2.5rem;
}
@media only screen and (min-width: 600px) {
  .sitemap dt {
    margin-left: 0;
  }
}
.sitemap dt a {
  display: inline-block;
  font-family: "Outfit SemiBold";
  font-size: inherit;
  color: var(--c-primary) !important;
  font-style: normal;
  text-transform: none;
  text-decoration: none;
}
.sitemap dt a:hover {
  text-decoration: none;
  color: var(--c-orange) !important;
}
.sitemap dt + dt {
  margin-top: 1.5rem;
}
.sitemap dd {
  padding: 0;
  margin: 0 0 1.5rem;
  font-family: "Outfit";
  line-height: 1.4;
}
.sitemap dd strong {
  font-family: "Outfit SemiBold";
}
@media only screen and (min-width: 600px) {
  .sitemap dd {
    margin-left: 2.5rem;
  }
}
@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: "Outfit";
  color: var(--text-color);
  white-space: nowrap;
  border: 1px solid var(--gris-bordes);
  border-radius: 2rem;
  -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: "Outfit SemiBold";
}
.busqueda span {
  font-family: "Outfit";
}

.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: 8rem;
  }
}
.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: "Outfit";
  font-size: 1rem;
  color: var(--text-color);
  background: #fff;
  text-transform: none;
  border: solid;
  border-width: 1px 0 0;
  border-color: #c2c1c1;
}
.breadcrumb ol li a {
  color: var(--text-color);
}
.breadcrumb ol li:last-child a {
  font-family: "Outfit 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;
  }
}

/* PAGINACION */
.paginacion, .paginacion-barra, .paginacion-rounded, .paginacion-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;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 1rem 0;
  width: 100% !important;
}
.paginacion a, .paginacion-barra a, .paginacion-rounded a, .paginacion-center a {
  display: inline-block;
  text-decoration: none;
  width: 2.5rem;
  height: 2.5rem;
  line-height: 2.5rem;
  text-align: center;
  margin-right: 0.5rem;
  font-family: "Outfit SemiBold";
  color: var(--pagination-link-color);
  background: var(--pagination-link-bg);
  border: solid;
  border-color: var(--pagination-link-border);
  border-width: 0;
  border-radius: 100%;
}
.paginacion a:hover, .paginacion-barra a:hover, .paginacion-rounded a:hover, .paginacion-center a:hover {
  text-decoration: none;
  color: var(--pagination-link-hover-color);
  background: var(--pagination-link-hover-bg);
  border-color: var(--pagination-link-hover-bg);
}
.paginacion a:active, .paginacion-barra a:active, .paginacion-rounded a:active, .paginacion-center a:active, .paginacion a.activo, .paginacion-barra a.activo, .paginacion-rounded a.activo, .paginacion-center a.activo, .paginacion a.activo:hover {
  font-family: "Outfit SemiBold";
  color: var(--pagination-link-active-color);
  background: var(--pagination-link-active-bg);
  border-color: var(--pagination-link-active-bg);
}
.paginacion a.inactivo, .paginacion-barra a.inactivo, .paginacion-rounded a.inactivo, .paginacion-center a.inactivo, .paginacion a.inactivo:hover {
  cursor: default;
  color: var(--pagination-link-inactive-color);
  background: var(--pagination-link-inactive-bg);
  border-color: var(--pagination-link-inactive-color);
}

/* ESTILOS*/
.paginacion-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.paginacion-rounded {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.paginacion-rounded a {
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
  text-align: center;
  padding: 0;
  line-height: 2.5rem;
  /* alto - padding normal */
  margin: 0 0.25rem;
}

.paginacion-barra a {
  padding: 0.15rem 0.75rem;
  margin-left: -2px;
  margin-right: 0;
}
.paginacion-barra a:first-child {
  border-radius: 0.5rem 0 0 0.5rem;
  margin-left: 0;
}
.paginacion-barra a:last-child {
  border-radius: 0 0.5rem 0.5rem 0;
}

.reservas {
  font-size: 1rem;
}

.reservas h1, .reservas h2, .reservas h3, .reservas h4, .reservas h5, .reservas h6 {
  font-family: "Outfit SemiBold";
}
.reservas h1 strong, .reservas h1 span, .reservas h2 strong, .reservas h2 span, .reservas h3 strong, .reservas h3 span, .reservas h4 strong, .reservas h4 span, .reservas h5 strong, .reservas h5 span, .reservas h6 strong, .reservas h6 span {
  font-family: "Outfit SemiBold";
}

.reservas {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  background: #f7f7f7;
}
@media only screen and (min-width: 1240px) {
  .reservas .seccion {
    padding: 0 calc((100% - 1200px) / 2);
    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;
  }
}
@media only screen and (min-width: 1440px) {
  .reservas .seccion {
    padding: 0 calc((100% - 1356px) / 2);
  }
}

.calendarios,
.condiciones {
  width: 100%;
  margin-bottom: 2rem;
}

@media only screen and (min-width: 600px) {
  .condiciones {
    width: calc(100vw - 4rem);
    margin: auto;
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 1240px) {
  .calendarios {
    width: 75%;
    padding-right: 2rem;
  }
  .calendarios.paso2, .calendarios.paso3 {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: auto;
  }
  .condiciones {
    width: 25%;
  }
}
.reservas .ocultar {
  display: none !important;
}

/*RESERVAS*/
.extras {
  margin: 1rem;
}

.extras b {
  border-bottom: 1px dotted #7FC2FF;
  line-height: 24px;
  display: block;
  margin: 0 0 5px;
}

.bloque.formato_titulo_reservas {
  background: #f7f7f7;
}
@media only screen and (min-width: 1240px) {
  .bloque.formato_titulo_reservas {
    padding-top: 4rem;
    padding-bottom: 4rem;
    text-align: center;
  }
}
.bloque.formato_titulo_reservas h1 strong {
  display: block;
  font-family: "Outfit SemiBold";
  font-size: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: inherit;
  padding-bottom: 1rem;
}
@media only screen and (min-width: 1240px) {
  .bloque.formato_titulo_reservas h1 strong {
    font-size: 1.75rem;
  }
}
.bloque.formato_titulo_reservas p {
  text-align: center;
}

.contacto_movil {
  position: sticky;
  z-index: 100;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  background: var(--c-primary-60);
}
.contacto_movil a {
  line-height: 2rem;
  font-size: 1.25rem;
  width: 2rem;
  text-align: center;
  margin-right: auto;
  color: #fff;
}
.contacto_movil a span {
  display: none;
}
@media only screen and (min-width: 600px) {
  .contacto_movil a {
    width: auto;
  }
  .contacto_movil a span {
    display: inline-block;
    font-size: 1rem;
    margin-left: 0.25rem;
  }
}
.contacto_movil a.boton, .contacto_movil a.boton-medio, .contacto_movil a.boton-grande, .contacto_movil a.boton-borde {
  width: 60%;
  padding: 0 1rem;
  font-size: 1.1rem;
  color: #fff;
  background: var(--c-primary);
  margin-right: auto;
}
@media only screen and (min-width: 600px) {
  .contacto_movil a.boton, .contacto_movil a.boton-medio, .contacto_movil a.boton-grande, .contacto_movil a.boton-borde {
    width: auto;
    min-width: 33%;
  }
}

.detalles_alojamiento {
  width: 100%;
  background: #fff;
  border: solid;
  border-color: var(--gris-bordes);
  border-width: 1px 0 0;
  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: 600px) {
  .detalles_alojamiento {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
@media only screen and (min-width: 960px) {
  .detalles_alojamiento {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.detalles_alojamiento .titulo_bloque h3 {
  font-family: "Outfit SemiBold";
  font-size: 1.56rem;
  color: var(--title-color);
  text-align: center;
}
@media only screen and (min-width: 960px) {
  .detalles_alojamiento .titulo_bloque h3 {
    text-align: left;
  }
}

.detalles_alojamiento ul {
  margin-bottom: 3rem;
}
.detalles_alojamiento ul:last-of-type {
  margin-bottom: 0;
}
.detalles_alojamiento ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 1rem;
  grid-row-gap: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .detalles_alojamiento ul {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 2rem;
  }
}
@media only screen and (min-width: 960px) {
  .detalles_alojamiento ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 1280px) {
  .detalles_alojamiento ul {
    grid-template-columns: repeat(3, 1fr);
  }
}

.detalles_alojamiento ul li {
  font-family: "Outfit";
  font-size: 0.9rem;
  line-height: 1.2;
  text-align: center;
  color: var(--text-color);
}
@media only screen and (min-width: 960px) {
  .detalles_alojamiento ul li {
    text-align: left;
    font-size: 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.detalles_alojamiento ul li img {
  display: block;
  max-width: 100%;
  width: 2rem !important;
  height: 2rem !important;
  margin: 0 auto 0.5rem;
  opacity: 0.75;
}
@media only screen and (min-width: 960px) {
  .detalles_alojamiento ul li img {
    width: 2.5rem !important;
    height: 2.5rem !important;
    margin: 0 1rem 0 0;
  }
}

@media only screen and (min-width: 960px) {
  .detalles_alojamiento {
    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;
  }
  .detalles_alojamiento .descripcion, .detalles_alojamiento .titulo_bloque {
    width: 33.33%;
    margin: 0;
    position: sticky;
    top: calc(4.5rem + 2rem);
    -ms-flex-item-align: start;
        align-self: flex-start;
    background: #fff;
  }
  .detalles_alojamiento ul {
    width: 66.66%;
    margin-left: auto;
  }
}
@media only screen and (min-width: 1240px) {
  .detalles_alojamiento .descripcion, .detalles_alojamiento .titulo_bloque {
    top: calc(6rem + 2rem);
  }
}

/*MENU POSICION*/
.posicion {
  margin: 0 auto 1.5rem;
}

#menu-posicion {
  width: 100%;
  background: #fff;
  border: solid;
  border-color: var(--gris-bordes);
  border-width: 1px 0;
  padding: 0.5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-width: 1240px) {
  #menu-posicion {
    max-width: 100%;
    padding: 0.5rem 1rem;
    border-width: 1px;
    margin: 0;
  }
}
@media only screen and (min-width: 1440px) {
  #menu-posicion {
    max-width: 100%;
    padding: 0.5rem calc((100% - 1356px) / 2);
  }
}

#menu-posicion li {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: block;
  text-align: center;
  width: 25%;
  height: 2rem;
  overflow: hidden;
  line-height: 1.1;
  position: relative;
}
#menu-posicion li:after {
  position: absolute;
  content: "";
  height: 2px;
  width: 100%;
  background: var(--gris-bordes);
  top: calc(1rem - 1px);
  left: 0%;
  z-index: 1;
}
@media only screen and (min-width: 1240px) {
  #menu-posicion li:after {
    width: calc(50% - 1rem);
    left: 50%;
  }
}
#menu-posicion li:first-child:after {
  left: 50%;
}
#menu-posicion li:last-child:after {
  left: -50%;
}

#menu-posicion a,
#menu-posicion span {
  display: block;
  position: relative;
  z-index: 2;
  font-family: "Outfit";
  color: var(--text-color);
  text-transform: none;
  font-size: 0.9rem;
  letter-spacing: 0.5px;
  text-decoration: none;
}
@media only screen and (min-width: 1240px) {
  #menu-posicion a,
  #menu-posicion span {
    font-family: "Outfit SemiBold";
    font-size: 0.9rem;
  }
}
#menu-posicion a span,
#menu-posicion span span {
  width: 2rem;
  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;
  text-align: center;
  border: solid;
  border-width: 2px;
  border-color: var(--text-color);
  background: #fff;
  margin: auto;
  border-radius: 100%;
  color: inherit;
  font-family: "Outfit SemiBold";
  font-size: 1rem;
}
#menu-posicion a:hover,
#menu-posicion span:hover {
  cursor: default;
}

#menu-posicion li.activo span {
  color: var(--title-color);
}
#menu-posicion li.activo span span {
  color: #fff;
  background-color: var(--title-color);
  border-color: var(--title-color);
  margin-bottom: 0.25rem;
}

#menu-posicion a {
  color: var(--gris-medio);
}
#menu-posicion a span {
  background: var(--gris-medio);
  color: #fff;
  border-color: var(--gris-medio);
  margin-bottom: 0.25rem;
}
#menu-posicion a:hover {
  color: var(--c-primary);
  cursor: pointer;
}
#menu-posicion a:hover span {
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: #fff;
  cursor: pointer;
}

@media only screen and (min-width: 481px) {
  #menu-posicion li {
    height: auto;
  }
}
@media only screen and (min-width: 481px) and (max-width: 959px) {
  #menu-posicion a,
  #menu-posicion span {
    line-height: 1;
  }
  #menu-posicion a span,
  #menu-posicion span span {
    margin: 0 auto 0.25rem;
  }
}
@media only screen and (min-width: 960px) {
  #menu-posicion li {
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #menu-posicion a,
  #menu-posicion span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #fff;
    padding-right: 1rem;
  }
  #menu-posicion a span,
  #menu-posicion span span {
    padding: 0;
    margin: 0 0.5rem 0 0;
  }
}
.disp_fechas {
  position: relative;
  background: #fff;
  border: solid;
  border-width: 1px;
  border-color: var(--gris-bordes);
  margin: 0 auto;
  padding: 1rem;
  color: #535150;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .disp_fechas {
    padding: 1.5rem;
    margin: 0 auto;
  }
}

.disp_fechas h4 {
  width: 100%;
  font-family: "Outfit SemiBold";
  font-size: 1rem;
  color: var(--title-color);
  text-transform: none;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--gris-bordes);
}

.disp_fechas p {
  font-family: "Outfit";
  font-size: 0.9rem;
  color: var(--text-color);
  width: 50%;
}
.disp_fechas p:last-of-type {
  border: 1px solid var(--gris-bordes);
  border-width: 0 0 0 1px;
  padding-left: 1rem;
}
@media only screen and (min-width: 960px) {
  .disp_fechas p {
    font-size: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .disp_fechas p {
    width: auto;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .disp_fechas p:last-of-type {
    border-width: 0 1px;
    padding: 0 1rem;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1240px) {
  .disp_fechas p:last-of-type {
    padding: 0 2rem;
  }
}
.disp_fechas p strong {
  white-space: nowrap;
  font-size: 0.95rem;
  color: var(--title-color);
  display: block;
}
@media only screen and (min-width: 960px) {
  .disp_fechas p strong {
    font-size: 1rem;
  }
}
@media only screen and (min-width: 1240px) {
  .disp_fechas p strong {
    display: inline-block;
    margin-left: 0.25rem;
  }
}
.disp_fechas p span {
  display: block;
  font-size: 0.95rem;
  color: var(--gris-oscuro);
}
@media only screen and (min-width: 960px) {
  .disp_fechas p span {
    font-size: 1rem;
  }
}
.disp_fechas p span strong {
  display: inline-block;
  font-size: 0.95rem;
  color: var(--gris-oscuro);
}
@media only screen and (min-width: 960px) {
  .disp_fechas p span strong {
    font-size: 1rem;
  }
}

.disp_fechas .modificar {
  position: absolute;
  right: 1rem;
  top: 0.5rem;
  font-size: 0.8rem;
  height: 2rem;
  line-height: 2rem;
  padding: 0;
  outline: 0;
}
.disp_fechas .modificar a {
  position: relative;
}
.disp_fechas .modificar a:before {
  position: relative;
  font-family: "infotelecom";
  content: "\f133";
  font-size: 1rem;
  line-height: 2;
  margin-right: 0.25rem;
}
@media only screen and (min-width: 768px) {
  .disp_fechas .modificar {
    position: relative;
    right: 0;
    top: 0;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: auto;
    -ms-flex-item-align: center;
        align-self: center;
    text-align: center;
    font-size: 0.9rem;
  }
}

.regimen {
  margin: 0;
  background: transparent;
  color: var(--text-color);
}

.regimen h4.unidad {
  display: none;
  padding: 0.75rem 1rem;
  background: #fff;
  color: var(--title-color);
  border: none;
  border-width: 0;
  border-color: transparent;
  font-family: "Outfit SemiBold";
  line-height: 1;
  font-size: 1rem;
  text-transform: uppercase;
  margin-bottom: 0;
}

.regimen p.ocupacion {
  padding: 0.5rem 1rem;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  margin: 0 auto 1.5rem;
  background: #fff;
  border: solid;
  border-color: var(--gris-bordes);
  border-width: 0 1px 1px;
}
@media only screen and (min-width: 768px) {
  .regimen p.ocupacion {
    padding: 0.5rem 1.5rem;
  }
}
.regimen p.ocupacion:before {
  font-family: "infotelecom";
  content: "\e869";
  margin-right: 0.25rem;
}
@media only screen and (min-width: 1080px) {
  .regimen p.ocupacion {
    margin-bottom: 2rem;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.regimen p.ocupacion a {
  margin-left: auto;
  font-size: 0.8rem;
  height: 2rem;
  line-height: 2rem;
  padding: 0;
  outline: 0;
}
@media only screen and (min-width: 768px) {
  .regimen p.ocupacion a {
    font-size: 0.9rem;
  }
}

.regimen .define {
  display: none;
}

.resumen_fechas .define {
  background: #fff;
  border-bottom: 1px solid var(--gris-bordes);
  color: #fff;
}

.aloja .habitacion {
  background: #fff;
  color: var(--title-color);
  padding: 1rem 1rem 0;
  font-family: "Outfit SemiBold";
  font-size: 1.25rem;
  line-height: 1.2;
  margin-top: 1rem;
  -webkit-box-shadow: 0 -1rem 0 #f7f7f7;
          box-shadow: 0 -1rem 0 #f7f7f7;
  border: solid;
  border-width: 1px 0 0;
  border-color: var(--text-color);
}
@media only screen and (min-width: 960px) {
  .aloja .habitacion {
    border-width: 1px 1px 0;
  }
}
@media only screen and (min-width: 1080px) {
  .aloja .habitacion {
    display: none;
  }
}

.aloja div.descuento {
  background: #fff;
  color: #E40002;
  position: relative;
  font-size: 1rem;
  padding: 0.5rem 1rem 0 2.5rem;
}
@media only screen and (min-width: 960px) {
  .aloja div.descuento {
    border: 1px solid;
    border-width: 0 1px;
    border-color: var(--text-color);
  }
}
@media only screen and (min-width: 1080px) {
  .aloja div.descuento {
    display: none;
  }
}
.aloja div.descuento:before {
  font-family: "infotelecom";
  content: "\e880";
  position: absolute;
  font-style: normal;
  font-size: 1.4rem;
  left: 1rem;
  top: 0.1rem;
  color: inherit;
}

.unidad {
  margin: 0 auto;
  width: 100%;
  padding: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  border: solid;
  border-width: 0 0 1px;
  border-color: var(--gris-bordes);
}
@media only screen and (min-width: 960px) {
  .unidad {
    border-width: 0 1px 1px;
  }
}
@media only screen and (min-width: 1080px) {
  .unidad {
    border-width: 1px;
    padding: 0;
    margin-bottom: 3rem;
    position: relative;
  }
}

.unidad .tipo,
.unidad .desc {
  width: 100%;
}

.unidad .tipo {
  aspect-ratio: 1.5;
}
@media only screen and (max-width: 599px) {
  .unidad .tipo {
    width: calc(100% + 2rem);
    margin-left: -1rem;
  }
}
.unidad .tipo {
  -ms-flex-item-align: start;
      align-self: flex-start;
  position: relative;
  margin-bottom: 1rem;
  z-index: 1;
}

.unidad .regimenes {
  width: 100%;
  -ms-flex-item-align: start;
      align-self: flex-start;
  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;
  gap: 0;
  margin-bottom: 1rem;
}
@media only screen and (min-width: 1080px) {
  .unidad .regimenes {
    width: 50%;
    padding: 1.5rem;
  }
}

.unidad .regimenes .nombre {
  display: none;
}
@media only screen and (min-width: 1080px) {
  .unidad .regimenes .nombre {
    display: block;
    font-family: "Outfit SemiBold";
    font-size: 1.25rem;
    color: var(--title-color);
  }
  .unidad .regimenes .nombre .tipo_descuento {
    color: #E40002;
    font-size: 1rem;
    font-family: "Outfit";
    position: relative;
    padding-left: 1.5rem;
  }
  .unidad .regimenes .nombre .tipo_descuento:before {
    font-family: "infotelecom";
    content: "\e880";
    position: absolute;
    font-style: normal;
    font-size: 1.2rem;
    color: inherit;
    left: 0;
    line-height: 1.3;
  }
}

.unidad .regimenes .radios {
  display: block;
  margin-bottom: 1rem;
}

.unidad .regimenes .tarifa {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  margin: 0 0 1rem;
}

.unidad .regimenes .tipo_h {
  text-align: left;
  line-height: 1.2;
  position: relative;
  -ms-flex-item-align: center;
      align-self: center;
  width: 50%;
  margin-right: auto;
}

.unidad .regimenes .total {
  text-align: right;
  font-family: "Outfit SemiBold";
  color: var(--title-color);
  white-space: nowrap;
}
@media only screen and (min-width: 1080px) {
  .unidad .regimenes .total {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1rem;
  }
}
.unidad .regimenes .total .descuento {
  display: block;
  margin-bottom: 0.2rem;
  color: #E40002;
}

.unidad .regimenes .radio {
  text-align: right;
  -ms-flex-item-align: start;
      align-self: flex-start;
  width: 3rem;
}

.unidad .desc {
  margin-top: 1rem;
  border-top: 1px solid #c2c1c1;
}

.unidad .regimenes .seleccion-extras {
  width: 100%;
}
.unidad .regimenes .seleccion-extras .define {
  display: block;
  text-transform: uppercase;
  font-family: "Outfit SemiBold";
  font-size: 0.9rem;
  letter-spacing: 1px;
  padding-top: 0.25rem;
  border-top: 1px solid #c2c1c1;
}
.unidad .regimenes .seleccion-extras .extras {
  margin: 0;
}
.unidad .regimenes .seleccion-extras .extras p {
  margin: 0;
  padding: 0;
}
.unidad .regimenes .seleccion-extras .extras p strong {
  font-family: "Outfit";
}
.unidad .regimenes .seleccion-extras .extras .extra {
  font-size: 0.9rem;
  padding: 0.25rem 0.5rem 0.25rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.unidad .regimenes .seleccion-extras .extras .extra span {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.unidad .regimenes .seleccion-extras .extras .extra span.icon-ok-squared {
  color: #2CA966;
}

.unidad .desc {
  position: relative;
  height: 9rem;
  padding-top: 1rem;
  overflow: hidden;
  background: #fff;
}
.unidad .desc.abierto {
  height: auto;
  padding-bottom: 4.5rem;
  border-color: transparent;
}
@media only screen and (min-width: 1080px) {
  .unidad .desc {
    position: absolute;
    bottom: 0;
    height: 10rem;
    left: 50%;
    width: 50%;
    padding: 2rem;
    padding-top: 1rem;
  }
}

ul.destacado,
.unidad .desc ul {
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
}
ul.destacado li,
.unidad .desc ul li {
  margin-bottom: 0.5rem;
}
ul.destacado li span,
.unidad .desc ul li span {
  display: inline-block;
  margin-right: 0.25rem;
  vertical-align: middle;
  width: 1.5rem;
  height: 1.5rem;
  background-size: cover;
}
ul.destacado li span.ocupacion,
.unidad .desc ul li span.ocupacion {
  background-image: url(/static/graficos/iconos/ocupacion.png);
}
ul.destacado li span.habitaciones,
.unidad .desc ul li span.habitaciones {
  background-image: url(/static/graficos/iconos/habitaciones.png);
}
ul.destacado li span.banos,
.unidad .desc ul li span.banos {
  background-image: url(/static/graficos/iconos/banos.png);
}
ul.destacado li span.vistas,
.unidad .desc ul li span.vistas {
  background-image: url(/static/graficos/iconos/vistas.png);
}
ul.destacado li span.piscina,
.unidad .desc ul li span.piscina {
  background-image: url(/static/graficos/iconos/piscina.png);
}

ul.destacado {
  -webkit-column-count: 1;
     -moz-column-count: 1;
          column-count: 1;
  font-size: 1rem;
}
ul.destacado li span {
  margin-right: 0.5rem;
}

.unidad a.mostrar-descripcion {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 100;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, rgba(255, 255, 255, 0.6)), to(#fff));
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.6) 0, #fff 100%);
  margin: -50px 0 0;
  display: block;
  height: 60px;
  width: 100%;
  text-transform: uppercase;
  text-align: center;
}

.unidad a.mostrar-descripcion span {
  position: relative;
  background: #fff;
  display: block;
  border: 2px solid;
  border-radius: 5px;
  z-index: -1;
  font-size: 0.9rem;
  margin-top: 1rem;
  padding: 0.15rem;
}
.unidad a.mostrar-descripcion span.cerrar {
  display: none;
}
@media only screen and (min-width: 600px) {
  .unidad a.mostrar-descripcion span {
    display: inline-block;
    padding: 0.15rem 1rem;
    margin-top: 0.5rem;
  }
}

.unidad a.mostrar-descripcion.abierto span.cerrar {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  color: var(--text-color);
}
.unidad a.mostrar-descripcion.abierto span.cerrar span {
  padding: 0;
  margin: 0;
  border: 0;
}
.unidad a.mostrar-descripcion.abierto span.abrir {
  display: none;
}
.unidad a.mostrar-descripcion.abierto span strong {
  display: none;
}

.titulo,
.unidad p {
  padding-top: 1rem;
  width: 100%;
  font-size: 0.9rem;
  margin-bottom: 0;
}

.unidad p.describe {
  padding: 0;
}

@media only screen and (min-width: 600px) {
  .unidad .tipo {
    margin-bottom: 0;
    width: 50%;
    padding-right: 1rem;
  }
  .unidad .regimenes {
    width: 50%;
    padding-left: 1rem;
  }
}
@media only screen and (min-width: 1080px) {
  .unidad .tipo {
    width: 50%;
    -ms-flex-item-align: stretch;
        align-self: stretch;
    padding: 0;
  }
  .unidad .regimenes {
    width: 50%;
    padding: 2rem;
  }
}
.unidad .tipo ul.fotos li {
  display: none;
}

.unidad .tipo ul.fotos li:first-child {
  display: inline;
  cursor: pointer;
}

.unidad .tipo img {
  width: 100%;
  cursor: pointer;
}

.mas_fotos {
  font-size: 0.7rem;
  position: absolute;
  background: rgba(255, 255, 255, 0.6);
  padding: 0 0.25rem 0 1.75rem;
  height: 1.75rem;
  line-height: 1.75rem;
  margin-top: -1.75rem;
  cursor: default;
  pointer-events: none;
}
.mas_fotos:before {
  font-family: "infotelecom";
  content: "\e86c";
  position: absolute;
  font-style: normal;
  font-size: 1.4rem;
  left: 0.25rem;
  top: 0;
}

.paso2 .final {
  position: sticky;
  bottom: 0;
  background: var(--title-color);
  text-align: center;
  padding: 0;
  z-index: 200;
}
.paso2 .final .boton, .paso2 .final .boton-medio, .paso2 .final .boton-grande, .paso2 .final .boton-borde, .paso2 .final .submit {
  margin: 0.5rem auto;
  width: calc(100% - 1rem);
}
@media only screen and (min-width: 600px) {
  .paso2 .final .boton, .paso2 .final .boton-medio, .paso2 .final .boton-grande, .paso2 .final .boton-borde, .paso2 .final .submit {
    max-width: 20rem;
    margin: 1rem auto;
  }
}

#ver-disponibilidad {
  margin: 0 0 1rem;
  display: block;
}

.reservas .boton, .reservas .boton-medio, .reservas .boton-grande, .reservas .boton-borde {
  text-decoration: none;
  text-shadow: none;
  background: #458021;
  color: #fff;
  border: solid;
  border-color: transparent;
  outline-color: transparent;
  outline-width: 0;
  border-radius: 2rem;
}

.reservas .boton:hover, .reservas .boton-medio:hover, .reservas .boton-grande:hover, .reservas .boton-borde:hover {
  text-decoration: none;
  background: var(--c-orange);
  color: #fff;
  border-color: transparent;
  cursor: pointer;
}

.pago input {
  display: block;
  background: #458021;
  color: #fff;
  border: solid;
  border-radius: 2rem;
  border-width: 0;
}
.pago input:hover {
  background: var(--c-orange);
  color: #fff;
  border-color: #fff;
  text-decoration: none;
  cursor: pointer;
}

/*BUSCADOR*/
#busqueda {
  border: 1px solid;
  margin: 0 0 3rem;
  text-align: center;
  padding: 0;
  background: #fff;
  border-color: var(--text-color);
  color: #535150;
}
#busqueda form {
  width: 100%;
}

#busqueda .define {
  font-family: "Outfit SemiBold";
  font-size: 1rem;
  text-transform: uppercase;
  text-align: center;
  padding: 0.5rem 1rem;
  background: #fff;
  color: var(--title-color);
  border: solid;
  border-width: 0 0 1px;
  border-color: var(--gris-bordes);
}

#busqueda .valor {
  vertical-align: middle;
  border-bottom: 1px solid;
  border-color: var(--text-color);
  padding: 1rem 0;
}

#buscador_reservas .n_alj {
  display: block;
  width: 100%;
  text-align: center;
  margin-bottom: 1rem;
  font-family: "Outfit SemiBold";
}

#buscador_reservas .cupos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

#buscador_reservas .cupos .linea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0 1rem;
}

#buscador_reservas .cupos .etiqueta_edades {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

#buscador_reservas .n_apartamentos {
  font-family: "Outfit SemiBold";
}

#buscador_reservas .n_apartamentos,
#buscador_reservas .cupos .cantidad {
  display: block;
  padding: 0 0 0.5rem;
  text-align: center;
  font-size: 1rem;
}

#buscador_reservas .cupos .etiqueta_edades .cantidad {
  width: 100%;
}

#buscador_reservas .cupos .etiqueta_edades {
  width: auto !important;
}

#buscador_reservas .numeral {
  width: 8rem;
  margin: 0 auto;
}

#buscador_reservas .numeral_c {
  width: 6rem;
  margin: 0 auto;
}

#buscador_reservas .cupos .etiqueta_edades .numeral_c {
  margin: 0 1rem;
  display: inline-block;
}

.formulario_reservas_normal .seleccion .campo_menu,
#buscador_reservas .numeral,
#buscador_reservas .numeral_c {
  position: relative;
  display: block;
}
.formulario_reservas_normal .seleccion .campo_menu select,
#buscador_reservas .numeral select,
#buscador_reservas .numeral_c select {
  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;
}
.formulario_reservas_normal .seleccion .campo_menu:before,
#buscador_reservas .numeral:before,
#buscador_reservas .numeral_c:before {
  content: "";
  position: absolute;
  right: 0.8rem;
  top: 1rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.35rem 0.35rem 0 0.35rem;
  border-color: #c2c1c1 transparent transparent transparent;
}

.alojamiento,
.alojamiento2 {
  padding: 1rem 0 0;
  border-top: 1px solid;
  background: #fff;
  margin: 0 0 1rem;
  border-color: var(--c-primary-20);
}

.valor .alojamiento:first-child {
  padding: 0;
  border-top: 0 none;
}

#busqueda .final {
  border-bottom: none;
}
#busqueda .final .boton, #busqueda .final .boton-medio, #busqueda .final .boton-grande, #busqueda .final .boton-borde, #busqueda .final .submit {
  margin: 0 auto;
  width: calc(100% - 1rem);
  max-width: 20rem;
}

#calendario_entrada,
#calendario_salida {
  margin: 0 auto 1rem;
  display: inline-block;
}

@media only screen and (min-width: 600px) {
  #calendario_salida {
    margin-left: 1rem;
  }
}
#calendario_entrada strong,
#calendario_salida strong {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 1rem;
}

.calendarios .formulario.codigo_promocion {
  margin: 1rem auto;
  border: none;
  padding: 0;
}
.calendarios .formulario.codigo_promocion input {
  margin: 0 auto;
  max-width: 20rem;
}

.condiciones {
  display: none;
  font-family: "Outfit";
  font-size: 1rem;
  text-align: left;
  border: solid;
  border-color: var(--text-color);
  border-width: 1px 0;
  background: #fff;
  color: var(--text-color);
}
@media only screen and (min-width: 370px) {
  .condiciones {
    border-width: 1px;
    margin: auto;
  }
}
@media only screen and (min-width: 960px) {
  .condiciones {
    margin: 0;
    -ms-flex-item-align: start;
        align-self: flex-start;
    position: sticky;
    top: 4.5rem;
  }
}
@media only screen and (min-width: 1100px) {
  .condiciones {
    top: calc(4.5rem + 3rem);
  }
}
@media only screen and (min-width: 1240px) {
  .condiciones {
    display: block;
    top: calc(6rem + 2rem);
  }
}

.condiciones h4,
.condiciones h5,
.condiciones .caja5 h3 {
  font-family: "Outfit SemiBold";
  font-size: 1.1rem;
  color: var(--title-color);
  text-transform: none;
  letter-spacing: 0;
  margin: 0 0 1rem;
  padding: 1rem 1rem 0;
  position: relative;
}
.condiciones h4:before,
.condiciones h5:before,
.condiciones .caja5 h3:before {
  font-family: "infotelecom";
  content: "\e883";
  position: absolute;
  font-size: 1.5rem;
  line-height: 1;
  right: 0.75rem;
  top: 0.75rem;
  color: rgba(var(--c-black-alpha), 0.5);
}

.condiciones h5 {
  border-top: 1px solid var(--gris-bordes);
}

.condiciones p,
.condiciones ul {
  text-align: left;
  margin: 1rem;
  font-size: 1rem;
}

.condiciones ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1rem;
  line-height: 1.2;
}
.condiciones ul li span {
  display: block;
  margin: 0 1rem 0 0;
  border-radius: 100%;
  height: 2rem;
  line-height: 2rem;
  width: 2rem;
  text-align: center;
  font-family: "Outfit SemiBold";
  background: rgba(var(--c-primary-alpha), 0.125);
  color: var(--c-primary-20);
}

.condiciones p span {
  color: #ececec;
}

.condiciones a {
  margin: 0 0 1rem 1rem;
}

.resumen_fechas .condiciones {
  border: 0;
  color: #535150;
  padding: 1rem;
}
@media only screen and (min-width: 960px) {
  .resumen_fechas .condiciones {
    padding: 2rem;
  }
}

/*PASO 3*/
.resumen {
  background: #fff;
  border: 1px solid var(--text-color);
  padding: 1rem;
  margin-bottom: 2rem;
}
@media only screen and (min-width: 370px) {
  .resumen {
    padding: 1.5rem;
  }
}
@media only screen and (min-width: 1080px) {
  .resumen {
    padding: 1.5rem;
    border-radius: 0;
  }
}
@media only screen and (min-width: 1240px) {
  .resumen {
    margin-top: 2rem;
  }
}
.resumen h3.titulo_resumen {
  font-size: 1.2rem;
  font-family: "Outfit SemiBold";
}
@media only screen and (min-width: 1080px) {
  .resumen h3.titulo_resumen {
    font-size: 1.2rem;
  }
}

@media only screen and (min-width: 1080px) {
  .calendarios.paso3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    max-width: 100%;
  }
  .calendarios.paso3 .resumen {
    width: 33.33%;
  }
  .calendarios.paso3 .resumen .resumen_fechas {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (min-width: 1080px) and (min-width: 1240px) {
  .calendarios.paso3 .resumen .resumen_fechas {
    border-width: 1px 0 0;
  }
}
@media only screen and (min-width: 1080px) {
  .calendarios.paso3 .resumen_fechas {
    width: calc(66.66% - 3rem);
    margin-left: 3rem;
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
}
@media only screen and (min-width: 1080px) and (min-width: 1240px) {
  .calendarios.paso3 .resumen_fechas {
    border-width: 1px;
  }
}
@media only screen and (min-width: 1080px) {
  .calendarios.paso3 .resumen_fechas .titulo_formulario {
    font-family: "Outfit SemiBold";
    text-transform: none;
    font-size: 1.2rem;
    background: transparent;
    color: var(--title-color);
    border: 1px solid #c2c1c1;
    border-width: 0 0 1px;
    padding-top: 1.5rem;
    line-height: 1.3;
  }
}
.resumen table,
.resumen_fechas,
.resumen_condiciones {
  background: #fff;
  border: 1px solid var(--text-color);
  margin: 0 0 1rem;
}

.resumen_fechas {
  border-width: 1px 0 0;
}

.resumen_fechas .define {
  background: transparent;
  border-bottom: 0;
  color: var(--title-color);
  padding: 0.5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-family: "Outfit SemiBold";
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.resumen_fechas .define.titulo_formulario {
  padding-left: 1.5rem;
}
@media only screen and (min-width: 1080px) {
  .resumen_fechas .define {
    padding: 0.5rem 0;
  }
}

.resumen_fechas .fechas {
  padding: 0.5rem 0;
  display: block;
  color: var(--title-color);
}
@media only screen and (min-width: 1080px) {
  .resumen_fechas .fechas {
    padding: 0.5rem 0;
  }
}
.resumen_fechas .fechas strong, .resumen_fechas .fechas span {
  display: block;
}
.resumen_fechas .fechas strong {
  color: var(--title-color);
}
.resumen_fechas .fechas strong i, .resumen_fechas .fechas span {
  color: var(--gris-medio);
}
.resumen_fechas .fechas.condiciones_reserva {
  font-size: 0.95rem;
  padding: 1rem 0;
}
@media only screen and (min-width: 1080px) {
  .resumen_fechas .fechas.condiciones_reserva {
    padding: 1rem 0;
  }
}

@media only screen and (min-width: 480px) {
  .resumen_fechas .fechas span {
    display: inline;
    padding-left: 1rem;
  }
}
@media only screen and (min-width: 767px) {
  .resumen_fechas .fechas strong {
    display: inline-block;
    padding-right: 2rem;
    min-width: 14rem;
  }
  .resumen_fechas .fechas span {
    padding-left: 2rem;
  }
}
@media only screen and (min-width: 1080px) {
  .resumen_fechas .fechas strong,
  .resumen_fechas .fechas span {
    display: block;
    padding: 0;
  }
}
.resumen .unidad {
  height: auto;
  line-height: 1;
  padding: 1rem 0;
  border: dashed;
  border-color: var(--c-primary-20);
  border-width: 0 0 1px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
@media only screen and (min-width: 1080px) {
  .resumen .unidad {
    padding: 1rem 0;
  }
}

.resumen .con_descuento {
  padding-bottom: 2rem;
}

.resumen .unidad .numero {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 1rem;
}

.resumen .unidad .numero i {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  text-align: center;
  font-size: 1.4rem;
  width: 3rem;
  line-height: 3rem;
  margin: 0;
  font-family: "Outfit";
  font-style: normal;
  background: rgba(var(--c-primary-alpha), 0.25);
  color: var(--c-primary-40);
}

.resumen .unidad .numero strong {
  width: calc(100% - 3rem);
  padding-left: 1rem;
  color: var(--title-color);
}

.resumen .unidad .numero strong span {
  display: block;
  font-family: "Outfit";
  margin-top: 0.5rem;
}

.resumen .unidad .numero .descuento {
  position: absolute;
  color: #E40002;
  right: 0;
  bottom: 0.5rem;
  font-size: 1rem;
  font-family: "Outfit";
}

@media only screen and (min-width: 960px) {
  .resumen .unidad .numero .descuento {
    bottom: 1rem;
  }
}
@media only screen and (min-width: 1240px) {
  .resumen .unidad .numero .descuento {
    bottom: 0.5rem;
  }
}
.resumen .unidad .regimen_precio {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.resumen .unidad .regimen_precio div {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 0 0.75rem;
}
.resumen .unidad .regimen_precio div:last-of-type {
  margin: 0;
}

.resumen .unidad .regimen_precio .precio {
  white-space: nowrap;
  font-family: "Outfit";
  color: var(--title-color);
}

.resumen .unidad .regimen_precio .precio del {
  margin-right: 1rem;
  color: var(--gris-medio);
}

.calendarios .formulario {
  background: #fff;
  color: #535150;
  padding: 0;
  padding-bottom: 1rem;
  padding-top: 1.5rem;
}
.calendarios .formulario span.radios {
  padding: 0;
  line-height: 1.2;
}
.calendarios .formulario span.info_datos {
  display: block;
  height: auto;
}

@media only screen and (max-width: 600px) {
  .calendarios .formulario {
    width: calc(100% - 3rem);
    margin: 0 auto 2rem;
  }
  .calendarios .formulario a.enviar {
    margin-bottom: 0;
  }
  .resumen_condiciones .codigo_promocion {
    width: 100%;
    max-width: 100%;
  }
  .resumen_condiciones .codigo_promocion form {
    max-width: 90%;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 600px) {
  .resumen .unidad .regimen_precio {
    padding-left: 4rem;
  }
  .resumen .unidad .numero {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 960px) {
  .resumen .unidad .numero,
  .resumen .unidad .regimen_precio {
    width: 50%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 0;
  }
  .resumen .unidad .numero strong {
    line-height: 1.4;
  }
}
@media only screen and (min-width: 1080px) {
  .resumen .unidad {
    margin-bottom: 0;
  }
  .resumen .unidad .numero,
  .resumen .unidad .regimen_precio {
    width: 100%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 0;
  }
  .resumen .unidad .regimen_precio {
    margin-top: 0.5rem;
  }
}
.precios {
  display: block;
  color: var(--text-color);
  font-size: 1.1rem;
  border-top: 1px solid var(--text-color);
  margin-top: -1px;
  padding: 0.5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  font-family: "Outfit";
}
@media only screen and (min-width: 1080px) {
  .precios {
    padding: 0.5rem 0;
  }
}

.precios .total {
  padding-left: 2rem;
  font-family: "Outfit SemiBold";
  color: var(--title-color);
}

.precios .iva {
  width: 100%;
  text-align: right;
  font-size: 0.9rem;
  color: var(--gris-medio);
}

@media only screen and (min-width: 980px) {
  .calendarios .formulario {
    padding-top: 3rem;
  }
}
.resumen_condiciones {
  padding: 1rem;
}

.resumen_condiciones .formulario {
  max-width: 20rem;
  margin: 0 auto;
}

/*TABLA RESUMEN*/
.tabla_resumen table .define {
  display: table-row;
  width: 100%;
}

.tabla_resumen table .define td {
  background: #fff;
  color: var(--title-color);
  padding: 0.5rem 1rem;
  font-family: "Outfit";
  border-bottom: 1px solid var(--text-color);
}

.tabla_resumen table td {
  padding: 0.5rem 1rem;
  width: 45%;
}

.tabla_resumen table td .texto,
.tabla_resumen table td .texto_columna {
  padding: 0;
  margin: 0;
  width: 100% !important;
  max-width: 100%;
}

#cabecera-print {
  display: none;
}

.tabla_resumen .bloque {
  padding: 0.5rem 0;
}
.tabla_resumen .bloque h1 {
  margin: 0 0 0.5rem;
  text-transform: uppercase;
  font-size: 0.9rem;
}

.paso3 .extras p {
  margin-bottom: 1rem;
}
.paso3 .extras .extra {
  margin-bottom: 0.5rem;
}
.paso3 .extras .extra:last-of-type {
  margin: 0;
}

.pago .submit {
  margin: 1rem auto 1rem;
}

.resumen_fechas.repite_pago {
  text-align: center;
}
.resumen_fechas.repite_pago .fechas span {
  padding: 0;
}

.tabla_resumen .bloque.textos .texto_columna h2, .tabla_resumen .bloque.textos .texto_columna h3 {
  font-size: inherit;
}

@media only screen and (min-width: 768px) {
  .reservas .formulario span.radios span {
    white-space: nowrap;
  }
}
.reservas .mensaje_error {
  background: #fff;
  border-radius: 0.25rem;
  border: 1px solid #DA2424;
  margin: 0 auto 1rem;
}
.reservas .mensaje_error h3 {
  color: #DA2424;
  position: relative;
  display: block;
  padding-left: 1.5rem;
  font-size: 1.15rem;
}
.reservas .mensaje_error h3:before {
  position: absolute;
  font-family: "infotelecom";
  content: "\e816";
  left: 0;
  font-size: 1rem;
  line-height: 1.2;
}
.reservas .mensaje_error p {
  font-size: 0.9rem;
}
.reservas .mensaje_error p a {
  color: var(--c-primary-20);
}
.reservas .mensaje_error p a:hover {
  text-decoration: underline;
}
@media only screen and (min-width: 370px) {
  .reservas .mensaje_error {
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 600px) {
  .reservas .mensaje_error {
    width: calc(100vw - 4rem);
  }
}
@media only screen and (min-width: 960px) {
  .reservas .mensaje_error {
    width: calc(100vw - 6rem);
    max-width: 60rem;
    padding: 2rem;
  }
  .reservas .mensaje_error h3 {
    font-size: 1.25rem;
  }
  .reservas .mensaje_error p {
    font-size: 1rem;
  }
}
@media only screen and (min-width: 1240px) {
  .reservas .mensaje_error {
    width: 100%;
    max-width: 1200px;
  }
}

.flatpickr-calendar {
  background: transparent;
  opacity: 0;
  display: none;
  text-align: center;
  visibility: hidden;
  padding: 0;
  -webkit-animation: none;
          animation: none;
  direction: ltr;
  border: 0;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 5px;
  position: absolute;
  width: 307.875px;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  background: #fff;
  -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(17, 17, 17, 0.08);
          box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(17, 17, 17, 0.08);
  border: 1px solid;
  border-color: #ccc;
}

.flatpickr-calendar.open,
.flatpickr-calendar.inline {
  opacity: 1;
  max-height: 640px;
  visibility: visible;
}

.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999;
}

.flatpickr-calendar.animate.open {
  -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
          animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.flatpickr-calendar.inline {
  display: block;
  position: relative;
  top: 2px;
}

.flatpickr-calendar.static {
  position: absolute;
  top: calc(100% + 2px);
}

.flatpickr-calendar.static.open {
  z-index: 999;
  display: block;
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
  -webkit-box-shadow: -2px 0 0 var(--c-primary-10), 5px 0 0 var(--c-primary-10);
          box-shadow: -2px 0 0 var(--c-primary-10), 5px 0 0 var(--c-primary-10);
}

.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.flatpickr-calendar .hasWeeks .dayContainer {
  border-left: 0;
}

.flatpickr-calendar.hasTime .flatpickr-time {
  height: 40px;
  border-top: 1px solid #e6e6e6;
}

.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto;
}

.flatpickr-calendar:before,
.flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  left: 22px;
}

.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.arrowRight:before,
.flatpickr-calendar.rightMost:after,
.flatpickr-calendar.arrowRight:after {
  left: auto;
  right: 22px;
}

.flatpickr-calendar.arrowCenter:before,
.flatpickr-calendar.arrowCenter:after {
  left: 50%;
  right: 50%;
}

.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px;
}

.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px;
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
  bottom: 100%;
}

.flatpickr-calendar.arrowTop:before {
  border-bottom-color: #ccc;
}

.flatpickr-calendar.arrowTop:after {
  border-bottom-color: #fff;
}

.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  top: 100%;
}

.flatpickr-calendar.arrowBottom:before {
  border-top-color: #e6e6e6;
}

.flatpickr-calendar.arrowBottom:after {
  border-top-color: #fff;
}

.flatpickr-calendar:focus {
  outline: 0;
}

.flatpickr-wrapper {
  position: relative;
  display: inline-block;
}

.flatpickr-months {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #fff;
  color: var(--text-color);
  border-radius: 5px 5px 0 0;
}

.flatpickr-months .flatpickr-month {
  background: transparent;
  color: rgba(var(--text-color), 0.9);
  fill: rgba(var(--text-color), 0.9);
  height: 2rem;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  overflow: hidden;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  height: 2rem;
  padding: 0.5rem;
  z-index: 3;
  color: rgba(var(--text-color), 0.9);
  fill: rgba(var(--text-color), 0.9);
}

.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
  display: none;
}

.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
  position: relative;
}

.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
  left: 0;
}

.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
  right: 0;
}

.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  color: var(--c-primary);
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: var(--c-primary);
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  width: 1rem;
  height: 1rem;
}

.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
  -webkit-transition: fill 0.1s;
  transition: fill 0.1s;
  fill: inherit;
}

.numInputWrapper {
  position: relative;
  height: auto;
}

.numInputWrapper input,
.numInputWrapper span {
  display: inline-block;
}

.numInputWrapper input {
  width: 100%;
}

.numInputWrapper input::-ms-clear {
  display: none;
}

.numInputWrapper input::-webkit-outer-spin-button,
.numInputWrapper input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 1rem;
  padding: 0 0.25rem 0 0.125rem;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(57, 57, 57, 0.15);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.numInputWrapper span:hover {
  background: rgba(17, 17, 17, 0.1);
}

.numInputWrapper span:active {
  background: rgba(17, 17, 17, 0.2);
}

.numInputWrapper span:after {
  display: block;
  content: "";
  position: absolute;
}

.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0;
}

.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(57, 57, 57, 0.6);
  top: 26%;
}

.numInputWrapper span.arrowDown {
  top: 50%;
}

.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(57, 57, 57, 0.6);
  top: 40%;
}

.numInputWrapper span svg {
  width: inherit;
  height: auto;
}

.numInputWrapper span svg path {
  fill: rgba(17, 17, 17, 0.5);
}

.numInputWrapper:hover {
  background: rgba(17, 17, 17, 0.05);
}

.numInputWrapper:hover span {
  opacity: 1;
}

.flatpickr-current-month {
  color: var(--text-color);
  font-size: 1.1rem;
  line-height: inherit;
  font-family: "Outfit Light";
  color: inherit;
  position: absolute;
  width: 75%;
  left: 12.5%;
  padding: 7.48px 0 0 0;
  line-height: 1;
  height: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  text-align: center;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
}

.flatpickr-current-month span.cur-month {
  font-family: inherit;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0;
}

.flatpickr-current-month span.cur-month:hover {
  background: rgba(17, 17, 17, 0.05);
}

.flatpickr-current-month .numInputWrapper {
  width: 4rem;
  display: inline-block;
}
.flatpickr-current-month .numInputWrapper input {
  background: transparent !important;
  color: inherit !important;
  border: none !important;
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: rgba(var(--text-color), 0.9);
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: rgba(var(--text-color), 0.9);
}

.flatpickr-current-month input.cur-year {
  background: transparent;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  cursor: text;
  padding: 0 0 0 0.5ch;
  margin: 0;
  display: inline-block;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
  height: auto;
  border: 0;
  border-radius: 0;
  vertical-align: initial;
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield;
}

.flatpickr-current-month input.cur-year:focus {
  outline: 0;
}

.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
  font-size: 100%;
  color: rgba(17, 17, 17, 0.5);
  background: transparent;
  pointer-events: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
  appearance: menulist;
  color: inherit;
  background: transparent;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  height: auto;
  line-height: inherit;
  margin: -1px 0 0 0;
  outline: none;
  padding: 0 0 0 0.5ch;
  position: relative;
  vertical-align: initial;
  -webkit-box-sizing: border-box;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  width: auto;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
  outline: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background: rgba(17, 17, 17, 0.05);
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  background-color: transparent;
  color: var(--text-color);
  outline: none;
  padding: 0;
}

.flatpickr-weekdays {
  background: transparent;
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 28px;
  background: #fff;
  margin-bottom: 5px;
}

.flatpickr-weekdays .flatpickr-weekdaycontainer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

span.flatpickr-weekday {
  cursor: default;
  font-family: "Outfit SemiBold";
  font-size: 0.9rem;
  background: transparent;
  color: rgba(var(--text-color), 0.54);
  line-height: 1;
  margin: 0;
  text-align: center;
  display: block;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.dayContainer,
.flatpickr-weeks {
  padding: 1px 0 0 0;
}

.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 307.875px;
}

.flatpickr-days:focus {
  outline: 0;
}

.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 307.875px;
  min-width: 307.875px;
  max-width: 307.875px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
  opacity: 1;
}

.dayContainer + .dayContainer {
  -webkit-box-shadow: -1px 0 0 #e6e6e6;
          box-shadow: -1px 0 0 #e6e6e6;
}

.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: var(--text-color);
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  -ms-flex-preferred-size: 14.2857143%;
      flex-basis: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 39px;
  margin: 0;
  display: inline-block;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}

.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
  cursor: pointer;
  outline: 0;
  background: var(--c-primary-10);
  border-color: var(--c-primary-10);
  color: var(--c-primary-20);
}

.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover {
  background: #e6e6e6;
  border-color: #e6e6e6;
}

.flatpickr-day.today {
  border-color: #959ea9;
}

.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
  border-color: #959ea9;
  background: #959ea9;
  color: #fff;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: var(--c-primary);
  -webkit-box-shadow: none;
          box-shadow: none;
  font-family: "Outfit SemiBold";
  color: #fff;
  border-color: var(--c-primary);
}

.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
  border-radius: 50px 0 0 50px;
}

.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
  border-radius: 0 50px 50px 0;
}

.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  -webkit-box-shadow: -10px 0 0 var(--c-primary);
          box-shadow: -10px 0 0 var(--c-primary);
}

.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
  border-radius: 50px;
}

.flatpickr-day.inRange {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 var(--c-primary-10), 5px 0 0 var(--c-primary-10);
          box-shadow: -5px 0 0 var(--c-primary-10), 5px 0 0 var(--c-primary-10);
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
  color: rgba(57, 57, 57, 0.3);
  background: transparent;
  border-color: transparent;
  cursor: default;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  cursor: not-allowed;
  color: var(--gris-bordes);
}

.flatpickr-day.week.selected {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 var(--c-primary), 5px 0 0 var(--c-primary);
          box-shadow: -5px 0 0 var(--c-primary), 5px 0 0 var(--c-primary);
}

.flatpickr-day.hidden {
  visibility: hidden;
}

.rangeMode .flatpickr-day {
  margin-top: 1px;
}

.flatpickr-weekwrapper {
  float: left;
}

.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px;
  -webkit-box-shadow: 1px 0 0 #e6e6e6;
          box-shadow: 1px 0 0 #e6e6e6;
}

.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%;
  line-height: 28px;
}

.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
  display: block;
  width: 100%;
  max-width: none;
  color: rgba(57, 57, 57, 0.3);
  background: transparent;
  cursor: default;
  border: none;
}

.flatpickr-innerContainer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
}

.flatpickr-rContainer {
  display: inline-block;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.flatpickr-input[readonly] {
  cursor: pointer;
}

@-webkit-keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
.buscador {
  display: none;
  background: #fff;
  padding: 1rem;
  margin-bottom: 1.5rem;
  top: 100vh;
}
@media only screen and (min-width: 600px) {
  .buscador {
    padding: 1.5rem;
    margin-bottom: 2rem;
  }
}
.buscador.abierto {
  display: block;
  overflow-y: scroll;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5000;
  width: 100vw;
  height: 100vh;
  margin: 0;
  padding: 4rem 0 0;
  -webkit-animation: abreBuscador 0.5s ease forwards;
          animation: abreBuscador 0.5s ease forwards;
}
.buscador.cerrar {
  -webkit-animation: cierraBuscador 0.5s ease forwards;
          animation: cierraBuscador 0.5s ease forwards;
}
@media only screen and (min-width: 1240px) {
  .buscador.cerrar {
    -webkit-animation: none;
            animation: none;
  }
}
.buscador.formulario .grupo_campos {
  padding: 2rem;
}
.buscador.formulario .grupo {
  margin-bottom: 2rem;
  background: #fff;
}
.buscador.formulario .titulo_grupo_campos {
  padding: 0;
  color: ar(--c-black);
}
.buscador.formulario .alojamiento {
  margin-bottom: 1rem;
}
.buscador.formulario .alojamiento + .alojamiento {
  border-top: 1px solid;
  padding-top: 1rem;
  margin-top: calc(-1rem - 1px);
}
.buscador.formulario .titulo_campo {
  font-size: 1.1rem;
  letter-spacing: 0.5px;
  padding: 0;
}
.buscador.formulario .titulo_campo button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-width: 0;
  background: transparent;
  cursor: pointer;
  color: var(--c-primary);
}
.buscador.formulario .ocupacion .resumen_ocupacion {
  display: none;
}
.buscador.formulario .campo.ocupacion {
  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: wrap;
      flex-wrap: wrap;
  padding: 0.75em 0;
  border-bottom: 1px solid #c2c1c1;
}
.buscador.formulario .campo.ocupacion label {
  text-align: left;
  line-height: 1.2;
  font-size: 1rem;
  font-family: "Outfit SemiBold";
  color: var(--c-black);
}
.buscador.formulario .campo.ocupacion label span {
  display: block;
  font-family: "Outfit";
  font-size: 0.9rem;
  color: var(--text-color);
}
.buscador.formulario .campo.ocupacion .campo_campo.valor {
  margin-left: auto;
  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.formulario .campo.ocupacion .campo_campo.valor input {
  border: none;
  width: 2rem;
  height: 2rem;
  margin: 0;
  text-align: center;
  padding: 0;
  color: var(--c-black);
  font-family: "Outfit SemiBold";
  font-size: 1rem;
}
.buscador.formulario .campo.ocupacion .campo_campo.valor input:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.buscador.formulario .campo.ocupacion .campo_campo.valor button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  width: 2rem;
  height: 2rem;
  text-align: center;
  border-radius: 100%;
  border: 1px solid var(--text-color);
  background: #fff;
  opacity: 0.75;
}
.buscador.formulario .campo.ocupacion .campo_campo.valor button img {
  width: 1rem;
}
.buscador.formulario .campo.ocupacion .campo_campo.valor button.disabled, .buscador.formulario .campo.ocupacion .campo_campo.valor button.disabled:hover {
  opacity: 0.25;
  cursor: not-allowed !important;
}
.buscador.formulario .campo.ocupacion .campo_campo.valor button:hover {
  cursor: pointer;
  opacity: 1;
  border-color: var(--c-black);
}
.buscador.formulario .campo.ocupacion .edades {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 1rem;
}
.buscador.formulario .campo.ocupacion .edades label {
  font-family: "Outfit";
  width: auto;
  max-width: 33%;
  margin-right: auto;
}
.buscador.formulario .campo.ocupacion .edades .edades_ninos select {
  width: 4rem;
  margin-left: 1rem;
}
.buscador.formulario .anadir {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.75rem 0;
}
.buscador.formulario .anadir button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-width: 0;
  text-transform: none;
  font-size: 0.9rem;
  line-height: 1;
  cursor: pointer;
}
.buscador.formulario .anadir button.anadir {
  color: var(--c-primary);
  background: transparent;
}
.buscador.formulario .anadir button.anadir span {
  border-radius: 100%;
  border: 1px solid;
  width: 1.25rem;
  height: 1.25rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 0.25rem;
}
.buscador.formulario .anadir button.anadir span img {
  width: 0.75rem;
}
.buscador.formulario .anadir button.boton-borde {
  margin: 0;
  border-width: 1px;
  padding: 0.5rem 1rem;
  width: auto;
}
.buscador.formulario .boton_form {
  position: fixed;
  bottom: 0;
  width: 100vw;
  left: 0;
  padding: 1rem;
  background: #fff;
  -webkit-box-shadow: 0 0 10px rgba(var(--text-color), 0.125);
          box-shadow: 0 0 10px rgba(var(--text-color), 0.125);
  border-top: 1px solid #c2c1c1;
}
@media only screen and (min-width: 340px) {
  .buscador.formulario .boton_form {
    padding: 1rem 2rem;
  }
}
@media only screen and (min-width: 600px) {
  .buscador.formulario .boton_form {
    padding: 1rem 2rem;
  }
}
@media only screen and (min-width: 1240px) {
  .buscador.formulario .boton_form {
    position: relative;
    padding: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    border: none;
  }
}
.buscador.formulario .boton, .buscador.formulario .boton-medio, .buscador.formulario .boton-grande, .buscador.formulario .boton-borde {
  margin: 0 auto;
}
@media only screen and (min-width: 600px) {
  .buscador.formulario .grupo_campos {
    padding: 3rem;
    /*  min-height: calc(100vh - 8rem);
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-bottom: 0; // espacio inferior del botón fijo*/
  }
}
@media only screen and (min-width: 768px) {
  .buscador {
    padding: 2rem;
    grid-column-start: 1;
    grid-column-end: -1;
    margin-bottom: 0;
  }
  .buscador .boton_form .boton, .buscador .boton_form .boton-medio, .buscador .boton_form .boton-grande, .buscador .boton_form .boton-borde {
    width: 100%;
  }
}
@media only screen and (min-width: 960px) {
  .buscador.formulario .grupo_campos {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 calc((100% - 45rem) / 2) 3rem;
  }
  .buscador.formulario .grupo_campos .grupo {
    width: 50%;
    margin: 0;
  }
  .buscador.formulario .grupo_campos .grupo.fechas {
    padding-right: 6rem;
    -ms-flex-item-align: start;
        align-self: flex-start;
    position: sticky;
    top: 0;
  }
  .buscador.formulario .boton_form .boton, .buscador.formulario .boton_form .boton-medio, .buscador.formulario .boton_form .boton-grande, .buscador.formulario .boton_form .boton-borde {
    width: 45rem;
  }
}

@media only screen and (min-width: 1240px) {
  #buscador.formulario,
  #buscador.formulario.abierto {
    display: block;
    position: relative;
    z-index: 3;
    top: 0;
    height: auto;
    margin: 0;
    padding: 1rem calc((100% - 1200px) / 2);
    width: 100%;
    overflow-y: initial;
    margin-top: 0;
  }
  #buscador.formulario .grupo_campos {
    min-height: auto;
    height: auto;
    padding: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #buscador.formulario .grupo_campos .grupo {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: auto;
    -ms-flex-item-align: start;
        align-self: flex-start;
    padding-right: 6rem;
  }
  #buscador.formulario .grupo_campos .titulo_grupo_campos {
    font-size: 1rem;
    font-family: "Outfit SemiBold";
    margin: 0;
  }
  #buscador.formulario .grupo_campos .fechas input[readonly], #buscador.formulario .grupo_campos .ocupacion .resumen_ocupacion {
    display: block;
    border: none;
    font-size: 1rem;
    height: 2rem;
    line-height: 2rem;
    padding: 0;
    margin: 0;
    cursor: pointer;
    background: transparent;
    font-family: "Outfit";
    color: var(--text-color);
  }
  #buscador.formulario .grupo_campos .fechas input[readonly]:focus, #buscador.formulario .grupo_campos .ocupacion .resumen_ocupacion:focus {
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  #buscador.formulario .grupo_campos .ocupacion .alojamientos {
    display: none;
  }
  #buscador.formulario .grupo_campos .ocupacion .alojamientos.activo {
    display: block;
    position: absolute;
    background: #fff;
    padding: 1rem 1rem 0;
    -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(17, 17, 17, 0.08);
            box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(17, 17, 17, 0.08);
    z-index: 2;
  }
}
@media only screen and (min-width: 1240px) and (min-width: 1240px) {
  #buscador.formulario .grupo_campos .ocupacion .alojamientos.activo {
    top: 3.5rem;
    width: 18rem;
  }
  #buscador.formulario .grupo_campos .ocupacion .alojamientos.activo #alojamiento1 {
    border: none;
  }
}
@media only screen and (min-width: 1240px) {
  #buscador.formulario .grupo_campos .campo .titulo_campo {
    text-align: left;
  }
  #buscador.formulario .grupo_campos .campo .titulo_campo, #buscador.formulario .grupo_campos .campo .campo_campo {
    width: auto;
    padding-top: 0;
  }
  #buscador.formulario .grupo_campos .campo .titulo_campo select, #buscador.formulario .grupo_campos .campo .campo_campo select {
    margin: 0;
    min-width: 12rem;
    height: 2.25em;
  }
  #buscador.formulario .grupo_campos .campo .campo_doble {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #buscador.formulario .grupo_campos .campo .campo_doble select {
    margin-bottom: 0.5rem;
    width: 100%;
  }
  #buscador.formulario .boton_form {
    width: auto;
    min-width: 10rem;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
  #buscador.formulario .boton_form .boton, #buscador.formulario .boton_form .boton-medio, #buscador.formulario .boton_form .boton-grande, #buscador.formulario .boton_form .boton-borde {
    margin: 0;
    display: block;
    width: auto;
  }
}
.boton-buscador {
  display: inline-block;
}
@media only screen and (min-width: 1240px) {
  .boton-buscador {
    display: none;
  }
}

@-webkit-keyframes abreBuscador {
  0% {
    opacity: 0;
    top: 100vh;
  }
  100% {
    opacity: 1;
    top: 0;
  }
}

@keyframes abreBuscador {
  0% {
    opacity: 0;
    top: 100vh;
  }
  100% {
    opacity: 1;
    top: 0;
  }
}
@-webkit-keyframes cierraBuscador {
  0% {
    opacity: 100;
    top: 0;
  }
  100% {
    opacity: 0;
    top: 100vh;
  }
}
@keyframes cierraBuscador {
  0% {
    opacity: 100;
    top: 0;
  }
  100% {
    opacity: 0;
    top: 100vh;
  }
}
@media only screen and (min-width: 1240px) {
  #buscador .cerrar {
    display: none;
    visibility: hidden;
  }
  #buscador.formulario {
    width: 1200px;
    padding: 0.5rem;
    margin: 1rem auto 0;
    background: var(--level-0);
    border-color: rgba(var(--c-primary-alpha), 0.5);
    position: sticky;
    top: calc(6rem - 1px);
  }
}
@media only screen and (min-width: 1240px) and (min-width: 1440px) {
  #buscador.formulario {
    width: 1356px;
  }
}
@media only screen and (min-width: 1240px) {
  #buscador.formulario .grupo_campos .grupo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 3rem;
    padding-right: 0;
  }
}
@media only screen and (min-width: 1240px) and (min-width: 1440px) {
  #buscador.formulario .grupo_campos .grupo {
    height: 3rem;
  }
}
@media only screen and (min-width: 1240px) {
  #buscador.formulario .grupo_campos .grupo .titulo_grupo_campos {
    margin-right: 1rem;
    font-size: 1rem;
    color: var(--c-black);
    padding-left: 2rem;
    background-image: url(/static/graficos/reservas/calendario.png);
    background-position: 0.5rem center;
    background-size: 1.25rem;
    background-repeat: no-repeat;
  }
}
@media only screen and (min-width: 1240px) and (min-width: 1440px) {
  #buscador.formulario .grupo_campos .grupo .titulo_grupo_campos {
    padding-left: 3rem;
    background-position: 1rem center;
  }
}
@media only screen and (min-width: 1240px) {
  #buscador.formulario .grupo_campos .grupo.ocupacion .titulo_grupo_campos {
    background-image: url(/static/graficos/reservas/ocupacion.png);
  }
  #buscador.formulario .grupo_campos .grupo.fechas {
    border-right: 1px solid #c2c1c1;
  }
  #buscador.formulario .boton_form {
    background: transparent;
  }
  #buscador.formulario .boton_form .boton, #buscador.formulario .boton_form .boton-medio, #buscador.formulario .boton_form .boton-grande, #buscador.formulario .boton_form .boton-borde {
    line-height: 3rem;
    font-size: 1.1rem;
    border-radius: 0;
  }
}
@media only screen and (min-width: 1240px) and (min-width: 1440px) {
  #buscador.formulario .boton_form .boton, #buscador.formulario .boton_form .boton-medio, #buscador.formulario .boton_form .boton-grande, #buscador.formulario .boton_form .boton-borde {
    line-height: 3rem;
  }
}
@media only screen and (min-width: 1240px) {
  #buscador.formulario.tipo_columna {
    position: relative;
    background: #fff;
    width: 18rem;
    padding: 1.5rem;
    border-radius: 1rem;
    border: 1px solid #c2c1c1;
  }
  #buscador.formulario.tipo_columna .grupo_campos {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #buscador.formulario.tipo_columna .grupo_campos .grupo {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: auto;
    width: 100%;
    border: 1px solid #c2c1c1;
    border-radius: 0.25rem;
  }
  #buscador.formulario.tipo_columna .grupo_campos .grupo.fechas {
    margin-bottom: 1rem;
  }
  #buscador.formulario.tipo_columna .grupo_campos .grupo .titulo_grupo_campos {
    width: 100%;
    padding: 0;
    margin: 0;
    text-align: center;
    border-bottom: 1px solid #c2c1c1;
    background-size: 1rem;
  }
  #buscador.formulario.tipo_columna .grupo_campos .grupo .campo, #buscador.formulario.tipo_columna .grupo_campos .grupo .resumen_ocupacion {
    width: 100%;
    text-align: center;
  }
  #buscador.formulario.tipo_columna .grupo_campos .grupo .campo input, #buscador.formulario.tipo_columna .grupo_campos .grupo .resumen_ocupacion input {
    text-align: center;
  }
  #buscador.formulario.tipo_columna .boton_form {
    width: 100%;
    margin-top: 1rem;
  }
  #buscador.formulario.tipo_columna .boton_form .boton, #buscador.formulario.tipo_columna .boton_form .boton-medio, #buscador.formulario.tipo_columna .boton_form .boton-grande, #buscador.formulario.tipo_columna .boton_form .boton-borde {
    border-radius: 0.25rem;
    line-height: 2.5rem;
  }
}
#busqueda .flatpickr-calendar.inline {
  -webkit-box-shadow: none;
          box-shadow: none;
  margin: 1rem auto;
}
#busqueda .flatpickr-calendar.inline:after, #busqueda .flatpickr-calendar.inline:before {
  display: none;
}

#busqueda .flatpickr-input[readonly] {
  display: none;
}

.lightbox_reservas .cerrar {
  position: fixed;
  top: 1px;
  right: 1px;
  width: 100%;
  z-index: 1005;
  height: 3rem;
  padding: 0 1rem;
  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;
  background: #fff;
  will-change: auto;
  -webkit-animation: fromRight 0.5s ease forwards;
          animation: fromRight 0.5s ease forwards;
}

.lightbox_reservas .cerrar span {
  margin: auto;
  font-family: "Outfit SemiBold";
}

.lightbox_reservas .cerrar a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(/static/graficos/cerrar.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.lightbox_reservas .cerrar a span {
  display: none;
  font-size: 0.9rem;
  font-family: "Outfit";
  text-transform: uppercase;
  color: var(--title-color);
}

.disponibilidad {
  width: 100%;
  background: #fff;
  border: solid;
  border-color: var(--gris-bordes);
  border-width: 1px 0 0;
  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: 600px) {
  .disponibilidad {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
@media only screen and (min-width: 960px) {
  .disponibilidad {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.disponibilidad .titulo_bloque h2 {
  font-family: "Outfit SemiBold";
  font-size: 1.56rem;
  color: var(--title-color);
  text-align: center;
}
@media only screen and (min-width: 960px) {
  .disponibilidad .titulo_bloque h2 {
    text-align: left;
  }
}

.disponibilidad .calendarios {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  padding: 0;
  margin: 0;
}
@media only screen and (min-width: 600px) {
  .disponibilidad .calendarios {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (min-width: 960px) {
  .disponibilidad .calendarios {
    width: 100%;
    margin: 0 auto;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }
}
@media only screen and (min-width: 1240px) {
  .disponibilidad .calendarios {
    grid-template-columns: repeat(5, 1fr);
  }
}

.disponibilidad .calendario {
  background: #fff;
  border: 1px solid;
  border-color: var(--gris-bordes);
  font-size: 0.75rem;
  cursor: default;
  display: block;
  height: auto;
}
@media only screen and (min-width: 600px) {
  .disponibilidad .calendario {
    font-size: 0.85rem;
  }
}
@media only screen and (min-width: 960px) {
  .disponibilidad .calendario {
    font-size: 1rem;
  }
}

.disponibilidad .calendario table th {
  background: #fff;
  color: var(--text-color);
  font-family: "Outfit";
  font-weight: normal;
  text-align: center;
}
.disponibilidad .calendario table th.tdtitulo {
  font-family: "Outfit SemiBold";
}
.disponibilidad .calendario table td {
  border: 1px solid var(--gris-bordes);
  background: #fff;
  border-bottom: 0;
}
.disponibilidad .calendario table td span {
  display: block;
  text-align: right;
  padding-right: 0.25rem;
  font-family: "Outfit";
  color: var(--text-color);
}
@media only screen and (min-width: 768px) {
  .disponibilidad .calendario table td span {
    padding-right: 0.5rem;
  }
}
.disponibilidad .calendario table td span.disp {
  background: #0B8845;
  color: #fff;
}
.disponibilidad .calendario table td span.nodisp {
  background: #f7f7f7;
  cursor: default;
}
.disponibilidad .calendario table td a:hover {
  text-decoration: none;
  background: rgba(255, 255, 255, 0.35);
  mix-blend-mode: lighten;
}
.disponibilidad .calendario table tr td:first-child {
  border-left: 0;
}
.disponibilidad .calendario table tr td:last-child {
  border-right: 0;
}

@media only screen and (min-width: 1240px) {
  .bloque.textos {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.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);
}
.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 {
  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: 103;
      -ms-flex-order: 102;
          order: 102;
}
#contenido .banner {
  -webkit-box-ordinal-group: 102;
      -ms-flex-order: 101;
          order: 101;
}

#footer .submenu ul.horario {
  line-height: 1.5;
}

@media only screen and (min-width: 960px) {
  #footer .submenu ul.horario {
    margin: 0;
  }
}
#footer .submenu ul.horario li strong {
  display: block;
}

.banner .enlace-reservas p {
  max-width: 45rem;
}

.galeria.masonry {
  border-top: 1px solid var(--gris-medio);
}
.galeria.masonry .titulo_bloque {
  text-align: left;
}
@media only screen and (min-width: 960px) {
  .galeria.masonry .titulo_bloque {
    text-align: center;
  }
}
.galeria.masonry ul li:hover {
  cursor: default;
}
.galeria.masonry ul li:hover img {
  opacity: 1;
}

body.noscroll #header #logo {
  position: relative;
}
body.noscroll #header #logo img {
  position: relative;
  z-index: 100000;
  -webkit-filter: contrast(0) brightness(100);
          filter: contrast(0) brightness(100);
}

.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;
}

.banner.sin_foto {
  position: sticky;
  bottom: 0;
  -webkit-box-ordinal-group: initial !important;
      -ms-flex-order: initial !important;
          order: initial !important;
}
@media only screen and (min-width: 960px) {
  .banner.sin_foto {
    position: relative;
  }
}
.banner.sin_foto .cabecera {
  min-height: 2rem !important;
}
.banner.sin_foto .enlace-reservas {
  height: auto;
  min-height: 2rem !important;
  padding: 1rem;
}
@media only screen and (min-width: 960px) {
  .banner.sin_foto .enlace-reservas {
    background: transparent;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 1rem 0;
    text-shadow: none;
    border: 1px solid var(--gris-medio);
    border-width: 1px 0;
  }
}
@media only screen and (min-width: 960px) {
  .banner.sin_foto .enlace-reservas p {
    color: var(--title-color);
    font-family: "Outfit SemiBold";
    font-size: 1.25rem;
  }
}
.banner.sin_foto .enlace-reservas a {
  margin: 0;
  cursor: pointer;
  margin-left: 1rem;
}
@media only screen and (min-width: 960px) {
  .banner.sin_foto .enlace-reservas a {
    background: #0B8845;
    color: #fff;
    outline-color: transparent;
  }
  .banner.sin_foto .enlace-reservas a:hover {
    background: var(--c-primary);
    outline-color: #fff;
  }
}

@media only screen and (min-width: 960px) {
  #footer.compacto .bloque.simple address {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
  }
  #footer.compacto .bloque.simple address strong {
    margin: 0;
  }
  #footer.compacto .bloque.simple address ul li {
    width: auto !important;
  }
}
@media only screen and (min-width: 1240px) {
  #footer.compacto .bloque.simple {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.seccion.contacto .bloque.textos .sin-foto,
.seccion.contacto .bloque.textos .sin-foto p {
  text-align: left;
}

.servicios_portada {
  background: var(--bg-theme-black);
}
.servicios_portada .bloque.fichas_destacadas {
  border-width: 0;
}
.servicios_portada .fichas_destacadas .ficha .boton-borde {
  color: var(--title-color-dt);
  outline-color: var(--title-color-dt);
}
@media only screen and (min-width: 768px) and (max-width: 959px) {
  .servicios_portada .grupo_fichas.fichas_destacadas ul li:last-of-type {
    grid-column: span 2;
  }
}
@media only screen and (min-width: 960px) {
  .servicios_portada .grupo_fichas.fichas_destacadas ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2rem;
  }
  .servicios_portada .grupo_fichas.fichas_destacadas ul li {
    width: calc(33% - 2rem);
  }
}
@media only screen and (min-width: 1240px) {
  .servicios_portada .grupo_fichas.fichas_destacadas ul {
    gap: 4rem 3rem;
  }
  .servicios_portada .grupo_fichas.fichas_destacadas ul li {
    width: calc(33% - 3rem);
  }
}

.servicios_portada + .bloque.foto_flotada_derecha_portada {
  background: var(--background-color);
}
.servicios_portada + .bloque.foto_flotada_derecha_portada + .fichas_testimonios {
  background: var(--bg-theme-black);
}

.seccion.contacto {
  background: transparent;
  border: solid;
  border-width: 0 0 1px;
  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: 8rem;
  margin-bottom: 1rem;
  margin-top: 1.5rem;
}
@media only screen and (min-width: 960px) {
  .seccion.contacto .bloque.textos img {
    margin-top: 0;
    width: 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 strong {
  display: block;
}
.seccion.contacto ul li h4 {
  font-family: "Outfit 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 .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: -1rem;
}
.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: 2;
  }
  .seccion.contacto .formulario {
    grid-row: span 3;
    grid-column: 1;
    -webkit-box-ordinal-group: -9;
        -ms-flex-order: -10;
            order: -10;
    border-width: 0;
  }
  .seccion.contacto .formulario .titulo_bloque {
    text-align: left;
  }
  .seccion.contacto .formulario .titulo_bloque p {
    text-align: left;
  }
  .seccion.contacto .mapa_grande {
    grid-column: 2;
    max-width: 100%;
    margin-bottom: 3rem;
  }
}
@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;
}

.formulario span.info_datos {
  display: none;
  height: 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.formulario span.info_datos.activo {
  display: block;
  height: auto;
}

.contactos .direccion {
  display: block;
  width: 16rem;
  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);
}

.seccion.contacto.sin_formulario {
  background: var(--bg-theme-black);
}
@media only screen and (min-width: 960px) {
  .seccion.contacto.sin_formulario {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (min-width: 1240px) {
  .seccion.contacto.sin_formulario {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .seccion.contacto.sin_formulario .textos {
    width: 66%;
    padding: 3rem 0;
  }
  .seccion.contacto.sin_formulario .mapa_grande {
    width: 33% !important;
    -ms-flex-item-align: stretch;
        align-self: stretch;
    margin: 3rem auto;
  }
  .seccion.contacto.sin_formulario .mapa_grande iframe {
    height: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .seccion.contacto.sin_formulario .texto_columna {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .seccion.contacto.sin_formulario .texto_columna .contactos {
    width: 50%;
  }
  .seccion.contacto.sin_formulario .texto_columna .horarios {
    width: 50%;
    border-width: 0 0 0 1px;
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .seccion.contacto.sin_formulario .texto_columna .horarios ul {
    margin: 0 auto;
  }
}

@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: 100%;
}

.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-light);
  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 - (6rem + 0rem));
    height: calc(100vh - (6rem + 0rem));
  }
  .lslide .caption,
  .clone .caption,
  #slider2 .lightSlider li img,
  #slider2 img.imagen {
    height: calc(100vh - (6rem + 0rem)) !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;
}