@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
::-webkit-scrollbar-thumb {
  background-color: #ec008c;
  border-radius: 5px;
}
::-webkit-scrollbar {
  width: 10px;
  height: 4px;
  background-color: #1f1915;
}
::-moz-scrollbar-thumb {
  background-color: #ec008c;
  border-radius: 5px;
}
::-moz-scrollbar {
  width: 10px;
  height: 4px;
  background-color: #1f1915;
}
::-moz-selection {
  color: #ffffff;
  background: #ec008c;
}
::selection {
  color: #ffffff;
  background: #ec008c;
}
@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;
}
:root {
  --fa-primary-color: #ec008c;
  --fa-secondary-color: #2f2f2f;
}

#aviso {
	font-size: 1.8rem;
	font-weight: 600;
	color: var(--blanco);
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100px;
	padding: 15px 20px;
	position: fixed;
	z-index: 99999;
	top: 100vh;
	background: rgba(40, 167, 69, .9);
	opacity: 0;
	-webkit-transition: .4s ease-in-out;
	-moz-transition: .4s ease-in-out;
	transition: .4s ease-in-out;
}

#aviso p {
	padding-left: 36px;
	position: relative;
}

#aviso p i {
	font-size: 2.6rem;
	
	position: absolute;
	left: 0;
}

#aviso.rojo {
	background: rgba(220, 53, 69, .9);
}

#aviso.verde {
	background: rgba(40, 167, 69, .9);
}

#aviso.active {
	opacity: 1;
	top: calc(100vh - 100px);
}
#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;
}
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 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;
  border-radius: 25px;
  padding: 10px 25px;
  background-color: #f7f7f8;
  border: none;
  -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: #f7f7f8;
  border-color: #ec008c;
}
form textarea,
.form textarea {
  height: initial;
  padding: 20px 25px;
}
form select::-ms-expand,
.form select::-ms-expand {
  display: none;
}
form label:not(.condiciones),
.form label:not(.condiciones) {
  display: flex;
  align-items: center;
  height: 60px;
}
form label.comentarios,
.form label.comentarios {
  padding: 0 10px;
}
form input:-internal-autofill-selected,
.form input:-internal-autofill-selected {
  background-color: transparent !important;
}
form p,
.form p {
  font-size: 1.4rem;
}
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: #ec008c;
}
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 .condiciones,
.form .condiciones {
  font-size: 1.4rem;
}
form .condiciones a,
.form .condiciones a {
  padding-bottom: 0;
  position: relative;
}
form .condiciones a:hover,
.form .condiciones a:hover {
  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: #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;
}
form .my-checkbox,
.form .my-checkbox {
  transform: scale(1.5);
  margin-left: 3px;
  margin-right: 8px;
}
form .selectdiv,
.form .selectdiv {
  position: relative;
  float: left;
  width: 100%;
}
form .selectdiv:after,
.form .selectdiv:after {
  content: '\f107';
  font-family: 'Font Awesome 6 Pro';
  font-weight: 900;
  display: flex;
  align-items: center;
  height: 100%;
  position: absolute;
  top: 0;
  right: 20px;
  pointer-events: none;
}
form .selectdiv label,
.form .selectdiv label {
  display: block;
  height: initial;
}
form .selectdiv select,
.form .selectdiv select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  height: 60px;
  border-radius: 30px;
  float: right;
  padding: 0 25px;
  background-color: #ffffff;
  background-image: none;
  border: none;
  -ms-word-break: normal;
  word-break: normal;
}
form .selectdiv select:focus,
.form .selectdiv select:focus {
  background-color: #ffffff;
  border-color: #999999;
}
form .selectdiv select option,
.form .selectdiv select option {
  color: #000000;
  background-color: #ffffff;
}
form .selectdiv select option:hover,
.form .selectdiv select option:hover {
  color: #000000;
  background-color: #999999;
}
form .selectdiv select option span,
.form .selectdiv select option span {
  display: inline-block;
  padding: 0 20px;
}
form .selectdiv select.filtered option:first-child,
.form .selectdiv select.filtered option:first-child {
  display: none;
}
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';
}
.recaptcha {
  position: absolute;
  right: 0;
  bottom: 285px;
}
.grecaptcha-badge {
  bottom: 100px !important;
  z-index: 9;
}
::-webkit-input-placeholder {
  color: #000000 !important;
}
:-moz-placeholder {
  color: #000000 !important;
}
::-moz-placeholder {
  color: #000000 !important;
}
:-ms-input-placeholder {
  color: #000000 !important;
}
::-ms-input-placeholder {
  color: #000000 !important;
}
:placeholder-shown {
  color: #000000 !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: 700px;
  margin: 0 auto;
  background: #ffffff;
  padding: 50px;
  border-radius: 25px;
}
.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 input[type="email"],
.formulario-fancybox > div .form input[type="email"] {
  background-color: #dedede;
  max-width: 415px;
}
.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%;
  border-radius: 24px;
}
.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%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}
.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 {
  display: flex;
  justify-content: space-between;
}
.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;
}
.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;
}
.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;
}
.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;
}
.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;
}
.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;
}
.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;
}
.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;
}
.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;
}
.flex.x-axis.spacing-50px > li,
.flex.x-axis.spacing-50px > div {
  margin-left: 50px;
  margin-right: 50px;
}
.flex.x-axis.mb-0 > li,
.flex.x-axis.mb-0 > div {
  margin-bottom: 0;
}
.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;
}
.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;
}
.oculto {
  display: none;
}
.button-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 -10px 50px;
}
.button-group:after {
  content: '';
  display: block;
  clear: both;
}
.button-group .btn {
  cursor: pointer;
  margin: 5px;
}
.button-group .btn:hover {
  color: #e44738;
  background: #ffffff;
}
.button-group .btn:active,
.button-group .btn.is-checked {
  color: inherit;
  background: inherit;
}
.button-group .btn.is-checked {
  color: #ffffff;
  background: #e44738 !important;
  border-color: #e44738 !important;
}
.button-group .btn.is-checked:hover,
.button-group .btn.is-checked:active,
.button-group .btn.is-checked:focus {
  color: #ffffff !important;
  background: #e44738 !important;
  border-color: #e44738 !important;
}
.gradient-animated {
  line-height: 1.1;
  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%;
  }
}
* {
  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: 'Montserrat', Helvetica, Arial, sans-serif;
  font-size: 1.8rem;
  line-height: 1.5;
  color: #000000;
  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 > a.eco-logo,
body.home header #header .bottom .menu nav > ul > li > span.eco-logo {
  background-image: url('img/eco-white.svg');
}
body.home header #header .bottom .menu nav > ul > li > a.kh7-logo,
body.home header #header .bottom .menu nav > ul > li > span.kh7-logo {
  background-image: url('img/kh7-white.svg');
}
body.home header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu.big ul > li a {
  color: #000000;
}
body.home header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu.big ul > li a:hover,
body.home header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu.big ul > li a.active {
  color: #ec008c;
}
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.home.navegando header #header .bottom .menu nav > ul > li > a.eco-logo,
body.home.navegando header #header .bottom .menu nav > ul > li > span.eco-logo {
  background-image: url('img/eco-black.svg');
}
body.home.navegando header #header .bottom .menu nav > ul > li > a.kh7-logo,
body.home.navegando header #header .bottom .menu nav > ul > li > span.kh7-logo {
  background-image: url('img/kh7-black.svg');
}
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.navegando header #header .bottom .menu nav > ul > li > a.eco-logo,
body.navegando header #header .bottom .menu nav > ul > li > span.eco-logo {
  background-image: url('img/eco-black.svg');
}
body.navegando header #header .bottom .menu nav > ul > li > a.kh7-logo,
body.navegando header #header .bottom .menu nav > ul > li > span.kh7-logo {
  background-image: url('img/kh7-black.svg');
}
body.navegando header #header .bottom .menu nav > ul > li > a.kh7-logo:hover,
body.navegando header #header .bottom .menu nav > ul > li > span.kh7-logo:hover {
  background-image: url('img/kh7-color.svg');
}
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-hero section.bg-hero.diseno {
  background-position: 20% calc(0% + 40px);
}
body.scroll-1 main.wrapper-bg-hero section.bg-hero.material {
  background-position: 63% calc(0% + 40px);
}
body.scroll-1 main.wrapper-bg-hero section.bg-hero.gestion {
  background-position: 70% calc(70% + 40px);
}
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 {
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  font-weight: 700;
  line-height: 1.3;
  color: #222222;
  text-rendering: optimizeLegibility;
  display: block;
  width: 100%;
  margin: 0 0 30px;
}
h1.thin,
h1 .thin,
.h1.thin,
.h1 .thin,
h2.thin,
h2 .thin,
.h2.thin,
.h2 .thin,
h3.thin,
h3 .thin,
.h3.thin,
.h3 .thin,
h4.thin,
h4 .thin,
.h4.thin,
.h4 .thin,
h5.thin,
h5 .thin,
.h5.thin,
.h5 .thin,
h6.thin,
h6 .thin,
.h6.thin,
.h6 .thin {
  font-weight: 200;
}
h1.light,
h1 .light,
.h1.light,
.h1 .light,
h2.light,
h2 .light,
.h2.light,
.h2 .light,
h3.light,
h3 .light,
.h3.light,
.h3 .light,
h4.light,
h4 .light,
.h4.light,
.h4 .light,
h5.light,
h5 .light,
.h5.light,
.h5 .light,
h6.light,
h6 .light,
.h6.light,
.h6 .light {
  font-weight: 300;
}
h1.regular,
h1 .regular,
.h1.regular,
.h1 .regular,
h2.regular,
h2 .regular,
.h2.regular,
.h2 .regular,
h3.regular,
h3 .regular,
.h3.regular,
.h3 .regular,
h4.regular,
h4 .regular,
.h4.regular,
.h4 .regular,
h5.regular,
h5 .regular,
.h5.regular,
.h5 .regular,
h6.regular,
h6 .regular,
.h6.regular,
.h6 .regular {
  font-weight: 400;
}
h1.book,
h1 .book,
.h1.book,
.h1 .book,
h2.book,
h2 .book,
.h2.book,
.h2 .book,
h3.book,
h3 .book,
.h3.book,
.h3 .book,
h4.book,
h4 .book,
.h4.book,
.h4 .book,
h5.book,
h5 .book,
.h5.book,
.h5 .book,
h6.book,
h6 .book,
.h6.book,
.h6 .book {
  font-weight: 500;
}
h1.medium,
h1 .medium,
.h1.medium,
.h1 .medium,
h2.medium,
h2 .medium,
.h2.medium,
.h2 .medium,
h3.medium,
h3 .medium,
.h3.medium,
.h3 .medium,
h4.medium,
h4 .medium,
.h4.medium,
.h4 .medium,
h5.medium,
h5 .medium,
.h5.medium,
.h5 .medium,
h6.medium,
h6 .medium,
.h6.medium,
.h6 .medium {
  font-weight: 600;
}
h1.bold,
h1 .bold,
.h1.bold,
.h1 .bold,
h2.bold,
h2 .bold,
.h2.bold,
.h2 .bold,
h3.bold,
h3 .bold,
.h3.bold,
.h3 .bold,
h4.bold,
h4 .bold,
.h4.bold,
.h4 .bold,
h5.bold,
h5 .bold,
.h5.bold,
.h5 .bold,
h6.bold,
h6 .bold,
.h6.bold,
.h6 .bold {
  font-weight: 700;
}
h1 strong,
.h1 strong,
h2 strong,
.h2 strong,
h3 strong,
.h3 strong,
h4 strong,
.h4 strong,
h5 strong,
.h5 strong,
h6 strong,
.h6 strong {
  font-weight: 600;
}
h1 .outline,
.h1 .outline,
h2 .outline,
.h2 .outline,
h3 .outline,
.h3 .outline,
h4 .outline,
.h4 .outline,
h5 .outline,
.h5 .outline,
h6 .outline,
.h6 .outline {
  font-style: italic;
  margin-bottom: 0;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke-width: 2px;
  -webkit-text-stroke-color: #000000;
}
h1.magenta,
.h1.magenta,
h2.magenta,
.h2.magenta,
h3.magenta,
.h3.magenta,
h4.magenta,
.h4.magenta,
h5.magenta,
.h5.magenta,
h6.magenta,
.h6.magenta {
  color: #ec008c;
}
h1.gradient,
.h1.gradient,
h2.gradient,
.h2.gradient,
h3.gradient,
.h3.gradient,
h4.gradient,
.h4.gradient,
h5.gradient,
.h5.gradient,
h6.gradient,
.h6.gradient {
  background: linear-gradient(45deg,#e2008d 30%,#6f0dff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
h1,
.h1 {
  font-size: 6rem;
}
h2,
.h2 {
  font-size: 5rem;
}
h3,
.h3 {
  font-size: 4rem;
  margin-bottom: 20px;
}
h4,
.h4 {
  font-size: 3.2rem;
  margin-bottom: 15px;
}
h5,
.h5,
h6,
.h6 {
  font-weight: 400;
  margin-bottom: 20px;
}
h5,
.h5 {
  font-size: 2.8rem;
}
h6,
.h6 {
  font-size: 2.4rem;
}
ul {
  padding-left: 0;
  margin-bottom: 20px;
  clear: both;
  list-style: none;
}
ul > li {
  padding-left: 0;
}
ul > li:before {
  display: none;
}
ul.list {
  list-style-type: none;
  padding-left: 25px;
}
ul.list > li {
  margin-bottom: 5px;
  padding-left: 25px;
  position: relative;
}
ul.list > li:before {
  content: "\e4b2";
  font-family: 'Font Awesome 6 Pro';
  font-size: 80%;
  font-weight: 400;
  color: #000000;
  display: block;
  position: absolute;
  left: 0;
  top: 4px;
}
ul.list > li:last-of-type {
  margin-bottom: 0;
}
ul.list > li.h3 {
  padding-left: 40px;
  margin-bottom: 25px;
}
ul.list > li.h3:before {
  font-weight: 100;
  font-style: normal;
}
ul.lines {
  width: 100%;
  max-width: 450px;
}
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.arrow {
  padding-left: 0;
}
ul.arrow > li {
  padding-left: 30px;
  margin-bottom: 15px;
  position: relative;
}
ul.arrow > li:before {
  content: "\e09f";
  font-family: 'Font Awesome 6 Pro';
  font-weight: 400;
  font-size: 95%;
  font-style: normal;
  color: #ec008c;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
ul.arrow > li:last-of-type {
  margin-bottom: 0;
}
ul.check > li {
  padding-left: 30px;
  margin-bottom: 5px;
  position: relative;
}
ul.check > li:before {
  content: "\f2f7";
  font-family: 'Font Awesome 6 Pro';
  font-weight: 400;
  font-style: normal;
  color: #000000;
  display: block;
  position: absolute;
  top: 1px;
  left: 0;
}
ul.eye > li {
  padding-left: 30px;
  margin-bottom: 5px;
  position: relative;
}
ul.eye > li:before {
  content: "\f06e";
  font-family: 'Font Awesome 6 Pro';
  font-weight: 300;
  font-style: normal;
  color: #000000;
  display: block;
  position: absolute;
  top: 1px;
  left: 0;
}
ul.numerada > li {
  padding-left: 30px;
}
ul.numerada > li > span {
  color: #ec008c;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
}
ul.numerada > li:before {
  display: none;
}
ul.separadores {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  flex-wrap: wrap;
}
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;
  display: flex;
  justify-content: center;
}
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 > 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:hover,
ul.paginacion > li > a.active {
  color: #ec008c;
}
ul.paginacion > li > a:active {
  color: inherit;
}
ul.destacado {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
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;
}
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.logos {
  flex-wrap: wrap;
  margin-bottom: 30px;
}
ul.logos > li {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
ul.logos.xs {
  margin-bottom: 20px;
}
ul.logos.xs > li {
  height: 30px;
  margin-bottom: 20px;
}
ul.logos.xs > li img {
  max-width: 100px;
  max-height: 30px;
}
ul.logos.sm > li {
  height: 50px;
}
ul.logos.sm > li img {
  max-width: 120px;
  max-height: 40px;
}
ul.cols-2 {
  -moz-column-count: 2;
  -moz-column-gap: 30px;
  -webkit-column-count: 2;
  -webkit-column-gap: 30px;
  column-count: 2;
  column-gap: 30px;
}
ul.cols-2 > li {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
}
ul.cols-3 {
  -moz-column-count: 3;
  -moz-column-gap: 30px;
  -webkit-column-count: 3;
  -webkit-column-gap: 30px;
  column-count: 3;
  column-gap: 30px;
}
ul.cols-3 li {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
}
p {
  margin-bottom: 20px;
}
p.thin,
p .thin {
  font-weight: 200;
}
p.light,
p .light {
  font-weight: 300;
}
p.regular,
p .regular {
  font-weight: 400;
}
p.book,
p .book {
  font-weight: 500;
}
p.medium,
p .medium {
  font-weight: 600;
}
p.bold,
p .bold {
  font-weight: 700;
}
i,
em {
  font-style: italic;
}
b,
strong {
  font-weight: 600;
}
small {
  font-size: 80%;
}
a {
  color: inherit;
  outline: none;
  border: none;
  text-decoration: none;
  cursor: pointer;
}
a img {
  outline: none;
  border: none;
}
a:hover {
  color: inherit;
  -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: 16px;
  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: 16px;
  background: #ec008c;
}
blockquote.small strong {
  font-weight: 700;
  color: #ec008c;
  display: contents;
}
blockquote.bg {
  padding: 65px 8.333333%;
  border-radius: 24px;
  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: 24px;
  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: 1px;
  border: none;
  margin-top: 25px;
  margin-bottom: 25px;
  clear: both;
  position: relative;
  background-color: inherit;
  opacity: 1;
}
hr:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(0,0,0,0.1);
  opacity: 1;
}
hr.lg {
  margin-top: 50px;
  margin-bottom: 50px;
}
hr.xl {
  margin-top: 100px;
  margin-bottom: 100px;
}
hr.white:before {
  background: rgba(255,255,255,0.5);
}
hr.dotted {
  border-top: dotted 1px rgba(0,0,0,0.2);
}
figure {
  max-width: 100%;
  height: auto;
  margin: 0;
}
#ancla {
  position: initial;
  top: 0;
  left: 0;
  height: 0;
  width: 0;
}
.container-fluid {
  padding-left: 100px;
  padding-right: 100px;
  position: relative;
  z-index: 1;
}
.container-fluid.w-100 {
  padding: 0;
}
.btn,
.btn:not([href]) {
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 700;
  color: #000000;
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto;
  width: fit-content;
  min-width: 150px;
  height: 50px;
  border-radius: 30px;
  margin-top: 40px;
  padding: 0 25px;
  background-color: #ec008c;
  border: none;
  position: relative;
  top: 0;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
.btn:hover,
.btn:not([href]):hover {
  color: #ffffff;
  background-color: #000000;
}
.btn:active,
.btn:focus,
.btn:not([href]):active,
.btn:not([href]):focus {
  color: #ffffff;
  text-decoration: none;
  background-color: #222222;
}
.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 {
  color: #000000;
  background: transparent;
  border: solid 1px #ec008c;
}
.btn.outline:hover,
.btn:not([href]).outline:hover {
  color: #ffffff;
  background: #ec008c;
}
.btn.outline:active,
.btn.outline:focus,
.btn:not([href]).outline:active,
.btn:not([href]).outline:focus {
  color: #000000;
  background: transparent;
  border-color: #ec008c;
}
.btn.outline.white,
.btn:not([href]).outline.white {
  color: #ffffff;
  border-color: #ffffff;
}
.btn.outline.white:hover,
.btn:not([href]).outline.white:hover {
  background-color: #ec008c;
}
.btn.outline.white:active,
.btn.outline.white:focus,
.btn:not([href]).outline.white:active,
.btn:not([href]).outline.white:focus {
  color: #ffffff;
}
.btn.white,
.btn:not([href]).white {
  color: #000000;
  background-color: #ffffff;
}
.btn.white:hover,
.btn:not([href]).white:hover {
  color: #000000;
  background-color: #ec008c;
}
.btn.white:active,
.btn.white:focus,
.btn:not([href]).white:active,
.btn:not([href]).white:focus {
  color: #000000;
  background-color: #ffffff;
}
.btn.white.outline,
.btn:not([href]).white.outline {
  color: #ec008c;
  background-color: transparent;
  border: solid 2px #ffffff;
}
.btn.white.outline:hover,
.btn:not([href]).white.outline:hover {
  color: #000000;
  background-color: #ffffff;
}
.btn.white.outline:active,
.btn.white.outline:focus,
.btn:not([href]).white.outline:active,
.btn:not([href]).white.outline:focus {
  color: #ec008c;
  background-color: transparent;
  border: solid 2px #ffffff;
}
.btn.magenta,
.btn:not([href]).magenta {
  color: #000000;
  background-color: #ec008c;
}
.btn.magenta:hover,
.btn:not([href]).magenta:hover {
  color: #ffffff;
  background-color: #000000;
}
.btn.magenta:active,
.btn.magenta:focus,
.btn:not([href]).magenta:active,
.btn:not([href]).magenta:focus {
  color: #000000;
  background-color: #ec008c;
}
.btn.magenta.outline,
.btn:not([href]).magenta.outline {
  color: #ffffff;
  background-color: transparent;
  border: solid 2px #ec008c;
}
.btn.magenta.outline:hover,
.btn:not([href]).magenta.outline:hover {
  color: #000000;
  background-color: #ec008c;
}
.btn.magenta.outline:active,
.btn.magenta.outline:focus,
.btn:not([href]).magenta.outline:active,
.btn:not([href]).magenta.outline:focus {
  color: #ffffff;
  background-color: transparent;
  border: solid 2px #ec008c;
}
.btn.black,
.btn:not([href]).black {
  color: #ffffff;
  background-color: #000000;
}
.btn.black:hover,
.btn:not([href]).black:hover {
  color: #ffffff;
  background-color: #ec008c;
}
.btn.black:active,
.btn.black:focus,
.btn:not([href]).black:active,
.btn:not([href]).black:focus {
  color: #ffffff;
  background-color: #000000;
}
.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 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: #ffffff;
  background-color: transparent;
}
.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: #222222;
}
.btn.transparent.magenta i,
.btn:not([href]).transparent.magenta i {
  color: #000000;
}
.btn.transparent.magenta:hover,
.btn.transparent.magenta:active,
.btn.transparent.magenta:focus,
.btn:not([href]).transparent.magenta:hover,
.btn:not([href]).transparent.magenta:active,
.btn:not([href]).transparent.magenta:focus {
  background: transparent;
}
.btn.transparent.magenta:hover i,
.btn.transparent.magenta:active i,
.btn.transparent.magenta:focus i,
.btn:not([href]).transparent.magenta:hover 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: 'Montserrat', 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: 16px;
  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: 16px;
  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;
}
.button-bubbles {
  font-family: 'Century Gothic Bold', Helvetica, Arial, sans-serif;
  position: relative;
  padding: 10px 22px;
  border-radius: 6px;
  border: none;
  color: #ec008c;
  cursor: pointer;
  background-color: #ffffff;
  transition: all 0.2s ease;
}
.button-bubbles:active {
  transform: scale(0.96);
}
.button-bubbles:before,
.button-bubbles:after {
  position: absolute;
  content: "";
  width: 150%;
  left: 50%;
  height: 100%;
  transform: translateX(-50%);
  z-index: -1000;
  background-repeat: no-repeat;
}
.button-bubbles:hover {
  color: #ffffff;
  background-color: #ec008c;
}
.button-bubbles:hover:before {
  top: -70%;
  background-image: radial-gradient(circle,#ec008c 20%,transparent 20%), radial-gradient(circle,transparent 20%,#ec008c 20%,transparent 30%), radial-gradient(circle,#ec008c 20%,transparent 20%), radial-gradient(circle,#ec008c 20%,transparent 20%), radial-gradient(circle,transparent 10%,#ec008c 15%,transparent 20%), radial-gradient(circle,#ec008c 20%,transparent 20%), radial-gradient(circle,#ec008c 20%,transparent 20%), radial-gradient(circle,#ec008c 20%,transparent 20%), radial-gradient(circle,#ec008c 20%,transparent 20%);
  background-size: 10% 10%, 20% 20%, 15% 15%, 20% 20%, 18% 18%, 10% 10%, 15% 15%, 10% 10%, 18% 18%;
  background-position: 50% 120%;
  animation: greentopBubbles 0.6s ease;
}
@keyframes greentopBubbles {
  0% {
    background-position: 5% 90%, 10% 90%, 10% 90%, 15% 90%, 25% 90%, 25% 90%, 40% 90%, 55% 90%, 70% 90%;
  }
  50% {
    background-position: 0% 80%, 0% 20%, 10% 40%, 20% 0%, 30% 30%, 22% 50%, 50% 50%, 65% 20%, 90% 30%;
  }
  100% {
    background-position: 0% 70%, 0% 10%, 10% 30%, 20% -10%, 30% 20%, 22% 40%, 50% 40%, 65% 10%, 90% 20%;
    background-size: 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%;
  }
}
.button-bubbles:hover::after {
  bottom: -70%;
  background-image: radial-gradient(circle,#ec008c 20%,transparent 20%), radial-gradient(circle,#ec008c 20%,transparent 20%), radial-gradient(circle,transparent 10%,#ec008c 15%,transparent 20%), radial-gradient(circle,#ec008c 20%,transparent 20%), radial-gradient(circle,#ec008c 20%,transparent 20%), radial-gradient(circle,#ec008c 20%,transparent 20%), radial-gradient(circle,#ec008c 20%,transparent 20%);
  background-size: 15% 15%, 20% 20%, 18% 18%, 20% 20%, 15% 15%, 20% 20%, 18% 18%;
  background-position: 50% 0%;
  animation: greenbottomBubbles 0.6s ease;
}
@keyframes greenbottomBubbles {
  0% {
    background-position: 10% -10%, 30% 10%, 55% -10%, 70% -10%, 85% -10%, 70% -10%, 70% 0%;
  }
  50% {
    background-position: 0% 80%, 20% 80%, 45% 60%, 60% 100%, 75% 70%, 95% 60%, 105% 0%;
  }
  100% {
    background-position: 0% 90%, 20% 90%, 45% 70%, 60% 110%, 75% 80%, 95% 70%, 110% 10%;
    background-size: 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%;
  }
}
.btn-circle {
  line-height: 48px;
  white-space: nowrap;
  position: relative;
  top: 0;
  padding: 0 24px;
  border: none;
  background: none;
  cursor: pointer;
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  transition: all 0.6s ease;
}
.btn-circle:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  border-radius: 50px;
  background: #ec008c;
  width: 48px;
  height: 48px;
  transition: all 0.3s ease;
}
.btn-circle a,
.btn-circle span {
  position: relative;
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #ffffff;
}
.btn-circle svg {
  position: relative;
  top: -1px;
  margin-left: 10px;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke: #ec008c;
  stroke-width: 2;
  transform: translateX(-5px);
  transition: all 0.3s ease;
}
.btn-circle i {
  position: relative;
  top: 0;
  margin-left: 5px;
  font-size: 90%;
  color: #ec008c;
}
.btn-circle:hover:before {
  width: 100%;
  background: #ec008c;
}
.btn-circle:hover svg {
  transform: translateX(0);
  stroke: #ffffff;
}
.btn-circle:hover i {
  color: #ffffff;
}
.btn-circle:active {
  transform: scale(0.95);
}
.btn-circle.white:before {
  background: #ffffff;
}
.btn-circle.white:hover svg {
  stroke: #ec008c;
}
.btn-circle.white:hover i {
  color: #ec008c;
}
.btn-circle.white a {
  color: #000000;
}
.btn-circle.gray:before {
  background: #f7f7f8;
}
.btn-circle.gray:hover:before {
  background: #ec008c;
}
.btn-circle.gray:hover a,
.btn-circle.gray:hover span {
  color: #ffffff;
}
.btn-circle.gray:hover svg {
  stroke: #ffffff;
}
.btn-circle.gray:hover i {
  color: #ffffff;
}
.btn-circle.gray a {
  color: #000000;
}
.btn-circle.txt-black a,
.btn-circle.txt-black span {
  color: #010101;
}
.btn-circle.txt-black:hover a,
.btn-circle.txt-black:hover span {
  color: #ffffff;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.desktop-hidden {
  display: none !important;
}
.bajar,
.subir {
  color: #ffffff;
  font-size: 5rem;
  line-height: 30px;
  display: block;
  height: 30px;
  position: absolute;
  z-index: 2;
  bottom: 20px;
  left: 50%;
  -webkit-transform: translate(-50%);
  -moz-transform: translate(-50%);
  transform: translate(-50%);
}
.hover-lupa {
  display: block;
}
.hover-lupa:hover {
  cursor: url('img/zoom.svg') 28 28, move;
}
.img-radius {
  border-radius: 16px;
}
.txt-background {
  background: #cf0;
  display: inline;
  padding: 1px;
}
.wow-wrp {
  overflow: hidden;
}
.grid {
  margin-left: -7px;
  margin-right: -7px;
  -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: calc(100% / 3);
  float: left;
  padding: 0 7px 14px;
}
.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-inner {
  height: 100%;
  background-size: contain;
}
.slick.hero-inner .slick-list {
  height: 100%;
  min-width: 100%;
}
.slick.hero-inner .slick-list .slick-track {
  height: 100%;
  min-width: 100%;
}
.slick.hero-inner .slick-list .slick-track .slick-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  max-height: calc(100vh - 180px);
  padding: 0 15px;
  cursor: grab;
}
.slick.hero-inner .slick-list .slick-track .slick-slide img {
  max-height: calc(100vh - 180px);
}
.slick.hero-inner .slick-dots {
  margin-top: 30px;
}
.slick.hero {
  height: 100%;
  min-width: 100vw;
  background-color: #000000;
}
.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 {
  height: 100%;
  min-width: 100vw;
  position: relative;
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
}
.slick.hero .slick-list .slick-track .slick-slide:before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0,0,0,0.2);
}
.slick.hero .slick-list .slick-track .slick-slide.no_before:before {
  display: none;
}
.slick.hero .slick-list .slick-track .slick-slide 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-dots {
  position: absolute;
  z-index: 2;
  bottom: 70px;
  text-align: left;
  padding: 0 50px;
}
.slick.carrusel {
  cursor: grab;
}
.slick.carrusel .slick-list {
  overflow: visible;
  display: flex;
}
.slick.carrusel .slick-list .slick-track {
  display: flex;
}
.slick.carrusel .slick-slide {
  padding: 0 15px;
  display: flex;
}
.slick.carrusel .slick-slide .panel {
  margin: 0;
  padding: 8%;
  min-height: initial;
  justify-content: flex-start;
}
.slick.carrusel .slick-slide .panel h1,
.slick.carrusel .slick-slide .panel .h1,
.slick.carrusel .slick-slide .panel h2,
.slick.carrusel .slick-slide .panel .h2,
.slick.carrusel .slick-slide .panel h3,
.slick.carrusel .slick-slide .panel .h3,
.slick.carrusel .slick-slide .panel h4,
.slick.carrusel .slick-slide .panel .h4,
.slick.carrusel .slick-slide .panel h5,
.slick.carrusel .slick-slide .panel .h5,
.slick.carrusel .slick-slide .panel h6,
.slick.carrusel .slick-slide .panel .h6 {
  color: #000000;
}
.slick.carrusel .slick-dots {
  margin-top: 75px;
}
.slick.carrusel .slick-dots li button {
  background-color: rgba(0,0,0,0.1);
}
.slick.carrusel .slick-dots li.slick-active button,
.slick.carrusel .slick-dots li:hover button {
  background-color: #ec008c;
}
.slick.carrusel .slick-prev,
.slick.carrusel .slick-next {
  bottom: initial;
  top: -80px;
}
.slick.carrusel .slick-prev:before,
.slick.carrusel .slick-next:before {
  font-weight: 400;
  color: #ec008c;
  background-color: #ffffff;
  border-radius: 50%;
  box-shadow: 5px 10px 20px #e3e3e3;
}
.slick.carrusel .slick-prev.slick-disabled:before,
.slick.carrusel .slick-next.slick-disabled:before {
  color: #666666 !important;
}
.slick.carrusel .slick-prev {
  left: initial;
  right: 95px;
}
.slick.carrusel .slick-next {
  left: initial;
  right: 15px;
}
div.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);
}
div.cols-2 > p {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
}
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 {
  color: #ffffff;
  height: 30px;
  position: relative;
}
header #header .top:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #ec008c;
  background: -moz-linear-gradient(45deg,#ec008c 0%,#201915 70%);
  background: -webkit-linear-gradient(45deg,#ec008c 0%,#201915 70%);
  background: linear-gradient(45deg,#ec008c 0%,#201915 70%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ec008c",endColorstr="#201915",GradientType=1);
  opacity: 1;
  visibility: visible;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
header #header .top .container-fluid {
  height: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
header #header .top .container-fluid .datos {
  display: inline-flex;
  align-items: center;
}
header #header .top .container-fluid .datos a {
  font-size: 1.4rem;
  font-weight: 600;
  color: rgba(255,255,255,0.5);
  padding: 0 8px;
  display: flex;
  align-items: center;
}
header #header .top .container-fluid .datos a:hover {
  color: #ffffff;
}
header #header .top .container-fluid .datos a:focus,
header #header .top .container-fluid .datos a:active {
  color: rgba(255,255,255,0.5);
}
header #header .top .container-fluid ul.redes {
  display: inline-flex;
  align-items: center;
  margin: 0;
}
header #header .top .container-fluid ul.redes > li {
  margin: 0;
}
header #header .top .container-fluid ul.redes a {
  font-size: 1.5rem;
  color: rgba(255,255,255,0.5);
  height: 100%;
  padding: 8px;
  display: flex;
  align-items: center;
}
header #header .top .container-fluid ul.redes a:hover {
  color: #ffffff;
}
header #header .top .container-fluid ul.redes a:focus,
header #header .top .container-fluid ul.redes a:active {
  color: rgba(255,255,255,0.8);
}
header #header .top .container-fluid ul.idioma {
  display: inline-flex;
  margin: 0;
}
header #header .top .container-fluid ul.idioma > li {
  margin: 0 0 0 12px;
}
header #header .top .container-fluid ul.idioma > li:first-child {
  margin-left: 8px;
}
header #header .top .container-fluid ul.idioma > li a {
  font-size: 1.4rem;
  font-weight: 600;
  color: rgba(255,255,255,0.5);
}
header #header .top .container-fluid ul.idioma > li a:hover,
header #header .top .container-fluid ul.idioma > li a.active {
  color: #ffffff;
}
header #header .top .container-fluid ul.idioma > li a:focus,
header #header .top .container-fluid ul.idioma > li a:active {
  color: rgba(255,255,255,0.5);
}
header #header .top .container-fluid span {
  font-size: 1.7rem;
  color: rgba(255,255,255,0.5);
  height: 100%;
  display: flex;
  align-items: center;
}
header #header .bottom {
  height: 90px;
}
header #header .bottom .container-fluid {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header #header .bottom .logo {
  width: 100px;
  height: 60px;
  position: relative;
}
header #header .bottom .logo img {
  width: 78px;
  height: 60px;
  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 .logo img.color {
  opacity: 1;
  visibility: visible;
}
header #header .bottom .logo img.white {
  opacity: 0;
  visibility: hidden;
}
header #header .bottom .menu {
  width: calc(100% - 100px);
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}
header #header .bottom .menu nav {
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.1;
  color: #000000;
  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%;
  padding: 0 13px;
}
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: #ec008c;
  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 > a.eco-logo,
header #header .bottom .menu nav > ul > li > a.kh7-logo,
header #header .bottom .menu nav > ul > li > span.eco-logo,
header #header .bottom .menu nav > ul > li > span.kh7-logo {
  background-repeat: no-repeat;
  background-position: center center;
  width: initial;
}
header #header .bottom .menu nav > ul > li > a.eco-logo,
header #header .bottom .menu nav > ul > li > span.eco-logo {
  width: 45px;
  background-size: contain;
  background-image: url('img/eco-black.svg');
}
header #header .bottom .menu nav > ul > li > a.eco-logo:hover,
header #header .bottom .menu nav > ul > li > a.eco-logo.active,
header #header .bottom .menu nav > ul > li > span.eco-logo:hover,
header #header .bottom .menu nav > ul > li > span.eco-logo.active {
  background-image: url('img/eco-color.svg');
}
header #header .bottom .menu nav > ul > li > a.kh7-logo,
header #header .bottom .menu nav > ul > li > span.kh7-logo {
  width: 55px;
  background-size: contain;
  background-image: url('img/kh7-black.svg');
}
header #header .bottom .menu nav > ul > li > a.kh7-logo:hover,
header #header .bottom .menu nav > ul > li > a.kh7-logo.active,
header #header .bottom .menu nav > ul > li > span.kh7-logo:hover,
header #header .bottom .menu nav > ul > li > span.kh7-logo.active {
  background-image: url('img/kh7-color.svg');
}
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.5rem;
  font-weight: 400;
  font-style: normal;
  vertical-align: initial;
  display: block;
  margin: 5px 0 0 5px;
  border: none;
}
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: 85px;
  left: -5px;
  display: block;
  opacity: 0;
  visibility: hidden;
  padding: 0;
  margin: 0;
  border: none;
  background: #f0f0f0;
  border-radius: 12px;
  max-height: calc(100vh - 115px);
  height: initial;
  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 .desplegable {
  display: flex;
  flex-wrap: nowrap;
  padding-left: 0;
}
header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu .desplegable .area.menu {
  width: initial;
  flex-direction: column;
  padding: 8px;
}
header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu .desplegable .area.menu .familia {
  width: 100%;
  padding: 3px 0;
}
header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu .desplegable .area.menu .familia a {
  color: #000000;
  white-space: nowrap;
  height: 40px;
  display: flex;
  align-items: center;
  padding: 5px 20px;
  border-radius: 8px;
  -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: #ffffff;
  background-color: #ec008c;
}
header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu .desplegable .area.menu .familia:first-of-type {
  padding-top: 0;
}
header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu .desplegable .area.menu .familia:last-of-type {
  padding-bottom: 0;
  border-bottom: none;
}
header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu.big {
  position: fixed;
  top: 115px;
  left: 100px;
  right: 100px;
  padding: 8px;
}
header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu.big ul {
  display: flex;
  flex-wrap: wrap;
}
header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu.big ul > li {
  width: calc(100% / 7);
  padding: 4px;
}
header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu.big ul > li a {
  font-family: 'Century Gothic Bold', Helvetica, Arial, sans-serif;
  font-size: 1.7rem;
  line-height: 1.25;
  display: flex;
  width: 100%;
  height: 100%;
  padding: 12px;
  border-radius: 8px;
  background-color: #ffffff;
}
header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu.big ul > li a:hover,
header #header .bottom .menu nav > ul > li.mega-dropdown > .mega-dropdown-menu.big ul > li a.active {
  color: #ec008c;
}
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: 100px;
  height: 60px;
}
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: #ec008c;
}
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.2rem;
  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: #2f2f2f;
  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 {
  margin-bottom: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
}
header #header-mobile #menu-mobile > ul > li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
}
header #header-mobile #menu-mobile > ul > li > a,
header #header-mobile #menu-mobile > ul > li > span {
  color: #ffffff;
  line-height: 1;
  padding: 20px 30px;
  display: flex;
  justify-content: center;
}
header #header-mobile #menu-mobile > ul > li > a.active,
header #header-mobile #menu-mobile > ul > li > span.active {
  color: #ec008c;
}
header #header-mobile #menu-mobile > ul > li > a:hover,
header #header-mobile #menu-mobile > ul > li > a:focus,
header #header-mobile #menu-mobile > ul > li > a:active,
header #header-mobile #menu-mobile > ul > li > span:hover,
header #header-mobile #menu-mobile > ul > li > span:focus,
header #header-mobile #menu-mobile > ul > li > span:active {
  color: #ffffff;
}
header #header-mobile #menu-mobile > ul > li > a.eco-logo,
header #header-mobile #menu-mobile > ul > li > a.kh7-logo,
header #header-mobile #menu-mobile > ul > li > span.eco-logo,
header #header-mobile #menu-mobile > ul > li > span.kh7-logo {
  background-repeat: no-repeat;
  background-position: center center;
  width: initial;
}
header #header-mobile #menu-mobile > ul > li > a.eco-logo,
header #header-mobile #menu-mobile > ul > li > span.eco-logo {
  width: 105px;
  height: 75px;
  background-size: auto 35px;
  background-image: url('img/eco-white.svg');
}
header #header-mobile #menu-mobile > ul > li > a.kh7-logo,
header #header-mobile #menu-mobile > ul > li > span.kh7-logo {
  width: 120px;
  height: 70px;
  background-size: auto 30px;
  background-image: url('img/kh7-white.svg');
}
header #header-mobile #menu-mobile > ul > li > ul {
  display: none;
  padding: 10px 0;
  width: 100%;
  background: #333333;
}
header #header-mobile #menu-mobile > ul > li > ul > li {
  padding: 15px 0;
  margin-bottom: 0;
}
header #header-mobile #menu-mobile > ul > li > ul > li > a {
  color: #ffffff;
  line-height: 1;
  display: flex;
  justify-content: center;
}
header #header-mobile #menu-mobile > ul > li > ul > li > a.active {
  color: #ec008c;
}
header #header-mobile #menu-mobile > ul > li:first-child > a {
  border: none;
}
header #header-mobile #menu-mobile > ul > li.sub-desplegable {
  position: relative;
}
header #header-mobile #menu-mobile > ul > li.sub-desplegable > span .ico {
  line-height: initial;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 45px;
  height: 64px;
  position: absolute;
  top: 0;
  right: 0;
}
header #header-mobile #menu-mobile > ul > li.sub-desplegable > span .ico:before {
  content: '\f078';
  font-family: 'Font Awesome 6 Pro';
  font-style: normal;
  font-size: 2rem;
  font-weight: 300;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
header #header-mobile #menu-mobile > ul > li.sub-desplegable > span.rotate .ico:before {
  content: '\f077';
}
header #header-mobile #menu-mobile > ul > li.idioma,
header #header-mobile #menu-mobile > ul > li.redes {
  flex-direction: row;
  justify-content: space-around;
  padding: 20px;
  margin-top: auto;
}
header #header-mobile #menu-mobile > ul > li.idioma {
  font-size: 1.8rem;
  padding: 0;
  margin-bottom: 20px;
  background-color: #111111;
}
header #header-mobile #menu-mobile > ul > li.idioma > a,
header #header-mobile #menu-mobile > ul > li.idioma > span {
  padding: 20px;
  flex-grow: 1;
}
header #header-mobile #menu-mobile > ul > li.idioma > a.active,
header #header-mobile #menu-mobile > ul > li.idioma > span.active {
  color: #ffffff;
  background-color: #ec008c;
}
header #header-mobile #menu-mobile > ul > li.redes {
  justify-content: center;
}
header #header-mobile #menu-mobile > ul.idioma {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  padding: 20px;
  width: 100%;
  background: #222222;
}
main {
  position: relative;
  z-index: 1;
}
main.blurred-h-title section:first-of-type h1,
main.blurred-h-title section:first-of-type .h1,
main.blurred-h-title section:first-of-type h2,
main.blurred-h-title section:first-of-type .h2,
main.blurred-h-title section:first-of-type h3,
main.blurred-h-title section:first-of-type .h3,
main.blurred-h-title section:first-of-type h4,
main.blurred-h-title section:first-of-type .h4,
main.blurred-h-title section:first-of-type h5,
main.blurred-h-title section:first-of-type .h5,
main.blurred-h-title section:first-of-type h6,
main.blurred-h-title section:first-of-type .h6 {
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  transition: all 0.6s ease;
}
main section {
  padding-top: 125px;
  padding-bottom: 125px;
  position: relative;
  z-index: 1;
  background: #ffffff;
}
main section > * {
  position: relative;
}
main section.xl {
  padding-top: 200px;
  padding-bottom: 200px;
}
main section.xl-top {
  padding-top: 200px;
}
main section.xl-bottom {
  padding-bottom: 200px;
}
main section.lg {
  padding-top: 150px;
  padding-bottom: 150px;
}
main section.lg-top {
  padding-top: 150px;
}
main section.lg-bottom {
  padding-bottom: 150px;
}
main section.md {
  padding-top: 75px;
  padding-bottom: 75px;
}
main section.md-top {
  padding-top: 75px;
}
main section.md-bottom {
  padding-bottom: 75px;
}
main section.sm {
  padding-top: 50px;
  padding-bottom: 50px;
}
main section.sm-top {
  padding-top: 50px;
}
main section.sm-bottom {
  padding-bottom: 50px;
}
main section.slick {
  padding-top: 0;
  padding-bottom: 0;
}
main section.slick .panel:before {
  background: linear-gradient(225deg,#f9f9f9,#f0f0f0);
}
main section.slider {
  height: calc(100vh - 40px);
  min-height: 550px;
  position: relative;
  padding: 0;
}
main section.slider .txt {
  position: absolute;
  z-index: 2;
  top: 100px;
  right: 0;
  bottom: 100px;
  left: 0;
}
main section.slider .txt .container,
main section.slider .txt .container-fluid {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  padding-top: 25px;
  padding-bottom: 25px;
}
main section.slider .txt .container h1,
main section.slider .txt .container .h1,
main section.slider .txt .container-fluid h1,
main section.slider .txt .container-fluid .h1 {
  color: #ffffff;
  position: relative;
  top: 0;
  margin-bottom: 0;
  max-width: 1080px;
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  transition: all 0.6s ease;
}
main section.slider .slick.hero {
  height: 100%;
  position: relative;
  z-index: 1;
}
main section.slider .slick.hero:before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0,0,0,0.3);
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  transition: all 0.6s ease;
}
main section.bg-dark,
main section.bg-black {
  color: #ffffff;
  background-color: #333333 !important;
}
main section.bg-dark hr:before,
main section.bg-black hr:before {
  background: rgba(255,255,255,0.2);
}
main section.bg-dark h1,
main section.bg-dark .h1,
main section.bg-dark h2,
main section.bg-dark .h2,
main section.bg-dark h3,
main section.bg-dark .h3,
main section.bg-dark h4,
main section.bg-dark .h4,
main section.bg-dark h5,
main section.bg-dark .h5,
main section.bg-dark h6,
main section.bg-dark .h6,
main section.bg-black h1,
main section.bg-black .h1,
main section.bg-black h2,
main section.bg-black .h2,
main section.bg-black h3,
main section.bg-black .h3,
main section.bg-black h4,
main section.bg-black .h4,
main section.bg-black h5,
main section.bg-black .h5,
main section.bg-black h6,
main section.bg-black .h6 {
  color: #ffffff;
}
main section.bg-dark ul.destacado.inline > li,
main section.bg-black ul.destacado.inline > li {
  color: #222222;
  font-weight: 600;
  background: #ffffff;
}
main section.bg-dark ul.arrow > li:before,
main section.bg-black ul.arrow > li:before {
  color: #ffffff;
}
main section.bg-dark .panel,
main section.bg-black .panel {
  background-color: #3a3a3a;
}
main section.bg-dark .panel:before,
main section.bg-black .panel:before {
  box-shadow: -36px 36px 71px #282828, 36px -36px 71px #020202;
}
main section.bg-black {
  font-weight: 300;
  background-color: #111111 !important;
}
main section.bg-gray {
  background-color: #f7f7f8;
}
main section.bg-full {
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-position: center bottom;
}
main section.bg-hero {
  height: calc(100vh - 80px);
  min-height: 550px;
  padding: 50px 0;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-attachment: fixed;
  z-index: 1;
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  transition: all 0.6s ease;
}
main section.bg-hero:before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0,0,0,0.4);
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  transition: all 0.6s ease;
}
main section.bg-hero.no-overlay:before {
  background: transparent;
}
main section.bg-hero.diseno {
  background-position: 20% top;
}
main section.bg-hero.material {
  background-position: 63% top;
}
main section.bg-hero.gestion {
  background-position: 70% 70%;
}
main section.bg-hero .container,
main section.bg-hero .container-fluid {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 100px;
  padding-bottom: 100px;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
main section.bg-hero .container h1,
main section.bg-hero .container .h1,
main section.bg-hero .container-fluid h1,
main section.bg-hero .container-fluid .h1 {
  margin: 0;
}
main section.bg-hero .slick.hero {
  height: calc(100vh - 200px);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
main section.bg-cover {
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-position: center top;
}
main section.bg-cover .bg {
  width: 100vw;
  position: initial;
  top: 0;
  bottom: 0;
}
main section.bg-cover .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-width: 100%;
  max-height: 100%;
  border-radius: 0;
}
main section.bg-cover .bg.bn img {
  filter: grayscale(1);
}
main section.bg-cover .bg.contain img {
  object-fit: contain;
}
main section.bg-cover .bg.color img {
  filter: grayscale(0%);
}
main section.bg-cover .bg .embed-container {
  height: 100%;
}
main section.bg-cover .bg .embed-container video {
  filter: grayscale(100%);
}
main section.bg-cover.velo .bg:before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0,0,0,0.5);
}
main section.bg-cover.velo.clear .bg:before {
  background: rgba(255,255,255,0.5);
}
main section.bg-cover.fixed .bg {
  top: 100px;
  position: fixed !important;
}
main section.bg-cover.half .bg,
main section.bg-cover.third .bg,
main section.bg-cover.width-45 .bg,
main section.bg-cover.width-55 .bg {
  position: absolute;
  z-index: 0;
}
main section.bg-cover.half.left .bg,
main section.bg-cover.third.left .bg,
main section.bg-cover.width-45.left .bg,
main section.bg-cover.width-55.left .bg {
  left: 0;
}
main section.bg-cover.half.right .bg,
main section.bg-cover.third.right .bg,
main section.bg-cover.width-45.right .bg,
main section.bg-cover.width-55.right .bg {
  right: 0;
}
main section.bg-cover.third .bg {
  width: 33vw;
}
main section.bg-cover.width-45 .bg {
  width: 45vw;
}
main section.bg-cover.width-55 .bg {
  width: 55vw;
}
main section.bg-cover.half .bg {
  width: 50vw;
}
main section.bg-cabecera-video {
  height: calc(100vh - 50px);
  min-height: 550px;
  padding: 0;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
}
main section.bg-cabecera-video:before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: transparent;
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  transition: all 0.6s ease;
}
main section.bg-cabecera-video.dark:before {
  background-color: rgba(0,0,0,0.4);
}
main section.bg-cabecera-video h1,
main section.bg-cabecera-video .h1,
main section.bg-cabecera-video h2,
main section.bg-cabecera-video .h2,
main section.bg-cabecera-video h3,
main section.bg-cabecera-video .h3,
main section.bg-cabecera-video h4,
main section.bg-cabecera-video .h4,
main section.bg-cabecera-video h5,
main section.bg-cabecera-video .h5,
main section.bg-cabecera-video h6,
main section.bg-cabecera-video .h6 {
  color: #ffffff;
  max-width: 650px;
  position: relative;
  top: 0;
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  transition: all 0.6s ease;
}
main section.bg-cabecera-video h1.long,
main section.bg-cabecera-video .h1.long,
main section.bg-cabecera-video h2.long,
main section.bg-cabecera-video .h2.long,
main section.bg-cabecera-video h3.long,
main section.bg-cabecera-video .h3.long,
main section.bg-cabecera-video h4.long,
main section.bg-cabecera-video .h4.long,
main section.bg-cabecera-video h5.long,
main section.bg-cabecera-video .h5.long,
main section.bg-cabecera-video h6.long,
main section.bg-cabecera-video .h6.long {
  max-width: 1080px;
}
main section.bg-cabecera-video .inner-video {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
}
main section.bg-cabecera-video .inner-video .container,
main section.bg-cabecera-video .inner-video .container-fluid {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 100px;
  padding-bottom: 100px;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 9999;
}
main section.bg-cabecera-video .inner-video .texto {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  transition: all 0.6s ease;
}
main section.bg-cabecera-video .inner-video .texto h1,
main section.bg-cabecera-video .inner-video .texto .h1,
main section.bg-cabecera-video .inner-video .texto h2,
main section.bg-cabecera-video .inner-video .texto .h2 {
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  text-align: center;
  max-width: 66vw;
  margin-bottom: 0;
}
main section.bg-cabecera-video .inner-video .slider {
  padding-left: 50px;
}
main section.bg-cabecera-video .inner-video .bg-video {
  overflow: hidden;
  position: fixed;
  z-index: 0;
  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;
}
main section.bg-cabecera-video .inner-video .bg-video .embed-container {
  overflow: hidden;
  position: absolute;
  z-index: 0;
  top: 50%;
  right: 0;
  left: 0;
  padding-bottom: 0;
  height: 100%;
  border-radius: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
}
main section.bg-cabecera-video .inner-video .bg-video .embed-container iframe,
main section.bg-cabecera-video .inner-video .bg-video .embed-container video {
  height: initial;
  top: 0;
  -webkit-transform: translate(-50%,0%);
  -moz-transform: translate(-50%,0%);
  transform: translate(-50%,0%);
}
main section.bg-video-cover .container,
main section.bg-video-cover .container-fluid {
  z-index: 2;
}
main section.bg-video-cover .inner-video {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  position: fixed;
  top: 120px;
  right: 0;
  bottom: 0;
  left: 0;
}
main section.bg-video-cover .inner-video .bg-video {
  overflow: hidden;
  position: absolute;
  z-index: 0;
  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;
}
main section.bg-video-cover .inner-video .bg-video .embed-container {
  overflow: hidden;
  position: absolute;
  z-index: 0;
  top: 50%;
  right: 0;
  left: 0;
  padding-bottom: 0;
  height: 100%;
  border-radius: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
}
main section.bg-video-cover .inner-video .bg-video .embed-container iframe,
main section.bg-video-cover .inner-video .bg-video .embed-container video {
  height: initial;
  top: 0;
  -webkit-transform: translate(-50%,0%);
  -moz-transform: translate(-50%,0%);
  transform: translate(-50%,0%);
}
main section.bg-video-cover .inner-video:before {
  content: '';
  display: block;
  position: fixed;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0,0,0,0.5);
}
main section.bg-video-cover h1,
main section.bg-video-cover .h1,
main section.bg-video-cover h2,
main section.bg-video-cover .h2,
main section.bg-video-cover h3,
main section.bg-video-cover .h3,
main section.bg-video-cover h4,
main section.bg-video-cover .h4,
main section.bg-video-cover h5,
main section.bg-video-cover .h5,
main section.bg-video-cover h6,
main section.bg-video-cover .h6,
main section.bg-video-cover p {
  color: #ffffff;
}
main section.bg-video-cover hr:before {
  background: rgba(255,255,255,0.5);
}
main section.cta {
  text-align: center;
  background-image: url('img/blurry-gradient.png');
  background-repeat: no-repeat;
  background-position: left top;
  background-size: cover;
  background-attachment: fixed;
}
main section.cta h1,
main section.cta .h1,
main section.cta h2,
main section.cta .h2,
main section.cta h3,
main section.cta .h3,
main section.cta h4,
main section.cta .h4,
main section.cta h5,
main section.cta .h5,
main section.cta h6,
main section.cta .h6 {
  color: #ffffff;
}
main section.cta .btn.outline,
main section.cta .btn:not([href]).outline {
  color: #ffffff;
}
main section.cta .btn.outline:hover,
main section.cta .btn:not([href]).outline:hover {
  color: #000000;
}
main section.cta.gradient {
  background: none;
}
main section.cta.gradient h1,
main section.cta.gradient .h1,
main section.cta.gradient h2,
main section.cta.gradient .h2,
main section.cta.gradient h3,
main section.cta.gradient .h3,
main section.cta.gradient h4,
main section.cta.gradient .h4,
main section.cta.gradient h5,
main section.cta.gradient .h5,
main section.cta.gradient h6,
main section.cta.gradient .h6 {
  color: #222222;
  background: linear-gradient(45deg,#e2008d 30%,#6f0dff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin: 0;
}
main section.colecciones [class^="col-"] {
  margin-bottom: 30px;
}
main section.catalogos [class^="col-"] {
  margin-bottom: 50px;
}
main section.catalogos .catalogo {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  height: 100%;
  border-radius: 16px;
  background: #ffffff;
  position: relative;
}
main section.catalogos .catalogo > div {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 50%;
  height: 100%;
}
main section.catalogos .catalogo > div:first-of-type {
  width: 35%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
main section.catalogos .catalogo > div:first-of-type img {
  border-radius: 16px 0 0 16px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main section.catalogos .catalogo > div:last-of-type {
  width: 65%;
  padding: 30px;
}
main section.catalogos .catalogo > div:last-of-type h2,
main section.catalogos .catalogo > div:last-of-type .h2,
main section.catalogos .catalogo > div:last-of-type h3,
main section.catalogos .catalogo > div:last-of-type .h3,
main section.catalogos .catalogo > div:last-of-type h4,
main section.catalogos .catalogo > div:last-of-type .h4 {
  line-height: 1;
}
main section.noticias [class^="col-"] {
  margin-bottom: 50px;
}
main section.noticias .wrapper {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  height: 100%;
  min-height: initial;
  background: #ffffff;
  border-radius: 16px;
}
main section.noticias .wrapper > .img {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 30vh;
  min-height: 250px;
  position: relative;
  border-radius: 16px 16px 0 0;
  overflow: hidden;
}
main section.noticias .wrapper > .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main section.noticias .wrapper > .txt {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  flex-grow: 1;
  padding: 40px 30px;
}
main section.noticias .wrapper > .txt h4,
main section.noticias .wrapper > .txt .h4 {
  margin-bottom: 30px;
}
main section.noticias .wrapper > .txt ul {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: auto;
  margin-bottom: 0px;
}
main section.noticias .noticia .img {
  position: sticky;
  top: 160px;
}
main section.noticias .noticia .img img {
  width: 100%;
}
main section.direcciones [class^="col-"] {
  margin-top: 50px;
}
main section.direcciones h5,
main section.direcciones .h5,
main section.direcciones h6,
main section.direcciones .h6 {
  margin-bottom: 10px;
}
main section.direcciones p {
  margin-bottom: 0px;
}
main section.direcciones p .btn.transparent {
  line-height: 1.5;
}
main section.direcciones p i {
  color: #ec008c;
  margin-right: 10px;
}
main section.map {
  height: calc(100vh - 300px);
  min-height: 400px;
  position: relative;
}
main section.map #map {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
main section.map #map img {
  border-radius: 0;
}
main section.map #map [class^="gm-style-"] {
  overflow: initial !important;
}
main section.map #map .gm-style-iw-chr button {
  width: 32px !important;
  height: 32px !important;
}
main section.map #map .gm-style-iw-chr button span {
  margin: 4px !important;
}
main section.map #map .gm-style-iw.gm-style-iw-c {
  padding: 0 !important;
}
main section.map #map .infobox {
  font-size: 1.4rem;
  padding: 0 12px 12px;
}
main section.map #map .infobox h6 {
  font-size: 2rem;
  margin-bottom: 10px;
}
main section.map #map .infobox p {
  margin-bottom: 5px;
}
main section.mdd img {
  max-height: 350px;
  max-width: 250px;
}
main section.before:before,
main section.after:after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
}
main section.before:before {
  border-width: 0 0 62px 100vw;
  border-color: transparent transparent transparent #ffffff;
  top: -1px;
}
main section.after:after {
  border-width: 62px 100vw 0 0;
  border-color: transparent #ffffff transparent transparent;
  bottom: -1px;
}
main section.after.after-gray:after {
  border-color: transparent #f7f7f8 transparent transparent;
}
main section#s01 h1,
main section#s01 .h1,
main section#s01 h2,
main section#s01 .h2 {
  color: #ec008c;
}
main section #timeline-content .timeline {
  color: #2f2f2f;
  margin: 50px 0 0 240px;
  padding: 100px 50px 30px;
  list-style: none;
  max-width: 768px;
  position: relative;
}
main section #timeline-content .timeline:before {
  content: '';
  position: absolute;
  top: 0;
  left: -4px;
  bottom: -40px;
  width: 4px;
  background: #ec008c;
  border-radius: 2px;
}
main section #timeline-content .timeline .event {
  border-bottom: 1px dashed rgba(255,255,255,0.1);
  padding-top: 12px;
  margin-bottom: 50px;
  position: relative;
}
main section #timeline-content .timeline .event:last-of-type {
  padding-bottom: 0;
  margin-bottom: 0;
  border: none;
}
main section #timeline-content .timeline .event:before,
main section #timeline-content .timeline .event:after {
  position: absolute;
  display: block;
  top: 0;
}
main section #timeline-content .timeline .event:before {
  font-weight: 700;
  font-size: 4.8rem;
  line-height: 1;
  color: #222222;
  text-align: right;
  left: -280.5px;
  content: attr(data-date);
  width: 190px;
}
main section #timeline-content .timeline .event:after {
  box-shadow: 0 0 0 4px #ec008c;
  left: -57.85px;
  background: #ffffff;
  border-radius: 50%;
  height: 11px;
  width: 11px;
  content: "";
  top: 20px;
}
main section .img-radius img {
  border-radius: 16px;
}
main section p > a.enlace,
main section ul li > a.enlace {
  display: inline-block;
  padding-bottom: 2px;
  position: relative;
}
main section p > a.enlace:after,
main section ul li > a.enlace:after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: 0;
  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;
}
main section p > a.enlace:hover,
main section ul li > a.enlace:hover {
  color: #000000;
  text-decoration: none;
}
main section p > a.enlace:hover:after,
main section ul li > a.enlace:hover:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}
main section .plantas {
  margin-bottom: 75px;
}
main section .plantas .productos {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 75px;
}
main section .plantas .productos > img {
  width: 100%;
  max-width: 90px;
}
main section .plantas .productos > .btn {
  font-size: 1.8rem;
  font-weight: 600;
  display: flex;
  margin-top: 10px;
}
main section .img-half {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
main section .img-half > img {
  max-height: 550px;
  max-width: 550px;
}
main section .icono {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 30px;
  height: 180px;
  width: 180px;
  background: #f3f3f3;
  border-radius: 50%;
}
main section .icono > img {
  height: 60px;
}
main section .icono > img.xl {
  height: 90px;
}
main section .clave {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 50px 0;
}
main section .clave i {
  font-size: 7.5rem;
  color: #ffffff;
  width: 140px;
  height: 140px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
main section .clave h3,
main section .clave .h3 {
  color: #ffffff;
  margin: 10px 0 0;
  text-align: center;
}
main section .clave h3 span,
main section .clave .h3 span {
  font-family: 'Century Gothic Regular', Helvetica, Arial, sans-serif;
  color: inherit;
  display: block;
  font-size: 70%;
}
main section .clave h6,
main section .clave .h6 {
  color: #000000;
}
main section .clave img {
  height: 70px;
  filter: #000000;
}
main section .wrp-panels [class^="col-"] {
  height: 100%;
}
main section .wrp-panels [class^="col-"] .panel {
  min-height: initial;
}
main section .panel {
  font-weight: 300;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 0;
  padding: 40px;
  border-radius: 16px;
  position: relative;
  background-size: auto 80%;
  background-repeat: no-repeat;
  background-position: right bottom;
  background-color: #ffffff;
}
main section .panel:before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 24px;
  box-shadow: -18px 18px 36px #d4d4d4, 18px -18px 36px #ffffff;
}
main section .panel.bg-xl {
  background-size: auto 95%;
}
main section .panel > * {
  position: relative;
  z-index: 1;
}
main section .panel h2,
main section .panel .h2 {
  margin-top: 20px;
}
main section .panel p:last-of-type {
  margin-bottom: 0;
}
main section .bg-cover {
  background-size: cover;
  position: relative;
}
main section .bg-cover.dark:before {
  content: '';
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0,0,0,0.5);
}
main section .bg-cover.dark .txt {
  color: #ffffff;
  position: relative;
  z-index: 1;
}
main section .bg-cover.dark .txt h1,
main section .bg-cover.dark .txt .h1,
main section .bg-cover.dark .txt h2,
main section .bg-cover.dark .txt .h2,
main section .bg-cover.dark .txt h3,
main section .bg-cover.dark .txt .h3,
main section .bg-cover.dark .txt h4,
main section .bg-cover.dark .txt .h4,
main section .bg-cover.dark .txt h5,
main section .bg-cover.dark .txt .h5,
main section .bg-cover.dark .txt h6,
main section .bg-cover.dark .txt .h6 {
  color: #ffffff;
}
main section .bg-cover.clear {
  color: #000000;
}
main section .bg-cover.clear:before {
  content: '';
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(255,255,255,0.5);
}
main section .bg-cover.fixed {
  background-attachment: fixed;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
main section .panel-ic {
  color: #2a2a2a;
  border-radius: 24px;
}
main section .panel-ic .img {
  width: 100px;
  margin-bottom: 20px;
}
main section .panel-ic .img img {
  border-radius: 0;
}
main section .panel-ic .txt h4,
main section .panel-ic .txt .h4,
main section .panel-ic .txt h5,
main section .panel-ic .txt .h5,
main section .panel-ic .txt h6,
main section .panel-ic .txt .h6 {
  margin-bottom: 10px;
}
main section .panel-ic.sm .img {
  width: 75px;
}
main section .bg-third {
  width: 33.33333vw;
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  border-radius: 0 25px 0 0;
  border-radius: 0 25px 25px 0;
}
main section .bg-third.left {
  left: 0;
}
main section .bg-third.right {
  right: 0;
}
main section .contact-us {
  display: flex;
  padding: 75px;
  border-radius: 24px;
  background-color: #333333;
}
main section .contact-us > div {
  padding: 0 50px;
}
main section .contact-us .icon {
  width: 100px;
  height: 100px;
  position: relative;
  display: block;
}
main section .contact-us .icon i {
  color: rgba(255,255,255,0.1);
  font-size: 32rem;
  line-height: 1;
  display: inline-flex;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}
main section .contact-us h3,
main section .contact-us .h3,
main section .contact-us h4,
main section .contact-us .h4,
main section .contact-us h5,
main section .contact-us .h5,
main section .contact-us h6,
main section .contact-us .h6 {
  color: #ffffff;
}
main section .producto {
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 16px;
  background-color: #ffffff;
}
main section .producto > .img {
  height: 240px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 12px 16px;
  border-radius: 16px 16px 0 0;
}
main section .producto > .img img {
  border-radius: 0;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
main section .producto > .txt {
  padding: 12px 16px;
  border-radius: 0 0 16px 16px;
}
main section .producto > .txt span {
  font-size: 1.6rem;
  color: #333333;
  font-weight: 700;
  text-align: left;
  display: block;
  padding-right: 20px;
  position: relative;
}
main section .producto > .txt span:after {
  content: "\f178";
  font-family: 'Font Awesome 6 Pro';
  font-weight: 400;
  color: #ec008c;
  font-style: normal;
  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;
}
main section .producto:hover {
  box-shadow: -9px 9px 18px #d4d4d4, 9px -9px 18px rgba(255,255,255,0.5);
}
main section .producto:hover > .txt span:after {
  opacity: 1;
  visibility: visible;
  right: 0;
}
footer {
  font-size: 1.3rem;
  line-height: 1.2;
  color: #000000;
  position: relative;
  z-index: 1;
  background: #ffffff;
}
footer b,
footer strong {
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  font-weight: 700;
}
footer p {
  margin-bottom: 15px;
}
footer a {
  color: #000000;
  display: inline-block;
  padding-bottom: 2px;
  position: relative;
}
footer a:hover {
  color: #000000;
  text-decoration: none;
}
footer a:hover:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}
footer a:hover + i {
  color: #ec008c;
}
footer a:after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: 0;
  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;
}
footer a + i {
  color: rgba(0,0,0,0.6);
  top: initial;
  transform: scale(1);
  margin-left: 5px;
}
footer i {
  color: rgba(0,0,0,0.6);
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
footer hr {
  width: 100%;
  background-color: #333333;
  opacity: 0.5;
}
footer hr:before {
  background: #333333;
}
footer .logo {
  display: flex;
  align-items: flex-end;
  height: 100%;
  padding-bottom: 0;
}
footer .logo img {
  height: 60px;
}
footer .logo:after {
  display: none;
}
footer .top {
  padding-top: 70px;
  padding-bottom: 65px;
}
footer .top .direccion {
  justify-content: flex-end;
  text-align: right;
}
footer .top .direccion ul {
  margin-bottom: 0;
}
footer .top .direccion ul > li {
  margin-bottom: 10px;
}
footer .top .direccion ul > li:last-child {
  margin-bottom: 0;
}
footer .top .direccion ul > li a {
  padding-bottom: 0;
}
footer .bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-top: 20px;
  padding-bottom: 15px;
  position: relative;
  box-shadow: rgba(0,0,0,0.075) 0 -1px;
}
footer .bottom > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding-top: 10px;
}
footer .bottom > div:last-of-type {
  align-items: flex-end;
}
footer .bottom ul {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 10px;
}
footer .bottom ul > li {
  padding: 0 7px;
}
footer .bottom ul > li .fa-period {
  position: relative;
  top: -3px;
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  transform: scale(0.8);
}
footer .bottom ul > li:first-child {
  padding-left: 0;
}
footer .bottom ul > li:last-child {
  padding-right: 0;
}
@media screen and (max-width: 1599px) {
  h1,
  .h1 {
    font-size: 4.4rem;
  }
  h2,
  .h2 {
    font-size: 4.4rem;
  }
  h3,
  .h3 {
    font-size: 3.2rem;
  }
  blockquote i {
    font-size: 8rem;
    top: -45px;
    left: 0;
  }
  header #header .bottom .container-fluid {
    padding-left: 20px;
    padding-right: 20px;
  }
  header #header .bottom .menu nav > ul > li {
    padding: 0 10px;
  }
  main section.bg-cabecera-video .inner-video .texto {
    padding-right: 50px;
  }
}
@media screen and (max-width: 1399.98px) {
  .container-fluid {
    padding-left: 60px;
    padding-right: 60px;
  }
  header #header .bottom .menu {
    justify-content: flex-end;
  }
  header #header .bottom .menu nav {
    font-size: 1.5rem;
  }
  header #header .bottom .menu nav > ul > li {
    padding: 0 7px;
  }
  main section {
    padding-top: 125px;
    padding-bottom: 125px;
  }
  main section.noticias .noticia .img {
    max-width: 600px;
  }
  main section .menu-iconos [class^="col-"] div {
    padding: 20px;
  }
  main section .menu-iconos [class^="col-"] div h4,
  main section .menu-iconos [class^="col-"] div .h4 {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 1199.98px) {
  .container-fluid {
    padding-left: 35px;
    padding-right: 35px;
  }
  .container-fluid .bg-cover {
    margin-left: -35px;
    margin-right: -35px;
    padding-left: 35px;
    padding-right: 35px;
  }
  .slick .slick-list .slick-track .slick-slide .txt {
    top: initial;
    max-width: calc(100% - 100px);
  }
  .tit-bg h3,
  .tit-bg .h3 {
    font-size: 5rem;
  }
  .btn,
  .btn:not([href]) {
    font-size: 1.8rem;
    height: 45px;
    margin-top: 30px;
  }
  blockquote i {
    font-size: 7rem;
    top: -35px;
    left: 10px;
  }
  blockquote.small {
    font-size: 3.2rem;
  }
  h1,
  .h1 {
    font-size: 4.8rem;
  }
  h2,
  .h2 {
    font-size: 4rem;
  }
  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: #ec008c;
  }
  header ::-webkit-scrollbar {
    width: 4px;
    height: 4px;
    background-color: transparent;
  }
  header ::-moz-scrollbar-track {
    background-color: transparent;
  }
  header ::-moz-scrollbar-thumb {
    background-color: #ec008c;
  }
  header ::-moz-scrollbar {
    width: 4px;
    height: 4px;
    background-color: transparent;
  }
  main section {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  main section.bg-cabecera-video {
    height: calc(100vh - 80px);
  }
  main section.bg-hero {
    min-height: initial;
  }
}
@media screen and (max-width: 991.98px) {
  .slick-dots li {
    margin-right: 20px;
  }
  .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;
  }
  .container-fluid .bg-cover {
    margin-left: -25px;
    margin-right: -25px;
    padding-left: 25px;
    padding-right: 25px;
  }
  .desktop-hidden {
    display: block !important;
  }
  .mobile-hidden {
    display: none !important;
  }
  .grid-item {
    width: 50%;
  }
  .tit-bg h3,
  .tit-bg .h3 {
    font-size: 4rem;
  }
  body.navegando header {
    background: #000000;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  h1,
  .h1 {
    font-size: 4.4rem;
  }
  h2,
  .h2 {
    font-size: 3.6rem;
  }
  h5,
  .h5 {
    font-size: 2rem;
  }
  h6,
  .h6 {
    font-size: 2rem;
  }
  blockquote {
    text-align: left;
  }
  blockquote span {
    padding-right: 0;
  }
  blockquote span i {
    font-size: 6rem;
  }
  blockquote.small {
    font-size: 3rem;
    padding: 45px 8.333333%;
  }
  main section {
    padding-top: 75px;
    padding-bottom: 75px;
  }
  main section.bg-lima:before {
    border-width: 25px 0 0 100vw;
    top: -24px;
  }
  main section.bg-lima:after {
    border-width: 25px 100vw 0 0;
  }
  main section.bg-cabecera-video .inner-video .container,
  main section.bg-cabecera-video .inner-video .container-fluid {
    padding-top: 100px;
    padding-bottom: 100px;
    justify-content: flex-end;
  }
  main section.bg-cabecera-video .inner-video .texto {
    padding-right: 0;
  }
  main section.bg-hero {
    background-position-y: calc(0% + 80px);
  }
  main section.bg-hero .container,
  main section.bg-hero .container-fluid {
    justify-content: flex-end;
    padding-top: 100px;
    padding-bottom: 100px;
  }
  main section.slider .txt .container,
  main section.slider .txt .container-fluid {
    justify-content: flex-end;
    padding-top: 25px;
    padding-bottom: 25px;
  }
  main section.bg-hero h1,
  main section.bg-hero .h1,
  main section.bg-hero h2,
  main section.bg-hero .h2,
  main section.bg-hero h3,
  main section.bg-hero .h3,
  main section.bg-hero h4,
  main section.bg-hero .h4,
  main section.bg-hero h5,
  main section.bg-hero .h5,
  main section.bg-hero h6,
  main section.bg-hero .h6,
  main section.bg-cabecera-video h1,
  main section.bg-cabecera-video .h1,
  main section.bg-cabecera-video h2,
  main section.bg-cabecera-video .h2,
  main section.bg-cabecera-video h3,
  main section.bg-cabecera-video .h3,
  main section.bg-cabecera-video h4,
  main section.bg-cabecera-video .h4,
  main section.bg-cabecera-video h5,
  main section.bg-cabecera-video .h5,
  main section.bg-cabecera-video h6,
  main section.bg-cabecera-video .h6,
  main section.wrapper-video h1,
  main section.wrapper-video .h1,
  main section.wrapper-video h2,
  main section.wrapper-video .h2,
  main section.wrapper-video h3,
  main section.wrapper-video .h3,
  main section.wrapper-video h4,
  main section.wrapper-video .h4,
  main section.wrapper-video h5,
  main section.wrapper-video .h5,
  main section.wrapper-video h6,
  main section.wrapper-video .h6 {
    -webkit-text-stroke-width: 0.5px;
  }
  main section.blockquote {
    padding-bottom: 75px;
  }
  main section.medium-top {
    padding-top: 100px;
  }
  main section.xl-bottom {
    padding-bottom: 150px;
  }
  main section .menu-iconos {
    padding-top: 25px;
  }
  footer a.logo img {
    height: 60px;
  }
  footer .top {
    padding-top: 40px;
    padding-bottom: 35px;
  }
}
@media screen and (max-width: 767.98px) {
  ::-webkit-scrollbar {
    width: 4px;
    height: 4px;
    border-radius: 2px;
  }
  ::-moz-scrollbar {
    width: 4px;
    height: 4px;
    border-radius: 2px;
  }
  .container-fluid {
    padding-left: 15px;
    padding-right: 15px;
  }
  .formulario-fancybox {
    padding: 0;
  }
  .formulario-fancybox > div {
    padding: 30px 20px;
  }
  .scroll.subir {
    bottom: -50px;
  }
  .slick.hero .slick-dots {
    bottom: 25px;
  }
  blockquote {
    padding-left: 40px;
  }
  blockquote i {
    left: 0;
  }
  form .input-field > label {
    font-size: 1.8rem;
  }
  header #header-mobile #title-mobile {
    padding: 0 15px;
  }
  main section {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  main section.bg-hero {
    height: calc(100vh - 180px);
    min-height: 350px;
    background-size: auto 768px;
  }
  main section.bg-cabecera-video {
    height: calc(100vh - 140px);
    min-height: 350px;
  }
  main section.bg-cabecera-video .inner-video .texto {
    padding-top: 0;
  }
  main section.bg-cabecera-video .inner-video .texto h1,
  main section.bg-cabecera-video .inner-video .texto .h1,
  main section.bg-cabecera-video .inner-video .texto h2,
  main section.bg-cabecera-video .inner-video .texto .h2 {
    max-width: 550px;
  }
  main section.bg-cabecera-video .inner-video .slider {
    display: none;
  }
  main section.bg-cover.half .bg {
    width: 100vw;
  }
  main section.bg-cover.velo.clear .bg:before {
    background: rgba(255,255,255,0.8);
  }
  main section.slider {
    height: calc(100vh - 180px);
    min-height: 550px;
  }
  main section.slider .txt {
    bottom: 75px;
  }
  main section.slider .txt .container,
  main section.slider .txt .container-fluid {
    padding-top: 0;
    padding-bottom: 0;
  }
  main section.blockquote {
    padding-bottom: 60px;
  }
  main section .panel {
    padding: 25px;
  }
  main section .panel h2,
  main section .panel .h2 {
    margin-top: 10px;
  }
  main section .panel:before {
    border-radius: 15px;
  }
  main section .contact-us {
    flex-direction: column;
    padding: 40px 30px;
  }
  main section .contact-us > div {
    padding: 0;
  }
  main section .contact-us .icon {
    width: 100%;
  }
  footer .bottom {
    background-color: transparent;
    flex-direction: column;
  }
  footer .bottom ul {
    margin-bottom: 0;
  }
  footer .bottom > div {
    align-items: center;
  }
  footer .bottom > div:last-of-type {
    align-items: center;
    padding-top: 30px;
    padding-bottom: 10px;
  }
}
@media screen and (max-width: 575.98px) {
  .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;
  }
  .xs-mobile-hidden {
    display: none !important;
  }
  .grid-item {
    width: 100%;
  }
  .btn.desplegar,
  .btn:not([href]).desplegar {
    height: 36px;
  }
  body {
    font-size: 1.6rem;
  }
  form .input-field > label {
    font-size: 1.6rem;
  }
  ul.paginacion li {
    padding-left: 5px;
    padding-right: 5px;
  }
  main section.bg-cabecera-video .inner-video .container,
  main section.bg-cabecera-video .inner-video .container-fluid {
    position: relative;
    top: initial;
    left: initial;
    -webkit-transform: translate(0,0);
    -moz-transform: translate(0,0);
    transform: translate(0,0);
  }
  main section .menu-iconos [class^="col-"] div {
    padding-top: 30px;
  }
  main section .menu-iconos [class^="col-"] div h4,
  main section .menu-iconos [class^="col-"] div .h4 {
    min-height: initial;
  }
}
.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;
}
.scroll.black {
  color: #000000;
  position: relative;
  left: initial;
  bottom: initial;
}
.scroll.black:before {
  border: 2px solid #000000;
}
.scroll.black:after {
  background: #000000;
}
.scroll.black:hover {
  color: #000000;
}
.scroll.black:focus,
.scroll.black:active {
  color: #000000;
}
@-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;
  }
}
