/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/


/* FUENTE */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200;300;400;700&family=Open+Sans:wght@300;400;700&display=swap');


/* VARIABLES POR DEFECTO */

:root {
  --c-negro: #262626;
  --c-blanco: #FFFFFF;
  --c-primario: #474747;
  --c-secundario: #54595F;
  --c-grisclaro: #F5F5F5;
  --c-gris: #7A7A7A;

  --f-primaria: 'Montserrat', sans-serif;
}


/* OUTLINE */
*:focus { outline: 5px solid orange; }


/* ESTILOS COMUNES */

.zindex0 {
  z-index:0;
}

.zindex1 {
  z-index:1;
}

body {
  font-family: var(--f-primaria);
  color: var(--c-negro);
  font-size: 15px;
  line-height: 1.5em;
}

a {
  color: var(--c-negro);
  text-decoration: none;
}

a, a:hover {
  transition: all 0.4s ease !important;
}

.center {
  text-align: center;
  margin: auto;
}

/* TEXTOS Y TITULARES */
.txt-center {
  text-align: center;
}

.txt-white {
  color: var(--c-blanco);
}

.txt-big,
.cab-subtit {
  font-size: 1.8em;
  line-height: 1.5em;
}

.txt-legal {
  font-size: 12px;
  line-height: 1.3em;
}

.f300 {
  font-weight: 300;
}

.f400 {
  font-weight: 400;
}

.f500 {
  font-weight: 500;
}

.f600 {
  font-weight: 600;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.5em;
}

h1 {
  font-size: 38px;
  font-weight: 300;
  text-transform: uppercase;
}

h2, .h1-h2 h1 {
  font-size: 26px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 400;
}

h3 {
  font-size: 23px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

h4 {
  font-size: 21px;
}

h5 {
  font-size: 20px;
}

h6 {
  font-size: 18px;
}


/* HOME */
.cab-home {
  height: 100vh;
  margin-top: -89px;
}

.cab-home .carousel {
  position: relative;
  overflow: hidden;
}

.cab-home .txt-carousel {
  position: absolute;
  z-index: 3;
  color: var(--c-blanco);
  width: 100%;
  max-width: 1300px;
  height: fit-content;
  margin: auto;
  top: 40%;
  left: 0;
  right: 0;
}

.cab-home .txt-carousel p {
  font-size: 1.3rem;
  line-height: 1.5em;
  max-width: 500px;
}

.cab-home .slides {
  list-style: none;
  position: relative;
  height: 100%;
  height: 100vh;
  margin: 0;
}

.cab-home .slides li {
  position: absolute;
  color: var(--c-blanco);
  transition: transform 0.5s;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.cab-home .slides li.uno, 
.cab-home .slides li.cuatro {
  justify-content: flex-end;
}

.cab-home .slides li img {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.cab-home .slides li::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: var(--c-negro) 60%;
  opacity: 0.35;
  z-index: 0;
}

.cab-home .nav-carousel {
  width: 100%;
  height: 100vh;
  max-width: 1300px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.cab-home button.next {
  position: absolute;
  bottom: 10%;
  right: 10px;
  transform: translateY(-50%);
  color: var(--c-blanco);
  background-color: transparent;
  width: 30px;
  height: 60px;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.35s ease;
  z-index: 6;
}

.cab-home button.next:hover {
  opacity: 0.8;
}

.cab-home button.next svg {
  width: 100%;
  height: 100%;
}

.cab-home .dots ul {
  position: absolute;
  bottom: 50%;
  margin: auto;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
  /* width: 100%; */
  right: -20px;
  transform: rotate(90deg);
  z-index: 6;
}

.cab-home .dots li {
  list-style: none;
  width: 20px;
  height: 20px;
}

.cab-home .dots li::after {
  content: "";
  background: var(--c-grisclaro);
  opacity: 0.7;
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 0;
  transition: all 0.35s ease;
}

.cab-home .dots li.active::after {
  background: var(--c-blanco);
  opacity: 1;
}

.cab-home #image-description {
  color: var(--c-blanco);
  background: var(--c-negro);
}


/* CAJAS SERVICIOS */
.caja-servicio {
  overflow: hidden;
  height: 485px;
  margin: auto;
}

.caja-servicio::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, #000000dc, #00000057);
  opacity: 0.6;
  z-index: 0;
  transition: all 0.4s ease;
}

.caja-servicio .vce-col-content,
.caja-servicio .vce-col-content .vce-raw-html,
.caja-servicio .vce-col-content .vce-raw-html .vce-raw-html-wrapper {
  height: 100%;
}

.caja-servicio .info-caja::after {
  content: url(/wp-content/uploads/2025/01/cruz-blanca.svg);
  position: absolute;
  right: 15px;
  bottom: 50px;
  z-index: 1;
  width: 40px;
  height: 40px;
  object-fit: contain;
  padding: 10px;
}

.caja-servicio .info-caja div {
  padding: 335px 100px 20px 20px;
  color: var(--c-blanco);
  position: relative;
  z-index: 1;
}

.caja-servicio .info-caja div {
  transform: translateY(62px);
  transition: all 0.4s ease;
}

.caja-servicio .info-caja p {
  opacity: 0;
  transition: all 0.4s ease;
  margin-bottom: 0;
}

.caja-servicio .info-caja:hover div {
  transform: translateY(0);
}

.caja-servicio .info-caja:hover p {
  opacity: 1;
}

.caja-servicio:hover::after {
  opacity: 1;
}


/* EQUIPO */
.info-eq h3 {
  font-size: 20px;
}

.info-eq p {
  text-align: justify;
}

/* GOOGLE REVIEWS */
#opiniones .ti-widget.ti-goog .ti-widget-container .ti-name,
#opiniones .ti-widget.ti-goog .ti-review-content,
#opiniones .ti-widget.ti-goog .ti-read-more-active {
  font-family: 'Montserrat' !important;
  text-align: center !important;
  padding-right: 0;
}

#opiniones .ti-footer {
  display: none !important;
}

#opiniones .ti-widget.ti-goog .ti-review-item>.ti-inner {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
}

#opiniones .ti-review-item .ti-review-header {
  order: 1 !important;
  text-transform: uppercase;
}

#opiniones .ti-review-item .ti-stars {
  order: 4 !important;
  text-align: center !important;
}

#opiniones .ti-review-item .ti-stars .ti-star {
  content: url(/wp-content/uploads/2025/01/f.svg) !important;
  width: 23px!important;
  height: 20px!important;
}

#opiniones .ti-review-item .ti-review-content {
  order: 2 !important;
}

#opiniones .ti-read-more {
  order: 3 !important;
  text-align: center;
}

#opiniones .ti-profile-img {
  display: none !important;
}

#opiniones .ti-widget.ti-goog .ti-controls .ti-next::before,
#opiniones .ti-widget.ti-goog .ti-controls .ti-next::after,
#opiniones .ti-widget.ti-goog .ti-controls .ti-prev::before,
#opiniones .ti-widget.ti-goog .ti-controls .ti-prev::after {
  width: 20px;
  height: 2px;
  background: var(--c-negro);
}

#opiniones .ti-widget.ti-goog .ti-controls .ti-next::before,
#opiniones .ti-widget.ti-goog .ti-controls .ti-prev::after {
  top: 6px !important;
}

#opiniones .ti-widget.ti-goog .ti-controls .ti-next::after,
#opiniones .ti-widget.ti-goog .ti-controls .ti-prev::before {
  top: 20px !important;
}


/* BLOQUE ELEGIR A REM */
.elegir-rem h3 {
  margin-bottom: 0px;
}

/* PROYECTOS */
.tit-proyecto {
  position: relative;
}

.tit-proyecto .vce-text-block-wrapper {
  background: linear-gradient(0deg, #000000dc, transparent);
  color: var(--c-blanco);
  position: absolute;
  bottom: 0;
  padding: 40px 20px 10px;
  width: 100%;
  margin-bottom: 10px;
}

.tit-proyecto.right .vce-text-block-wrapper {
  text-align: right;
}

.slide-proyecto .vce-simple-image-slider-arrow {
  opacity: 1 !important;
  visibility: visible !important;
}

.slide-proyecto .vce-simple-image-slider-prev-arrow {
  background: url("/wp-content/uploads/2025/02/flecha-prev.webp");
  background-position: center;
  background-size: 25px;
  background-repeat: no-repeat;
}

.slide-proyecto .vce-simple-image-slider-next-arrow {
  background: url("/wp-content/uploads/2025/02/flecha-next.webp");
  background-position: center;
  background-size: 25px;
  background-repeat: no-repeat;
}

.slide-proyecto #Prev-Arrow,
.slide-proyecto #Next-Arrow {
  display: none;
}

/* PÁG. GRACIAS */
.pag-gracias h1 {
  font-size: 35px;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1.2em;
  letter-spacing: 2px;
}

.pag-gracias p {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 500 !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.pag-gracias h2 {
  font-size: 20px;
  font-weight: 500;
}

.pag-gracias .rrss {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}

.pag-gracias .rrss svg {
  width: 25px;
  height: 25px;
  transition: all 0.35s ease;
}

.pag-gracias .rrss a:hover svg {
  opacity: 0.5;
}

/* CAJAS proyectos */
.caja-servicio.gracias {
  overflow: hidden;
  height: 400px;
  margin: auto;
}

.caja-servicio.gracias .info-caja div {
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  transform: none;
}

.caja-servicio.gracias .info-caja::after {
  display: none;
}


/* ---------- RESPONSIVE ---------- */
@media screen and (max-width: 1300px) {
  .cab-home .txt-carousel {
    padding: 0 20px;
  }

  .cab-home button.next {
    right: 20px;
  }

  .cab-home .dots ul {
    right: -10px;
  }
}

@media screen and (max-width: 1080px) {
  /* LOGOS KIT DIGITAL */
  .logos-kit-digital img {
      max-width: 210px;
  }

  .logos-kit-digital>img:last-child {
      max-width: 23%;
  }

  .caja-servicio .info-caja div {
    padding: 250px 100px 20px 20px;
  }
}

@media screen and (max-width: 1024px) {
  h1 {
    font-size: 35px;
  }

  .cab-subtit {
    font-size: 1.5em;
  }
  
  .cab-home .txt-carousel p {
    font-size: 1.1rem;
  }

  .caja-servicio {
    height: 400px;
  }

  .caja-servicio::after {
    opacity: 0.9;
  }

  .caja-servicio .info-caja div {
    transform: translateY(0);
  }

  .caja-servicio .info-caja div p {
    opacity: 1;
  }

  .caja-servicio .vce-col-content .vce-raw-html .vce-raw-html-wrapper {
    display: flex;
    align-items: flex-end;
  }
}

@media screen and (max-width: 767px) {
  h1 {
    font-size: 28px;
  }

  h2, .h1-h2 h1 {
    font-size: 22px;
  }

  h3 {
    font-size: 20px;
  }

  h4 {
    font-size: 19px;
  }

  h5 {
    font-size: 18px;
  }

  h6 {
    font-size: 17px;
  }

  .cab-subtit {
    font-size: 1.15em;
  }
  
  .caja-servicio {
    margin-bottom: 30px;
  }

  .cab-home,
  .cab-home .slides,
  .cab-home .nav-carousel {
    height: 60vh;
    min-height: 450px;
  }

  .cab-home .txt-carousel {
    padding-right: 80px;
    top: 35%;
  }

  .cab-home .txt-carousel p {
    font-size: 1rem;
  }

  .tit-proyecto .vce-text-block-wrapper,
  .tit-proyecto.right .vce-text-block-wrapper {
    text-align: left;
  }

  .caja-servicio.gracias {
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 600px) {
  .cab-home .txt-carousel {
    padding-right: 80px;
    top: 30%;
  }

  .caja-servicio {
    height: 350px;
  }

  /* LOGOS KIT DIGITAL */
  .logos-kit-digital img {
      max-width: 165px;
      padding: 10px 5px;
  }

  .logos-kit-digital>img:last-child {
      max-width: 40%;
  }
}

@media screen and (max-width: 560px) {
  .caja-servicio {
    height: 300px;
  }
}

/* CAPTCHA */
.grecaptcha-badge {
  display: none;
}

/* Errores accesibilidad fix */
.off-canvas-toggle-label {
  color: var(--c-negro) !important;
  font-size: 0rem;
}

.vce-slick-slider-custom .slick-list.dragging,
.vce-slick-slider-slider .slick-list.dragging	{
  cursor: grab !important;
}