@charset "UTF-8";
@import url(http://fonts.googleapis.com/css?family=Lato|Roboto:100,300,400,700,900|Asap:400,400italic|Oswald:300,400);
@font-face {
    font-family: 'fontello';
    src: url("fonts/fontello/fontello.eot?34709694");
    src: url("fonts/fontello/fontello.eot?34709694#iefix") format("embedded-opentype"), url("fonts/fontello/fontello.woff?34709694") format("woff"), url("fonts/fontello/fontello.ttf?34709694") format("truetype"), url("fonts/fontello/fontello.svg?34709694#fontello") format("svg");
    font-weight: normal;
    font-style: normal;
}
body {
    margin: 0 auto;
    /*box-shadow: 0px 5px 35px rgba(0,0,0,0.3);*/
    padding: 0 1% 0 1%;
}
* {
    margin: 0;
    padding: 0;
}
ul, li, ol {
    list-style: none;
}
ul {
    font-size: 2em;
    font-family: Lato, Roboto, Arial, Times;
}
@media only screen and (max-width: 628px) {
    ul {
        font-size: 1.6em;
    }
}
h1 {
    font-size: 4em;
    color: #da2f3f;
}
h2 {
    font-size: 2em;
    color: #da2f3f;
}
a {
    text-decoration: none;
}
header {
    height: 100px;
    width: 100%;
    margin: 0 auto;
    /*position: fixed;
  top:0;*/
    background-color: #fff;
    z-index: 99999999999999999999;
}
@media only screen and (max-width: 470px) {
    header {
        height: 100px;
    }
}
span {
    color: #000;
}

.h2-section{
    font-family: Lato, Roboto, Arial, Times;
    color: #000;
    padding-bottom: 2em;
}

.wrapper {
    margin: 0 auto;
    /*clear: both;
  overflow: hidden;*/
    width: 100%;
}
.content {
    font-family: Lato, Arial, Times;
    text-align: center;
    margin: 0 auto;
    width: 100%;
}
.icon {
    font-family: fontello;
}
.icon span {
    margin-left: 10%;
    color: #FFF;
    font-family: Lato, Roboto, Arial, Times;
    font-size: 0.8em;
    display: none;
}
.paper-plane:before {
    content: '\e800';
}
.brush:before {
    content: '\e801';
}
.twitter:before {
    content: '\e802';
}
.facebook:before {
    content: '\e803';
}
.gplus:before {
    content: '\e804';
}
.instagram:before {
    content: '\e805';
}
.pinterest:before {
    content: '\e806';
}
.btn-menu:before {
    content: '\e807';
}
.quote-left:before {
    content: '\e808';
}

/* '' */

.quote-right:before {
    content: '\e809';
}

/* '' */

.right-thin:before {
    content: '\e80a';
}

/* '' */

.logo {
    background-image: url(images/logo4.png);
    background-repeat: no-repeat;
    background-position: left;
    background-size: contain;
    height: 110px;
    width: 22%;
    float: left;
}
@media only screen and (max-width: 470px) {
    .logo {
        width: 45%;
        float: none;
        margin-top: -25px;
    }
}
.logo a {
    display: block;
    height: inherit;
}
.logo span {
    display: none;
}
nav {
    display: block;
    font-family: Lato;
    margin: 3% 1% 0 0;
    color: #000;
    text-transform: uppercase;
    font-size: 0.5em;
    float: right;
    width: 70%;
    text-align: center;
}
@media only screen and (max-width: 1300px) {
    nav {
        margin: 4% 1% 0 0;
    }
}
@media only screen and (max-width: 750px) {
    nav {
        margin: 6% 1% 0 0;
    }
}
@media only screen and (max-width: 600px) {
    nav {
        margin: 8% 0 0 0;
    }
}
@media only screen and (max-width: 512px) {
    nav {
        width: 75%;
    }
}
@media only screen and (max-width: 470px) {
    nav {
        width: 100%;
        float: none;
        margin: -15px 0 4% 5px;
        font-size: 0.5em;
    }
}
nav li {
    display: inline-block;
    color: #000;
    padding: 0 12% 0 0;
}
@media only screen and (max-width: 817px) {
    nav li {
        padding: 0 6% 0 0;
    }
}
@media only screen and (max-width: 816px) {
    nav li {
        padding: 0 9% 0 0;
    }
}
@media only screen and (max-width: 665px) {
    nav li {
        font-size: 0.8em;
    }
}
@media only screen and (max-width: 542px) {
    nav li {
        padding: 0 8% 0 0;
        font-size: 0.7em;
    }
}
@media only screen and (max-width: 470px) {
    nav li {
        padding: 0 6% 0 0;
        font-size: 1em;
    }
}
nav li a {
    text-decoration: none;
    color: #000;
}
nav li a:hover {
    content: '';
    border-bottom: 8px solid #f9ed91;
}
.abridor {
    background: url(images/laberinto.jpg) no-repeat center;
    background-size: cover;
    /*background-color: rgb(249,237,145);*/
    width: 100%;
    height: 500px;
    /*border-top: 1px solid #000;
  border-bottom: 1px solid #000;*/
    clear: both;
    margin-top: 5%;
    position: relative;
    margin-top: 0;
}
@media only screen and (max-width: 450px) {
    .abridor {
        height: 380px;
    }
}
@media only screen and (max-width: 470px) {
    .abridor {
        margin-top: 8%;
    }
}
.abridor h1 {
    margin: 8% 8% 0 0;
    padding: 0.5em 0 0.5em 0.5em;
    color: #000;
    text-align: left;
    width: 42%;
    float: right;
    font-size: 4em;
    /*background-color: #000;*/
    background-color: #f9ed91;
}
@media only screen and (max-width: 1625px) {
    .abridor h1 {
        width: 45%;
    }
}
@media only screen and (max-width: 1275px) {
    .abridor h1 {
        font-size: 3.2em;
    }
}
@media only screen and (max-width: 1110px) {
    .abridor h1 {
        font-size: 3em;
    }
}
@media only screen and (max-width: 1055px) {
    .abridor h1 {
        font-size: 2.5em;
        margin: 20% 8% 0 0;
        width: 50%;
    }
}
@media only screen and (max-width: 800px) {
    .abridor h1 {
        font-size: 2em;
    }
}
@media only screen and (max-width: 645px) {
    .abridor h1 {
        font-size: 2.5em;
        width: 70%;
        margin: 40% 0 0 8%;
        float: left;
    }
}
@media only screen and (max-width: 519px) {
    .abridor h1 {
        font-size: 2em;
    }
}
@media only screen and (max-width: 450px) {
    .abridor h1 {
        font-size: 1em;
        width: 70%;
        margin: 64% 0 0 8%;
    }
}
.pua img {
    width: 80px;
    height: auto;
    position: absolute;
    top: 15%;
    right: 20%;
    display: block;
}
@media only screen and (max-width: 450px) {
    .pua img {
        width: 60px;
        top: 23%;
    }
}
@media only screen and (max-width: 645px) {
    .pua img {
        right: 10%;
        left: 25%;
    }
}
@media only screen and (max-width: 759px) {
    .pua img {
        display: none;
    }
}
.column {
    display: inline-block;
    width: 30%;
    vertical-align: top;
}

/*
@media only screen and (max-width: 1900px) {
  .column {
    width: 99%;
  }
}
*/

@media only screen and (max-width: 600px) {
    .column {
        width: 90%;
    }
}
.column img {
    height: auto;
    padding-top: 30px;
}
.new_title {
    display: block;
    color: rgba(0, 0, 0, 0.8);
    text-align: right;
    font-size: 2em;
    padding-top: 30px;
    text-transform: uppercase;
    width: 80%;
}
.us {
    overflow: hidden;
    margin-top: 1.5%;
    padding-bottom: 4%;
}
.about {
    background-color: rgba(0, 0, 0, 0.06);
}
.column p {
    margin-top: 7%;
    width: 80%;
    text-align: left;
    font-family: Lato, Asap, Arial;
    font-size: 1.2em;
    padding-bottom: 8%;
}

/*
@media only screen and (max-width: 1900px) {
  .column p {
    margin-top: 4%;
    padding-bottom: 0%;
  }
}
*/

@media only screen and (max-width: 1312px) {
    .column p {
        width: 90%;
    }
}
@media only screen and (max-width: 850px) {
    .column p {
        font-size: 1em;
    }
}
@media only screen and (max-width: 794px) {
    .column p {
        width: 100%;
        font-size: 1em;
    }
}
@media only screen and (max-width: 600px) {
    .column p {
        margin-top: 4%;
        padding-bottom: 0;
    }
}
.text {
    color: rgba(0, 0, 0, 0.5);
}
.logo_alt {
    background-image: url(images/logoletra.png);
    background-repeat: no-repeat;
    background-position: left;
    background-size: contain;
    height: 110px;
    min-width: 22%;
    margin: 4% 0 0 -30px;
}
.logo_alt span {
    display: none;
}
.monigote {
    background-image: url(images/monigote.png);
    background-repeat: no-repeat;
    background-position: left;
    background-size: contain;
    height: 110px;
    min-width: 22%;
    margin: -27px 0 0 -30px;
    display: block;
    float: left;
}
.sagan {
    /*font-style: italic;*/
    color: rgba(0, 0, 0, 0.9);
    font-size: 2em;
    text-align: left;
}
@media only screen and (max-width: 470px) {
    .sagan {
        font-size: 1.5em;
    }
}
.sagan span {
    font-size: 0.8em;
    color: rgba(0, 0, 0, 0.9);
}
@media only screen and (max-width: 1055px) {
    .sagan span {
        font-size: 0.6em;
    }
}
@media only screen and (max-width: 794px) {
    .sagan span {
        font-size: 0.5em;
    }
}
.pattern {
    width: 100%;
    height: 400px;
    background: url(images/pattern1.png) repeat center;
    background-size: contain;
    background-attachment: fixed;
}
@media only screen and (max-width: 470px) {
    .pattern {
        height: 150px;
    }
}
.pattern_bis {
    width: 100%;
    height: 400px;
    background: url(images/pattern2.png) repeat center;
    background-size: contain;
    background-attachment: fixed;
}
@media only screen and (max-width: 470px) {
    .pattern_bis {
        height: 150px;
    }
}
.intro-services img {
    margin: 1% 0 0 0;
}
@media only screen and (max-width: 530px) {
    .intro-services img {
        width: 70%;
    }
}
.services {
    background-color: #f9ed91;
}
.row {
    width: 100%;
    height: auto;
    margin: 0 auto;
}
.mini-col {
    display: inline-block;
    width: 30%;
    margin-bottom: 4%;
}
@media only screen and (max-width: 1200px) {
    .mini-col {
        width: 80%;
    }
}
.serv-num {
    text-align: left;
    color: rgba(0, 0, 0, 0.9);
    font-size: 3em;
    font-weight: 900;
    font-family: roboto, lato, arial;
}
.serv-let {
    text-transform: uppercase;
    font-family: roboto, lato, arial;
    color: rgba(0, 0, 0, 0.9);
    text-align: left;
    font-weight: 900;
    font-size: 3em;
    width: 40%;
    line-height: 0.9em;
}
@media only screen and (max-width: 1200px) {
    .serv-let {
        font-size: 2.6em;
    }
}
@media only screen and (max-width: 1030px) {
    .serv-let {
        font-size: 2.2em;
    }
}
@media only screen and (max-width: 870px) {
    .serv-let {
        font-size: 2em;
    }
}
@media only screen and (max-width: 794px) {
    .serv-let {
        font-size: 1.5em;
    }
}
.text {
    text-align: left;
    font-family: Lato, Asap, Arial;
    font-size: 1.2em;
}
@media only screen and (max-width: 925px) {
    .text {
        font-size: 1em;
    }
}
@media only screen and (max-width: 794px) {
    .text {
        font-size: 1em;
    }
}
.plus {
    color: rgba(0, 0, 0, 0.9);
    font-size: 4em;
    font-weight: 900;
    font-family: roboto, lato, arial;
    text-align: left;
}
.plus:hover {
    color: #fff;
}
.case {
    margin: 0 auto;
    max-width: 62.5rem;
    display: block;
    margin-bottom: 4%;
    text-align: center;
}
.case li {
    display: inline-block;
    width: 30%;
    padding: 0.2em;
}
@media only screen and (max-width: 720px) {
    .case li {
        width: 90%;
    }
}
.case li h1 {
    text-align: center;
}
.case h1 {
    font-size: 0.5em;
    font-family: Lato, Roboto, Arial, Times;
    color: #000;
    margin-bottom: 0.5em;
}
.case img {
    width: 100%;
    height: auto;
    -webkit-filter: grayscale(100%);
    -webkit-transition: 1s ease-in-out;
    -moz-filter: grayscale(100%);
    -moz-transition: 1s ease-in-out;
    -o-filter: grayscale(100%);
    -o-transition: 1s ease-in-out;
}
.case img:hover {
    -webkit-filter: grayscale(0%);
    -webkit-transition: .5s ease-in-out;
    -moz-filter: grayscale(0%);
    -moz-transition: .5s ease-in-out;
    -o-filter: grayscale(0%);
    -o-transition: .5s ease-in-out;
}
.case-one {
    margin: 0 auto;
    /*overflow: hidden;*/
    text-align: center;
    max-width: 80%;
}
@media only screen and (max-width: 720px) {
    .case-one {
        max-width: 90%;
    }
}

@media only screen and (max-width: 450px) {
    .case-one {
        padding-top:1em;
    }
}

.case-main {
    overflow: hidden;
    margin: 0 auto;
}
.case-main img {
    width: 100%;
    height: auto;
}
.intro-cases {
    width: 100%;
    margin-top: 3%;
}
.intro-cases img {
    text-align: center;
    margin: 0;
}
@media only screen and (max-width: 660px) {
    .intro-cases img {
        width: 80%;
    }
}
.first-case {
    margin-top: 1.5%;
    padding-bottom: 4%;
}
.first-case p span {
    font-size: 1.5em;
}
.case-title {
    font-size: 2em;
    text-align: left;
    font-family: Lato, arial;
    position: relative;
    top: 15px;
}
@media only screen and (max-width: 720px) {
    .case-title {
        top: 0;
    }
}
.complete-case {
    margin-bottom: 4%;
}
.complete-case img {
    width: 100%;
    height: auto;
}
.cases-ed {
    text-align: center;
}
.contacto {
    overflow: hidden;
    width: 100%;
    height: auto;
    font-family: Lato, Roboto, Arial, Times;
    margin: 0 auto;
}
.contact {
    margin: 4em 0 8em 0;
    /*border: 1px solid rgba(0, 0, 0, 0.1);*/
    overflow: hidden;
    width: 100%;
    /*background: #f9ed91;*/
}
.info-contacto {
    padding: 2em;
    margin: 0 auto;
    width: 50%;
    color: #000;
}
@media only screen and (max-width: 915px) {
    .info-contacto {
        padding: 2em 1em 1em 1em;
    }
}
@media only screen and (max-width: 855px) {
    .info-contacto {
        width: 95%;
    }
}
.enviar {
    padding-bottom: 20px;
}
.formulario-contacto {
    width: 50%;
    margin: 0 auto;
}
@media only screen and (max-width: 855px) {
    .formulario-contacto {
        width: 100%;
        float: none;
    }
}
::-webkit-input-placeholder {
    color: rgba(0, 0, 0, 0.3);
}
:-moz-placeholder {
    color: rgba(0, 0, 0, 0.3);
}
::-moz-placeholder {
    color: rgba(0, 0, 0, 0.3);
}
:-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.3);
}
.form-style {
    background-color: rgba(255, 255, 255, 0.3);
    border: 1px solid #000;
    width: 85%;
    height: 50px;
    padding: 5px 10px;
    margin-top: 0.5em;
    font-size: 16px;
}
@media only screen and (max-width: 460px) {
    .form-style {
        width: 82%;
    }
}
.enviar-style {
    background: #f9ed91;
    /*background: rgba(0, 0, 0, 0.9);
  color: #fff;*/
    border: 1px solid #fff;
    width: 25%;
    height: 50px;
    padding: 10px 10px;
    margin-top: 0.5em;
    font-size: 16px;
}
@media only screen and (max-width: 880px) {
    .enviar-style {
        width: 50%;
    }
}
.enviar-style:hover {
    background: #000;
    color: #fff;
    /*background: #d898b3;
  color: rgba(0, 0, 0, 0.9);*/
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -ms-transition: 0.8s;
    -o-transition: 0.8s;
    transition: 0.8s;
}
textarea {
    resize: vertical;
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid #000;
    min-width: 85%;
    padding: 5px 10px;
    margin: 0.5em 0 0.5em 0;
    font-size: 16px;
    font-family: Lato, Roboto, Arial, Times;
    overflow: auto;
    vertical-align: top;
    -webkit-rtl-ordering: logical;
    -webkit-user-select: text;
    flex-direction: column;
    cursor: auto;
    white-space: pre-wrap;
    word-wrap: break-word;
    letter-spacing: normal;
    word-spacing: normal;
    text-transform: none;
    text-indent: 0px;
    text-shadow: none;
    display: inline-block;
    text-align: start;
    -webkit-writing-mode: horizontal-tb;
}
@media only screen and (max-width: 855px) {
    textarea {
        padding: 5px 2px;
        min-width: 88%;
    }
}
@media only screen and (max-width: 460px) {
    textarea {
        padding: 5px 2px;
        width: 40%;
    }
}
.contacto-share {
    padding-top: 2em;
}
.contacto-share ul {
    width: 100%;
    text-align: center;
}
.contacto-share li {
    display: inline-block;
    font-size: 2em;
    padding-right: 0.5em;
}
@media only screen and (max-width: 460px) {
    .contacto-share li {
        font-size: 1.8em;
    }
}
.contacto-share a {
    text-decoration: none;
    color: #fce6c2;
    /*border: 1px solid rgba(0, 0, 0, 0.9);*/
    border-radius: 50%;
    text-indent: center;
    width: 2em;
    height: 2em;
    line-height: 2em;
    text-align: center;
    display: block;
    background: rgba(0, 0, 0, 0.9);
}
.contacto-share a:hover {
    /*background: #fce6c2;*/
    background: #fff;
    color: rgba(0, 0, 0, 0.9);
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -ms-transition: 0.8s;
    -o-transition: 0.8s;
    transition: 0.8s;
}
.contacto-share span {
    display: none;
}
.contacto-share p {
    margin-bottom: 2em;
}
.contacto-share p:before {
    content: '';
    border-top: 2px dotted rgba(0, 0, 0, 0.9);
    width: 250px;
    display: block;
    margin: 0 auto;
    padding-top: 35px;
}
@media only screen and (max-width: 870px) {
    .contacto-share p:before {
        width: 180px;
    }
}
.site-map {
    background-color: #000;
    color: #fff;
    /*position: fixed;
  bottom: 0;*/
    text-align: center;
    width: 100%;
    height: 50px;
    position: relative;
    bottom: 0;
}
.site-map li {
    display: inline-block;
    font-size: 0.47em;
    padding: 0% 2% 0% 2%;
    /*

  	@media (min-width: 610px){

  	font-size: 0.9em;
  	padding: 2% 7% 3% 7%;
  	}

  	@media (min-width: 850px){

  	padding: 2% 9% 2% 9%;

  	}

  	*/
}
.site-map a {
    color: #fff;
    padding-bottom: 8%;
    display: block;
}
.site-map a:hover {
    content: '';
    border-bottom: 4px solid #FFF;
}
.categorias {
    overflow: hidden;
}
.copy {
    clear: both;
    text-align: center;
    font-family: Lato, Times, Arial;
    font-size: 0.8em;
    color: #FFF;
    /*width: 45%;*/
    float: left;
    line-height: 44px;
    margin-left: 1em;
}
@media only screen and (max-width: 450px) {
    .copy {
        line-height: 53px;
    }
}
.icon-footer {
    color: #FFF;
}
.video {
    position: absolute;
    left: 15%;
    top: 11%;
    display: block;
}
@media only screen and (max-width: 1000px) {
    .video {
        left: 5%;
    }
}
@media only screen and (max-width: 820px) {
    .video {
        left: 0;
    }
}
.video img {
    max-width: 60%;
}
@media only screen and (max-width: 450px) {
    .video img {
        max-width: 80%;
    }
}
.flex-video {
    position: relative;
    padding-top: 1.5625rem;
    padding-bottom: 50%;
    height: 0;
    margin-bottom: 1rem;
    overflow: hidden;
}
.flex-video.widescreen {
    padding-bottom: 56.34%;
}
.flex-video.vimeo {
    padding-top: 0;
}
.flex-video iframe, .flex-video object, .flex-video embed, .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
