body {
  background: #e4e4e4;
  font-family: "Poppins", sans-serif;
  color: #1c1c1c;
  -moz-font-feature-settings: "kern";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Estilos del preloader */
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

#preloader img {
  width: 150px;
  animation: scale-fade 2s infinite ease-in-out;
}

@keyframes scale-fade {
  0%,
  100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.2);
    opacity: 0.7;
  }
}

/* Clase para ocultar el preloader */
.hidden {
  opacity: 0;
  visibility: hidden;
}

/* Pantalla de transición */
#page-transition {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black; /* Fondo negro (ajustable) */
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s ease-in-out, visibility 0s 1s; /* Suavidad en la transición */
}

/* **** - - - - HOME - - - - **** */
.title-section {
  font-family: "lustrabook";
  font-size: 0.7rem;
  position: relative;
  display: block;
  overflow: hidden;
  margin-bottom: 5rem;
  text-transform: uppercase;
}
.title-section::after {
  content: "";
  background: #000;
  height: 1px;
  width: 100%;
  display: inline-block;
  position: absolute;
  bottom: 0;
}
section.header-home h1 {
  font-weight: 300;
  margin-top: 6rem;
}
section.header-home .txt-header {
  max-width: 70%;
}
section.header-home .servicio-main {
  font-weight: 600;
  font-size: 4rem;
  line-height: 5.8rem;
}
section.header-home .servicios {
  text-align: right;
}
section.header-home .servicios h2 {
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 0.2rem;
  margin-top: 2rem;
}
section.seo h2 {
  font-weight: 600;
}
section.seo h3 {
  font-weight: 300;
}
section.seo .cont-cel {
  position: relative;
}
section.seo .cont-seo-serch {
  position: absolute;
  left: 0;
  right: 0;
  top: 40%;
}
section.seo .seo-serch {
  position: relative;
}
section.seo .seo-serch .icon {
  display: inline-block;
  width: 1.8em;
  height: 1.8em;
  font-size: 0.8rem;
}

section.seo .seo-serch .form-control {
  width: 0;
  position: absolute;
  top: 50%;
  overflow: hidden;
  margin: 0;
  transform: translateY(-50%);
  height: 38px;
  right: 18px;
  border: none;
  box-shadow: none;
  font-size: 22px;
  color: #000;
  letter-spacing: 1px;
}

section.seo .seo-serch .form-control:focus {
  outline: none;
  border: none;
  border-color: transparent;
  box-shadow: none;
}
section.seo .seo-serch .form-control:focus + .label-wrap {
  opacity: 0;
}

section.seo .seo-serch form {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

section.seo .seo-serch .icon-wrap {
  border-radius: 50%;
  box-shadow: 0px 6px 6px rgba(0, 0, 0, 0.28);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  cursor: pointer;
}

section.seo .seo-serch svg {
  position: absolute;
  left: 0.8rem;
}

section.seo .seo-serch .form-group {
  margin: 0;
  position: relative;
}

section.seo .seo-serch .label-wrap {
  overflow: hidden;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  width: 100%;
  height: 36px;
  z-index: 4;
  pointer-events: none;
}

section.seo .seo-serch label {
  position: absolute !important;
  transform: translateY(-50%);
  top: 50%;
  right: 18px;
  z-index: 10;
  font-size: 0.8rem;
  margin: 0;
  width: 0;
  overflow: hidden;
  pointer-events: none;
  white-space: nowrap;
  letter-spacing: 1px;
}
section.banner-contacto {
  background: #212121;
  position: relative;
}
section.banner-contacto img.grid {
  mix-blend-mode: color-dodge;
}
section.banner-contacto h3 {
  color: #faf6f6;
  font-weight: 400;
  font-size: 1rem;
  text-align: center;
  position: absolute;
  right: 0;
  left: 0;
  margin-top: 2rem;
}
section.banner-contacto h4 {
  font-family: "lustrabook";
  color: #6d6d6d;
  font-size: 6rem;
  text-align: center;
  position: absolute;
  right: 0;
  left: 0;
  margin-top: 3rem;
}
section.banner-contacto .phone {
  position: absolute;
  left: 0;
  right: 12rem;
  margin: auto;
  top: 0;
  margin-top: 2.5rem;
  /* animation: phone 11s infinite ease-in-out; */
}
@keyframes phone {
  0% {
    transform: translateY(2rem) rotate(0);
  }
  50% {
    transform: translateY(0) rotate(-5deg);
  }
  100% {
    transform: translateY(2rem);
  }
}
section.banner-contacto .astronauta {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  margin-top: 8.5rem;
  /* animation: astronauta 10s infinite ease-in-out; */
}
@keyframes astronauta {
  0% {
    transform: translateY(2rem) rotate(0);
  }
  50% {
    transform: translateY(0) rotate(10deg);
  }
  100% {
    transform: translateY(2rem);
  }
}
section.banner-contacto .cont-btn-2 {
  position: absolute;
  bottom: 3rem;
  text-align: center;
  left: 0;
  right: 0;
  margin: auto;
}

/* Mostrar transición (al salir de la página) */
#page-transition.show {
  opacity: 1;
  visibility: visible;
  transition: opacity 1s ease-in-out, visibility 0s; /* La visibilidad se hace instantánea */
}

/* Animación fade-in para el contenido */
.fade-in {
  opacity: 0;
  animation: fadeIn 1.5s ease forwards; /* Animación suave */
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.form-select {
  width: 100% !important;
  padding: 10px !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  color: #495057 !important;
  background-color: #fff !important;
  background-clip: padding-box !important;
  border: 1px solid #ced4da !important;
  border-radius: 5px !important;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

.form-select:focus {
  border-color: #80bdff !important;
  outline: 0 !important;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important;
}

.col-12.col-lg-1 {
  display: flex;
  justify-content: center; /* Centra horizontalmente */
  align-items: center; /* Centra verticalmente si el contenedor tiene una altura definida */
}

.img-fluiddos {
  max-width: 100%; /* Asegura que la imagen no se desborde */
  height: auto; /* Mantiene la proporción de la imagen */
  border-radius: 20px;
}

.img-fluid {
  max-width: 100%; /* Asegura que la imagen no se desborde */
  height: auto; /* Mantiene la proporción de la imagen */
}

.background-section {
  background-image: url("../../img/Brandings/background.webp");
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  min-height: auto !important; /* Altura completa de la pantalla para dispositivos grandes */
  /* SE MODIFICÓ EL 25/10 */
}

.section-about {
  position: relative;
  padding: 60px 15px; /* Espaciado en la sección */
  background-color: #e4e4e4; /* Ajusta el color de fondo según sea necesario */
}

.overlay-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #e4e4e4; /* Ajusta la opacidad del overlay si es necesario */
  z-index: 0;
}

.content-container {
  position: relative;
  z-index: 1;
}

.content-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0px; /* Espacio entre columnas */
}

.content-col-main {
  text-align: center;
}

.section-description {
  padding: 0 10%; /* Espaciado en el texto */
  text-align: justify;
}

.responsive-image {
  max-width: 90% !important;
  height: auto;
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}

/* Estilos generales */
section.custom-header {
  height: 60vh !important;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Imagen de fondo */
.custom-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

/* Contenedor del texto */
.custom-text-container {
  text-align: center;
  color: white;
  margin-bottom: 2rem;
}

/* Estilos del texto */
.custom-text {
  font-family: "newyork";
  font-size: 5vh;
  text-shadow: 2px 3px 2px rgba(0, 0, 0, 95.7); /* Sombra más pronunciada */
  font-weight: bold;
  white-space: nowrap;
  border-right: 2px solid white; /* Cursor estilo m�quina de escribir */
  overflow: hidden;
}

/* Indicador de scroll */
.scroll-indicator {
  position: absolute;
  color: white;
  text-align: center;
  font-family: "newyork";
  font-size: 1.5rem;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
}

.heading-title {
  font-family: "newyork";
  text-align: left;
  margin-left: 9%;
  font-size: 2rem !important;
}

.scroll-arrow {
  margin-top: 10px;
  border-width: 0 3px 3px 0;
  display: inline-block;
  padding: 10px;
  transform: rotate(45deg);
}

/* Animaciones */
@keyframes typing {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

@keyframes erasing {
  from {
    width: 100%;
  }
  to {
    width: 0;
  }
}

@keyframes blink-caret {
  50% {
    border-color: transparent;
  }
}

/* Animaci�n de flecha */
@keyframes bounce {
  0%,
  100% {
    transform: rotate(45deg) translateY(0);
  }
  50% {
    transform: rotate(45deg) translateY(10px);
  }
}

.scroll-arrow {
  animation: bounce 1.5s infinite;
}

/* Scroll suave para la p�gina */
html {
  scroll-behavior: smooth;
}

.whatsapp-button {
  position: fixed;
  left: 0px;
  bottom: 0px;
  transform: translateY(-50%);
  z-index: 1000;
  width: 120px;
  height: 100px;
}

.whatsapp-button dotlottie-player {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .whatsapp-button {
    right: 10px;
    width: 110px;
    height: 80px;
    top: 90% !important;
  }
}

/* Estilo para navegadores WebKit */
::-webkit-scrollbar {
  width: 8px; /* Ancho de la barra de desplazamiento */
}

::-webkit-scrollbar-track {
  background: #f1f1f1; /* Color de fondo de la pista */
}

::-webkit-scrollbar-thumb {
  background-color: #000; /* Color de la barra de desplazamiento */
  border-radius: 10px; /* Bordes redondeados */
}

::-webkit-scrollbar-thumb:hover {
  background: #555; /* Color de la barra al pasar el cursor */
}

/* Estilo para Firefox */
html {
  scrollbar-width: thin; /* Ancho de la barra (thin = delgada) */
  scrollbar-color: #000 #f1f1f1; /* Color de la barra y de la pista */
}

.back-to-top {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 60px;
  background-color: #000; /* Fondo negro */
  border-radius: 50%;
  text-align: center;
  line-height: 60px; /* Alineación vertical del texto */
  color: #fff; /* Color del icono */
  cursor: pointer;
  z-index: 1000;
  display: none; /* Oculto por defecto */
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.back-to-top:hover {
  background-color: #333; /* Color de fondo al pasar el ratón */
  transform: translateX(-50%) translateY(-5px); /* Efecto de desplazamiento */
}

.fas.fa-arrow-up {
  font-size: 24px; /* Tamaño del icono */
  color: #fff; /* Color blanco del icono */
  line-height: 60px; /* Alineación vertical del icono dentro del contenedor */
  display: inline-block; /* Asegura que el icono se comporte como un elemento en línea bloqueado */
}

@media screen and (max-width: 768px) {
  /* Ocultar las letras en dispositivos móviles */
  section.menu-lpmkt .cont-tel {
    display: none !important;
  }
  

  /* Reducir el tamaño de la imagen en dispositivos móviles */
  .header-left img {
    max-width: 80px; /* Ajusta el tamaño según lo que necesites */
  }

  .codrops-header {
    display: flex;
    flex-direction: column; /* Apila los elementos uno sobre otro */
    align-items: center; /* Centra los elementos */
  }

  .header-left {
    order: -1; /* Mueve la imagen arriba del texto */
    margin-bottom: 15px; /* Espacio entre la imagen y el texto */
  }

  .heading-title {
    font-size: 2rem !important;
    text-align: center;
    margin-left: 0%;
    margin-top: 30px !important;
  }

  .back-to-top {
    width: 50px;
    height: 50px;
    line-height: 50px; /* Alineación vertical del texto */
  }

  .fas.fa-arrow-up {
    font-size: 20px;
    line-height: 50px; /* Alineación vertical del icono dentro del contenedor */
  }
}

@font-face {
  font-family: "newyork";
  src: url("../fonts/newyork.eot");
  src: url("../fonts/newyork.eot?#iefix") format("embedded-opentype"),
    url("../fonts/newyork.woff2") format("woff2"),
    url("../fonts/newyork.woff") format("woff"),
    url("../fonts/newyork.ttf") format("truetype"),
    url("../fonts/newyork.svg#lustrabook") format("svg");

  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "lustrabook";
  src: url("../fonts/lustra_book-webfont.eot");
  src: url("../fonts/lustra_book-webfontd41d.eot?#iefix")
      format("embedded-opentype"),
    url("../fonts/lustra_book-webfont.woff2") format("woff2"),
    url("../fonts/lustra_book-webfont.woff") format("woff"),
    url("../fonts/lustra_book-webfont.ttf") format("truetype"),
    url("../fonts/lustra_book-webfont.svg#lustrabook") format("svg");

  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "ronix";
  src: url("../fonts/ronix.eot");
  src: url("../fonts/ronixd41d.eot?#iefix") format("embedded-opentype"),
    url("../fonts/ronix.woff2") format("woff2"),
    url("../fonts/ronix.woff") format("woff"),
    url("../fonts/ronix.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* **** - - - - GENERALES - - - - **** */
/* **** - - - - GENERALES - - - - **** */
/* **** - - - - GENERALES - - - - **** */
.wwwa__cta__ico {
  width: auto;
}
.p-relative {
  position: relative;
}
main.servicios-header {
  height: auto;
  padding-top: 3rem;
  text-align: center;
}
main.servicios-header h1 {
  font-size: 4.5rem;
  font-weight: 300;
  font-family: "newyork";
}
.bg-b-circle {
  background: #000 !important;
}
.icon-w {
  background: #fff !important;
}
.icon-w::before {
  border-color: #fff !important;
}
.button-text-w {
  color: #000 !important;
}
a:hover .button-text-w {
  color: #fff !important;
}
main.home a.btn-lpmkt .button-text {
  font-size: 0.9rem;
}
main.home form span {
  font-weight: 500;
  font-size: 1.2rem;
  margin: 5rem auto 2rem;
  display: block;
}
section {
  padding: 4rem 0;
}
p {
  font-weight: 200;
  font-size: 1rem !important;
}
img {
  width: 100%;
}
.pr {
  position: relative;
}
.row {
  margin-right: 0;
}
.ds-dn {
  display: none;
}
.pd0 {
  padding: 0;
}
.bg-black {
  background: #000 !important;
}
article.seccion-full {
  position: relative;
  background-size: cover;
  color: #fff;
}
article.seccion-full img {
  width: 100vw;
}
article.seccion-full .cont-text {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 3rem;
}
article .etiqueta-servicio {
  font-weight: 200;
  font-size: 0.9rem;
  margin-top: 1rem;
}
article.seccion-full .etiqueta-servicio::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #fff;
  display: block;
  margin-top: 1rem;
  transform: translateX(-3rem);
}
article .etiqueta-servicio::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #b0b0b0;
  display: block;
  margin-top: 1rem;
}
article.seccion-full .titulo-proyecto,
article.seccion-full .descripcion-proyecto,
article.seccion-full .etiqueta-servicio,
article.seccion-full a.btn-lpmkt {
  transform: translateX(3rem);
}
article.seccion-full a.btn-lpmkt {
  margin: 1rem auto;
}
article.seccion-full a.btn-lpmkt .circle .icon.arrow::before {
  border-color: #000;
}
article.seccion-full a.btn-lpmkt .circle .icon.arrow {
  background: #000;
}
article .titulo-proyecto {
  margin-top: 0.5rem;
  font-family: "newyork";
  font-weight: 300;
  font-size: 2.5rem;
}
article.seccion-full a.btn-lpmkt .button-text {
  color: #fff;
}
article.seccion-full a:hover .button-text {
  color: #000;
}
article.seccion-full a.btn-lpmkt .circle {
  background: #fff;
}
article.grid-proyecto {
  padding: 2rem;
}
article.grid-proyecto img {
  margin-bottom: 1rem;
  width: 100%;
}
.cont-proyectos {
  padding: 0 2rem;
}
section.blog-secciones {
  padding: 5rem 0;
  background-image: url("../img/bg-blog.jpg");
  color: #fff;
  overflow: hidden;
}
section.blog-secciones .frase-blog {
  z-index: 1;
}
section.blog-secciones hgroup {
  max-width: 70%;
}
section.blog-secciones .titulo-articulo {
  font-weight: 400;
  font-size: 2.2rem;
}
section.blog-secciones a.btn-lpmkt {
  width: 10rem;
}
section.blog-secciones .autor,
section.blog-secciones .fecha,
section.blog-secciones a.btn-lpmkt .button-text {
  font-size: 0.8rem;
}
section.blog-secciones .autor {
  margin: 0 1rem;
}
section.blog-secciones .grid__item {
  margin: 2rem auto;
  z-index: 2;
}
section.blog-secciones .words {
  font-weight: 600;
  font-size: 20rem;
  line-height: 8rem;
  color: #fff;
  display: inline-block;
  white-space: nowrap;
  /* El ancho del text debe ser igual que la distancia entre sombras */
  width: 160rem;
  animation: move-text 20s linear infinite;
  /* Text shadow funciona igual que box-shadow, pero para texto   */
  text-shadow: 160rem 0, 320rem 0;
}
@keyframes move-text {
  to {
    transform: translateX(-100%);
  }
}
section.info-home {
  background-image: url("../img/bg-grain.webp");
  color: #fff;
}
section.mas-proyectos {
  background: #f0f0f0;
  padding: 5rem 0;
}
section.mas-proyectos a.btn-lpmkt .circle {
  margin-left: auto;
  right: -1rem;
  background-color: #000;
}
section.mas-proyectos a.btn-lpmkt .button-text {
  font-size: 1.8rem;
  font-weight: 300;
  margin-left: 0;
  line-height: 1rem;
  color: #000;
}
section.mas-proyectos a.btn-lpmkt {
  width: 22rem;
  text-align: center;
  display: block;
  margin: auto;
}
section.mas-proyectos a.btn-lpmkt .circle .icon.arrow::before {
  border: none;
}
section.mas-proyectos a.btn-lpmkt .circle .icon.arrow {
  transform: rotate(180deg);
  right: 0.7rem;
  left: auto;
  background-color: #fff;
}
section.mas-proyectos a.btn-lpmkt:hover .button-text {
  color: #fff;
}
section.mas-proyectos a.btn-lpmkt .circle .icon.arrow-2 {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  right: 0.7rem;
  left: auto;
  width: 1.125rem;
  height: 0.101rem;
  background: #fff;
  transform: rotate(90deg);
}
section.mas-proyectos a.btn-lpmkt:hover .circle .icon.arrow {
  right: 1rem;
  left: auto;
  transform: rotate(-180deg);
}
section.mas-proyectos a.btn-lpmkt:hover .circle .icon.arrow-2 {
  right: 1rem;
  left: auto;
  transform: rotate(-90deg);
}
.bg-grain {
  background-image: url("../img/bg-blog.jpg");
}
/* **** - - - - BOTON - - - - **** */
/* **** - - - - BOTON - - - - **** */
/* **** - - - - BOTON - - - - **** */
button {
  position: relative;
  display: inline-block;
  cursor: pointer;
  outline: none;
  border: 0;
  vertical-align: middle;
  text-decoration: none;
  background: transparent;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
}
button.btn-lpmkt {
  position: relative;
  z-index: 999;
  width: 10rem;
  height: auto;
  margin: 2.5rem 0;
}
button.btn-lpmkt .circle {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: relative;
  display: block;
  margin: 0;
  width: 2.5rem;
  height: 2.5rem;
  background: #1c1c1c;
  border-radius: 1.625rem;
}
button.btn-lpmkt .circle .icon {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #fff;
}
button.btn-lpmkt .circle .icon.arrow {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  left: 0.6rem;
  width: 1.125rem;
  height: 0.101rem;
  background: #fff;
  transform: rotate(315deg);
}
button.btn-lpmkt .circle .icon.arrow::before {
  position: absolute;
  content: "";
  top: -0.25rem;
  right: 0.0625rem;
  width: 0.625rem;
  height: 0.625rem;
  border-top: 0.12rem solid #fff;
  border-right: 0.12rem solid #fff;
  transform: rotate(45deg);
}
button.btn-lpmkt .button-text {
  font-size: 0.8rem;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.75rem 0;
  margin: 0 0 0 1.85rem;
  color: #1c1c1c;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}
button:hover .circle {
  width: 100%;
}
button:hover.btn-lpmkt .circle .icon.arrow::before {
  transform: rotate(45deg);
}
button:hover .circle .icon.arrow {
  background: #fff;
  transform: translate(1rem, 0);
}
button:hover .button-text {
  color: #fff !important;
}
form button.btn-lpmkt {
  width: 13rem;
  display: block;
  margin-left: auto;
}
a {
  position: relative;
  display: inline-block;
  cursor: pointer;
  outline: none;
  border: 0;
  vertical-align: middle;
  text-decoration: none;
  background: transparent;
  padding: 0;
  font-size: inherit;
  font-family: "newyork";
}
a.btn-lpmkt {
  position: relative;
  z-index: 900;
  width: 12rem;
  height: auto;
  margin: 2.5rem 0;
}
a.btn-lpmkt:hover {
  border-bottom: none;
}
a.btn-lpmkt .circle {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: relative;
  display: block;
  margin: 0;
  width: 2.5rem;
  height: 2.5rem;
  background: #1c1c1c;
  border-radius: 1.625rem;
}
a.btn-lpmkt .circle .icon {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #fff;
}
a.btn-lpmkt .circle .icon.arrow {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  left: 0.6rem;
  width: 1.125rem;
  height: 0.101rem;
  background: #fff;
  transform: rotate(315deg);
}
a.btn-lpmkt .circle .icon.arrow::before {
  position: absolute;
  content: "";
  top: -0.25rem;
  right: 0.0625rem;
  width: 0.625rem;
  height: 0.625rem;
  border-top: 0.12rem solid #fff;
  border-right: 0.12rem solid #fff;
  transform: rotate(45deg);
}
a.btn-lpmkt .button-text {
  font-size: 0.8rem;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.75rem 0;
  margin: 0 0 0 1.85rem;
  color: #1c1c1c;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}
a:hover .circle {
  width: 100%;
}
a:hover.btn-lpmkt .circle .icon.arrow::before {
  transform: rotate(45deg);
}
a:hover .circle .icon.arrow {
  background: #fff;
  transform: translate(1rem, 0);
}
a:hover .button-text {
  color: #fff;
}

a:hover {
  border-bottom: 1px solid #111;
}
/* a:hover{
  border-bottom: 1px solid #111;
} */
a.btn-2:hover {
  cursor: pointer;
}
a.btn-2 {
  background: #fff;
  outline: none;
  position: relative;
  color: #1c1c1c;
  border: 2px solid #fff;
  padding: 15px 50px;
  overflow: hidden;
}
section.sem a.btn-2 {
  padding: 1rem;
}
/*button:before (attr data-hover)*/
a.btn-2:hover:before {
  opacity: 1;
  transform: translate(0, 0);
}
a.btn-2:before {
  content: attr(data-hover);
  position: absolute;
  top: 1.1em;
  left: 0;
  width: 100%;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-weight: 400;
  font-size: 0.8em;
  opacity: 0;
  transform: translate(-100%, 0);
  transition: all 0.3s ease-in-out;
}
/*button div (button text before hover)*/
a.btn-2:hover div {
  opacity: 0;
  transform: translate(100%, 0);
}
a.btn-2 div {
  text-transform: uppercase;
  letter-spacing: 3px;
  font-weight: 400;
  font-size: 0.8em;
  transition: all 0.3s ease-in-out;
  color: #1c1c1c;
}
/* **** - - - - CURSOR - - - - **** */
/* **** - - - - CURSOR - - - - **** */
/* **** - - - - CURSOR - - - - **** */
#custom-cursor {
  position: fixed;
  top: 0;
  left: 0;
  height: 80px;
  width: 80px;
  border-radius: 50%;
  mix-blend-mode: difference;
  background: white;
  pointer-events: none;
  z-index: 1000;
}

/* **** - - - - MENU SECCIONES - - - - **** */
.work {
  position: relative;
  width: 100%;
  height: 90px;
  overflow: hidden;
}
.work__wrapper {
  position: relative;
  width: 100%;
  height: 90px;
}
.work:before {
  transition: all 0.3s ease-out;
  transform-origin: center top;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 90px;
  z-index: 3;
  transform: scale(0);
}
.work__info {
  position: relative;
  display: block;
  width: 80%;
  margin: auto;
  height: 90px;
  z-index: 1;
}
.work__info__title {
  line-height: 1;
  clear: both;
  height: auto !important;
  padding-top: 28px;
}
.work__info__description {
  line-height: 1;
  clear: both;
  font-weight: 200;
  font-size: 14px;
  height: auto !important;
}
.work__info__content {
  position: relative;
  display: block;
  width: 100%;
  height: 90px;
  border-bottom: 1px solid #444444;
}
.work__info__content div {
  float: left;
  height: 90px;
  line-height: 90px;
}
.work__info__name {
  padding: 0 20px 0 0;
  font-size: 30px;
  width: 60%;
}
.work__info__year {
  transition: all 0.3s ease-out;
  margin-top: 0;
  padding: 0 20px 0 0;
  font-size: 16px;
  width: 30%;
}
.work__info__arrow {
  padding: 0 20px 0 30px;
  font-size: 16px;
  text-align: right;
  width: 10%;
}
.work__info__detail {
  transition: all 0.3s ease-out;
  position: absolute;
  top: 50px;
  left: 0;
  width: 100%;
  height: 0;
  opacity: 0;
  overflow: hidden;
  z-index: 10;
}
.work__info__detail div {
  float: left;
  height: 90px;
}
.work__info__detail__name {
  font-size: 38px;
  width: 30%;
  padding-left: 40px;
  line-height: 90px;
}
.work__info__detail__category {
  width: 20%;
}
.work__info__detail__agency {
  width: 20%;
}
.work__info__detail__year {
  padding-left: 2%;
}
.work:hover .work__info__year {
  margin-top: -10px;
}
.work:hover .work__info__detail {
  opacity: 1;
  height: 90px;
  top: 0;
  color: #111111 !important;
}
.work:hover:before {
  color: #111111 !important;
  transform: scale(1.1);
}
.work.color-1:before {
  background: #fff;
}
.work.color-1 .work__info {
  color: #ffffff;
}
.work.color-2:before {
  background: #2770ea;
}
.work.color-2 .work__info {
  color: #ffffff;
}
.work.color-3:before {
  background: #f6675c;
}
.work.color-3 .work__info {
  color: #ffffff;
}

/* **** - - - - NAVBAR AJUSTES - - - - **** */
/* **** - - - - NAVBAR AJUSTES - - - - **** */
/* **** - - - - NAVBAR AJUSTES - - - - **** */

.logo-nav {
  width: 8rem;
}
section.menu-lpmkt .cont-tel {
  font-family: "lustrabook";
  margin-left: auto;
  text-align: left;
  margin-top: 1rem;
  font-weight: 700;
}
section.menu-lpmkt .cont-tel a {
  font-size: 0.8rem;
}
section.menu-lpmkt .cont-tel span {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 0.65rem;
  line-height: 0.7rem;
  margin-top: 0.5rem;
  display: block;
}

/* **** - - - - FOOTER - - - - **** */
/* **** - - - - FOOTER - - - - **** */
/* **** - - - - FOOTER - - - - **** */

section.pre-footer {
  background-image: url("../../img/Brandings/backgroundfootermenu.webp");
  background-position: center; /* Centra la imagen */
  background-repeat: no-repeat; /* Evita que la imagen se repita */
}
section.pre-footer ul {
  text-align: center;
  font-size: 4rem;
  font-weight: 400;
}
section.pre-footer ul li {
  list-style: none;
}
section.pre-footer ul li a {
  position: relative;
  padding: 0 2rem;
}
section.pre-footer ul li a::after {
  content: "";
  background: #000;
  width: 0%;
  height: 3px;
  position: absolute;
  left: 0;
  top: 55%;
  transition: 0.5s ease-in-out;
}
section.pre-footer ul li a:hover {
  border: none;
}
section.pre-footer ul li a:hover::after {
  width: 100%;
}
@keyframes move-text {
  to {
    transform: translateX(-100%);
  }
}
article.grid-proyecto a:hover {
  border: none;
}
footer {
  padding: 3rem 0;
  background-color: #fff;
  color: #1c1c1c;
}
footer .title-f {
  font-weight: 600;
  font-family: "newyork";
  font-size: 0.9rem;
  text-align: right;
  display: block;
  border-bottom: 2px solid #000;
  padding-right: 1rem;
}
footer .frase-f {
  font-weight: 600;
  font-size: 2.5rem;
  margin: 2rem auto 1rem auto;
  display: block;
  font-family: "newyork";
}
footer p {
  font-weight: 300;
  font-size: 0.7rem;
}
footer .links-c {
  margin-bottom: 0;
  font-weight: 500;
}
footer .frase-c {
  font-weight: 500;
  font-size: 1rem;
}
footer .title-e {
  margin-top: 2rem;
  display: block;
  font-weight: 900;
  font-family: "newyork";
}
footer .cont-sociales {
  margin: auto;
  display: block;
  text-align: center;
}
footer .cont-sociales img {
  margin: 1rem 0.5rem;
  max-height: 1.5rem;
  width: auto;
}
footer ul {
  padding: 0;
}
footer ul li {
  list-style: none;
  font-size: 0.8rem;
  font-weight: 300;
}
footer .logo-f {
  margin: 2rem auto 1rem;
}
footer a.btn-lpmkt {
  margin: auto;
  width: 10rem;
}
footer a.btn-lpmkt .circle {
  width: 1.8rem;
  height: 1.8rem;
}
footer a:hover .circle {
  width: 100%;
}
footer a:hover.btn-lpmkt .circle .icon.arrow::before {
  transform: rotate(45deg);
}
footer a:hover .circle .icon.arrow {
  background: #fff;
  transform: translate(1rem, 0);
}
footer a:hover .button-text {
  color: #fff;
}
footer a.btn-lpmkt .circle .icon.arrow {
  width: 0.9rem;
  left: 0.5rem;
}
footer a.btn-lpmkt .button-text {
  font-size: 0.9rem;
  line-height: 0.4rem;
}
footer .cont-map-con {
  padding: 0 20%;
}
main.invitacion {
  background-image: url("../img/bg-invitacion.webp");
  background-size: cover;
  color: #fff;
  overflow: hidden;
  background-position: center;
}
main.invitacion .uno {
  height: 100vh;
}
.container-inv {
  position: relative;
}
.container-inv span:first-child {
  font-size: 2.2rem;
}
.container-inv h3 {
  font-size: 16rem;
  line-height: 12rem;
  text-transform: uppercase;
  font-weight: 800;
}
.container-inv span.fecha {
  font-size: 2rem;
  text-transform: uppercase;
  font-family: "ronix";
}
.desliza {
  margin: 2rem auto;
  position: absolute;
  bottom: -80%;
  left: 0;
  right: 0;
}
.desliza .title {
  font-size: 0.9rem !important;
  text-transform: uppercase;
  font-weight: 300;
  letter-spacing: 0.1rem;
}
.desliza span {
  display: block;
  font-size: 1.5rem;
  line-height: 1rem;
}
.desliza span:last-child {
  font-weight: 300;
  line-height: 3rem;
}
.desliza .d-1 {
  animation: d1 ease-in-out 2s infinite;
}
.desliza .d-2 {
  animation: d2 ease-in-out 2s infinite;
}
.desliza .d-3 {
  animation: d3 ease-in-out 2s infinite;
}
.desliza .d-4 {
  animation: d4 ease-in-out 2s infinite;
}
.desliza .d-5 {
  animation: d5 ease-in-out 2s infinite;
}
@keyframes d1 {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  98% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes d2 {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  98% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes d3 {
  0% {
    opacity: 0;
  }
  40% {
    opacity: 0;
  }
  60% {
    opacity: 1;
  }
  98% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes d4 {
  0% {
    opacity: 0;
  }
  60% {
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  98% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes d5 {
  0% {
    opacity: 0;
  }
  70% {
    opacity: 0;
  }
  85% {
    opacity: 1;
  }
  98% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.dos {
  margin-top: 10rem;
  padding: 5rem;
}
main.invitacion form {
  width: 100%;
  max-width: 100%;
}

.sub {
  font-family: "newyork", serif;
}

main.invitacion form h4,
main.invitacion form .form-label {
  font-size: 6rem;
  font-weight: 800;
  text-align: center;
  display: block;
  margin-top: 15%;
}
.cont-form-check {
  text-align: center;
}
main.invitacion form .form-check {
  background-color: #000;
  display: inline-block;
  position: relative;
  margin-top: 0;
  margin: 0 5%;
}
main.invitacion form .form-check-input {
  margin-top: 0;
  background: transparent;
  border: none;
}
main.invitacion form .form-check-input:checked {
  background-color: #f52233;
  position: absolute;
  width: 100%;
  height: 100%;
  border-color: #f52233;
}
main.invitacion form .form-check-input {
  background-image: none;
  border-radius: 0 !important;
}
main.invitacion form .form-check label {
  font-weight: 300;
  font-size: 2rem;
  color: #fff;
  padding: 0.5rem 4rem 0.5rem 2.5rem;
  position: relative;
}
main.invitacion form .form-control {
  max-width: 60%;
  margin: auto;
  text-align: center;
  font-size: 2rem;
  font-weight: 300;
  border-radius: 30px;
}
main.invitacion form .btn {
  background-color: #f52233;
  color: #fff;
  border-radius: 0;
  text-align: center;
  display: block;
  margin: 5rem auto;
  font-size: 1.8rem;
  padding: 0.5rem 2.5rem;
  font-weight: 300;
}
.cont-desliza {
  text-align: center;
}
.cont-desliza .desliza {
  position: relative;
}
.direccion {
  text-align: center;
  display: block;
}
.direccion span a {
  color: #f52233;
}
.direccion img {
  max-width: 14rem;
  display: block;
  margin: 4rem auto;
}
.piedras-z {
  position: absolute;
  top: 0;
  animation: piedras-z ease-in-out 10s infinite;
}
@keyframes piedras-z {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10%);
  }
  100% {
    transform: translateY(0);
  }
}
.piedras-l {
  position: absolute;
  top: 5%;
  z-index: 10;
  animation: piedras-l ease-in-out 10s infinite;
}
@keyframes piedras-l {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(5%);
  }
  100% {
    transform: translateY(0);
  }
}
main.msn {
  background-color: #010101;
  height: 100vh;
}
main.msn .cont-mensaje {
  background-color: #f52233;
  padding: 5rem;
}
main.msn .msn-1,
main.msn .msn-2 {
  display: block;
  text-align: center;
  font-weight: 800;
}
main.msn .msn-1 {
  font-size: 1.6rem;
}
main.msn .msn-2 {
  font-size: 2.4rem;
}
