@import 'template/fonts.min.css';
@import 'template/margins.min.css';
@import 'template/helper.min.css';


html, body, main{height:100%;}

body{
  font-family: 'Century Gothic';
  color:#4a4a4a;
  font-size: 0.9rem;
}


.color-purple{color:#53164e;}
.color-gray{color:#4A4A4A;}
.color-gray-lt{color:#979797;}
.color-green{color:#83c6b2;}
.color-white{color:#ffffff;}
.color-blue-lt{color:#cd6632;}

.bg-purple{background-color:#53164e;}
.bg-gray-lt{background-color:#979797;}
.bg-gray-lt2{background-color:#ededed;}
.bg-blue{background-color:#cd6632;}
.bg-green{background-color:#83c6b2;}

.round-icon{
  display: block;
  width:28px;
  height:28px;
  text-align: center;
  line-height: 28px;
  color:#fff!important;
  text-decoration: none!important;
  border-radius:50%;
  font-size: 15px;
  opacity:1;
  transition: opacity ease-in-out 0.2s;
}

.round-icon:hover{
  opacity:0.5;
}

.ff-julietta{font-family: 'Julietta Messie';}
.ff-din{font-family: 'DIN';}
.ff-bauhaus{font-family: 'Bauhaus Regular';}


.slick-slide{outline:none!important;}

.container-fluid{overflow: hidden;}

.list-none{list-style-type: none;}

.text-dual{
  text-align: justify;
  -moz-text-align-last: right; /* For Firefox prior 58.0 */
  text-align-last: right;
}

.btn-grey{
  border: solid 1px #d8d8d8;
  background: #f4f4f4;
  text-transform:uppercase;
  font-size: 14px;
  color:#4A4A4A;
  width:127px;
  height: 40px;
  line-height: 26px;
}

.btn-green{
  border: solid 1px #83c6b2;
  background: #83c6b2;
  text-transform:uppercase;
  font-size: 14px;
  color:#fff;
  width:127px;
  height: 40px;
  line-height: 26px;
}

.form-control{
  border-radius:0;
  border:0;
  background-color:#f7f7f7 !important;
  padding-left:20px;
  padding-right:20px;
}

input.form-control{
  height:47px;
}

.wpcf7-radio .wpcf7-list-item{
  margin-right:10px;
  font-size: 1rem;
  line-height: 1.5;
}

.wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label{
  margin-left:5px;
}

.screen-reader-response{
  display: none;
}

.nav-tabs .nav-item .nav-link{
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid #dee2e6;
  color: #abaeb1;
  font-size: 16px;
}

.wpcf7-response-output{
  display: block;
  width: 100%;
  padding: 0.75em;
  border-radius: 3px;
  font-size: 16px;
  color: #000000;
  text-align: center;
}

div.wpcf7-mail-sent-ok {
	background-color: #8cc63e;
}

div.wpcf7-mail-sent-ng {
  background-color: #f93b3b;
}

div.wpcf7-spam-blocked {
  background-color: #ffa500;
}

div.wpcf7-validation-errors {
  background-color: #f7a600;
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active{
  border-bottom: 1px solid #495057;
  color: #495057;
}


/*
===============================
>>> NAVBAR
===============================
*/

.navbar{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background-color:#ffffff;
  border-bottom:1px solid #979797;
  height:120px;
  z-index: 10;
	z-index: 9999999999;
}

#wpadminbar{z-index: 99999999999!important;}

.navbar .hamburger{
  position: absolute;
  right: 70px;
  top: 35px;
  z-index: 10000000;
  border-radius: 0;
  padding: 5px 5px 3px 5px;
}

.hamburger-box{
  width: 32px;
  height: 26px;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after{
  border-radius: 0;
  width: 32px;
  height: 1px;
  background-color: #979797
}
.hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner::before, .hamburger.is-active .hamburger-inner::after{
  background-color: #fff;
  opacity: 1;
}


.navbar .navbar-collapse{
  position: absolute;
  right: 0;
  top: 0;
  background-color: rgba(83,22,78, 0.7);
  color: #fff;
  transition:none;
  transition:transform ease-in-out 0.3s;
  height:100vh!important;
  transform:translateX(100%);
  display:block;
  min-width:370px;
  overflow: auto;
}

.navbar .navbar-collapse.is-active{
  transform:translateX(0%);
}

.navbar .navbar-collapse .navbar-nav{
  color:inherit;
}

.navbar-nav .nav-link{color:#fff;}

.nav-link{
  padding: .3rem 1rem;

}

.navbar-nav .nav-item ul{
  list-style-type: none;
  padding:0;
  margin:0;
}

.navbar-ssmm > ul{
  margin:0;
  padding:0;
  list-style-type: none;
}

.navbar-ssmm > ul > li{
  display: inline-block;
  margin-right:5px;
}

.navbar .menu-search{
  position:relative;
  display: inline-block;
  margin-left:10px;
}

.navbar .menu-search .menu-search-form{
    visibility: hidden;
    opacity: 0;
    transition:all ease-in-out 0.4s;
    background: #fff;
}

.navbar .menu-search  .menu-search-toggle{
  position:absolute;
  top: 0px;
  right: 0px;
  color: inherit!important;
}

.navbar .menu-search.show .menu-search-form{
    opacity: 1;
    visibility:visible;
}


.navbar .menu-search .menu-search-form input{
  visibility: hidden;
  opacity: 0;
  width:0px;
  border-radius: 0;
  border-top:0;
  border-left:0;
  border-right:0;
  padding-left:0;
  padding-right: 0;
  transition:all ease-in-out 0.4s;
}

.navbar .menu-search.show .menu-search-form input{
  width:160px;
  opacity: 1;
  visibility:visible;
  padding-left: .75rem;
  padding-right: .75rem;
}


.navbar .menu-search .menu-search-form .input-group-btn .btn,
.navbar .menu-search  .menu-search-toggle{
  padding-top:0;
  padding-bottom:0;
  background: none;
  outline:none;
  box-shadow: none;
}

/*
============================================
FORM - ContactoForm7
============================================
*/

div.wpcf7-response-output {
  border:none;
}

/*
============================================
>>> HOME
============================================
*/

.slider-home,
.slider-home .slick-list,
.slider-home .slick-track,
.home-wrapper,
.slider-home-item{
  height:100%;
}

.slider-home-item{
  position:relative;
  overflow:hidden;
}

.slider-home-item .slider-title{
  position:absolute;
  left:0;
  bottom:0;
  color:#fff;
  width:100%;
  height:179px;
  padding-left:10%!important;
  background:url(../images/wave-white-xl.svg) no-repeat left top;
  background-size: cover;
}

.slider-home .slick-dots{
  position:absolute;
  bottom:50px;
  left:80px;
  z-index:2;
  list-style-type:none;
  padding:0;
  margin:0;
}

.slider-home .slick-dots > li{
  display:inline-block;
  opacity:0.7;
  transition:all ease-in-out 0.3s;
  margin-right:25px;
}

.slider-home .slick-dots > li:hover,
.slider-home .slick-dots > li.slick-active{
  opacity:1;
}

.slider-home .slick-dots button{
  display:block;
  border:0;
  padding:0;
  color:#fff;
  width:120px;
  height:78px;
  line-height:78px;
  text-align: center;
  text-decoration:none!important;
  cursor:pointer;
  outline:none;
}

.slider-home-item picture>img{
  position:absolute;
  min-width:100%;
  min-height:100%;
  width:auto;
  height:auto;
  top:50%;
  left:50%;
  transform:translateX(-50%) translateY(-50%);
}

/*
===============================
>>> NOSOTROS
===============================
*/

.linea-long-text{
  background:url(../images/nosotros-linea1.png) no-repeat bottom left;
  background-size:100% auto;
  padding-left:15vw;
  padding-right:15vw;
  padding-bottom:10vw;
  padding-top:40px;
}

.linea-short-text{
  background:url(../images/nosotros-linea2.png) no-repeat bottom left;
  background-size:100% auto;
  padding-left:28vw;
  padding-right:23vw;
  padding-bottom:25vw;
}

.slider-timeline img{
  width:100%;
  height:auto;
}

.slick-arrow{
  display:block;
  width:47px;
  height:47px;
  line-height:50px;
  font-size: 30px;
  border:0;
  background-color:#26BCD6;
  color:#fff;
  padding:0;
  position: absolute;
  top:33%;
  z-index: 1;
  outline: none!important;
}

.slick-prev{
  left:15px;
}

.slick-next{
  right:15px;
}

.mapamundi svg{
  overflow:visible;
  max-width:610px;
  width:auto;
  height:auto;
}

.bg-mancha{
  position:absolute;
  top:0;
  right:0;
  transform: translateY(-50%);
  width:96%;
}

.bg-mancha2{
  position:absolute;
  bottom:0;
  left:0;
  width:65%;
  transform: translateY(25%);
  z-index: 0;
}

.bg-mancha img,
.bg-mancha2 img{
  width:100%;
}

.scrollable-image{
  overflow:auto;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;

}

.scrollable-image>div{
  min-width:800px;
  overflow: hidden;
}

.scrollable-image img{
  width:100%;
  height:auto;
}

.scrollable-image .d-flex img:first-child{
  width:45%;
}

.scrollable-image .d-flex img:last-child{
  width:55%;
}

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

footer{
  position: relative;
  z-index: 1;
}

footer picture > img{
  width:100%;
}

footer .navbar-nav{
  -moz-column-count: 3;
  -webkit-column-count: 3;
  column-count: 3;
}

footer .navbar-nav{
  display: block;
}

footer .navbar-nav .nav-item{
  break-inside: avoid-column;
}

footer .navbar-nav .nav-link{
  padding-top:0;
  padding-bottom:0;
}

/*
=========================
>>> PROYECTOS
=========================
*/

.slider-full img{
  width:100%;
  height:auto;
}

.slider-full .slick-dots{
  position: absolute;
  left:0;
  right:0;
  bottom:25px;
  width:100%;
  margin: 0;
  padding: 0;
  list-style-type: none;
  text-align: center;
}

.slider-full .slick-dots > li{
  display: inline-block;
  width:15px;
  height: 15px;
  border: 1px solid #fff;
  border-radius:50%;
  margin:0 10px;
}

.slider-full .slick-dots > li.slick-active{
  background: #fff;
}

.slider-full .slick-dots > li > button{
  display: block;
  width:100%;
  height:100%;
  opacity: 0;
  visibility: hidden;
}

.wrapper-detalles img{width:100%;}

/*
==============================
>>> ARCHIVE PROYECTO
==============================
*/

.bg-lines{
  background: url(#) no-repeat top center;
  background-size: 100% auto;
}


.proyecto-item ul>li{
  color:#979797;
}

.proyecto-item ul>li.clickable{
  color:#53164e;
}

.proyecto-item a{
  font-weight:700;
  color:inherit!important;
  text-decoration: none;
}

.proyecto-item a:after{
  content: "\e903";
  font-family: 'icomoon';
  font-size: 0.9em;
  margin:0 0 0 7px;

  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.bg-lines2{
  background-size: 100% auto;
}

.bg-lines2.bg-lines2top{background-position: top 100px center;}
.bg-lines2.bg-lines2bottom{background-position: bottom 100px center;}

/*
=====================
>>> MARCA
=====================
*/

.list-supplies{
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
}

.list-supplies > li{
  min-width:60px;
  text-align:center;
  font-size: 9px;
  line-height: 1em;
  flex-grow: 1;
  flex-basis: 0;
  padding:0 5px;
  margin-bottom:5px;
}

.list-supplies > li:first-child{padding-left:0;}
.list-supplies > li:last-child{padding-right:0;}

.list-supplies > li > img{
  display: block;
  width:42px;
  height:auto;
  margin:0 auto 10px;
}

.detalles-logo{
  position: relative;
}

.detalles-logo .wrapper-logo{
  position: absolute;
  bottom:0;
  left:0;
  right:0;
  z-index: 1;
}

.detalles-logo .wrapper-logo .logo-container{
  max-width:215px;
  background: #fff;
  padding: 30px;
}
.img-fluid-logos {
    max-width: 280px;
    height: auto;
}
.col-4-marca {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 18.333333%;
}
.row-marca {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: 0;
}

/*
===============================
>>> CONTACTO
===============================
*/

#map{
  height:100%;
  min-height:250px;
}

/*
===============================
>>> BLOG
===============================
*/

.the_content img{
  max-width:100%;
  width:auto;
  height:auto;
}

.single-bottom-bar{
  border-top:1px solid #979797;
  border-bottom:1px solid #979797;
  padding:5px 0;
}

.single-bottom-bar .btn{
  padding-left:0;
  padding-right:0;
  font-size:12px;
  display: inline-flex;
  align-items: center;
  color:#979797;
  text-decoration: none;
}

.single-bottom-bar .btn-link svg{
  width: 19px;
  height: auto;
  float: left;
  margin: 0 10px;
}

.single-bottom-bar .btn-link svg path{
  fill:#492F91;
}

.post-share .btn{
  background: rgba(0,0,0,0);
  outline:none;
  box-shadow: none!important;
}

.post-share .btn img{
  width:15px;
  height:auto;
}

.post-share .btn:after{
  display:none;
}

.post-share .dropdown-menu{
  background-color: #F1F1F1;
  border: 0;
  border-radius: 0;
  width: 28px;
  min-width: auto;
  padding: 5px;
  left: -7px!important;
  top: -5px!important;
}

.post-share .dropdown-menu a{
  display: block;
  text-align: center;
}

.post-share .dropdown-menu a svg{
  height:13px;
  width:auto;
}

.post-share .dropdown-menu a svg path{
  fill: #979797;
}


.slider-noticias-slide{
  width:100%;
  position: relative;
  height:calc(80vh - 120px);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  text-decoration: none;
}

.slider-noticias-slide--title{
  position: absolute;
  left: 0;
  right: 0;
  bottom:25px;
}

.slider-noticias .slick-arrow{
  top:50%;
  background-color: rgba(0,0,0,0.4);
  transform: translateY(-50%);
}

.post-capsule{
  display:block;
  text-decoration: none!important;
  color:#5a595f!important;
}

.post-capsule--thumb{
  padding-bottom: 56.75%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #dedede;
  margin-bottom:20px;
}


/* ============================================================
  CUSTOM PAGINATION
============================================================ */
.pagination-wrapper{
  border-top:1px solid #979797;
}

.custom-pagination span,
.custom-pagination a {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 50%;
  width:38px;
  height: 38px;
  line-height: 38px;
  text-align: center;
  padding:0;
  font-size: 16px;
}

.custom-pagination a {
  background-color: rgba(0,0,0,0);
  color: #492F91;
}
.custom-pagination span.page-num {
  margin-right: 10px;
  padding: 0;
}
.custom-pagination span.dots {
  padding: 0;
  color: gainsboro;
}
.custom-pagination a:hover,
.custom-pagination span.current {
  background-color: #492F91;
  color: #fff;
  text-decoration: none;
}

/* Search icon fallback.
 * The original markup references .icon-magnifying-glass but the theme does not
 * ship a matching icon-font class. Keep the header independent from external
 * or cached icon styles by drawing the icon locally. */
.icon-magnifying-glass {
  position: relative;
  display: inline-block;
  width: 0.82em;
  height: 0.82em;
  border: 0.095em solid currentColor;
  border-radius: 50%;
  box-sizing: border-box;
  vertical-align: -0.02em;
}
.icon-magnifying-glass::after {
  content: "";
  position: absolute;
  width: 0.42em;
  height: 0.095em;
  background: currentColor;
  right: -0.31em;
  bottom: -0.16em;
  transform: rotate(45deg);
  transform-origin: left center;
  border-radius: 0.1em;
}

/* ============================================================
   SEARCH RESULTS
============================================================ */
.search-results-header{
  border-bottom:1px solid #dedede;
  padding-bottom:25px;
}

.search-results-kicker,
.search-result-type,
.search-result-more{
  color:#492F91;
  letter-spacing:.08em;
}

.search-results-count{
  color:#979797;
}

.search-result-card{
  border:1px solid #e5e5e5;
  background:#fff;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.search-result-card:hover{
  transform:translateY(-4px);
  border-color:#d5d0e3;
  box-shadow:0 12px 28px rgba(0,0,0,.08);
}

.search-result-card-link{
  display:flex;
  flex-direction:column;
  height:100%;
  color:#5a595f!important;
  text-decoration:none!important;
}

.search-result-thumb{
  position:relative;
  overflow:hidden;
  padding-bottom:56.25%;
  background:#eee;
}

.search-result-thumb img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}

.search-result-card:hover .search-result-thumb img{
  transform:scale(1.035);
}

.search-result-body{
  padding:25px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.search-result-body.no-thumb{
  padding-top:30px;
  min-height:230px;
}

.search-result-meta{
  color:#979797;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.search-result-separator{
  margin:0 6px;
}

.search-result-title{
  color:#492F91;
  line-height:1.25em;
}

.search-result-excerpt{
  color:#5a595f;
}

.search-result-more{
  display:inline-block;
  margin-top:auto!important;
  padding-top:20px;
  text-transform:uppercase;
}

.search-empty-state{
  max-width:760px;
  background:#f6f6f6;
  padding:45px;
}

.search-empty-form{
  max-width:620px;
}

.search-empty-field{
  display:flex;
  border-bottom:2px solid #492F91;
  background:#fff;
}

.search-empty-field input{
  width:100%;
  border:0;
  outline:0;
  padding:15px 18px;
  background:transparent;
  color:#5a595f;
}

.search-empty-field button{
  width:55px;
  border:0;
  background:#492F91;
  color:#fff;
  cursor:pointer;
  font-size:22px;
}
