@charset "UTF-8";
@font-face {
  font-family: "GRegular";
  src: url(../fonts/Gantari-Regular.ttf);
}
@font-face {
  font-family: "GBold";
  src: url(../fonts/Gantari-Bold.ttf);
}
@font-face {
  font-family: "GBlack";
  src: url(../fonts/Gantari-Black.ttf);
}
@font-face {
  font-family: "GMedium";
  src: url(../fonts/Gantari-Medium.ttf);
}
@font-face {
  font-family: "GLight";
  src: url(../fonts/Gantari-Light.ttf);
}
@font-face {
  font-family: "GSBold";
  src: url(../fonts/Gantari-SemiBold.ttf);
}
div {
  font-family: "GRegular";
}

.display-1,
h5,
h3,
h2, h1, p, ul, li, span, small {
  cursor: default;
}

b {
  font-family: "GBold";
}

strong {
  font-family: "GBlack";
}

.fw-light {
  font-family: "GLight";
}

.fw-regular {
  font-family: "GRegular";
}

.fw-bold {
  font-family: "GSBold";
}

body {
  font-family: "Poppins", sans-serif;
  overflow-x: hidden;
}

.main-header {
  position: fixed;
  top: 0;
  width: 100%;
  background: #fff;
  z-index: 1000;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.main-header .nav-link {
  color: #000;
}
.main-header .nav-link:hover {
  color: #ebc33e;
}
.main-header .btn-top {
  border-color: #ebc33e;
  color: #ebc33e;
}
.main-header .btn-top:hover {
  background: #ebc33e;
  color: #fff;
}

/* Sección principal */
.section-principal {
  min-height: 90vh;
  position: relative;
}
.section-principal .circles {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}
.section-principal .circles div {
  position: absolute;
  border-radius: 50%;
  background: #ebc33e;
  opacity: 0.3;
}
.section-principal .container {
  position: relative;
  z-index: 1;
}

/* Fondo negro */
.section-black {
  background: #000;
  color: #fff;
}

/* Mosaico */
.section-mosaico {
  height: 200vh;
  position: relative;
}
.section-mosaico .floating-images img {
  position: absolute;
  border-radius: 12px;
}

/* Footer */
.footer {
  overflow: hidden;
}
.footer .footer-floating {
  position: absolute;
  top: -50px;
  left: 10%;
  opacity: 0.2;
}

.animate {
  opacity: 0;
  -webkit-transform: translateY(50px);
      -ms-transform: translateY(50px);
          transform: translateY(50px);
}

.section-principal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

header nav .nav-link {
  font-family: "GRegular";
  font-size: 0.85rem;
  position: relative;
}
header nav .nav-link:after {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 0%;
  height: 3px;
  -webkit-transition: width 700ms ease-in-out;
  transition: width 700ms ease-in-out;
  background-color: #ebc33e;
}
header nav .nav-link:hover:after {
  width: 100%;
}
header nav .nav-link.active {
  font-family: "GSBold";
}

.mobile-menu {
  position: fixed;
  top: 0;
  /* left: 0; */
  right: -110%;
  width: 100vw;
  height: 100vh;
  padding: 1rem;
  padding-top: 25%;
  z-index: 9999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.close-btn {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 32px;
}

.mobile-link {
  text-align: center;
  font-size: 23px;
  font-weight: 600;
  text-decoration: none;
  color: #000;
}

.btn-underline-warning {
  -webkit-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
  font-family: "GSBold";
  padding-bottom: 4px;
  font-size: 1rem;
  border-bottom: 1px solid #ebc33d;
}
.btn-underline-warning img {
  width: 8px;
}
.btn-underline-warning:hover {
  color: #ebc33e;
  letter-spacing: 0.3px;
}
.btn-underline-black {
  -webkit-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
  font-family: "GSBold";
  font-size: 1rem;
  color: #000;
  border-bottom: 1px solid #ebc33d;
  text-decoration: none;
  padding-bottom: 4px;
}
.btn-underline-black img {
  width: 8px;
}
.btn-underline-black:hover {
  color: #ebc33e;
  letter-spacing: 0.3px;
}
#mosaico picture img {
  -webkit-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
}
#mosaico picture img:hover {
  -webkit-filter: grayscale(10);
          filter: grayscale(10);
}

#servicios #listado .col {
  border-left: 1px solid rgb(250, 250, 250) !important;
}
#servicios #listado .col:first-of-type {
  border-left: unset !important;
}

#testimonios .orbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}
#testimonios .orbs picture {
  max-width: 50px;
  max-height: 50px;
  width: 50px;
  height: 50px;
  margin-left: -10px;
}
#testimonios .orbs picture img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  border-radius: 100%;
  width: 100%;
  height: 100%;
  -webkit-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
}
#testimonios .orbs picture img:hover {
  rotate: 27deg;
}
#testimonios figure {
  margin-left: -10px;
  width: 50px;
  height: 50px;
  padding: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 100%;
  background-color: #ebc33e;
  -webkit-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
}
#testimonios figure img {
  -webkit-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
}
#testimonios figure:hover img {
  rotate: 67deg;
}

#clientes .logo {
  margin: 0px;
  min-height: 160px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  -webkit-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
  border: 1px solid #fcfcfc;
}
#clientes .logo img {
  -webkit-transition: width 1s ease-in-out;
  transition: width 1s ease-in-out;
  width: 100px;
  -webkit-transition: -webkit-filter 500ms ease-in-out;
  transition: -webkit-filter 500ms ease-in-out;
  transition: filter 500ms ease-in-out;
  transition: filter 500ms ease-in-out, -webkit-filter 500ms ease-in-out;
}
#clientes .logo:hover {
  background-color: #ebc33e;
}
#clientes .logo:hover img {
  -webkit-filter: brightness(0);
          filter: brightness(0);
}

.section-principal {
  position: relative;
  overflow: hidden;
  background-color: #fff;
}
@media (max-width: 992px) {
  .section-principal {
    min-height: 65vh;
  }
}
.section-principal #numeros .display-1 {
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  position: relative;
}
@media (max-width: 992px) {
  .section-principal #numeros .display-1 {
    font-size: 60px !important;
  }
}
.section-principal #numeros .symbol {
  position: absolute;
}
.section-principal #numeros .symbol.plus {
  right: -31px;
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
}
.section-principal #numeros .symbol.percent {
  right: -44px;
  -webkit-transform: scale(0.34);
      -ms-transform: scale(0.34);
          transform: scale(0.34);
  font-weight: bold;
}
#agencia.section-black {
  background-color: #000;
  color: #fff;
  position: relative;
  padding-top: 0;
}
@media (min-width: 992px) {
  #agencia.section-black {
    padding-top: 3rem;
  }
}
#agencia .foto-play {
  position: absolute;
  top: -127px;
  left: 0px;
  width: 100%;
}
@media (max-width: 992px) {
  #agencia .foto-play {
    position: unset;
    width: auto;
  }
}
#agencia .img-1 {
  height: 100%;
  width: 100%;
}
@media (max-width: 992px) {
  #agencia .img-1 {
    min-height: 280px;
    max-width: 1000px;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top right;
       object-position: top right;
  }
}
#agencia .iso {
  max-width: 400px;
  left: 10%;
  z-index: 999;
}
@media (max-width: 992px) {
  #agencia .iso {
    max-width: 200px;
    display: none;
  }
}
@media (max-width: 767px) {
  #agencia .iso-2 {
    position: absolute;
    bottom: -20px;
    width: 200px;
    right: 0px;
  }
}
#agencia .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 63vh;
  min-height: 500px;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media (max-width: 992px) {
  #agencia .content {
    height: 48vh;
    min-height: 570px;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
}
#agencia .content .sub {
  width: 75%;
}
@media (max-width: 992px) {
  #agencia .content .sub {
    width: 100%;
  }
}
#agencia .btn-underline-warning {
  text-decoration: none;
  color: white;
  border-bottom: 1px solid #ffc107;
}
#agencia .btn-underline-warning .arrow {
  margin-left: 5px;
}

#mosaico.section-mosaico {
  position: relative;
  height: auto;
}
#mosaico .portfolio-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3rem;
  -ms-flex-line-pack: center;
      align-content: center;
  padding: 0px !important;
}
@media (max-width: 992px) {
  #mosaico .portfolio-grid picture {
    width: 100% !important;
  }
}
#mosaico .portfolio-grid picture.w-50 {
  width: 50%;
}
#mosaico .portfolio-grid .float-img {
  max-width: 100%;
  height: auto;
}
#mosaico .btn-underline-black {
  text-decoration: none;
  color: #000;
  border-bottom: 1px solid #ebc33e;
}
#mosaico .btn-underline-black .arrow {
  margin-left: 5px;
}

#pensamos {
  padding-bottom: 3rem;
}
#pensamos .small-label {
  font-size: 0.875rem;
  color: rgb(126.4594594595, 139, 151.5405405405);
}
#pensamos .img-pensamos {
  min-height: 600px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 992px) {
  #pensamos .img-pensamos {
    min-height: 400px;
  }
}

#first-servicios {
  position: relative;
}
#first-servicios .split-bg .bg-side-white {
  background-color: #fff;
  padding-top: 3rem;
  padding-bottom: 3rem;
}
#first-servicios .content-container {
  padding-top: 3rem;
  color: #212529;
}
#first-servicios .content-container .section-label {
  font-weight: 500;
  opacity: 0.7;
  margin-bottom: 1rem;
}

#blackblock {
  background-color: #212529;
  color: #fff;
}
#blackblock .img-blackblock {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  min-height: 300px;
}
#blackblock .content-box {
  padding: 3rem;
}
@media (max-width: 992px) {
  #blackblock .content-box {
    padding: 3rem 1.5rem;
  }
}
#blackblock .iso-logo {
  max-width: 200px;
  display: block;
  margin-left: auto;
}
#blackblock .btn-underline-warning {
  text-decoration: none;
  color: #ffc107;
  border-bottom: 1px solid #ffc107;
  display: inline-block;
  margin-top: 1rem;
}
#blackblock .btn-underline-warning .arrow {
  margin-left: 5px;
}

#proyectos.section-mosaico {
  position: relative;
  height: auto;
}
#proyectos .project-item {
  margin-bottom: 70px !important;
}
#proyectos .project-item picture, #proyectos .project-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  margin-bottom: 1rem;
}
#proyectos .project-item .project-info p {
  margin-bottom: 0;
  font-weight: 600;
  color: #212529;
}
#proyectos .project-item .project-info small {
  text-align: left;
  font-size: 13px;
  color: rgb(101.2297297297, 113.5, 125.7702702703);
  display: block;
}
#proyectos .project-item a {
  text-decoration: none;
}

#title {
  background-color: #fff;
}

#contacto .info-column .intro-text {
  margin-bottom: 2rem;
}
#contacto .info-column .contact-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
}
#contacto .info-column .contact-item .icon-box {
  width: 10%;
  color: #ffc107;
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.2;
}
#contacto .info-column .contact-item .text-box {
  width: 90%;
  color: #212529;
}
#contacto .info-column .contact-item .text-box b {
  display: block;
  margin-bottom: 0.2rem;
}
#contacto .info-column .contact-item .text-box p {
  margin-bottom: 0;
}
#contacto .info-column .contact-item .text-box small {
  font-size: 0.9rem;
  display: block;
}
#contacto .wpcf7 {
  padding-top: 3rem;
}
@media (max-width: 992px) {
  #contacto .wpcf7 {
    padding-top: 0;
  }
}
#contacto .wpcf7 form p {
  margin-bottom: 0;
}
#contacto .wpcf7 .form-control {
  margin-bottom: 20px;
  padding: 0.75rem 1rem;
  border-radius: 0;
  border: 1px solid #ced4da;
}
#contacto .wpcf7 .form-control:focus {
  border-color: #212529;
  -webkit-box-shadow: none;
          box-shadow: none;
}
#contacto .wpcf7 textarea.form-control {
  resize: none;
}
#contacto .wpcf7 .wpcf7-submit {
  text-transform: uppercase;
  padding-left: 2rem;
  padding-right: 2rem;
  margin-top: 1rem;
}
#contacto .wpcf7 .wpcf7-not-valid-tip {
  font-size: 0.8rem;
  margin-top: -15px;
  margin-bottom: 15px;
}
#contacto .wpcf7 .wpcf7-response-output {
  border: none !important;
  padding: 1rem 0 !important;
  margin: 0 !important;
  font-weight: bold;
}

#servicios {
  background-color: #f8f9fa;
}
#servicios .service-item {
  position: relative;
  height: 100%;
}
#servicios .service-item figure {
  width: 60px;
  height: 60px;
  padding: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 100%;
  margin: 20px auto;
}
#servicios .service-item figure img {
  max-width: 50px;
  height: auto;
}
#servicios .service-item h5 {
  font-weight: 700;
  margin-bottom: 1rem;
}
#servicios .service-item ul {
  list-style: none;
  padding-left: 1rem !important;
  margin: 0;
}
#servicios .service-item ul li {
  position: relative;
  margin-bottom: 0.5rem;
  font-size: 0.95rem;
}
#servicios .service-item ul li::before {
  position: absolute;
  width: 5px;
  height: 5px;
  content: "";
  background: #ffc107;
  left: -15px;
  top: 8px;
  border-radius: 100%;
}
@media (max-width: 992px) {
  #servicios .item {
    position: relative;
  }
  #servicios .item::before {
    width: 1px;
    height: 100%;
    min-height: 270px;
    display: block;
    content: "";
    position: absolute;
    right: 0px;
    top: 0px;
    background: rgba(51, 51, 51, 0.1);
  }
  #servicios .owl-dots {
    text-align: center;
    margin-top: 2rem;
  }
  #servicios .owl-dots .owl-dot {
    width: 8px !important;
    height: 8px !important;
    background: #fff;
    border: 1px solid #ffc107;
    border-radius: 100%;
    margin: 0 5px;
    display: inline-block;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  #servicios .owl-dots .owl-dot.active {
    background: #ffc107;
    -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
            transform: scale(1.2);
  }
}
#servicios .btn-underline-black {
  text-decoration: none;
  color: #212529;
  border-bottom: 1px solid #212529;
}
#servicios .btn-underline-black .arrow {
  margin-left: 5px;
}

#prefooter.section-black {
  background-color: #000;
  color: #fff;
}
@media (max-width: 991px) {
  #prefooter .this {
    height: 180px;
  }
}
#prefooter .content {
  position: absolute;
  top: -127px;
  right: 0px;
}
#prefooter .content figure {
  overflow: hidden;
  margin: 0;
}
#prefooter .content figure img {
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 991px) {
  #prefooter .content {
    position: relative;
    top: -90px;
  }
  #prefooter .content figure {
    max-height: 300px;
  }
  #prefooter .content figure img {
    width: 100%;
  }
}
#prefooter .btn-warning {
  color: #000;
}
#prefooter .btn-warning:hover {
  background-color: rgb(211, 158.25, 0);
}

footer#contacto {
  background-color: #000;
  color: #fff;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}
footer#contacto .addr p {
  margin-bottom: 0.5rem;
}
footer#contacto .addr a {
  text-decoration: none;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
footer#contacto .addr a[href^=mailto]:hover, footer#contacto .addr a[href^=tel]:hover {
  color: #ffc107 !important;
}
@media (max-width: 767px) {
  footer#contacto .bordes {
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}
footer#contacto .rrss img {
  width: 24px;
  height: auto;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
footer#contacto .rrss img:hover {
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2);
}
footer#contacto .footerform {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
footer#contacto .footerform label {
  font-size: 0.85rem;
}
footer#contacto .footerform .form-control {
  background-color: #000;
  border: 1px solid #000;
  border-bottom: 1px solid #fff;
  color: #fff;
}
footer#contacto .footerform .form-control::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
footer#contacto .footerform .form-control::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
footer#contacto .footerform .form-control:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
footer#contacto .footerform .form-control::-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
footer#contacto .footerform .form-control::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
footer#contacto .footerform .form-control:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
  border-color: #ffc107;
}
footer#contacto .footerform .wpcf7-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 10px;
}
footer#contacto .footerform .wpcf7-form p {
  margin: 0;
  width: 100%;
}
footer#contacto .footerform .wpcf7-form .email-field {
  width: 75%;
}
footer#contacto .footerform .wpcf7-form .submit-field {
  width: 25%;
}
footer#contacto .footerform .wpcf7-form input[type=submit] {
  display: none;
}
footer#contacto .footerform .wpcf7-form button.btn-newsletter {
  background: transparent;
  border: 1px solid #fff;
  padding: 10px;
}
footer#contacto .footerform .wpcf7-form button.btn-newsletter img {
  width: 15px;
}
footer#contacto .footerform .wpcf7-form button.btn-newsletter:hover {
  background: #fff;
}
footer#contacto .footerform .wpcf7-form button.btn-newsletter:hover img {
  -webkit-filter: invert(1);
          filter: invert(1);
}

.yellow-dot {
  position: relative;
  /* span.punto-amarillo { */
  /* Forzar a que sea un elemento en línea */
  display: inline !important;
  /* Si el problema es solo el espacio, también puedes probar */
  white-space: nowrap !important;
  /* } */
}

.yellow-dot::after {
  position: absolute;
  content: "";
  background-color: #ebc33d;
  height: 8px;
  width: 8px;
  border-radius: 100%;
  bottom: 13px;
  left: 2px;
}