@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@font-face {
  font-family: 'Century Gothic Regular';
  src: url('fuentes/gothic-webfont.eot');
  src: url('fuentes/gothic-webfont.eot?#iefix') format('embedded-opentype'), url('fuentes/gothic-webfont.woff') format('woff'), url('fuentes/gothic-webfont.ttf') format('truetype'), url('fuentes/gothic-webfont.svg#CenturyGothicBold') format('svg');
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: 'Century Gothic Bold';
  src: url('fuentes/gothicb-webfont.eot');
  src: url('fuentes/gothicb-webfont.eot?#iefix') format('embedded-opentype'), url('fuentes/gothicb-webfont.woff') format('woff'), url('fuentes/gothicb-webfont.ttf') format('truetype'), url('fuentes/gothicb-webfont.svg#CenturyGothicBold') format('svg');
  font-weight: bold;
  font-style: normal;
}
::-webkit-scrollbar-thumb {
  background-color: #C20E1A;
  border-radius: 5px;
}
::-webkit-scrollbar {
  width: 10px;
  height: 4px;
  background-color: #1f1915;
}
::-moz-scrollbar-thumb {
  background-color: #C20E1A;
  border-radius: 5px;
}
::-moz-scrollbar {
  width: 10px;
  height: 4px;
  background-color: #1f1915;
}
::-moz-selection {
  color: #ffffff;
  background: #C20E1A;
}
::selection {
  color: #ffffff;
  background: #C20E1A;
}
:root {
  --fa-primary-color: #ec008c;
  --fa-secondary-color: #2f2f2f;
  --rojo: #C20E1A;
}
body.cookies_on {
    height: 100vh;
    overflow: hidden;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
}
body.cookies_on:before {
    content: '';
    display: block;
    position: fixed;
    z-index: 3;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(27, 27, 27, 0.7);
}
#cookies {
    font-size: 1.6rem;
    color: #fff;
    padding: 50px 50px 35px;
    width: 560px;
    background: #000;
    position: fixed;
    z-index: 9999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, calc(-50% + 40px));
}
#cookies p:last-of-type {
    margin-bottom: 10px;
}
#cookies .btn.mini {
    font-size: 1.6rem;
}
#cookies p a {
    color: var(--rojo);
}
#cookies .accordion {
    margin-top: 20px;
}
#cookies .card {
    border: none;
    border-top: 1px solid #7d7d7d;
}
#cookies .card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0 15px 15px;
    background-color: #000;
    color: #fff;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
#cookies .card-body {
    padding: 15px;
    display: none;
    font-size: 1.3rem;
    background-color: #1a1a1a;
    color: #ddd;
    max-height: 400px;
    /* min-height: 120px;  QUITADO PARA LA TRANSICIÓN DE COOKIES */
    overflow-y: auto;
}
#cookies .card-body div:not(:first-child) {
    padding-top: 10px;
    border-top: 1px solid white;
}
#cookies .card-body div p {
    display: flex;
    justify-content: space-between;
    margin: 0 0 7px;
}
#cookies .card-body div p > span {
    width: 70%;
}
#cookies .card-body div p:first-child > span {
    width: 40%;
}
/* Flexbox para los botones */
#cookies .flex {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    align-items: center;
}
#cookies .margin-20px-top {
    margin-top: 20px;
}
#cookies .btn {
  color: var(--bs-white-rgb) !important;
}
/* The switch - the box around the slider */
#cookies .switch {
    position: relative;
    display: inline-block;
    width: 38px;
    height: 22px;
    margin: 0;
}
/* Hide default HTML checkbox */
#cookies .switch input {
    opacity: 0;
    width: 0;
    height: 0;
}
/* The slider */
#cookies .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .3s;
    transition: .3s;
}
#cookies .slider:before {
    position: absolute;
    content: "";
    height: 15px;
    width: 15px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .3s;
    transition: .3s;
}
#cookies input:checked+.slider {
    background-color: var(--rojo);
}
#cookies input:focus+.slider {
    box-shadow: 0 0 1px var(--rojo);
}
#cookies input:checked+.slider:before {
    -webkit-transform: translateX(14px);
    -ms-transform: translateX(14px);
    transform: translateX(14px);
}
/* Rounded sliders */
#cookies .slider.round {
    border-radius: 34px;
}
#cookies .slider.round:before {
    border-radius: 50%;
}
#eucookielaw {
  display: none;
  color: #ffffff !important;
  text-align: center !important;
  position: fixed !important;
  right: 0 !important;
  left: 0 !important;
  width: 100% !important;
  bottom: 0 !important;
  background: #212529 !important;
  z-index: 9999999 !important;
  padding: 25px !important;
  top: initial !important;
  max-width: initial !important;
  min-width: initial !important;
  box-shadow: none !important;
}
#eucookielaw p {
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
#eucookielaw p a {
  color: #ffffff !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}
#eucookielaw ul {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}
#eucookielaw ul > li {
  padding: 0 10px;
  margin: 5px 0;
}
#eucookielaw ul > li:before {
  display: none;
}
.slick{
  display: none;
}
.slick.slick-initialized{
  display: block;
}
table {
  width: 100%;
  border-spacing: 0 !important;
}
table thead tr th {
  color: #ffffff;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  vertical-align: top;
  padding: 7px 15px 2px;
  margin: 0;
  min-width: 160px;
  background: rgba(0,0,0,0.3);
}
table tbody {
  font-size: 1.4rem;
  border-top: 10px solid transparent;
}
table tbody tr {
  border-bottom: solid 1px #333333;
}
table tbody tr td {
  vertical-align: top;
  padding: 7px 15px;
}
table tbody tr td img {
  max-height: 50px;
  max-width: 100px;
}
table tbody tr td:first-of-type {
  font-weight: 600;
  color: #000000;
  padding-right: 0;
}
table tbody tr:last-of-type {
  border: none;
}
table tbody tr.azul {
  background-color: #d9ebf5;
  border: none;
}
table tbody tr.naranja {
  background-color: #ffe2ad;
  border: none;
}
table tbody tr.amarillo {
  background-color: #fcffa5;
  border: none;
}
.wrapper-table {
  overflow: auto;
}
form p,
.form p {
  font-size: 1.4rem;
}
form ul,
.form ul {
  list-style-type: none !important;
  padding-left: 0 !important;
}
form ul.radios,
.form ul.radios {
  width: calc(100% + 10px);
  margin-left: -5px;
  margin-right: -5px;
  display: flex;
  justify-content: space-between;
}
form ul.radios li,
.form ul.radios li {
  position: relative;
  width: 144px;
  height: 38px;
  margin: 0 5px;
}
form ul.radios li input[type="radio"],
form ul.radios li label,
.form ul.radios li input[type="radio"],
.form ul.radios li label {
  width: 144px;
  height: 38px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
form ul.radios li input[type="radio"],
.form ul.radios li input[type="radio"] {
  z-index: 0;
  display: none;
}
form ul.radios li input[type="radio"]:checked + label,
.form ul.radios li input[type="radio"]:checked + label {
  background: #000000;
}
form ul.radios li label,
.form ul.radios li label {
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  background: #111111;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
form input[type="text"],
form input[type="email"],
form input[type="number"],
form input[type="password"],
form textarea,
.form input[type="text"],
.form input[type="email"],
.form input[type="number"],
.form input[type="password"],
.form textarea {
  width: 100%;
  height: 50px;
  padding: 10px 5px;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #666666;
  -ms-word-break: normal;
  word-break: normal;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
form input[type="text"]:focus,
form input[type="email"]:focus,
form input[type="number"]:focus,
form input[type="password"]:focus,
form textarea:focus,
.form input[type="text"]:focus,
.form input[type="email"]:focus,
.form input[type="number"]:focus,
.form input[type="password"]:focus,
.form textarea:focus {
  background-color: transparent;
  border-color: #C20E1A;
}
form textarea,
.form textarea {
  height: initial;
  padding: 10px 5px;
  border: solid 1px #666666;
}
form .select-wrapper,
.form .select-wrapper {
  position: relative;
}
form .select-wrapper:before,
.form .select-wrapper:before {
  content: '';
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #ffffff;
  border-bottom: solid 1px #666;
}
form .select-wrapper:after,
.form .select-wrapper:after {
  content: '';
  width: 50px;
  height: 50px;
  background-image: url('img/angle-down.svg');
  background-size: 16px;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  z-index: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
form select,
.form select {
  display: block;
  width: 100%;
  height: 50px;
  padding: 0 50px 0 10px;
  background-color: transparent;
  background-image: none;
  border: none;
  position: relative;
  z-index: 1;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  -ms-word-break: normal;
  word-break: normal;
  color: rgb(102, 102, 102) !important;
}
form select::-ms-expand,
.form select::-ms-expand {
  display: none;
}
form label:not(.condiciones),
.form label:not(.condiciones) {
  color: #666666;
  display: flex;
  align-items: center;
  height: 50px;
}
select:valid {
  color: rgb(0, 0, 0) !important;
}
form label.comentarios,
.form label.comentarios {
  padding: 0 10px;
}
form input:-internal-autofill-selected,
.form input:-internal-autofill-selected {
  background-color: transparent !important;
}
form input[type=number]::-webkit-inner-spin-button,
form input[type=number]::-webkit-outer-spin-button,
.form input[type=number]::-webkit-inner-spin-button,
.form input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
form input[type=number],
.form input[type=number] {
  -moz-appearance: textfield;
}
form input[type="checkbox"],
.form input[type="checkbox"] {
  accent-color: #C20E1A;
  transform: scale(1.5);
  cursor: pointer;
  -webkit-transition: all 0.15s ease;
  -moz-transition: all 0.15s ease;
  transition: all 0.15s ease;
}
form .input-file-wrapper,
.form .input-file-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 0 5px 10px 5px;
  border-bottom: 1px solid #666666;
}
form .input-file-wrapper label,
.form .input-file-wrapper label {
  margin: 5px 25px 5px 0;
  height: 30px;
}
form .condiciones a,
.form .condiciones a {
  padding-bottom: 0;
  position: relative;
}
form .condiciones a:hover,
.form .condiciones a:hover {
  color: #C20E1A;
  text-decoration: none;
}
form .condiciones a:hover:after,
.form .condiciones a:hover:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}
form .condiciones a:after,
.form .condiciones a:after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #C20E1A;
  transform-origin: bottom right;
  -webkit-transition: transform 0.25s ease-out;
  -moz-transition: transform 0.25s ease-out;
  transition: transform 0.25s ease-out;
}
form .my-checkbox,
.form .my-checkbox {
  transform: scale(1.5);
  margin-left: 0px;
  margin-right: 15px;
}
form .quantity,
.form .quantity {
  position: relative;
}
form .quantity input,
.form .quantity input {
  width: 95px;
  height: 62px;
  line-height: 1.65;
  float: left;
  display: block;
  padding: 0;
  margin: 0;
  padding-right: 40px;
  border: none;
  box-shadow: 0 0 0 1px rgba(0,0,0,0.08);
  font-size: 2.9rem;
  text-align: center;
}
form .quantity input:focus,
.form .quantity input:focus {
  outline: 0;
}
form .quantity-nav,
.form .quantity-nav {
  float: left;
  position: relative;
  height: 62px;
}
form .quantity-button,
.form .quantity-button {
  position: relative;
  cursor: pointer;
  border: none;
  border-left: 1px solid rgba(0,0,0,0.08);
  width: 40px;
  text-align: center;
  color: #333;
  font-size: 13px;
  font-family: 'Font Awesome 6 Pro' !important;
  line-height: 1.5;
  padding: 0;
  background: #ffffff;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
form .quantity-button:active,
.form .quantity-button:active {
  background: #EAEAEA;
}
form .quantity-button.quantity-up,
.form .quantity-button.quantity-up {
  position: absolute;
  height: 50%;
  top: 0;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  font-family: 'Font Awesome 6 Pro';
  line-height: 1.6;
}
form .quantity-button.quantity-down,
.form .quantity-button.quantity-down {
  position: absolute;
  bottom: 0;
  height: 50%;
  font-family: 'Font Awesome 6 Pro';
}
form.categoria,
.form.categoria {
  font-size: 2.6rem;
  max-width: 450px;
}
.recaptcha {
  position: absolute;
  right: 0;
  bottom: 285px;
}
.grecaptcha-badge {
  bottom: 100px !important;
  z-index: 9;
}
::-webkit-input-placeholder {
  color: #666666 !important;
}
:-moz-placeholder {
  color: #666666 !important;
}
::-moz-placeholder {
  color: #666666 !important;
}
:-ms-input-placeholder {
  color: #666666 !important;
}
::-ms-input-placeholder {
  color: #666666 !important;
}
:placeholder-shown {
  color: #666666 !important;
}
.fancypanel {
  display: none;
  width: 100%;
}
.fancybox-container .owl-carousel .owl-nav {
  position: absolute;
  top: 50%;
  left: 0%;
  display: flex;
  justify-content: space-between;
}
.fancybox-container .owl-carousel .owl-nav .owl-prev,
.fancybox-container .owl-carousel .owl-nav .owl-next {
  width: 54px;
  height: 54px;
  background: rgba(0,0,0,0.5);
  border: none !important;
}
.fancybox-container .owl-carousel .owl-nav .owl-prev span,
.fancybox-container .owl-carousel .owl-nav .owl-next span {
  width: 54px;
  height: 54px;
  opacity: 1;
}
.fancybox-container .owl-carousel .owl-nav .owl-prev span:before,
.fancybox-container .owl-carousel .owl-nav .owl-next span:before {
  font-size: 2.6rem;
  font-weight: 300;
  color: #ffffff;
  line-height: 54px;
}
.fancybox-container .owl-carousel.ejemplo .item {
  overflow: hidden;
}
.formulario-fancybox {
  display: none;
  text-align: center;
  padding: 80px 65px 65px;
  position: relative;
}
.formulario-fancybox > div {
  width: 86vw;
  max-width: 980px;
  margin: 0 auto;
  background: #ffffff;
  padding: 50px;
}
.formulario-fancybox > div .h1,
.formulario-fancybox > div .h2,
.formulario-fancybox > div .h3,
.formulario-fancybox > div .h4,
.formulario-fancybox > div .h5,
.formulario-fancybox > div .h6 {
  text-align: left;
  line-height: 1.4;
  margin-bottom: 40px;
}
.formulario-fancybox > div form .condiciones a,
.formulario-fancybox > div .form .condiciones a {
  color: #000000;
}
.formulario-fancybox > div form .condiciones a:after,
.formulario-fancybox > div .form .condiciones a:after {
  background-color: #000000;
}
#formulario-mas-info form .input-field {
  margin-top: 10px;
  margin-bottom: 10px;
}
#formulario-mas-info #selector-via-contacto > li > span > a.selector-franja small {
  text-decoration: underline;
}
#formulario-mas-info #selector-via-contacto > li > span > a.selector-franja:after {
  content: "\f107";
  font-family: 'Font Awesome 6 Pro';
  position: relative;
  top: 3px;
  left: 5px;
}
#formulario-mas-info #selector-via-contacto > li > span > a.selector-franja:hover,
#formulario-mas-info #selector-via-contacto > li > span > a.selector-franja:focus,
#formulario-mas-info #selector-via-contacto > li > span > a.selector-franja:active {
  text-decoration: none;
  color: #ec008c;
}
#formulario-mas-info #selector-via-contacto > li > span > a.selector-franja.active:after {
  content: "\f106";
}
#formulario-mas-info #franja-horaria {
  display: none;
}
#formulario-mas-info #franja-horaria ul > li {
  width: 100px;
}
.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  justify-content: center;
  align-items: center;
}
.embed-container video,
.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}
.embed-container.home-video video{
  object-fit: contain;
  top: 46%;
}
.embed-container.mobile-hidden video {
  object-fit: contain;
}
.flex {
  display: flex;
}
.flex.inline {
  display: inline-flex;
}
.flex.w-100 {
  width: 100%;
}
.flex.h-100 {
  height: 100%;
}
.flex.x-axis {
  flex-flow: row wrap;
  align-items: flex-start;
  justify-content: flex-start;
  margin-bottom: 0;
}
.flex.x-axis.x-center {
  justify-content: center;
}
.flex.x-axis.x-end {
  justify-content: flex-end;
}
.flex.x-axis.y-center {
  align-items: center;
}
.flex.x-axis.y-end {
  align-items: flex-end;
}
.flex.x-axis.space-between {
  justify-content: space-between;
}
.flex.x-axis.space-around {
  justify-content: space-around;
}
.flex.x-axis.last-right > li:last-of-type {
  margin-left: auto;
}
.flex.x-axis.nowrap {
  flex-wrap: nowrap;
}
.flex.x-axis.spacing-3px {
  margin-left: -3px;
  margin-right: -3px;
  width: 100%;
}
.flex.x-axis.spacing-3px > li,
.flex.x-axis.spacing-3px > div {
  margin-left: 3px;
  margin-right: 3px;
}
.flex.x-axis.spacing-5px {
  margin-left: -5px;
  margin-right: -5px;
  width: 100%;
}
.flex.x-axis.spacing-5px > li,
.flex.x-axis.spacing-5px > div {
  margin-left: 5px;
  margin-right: 5px;
}
.flex.x-axis.spacing-10px {
  margin-left: -10px;
  margin-right: -10px;
  width: 100%;
}
.flex.x-axis.spacing-10px > li,
.flex.x-axis.spacing-10px > div {
  margin-left: 10px;
  margin-right: 10px;
}
.flex.x-axis.spacing-15px {
  margin-left: -15px;
  margin-right: -15px;
  width: 100%;
}
.flex.x-axis.spacing-15px > li,
.flex.x-axis.spacing-15px > div {
  margin-left: 15px;
  margin-right: 15px;
}
.flex.x-axis.spacing-20px {
  margin-left: -20px;
  margin-right: -20px;
  width: 100%;
}
.flex.x-axis.spacing-20px > li,
.flex.x-axis.spacing-20px > div {
  margin-left: 20px;
  margin-right: 20px;
}
.flex.x-axis.spacing-25px {
  margin-left: -25px;
  margin-right: -25px;
  width: 100%;
}
.flex.x-axis.spacing-25px > li,
.flex.x-axis.spacing-25px > div {
  margin-left: 25px;
  margin-right: 25px;
}
.flex.x-axis.spacing-30px {
  margin-left: -30px;
  margin-right: -30px;
  width: 100%;
}
.flex.x-axis.spacing-30px > li,
.flex.x-axis.spacing-30px > div {
  margin-left: 30px;
  margin-right: 30px;
}
.flex.x-axis.spacing-35px {
  margin-left: -35px;
  margin-right: -35px;
  width: 100%;
}
.flex.x-axis.spacing-35px > li,
.flex.x-axis.spacing-35px > div {
  margin-left: 35px;
  margin-right: 35px;
}
.flex.x-axis.spacing-50px {
  margin-left: -50px;
  margin-right: -50px;
  width: 100%;
}
.flex.x-axis.spacing-50px > li,
.flex.x-axis.spacing-50px > div {
  margin-left: 50px;
  margin-right: 50px;
}
.flex.x-axis.mb-0px > li,
.flex.x-axis.mb-0px > div {
  margin-bottom: 0;
}
.flex.x-axis.mb-5px > li,
.flex.x-axis.mb-5px > div {
  margin-bottom: 5px;
}
.flex.x-axis.mb-10px > li,
.flex.x-axis.mb-10px > div {
  margin-bottom: 10px;
}
.flex.y-axis {
  flex-flow: column nowrap;
}
.flex.y-axis.xy-center {
  justify-content: center;
  align-items: center;
}
.flex.y-axis.y-center {
  justify-content: center;
}
.flex.y-axis.y-start {
  justify-content: flex-start;
}
.flex.y-axis.y-end {
  justify-content: flex-end;
}
.flex.y-axis.x-center {
  align-items: center;
}
.flex.y-axis.x-start {
  align-items: flex-start;
}
.flex.y-axis.x-end {
  align-items: flex-end;
}
.flex.y-axis.spacing-0 > li,
.flex.y-axis.spacing-0 > div {
  margin-bottom: 0;
}
.flex.y-axis.spacing-3px > li,
.flex.y-axis.spacing-3px > div {
  margin-bottom: 3px;
}
.flex.y-axis.spacing-5px > li,
.flex.y-axis.spacing-5px > div {
  margin-bottom: 5px;
}
.flex.y-axis.spacing-10px > li,
.flex.y-axis.spacing-10px > div {
  margin-bottom: 10px;
}
.flex.y-axis.spacing-15px > li,
.flex.y-axis.spacing-15px > div {
  margin-bottom: 15px;
}
.flex.y-axis.spacing-20px > li,
.flex.y-axis.spacing-20px > div {
  margin-bottom: 20px;
}
.flex.y-axis.spacing-25px > li,
.flex.y-axis.spacing-25px > div {
  margin-bottom: 25px;
}
.flex.y-axis.spacing-30px > li,
.flex.y-axis.spacing-30px > div {
  margin-bottom: 30px;
}
.flex.y-axis.spacing-35px > li,
.flex.y-axis.spacing-35px > div {
  margin-bottom: 35px;
}
.flex.mt-auto {
  margin-top: auto;
}
.flex.mb-auto {
  margin-bottom: auto;
}
.flex.ml-auto {
  margin-left: auto;
}
.flex.mr-auto {
  margin-right: auto;
}
.flex > li {
  padding-left: 0;
  margin-bottom: 0;
}
.flex > li:before {
  display: none;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.desktop-hidden {
  display: none !important;
}
.tablet-video{
  display: none;
}
.mobile-video{
  display: none;
}
.hover-lupa {
  display: block;
}
.hover-lupa:hover {
  cursor: url('img/zoom.svg') 28 28, move;
}
.img-radius {
  border-radius: 25px;
}
.gradient-animated {
  background: linear-gradient(-45deg,#ec008c,#23a6d5,#6f0dff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 400% 400%;
  animation: gradient 5s ease infinite;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
@keyframes gradient {
  .gradient-animated 0% {
    background-position: 0% 50%;
  }
  .gradient-animated 50% {
    background-position: 100% 50%;
  }
  .gradient-animated 100% {
    background-position: 0% 50%;
  }
}
.cols-2 {
  -moz-column-count: 2;
  -moz-column-gap: var(--bs-gutter-x);
  -webkit-column-count: 2;
  -webkit-column-gap: var(--bs-gutter-x);
  column-count: 2;
  column-gap: var(--bs-gutter-x);
}
.cols-2 > p {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
}
.grid {
  margin-left: -15px;
  margin-right: -15px;
  -webkit-transition: height 0.25s ease-out;
  -moz-transition: height 0.25s ease-out;
  transition: height 0.25s ease-out;
}
.grid:after {
  content: '';
  display: block;
  clear: both;
}
.grid-item {
  width: 50%;
}
.grid-item {
  float: left;
  padding: 0 15px 30px;
}
* {
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:hover,
*:focus,
*:active {
  outline: none;
  text-decoration: none;
}
.clearfix:after,
.cierre:after {
  content: "";
  clear: both;
}
html {
  font-size: 62.5%;
  position: relative;
  min-height: 100vh;
  scroll-behavior: smooth;
}
body {
  font-family: 'Inter', Helvetica, Arial, sans-serif;
  font-size: 1.6rem;
  line-height: 1.35;
  color: #666666;
  font-weight: 400;
  font-style: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
  position: relative;
  overflow-x: hidden;
  padding-top: 120px;
  background-color: #ffffff;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
body.home {
  padding-top: 0;
}
body.home header {
  background-color: transparent;
}
body.home header #header .top {
  background-color: transparent;
}
body.home header #header .top:before {
  opacity: 0;
  visibility: hidden;
}
body.home header #header .bottom .logo img.color {
  opacity: 0;
  visibility: hidden;
}
body.home header #header .bottom .logo img.white {
  opacity: 1;
  visibility: visible;
}
body.home header #header .bottom .menu nav {
  color: #ffffff;
}
body.home header #header .bottom .menu nav > ul > li > a:before,
body.home header #header .bottom .menu nav > ul > li > span:before {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  top: 0;
  left: 0;
  background-color: #ffffff;
  transform-origin: bottom right;
  -webkit-transition: transform 0.25s ease-out;
  -moz-transition: transform 0.25s ease-out;
  transition: transform 0.25s ease-out;
}
body.home header #header .bottom .menu nav > ul > li > a.active,
body.home header #header .bottom .menu nav > ul > li > a:hover,
body.home header #header .bottom .menu nav > ul > li > span.active,
body.home header #header .bottom .menu nav > ul > li > span:hover {
  color: #ffffff;
}
body.home header #header .bottom .menu nav > ul > li > a.active:before,
body.home header #header .bottom .menu nav > ul > li > a:hover:before,
body.home header #header .bottom .menu nav > ul > li > span.active:before,
body.home header #header .bottom .menu nav > ul > li > span:hover:before {
  transform: scaleX(1);
  transform-origin: bottom left;
}
body.home header #header .bottom .menu nav > ul > li > a.active:after,
body.home header #header .bottom .menu nav > ul > li > a:hover:after,
body.home header #header .bottom .menu nav > ul > li > span.active:after,
body.home header #header .bottom .menu nav > ul > li > span:hover:after {
  color: #ffffff;
}
body.home header #header .bottom .menu nav > ul > li:first-child {
  display: none;
}
body.home.navegando header {
  background-color: #ffffff;
}
body.home.navegando header #header .top:before {
  opacity: 1;
  visibility: visible;
}
body.home.navegando header #header .bottom .logo img.color {
  opacity: 1;
  visibility: visible;
}
body.home.navegando header #header .bottom .logo img.white {
  opacity: 0;
  visibility: hidden;
}
body.home.navegando header #header .bottom .menu nav {
  color: #000000;
}
body.home.navegando header #header .bottom .menu nav > ul > li > a:before,
body.home.navegando header #header .bottom .menu nav > ul > li > span:before {
  display: none;
}
body.home.navegando header #header .bottom .menu nav > ul > li > a.active,
body.home.navegando header #header .bottom .menu nav > ul > li > a:hover,
body.home.navegando header #header .bottom .menu nav > ul > li > span.active,
body.home.navegando header #header .bottom .menu nav > ul > li > span:hover {
  color: #ec008c;
}
body.home.navegando header #header .bottom .menu nav > ul > li > a.active:before,
body.home.navegando header #header .bottom .menu nav > ul > li > a:hover:before,
body.home.navegando header #header .bottom .menu nav > ul > li > span.active:before,
body.home.navegando header #header .bottom .menu nav > ul > li > span:hover:before {
  transform: scaleX(1);
}
body.navegando header {
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 1px rgba(0,0,0,0.4);
  -moz-box-shadow: 0 0 1px rgba(0,0,0,0.4);
  box-shadow: 0 0 1px rgba(0,0,0,0.4);
}
body.scroll-1 .scroll {
  opacity: 0.5;
}
body.scroll-1 main.wrapper-bg-hero section.bg-hero {
  background-position: center calc(0% + 40px);
}
body.scroll-1 main.wrapper-bg-hero section.bg-hero:before {
  background-color: rgba(0,0,0,0.7);
}
body.scroll-1 main.wrapper-bg-cabecera-video section.bg-cabecera-video:before {
  background-color: rgba(0,0,0,0.7);
}
body.scroll-1 main.wrapper-bg-cabecera-video section.bg-cabecera-video.dark:before {
  background-color: rgba(0,0,0,0.7);
}
body.scroll-1 main.wrapper-bg-cabecera-video section.bg-cabecera-video .inner-video .bg-video {
  top: 40px;
  bottom: -40px;
}
body.scroll-1 main.wrapper-bg-slider section.slider .slick.hero:before {
  background-color: rgba(0,0,0,0.6);
}
body.scroll-1 main.wrapper-bg-slider section.slider .txt .container h1,
body.scroll-1 main.wrapper-bg-slider section.slider .txt .container .h1,
body.scroll-1 main.wrapper-bg-slider section.slider .txt .container h2,
body.scroll-1 main.wrapper-bg-slider section.slider .txt .container .h2,
body.scroll-1 main.wrapper-bg-slider section.slider .txt .container-fluid h1,
body.scroll-1 main.wrapper-bg-slider section.slider .txt .container-fluid .h1,
body.scroll-1 main.wrapper-bg-slider section.slider .txt .container-fluid h2,
body.scroll-1 main.wrapper-bg-slider section.slider .txt .container-fluid .h2 {
  color: rgba(255,255,255,0.3);
  top: 20px;
}
body.scroll-1 main.wrapper-bg-slider section.slider .txt .container .btn,
body.scroll-1 main.wrapper-bg-slider section.slider .txt .container .btn-circle,
body.scroll-1 main.wrapper-bg-slider section.slider .txt .container-fluid .btn,
body.scroll-1 main.wrapper-bg-slider section.slider .txt .container-fluid .btn-circle {
  opacity: 0.3;
  top: 20px;
}
body.scroll-1 main section.bg-cabecera-video.dark:before {
  background-color: rgba(0,0,0,0.8);
}
body.scroll-2 main.blurred-h-title section:first-of-type h1,
body.scroll-2 main.blurred-h-title section:first-of-type .h1,
body.scroll-2 main.blurred-h-title section:first-of-type h2,
body.scroll-2 main.blurred-h-title section:first-of-type .h2,
body.scroll-2 main.blurred-h-title section:first-of-type h3,
body.scroll-2 main.blurred-h-title section:first-of-type .h3,
body.scroll-2 main.blurred-h-title section:first-of-type h4,
body.scroll-2 main.blurred-h-title section:first-of-type .h4,
body.scroll-2 main.blurred-h-title section:first-of-type h5,
body.scroll-2 main.blurred-h-title section:first-of-type .h5,
body.scroll-2 main.blurred-h-title section:first-of-type h6,
body.scroll-2 main.blurred-h-title section:first-of-type .h6,
body.scroll-2 main.blurred-h-title section:first-of-type .btn {
  opacity: 0.5;
  -webkit-filter: blur(5px);
  -moz-filter: blur(5px);
  filter: blur(5px);
}
body.scroll-2 main section.bg-cabecera-video .inner-video .texto {
  opacity: 0.5;
  -webkit-filter: blur(5px);
  -moz-filter: blur(5px);
  filter: blur(5px);
}
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.h7,
.h8 {
  font-family: 'Inter', Helvetica, Arial, sans-serif;
  font-weight: 400;
  line-height: 1.2;
  color: #666666;
  text-rendering: optimizeLegibility;
  display: block;
  width: 100%;
  margin: 0 0 25px;
}
h1,
.h1 {
  font-size: 6.8rem;
  margin-bottom: 44px;
}
h2,
.h2 {
  font-size: 5rem;
}
h3,
.h3 {
  font-size: 3.6rem;
}
h4,
.h4 {
  font-size: 2.6rem;
}
h5,
.h5 {
  font-size: 2.2rem;
  margin-bottom: 10px;
}
h6,
.h6 {
  font-family: 'Inter', Helvetica, Arial, sans-serif;
  font-size: 1.8rem;
  color: #666666;
  font-weight: 400;
}
.h7{
  font-size: 1.4rem;
}
.h8 {
  font-size: 1.2rem;
}
.h8 a {
  color: var(--rojo);
}
.h8 a:hover {
  color: var(--n);
  text-decoration: none;
}
ul {
  clear: both;
  list-style: none;
  padding-left: 0;
}
ul > li {
  padding-left: 0;
}
ul > li:before {
  display: none;
}
ul.lines {
  width: 100%;
  max-width: 450px;
  list-style: none;
  padding-left: 0;
}
ul.lines > li {
  border-bottom: solid 1px #666666;
}
ul.lines > li:first-child {
  border-top: solid 1px #666666;
}
ul.lines > li a {
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
ul.lines > li a > span {
  font-weight: 600;
  margin-bottom: 0 !important;
  padding-left: 10px;
}
ul.lines > li a > i {
  color: #ec008c;
  position: relative;
  right: 10px;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
ul.lines > li a:hover {
  color: #ec008c;
  text-decoration: none;
}
ul.lines > li a:hover > i {
  right: 5px;
}
ul.separadores {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  flex-wrap: wrap;
  list-style: none;
  padding-left: 0;
}
ul.separadores > li {
  margin: 0 10px 10px;
  position: relative;
}
ul.separadores > li:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -10px;
  bottom: 0;
  width: 1px;
  background: #333333;
}
ul.separadores > li:first-child:before {
  display: none;
}
ul.separadores > li:last-child {
  padding-right: 0;
}
ul.paginacion {
  font-size: 2rem;
  margin-top: 50px;
  margin-bottom: 0;
  display: flex;
  justify-content: center;
  list-style: none;
  padding-left: 0;
}
ul.paginacion > li {
  padding-left: 10px;
  padding-right: 10px;
  margin: 0;
}
ul.paginacion > li:before {
  display: none;
}
ul.paginacion > li:first-of-type > a,
ul.paginacion > li:last-of-type > a {
  width: 48px;
  background: #ffffff;
  border-radius: 50%;
}
ul.paginacion > li:first-of-type > a:after,
ul.paginacion > li:last-of-type > a:after {
  display: none;
}
ul.paginacion > li > a,
ul.paginacion > li span {
  height: 48px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 5px;
  margin: 0 5px;
}
ul.paginacion > li > a {
  position: relative;
}
ul.paginacion > li > a:hover,
ul.paginacion > li > a.active {
  color: #C20E1A;
  text-decoration: none;
}
ul.paginacion > li > a:hover:after,
ul.paginacion > li > a.active:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}
ul.paginacion > li > a:hover > img,
ul.paginacion > li > a.active > img {
  opacity: 1;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
ul.paginacion > li > a:after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #C20E1A;
  transform-origin: bottom right;
  -webkit-transition: transform 0.25s ease-out;
  -moz-transition: transform 0.25s ease-out;
  transition: transform 0.25s ease-out;
}
ul.paginacion > li > a.active {
  color: #000000;
}
ul.paginacion > li > a.active:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}
ul.paginacion > li > a > img {
  opacity: 0.5;
  width: 10px;
}
ul.destacado {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  list-style: none;
  padding-left: 0;
}
ul.destacado > li {
  font-size: 1.6rem;
  font-weight: 500;
  position: relative;
  padding: 8px 16px;
  margin-bottom: 16px;
  border-radius: 8px;
  background: -moz-linear-gradient(45deg,#e7e7e7 0%,#f5f5f5 100%);
  background: -webkit-linear-gradient(45deg,#e7e7e7 0%,#f5f5f5 100%);
  background: linear-gradient(45deg,#e7e7e7 0%,#f5f5f5 100%);
}
ul.destacado > li > i {
  color: #ec008c;
  margin-right: 15px;
  font-weight: 400;
  padding-top: 5px;
}
ul.destacado > li ul {
  font-size: 1.6rem;
  margin-top: 5px;
}
ul.destacado > li ul > li {
  margin-bottom: 5px;
  padding-left: 15px;
}
ul.destacado > li ul > li:before {
  font-size: 1.4rem;
  top: 2px;
}
ul.destacado > li ul > li:last-child {
  margin-bottom: 0;
}
ul.destacado > li .accordion-button {
  display: block;
  padding: 0 30px 0 0;
  font-size: inherit;
  color: inherit;
  background-color: transparent;
  border: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
ul.destacado > li .accordion-button:after {
  position: absolute;
  top: 0;
  right: 0;
  width: 20px;
  height: 20px;
  background-size: 20px;
}
ul.destacado.inline {
  flex-direction: row;
  flex-wrap: wrap;
}
ul.destacado.inline > li {
  color: #ffffff;
  margin-right: 8px;
  margin-bottom: 8px;
  background: #222222;
}
ul.inline-flex {
  display: inline-flex;
  margin-left: -10px;
  margin-right: -10px;
  list-style: none;
  padding-left: 0;
}
ul.inline-flex > li {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 0;
  margin-left: 10px;
  margin-right: 10px;
}
ul.inline-flex > li:before {
  display: none;
}
ul.breadcrumb {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}
ul.breadcrumb > li {
  display: inline-block;
  padding: 0 15px !important;
  position: relative;
}
ul.breadcrumb > li:before {
  content: "\f105" !important;
  font-family: 'Font Awesome 6 Pro' !important;
  font-weight: 400 !important;
  font-size: 90% !important;
  color: #666666 !important;
  width: 10px !important;
  height: initial !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  position: absolute !important;
  left: -5px !important;
  top: 2px !important;
  background-color: transparent !important;
}
ul.breadcrumb > li:first-child {
  padding-left: 0 !important;
}
ul.breadcrumb > li:first-child:before {
  display: none !important;
}
ul.breadcrumb > li:last-child {
  margin-right: 0;
}
ul.breadcrumb > li span {
  color: #000000;
  font-weight: 700;
}
ul.vias {
  margin-top: 10px;
  margin-bottom: 0;
  list-style: none;
  padding-left: 0;
}
ul.vias > li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 12px;
  list-style-type: none;
}
ul.vias > li > img {
  width: 30px;
  height: 30px;
  margin-right: 8px;
}
ul.vias > li > span {
  padding-top: 5px;
}
ul.vias > li > span strong {
  margin: 0 8px 0 4px;
}
ul.vias > li:hover > img {
  opacity: 1;
}
p,
ul,
ol {
  margin-bottom: 25px;
}
i,
em {
  font-style: italic;
}
b,
strong {
  font-weight: 700;
}
small {
  font-size: 80%;
}
a {
  color: inherit;
  outline: none;
  border: none;
  text-decoration: none;
  cursor: pointer;
}
a img {
  outline: none;
  border: none;
}
a.rrss > img {
  width: 64px;
  height: 64px;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
a.rrss:hover > img {
  -webkit-transform: scale(0.97,0.97);
  -moz-transform: scale(0.97,0.97);
  transform: scale(0.97,0.97);
}
a:hover {
  color: #C20E1A;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
a:focus,
a:active {
  color: inherit;
  outline: none;
  text-decoration: none;
}
blockquote {
  font-size: 3.2rem;
  color: #ffffff;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
  padding: 40px 60px;
  background-color: #ec008c;
  border-radius: 16px;
}
blockquote i {
  font-size: 10rem;
  color: #ffffff;
  position: absolute;
  z-index: -1;
  left: -10px;
  top: -50px;
  opacity: 1;
}
blockquote i:before {
  line-height: 1;
}
blockquote > * {
  position: relative;
  z-index: 1;
}
blockquote.small {
  font-size: 4rem;
  line-height: 1.3;
  letter-spacing: 0;
  color: #ffffff;
  padding: 65px 8.333333%;
  border-radius: 8px;
  background-color: rgba(0,0,0,0.1);
  background-image: url('img/blockquote_2.jpg');
  background-repeat: no-repeat;
  background-position: left top;
  background-size: cover;
  background-attachment: fixed;
}
blockquote.small span {
  font-size: 2.2rem;
  letter-spacing: 3px;
  line-height: 1;
  font-weight: 700;
  color: #000000;
  display: inline-flex;
  margin-bottom: 20px;
  padding: 5px 15px;
  border-radius: 8px;
  background: #ec008c;
}
blockquote.small strong {
  font-weight: 700;
  color: #ec008c;
  display: contents;
}
blockquote.bg {
  padding: 65px 8.333333%;
  border-radius: 16px;
  background-image: url('../gestor/recursos/uploads/marca/manufacturing.jpg');
  background-repeat: no-repeat;
  background-position: left top;
  background-size: cover;
  background-attachment: fixed;
  position: relative;
}
blockquote.bg:before {
  content: '';
  display: block;
  border-radius: 16px;
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0,0,0,0.6);
}
img:not(.thumbnail) {
  max-width: 100%;
  max-height: 100%;
}
img.radius-0 {
  border-radius: 0;
}
hr {
  width: 100%;
  height: 2px;
  border: none;
  margin-top: 25px;
  margin-bottom: 25px;
  clear: both;
  position: relative;
  background-color: inherit;
  opacity: 1;
  background: rgba(0,0,0,0.1);
}
hr.lg {
  margin-top: 50px;
  margin-bottom: 50px;
}
hr.xl {
  margin-top: 100px;
  margin-bottom: 100px;
}
hr.white {
  background: rgba(255,255,255,0.5);
}
figure {
  max-width: 100%;
  height: auto;
  margin: 0;
}
#ancla {
  position: initial;
  top: 0;
  left: 0;
  height: 0;
  width: 0;
}
.btn,
.btn:not([href]) {
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 500;
  color: #666666;
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto;
  width: fit-content;
  padding: 0 0 6px 0;
  background-color: transparent;
  border: none;
  position: relative;
  top: 0;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
.btn:before,
.btn:not([href]):before {
  content: '';
  display: block;
  width: 66%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #666666;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
.btn:hover,
.btn:not([href]):hover {
  color: #000000;
}
.btn:hover:before,
.btn:not([href]):hover:before {
  width: 100%;
  background-color: #C20E1A;
}
.btn:active,
.btn:focus,
.btn:not([href]):active,
.btn:not([href]):focus {
  text-decoration: none;
}
.btn:active:before,
.btn:focus:before,
.btn:not([href]):active:before,
.btn:not([href]):focus:before {
  width: 66%;
}
.btn.sm,
.btn:not([href]).sm {
  font-size: 1.4rem;
  height: 34px;
  min-width: 100px;
  max-width: initial;
  padding: 0 20px;
}
.btn.md,
.btn:not([href]).md {
  font-size: 1.6rem;
  height: 40px;
  padding: 0 25px;
  max-width: initial;
}
.btn.md span + i,
.btn:not([href]).md span + i {
  margin-left: 7px;
}
.btn.xl,
.btn:not([href]).xl {
  font-size: 2.6rem;
  min-width: 250px;
  height: 65px;
}
.btn.outline,
.btn:not([href]).outline {
  font-size: 1.4rem;
  color: #000000;
  height: 34px;
  padding: 0 20px;
  border: solid 2px #000000;
}
.btn.outline:before,
.btn:not([href]).outline:before {
  display: none;
}
.btn.outline:hover,
.btn:not([href]).outline:hover {
  color: #ffffff;
  background-color: #000000;
}
.btn.outline:active,
.btn.outline:focus,
.btn:not([href]).outline:active,
.btn:not([href]).outline:focus {
  color: #000000;
  background-color: transparent;
}
.btn.outline.white,
.btn:not([href]).outline.white {
  color: #ffffff;
  border-color: #ffffff;
}
.btn.outline.white:hover,
.btn:not([href]).outline.white:hover {
  color: #C20E1A;
  background-color: #ffffff;
}
.btn.outline.white:active,
.btn.outline.white:focus,
.btn:not([href]).outline.white:active,
.btn:not([href]).outline.white:focus {
  color: #ffffff;
  background-color: transparent;
}
.btn.solid,
.btn:not([href]).solid {
  padding: 16px;
  min-width: 150px;
}
.btn.solid.rojo,
.btn:not([href]).solid.rojo {
  color: #ffffff;
  background-color: #C20E1A;
}
.btn.solid.rojo:hover,
.btn:not([href]).solid.rojo:hover {
  background-color: #000000;
}
.btn.solid.rojo:active,
.btn.solid.rojofocus,
.btn:not([href]).solid.rojo:active,
.btn:not([href]).solid.rojofocus {
  background-color: #C20E1A;
}
.btn.solid:before,
.btn:not([href]).solid:before {
  display: none;
}
.btn.white,
.btn:not([href]).white {
  color: #ffffff;
}
.btn.white:before,
.btn:not([href]).white:before {
  background-color: #ffffff;
}
.btn.white:hover,
.btn:not([href]).white:hover {
  color: #ffffff;
}
.btn.white:hover:after,
.btn:not([href]).white:hover:after {
  background-color: #ffffff;
}
.btn.white:active,
.btn.white:focus,
.btn:not([href]).white:active,
.btn:not([href]).white:focus {
  color: #ffffff;
  background-color: transparent;
}
.btn.desplegar,
.btn:not([href]).desplegar {
  font-size: 2.6rem;
  letter-spacing: 0;
  width: 60px;
  height: 60px;
  min-width: initial;
  padding: 0;
  border: none;
}
.btn.desplegar:before,
.btn:not([href]).desplegar:before {
  display: none;
}
.btn.desplegar i,
.btn:not([href]).desplegar i {
  margin: 0;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
.btn.desplegar.on i,
.btn:not([href]).desplegar.on i {
  -webkit-transform: scaleY(-1);
  -moz-transform: scaleY(-1);
  transform: scaleY(-1);
}
.btn.desplegar:hover,
.btn:not([href]).desplegar:hover {
  color: #C20E1A;
}
.btn.transparent,
.btn:not([href]).transparent {
  color: #222222;
  font-weight: 400;
  height: initial;
  min-width: initial;
  padding: 0;
  border: none;
  background: transparent;
}
.btn.transparent span,
.btn:not([href]).transparent span {
  display: inline-block;
  position: relative;
}
.btn.transparent span:after,
.btn:not([href]).transparent span:after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: -4px;
  left: 0;
  background-color: #ec008c;
  transform-origin: bottom right;
  -webkit-transition: transform 0.25s ease-out;
  -moz-transition: transform 0.25s ease-out;
  transition: transform 0.25s ease-out;
}
.btn.transparent i,
.btn:not([href]).transparent i {
  color: #ec008c;
}
.btn.transparent:hover,
.btn:not([href]).transparent:hover {
  color: #000000;
  text-decoration: none;
}
.btn.transparent:hover span:after,
.btn:not([href]).transparent:hover span:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}
.btn.transparent:hover i,
.btn:not([href]).transparent:hover i {
  color: #ec008c;
}
.btn.transparent.magenta,
.btn:not([href]).transparent.magenta {
  color: #ec008c;
}
.btn.transparent.magenta span:after,
.btn:not([href]).transparent.magenta span:after {
  background-color: #ec008c;
}
.btn.transparent.magenta i,
.btn:not([href]).transparent.magenta i {
  color: #222222;
}
.btn.transparent.magenta:hover,
.btn:not([href]).transparent.magenta:hover {
  color: #222222;
  background: transparent;
}
.btn.transparent.magenta:hover i,
.btn:not([href]).transparent.magenta:hover i {
  color: #ec008c;
}
.btn.transparent.magenta:active,
.btn.transparent.magenta:focus,
.btn:not([href]).transparent.magenta:active,
.btn:not([href]).transparent.magenta:focus {
  color: #ec008c;
  background: transparent;
}
.btn.transparent.magenta:active i,
.btn.transparent.magenta:focus i,
.btn:not([href]).transparent.magenta:active i,
.btn:not([href]).transparent.magenta:focus i {
  color: #222222;
}
.btn.icon,
.btn:not([href]).icon {
  font-family: 'Nunito Sans', Helvetica, Arial, sans-serif;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  height: initial;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 16px;
  border-radius: 8px;
  background-color: #ffffff;
}
.btn.icon > img,
.btn:not([href]).icon > img {
  filter: grayscale(1);
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
.btn.icon > span,
.btn:not([href]).icon > span {
  font-size: 1.8rem;
  line-height: 1.25;
  color: #000000;
  font-weight: 700;
  text-align: left;
  display: block;
  width: 100%;
  margin-top: 20px;
  padding-right: 35px;
  position: relative;
}
.btn.icon > span:after,
.btn:not([href]).icon > span:after {
  content: "\f178";
  font-family: 'Font Awesome 6 Pro';
  font-weight: 400;
  font-size: 95%;
  font-style: normal;
  color: #ec008c;
  display: block;
  position: absolute;
  bottom: 0;
  right: 5px;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
.btn.icon:hover,
.btn:not([href]).icon:hover {
  box-shadow: -9px 9px 18px #d4d4d4, 9px -9px 18px rgba(255,255,255,0.5);
}
.btn.icon:hover > img,
.btn:not([href]).icon:hover > img {
  filter: grayscale(0);
}
.btn.icon:hover > span:after,
.btn:not([href]).icon:hover > span:after {
  right: 0;
  opacity: 1;
  visibility: visible;
}
.btn.panel,
.btn:not([href]).panel {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: space-between;
  width: 100%;
  height: 100%;
  min-height: 100px;
  padding: 6%;
  border-radius: 8px;
  position: relative;
  background: #ffffff;
  box-shadow: -16px 8px 20px 0px #d5d5d5, 8px -16px 20px #f7f7f7;
}
.btn.panel > img,
.btn:not([href]).panel > img {
  max-width: 100px;
  max-height: 100px;
}
.btn.panel > i,
.btn:not([href]).panel > i {
  font-size: 6rem;
  color: #ec008c;
}
.btn.panel > span,
.btn:not([href]).panel > span {
  display: flex;
  justify-content: space-between;
  width: calc(100% + 40px);
  margin-left: -20px;
  margin-right: -20px;
}
.btn.panel > span > span,
.btn:not([href]).panel > span > span {
  margin: 0 20px;
}
.btn.panel > span .tit,
.btn:not([href]).panel > span .tit {
  font-weight: 500;
  line-height: 1;
  text-align: left;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
.btn.panel > span i,
.btn:not([href]).panel > span i {
  font-size: 3.2rem;
  color: #222222;
  margin: -2px 0;
  position: relative;
  left: 0;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
.btn.panel:hover > span > span i,
.btn:not([href]).panel:hover > span > span i {
  left: 4px;
  color: #ec008c;
}
.btn.panel:hover > span .tit,
.btn:not([href]).panel:hover > span .tit {
  color: #ec008c;
}
.btn.w-100,
.btn:not([href]).w-100 {
  width: 100% !important;
  justify-content: space-between;
}
.btn i,
.btn:not([href]) i {
  margin-right: 10px;
}
.btn span + i,
.btn:not([href]) span + i {
  margin-left: 12px;
  margin-right: 0;
}
.btn span + i.fa-arrow-down-to-line,
.btn:not([href]) span + i.fa-arrow-down-to-line {
  transform: scale(1.25);
  position: relative;
  top: 3px;
}
.container.px-0px,
.container-fluid.px-0px {
	overflow-x: hidden;
}
.container-fluid {
  padding-left: 130px;
  padding-right: 130px;
  position: relative;
  z-index: 1;
}
.container-fluid.w-100 {
  padding: 0;
}
.slick {
  width: 100%;
  position: relative;
  z-index: 1;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  transition: all 0.6s ease;
}
.slick.hero {
  height: 100%;
  min-width: 100vw;
}
.slick.hero .slick-list {
  height: 100%;
  min-width: 100vw;
}
.slick.hero .slick-list .slick-track {
  height: 100%;
  min-width: 100vw;
}
.slick.hero .slick-list .slick-track .slick-slide {
  width: 100vw !important;
  min-width: 100vw;
  /*height: 100%;*/
  position: relative;
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
}
.slick.hero .slick-list .slick-track .slick-slide .container {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
}
.slick.hero .slick-list .slick-track .slick-slide .container .row {
  width: calc(100% + var(--bs-gutter-x));
  height: 100%;
}
.slick.hero .slick-list .slick-track .slick-slide .container .row [class^="col-"] {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.slick.hero .slick-list .slick-track .slick-slide .container .row [class^="col-"]:first-of-type {
  align-items: flex-start;
}
.slick.hero .slick-list .slick-track .slick-slide .bg-img {
  display: block;
  padding: 0;
  height: initial;
  min-height: 100%;
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.slick.hero .slick-list .slick-track .slick-slide .bg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  transition: all 0.6s ease;
}
.slick.hero .slick-list .slick-track .slick-slide .bg-img.bg-black {
  background-color: #000000;
}
.slick.hero .slick-list .slick-track .slick-slide .bg-video {
  overflow: hidden;
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.slick.hero .slick-list .slick-track .slick-slide .bg-video:before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  transition: all 0.6s ease;
}
.slick.hero .slick-list .slick-track .slick-slide .bg-video .embed-container {
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.slick.hero .slick-list .slick-track .slick-slide .bg-img.velo:before,
.slick.hero .slick-list .slick-track .slick-slide .bg-video.velo:before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.slick.hero .slick-list .slick-track .slick-slide .bg-img.velo.light:before,
.slick.hero .slick-list .slick-track .slick-slide .bg-video.velo.light:before {
  background-color: rgba(255,255,255,0.3);
}
.slick.hero .slick-list .slick-track .slick-slide .bg-img.velo.dark:before,
.slick.hero .slick-list .slick-track .slick-slide .bg-video.velo.dark:before {
  background-color: rgba(0,0,0,0.3);
}
.slick.hero .slick-dots {
  position: absolute;
  z-index: 2;
  bottom: 40px;
  text-align: left;
  padding: 0 50px;
}
.slick.carrusel {
  padding-left: 80px;
  padding-right: 80px;
}
.slick.carrusel .slick-track {
  min-width: 100%;
  gap: 20px;
}
.slick.carrusel .slick-track .slick-slide > div {
  height: 100% !important;
}
#video-home .embed-container video,
#video-home .embed-container iframe,
#video-home .embed-container object,
#video-home .embed-container embed {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.chart {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 159px;
  height: 159px;
  margin-top: 0px;
  margin-bottom: 20px;
  text-align: center;
}
.chart strong {
  font-size: 3.5rem;
}
.chart canvas {
  position: absolute;
  top: 0;
  left: 0;
}
.percent {
  display: inline-block;
  line-height: 110px;
  z-index: 2;
}
.percent:after {
  content: '%';
  margin-left: 0.1em;
  font-size: .8em;
}
.angular {
  margin-top: 100px;
}
.angular .chart {
  margin-top: 0;
}
* {
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:hover,
*:focus,
*:active {
  outline: none;
  text-decoration: none;
}
header {
  height: 120px;
  position: fixed;
  z-index: 3;
  top: 0;
  left: 0;
  right: 0;
  background: #ffffff;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
header #header {
  height: 100%;
}
header #header .top {
  height: 30px;
  margin-top: 10px;
  position: relative;
  z-index: 2;
}
header #header .top .container-fluid {
  height: 100%;
  display: flex;
  justify-content: flex-end;
}
header #header .top .container-fluid nav {
  font-size: 1.4rem;
  color: #666666;
}
header #header .top .container-fluid nav ul {
  display: inline-flex;
  align-items: center;
  margin: 0;
}
header #header .top .container-fluid nav ul li {
  margin-left: 70px;
}
header #header .top .container-fluid nav ul li a {
  display: flex;
  align-items: center;
  height: 30px;
}
header #header .top .container-fluid nav ul li a:hover,
header #header .top .container-fluid nav ul li a.active {
  color: #000000;
}
header #header .top .container-fluid nav ul li a:focus,
header #header .top .container-fluid nav ul li a:active {
  color: #666666;
}
header #header .top .container-fluid .idioma {
  margin-left: 70px;
}
header #header .top .container-fluid .idioma > .btn {
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: normal;
  color: #666666;
  min-width: initial;
  height: 30px;
  padding: 0;
  border-radius: 0;
  background-color: transparent;
}
header #header .top .container-fluid .idioma > .btn:before {
  display: none;
}
header #header .top .container-fluid .idioma .dropdown-menu {
  width: 100%;
  min-width: initial;
  border: none;
  padding: 0;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
header #header .top .container-fluid .idioma .dropdown-menu .dropdown-item {
  font-size: 1.4rem;
  color: #666666;
  padding: 0;
  display: flex;
  align-items: center;
  height: 30px;
  margin-top: 8px;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
header #header .top .container-fluid .idioma .dropdown-menu .dropdown-item:hover {
  color: #000000;
  background-color: transparent;
}
header #header .bottom {
  height: 80px;
}
header #header .bottom .container-fluid {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header #header .bottom .logo {
  width: 130px;
  height: 60px;
  position: relative;
}
header #header .bottom .logo a {
  display: flex;
  width: 100%;
  height: 100%;
}
header #header .bottom .logo a img {
  height: initial;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
header #header .bottom .menu {
  width: calc(100% - 120px);
  height: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
header #header .bottom .menu nav {
  font-size: 1.7rem;
  color: #666666;
  display: flex;
  align-items: center;
  height: 100%;
}
header #header .bottom .menu nav > ul {
  display: flex;
  align-items: center;
  height: 100%;
  margin-bottom: 0;
}
header #header .bottom .menu nav > ul > li {
  display: flex;
  align-items: center;
  height: 100%;
  margin-left: 90px;
  padding: 0;
}
header #header .bottom .menu nav > ul > li:first-child {
  margin-left: 0;
}
header #header .bottom .menu nav > ul > li > a,
header #header .bottom .menu nav > ul > li > span {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0;
  position: relative;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
header #header .bottom .menu nav > ul > li > a:hover,
header #header .bottom .menu nav > ul > li > a.active,
header #header .bottom .menu nav > ul > li > span:hover,
header #header .bottom .menu nav > ul > li > span.active {
  color: #000000;
  text-decoration: none;
}
header #header .bottom .menu nav > ul > li > a:hover:before,
header #header .bottom .menu nav > ul > li > a.active:before,
header #header .bottom .menu nav > ul > li > span:hover:before,
header #header .bottom .menu nav > ul > li > span.active:before {
  transform-origin: bottom left;
}
header #header .bottom .menu nav > ul > li > a:hover:after,
header #header .bottom .menu nav > ul > li > a.active:after,
header #header .bottom .menu nav > ul > li > span:hover:after,
header #header .bottom .menu nav > ul > li > span.active:after {
  color: #000000;
}
header #header .bottom .menu nav > ul > li.mega-dropdown {
  position: relative;
}
header #header .bottom .menu nav > ul > li.mega-dropdown > a:after,
header #header .bottom .menu nav > ul > li.mega-dropdown > span:after {
  content: '\f107';
  font-family: 'Font Awesome 6 Pro';
  font-size: 1.4rem;
  font-weight: 300;
  font-style: normal;
  vertical-align: initial;
  display: block;
  margin: 0 0 0 5px;
  border: none;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
header #header .bottom .menu nav > ul > li.mega-dropdown:hover > a:after,
header #header .bottom .menu nav > ul > li.mega-dropdown:hover > span:after {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  transform: rotate(180deg);
}
header #header .bottom .menu nav > ul > li.mega-dropdown:hover > .mega-dropdown-menu {
  opacity: 1;
  visibility: visible;
}
header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu {
  position: absolute;
  z-index: 1;
  top: 80px;
  right: -100px;
  display: block;
  opacity: 0;
  visibility: hidden;
  padding: 0;
  margin: 0;
  border: none;
  background: #ffffff;
  height: 64px;
  overflow: auto;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu:after {
  content: '';
  height: 64px;
  position: fixed;
  z-index: -1;
  top: 120px;
  right: 0;
  left: 0;
  bottom: 0;
  background: #ffffff;
}
header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu .desplegable {
  display: flex;
  height: 100%;
}
header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu .desplegable .area.menu {
  width: initial;
}
header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu .desplegable .area.menu .familia {
  width: 100%;
  height: 100%;
}
header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu .desplegable .area.menu .familia a {
  color: #666666;
  white-space: nowrap;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 8px 16px;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu .desplegable .area.menu .familia a:hover,
header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu .desplegable .area.menu .familia a.active {
  color: #000000;
}
header #header .bottom .menu .buscar {
  display: flex;
  align-items: center;
  width: 35px;
  height: 35px;
  margin-left: 90px;
  padding: 0;
  cursor: pointer;
  background-image: url('img/buscar.svg');
  background-size: 20px;
  background-repeat: no-repeat;
  background-position: center center;
  opacity: 0.7;
  -webkit-transition: all 0.15s ease;
  -moz-transition: all 0.15s ease;
  transition: all 0.15s ease;
}
header #header .bottom .menu .buscar:hover {
  opacity: 1;
}
header #header .bottom .menu .buscar:focus,
header #header .bottom .menu .buscar:active {
  opacity: 1;
}
header #header-mobile {
  display: none;
  height: 80px;
  background: #ffffff;
}
header #header-mobile #title-mobile {
  height: 80px;
  position: fixed;
  z-index: 1;
  top: 0;
  right: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 30px;
}
header #header-mobile #title-mobile a.logo {
  display: block;
  width: 100%;
  height: 40px;
}
header #header-mobile #title-mobile #nav-icon {
  width: 36px;
  height: 24px;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
}
header #header-mobile #title-mobile #nav-icon span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: #000000;
  opacity: 1;
  left: 0;
  border-radius: 2px;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}
header #header-mobile #title-mobile #nav-icon span:nth-child(1) {
  top: 0;
}
header #header-mobile #title-mobile #nav-icon span:nth-child(2),
header #header-mobile #title-mobile #nav-icon span:nth-child(3) {
  top: 10px;
}
header #header-mobile #title-mobile #nav-icon span:nth-child(4) {
  top: 20px;
}
header #header-mobile #title-mobile #nav-icon.open span {
  background: #C20E1A;
}
header #header-mobile #title-mobile #nav-icon.open span:nth-child(1) {
  top: 10px;
  width: 0%;
  left: 50%;
}
header #header-mobile #title-mobile #nav-icon.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
}
header #header-mobile #title-mobile #nav-icon.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
header #header-mobile #title-mobile #nav-icon.open span:nth-child(4) {
  top: 10px;
  width: 0%;
  left: 50%;
}
header #header-mobile #menu-mobile {
  font-size: 2.4rem;
  position: fixed;
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  top: 80px;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: auto;
  background: #ffffff;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.15s ease;
  -moz-transition: all 0.15s ease;
  transition: all 0.15s ease;
}
header #header-mobile #menu-mobile.on {
  opacity: 1;
  visibility: visible;
}
header #header-mobile #menu-mobile > ul.menu {
  color: #999999;
  line-height: 1;
  margin-bottom: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
}
header #header-mobile #menu-mobile > ul.menu > li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
  position: relative;
}
header #header-mobile #menu-mobile > ul.menu > li:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 20px;
  right: 20px;
  height: 1px;
  background-color: #dddfe2;
}
header #header-mobile #menu-mobile > ul.menu > li > a,
header #header-mobile #menu-mobile > ul.menu > li > span {
  font-size: 2.8rem;
  font-weight: 400;
  padding: 20px 68px;
  display: flex;
  justify-content: center;
  width: 100%;
}
header #header-mobile #menu-mobile > ul.menu > li > a.active,
header #header-mobile #menu-mobile > ul.menu > li > span.active {
  color: #C20E1A !important;
}
header #header-mobile #menu-mobile > ul.menu > li > a:hover,
header #header-mobile #menu-mobile > ul.menu > li > a:focus,
header #header-mobile #menu-mobile > ul.menu > li > a:active,
header #header-mobile #menu-mobile > ul.menu > li > span:hover,
header #header-mobile #menu-mobile > ul.menu > li > span:focus,
header #header-mobile #menu-mobile > ul.menu > li > span:active {
  color: #999999;
}
header #header-mobile #menu-mobile > ul.menu > li > ul {
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1;
  color: #666666;
  display: none;
  padding: 0;
  width: 100%;
  background: #bcc0c682;
}
header #header-mobile #menu-mobile > ul.menu > li > ul > li {
  padding: 12px 0;
  margin-bottom: 0;
  position: relative;
}
header #header-mobile #menu-mobile > ul.menu > li > ul > li:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 20px;
  right: 20px;
  height: 1px;
  background-color: #ffffff;
}
header #header-mobile #menu-mobile > ul.menu > li > ul > li:last-child:after {
  display: none;
}
header #header-mobile #menu-mobile > ul.menu > li > ul > li > a {
  display: flex;
  justify-content: center;
  padding: 12px 0;
}
header #header-mobile #menu-mobile > ul.menu > li > ul > li > a.active {
  color: #C20E1A;
}
header #header-mobile #menu-mobile > ul.menu > li > ul > li ul.subfamilia {
  font-size: 2rem;
  line-height: 1;
  color: #999999;
  padding: 0;
  width: 100%;
}
header #header-mobile #menu-mobile > ul.menu > li > ul > li ul.subfamilia > li {
  padding: 12px 0;
  margin-bottom: 0;
}
header #header-mobile #menu-mobile > ul.menu > li > ul > li ul.subfamilia > li > a {
  display: flex;
  justify-content: center;
}
header #header-mobile #menu-mobile > ul.menu > li:first-child > a {
  border: none;
}
header #header-mobile #menu-mobile > ul.menu > li:last-child:after {
  display: none;
}
header #header-mobile #menu-mobile > ul.menu > li.sub-desplegable {
  position: relative;
}
header #header-mobile #menu-mobile > ul.menu > li.sub-desplegable > span {
  width: 68px;
  height: 68px;
  padding: 0;
  position: absolute;
  top: 0;
  right: 0;
}
header #header-mobile #menu-mobile > ul.menu > li.sub-desplegable > span:before {
  content: '\f078';
  font-family: 'Font Awesome 6 Pro';
  font-style: normal;
  font-size: 2.4rem;
  font-weight: 400;
  width: 48px;
  height: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 10px;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
header #header-mobile #menu-mobile > ul.menu > li.sub-desplegable > span.rotate:before {
  content: '\f077';
}
header #header-mobile #menu-mobile > ul.menu > li.idioma,
header #header-mobile #menu-mobile > ul.menu > li.redes {
  flex-direction: row;
  justify-content: center;
  padding: 20px;
  margin-top: auto;
}
header #header-mobile #menu-mobile > ul.menu > li.idioma {
  font-size: 2.4rem;
  font-weight: 700;
  padding: 15px 0;
}
header #header-mobile #menu-mobile > ul.menu > li.idioma:after {
  display: none;
}
header #header-mobile #menu-mobile > ul.menu > li.idioma > a,
header #header-mobile #menu-mobile > ul.menu > li.idioma > span {
  padding: 20px 16px;
}
header #header-mobile #menu-mobile > ul.menu > li.redes {
  padding-top: 30px;
}
main {
  position: relative;
  z-index: 1;
}
main .container, main .container-fluid {
  overflow: hidden;
}
main .content {
  position: relative;
  z-index: 0;
}
main .content > .bread {
  position: absolute;
  z-index: 2;
  top: 15px;
  left: 50%;
  transform: translateX(-50%);
}
main section {
  padding-top: 50px;
  padding-bottom: 50px;
  position: relative;
  z-index: 1;
  background: #ffffff;
}
main section > * {
  position: relative;
}
main section h2,
main section .h2 {
  max-width: 750px;
}
main section ul {
  list-style-type: disc;
  padding-left: 20px;
}
main section.xl-top {
  padding-top: 140px;
}
main section.lg {
  padding-top: 100px;
  padding-bottom: 100px;
}
main section.lg-bottom {
  padding-bottom: 100px;
}
main section.md-bottom {
  padding-bottom: 50px;
}
main section.bloques h3,
main section.bloques .h3 {
  margin-bottom: 10px;
}
main section.bloques h4,
main section.bloques .h4,
main section.bloques h5,
main section.bloques .h5,
main section.bloques h6,
main section.bloques .h6 {
  margin-bottom: 15px;
}
main section.bloques ul {
  padding-left: 0;
  list-style-type: none;
}
main section.bloques ul > li {
  padding-left: 30px;
  margin-bottom: 10px;
  position: relative;
}
main section.bloques ul > li:before {
  content: "";
  display: block;
  width: 15px;
  height: 2px;
  position: absolute;
  top: 17px;
  left: 0;
  background-color: #666666;
}
main section.bloques ul > li:last-of-type {
  margin-bottom: 0;
}
main section.bloques .container .row [class^="col-"] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
main section.bloques .container .row [class^="col-"] h1,
main section.bloques .container .row [class^="col-"] .h1,
main section.bloques .container .row [class^="col-"] h2,
main section.bloques .container .row [class^="col-"] .h2,
main section.bloques .container .row [class^="col-"] h3,
main section.bloques .container .row [class^="col-"] .h3,
main section.bloques .container .row [class^="col-"] h4,
main section.bloques .container .row [class^="col-"] .h4,
main section.bloques .container .row [class^="col-"] h5,
main section.bloques .container .row [class^="col-"] .h5,
main section.bloques .container .row [class^="col-"] h6,
main section.bloques .container .row [class^="col-"] .h6,
main section.bloques .container .row [class^="col-"] p {
  width: 90%;
}
main section.bloques .txt {
  margin-top: 40px;
  margin-bottom: 40px;
}
main section.bloques .img {
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
main section.bloques .img img,
main section.bloques .img .embed-container {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main section.bloques.v2 h3,
main section.bloques.v2 .h3 {
  max-width: 600px;
}
main section.bloques.v2 .img-der,
main section.bloques.v2 .img-izq {
  position: relative;
}
main section.bloques.v2 .img-der .img,
main section.bloques.v2 .img-izq .img {
  width: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  overflow: visible;
}
main section.bloques.v2 .img-der .img img,
main section.bloques.v2 .img-izq .img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  margin: auto;
}
main section.bloques.v2 .img-der .img.dividida,
main section.bloques.v2 .img-izq .img.dividida {
  display: flex;
  justify-content: space-between;
}
main section.bloques.v2 .img-der .img.dividida .izq,
main section.bloques.v2 .img-der .img.dividida .der,
main section.bloques.v2 .img-izq .img.dividida .izq,
main section.bloques.v2 .img-izq .img.dividida .der {
  width: calc(50% - 15px);
  height: 100%;
}
main section.bloques.v2 .img-der .img.dividida .izq div,
main section.bloques.v2 .img-der .img.dividida .der div,
main section.bloques.v2 .img-izq .img.dividida .izq div,
main section.bloques.v2 .img-izq .img.dividida .der div {
  width: 100%;
  height: calc(100% - 34px);
}
main section.bloques.v2 .img-der .img.dividida .izq h5,
main section.bloques.v2 .img-der .img.dividida .der h5,
main section.bloques.v2 .img-izq .img.dividida .izq h5,
main section.bloques.v2 .img-izq .img.dividida .der h5 {
  margin: 8px 0 0;
}
main section.bloques.v2 .img-der .img.dividida .izq div,
main section.bloques.v2 .img-izq .img.dividida .izq div {
  left: 0;
}
main section.bloques.v2 .img-der .img.dividida .der div,
main section.bloques.v2 .img-izq .img.dividida .der div {
  right: 0;
}
main section.bloques.v2 .img-izq [class^="col-"] {
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: 80px;
}
main section.bloques.v2 .img-izq .img {
  left: 0;
}
main section.bloques.v2 .img-der [class^="col-"] {
  padding-top: 40px;
  padding-bottom: 40px;
  padding-right: 80px;
}
main section.bloques.v2 .img-der .img {
  right: 0;
}
main section.bg.light {
  background-color: #f8f8f8;
}
main section.bg-video {
  padding-top: 125px;
  padding-bottom: 125px;
  overflow: hidden;
}
main section.bg-video h1,
main section.bg-video .h1,
main section.bg-video h2,
main section.bg-video .h2,
main section.bg-video h3,
main section.bg-video .h3,
main section.bg-video h4,
main section.bg-video .h4,
main section.bg-video h5,
main section.bg-video .h5,
main section.bg-video h6,
main section.bg-video .h6 {
  margin-bottom: 15px;
}
main section.bg-video .embed-container {
  height: 100%;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
main section.bg-video .embed-container video,
main section.bg-video .embed-container iframe,
main section.bg-video .embed-container object,
main section.bg-video .embed-container embed {
  max-width: 100%;
  max-height: 100%;
  /*object-fit: contain;*/
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}
main section.bg-video.velo:before {
  content: '';
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
main section.bg-video.velo.light:before {
  background-color: rgba(255,255,255,0.8);
}
main section.bg-video.velo.dark:before {
  background-color: rgba(0,0,0,0.8);
}
main section.bg-video.xl {
  height: calc(100vh - 120px);
}
main section.bg-video,
main section.bg-img {
  margin-top: 50px;
  margin-bottom: 50px;
}
main section.bg-img,
main section .bg-img {
  color: #ffffff;
  padding-top: 0;
  padding-bottom: 0;
  height: 90vh;
  max-height: 800px;
  position: relative;
}
main section.bg-img *,
main section .bg-img * {
  position: relative;
  z-index: 1;
}
main section.bg-img h1,
main section.bg-img .h1,
main section.bg-img h2,
main section.bg-img .h2,
main section.bg-img h3,
main section.bg-img .h3,
main section.bg-img h4,
main section.bg-img .h4,
main section.bg-img h5,
main section.bg-img .h5,
main section.bg-img h6,
main section.bg-img .h6,
main section .bg-img h1,
main section .bg-img .h1,
main section .bg-img h2,
main section .bg-img .h2,
main section .bg-img h3,
main section .bg-img .h3,
main section .bg-img h4,
main section .bg-img .h4,
main section .bg-img h5,
main section .bg-img .h5,
main section .bg-img h6,
main section .bg-img .h6 {
  margin-bottom: 15px;
}
main section.bg-img h1,
main section.bg-img .h1,
main section.bg-img h2,
main section.bg-img .h2,
main section.bg-img h3,
main section.bg-img .h3,
main section.bg-img h4,
main section.bg-img .h4,
main section.bg-img h5,
main section.bg-img .h5,
main section.bg-img h6,
main section.bg-img .h6,
main section.bg-img p,
main section.bg-img span,
main section .bg-img h1,
main section .bg-img .h1,
main section .bg-img h2,
main section .bg-img .h2,
main section .bg-img h3,
main section .bg-img .h3,
main section .bg-img h4,
main section .bg-img .h4,
main section .bg-img h5,
main section .bg-img .h5,
main section .bg-img h6,
main section .bg-img .h6,
main section .bg-img p,
main section .bg-img span {
  color: #ffffff;
}
main section.bg-img img,
main section .bg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}
main section.bg-img [class^="col-"],
main section .bg-img [class^="col-"] {
  padding-top: 30px;
  padding-bottom: 30px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
main section.bg-img > .container,
main section .bg-img > .container {
  height: 100%;
}
main section.bg-img > .container > .row,
main section .bg-img > .container > .row {
  height: 100%;
}
main section .bg-video video {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
}
main section .bg-img {
  padding-top: 170px;
  padding-bottom: 170px;
  padding-left: 10%;
  padding-right: 10%;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}
main section .bg-img h1,
main section .bg-img .h1,
main section .bg-img h2,
main section .bg-img .h2,
main section .bg-img h3,
main section .bg-img .h3,
main section .bg-img h4,
main section .bg-img .h4,
main section .bg-img h5,
main section .bg-img .h5,
main section .bg-img h6,
main section .bg-img .h6,
main section .bg-img p,
main section .bg-img span {
  max-width: 320px;
}
main section .bg-img.inset {
  height: 60vh;
  padding: 30px;
  margin-bottom: 30px;
  justify-content: flex-end;
}
main section.hero {
  padding-top: 0;
  padding-bottom: 0;
  height: calc(100vh - 120px);
  background-color: #000;
}
main section.hero .slick.hero .txt {
  margin-top: 30%;
}
main section.hero .slick.hero .txt h1,
main section.hero .slick.hero .txt .h1,
main section.hero .slick.hero .txt p,
main section.hero .slick.hero .txt span {
  color: #ffffff;
  line-height: 1;
}
main section.hero .slick.hero .txt h1,
main section.hero .slick.hero .txt .h1 {
  font-size: 8rem;
  margin-bottom: 0;
}
main section.hero .slick.hero .txt h1 + p,
main section.hero .slick.hero .txt .h1 + p {
  margin-top: 10px;
  margin-bottom: 0;
}
main section.hero .slick.hero .txt p {
  font-size: 4.5rem;
  line-height: 1;
}
main section.hero .slick.hero .txt p:last-of-type {
  padding-bottom: 15px;
  position: relative;
  z-index: 1;
}
main section.hero .slick.hero .txt p:last-of-type:after {
  content: '';
  display: block;
  width: 260px;
  height: 4px;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #ffffff;
}
main section.hero .slick.hero .txt .btn {
  margin-top: 50px;
}
main section.hero .slick.hero .txt.gray:after {
  background-color: #666666;
}
main section.hero .slick.hero .txt.gray h1,
main section.hero .slick.hero .txt.gray .h1,
main section.hero .slick.hero .txt.gray p,
main section.hero .slick.hero .txt.gray span {
  color: #666666;
}
main section.hero .slick.hero .img {
  max-height: 300px;
  margin-top: 30%;
}
main section.hero.shadow {
  box-shadow: 0 0 10px 0px rgba(0,0,0,0.1) !important;
  /*height: calc(100vh - 130px);*/
  margin-top: 10px;
}
main section .prev {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}
main section .prev .img {
  height: 0;
  width: 100%;
  padding-bottom: 80%;
  position: relative;
  margin-bottom: 20px;
}
main section .prev .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}
main section .prev .img iframe,
main section .prev .img #map-europa,
main section .prev .img #map-america,
main section .prev .img #map-asia {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}
main section .prev .txt {
  display: flex;
  flex-direction: column;
}
main section .prev .txt h4,
main section .prev .txt .h4,
main section .prev .txt h5,
main section .prev .txt .h5 {
  margin-bottom: 15px;
}
main section .prev .txt p:last-of-type {
  margin-bottom: 0;
}
main section .prev .txt + .btn,
main section .prev .txt + ul {
  margin-top: 25px;
}
main section .prev .txt + .btn {
  padding-top: 25px;
  margin-top: auto;
}
main section .prev .btn {
  margin-top: auto;
}
main section .prev.v2 .img {
  padding-bottom: 120%;
}
main section .prev.v3 .txt {
  height: 100%;
  justify-content: space-between;
}
main section.actualidad .prev .img {
  padding-bottom: 80%;
}
main section.actualidad .prev .img img{
  object-fit: contain;
}
main section.actualidad .prev .txt .fecha {
  color: #C20E1A;
  display: flex;
  margin-bottom: 10px;
}
main section.actualidad .filtros {
  border: solid 1px #b1aeae;
  padding: 50px 25px 40px;
}
main section.actualidad .filtros form label,
main section.actualidad .filtros .form label {
  height: initial;
}
main section.actualidad .filtros .anios > li {
  margin-bottom: 10px;
}
main section.actualidad .filtros .anios > li > a {
  color: #C20E1A;
  padding-bottom: 0;
  position: relative;
}
main section.actualidad .filtros .anios > li > a:hover {
  color: #000000;
  text-decoration: none;
}
main section.actualidad .filtros .anios > li > a:hover:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}
main section.actualidad .filtros .anios > li > a:after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #C20E1A;
  transform-origin: bottom right;
  -webkit-transition: transform 0.25s ease-out;
  -moz-transition: transform 0.25s ease-out;
  transition: transform 0.25s ease-out;
}
main section.actualidad .filtros .anios > li > a.active {
  color: #000000;
}
main section.actualidad .filtros .anios > li > a.active:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}
main section.actualidad .publicaciones {
  border: solid 1px #b1aeae;
  padding: 50px 25px 40px;
}
main section.actualidad .publicaciones .entrada {
  display: block;
  margin-bottom: 40px;
}
main section.actualidad .publicaciones .entrada .head {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 10px;
}
main section.actualidad .publicaciones .entrada .head .img {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 74px;
  height: 74px;
  border-radius: 50%;
  border: solid 1px #666666;
  margin-right: 20px;
}
main section.actualidad .publicaciones .entrada .head .img img {
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  object-fit: contain;
}
main section.actualidad .publicaciones .entrada .head .titular {
  width: calc(100% - 94px);
}
main section.actualidad .publicaciones .entrada .head .titular h4,
main section.actualidad .publicaciones .entrada .head .titular .h4 {
  font-weight: 700;
  margin-bottom: 0;
}
main section.actualidad .publicaciones .entrada .head .titular p {
  font-size: 1.6rem;
  margin-bottom: 0;
}
main section.actualidad .filtros,
main section.actualidad .publicaciones {
  position: sticky;
  top: unset;
}
main section.actualidad .noticia h2,
main section.actualidad .noticia .h2 {
  max-width: initial;
}
main section.actualidad .noticia .fecha {
  color: #C20E1A;
}
main section.actualidad .noticia .entradilla {
  font-size: 1.8rem;
  font-weight: 600;
}
main section.actualidad .noticia .img {
  margin-bottom: 30px;
}
main section.actualidad .noticia .img img {
  width: 70%;
}
main section.actualidad .noticia .redes p {
  margin-bottom: 5px;
}
main section.actualidad .noticia .redes ul {
  display: flex;
  list-style-type: none;
  padding-left: 0;
  margin-top: 10px;
}
main section.actualidad .noticia .redes ul > li {
  margin-right: 20px;
}
main section.actualidad .noticia .redes ul > li > a > img {
  width: 36px;
  height: 36px;
  opacity: 0.5;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
main section.actualidad .noticia .redes ul > li > a:hover > img {
  opacity: 1;
}
main section.cta {
  padding-top: 125px;
  padding-bottom: 125px;
  margin-top: 50px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
main section.cta .container .row [class^="col-"]:nth-of-type(2) {
  display: flex;
  justify-content: flex-end;
}
main section.cta .container .row [class^="col-"]:nth-of-type(2) p {
  display: inline-flex;
  width: initial;
}
main section.intro,
main section .intro {
  font-size: 1.8rem;
  text-align: center;
}
main section.intro h1,
main section.intro .h1,
main section.intro h2,
main section.intro .h2,
main section.intro h3,
main section.intro .h3,
main section.intro h4,
main section.intro .h4,
main section .intro h1,
main section .intro .h1,
main section .intro h2,
main section .intro .h2,
main section .intro h3,
main section .intro .h3,
main section .intro h4,
main section .intro .h4 {
  max-width: 100%;
}
main section.intro .h3,
main section .intro .h3 {
  text-align: center;
}
main section.intro p,
main section .intro p {
  line-height: 1.5;
}
main section.intro p:last-of-type,
main section .intro p:last-of-type {
  margin-bottom: 0;
}
main section .brand {
  display: flex;
  justify-content: space-around;
  width: 80%;
  margin: 80px 10% 0;
}
main section .brand > div {
  margin: 40px;
  width: calc(100% / 3);
}
main section .brand > div > .name {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px;
  margin-bottom: 32px;
  background-color: #666666;
  border-radius: 16px;
}
main section .brand > div > .name .h3 {
  color: #ffffff;
  line-height: 1;
  text-align: center;
  margin: 0;
  white-space: nowrap;
}
main section .brand > div > p:last-of-type {
  margin: 0;
}
main section .brand > div:first-of-type > .name {
  position: relative;
  background-color: transparent;
}
main section .brand > div:first-of-type > .name:before {
  content: '';
  height: 8px;
  border-radius: 8px;
  background-color: #C20E1A;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
main section .brand > div:first-of-type > .name .h3 {
  color: #666666;
}
main section.componentes {
  height: 786px;
  margin: 40px 0;
  padding: 0;
  position: relative;
}
main section.componentes .wrapper-txt {
  display: flex;
  flex-wrap: nowrap;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
main section.componentes .wrapper-txt > .bloque {
  color: #ffffff;
  padding: 30px 15px;
  width: calc(100% / 7);
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  border-left: solid 1px rgba(255,255,255,0.2);
  border-right: solid 1px rgba(255,255,255,0.2);
  z-index: 1;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
main section.componentes .wrapper-txt > .bloque > * {
  position: relative;
  z-index: 1;
}
main section.componentes .wrapper-txt > .bloque:first-of-type {
  border-left: none;
}
main section.componentes .wrapper-txt > .bloque:last-of-type {
  border-right: none;
}
main section.componentes .wrapper-txt > .bloque:before {
  content: '';
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0,0,0,0.3);
  opacity: 0;
  -webkit-transition: all 0.15s ease;
  -moz-transition: all 0.15s ease;
  transition: all 0.15s ease;
}
main section.componentes .wrapper-txt > .bloque .green {
  color: #11AA2D;
}
main section.componentes .wrapper-txt > .bloque h4,
main section.componentes .wrapper-txt > .bloque .h4 {
  font-weight: 600;
}
main section.componentes .wrapper-txt > .bloque h5,
main section.componentes .wrapper-txt > .bloque .h5 {
  color: #ffffff;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 15px;
}
main section.componentes .wrapper-txt > .bloque .btn {
  color: #ffffff;
}
main section.componentes .wrapper-txt > .bloque .btn:before {
  background-color: rgba(255,255,255,0.3);
}
main section.componentes .wrapper-txt > .bloque .btn:hover:before {
  background-color: #ffffff;
}
main section.componentes .wrapper-txt > .bloque .inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
main section.componentes .wrapper-txt > .bloque .inner p,
main section.componentes .wrapper-txt > .bloque .inner .btn {
  font-size: 0;
  opacity: 0;
  margin: 0;
  transition: font-size linear 0.15s, opacity ease-out 0.5s;
}
main section.componentes .wrapper-txt > .bloque:hover:before {
  opacity: 1;
}
main section.componentes .wrapper-txt > .bloque:hover .inner p,
main section.componentes .wrapper-txt > .bloque:hover .inner .btn {
  font-size: inherit;
  opacity: 1;
}
main section.componentes .wrapper-txt > .bloque:hover .inner p {
  margin-bottom: 25px;
}
main section.componentes .wrapper-img {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
main section.componentes .wrapper-img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  margin: auto;
}
main section .franja {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 25px;
  background-image: url('img/bg-franja.jpg');
  background-position: center;
  background-repeat: no-repeat;
}
main section .franja h1,
main section .franja .h1,
main section .franja h2,
main section .franja .h2,
main section .franja h3,
main section .franja .h3,
main section .franja h4,
main section .franja .h4,
main section .franja h5,
main section .franja .h5,
main section .franja h6,
main section .franja .h6 {
  text-align: center;
  margin-bottom: 0;
}
main section.formulario .txt > * {
  max-width: initial;
}
main section.formulario .txt form,
main section.formulario .txt .form {
  max-width: initial;
}
main section .graficas-porcentuales {
  display: flex;
  justify-content: center;
  text-align: center;
  flex-wrap: wrap;
}
main section .graficas-porcentuales > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: calc(100% / 4);
  padding: 15px;
  margin-bottom: 0;
}
main section .graficas-porcentuales > div p {
  font-size: 2.2rem;
  line-height: 1.2;
}
main section .graficas-porcentuales > div p:last-of-type {
  margin-bottom: 0;
}
main section .graficas-porcentuales.cols-5 > div {
  width: calc(100% / 5);
}
main section .sede {
  display: flex;
  flex-wrap: nowrap;
  border: solid 1px #b1aeae;
  padding: 25px 50px;
  height: 100%;
}
main section .sede .datos {
  margin-left: auto;
  width: 60%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
main section .sede .datos ul.vias {
  margin-bottom: 0;
}
main section .sede .pais {
  padding-right: 30px;
  width: 40%;
}
main section .sede .pais h5,
main section .sede .pais .h5 {
  margin-bottom: 40px;
}
main section .sede .pais .img {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
main section .sede .pais .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main section.plantas .prev .txt p,
main section.plantas .sede .datos p {
  margin-bottom: 0;
}
main section.descargas ul.listado {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  margin: 0 -15px 20px;
  padding: 0;
  width: calc(100% + 30px);
  list-style-type: none;
}
main section.descargas ul.listado > li {
  margin: 50px 15px 0;
  width: calc(19.8%);
}
main section.descargas .certificados ul.listado > li {
  margin: 50px 15px 0;
  width: 60%;
}
main section.descargas ul.listado > li .img {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  height: 0;
  padding-bottom: 130%;
  border: solid 1px #666666;
  position: relative;
}
main section.descargas ul.listado > li .img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}
main section.descargas ul.listado > li .img + .btn {
  margin-top: 50px;
}
main section.descargas ul.listado > li .txt h6,
main section.descargas ul.listado > li .txt .h6 {
  margin-bottom: 5px;
}
main section.descargas ul.listado > li .txt h6:first-of-type,
main section.descargas ul.listado > li .txt .h6:first-of-type {
  color: #C20E1A;
  font-weight: 600;
}
main section.descargas ul.listado > li .txt h6:last-of-type,
main section.descargas ul.listado > li .txt .h6:last-of-type {
  margin-bottom: 25px;
}
main section.descargas ul.listado > li .txt p:last-of-type {
  margin-bottom: 0;
}
main section.descargas ul.listado > li .txt,
main section.descargas ul.listado > li .btn {
  margin-top: 20px;
}
main section.descargas .categorias-wrapper .wrapper-item {
  margin-bottom: 16px;
}
main section.descargas .categorias-wrapper .wrapper-item .item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap;
  border: solid 1px #999999;
}
main section.descargas .categorias-wrapper .wrapper-item .item .h3 {
  height: 60px;
  display: flex;
  align-items: center;
  margin-bottom: 0px;
}
main section.descargas .categorias-wrapper .wrapper-item .item > div {
  padding-left: 10px;
  padding-right: 10px;
  margin-left: 10px;
  margin-right: 10px;
}
main section.descargas .categorias-wrapper .wrapper-item .item > div:last-of-type {
  margin-right: 5px;
}
main section.descargas .categorias-wrapper .wrapper-item .toggle-inner {
  padding: 40px 20px 1px 20px;
}
main section.descargas .categorias-wrapper .wrapper-item .toggle-inner ul.listado {
  /*justify-content: flex-start;*/
}
main section.descargas .categorias-wrapper .wrapper-item .toggle-inner ul.listado > li {
  margin: 0 15px 50px;
}
main section.descargas .categorias-wrapper .wrapper-item .toggle-inner hr {
  margin-top: 20px;
  margin-bottom: 20px;
}
main section.descargas .categorias-wrapper .wrapper-item .toggle-inner p + h6,
main section.descargas .categorias-wrapper .wrapper-item .toggle-inner ul + h6,
main section.descargas .categorias-wrapper .wrapper-item .toggle-inner ul + .h6 {
  margin-bottom: 10px;
  margin-top: 20px;
}
main section.descargas .proyectos .categorias-wrapper ul.listado > li {
  width: calc(33.33333% - 30px);
}
main section.descargas .proyectos .categorias-wrapper ul.listado > li .img {
  padding-bottom: 70%;
}
main section.descargas .informes .cabecera {
  border: solid 1px #666666;
}
main section.descargas .informes .cabecera .top,
main section.descargas .informes .cabecera .bottom {
  display: flex;
  padding: 30px;
}
main section.descargas .informes .cabecera .top .logo {
  width: 35%;
  padding: 15px 15px 0;
}
main section.descargas .informes .cabecera .top .logo img {
  max-width: 320px;
}
main section.descargas .informes .cabecera .top .txt {
  width: 65%;
  padding: 15px 15px 0;
  display: flex;
  align-items: center;
}
main section.descargas .informes .cabecera .top .txt .h2 {
  margin: 0;
  max-width: initial;
}
main section.descargas .informes .cabecera .bottom {
  padding-top: 0;
}
main section.descargas .informes .cabecera .bottom .txt,
main section.descargas .informes .cabecera .bottom .anio {
  width: 50%;
  padding: 0 15px 15px;
  display: flex;
  align-items: flex-end;
}
main section.descargas .informes .cabecera .bottom .txt p:last-of-type {
  margin-bottom: 0;
}
main section.descargas .informes .cabecera .bottom .anio {
  text-align: center;
}
main section.descargas .informes .cabecera .bottom .anio span {
  font-size: 20rem;
  line-height: 0.75;
}
main section .wrapper-ofertas {
  padding-top: 50px;
}
main section .wrapper-ofertas .oferta {
  padding: 30px;
  margin-top: 30px;
  border: solid 1px #b1aeae;
}
main section .wrapper-ofertas .oferta h3,
main section .wrapper-ofertas .oferta .h3,
main section .wrapper-ofertas .oferta h4,
main section .wrapper-ofertas .oferta .h4,
main section .wrapper-ofertas .oferta h5,
main section .wrapper-ofertas .oferta .h5 {
  margin-bottom: 5px;
}
main section .wrapper-ofertas .oferta h5,
main section .wrapper-ofertas .oferta .h5 {
  font-weight: 500;
}
main section .wrapper-ofertas .oferta p:last-of-type {
  margin-bottom: 0;
}
main section .solicitud {
  border: solid 1px #b1aeae;
  padding: 50px 25px 40px;
}
main section .oferta {
  display: flex !important;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  height: 100%;
  border: solid 1px #b1aeae;
  padding: 40px 25px 40px;
}
main section .oferta h3,
main section .oferta .h3 {
  margin-bottom: 10px;
}
main section .oferta .btn {
  margin-top: auto;
}
main section .timeline {
  padding-left: 60px;
}
main section .timeline .prev .txt p:last-of-type {
  margin-bottom: 0;
}
footer {
  color: #ffffff;
  padding-top: 100px;
  padding-bottom: 40px;
  position: relative;
  z-index: 1;
  background: #666666;
}
footer h1,
footer .h1,
footer h2,
footer .h2,
footer h3,
footer .h3,
footer h4,
footer .h4,
footer h5,
footer .h5,
footer h6,
footer .h6,
footer p,
footer span {
  color: #ffffff;
}
footer h6,
footer .h6 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 16px;
}
footer p {
  margin-bottom: 0;
}
footer ul > li {
  margin-bottom: 5px;
}
footer ul > li > a {
  line-height: 1.25;
  display: inline-flex;
  padding-bottom: 4px;
  position: relative;
}
footer ul > li > a img {
  width: 20px;
}
footer ul > li > a:before {
  content: '';
  height: 1px;
  width: 0;
  background-color: #ffffff;
  position: absolute;
  bottom: 0;
  right: 0;
  -webkit-transition: all 0.15s ease;
  -moz-transition: all 0.15s ease;
  transition: all 0.15s ease;
}
footer ul > li > a:hover {
  color: #ffffff;
}
footer ul > li > a:hover:before {
  left: 0;
  right: initial;
  width: 100%;
}
footer hr {
  width: 100%;
  background-color: #C20E1A;
}
footer hr:before {
  background: #C20E1A;
}
footer .top {
  padding-bottom: 40px;
  display: flex;
  justify-content: space-between;
  margin-right: -15px;
  margin-left: -15px;
}
footer .top .col {
  flex: initial;
  width: auto;
  padding-right: 15px;
  padding-left: 15px;
}
footer .logo {
  display: block;
  padding-bottom: 60px;
}
footer .logo img {
  max-width: 210px;
}
footer .logo:after {
  display: none;
}
.proyectos-eu{
  text-align: left;
}
main section.xl-top:has(.proyectos-eu) {
  padding-top: 40px;
  background: #f5f5f5;
}
main section.xl-top:has(.no-pad){
  padding:0;
}
.elay-circulo-video{
  left: 80px;
  top: 30px;
}
@media screen and (max-height: 800px) {
  main section.hero .slick.hero .txt {
    margin-top: 15%;
  }
}
@media screen and (max-height: 600px) {
  main section.hero .slick.hero .txt {
    margin-top: 5%;
  }
}
@media screen and (min-width: 1600px) {
  main section.hero .container {
    max-width: 1500px;
  }
  main section .container.bread {
    max-width: 1500px;
  }
}
@media screen and (max-width: 1599.98px) {
  header #header .bottom .menu nav > ul > li {
    margin-left: 60px;
  }
  header #header .bottom .menu .buscar {
    margin-left: 60px;
  }
}
@media screen and (max-width: 1399.98px) {
  .container-fluid {
    padding-left: 60px;
    padding-right: 60px;
  }
  header #header .bottom .menu nav > ul > li {
    margin-left: 30px;
  }
  header #header .bottom .menu .buscar {
    margin-left: 30px;
  }
}
@media screen and (max-width: 1199.98px) {
  .desktop-hidden {
    display: flex !important;
  }
  .hero.cabecera #slick-slide01 {
    padding: 0 !important;
  }
  .home-video-resp{
    padding: 0 !important;
  }
  .home-video-container {
    padding: 0 !important;
  }
  .mobile-hidden {
    display: none !important;
  }
  .tablet-video{
    display: flex;
  }
  .mobile-video{
    display: none;
  }
  .container-fluid {
    padding-left: 35px;
    padding-right: 35px;
  }
  .slick .slick-list .slick-track .slick-slide .txt {
    top: initial;
    max-width: calc(100% - 60px);
  }
  .slick.hero .slick-list .slick-track .slick-slide {
    min-height: 350px;
  }
  .slick.hero .slick-list .slick-track .slick-slide .bg-video {
    position: relative;
    overflow: visible;
    height: 100%;    
  }
  .slick.hero .slick-list .slick-track .slick-slide .row + .bg-video {
    position: absolute;
  }
  .slick.hero .slick-list .slick-track .slick-slide .row + .bg-video video {
    width: initial;
    height: initial;
    max-width: 100%;
    max-height: 100%;
    min-width: initial;
    min-height: initial;
}
  .slick.hero .slick-list .slick-track .slick-slide .bg-video .embed-container {
    padding: 0;
    position: relative;
    top: initial;
    left: initial;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  body {
    padding-top: 80px;
  }
  body.home {
    padding-top: 80px;
  }
  header {
    height: 80px;
  }
  header #header {
    display: none;
  }
  header #header-mobile {
    display: block;
  }
  header ::-webkit-scrollbar-track {
    background-color: transparent;
  }
  header ::-webkit-scrollbar-thumb {
    background-color: #C20E1A;
  }
  header ::-webkit-scrollbar {
    width: 4px;
    height: 4px;
    background-color: transparent;
  }
  header ::-moz-scrollbar-track {
    background-color: transparent;
  }
  header ::-moz-scrollbar-thumb {
    background-color: #C20E1A;
  }
  header ::-moz-scrollbar {
    width: 4px;
    height: 4px;
    background-color: transparent;
  }
  main section {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  main section.xl-top {
    padding-top: 100px;
  }
  main section.bg-video,
  main section.bg-img {
    margin-top: initial;
    margin-bottom: initial;
  }
  main section.bg-video {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  main section.hero {
    height: initial;
  }
  main section.hero .slick.hero .txt {
    margin-top: auto;
    margin-bottom: auto;
    padding-top: 50px;
    padding-bottom: 50px;
  }
  main section.hero .slick.hero .embed-container video {
    object-fit: contain;
    position: relative;
    top: initial;
    left: initial;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  main section.hero.cabecera {
    background-color: #000;
  }
  main section.intro,
  main section .intro {
    text-align: left;
  }
  main section.componentes {
    height: initial;
  }
  main section.componentes .wrapper-txt {
    flex-direction: column;
    position: relative;
  }
  main section.componentes .wrapper-txt > .bloque {
    width: 100%;
    border-bottom: solid 1px rgba(255,255,255,0.5);
    border-left: none;
    border-right: none;
  }
  main section .graficas-porcentuales > div {
    width: calc(100% / 2);
  }
  main section .graficas-porcentuales > div p {
    font-size: 2rem;
  }
  main section .graficas-porcentuales.cols-5 > div {
    width: calc(100% / 3);
  }
  footer .top {
    flex-wrap: wrap;
  }
  footer .top .direccion {
    width: 100% !important;
    padding-bottom: 25px;
    position: relative;
  }/*
  footer .top .direccion:after {
    content: '';
    display: block;
    height: 2px;
    position: absolute;
    bottom: 0;
    left: 15px;
    right: 15px;
    background-color: #C20E1A;
  }*/
  footer .top .col {
    width: calc(100% / 3);
  }
  footer ul.extra {
    display: flex;
  }
  footer ul.extra > li {
    margin-right: 50px;
  }
  main section.componentes .wrapper-img img {
    object-position: left center;
  }
  main section.intro,
  main section .intro {
    text-align: left;
  }
  main section.componentes {
    height: initial;
  }
  main section.componentes .wrapper-img img {
    object-position: left center;
  }
  main section.componentes .wrapper-txt {
    flex-direction: column;
    position: relative;
  }
  main section.componentes .wrapper-txt > .bloque {
    width: 100%;
    border-bottom: solid 1px rgba(255,255,255,0.5);
    border-left: none;
    border-right: none;
  }
  main section.componentes .wrapper-txt > .bloque.on:before {
    opacity: 1;
  }
  main section .graficas-porcentuales > div {
    width: calc(100% / 2);
  }
  main section .graficas-porcentuales > div p {
    font-size: 2rem;
  }
  main section .graficas-porcentuales.cols-5 > div {
    width: calc(100% / 3);
  }
  footer .top {
    flex-wrap: wrap;
  }
  footer .top .direccion {
    width: 100% !important;
    padding-bottom: 25px;
    position: relative;
  }
  footer .top .col {
    width: calc(100% / 3);
  }
  footer ul.extra {
    display: flex;
  }
  footer ul.extra > li {
    margin-right: 50px;
  }
  main section.descargas .catalogos ul.listado > li,
  main section.descargas .certificados ul.listado > li {
    margin: 50px 15px 0;
    width: 50%;
  }
  main section.descargas .informes ul.listado > li {
    margin: 50px 15px 0;
    width: 40%;
  }
}
@media screen and (max-width: 991.98px) {
  .md-mobile-hidden {
    display: none !important;
  }
  .slick-dots li button {
    width: 20px;
    height: 20px;
    border-radius: 10px;
  }
  .slick-dots li.slick-active button {
    width: 40px;
  }
  .container-fluid {
    padding-left: 25px;
    padding-right: 25px;
  }
  .grid-item {
    width: 50%;
  }
  body.navegando header {
    background: #000000;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  main section .brand {
    width: 100%;
    margin: 80px 0;
  }
  main section .brand > div {
    margin: 20px;
  }
  main section.bg-video .embed-container video,
  main section.bg-video .embed-container iframe,
  main section.bg-video .embed-container object,
  main section.bg-video .embed-container embed {
    object-fit: cover;
    max-height: 100%;
    max-width: 100%;
  }
  main section.bloques.v2 .img-izq .img.dividida,
  main section.bloques.v2 .img-der .img.dividida {
    flex-direction: column;
  }
  main section.bloques.v2 .img-izq .img.dividida .izq,
  main section.bloques.v2 .img-izq .img.dividida .der,
  main section.bloques.v2 .img-der .img.dividida .izq,
  main section.bloques.v2 .img-der .img.dividida .der {
    width: 100%;
    height: 50%;
  }
  main section.bloques.v2 .img-izq .img.dividida .izq div,
  main section.bloques.v2 .img-izq .img.dividida .der div,
  main section.bloques.v2 .img-der .img.dividida .izq div,
  main section.bloques.v2 .img-der .img.dividida .der div {
    height: calc(100% - 36px);
  }
  main section.bloques.v2 .img-izq .img.dividida .izq h5,
  main section.bloques.v2 .img-izq .img.dividida .der h5,
  main section.bloques.v2 .img-der .img.dividida .izq h5,
  main section.bloques.v2 .img-der .img.dividida .der h5 {
    margin: 8px 0;
  }
}
@media screen and (max-width: 767.98px) {
  .slick.hero .slick-list .slick-track .slick-slide {
    min-height: 300px;
  }
  main section.xl-top {
    padding-top: 60px;
  }
  
  main section.bg-video {
    padding-bottom: 360px;
  }
  .tablet-video{
    display: none;
  }
  .mobile-video{
    display: flex;
  }
  .mobile-video video{
    object-position: bottom;
  }
  
  main section.hero .slick.hero .txt p:last-of-type:after {
    width: 200px;
  }
  .slick .slick-list .slick-track .slick-slide .txt {
    top: initial;
    max-width: calc(85% - 60px);
  }
  ::-webkit-scrollbar {
    width: 4px;
    height: 4px;
    border-radius: 2px;
  }
  ::-moz-scrollbar {
    width: 4px;
    height: 4px;
    border-radius: 2px;
  }
  .btn.desplegar, .btn:not([href]).desplegar {
    font-size: 2rem;
  }
  .container-fluid,
  .container {
    padding-left: 25px;
    padding-right: 25px;
  }
  .scroll.subir {
    bottom: -50px;
  }
  .slick.hero .slick-dots {
    bottom: 40px;
  }
  .slick.carrusel {
    padding-left: 0;
    padding-right: 0;
  }
  ul.breadcrumb > li {
    padding: 0 10px !important;
  }
  h1,
  .h1 {
    font-size: 4rem;
  }
  h2,
  .h2 {
    font-size: 3.2rem;
  }
  h3,
  .h3 {
    font-size: 2.8rem;
  }
  h4,
  .h4 {
    font-size: 2.4rem;
  }
  header #header-mobile #title-mobile {
    padding: 0 25px;
  }
  main section.hero .slick.hero .txt h1,
  main section.hero .slick.hero .txt .h1 {
    font-size: 4rem;
  }
  main section.hero .slick.hero .txt p {
    font-size: 2rem;
  }
  main section.cabecera .slick.hero h1,
  main section.cabecera .slick.hero .h1 {
    font-size: 4rem;
  }
  main section.cabecera .slick.hero p {
    font-size: 3rem;
  }
  main section.bg-img {
    height: initial;
  }
  main section.bg-img [class^="col-"] {
    padding-top: 75px;
    padding-bottom: 75px;
  }
  main section.blog .prev .img,
  main section.actualidad .prev .img {
    padding-bottom: 75%;
    margin-bottom: 25px;
  }
  main section.blog .prev .txt h4,
  main section.blog .prev .txt .h4,
  main section.actualidad .prev .txt h4,
  main section.actualidad .prev .txt .h4 {
    min-height: initial;
  }
  main section.bloques .txt {
    margin-top: 20px;
  }
  main section.bloques.v2 .img-der .img,
  main section.bloques.v2 .img-izq .img {
    position: relative;
    width: 100%;
    height: 50vh;
    max-height: 310px;
  }
  main section.bloques.v2 .img-der .img.dividida,
  main section.bloques.v2 .img-izq .img.dividida {
    height: initial;
    max-height: initial;
  }
  main section.bloques.v2 .img-der .img.dividida .izq,
  main section.bloques.v2 .img-der .img.dividida .der,
  main section.bloques.v2 .img-izq .img.dividida .izq,
  main section.bloques.v2 .img-izq .img.dividida .der {
    height: 50vh;
    max-height: 350px;
    position: relative;
  }
  main section.bloques.v2 .img-der .img.dividida .izq:before,
  main section.bloques.v2 .img-der .img.dividida .der:before,
  main section.bloques.v2 .img-izq .img.dividida .izq:before,
  main section.bloques.v2 .img-izq .img.dividida .der:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0,0,0,0.3);
  }
  main section.bloques.v2 .img-der .img.dividida .izq div,
  main section.bloques.v2 .img-der .img.dividida .der div,
  main section.bloques.v2 .img-izq .img.dividida .izq div,
  main section.bloques.v2 .img-izq .img.dividida .der div {
    height: 100%;
  }
  main section.bloques.v2 .img-der .img.dividida .izq h5,
  main section.bloques.v2 .img-der .img.dividida .der h5,
  main section.bloques.v2 .img-izq .img.dividida .izq h5,
  main section.bloques.v2 .img-izq .img.dividida .der h5 {
    color: #fff;
    position: absolute;
    bottom: 0;    
    padding-left: 25px;
  }
  main section.bloques.v2 .img-der .img.dividida > div:first-of-type,
  main section.bloques.v2 .img-izq .img.dividida > div:first-of-type {
    margin-bottom: 24px;
  }
  main section.bloques.v2 .img-der [class^="col-"],
  main section.bloques.v2 .img-izq [class^="col-"] {
    padding-top: 40px;
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    padding-right: calc(var(--bs-gutter-x) * 0.5);
  }
  main section.bloques.v2 > div:last-of-type [class^="col-"] {
    padding-bottom: 0;
  }
  main section .bg-img {
    height: 100%;
    padding-top: 75px;
    padding-bottom: 75px;
    padding-left: 25px;
    padding-right: 25px;
  }
  main section .brand {
    margin-top: 40px;
  }
  main section .brand > div {
    margin: 25px 15px;
  }
  main section .graficas-porcentuales > div p {
    font-size: 1.8rem;
  }
  main section .graficas-porcentuales.cols-5 > div {
    width: calc(100% / 2);
  }
  main section.descargas .categorias-wrapper .wrapper-item .item .h3 {
    font-size: 2rem;
  }
  footer .logo img {
    max-width: 82px;
  }
  .elay-circulo-video{
    min-width: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
  }
  main section.cta{
    padding-bottom: 125px;
    background-position: center bottom;
    background-repeat: no-repeat;
    margin-top: unset;
    padding-top: unset;
    background-size: unset;
  }
  main section .sede {
    display: flex;
    flex-wrap: nowrap;
    border: solid 1px #b1aeae;
    padding: 25px 30px;
    height: 100%;
  }
  ul.vias>li>span {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (max-width: 575.98px) {
  main section .sede {
    display: flex;
    flex-wrap: nowrap;
    border: solid 1px #b1aeae;
    padding: 25px 20px;
    height: 100%;
  }
  ul.vias>li>span {
    display: flex;
    flex-direction: column;
  }
  .slick.hero-inner .slick-list .slick-track .slick-slide {
    min-width: calc(100vw - 20px);
  }
  .slick.hero-inner .slick-list .slick-track .slick-slide img {
    max-width: 275px;
    max-height: 275px;
    width: initial;
  }
  .slick.hero-inner .slick-dots {
    margin-top: 30px;
  }
  .mobile-hidden {
    display: none !important;
  }
  .xs-mobile-hidden {
    display: none !important;
  }
  .grid-item {
    width: 100%;
  }
  .chart {
    margin-bottom: 0;
  }
  .chart canvas {
    transform: scale(0.75);
  }
  main section .brand {
    flex-direction: column;
  }
  main section .brand > div {
    width: calc(100% - 30px);
  }
  main section .brand > div > .name {
    margin-bottom: 24px;
  }
  main section .timeline:before {
    content: '';
    display: block;
    width: 2px;
    background: #C20E1A;
    position: absolute;
    top: 90px;
    bottom: 50px;
    left: 25px;
  }
  main section .timeline .anio {
    position: relative;
  }
  main section .timeline .anio h5,
  main section .timeline .anio .h5 {
    color: #C20E1A;
    margin-bottom: 15px;
  }
  main section .timeline .anio:before {
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background-color: #C20E1A;
    border: solid 3px #ffffff;
    position: absolute;
    z-index: 1;
    top: 34px;
    left: -41px;
  }
  main section .timeline .anio:after {
    content: '';
    display: block;
    width: 35px;
    height: 2px;
    background-color: #C20E1A;
    position: absolute;
    top: 28px;
    left: -40px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  main section.bg-video {
    padding-bottom: 360px;
  }
  main section.bg-video .embed-container.desktop-hidden video {
    height: initial;
    object-fit: cover;
    top: initial;
    left: 50%;
    right: initial;
    bottom: 0;
    transform: translate(-50%, 0%);
    object-position: center center;
  }
  .mobile-video video{
    object-position: 30% ;
  }
  footer {
    padding-top: 40px;
  }
  footer .top .col {
    width: 100%;
  }
  footer .top .col:last-of-type {
    width: 100%;
  }
  footer ul > li {
    margin-bottom: 3px;
  }
  footer ul.extra {
    display: block;
  }
  footer ul.extra > li {
    margin-right: 0;
  }
}
.scroll {
  font-size: 1.6rem;
  line-height: 40px;
  color: #ffffff;
  text-decoration: none;
  position: absolute;
  z-index: 9999;
  display: block;
  width: 90px;
  height: 40px;
  padding: 0 10px 0 40px;
  bottom: 70px;
  left: calc(50vw - 45px);
  opacity: 1;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.scroll.oculto {
  opacity: 0;
  visibility: hidden;
}
.scroll.subir {
  color: #ffffff;
  padding: 0;
  opacity: 0.5;
  bottom: -40px;
}
.scroll.subir:hover {
  color: #ffffff;
  opacity: 1;
}
.scroll.subir:focus,
.scroll.subir:active {
  color: #ffffff;
}
.scroll.subir:before,
.scroll.subir:after {
  display: none;
}
.scroll:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 24px;
  height: 40px;
  border: 2px solid #ffffff;
  border-radius: 12px;
}
.scroll:after {
  display: block;
  position: absolute;
  top: 9px;
  left: 11px;
  width: 2px;
  height: 8px;
  border-radius: 2px;
  background: #ffffff;
  content: "";
  animation-name: scroll-down;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-delay: 2s;
}
.scroll:hover {
  color: #ffffff;
  text-decoration: none;
}
.scroll:focus,
.scroll:active {
  color: #ffffff;
}
@-webkit-keyframes scroll-down {
  0% {
    opacity: 1;
    height: 8px;
  }
  20% {
    opacity: 1;
    height: 8px;
  }
  30% {
    transform: translateY(0);
    opacity: 1;
    height: 19px;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translateY(19px);
    opacity: 0;
    height: 0;
  }
  81% {
    transform: translateY(0);
    opacity: 0;
    height: 8px;
  }
  100% {
    opacity: 1;
    height: 8px;
  }
}
@-moz-keyframes scroll-down {
  0% {
    opacity: 1;
    height: 8px;
  }
  20% {
    opacity: 1;
    height: 8px;
  }
  30% {
    transform: translateY(0);
    opacity: 1;
    height: 19px;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translateY(19px);
    opacity: 0;
    height: 0;
  }
  81% {
    transform: translateY(0);
    opacity: 0;
    height: 8px;
  }
  100% {
    opacity: 1;
    height: 8px;
  }
}
@-o-keyframes scroll-down {
  0% {
    opacity: 1;
    height: 8px;
  }
  20% {
    opacity: 1;
    height: 8px;
  }
  30% {
    transform: translateY(0);
    opacity: 1;
    height: 19px;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translateY(19px);
    opacity: 0;
    height: 0;
  }
  81% {
    transform: translateY(0);
    opacity: 0;
    height: 8px;
  }
  100% {
    opacity: 1;
    height: 8px;
  }
}
@keyframes scroll-down {
  0% {
    opacity: 1;
    height: 8px;
  }
  20% {
    opacity: 1;
    height: 8px;
  }
  30% {
    transform: translateY(0);
    opacity: 1;
    height: 19px;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translateY(19px);
    opacity: 0;
    height: 0;
  }
  81% {
    transform: translateY(0);
    opacity: 0;
    height: 8px;
  }
  100% {
    opacity: 1;
    height: 8px;
  }
}
@media print {
  a[href]:after {
    content: none !important;
  }
}
