*{margin:0;padding:0;outline:0;border:none;box-sizing:border-box;}
body{font:13px/18px 'Montserrat',Arial,Helvetica,sans-serif;text-align:center;color:#fff;background:#101415;}
a{text-decoration:none;color:#000;}
a:hover{color:#000;}
.clear{clear:both;}

.animated{visibility:hidden;}
.visible{visibility:visible;}

.col{padding-right:30px;padding-left:30px;}

::selection{background:#333;color:#fff;}
::-moz-selection{background:#333;color:#fff;}
::-webkit-selection{background:#333;color:#fff;}

::placeholder{color:#000;text-transform:uppercase;letter-spacing:1px;}
::-moz-placeholder{color:#000;text-transform:uppercase;letter-spacing:1px;}
::-webkit-placeholder{color:#000;text-transform:uppercase;\letter-spacing:1px;}

#header{position:fixed;width:100%;left:0;top:0;padding:35px 5%;z-index:999;transition:all 300ms ease-out;
background: rgba(255,255,255,1);
background: -moz-linear-gradient(top, rgba(255,255,255,1) 33%, rgba(255,255,255,0) 100%);
background: -webkit-gradient(left top, left bottom, color-stop(33%, rgba(255,255,255,1)), color-stop(100%, rgba(255,255,255,0)));
background: -webkit-linear-gradient(top, rgba(255,255,255,1) 33%, rgba(255,255,255,0) 100%);
background: -o-linear-gradient(top, rgba(255,255,255,1) 33%, rgba(255,255,255,0) 100%);
background: -ms-linear-gradient(top, rgba(255,255,255,1) 33%, rgba(255,255,255,0) 100%);
background: linear-gradient(to bottom, rgba(255,255,255,1) 33%, rgba(255,255,255,0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffffff', GradientType=0 );
}
#header.light{
background: rgba(0,0,0,1);
background: -moz-linear-gradient(top, rgba(0,0,0,1) 33%, rgba(0,0,0,0) 100%);
background: -webkit-gradient(left top, left bottom, color-stop(33%, rgba(0,0,0,1)), color-stop(100%, rgba(0,0,0,0)));
background: -webkit-linear-gradient(top, rgba(0,0,0,1) 33%, rgba(0,0,0,0) 100%);
background: -o-linear-gradient(top, rgba(0,0,0,1) 33%, rgba(0,0,0,0) 100%);
background: -ms-linear-gradient(top, rgba(0,0,0,1) 33%, rgba(0,0,0,0) 100%);
background: linear-gradient(to bottom, rgba(0,0,0,1) 33%, rgba(0,0,0,0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#000000', GradientType=0 );
}
.logo{}
.logo h1{max-width:150px;position:relative;}
.logo h1 img{display:block;width:100%;height:auto;position:absolute;transition:all 300ms ease-out;}
.logo h1 img.light{opacity:0;}
#header.light .logo h1 img.dark{opacity:0;}
#header.light .logo h1 img.light{opacity:1;}
.logo h1 span{display:block;width:0;height:0;font-size:0;text-indent:-9999999;overflow:hidden;}
#header > .row{width:100%;}

#menu{text-align:right;}
#menu .menu{list-style:none;white-space: nowrap;}
#menu li.item{display:inline-block;border-right:1px solid #000;transition:300ms ease-out;}
#menu li.item.last{border-right:none;margin-right:50px;}
#menu li.item a{font:300 90%/100% 'Montserrat';color:#000;letter-spacing:3px;text-transform:uppercase;text-align:center;display:block;padding:0 25px;position:relative;transition:color 300ms ease-out;}
#menu li.item a.active,
#menu li.item a:hover{/*font-weight:bold;*/}
#menu li.item a:hover:after,
#menu li.item a.active:after{content:'';position:absolute;left:50%;bottom:-13px;width:50%;height:2px;background:#960e1c;transform:translate(-50%,0);}
#menu li.item.rrss{border-right:none;}
#menu li.item.rrss a{display:block;letter-spacing:0;font-size:100%;padding:1px 10px;}
#menu li.item.rrss a:after{display:none;}

#menu_button{display:none;position:absolute;right:0;top:50%;margin:-5px 0 0;z-index:999;width:40px;height:35px;cursor:pointer;}
#menu_button span{position:absolute;display:block;left:0;width:100%;height:5px;background:#101415;box-shadow:0 0 3px rgba(0,0,0,.4);transition:all 300ms ease-out;-moz-transition:all 300ms ease-out;-webkit-transition:all 300ms ease-out;}
#menu_button span.top{top:0;}
#menu_button span.middle{top:13px;}
#menu_button span.bottom{top:26px;}
#menu_button.active:hover span{background:#fff;}
#menu_button.active span.top{box-shadow:none;transform:rotate(45deg);width:110%;top:50%;margin-top:-2.5px;}
#menu_button.active span.middle{box-shadow:none;left:200%;opacity:0;}
#menu_button.active span.bottom{box-shadow:none;transform:rotate(135deg);width:110%;top:50%;margin-top:-2.5px;}
#menu_button.active span{box-shadow:-2px 2px #a92e3e;}

#header.light #menu li.item{border-color:#fff;}
#header.light #menu li.item a{color:#fff;}
#header.light #menu_button span{background:#fff;}

#wrap{background:#101415 url(../img/trama.jpg) repeat-y center top;background-size:100% auto;position:relative;z-index:0;}
#wrap-light{background:#EBEBEB url(../img/trama-light.jpg) repeat-y center top;background-size:100% auto;position:relative;z-index:-1;}

.seccion{padding:150px 0 0;}

.content{max-width:1800px;padding:100px 5%;margin:0 auto;text-align:left;}
.content h2{font:1000 300%/100% 'Heebo';text-transform:uppercase;margin:0 0 15px;}
.content h2 .contorno{color:#EBEBEB;letter-spacing:2px;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;}
.content h3{font:300 100%/100% 'Montserrat';letter-spacing:5px;text-transform:uppercase;margin:0 0 50px;}
.content .desc{margin:0 0 35px;}

.btn{display:block;width:180px;height:45px;padding:15px 0 0;cursor: pointer;background:none;border:2px solid;border-image-slice:2;border-width:2px;border-image-source:linear-gradient(to right, rgba(215,6,42,.5)/*#D7062A*/, rgba(150,14,28,.5)/*#960E1C*/);position:relative;}
button.btn{padding-top:0;}
.btn svg{width:180px;height:45px;position: absolute;left: -2px;top: -2px;fill: none;stroke: #fff;stroke-dasharray: 150 480;stroke-dashoffset: 150; transition:400ms ease-in-out;}
.btn:hover svg{stroke-dashoffset:0;stroke-dasharray: 630 0;transition:800ms ease-in-out;}
.btn span{display:block;font:400 90%/100% 'Montserrat';white-space:nowrap;letter-spacing:1px;text-align:center;text-transform:uppercase;color:#fff;font-weight:bold;}
.btn.black span{color:#000;}

.video.fullscreen{width:100%;margin:auto;height:100%;overflow:hidden;pointer-events:none;position:absolute;}
.video-container{width:100%;height:0;margin:0 auto;position:relative;padding-top:56.25%;}
.video-container video,
.video-container img.poster,
.video-container iframe{background:#08121B;position:absolute;display:block;width:100%;height:100%;left:0;top:0;}
.video .play{position:absolute;width:140px;height:auto;left:50%;top:50%;z-index:5;transform:translate(-50%,-50%);cursor:pointer;transition:all 200ms ease-out;-moz-transition:all 200ms ease-out;-webkit-transition:all 200ms ease-out;}
.video .play:hover{opacity:.8;}

#inicio{position:relative;overflow:hidden;}
#inicio .video{position:relative;pointer-events:none;}
#inicio .texto-inicio{position:absolute;left:5%;bottom:15%;width:80%;min-width:300px;max-width:500px;color:#fff;text-align:left;text-transform:uppercase;}
#inicio .texto-inicio .bienvenidos{font:400 120%/100% 'Montserrat';display:block;letter-spacing:8px;margin:0 0 50px;}
#inicio .texto-inicio .bienvenidos:before{content:'';width:30%;height:1px;float:left;margin:7px 15px 0 0;background:#fff;}
#inicio .texto-inicio .construimos{font:1000 500%/90% 'Heebo';text-transform:uppercase;margin:0 0 15px;}
#inicio .texto-inicio .palabras-v{overflow:hidden;height:65px;pointer-events: none;}
#inicio .texto-inicio .palabras-v .swiper-slide{color:#000;letter-spacing:2px;height:65px;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff;}
@supports((text-stroke: 1px #fff) or (-webkit-text-stroke: 1px #fff)) {
    #inicio .texto-inicio .palabras-v .swiper-slide{
        color: transparent;
        -webkit-text-stroke:1px #fff;
    	text-stroke:1px #fff;
        text-shadow: none;
    }
}

#tags{width:100%;text-transform:uppercase;text-align:center;}
#tags .palabras-h{font:1000 400%/90% 'Heebo';margin:0 auto;width:80%;max-width:800px;overflow:hidden;position:relative;pointer-events:none;}
#tags .palabras-h:before{content:'';width:25%;height:100%;position:absolute;left:0;top:0;background:linear-gradient(to right, #101415, rgba(0,0,0,0));z-index:5;}
#tags .palabras-h:after{content:'';width:25%;height:100%;position:absolute;right:0;top:0;background:linear-gradient(to left, #101415, rgba(0,0,0,0));z-index:5;}
#tags .palabras-h .swiper-slide{text-align:center;width:50%;color:#101415;letter-spacing:2px;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff;}
#tags .laboratorio{font:400 100%/100% 'Montserrat';display:block;text-align:center;letter-spacing:15px;margin:25px auto 0;}
@supports((text-stroke: 1px #fff) or (-webkit-text-stroke: 1px #fff)) {
    #tags .palabras-h .swiper-slide{
        color: transparent;
        -webkit-text-stroke:1px #fff;
        text-stroke:1px #fff;
        text-shadow: none;
    }
}

#nosotros{background:url(../img/bg/nosotros.svg) no-repeat center top;}
#nosotros .cifra{padding:25px 2%;border-top:1px solid #fff;border-bottom:1px solid #fff;text-align: center;}
#nosotros .cifra .numero{font:bold 220%/100% 'Montserrat';margin:0 auto 5px;display:block;}
#nosotros .cifra small{display:block;font:300 80%/110% 'Montserrat';letter-spacing:2px;text-transform: uppercase;}

.equipo-list{margin:50px auto 0;}
.equipo-list li{list-style:none;background:url(../img/bullet.svg) no-repeat left center;background-size:auto 100%;padding:0 0 0 25px;white-space:nowrap;font:300 100%/100% 'Montserrat';letter-spacing:2px;text-transform: uppercase;margin:0 0 15px;}

#servicios{background:url(../img/bg/servicios.svg) no-repeat center top;}
.title-eventos{font:1000 220%/100% 'Heebo';text-transform:uppercase;margin:0 0 15px;}
.servicios-list{margin:50px auto 0;}
.servicios-list li{list-style:none;display:inline-block;padding:0 15px 0 0;margin:0 15px 10px 0;white-space:nowrap;font:300 100%/100% 'Montserrat';letter-spacing:2px;text-transform: uppercase;border-right:1px solid #fff;}
.servicios-list li.noborder{border-right:none;}
.proceso{padding:0 10px 35px; }
.proceso img{height:50px;width:auto;margin:0 0 15px;display:inline-block;}
.proceso h4{font:bold 90%/110% 'Montserrat';letter-spacing:2px;text-transform: uppercase;margin:0 auto 10px;}
.proceso p{font:300 90%/120% 'Montserrat';}
.proceso-button img{margin:0 auto 35px;display:block;}
.proceso-button .btn{margin:0 auto;}


#portfolio{background:url(../img/bg/portfolio.svg) no-repeat center top;}

#portfolio-slider{position:relative;}
#portfolio-slider .swiper-slider{overflow:hidden;}
#portfolio-slider .row{padding:0 !important;width:100%;margin:0 !important;}
#portfolio-slider .swiper-button-prev{left:-50px;}
#portfolio-slider .swiper-button-next{right:-50px;}
#portfolio-slider .swiper-slide{padding:0 !important;width:100%;margin:0 !important;}
#portfolio-slider .swiper-slide .trabajo{position:relative;}
#portfolio-slider .swiper-slide .trabajo:after{position:absolute;content:'';background:url(../img/more.svg) no-repeat center center;width:40px;height:40px;background-size:100% auto;right:25px;top:25px;opacity:0;transition:500ms ease-out;pointer-events: none;}
#portfolio-slider .swiper-slide .trabajo:hover:after{opacity:1;}
#portfolio-slider .swiper-slide .trabajo img{display:block;width:100%;height: auto;transition:ease-out 400ms;}
#portfolio-slider .swiper-slide .trabajo:hover img{opacity:.5;}
#portfolio-slider .swiper-slide .trabajo .info{opacity:0;padding:25px;color:#fff;position:absolute;left:0;bottom:0;width:100%;pointer-events: none;text-shadow:0 0 5px rgba(0,0,0,.8);transition:300ms ease-out;}
#portfolio-slider .swiper-slide .trabajo:hover .info{opacity:1;}
#portfolio-slider .swiper-slide .info .cat{text-transform: uppercase;font-size:65%;letter-spacing:4px;font-weight: 300;}
#portfolio-slider .swiper-slide .info h4{font-weight:400;text-transform: uppercase;font-size:90%;}
#portfolio-slider .col{padding:0 !important;}

#proceso{background:url(../img/bg/proceso.svg) no-repeat center top;z-index:-2;padding-bottom:25vh;}
#proceso .volver{display: block;width:80px;margin:0 0 50px;}
#proceso .volver img{display: block;width:100%;height:auto;margin:0 0 10px;}
#proceso .volver span{display: block;font:90%/100% 'Montserrat';letter-spacing:8px;text-transform:uppercase;color:#fff;}

.posteo{margin:0 !important;overflow:hidden;padding:5px !important;}
.posteo img{display: block;width:100%;height:auto;}
.posteo video{display: block;width:100%;height:auto;background:#000;pointer-events: none;}

#modal{display:none;position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.9);z-index:9999999999999999;}
#modal.active{display:block;}
#modal .window{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:90%;background:#dedede;padding:5%;box-shadow:0 0 20px rgba(0, 0, 0, .8);}
#modal .window .galeria{position:absolute;left:5%;top:50%;transform:translate(0,-50%);width:65%;background:#666;box-shadow:0 0 20px rgba(0, 0, 0, .3);overflow:hidden;}
#modal .window .galeria img{display:block;width:100%;height:auto;}
#modal .window .informacion{float:right;position:relative;width:25%;text-align:left;color:#101415;}
#modal .window .informacion h4{text-transform: uppercase;font-size:120%;letter-spacing:8px;font-weight: 300;margin:0 auto 40px;}
#modal .window .informacion img{display:block;max-width:150px;height:auto;margin:0 0 20px -15px;}
#modal .window .informacion h2{text-transform: uppercase;font-size:250%;line-height:100%;font-weight:1000;margin:0 auto 25px;}
#modal .window .informacion h3{text-transform: uppercase;font-size:90%;letter-spacing:5px;font-weight: 300;}
#modal .window .nav{position:absolute;display:block;width:40px;height:40px;cursor:pointer;z-index:2;}
#modal .window .nav img{display:block;width:100%;height:auto;}
#modal .window .nav.cerrar{right:25px;top:25px;}
#modal .window .nav.prev{left:1%;bottom:2%;}
#modal .window .nav.prox{right:1%;bottom:2%;}


#degrade{/*background:linear-gradient(to bottom, #101415, #EBEBEB);*/background:#efefef;width:100%;height:50vh;position:relative;z-index:0;pointer-events: none;}
#degrade img{position:absolute;left:50%;top:0;transform: translate(-50%,-60%);width:100%;height: auto;}

#clientes{background:url(../img/bg/clientes.svg) no-repeat center top;color:#000;z-index:-2;}
#clientes .texto-clientes h4{font:bold 300%/125% 'Heebo';margin:0 0 25px;padding-right:10%;}
#clientes .texto-clientes p{display:block;font:110%/120% 'Montserrat';padding-right:10%;}
#testimonios-slider{margin:50px auto 0;}
#testimonios-slider .swiper-slide{opacity:0 !important;transition:200ms ease-out;}
#testimonios-slider .swiper-slide.swiper-slide-active{opacity:1 !important;}
#testimonios-slider .swiper-slide img{display:block;width:65px;height:auto;margin:0 0 15px;}
#testimonios-slider .swiper-slide blockquote{display:block;font:bold 220%/110% 'Heebo';margin:0 0 25px;padding-right:10%;}
#testimonios-slider .swiper-slide small{display:block;font:bold 90%/110% 'Montserrat';letter-spacing:2px;text-transform: uppercase;}
#clientes-slider{overflow:hidden;}
#clientes-slider .row{padding:0 !important;width:100%;margin:0 !important;}
#clientes-slider .swiper-slide{padding:0 !important;width:100%;margin:0 !important;}
#clientes-slider .swiper-slide img{display:block;max-width:220px;margin:15px auto;width:100%;height:auto;}


#contacto{background:url(../img/bg/contacto.svg) no-repeat center top;color:#000;}
#contacto form{margin:75px auto;}
#contacto label{display:none;}
#contacto input,
#contacto select,
#contacto textarea{display:block;width:100%;padding:8px 0;height:40px;background: none;border: none;border-radius:0;border-bottom:1px solid #000;margin:0 auto 25px;font:400 100%/110% 'Montserrat';}
#contacto textarea{resize:none;}
#contacto .msj{height:20px;margin:0 auto 10px;text-transform:uppercase;font:300 90%/110% 'Montserrat';letter-spacing:1px;}
#contacto .msj span{display:none;}
/*#contacto button{float:right;border:2px solid;background:none;border-image-slice:1;border-width:2px;border-image-source:linear-gradient(to right, #D7062A, #960E1C);padding:12px 25px;font:400 90%/100% 'Montserrat';letter-spacing:2px;text-transform:uppercase;cursor:pointer;}
#contacto button:hover{}*/
#contacto button{float:right;}

.mapas{}
.mapas img.mapa{display:none;width:100%;height:auto;box-shadow:7px 7px 8px rgba(0,0,0,.2);}
.mapas img.mapa.active{display:block;}
.mapas_filtro{text-align:center;border-top:1px solid #000;position:relative;margin:50px auto 0;white-space: nowrap;}
.mapas_filtro:after{content:'';width:100%;border-right:1px solid #000;border-left:1px solid #000;height:10px;position:absolute;left:0;top:-10px;}
.mapas_filtro a.link{display:inline-block;padding:20px 20px 10px;font:300 90%/100% 'Montserrat';letter-spacing:2px;text-transform: uppercase;position:relative;}
.mapas_filtro a.link.active{font-weight:bold;}
.mapas_filtro a.link.active:after{content:'▾';color:#D7062A;font-size:15px;position:absolute;left:50%;top:-5px;transform:translate(-50%,0);}
.datos_contacto{padding:0 0 100px;}
.datos_contacto h4{text-transform:uppercase;font:bold 110%/100% 'Montserrat';margin:25px 0 5px;letter-spacing:2px;}
.datos_contacto p{font:300 100%/110% 'Montserrat';}

#footer{background:#D4D4D4;padding:50px 5%;}
#menu-footer{text-align:right;}
#menu-footer .menu{list-style:none;white-space: nowrap;}
#menu-footer li.item{display:inline-block;border-right:1px solid #000;transition:300ms ease-out;}
#menu-footer li.item.rrss{border-right:none;}
#menu-footer li.item.rrss a{display:block;letter-spacing:0;font-size:100%;padding:1px 10px;}
#menu-footer li.item.rrss a:after{display:none;}
