/*
 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
*/
/*===================================================================
GENERALES
===================================================================*/
html {
  scroll-behavior: smooth;
}
body{
  font-family: Roboto, sans-serif;
}
.bold{
  font-weight: bold;
}
h1, h2, h3, h4, h5{
  letter-spacing: 1px;
}
.upper{
  text-transform: uppercase;
}
.bold{
  font-weight: bold;
}
.center{
  text-align: center;
}
.text-white{
    color:#fff;
}
.t-shape1{
  /* EN SHAPE */
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 300;
  font-size: 15px;
  line-height: 18px;
  color: #3D3D3D;
}
.t-shape2{
  /* Somos expertos en comunicación arquitectonica */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-size: 21.4908px;
  line-height: 25px;
  color: #000000;
}
.t-shape3{
  /* TECH */
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  font-size: 27.1618px;
  line-height: 32px;
  color: #000000;
}

.t-shape4{
  /* NUESTROS CLIENTES */
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 300;
  font-size: 17.3962px;
  line-height: 20px;
  color: #3D3D3D;
}

.footer-redes {
  align-items: end !important;
}

/* Componente */

.img-text-p {
  padding: 20px;
  text-align: center;
  margin-top: 90px;
}
.img-text-p  .image {
  max-width: 90px;
  height: 90px;
  margin: -70px auto 15px;
}
.img-text-p p{
  /* Haz que tus clientes */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  font-size: 17.3836px;
  line-height: 20px;
  color: #191919;

  width: 90%;
  margin: auto;
  min-height: 120px;
}
.img-text-p h4{
  font-style: italic;
}

.text-ligth{
  font-weight: lighter;
}
.tech1-titulo strong {
  font-weight: normal;
  font-style: italic;
}


.img-hidden{
  opacity: 0;
}

/* Group */
.s100, .section100{
  min-height: 100vh;
}










/*===================================================================
HEADER
===================================================================*/

#open-menu{
  color: #fff;
  text-shadow: 1px 1px 3px #333;
}
header > div{
  max-width: 95% !important;
}
.site-header {
  position: absolute;
  z-index: 10;
  width: 100%;
  background: transparent;
}
.home .site-header .site-logo{
  opacity: 0;
}
#open-menu{
  background: transparent;
  font-size: 40px;
}
.inside-header.grid-container {
  justify-content: space-between;
}
.separate-containers .site-main {
  margin-top: 0;
  margin-bottom: 0;
}
.separate-containers .inside-article{
	padding: 0;
}
#fullscreen-menu {
  position: fixed;
  z-index: 100;
  width: 100%;
  display: flex;
  height: 100%;
  left: 0;
  top: 0;
}
.menuimg {
  background: url(img/menu-background.jpg) no-repeat center;
  background-size: cover;
  height: 100vh;
  width: 50%;
}
.menu-lateral {
  position: relative;
  width: 50%;
  background: url(img/footer.jpg) no-repeat center;
  background-size: cover;
  height: inherit;
}
#close-menu {
  position: absolute;
  right: 20px;
  top: 50px;
  background: #000;
  font-size: 50px;
  border-radius: 500px;
  width: 80px;
  height: 80px;
  line-height: 25px;
}
.menu-acceder {
  margin-top: 80px;
}
.menu-principal-container {
  position: absolute;
  left: 5%;
  top: 50%;
  margin: auto;
  transform: translateY(-50%);
}
#menu-principal {
  list-style: none;
  margin: 0;
  padding: 0;
}
#menu-principal a {
  color: #fff;
  font-size: 200%;
  text-decoration: navajowhite;
  display: block;
  margin-bottom: 10px;
  text-transform: uppercase;
}
header.scroll{
position: fixed;
animation: mover-header 1s;
opacity: 1;
/*top: 0;*/
/*  background: rgba(255, 255, 255, 0.84);
  border-bottom:1px solid #d7d7d7;*/
}
header.site-header.scroll .site-logo{
  opacity: 1;
}
/*.inside-header {
  padding:0px 40px;
}*/
@keyframes mover-header {
  from {
    top: -200px;
  }
  to {
    top: 0 ;
  }
}
/*===================================================================
CONTENT
===================================================================*/
.row-video {
  height: 100vh;
}
.vc-egt-video-fondo.video-home video{
  position: absolute;
  object-fit: cover;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.video-home-titulo{
  z-index: 100;
  position: relative;
  z-index: 100;
  position: relative;
  max-width: 400px;
  margin: 0 auto;
}
.video-home::after {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(11, 10, 10, 0.23);
  display: block;
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.ligth{
	font-weight: 300;	
}
.italic{
	font-style: italic;
}
.title-banner {
  text-align: center !important;
  color: #fff;
  font-size: 75px;
  text-shadow: 3px 3px 5px #000;
  font-weight: bold;
  letter-spacing: 10%;
}


.clientes-galeria img {
  display: block;
  max-width: 150px;
  margin: 0 30px;
}
.btn-explorar a {
  font-size: 22px !important;
  letter-spacing: 2px;
  color: #000 !important;
  font-weight: normal;
  background: rgba(217, 217, 217, 0.78) !important;
  border: none !important;
  padding: 10px 25px !important;
  border-radius: 0px !important;
  font-family: "Roboto";
}
.btn-explorar a:hover {
background: rgba(217, 217, 217, 1) !important;
}
.boton-continuar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  z-index: 10;
}
.boton-continuar button {
  background: transparent !important;
  border: none !important;
  color: #fff !important;
}
.boton-continuar button i {
  font-size: 80px !important;
  line-height: 100% !important;
  height: 160px !important;
  animation: bajarDesaparecer 4s infinite;
}
@keyframes bajarDesaparecer {
  0% {
    top: 0;
    opacity: 1;
  }
  25% {
    top: 50px;
    opacity: 1;
  }
  75% {
    top: 50px;
    opacity: 0;
  }
  100% {
    top: 50px;
    opacity: 0;
  }
}

.carrusel-proyectos  .slick-slide {
  display: block;
  position: relative;
}
.carrusel-proyectos .slick-prev, 
.carrusel-proyectos .slick-next {
  width: 36px;
  height: 68px;
}
.carrusel-proyectos .slick-prev {
  left: 7%;
}
.carrusel-proyectos .slick-next {
  right: 7%;
}
.carrusel-proyectos .slick-slide:not(.slick-active)::before {
  content: "";
  background: rgba(255, 255, 255, 0.71);
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
}
.carrusel-proyectos a img{
  margin: 0 5px;
}
.carrusel-proyectos .slick-prev:before{
  content: "";
}
.carrusel-proyectos .slick-prev{
  background: url(img/arrow-left.png) no-repeat center;
  background-size: contain;
}
.carrusel-proyectos .slick-next:before{
  content: "";
  background: url(img/arrow-right.png) no-repeat center;
}
.carrusel-proyectos .slick-next{
  background: url(img/arrow-right.png) no-repeat center;
  background-size: contain;
}
/*===================================================================
FOOTER
===================================================================*/
.site-footer{
	background: url(img/footer.jpg) no-repeat center;
  background-size: cover;
	color: #fff;
  overflow: hidden;
}
.footer-section {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 50px 0;
}
.cortinilla {
  width: 100%;
  height: 35px;
  background-image: url('img/footer-cortinilla.svg'); /* o un gradiente si prefieres */
  background-repeat: repeat-x;
  background-size: cover;
  animation: mover-fondo 20s linear infinite;
}

@keyframes mover-fondo {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 100% 0;
  }
}

.menu-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
.menu-footer a {
  color: #fff;
  text-decoration: none;
}



/*===================================================================
HOME
===================================================================*/
.cover-black .vc_video-bg::before {
  content: "";
  background: #00000080;
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
}

/*===================================================================
GENERAL
===================================================================*/
.mqt-parrafo{
  max-width: 500px;
}
.mqt-parrafo-r{
  margin: 0 auto 0 0;
}
.mqt-parrafo-l{
  margin: 0 0 0 auto;
}
/*===================================================================
RENDERS
===================================================================*/
/*.galeria-shape ul{
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}*/
.galeria-shape li {
  width: calc(20% - 1px);
  overflow: hidden;
  aspect-ratio: 16 / 9;
}
.galeria-shape li a{
  /*padding: 5px;*/
}
.galeria-shape li img{
  display: block;
}
.beer-reveal > img:first-child{
  height: 100% !important;
}
.lb-close {
  position: absolute;
  top: 0;
  right: 50px;
}
.renders-tabs .vc_tta-tabs-list a {
  border: 1px solid #191919 !important;
  background: transparent !important;
  text-transform: uppercase;
  font-size: 14px;
  padding: 5px 10px !important;
  color: #191919 !important;
}
.renders-tabs .vc_tta-tabs-list .vc_active a{
    background: #191919 !important;
    color: #fff !important;
}
.banner-subtitulo {
  font-size: 30px;
  font-weight: lighter;
}
.banner-100 > div {
  height: 100vh;
}
.vc-video-loop {
  display: inline-block;
}
.line-right {
  position: relative;
}
.line-right::before {
  content: "";
  width: 60px;
  display: block;
  height: 3px;
  background: #000;
  position: absolute;
  right: -60px;
  top: 50%;
  transform: translateY(-50%);
}


.line-left {
  position: relative;
  display: inline-block;
}
.line-left::before {
  content: "";
  width: 60px;
  display: block;
  height: 3px;
  background: #000;
  position: absolute;
  left: -60px;
  top: 50%;
  transform: translateY(-50%);
}


.um-login {
  background: #fff;
  padding:40px 30px;
  border-radius: 10px;
}

.wpb_image_grid .wpb_image_grid_ul .isotope-item{
  padding: 2px;
}
.recorridos-vive .wpb_column {
  min-height: inherit;
}
.recorridos-vive-left > div{
  padding-left: 10%;

}
.full-height-row {
  min-height: 100vh;
  display: flex;
}

.full-height-row > .vc_column_container {
  height: 100%;
  color: #fff;
}
.recorridos-vive-left > div > .wpb_wrapper{
  /*padding-left: 20%;*/
  color: #fff;
}
.recorridos-vive-left h4 {
  font-weight: lighter;
  margin-bottom: 35px;
}
.recorridos-vive-left p {
  font-size: 28px;
  font-weight: lighter;
  font-style: italic;
}
.img-omni img {
  max-width: 150px;
}
.video-list li{
  margin-bottom: 25px;
}
.video-list ul{
  margin: 0;
}

.videoWrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}
.videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*
.entry-content{
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 120%;
    font-weight: 800;
    position: relative;
}


*/



.site-header .header-image{
  width: 125px;
}

.video-list {
  font-size: 25px;
  font-weight: lighter;
}
.vc_row.tech-1 {
  background-repeat: repeat-x !important;
  background-size: contain;
  background-position: bottom !important;
}
.tech-1 h2{
  font-size: 50px;
  font-weight: bold;
  letter-spacing: initial;
}
.tech-1 p{
    font-size: 23px;
    font-weight: lighter;
    color: #273665;
}

.tech1-titulo{
  font-size: 40px;
  font-weight: lighter !important;
}

.tech-videos h3 {
  color: #fff;
  font-size: 50px;
  font-weight: bold;
}
.tech-videos p{
  color: #fff;
  font-weight: lighter;
  font-size: 25px;
}
.tech-videos .video-list{
  color: #fff;
}
.en-shape {
  color: #273665;
}
.en-shape h2{
  text-transform: uppercase;
}
.tech-servicios h4{
  margin-bottom: 0;
  line-height: 100%;
}


.form-contacto form{
  background: #fff;
  border-radius: 10px;
  padding: 30px 20px;
  margin: 0 auto;
  width: 90%;
}
.form-contacto form label{
  display: block;
  margin-bottom: 5px;
}
.wpcf7-form-control-wrap{
  display: block;
}
.wpcf7-form-control-wrap input[type="text"],
.wpcf7-form-control-wrap input[type="tel"],
.wpcf7-form-control-wrap input[type="email"]{
  width: 100%;
}
.trabajo_en{
  padding: 5px 0;
}
.interesado{
    padding: 5px 0;
}
.wpcf7-form-control-wrap textarea{
  height: 150px;
}
.enviar{
  text-align: center;
}
.footer-section a{
  color: #fff;
}

body .tech-img-soluciones-1{
  background-position: right bottom !important;
}
.trabajo_en .wpcf7-form-control.wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.trabajo_en .wpcf7-form-control.wpcf7-checkbox span,
.interesado .wpcf7-form-control.wpcf7-checkbox span{
  width: 50%;
  margin: 0;
}

.sec-prodesa .wpb_wrapper {
  max-width: 420px;
  margin: 0 auto;
}
.sec-prodesa .wpb_wrapper ul{
  margin-left: 25px;
}
.sec-colsubsidio .wpb_wrapper {
  max-width: 410px;
  margin: 0 auto;
}
.sec-colsubsidio .wpb_wrapper ul{
    margin-left: 25px;
}
.sec-torre .vc_column-inner {
  max-width: 400px;
  margin: 0 auto;
}
.sec-torre .vc_column-inner ul{
    margin-left: 25px;
}
.sec-torre  .img-omni img {
  max-width: 250px;
}

.maquetas-textos2{
  display: none !important;
}
.lb-close{
  z-index: 100;
}


@media only screen and (max-width: 1450px){
  .footer-section{
    padding: 50px;
  }
}
@media only screen and (max-width: 1366px){
  .home-en-shape{

  }


}

@media only screen and (max-width: 1200px){
  .maquetas-info{
    margin-bottom: 30px;
  }
  .line-right::before {
    display: none;
  }
  .line-left::before {
    display: none;
  }

}
@media only screen and (max-width: 1000px){
  .maquetas-info video{
    width: 100%;
  }
  .title-banner {
    font-size: 45px;
  }
}


@media only screen and (max-width: 767px){
  header.scroll {
    background: rgba(62, 62, 62, 0.23);
  }
  header.scroll > div {
    padding: 10px 40px;
  }
  .carrusel-proyectos .slick-prev, .carrusel-proyectos .slick-next {
    width: 20px;
    height: 50px;
  }
  .row-video {
    height: 70vh;
  }
  .video-home-titulo img{
    max-width: 60%;
  }
  .vc_section.scroll-section {
    min-height: 60vh !important;
  }
  .vc_section.scroll-section .vc_row.vc_row-o-full-height{
    min-height: 60vh;
  }


  .img-text-p p{
    min-height: auto;
  }
  .menuimg{
    width: 20%;
  }
  .menu-lateral{
    width: 80%;
  }
  #menu-principal a{
    font-size: 20px;
  }
  #close-menu {
    position: absolute;
    right: 20px;
    top: 50px;
    background: #000;
    font-size: 25px;
    border-radius: 500px;
    width: 50px;
    height: 50px;
    line-height: 25px;
    padding: 0;
  }
  .maquetas-info .wpb_wrapper h2,
  .maquetas-info .wpb_wrapper p{
    text-align: center !important;
  }
  .mqt-parrafo-r,
  .mqt-parrafo-l{
    margin: 0 auto 30px;
  }
  .maqueta-camina div:nth-child(1) {
    order: 2;
  }
  .maqueta-integra div:nth-child(1) {
    order: 2;
  }

  .recorridos-vive-left > div > .wpb_wrapper {
    padding: 30px;
  }
  .video1 > div > div:nth-child(2){
    height: 300px;
    min-height: 300px;
  }
  .videos2 > div > div:nth-child(1){
    height: 300px;
    min-height: 300px;
    order: 2;
  }
  .videos3 > div > div:nth-child(2){
    height: 300px;
    min-height: 300px;
  }
  .videos4 > div > div:nth-child(1){
    height: 300px;
    min-height: 300px;
    order: 2;
  }
  .banner-interno {
    min-height: 50vh !important;
  }

  .maquetas-virtuales section {
    padding: 0 5% !important;
    width: 100%;
    margin: 0 auto;
  }

  .maquetas-textos1{
    display: none !important;
  }
  .maquetas-textos2{
    display: block !important;
  }
  .maquetas-info{
    text-align: center;
  }
  .maquetas-textos2 p{
    line-height: 110%;
  }
  h2{
    font-size: 26px;
  }
  h3{
    font-size: 20px;
  }
  .title-banner {
    font-size: 40px;
  }
  #ht-ctc-chat{
    bottom: 140px !important;
    right: 30px;
  }
  .s100, .section100{
    min-height: 50vh;
  }
  .recorridos-360 .wpb_wrapper iframe {
    height: 400px;
    margin: 0 auto;
    display: block;
  }
  .riframe{
    padding: 20px;
  }
  .riframe .wpb_wrapper{
      display: flex;
    flex-direction: column;
  }
  .riframe .wpb_wrapper > div{
    order: 2;
  }
  .riframe .wpb_wrapper h4{
    order: 1;
  }
  .video-list {
    font-size: 18px;
  }
  .video-list li {
    margin-bottom: 5px;
  }
  .tech-videos h3 {
    font-size: 35px;
  }
  .tech-videos p {
    font-size: 20px;
  }
  .video-list ul {
    margin: 0 0 0 20px;
  }
  .en-shape h2{
    font-size: 20px;
  }
  h1 {
    font-size: 35px;
  }
  .recorridos-vive-left p {
    font-size: 20px;
    line-height: 100%;
  }
  .wpcf7-form-control.wpcf7-acceptance {
    font-size: 12px;
  }
  h4 {
    font-size: 20px;
  }
  .tech1-titulo {
    font-size: 27px;
  }
}


@media only screen and (max-width: 480px){
  .title-banner {
    font-size: 30px;
  }
}








