@charset "UTF-8";
*, *::before, *::after {
  box-sizing: border-box;
}



@font-face {
    font-family: 'futworaregular';
    src: url('futwora_bold-webfont.woff2') format('woff2'),
         url('futwora_bold-webfont.woff') format('woff');
    font-weight: 700;
    font-style: normal;

}


@font-face {
    font-family: 'futworaregular';
    src: url('futwora_regular-webfont.woff2') format('woff2'),
         url('futwora_regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}



.clearfix{
  clear: both;
}
.img-responsive{
  display: block;
  max-width: 100%;
  height: auto;
}
body {
  background-color: white;
  box-sizing: border-box;
  font-family: "futworaregular", Arial, sans-serif;
  font-size: 1rem;
}
.destacados-portada{
  width: 99%;

  margin-left:10px;
  margin-right: 10px;
  margin: auto;
}
body .main-wrapper {
  padding: 10px;
  max-width: 1480px;
  margin-left: auto;
  margin-right: auto;
}

.header__principal {
  background-color: rgba(255, 255, 255, 0.8);
  box-shadow: -2.121px 2.121px 5px 0px rgba(0, 0, 0, 0.2);
  display: block;
  height: 60px;
  position: fixed absolute;
  width: 100%;
  z-index: 999;
  /* Cambios header */
}

.header__principal img {
  margin-right: 20px;
  float: left;
}

.header__principal h1 {
  margin-top: 20px;
  padding: 0px 0px 0px 20px;
  color: #8c8f99;
  font-weight: 300;
  text-decoration: none;
  font-family: "futworaregular", Arial, sans-serif;
  font-size: 30px;
  font-style: italic;
  float: left;
}

@media all and (max-width: 1469px) {
  .header__principal h1 {
    font-size: 22px;
    margin-top: 25px;
  }
}

@media all and (max-width: 1269px) {
  .header__principal h1 {
    width: 200px;
    font-size: 18px;
    display: block;
    margin-top: 15px;
  }
}

@media all and (max-width: 1165px) {
  .header__principal h1 {
    width: 21%;
    font-size: 18px;
    display: block;
    margin-top: 8px;
  }
}

@media all and (max-width: 1022px) {
  .header__principal h1 {
    width: 60%;
    font-size: 22px;
    display: block;
    margin-top: 15px;
  }
}

@media all and (max-width: 768px) {
  .header__principal h1 {
    width: auto;
    margin-top: 15px;
  }
}

@media all and (max-width: 640px) {
  .header__principal h1 {
    width: 100%;
    font-size: 22px;
    margin-bottom: 20px;
    margin-top: 30px;
    text-align: center;
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media all and (max-width: 360px) {
  .header__principal h1 {
    font-size: 18;
  }
}

/* Fin Cambios header */
.header__logo {
  max-width: 150px;
  display: inline-block;
  margin-left: 20px;
  margin-top: 5px;
}

@media all and (min-width: 1023px) {
  .header__principal {
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
  }
  .header__principal img#logo {
    margin-left: 30px;
  }
  .main-wrapper {
    margin-top: 60px;
  }
}

@media all and (min-width: 1169px) {
  .header__principal {
    height: 80px;
  }
  .header__principal img#logo {
    max-width: 230px;
    display: inline-block;
    margin-left: 50px;
    margin-top: 10px;
  }
}

.nav__collapsed {
  width: 35px;
  display: inline-block;
  padding-right: 20px;
  text-align: center;
  position: absolute;
  right: 0px;
  top: 18px;
}

.nav__principal {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: none;
  position: absolute;
  top: 5px;
  right: 5px;
  border-bottom: 1px solid #8c8f99;
  /** Para el título de la navegación de idioma, de haberlo
    .idioma__tag {
        margin: 0;
        padding: 10px 0 10px 0;
        background-color: lighten($gris-oscuro,20%);
        color: white;
    }**/
}

.nav__principal .selected {
  background-color: #202020;
}

.nav__principal a{
  text-transform: lowercase;
}

.nav__principal a:hover,
.nav__principal .selected a {
  color: #fff !important;
}

.nav__principal .nav__idioma {
  padding: 0;
  margin: 0;
}

.nav__principal .idioma, .nav__principal .idioma__selected {
  font-weight: 300;
}

.nav__principal .idioma__selected {
  color: #202020;
  font-weight: 700;
  border-bottom: 5px solid #fcb02f;
}

.nav__contacto {
  background-color: white;
  list-style: none;
  padding: 0;
  border-top: 1px solid #8c8f99;
  border-bottom: 1px solid #8c8f99;
}

.nav__contacto li, .nav__contacto p {
  display: inline-block;
}

.nav__contacto li {
  margin: 0 10px;
}

.nav__contacto li i {
  color: #202020;
}

.nav__contacto .nav__contacto__facebook i {
  color: #3A5795;
}

.nav__contacto .nav__contacto__facebook a:hover{padding: 0px; background: none;}

.nav__contacto .nav__contacto__linkedin i {
  color: #0177b5;
}

.nav__item {
  display: block;
  background-color: #c6c7cc;
  text-align: center;
  padding: 15px 0px;
}

.nav__item a {
  text-decoration: none;

  text-align: center;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: white;
}

.nav__item a.idioma:hover, .nav__item a.idioma__selected:hover {
  background-color: #c6c7cc;
}

.nav__toggle {
  background-color: transparent;
  color: #8c8f99;
  line-height: 2;
  cursor: pointer;
}

.nav__input {
  display: none;
}

.nav__idioma {
  font-size: 0;
}

.nav__idioma li {
  background-color: white;
  display: inline-block;
  font-size: 1rem;
  width: 50%;
}

.nav__idioma li a {
  color: #202020;
}

.nav__input:checked + .nav__principal {
  display: block;
  width: 100vw;
  position: absolute;
  top: 43px;
  right: 0;
  margin-right: 0;
  z-index: 4;
}

@media all and (min-width: 1023px) {
  .nav__toggle, .nav__input {
    display: none;
    font-size: 0;
  }
  .nav__collapsed {
    position: absolute;
    top: 0;
    right: 0;
  }
  .nav__principal {
    box-sizing: border-box;
    font-size: 0px;
    display: inline-block;
    width: 85vw;
    position: absolute;
    top: 0;
    right: 10px;
    text-align: right;
    border-bottom: none;
  }
  .nav__principal .nav__contacto {
    display: inline-block;
    font-size: 0.9rem;
    padding: 0px 5px;
    border-top: none;
    border-bottom: none;
    border-left: 1px solid #c6c7cc;
    border-right: 1px solid #c6c7cc;
    vertical-align: middle;
  }
  .nav__principal .nav__idioma {
    display: inline-block;
    padding: 0px 5px;
    border: none;
  }
  .nav__principal .nav__item, .nav__principal .idioma__tag {
    display: inline-block;
    background: none;
    font-size: 0.9rem;
  }
  .nav__principal .idioma__tag {
    padding: 15px 15px 10px 20px;
    border-left: 1px solid #c6c7cc;
  }
  .nav__principal .nav__item {
    padding: 0;
    vertical-align: middle;
  }
  .nav__principal .nav__item a {
    border-top: 10px solid transparent;
    color: #202020;
    display: block;
    font-size: 0.9rem;
    font-weight: 400;
    letter-spacing: 0.05;
    line-height: 20px;
    padding: 15px;
  }
  .nav__principal .nav__item a.idioma, .nav__principal .nav__item a.idioma__selected {
    padding: 0 5px;
  }
  .nav__principal a:hover {
    border-top: none;
    background-color: #202020;
  }
  .nav__principal .selected a {
    border-top: none;
    padding: 20px 15px;
    background-color: #202020;
  }
  .nav__principal a.idioma__selected {
    color: #fff;
    font-weight: 700;
  }
  .nav__principal .idioma__tag, .nav__principal .idioma {
    color: #8c8f99;
  }
}

@media all and (min-width: 1169px) {
  .header__logo {
    max-width: 230px;
  }
  .nav__toggle, .nav__input {
    display: none;
    font-size: 0;
  }
  .nav__collapsed {
    position: absolute;
    top: 0;
    right: 0;
  }
  .nav__principal {
    box-sizing: border-box;
    font-size: 0px;
    display: block;
    width: 85vw;
    position: absolute;
    top: 0;
    right: 10px;
    text-align: right;
  }
  .nav__principal .nav__item, .nav__principal .idioma__tag {
    display: inline-block;
    background: none;
    font-size: 14px;
  }
  .nav__principal .idioma__tag {
    padding: 15px 15px 10px 20px;
    border-left: 1px solid #c6c7cc;
  }
  .nav__principal .nav__item {
    padding: 0;
  }
  .nav__principal .nav__item a {
    /*border-top: 10px solid transparent;*/
    border: 0px;
    color: #202020;
    display: block;
    font-size: 18px;
    font-weight: 400;
    padding: 25px 15px;
    letter-spacing: 0.075em;
    line-height: 20px;
  }
  .nav__principal .nav__item a.idioma, .nav__principal .nav__item a.idioma__selected {
    padding: 0 5px;
  }
  .nav__principal a:hover {
    padding: 25px 15px;
  }
  .nav__principal .selected a {
    border-top: none;
    padding: 30px 15px;
  }
  .nav__principal a.idioma__selected {
    color: #fcb02f;
    font-weight: 700;
  }
}

@media all and (min-width: 1479px) {
  .nav__toggle, .nav__input {
    display: none;
    font-size: 0;
  }
  .nav__collapsed {
    position: absolute;
    top: 0;
    right: 0;
  }
  .nav__principal {
    box-sizing: border-box;
    font-size: 0px;
    display: block;
    width: 85vw;
    position: absolute;
    top: 0;
    right: 10px;
    text-align: right;
    height: 80px;
  }
  .nav__principal .nav__item, .nav__principal .idioma__tag {
    display: inline-block;
    background: none;
    font-size: 18px;
  }
  .nav__principal .idioma__tag {
    padding: 25px 15px 25px 20px;
    border-left: 1px solid #c6c7cc;
  }
  .nav__principal .nav__item {
    padding: 0;
  }
  .nav__principal .nav__item a {
    box-sizing: border-box;
    border-top: none;
    color: #202020;
    display: block;
    font-size: 20px;
    font-weight: 400;
    padding: 30px 25px;
    letter-spacing: 0.075em;
    line-height: 20px;
    height: 80px;
  }
  .nav__principal .nav__item a.idioma, .nav__principal .nav__item a.idioma__selected {
    padding: 30px 5px;
  }
  .nav__principal a:hover {
    border-top: none;
    padding: 30px 25px;
  }
  .nav__principal .selected a {
    border-top: none;
    padding: 30px 25px;

  }
  .nav__principal a.idioma__selected {
    color: #fcb02f;
    font-weight: 700;
  }
}

.breadcrumbs-container {
  display: none;
}

@media all and (min-width: 480px) {
  .breadcrumbs-container {
    width: 100%;
    padding: 0;
    margin: 10px 0;
    display: block;
    background-color: #202020;
  }
  .breadcrumbs-container ul.breadcrumbs {
    overflow: hidden;
    padding: 0;
    margin: 0;
    background-color: white;
  }
  .breadcrumbs-container .breadcrumbs li {
    float: left;
    margin: 0 0.3em 0 1em;
    list-style: none;
  }
  .breadcrumbs a {
    font-size: 0.8em;
    background: #ddd;
    padding: 0.3em 0.5em;
    float: left;
    text-decoration: none;
    color: #444;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    position: relative;
  }
  .breadcrumbs a:hover {
    /* background: #efc9ab; */
  }
  .breadcrumbs a::before,
  .breadcrumbs a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1em;
    background: #ddd;
    -webkit-transform: skew(-10deg);
        -ms-transform: skew(-10deg);
            transform: skew(-10deg);
  }
  .breadcrumbs a::before {
    left: -.5em;
  }
  .breadcrumbs a:hover::before {
    /* background: #efc9ab; */
  }
  .breadcrumbs a::after {
    right: -.5em;
  }
  .breadcrumbs a:hover::after {
    /* background: #efc9ab; */
  }
  .breadcrumbs .current,
  .breadcrumbs .current:hover {
    font-weight: bold;
  }
  .breadcrumbs a.current::after {
    content: normal;
    width: 100%;
  }
  .breadcrumbs a.breadcrumbs__inicio::before {
    content: normal;
    width: 100%;
  }
  .breadcrumbs li:first-child {
    margin-left: 0;
  }
}

.nav__categorias {
  display: none;
}

@media all and (min-width: 680px) {
  .nav__categorias {
    display: block;
    border-bottom: 5px solid #202020;
  }
  .listado__categorias {
    font-size: 0;
    -ms-display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    width: 100%;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 0;
    background-color: #ccc;
  }
  .listado__categorias li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-size: 0.8rem;
    padding: 10px;

    border-left: 10px solid white;
    text-align: center;
    background-color: #ccc;
    color: white;
    letter-spacing: 0.07em;
  }
  .listado__categorias .categoria1 {
    width: 210px;
    border-left: none;
  }
  .listado__categorias .categoria2 {
    width: 190px;
  }
  .listado__categorias .categoria3 {
    width: 360px;
  }
  .listado__categorias .tab__selected {
    background-color: #202020;
    color: #fff;
  }

  .nav__categorias .listado__categorias li a{color: #202020; text-decoration: none;}
  .nav__categorias .listado__categorias li.tab__selected a{color: #fff;}

}

.select__categorias {
  display: block;
  width: 100%;
  padding: 5px;
  margin: 5px 0 10px 0;
  border: 1px solid #c6c7cc;
}

@media all and (min-width: 680px) {
  .select__categorias {
    display: none;
  }
}








/** PORTADA **/
.carousel{
  margin-top: 80px;
  z-index: 0;
  position: relative;
}
.carousel .item{
  position: relative;
}
.carousel .texto{
  background: rgba(0,0,0,0.65);
  padding: 20px;
  position: absolute;
   width: 15%;
  right: 5%;
  top: 5%;
  text-align: center;

}
.carousel h1{
  color: #fff;
  font-size: 25px;
}
.carousel a{
  text-transform: uppercase;
  font-weight: lighter;
  font-size: 20px;
  color: #fff;
  margin-top:10px;
  text-decoration: none;
}



.main {
  /*width: 100%;*/
  font-size: 0;
}

.main-proyectos .pad__1 {
  background-image: url(../pictures/category/1-a.jpg);
  background-size: cover;
  background-position: center;
}

.main-proyectos  .pad__2 {
  background-image: url(../pictures/category/2-a.jpg);
  background-size: cover;
  background-position: center;
}

.main-proyectos  .pad__3 {
  background-image: url(../pictures/category/3-a.jpg);
  background-size: cover;
  background-position: center;
}

.main .main-pad__content {
  display: block;
  padding: 20px;
  background-color: #202020;
  height: 100px;
}

.main .main-pad {
  font-size: 1rem;
  width: 100%;
  display: inline-block;
  padding: 0px;
  height: 100px;
  margin-bottom: 10px;
  position: relative;
  text-decoration: none;
}

.main .main-pad h2 {
  font-family: 'futworaregular';
  font-weight: 300;
  font-size: 1.2em;
  color: #fff;
  padding: 0;
  margin: 0;
}

.main .main-pad p{
  color: white;
}

.main .main-pad i.fa-plus {
  position: absolute;
  right: 10px;
  bottom: 10px;
  font-size: 1.3em;
  color: #fff;
}



  .main-proyectos .main-pad{
    height: 370px;
    margin-bottom: 30px;
  }

  .main-proyectos .main-pad__content {
    width: 100%;
    display: block;
    padding: 20px;
    height: auto;
    min-height: 180px;
    position: absolute;
    bottom: 0;

  }

@media all and (min-width: 480px) {


  .main-proyectos .main-pad{
    height: 270px;

  }

  .main-proyectos .main-pad__content {
    width: 60%;
    display: block;
    padding: 20px;
    background-color: rgba(0, 0, 0, 0.6);
    height: 270px;
    position: absolute;
    top: 0;
    right: 0px;

  }


}


@media all and (min-width: 680px) {
  .main {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 10px;
  }
  .main .main-pad {
    width: 32.5%;

  }
  .main-proyectos .main-pad {height: 300px;}
  .main .main-pad__content {
    width: 100%;
    display: block;
    padding: 20px;
    background-color: #fff;
    position: absolute;
    bottom: 0;
  }

  .main .main-pad__content h2{
    font-size: 16px;
  }

  .main-proyectos .main-pad__content {
    height: 150px;
  }


  .main-proyectos .main-pad{
    height: 380px;
  }

  .main-proyectos .main-pad__content{
    width: 100%;
    display: block;
    padding: 20px;
    background-color: rgba(0, 0, 0, 0.6);
    height: 200px;
    position: absolute;
    bottom: 0;
    top: auto;
  }
  .main-proyectos .main-pad__content h2{
    font-size: 17px;
    line-height: normal;
    color: #fff;
  }
  .main-proyectos .main-pad__content p{
    font-size: 13px;
    line-height: 1.3em;
  }
  .main a.main-pad:hover .main-pad__content {
    background-color: rgba(32, 32, 32, 1);
  }
  .main-proyectos a.main-pad:hover .main-pad__content {
    /*height: 300px;*/
  }
  .main a.main-pad:hover .main-pad__content h2 {
    display: table-cell;
    color: #fff;
    vertical-align: middle;
  }
  .main a.main-pad:hover .main-pad__content p {
    color: #fff;

    /*
    display: none;
    clear: both;
    width: 100%;
    display: table-row;
    color: #202020;
    vertical-align: middle;
    */
  }
  .main a.main-pad .main-pad__content i,
  .main a.main-pad:hover .main-pad__content i {
    color: #fff;
  }
}

@media all and (min-width: 768px) {
  .main .main-pad h2 {
    color: #202020;
  }
  .main a.main-pad .main-pad__content i {
    color: #202020;
  }

  .main.main-proyectos .main-pad .main-pad__content h2,
  .main.main-proyectos .main-pad .main-pad__content i {
    color: #fff;
  }

}

@media all and (min-width: 1024px) {
  .main-proyectos .main-pad {
    height: 450px;
  }
  .main .main-pad h2 {
    font-size: 1.6em;
    font-weight: 300;
    color: #202020;
  }
  .main-proyectos a.main-pad:hover .main-pad__content {
    /*height: 450px;*/
  }

  .main-proyectos .main-pad__content {
    background-color: rgba(0, 0, 0, 0.6);
  }

  .main-proyectos .main-pad__content h2 {
    font-size: 1.3em;
  }

  .main-proyectos .main-pad__content p{
    font-size: 14px;
  }

  .main a.main-pad .main-pad__content i {
    color: #202020;
  }

}

@media all and (min-width: 1480px) {
  .main-proyectos .main-pad {
    height: 550px;
  }
  .main .main-pad h2 {
    font-size: 1.6em;
    font-weight: 300;
  }
  .main-proyectos a.main-pad:hover .main-pad__content {
    /*height: 550px;*/
  }
  .main-proyectos .main-pad__content h2 {
    font-size: 1.6em;
  }
  .main-proyectos .main-pad__content p{
    font-size: 16px;
  }

}

.main__listado {
  display: block;
  width: 100%;
  position: relative;
  font-size: 0;
  margin-bottom: 10px;
}


.main__listado__item {
  position: relative;
  display: inline-block;
  overflow: hidden;
  width: 100%;
  margin-bottom: 40px;
  text-decoration: none;
  color: #fff;
  font-size: 1rem;


}
.main__listado__item:before {
  display: block;
  content: "";
  width: 100%;
  padding-top: 56.25%;
}
.main__listado__item > .listado-pad__content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.main__listado__item > .listado-pad__content img{
  display: block;
  max-width: 100%;
}

/*
.main__listado__item {
  display: inline-block;
  width: 100%;
  height: 240px;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  color: #fff;
  font-size: 1rem;
  margin-bottom: 10px;
}
*/

.main__listado__item:hover div.item__info {
  position: absolute;
  bottom: 0px;
  height: 48px;
  background-color: rgba(0, 0, 0, 0.6);
  width: 100%;
  padding: 10px 40px 10px 10px;
}

.main__listado__item:hover div.item__info {
}

.main__listado__item div.item__info h2 {
  font-family: 'futworaregular';
  font-weight: 400;
  font-size: 1.13em;
  color: white;
  padding: 0;
  margin: 0;
}

.main__listado__item div.item__info i {
  position: absolute;
  right: 0px;
  bottom: 0px;
  width: 3em;
  height: 3em;
  background-color: #202020;
  padding: 1em 1.1em;
}

/*
.main__listado__item img {
  height: 100%;
}
*/
@media all and (min-width: 560px) {

  .main__listado {
    margin-top: 30px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-align-content: space-between;
        -ms-flex-line-pack: justify;
            align-content: space-between;
  }
  /*
  .main__listado .main__listado__item {
    width: 47%;
    overflow: hidden;
    position: relative;
    margin-bottom: 40px;
  }
  */

  .main__listado__item {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 40px;
  }
  .main__listado__item:nth-of-type(2n){margin-right: 0px;}

}

@media all and (min-width: 960px) {
  .main__listado__item:nth-child(2n+1) {
    /*margin-right: 6%;*/
  }

  .main__listado__item {
    width: 31%;
    margin-right: 3.5%;
    margin-bottom: 40px;
  }
  .main__listado__item:nth-of-type(2n){margin-right: 3.5%;}
  .main__listado__item:nth-of-type(3n){margin-right: 0;}

}

@media all and (min-width: 1024px) {
  .main__listado {
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
  }
  /*
  .main__listado .main__listado__item {
    width: 31%;
    margin-bottom: 45px;
  }
  .main__listado__item:nth-child(3n+2) {
    margin-right: 3.5%;
    margin-left: 3.5%;
  }
  */
}

@media all and (min-width: 1170px) {

  .main__listado {
    max-width: 1480px;
    margin-left: auto;
    margin-right: auto;
  }
}

.img__crop {
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
}

.img__crop img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  min-width: 50%;
  min-height: 50%;
}

.main__proyecto {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.main__proyecto .main__proyecto__galeria img {
  width: 100%;
}

.main__proyecto .main__proyecto__ficha {
  width: 100%;
}

.main__proyecto h2 {
  font-weight: 100;
  font-color: #202020;
  border-bottom: 1px solid #202020;
  padding-bottom: 10px;
}

.main__proyecto ul.ficha__datos {
  padding: 0;
  list-style: none;
  width: 100%;
}

.main__proyecto ul.ficha__datos li {
  width: 100%;
  display: table;
}

.main__proyecto ul.ficha__datos strong {
  display: table-cell;
  background-color: #8c8f99;
  color: white;
  font-weight: 700;
  padding: 10px;
  width: 40%;
  min-width: 90px;
}

.main__proyecto ul.ficha__datos span {
  display: table-cell;
  background-color: #eeeeee;
  color: #202020;
  padding: 10px;
}

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

.compartir-proyecto {
  width: 100%;
  font-size: 0;
  padding: 10px 15px;
  background: #eeeeee;
  border-bottom: 2px solid #202020;
}

@media all and (min-width: 380px) and (max-width: 799px) {
  .compartir-proyecto {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media all and (min-width: 1169px) {
  .compartir-proyecto {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}

.compartir-proyecto h3 {
  margin: 10px 0 5px 0;
  font-size: 16px;
  font-weight: 300;
}

@media (min-width: 320px){
.compartir-proyecto h3 {
/* width: 140px; */
margin: 0;
display: inline-block;
}

@media all and (min-width: 1024px) {
  .compartir-proyecto h3 {
    display: inline-block;
    margin: 10px 0 5px 0;
  }
}

.compartir-proyecto ul.botones-sociales {
  font-size: 1rem;
  width: 100%;
  padding: 0;
  margin: 5px 10px 0 0;
}


@media all and (min-width: 320px) and (max-width: 799px) {
  .compartir-proyecto ul.botones-sociales {
    display: inline-block;
    width: 110px;
    margin: 0 0 0 5%;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

@media all and (min-width: 1024px) {
  .compartir-proyecto ul.botones-sociales {
    display: inline-block;
    width: 32%;
    margin: 0 0 0 5px;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

@media all and (min-width: 1169px) {
  .compartir-proyecto ul.botones-sociales {
    width: 35%;
    margin: 0 0 0 5%;
  }
}

@media all and (min-width: 1279px) {
  .compartir-proyecto ul.botones-sociales {
    width: 45%;
    margin: 0 0 0 5%;
  }
}

.compartir-proyecto ul.botones-sociales li {
  list-style: none;
  display: inline-block;
}

@media all and (min-width: 1169px) {
  .compartir-proyecto ul.botones-sociales li {
    margin: 0px;
  }
}

@media all and (min-width: 1279px) {
  .compartir-proyecto ul.botones-sociales li {
    margin: 0 1% 0 0;
  }
}

.compartir-proyecto ul.botones-sociales li a {
  width: 100%;
}

.compartir-proyecto ul.botones-sociales li a i {
  font-size: 1.4em;
}

@media all and (min-width: 1169px) {
  .compartir-proyecto ul.botones-sociales li a i {
    font-size: 1.8em;
  }
}

.compartir-proyecto ul.botones-sociales .compartir-proyecto-facebook a {
  color: #3b5998;
  z-index: 999;
  position: relative;
  cursor: pointer;
}

.compartir-proyecto ul.botones-sociales .compartir-proyecto-twitter a {
  color: #55acee;
  z-index: 999;
  position: relative;
}

.compartir-proyecto ul.botones-sociales .compartir-proyecto-pinterest a {
  color: #cb2027;
  z-index: 999;
  position: relative;
}

@media all and (min-width: 800px) {
  .main__proyecto .main__proyecto__galeria {
    width: 72%;
  }
  .main__proyecto .main__proyecto__galeria img {
    width: 100%;
  }
  .main__proyecto .main__proyecto__ficha {
    width: 25%;
  }
}

section.contacto {
  padding: 0 10px;
  margin-bottom: 10px;
}

section.contacto .contacto__info {
  background-color: #202020;
  padding: 10px;
  font-weight: 300;
}

section.contacto h1 {
  font-size: 1.8em;
  line-height: 1.2em;
  font-weight: 100;
}

section.contacto ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
  width: 100%;
  text-align: left;
}

section.contacto li {
  box-sizing: border-box;
  font-size: 1em;
  line-height: 1.4em;
  margin: 0;
  padding: 10px;
  color: white;
}

section.contacto li i {
  color: #fff;
  float: left;
  margin: 0 10px 10px 0px;
}

section.contacto aside.briefing {
  border-top: 1px solid white;
  padding: 10px;
}

section.contacto aside.briefing p {
  color: white;
  margin: 10px 0;
}

section.contacto aside.briefing a.boton__briefing {
  display: block;
  border: 1px solid #fff;
  border-radius: 5px;
  color: #fff;
  text-transform: uppercase;
  padding: 10px;
  text-align: center;
  margin-top: 10px;
  text-decoration: none;
}

section.contacto aside.briefing a.boton__briefing i {
  margin-right: 5px;
}

section.contacto div.contacto-mapa {
  width: 100%;
  height: 350px;
  margin: 20px 0;
}

.contact-form-container {
  padding: 20px;
  background-color: #202020;
}

.contact-form-container h2 {
  font-size: 1.4em;
  font-weight: 300;
  color: #fff;
  margin-top: 0;
  padding-bottom: 5px;
  border-bottom: 1px solid #8c8f99;
  text-align: center;
}

.contact-form-container label {
  display: block;
  color: white;
  font-size: 0.8em;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin-top: 7.5px;
}

.contact-form-container .field input, .contact-form-container .field textarea {
  box-sizing: border-box;
  width: 100%;
  padding: 7.5px;
  margin-top: 7.5px;
  border-radius: 3px;
  background-color: #c6c7cc;
  border: none;
}

.contact-form-container .submit input {
  background-color: #fff;
  box-sizing: border-box;
  text-transform: uppercase;
  font-weight: 700;
  padding: 10px;
  color: #202020;
}

@media all and (min-width: 600px) {
  section.contacto {
    position: relative;
    top: 80;
  }
  section.contacto .header__contacto {
    margin-top: 20px;
    width: 100%;
  }
  section.contacto .contacto__info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
  }
  section.contacto .contacto__info .contact-data {
    width: 50%;
  }
  section.contacto .contacto__info .briefing {
    width: 50%;
    border-top: none;
    border-left: 1px solid white;
    padding: 0 20px;
  }
}

@media all and (min-width: 680px) {
  section.contacto {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  section.contacto .header__contacto {
    margin-top: 20px;
    width: 100%;
  }
  section.contacto .header__contacto h1 {
    margin-top: 0;
    font-size: 2.2em;
  }
  section.contacto .contacto__wrapper {
    width: 65%;
  }
  section.contacto .contact-form-container {
    width: 32%;
  }
  section.contacto .contacto__info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
  }
  section.contacto .contacto__info .contact-data {
    width: 50%;
  }
  section.contacto .contacto__info .briefing {
    width: 50%;
    border-top: none;
    border-left: 1px solid white;
    padding: 0 20px;
  }
  section.contacto div.contacto-mapa {
    width: 100%;
    height: 320px;
    margin: 20px 0;
  }
}

@media all and (min-width: 1170px) {
  section.contacto {
    max-width: 1480px;
    margin-left: auto;
    margin-right: auto;
  }
  section.contacto .contact-form-container .submit {
    text-align: right;
    margin-top: 10px;
  }
  section.contacto .contact-form-container .submit submit {
    padding: 15px;
  }
  section.contacto div.contacto-mapa {
    height: 330px;
  }
}

@media all and (min-width: 1479px) {
  section.contacto div.contacto-mapa {
    height: 395px;
  }
}

section.main-nosotros {
  /*overflow: hidden;*/
}

section.main-nosotros h2 {
  color: #8c8f99;
  font-size: 1.8em;
  font-weight: 100;
}

@media all and (min-width: 680px) {
  section.main-nosotros h2 {
    font-size: 2em;
  }
}

@media all and (min-width: 800px) {
  section.main-nosotros h2 {
    font-size: 2.4em;
  }
}

@media all and (min-width: 1024px) {
  section.main-nosotros h2 {
    font-size: 3em;
  }
}

@media all and (min-width: 1170px) {
  section.main-nosotros h2 {
    font-size: 3.4em;
  }
}

section.main-nosotros img {
  width: 100%;
}

@media all and (min-width: 680px) {
  section.main-nosotros img {
    width: 48%;
    float: left;
    clear: both;
    margin: 0 20px 20px 0;
  }
}

@media all and (min-width: 1170px) {
  section.main-nosotros img {
    margin: 0 40px 40px 0;
  }
}

section.main-nosotros li,
section.main-nosotros p {
  font-size: 1em;
  font-weight: 300;
  line-height: 1.4em;
}

@media all and (min-width: 680px) {
  section.main-nosotros p {
    text-align: justify;
  }
}

@media all and (min-width: 1024px) {
  section.main-nosotros p {
    font-size: 1.2em;
    line-height: 1.6em;
  }
}

.main-clientes{margin: 0px 10px;}
.main-clientes h2 {
  text-align: center;
  background-color: #eeeeee;
  font-family: 'futworaregular';
  font-weight: 300;
  margin: 0px 0px 10px 0px;
  padding: 10px;
}

.main-clientes ul.listado-clientes {
  padding: 0;
  margin: 0;
  background-color: #202020;
  text-align: center;
}

.main-clientes ul.listado-clientes li {
  list-style: none;
  display: inline-block;
  font-size: 0;
  margin: 10px;
}

.main-clientes .cliente-proveedores-preferentes {
  border-top: 1px solid #8c8f99;
  padding: 10px;
  margin: 0;
  background-color: #202020;
  text-align: center;
  color: white;
}

.main-clientes .cliente-proveedores-preferentes p {
  font-size: 16px;
  font-weight: 300;
  margin: 0 auto;
}

@media all and (min-width: 480px) {
  .main-clientes .cliente-proveedores-preferentes p {
    -ms-display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 14px;
    max-width: 400px;
  }
}

.main-clientes .cliente-proveedores-preferentes span {
  font-size: 0;
}

.main-clientes .cliente-proveedores-preferentes img {
  max-width: 270px;
  padding: 10px;
}

.footer__principal {
  background-color: #eeeeee;
  margin: 10px;
}

.footer__principal p {
  margin: 10pxx;
  padding: 10px;
  border-top: 1px solid #8c8f99;
  text-align: center;
}

.footer__principal a{color: #202020; text-decoration: none;}

.footer__principal ul.footer__contact__data {
  margin: 0;
  padding: 0 20px 20px;
  text-align: center;
  list-style: none;
}

.footer__principal ul.footer__contact__data li {
  display: inline-block;
  margin: 10px;
}

.footer__principal ul.footer__contact__data .footer__social {
  display: inline-block;
  font-size: 0;
  width: 100px;
  text-align: center;
}

.footer__principal ul.footer__contact__data .footer__social li {
  margin: 30px 30% 0;
}

.footer__principal ul.footer__contact__data .footer__social i {
  position: relative;
  top: 5px;
  font-size: 2rem;
  margin: 10px 7px 0;
}

.footer__principal ul.footer__contact__data .footer__social .fa-facebook-square {
  color: #3A5795;
}

.footer__principal ul.footer__contact__data .footer__social .fa-linkedin-square {
  color: #0177b5;
}

@media all and (min-width: 1024px) {
  .main-wrapper, .contacto {
    margin-top: 60px;
  }
}

@media all and (min-width: 1170px) {
  .main-wrapper, .contacto {
    margin-top: 80px;
  }
}





.carousel {
  position: relative;
  margin-left: 10px;
  margin-right: 10px;
}
.carousel-inner {
  position: relative;
  width: 100%;

}
.carousel-inner > .item {
  position: relative;
  display: none;
  -webkit-transition: .6s ease-in-out left;
       -o-transition: .6s ease-in-out left;
          transition: .6s ease-in-out left;
}
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  line-height: 1;
}
@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-inner > .item {
    -webkit-transition: -webkit-transform .6s ease-in-out;
         -o-transition:      -o-transform .6s ease-in-out;
            transition:         transform .6s ease-in-out;

    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    -webkit-perspective: 1000px;
            perspective: 1000px;
  }
  .carousel-inner > .item.next,
  .carousel-inner > .item.active.right {
    left: 0;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
  .carousel-inner > .item.prev,
  .carousel-inner > .item.active.left {
    left: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  .carousel-inner > .item.next.left,
  .carousel-inner > .item.prev.right,
  .carousel-inner > .item.active {
    left: 0;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
  display: block;
}
.carousel-inner > .active {
  left: 0;
}
.carousel-inner > .next,
.carousel-inner > .prev {
  position: absolute;
  top: 0;
  width: 100%;
}
.carousel-inner > .next {
  left: 100%;
}
.carousel-inner > .prev {
  left: -100%;
}
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
  left: 0;
}
.carousel-inner > .active.left {
  left: -100%;
}
.carousel-inner > .active.right {
  left: 100%;
}
.carousel-control {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 5%;
  font-size: 20px;
  color: #fff;
  text-align: center;
}
.carousel-control.left {
  color: #fff;
  top: 46%;
  font-size: 80px;
  font-weight: bold;
}
.carousel-control.right {
  right: 0;
  left: auto;
  color: #fff;
  top: 46%;
  font-size: 80px;
  font-weight: bold;
}
.carousel-control:hover,
.carousel-control:focus {
  color: #fff;
  text-decoration: none;
}
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
  position: absolute;
  top: 50%;
  z-index: 5;
  display: inline-block;
  margin-top: -10px;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
  left: 50%;
  margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
  right: 50%;
  margin-right: -10px;
}
.carousel-control .icon-prev,
.carousel-control .icon-next {
  width: 20px;
  height: 20px;
  font-family: serif;
  line-height: 1;
}
.carousel-control .icon-prev:before {
  content: '\2039';
}
.carousel-control .icon-next:before {
  content: '\203a';
}
.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  padding-left: 0;
  margin-left: -30%;
  text-align: center;
  list-style: none;
}
.carousel-indicators li {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 10px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #000 \9;
  background-color: rgba(0, 0, 0, 0);
  border: 2px solid #fff;
  border-radius: 10px;
}
.carousel-indicators .active {
  width: 20px;
  height: 20px;
  background-color: #fff;
  border-color: #fff;
}
.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
}
.carousel-caption .btn {
  text-shadow: none;
}
@media screen and (min-width: 768px) {
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -10px;
    font-size: 30px;
  }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -10px;
  }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -10px;
  }
  .carousel-caption {
    right: 20%;
    left: 20%;
    padding-bottom: 30px;
  }
  .carousel-indicators {
    bottom: 20px;
  }

}

@media all and (max-width: 1024px) {

  .carousel .texto{width: 35%;}

  .main__listado__item div.item__info {
    position: absolute;
    bottom: 0px;
    height: 48px;
    background-color: rgba(0, 0, 0, 0.6);
    width: 100%;
    padding: 10px 40px 10px 10px;
  }

  .main__listado__item div.item__info h2 {
    font-size: 0.87em;
    line-height: normal;
  }

}

@media all and (max-width: 768px) {
  .carousel{margin: 0px;}
}

@media all and (max-width: 640px) {
  .carousel { margin: 0px; margin-bottom: 20px; padding:0px; margin-left:0px; margin-right: 0px;}
  .carousel .texto{width: 100%; padding:2% 5%; top: auto;  bottom: 0px; right: auto; left: 0px; font-size: 20px; position: relative; background: #000;}
  .carousel h1{margin-top: 0px; font-size: 22px;}
  .carousel-indicators {display: none;}

  .destacados-portada {
      width: auto;
      margin-left: 10px;
      margin-right: 10px;
  }

}

@media screen and (max-width: 767px) {

  .carousel-control.left {
    color: #fff;
    left: 5px;
    font-size: 40px;
    top: 30%;
  }
  .carousel-control.right {
    right: 8px;
    left: auto;
      font-size: 40px;
    top: 30%;
  }
}


/** BEGIN Cookie Notice for GDPR v1.01 */
#cookie-notice {
    display: block;
    visibility: hidden;
    height: auto;
    font-size: 13px;
    line-height: 20px;
    left: 0;}
.cn-top { top: 0; }
.cn-bottom { bottom: 0; }
.cookie-notice-container { text-align: center; }
.cn-button.bootstrap,.cn-button.bootstrap:hover { box-shadow: none; text-decoration: none; }
.cn-button.bootstrap {
    cursor: pointer;
    font-family: sans-serif;
    font-size: 12px;
    font-style: normal;
    line-height: 20px;
    outline: none;
    text-align: center;
    text-decoration: none;
    vertical-align: middle; }
/* custom */
#cookie-notice {
    background-color: rgba(255, 255, 255, .9) !important;
    box-shadow: 0 0 2px 1px rgba(0, 0, 0, .15);
    margin: 1.5em;
    min-width: initial;
    position: fixed;
    width: 38em;
    z-index: 1000; }
#cookie-notice .cookie-notice-container { box-sizing: border-box; padding: 1.5em; }
#cookie-notice #cn-notice-text { color: black; display: block; text-align: justify; }
#cookie-notice .cn-button {
    background: none;
    background-color: #202020;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: white;
    display: block;
    font-weight: 500;
    letter-spacing: .1em;
    margin: 1em 0 0 0;
    opacity: .85;
    padding: .75em 1em;
    text-shadow: none;
    text-transform: uppercase; }
#cookie-notice .cn-button:hover { opacity: 1; transition: all 1s ease; }
#cookie-notice .cookie-notice-revoke-container { text-align: initial; }
#cookie-notice .cn-revoke-cookie.cn-button { display: inline-block; margin: 0; }
@media (max-width: 38em) { #cookie-notice { margin: 0; width: 100%; } }
/** END Cookie Notice for GDPR v1.01 */


.table.table-bordered td{
  border: 1px solid #000;
  padding: 5px;
}