:root {
  --color-primary: #ed2229;
  --color-secondary: #ffffff;
  --color-tertiary: #000000;
  --color-quaternary: #43434a;
  --color-quinary: #2a2a2f;
  --color-senary: #f3f3f3;
}

.color-primary {
  color: var(--color-primary) !important;
}

.color-secondary {
  color: var(--color-secondary) !important;
}

.color-tertiary {
  color: var(--color-tertiary) !important;
}

.color-quaternary {
  color: var(--color-quaternary) !important;
}

.color-quinary {
  color: var(--color-quinary) !important;
}

.color-senary {
  color: var(--color-senary) !important;
}

.bg-primary {
  background-color: var(--color-primary) !important;
}

.bg-secondary {
  background-color: var(--color-secondary) !important;
}

.bg-tertiary {
  background-color: var(--color-tertiary) !important;
}

.bg-quaternary {
  background-color: var(--color-quaternary) !important;
}

.bg-quinary {
  background-color: var(--color-quinary) !important;
}

.bg-senary {
  background-color: var(--color-senary) !important;
}

body {
  text-align: justify;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  text-align: left;
}

.lineLeft::after {
  content: "";
  position: absolute;
  top: 19px;
  left: calc(-50vw - 25px);
  width: 50vw;
  height: 1px;
  border-bottom: 2px solid var(--color-primary);
  animation: lineAnimation 2s ease-in-out infinite;
}
@media screen and (min-width: 768px) {
  .lineLeft::after {
    left: calc(-50vw - 40px);
    top: 25px;
  }
}
.lineLeft::before {
  position: absolute;
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  border: 3px solid var(--color-primary);
  left: -25px;
  top: 13px;
  z-index: 5;
  animation: lineAnimation 2s ease-in-out infinite;
}
@media screen and (min-width: 768px) {
  .lineLeft::before {
    top: 19px;
    left: -40px;
  }
}
.lineLeft.white::after {
  border-bottom: 2px solid var(--color-secondary);
}
.lineLeft.white::before {
  border: 3px solid var(--color-secondary);
}

body {
  width: 100%;
  font-family: "Lato", sans-serif;
  overflow-x: hidden;
  color: var(--color-quaternary);
  padding-top: 80px;
}
body.home {
  padding-top: 0px;
}
@media screen and (max-width: 767.98px) {
  body.home > nav {
    overflow-x: hidden;
    overflow-y: visible;
  }
}
body.home header#navbar {
  border-bottom: none !important;
  display: none;
}
body.home.scrolled header#navbar {
  display: block;
}

@media screen and (max-width: 767.98px) {
  main {
    overflow-x: hidden;
  }
}
a {
  text-decoration: underline;
}
a:hover {
  color: var(--color-primary);
  text-decoration: none;
}

ul {
  list-style: square;
  padding-left: 1rem;
}

.btn {
  padding: 0.65rem 1.25rem;
  border-radius: 0;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2509803922);
}
.btn.btn-download {
  background-color: var(--color-secondary);
  border: 2px solid var(--color-secondary);
  color: var(--color-primary);
}
.btn.btn-download:hover {
  background-color: var(--color-primary);
  color: var(--color-secondary);
}
.btn.btn-border {
  background-color: rgba(0, 0, 0, 0.062745098);
  border: 2px solid var(--color-secondary);
  color: var(--color-secondary);
  font-size: 1rem !important;
  font-weight: 400 !important;
  -webkit-backdrop-filter: blur(15px);
          backdrop-filter: blur(15px);
}
.btn.btn-border:hover {
  background-color: var(--color-secondary);
  color: var(--color-primary);
}
.btn.btn-lines {
  display: inline-flex;
  padding: 20px 20px;
  position: relative;
  height: auto;
  width: 100%;
  max-width: 300px;
  justify-content: center;
  font-size: 1.125rem;
  font-weight: 600;
  text-transform: uppercase;
  border-left: 2px solid var(--color-primary);
  z-index: 1;
  box-shadow: none;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
}
@media screen and (min-width: 768px) {
  .btn.btn-lines {
    padding: 30px 20px;
    font-size: 1.25rem;
  }
}
.btn.btn-lines::before, .btn.btn-lines::after {
  position: absolute;
  content: "";
  width: calc(100% + 2px);
  left: -1px;
  z-index: -1;
}
.btn.btn-lines::before {
  height: 30px;
  bottom: -1px;
  left: 0px;
  border: 2px solid var(--color-primary);
  border-width: 0px 3px 2px 0px;
  transform: skew(135deg);
  transform-origin: right top;
}
.btn.btn-lines::after {
  height: calc(100% - 28px);
  top: -1px;
  border: 2px solid var(--color-primary);
  border-width: 2px 2px 0px 0px;
}
.btn.btn-lines:hover {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
}
.btn.btn-primary {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  border-color: var(--color-primary);
}
.btn.btn-primary:hover {
  background-color: var(--color-secondary);
  color: var(--color-primary);
}
.btn.btn-secondary {
  background-color: var(--color-secondary);
  color: var(--color-primary);
  border-color: var(--color-primary);
}
.btn.btn-secondary:hover {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  border-color: var(--color-primary);
}
.btn.btn-secondary.target img {
  filter: brightness(1);
  -webkit-filter: brightness(1);
  -moz-filter: brightness(1);
}
.btn.btn-secondary.target:hover img {
  filter: brightness(100);
  -webkit-filter: brightness(100);
  -moz-filter: brightness(100);
}
.btn .btn-lg {
  line-height: 1.2;
}
.btn.target img {
  width: auto;
  height: 12px;
  filter: brightness(100);
  -webkit-filter: brightness(100);
  -moz-filter: brightness(100);
  margin-top: -3px;
  margin-left: 3px;
}
.btn.target:hover img {
  filter: brightness(1);
  -webkit-filter: brightness(1);
  -moz-filter: brightness(1);
}
.btn.btn-2025 {
  position: relative;
  background-color: var(--color-secondary);
  border-color: var(--color-primary);
  border-width: 1px;
  box-shadow: none;
  font-weight: 700;
  padding: 15px 20px;
}
.btn.btn-2025:hover {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  border-color: var(--color-secondary);
}
.btn.btn-2025:hover::after {
  top: 10px;
  left: -10px;
}
.btn.btn-2025.icon {
  padding: 11px 15px;
}
.btn.btn-2025.icon img {
  width: 23px;
  height: auto;
}
.btn.btn-2025.icon img.arrow-right {
  rotate: -90deg;
}
@media screen and (min-width: 768px) {
  .btn.btn-2025 {
    font-size: 1.125rem;
    padding: 20px 30px;
  }
}
.btn.btn-2025::after {
  content: "";
  display: block;
  clear: both;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 5px;
  left: -5px;
  z-index: -1;
  border: 2px solid var(--color-tertiary);
  transition: all 0.2s ease;
}
.btn.btn-2025.white {
  background-color: var(--color-secondary);
  color: var(--color-primary);
  border-color: var(--color-tertiary);
}
.btn.btn-2025.white::after {
  background-color: var(--color-secondary);
}
.btn.btn-2025.white:hover {
  background-color: var(--color-primary);
  color: var(--color-secondary);
}
.btn.btn-2025.white.target img {
  filter: none;
}
.btn.btn-2025.white.target:hover img {
  filter: brightness(100);
  -webkit-filter: brightness(100);
  -moz-filter: brightness(100);
}
.btn.btn-2025.white-red {
  background-color: var(--color-secondary);
  color: var(--color-primary);
  border-color: var(--color-primary);
}
.btn.btn-2025.white-red::after {
  background-color: transparent;
}
.btn.btn-2025.white-red:hover {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  border-color: var(--color-secondary);
}
.btn.btn-2025.white-black {
  background-color: var(--color-secondary);
  color: var(--color-primary);
  border-color: var(--color-tertiary);
}
.btn.btn-2025.white-black::after {
  background-color: transparent;
  border-color: var(--color-tertiary);
}
.btn.btn-2025.white-black:hover {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  border-color: var(--color-secondary);
}
.btn.btn-2025.white-black.target img {
  filter: none;
}
.btn.btn-2025.white-black.target:hover img {
  filter: brightness(100);
  -webkit-filter: brightness(100);
  -moz-filter: brightness(100);
}
.btn.btn-2025.red-black {
  background-color: var(--color-secondary);
  color: var(--color-primary);
  border-color: var(--color-primary);
}
.btn.btn-2025.red-black::after {
  background-color: transparent;
  border-color: var(--color-tertiary);
}
.btn.btn-2025.red-black:hover {
  background-color: var(--color-tertiary);
  color: var(--color-secondary);
  border-color: var(--color-secondary);
}
.btn.btn-2025.bgred-black {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  border-color: var(--color-primary);
}
.btn.btn-2025.bgred-black::after {
  background-color: transparent;
  border-color: var(--color-tertiary);
}
.btn.btn-2025.bgred-black:hover {
  background-color: var(--color-tertiary);
  color: var(--color-secondary);
  border-color: var(--color-secondary);
}
.btn.btn-2025.transparent-black {
  background-color: transparent;
  color: var(--color-secondary);
  border-color: var(--color-secondary);
}
.btn.btn-2025.transparent-black::after {
  background-color: transparent;
  border-color: var(--color-tertiary);
  border-top: none;
  border-right: none;
}
.btn.btn-2025.transparent-black:hover {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  border-color: var(--color-secondary);
}
.btn.btn-2025.red {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  border-color: var(--color-tertiary);
}
.btn.btn-2025.red::after {
  background-color: transparent;
}
.btn.btn-2025.red:hover {
  background-color: var(--color-secondary);
  color: var(--color-tertiary);
}

ul {
  list-style: disc;
}
ul li::marker {
  color: var(--color-primary);
}

.float-left {
  float: left;
  margin-right: 15px;
}
@media screen and (min-width: 768px) {
  .float-left {
    float: left;
    margin-right: 30px;
  }
}
.float-left::after {
  content: "";
  display: block;
  clear: both;
}

.mw-300 {
  max-width: 100%;
  height: auto;
}
@media screen and (min-width: 567px) {
  .mw-300 {
    max-width: 300px;
  }
}

.clear-both {
  clear: both;
}

.accordion-body::after {
  content: "";
  display: block;
  clear: both;
}

.p-graph {
  padding-top: 59px;
}

.p-horizontal {
  padding-left: 0px;
  padding-right: 0px;
}
@media screen and (min-width: 768px) {
  .p-horizontal {
    padding-left: 102px;
    padding-right: 102px;
  }
}

.arrow-down {
  display: inline-flex;
  width: 50px;
  height: 50px;
  background-color: var(--color-primary);
  justify-content: center;
  align-items: center;
  animation: animeUpDown ease 3s infinite;
}
.arrow-down img {
  width: 20px;
  height: auto;
  filter: brightness(100);
  -webkit-filter: brightness(100);
  -moz-filter: brightness(100);
}

img.img-border {
  border: 3px solid var(--color-secondary);
}
img.img-left {
  width: 100%;
  height: auto;
  float: left;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  img.img-left {
    max-width: 300px;
    margin-right: 15px;
    margin-bottom: 0px;
  }
}
img.img-hero {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  img.img-hero {
    -o-object-fit: cover;
       object-fit: cover;
    width: 400px;
    height: 400px;
  }
}
img.img-60 {
  width: 100%;
  height: auto;
  max-width: 60px;
}
img.img-80 {
  width: 100%;
  height: auto;
  max-width: 80px;
}
img.img-120 {
  width: 100%;
  height: auto;
  max-width: 120px;
}
img.img-150 {
  width: 100%;
  height: auto;
  max-width: 150px;
}

.w-50p {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .w-50p {
    width: 50%;
  }
}

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

@media screen and (min-width: 768px) {
  .two-columns {
    -moz-columns: 2;
         columns: 2;
  }
}
.two-columns li {
  page-break-inside: avoid;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}
.two-columns li.active {
  color: var(--color-primary);
}

.popup-icon {
  background-color: var(--color-tertiary);
  color: var(--color-secondary);
  padding: 10px;
  display: none;
  width: 120px;
  position: absolute;
  z-index: 1001;
  font-size: 0.875rem;
  line-height: 1.2;
}
.popup-icon p {
  margin-bottom: 0;
}
.popup-icon.espacios a {
  text-decoration: none;
  display: block;
  padding: 5px;
}
.popup-icon.espacios a img {
  width: 20px;
  height: auto;
}

.icon-nav-espacio a {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--color-quaternary);
  text-decoration: none;
  line-height: 1.1;
  font-size: 0.8rem;
  font-weight: 400;
}
.icon-nav-espacio a:hover {
  color: var(--color-primary);
}
.icon-nav-espacio a figure {
  padding-bottom: 5px;
}
.icon-nav-espacio a figure img {
  filter: grayscale(1);
}
.icon-nav-espacio.active a {
  color: var(--color-primary);
}
.icon-nav-espacio.active img {
  filter: none;
}

.icon-nav-servicios a {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--color-quaternary);
  text-decoration: none;
  line-height: 1.1;
  font-size: 0.8rem;
  font-weight: 400;
}
.icon-nav-servicios a:hover {
  color: var(--color-primary);
}
.icon-nav-servicios a figure {
  padding-bottom: 5px;
}
.icon-nav-servicios.active a {
  color: var(--color-primary);
}

.owl-carousel .owl-nav .owl-prev span,
.owl-carousel .owl-nav .owl-next span {
  background-color: var(--color-primary);
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.owl-carousel .owl-nav .owl-prev span:before,
.owl-carousel .owl-nav .owl-next span:before {
  content: url(images/ico-arrow-down_2.svg);
  filter: brightness(100);
  -webkit-filter: brightness(100);
  -moz-filter: brightness(100);
  width: 22px;
  height: auto;
  display: block;
  transform: rotate(90deg);
}
.owl-carousel .owl-nav .owl-next span:before {
  transform: rotate(-90deg);
}

.box {
  position: relative;
  z-index: 0;
}
.box.info {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  padding: 30px 30px;
  font-size: 1rem;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .box.info {
    font-size: 1.25rem;
  }
}
.box.black {
  background-color: var(--color-tertiary);
  color: var(--color-secondary);
}
.box.black ul {
  list-style: disc;
}
.box.black ul li::marker {
  color: var(--color-primary);
}
.box.white {
  background-color: var(--color-secondary);
  color: var(--color-tertiary);
}
.box.white ul {
  list-style: disc;
}
.box.white ul li::marker {
  color: var(--color-primary);
}
.box.border-red {
  background-color: transparent;
  border: 1px solid var(--color-primary);
  color: var(--color-tertiary);
}
.box.border-red ul {
  list-style: disc;
}
.box.border-red ul li::marker {
  color: var(--color-primary);
}

table.table-zf {
  width: 100%;
  background-color: white;
  color: var(--color-quinary);
  font-size: 0.875rem;
  border: 5px solid white;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  table.table-zf {
    font-size: 1rem;
    border: 30px solid white;
  }
}
table.table-zf tr td,
table.table-zf tr th {
  border-bottom: 1px solid var(--color-quaternary);
  padding: 5px;
}
@media screen and (min-width: 768px) {
  table.table-zf tr td,
  table.table-zf tr th {
    padding: 8px;
  }
}
table.table-zf tr td.sub,
table.table-zf tr th.sub {
  background-color: #efefef;
  font-weight: 700;
}
table.table-zf tr td.tab1,
table.table-zf tr th.tab1 {
  padding-left: 30px;
}
table.table-zf tr td.tab2,
table.table-zf tr th.tab2 {
  padding-left: 60px;
}
table.table-zf tr.b-bottom td,
table.table-zf tr.b-bottom th {
  border-bottom: 2px solid var(--color-quaternary);
}
table.table-zf tr.bold,
table.table-zf tr .bold {
  font-weight: 900;
}
table.table-zf tr.title,
table.table-zf tr .title {
  font-weight: 900;
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  table.table-zf tr.title,
  table.table-zf tr .title {
    font-size: 1.25rem;
  }
}
table.table-zf tr.strong,
table.table-zf tr .strong {
  font-weight: 900;
  color: var(--color-primary);
}
table.table-zf tr.strong.light,
table.table-zf tr .strong.light {
  font-weight: 700;
}
table.table-zf tr.sub td {
  background-color: #efefef;
  font-weight: 700;
}

h1,
h2,
h3,
h4 {
  font-weight: 700;
}

.fw-bolder {
  font-weight: 900 !important;
}

.title-section {
  font-weight: 700;
  font-size: 2.25rem;
  line-height: 1;
  display: inline-block;
  position: relative;
  letter-spacing: -0.5px;
}
@media screen and (min-width: 768px) {
  .title-section {
    font-size: 3.25rem;
    font-weight: 900;
    letter-spacing: -1px;
  }
}
.title-section span {
  font-size: 1.5rem;
  font-weight: 600;
}
.title-section.primary {
  color: var(--color-primary);
}
.title-section.secondary {
  color: var(--color-secondary);
}

.title-chapter {
  font-weight: 900;
  font-size: 1.5rem;
  color: var(--color-primary);
  position: relative;
}

.title-graph {
  position: relative;
  color: var(--color-secondary);
  font-size: 3rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .title-graph {
    padding-left: 90px;
    padding-top: 0px;
  }
}
.title-graph::before {
  content: "";
  background-color: var(--color-primary);
  opacity: 0.9;
  display: none;
  width: 130px;
  height: 130px;
  position: absolute;
  top: -83px;
  left: -41px;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .title-graph::before {
    display: block;
  }
}
.title-graph::after {
  content: "";
  background-color: var(--color-senary);
  opacity: 0.85;
  display: none;
  width: 30px;
  height: 30px;
  position: absolute;
  top: 47px;
  left: 90px;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .title-graph::after {
    display: block;
  }
}
.title-graph.two {
  color: var(--color-primary);
}
.title-graph.two::before {
  background-color: var(--color-senary);
}
.title-graph.two::after {
  background-color: var(--color-primary);
}

.title-line {
  color: var(--color-secondary);
  padding: 25px;
  padding-bottom: 10px;
  margin-bottom: 30px;
  font-size: 1.875rem;
  font-weight: 900;
  line-height: 1.1;
  display: inline-block;
  position: relative;
  z-index: 1;
  letter-spacing: -0.3px;
}
@media screen and (min-width: 768px) {
  .title-line {
    font-size: 3.25rem;
  }
}
.title-line .sub {
  font-size: 1.75rem;
}
@media screen and (min-width: 768px) {
  .title-line.big {
    font-size: 4.25rem;
    line-height: 1;
  }
}
.title-line::before {
  content: "";
  display: block;
  width: 3300px;
  height: 100%;
  position: absolute;
  top: 0px;
  border-top: 1px solid var(--color-secondary);
}
.title-line.left {
  padding-left: 0;
}
.title-line.left::before {
  border-right: 1px solid var(--color-secondary);
  text-align: left;
  right: 0px;
}
.title-line.right::before {
  border-left: 1px solid var(--color-secondary);
  text-align: right;
  left: 0px;
}
.title-line.black {
  color: var(--color-tertiary);
}
.title-line.black::before {
  border-color: var(--color-tertiary) !important;
}
.title-line.black-red {
  color: var(--color-primary);
}
.title-line.black-red::before {
  border-color: var(--color-tertiary) !important;
}
.title-line.red {
  color: var(--color-primary);
}
.title-line.red::before {
  border-color: var(--color-primary) !important;
}

.subtitle {
  color: var(--color-tertiary);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .subtitle {
    font-size: 2rem;
  }
}

.border-text {
  line-height: 1;
  font-size: 9.25rem;
  -webkit-text-stroke: 4px var(--color-secondary);
  color: transparent;
  font-weight: 900;
}
@media screen and (min-width: 768px) {
  .border-text {
    font-size: 10rem;
  }
}
.border-text.red {
  -webkit-text-stroke: 4px var(--color-primary);
}
@media screen and (min-width: 768px) {
  .border-text.dfactory {
    font-size: 14rem;
  }
}

small {
  line-height: 1.3;
  display: block;
  font-size: 0.85rem;
}

@keyframes FadeBig {
  0% {
    opacity: 0;
  }
  25% {
    opacity: 1;
  }
  75% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeInFadeOut {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes lineAnimation {
  0% {
    transform: translateX(-15px);
  }
  50% {
    transform: translateX(0px);
  }
  100% {
    transform: translateX(-15px);
  }
}
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes animeUpDown {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes leftRight {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes blink {
  0% {
    opacity: 1;
  }
  87.9% {
    opacity: 1;
  }
  88% {
    opacity: 0;
  }
  90.9% {
    opacity: 0;
  }
  91% {
    opacity: 1;
  }
  97.9% {
    opacity: 1;
  }
  98% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes smallBigAnimation {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes RightToLeft {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-100px);
  }
  50% {
    transform: translateX(-100px);
  }
  75% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes Rotate {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(90deg);
  }
  50% {
    transform: rotate(90deg);
  }
  75% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(180deg);
  }
}
/* Animations */
.anime {
  opacity: 0;
  transition: 1s all ease;
  transition-delay: 0.25s;
}
.anime.delay-1s {
  transition-delay: 0.5s;
}
.anime.delay-1hs {
  transition-delay: 0.75s;
}
.anime.delay-2s {
  transition-delay: 1s;
}
.anime.delay-2hs {
  transition-delay: 1.25s;
}
.anime.delay-3s {
  transition-delay: 1.5s;
}
.anime.delay-3hs {
  transition-delay: 1.75s;
}
.anime.delay-4s {
  transition-delay: 2s;
}
.anime.UpDown {
  transform: translateY(-50px);
}
.anime.DownUp {
  transform: translateY(50px);
}
.anime.LeftRight {
  transform: translateX(-50px);
}
.anime.RightLeft {
  transform: translateX(50px);
}
.anime.SmallBig {
  transform: scale(0.75);
}
.anime.anime-init {
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
}

h1 span {
  transition: all 0.3s ease-in-out;
}
h1 span.animate-active {
  color: var(--color-primary);
}

.carta {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  z-index: 999;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 50px 30px;
  display: none;
  transition: all 0.3s ease-in-out;
}
.carta.active {
  display: flex;
}
.carta .header {
  background-color: var(--color-tertiary);
  color: var(--color-secondary);
  width: 100%;
  max-width: 600px;
  height: auto;
  text-align: right;
}
.carta .header.medium {
  max-width: 800px;
}
.carta .header.large {
  max-width: 1040px;
}
.carta .header button.close {
  color: var(--color-secondary);
  background-color: transparent;
  border: none;
  font-size: 1.5rem;
  padding: 10px 20px;
  font-weight: 300;
  transform: scaleY(0.875);
}
.carta .wrap {
  overflow-y: auto;
  width: 100%;
  max-width: 600px;
  height: auto;
  max-height: 85%;
  background-color: var(--color-tertiary);
  padding: 0 30px 20px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.8) rgba(255, 255, 255, 0);
  margin-top: -1px;
}
.carta .wrap.medium {
  max-width: 800px;
}
.carta .wrap.large {
  max-width: 1040px;
}
.carta .wrap .box {
  color: var(--color-secondary);
  font-size: 1rem;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  .carta .wrap .box {
    font-size: 1.125rem;
  }
}
.carta .wrap .box h3 {
  font-weight: 900;
  margin-bottom: 15px;
}
.carta .wrap .box ul li {
  margin-bottom: 15px;
}
.carta .wrap .box strong {
  font-weight: 700;
}

header#navbar {
  background-color: var(--color-secondary);
  height: 80px;
  padding-top: 20px;
  border-bottom: 3px solid var(--color-primary);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 800;
}
@media screen and (min-width: 768px) {
  header#navbar {
    height: 100px;
  }
}
header#navbar.open {
  background-color: transparent;
  border-bottom: none;
}
header#navbar .logo {
  max-width: 200px;
  position: relative;
  z-index: 100;
}

main #hero {
  color: var(--color-secondary);
  background-image: url(images/bg-capa-mapa-2.webp);
  background-position: center;
  background-size: cover;
  position: relative;
}
@media screen and (min-width: 992px) {
  main #hero {
    height: calc(100vh - 100px);
  }
}
main #hero .logo-home {
  position: absolute;
  top: 50px;
  left: 20px;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  main #hero .logo-home {
    top: 20px;
  }
}
main #hero .logo-home img {
  width: 170px;
}
@media screen and (min-width: 768px) {
  main #hero .logo-home img {
    width: 250px;
  }
}
main #hero.home {
  height: 100vh;
  color: var(--color-secondary);
}
main #hero.home #animation_container {
  background-color: rgba(102, 102, 102, 0);
  width: 800px;
  height: 800px;
  position: absolute;
  top: calc(50% - 37px);
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}
main #hero.home #animation_container #canvas {
  width: 800px;
  height: 800px;
  position: absolute;
  display: block;
  background-color: rgba(102, 102, 102, 0);
}
main #hero.home #animation_container #dom_overlay_container {
  pointer-events: none;
  overflow: hidden;
  width: 800px;
  height: 800px;
  position: absolute;
  left: 0px;
  top: 0px;
  display: block;
}
main #hero.home .frase {
  font-size: 1.375rem;
  line-height: 1.375;
  text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.1254901961);
}
main #hero.home .frase strong {
  font-size: 1.8rem;
}
main #hero.home .logo {
  background-color: var(--color-secondary);
  padding: 12px 15px;
  display: flex;
}
@media screen and (min-width: 768px) {
  main #hero.home .logo {
    padding: 25px 15px;
  }
}
main #hero.home .distrito-4 {
  color: var(--color-secondary);
  position: absolute;
  font-weight: 500;
  font-size: 2rem;
  top: 133px;
  right: 150px;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  main #hero.home .distrito-4 {
    top: 115px;
    right: 130px;
    font-size: 3rem;
  }
}
main #hero.home .slogan {
  width: 280px;
  height: 280px;
  background-color: rgba(237, 34, 41, 0.8509803922);
  border-radius: 50%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  color: var(--color-secondary);
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%) !important;
  padding: 25px;
  font-size: 1.5rem;
  text-align: center;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  main #hero.home .slogan {
    display: flex;
    top: calc(50% - 40px);
    left: calc(50% + 390px);
  }
}
main #hero.home .col-bottom {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}
main #hero.home .graph-2024 {
  display: none;
  position: absolute;
  left: 30px;
  bottom: 30px;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  main #hero.home .graph-2024 {
    display: block;
  }
}
main #hero.home .frase {
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 1;
  line-height: 1.05;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  main #hero.home .frase {
    right: 30px;
    bottom: 30px;
    line-height: 1.3;
  }
}
main #hero.home .row-wrapper {
  height: 100%;
  flex-direction: column;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  main #hero.home .row-wrapper {
    flex-direction: row;
    height: auto;
    justify-content: start;
  }
}
main #hero.home h1 {
  font-size: 1.75rem;
  line-height: 1;
  letter-spacing: -1px;
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  main #hero.home h1 {
    font-size: 2rem;
  }
}
@media screen and (min-width: 992px) {
  main #hero.home h1 {
    font-size: 3.5rem;
    line-height: 1.2;
  }
}
main #hero.home h1 strong {
  color: var(--color-secondary);
  transition: all 0.3s ease-in-out;
}
main #hero.home h1 strong.animate-active {
  color: var(--color-primary);
}
main #hero.home .year {
  display: inline-block;
  position: relative;
  font-size: 2rem;
  line-height: 1;
  font-weight: 900;
}
@media screen and (min-width: 768px) {
  main #hero.home .year {
    padding: 0 30px;
    background-color: var(--color-quaternary);
    font-size: 3rem;
    font-weight: 600;
  }
}
@media screen and (min-width: 992px) {
  main #hero.home .year {
    font-size: 4rem;
  }
  main #hero.home .year::after {
    content: "";
    display: inline-block;
    width: 3px;
    height: 100%;
    background-color: var(--color-primary);
    position: absolute;
    top: 0;
    right: -20px;
  }
}
main #hero .logos {
  position: relative;
}
main #hero .logos img {
  width: 32px;
  height: auto;
  transition: all 0.3s ease-in-out;
  animation-timing-function: ease;
}
@media screen and (min-width: 768px) {
  main #hero .logos img {
    width: 65px;
  }
}
main #hero .logos img.animate-active {
  transform: scale(1.2) !important;
}
@media screen and (min-width: 992px) {
  main #hero .logos img {
    width: 75px;
  }
}
main #hero .logos img:not(:last-child) {
  margin-right: 3px;
  margin-bottom: 3px;
}
@media screen and (min-width: 768px) {
  main #hero .logos img:not(:last-child) {
    margin-right: 5px;
  }
}
@media screen and (min-width: 992px) {
  main #hero .logos img:not(:last-child) {
    margin-right: 10px;
  }
}
@media screen and (min-width: 1200px) {
  main #hero .logos img:not(:last-child) {
    margin-right: 30px;
  }
}
@media screen and (min-width: 992px) {
  main #hero .logos::before {
    content: "";
    display: block;
    width: 2000px;
    height: 3px;
    background-color: var(--color-primary);
    position: absolute;
    top: 50%;
    right: 0;
    z-index: -1;
  }
}
main #hero.internal {
  background-size: cover;
  background-position: top center;
  padding-top: 40px;
  height: calc(100vh - 80px);
}
@media screen and (min-width: 992px) {
  main #hero.internal {
    padding-top: 0px;
  }
}
main #hero.internal h1 {
  font-weight: 300;
  font-size: 2.25rem;
  text-align: right;
  line-height: 0.95;
  margin-bottom: 35px;
  padding-left: 30px;
}
@media screen and (min-width: 768px) {
  main #hero.internal h1 {
    font-size: 2.5rem;
    text-align: center;
    text-align: left;
    line-height: 0.95;
    margin-bottom: 30px;
    padding-left: 0;
  }
}
main #hero.internal h1 strong {
  font-weight: 900;
}
@media screen and (min-width: 992px) and (min-height: 720px) {
  main #hero.internal h1 {
    font-size: 4rem;
    letter-spacing: -2px;
    padding-right: 40px;
  }
}
main #hero.internal .palabra {
  color: var(--color-secondary);
  position: absolute;
  font-weight: 500;
  font-size: 2.5rem;
  top: 0;
  right: 0;
  border-bottom: 1px solid var(--color-secondary);
  border-left: 1px solid var(--color-secondary);
  padding: 15px 30px;
}
@media screen and (min-width: 768px) {
  main #hero.internal .palabra {
    padding: 25px 40px;
    font-size: 5rem;
  }
}
main #hero.internal img.number {
  width: 100%;
  max-width: 150px;
  height: auto;
}
@media screen and (min-width: 768px) {
  main #hero.internal img.number {
    max-width: 250px;
    margin-top: 30px;
  }
}
@media screen and (min-width: 992px) and (min-height: 720px) {
  main #hero.internal img.number {
    max-width: 320px;
  }
}
main #hero.internal .graph1 {
  display: block;
  background-color: rgba(255, 255, 255, 0.8509803922);
  width: 80px;
  height: 80px;
  position: absolute;
  bottom: 180px;
  left: 30px;
  transform: translate(0, -50%);
  animation-name: Rotate;
  animation-duration: 10s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}
@media screen and (min-width: 768px) {
  main #hero.internal .graph1 {
    top: 22%;
    left: 60px;
  }
}
main #hero.internal .heading {
  position: absolute;
  bottom: 40px;
  right: 70px;
  transform: translate(0, 0);
  display: flex;
  align-items: center;
  max-width: 450px;
  height: 100px;
}
@media screen and (min-width: 768px) {
  main #hero.internal .heading {
    top: 50%;
    bottom: 70px;
    left: 100px;
    transform: translate(0, -50%);
  }
}
main #hero.internal .heading::after {
  content: "";
  display: block;
  width: 250px;
  height: 110px;
  background-color: var(--color-primary);
  position: absolute;
  transform: translate(0, -50%);
  z-index: -1;
  bottom: -42px;
  right: -30px;
}
@media screen and (min-width: 768px) {
  main #hero.internal .heading::after {
    width: 130px;
    height: 250px;
    top: 50%;
    left: 130px;
    right: auto;
    bottom: auto;
    transform: translate(-50%, -50%);
  }
}
main #hero.internal .heading::before {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background-color: var(--color-senary);
  position: absolute;
  bottom: -33px;
  left: 230px;
  animation-name: RightToLeft;
  animation-duration: 8s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  main #hero.internal .heading::before {
    bottom: -115px;
    left: 196px;
  }
}
main #hero.internal .hero-number {
  position: absolute;
  top: 45px;
  right: 50%;
  transform: translate(50%, 0);
}
@media screen and (min-width: 768px) {
  main #hero.internal .hero-number {
    top: 50%;
    right: 100px;
    transform: translate(0, -50%);
  }
}
main #hero.internal .hero-number > span {
  font-size: 12rem;
  -webkit-text-stroke: 2px var(--color-secondary);
  color: transparent;
  font-weight: 900;
}
@media screen and (min-width: 768px) {
  main #hero.internal .hero-number > span {
    font-size: 20rem;
  }
}
main #hero.internal .arrow-down {
  display: none;
  position: absolute;
  bottom: 50px;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (min-width: 768px) {
  main #hero.internal .arrow-down {
    display: flex;
  }
}
main #hero.internal.la-accion-responsable {
  background-image: url(images/bg-accion-responsable.webp);
}
main #hero.internal.innovacion-industrial {
  background-image: url(images/bg-cristalera.webp);
  background-position: top right;
  background-size: cover;
}
@media screen and (min-width: 768px) and (min-height: 720px) {
  main #hero.internal.innovacion-industrial h1 {
    font-size: 2.875rem;
  }
}
@media screen and (min-width: 992px) and (min-height: 720px) {
  main #hero.internal.innovacion-industrial h1 {
    font-size: 3rem;
  }
}
@media screen and (min-width: 1200px) {
  main #hero.internal.innovacion-industrial h1 {
    font-size: 3.5rem;
  }
}
main #hero.internal.sostenibilidad {
  background-image: url(images/bg-sostenibilidad.webp);
}
main #hero.internal.proyeccion-internacional {
  background-image: url(images/bg-liderazgo-2.webp);
}
main #hero.internal.proyeccion-internacional .box {
  font-size: 0.9rem;
}
@media screen and (min-width: 992px) and (min-height: 720px) {
  main #hero.internal.proyeccion-internacional .box {
    font-size: 1rem;
    line-height: 1.35;
  }
}
main #hero.internal.proyeccion-internacional .box .btn-border {
  height: 50px;
}
main #hero.internal.proyeccion-internacional h1 {
  font-size: 2rem;
}
@media screen and (min-width: 992px) and (min-height: 720px) {
  main #hero.internal.proyeccion-internacional h1 {
    font-size: 2.8rem;
  }
}
main #hero.internal.zf-de-cerca {
  background-image: url(images/bg-zfdecerca.webp);
}
main #hero,
main #bienvenidas {
  position: relative;
  overflow: hidden;
}
main #hero #video-background,
main #bienvenidas #video-background {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: -100;
  transform: translateX(-50%) translateY(-50%);
}
main nav#submenu {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.1254901961);
}
@media screen and (min-width: 768px) {
  main nav#submenu {
    position: sticky;
    top: 100px;
    z-index: 10;
  }
}
main nav#submenu ul {
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
main nav#submenu ul li {
  display: flex;
  align-items: center;
}
main nav#submenu ul li:not(:last-child) {
  border-right: 1px solid var(--color-secondary);
}
main nav#submenu ul li a {
  display: inline-block;
  color: var(--color-secondary);
  padding: 13px 5px;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1;
  text-align: center;
}
@media screen and (min-width: 576px) {
  main nav#submenu ul li a {
    font-size: 1.25rem;
    padding: 16px 14px;
  }
}
@media screen and (min-width: 992px) {
  main nav#submenu ul li a {
    padding: 20px 35px;
    font-size: 1.125rem;
  }
}
main nav#submenu ul li a:hover {
  color: var(--color-tertiary);
}

.submenu-stick {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.1254901961);
  position: fixed;
  top: 80px;
  z-index: 10;
  width: 100%;
}
.submenu-stick ul {
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
.submenu-stick ul li {
  display: flex;
  align-items: center;
}
.submenu-stick ul li:not(:last-child) {
  border-right: 1px solid var(--color-secondary);
}
.submenu-stick ul li a {
  display: inline-block;
  color: var(--color-secondary);
  padding: 13px 5px;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1;
  text-align: center;
}
@media screen and (min-width: 576px) {
  .submenu-stick ul li a {
    font-size: 1.25rem;
    padding: 16px 14px;
  }
}
@media screen and (min-width: 992px) {
  .submenu-stick ul li a {
    padding: 20px 35px;
    font-size: 1.125rem;
  }
}
.submenu-stick ul li a:hover {
  color: var(--color-tertiary);
}

footer#main-footer {
  background-color: var(--color-primary);
  color: var(--color-secondary);
}
footer#main-footer nav#social-media-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: flex;
  justify-content: center;
}
footer#main-footer nav#social-media-menu ul li {
  padding: 0 20px;
}
footer#main-footer nav#social-media-menu ul li a {
  display: inline-block;
  width: 30px;
  height: 30px;
}
footer#main-footer nav#social-media-menu ul li a img {
  width: auto;
  height: 20px;
}
footer#copyright {
  padding: 50px 0;
}

.carousel-border .owl-carousel {
  position: relative;
  margin-bottom: 50px;
}
.carousel-border .owl-carousel .item {
  padding: 0 15px;
}
@media screen and (min-width: 768px) {
  .carousel-border .owl-carousel .item {
    padding: 0;
  }
}
.carousel-border .box {
  display: flex;
  position: relative;
  width: 100%;
  border-left: 2px solid var(--color-primary);
  background-color: var(--color-secondary);
  overflow: hidden;
  z-index: 1;
  padding: 2px 0;
  font-size: 1.25rem;
  font-weight: 300;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .carousel-border .box {
    flex-direction: row;
  }
}
.carousel-border .box h3 {
  font-size: 1.5rem;
  color: var(--color-quaternary);
  font-weight: 900;
  text-align: left;
}
@media screen and (min-width: 992px) {
  .carousel-border .box h3 {
    font-size: 2.625rem;
  }
}
.carousel-border .box ul {
  font-size: 1.08rem;
}
@media screen and (min-width: 992px) {
  .carousel-border .box ul {
    -moz-columns: 2;
         columns: 2;
  }
}
.carousel-border .box ul li {
  text-align: left;
  width: 100%;
}
.carousel-border .box ul li::marker {
  color: var(--color-primary);
}
.carousel-border .box .bg {
  flex: 1 0 auto;
  width: calc(100% - 2px);
  height: 200px;
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 768px) {
  .carousel-border .box .bg {
    width: 35%;
    height: auto;
  }
}
.carousel-border .box .content {
  flex: 1 0 auto;
  width: 100%;
  height: auto;
  line-height: 1.35;
  padding: 20px;
}
@media screen and (min-width: 768px) {
  .carousel-border .box .content {
    width: 65%;
    padding: 30px;
  }
}
@media screen and (min-width: 992px) {
  .carousel-border .box .content {
    width: 65%;
    padding: 60px 80px 60px 60px;
  }
}
.carousel-border .box.active {
  display: block;
}
.carousel-border .owl-dots {
  position: absolute;
  width: 100%;
  bottom: -50px;
  left: 0;
}
.carousel-border .owl-nav {
  position: absolute;
  top: calc(50% - 23px);
  left: 0;
  width: 100%;
}
.carousel-border .owl-nav .owl-prev,
.carousel-border .owl-nav .owl-next {
  position: absolute;
}
.carousel-border .owl-nav .owl-prev {
  left: -25px;
}
.carousel-border .owl-nav .owl-next {
  right: -25px;
}
.carousel-border#medioambiental-nav .box {
  flex-direction: column;
  font-size: 1rem;
  font-weight: 400;
  background: rgb(255, 255, 255);
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 80%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1);
}
@media screen and (min-width: 768px) {
  .carousel-border#medioambiental-nav .box {
    flex-direction: row;
    font-size: 1.125rem;
  }
}
.carousel-border#medioambiental-nav .box strong {
  font-weight: 700;
}
.carousel-border#medioambiental-nav .box h3 {
  line-height: 1.1;
  font-size: 1.125rem;
  margin-bottom: 15px;
  font-weight: 900;
}
@media screen and (min-width: 768px) {
  .carousel-border#medioambiental-nav .box h3 {
    font-size: 1.325rem;
  }
}
.carousel-border#medioambiental-nav .box p:last-child {
  margin-bottom: 0;
}
.carousel-border#medioambiental-nav .box .bg {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .carousel-border#medioambiental-nav .box .bg {
    width: 40%;
  }
}
.carousel-border#medioambiental-nav .box .content {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .carousel-border#medioambiental-nav .box .content {
    width: 60%;
    min-height: 360px;
  }
}
@media screen and (min-width: 992px) {
  .carousel-border#medioambiental-nav .box .content {
    min-height: 330px;
  }
}

.carousel-content-nav button.box {
  display: flex;
  align-items: center;
  padding: 20px 30px;
  position: relative;
  width: 100%;
  border: none;
  overflow: hidden;
  z-index: 1;
  background-color: transparent;
  color: var(--color-primary);
  text-align: left;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 1.125rem;
  font-weight: 900;
}
.carousel-content-nav button.box:not(:last-child) {
  margin-right: 15px;
}
.carousel-content-nav button.box:hover {
  color: var(--color-tertiary);
}
.carousel-content-nav button.box.active {
  background-color: var(--color-primary);
  color: var(--color-secondary);
}
.carousel-content-nav .owl-carousel .item {
  display: flex;
}
.carousel-content-nav .owl-carousel .item div h3 {
  color: var(--color-primary);
  font-weight: 700;
  padding-bottom: 5px;
  font-size: 1.5rem;
}

.accordion-button:not(.collapsed) {
  background-color: transparent;
}

.accordion-button:focus {
  border: none;
  box-shadow: none;
}

.accordion {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .accordion {
    font-size: 1.125rem;
  }
}
.accordion .accordion-header button {
  color: var(--color-quinary);
  font-weight: 900;
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  .accordion .accordion-header button {
    font-size: 1.325rem;
  }
}
.accordion .accordion-header button[aria-expanded=true] {
  color: var(--color-primary);
}

nav#main-menu {
  display: block;
  width: 100%;
  height: 100%;
  position: fixed;
  top: -100%;
  left: 0;
  background-image: url(images/bg-main-menu.webp);
  background-size: cover;
  background-position: center;
  z-index: 700;
  padding-top: 100px;
  transition: all 0.5s ease;
}
nav#main-menu.show {
  top: 0%;
}
@media screen and (min-width: 768px) {
  nav#main-menu {
    padding-top: 120px;
  }
}
@media screen and (min-width: 992px) {
  nav#main-menu {
    padding-top: 0px;
  }
}
@media screen and (min-width: 992px) {
  nav#main-menu > .container > .row {
    height: 100%;
  }
}
nav#main-menu .menu-wrapper {
  display: flex;
  flex-direction: column;
}
nav#main-menu .menu-wrapper > .row {
  flex: 0 1 auto;
}
@media screen and (min-width: 992px) {
  nav#main-menu .menu-wrapper > .row {
    min-height: 160px;
  }
}
nav#main-menu a {
  color: var(--color-secondary);
  text-decoration: none;
  font-size: 1.235rem;
  font-weight: 900;
  line-height: 1.2;
}
@media screen and (min-width: 992px) {
  nav#main-menu a {
    font-size: 2rem;
  }
}
nav#main-menu a:hover {
  color: var(--color-primary);
}
nav#main-menu a img {
  width: 80px;
  height: auto;
}
@media screen and (min-width: 768px) {
  nav#main-menu a img {
    width: 120px;
  }
}
nav#new-menu {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  width: 280px;
  height: 100%;
  position: fixed;
  top: 0;
  left: -400px;
  z-index: 1000;
  transition: all 0.5s ease;
  box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.1450980392);
  transition: all 0.3s ease-in-out;
  text-align: left;
}
nav#new-menu.active {
  left: 0;
}
@media screen and (min-width: 768px) {
  nav#new-menu {
    left: -550px;
    width: 400px;
  }
}
nav#new-menu .wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 25px;
}
@media screen and (min-width: 768px) {
  nav#new-menu .wrap {
    padding: 50px;
  }
}
nav#new-menu .wrap .nav {
  flex: 1 0 auto;
  align-items: start;
}
nav#new-menu .wrap .nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  height: 100%;
  max-height: 380px;
}
@media screen and (min-width: 768px) {
  nav#new-menu .wrap .nav ul {
    max-height: 500px;
  }
}
nav#new-menu .wrap .nav ul li:not(:last-child) {
  margin-bottom: 20px;
}
nav#new-menu .wrap .nav ul li a {
  color: var(--color-secondary);
  font-size: 1rem;
  display: flex;
  flex-direction: column;
  align-items: start;
  text-decoration: none;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  nav#new-menu .wrap .nav ul li a {
    font-size: 1.125rem;
  }
}
nav#new-menu .wrap .nav ul li a span {
  text-transform: uppercase;
  line-height: 1.1;
}
nav#new-menu .wrap .nav ul li a span.number {
  color: var(--color-tertiary);
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  nav#new-menu .wrap .nav ul li a span.number {
    font-size: 1.25rem;
  }
}
nav#new-menu .wrap .nav ul li a span:not(.number) {
  font-weight: 500;
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  nav#new-menu .wrap .nav ul li a span:not(.number) {
    font-size: 1.5rem;
  }
}
nav#new-menu .wrap .nav ul li a:hover span.number {
  color: var(--color-secondary);
}
nav#page-nav .row.bg {
  padding-bottom: 30px;
}
@media screen and (min-width: 768px) {
  nav#page-nav .row.bg {
    padding: 0;
  }
}
nav#page-nav h3 {
  font-size: 2.3rem;
  font-weight: 900;
  color: var(--color-tertiary);
  text-align: center;
}
@media screen and (min-width: 768px) {
  nav#page-nav h3 {
    font-size: 2.75rem;
    text-align: right;
  }
}
@media screen and (min-width: 992px) {
  nav#page-nav h3 {
    font-size: 3.8rem;
    letter-spacing: -2px;
  }
}
nav#page-nav h3.title-line {
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  nav#page-nav h3.title-line {
    margin-bottom: 30px;
  }
}
nav#page-nav h4 {
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--color-primary);
  padding-left: 25px;
}
nav#page-nav h4 strong {
  font-weight: 900;
}
@media screen and (min-width: 992px) {
  nav#page-nav h4 {
    font-size: 2.5rem;
  }
}
nav#page-nav .number {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(-50%, -50%);
  z-index: 50;
  font-size: 10rem;
  -webkit-text-stroke: 2px var(--color-secondary);
  color: transparent;
  font-weight: 900;
}
@media screen and (min-width: 992px) {
  nav#page-nav .number {
    font-size: 12rem;
    -webkit-text-stroke: 4px var(--color-secondary);
  }
}
nav#page-nav .btn-page-nav {
  display: inline-block;
}
nav#page-nav .btn-page-nav img {
  width: 55px;
  height: auto;
}

/* Modals */
#modal-mapa.carta {
  padding: 0;
  background-color: var(--color-secondary);
}
#modal-mapa .header {
  height: 0;
  position: relative;
  max-width: none;
}
#modal-mapa .header button.close {
  position: absolute;
  top: -5px;
  right: 0;
  z-index: 999;
  color: var(--color-secondary);
  background-color: var(--color-primary);
}
#modal-mapa .wrap {
  height: 100%;
  max-width: none;
  max-height: 100%;
  overflow: visible;
  padding: 0;
  background-color: var(--color-secondary);
  -webkit-clip-path: none;
          clip-path: none;
  scrollbar-color: auto;
}
#modal-mapa .wrap .box #mapa {
  width: 100%;
  height: calc(100vh - 100px);
}
#modal-mapa .wrap .box #mapa #animation_container.mapa {
  position: absolute;
  bottom: 67px;
  left: 1193px;
  transform: translateX(-50%);
}
#modal-mapa .wrap .box #mapa .scroll {
  position: absolute;
  top: 133px;
  right: 3px;
  z-index: 10;
}
@media screen and (min-width: 992px) {
  #modal-mapa .wrap .box #mapa .scroll {
    display: none;
  }
}
#modal-mapa .wrap .box #mapa .scroll img {
  width: 30px;
  height: auto;
}
#modal-mapa .wrap .box #mapa #mapa-nav {
  overflow-x: scroll;
  position: relative;
}
@media screen and (min-width: 992px) {
  #modal-mapa .wrap .box #mapa #mapa-nav {
    overflow-x: visible;
  }
}
#modal-mapa .wrap .box #mapa #mapa-nav #movilidad-nav,
#modal-mapa .wrap .box #mapa #mapa-nav #espacio-nav,
#modal-mapa .wrap .box #mapa #mapa-nav #servicios-nav {
  display: none;
  min-width: 992px;
  padding: 20px 30px;
  color: var(--color-quinary);
  align-items: end;
}
#modal-mapa .wrap .box #mapa #mapa-nav #movilidad-nav.active,
#modal-mapa .wrap .box #mapa #mapa-nav #espacio-nav.active,
#modal-mapa .wrap .box #mapa #mapa-nav #servicios-nav.active {
  display: flex;
}
#modal-mapa .wrap .box #mapa #mapa-nav #movilidad-nav .referencia > div,
#modal-mapa .wrap .box #mapa #mapa-nav #servicios-nav .referencia > div {
  width: 16.6666%;
}
#modal-mapa .wrap .box #mapa #mapa-nav #movilidad-nav .referencia > div {
  justify-content: space-evenly !important;
  line-height: 1.1;
}
#modal-mapa .wrap .box #mapa #mapa-nav #movilidad-nav .referencia .marker::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 5px;
}
#modal-mapa .wrap .box #mapa #mapa-nav #movilidad-nav .referencia .marker.blue::before {
  background-color: #1d9dd8;
}
#modal-mapa .wrap .box #mapa #mapa-nav #movilidad-nav .referencia .marker.yellow::before {
  background-color: #f7a82a;
}
#modal-mapa .wrap .box #mapa #mapa-nav #espacio-nav .referencia > ul li {
  width: 10%;
  margin-bottom: 0;
}
#modal-mapa .wrap .box #mapa #mapa-nav #servicios-nav .referencia > ul li {
  width: 8.333%;
  margin-bottom: 0;
}
#modal-mapa .wrap .box #mapa #mapa-nav #movilidad-nav,
#modal-mapa .wrap .box #mapa #mapa-nav #espacio-nav,
#modal-mapa .wrap .box #mapa #mapa-nav #servicios-nav {
  justify-content: space-between;
  font-size: 0.875rem;
}
#modal-mapa .wrap .box #mapa #mapa-nav #movilidad-nav .paradas,
#modal-mapa .wrap .box #mapa #mapa-nav #espacio-nav .paradas,
#modal-mapa .wrap .box #mapa #mapa-nav #servicios-nav .paradas {
  display: flex;
}
#modal-mapa .wrap .box #mapa #mapa-nav #movilidad-nav .paradas figure,
#modal-mapa .wrap .box #mapa #mapa-nav #espacio-nav .paradas figure,
#modal-mapa .wrap .box #mapa #mapa-nav #servicios-nav .paradas figure {
  width: 50px;
  height: 50px;
}
#modal-mapa .wrap .box #mapa #mapa-nav #movilidad-nav .paradas figure img,
#modal-mapa .wrap .box #mapa #mapa-nav #espacio-nav .paradas figure img,
#modal-mapa .wrap .box #mapa #mapa-nav #servicios-nav .paradas figure img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
#modal-mapa .wrap .box #mapa #mapa-nav #movilidad-nav .referencia,
#modal-mapa .wrap .box #mapa #mapa-nav #espacio-nav .referencia,
#modal-mapa .wrap .box #mapa #mapa-nav #servicios-nav .referencia {
  display: flex;
  justify-content: space-between;
  flex: 1 1 auto;
}
#modal-mapa .wrap .box #mapa #mapa-nav #movilidad-nav .referencia > ul,
#modal-mapa .wrap .box #mapa #mapa-nav #espacio-nav .referencia > ul,
#modal-mapa .wrap .box #mapa #mapa-nav #servicios-nav .referencia > ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
  flex: 1 1 auto;
}
#modal-mapa .wrap .box #mapa #mapa-nav #movilidad-nav .referencia > div,
#modal-mapa .wrap .box #mapa #mapa-nav #movilidad-nav .referencia > ul li,
#modal-mapa .wrap .box #mapa #mapa-nav #espacio-nav .referencia > div,
#modal-mapa .wrap .box #mapa #mapa-nav #espacio-nav .referencia > ul li,
#modal-mapa .wrap .box #mapa #mapa-nav #servicios-nav .referencia > div,
#modal-mapa .wrap .box #mapa #mapa-nav #servicios-nav .referencia > ul li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: start;
  flex: 1 1 auto;
  text-align: center;
  margin: 0 7px;
}
#modal-mapa .wrap .box #mapa #mapa-nav #movilidad-nav .referencia > div figure,
#modal-mapa .wrap .box #mapa #mapa-nav #movilidad-nav .referencia > ul li figure,
#modal-mapa .wrap .box #mapa #mapa-nav #espacio-nav .referencia > div figure,
#modal-mapa .wrap .box #mapa #mapa-nav #espacio-nav .referencia > ul li figure,
#modal-mapa .wrap .box #mapa #mapa-nav #servicios-nav .referencia > div figure,
#modal-mapa .wrap .box #mapa #mapa-nav #servicios-nav .referencia > ul li figure {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: end;
  margin-bottom: 3px;
}
#modal-mapa .wrap .box #mapa #mapa-nav #movilidad-nav .referencia > div figure img,
#modal-mapa .wrap .box #mapa #mapa-nav #movilidad-nav .referencia > ul li figure img,
#modal-mapa .wrap .box #mapa #mapa-nav #espacio-nav .referencia > div figure img,
#modal-mapa .wrap .box #mapa #mapa-nav #espacio-nav .referencia > ul li figure img,
#modal-mapa .wrap .box #mapa #mapa-nav #servicios-nav .referencia > div figure img,
#modal-mapa .wrap .box #mapa #mapa-nav #servicios-nav .referencia > ul li figure img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
#modal-mapa .wrap .box #mapa #wrapper {
  width: 100%;
  height: calc(100vh - 100px);
  overflow: auto;
}
#modal-mapa .wrap .box #mapa #wrapper #dragable {
  width: 2000px;
  height: 1052px;
  text-align: center;
  border: 1px solid #d3d3d3;
  cursor: move;
  position: absolute;
  z-index: 9;
}
#modal-mapa .wrap .box #mapa #wrapper #dragable .layer {
  position: absolute;
  top: 0;
  left: 0;
}
#modal-mapa .wrap .box #mapa #wrapper #dragable .layer img {
  width: 2000px;
  height: 1052px;
}
#modal-mapa .wrap .box #mapa #wrapper #dragable a.icon-clickable {
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  z-index: 200;
}
#modal-mapa .wrap .box #mapa #wrapper #dragable a.icon-clickable.espacios {
  display: block;
  filter: grayscale(1);
}
#modal-mapa .wrap .box #mapa #wrapper #dragable a.icon-clickable.espacios img {
  visibility: visible;
}
#modal-mapa .wrap .box #mapa #wrapper #dragable a.icon-clickable.espacios.active {
  filter: none;
}
#modal-mapa .wrap .box #mapa #wrapper #dragable a.icon-clickable.espacios.active img {
  animation: smallBigAnimation 1s ease infinite;
}
#modal-mapa .wrap .box #mapa #wrapper #dragable a.icon-clickable.servicios.active img {
  animation: smallBigAnimation 1s ease infinite;
}

.mapa-layer {
  display: none;
}

#movilidad.active,
#icons-movilidad.active,
#popup-movilidad.active,
#espacios.active,
#icons-espacios.active,
#popup-espacios.active,
#servicios.active,
#icons-servicios.active,
#popup-servicios.active {
  display: block;
}

#mapa .popup-icon.active {
  display: block;
}

.icon-clickable.espacios {
  width: 50px !important;
  height: 50px !important;
}

.icon-clickable.espacios img,
.icon-clickable.servicios img {
  visibility: hidden;
}

.icon-clickable.espacios.active img,
.icon-clickable.servicios.active img {
  visibility: visible;
}

#mapa-nav-menu {
  color: var(--color-tertiary);
  background-color: var(--color-secondary);
}
#mapa-nav-menu nav#map-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  width: 100%;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  #mapa-nav-menu nav#map-navigation ul {
    flex-direction: row;
  }
}
#mapa-nav-menu nav#map-navigation ul li {
  flex: 1 1 auto;
  margin: 0 15px;
  margin-top: -2px;
}
@media screen and (min-width: 768px) {
  #mapa-nav-menu nav#map-navigation ul li {
    margin-top: 0;
  }
}
#mapa-nav-menu nav#map-navigation ul li a {
  display: inline-block;
  border: 2px solid var(--color-primary);
  color: var(--color-primary);
  text-decoration: none;
  text-align: center;
  font-weight: 700;
  font-size: 1.25rem;
  width: 100%;
  padding: 10px;
  transition: all 0.3s ease-in-out;
}
#mapa-nav-menu nav#map-navigation ul li:hover a {
  background-color: var(--color-primary);
  color: var(--color-secondary);
}

#modal-fellthepower ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#modal-fellthepower ul.list-fellthepower li {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  font-weight: 300;
  font-size: 0.875rem;
  line-height: 1;
  margin-bottom: 10px;
}
#modal-fellthepower ul.list-fellthepower li img {
  width: 80px;
  height: 80px;
  filter: brightness(100);
  -webkit-filter: brightness(100);
  -moz-filter: brightness(100);
}

#modal-naturalizacion img {
  width: 100%;
  height: auto;
  max-width: 200px;
  filter: brightness(100);
  -webkit-filter: brightness(100);
  -moz-filter: brightness(100);
}

#modal-alianzas h4 {
  font-weight: 900;
  font-size: 1.125rem;
}

/* Map */
#btns-wrapper {
  right: 0;
}

#btn-zoom-in,
#btn-zoom-out {
  border: none;
  background-color: var(--color-primary);
  color: var(--color-secondary);
  width: 45px;
  height: 45px;
  font-size: 2rem;
  line-height: 0;
  font-weight: 300;
  position: absolute;
  right: 0;
}
#btn-zoom-in[disabled],
#btn-zoom-out[disabled] {
  opacity: 0.25;
}

#btn-zoom-in {
  top: 0;
  border-bottom: 1px solid var(--color-secondary);
}

#btn-zoom-out {
  top: 45px;
}

section#bienvenidas {
  padding: 30px 15px;
  background-image: url(images/bg-circles.webp);
  background-position: center;
  background-size: cover;
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  section#bienvenidas {
    padding: 150px 0;
    font-size: 1.5rem;
    height: calc(100vh - 160px);
  }
}
section#bienvenidas.red {
  background-image: url(images/bg-circles-2.webp);
  color: var(--color-secondary);
}
section#bienvenidas #video-background {
  opacity: 0.4;
}
section#bienvenidas .box {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  padding: 30px 30px;
  font-size: 1rem;
  font-weight: 300;
  position: relative;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
}
@media screen and (min-width: 768px) {
  section#bienvenidas .box {
    padding: 80px 60px;
    font-size: 1.25rem;
  }
}
section#bienvenidas .box p {
  text-align: justify;
}
section#bienvenidas .box strong {
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  section#bienvenidas .box strong {
    font-size: 1.5rem;
  }
}
section#hitos, section#mvv {
  display: flex;
  align-items: stretch;
  background-size: cover;
  background-position: center;
  background-image: url(images/bg-dentlion.webp);
}
@media screen and (min-width: 768px) {
  section#hitos, section#mvv {
    min-height: 100vh;
  }
}
section#hitos h3.subtitle, section#mvv h3.subtitle {
  font-weight: 900;
  color: var(--color-secondary);
}
section#hitos h2, section#mvv h2 {
  font-weight: 400;
}
section#hitos h2 strong, section#mvv h2 strong {
  font-weight: 900;
}
section#hitos #carousel-hitos, section#mvv #carousel-hitos {
  position: relative;
}
section#hitos #carousel-hitos .owl-stage-outer .owl-stage, section#mvv #carousel-hitos .owl-stage-outer .owl-stage {
  height: 100%;
  display: flex;
  align-items: center;
}
section#hitos #carousel-hitos .owl-stage-outer .owl-stage .owl-item, section#mvv #carousel-hitos .owl-stage-outer .owl-stage .owl-item {
  height: 100%;
}
section#hitos #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content, section#mvv #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--color-secondary);
}
section#hitos #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .box, section#mvv #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .box {
  display: block;
  width: 100%;
  max-width: 900px;
  text-align: center;
  font-size: 1.125rem;
  padding: 25px;
  background-image: linear-gradient(to left, rgb(237, 34, 41), rgba(237, 34, 41, 0));
  align-items: center;
}
@media screen and (min-width: 768px) {
  section#hitos #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .box, section#mvv #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .box {
    display: flex;
    padding: 40px;
  }
}
@media screen and (min-width: 768px) {
  section#hitos #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .box .heading, section#mvv #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .box .heading {
    width: 35%;
  }
}
@media screen and (min-width: 768px) {
  section#hitos #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .box .content, section#mvv #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .box .content {
    width: 65%;
    padding-left: 30px;
  }
}
@media screen and (min-width: 768px) {
  section#hitos #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .box .content p, section#mvv #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .box .content p {
    text-align: justify;
  }
}
section#hitos #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .box .content .lh-sm p, section#mvv #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .box .content .lh-sm p {
  line-height: 1.25 !important;
}
section#hitos #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .box h2, section#mvv #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .box h2 {
  font-weight: 900;
  font-size: 2.3rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  section#hitos #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .box h2, section#mvv #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .box h2 {
    font-size: 3rem;
  }
}
section#hitos #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content h3, section#mvv #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content h3 {
  font-weight: 400;
  font-size: 1.35rem;
  text-align: center;
  display: inline-block;
  position: relative;
}
@media screen and (min-width: 768px) {
  section#hitos #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content h3, section#mvv #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content h3 {
    margin-bottom: 20px;
    font-size: 1.5rem;
    letter-spacing: 1px;
  }
}
section#hitos #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content p, section#mvv #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content p {
  text-align: center;
  line-height: 1.3;
  font-size: 0.95rem;
}
@media screen and (min-width: 768px) {
  section#hitos #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content p, section#mvv #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content p {
    font-size: 1rem;
    line-height: 1.5;
  }
}
section#hitos #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .lh-sm p, section#mvv #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .lh-sm p {
  line-height: 1.125 !important;
}
@media screen and (min-width: 768px) {
  section#hitos #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .lh-sm p, section#mvv #carousel-hitos .owl-stage-outer .owl-stage .owl-item .item-content .lh-sm p {
    line-height: 1.25 !important;
  }
}
section#hitos #carousel-hitos .owl-nav, section#mvv #carousel-hitos .owl-nav {
  position: absolute;
  width: 100%;
  bottom: -45px;
  justify-content: center;
  display: flex;
  margin: 0;
}
@media screen and (min-width: 768px) {
  section#hitos #carousel-hitos .owl-nav, section#mvv #carousel-hitos .owl-nav {
    top: 50%;
    bottom: auto;
    padding: 0 50px;
    justify-content: space-between;
  }
}
section#hitos #carousel-hitos .owl-dots, section#mvv #carousel-hitos .owl-dots {
  width: 100%;
  height: 40px;
  position: absolute;
  bottom: -90px;
  left: 0px;
}
@media screen and (min-width: 768px) {
  section#hitos #carousel-hitos .owl-dots, section#mvv #carousel-hitos .owl-dots {
    bottom: -70px;
  }
}
section#hitos #carousel-hitos .owl-dots .owl-dot.active span, section#mvv #carousel-hitos .owl-dots .owl-dot.active span {
  background-color: var(--color-primary);
}
section#mvv {
  background-image: url(images/bg-mvv.webp);
  background-position: bottom center;
}
section#mvv .box {
  background-color: transparent;
  background-image: none !important;
  color: var(--color-tertiary);
}
section#mvv .box .content {
  position: relative;
  padding-left: 50px;
}
section#mvv .box .content ul {
  text-align: left !important;
  margin-bottom: 0;
}
section#mvv .box .content::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1px;
  height: 150px;
  background-color: var(--color-primary);
  z-index: -1;
}
section#propositos .title-section {
  display: inline-block;
  position: relative;
}
section#propositos figure {
  position: relative;
  margin-bottom: 0;
}
section#propositos figure + div {
  margin-top: 15px;
}
section#propositos figure .quotes {
  display: block;
  position: absolute;
  top: -40px;
  left: 40px;
  width: 80px;
  height: 80px;
  z-index: 1;
}
section#propositos figure.carta-box {
  position: relative;
}
section#propositos figure.carta-box .link {
  display: flex;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  padding: 25px;
  z-index: 2;
  background-color: rgba(205, 18, 25, 0.8784313725);
  color: var(--color-secondary);
  margin: 10px;
  transition: all 0.3s ease-in-out;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
section#propositos figure.carta-box:hover .link {
  opacity: 1;
}
section#propositos p {
  font-size: 1.125rem;
}
section#propositos footer {
  font-style: italic;
  position: relative;
  padding-top: 10px;
}
section#propositos footer::before, section#propositos footer::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 800px;
  height: 60px;
}
section#propositos footer.left::before {
  right: 0;
  border-top: 1px solid var(--color-primary);
  border-right: 1px solid var(--color-primary);
}
section#propositos footer.right::before {
  left: 0;
  border-top: 1px solid var(--color-primary);
  border-left: 1px solid var(--color-primary);
}
section#propositos footer strong {
  font-style: normal;
  color: var(--color-primary);
  font-weight: 600;
}
section#actividades, section#mision {
  background-image: url(images/bg-trayectoria.webp);
  background-size: cover;
  background-position: top center;
}
@media screen and (min-width: 768px) {
  section#actividades, section#mision {
    height: 100vh;
  }
}
section#actividades .inner-content.palabras .item, section#mision .inner-content.palabras .item {
  position: absolute;
  bottom: 0;
  left: 0;
  display: none;
  line-height: 1;
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--color-secondary);
}
@media screen and (min-width: 768px) {
  section#actividades .inner-content.palabras .item, section#mision .inner-content.palabras .item {
    font-size: 10rem;
  }
}
section#actividades .inner-content.palabras .item.active, section#mision .inner-content.palabras .item.active {
  display: block;
}
section#actividades .box, section#mision .box {
  background-color: var(--color-secondary);
  padding: 20px;
}
@media screen and (min-width: 768px) {
  section#actividades .box, section#mision .box {
    padding: 40px;
  }
}
section#actividades article.item, section#mision article.item {
  display: none;
}
section#actividades article.item.active, section#mision article.item.active {
  display: block;
}
@media screen and (min-width: 768px) {
  section#actividades article.item.active, section#mision article.item.active {
    display: flex;
  }
}
section#actividades nav.navigation ul, section#mision nav.navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  section#actividades nav.navigation ul, section#mision nav.navigation ul {
    flex-wrap: nowrap;
  }
}
section#actividades nav.navigation ul li, section#mision nav.navigation ul li {
  width: 80px;
}
@media screen and (min-width: 768px) {
  section#actividades nav.navigation ul li, section#mision nav.navigation ul li {
    width: 140px;
  }
}
section#actividades nav.navigation ul li span, section#mision nav.navigation ul li span {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: -0.25px;
  line-height: 1.2;
  margin-top: 5px;
  display: none;
}
@media screen and (min-width: 768px) {
  section#actividades nav.navigation ul li span, section#mision nav.navigation ul li span {
    display: inline-block;
  }
}
section#actividades nav.navigation ul li a, section#mision nav.navigation ul li a {
  display: inline-block;
  width: 80px;
}
@media screen and (min-width: 768px) {
  section#actividades nav.navigation ul li a, section#mision nav.navigation ul li a {
    width: 140px;
  }
}
section#actividades nav.navigation ul li a img.ico, section#mision nav.navigation ul li a img.ico {
  filter: hue-rotate(371deg) brightness(2);
}
section#actividades nav.navigation ul li.animation a img.ico, section#actividades nav.navigation ul li.active a img.ico, section#mision nav.navigation ul li.animation a img.ico, section#mision nav.navigation ul li.active a img.ico {
  filter: none;
  z-index: 45;
}
section#actividades nav.navigation ul li.animation a img.bg.red, section#actividades nav.navigation ul li.active a img.bg.red, section#mision nav.navigation ul li.animation a img.bg.red, section#mision nav.navigation ul li.active a img.bg.red {
  display: inline-block;
  animation: rotate 5s infinite;
  animation-timing-function: linear;
}
section#actividades nav.navigation ul li.animation a img.bg:last-child, section#actividades nav.navigation ul li.active a img.bg:last-child, section#mision nav.navigation ul li.animation a img.bg:last-child, section#mision nav.navigation ul li.active a img.bg:last-child {
  display: none;
}
section#actividades .item, section#mision .item {
  align-items: center;
}
@media screen and (min-width: 768px) {
  section#actividades .item .heading, section#mision .item .heading {
    width: 50%;
    padding-left: 70px;
    padding-right: 30px;
  }
}
section#actividades .item .heading h3, section#mision .item .heading h3 {
  font-size: 1.5rem;
}
@media screen and (min-width: 768px) {
  section#actividades .item .heading h3, section#mision .item .heading h3 {
    font-size: 2.5rem;
    letter-spacing: -0.5px;
  }
}
section#actividades .item .content, section#mision .item .content {
  padding-left: 0 30px;
}
@media screen and (min-width: 768px) {
  section#actividades .item .content, section#mision .item .content {
    width: 50%;
    padding-left: 30px;
    padding-right: 70px;
  }
}
section#actividades .item .content p, section#mision .item .content p {
  margin-bottom: 0;
}
section#actividades {
  height: 130vh;
}
@media screen and (min-width: 768px) {
  section#actividades {
    height: 100vh;
  }
}
@media screen and (max-width: 767.98px) {
  section#actividades nav.navigation ul li {
    width: 33%;
    text-align: center;
  }
  section#actividades nav.navigation ul li a {
    position: relative;
  }
}
section#mision {
  background-image: url(images/bg-mision.webp);
  padding-top: 40px;
  padding-bottom: 160px;
}
@media screen and (min-width: 768px) {
  section#mision {
    padding-bottom: 170px;
  }
}
@media screen and (min-width: 992px) {
  section#mision {
    padding-top: 80px;
    padding-bottom: 230px;
  }
}
section#mision nav.navigation ul li span {
  font-size: 0.75rem;
  font-weight: 400;
  display: block;
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  section#mision nav.navigation ul li span {
    font-size: 1rem;
    margin-top: 5px;
    font-weight: 600;
  }
}
section#mision article.item ul {
  padding-left: 1rem;
}
section#agenda-2030 .title-section {
  display: inline-block;
  position: relative;
}
section#agenda-2030 img.img-wheel {
  animation: rotate 15s infinite linear;
}
section#agenda-2030 .box {
  padding: 50px 50px 40px 50px;
  display: block;
  height: auto;
  width: 100%;
  background-color: var(--color-primary);
  color: var(--color-secondary);
}
section#agenda-2030 .box p {
  font-size: 1.125rem;
  line-height: 1.3;
  font-weight: 500;
}
@media screen and (min-width: 992px) {
  section#agenda-2030 .box p {
    font-size: 1.375rem;
    line-height: 1.5;
  }
}
section#agenda-2030 .box.margin-negative {
  margin-top: -15px;
  margin-left: 0px;
}
@media screen and (min-width: 992px) {
  section#agenda-2030 .box.margin-negative {
    margin-top: 0px;
    margin-left: -50px;
    position: relative;
    z-index: 10;
    margin-top: 40px;
  }
}
section#agenda-2030 .box.active {
  display: block;
}
section#premio-internacional {
  color: var(--color-secondary);
  font-size: 1.125rem;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  section#premio-internacional {
    font-size: 1.25rem;
  }
}
section#premio-internacional h3 {
  font-weight: 900;
}
section#aniversario-ods {
  background-color: var(--color-tertiary);
  color: var(--color-secondary);
}
@media screen and (min-width: 768px) {
  section#aniversario-ods {
    font-size: 1.125rem;
  }
}
section#ods {
  background-image: url(images/bg-ods-2.webp);
  background-size: cover;
  background-position: center;
}
section#ods .title-section {
  display: inline-block;
  position: relative;
}
section#ods h4 {
  color: var(--color-primary);
}
section#ods .box {
  background-color: var(--color-secondary);
  color: var(--color-quinary);
  display: flex;
  flex-direction: column;
  position: relative;
  height: auto;
  width: 100%;
  overflow: hidden;
  z-index: 1;
  padding: 2px 0;
  min-height: 400px;
  padding: 40px;
}
@media screen and (min-width: 992px) {
  section#ods .box {
    flex-direction: row;
  }
}
section#ods .box h3 {
  color: var(--color-tertiary);
  text-transform: uppercase;
}
section#ods .box h4 {
  color: var(--color-primary);
  font-weight: 700;
}
section#ods .box .bg {
  flex: 1 0 auto;
  width: 100%;
  background-size: cover;
  background-position: center;
  height: 200px;
  width: calc(100% - 2px);
}
@media screen and (min-width: 992px) {
  section#ods .box .bg {
    width: 35%;
    height: auto;
  }
}
section#ods .box .image {
  flex: 1 0 auto;
  width: 100%;
}
@media screen and (min-width: 992px) {
  section#ods .box .image {
    width: 40%;
  }
}
section#ods .box .content {
  flex: 1 0 auto;
  width: 100%;
  line-height: 1.35;
}
@media screen and (min-width: 992px) {
  section#ods .box .content {
    width: 60%;
  }
}
section#ods .box .content p {
  font-weight: 300;
}
section#ods .box.active {
  display: block;
}
section#ods .owl-dots,
section#ods .owl-nav {
  margin-top: 15px;
}
section#acuerdo-nissan {
  background-color: var(--color-primary);
  color: var(--color-secondary);
}
section#acuerdo-nissan p {
  font-size: 1.125rem;
}
section#modelo-negocio {
  background-image: url(images/bg-modelo-negocio.webp);
  background-size: cover;
  background-position: center left;
}
@media screen and (min-width: 768px) {
  section#modelo-negocio {
    background-position: center;
    height: calc(100vh - 100px);
  }
}
@media screen and (max-height: 850px) {
  section#modelo-negocio {
    background-position: center 32%;
  }
}
@media screen and (min-width: 768px) {
  section#modelo-negocio h2 {
    font-size: 2.8rem;
  }
}
section#modelo-negocio .box {
  margin-top: 90px;
}
@media screen and (min-width: 768px) {
  section#modelo-negocio .box {
    margin-top: 0px;
  }
}
section#modelo-negocio .box h3 {
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  section#modelo-negocio .box h3 {
    font-size: 1.3rem;
    text-align: justify;
  }
}
section#title-dfactory p {
  color: var(--color-primary);
  font-size: 1.25rem;
  line-height: 1.15;
}
section#dfactory-cover {
  background-image: url(images/bg-dfactory-7.webp);
  background-size: 1920px auto;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-color: var(--color-quaternary);
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  section#dfactory-cover {
    height: 100vh;
  }
}
section#dfactory-cover .graph {
  display: none;
}
@media screen and (min-width: 768px) {
  section#dfactory-cover .graph {
    display: block;
    position: absolute;
    bottom: -159px;
    left: calc(50% - 477px);
    transform: translateX(-50%);
    width: 800px;
    height: auto;
    z-index: -1;
    animation: fadeInFadeOut 2s ease-in-out infinite;
  }
  section#dfactory-cover .graph img {
    width: 100%;
    height: auto;
  }
}
section#dfactory-cover .box {
  color: var(--color-secondary);
  border: 2px solid var(--color-secondary);
  padding: 25px;
  font-size: 1.125rem;
  background-color: rgba(0, 0, 0, 0.1882352941);
}
@media screen and (min-width: 768px) {
  section#dfactory-cover .box {
    padding: 40px;
    font-size: 1.25rem;
  }
}
section#dfactory-cover .logo-dfactory {
  max-width: 320px;
  width: 100%;
  height: auto;
}
section#dfactory-highlights {
  position: relative;
  background-color: var(--color-quinary);
  background-size: cover;
  background-position: center;
}
section#dfactory-highlights ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
section#dfactory-highlights ul li {
  margin-bottom: 1.5rem;
}
section#dfactory-highlights ul li .box {
  background-color: var(--color-secondary);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), calc(100% - 40px) 100%, 0 100%);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), calc(100% - 40px) 100%, 0 100%);
  padding: 30px 40px 30px 30px;
  font-size: 1.125rem;
  height: 100%;
}
section#dfactory-highlights ul li .box strong {
  font-weight: 700;
}
section#dfactory-highlights ul li .box.active-always {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: var(--color-primary);
  color: var(--color-secondary);
  font-size: 1.25rem;
  line-height: 1.2;
  text-align: center;
}
@media screen and (min-width: 768px) {
  section#dfactory-highlights ul li .box.active-always {
    flex-direction: row;
    text-align: left;
  }
}
section#dfactory-highlights ul li .box.active-always span {
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  section#dfactory-highlights ul li .box.active-always span {
    margin-bottom: 0;
  }
}
section#dfactory-highlights ul li .box.active-always .btn {
  height: 50px;
}
section#dfactory-highlights ul li.active .box {
  background-color: var(--color-primary);
  color: var(--color-secondary);
}
section#dfactory-highlights .square {
  position: absolute;
  width: 26px;
  height: 26px;
  background-color: var(--color-primary);
  display: block;
  top: -13px;
  left: calc(50% - 13px);
}
section#excelencia {
  position: relative;
  background-image: url(images/bg-reconocimientos.webp);
  background-size: cover;
  background-position: center;
}
section#excelencia .rectangle {
  position: absolute;
  width: 50%;
  height: 16px;
  background-color: var(--color-primary);
  display: block;
  top: 0px;
  left: 0%;
}
section#excelencia .box {
  background-color: var(--color-secondary);
  padding: 30px;
}
@media screen and (min-width: 768px) {
  section#excelencia .box {
    font-size: 1.125rem;
  }
}
section#excelencia .box h3 {
  font-size: 1.5rem;
  font-weight: 900;
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  section#excelencia .box h3 {
    font-size: 2.25rem;
  }
  section#excelencia .box h3.line-right {
    background-image: url(images/line-01.svg);
    background-repeat: no-repeat;
    background-size: 400px;
    background-position: bottom right;
    padding: 0 50px 40px 0;
  }
  section#excelencia .box h3.line-left {
    background-image: url(images/line-02.svg);
    background-repeat: no-repeat;
    background-size: 400px;
    background-position: bottom left;
    padding: 0 0 40px 50px;
  }
}
section#excelencia .box.primary {
  background-color: var(--color-primary);
  color: var(--color-secondary);
}
section#excelencia .box.tertiary {
  background-color: var(--color-tertiary);
  color: var(--color-senary);
}
section#excelencia .iconos .col {
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
  padding: 0 15px;
}
@media screen and (min-width: 768px) {
  section#excelencia .iconos .col {
    font-size: 1.125rem;
    padding: 0 25px;
  }
}
section#excelencia .iconos .col img {
  max-height: 83px;
  height: auto;
  width: auto;
  margin-bottom: 10px;
}
section#ecosistema {
  background-color: var(--color-tertiary);
  color: var(--color-senary);
}
@media screen and (min-width: 768px) {
  section#ecosistema {
    font-size: 1.25rem;
  }
}
section#ecosistema h3 {
  font-weight: 700;
}
section#ecosistema ul {
  list-style-type: disc;
  margin: 0;
}
@media screen and (min-width: 768px) {
  section#ecosistema ul {
    -moz-columns: 2;
         columns: 2;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
section#ecosistema ul li {
  font-weight: 700;
  text-align: left;
}
section#ecosistema ul li.active {
  color: var(--color-primary);
}
section#referente {
  background-image: url(images/bg-dfactory-4b.webp);
  background-size: cover;
  background-position: center;
}
section#referente h3 {
  margin-bottom: 36px;
}
section#referente .box {
  position: relative;
}
@media screen and (min-width: 768px) {
  section#referente .box ul.list-ods {
    font-size: 1.5rem;
  }
}
section#referente .box .graph {
  position: absolute;
  bottom: 20px;
  right: 20px;
  width: 40%;
  max-width: 200px;
  z-index: -1;
}
section#referente .box .graph img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
section#referente .box.certificaciones .iconos img {
  margin-bottom: 10px;
}
section#referente .box.certificaciones .iconos p {
  font-size: 0.875rem;
}
section#referente .owl-referente .item .item-content {
  color: var(--color-secondary);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: start;
  text-align: center;
  padding: 0 15px;
}
section#referente .owl-referente .item .item-content figure {
  height: auto;
  max-height: 75px;
  margin: 0;
  display: flex;
  align-items: center;
}
section#referente .owl-referente .item .item-content figure img.ico {
  height: 75px;
  width: auto !important;
  max-width: 75px;
}
section#referente .owl-referente .item .item-content p {
  margin: 15px 0 0;
  line-height: 1.25;
  color: var(--color-tertiary);
  font-size: 0.85rem;
}
section#referente .owl-referente .owl-nav {
  display: none;
}
section#referente .owl-referente.owl-theme .owl-dots {
  margin-top: 24px;
}
section#referente .owl-referente.owl-theme .owl-dots .owl-dot span {
  background-color: var(--color-primary);
}
section#referente .owl-referente.owl-theme .owl-dots .owl-dot.active span {
  background-color: var(--color-quaternary);
}
section#referente .bg-primary h3 {
  color: var(--color-secondary);
}
section#referente .bg-primary .owl-referente .item-content p {
  color: var(--color-tertiary);
}
section#referente .bg-primary .owl-referente .owl-dots .owl-dot span {
  background-color: var(--color-secondary);
}
section#empresas-dfactory {
  background-image: url(images/bg-stripe.webp);
  background-size: cover;
  background-position: center;
}
section#empresas-dfactory h3 {
  color: var(--color-secondary);
  font-size: 1.5rem;
  font-weight: 900;
  text-align: center;
}
@media screen and (min-width: 768px) {
  section#empresas-dfactory h3 {
    font-size: 2.25rem;
    text-align: left;
  }
}
section#empresas-dfactory ul {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
  padding: 0 20px;
}
@media screen and (min-width: 768px) {
  section#empresas-dfactory ul {
    text-align: left;
    padding: 0;
  }
}
section#empresas-dfactory ul li {
  color: var(--color-primary);
  font-size: 1.25rem;
  display: inline-block;
  font-weight: 900;
  line-height: 1.2;
  padding-right: 10px;
}
@media screen and (min-width: 768px) {
  section#empresas-dfactory ul li {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 992px) {
  section#empresas-dfactory ul li {
    font-size: 1.9rem;
    letter-spacing: -1px;
    padding-right: 35px;
  }
}
section#empresas-dfactory ul li.active {
  color: var(--color-secondary);
}
section#interes-internacional {
  background-color: var(--color-primary);
  background-image: url(images/bg-bricks.webp);
  background-size: cover;
  background-position: center;
  color: var(--color-secondary);
}
section#interes-internacional h4 {
  font-size: 1.375rem;
  font-weight: 900;
  margin-bottom: 0;
}
section#interes-internacional ul {
  list-style: disc;
}
section#interes-internacional ul.list-visits {
  list-style: none;
  margin: 0;
  padding: 0;
}
section#interes-internacional ul.list-visits li:not(:last-child) {
  margin-bottom: 15px;
  border-bottom: 1px solid var(--color-secondary);
  padding-bottom: 7px;
}
section#interes-internacional ul.list-visits li.active {
  color: var(--color-tertiary);
}
section#interes-internacional .box {
  position: relative;
}
section#interes-internacional .box.black {
  padding-bottom: 80px;
}
section#interes-internacional .box.black .graph {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
}
section#interes-internacional .box.black .graph img {
  width: 100px;
  height: auto;
}
section#visitas h3 {
  color: var(--color-tertiary);
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.1;
  text-align: left;
}
@media screen and (min-width: 768px) {
  section#visitas h3 {
    font-size: 2rem;
  }
}
@media screen and (min-width: 992px) {
  section#visitas h3 {
    font-size: 2.5rem;
    text-align: left;
  }
}
section#dfactory-2 {
  background-image: url(images/bg-dfactory-2.webp);
  background-size: cover;
  background-position: center;
  min-height: calc(100vh - 50px);
}
@media screen and (min-width: 768px) {
  section#dfactory-2 {
    font-size: 1.125rem;
  }
}
section#dfactory-2 h2 {
  line-height: 1;
}
@media screen and (min-width: 768px) {
  section#dfactory-2 h2 {
    font-size: 2.875rem;
  }
}
section#dfactory-2 h3 {
  font-weight: 700;
}
section#dfactory-2 .box {
  background-color: var(--color-tertiary);
  color: var(--color-secondary);
  padding: 40px 40px;
}
section#dfactory-2 .box strong {
  color: var(--color-primary);
}
section#dfactory-2 .box ul {
  list-style-type: disc;
}
section#dfactory-2 .box ul li::marker {
  color: var(--color-primary);
}
section#dfactory-2 .box ul li.active {
  color: var(--color-primary);
}
section#dfactory-2 ul.list-big {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  position: relative;
  height: 200px;
}
section#dfactory-2 ul.list-big li {
  position: absolute;
  opacity: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 2rem;
  color: var(--color-primary);
  font-weight: 900;
  display: block;
  text-align: center;
}
@media screen and (min-width: 768px) {
  section#dfactory-2 ul.list-big li {
    font-size: 7rem;
  }
}
section#dfactory-2 ul.list-big li.active {
  width: 100%;
  align-items: center;
  transition: opacity 0.5s ease;
  animation: FadeBig 2s ease-in-out 1;
}
section#dfactory-2 ul.list-big li img {
  width: 60px;
  height: 60px;
  margin-right: 15px;
}
@media screen and (min-width: 768px) {
  section#dfactory-2 ul.list-big li img {
    width: 100px;
    height: 100px;
  }
}
section#logistics {
  background-image: url(images/bg-zfincuba-1.webp);
  background-size: cover;
  background-position: center;
  font-size: 1.125rem;
}
section#logistics .marginNegative {
  margin-top: -30px;
}
@media screen and (min-width: 768px) {
  section#logistics .marginNegative {
    margin-top: -50px;
  }
}
section#logistics .proyectos {
  font-size: 1.5rem;
}
section#logistics .proyectos strong {
  color: var(--color-primary);
  font-size: 3rem;
  font-weight: 900;
  display: block;
  line-height: 1;
}
section#logistics .proyectos b {
  color: var(--color-primary);
  font-size: 2rem;
  font-weight: 900;
  display: block;
  line-height: 1;
}
section#logistics .box {
  position: relative;
  background-color: var(--color-secondary);
  padding: 40px;
}
section#logistics .box h3 {
  color: var(--color-primary);
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.1;
}
section#logistics .box h3 b {
  color: var(--color-tertiary);
}
section#logistics .box.primary {
  background-color: var(--color-primary);
  color: var(--color-secondary);
}
section#logistics .box.tertiary {
  background-color: var(--color-tertiary);
  color: var(--color-secondary);
  font-size: 1.5rem;
}
section#logistics .box.tertiary strong {
  color: var(--color-primary);
  font-weight: 900;
}
section#logistics .box ul li strong {
  color: var(--color-primary);
  font-weight: 900;
}
section#logistics .box .link {
  position: absolute;
  bottom: 50px;
  right: 50px;
  z-index: 2;
}
section#logistics .tag {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  padding: 20px 20px;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
  font-size: 1.125rem;
  position: relative;
  min-height: 120px;
  text-align: center;
  line-height: 1.1;
}
@media screen and (min-width: 768px) {
  section#logistics .tag {
    min-height: 140px;
  }
}
section#logistics .tag strong {
  font-size: 2.25rem;
  font-weight: 900;
  display: block;
  text-transform: uppercase;
}
section#ecosistema {
  font-size: 1.125rem;
}
section#incubadora {
  font-size: 1.125rem;
}
section#incubadora .box {
  background-color: rgba(255, 255, 255, 0.8784313725);
  padding: 30px;
}
@media screen and (min-width: 768px) {
  section#incubadora .box {
    padding: 60px;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
  }
}
section#incubadora .box h3 {
  color: var(--color-primary);
  font-weight: 900;
}
@media screen and (min-width: 992px) {
  section#nuevo .owl-carousel .owl-item .item .box .content {
    padding: 40px 60px 40px 40px;
  }
}
@media screen and (min-width: 992px) {
  section#nuevo .owl-carousel .owl-item .item .box .content h3 {
    font-size: 2rem;
    line-height: 1;
    margin-bottom: 13px;
  }
}
section#nuevo .owl-carousel .owl-item .item .box .content ul {
  padding-left: 1rem;
  margin-bottom: 0;
}
section#nuevo .owl-carousel .owl-item .item .box .content ul li {
  font-size: 1rem;
}
@media screen and (min-width: 992px) {
  section#nuevo .owl-carousel .owl-item .item .box .content ul li {
    padding-right: 10px;
  }
}
section#incubator3d {
  font-size: 1.125rem;
  background-image: url(images/bg-3dincubator.webp);
  background-size: cover;
  background-position: center;
}
section#incubator3d .box-incubator {
  color: var(--color-secondary);
  padding: 40px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  section#incubator3d .box-incubator {
    padding: 60px;
  }
}
section#incubator3d .box-incubator .numbers-incubator {
  border-bottom: 2px solid var(--color-secondary);
}
section#incubator3d .box-incubator h2 {
  color: var(--color-secondary);
  font-size: 3.5rem;
  line-height: 1;
}
section#incubator3d .box-incubator h2 strong {
  color: var(--color-tertiary);
  text-decoration: underline;
}
section#incubator3d .box-incubator h3 img {
  max-width: 370px;
}
section#incubator3d .box-incubator .number {
  font-size: 2.5rem;
  font-weight: 900;
}
@media screen and (min-width: 768px) {
  section#incubator3d .box-incubator .number {
    font-size: 4rem;
    line-height: 1;
    margin-top: 1rem;
  }
}
section#incubator3d .box-incubator strong {
  font-weight: 900;
}
section#perte-vec {
  background-image: url(images/bg-perte-vec.webp);
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 768px) {
  section#perte-vec {
    font-size: 1.125rem;
  }
}
section#perte-vec h3 {
  font-weight: 700;
  color: var(--color-primary);
  font-size: 1.25rem;
}
section#perte-vec img.emblemas {
  width: 100%;
  height: auto;
  max-width: 650px;
}
section#perte-vec .box {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  padding: 20px;
}
section#perte-vec .box h3 {
  color: var(--color-secondary);
  font-weight: 900;
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) {
  section#perte-vec .columns {
    -moz-columns: 2;
         columns: 2;
  }
}
section#perte-anima {
  background-image: url(images/bg-perte-anima.webp);
  background-size: cover;
  background-position: center;
}
section#perte-anima ul {
  list-style: disc;
}
section#perte-anima ul li::marker {
  color: var(--color-primary);
}
section#perte-anima ul.list-big {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  position: relative;
  height: 200px;
}
section#perte-anima ul.list-big li {
  position: absolute;
  opacity: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 2rem;
  color: var(--color-secondary);
  font-weight: 900;
  display: block;
  text-align: center;
}
@media screen and (min-width: 768px) {
  section#perte-anima ul.list-big li {
    font-size: 5rem;
  }
}
section#perte-anima ul.list-big li.active {
  width: 100%;
  align-items: center;
  transition: opacity 0.5s ease;
  animation: FadeBig 2s ease-in-out 1;
}
section#perte-anima ul.list-big li img {
  width: 60px;
  height: 60px;
  margin-right: 15px;
  filter: brightness(100);
}
@media screen and (min-width: 768px) {
  section#perte-anima ul.list-big li img {
    width: 100px;
    height: 100px;
  }
}
section#objetivos .box {
  border: 2px solid var(--color-primary);
  padding-bottom: 0;
}
section#objetivos .box h2 {
  color: var(--color-tertiary);
}
section#objetivos .box h3 {
  color: var(--color-primary);
}
section#objetivos .box .box {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  margin-left: -30px;
  margin-right: -30px;
  padding: 30px;
}
section#desafios {
  background-color: var(--color-quinary);
  color: var(--color-secondary);
}
@media screen and (min-width: 768px) {
  section#desafios {
    font-size: 1.125rem;
  }
}
section#desafios h4 {
  font-weight: 700;
  margin-bottom: 2rem;
}
section#desafios ul {
  list-style: disc;
}
section#desafios ul li {
  margin-bottom: 13px;
}
section#desafios ul li::marker {
  color: var(--color-primary);
}
@media screen and (min-width: 768px) {
  section#desafios .two-columns {
    -moz-columns: 2;
         columns: 2;
  }
}
section#desafios .two-columns li {
  page-break-inside: avoid;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}
section#desafios .two-columns li.active {
  color: var(--color-primary);
}
@media screen and (max-width: 767.98px) {
  section#premio-sil h2 {
    font-size: 2rem;
  }
}
section#premio-sil .box-container .box {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  padding: 20px 20px;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
  font-size: 0.95rem;
  font-weight: 700;
  position: relative;
  min-height: 140px;
  line-height: 1.3;
  margin: 0 3px;
}
@media screen and (min-width: 768px) {
  section#premio-sil .box-container .box {
    font-size: 1.25rem;
    margin-left: 30px;
  }
}
section#premio-sil .box-container .box img {
  filter: brightness(100);
  -webkit-filter: brightness(100);
  -moz-filter: brightness(100);
  width: 120px;
}
section.img-container {
  margin-top: -20px;
  position: relative;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  section.img-container {
    margin-top: -50px;
  }
}
section.img-container img {
  width: 100%;
  height: auto;
}
section#proyectos .owl-carousel .item .item-content {
  display: flex;
  flex-direction: column-reverse;
}
@media screen and (min-width: 768px) {
  section#proyectos .owl-carousel .item .item-content {
    flex-direction: row;
  }
}
section#proyectos .owl-carousel .item .item-content .box {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  padding: 40px 40px;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
  font-size: 1rem;
  font-weight: 700;
  position: relative;
  min-height: 140px;
  line-height: 1.3;
  width: 100%;
  align-self: center;
}
@media screen and (min-width: 768px) {
  section#proyectos .owl-carousel .item .item-content .box {
    width: 45%;
  }
}
section#proyectos .owl-carousel .item .item-content .box h3 {
  font-size: 1.5rem;
  font-weight: 900;
}
@media screen and (min-width: 768px) {
  section#proyectos .owl-carousel .item .item-content .box h3 {
    font-size: 2rem;
  }
}
section#proyectos .owl-carousel .item .item-content .box p {
  font-size: 1rem;
  margin-bottom: 0;
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  section#proyectos .owl-carousel .item .item-content .box p {
    font-size: 1rem;
  }
}
section#proyectos .owl-carousel .item .item-content img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  section#proyectos .owl-carousel .item .item-content img {
    width: calc(65% + 100px);
    margin-left: -100px;
  }
}
section#proyectos .owl-dots,
section#proyectos .owl-nav {
  margin-top: 15px;
}
section#title-sostenibilidad-economica .box {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  padding: 40px 40px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  section#title-sostenibilidad-economica .box {
    font-size: 1.25rem;
  }
}
section#plan-estrategico {
  font-size: 1.125rem;
  color: var(--color-tertiary);
}
section#plan-estrategico .rectangle {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50%;
  height: 18px;
  background-color: var(--color-primary);
}
section#plan-estrategico h3 {
  font-weight: 900;
  font-size: 1.875rem;
}
section#plan-estrategico h3 strong {
  color: var(--color-primary);
}
section#plan-estrategico ul.plan-listado {
  list-style: disc;
}
section#plan-estrategico ul.plan-listado li {
  font-size: 1.125rem;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  section#plan-estrategico ul.plan-listado li {
    font-size: 1.25rem;
  }
}
section#plan-estrategico ul.plan-listado li:not(:last-child) {
  margin-bottom: 15px;
}
section#plan-estrategico ul.plan-listado li::marker {
  color: var(--color-primary);
}
section#plan-estrategico ul.plan-listado li.active {
  color: var(--color-primary);
}
section#plan-estrategico .box {
  background-color: var(--color-quinary);
  color: var(--color-secondary);
  padding: 30px;
  font-size: 1rem;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  section#plan-estrategico .box {
    font-size: 1.125rem;
  }
}
section#plan-estrategico .box span {
  font-style: italic;
  font-weight: 600;
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  section#plan-estrategico .box span {
    font-size: 1.125rem;
  }
}
section#cifras table {
  border: none;
  color: var(--color-secondary);
}
section#cifras table tr {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1882352941);
}
section#cifras table tr td {
  padding: 8px;
  background-color: #cd1219;
}
section#cifras table tr.strong {
  font-weight: 900;
  border-bottom: 2px solid var(--color-secondary);
}
section#cifras table tr.sub td {
  background-color: var(--color-primary);
}
section#cifras table tr.sub td:not(:last-child) {
  padding-left: 32px;
}
section#sorigue .img-container {
  z-index: 2;
  height: 300px;
}
@media screen and (min-width: 768px) {
  section#sorigue .img-container {
    height: auto;
  }
}
section#sorigue .img-container .bg-img {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 300px;
  background-image: url(images/foto-sorigue.webp);
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 768px) {
  section#sorigue .img-container .bg-img {
    width: 50vw;
    height: 100%;
  }
}
section#sorigue .ico-quotes {
  position: absolute;
  right: calc(50% - 40px);
  top: -40px;
  width: 80px;
  height: 80px;
  z-index: 5;
}
@media screen and (min-width: 768px) {
  section#sorigue .ico-quotes {
    width: 120px;
    height: 120px;
    top: calc(50% - 60px);
    right: -60px;
  }
}
section#sorigue .ico-quotes img {
  width: 80px;
  height: 80px;
}
@media screen and (min-width: 768px) {
  section#sorigue .ico-quotes img {
    width: 120px;
    height: 120px;
  }
}
section#sorigue .box {
  position: relative;
  color: var(--color-secondary);
  padding: 40px;
  font-size: 1.125rem;
  font-weight: 300;
  background-color: var(--color-quinary);
}
@media screen and (min-width: 768px) {
  section#sorigue .box {
    background-color: transparent;
    padding: 90px 0 90px 120px;
    font-size: 1.5rem;
  }
}
section#sorigue .box span {
  font-style: italic;
  font-weight: 600;
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  section#sorigue .box span {
    font-size: 1.25rem;
  }
}
section#sorigue .box::before {
  content: "";
  position: absolute;
  width: 100vw;
  height: auto;
  background-color: var(--color-quinary);
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  section#sorigue .box::before {
    width: 50vw;
    height: 100%;
  }
}
section#navarro .img-container {
  z-index: -1;
  height: 300px;
}
@media screen and (min-width: 768px) {
  section#navarro .img-container {
    height: auto;
  }
}
section#navarro .img-container .bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 300px;
  background-image: url(images/foto-pere-navarro-5.webp);
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 768px) {
  section#navarro .img-container .bg-img {
    width: 50vw;
    height: 100%;
  }
}
section#navarro .ico-quotes {
  position: absolute;
  right: calc(50% - 40px);
  top: -40px;
  width: 80px;
  height: 80px;
  z-index: 5;
}
@media screen and (min-width: 768px) {
  section#navarro .ico-quotes {
    width: 120px;
    height: 120px;
    top: calc(50% - 60px);
    right: -60px;
  }
}
section#navarro .ico-quotes img {
  width: 80px;
  height: 80px;
}
@media screen and (min-width: 768px) {
  section#navarro .ico-quotes img {
    width: 120px;
    height: 120px;
  }
}
section#navarro .box {
  position: relative;
  color: var(--color-quinary);
  padding: 40px;
  font-size: 1.125rem;
  font-weight: 300;
  background-color: var(--color-senary);
}
@media screen and (min-width: 768px) {
  section#navarro .box {
    background-color: transparent;
    padding: 90px 120px 90px 0px;
    font-size: 1.5rem;
  }
}
section#navarro .box span {
  font-style: italic;
  font-weight: 600;
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  section#navarro .box span {
    font-size: 1.25rem;
  }
}
section#navarro .box::before {
  content: "";
  position: absolute;
  width: 100vw;
  height: auto;
  background-color: var(--color-senary);
  top: 0;
  right: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  section#navarro .box::before {
    width: 50vw;
    height: 100%;
  }
}
section#plena-ejecucion {
  background-image: url(images/bg-plan-execucion-2.webp);
  background-size: cover;
  background-position: center;
}
section#plena-ejecucion .box.info {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  padding: 30px;
  font-size: 1.125rem;
}
section#plena-ejecucion .box.info p {
  line-height: 1.3;
}
section#plena-ejecucion .box.info p::not(:last-child) {
  margin-bottom: 0;
}
section#plena-ejecucion .box.carousel {
  background-color: rgba(255, 255, 255, 0.9137254902);
  color: var(--color-tertiary);
  padding-bottom: 15px;
}
section#plena-ejecucion #owl-dots-menu-sostenibilidad {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  section#plena-ejecucion #owl-dots-menu-sostenibilidad {
    flex-direction: row;
  }
}
@media screen and (max-width: 767.98px) {
  section#plena-ejecucion #owl-dots-menu-sostenibilidad button.box {
    font-size: 0.8rem;
    padding: 20px;
    margin-top: -2px;
  }
}
section#plena-ejecucion .owl-carousel .item {
  flex-direction: column;
  text-align: left;
}
@media screen and (min-width: 768px) {
  section#plena-ejecucion .owl-carousel .item {
    flex-direction: row;
  }
}
section#plena-ejecucion .owl-carousel .item div {
  width: 100%;
}
@media screen and (min-width: 768px) {
  section#plena-ejecucion .owl-carousel .item div {
    width: calc(33.333% - 11px);
    margin: 0 30px;
  }
}
section#plena-ejecucion .owl-carousel .item div:not(:last-child) {
  margin-right: 15px;
}
section#plena-ejecucion .owl-carousel .item div h3 {
  color: var(--color-primary);
  font-weight: 700;
  padding-bottom: 5px;
  font-size: 1.5rem;
  border-bottom: 2px solid var(--color-primary);
}
section#bwaw-2024 {
  font-size: 1.125rem;
}
section#bwaw-2024 em {
  color: var(--color-primary);
}
section#bwaw-2024 .logos {
  width: auto;
  max-width: 100%;
  height: 80px;
}
section#bwaw {
  background-image: url(images/bg-ftzfp.webp);
  background-size: cover;
  background-position: center;
  position: relative;
  z-index: 0;
}
section#bwaw h3 {
  font-size: 2rem;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  section#bwaw h3 {
    font-size: 2rem;
  }
}
section#bwaw figure {
  display: flex;
  align-items: end;
  justify-content: center;
  margin-bottom: 0;
}
section#bwaw figure img {
  width: auto;
  max-width: 80px;
  max-height: 80px;
}
section#bwaw .number {
  display: block;
  font-size: 2.5rem;
  font-weight: 900;
  color: var(--color-primary);
  line-height: 1;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  section#bwaw .number {
    font-size: 3rem;
  }
}
section#bwaw .description {
  display: block;
  line-height: 1;
  font-size: 1.25rem;
  font-weight: 400;
}
section#asi-fue {
  background-image: url(images/bg-bwaw-cover.webp);
  background-size: cover;
  background-position: center;
}
section#asi-fue .box {
  background-color: rgba(255, 255, 255, 0.8784313725);
  padding: 30px;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
}
@media screen and (min-width: 768px) {
  section#asi-fue .box {
    padding: 60px;
  }
}
section#asi-fue .box .date {
  color: var(--color-primary);
  font-weight: 700;
}
section#asi-fue .box h3 {
  font-weight: 900;
}
section#edicion {
  background-position: center;
  background-size: cover;
  background-color: var(--color-primary);
  color: var(--color-secondary);
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  section#edicion {
    font-weight: 700;
    line-height: 1.25;
  }
}
section#edicion h3 {
  color: var(--color-secondary);
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 30px;
}
@media screen and (min-width: 992px) {
  section#edicion h3 {
    font-size: 4rem;
  }
}
section#edicion .item {
  font-size: 1.25rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  section#edicion .item {
    font-size: 1.75rem;
  }
}
section#edicion .item p {
  line-height: 1;
}
section#edicion .item figure {
  height: 100px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
}
section#edicion .item figure img {
  width: auto;
  max-width: 80px;
  height: 80px;
  filter: brightness(100);
  -webkit-filter: brightness(100);
  -moz-filter: brightness(100);
}
section#quotes-sorigue .img-quotes {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  section#quotes-sorigue .img-quotes {
    width: 50vw;
  }
}
section#quotes-sorigue .box {
  position: relative;
  background-color: var(--color-secondary);
  padding: 60px 30px;
  margin-top: -20px;
  font-size: 1rem;
  line-height: 1.35;
  font-weight: 300;
  box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.1450980392);
}
@media screen and (min-width: 768px) {
  section#quotes-sorigue .box {
    margin-top: 0px;
    line-height: 1.5;
    padding: 60px 0 60px 80px;
    font-size: 1.375rem;
    box-shadow: none;
  }
}
section#quotes-sorigue .box img {
  display: block;
  width: 60px;
  height: 60px;
  position: absolute;
  left: calc(50% - 30px);
  top: -30px;
}
@media screen and (min-width: 768px) {
  section#quotes-sorigue .box img {
    width: 80px;
    height: 80px;
    top: calc(50% - 40px);
    left: -40px;
  }
}
section#impulso {
  background-image: url(images/bg-podcast-2.webp);
  background-size: cover;
  background-position: center;
  position: relative;
  z-index: 0;
}
section#impulso .grid > div {
  padding: 60px;
  min-height: 450px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
section#impulso .grid > div h3 {
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.1;
}
section#impulso .grid > div p {
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.35;
}
section#impulso .grid > div .square {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  background-color: var(--color-primary);
  width: 35px;
  height: 35px;
}
section#impulso .grid .bg {
  background-size: cover;
  background-position: center;
}
section#impulso .grid ul {
  list-style: disc;
  text-align: left;
}
section#impulso .grid ul li::marker {
  color: var(--color-primary);
}
section#impulso .grid ul li.active {
  color: var(--color-primary);
}
section#impulso-nav {
  background-image: url(images/bg-impulso.webp);
  background-size: cover;
  background-position: center;
}
section#impulso-nav #owl-dots-menu-sostenibilidad {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  section#impulso-nav #owl-dots-menu-sostenibilidad {
    flex-direction: row;
  }
}
@media screen and (max-width: 767.98px) {
  section#impulso-nav #owl-dots-menu-sostenibilidad button.box {
    font-size: 0.8rem;
    padding: 20px;
    margin-top: -2px;
  }
}
section#impulso-nav .owl-carousel .item {
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  section#impulso-nav .owl-carousel .item {
    flex-direction: row;
  }
}
section#impulso-nav .owl-carousel .item div {
  width: 100%;
  font-size: 1.125rem;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  section#impulso-nav .owl-carousel .item div {
    font-size: 1.25rem;
    width: 50%;
  }
}
@media screen and (min-width: 768px) {
  section#impulso-nav .owl-carousel .item div:first-child {
    padding: 0 60px 0 0;
  }
}
section#impulso-nav .owl-carousel .item div h3 {
  color: var(--color-primary);
  font-weight: 700;
  padding-bottom: 5px;
  margin-bottom: 20px;
  font-size: 1.375rem;
  border-bottom: 2px solid var(--color-primary);
}
section#impulso-nav .owl-carousel .item div p,
section#impulso-nav .owl-carousel .item div ul {
  font-size: 1.125rem;
}
section#impulso-nav .owl-carousel .item div.font-sm p,
section#impulso-nav .owl-carousel .item div.font-sm ul {
  font-size: 1rem;
}
section#alianzas {
  background-image: url(images/bg-alianzas-2.webp);
  background-size: cover;
  background-position: top center;
  position: relative;
  z-index: 0;
}
section#alianzas.sostenibilidad {
  background-image: url(images/bg-consumo.webp);
  font-size: 1.125rem;
}
section#alianzas .icos img {
  width: 100%;
  max-width: 80px;
  height: auto;
}
section#alianzas .box {
  text-align: left;
}
section#consell {
  background-image: url(images/bg-consell.webp);
  background-color: var(--color-senary);
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 768px) {
  section#consell {
    font-size: 1.125rem;
  }
}
section#consell .ico {
  width: 100%;
  max-width: 110px;
  height: auto;
}
@media screen and (min-width: 768px) {
  section#consell .logo-2030 {
    margin-left: -70px;
  }
}
section#feellthepower {
  background-image: url(images/bg-fellthepower-1.webp);
  background-size: cover;
  background-position: center;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  section#feellthepower {
    font-size: 1.125rem;
  }
}
section#feellthepower h2 {
  font-weight: 400;
}
section#feellthepower h2 strong {
  color: var(--color-tertiary);
  font-weight: 900;
}
section#feellthepower .box {
  border-width: 2px;
}
@media screen and (min-width: 768px) {
  section#feellthepower .box {
    margin-top: -70px;
  }
}
@media screen and (min-width: 768px) {
  section#feellthepower .box h3 {
    font-size: 1.95rem;
  }
}
section#feellthepower .box h3 strong {
  color: var(--color-tertiary);
}
section#valores {
  background-position: center;
  background-size: cover;
  background-color: var(--color-senary);
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  section#valores {
    line-height: 1.25;
    font-size: 1.125rem;
  }
}
section#valores .subtitle {
  font-size: 1.95rem;
}
@media screen and (min-width: 768px) {
  section#valores .subtitle {
    font-size: 2.2rem;
  }
}
section#valores .subtitle strong {
  color: var(--color-primary);
}
section#valores .fechas {
  font-size: 1.125rem;
  border-top: 1px solid var(--color-quaternary);
  font-weight: 700;
  padding-top: 7px;
  margin-top: 7px;
}
section#valores ul.dados li {
  display: flex;
  align-items: center;
  font-size: 1.25rem;
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  section#valores ul.dados li {
    font-size: 1.5rem;
  }
}
section#valores ul.dados li p {
  line-height: 1;
  transition: all 0.3s ease-in-out;
}
section#valores ul.dados li p strong {
  display: block;
  font-size: 2rem;
}
section#valores ul.dados li figure {
  border-right: 3px solid var(--color-primary);
  width: 90px;
  height: 70px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
  padding-right: 5px;
  margin-right: 10px;
}
section#valores ul.dados li figure img {
  width: auto;
  max-width: 70px;
  height: 70px;
  transition: all 0.3s ease-in-out;
}
section#valores ul.dados li.active {
  color: var(--color-primary);
}
section#valores ul.dados li.active p {
  transform: translateX(20px);
}
section#valores ul.dados li.active figure img {
  filter: brightness(0);
}
section#valores ul.dados.right li {
  text-align: right;
  justify-content: flex-end;
}
section#valores ul.dados.right li figure {
  border-right: none;
  border-left: 3px solid var(--color-primary);
  margin-left: 15px;
}
section#valores ul.dados.right li.active p {
  transform: translateX(-20px);
}
section#valores h3 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 30px;
}
@media screen and (min-width: 992px) {
  section#valores h3 {
    font-size: 4rem;
  }
}
section#valores .box img.ico {
  width: 100px;
  height: auto;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
}
section#valores.consumo ul.dados li {
  margin-top: 25px;
}
section#valores.consumo ul.dados li p {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  section#valores.consumo ul.dados li p {
    font-size: 1.375rem;
  }
}
section#valores.consumo ul.dados li p strong {
  display: inline;
  font-size: 1.125rem;
  color: var(--color-primary);
}
@media screen and (min-width: 768px) {
  section#valores.consumo ul.dados li p strong {
    font-size: 1.375rem;
  }
}
section#valores.consumo ul.dados li figure {
  width: 70px;
  padding-right: 27px;
}
section#valores.consumo h3 {
  font-size: 1.5rem;
}
section#valores.consumo p {
  font-size: 1.125rem;
}
section#sostenibilidad-medioambiental {
  background-image: url(images/bg-sostenibilidad-medioambiental.webp);
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 768px) {
  section#sostenibilidad-medioambiental {
    font-size: 1.125rem;
  }
}
section#sostenibilidad-medioambiental .icos img {
  width: 100%;
  height: auto;
  max-width: 100px;
  min-width: 80px;
}
section#consumo {
  background-image: url(images/bg-medioambiental-1.webp);
  background-size: cover;
  background-position: center;
  font-size: 1.125rem;
  position: relative;
  z-index: 0;
}
section#consumo .cuadro {
  padding: 30px;
}
@media screen and (min-width: 768px) {
  section#consumo .cuadro {
    padding: 50px;
  }
}
section#consumo .cuadro h3 {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  section#consumo .cuadro h3 {
    font-size: 2.5rem;
  }
}
section#consumo .cuadro .item {
  text-align: center;
}
section#consumo .cuadro .item h4 {
  padding-left: 15px;
  padding-right: 15px;
  font-size: 1.5rem;
  color: var(--color-primary);
  text-align: center;
}
section#consumo .cuadro .item p {
  padding-left: 15px;
  padding-right: 15px;
  margin-bottom: 0;
}
section#consumo .cuadro .item figure img {
  width: 100%;
  max-width: 100px;
  height: auto;
}
section#consumo .cuadro .emas {
  line-height: 1.2;
}
section#accion-corporativa {
  background-image: url(images/bg-bosque-topview.webp);
  background-size: cover;
  background-position: center;
  color: var(--color-secondary);
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.15;
}
@media screen and (min-width: 768px) {
  section#accion-corporativa {
    font-size: 1.125rem;
    line-height: 1.3;
  }
}
section#accion-corporativa strong {
  color: var(--color-primary);
}
section#accion-corporativa h3 {
  color: var(--color-primary);
  font-weight: 900;
  font-size: 2.25rem;
}
section#accion-corporativa .ico-container * {
  transition: all 0.5s ease;
}
section#accion-corporativa .ico-container figure {
  width: 80px;
  flex: 0 0 80px;
}
@media screen and (min-width: 768px) {
  section#accion-corporativa .ico-container figure {
    width: 100%;
    text-align: center;
  }
}
section#accion-corporativa .ico-container figure img {
  filter: brightness(100);
  -webkit-filter: brightness(100);
  -moz-filter: brightness(100);
  height: 50px;
  display: inline-block;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  section#accion-corporativa .ico-container figure img {
    height: 70px;
    margin-right: 0px;
  }
}
section#accion-corporativa .ico-container p {
  text-align: left;
}
@media screen and (min-width: 768px) {
  section#accion-corporativa .ico-container p {
    text-align: center;
  }
}
section#accion-corporativa .ico-container .animate-active figure img {
  filter: brightness(1);
  -webkit-filter: brightness(1);
  -moz-filter: brightness(1);
}
@media screen and (min-width: 768px) {
  section#accion-corporativa .ico-container .animate-active figure img {
    transform: scale(1.15);
  }
}
section#accion-corporativa .ico-container .animate-active p {
  transform: translateY(-5px);
}
@media screen and (min-width: 768px) {
  section#accion-corporativa .ico-container .animate-active p {
    transform: translateY(-15px);
  }
}
section#liderazgo-sectores {
  background-image: url(images/bg-medios-comunicacion.webp);
  background-size: cover;
  background-position: center;
  color: var(--color-tertiary);
  font-size: 1rem;
}
section#liderazgo-sectores .box.info.white {
  font-size: 1rem;
}
section#liderazgo-sectores .logos {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  flex-wrap: wrap;
}
section#liderazgo-sectores .logos img {
  max-width: 300px;
  height: auto;
}
section#liderazgo-sectores .logos img.ico {
  max-width: 140px;
}
section#basf {
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  section#basf {
    font-size: 1.25rem;
  }
}
section#basf h2 {
  font-size: 2rem;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  section#basf h2 {
    font-size: 2.5rem;
  }
}
section#basf .box {
  width: 100%;
  font-weight: 700;
  font-size: 1.5rem;
  padding: 20px;
  color: var(--color-secondary);
  background-color: var(--color-primary);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
  margin-left: auto;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1882352941);
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  section#basf .box {
    font-size: 1.5rem;
    width: 70%;
    font-weight: 700;
    margin-top: -30px;
    margin-right: -30px;
    animation: animeUpDown 3s infinite;
  }
}
section#basf img {
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1882352941);
}
section#mas-acciones .accordion {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  section#mas-acciones .accordion {
    font-size: 1.1rem;
  }
}
section#liderazgo > .container > .row {
  background-image: url(images/bg-liderazgo.webp);
  background-size: cover;
  background-position: center;
  color: var(--color-secondary);
}
section#liderazgo .box {
  background-color: rgba(237, 34, 41, 0.8509803922);
  -webkit-clip-path: polygon(0 30px, 30px 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 30px, 30px 0, 100% 0, 100% 100%, 0 100%);
  padding: 30px;
}
@media screen and (min-width: 768px) {
  section#liderazgo .box {
    -webkit-clip-path: polygon(0 50px, 50px 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 50px, 50px 0, 100% 0, 100% 100%, 0 100%);
    padding: 60px;
  }
}
section#liderazgo .box h3 {
  font-size: 1.5rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  section#liderazgo .box h3 {
    font-size: 2.25rem;
    font-weight: 900;
  }
}
section#liderazgo .box p {
  font-size: 1.125rem;
  font-weight: 300;
  margin-bottom: 0;
}
section#reconocimientos {
  background-image: url(images/bg-reconocimientos-2.webp);
  background-size: cover;
  background-position: center;
}
section#reconocimientos .logo {
  width: 200px;
  height: auto;
}
section#reconocimientos .box {
  background-color: var(--color-secondary);
  padding: 20px;
}
@media screen and (min-width: 768px) {
  section#reconocimientos .box {
    font-size: 1.125rem;
    padding: 30px;
  }
}
section#reconocimientos .box ul {
  list-style-type: disc;
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  section#reconocimientos .box ul {
    font-size: 1.125rem;
  }
}
section#reconocimientos .box ul li:not(:last-child) {
  margin-bottom: 10px;
}
section#reconocimientos .box ul li::marker {
  color: var(--color-primary);
}
section#reconocimientos .box ul li.active {
  color: var(--color-primary);
}
section#reconocimientos .box i {
  color: var(--color-primary);
}
section#reconocimientos .box.black {
  background-color: var(--color-quinary);
  color: var(--color-secondary);
}
section#reconocimientos .ico {
  width: 85px;
  height: auto;
}
@media screen and (min-width: 768px) {
  section#reconocimientos .ico {
    width: 120px;
  }
}
section#reconocimientos-2 {
  background-image: url(images/bg-montana.webp);
  background-size: cover;
  background-position: center;
  position: relative;
  z-index: 0;
}
section#reconocimientos-2 .grid > div {
  padding: 60px;
  min-height: 450px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
section#reconocimientos-2 .grid > div h3 {
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.1;
}
@media screen and (min-width: 768px) {
  section#reconocimientos-2 .grid > div h3 {
    font-size: 2rem;
  }
}
section#reconocimientos-2 .grid > div p {
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.35;
}
section#reconocimientos-2 .grid > div .square {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  background-color: var(--color-primary);
  width: 35px;
  height: 35px;
}
section#reconocimientos-2 .grid .bg {
  background-size: cover;
  background-position: center;
}
section#reconocimientos-2 .ico {
  width: 100%;
  height: auto;
  max-width: 80px;
}
section#desarrollo-empresarial {
  background-image: url(images/bg-lines-2.webp);
  background-size: cover;
  background-position: center;
  position: relative;
  z-index: 0;
}
section#desarrollo-empresarial.dos {
  background-image: url(images/bg-lines-3.webp);
}
section#aniversario {
  background-image: url(images/bg-aniversario.webp);
  background-size: cover;
  background-position: center;
  position: relative;
  z-index: 0;
}
section#quotes {
  font-size: 1.125rem;
}
section#quotes strong {
  display: block;
  font-weight: 700;
}
section#quotes figure {
  margin-bottom: 0;
  position: relative;
}
section#quotes figure img:not(.img-quote) {
  box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.1450980392);
}
section#quotes figure .img-quote {
  position: absolute;
  bottom: -10px;
  display: block;
  width: 60px;
  height: 60px;
  z-index: 5;
}
@media screen and (min-width: 768px) {
  section#quotes figure .img-quote {
    width: 80px;
    height: 80px;
  }
}
section#quotes figure.left .img-quote {
  left: calc(50% - 60px);
}
section#quotes figure.right .img-quote {
  left: calc(50% - 20px);
}
section#quotes .box {
  position: relative;
  z-index: 1;
  background-color: var(--color-primary);
  color: var(--color-secondary);
  position: relative;
  padding: 50px 40px;
  font-size: 1.25rem;
  font-weight: 300;
  margin-top: -30px;
  line-height: 1.25;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
}
@media screen and (min-width: 768px) {
  section#quotes .box.left {
    margin-left: -30px;
    margin-right: 30px;
  }
}
@media screen and (min-width: 768px) {
  section#quotes .box.right {
    margin-right: -30px;
    margin-left: 30px;
  }
}
section#eventos .bg {
  font-size: 1rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  section#eventos .bg {
    font-size: 1.125rem;
  }
}
section#eventos .bg::after {
  position: absolute;
  top: 30px;
  left: -50vw;
  display: block;
  width: 150vw;
  height: 140px;
  background-color: var(--color-quinary);
  content: "";
  z-index: -1;
}
@media screen and (min-width: 768px) {
  section#eventos .bg::after {
    height: 300px;
  }
}
section#eventos .bg figure {
  position: relative;
  margin-bottom: 0;
  box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.1450980392);
}
section#eventos .bg figure .square {
  position: absolute;
  top: -10px;
  left: -10px;
  width: 20px;
  height: 20px;
  background-color: var(--color-primary);
  display: block;
  transition: all 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  section#eventos .bg figure .square {
    top: -20px;
    left: -20px;
    width: 40px;
    height: 40px;
  }
}
section#eventos .bg h3 {
  color: var(--color-primary);
  font-weight: 900;
  margin-top: 15px;
  margin-bottom: 20px;
}
section#eventos .bg ul {
  padding-left: 1rem;
}
section#eventos .bg ul li {
  line-height: 1.35;
}
section#eventos .bg ul li:not(:last-child) {
  margin-bottom: 15px;
}
section#eventos .bg ul li::marker {
  color: var(--color-primary);
}
section#eventos .animate-active .square {
  animation: rotate 2s infinite;
}
section#portada-sil {
  background-image: url(images/bg-sil-7.webp);
  background-size: cover;
  background-position: center;
  height: 60vh;
}
@media screen and (min-width: 768px) {
  section#portada-sil {
    font-size: 1.125rem;
    height: calc(100vh - 160px);
  }
}
section#celebracion-sil {
  background-image: url(images/bg-sil-4.webp);
  background-size: cover;
  background-position: center;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  section#celebracion-sil {
    font-size: 1.125rem;
  }
}
section#celebracion-sil strong {
  font-weight: 900;
  font-size: 1.25rem;
}
section#celebracion-sil .box {
  text-align: left;
}
section#celebracion-sil .box ul {
  list-style: disc;
  margin-bottom: 0;
}
section#celebracion-sil .box ul li:not(:last-child) {
  margin-bottom: 15px;
}
section#la-gran-cita {
  background-image: url(images/bg-sil-5.webp);
  background-size: cover;
  background-position: center;
}
section#la-gran-cita h2 {
  font-size: 2.5rem;
  color: var(--color-secondary);
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  section#la-gran-cita h2 {
    font-size: 3.5rem;
  }
}
section#la-gran-cita h2 b {
  color: var(--color-tertiary);
}
section#la-gran-cita .col-carousel {
  padding: 0 15px;
}
@media screen and (min-width: 992px) {
  section#la-gran-cita .col-carousel {
    padding: 0 90px;
  }
}
section#la-gran-cita .col-carousel .owl-carousel .owl-dots {
  position: absolute;
  width: 100%;
  bottom: -40px;
  left: 0;
  margin-bottom: 0;
}
section#la-gran-cita .col-carousel .owl-carousel .owl-nav {
  display: flex;
  justify-content: space-between;
  position: absolute;
  top: calc(50% - 22.5px);
  width: 100%;
  margin: 0;
}
section#la-gran-cita .col-carousel .owl-carousel .owl-nav .owl-prev {
  position: absolute;
  left: -45px;
}
section#la-gran-cita .col-carousel .owl-carousel .owl-nav .owl-next {
  position: absolute;
  right: -45px;
}
section#la-gran-cita .col-carousel .owl-carousel .owl-stage-outer {
  color: var(--color-secondary);
  line-height: 1.3;
}
section#la-gran-cita .col-carousel .owl-carousel .owl-stage-outer .item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 15px;
}
@media screen and (min-width: 768px) {
  section#la-gran-cita .col-carousel .owl-carousel .owl-stage-outer .item {
    padding: 35px;
  }
}
section#la-gran-cita .col-carousel .owl-carousel .owl-stage-outer .item img {
  width: 120px;
  filter: brightness(100);
}
section#la-gran-cita .col-carousel .owl-carousel .owl-stage-outer .item h3 {
  font-weight: 900;
  margin-bottom: 0;
  font-size: 2.5rem;
}
section#la-gran-cita .col-carousel .owl-carousel .owl-stage-outer .item p {
  margin-bottom: 0;
  font-size: 1.5rem;
}
section#novedades-hitos h3 {
  font-size: 1.875rem;
}
@media screen and (min-width: 768px) {
  section#novedades-hitos h3 {
    font-size: 2.5rem;
  }
}
section#novedades-hitos h3 strong {
  color: var(--color-primary);
}
section#novedades-hitos .box {
  min-height: 380px;
}
section#novedades-hitos .box.info {
  font-size: 1rem;
}
section#novedades-hitos .box .ico {
  position: absolute;
  width: 100px;
  right: 25px;
  bottom: 25px;
}
section#novedades-hitos ul {
  list-style: disc;
}
section#novedades-hitos ul li {
  margin-bottom: 15px;
}
section#novedades-hitos ul li::marker {
  color: var(--color-primary);
}
section#novedades-hitos ul li.padding {
  padding-bottom: 90px;
}
@media screen and (min-width: 768px) {
  section#novedades-hitos ul li.padding {
    padding-right: 120px;
    padding-bottom: 0;
  }
}
section#novedades-hitos .img-1 {
  position: relative;
  overflow: hidden;
}
section#novedades-hitos .img-1::after {
  background-image: url(images/foto-bwaw-sil.webp);
  background-size: cover;
  background-position: center;
  content: "";
  display: block;
  width: 50vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
section#novedades-hitos .img-2 {
  position: relative;
  overflow: hidden;
}
section#novedades-hitos .img-2::after {
  background-image: url(images/foto-sil-hitos.webp);
  background-size: cover;
  background-position: center;
  content: "";
  display: block;
  width: 50vw;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}
section#plataforma-digital {
  background-image: url(images/bg-sil-5.webp);
  background-size: cover;
  background-position: center;
}
section#plataforma-digital h2 {
  font-size: 2.5rem;
  color: var(--color-secondary);
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  section#plataforma-digital h2 {
    font-size: 3.5rem;
  }
}
section#plataforma-digital h2 b {
  color: var(--color-tertiary);
}
section#plataforma-digital .box {
  color: var(--color-secondary);
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  section#plataforma-digital .box {
    padding: 60px;
  }
}
section#plataforma-digital .box .item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
section#plataforma-digital .box .item * {
  transition: all 0.3s ease-in-out;
  transition-timing-function: ease-in-out;
}
section#plataforma-digital .box .item img {
  width: 120px;
  filter: brightness(100);
  -webkit-filter: brightness(100);
  -moz-filter: brightness(100);
}
section#plataforma-digital .box .item h3 {
  font-weight: 900;
  margin-bottom: 0;
  font-size: 2.5rem;
}
section#plataforma-digital .box .item p {
  margin-bottom: 0;
  line-height: 1.15;
  margin-top: 7px;
  font-size: 1.25rem;
}
section#plataforma-digital .box .animate-active .item img {
  transform: translateY(-7px);
}
section#plataforma-digital .box .animate-active .item h3 {
  transform: scale(1.3);
}
section#plataforma-digital .box .animate-active .item p {
  transform: translateY(7px);
}
section#hitos-sil {
  background-image: url(images/bg-sil-6.webp);
  background-size: cover;
  background-position: center;
  font-size: 1.125rem;
}
section#hitos-sil .content {
  padding: 30px 0;
  min-height: 450px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  section#hitos-sil .content {
    padding: 60px;
  }
}
section#hitos-sil .content .square {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  background-color: var(--color-primary);
  width: 35px;
  height: 35px;
}
section#hitos-sil .content h3 {
  font-size: 2.5rem;
  font-weight: 900;
  margin-bottom: 25px;
  color: var(--color-primary);
}
section#hitos-sil .content ul {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  section#hitos-sil .content ul {
    font-size: 1.125rem;
  }
}
section#hitos-sil .content ul li {
  margin-bottom: 15px;
}
section#hitos-sil .content ul li * {
  transition: all 0.3s ease-in-out;
}
section#hitos-sil .content ul li strong {
  font-weight: 900;
  color: var(--color-primary);
}
section#hitos-sil .content ul li.active {
  color: var(--color-primary);
}
section#hitos-sil .bg {
  background-position: center;
  background-size: cover;
  position: relative;
}
section#hitos-sil .bg::after {
  content: "";
  position: absolute;
  top: 0;
  display: block;
  width: 100vw;
  height: 100%;
  background-color: var(--color-quaternary);
}
section#hitos-sil .bg.first::after {
  right: 0;
  background-image: url(images/bg-stand-sil.webp);
}
section#hitos-sil .bg.last::after {
  left: 0;
  background-image: url(images/bg-sil2.webp);
}
section#alianzas-logistica {
  background-image: url(images/bg-sil-9.webp);
  background-size: cover;
  background-position: center;
}
section#bnew {
  background-image: url(images/bg-bnew.webp);
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 768px) {
  section#bnew .box-container {
    min-height: 450px;
  }
}
section#bnew .box {
  background-color: rgba(255, 255, 255, 0.8784313725);
  padding: 25px;
}
@media screen and (min-width: 768px) {
  section#bnew .box {
    padding: 30px;
  }
}
section#bnew .box .date {
  color: var(--color-primary);
  font-weight: 700;
}
section#bnew .box h3 {
  font-weight: 900;
}
section#retos-bnew {
  background-image: url(images/bg-retos-bnew.webp);
  background-size: cover;
  background-position: center;
  font-size: 1.125rem;
}
section#edicion-bnew {
  background-image: url(images/bg-edicion-bnew.webp);
  background-color: var(--color-primary);
  background-size: cover;
  background-position: center;
  color: var(--color-secondary);
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  section#edicion-bnew {
    font-size: 1.125rem;
  }
}
section#edicion-bnew h2 {
  font-size: 2.5rem;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  section#edicion-bnew h2 {
    font-size: 3rem;
  }
}
section#edicion-bnew h2 b {
  color: var(--color-tertiary);
}
section#edicion-bnew h3 {
  font-size: 3rem;
  font-weight: 900;
}
section#edicion-bnew h3.claves {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  section#edicion-bnew h3.claves {
    font-size: 2.25rem;
    line-height: 1.2;
  }
}
section#edicion-bnew h3.claves strong {
  font-size: 3rem;
  font-weight: 900;
  display: block;
}
section#edicion-bnew ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
section#edicion-bnew ul.list-dados {
  color: var(--color-primary);
  text-align: right;
}
section#edicion-bnew ul.list-dados li:not(:last-child)::after {
  content: "";
  display: block;
  margin-left: auto;
  width: 80px;
  border-bottom: 3px solid var(--color-primary);
  padding-bottom: 10px;
  margin-bottom: 15px;
}
section#edicion-bnew ul.list-dados li h4 {
  text-align: right;
}
section#edicion-bnew ul.list-dados .number {
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  section#edicion-bnew ul.list-dados .number {
    font-size: 3rem;
  }
}
section#edicion-bnew ul.list-dados h4 {
  font-size: 1.375rem;
}
section#edicion-bnew ul.list-dados small {
  color: var(--color-tertiary);
}
section#edicion-bnew ul.list-dados small strong {
  color: var(--color-primary);
}
section#edicion-bnew ul.list-claves li {
  display: flex;
  width: 100%;
  margin-top: 30px;
}
section#edicion-bnew ul.list-claves li * {
  transition: all 0.3s ease-in-out;
}
section#edicion-bnew ul.list-claves li h4 {
  font-size: 1.75rem;
  padding-left: 15px;
  margin-bottom: 0;
  margin-top: 15px;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  section#edicion-bnew ul.list-claves li h4 {
    margin-top: 0px;
    font-size: 2.5rem;
    line-height: 1.2;
  }
}
section#edicion-bnew ul.list-claves li.active img {
  transform: scale(1.2);
}
section#edicion-bnew ul.list-claves li.active h4 {
  transform: translateX(20px);
}
section#reconocimiento {
  background-image: url(images/bg-bnew-logo.webp);
  background-size: cover;
  background-position: center left;
}
@media screen and (min-width: 768px) {
  section#reconocimiento {
    font-size: 1.125rem;
  }
}
section#reconocimiento h3 {
  font-size: 2rem;
  font-weight: 900;
  color: var(--color-primary);
}
section#reconocimiento ul.list-conocimiento {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 768px) {
  section#reconocimiento ul.list-conocimiento {
    -moz-columns: 2;
         columns: 2;
  }
}
section#reconocimiento ul.list-conocimiento li {
  display: flex;
  align-items: center;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1rem;
  margin-bottom: 20px;
  transition: all 0.3s ease-in-out;
}
section#reconocimiento ul.list-conocimiento li.active {
  color: var(--color-primary);
}
section#reconocimiento ul.list-conocimiento li img {
  width: 75px;
  height: 75px;
  margin-right: 5px;
}
section#reconocimiento .box h3 {
  color: var(--color-secondary);
}
section#reconocimiento .box p {
  line-height: 1.3;
}
section#reconocimiento .box strong {
  color: var(--color-primary);
}
section#reconocimiento .box ul {
  list-style: disc;
  margin-top: 15px;
  margin-bottom: 0;
}
section#reconocimiento .box ul ::marker {
  color: var(--color-primary);
}
section#reconocimiento .box ul li {
  margin-bottom: 10px;
  transition: all 0.3s ease-in-out;
}
section#reconocimiento .box ul li strong {
  color: var(--color-primary);
}
section#reconocimiento .box ul li.active {
  color: var(--color-primary);
}
section#eventos-bnew {
  background-image: url(images/bg-planeta.webp);
  background-size: cover;
  background-position: center left;
}
@media screen and (min-width: 768px) {
  section#eventos-bnew {
    font-size: 1.125rem;
  }
}
section#fitac-2024 {
  color: var(--color-secondary);
}
@media screen and (min-width: 768px) {
  section#fitac-2024 {
    font-size: 1.125rem;
  }
}
section#congreso {
  background-image: url(images/bg-congreso.webp);
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 768px) {
  section#congreso {
    font-size: 1.125rem;
  }
}
section#congreso .title-line {
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  section#congreso .title-line {
    font-size: 2.5rem;
    width: 100%;
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 768px) {
  section#fitac {
    font-size: 1.125rem;
  }
}
section#fitac .ico {
  width: 100%;
  max-width: 150px;
  height: auto;
}
section#debate {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  section#debate {
    font-size: 1.125rem;
  }
}
section#debate img {
  box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.1450980392);
}
section#evento-mundial {
  font-size: 1.1rem;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  section#evento-mundial {
    font-size: 1.125rem;
  }
}
section#evento-mundial h3 {
  font-size: 1.75rem;
  font-weight: 900;
}
@media screen and (min-width: 768px) {
  section#evento-mundial h3 {
    font-size: 2rem;
  }
}
section#evento-mundial img {
  box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.1450980392);
}
section#gazes {
  font-size: 1.25rem;
  font-weight: 300;
}
section#gazes img.img-wheel {
  animation: rotate 15s infinite linear;
}
section#gazes h3 {
  font-weight: 900;
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  section#gazes h3 {
    font-size: 2.5rem;
  }
}
section#consorci {
  background-image: url(images/bg-vista-aerea.webp);
  background-size: cover;
  background-position: top center;
}
section#consorci h3 {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  font-weight: 900;
  font-size: 2rem;
  display: inline-block;
  padding: 0 7px;
}
@media screen and (min-width: 768px) {
  section#consorci h3 {
    font-size: 3.75rem;
  }
}
section#consorci p {
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-secondary);
  line-height: 1;
}
@media screen and (min-width: 768px) {
  section#consorci p {
    line-height: 1.25;
  }
}
section#consorci .box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.8784313725);
  border-bottom: 3px solid var(--color-primary);
  color: var(--color-quinary);
  width: 200px;
  min-height: 160px;
  padding: 20px 15px;
}
@media screen and (min-width: 768px) {
  section#consorci .box {
    padding: 25px;
    min-height: 200px;
  }
}
section#consorci .box h4 {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1;
  letter-spacing: -0.5px;
}
@media screen and (min-width: 768px) {
  section#consorci .box h4 {
    font-size: 1.75rem;
  }
}
section#consorci .box .number {
  font-size: 3rem;
  font-weight: 900;
  color: var(--color-primary);
  line-height: 1;
}
section#consorci .box p {
  color: var(--color-quinary);
  font-size: 1rem;
  font-weight: 400;
  text-transform: uppercase;
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  section#consorci .box p {
    font-size: 1.25rem;
  }
}
section#area-industrial {
  font-size: 1.125rem;
}
section#area-industrial h3 {
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--color-primary);
}
@media screen and (min-width: 768px) {
  section#area-industrial h3 {
    font-size: 2rem;
  }
}
section#area-industrial ul.list-left {
  list-style: disc;
}
section#area-industrial ul.list-left ::marker {
  color: var(--color-primary);
}
section#area-industrial ul.list-left strong {
  color: var(--color-primary);
}
section#area-industrial ul.list-left li {
  margin-bottom: 10px;
  line-height: 1.25;
}
section#area-industrial ul.list-left li img {
  width: 75px;
  height: 75px;
  margin-right: 5px;
}
section#area-industrial ul.list-left li ul {
  margin-top: 10px;
  list-style: disc;
}
section#area-industrial .box {
  padding: 20px;
}
@media screen and (min-width: 768px) {
  section#area-industrial .box {
    padding: 30px;
  }
}
section#area-industrial .box h3 {
  color: var(--color-secondary);
}
section#area-industrial .box h3 strong {
  color: var(--color-primary);
}
section#area-industrial .box ul {
  list-style: disc;
  margin-top: 15px;
}
section#area-industrial .box ul li {
  margin-bottom: 10px;
  line-height: 1.25;
}
section#area-industrial .box ul li strong {
  color: var(--color-primary);
}
section#servicios {
  font-size: 1.125rem;
}
section#servicios .col-carousel {
  padding: 0px 40px;
  position: relative;
}
@media screen and (min-width: 768px) {
  section#servicios .col-carousel {
    padding: 60px 90px;
  }
}
section#servicios .col-carousel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 100vw;
  height: 100%;
  z-index: -1;
  background-color: var(--color-quinary);
}
section#servicios .col-carousel .owl-carousel {
  font-size: 1rem;
}
section#servicios .col-carousel .owl-carousel .owl-dots {
  position: absolute;
  width: 100%;
  bottom: -40px;
  left: 0;
  margin-bottom: 0;
}
section#servicios .col-carousel .owl-carousel .owl-nav {
  display: flex;
  justify-content: space-between;
  position: absolute;
  top: calc(50% - 22.5px);
  width: 100%;
  margin: 0;
}
section#servicios .col-carousel .owl-carousel .owl-nav button span {
  background-color: transparent;
}
section#servicios .col-carousel .owl-carousel .owl-nav button span::before {
  filter: none;
}
section#servicios .col-carousel .owl-carousel .owl-nav button.owl-prev {
  position: absolute;
  left: -45px;
}
section#servicios .col-carousel .owl-carousel .owl-nav button.owl-next {
  position: absolute;
  right: -45px;
}
section#servicios .col-carousel .owl-carousel .owl-stage-outer {
  color: var(--color-secondary);
  line-height: 1.3;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
}
section#servicios .col-carousel .owl-carousel .owl-stage-outer .item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 10px;
}
@media screen and (min-width: 768px) {
  section#servicios .col-carousel .owl-carousel .owl-stage-outer .item {
    padding: 35px;
  }
}
section#servicios .col-carousel .owl-carousel .owl-stage-outer .item img {
  width: 90px;
  filter: brightness(100);
}
section#servicios .col-carousel .owl-carousel .owl-stage-outer .item h3 {
  font-weight: 900;
  margin-bottom: 0;
}
section#servicios .col-carousel .owl-carousel .owl-stage-outer .item p {
  margin-bottom: 0;
}
section#servicios .col-carousel .owl-carousel .owl-stage-outer .item strong {
  color: var(--color-primary);
}
section#servicios .col-carousel .owl-carousel .owl-stage-outer .item ul {
  text-align: left;
  margin-bottom: 0;
}
section#servicios .col-carousel .owl-carousel .owl-stage-outer .item ul li {
  line-height: 1;
}
section#servicios .col-carousel .owl-carousel .owl-stage-outer .item ul li:not(:last-child) {
  margin-bottom: 7px;
}
section#espacios-zf #owl-dots-menu-sostenibilidad {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  section#espacios-zf #owl-dots-menu-sostenibilidad {
    flex-direction: row;
  }
}
@media screen and (max-width: 767.98px) {
  section#espacios-zf #owl-dots-menu-sostenibilidad button.box {
    font-size: 0.8rem;
    padding: 20px;
    margin-top: -2px;
  }
}
section#espacios-zf .owl-carousel .item {
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  section#espacios-zf .owl-carousel .item {
    flex-direction: row;
  }
}
section#espacios-zf .owl-carousel .item div {
  width: 100%;
  font-size: 1.125rem;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  section#espacios-zf .owl-carousel .item div {
    width: 50%;
  }
}
section#espacios-zf .owl-carousel .item div:first-child {
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  section#espacios-zf .owl-carousel .item div:first-child {
    margin-bottom: 0px;
    padding: 0 60px 0 0;
  }
}
section#espacios-zf .owl-carousel .item div h3 {
  color: var(--color-primary);
  font-weight: 700;
  padding-bottom: 5px;
  margin-bottom: 25px;
  font-size: 1.5rem;
  border-bottom: 2px solid var(--color-primary);
}
section#espacios-zf .owl-carousel .item div ul {
  padding-left: 20px;
}
section#espacios-zf .owl-carousel .item div ul ::marker {
  color: var(--color-primary);
}
section#espacios-zf .owl-carousel .item div ul ul ::marker {
  color: var(--color-quinary);
}
section#espacios-zf .owl-carousel .item div ul.list-edificios {
  list-style: none;
  margin: 0;
  padding: 0;
}
section#espacios-zf .owl-carousel .item div ul.list-edificios li {
  display: none;
}
section#espacios-zf .owl-carousel .item div ul.list-edificios li.active {
  display: block;
}
section#ademas .grid > div {
  padding: 60px;
  min-height: 450px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
section#ademas .grid > div h3 {
  font-size: 2rem;
  font-weight: 900;
}
section#ademas .grid > div p {
  font-size: 1.125rem;
  font-weight: 400;
}
section#ademas .grid > div .square {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  background-color: var(--color-primary);
  width: 35px;
  height: 35px;
}
section#ademas .grid .bg {
  background-size: cover;
  background-position: center;
}
section.title-organos p {
  font-size: 1.125rem;
  margin-bottom: 0;
}
section.organos-content h3 {
  font-weight: 900;
}
section.organos-content h4 {
  font-size: 1.125rem;
  color: var(--color-primary);
  font-weight: 700;
  margin-bottom: 10px;
}
section.organos-content div div {
  margin-bottom: 10px;
}
section.organos-content div span {
  display: block;
  margin-bottom: 0px;
}
section.organos-content div span:last-child {
  margin-bottom: 10px;
}
section.organos-content div span.name {
  font-weight: 700;
}
section.organos-content div span.position {
  font-weight: 300;
}
section.organos-content div span.company {
  font-size: 0.875rem;
  text-transform: uppercase;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  section.organos-content .three-columns {
    -moz-columns: 3;
         columns: 3;
    -moz-column-gap: 50px;
         column-gap: 50px;
  }
}
section.organos-content .three-columns > div {
  -moz-column-break-inside: avoid;
       break-inside: avoid-column;
}
section#contraportada {
  font-size: 1.5rem;
  font-weight: 300;
}
section#contraportada h3 {
  color: var(--color-quinary);
  font-size: 5rem;
  font-weight: 900;
  margin-bottom: 0;
  line-height: 1;
}
section#contraportada h4 {
  color: var(--color-primary);
  font-size: 2.5rem;
  font-weight: 600;
  margin-bottom: 0;
  line-height: 1;
}
section#contraportada .box {
  background-color: var(--color-primary);
  color: var(--color-secondary);
  font-size: 1.125rem;
  font-weight: 400;
  padding: 50px;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%);
}
section#contraportada .box img {
  filter: brightness(100);
  -webkit-filter: brightness(100);
  -moz-filter: brightness(100);
}

#bg-barcelona {
  background-image: url(images/foto-barcelona.webp);
  background-position: bottom right;
  background-repeat: no-repeat;
}

nav.menu-2025 {
  position: fixed;
  top: 0;
  right: 0;
  padding: 15px 15px;
  background-color: var(--color-primary);
  max-width: 180px;
  display: flex;
  height: 80px;
}
@media screen and (min-width: 768px) {
  nav.menu-2025 {
    max-width: 220px;
    height: 100px;
  }
}
nav.menu-2025.home {
  position: absolute;
  height: 170px;
  background-color: rgba(237, 34, 41, 0.8509803922);
  z-index: 1;
}
nav.menu-2025.home #menu-language {
  height: 31px;
  margin-bottom: auto;
  margin-right: 15px;
}
nav.menu-2025.home button#btn-sandwich, nav.menu-2025.home button#btn-sandwich-2 {
  margin-bottom: auto;
}
nav.menu-2025 #menu-language {
  background-color: transparent;
  width: 100%;
  display: flex;
  align-items: center;
}
nav.menu-2025 #menu-language ul {
  list-style: none;
  margin: 0;
  padding: 0;
  padding-bottom: 5px;
  display: flex;
}
nav.menu-2025 #menu-language ul li a {
  color: var(--color-secondary);
  text-decoration: none;
  display: block;
  padding: 3px 10px;
}
nav.menu-2025 button#btn-sandwich, nav.menu-2025 button#btn-sandwich-2 {
  background-color: transparent;
  border: none;
  color: var(--color-secondary);
  cursor: pointer;
  transform: rotate(90deg);
  font-size: 1.22rem;
  font-weight: 700;
  letter-spacing: 2px;
  position: relative;
  z-index: 100;
  width: 100%;
}/*# sourceMappingURL=style.css.map */