﻿    /*--
    Theme Name: GRUPO JP
    Theme URI: https://grupojp.com.pe
    Author: Insane
    Author URI: https://insane.digital
    Description: Developed by Insane Digital
    Version: 1.0.0

--*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500&display=swap');
@media (min-width: 1500px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1350px;
    }
}
.container img{
  max-width: 100%;
  height: auto;
}
.logo-principal img {
    max-width: 300px;
}
span.wpcf7-spinner {
    position: absolute;
}
.box_icon-top small {
    max-width: 230px;
    display: block;
    margin: 0 auto 15px;
    font-weight: 500;
    color: #b14740;
    line-height: 1;
    font-size: 14px;
}
body {
    font-family: 'Poppins', sans-serif;
    font-size: 19px;
    font-weight: 300;
    color: #464646;    
 
}


:root{

--main: #7f1517;
--main2: #ededed;
--main3: #f6821f;
--main4: #1390ca;
--main-text-dark: #111;
--main-text: #a0a0a0;
}


/*//////
PAGE DEFAULT
/////////////*/

.bg__page-default {
    background-position: center;
    padding: 70px 0;
    color: white;
    position: relative;
}

.bg__page-default:before {
    content: '';
    position: absolute;
    left: 0;
    background: #3131318f;
    width: 100%;
    height: 100%;
    top: 0;
}

.bg__page-default h1 {
    font-size: 3.5rem;
    position: relative;
    z-index: 3;
}

.content_b {
    background-color: var(--main);
    color: white;
    padding: 10px 20px;
    border-radius: 50px;
    text-decoration: none;
    display: flex;
    line-height: 1;
    font-size: 15px;
    max-width: 140px;
    align-items: center;
}
    .download-button {
      position: fixed;
      left: 20px;
      bottom: 20px;
      z-index: 9;
    }

    .download-button i {
      margin-right: 10px;
    }

/*////////
HOME JP
//////////*/
.hero-home {
    background-size: cover;
    background-position: 0 500px;
    min-height: 380px;
}



.cl- {background-size: cover;background-position: center;}

.project_item {
    height: 370px;
    position: relative;
    width: 100%;
}



.cl-:nth-child(1) {
    width: 60%;
}
.cl-:nth-child(2) {
    width: 40%;
}

.cl-:nth-child(3) {
    width: 30%;
}
.cl-:nth-child(4) {
    width: 40%;
}.cl-:nth-child(5) {
    width: 30%;
}.cl-:nth-child(6) {
    width: 35%;
}
.cl-:nth-child(7) {
    width: 30%;
}
.cl-:nth-child(8) {
    width: 35%;
}
.content_project {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #070707cf;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    color: white;
    text-align: center;
    visibility: hidden;
    transition: .4s ease;
    opacity: 0;
    flex-direction: column;
    font-size: 15px;
}

.masonry-grid {
    width: 90%;
    margin: 0 auto;
}

.grid-sizer, .grid-item {
    width: 33.333%;
}

.grid-item {
    margin-bottom: 10px;
    box-sizing: border-box;
}

/* Responsive images */
.grid-item img {
    width: 100%;
    display: block;
}


.content_project > * {
    width: 80%;
    margin: 0;
}
.cl-:nth-child(1) .content_project > * {
    width: 50%;
  
}
.content_project:hover {
    visibility: visible;
}

.project_item:hover .content_project {
    visibility: visible;
    transition: .4s ease;
    opacity: 1;
}

.cl-:nth-child(1) .content_project {flex-direction: row;}



/*/////
SERVICIOS
///////////*/
.logo_servicio img {
    width: 100%;
    margin: auto;
    display: block;
}

.desc_servicio {
    padding: 20px 0;
    margin-top: 10px;
    border-top: 2px solid var(--main);
    font-size: 15px;
    min-height: 260px;
}
.bg_gray {
    background: #e2e2e2;
}
.desc__proyectos {
    padding: 0 50px;
}
.item__servicio {
    padding: 0 20px;
}

.main_bt {
    display: inline-block;
    background: var(--main);
    color: white;
    border-radius: 5px;
    padding: 10px;
    font-size: 14px;
}
.main_bt:hover {
    background: #bc5658;
    color: white;
}
.desc_servicio img {
    width: 80%;
    text-align: center;
    display: block;
    margin: auto;
}
.cta_servicio {
    text-align: center;
}

.icon_s img{
    max-width: 150px;
}

.item_sostenibilidad p {
    width: 70%;
}

.item_sostenibilidad img {
    margin-right: 5%;
    margin-left: 5%;
    max-width: 20%;
}

.box_icon-top {
    text-align: center;
}

.box_icon-top a {
    max-width: 260px;
}

.box_icon-top img {
    max-width: 190px;
    display: block;
    margin: 0 auto 30px;
}
.center.raya:after {
    left: 88px;
}
/*/////////
TITLE COMPONENT
///////////////*/

.content_title h3 {
    font-size: 3rem;
}

.content_title h4 {
    font-size: 2rem;
    margin: 0;
}

.raya {
    position: relative;
    padding: 10px 0 0;
}
h4.raya.down {
    display: inline-block;
    margin-bottom: 30px;
}

.down.raya:after {
    width: 80%;
    left: 10%;
    top: inherit;
    bottom: -5px;
}
.raya:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 90px;
    height: 3px;
    background: var(--main);
}
.raya.right:after {

    left: inherit;
    right: 0;
}

/*///
BOUT
/////*/
.marcas-about > * {
    padding: 40px;
    max-width: 280px!important;
    max-height: 125px;
}
/*//////////////
COUNTER COMPONENT
/////////////////*/
.counter_item {
    text-align: center;
}

.counter_item h3 {
    font-size: 5rem;
    position: relative;
    display: inline-block;
}

.counter_item h3:before {
    content: '';
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 3px;
    background: var(--main);
}
.counter_item h3::after {
    content: '+';
    position: absolute;
    left: -30px;
    font-size: 40px;
    top: 40%;
}
.counter_item p {
    font-size: 16px;
    margin: 0;
}



/*-----------------------------------------------------------------------------------*/
/*  GENERAL
/*-----------------------------------------------------------------------------------*/

ul{
    list-style: none;
    padding: 0;
    margin: 0;
}
li{
    padding: 0;
    margin: 0;
}
body::-webkit-scrollbar {
    width: 10px;
}
 
body::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 8px rgba(0,0,0,0.3);
}
 
body::-webkit-scrollbar-thumb {
  background-color: var(--main2);
  outline: 1px solid var(--main);
}

a {
    color: inherit;

}

::selection {

  background: var(--main2);
  color: var(--main);  
  text-shadow: none;

}

::-moz-selection {
  background: var(--main2);
  color: var(--main);  
  text-shadow: none;

}


button:focus, button {
    outline: none;
}
.bt {
    display: block;
    padding: 5px 10px;
    border: 1px solid;
    border-radius: 4px;
}

a {

  -webkit-transition: all 0.1s ease-in-out;
  -moz-transition: all 0.1s ease-in-out;
  -ms-transition: all 0.1s ease-in-out;
  -o-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;

}



a:hover{

  color: inherit;

}



input::-moz-focus-inner {

  border: 0;

}

.middle{
      display: flex;
    -ms-display: flex;
    display: flex;
    align-items: center;
}

a:hover, a:active, a:focus {

  text-decoration: none;

  outline: none;

}



button{
    padding: 0;
    border: 0;
    background: inherit;
}



input, select {
  border: none;
  outline: none;
}



th {
  border-width: 0 1px 1px 0;
}



td {
  border-width: 0 1px 1px 0;
}



section{
  padding: 0;
}


p {
    margin-top: 0;
    margin-bottom: 1rem;
    line-height: 1.5;

}


h1, h2, h3, h4, h5, h6, {
}

.border-t {
    border-top: 1px solid #ffffff29;
    padding-top: 10px;
}
.taxonomy-image, .taxonomy-description {
    display: none;
}
.no-over{overflow: hidden;}

.text-justify {text-align: justify;}

.margin-t100{margin-top: 100px;}
.margin-t40{margin-top:40px;}
.margin-t30{margin-top:30px;}
.margin-t50{margin-top:50px;}

.margin-b50{margin-bottom: 50px}

.margin-b100{margin-bottom: 100px}

.margin-b25{margin-bottom: 25px;}

.display-none{display: none;}

.no-padding {padding: 0;}

.no-margin {margin: 0;}

.white-text{color:white;}

.bg-white{
  background-color: white;
  color: #333;
}

#pagepiling .section{
background:white;
}
.no-relative{
  position: inherit;
}



.copyright-h{
  fill: white;
  width: 50px;
}

.menu {
    padding: 0 0 0 10px;
}

.menu li::marker {
    color: #00daff;
}

p.cta-wpp a {
    background: #00daff;
    color: #020715;
    padding: 6px 20px;
    display: block;
    border-radius: 9px;
    text-align: center;
    font-weight: 600;
    font-size: 20px;
    margin-top: 30px;
}

p.cta-wpp a i {
    color: #020715;
    font-size: 20px;
    margin-right: 7px;
}

p.microcopy {
    color: #59637d;
    font-size: 11px;
    padding: 5px;
}

.head_2 {
    display: flex;
    align-items: center;
    flex-grow: 1;
    justify-content: flex-end;
}

ul.social-media {
    display: flex;
}

ul.social-media li {
    padding: 0 5px;
}

ul.social-media li a {
    padding: 4px 5px;
}
/*======================/
===================/
WHATSAPP BUTTON ANIMATION LIB 1
/*==================/
=======================*/

.wsp_fixed {
    display: flex;
    width: 38px;
    height: 38px;
    position: fixed;
    right: 35px;
    bottom: 35px;
    z-index: 100;
  }
  @media screen and (max-width: 1024px) {
    .wsp_fixed {
      right: 20px;
      bottom: 130px;
    }
  }
  @media screen and (max-width: 960px) {
    .wsp_fixed {
      bottom: 170px;
    }
  }
  @media screen and (max-width: 767px) {
    .box-menu ul {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
    text-align: center;
    line-height: 1;
}
.xs-block{
    display: block;
}
.datos-movil i {
    display: block;
    font-size: 30px;
}
    .wsp_fixed {
      bottom: 150px;
    }
  }
  .wsp_icon {
  }
  .wsp_icon img {
  }
  .wsp_gota1 {
    display: block;
    width: 55px;
    height: 55px;
    background: rgba(92,207,63,0.29);
    border-radius: 50%;
    -webkit-animation: gota 1s infinite ease;
    -moz-animation: gota 1s infinite ease;
    -o-animation: gota 1s infinite ease;
    -ms-animation: gota 1s infinite ease;
    animation: gota 1s infinite ease;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    position: absolute;
    top: 50%;
    left: 50%;
  }
  @media screen and (max-width: 1024px) {
    .wsp_gota1 {
      width: 55px;
      height: 55px;
    }
  }
  .wsp_gota2 {
    display: block;
    width: 80px;
    height: 80px;
    background: rgba(92,207,63,0.2);
    border-radius: 50%;
    -webkit-animation: gota 1s infinite ease;
    -moz-animation: gota 1s infinite ease;
    -o-animation: gota 1s infinite ease;
    -ms-animation: gota 1s infinite ease;
    animation: gota 1s infinite ease;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    position: absolute;
    top: 50%;
    left: 50%;
  }
  @media screen and (max-width: 1024px) {
    .wsp_gota2 {
      width: 65px;
      height: 65px;
    }
  }
  @-moz-keyframes gota {
    0% {
      opacity: 1;
      -ms-filter: none;
      filter: none;
    }
    20% {
      opacity: 0.2;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
      filter: alpha(opacity=20);
    }
    40% {
      opacity: 0.4;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
      filter: alpha(opacity=40);
    }
    60% {
      opacity: 0.6;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
      filter: alpha(opacity=60);
    }
    80% {
      opacity: 0.8;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
      filter: alpha(opacity=80);
    }
    100% {
      opacity: 1;
      -ms-filter: none;
      filter: none;
    }
  }
  @-webkit-keyframes gota {
    0% {
      opacity: 1;
      -ms-filter: none;
      filter: none;
    }
    20% {
      opacity: 0.2;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
      filter: alpha(opacity=20);
    }
    40% {
      opacity: 0.4;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
      filter: alpha(opacity=40);
    }
    60% {
      opacity: 0.6;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
      filter: alpha(opacity=60);
    }
    80% {
      opacity: 0.8;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
      filter: alpha(opacity=80);
    }
    100% {
      opacity: 1;
      -ms-filter: none;
      filter: none;
    }
  }
  @-o-keyframes gota {
    0% {
      opacity: 1;
      -ms-filter: none;
      filter: none;
    }
    20% {
      opacity: 0.2;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
      filter: alpha(opacity=20);
    }
    40% {
      opacity: 0.4;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
      filter: alpha(opacity=40);
    }
    60% {
      opacity: 0.6;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
      filter: alpha(opacity=60);
    }
    80% {
      opacity: 0.8;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
      filter: alpha(opacity=80);
    }
    100% {
      opacity: 1;
      -ms-filter: none;
      filter: none;
    }
  }
  @keyframes gota {
    0% {
      opacity: 1;
      -ms-filter: none;
      filter: none;
    }
    20% {
      opacity: 0.2;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
      filter: alpha(opacity=20);
    }
    40% {
      opacity: 0.4;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
      filter: alpha(opacity=40);
    }
    60% {
      opacity: 0.6;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
      filter: alpha(opacity=60);
    }
    80% {
      opacity: 0.8;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
      filter: alpha(opacity=80);
    }
    100% {
      opacity: 1;
      -ms-filter: none;
      filter: none;
    }
  }
  
  @media screen and (max-width: 1024px) {
    .wsp_fixed {
      right: 30px;
      bottom: 30px;
    }
  }
  @media screen and (max-width: 960px) {
    .wsp_fixed {
      bottom: 50px;
    }
  }
  @media screen and (max-width: 767px) {
    .wsp_fixed {
      bottom: 30px;
    }
  }
  .wsp_icon {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
  }
  .wsp_icon img {
    max-width: 40px;
    height: auto;
    display: block;
  }
  .wsp_gota1 {
    display: block;
    width: 55px;
    height: 55px;
    background: rgb(90 215 111 / 40%);
    border-radius: 50%;
    -webkit-animation: gota 1s infinite ease;
    -moz-animation: gota 1s infinite ease;
    -o-animation: gota 1s infinite ease;
    -ms-animation: gota 1s infinite ease;
    animation: gota 1s infinite ease;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    position: absolute;
    top: 50%;
    left: 50%;
  }
  @media screen and (max-width: 1024px) {
    .wsp_gota1 {
      width: 55px;
      height: 55px;
    }
  }
  .wsp_gota2 {
    display: block;
    width: 80px;
    height: 80px;
    background: rgb(90 215 111 / 20%);
    border-radius: 50%;
    -webkit-animation: gota 1s infinite ease;
    -moz-animation: gota 1s infinite ease;
    -o-animation: gota 1s infinite ease;
    -ms-animation: gota 1s infinite ease;
    animation: gota 1s infinite ease;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    position: absolute;
    top: 50%;
    left: 50%;
  }
  @media screen and (max-width: 1024px) {
    .wsp_gota2 {
      width: 65px;
      height: 65px;
    }
  }
  @-moz-keyframes gota {
    0% {
      opacity: 1;
      -ms-filter: none;
      filter: none;
    }
    20% {
      opacity: 0.2;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
      filter: alpha(opacity=20);
    }
    40% {
      opacity: 0.4;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
      filter: alpha(opacity=40);
    }
    60% {
      opacity: 0.6;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
      filter: alpha(opacity=60);
    }
    80% {
      opacity: 0.8;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
      filter: alpha(opacity=80);
    }
    100% {
      opacity: 1;
      -ms-filter: none;
      filter: none;
    }
  }
  @-webkit-keyframes gota {
    0% {
      opacity: 1;
      -ms-filter: none;
      filter: none;
    }
    20% {
      opacity: 0.2;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
      filter: alpha(opacity=20);
    }
    40% {
      opacity: 0.4;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
      filter: alpha(opacity=40);
    }
    60% {
      opacity: 0.6;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
      filter: alpha(opacity=60);
    }
    80% {
      opacity: 0.8;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
      filter: alpha(opacity=80);
    }
    100% {
      opacity: 1;
      -ms-filter: none;
      filter: none;
    }
  }
  @-o-keyframes gota {
    0% {
      opacity: 1;
      -ms-filter: none;
      filter: none;
    }
    20% {
      opacity: 0.2;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
      filter: alpha(opacity=20);
    }
    40% {
      opacity: 0.4;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
      filter: alpha(opacity=40);
    }
    60% {
      opacity: 0.6;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
      filter: alpha(opacity=60);
    }
    80% {
      opacity: 0.8;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
      filter: alpha(opacity=80);
    }
    100% {
      opacity: 1;
      -ms-filter: none;
      filter: none;
    }
  }
  @keyframes gota {
    0% {
      opacity: 1;
      -ms-filter: none;
      filter: none;
    }
    20% {
      opacity: 0.2;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
      filter: alpha(opacity=20);
    }
    40% {
      opacity: 0.4;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
      filter: alpha(opacity=40);
    }
    60% {
      opacity: 0.6;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
      filter: alpha(opacity=60);
    }
    80% {
      opacity: 0.8;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
      filter: alpha(opacity=80);
    }
    100% {
      opacity: 1;
      -ms-filter: none;
      filter: none;
    }
  }

/*===================/
COLUM H
/*==================/
=======================*/

.cl-10 {
    -ms-flex: 0 0 10%;
    flex: 0 0 10%;
    max-width: 10%;
}
.cl-15 {
    -ms-flex: 0 0 15%;
    flex: 0 0 15%;
    max-width: 15%;
}
.cl-20 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
}

.cl-25 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
}

.cl-30 {
    -ms-flex: 0 0 30%;
    flex: 0 0 30%;
    max-width: 30%;
}

.cl-33 {
    -ms-flex: 0 0 33.333%;
    flex: 0 0 33.333%;
    max-width: 33.333%;
}

.cl-35 {
    -ms-flex: 0 0 35%;
    flex: 0 0 35%;
    max-width: 35%;
}

.cl-40 {
    -ms-flex: 0 0 40%;
    flex: 0 0 40%;
    max-width: 40%;

}

.cl-45 {
    -ms-flex: 0 0 45%;
    flex: 0 0 45%;
    max-width: 45%;

}

.cl-50 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}

.cl-55 {
    -ms-flex: 0 0 55%;
    flex: 0 0 55%;
    max-width: 55%;
}

.cl-60 {
    -ms-flex: 0 0 60%;
    flex: 0 0 60%;
    max-width: 60%;
}

.cl-65 {
    -ms-flex: 0 0 65%;
    flex: 0 0 65%;
    max-width: 65%;
}

.cl-70 {
    -ms-flex: 0 0 70%;
    flex: 0 0 70%;
    max-width: 70%;
}

.cl-75 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
}

.cl-80 {
    -ms-flex: 0 0 80%;
    flex: 0 0 80%;
    max-width: 80%;
}


.cl-90 {
    -ms-flex: 0 0 90%;
    flex: 0 0 90%;
    max-width: 90%;
}
.cl-100 {
   -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}


/*===================/
CUSTOM ROWS
/*==================/
=======================*/

.row-cl {
    display: flex;
    flex-wrap: wrap;
}
.row-sb {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.row-sa {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}
.row-se {
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
}
.row-fe {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.row-ce, .row-jc {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}



/*======================/
===================/
ARCHIVOS CLIENTE
/*==================/
=======================*/

.page-banner{
    position:
    relative;
    padding: 0;
    color: #ffffff;
}

.page-banner .banner-bottom-pattern{
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 100%;
    height: 120px;
    background-size: 100% 100%;
    z-index: 5;
}


.page-banner .banner-inner{
    position: relative;
    display: block;
    z-index:2;
    background: #014afead;
}

.page-banner .inner-container {
    position: relative;
    padding: 200px 0px 70px;
}

.page-banner.ext-banner .inner-container{
    height: 820px;
}

.page-banner .image-layer {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.page-banner .image-layer:before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    border-radius: 0px 0 0 80px;
    height: 100%;
   
}

.page-banner h2 {
    position: relative;
    font-size: 40px;
    color: #ffffff;
    line-height: 1.2em;
    font-weight: 600;
    letter-spacing: 0px;
    margin: 0;
}


/*======================/
===================/
HEADER
/*==================/
=======================*/
.box-menu ul li.cta_menu a {
    background: var(--main);
    color: white;
    padding: 10px 20px;
    border-radius: 5px;
}

.box-menu ul li.cta_menu a:hover {
    background: #9f3839;
    color: white;
}

.box-menu ul li a:hover {
    color: #777;
}
nav.primary-navigation li a:hover {
  color: var(--main);
}

nav.primary-navigation ul li ul {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  padding-left: 30px;
  right: 0;
  color:white;
  background:black;
  display: none;
  
}
nav.primary-navigation ul li:hover > ul,
nav.primary-navigation ul li ul:hover {
  visibility: visible;
  opacity: 1;
  display: block;
  min-width: 250px;
  text-align: left;
  padding-top: 10px;
  
}
nav.primary-navigation ul li ul li {
  clear: both;
  width: 100%;
  text-align: left;
  margin-bottom: 0px;
  border-style: none;
}
nav.primary-navigation ul li ul li a:hover {
  padding-left: 40px;
  transition: all 0.3s ease;
}

ul li ul li a {
  transition: all 0.5s ease;
}

.header-style2 {
    position: relative;
    padding: 10px 0;
    width: 100%;
    z-index: 99;
    background: white;
    border-bottom: 1px solid #0000000f;
}

.header-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
}


.head_1 img {
    max-width: 130px;
    height: auto;
}

.box-menu ul {
    display: flex;
    position: relative;
    justify-content: space-around;
    align-items: center;
}

.box-menu ul li {
    padding-right: 30px;
    position: relative;
}

.box-menu ul li a {padding: 10px 0;display: flex;font-size: 15px;font-weight: 600;color: var(--main-text-dark);align-items: center;gap: 5px;}


.box-menu {
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.head_2 .box-menu .menu-item-has-children ul.sub-menu li > a:hover {
    color: var(--main);
}

.head_2 .box-menu .menu-item-has-children:hover ul.sub-menu {
    opacity: 1;
    visibility: visible;
    transition: 0.4s;
    transform: translateY(0px);
}

.head_2 .box-menu .menu-item-has-children ul.sub-menu li {
    padding: 0;
}

.head_2 .box-menu .menu-item-has-children ul.sub-menu {
    background: var(--main);
    display: block;
    flex-wrap: wrap;
    background: white;
    left: 0;
    list-style: none;
    justify-content: space-evenly;
    top: 50px;
    border-radius: 0 0 5px 5px;
    visibility: hidden;
    align-items: center;
    opacity: 0;
    transform: translateY(10px);
    -webkit-transform: translateY(10px);
    -moz-transform: translateY(10px);
    -o-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transition: all .3s ease-in-out 0s;
    border-radius: 0px;
    box-shadow: 0 18px 35px rgb(50 50 93 / 10%), 0 8px 15px rgb(0 0 0 / 7%);
    position: absolute;
    border-radius: 5px;
}

.head_2 .box-menu .menu-item-has-children ul.sub-menu li > a {
    color: #353b48;
    display: block;
    padding: 14px;
    height: 100%;
    width: max-content;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.sub-menu img {
    display: block;
    margin-bottom: 10px;
    max-width: 90px;
    max-height: 120px;
}

ul.sub-menu h5 {
    font-weight: 700;
    margin-bottom: 20px;
    padding: 0 30px;
    font-size: 16px;
}

button.bt_2.bg1 {
    padding: 2px 15px;
    display: inline-block;
    border-radius: 35px;
    font-size: 13px;
    margin-top: 10px;
    position: relative;
    overflow: hidden;
    background: var(--main3);
    color: white;
}

.head_2 .box-menu .menu-item-has-children ul.sub-menu li:hover {
    background: #ededed;
}

ul.sub-menu li:hover h5 {
    color: var(--main3);
}

.head_2 .box-menu .menu-item-has-children ul.sub-menu:after {
    content: '';
    background-color: transparent;
    border-right: 13px solid transparent;
    position: absolute;
    border-left: 13px solid transparent;
    border-bottom: 13px solid #fff;
    border-top: 13px solid transparent;
    top: -23px;
    right: 65%;
    z-index: -1;
}




/*======================/
===================/
FOOTER
/*==================/
=======================*/


.footer {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    color: #fff;
    padding-top: 90px;
    background: #8A8A8A;
}

.footer .section-titles {
    padding-bottom: 0px;
    margin-bottom: 50px;
}

.footer .footer-inner {
    width: 100%;
    font-size: 16px;
}

.footer .footer-bottom {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding: 30px 0 0;
    opacity: 0.5;
    margin-top: 30px;
    border-top: 1px solid #ffffff63;
}

.footer-inner img {
    filter: grayscale(1);
}

.footer .footer-inner p {
    margin: 0;
    margin-top: 30px;
}

.footer .footer-inner a {
    color: #fff;
    display: inline-block;
    position: relative;
    z-index: 2;
}

.footer .footer-inner a:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: 2px;
    height: 4px;
    width: 0;
    transition: width 0s ease, background .25s ease;
    mix-blend-mode: color;
}
.lista-footer li {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}
.lista-footer li i {
    width: 25px;
    font-size: 19px;
}

/*======================/
===================/
HOME
/*==================/
=======================*/
.bl-hero {
 
    display: flex;
    align-items: center;
    width: 100%;
    position: relative;
    background-size: cover;
    color: white;
}

.bq-home2 {width: 100%;}


.bq-infohero h1 {
    text-transform: uppercase;
    font-weight: 600;
    line-height: 1.1;
    font-size: 50px;
}

.bl-hero:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color:#00000030;
}

.bq-infohero {
    position: relative;
}

.bq-infohero p {
    font-weight: 300;
    margin: 10px 0 50px;
}

a.bt_cta {
    background: var(--main);
    display: inline-block;
    padding: 15px 30px;
    margin-right: 20px;
    border-radius: 0 25px 0px 0px;
}

.bt_cta:last-child {
    background: transparent;
    border: 1px solid;
}


.bq-about  {
 padding: 3rem 0px;
}
.title_2 span {
    position: absolute;
    font-size: 110px;
    font-weight: 800;
    color: #e9e9e9;
    top: 0;
    line-height: 0;
}

.title_2 {
    position: relative;
}


.title_2 h2 {
    color: var(--main);
    font-size: 50px;
    font-weight: 700;
    margin-bottom: 20px;
    position: relative;
}



.bq-clientes p {
    color: var(--main-text);
    font-size: 18px;
    font-weight: 300;
    margin: 0px 60px 0 0;
}

.bq-clientes  {
 padding: 100px 0px;
}



.box-counter h1 {
    color: var(--main);
    font-size: 110px;
    font-weight: 700;
}

.box-counter p {
    margin: 0;
}

.box-counter {
    position: relative;
}

.box-counter:after {
    position: absolute;
    content: '';
    top: 0;
    left: -20px;
    background: var(--main2);
    width: 1px;
    height: 200px;
}

.box-clientes img {
    max-height: 45px;
    max-width: 110px;
    margin: 30px 30px;
    filter: grayscale(1);
}
.box-clientes img:hover {
    filter: grayscale(0);
}

.box-clientes {
    margin-top: 80px;
}



.white-popup-block {
    max-width: 1200px;
    margin: auto;
    background: white;
    padding: 50px 50px;
    border-radius: 5px;
}


/*/////////
ARROWS CAROUSEL
/////////////*/
.arrow-style__1 .owl-nav {
    top: 0;
}
.arrow-style__1 .owl-nav {
    position: absolute;
    top: -90px;
    right: 0;
    display: flex;
    display: -webkit-flex;
    gap: 10px;
}

.arrow-style__1 .owl-nav button i {
    background: var(--main);
    color: var(--main2);
    width: 45px;
    height: 45px;
    display: grid;
    place-content: center;
    border-radius: 50%;
    font-size: 20px;
        padding: 10px 20px;
}

.arrow-style__1 .owl-nav button:hover i {
    background: #380c0c;
    color: #fff;
    
}


/*////////////////
OWL DOTS STYLE
////////////////*/
.dots_2 .owl-dots > button span {
    width: 15px;
    height: 8px;
    background: #e224403b;
    display: block;
    border-radius: 10px;
    transition: all .3s;
}
.dot_main.dots_2 .owl-dots > button span {
  
background: #9f9f9f;
}
.dots_2 .owl-dots > button {
    text-align: center;
    margin: 0 3px;
}

.dots_2 .owl-dots {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
        margin-top: 40px;
}

.dots_2 button.owl-dot.active span {
    background: #1d1d1d;
    width: 20px;
}





/*======================/
===================/
TEMPLATE NOSOTROS
/*==================/
=======================*/

.bl-about  {
 padding: 3rem 0px;
 background: var(--main2);
}

.owl-clientes img {
  
    max-height: 90px;
    display: block;
    margin: auto;
    padding: 10px;
    border-radius: 15px;
}

.box-beneficios img {
    max-height: 90px;
    display: block;
    margin: auto;
    padding: 10px;
    border-radius: 15px;
}

.box-beneficios {
    background: white;
    border-bottom: 1px solid var(--main);
    margin-top: -20px;
    padding: 20px 0px;
}

.box-beneficios p {
    color: var(--main);
    font-size: 19px;
    margin: 0 40px;
    line-height: 1;
    margin-bottom: 50px;
}

.bl-map {
    padding: 100px 0px;
}

.bl-map img {
    width: 280px;
}

.bl-map h2 {
    color: var(--main);
    font-size: 45px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 40px;
    margin-left: 50px;
}

.bl-map p {
    margin-left: 50px;
}

.box-pic img {
    width: 100%;
}


.bl-callto {
    background: var(--main2);
}

.box-pic {
    position: relative;
}

.box-pic:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 60%;
    border-radius: 0px 70px 0 0;
    height: 100%;
    background: #1b1b1b;
    mix-blend-mode: color;
}

.box-pic:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 60%;
    border-radius: 0px 70px 0 0;
    height: 100%;
    background: #1b1b1bd1;
}


.box-grey h2 {
    color: var(--main);
    font-weight: 700;
    font-size: 40px;
    margin: 0;
}

.box-grey p {
    color: var(--main);
    margin-bottom: 50px;
}


.box-grey p:last-child {
    margin: 0;
}

.box-grey {
    margin-left: 60px;
}


.box-pic h2 {
    position: absolute;
    text-transform: uppercase;
    top: 40%;
    color: white;
    width: 48%;
    margin-left: 50px;
}

.btn-4:hover {
    background: white;
    color: black;
}
.btn-4 {
    position: absolute;
    text-transform: uppercase;
    top: 60%;
    color: white;
    margin-left: 50px;
    border: 1px solid white;
    padding: 15px 40px;
    font-size: 20px;
    font-weight: 600;
    border-radius: 0 20px 0 0;
    z-index: 9;
}

.box-blanco {
    margin: 50px 20px;
}

.box-blanco h4 {
    color: var(--main);
    font-weight: 700;
}

.box-gris {
    background: var(--main2);
    padding: 56px 48px;
}

.box-gris h4 {
    font-size: 28px;
    font-weight: 200;
    color: var(--main);
    line-height: 2;
    margin: 0;
}

.box-black {
    background: var(--main);
    color: white;
    padding: 96px;
    border-radius: 0 50px 0 0;
}

.box-black span {
    font-size: 20px;
    font-weight: 200;
    margin: 0;
}


/*/MAPA/*/

.titulo-mapa input[type=radio]{
  position: absolute;
  visibility: hidden;
}

.titulo-mapa label {
    display: block;
    padding-top: 10px;
    z-index: 8;
    font-size: 30px;
    text-transform: uppercase;
    font-weight: 700;
    position: relative;
    width: 120%;
    left: -20%;
    padding-left: 16%;
    margin: 0;
    cursor: pointer;
    -webkit-transition: all 0.25s linear;
}


input[type=radio]:checked ~ .check {
    display: block;
    position: absolute;
    height: 5px;
    width: 40px;
    top: 23px;
    left: -30px;
    background: var(--main);
    z-index: 5;
    transition: border .25s linear;
    -webkit-transition: border .25s linear;
}

input[type=radio]:checked ~ .check::before{
  background: var(--main);
}


input[type=radio]:checked ~ label p {
    color: var(--main);
}


.sede label {
    font-size: 20px;
    text-transform: uppercase;
    font-weight: 700;
    position: relative;
}



.row_map {
    display: flex;
    min-height: 70vh;
}

div#map {
    width: 65%;
}


.map-container {
    padding: 0;
    background: white;
}


.info_agencias {
    width: 55%;
    padding: 100px 70px 0 20px;
    overflow-y: auto;
}

.info_agencias > h2 {
    margin-bottom: 30px;
}



.sede h3 {
    font-size: 30px;
    text-transform: uppercase;
    font-weight: 700;
    position: relative;
}

.sede p {
    margin: 0 0 5px;
    font-weight: 200;
}

.box-agencia {
    padding-left: 10px;
    position: relative;
}

.sede {
    position: relative;
    padding-left: 40px;
    padding-bottom: 10px;
}



/*======================/
===================/
LA EMPRESA
/*==================/
=======================*/

.content_desc_2 {
    background: whitesmoke;
    width: 100%;
    position: relative;
    right: -15%;
    top: 40px;
    padding: 60px 45px;
}

.content_desc_2:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 80%;
    height: 7px;
    background: var(--orange);
}

/*======================/
===================/
TEMPLATE CARPAS
/*==================/
=======================*/

.bl-carpas {
 padding: 100px 0px;
}


.bl-carpas img {
    width: 400px;
    border-radius: 50px;
}


.bl-caracteristicas {
 padding: 100px 0px 20px;
 background: var(--main2);
}

.bl-caracteristicas img {
    width: 80px;
}

.bl-caracteristicas span {
    color: var(--main);
    font-size: 16px;
    margin-left: 30px;
}

.box-caracteristicas {
    display: flex;
    align-items: center;
    margin-bottom: 80px;
}

.bl-imgcarpa {
    padding: 60px 0px;
    background: #d9d9d9;
 
}

.bl-imgcarpa img{
  width: 100%;
}

.bl-carpa-callto {
}

.bl-carpa-callto img{
  width: 100%;
}

.bl-carpa-callto h2 {
    color: var(--main);
    font-weight: 700;
    font-size: 35px;
    margin-bottom: 50px;
}


.btn-5 {
    background: var(--main);
    color: white;
    text-transform: uppercase;
    padding: 15px 40px;
    font-size: 20px;
    font-weight: 600;
    border-radius: 0 20px 0 0;
}

.bl-interes img {
    width: 300px;
    margin-bottom: 30px;
}

.bl-interes {
    padding: 100px 0px;
    background: var(--main2);
    color: var(--main);
}

.bl-interes h2 {
    font-size: 35px;
    font-weight: 700;
    margin-bottom: 80px;
}

.bl-interes h3 {
    font-size: 22px;
    font-weight: 600;
}

/*======================/
===================/
TEMPLATE MODULOS
/*==================/
=======================*/


.bl-modulos p {
    color: var(--main-text);
    font-size: 18px;
    font-weight: 300;
    margin: 0px 60px 0 0;
}

.bl-modulos {
 padding: 100px 0px;
}




.tabset > input[type="radio"] {
  position: absolute;
  left: -200vw;
}

.tabset .tab-panel {
  display: none;
}

.tabset > input:first-child:checked ~ .tab-panels > .tab-panel:first-child,
.tabset > input:nth-child(3):checked ~ .tab-panels > .tab-panel:nth-child(2),
.tabset > input:nth-child(5):checked ~ .tab-panels > .tab-panel:nth-child(3),
.tabset > input:nth-child(7):checked ~ .tab-panels > .tab-panel:nth-child(4),
.tabset > input:nth-child(9):checked ~ .tab-panels > .tab-panel:nth-child(5),
.tabset > input:nth-child(11):checked ~ .tab-panels > .tab-panel:nth-child(6) {
  display: block;
}


.tabset > label {
    position: relative;
    display: inline-block;
    padding: 15px 55px;
    border-bottom: 0;
    cursor: pointer;
    background: var(--main);
    font-weight: 600;
    font-size: 25px;
}


.tabset > input:checked + label {
    color: white;
}

.tab-panel {
  padding: 30px 0;
}


.tabset {
  max-width: 65em;
}

.bl-tipos img {
    width: 100%;
}

.bl-tipos p {
    margin: 0;
}



/*======================/
===================/
TEMPLATE CONTACTO
/*==================/
=======================*/
.col-form input.wpcf7-not-valid {
    background: #ffadad;
}
.wpcf7-not-valid-tip {
    display: none;
}
.bl-contact p {
    color: var(--main-text);
    font-size: 18px;
    font-weight: 300;
    margin: 0;
    margin-left: 50px;
}

.bl-contact {
    padding: 60px 0px;
}


/*======================/
===================/
TEMPLATE PROYECTOS
/*==================/
=======================*/
section img {
    max-width: 100%;
}
.bl-proyectos {
    padding: 100px 0px 50px;
}
section img {
    max-width: 100%;
}
.box-project img {
    height: auto;
    max-width: 100%;
}
a.popup-proyectos {
    display: block;
    position: relative;
}
.box-project h4 {
    color: var(--main);
    font-weight: 600;
    margin-top: 10px;
    text-align: center;
    font-size: 14px;
    text-transform: uppercase;
    position: absolute;
    left: 10%;
    width: 80%;
    background: white;
    bottom: -42px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 0px 15px #00000033;

}

.box-project {padding: 15px 15px;    border: 1px solid #e1e1e1;}

section.bl_all-projecs .cl-30 {
    margin: 0 1.5% 4.5%;
}


.box-proyectos2:before {
    content: '';
    position: absolute;
    left: 0;
    background: var(--main2);
    width: 100%;
    height: 1px;
    bottom: -30px;
}

.box-proyectos2:after {
    content: '';
    position: absolute;
    left: 0;
    background: var(--main2);
    width: 100%;
    height: 1px;
    top: -30px;
}

.box-proyectos2 {
    position: relative;
}

.bl-infoproyecto {
    padding: 70px 0 100px;
}

.box-proyectos2 p {
    margin: 0;
    line-height: 1.2;
}

.box-proyectos2 span {
    color: var(--main);
    font-size: 25px;
    font-weight: 600;
}


.bl-infoproyecto img{

    width: 100%;
}


.bl-infoproyecto h2 {
    color: var(--main);
    font-weight: 600;
    margin-bottom: 50px;
}

.box-detalleproyecto {
    display: flex;
    color: var(--main);
    position: relative;
    margin-bottom: 20px;
    border-bottom: 1px solid #1b1b1b85;
}

.box-detalleproyecto span {
    width: 270px;
    font-size: 17px;
    font-weight: 600;
    margin: 0;
}

.box-detalleproyecto p {
    font-size: 17px;
    width: 250px;
    margin-bottom: 15px;
    line-height: 1.1;
}



/* SLIDER */

        .swiper-progress-bar {
          position: relative;
          width: 100%;
          display: block;
          z-index: 1;
          height: 2px;
        }
        .swiper-progress-bar .slide_progress-bar {
          position: absolute;
          height: 8px;
          background: rgb(255 255 255 / 30%);
          width: auto;
          clear: both;
          opacity: 0;
          bottom: 0;
          left: 0;
          right: 0;
        }
        .swiper-progress-bar .slide_progress-bar:after {
          position: absolute;
          top: 0;
          left: 0;
          background: var(--main2);
          height: 100%;
          width: 0;
          content: "";
          transition: 0.1s width linear;
        }
        .swiper-progress-bar.active .slide_progress-bar {
          opacity: 1;
        }
        .swiper-progress-bar.animate .slide_progress-bar:after {
          transition: width linear;
          transition-delay: unset;
          width: 100%;
          transition-duration: 5s;
        }
        .hero-slider {
      width: 100%;
      min-height: 90vh;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      position: relative;
      z-index: 0;
      }

    @media (max-width: 991px) {
      .hero-slider {
        height: 600px;
      }
    }

    @media (max-width: 767px) {
      .hero-slider {
        height: 500px;
      }
    }

    .hero-slider .swiper-slide {
      overflow: hidden;
      color: #fff;
    }

    .hero-slider .swiper-container {
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
    }

    .content_slider {
          min-width: 1060px;
          position: relative;
          z-index: 2;
    }

    .hero-slider .slide-inner {
      min-width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      z-index: 1;
      background-size: cover;
      background-position: center;
      align-items: center;
      display: flex;
    }

    .hero-slider .swiper-button-prev,
    .hero-slider .swiper-button-next {
      background: transparent;
      width: 55px;
      height: 55px;
      line-height: 53px;
      margin-top: -30px;
      text-align: center;
      border: 2px solid #d4d3d3;
      border-radius: 55px;
      opacity:0;
      visibility:hidden;
      transition:all .3s ease;
    }
    .hero-slider:hover .swiper-button-prev,
    .hero-slider:hover .swiper-button-next {
      transform:translateX(0);
      opacity:1;
      visibility:visible;
    }

    @media (max-width: 767px) {
      .hero-slider .swiper-button-prev,
      .hero-slider .swiper-button-next {
        display: none;
      }
    }

    .hero-slider .swiper-button-prev {
      left: 25px;
      transform:translateX(50px);
    }

    .hero-slider .swiper-button-prev:before {
    font-family: 'FontAwesome';
    content: "\f104";
      font-size: 15px;
      color: #d4d3d3;
      font-style: normal;
      display: inline-block
      vertical-align: middle;
      font-weight: 900;
    }

    .hero-slider .swiper-button-next {
      right: 25px;
      transform:translateX(-50px);
    }

    .hero-slider .swiper-button-next:before {
    font-family: 'FontAwesome';
    content: "\f105";
    font-size: 15px;
    color: #d4d3d3;
    font-style: normal;
    display: inline-block;
    vertical-align: middle;
    font-weight: 900;
}

    .hero-slider .swiper-pagination-bullet {
      width: 12px;
      height: 12px;
      text-align: left;
      line-height: 12px;
      font-size: 12px;
      color: #000;
      opacity: 0.3;
      background:#fff;
      transition:all .2s ease;
    }

    .hero-slider .swiper-pagination-bullet-active {
      opacity:1;
    }

    .hero-slider .swiper-container-horizontal > .swiper-pagination-bullets,
    .hero-slider .swiper-pagination-custom,
    .hero-slider .swiper-pagination-fraction {
      bottom: 30px;
    }

.hero-style {
    min-height: 340px;
    transition: all .4s ease;
}



    .hero-style .slide-title,
    .hero-style .slide-text,
    .hero-style .slide-btns {
      max-width: 500px;
    }

    .hero-style .slide-title h2 {
      font-size: 50px;
      font-weight: 600;
      line-height: 1;
      color: #ffffff;
      margin: 0 0 20px;
      text-transform: uppercase;
      transition:
      all .4s ease;
    }

    .hero-style .slide-text p {
    opacity: 0.8;
    line-height: 1.25;
    color: #ffffff;
    margin: 20px 0 20px;
    transition: all .4s ease;
    }

    .hero-style .slide-btns > a:first-child {
      margin-right: 10px;
    }

    .theme-btn, .theme-btn-s2{
        background-color: transparent;
        border: 2px solid;
        font-size: 15px;
        font-weight: 500;
        font-family: 'Titillium';
        text-align: center;
        color: var(--main);
        padding: 9px 32px;
        border-radius: 3px;
        display: inline-block;
        line-height: initial;
        transition: all .4s ease;
        }

 
    .theme-btn:hover, .theme-btn-s2:hover, .theme-btn:focus, .theme-btn-s2:focus, .theme-btn:active, .theme-btn-s2:active {
        background-color: var(--main) ;
        color: #fff;
    }
    .theme-btn-s3{
      font-size: 16px;
      font-weight: 500;
      line-height: 1.5;
      color: #ffffff;
      text-transform: uppercase;
    }
    i.fa-chevron-circle-right{
      height:22px;
      width:22px;
    }
    a:hover {
        text-decoration: none;
    }


/*////////
POPUP PROYECTOS
/////////////*/
.white-popup-block {max-width: 1200px;margin: auto;background: white;padding: 50px 50px;border-radius: 5px;}

table.datos-proyecto {font-size: 15px;color: black;}

.datos-proyecto tr {border-bottom: 1px solid #b3b3b3;}

.datos-proyecto tr td {padding: 5px 0;}

.datos-proyecto tr td:nth-child(1) {font-weight: 600;width: 150px;padding-right: 20px;}



.owl-prev i, .owl-next i {
  background: #e3e3e3;
  padding: 10px 20px;
  margin: 10px 5px 0;
  font-size: 20px;
  position: relative;
}

.owl-nav {
  text-align: center;
}
.mfp-close-btn-in .mfp-close {
    color: #fff;
}
.content_project h4 {
    text-transform: uppercase;
    color: white;
    font-weight: 800;
}
.content_project h4 {
    margin-bottom: 30px;
}

/*//////
GRID
/////////*/




#Grid .mix {
  display: none;
  opacity: 0;
}
.controls {
display: inline-block;
width: 180px;
margin: 0 0 30px;
vertical-align: top;
}
.controls li {
margin-left: 20px;
cursor: pointer;
list-style-type: square;
}
.controls li.active {
font-weight: 700;
}

#Grid:after {
content: '';
display: inline-block;
width: 100%;
}

#Grid .gap {
display: inline-block;
width: 200px;
}
.mixitup-controls {
    padding: 0;
    margin: 0;
    list-style-position: inside;
    position: relative;
    list-style-type: square;
    z-index: 0;
}
.mixitup-controls li {
 cursor: pointer;
 display: inline-block;
 padding: 0 10px;
}
.mixitup-controls .active {
    background: var(--main);
    color: white;
}
.mixitup-controls li {
    cursor: pointer;
    display: inline-block;
    padding: 6px 15px;
    margin: 0 5px;
    border-radius: 22px;
    color: #000000;
    border: 1px solid;
    background: transparent;
}

.mixitup-controls li:hover {
    background: var(--main);
    color: white;
}


/*//////
ACORDEON COLLAPSE EFFECT - LIBRARY  INSANE OPTION JS
///////*/

.acordeon .sub-menu{
  display: none;
  background: #1a1a1a;
}

.acordeon.active .fa-angle-down:before {
    content: "\f106";
}

.acordeon.active > a {
    color: #bfbfbf;
}

.social-mobile {
    padding: 20px;
}



.social-mobile a {
    color: white;
    font-size: 25px;
    margin: 0 10px;
}



/*-----------------------------------------------------------------------------------*/
/*/FORMULARIO HERO 
/*-----------------------------------------------------------------------------------*/
.container-form h2 {
    margin-bottom: 20px;
}

.capa_form {
    position: relative;
    z-index: 1;
}

.form-hero {
    max-width: 100%;
    position: relative;
}

.form-hero:before {
    content: '';
    position: absolute;
    left: -2%;
    top: -2%;
    width: 104%;
    height: 104%;
    background: #ffffff38;
    z-index: -1;
    border-radius: 15px;
    }

.container-form {
    padding: 15px 15px 10px;
}

.col-form input {
    width: 255px;
    padding: 16px 20px;
    background: var(--main2);
    font-size: 15px;
    color: var(--main);
}

.col-form {
    position: relative;
    margin-bottom: 10px;
    width: 50%;
}

.col-form label small {
    position: absolute;
    bottom: 30%;
    left: 10px;
    background: white;
    line-height: 1;
    transition: all 0.4s;
    padding: 0 5px;
}

.col-form label {
    margin-bottom: 0;
    padding: 0;
}

.col-form br {
    display: none;
}

.col-form label.has-value small {
    transform: translateY(-22px);
    z-index: 2;
    transition: all 0.4s;
    font-size: 10px;
    color: white;
}

.col-form .has-value input {
    border-color: white;
    transition: all 0.4s;
}

.wpcf7-response-output {
    display: none;
}

.wpcf7-submit.submit {
    background: white;
    padding: 5px 10px;
    color: var(--main);
    border-radius: 30px;
    position: relative;
    display: inline-block;
    font-size: 18px;
    font-weight: 600;
    margin: 0;
    width: 140px;
    border: 1px solid var(--main);
}


.col-form select {
    width: 100%;
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    padding: 9px 15px;
    background: transparent;
    font-size: 80%;
    color: white;
}
.text-acept {
    padding-left: 30px;
    display: block;
    font-size: 12px;
    color: white;
}
.text-acept a {
    border-bottom: 1px solid;
    font-weight: 600;
}
.col-form .your-name input {
    text-transform: capitalize;
}


.col-form2 textarea {
    padding: 16px 20px;
    background: var(--main2);
    font-size: 15px;
    color: var(--main);
    border: 0;
    width: 518px;
    height: 145px;
    outline: none;
}

.col-form2 {
    position: relative;
    margin-bottom: 10px;
    width: 100%;
}




/*///////////
MENU HAMBURGUESA MOBILE
///////////*/

.main-head.stick {
    position: fixed;
    background: var(--main);
    z-index: 99;
    box-shadow: 0px 0px 18px #00000000;
}
.stick .box-new {
    display: none;
}
.open_menu .overlay {
    visibility: visible;
    opacity: 1;
    transition: 0.4s ease;
}
@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.main-head.stick {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
      -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.stick .head_1 img {
    width: 150px;
    padding: 5px 0;
}

ul.bt_menu{
    width: 30px;
    height: 30px;
    cursor: pointer;
    position: relative;
}
ul.bt_menu li{
    list-style: none;
    width: 100%;
    height: 2px;
    background: #000;
    position: absolute;
    left: 0;
    transform: translateY(-50%);
    transition: .9s;
}
ul.bt_menu li:nth-of-type(1){
    top: 20%;
}
ul.bt_menu li:nth-of-type(2){
    top: 50%;
    width: 70%;
}
ul.bt_menu li:nth-of-type(3){
    top: 80%;
}
ul.bt_menu.active li:nth-of-type(1){
    top: 50%;
    transform: translateY(-50%) rotate(45deg) rotateY(180deg);
}
ul.bt_menu.active li:nth-of-type(2){
    left: -300%;
    opacity: 0;
}
ul.bt_menu.active li:nth-of-type(3){
    top: 50%;
    transform: translateY(-50%) rotate(-45deg) rotateY(180deg);
}

ul.bt_menu li:last-child{
    width: 100%;
    height: auto;
    transform: none;
    top: 100%;
    font-size: 10px;
    text-align: center;
    transition: .9s;
}
ul.bt_menu li:last-child::before,ul.bt_menu li:last-child::after{
    position: absolute;
    top: 0;  left: 0;
    width: 100%;  
    transition: .9s;
}
ul.bt_menu li:last-child::before{
    content: '';
    color: #fff;
    transform: rotateY(0);
    transition-delay: .5s;    
    
}
ul.bt_menu li:last-child::after{
    content: '';
    color: #ffffff;
    transform: rotateY(
90deg);
    transition-delay: 0s;
}
ul.bt_menu.active li:last-child::before{
    transform: rotateY(90deg);
    transition-delay: 0s;
}
ul.bt_menu.active li:last-child::after{
    transform: rotateY(0deg);
    transition-delay: .5s;
}

.box-hamburger {
    position: relative;
    margin-left: 20px;
    border-left: 1px solid #ffffff3d;
    padding-left: 20px;
}


.open_menu ul.nav-box {
    visibility: visible;
    opacity: 1;
    transition: 0.3s ease;
    
}

.box-ham {margin-left: 30px;}

/*/FIN MENU HAMB/*/


/*//////////////
CONTAINER MENU MOBILE - NAVIGATION MOBILE
//////////////////*/



.navigation-menu {
    position: absolute;
    z-index: 9;
    background: #080808;
    width: 100%;
    height: 100%;
    transition: .4s;
    padding: 30px 30px;
    padding-top: 90px;
    opacity: 0;
    visibility: hidden;
    transform: scale(0);
}

.menu-mobile li a {
    line-height: 30px;
    cursor: pointer;
    text-transform: uppercase;
    font-weight: 600;
    position: relative;
    font-size: 15px;
    text-align: left;
    display: block;
    padding: 10px 20px;
}

.menu-mobile {
    color: white;
}

.menu-mobile li {
    border-bottom: 1px solid #ffffff2e;
}

.navigation-menu ul > li {
    opacity: 0;
    transform: translateY(20px);
    transition: 0.3s cubic-bezier(0.55, 0.06, 0.68, 0.19);
}


.open_menu.navigation-menu ul > li {
   
    transform: translateY(0px);
    transition: 0.3s;
}

.open_menu.navigation-menu ul > li:nth-child(1) {
     opacity: 1;
    transition-delay: .5s;
}

.open_menu.navigation-menu ul > li:nth-child(2) {
     opacity: 1;
    transition-delay: .55s;
}

.open_menu.navigation-menu ul > li:nth-child(3) {
     opacity: 1;
    transition-delay: .58s;
}
.open_menu.navigation-menu ul > li:nth-child(4) {
     opacity: 1;
    transition-delay: .60s;
}
.open_menu.navigation-menu ul > li:nth-child(5) {
     opacity: 1;
    transition-delay: .62s;
}

.open_menu.navigation-menu ul > li:nth-child(6) {
     opacity: 1;
    transition-delay: .64s;
}
.open_menu.navigation-menu ul > li:nth-child(7) {
     opacity: 1;
    transition-delay: .66s;
}
.navigation-menu.open_menu {
    transition: .4s;
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

/*/Social menu mobile/*/

ul.social-menu {
    display: flex;
    color: white;
    padding-top: 30px;
}

ul.social-menu li {
    margin: 0 10px;
}

ul.social-menu i {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid;
}




/*-----------------------------------------------------------------------------------*/
/*/EFECTO CONTACT FORM 7 
/*-----------------------------------------------------------------------------------*/
.bounce.short {
   
    -webkit-animation-duration: 1.2s;
    animation-duration: 1.2s;
    -webkit-animation-name: bounce;
    animation-name: bounce;
    -webkit-animation-direction: alternate;
    animation-direction: alternate;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite
}
.bounce {
   
    -webkit-animation-duration: 1.7s;
    animation-duration: 1.7s;
    -webkit-animation-name: bounce;
    animation-name: bounce;
    -webkit-animation-direction: alternate;
    animation-direction: alternate;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite
}

@-webkit-keyframes bounce {
    0% {
        -webkit-transform: translateY(-3px);
        transform: translateY(-3px)
    }
    15% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    30% {
        -webkit-transform: translateY(-3px);
        transform: translateY(-3px)
    }
    45% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes bounce {
    0% {
        -webkit-transform: translateY(-3px);
        transform: translateY(-3px)
    }
    15% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    30% {
        -webkit-transform: translateY(-3px);
        transform: translateY(-3px)
    }
    45% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}





/*=============================================
ESCRITORIO GRANDE (LG revisamos en 1366px en adelante)
=============================================*/

@media (min-width:1200px){


}

/*=============================================
ESCRITORIO MEDIANO O TABLET HORIZONTAL (MD revisamos en 1024px)
=============================================*/

@media (max-width:1199px) and (min-width:992px){


}

/*=============================================
ESCRITORIO PEQUEÑO O TABLET VERTICAL (SM revisamos en 768px)
=============================================*/

@media (max-width:991px) and (min-width:768px){



}

/*=============================================
MOVIL (SM revisamos en 320px)
=============================================*/

@media (max-width:767px){

.xs-none{
  display: none;
}
.cl-10, .cl-15, .cl-20, .cl-25, .cl-30, .cl-35, .cl-40, .cl-45, .cl-50, .cl-55, .cl-60, .cl-75, .cl-70, .cl-80,  .cl-90{
        width: 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }


.xs-show{
  display: block;
}
.xs-center{
    text-align: center;
}

body {
    font-size: 1rem;
}


.content_title h3 {
    font-size: 2rem;
}
.counter_item h3 {
    font-size: 3.5rem;  
}
.hero-home {
    background-position: center;
    min-height: 320px;
}

.cl-:nth-child(n) {
            width: 95%;
        margin-left: 2.5%;
        margin-bottom: 2.5%;
}

.cl-:nth-child(1) .content_project {
    flex-direction: column;
}

.content_project > * {
    width: 90%;
}

.box_icon-top {  
    margin-bottom: 80px;
}

.box_icon-top img {
    max-width: 150px;    
}

.main_bt {
    min-width: 100px;
}
.item_sostenibilidad {
    margin-bottom: 50px;
}
/*===================/
COLUM H -- NO BORRAR
/*==================/
=======================*/
.cl-10, .cl-20, .cl-30, .cl-40, .cl-50, .cl-60, .cl-70, .cl-80, .cl-90 {

width: 100%;
flex: 0 0 100%;
max-width: 100%;
}

.clx-10 {
    width: 10%;
    flex: 0 0 10%;
    max-width: 10%;
}
.clx-20 {
    width: 20%;
    flex: 0 0 20%;
    max-width: 20%;
}
.clx-30 {
    width: 30%;
    flex: 0 0 30%;
    max-width: 30%;
}
.clx-40 {
    width: 40%;
    flex: 0 0 40%;
    max-width: 40%;
}
.clx-50 {
    width: 50%;
    flex: 0 0 50%;
    max-width: 50%;
}
.clx-60 {
    width: 60%;
    flex: 0 0 60%;
    max-width: 60%;
}
.clx-70 {
    width: 70%;
    flex: 0 0 70%;
    max-width: 70%;
}

.clx-80 {
    width: 80%;
    flex: 0 0 80%;
    max-width: 80%;
}



/*===================/
Footer Movil
/*==================/
=======================*/






}


/*=============================================
MOVIL (XS revisamos en 565px)
=============================================*/

@media (max-width:565px){
.single_jp {
    padding: 50px 0 0;
}
.bq-about {
   
    overflow-x: hidden;
}

.title_2 h2 {   
    font-size: 30px;    
}
.title_2 span { 
    font-size: 60px; 
}

.bl-callto {   
    padding: 90px 0;
}

.hero-style .slide-title h2 {
    font-size: 35px;

}
.footer-inner > div > div {
    margin-top: 50px;
}

.footer-inner > div > div:first-child {
    margin: 0;
}


.bl-about img { 

}
.bg__page-default h1 {
    font-size: 2.5rem;
    text-align: center;
}

.item__servicio {  
    margin-bottom: 100px;
}
.desc_servicio {
    min-height: auto;
}
.desc__proyectos {
    padding: 30px 25px;
}

.bl-carpas img {
    width: 100%;
    border-radius: 50px;
}
}/*/Fin Movil 565px /*/