:root {
  --font-1: "Space Grotesk", sans-serif;
  --font-2: "Space Grotesk";
  --primary: #00ecb8;
  --terciary: #00024a;
  --area-1: #9d30bf;
  --area-2: #cc4329;
  --area-3: #408066;
  --area-4: #406f80;
  --fs-220: 220px;
  --fs-180: 180px;
  --fs-128: 128px;
  --fs-120: 120px;
  --fs-77: 77px;
  --fs-70: 70px;
  --fs-64: 64px;
  --fs-50: 50px;
  --fs-48: 48px;
  --fs-46: 46px;
  --fs-45: 45px;
  --fs-44: 44px;
  --fs-42: 42px;
  --fs-40: 40px;
  --fs-38: 38px;
  --fs-36: 36px;
  --fs-35: 35px;
  --fs-34: 34px;
  --fs-32: 32px;
  --fs-30: 30px;
  --fs-28: 28px;
  --fs-26: 26px;
  --fs-24: 24px;
  --fs-22: 22px;
  --fs-20: 20px;
  --fs-18: 18px;
  --fs-16: 16px;
  --gap: 24px;
  --panel-width: 97vw;
}

@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 400;
  src: url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-regular-400.woff2) format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 400;
  src: url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-regular-400.woff2) format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  font-weight: 400;
  src: url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-brands-400.woff2) format("woff2");
  font-display: swap;
}

.img-fluid {
  width: 100%;
  height: auto;
  aspect-ratio: attr(width) / attr(height);
}

html {
  font-family: var(--font-1);
}

.grotesk {
  font-family: var(--font-1);
}

.marble {
  font-family: var(--font-1);
}

.titulo-grande {
  font-family: var(--font-1);
  font-weight: 700;
  font-size: var(--fs-77);
}

.menu {
  font-family: var(--font-1);
  font-weight: 700;
  font-size: var(--fs-18);
}

.titulo-medio {
  font-family: var(--font-1);
  font-weight: 700;
  font-size: var(--fs-40);
}

.intro {
  font-family: var(--font-1);
  font-weight: 700;
  font-size: var(--fs-40);
}

.fs-220 {
  font-size: var(--fs-220);
}

.fs-180 {
  font-size: var(--fs-180);
}

.fs-128 {
  font-size: var(--fs-128) !important;
}

.fs-120 {
  font-size: var(--fs-20);
}

.fs-77 {
  font-size: var(--fs-77);
}

.fs-70 {
  font-size: var(--fs-70);
}

.fs-64 {
  font-size: var(--fs-64);
}

.fs-50 {
  font-size: var(--fs-50);
}

.fs-48 {
  font-size: var(--fs-48);
}

.fs-46 {
  font-size: var(--fs-46);
}

.fs-45 {
  font-size: var(--fs-45);
}

.fs-44 {
  font-size: var(--fs-44);
}

.fs-42 {
  font-size: var(--fs-42);
}

.fs-40 {
  font-size: var(--fs-40);
}

.fs-38 {
  font-size: var(--fs-38);
}

.fs-36 {
  font-size: var(--fs-36);
}

.fs-35 {
  font-size: var(--fs-35);
}

.fs-34 {
  font-size: var(--fs-34);
}

.fs-32 {
  font-size: var(--fs-32);
}

.fs-30 {
  font-size: var(--fs-30);
}

.fs-28 {
  font-size: var(--fs-28);
}

.fs-26 {
  font-size: var(--fs-26);
}

.fs-24 {
  font-size: var(--fs-24);
}

.fs-22 {
  font-size: var(--fs-22);
}

.fs-20 {
  font-size: var(--fs-20) !important;
  ;
}

.fs-18 {
  font-size: var(--fs-18);
}

.fs-16 {
  font-size: var(--fs-16) !important;
}

.ff-1 {
  font-family: var(--font-1);
}

.ff-2 {
  font-family: var(--font-1);
}

.ff-3 {
  font-family: var(--font-3);
}

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

.color-secundary {
  color: var(--secundary);
}

.color-terciary {
  color: var(--terciary);
}

.background-primary {
  background: var(--primary);
}

.background-secundary {
  background: var(--secundary);
}

.background-terciary {
  background: var(--terciary);
}

.section-pt {
  padding-top: 250px;
}

.p-100 {
  padding: 100px 0;
  position: relative;
  z-index: 3;
}

.pt-100 {
  padding-top: 100px;
}

.w-fit-content {
  width: fit-content;
}

p {
  margin-bottom: 0;
}

.enlace {
  font-size: var(--fs-32);
  font-family: var(--font-1);
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.enlace:hover {
  opacity: 0.8;
}

.enlace svg {
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.enlace:hover svg {
  transform: translateX(2px);
}

.header-home {
  height: 50vh;
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}

.word-transition-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.glitch-word,
.glitch-titulo {
  opacity: 0.8;
  line-height: 100%;
  z-index: 9999;
  margin: 0;
  position: relative;
}

.glitch-word {
  position: relative;
  font-weight: 700;
  color: #fff;
  text-align: center;
  z-index: 99999;
  width: fit-content;
  display: inline-block;
  white-space: nowrap;
}

.fuzz,
.blackout {
  position: absolute;
  background-color: #183e2f;
  opacity: 0.8;
  pointer-events: none;
  z-index: -1;
  animation: flicker 0.7s ease-out forwards;
}

.fuzz {
  background-color: #0f9;
  opacity: 0.6;
}

.header-home .navbar.nav .nav-link.active {
  color: var(--primary);
}

.navbar {
  padding-top: 1rem;
  z-index: 99999 !important;
}

@keyframes flicker {
  0% {
    opacity: 1;
    transform: scaleX(1);
  }

  20% {
    opacity: 0.9;
    transform: scaleX(1.1);
  }

  50% {
    opacity: 0.6;
    transform: scaleY(1.05);
  }

  80% {
    opacity: 0.8;
    transform: scale(1.05);
  }

  100% {
    opacity: 0;
    transform: scale(1);
  }
}

.glitch-word::after {
  content: "|";
  animation: blink 1s step-end infinite;
  margin-left: 2px;
}

@keyframes blink {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}

.dropdown-submenu {
  position: relative;
}

.dropdown-submenu>.dropdown-menu {
  top: 0 !important;
  left: 0;
  margin-top: 0;
  margin-left: 0;
  display: none;
  position: relative;
}

.dropdown-submenu:hover>.dropdown-menu {
  display: block;
}

.dropdown-servicios i {
  transition: transform 0.3s ease;
}

.dropdown-servicios:hover i {
  transform: rotateX(180deg);
}

.btn-1 {
  border: 2px solid #fff;
  font-size: var(--fs-26);
  color: #fff;
  text-decoration: none;
  border-radius: 5px;
  padding: 5px 10px;
}

.navbar .nav-link {
  font-size: 28px;
  font-family: var(--font-1);
  font-weight: 400;
  color: #fff;
  text-transform: uppercase;
  padding: 5px;
}

.nav-link.active,
.nav-link.show {
  color: var(--primary);
  font-weight: 700;
}

.navbar .dropdown-toggle::after {
  display: none;
}

.dropdown-menu {
  background: #fff0;
  width: fit-content;
  border-radius: 0;
  bottom: 0;
  height: fit-content;
  min-width: initial;
  background: var(--secundary);
  border: 0;
}

.dropdown-menu li {
  width: 100%;
  border-radius: 0;
  min-width: initial;
  cursor: pointer;
}

.dropdown-menu li .dropdown-item {
  font-size: 16px;
  font-family: var(--font-1);
  font-weight: 400;
  color: #fff;
  text-transform: uppercase;
  width: 100%;
  background-color: transparent !important;
}

.dropdown-menu li .dropdown-item:focus,
.dropdown-menu li .dropdown-item:hover {
  background: white !important;
  color: var(--secundary) !important;
}

.off-canvas-btn {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  border: 0 !important;
  box-shadow: initial !important;
}

.navbar-collapse.show {
  height: calc(100vh - 60px);
}

.navbar .dropdown-toggle::after {
  display: none;
}

.dropdown-menu li .dropdown-item:focus,
.dropdown-menu li .dropdown-item:hover {
  background: var(--secundary);
}

.video-background {
  position: relative;
  height: 50vh;
}

.video-background video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: -1;
  max-height: 50vh;
}

.contenido {
  position: relative;
  z-index: 1;
  color: #fff;
  padding-bottom: 117px;
}

.background-lineal {
  background: var(--primary);
  animation: background-color 5s ease-in-out infinite;
}

.background-lineal:nth-child(1) {
  background: var(--primary);
  animation: background-color 5s ease-in-out infinite;
}

.background-lineal:nth-child(2) {
  background: var(--primary);
  animation: background-color 5s ease-in-out infinite;
  animation-delay: 2s;
}

.background-lineal:nth-child(3) {
  background: var(--primary);
  animation: background-color 5s ease-in-out infinite;
  animation-delay: 4s;
}

.cms .background-lineal {
  background: var(--area-1);
  animation: background-color-cms 5s ease-in-out infinite;
  color: var(--primary);
}

.cms .background-lineal:nth-child(1) {
  background: var(--area-1);
  animation: background-color-cms 5s ease-in-out infinite;
}

.cms .background-lineal:nth-child(2) {
  background: var(--area-1);
  animation: background-color-cms 5s ease-in-out infinite;
  animation-delay: 2s;
}

.cms .background-lineal:nth-child(3) {
  background: var(--area-1);
  animation: background-color-cms 5s ease-in-out infinite;
  animation-delay: 4s;
}

.social .background-lineal {
  background: var(--area-2);
  animation: background-color-social 5s ease-in-out infinite;
  color: var(--primary);
}

.social .background-lineal:nth-child(1) {
  background: var(--area-2);
  animation: background-color-social 5s ease-in-out infinite;
}

.social .background-lineal:nth-child(2) {
  background: var(--area-2);
  animation: background-color-social 5s ease-in-out infinite;
  animation-delay: 2s;
}

.social .background-lineal:nth-child(3) {
  background: var(--area-2);
  animation: background-color-social 5s ease-in-out infinite;
  animation-delay: 4s;
}

.operaciones .background-lineal {
  background: var(--secundary);
  animation: background-color-operaciones 5s ease-in-out infinite;
  color: var(--primary);
}

.operaciones .background-lineal:nth-child(1) {
  background: var(--secundary);
  animation: background-color-operaciones 5s ease-in-out infinite;
}

.operaciones .background-lineal:nth-child(2) {
  background: var(--secundary);
  animation: background-color-operaciones 5s ease-in-out infinite;
  animation-delay: 2s;
}

.operaciones .background-lineal:nth-child(3) {
  background: var(--secundary);
  animation: background-color-operaciones 5s ease-in-out infinite;
  animation-delay: 4s;
}

.web .background-lineal {
  background: var(--area-3);
  animation: background-color-web 5s ease-in-out infinite;
  color: var(--primary);
}

.web .background-lineal:nth-child(1) {
  background: var(--area-3);
  animation: background-color-web 5s ease-in-out infinite;
}

.web .background-lineal:nth-child(2) {
  background: var(--area-3);
  animation: background-color-web 5s ease-in-out infinite;
  animation-delay: 2s;
}

.web .background-lineal:nth-child(3) {
  background: var(--area-3);
  animation: background-color-web 5s ease-in-out infinite;
  animation-delay: 4s;
}

.desing .background-lineal {
  background: var(--secundary);
  animation: background-color-desing 5s ease-in-out infinite;
  color: var(--primary);
}

.desing .background-lineal:nth-child(1) {
  background: var(--secundary);
  animation: background-color-desing 5s ease-in-out infinite;
}

.desing .background-lineal:nth-child(2) {
  background: var(--secundary);
  animation: background-color-desing 5s ease-in-out infinite;
  animation-delay: 2s;
}

.desing .background-lineal:nth-child(3) {
  background: var(--secundary);
  animation: background-color-desing 5s ease-in-out infinite;
  animation-delay: 4s;
}

@keyframes background-color {
  0% {
    background-color: var(--primary);
  }

  50% {
    background-color: initial;
  }

  100% {
    background-color: var(--primary);
  }
}

@keyframes background-color-cms {
  0% {
    background-color: var(--area-1);
  }

  50% {
    background-color: initial;
  }

  100% {
    background-color: var(--area-1);
  }
}

@keyframes background-color-social {
  0% {
    background-color: var(--area-2);
  }

  50% {
    background-color: initial;
  }

  100% {
    background-color: var(--area-2);
  }
}

@keyframes background-color-operaciones {
  0% {
    background-color: var(--secundary);
  }

  50% {
    background-color: initial;
  }

  100% {
    background-color: var(--secundary);
  }
}

@keyframes background-color-web {
  0% {
    background-color: var(--area-3);
  }

  50% {
    background-color: initial;
  }

  100% {
    background-color: var(--area-3);
  }
}

@keyframes background-color-desing {
  0% {
    background-color: var(--area-4);
  }

  50% {
    background-color: initial;
  }

  100% {
    background-color: var(--area-4);
  }
}

.card-fakenews {
  position: relative;
  padding: 1rem;
  border: 2px solid #fff0;
  z-index: 2;
  transition: all ease-in-out 1s;
}

.card-fakenews.active {
  background-color: var(--secundary);
}

.card-fakenews h2 {
  font-family: var(--font-1);
  font-size: var(--fs-77);
  color: var(--secundary);
  text-transform: uppercase;
}

.card-fakenews p {
  font-family: var(--font-1);
  font-size: var(--fs-26);
  color: var(--secundary);
}

.card-fakenews img {
  max-height: 300px;
}

.ver-mas {
  background-color: var(--secundary);
  color: #fff;
  font-size: var(--fs-20);
  border-radius: 10px;
  width: fit-content;
  padding: 5px 10px;
}

.card-fakenews.active {
  h2 {
    font-family: var(--font-1);
    font-size: var(--fs-77);
    color: #fff;
  }

  p {
    font-family: var(--font-1);
    font-size: var(--fs-26);
    color: #fff;
  }

  img {
    max-height: 300px;
  }

  .ver-mas {
    background-color: var(--primary);
    color: var(--secundary);
    font-size: var(--fs-20);
    border-radius: 10px;
    width: fit-content;
    padding: 5px 10px;
  }

  .div-alianzas {
    background: var(--primary);
    border-radius: 100px;
    height: 100px;
    max-width: 100px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    top: -50px;
  }
}

.div-alianzas {
  position: absolute;
  top: -7%;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
}

.div-alianzas.ingram {
  position: absolute;
  top: -4%;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
}

.img-alianzas {
  max-width: 100%;
  height: auto;
}

.carousel-alianzas .card-fakenews p {
  margin-top: 3rem;
}

body {
  background-color: #000;
  overflow-x: hidden;
  height: 100%;
  position: relative;
  padding-bottom: 80px;
}

.custom-cursor.show {
  width: 166px;
  height: 166px;
  background-color: var(--primary);
  opacity: 1;
}

.custom-cursor span {
  display: none;
}

.custom-cursor.show span {
  display: block;
}

.card-fakenews .card-image {
  cursor: none;
}

.carousel-derecha,
.carousel-izquierda {
  margin: 20px 0;
}

.carousel-derecha img,
.carousel-izquierda img {
  margin: 0 10px;
}

.carousel-derecha a,
.carousel-izquierda a {
  padding: 10px;
}

.carousel-izquierda {
  direction: rtl;
}

.carouseles .card-carousel {
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 142px;
  margin: 0 1rem;
}

.carouseles a img {
  width: 100%;
  height: initial !important;
  object-fit: cover;
}

.carousel-izquierda a {
  display: inline-block;
}

.section-amazon {
  background-image: url(/master/assets/img/recursos/fondo-amazon.webp);
  min-height: 800px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.parrafo-tabs,
.img-tabs {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.5s ease-in-out, max-height 0.5s ease-in-out;
  padding-left: 2rem;
}

.parrafo-tabs.active,
.img-tabs.active {
  opacity: 1;
  max-height: 500px;
}

.parrafo-tabs,
.img-tabs {
  display: none;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.parrafo-tabs.active,
.img-tabs.active {
  display: block;
  opacity: 1;
}

.btn-tabs {
  position: relative;
  padding-left: 2rem;
  display: flex;
  line-height: 100%;
  align-items: start;
}

.btn-tabs::before {
  content: "";
  height: 80px;
  width: 8px;
  background: rgb(56 166 115 / 0.2);
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 5px;
}

.btn-tabs:hover {
  color: var(--primary);
  opacity: 1;
}

.btn-tabs.activo {
  opacity: 1;
}

.btn-tabs.activo::before {
  content: "";
  height: 80px;
  width: 8px;
  background: #38a673;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 5px;
}

.card-amazon {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.parrafo-tabs {
  position: relative;
}

.parrafo-tabs::before {
  content: "";
  height: 100%;
  width: 1px;
  background-image: linear-gradient(180deg,
      hsl(156deg 44% 17%) 0%,
      hsl(156deg 44% 16%) 8%,
      hsl(156deg 44% 15%) 17%,
      hsl(156deg 44% 15%) 25%,
      hsl(156deg 44% 14%) 33%,
      hsl(156deg 44% 13%) 42%,
      hsl(156deg 44% 12%) 50%,
      hsl(156deg 44% 11%) 58%,
      hsl(156deg 44% 10%) 67%,
      hsl(156deg 44% 8%) 75%,
      hsl(156deg 44% 7%) 83%,
      hsl(156deg 44% 5%) 92%,
      hsl(0deg 0% 0%) 100%);
  position: absolute;
  left: 4px;
  top: 0;
  border-radius: 5px;
}

#formulario-contacto .form-control,
#formulario-contacto-contacto .form-control {
  border: 4px solid #fff;
  background: var(--secundary);
  border-radius: 0;
  border-top: 0;
  color: #fff;
  min-height: 50px;
}

#formulario-contacto textarea.form-control {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 4px solid #fff;
  border-top: 4px solid;
  border-bottom-left-radius: 20px;
  border-top-right-radius: 10px;
  min-height: 100%;
  resize: none;
}

.text-area-container {
  min-height: 70%;
}

#formulario-contacto button,
#formulario-contacto-contacto button {
  transition: all 0.3s ease-in-out;
}

#formulario-contacto button:hover,
#formulario-contacto-contacto button:hover {
  cursor: pointer;
  background: var(--primary);
}

#formulario-contacto button svg path,
#formulario-contacto-contacto button svg path {
  transition: all 0.3s ease-in-out;
}

#formulario-contacto button:hover svg path,
#formulario-contacto-contacto button:hover svg path {
  fill: #fff;
}

#formulario-contacto .form-control:focus,
#formulario-contacto-contacto .form-control:focus {
  box-shadow: 0 0 0 0.25rem rgb(56 166 115 / 0.2);
}

.h-100vh {
  height: 100vh;
}

.sidebar-tabs {
  display: flex;
  position: sticky;
  top: 0;
  right: 0;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

.tab-button {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  background: none;
  border: none;
  color: #fff;
  padding: 40px 15px;
  cursor: pointer;
  font-weight: 700;
  height: 100%;
  font-size: var(--fs-40);
  font-family: var(--font-2);
}

.tab-button.active {
  display: none;
}

.tab-content {
  flex: 1;
  padding: 2rem;
  overflow-x: hidden;
}

.content-section.active {
  display: block;
}

.tab-content {
  position: relative;
  min-height: 200px;
  overflow: hidden;
}

.content-section {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transform: translateX(100%);
  transition: transform 0.4s ease, opacity 0.4s ease;
  pointer-events: none;
  z-index: 0;
}

.content-section.active {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
  z-index: 2;
  position: relative;
}

.content-section.exiting {
  transform: translateX(-100%);
  opacity: 0;
  z-index: 1;
}

.content-section.active {
  position: relative;
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
  z-index: 2;
}

.tab-button:hover~.tab-content .content-section.preview {
  transform: translateX(20px);
  opacity: 0.5;
  z-index: 1;
  pointer-events: none;
}

.content-section.preview {
  opacity: 0.4;
  transform: translateX(80%);
  pointer-events: none;
  z-index: 1;
}

.tab-content.hovering-preview .content-section.active {
  transform: translateX(-20%);
  opacity: 1;
  z-index: 2;
}

.tag {
  border: 0;
  border-radius: 50px;
  border-bottom-left-radius: 0;
  font-family: var(--font-1);
  font-size: 16px;
  width: fit-content;
  padding: 5px 10px;
}

.tag.cms {
  background: var(--area-1);
  color: #fff;
}

.tag.social {
  background: var(--area-2);
  color: #fff;
}

.tag.web {
  background: var(--area-3);
  color: #fff;
}

.tag.desing {
  background: var(--area-4);
  color: #fff;
}

.tag.operaciones {
  background: var(--secundary);
  color: #fff;
}

.title {
  font-family: var(--font-2);
}

.title.cms span {
  color: var(--area-1);
}

.title.social span {
  color: var(--area-2);
}

.title.desing span {
  color: var(--area-4);
}

.title.operaciones span {
  color: #38a673;
}

.p-80 {
  padding: 80px 0;
}

.h-600 {
  height: 600px;
}

.aws-layout {
  position: relative;
  width: 500px;
  height: 500px;
  margin: 50px auto;
}

.aws-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #00e58f;
  padding: 25px 40px;
  border-radius: 12px;
  z-index: 3;
}

.social .aws-center {
  background-color: var(--area-2);
}

.aws-icon {
  position: absolute;
  width: 80px;
  text-align: center;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  background-color: var(--secundary);
  height: 80px;
  border-radius: 10px;
}

.aws-icon img {
  background-color: #1f2a37;
  border-radius: 12px;
  padding: 15px;
  width: 80px;
  transition: background-color 0.3s;
}

.aws-icon.hovered {
  background-color: #00e58f;
}

.aws-icon.hovered svg path {
  fill: #38a673;
}

.social .aws-icon.hovered {
  background-color: #cc4329;
}

.social .aws-icon.hovered svg path {
  fill: #00e58f;
}

.top {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.aws-icon.top::before {
  content: "";
  height: 367px;
  width: 4px;
  background: var(--primary);
  position: absolute;
  top: 80px;
}

.aws-icon.left::before {
  content: "";
  height: 4px;
  width: 344px;
  background: var(--primary);
  position: absolute;
  left: 80px;
}

.left {
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.right {
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.bottom {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.top .aws-text {
  right: -375px;
  top: -50px;
}

.bottom .aws-text {
  left: -380px;
  top: 0;
  text-align: end;
}

.left .aws-text {
  right: -100%;
  top: -200px;
  text-align: end;
}

.right .aws-text {
  left: 0;
  bottom: -250px;
}

.aws-text {
  position: absolute;
  width: 320px;
  display: none;
  text-align: start;
  z-index: 1;
}

.aws-text h3 {
  color: #00e58f;
  font-size: var(--fs-30);
  font-family: var(--font-2);
  line-height: 100%;
  font-weight: 700;
  margin: 0;
}

.social .aws-text h3 {
  color: #cc4329;
}

.aws-text p {
  font-size: var(--fs-22);
  color: #1c1c1c;
  margin: 5px 0 0;
  line-height: 110%;
}

.top-text {
  top: 90px;
  left: 50%;
  transform: translateX(-50%);
}

.left-text {
  top: 50%;
  left: 90px;
  transform: translateY(-50%);
  text-align: left;
}

.right-text {
  top: 50%;
  right: 90px;
  transform: translateY(-50%);
  text-align: right;
}

.bottom-text {
  bottom: 90px;
  left: 50%;
  transform: translateX(-50%);
}

.aws-layout-movil {
  display: none;
}

.listas {
  list-style-type: none;
  gap: 10px 20px;
  padding: 0;
}

.social.listas li {
  position: relative;
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: var(--fs-20);
  font-weight: 700;
  font-family: var(--font-2);
  line-height: 100%;
}

.social.listas li::before {
  content: "";
  height: 10px;
  min-width: 10px;
  display: block;
  border-radius: 10px;
  background-color: var(--area-2);
}

.cms.listas li {
  position: relative;
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: var(--fs-20);
  font-weight: 700;
  font-family: var(--font-2);
  line-height: 100%;
}

.cms.listas li::before {
  content: "";
  height: 10px;
  min-width: 10px;
  display: block;
  border-radius: 10px;
  background-color: var(--area-1);
}

.desing.listas li {
  position: relative;
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: var(--fs-20);
  font-weight: 700;
  font-family: var(--font-2);
  line-height: 100%;
}

.desing.listas li::before {
  content: "";
  height: 10px;
  min-width: 10px;
  display: block;
  border-radius: 10px;
  background-color: var(--area-4);
}

.operaciones.listas {
  gap: 0;
}

.operaciones.listas li {
  position: relative;
  display: flex;
  gap: 12px;
  flex-direction: column;
  align-items: start;
  font-size: var(--fs-20);
  font-weight: 700;
  font-family: var(--font-2);
  line-height: 100%;
}

.operaciones.listas li p {
  position: relative;
  display: flex;
  gap: 12px;
  align-items: center;
}

.operaciones.listas li p::before {
  content: "";
  height: 10px;
  width: 10px;
  display: block;
  border-radius: 10px;
  background-color: var(--primary);
}

.multiplataforma {
  border: 2px solid #1c1c1c;
  border-radius: 10px;
  padding: 40px;
}

.p-80 .row {
  width: 100%;
}

.lh-110 {
  line-height: 110%;
}

.container-marquee {
  height: fit-content;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  position: relative;
}

.punto {
  height: 15px;
  min-width: 15px;
  max-width: 15px;
  background: var(--terciary);
  border-radius: 15px;
  display: block;
}

.card-partners {
  border: 2px solid #1c1c1c;
  border-radius: 10px;
  padding: 80px;
}

.text-partners h2 {
  line-height: 100%;
}

.text-partners h2::before {
  content: "";
  height: 57px;
  width: 8px;
  background: #38a673;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 5px;
  z-index: 1;
}

.text-partners h2.text-end::before {
  left: initial;
  content: "";
  height: 57px;
  width: 8px;
  background: #38a673;
  position: absolute;
  right: 0;
  top: 0;
  border-radius: 5px;
  z-index: 1;
}

.text-partners h4::before {
  content: "";
  height: 57px;
  width: 8px;
  background: #38a673;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 5px;
  z-index: 1;
}

.text-partners h4.text-end::before {
  left: initial;
  content: "";
  height: 57px;
  width: 8px;
  background: #38a673;
  position: absolute;
  right: 0;
  top: 0;
  border-radius: 5px;
  z-index: 1;
}

.text-partners p {
  margin-bottom: 80px;
}

.text-partners p::before {
  content: "";
  height: 100%;
  width: 1px;
  background: #00ecb8;
  background: linear-gradient(180deg, #00ff99 0%, #183e2f 67%, #000000 100%);
  position: absolute;
  left: 4px;
  top: 5px;
  z-index: 0;
  border-radius: 5px;
  z-index: 0;
}

.text-partners p.text-end::before {
  left: initial;
  content: "";
  height: 100%;
  width: 1px;
  background: #00ecb8;
  background: linear-gradient(180deg, #00ff99 0%, #183e2f 67%, #000000 100%);
  position: absolute;
  right: 4px;
  top: 5px;
  z-index: 0;
  border-radius: 5px;
  z-index: 0;
}

.alianzas {
  font-family: var(--font-2);
  font-size: var(--fs-30);
  line-height: 100%;
  color: var(--primary);
  font-weight: 700;
}

.botones-partners {
  cursor: pointer;
}

.contacto #section-contacto {
  display: none;
}

#enviar-form {
  height: calc(3.5rem + calc(var(--bs-border-width) * 2));
}

#formulario-contacto .form-floating {
  min-width: 280px;
}

.border-top {
  border-top: 1px solid #fff;
  padding-top: 20px;
}

.card-content p {
  background-color: var(--white);
  position: sticky;
  top: 0;
}

.card-content {
  position: relative;
  height: 403px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

.card-content>p {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.8s ease, transform 0.8s ease;
  text-align: center;
  padding: 0 20px;
}

.card-content>p.active {
  position: sticky;
  opacity: 1;
  top: 50%;
  transform: scale(1);
  z-index: 2;
  margin-top: 3rem;
}

@keyframes slideInRight {
  from {
    transform: translateX(100%);
    opacity: 0;
  }

  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slideOutLeft {
  from {
    transform: translateX(0);
    opacity: 1;
  }

  to {
    transform: translateX(-100%);
    opacity: 0;
  }
}

.animate-in {
  animation: slideInRight 0.5s ease forwards;
}

.animate-out {
  animation: slideOutLeft 0.5s ease forwards;
}

.mt-104 {
  padding-top: 104px;
}

@keyframes marquee {
  0% {
    transform: translateX(0%);
  }

  100% {
    transform: translateX(-50%);
  }
}

.hablamos {
  font-size: 12vw;
  font-family: var(--font-1);
  color: #d2e1da;
  text-align: center;
  transition: all ease-in 0.5s;
}

.hablamos:hover {
  color: var(--secundary);
}

.btn-hablamos {
  background-color: var(--secundary);
  color: #fff;
  font-size: var(--fs-50);
  border-radius: 10px;
  width: fit-content;
  padding: 5px 30px;
  text-decoration: none;
  position: absolute;
  top: 50%;
  left: 15%;
  transform: translateY(-50%);
}

.seccion-efecto {
  padding: 8rem 2rem;
  text-align: center;
  position: relative;
}

.cursor-text {
  font-size: var(--fs-50);
  font-weight: 900;
  color: #000;
  position: relative;
  display: inline-block;
  z-index: 1;
}

.cursor-text {
  position: relative;
}

button:hover {
  cursor: none;
}

.custom-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 100px;
  height: 100px;
  background: var(--primary);
  border-radius: 50%;
  pointer-events: none;
  z-index: 99999;
  transform: translate(-50%, -50%);
  transition: opacity 0.2s ease;
  opacity: 1;
  display: flex;
  mix-blend-mode: lighten;
  align-items: center;
  justify-self: center;
}

.cursor-text {
  color: var(--secundary);
  font-size: clamp(24px, 5vw, 72px);
  font-weight: 900;
  mix-blend-mode: normal;
  transition: mix-blend-mode 0.3s;
  position: relative;
  z-index: 1;
}

.seccion-efecto.effect-active .cursor-text {
  mix-blend-mode: difference;
  color: #000;
}

.seccion-efecto {
  position: relative;
  isolation: isolate;
  z-index: 1;
}

.cursor-text {
  text-transform: uppercase;
  mix-blend-mode: normal;
  z-index: 1;
}

.header .btn-1 {
  color: var(--secundary);
  border-color: var(--secundary);
}

.header .navbar.background-secundary .btn-1 {
  color: #fff;
  border-color: #fff;
}

.header .navbar .dropdown-toggle {
  color: var(--secundary);
  border-color: var(--secundary);
}

.header .navbar.background-secundary .dropdown-toggle {
  color: #fff;
  border-color: #fff;
}

.header .contenido {
  padding-bottom: 0;
}

.card-fakenews::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 2px solid var(--secundary);
  z-index: -1;
  box-sizing: border-box;
  border-radius: inherit;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1s ease;
}

.card-fakenews.animated::before {
  clip-path: inset(0 0 0 0);
}

.servicios .card-fakenews h2 {
  font-family: var(--font-1);
  font-size: var(--fs-40);
  color: var(--secundary);
  text-transform: uppercase;
  border: 2px solid var(--secundary);
  width: 100%;
  max-width: 300px;
  display: flex;
  justify-content: center;
  padding: 5px 15px;
}

.servicios .card-fakenews p {
  font-family: var(--font-1);
  font-size: var(--fs-26);
  color: var(--secundary);
}

.servicios .card-fakenews img {
  max-height: 300px;
}

.servicios .ver-mas {
  background-color: #fff;
  border: 2px solid var(--secundary);
  color: var(--secundary);
  font-size: var(--fs-20);
  border-radius: 50px;
  width: fit-content;
  padding: 10px 20px;
}

.servicios .card-fakenews.active {
  h2 {
    border-color: #fff;
    color: #fff;
  }

  p {
    font-family: var(--font-1);
    font-size: var(--fs-26);
    color: #fff;
  }

  img {
    max-height: 300px;
  }

  .ver-mas {
    background-color: var(--secundary);
    border-color: #fff;
    color: #fff;
    font-size: var(--fs-20);
    border-radius: 50px;
    width: fit-content;
    padding: 10px 20px;
  }

  .div-alianzas {
    background: var(--primary);
    border-radius: 100px;
    height: 100px;
    max-width: 100px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    top: -50px;
  }
}

.span-bold {
  font-weight: 400;
}

.span-bold span {
  font-weight: 700;
}

.btn-grande-servicios {
  font-size: var(--fs-77);
  color: var(--secundary);
  opacity: 0.3;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  font-family: var(--font-1);
  font-weight: 700;
  transition: all ease-in 0.5s;
}

.btn-grande-servicios:hover {
  opacity: 1;
}

.btn-tab {
  border: 2px solid #000;
  border-radius: 40px;
  transition: all ease-in 0.5s;
}

.btn-tab:hover {
  background-color: var(--secundary);
  color: #fff;
}

.btn-tab.activo {
  background-color: var(--secundary);
  color: #fff;
  border: 2px solid var(--secundary);
}

.flecha-abajo {
  border-radius: 50px;
  height: 100px;
  width: 50px;
  border: 2px solid #fff;
}

.scroll-icon {
  width: 40px;
  height: 80px;
  border: 2px solid #fff;
  border-radius: 30px;
  position: relative;
}

.scroll-icon .line {
  position: absolute;
  top: 20px;
  left: 50%;
  width: 2px;
  height: 40px;
  background: linear-gradient(to bottom,
      white 0%,
      white 50%,
      transparent 50%,
      transparent 100%);
  background-size: 100% 200%;
  background-position: top;
  transform: translateX(-50%);
  animation: paint-line 2s linear infinite;
}

.scroll-icon .arrow {
  position: absolute;
  bottom: 13px;
  left: 50%;
  width: 10px;
  height: 10px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translateX(-50%) rotate(-45deg);
  opacity: 0;
  animation: opacity 2s linear infinite;
}

.scroll-icon-secundary {
  width: 40px;
  height: 80px;
  border: 2px solid var(--secundary);
  border-radius: 30px;
  position: fixed;
  bottom: 50px;
  right: 50px;
  display: none;
}

.scroll-icon-secundary .line-secundary {
  position: absolute;
  bottom: 20px;
  left: 50%;
  width: 2px;
  height: 40px;
  background: linear-gradient(to bottom,
      var(--secundary) 0%,
      var(--secundary) 50%,
      transparent 50%,
      transparent 100%);
  background-size: 100% 200%;
  background-position: top;
  transform: translateX(-50%);
  animation: paint-line-secundary 2s linear infinite;
}

.scroll-icon-secundary .arrow-secundary {
  position: absolute;
  top: 13px;
  left: 50%;
  width: 10px;
  height: 10px;
  border-left: 2px solid var(--secundary);
  border-bottom: 2px solid var(--secundary);
  transform: translateX(-50%) rotate(-225deg);
  opacity: 0;
  animation: opacity 2s linear infinite;
}

.scroll-icon-secundary.blanco {
  border: 2px solid #fff;
}

.scroll-icon-secundary.blanco .line-secundary {
  background: linear-gradient(to bottom,
      white 0%,
      white 50%,
      white 50%,
      white 100%);
}

.scroll-icon-secundary.blanco .arrow-secundary {
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

@keyframes paint-line {
  0% {
    background-position: bottom;
    opacity: 0;
  }

  100% {
    background-position: top;
    opacity: 1;
  }
}

@keyframes paint-line-secundary {
  0% {
    background-position: top;
    opacity: 0;
  }

  100% {
    background-position: bottom;
    opacity: 1;
  }
}

@keyframes opacity {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@media (min-width: 1600px) {
  .contenedor-servicios {
    max-width: 1320px;
  }
}

@media (max-width: 1200px) {
  :root {
    --font-1: "Roboto", sans-serif;
    --font-2: "Montserrat Alternates", sans-serif;
    --font-3: "Barlow", sans-serif;
    --primary: #00ecb8;
    --secundary: #183e30;
    --terciary: #38a673;
    --area-1: #9d30bf;
    --area-2: #cc4329;
    --area-3: #408066;
    --area-4: #406f80;
    --fs-77: 40px;
    --fs-50: 28px;
    --fs-48: 28px;
    --fs-46: 28px;
    --fs-45: 28px;
    --fs-44: 28px;
    --fs-42: 26px;
    --fs-40: 26px;
    --fs-38: 26px;
    --fs-36: 24px;
    --fs-35: 24px;
    --fs-34: 24px;
    --fs-32: 22px;
    --fs-30: 20px;
    --fs-28: 20px;
    --fs-26: 20px;
    --fs-24: 18px;
    --fs-22: 18px;
    --fs-20: 18px;
    --fs-18: 16px;
    --fs-16: 16px;
  }

  #formulario-contacto .form-floating {
    min-width: initial;
  }

  .aws-layout {
    display: none;
  }

  .aws-layout-movil {
    display: flex;
    flex-direction: column;
    gap: 40px;
    position: relative;
    z-index: 1;
  }

  .aws-layout-movil .aws-text {
    display: block !important;
    position: relative;
  }

  .aws-icon-movil {
    display: flex;
    gap: 20px;
  }

  .aws-center-movil {
    display: flex;
    justify-content: center;
    border-radius: 10px;
    background-color: var(--primary);
    min-height: 44px;
    align-items: center;
  }

  .social .aws-center-movil {
    background-color: var(--area-2);
  }

  .social .aws-layout-movil svg {
    padding: 0.5rem;
  }

  .social .aws-layout-movil svg {
    background-color: var(--area-2);
  }

  .aws-layout-movil::before {
    content: "";
    height: 100%;
    width: 4px;
    background-color: var(--primary);
    position: absolute;
    top: 0;
    left: 8%;
    z-index: -1;
  }

  .h-600 {
    height: fit-content;
  }

  .aws-text h3 {
    color: #38a673;
    font-size: var(--fs-30);
    font-family: var(--font-2);
    line-height: 100%;
    font-weight: 700;
    margin: 0;
  }

  .p-80 .row {
    width: 100%;
    margin: 0 auto;
  }
}

@media (max-width: 992px) {
  :root {
    --font-1: "Roboto", sans-serif;
    --font-2: "Montserrat Alternates", sans-serif;
    --font-3: "Barlow", sans-serif;
    --primary: #00ecb8;
    --secundary: #183e30;
    --terciary: #38a673;
    --area-1: #9d30bf;
    --area-2: #cc4329;
    --area-3: #408066;
    --area-4: #406f80;
    --fs-77: 24px;
    --fs-70: 24px;
    --fs-50: 24px;
    --fs-48: 24px;
    --fs-46: 24px;
    --fs-45: 24px;
    --fs-44: 24px;
    --fs-42: 22px;
    --fs-40: 22px;
    --fs-38: 22px;
    --fs-36: 20px;
    --fs-35: 20px;
    --fs-34: 20px;
    --fs-32: 20px;
    --fs-30: 18px;
    --fs-28: 18px;
    --fs-26: 18px;
    --fs-24: 16px;
    --fs-22: 16px;
    --fs-20: 16px;
    --fs-18: 16px;
    --fs-16: 16px;
  }

  .header-home {
    padding-bottom: 50px;
  }

  .navbar-brand img {
    max-height: 60px;
  }

  .offcanvas.offcanvas-start {
    width: 100%;
    background-image: url(/master/assets/img/recursos/menu-movil.png);
  }

  .offcanvas.offcanvas-start .nav-link {
    font-family: var(--font-2);
    font-size: 30px;
    font-weight: 800;
    color: var(--primary);
  }

  .offcanvas.offcanvas-start .dropdown-toggle {
    border: 1px solid #fff;
    padding: 8px;
    text-decoration: none;
    font-size: 16px;
    font-family: var(--font-1);
    font-weight: 400;
    color: #fff;
    text-transform: uppercase;
  }

  .offcanvas.offcanvas-start .nav-link.active {
    color: var(--secundary);
    background: var(--primary);
    padding: 0 0.5rem;
  }

  .offcanvas.offcanvas-start .dropdown-menu {
    background: #fff0;
    width: fit-content;
    border-radius: 0;
    top: 52px;
    min-width: initial;
    border-color: #fff;
  }

  .offcanvas.offcanvas-start .dropdown-menu li {
    width: fit-content;
    border-radius: 0;
    min-width: initial;
    cursor: pointer;
  }

  .offcanvas.offcanvas-start .dropdown-menu li .dropdown-item {
    font-size: 16px;
    font-family: var(--font-1);
    font-weight: 400;
    color: #fff;
    text-transform: uppercase;
  }

  .offcanvas.offcanvas-start .dropdown-menu li .dropdown-item:focus,
  .offcanvas.offcanvas-start .dropdown-menu li .dropdown-item:hover {
    background: var(--secundary);
  }

  .offcanvas.offcanvas-start.show .off-canvas-btn {
    position: relative;
    right: initial;
    top: initial;
    transform: initial;
    border: 0 !important;
    box-shadow: initial !important;
  }

  .video-background video {
    max-height: 557px;
  }

  .section-pt {
    padding-top: 50px;
  }

  .section-amazon {
    padding: 20px 0;
  }

  .form-floating {
    width: 100%;
  }

  .p-80 {
    padding: 20px 0;
  }

  .tab-button {
    font-size: 16px;
    line-height: 16px;
    padding: 5px;
  }

  .roboto.fs-45 {
    text-align: center;
  }

  .tab-content {
    padding: 0;
    padding-right: 0.5rem;
  }

  .multiplataforma {
    padding: 1rem;
  }

  .listas {
    padding-left: 1rem;
  }

  .card-partners {
    padding: 20px;
  }

  .partners .section-pt {
    padding: 100px 20px 0 20px;
  }

  .partners .col-12.col-lg-7 {
    padding: 40px 0;
  }

  .offcanvas.hiding,
  .offcanvas.show,
  .offcanvas.showing {
    z-index: 99999;
  }

  .carousel-derecha img,
  .carousel-izquierda img {
    max-width: 85%;
  }

  .tab-content.hovering-preview .content-section.active {
    transform: translateX(0%);
  }

  .botones-partners {
    height: 57px;
    display: flex;
    align-items: center;
  }

  .text-partners p {
    margin-bottom: 40px;
  }

  footer {
    margin-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  footer .border-top p {
    text-align: center;
  }

  #customCursor,
  .custom-cursor {
    display: none !important;
    opacity: 0 !important;
  }

  .card-content {
    height: 303px;
  }

  .card-content>p.active {
    margin-top: 0 !important;
    top: 0 !important;
  }

  .word-transition-wrap {
    flex-direction: column;
  }

  .dropdown-menu.show {
    background: #fff0;
    width: 100vw;
    border-radius: 0;
    top: 83px;
    height: 100vh;
    min-width: initial;
    background: var(--secundary);
    border: 0;
    right: initial;
    left: 0;
    position: fixed;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .dropdown-menu li .dropdown-item {
    padding: 0;
    text-align: start;
  }

  .carousel-alianzas .slick-track {
    min-height: 300px;
    display: flex;
    align-items: center;
  }

  .div-alianzas {
    top: -17%;
  }

  .div-alianzas.ingram {
    top: -8%;
  }

  .card-fakenews img {
    max-height: 200px;
  }

  .card-fakenews.active img {
    max-height: 200px;
  }

  .mt-104 {
    padding-top: 50px;
  }

  .datos-reales p,
  .datos-reales h6 {
    text-align: center;
  }

  .datos-reales h6 {
    font-size: 40px;
  }

  .datos-reales p {
    font-size: 22px;
  }

  .hablamos {
    font-size: 15vw;
    font-family: var(--font-1);
    color: #d2e1da;
    text-align: center;
  }

  .btn-hablamos {
    font-size: 16px;
  }

  .sombra-cursor {
    display: none;
  }

  .carouseles a img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
  }
}

canvas {
  display: block;
  vertical-align: bottom;
}

#particles-js {
  position: absolute;
  width: 100%;
  height: calc(100% - 100vh);
  background: #000;
}

h1.header {
  font-size: var(--fs-220);
  line-height: var(--fs-220);
  letter-spacing: -5px;
  font-family: var(--font-1);
  font-weight: 300;
  white-space: wrap;
  width: fit-content;
  white-space: normal;
  max-width: fit-content;
}

h2.header {
  font-size: var(--fs-36);
  line-height: var(--fs-40);
  margin-top: 1rem;
  font-family: var(--font-1);
  font-weight: 500;
}

h2.header span {
  font-weight: 700;
}

h1.header span {
  font-size: var(--fs-36);
  line-height: var(--fs-40);
  letter-spacing: initial;
}

h1.header span b {
  font-weight: 700;
}

#content {
  background-color: #070825;
  height: 100%;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
  -webkit-justify-content: start;
  -ms-flex-pack: distribute;
  justify-content: start;
  -webkit-align-items: start;
  -ms-flex-align: start;
  align-items: start;
  min-height: 100vh;
  font-family: var(--font-1);
  color: #fff;
  gap: 15vh;

  h1 {
    font-size: var(--fs-220);
    line-height: var(--fs-220);
    letter-spacing: -5px;
    font-weight: 300;
    min-height: 400px;
  }

  h2 {
    font-size: var(--fs-36);
    line-height: var(--fs-40);
    margin-top: 2rem;
  }

  h2 span {
    font-size: var(--fs-36);
    line-height: var(--fs-40);
    font-weight: 300;
    margin-top: 2rem;
  }
}

#content.sticky {
  position: sticky;
  top: 0;
}

.btn-principal {
  color: var(--terciary);
  font-size: 18px;
  background-color: var(--primary);
  border-radius: 10px;
  width: fit-content;
  padding: 12.5px 40px;
  text-decoration: none;
  font-family: var(--font-1);
  font-weight: 600;
}

#planet {
  width: 700px;
  height: 700px;
  border-radius: 50%;
  background-color: #000403;
  position: absolute;
  top: 85vh;
  left: 50%;
  margin-left: 0;
  transform: translateX(-50%);
  box-shadow: inset 8px 2px 10px #ede;
  z-index: 0;
}

#d1,
#d1:before,
#d1:after,
#d2,
#d2:before,
#d2:after,
#d3,
#d3:before,
#d3:after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}

#d1,
#d2,
#d3 {
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  -o-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

#d1:before,
#d1:after,
#d2:before,
#d2:after,
#d3:before,
#d3:after {
  background-image: url("data:image/png; base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0BAMAAAA5+MK5AAAAJFBMVEX////////////////////////////////////////////////Vd7HLAAAADHRSTlMARFVmd4iZqrvM3e7VNOnbAAADp0lEQVR4Xu3dwZGbMBQG4BcTg3EuKYESKMElUIJLoARKoASXmmtmsoeNLUBC33fb0zKDEZLe+1HUB4BHfGiNkl2jIGPsgyEyBjR//XGJzMDFdOYT0HxjHtzHF+jrWYECsBiVP3MzK/ibHVGaINv57hqlm+MkeHqITQSK4LnxDHH1IubdmZoxSiETPxUdYKORK43WTB6wLqvsJWCatSSqg/XHXiB08QFAVwFLwuLeK3aC8uWw+z6PDSnw6kfXLnMub8GLTQxFbZAKKpRcwGjC7atM+2Z0/Kw8QBjvX1Ga/v8vnZ9nutpr5GqOe7lFA1aXQJIhps0pA0ub+4+JNcF6vPm6JIA9yB/19Rn3Slffd8/qXvQGiK/g/rOWUqJpEn0RYNqwnvd8dzlxsW9YBDnsPucis1eYzospsEWu7PkuoT2gO2V+YClnqNLpzqyvaBeAANi82fBlZTPFAeiFquuYCGJSTFfbYhlFWvDgAcBNV4fgP3gGkYE58lxE4H72uMo10rmXWUxGuwlCBgC3AqJxT2kWyDTVbk4CgPMq5DuxJ4il3j0AZ1w0Jc4Ox12vVECVZ7Ev5uXfIL3i43mxBJiCpju+wWYgfZwSXCutFtgpX+3ub8xoMaR4pw4nGaqgVQ1TQQCBZeMzDmBSJiweo0zRe+CVtJoLgPIagAW9kCN0zmevDlPKw8E8IzwSHEUHYMBg2LG5jKsLqaX51E+XJo9XMc/NbzP4Ro3vXtBVl5B/1NVvPtjmKLXUCiBhiJQ3Tif4Xf5eKYLbYEvpVcW2nlx3e/Deye2wTUD6Cr6NKoOulmd93ajAQyZP3WWTiu8aIJVMmoX4sPX/V8r3scQ29VWJPqyG63dBl7jjjN5mGDK6Ok2EDlCTUakQLBGFO3TZz6/tJvbo1WexbvcMUFj3C24r3ki3wGkebFMCYyo3+NuWVqXDyItM1V22LK3nvvN5QA8IGrNoRTbLZODFeD36GBWYvhRTz5iiVgqknsl5gy5kYVMdkrhPNOqO5FMOoznqBsKYbNUK057tINAXWRGjSz5aNF7UZ6NCACDTrgHQvMhaEZzNAIC+wca9PHa6C8L+oOI9BwAWjmCSBNL+INoDIHx7lj7HuZJpI+o+L3EVchrD7IwCQ8pDQkQ6cM6QohA380I/ouxekyAqTRflwBwMxzsNIn9VHAggCyqXgscFLJTX2ADgJIrVV7EUpE3obK3ji4agAOa0ArSzOTsTEozdj4xfDYMEWsb1VYA/KFNOcBXJpxsAAAAASUVORK5CYII=");
  content: "";
  -webkit-animation: 20s warp linear infinite;
  -moz-animation: 20s warp linear infinite;
  -ms-animation: 20s warp linear infinite;
  -o-animation: 20s warp linear infinite;
  animation: 20s warp linear infinite;
  visibility: visible;
  background-position: 50% 50%;
}

#d1:before {
  background-position: -190px 80px;
}

#d1:after {
  background-position: 90px -180px;
  -webkit-animation-delay: -2s;
  -moz-animation-delay: -2s;
  -ms-animation-delay: -2s;
  -o-animation-delay: -2s;
  animation-delay: -2s;
}

#d2:before {
  background-position: 210px 180px;
  -webkit-animation-delay: -4s;
  -moz-animation-delay: -4s;
  -ms-animation-delay: -4s;
  -o-animation-delay: -4s;
  animation-delay: -4s;
}

#d2:after {
  background-position: -120px 40px;
  -webkit-animation-delay: -6s;
  -moz-animation-delay: -6s;
  -ms-animation-delay: -6s;
  -o-animation-delay: -6s;
  animation-delay: -6s;
}

#d3:before {
  background-position: 130px 140px;
  -webkit-animation-delay: -8s;
  -moz-animation-delay: -8s;
  -ms-animation-delay: -8s;
  -o-animation-delay: -8s;
  animation-delay: -8s;
}

#d3:after {
  background-position: -150px -90px;
  -webkit-animation-delay: -10s;
  -moz-animation-delay: -10s;
  -ms-animation-delay: -10s;
  -o-animation-delay: -10s;
  animation-delay: -10s;
}

@-webkit-keyframes warp {
  from {
    opacity: 0;
    -webkit-transform: rotate(-60deg) translateZ(-300px);
  }

  to {
    opacity: 1;
    -webkit-transform: rotate(60deg) translateZ(300px);
  }
}

@-moz-keyframes warp {
  from {
    opacity: 0;
    -moz-transform: rotate(-60deg) translateZ(-300px);
  }

  to {
    opacity: 1;
    -moz-transform: rotate(60deg) translateZ(300px);
  }
}

@-ms-keyframes warp {
  from {
    opacity: 0;
    -ms-transform: rotate(-60deg) translateZ(-300px);
  }

  to {
    opacity: 1;
    -ms-transform: rotate(60deg) translateZ(300px);
  }
}

@-o-keyframes warp {
  from {
    opacity: 0;
    -o-transform: rotate(-60deg) translateZ(-300px);
  }

  to {
    opacity: 1;
    -o-transform: rotate(60deg) translateZ(300px);
  }
}

@keyframes warp {
  from {
    opacity: 0;
    transform: rotate(-60deg) translateZ(-300px);
  }

  to {
    opacity: 1;
    transform: rotate(60deg) translateZ(300px);
  }
}

.hscroll {
  position: relative;
  width: 100%;
}

.hscroll .pin {
  position: sticky;
  top: 0;
  height: 65vh;
  overflow: hidden;
}

.hscroll .track {
  display: flex;
  align-items: stretch;
  height: 100%;
  gap: var(--gap);
  padding: var(--gap);
  will-change: transform;
  transform: translateX(0);
}

.hscroll .panel {
  flex: 0 0 var(--panel-width);
  min-height: calc(95vh - 2 * var(--gap));
  padding: 24px;
  display: flex;
  gap: 40px;
  align-items: center;
  justify-content: center;
  transform: none;
  animation: none;
}

.hscroll .panel.active {
  opacity: 1;
}

span.font-defecto {
  font-family: "Roboto", sans-serif;
}

@keyframes fadeDrop {
  from {
    opacity: 0;
    transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeup {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hscroll .panel.active {
    animation: none;
  }
}

.hscroll .panel img {
  max-width: 567px;
  object-fit: contain;
}

.panel h3 {
  margin: 0;
  font-size: var(--fs-64);
  font-family: var(--font-1);
  font-weight: 300;
  color: #fff;
  text-shadow: 4px 4px 15px #ffffff;

}

.panel h3::after {
  content: "/";
}


.panel p {
  margin: 0;
  font-size: var(--fs-30);
  font-family: var(--font-1);
  color: #fff;
  max-width: 400px;
  padding-top: 5%;
}

@media (prefers-reduced-motion: reduce) {
  .hscroll .pin {
    position: static;
    height: auto;
  }

  .hscroll .track {
    display: block;
    padding: var(--gap);
  }

  .hscroll .panel {
    width: 100%;
    margin-bottom: var(--gap);
  }
}

@media (max-width: 640px) {
  :root {
    --panel-width: 95vw;
  }
}

#menu {
  max-height: 100vh;
  top: 0;
  bottom: 0;
  width: 100vw;
  background: radial-gradient(circle, #000000 0%, #fff0 100%);
}

#menu .offcanvas-body {
  display: flex;
  align-items: Center;
  justify-content: center;
}

.strip-wrap {
  overflow-x: visible;
  overflow-y: hidden;
  white-space: nowrap;
}

.link-strip {
  gap: 12px;
  padding: 12px;
  overflow-x: visible;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  display: flex;
  will-change: transform;
  cursor: grab;
  user-select: none;
}

.link-strip:active {
  cursor: grabbing;
}

.link-strip::-webkit-scrollbar {
  display: none;
}

.link-item {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: var(--fs-220);
  font-family: var(--font-1);
  font-weight: 400;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 0.12s ease, background 0.12s ease;
}

.link-item:hover {
  font-weight: 700;
  transform: translateY(-1px);
}

.link-item.active {
  font-weight: 700;
  transform: translateY(-1px);
}

.link-item:focus-visible {
  outline: 2px solid #6366f1;
  outline-offset: 2px;
}

.strip-wrap {
  position: relative;
}

.nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: rgb(255 255 255 / 0.9);
  box-shadow: 0 2px 8px rgb(0 0 0 / 0.15);
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.nav-btn[disabled] {
  opacity: 0.4;
  cursor: default;
}

.nav-prev {
  left: 6px;
}

.nav-next {
  right: 6px;
}

.titulo {
  font-size: var(--fs-64);
  font-family: var(--font-1);
  font-weight: 300;
  color: #fff;
}

.titulo.titulo-v2 {
  text-shadow: 4px 4px 15px #ffffff;

}

.titulo.titulo-v2::after {
  content: "/";
}

.subtitulo {
  font-size: var(--fs-36);
  line-height: var(--fs-40);
  font-family: var(--font-1);
  font-weight: 300;
  color: #fff;
  white-space: nowrap;
}

.subtitulo.subtitulo-v2 {

  white-space: normal;
  align-items: end !important;
}

.cms-ia .spans-colores {
  border-color: var(--primary);
}

.aws .spans-colores {
  border-color: #ff05a4;
}

.operaciones .spans-colores {
  border-color: #ffa400;
}

.web .spans-colores {
  border-color: #5c3dc9;
}

.spans-colores {
  border: 4px solid;
  border-radius: 10px;
  border-bottom-left-radius: 0;
  padding: 12px;
  color: #fff;
  font-size: 18px;
  font-family: var(--font-1);
}

.spans-colores::first-letter {
  text-transform: capitalize;
}

.cards-servicios {
  perspective: 1000px;
  perspective: 1000px;
  view-timeline-name: --row;
  view-timeline-axis: block;
}

.cards-servicios .card-servicios-divs {
  transform-origin: 0 0;
  backface-visibility: hidden;
  will-change: transform, opacity;
  animation-name: tilt-in;
  animation-timing-function: linear;
  animation-timeline: --row;
  animation-range: 0% 50%;
  animation-fill-mode: both;
}

.aws.cards-servicios .card-servicios-divs {
  transform-origin: 0 0;
  backface-visibility: hidden;
  will-change: transform, opacity;
  animation-name: tilt-in-aws;
  animation-timing-function: linear;
  animation-timeline: --row;
  animation-range: 0% 50%;
  animation-fill-mode: both;
}

.web.cards-servicios .card-servicios-divs {
  transform-origin: 0 0;
  backface-visibility: hidden;
  will-change: transform, opacity;
  animation-name: tilt-in-aws;
  animation-timing-function: linear;
  animation-timeline: --row;
  animation-range: 0% 50%;
  animation-fill-mode: both;
}

.img-team {
  min-height: 500px;
  object-fit: contain;
}

footer {
  background-color: #272727;
}

.card-servicios-divs a.subtitulo:hover svg path {
  stroke: #fff;
}

@media (prefers-reduced-motion: reduce) {
  .cards-servicios .card-servicios-divs {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

@keyframes tilt-in {
  from {
    transform: rotate3d(1, 1, 0, -90deg) translateY(100px) scale(1);
  }

  to {
    transform: rotate3d(1, 1, 0, 0deg) translateY(0) scale(1);
    opacity: 1;
  }
}

@keyframes tilt-in-aws {
  from {
    transform: rotate3d(1, 1, 0, 90deg) translateY(100px) scale(1);
  }

  to {
    transform: rotate3d(1, 1, 0, 0deg) translateY(0) scale(1);
    opacity: 1;
  }
}

.label-form {
  align-items: center;
}

.label-form label {
  width: 90%;
  text-align: center;
  border: 4px solid #fff;
  padding: 12px;
  font-family: var(--font-1);
  font-size: var(--fs-18);
  color: #fff;
  font-weight: 500;
  text-transform: uppercase;
}

.label-form .icono-contacto {
  border: 4px solid #fff;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 59px;
  border-left: 0;
  width: 56px;
}

.label-form .icono-contacto img {
  object-fit: contain;
  max-height: 16px;
}

.span-placeholder {
  position: absolute;
  pointer-events: none;
  color: #fff;
  z-index: 999;
  left: 50%;
  top: 50%;
  width: 90%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: var(--fs-30);
  font-family: var(--font-1);
  font-weight: 400;
}

.border-line {
  border-left: 4px solid var(--primary);
  border-bottom: 4px solid var(--primary);
  padding-bottom: 60px;
  padding-left: 20px;
}

.svg-footer .texto path {
  stroke: none;
  fill: #fff0;
  opacity: 0;
}

body.no-scroll,
html.no-scroll {
  overflow: hidden !important;
  height: 100vh !important;
}

.svg-footer path {
  transition: stroke-dashoffset var(--dur, 1s) linear, fill 0.35s ease,
    stroke 0.35s ease;
  vector-effect: non-scaling-stroke;
}

.svg-footer path.has-stroke {
  stroke: #bdbdbd;
}

.svg-footer path.has-fill {
  fill: #bdbdbd;
}

.svg-footer path.animating {
  fill: transparent !important;
  opacity: 1;
}

.svg-footer path.painted {
  stroke: #fff !important;
  fill: #fff !important;
  opacity: 1;
}

.cards-servicios:nth-child(2),
.cards-servicios:nth-child(3),
.cards-servicios:nth-child(4) {
  margin: 3rem 0;
}

.h1-servicios {
  font-size: var(--fs-120);
  font-family: var(--font-1);
  text-shadow: 4px 4px 40px #fff;
  text-align: start;
}

.h1-servicios span {
  font-size: var(--fs-40);
}

.h3-servicios-3 span {
  font-weight: 700;
}

.servicios h3 {
  text-shadow: 4px 4px 40px rgb(255 255 255 / 0.4);
}

.servicios p {
  font-weight: 300;
}

.servicios p span {
  font-weight: 700;
}

body.text-white a {
  color: #fff;
}

.texto-legal-container {
  position: relative;
  z-index: 3;
  padding: 1rem;
}

.texto-legal-container p {
  margin: 1rem 0;
  font-family: var(--font-1);
}

.texto-legal-container h2 {
  font-family: var(--font-1);
  font-size: var(--fs-30);
}

.card-trabajos {
  height: 500px;
  width: 100%;
  transition: height 0.5s ease-in-out;
  background-size: cover;
  padding: 2rem;
  display: flex;
  justify-content: start;
  align-items: end;
  text-decoration: none;
  background-color: #000;
}

.card-trabajos-info {
  background: rgba(0, 0, 0, 0.5);
  padding: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  width: 50%;
}

.card-trabajos-info .texto {
  font-family: var(--font-1);
  font-size: var(--fs-36);
  font-weight: 600;
  line-height: var(--fs-40);
  text-decoration: none;
  color: #fff;
}

@media (max-width: 991px) {
  .card-trabajos-info {
    width: fit-content;
  }
}

.card-trabajos-info .icono {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

.card-trabajos:hover {
  height: 550px;
}

.card-trabajos-padre .card-trabajos:hover {
  height: 350px;
}

.card-1 {
  background-image: url(/master/assets/img/recursos/v3/card-1.jpg);
}

.card-periodicos {
  border: 2px solid var(--primary);
  border-radius: 10px;
  min-height: 142px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px;
}

.logos-footer img {
  max-width: fit-content;
  max-height: 60px;
}

.logos-footer img.aws-footer {
  max-width: 80px;
}

h1.header {
  position: relative;
}

h1.header::before {
  position: absolute;
  top: -8px;
  transform: rotate(-24deg);
  left: 120px;
  font-size: 16px;
  line-height: 16px;
  content: "\f005";
  font-family: "Font Awesome 5 Free";
}

h1.header::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 120px;
  content: "";
  height: 1px;
  background: #fff;
}

.launchpad {
  position: relative;
  height: 420px;
  border-radius: 10px;
  display: flex;
  justify-content: center;
}

.ground {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 18px;
  background: #b0c4de;
  display: none;
}

.progress-bar {
  background-color: var(--primary);
}

.launch {
  animation: fly 1.2s linear forwards;
}

@keyframes fly {
  0% {
    transform: translateY(0);
    opacity: 1;
  }

  100% {
    transform: translateY(-75vh);
    opacity: 0;
  }
}

#progressBar {
  transition: width 1.2s linear;
}

#launchModal .modal-content {
  background: #fff0;
}

:root {
  --scale: 1;
  --rocket-w: calc(80px * var(--scale));
  --rocket-h: calc(220px * var(--scale));
  --fin-w: calc(38px * var(--scale));
  --fin-h: calc(56px * var(--scale));
  --flame-w: calc(30px * var(--scale));
  --flame-h: calc(60px * var(--scale));
  --smoke-s: calc(14px * var(--scale));
  --rise: calc(65vh);
}

#cohete {
  pointer-events: none;
}

.rocket {
  position: relative;
  width: var(--rocket-w);
  height: var(--rocket-h);
  filter: drop-shadow(0 8px 18px rgb(0 0 0 / 0.35));
}

#cohete.launch .rocket {
  animation: liftoff 1.6s ease-in forwards, slightRoll 2.2s ease-in-out;
}

@keyframes liftoff {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(calc(-1 * var(--rise)));
  }
}

@keyframes slightRoll {
  0% {
    rotate: 0deg;
  }

  30% {
    rotate: -2deg;
  }

  60% {
    rotate: 2deg;
  }

  100% {
    rotate: 0deg;
  }
}

.flame {
  transform-box: fill-box;
  transform-origin: 50% 0%;
  animation: flameFlicker 0.12s infinite alternate ease-in-out;
  filter: url(#fFlameBlur);
}

@keyframes flameFlicker {
  from {
    transform: translateY(0) scaleY(0.92);
    opacity: 0.95;
  }

  to {
    transform: translateY(2px) scaleY(1.08);
    opacity: 0.82;
  }
}

.rocket-move {
  transform-box: fill-box;
  transform-origin: 50% 50%;
  transition: transform 1.6s ease-in;
}

.img-team {
  display: block;
  will-change: transform;
  transition: transform 0.12s ease-out;
  transform: perspective(800px) translateZ(0);
  position: relative;
}

.team-card {
  position: relative;
  display: inline-block;
  overflow: hidden;
}

.img-team {
  display: block;
  width: 100%;
  will-change: transform;
  transition: transform 0.12s ease-out;
  transform: perspective(800px) translateZ(0);
}

.team-card::before {
  content: "";
  position: absolute;
  left: 45px;
  bottom: -100%;
  transition: bottom 0.35s ease;
  z-index: 1;
  transform: rotate(4deg);
}

.linkedin-link {
  position: absolute;
  left: 50%;
  bottom: -40px;
  transform: translateX(-50%);
  color: var(--primary);
  font-size: 36px;
  z-index: 2;
  opacity: 0;
  transition: all 0.35s ease;
}

.team-card:hover::before {
  bottom: 47px;
}

.team-card:hover .linkedin-link {
  bottom: 50%;
  opacity: 1;
}

.min-100vh {
  min-height: 100vh;
}

body.aws #particles-js {
  background: linear-gradient(0deg, rgb(255 5 164 / 0.53) 0%, #fff0 100%);
}

body.cms #particles-js {
  background: linear-gradient(0deg, rgb(0 236 184 / 0.53) 0%, #fff0 100%);
}

body.ops #particles-js {
  background: linear-gradient(0deg, rgb(255 164 0 / 0.53) 0%, #fff0 100%);
}

body.web #particles-js {
  background: linear-gradient(0deg, rgb(92 61 201 / 0.53) 0%, #fff0 100%);
}

body.houston #particles-js {
  background: linear-gradient(0deg, rgb(0 2 74 / 0.53) 0%, #fff0 100%);
}

.confirmacion-asistencia #particles-js {
  background-image: url('../img/recursos/confirmacion-background.webp');
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 100vh;
  position: fixed !important;
}

.confirmacion-asistencia .navbar {
  display: none;
}

.confirmacion-asistencia body {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height: 100vh;
}

.area-confirmacion-asistencia {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 33px 33px;
  max-width: 800px;
  width: 100%;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  background-color: rgba(0, 34, 53, 0.5);
  background-clip: padding-box;
  border: var(--bs-border-width) solid var(--primary);
  border-radius: 20px;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.area-confirmacion-asistencia h2:first-child {
  margin-bottom: 40px;
  text-align: center;
  font-size: var(--fs-35);
  font-weight: 700;
}

/*  Filas de información (Icono + Texto) */
.area-confirmacion-asistencia .fila-info {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin: 0 0 20px 0;
  font-size: 25px;
  font-family: var(--font-1);
  font-weight: 700;
  width: 100%;
}

.area-confirmacion-asistencia .fila-info:last-child {
  margin-bottom: 0;
}

.area-confirmacion-asistencia .suave {
  font-weight: 300;
}

.titulo-marca {
  font-family: var(--font-1);
  font-weight: 400;
  color: var(--primary);
  font-size: 23px;
}

/* =========================================
   SECCIÓN DE MARCAS Y LOGOS (Escritorio)
   ========================================= */

/* 1. El envoltorio principal */
.marcas-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 140px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

/* 2. Cada bloque independiente */
.marca-grupo {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* 3. El título a la izquierda en PC */
.titulo-marca {
  font-family: var(--font-1);
  font-weight: 400;
  color: var(--primary);
  font-size: 23px;
  text-align: left;
  margin-bottom: 10px;
}

/* 4. Los logos bien alineados */
.marca-logos {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 20px;
  min-height: 100px;
}

/* Bloqueo para que los SVG no se deformen */
.marca-logos svg {
  flex-shrink: 0;
  max-width: 100%;
  height: auto;
}

/* =========================================
   MÓVIL Y TABLET (CONFIRMACIÓN ASISTENCIA)
   ========================================= */
@media (max-width: 1200px) {
  .marcas-wrapper {
    gap: 100px;
  }
}

@media (max-width: 991px) {
  .marcas-wrapper {
    gap: 40px;
    flex-direction: column;
    align-items: center;
  }

  .titulo-marca {
    text-align: center;
  }

  .marca-logos {
    justify-content: center;
    flex-wrap: wrap;
    min-height: auto;
    gap: 15px;
  }
}

.qc-cmp-cleanslate {
  align-items: end !important;
}

.qc-cmp2-publisher-logo-container .logo-container {
  display: none;
}

#qc-cmp2-ui {
  width: 100% !important;
  max-height: 300px !important;
}

.qc-cmp2-summary-info {
  overflow-y: hidden !important;
}

.qc-cmp2-summary-info div {
  padding: 0 !important;
}

#qc-cmp2-persistent-link {
  background-color: transparent !important;
  height: 40px;
  width: 40px;
  max-height: 40px;
  padding: 0;
  left: 10px;
  bottom: 10px;
  outline-color: #fff0;
  outline: 0;
}

video {
  min-height: 729px;
}

#qc-cmp2-persistent-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

#qc-cmp2-persistent-link::before {
  content: "";
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url('data:image/svg+xml; utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120.23 122.88" style="width:40px; height:40px"><g><path style="fill-rule:evenodd; clip-rule:evenodd; fill:white" d="M98.18,0c3.3,0,5.98,2.68,5.98,5.98c0,3.3-2.68,5.98-5.98,5.98c-3.3,0-5.98-2.68-5.98-5.98 C92.21,2.68,94.88,0,98.18,0L98.18,0z M99.78,52.08c5.16,7.7,11.69,10.06,20.17,4.85c0.28,2.9,0.35,5.86,0.2,8.86 c-1.67,33.16-29.9,58.69-63.06,57.02C23.94,121.13-1.59,92.9,0.08,59.75C1.74,26.59,30.95,0.78,64.1,2.45 c-2.94,9.2-0.45,17.37,7.03,20.15C64.35,44.38,79.49,58.63,99.78,52.08L99.78,52.08z M30.03,47.79c4.97,0,8.99,4.03,8.99,8.99 s-4.03,8.99-8.99,8.99c-4.97,0-8.99-4.03-8.99-8.99S25.07,47.79,30.03,47.79L30.03,47.79z M58.35,59.25c2.86,0,5.18,2.32,5.18,5.18 c0,2.86-2.32,5.18-5.18,5.18c-2.86,0-5.18-2.32-5.18-5.18C53.16,61.57,55.48,59.25,58.35,59.25L58.35,59.25z M35.87,80.59 c3.49,0,6.32,2.83,6.32,6.32c0,3.49-2.83,6.32-6.32,6.32c-3.49,0-6.32-2.83-6.32-6.32C29.55,83.41,32.38,80.59,35.87,80.59 L35.87,80.59z M49.49,32.23c2.74,0,4.95,2.22,4.95,4.95c0,2.74-2.22,4.95-4.95,4.95c-2.74,0-4.95-2.22-4.95-4.95 C44.54,34.45,46.76,32.23,49.49,32.23L49.49,32.23z M76.39,82.8c4.59,0,8.3,3.72,8.3,8.3c0,4.59-3.72,8.3-8.3,8.3 c-4.59,0-8.3-3.72-8.3-8.3C68.09,86.52,71.81,82.8,76.39,82.8L76.39,82.8z M93.87,23.1c3.08,0,5.58,2.5,5.58,5.58 c0,3.08-2.5,5.58-5.58,5.58s-5.58-2.5-5.58-5.58C88.29,25.6,90.79,23.1,93.87,23.1L93.87,23.1z"></path></g></svg>');
}

h2.header.blog {
  font-size: var(--fs-64);
  font-family: var(--font-1);
  font-weight: 500;
}

.texto-cuerpo-blog {
  font-family: var(--font-2);
  font-size: var(--fs-30);
  font-weight: var(--fw-400);
  line-height: 150%;
  letter-spacing: 0;
  text-align: left;
}

.texto-cuerpo-blog h2 {
  font-size: var(--fs-42);
  font-family: var(--font-1);
}

.texto-cuerpo-blog h3 {
  font-size: var(--fs-36);
  font-family: var(--font-1);
}

.texto-cuerpo-blog p {
  margin-bottom: 20px;
}

.texto-cuerpo-blog ol,
.texto-cuerpo-blog ul {
  margin: 20px 0;
}

.texto-cuerpo-blog ul {
  padding-left: 32px;
}

.texto-cuerpo-blog ul li {
  list-style-type: disc;
}

.texto-cuerpo-blog p a,
.texto-cuerpo-blog a {
  color: var(--primary);
  cursor: pointer;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.texto-cuerpo-blog p a:hover,
.texto-cuerpo-blog a:hover {
  color: var(--primary);
  opacity: 0.8;
}

.texto-cuerpo-blog blockquote {
  border: none !important;
  color: #fff;
  font-size: 0.95em !important;
  font-style: italic;
  line-height: 1.45em;
  margin: 40px 0;
  position: relative;
  width: 100%;
  background: transparent;
  padding: 24px;
  border-radius: 10px;
}

.texto-cuerpo-blog blockquote * {
  margin-bottom: 0;
}

.texto-cuerpo-blog blockquote:before {
  color: var(--primary);
  content: "\f10d";
  /* Unicode de la comilla (fa-quote-left) */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  /* Necesario para iconos sólidos */
  font-size: 4em;
  font-style: normal;
  left: 0;
  position: absolute;
  top: -10px;
  transform: scaleX(-1);
  opacity: 1;
}

.texto-cuerpo-blog img {
  margin: 20px 0;
  width: 100%;
  height: auto;
}

.texto-cuerpo-blog>*:last-child {
  margin-bottom: 0 !important;
}

.texto-cuerpo-blog p,
.texto-cuerpo-blog ul li,
.texto-cuerpo-blog a,
.texto-cuerpo-blog span {
  font-size: var(--fs-30);
  color: #fff;
  font-family: var(--font-1);
}

.texto-cuerpo-blog a {
  color: var(--primary);
  text-decoration: none;
}

.texto-cuerpo-blog h2 a {
  color: var(--primary);
  font-size: var(--fs-42);
  font-family: var(--font-1);
}

.texto-cuerpo-blog h3 a {
  color: var(--primary);
  font-size: var(--fs-36);
  font-family: var(--font-1);
}

@media (max-width: 1200px) {
  video {
    min-height: initial;
  }

  #lanzadera .titulo {
    font-weight: 700;
  }

  .servicios h3 {
    font-size: 36px !important;
  }

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

  h1.header::before {
    left: 80px;
    top: -16px;
  }

  h1.header::after {
    width: 80px;
    top: -8px;
  }

  .servicios .p-100 {
    gap: 1rem;
  }

  footer.rounded-4 {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }

  .logo_footer {
    max-width: 50%;
  }

  .min-100vh {
    min-height: initial;
  }

  .card-trabajos {
    height: 270px;
  }

  .card-trabajos:hover {
    height: 270px;
  }

  .card-periodicos {
    max-width: calc(50% - 1.5rem);
  }

  .panel p {
    padding-top: 15px;
  }

  .constelaciones {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .label-form .icono-contacto {
    min-height: 56px;
    width: 46px;
  }

  :root {
    --font-1: "Space Grotesk", sans-serif;
    --font-2: "Marble";
    --primary: #00ecb8;
    --secundary: #183e2f;
    --terciary: #00024a;
    --area-1: #9d30bf;
    --area-2: #cc4329;
    --area-3: #408066;
    --area-4: #406f80;
    --fs-220: 70px;
    --fs-180: 70px;
    --fs-128: 55px;
    --fs-120: 55px;
    --fs-77: 46px;
    --fs-70: 45px;
    --fs-64: 38px;
    --fs-50: 35px;
    --fs-48: 33px;
    --fs-46: 30px;
    --fs-45: 30px;
    --fs-44: 30px;
    --fs-42: 28px;
    --fs-40: 26px;
    --fs-38: 26px;
    --fs-36: 24px;
    --fs-35: 24px;
    --fs-34: 24px;
    --fs-32: 22px;
    --fs-30: 22px;
    --fs-28: 22px;
    --fs-26: 20px;
    --fs-24: 18px;
    --fs-22: 18px;
    --fs-20: 16px;
    --fs-18: 16px;
    --fs-16: 16px;
    --gap: 24px;
    --panel-width: 97vw;
  }

  .link-strip {
    flex-direction: column;
    overflow-x: hidden;
    will-change: initial !important;
    gap: 0;
  }

  .link-item {
    font-size: var(--fs-64);
    white-space: wrap;
    line-height: 100%;
    padding: 10px 14px;
    justify-content: center;
  }

  #menu {
    background: radial-gradient(circle, #000000 0%, rgb(0 0 0 / 0.7) 100%);
    z-index: 9999;
    width: 100%;
  }

  #content {
    position: relative;
    height: 90vh;
    min-height: 90vh;
  }

  #content h1 {
    min-height: initial;
  }

  .offcanvas-backdrop {
    width: 100%;
    display: none;
  }

  .hscroll .track {
    flex-direction: column;
    padding: 0;
  }

  .hscroll .pin {
    height: fit-content;
    overflow-x: hidden;
    overflow-y: visible;
  }

  .hscroll .panel {
    min-height: initial;
    flex-direction: column;
    max-height: fit-content;
    padding: 0 0.5rem;
    margin: 1rem 0;
  }

  .hscroll .panel img {
    max-width: 100%;
  }

  .p-100 {
    padding: 25px 0;
  }

  .pt-100 {
    padding-top: 25px;
  }

  .cards-servicios .titulo {
    font-weight: 700;
  }

  .cards-servicios .subtitulo {
    font-size: 18px;
    line-height: 18px;
  }

  .spans-colores {
    font-size: 12px;
    padding: 8px;
  }

  .cards-servicios:nth-child(1) {
    margin: 0;
  }

  .cards-servicios .col-12 {
    padding: 0;
  }

  .cards-servicios:nth-child(2),
  .cards-servicios:nth-child(3) {
    margin: 3rem 0;
  }

  .cards-servicios:nth-child(4) {
    margin-top: 3rem;
    margin-bottom: 0;
  }

  .cards-servicios img {
    margin: auto 0;
    display: flex;
  }

  .subtitulo {
    display: flex !important;
    align-items: center;
  }

  #planet {
    width: 700px;
    max-width: 350px;
    height: 700px;
    max-height: 350px;
    border-radius: 50%;
    background-color: #000403;
    position: absolute;
    top: 70vh;
    left: 50%;
    margin-left: 0;
    transform: translateX(-50%);
    box-shadow: inset 8px 2px 10px #ede;
    z-index: 0;
  }

  html,
  body {
    overflow-x: hidden !important;
  }

  .img-team {
    min-height: initial;
    max-height: 300px;
    object-fit: contain;
  }

  .carousel-derecha .slick-track {
    display: flex;
    align-items: center;
  }

  .carousel-derecha .slick-track img {
    width: 100% !important;
  }

  h1.header {
    line-height: 100%;
  }

  h1.header span {
    line-height: 100%;
  }

  .hscroll {
    padding: 25px 0;
  }

  .cms .header,
  .aws .header,
  .ops .header,
  .web .header,
  .houston .header,
  .confirmación-asistencia .header {
    margin-top: 25px;
  }
}

.button-two {
  background: #fff0;
  border-radius: 1rem;
  border: 0 solid;
  width: 50px;
  height: 50px;
  padding: 0 !important;
  outline: initial !important;
}

.button-two svg {
  stroke: #fff;
}

.button-two:focus {
  box-shadow: none;
}

.button-two .hamburger {
  transition: transform 1s;
  -o-transition: transform 1s;
  -moz-transition: transform 1s;
  -webkit-transition: transform 1s;
}

.button-two .line {
  transition: 1s;
  -o-transition: 1s;
  -moz-transition: 1s;
  -webkit-transition: 1s;
  stroke-dasharray: 60 31 60 300;
}

.button-two[aria-expanded="true"] .hamburger {
  transform: translate(3px, -3px) rotate(0.125turn);
  -o-transform: translate(3px, -3px) rotate(0.125turn);
  -moz-transform: translate(3px, -3px) rotate(0.125turn);
  -webkit-transform: translate(3px, -3px) rotate(0.125turn);
}

.button-two[aria-expanded="true"] .line {
  stroke-dasharray: 60 105 60 300;
  stroke-dashoffset: -90;
}

.button-two .hamburger {
  transition: transform 1s;
}

.button-two .line {
  transition: 1s;
  stroke-dasharray: 60 31 60 300;
}

.button-two.is-open .hamburger {
  transform: translate(3px, -3px) rotate(0.125turn);
}

.button-two.is-open .line {
  stroke-dasharray: 60 105 60 300;
  stroke-dashoffset: -90;
}

article.panel {
  min-height: clamp(420px, 60vh, 880px);
  content-visibility: auto;
  contain-intrinsic-size: 880px;
}

.img-articles {
  aspect-ratio: 496 / 430;
  width: 100%;
  height: auto;
  display: block;
}

@media (min-width: 768px) {
  .titulo.titulo-v2 {
    max-width: 350px;

  }

}

@media (max-width: 767px) {
  body {
    padding-bottom: 40px;
  }

}

/* Fondo galáctico */
.modal-space {
  background: radial-gradient(1200px 600px at 70% 10%,
      rgba(255, 255, 255, 0.08),
      transparent 60%),
    radial-gradient(1000px 500px at 20% 30%,
      rgba(118, 156, 255, 0.08),
      transparent 60%),
    #050914;
  color: #e9f1ff;
  height: calc(70vh - 3rem);
}

/* Caja del modal con bordes suaves */
.modal-content.space-card {
  background: transparent;
  border: 0;
}

.space-body {
  background-image: url(/master/assets/img/recursos/fondo-modal.png);
  background-size: cover;
  border: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(6px);
  border-radius: 24px;
  padding: 28px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.65);
  position: relative;
  overflow: hidden;
  height: 100%;
  background-repeat: no-repeat;
}

/* “destellos” */
.space-body::after {
  content: "";
  position: absolute;
  inset: -30%;
  background: radial-gradient(600px 300px at 75% 20%,
      rgba(0, 255, 200, 0.12),
      transparent 60%),
    radial-gradient(900px 300px at 20% 80%,
      rgba(0, 180, 255, 0.1),
      transparent 60%);
  pointer-events: none;
  animation: float 12s ease-in-out infinite alternate;
}

@keyframes float {
  to {
    transform: translate3d(10px, -10px, 0) scale(1.02);
  }
}

/* Titulares */
.kicker {
  font-family: Montserrat, Inter, sans-serif;
  letter-spacing: 0.06em;
  color: #24ffd7;
  text-transform: uppercase;
  font-weight: 800;
  margin-bottom: 0.25rem;
  text-shadow: 0 0 12px rgba(36, 255, 215, 0.45);
}

.title-line {
  font-family: Montserrat, Inter, sans-serif;
  font-weight: 800;
  line-height: 1.05;
  font-size: clamp(26px, 4.5vw, 48px);
  text-transform: uppercase;
  margin: 0;
}

.title-line.glow {
  color: #9dffe9;
  text-shadow: 0 0 18px rgba(0, 255, 200, 0.55), 0 0 2px rgba(0, 0, 0, 0.4);
}

.title-line.white {
  color: #fff;
}

/* Botón CTA tipo “píldora” */
.cta-pill {
  display: inline-block;
  border-radius: 15px;
  background: #ffffff;
  color: #0b2a66;
  font-weight: 800;
  padding: 0.65rem 1.1rem;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(11, 42, 102, 0.08);
}

.cta-pill:hover {
  filter: brightness(0.95);
}

/* Meta info */
.when {
  font-weight: 800;
  letter-spacing: 0.03em;
  font-size: clamp(16px, 2.8vw, 22px);
}

.sub {
  opacity: 0.9;
}

.logos {
  opacity: 0.9;
  font-weight: 600;
  font-size: 0.95rem;
}

.logos {
  color: #24ffd7;
  font-size: 20px;
}

.logos span {
  color: #fff;
  font-size: 16px;
}

/* Cierre */
.btn-close-white {
  filter: invert(1) grayscale(1) brightness(1.2);
}

/* Estilos para la paginación */
.pagination-controls {
  padding: 20px 0;
}

/* Botones de flecha (anterior/siguiente) */
.pagination-controls .pagination-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  background-color: transparent;
  color: white;
  cursor: pointer;
  border: 0px;
}

.pagination-arrow:hover svg {
  transform: scale(1.5);
}

.pagination-controls .pagination-arrow:hover:not(:disabled) {
  color: white;
  border: 4px solid white;
  border-bottom: none;
  border-left: none;
  transform: translateY(-2px);
}

.pagination-controls .pagination-arrow:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  border-color: #666;
  color: #666;
}

/* Botones numéricos de página */
.pagination-controls .page-number {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  font-size: var(--fs-30);
  font-weight: 700;
  background-color: transparent;
  color: white;
  cursor: pointer;
  font-family: var(--font-1);
  border: 0px;
}

.pagination-controls .page-number:hover {
  border: 4px solid white;
  border-bottom: none;
  border-left: none;
  transform: translateY(-2px);
}

.pagination-controls .page-number.active {
  color: #ffffff;
  font-weight: 700;
  border: 4px solid #00ecb8;
  border-top: none;
  border-right: none;
  font-family: var(--font-1);
}

.pagination-controls .page-number.active:hover {
  border-color: white;
}

/* Puntos suspensivos */
.pagination-controls .pagination-ellipsis {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  color: white;
  font-size: 20px;
  font-weight: 500;
  font-family: var(--font-1);
}

#page-info {
  font-size: 16px;
  font-weight: 500;
  min-width: 150px;
  text-align: center;
}

#page-info {
  font-size: 16px;
  font-weight: 500;
  min-width: 150px;
  text-align: center;
}

.trabajos.titulo {
  display: inline;
}

.trabajos.titulo b {
  color: var(--primary);
  font-size: inherit;
  font-weight: inherit;
}

.trabajos .texto-cuerpo-blog p b {
  color: var(--primary);
}

.texto-cuerpo-blog img.img-periodicos {
  width: 100%;
  max-width: calc(50% - 1rem) !important;
  margin: 0 !important;
  object-fit: contain;
  max-height: 650px;
  position: relative;
}

.texto-cuerpo-blog img.img-periodicos:nth-child(n + 3):nth-child(-n + 5) {
  width: 100%;
  max-width: calc(33% - 1rem) !important;
  margin: 0 !important;
  object-fit: cover;
}

.texto-cuerpo-blog .bg-imagenes.clase-infocap img.img-periodicos {
  max-width: calc(50% - 1rem) !important;
}


.logos-periodicos {
  max-width: 240px;
  margin: 0 !important;
}

.bg-imagenes {
  position: relative;
  z-index: 1;
}

.bg-imagenes::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: black;
  background-size: cover;
  background-position: center;
  opacity: 0.4;
  /* 👉 aquí bajas la opacidad */
  z-index: -1;
}

@media (max-width: 992px) {
  .seccion-logos a {
    max-width: calc(50% - 1rem);
    margin: 0 !important;
  }

  .texto-cuerpo-blog img.img-periodicos,
  .texto-cuerpo-blog img.img-periodicos:nth-child(n + 3):nth-child(-n + 5) {
    width: 100%;
    max-width: 100% !important;
  }
}

/*BLOG*/
.card-trabajos-texto {
  display: flex;
  flex-direction: column;
}

.card-trabajos-texto.card-trabajos-texto-impar {
  padding-left: 40px;
}

.card-trabajos-texto.card-trabajos-texto-par {

  padding-right: 40px;
}

.card-trabajos-texto span {
  font-family: var(--font-1);
  font-size: var(--fs-48);
  font-weight: 400;
  color: white;
}

.card-trabajos-texto .card-autor {
  margin-top: 12px !important;
  font-family: var(--font-1);
  font-weight: 700 !important;
  font-size: var(--fs-22) !important;
  color: var(--primary) !important;
}

.card-trabajos-texto .card-autor-enlace {
  margin-top: 40px !important;
  font-family: var(--font-1);
  font-weight: 600 !important;
  font-size: var(--fs-32) !important;
  color: white !important;
  background-color: rgba(0, 214, 163, 0.4);
  width: fit-content;
  padding: 0px 25px;
  border-radius: 50px;
  line-height: 2;
}

@media (min-width: 1200px) {
  body.blog h1.header::before {
    top: -38px;
  }

  body.blog h1.header::after {
    top: -30px;
  }
}

@media (max-width: 992px) {
  .card-trabajos-texto.card-trabajos-texto-par {

    padding-right: 0;
  }

  .card-trabajos-texto.card-trabajos-texto-impar {
    padding-left: 0;
  }

  h2.header.blog {
    line-height: 46px !important;
  }

  .card-trabajos-texto .card-autor-enlace {
    margin-top: 25px !important;
  }


}