ul, ul li{margin: 0px; padding: 0px; list-style:none;}
ul.bullet{list-style: disc; padding-left: 40px;}
ul.bullet>li{list-style: disc;}

a{color:#ec7707;}
a:hover{text-decoration: none; color: #ff8815;}
b{color:#ec7707;font-weight: 400;}
body p{text-align: justify;}

.imagen{background-position:center; background-repeat:no-repeat;background-size:cover;}
.imagen::after{content:""; padding-top: 100%; display: block;}

:root {
	--base-nav: rgb(97, 97, 97);
	--final-nav: rgb(222, 222, 222);
}

html {
    /* Adjust font size */
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    /* Font varient */
    font-variant-ligatures: none;
    -webkit-font-variant-ligatures: none;
    /* Smoothing */
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    text-shadow: rgba(0, 0, 0, .01) 0 0 1px;
}
body{font-family: "Montserrat", sans-serif; background: #fff; font-size: 18px; color:#282828; font-weight: 400; line-height: 1.5em;}
body.no-scroll{overflow: hidden;}

main{width: 100%; overflow: hidden;}

h1,h2,h3,h4,h5,h6{
    margin:0px;
    color: #282828;
    text-transform: uppercase;
}
h1{font-size: 48px;}
h2{font-size: 35px;}
h3{font-size: 24px;}
h4{font-size: 18px;}
h5{font-size: 12px;}
h6{font-size: 8px;}

h1, h2, h3, h4, h5, h6, .moby, .font-normal>span{font-family: "Moby", serif;}
.font-normal{font-family: 'Montserrat', sans-serif;}

.titular{font-size: 18px;}
.titular>span{display: block; font-size: 1.33em;}
.subtitulo{text-align: center; max-width: 800px; margin: 10px auto 30px;}

.bg-gray{background-color: #fafafa;}

.btn{text-transform: uppercase; border-radius: 0; padding: 10px 40px; border: 0; -webkit-transition: all 0.4s; transition: transform 0.4s, box-shadow 0.4s; position: relative; box-shadow: 2px -2px 4px 0 rgba(0,0,0,0.2);}
.btn.btn-primary{background-color: #ff7c00; color: #fff; overflow: hidden;}
.btn.btn-primary:hover, .btn.btn-primary:focus{background-color: #ff7c00; color: #fff; overflow: hidden; transform: translate(2px, -2px); box-shadow: 0 0 4px rgba(0,0,0,0.2);}

.full-width{width:100%;}
.relative{position: relative;}
.margin-0{margin: 0px;}
.padding-0{padding: 0px;}

.form-group-flex{display: -webkit-box;display: -ms-flexbox;display: flex;}

.wrapper-flex{
    display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 *//* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-box;      /* TWEENER - IE 10 */     /* NEW - Chrome */
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: center;

    -ms-flex-align: center;

    align-items: center;
    -webkit-align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-justify-content: center;
}

.flex{display: flex;}
.wrap{flex-wrap: wrap;}
.bx-wrapper{margin-bottom: 0;}

.header-fix{height: 80px; clear: both;}

body, .portada .section::after{background: linear-gradient(90deg, #e3e3e3, #fff);}

#callCTA{display: none;}
span{color: #ec7707;}


.bg-blend{position: relative;}
.bg-blend>.container{position: relative; z-index: 2;}
.blend{position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-size: cover; background-position: center; background-repeat: no-repeat; opacity: 0.3; mix-blend-mode: multiply; z-index: 1;}

.bg-primary{background-color: #ff7c00;}
.bg-white{background-color: #fff;}

.bg-image{position: relative; background-size: cover; background-position: center; background-repeat: no-repeat;}
.bg-image::after{content: ""; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: linear-gradient(-235deg, #313131, #717171); opacity: 0.7; z-index: 1;}
.bg-image>.container{position: relative; z-index: 2;}

.bg p, .bg h1, .bg h2, .bg h3, .bg h4, .bg h5, .bg h6, .bg .titular{color: #fff;}

/*** NAVBAR ***/
.navbar-default{margin: 0; border-radius: 0; border: 0;}
.navbar-nav>li>a{padding: 30px 20px; text-transform: uppercase; color: #1b1b1b;}
.navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:focus, .navbar-default .navbar-nav>.active>a:hover{background-color: transparent; color: #ec7707;}

.navbar-wrapper{position: absolute !important; bottom: 0; height: 80px; left: 50%; transform: translateX(-50%); padding: 0;}
.navbar-portada{position: absolute; bottom: 0; left: 15px; width: calc(100% - 30px); height: 100%; z-index: 10; background: linear-gradient(90deg, var(--base-nav), var(--final-nav));}
.navbar-portada::before{position: absolute; left: calc(-50vw + 50%); top: 0; height: 100%; width: calc(50vw - 50%); background: var(--base-nav);}
.navbar-portada::after{position: absolute; right: calc(-50vw + 50%); top: 0; height: 100%; width: calc(50vw - 50%); background: var(--final-nav); transform: scaleX(0); transform-origin: center left; transition: transform 0.4s;}
.navbar-wrapper.fixed{position: fixed !important; bottom: auto; top: 0;}
.fixed .navbar-portada::after{transform: scaleX(1);}
.navbar-portada .navbar-brand{opacity: 0; pointer-events: none; transition: opacity 0.4s;}

.navbar-fixed-top{box-shadow: 0 2px 5px 0 rgba(0,0,0,0.1); background-color: #fff;}
.navbar-brand{padding: 10px 20px; height: auto;}
.navbar-brand>img{height: 60px;}

.redes-sociales-navbar{position: absolute; left: 0; bottom: 10px; z-index: 1000; font-size: 30px; transition: opacity 0.4s;}
.redes-sociales-navbar>li>a{display: block; padding: 20px;}
.redes-sociales-navbar .texto{font-size: 11px; color: #ff7c00; transform: rotate(-90deg) translateY(150%); transform-origin: left bottom; margin-bottom: 20px;}
.fixed .redes-sociales-navbar{opacity: 0; pointer-events: none;}
.fixed .navbar-brand{opacity: 1; pointer-events: all;}

/*** BANNER ***/
#banner{height: 100vh; max-height: 900px; min-height: 800px; display: flex; justify-content: center; align-items: center; background-size: cover; background-position: center; background-repeat: no-repeat; background-attachment: fixed; position: relative; padding-bottom: 100px;}
#banner::before{content: ""; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #626262; z-index: 1; opacity: 0.5;}
@supports (mix-blend-mode: color-burn) {
	#banner::before{opacity: 1; mix-blend-mode: color-burn;}
}
#banner::after{content: ""; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: linear-gradient(45deg, #474747, #000); opacity: 0.85; z-index: 2;}
#banner>.container{position: relative; z-index: 3;}
.slideshow .img-wrapper{width: calc(100% - 175px); float: right;}
#banner>.logo-banner-wrapper{position: absolute; left: 50%; top: 40px; transform: translateX(-50%);}
.logo-banner{position: absolute; left: 0; top: 0; width: 175px; height: auto;}
.banner--title{color: #fff; font-size: 1.67em; text-align: right; width: 70%; margin-left: 30%; margin-bottom: 50px; margin-top: 100px;}
#banner .img::after{padding-top: 55%;}

#banner-next, #banner-prev{position: absolute; bottom: 60px; background: none; border-radius: 50%; height: 60px; width: 60px; box-shadow: 0 0 10px 0 rgba(0,0,0,0.6); background-size: contain; background-position: center; background-repeat: no-repeat; border: 0;}
#banner-next{right: 15px; transform: translateX(50%); background-image: url('images/next.svg');}
#banner-prev{left: 190px; transform: translateX(-50%); background-image: url('images/prev.svg');}

/*** SECCIONES ***/
.section{background-size: contain; background-repeat: no-repeat; background-position: center left; position: relative; padding: 80px 0;}
.section::after{content: ""; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; opacity: 0.9; z-index: 1;}
.section.bg-right{background-position: center right;}
.section>.container{z-index: 2; position: relative;}
.slideshow-wrapper{position: relative;}
.slideshow-front{position: absolute; right: -20px; bottom: -60px; box-shadow: 8px -2px 19px 0 rgba(0,0,0,0.2); width: 80%;}
.bg-right .slideshow-front{right: auto; left: -20px;}

.slideshow-front, .slideshow-back{transition: transform 0.4s;}
.slideshow-front:hover, .slideshow-back:hover{transform: translate(-10px, -10px);}
.bg-right .slideshow-front:hover, .bg-right .slideshow-back:hover{transform: translate(10px, -10px);}

.section .content{margin-top: 25%; margin-left: 40px;}
.bg-right .content{margin-left: 0; margin-right: 40px;}

/*** BLOQUES ***/
.bloques-portada{display: flex; flex-wrap: wrap;}
.bloque-portada{width: 33.3333%; padding: 20px; position: relative;}
.bloque-portada--img{height: 80px; width: 80px; filter: brightness(0) invert(1);}
.bloque-portada--img::after{display: none;}
.bloque-portada--img>img{object-fit: contain;}
.bloque-portada--title{margin: 20px 0; font-size: 1.2em; color: #fff;}
.bloque-portada--text{text-align: left; line-height: 1.2em;}

.bloque-naranja{width: 33.3333%; padding: 20px;}
.bloque-naranja--img{height: 115px; width: 115px;}
.bloque-naranja--img::after{display: none;}
.bloque-naranja--img>img{object-fit: contain;}

.bloque-portada::after{content: ""; display: block; position: absolute; top: 0; right: 0; width: 80px; height: 80px; background-size: contain; background-repeat: no-repeat;}
.bloque-portada:nth-child(6n+1)::after{background-image: url('images/flecha1.png'); transform: translate(-50%, 90%);}
.bloque-portada:nth-child(6n+2)::after{background-image: url('images/flecha2.png'); transform: translate(-80%, 0);}
.bloque-portada:nth-child(6n+4)::after{background-image: url('images/flecha3.png'); transform: translate(-80%, 20%);}
.bloque-portada:nth-child(6n+5)::after{background-image: url('images/flecha4.png'); transform: translate(-80%, 20%);}

/*** FOOTER ***/
footer, footer p, footer h3{color: #fff;}
footer{background-color: #212121;}
.redes-sociales>li>a{color: #fff;}
.dato-footer{width: 50%; display: flex; margin-top: 40px;}
.dato-footer--img{width: 64px; height: 64px; margin-right: 20px;}
.dato-footer--img>img{object-fit: contain;}
.dato-footer--img::after{display: none;}
.dato-footer h3{font-size: 1em; text-align: left;}

.informacion-footer{background-attachment: fixed; padding: 20px 0;}
.map-wrapper{position: relative;}
.map-wrapper>iframe{position: absolute; left: 0; top: 0; width: 100%; height: 100%; filter: grayscale(1);}

/*** APARTADOS ***/
#banner-interior{height: 40vh; max-height: 400px; min-height: 300px; background-size: cover; background-position: center; background-repeat: no-repeat; background-attachment: fixed; position: relative; margin-bottom: 5%;}
#banner-interior::before{content: ""; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #626262; z-index: 1; opacity: 0.5;}
@supports (mix-blend-mode: color-burn) {
	#banner-interior::before{opacity: 1; mix-blend-mode: color-burn;}
}
#banner-interior::after{content: ""; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: linear-gradient(45deg, #474747, #000); opacity: 0.85; z-index: 2;}
.banner-interior--img{position: absolute; right: 10%; bottom: 0; z-index: 3; width: 50%; transform: translateY(80px); box-shadow: 0 0 20px 0px rgba(0,0,0,0.2);}
.banner-interior--img::after{padding-top: 30%;}
.subcategorias{position: absolute; left: 10%; width: 30%; bottom: 0; max-width: 400px; padding: 30px; background-color: #ff7c00; transform: translateY(80px); z-index: 4; overflow: auto; max-height: 300px; display: none;}
#banner-interior .subcategorias{display: block;}

.nav-pills>li>a{border-radius: 0; color: #fff;}
.nav-pills>li.active>a, .nav-pills>li.active>a:focus, .nav-pills>li.active>a:hover{background-color: #fff; color: #ff7c00}
.nav>li>a:focus, .nav>li>a:hover{background-color: #fff; color: #ff7c00;}

/*** CONTACTO ***/
.contacto-bg{background-size: cover; background-position: center; background-repeat: no-repeat; background-attachment: fixed; position: relative; padding: 80px 0;}
.contacto-bg::before{content: ""; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #626262; z-index: 1; opacity: 0.5;}
@supports (mix-blend-mode: color-burn) {
	.contacto-bg::before{opacity: 1; mix-blend-mode: color-burn;}
}
.contacto-bg::after{content: ""; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: linear-gradient(45deg, #474747, #000); opacity: 0.85; z-index: 2;}
.contacto-bg>.container{position: relative; z-index: 3;}
.contact-form{display: block; margin: 0 auto; max-width: 600px; padding: 40px; background-color: #fff; box-shadow: 0 0 30px 0px rgba(0,0,0,0.6);}
.form-control{background-color: #f2f2f2;}

.modal-header{border-bottom: 0;}
.modal-footer{border-top: 0;}

.img--galeria{margin-bottom: 30px; position: relative;}
.img--galeria::after{padding-top: 50%;}
.img--galeria::before{content: ""; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: #fff; opacity: 0; transform: translateY(-100%); z-index: 4;}
.img--galeria::before, .img--galeria>svg{transition: transform 0.4s, opacity 0.4s;}
.img--galeria>svg{position: absolute; left: 10%; width: 80%; top: 20%; height: 60%; z-index: 5; opacity: 0; transform: translateY(100%);}
.img--galeria:hover>svg{opacity: 1; transform: translateY(0);}
.img--galeria:hover::before{opacity: 0.9; transform: translateY(0);}
.lista-galeria{display: flex; flex-wrap: wrap;}
.galeria h3{text-align: center; font-size: 18px; margin-bottom: 30px;}

/*************/
/* PROYECTOS */
/*************/
.lista-proyectos>li{width: 33.33333%; float: left;}
.lista-proyectos .imagen:after, .lista-fotos .imagen:after{padding-top: 61.803398875%;}
.lista-proyectos .imagen{transition: all 0.4s; -webkit-transition: all 0.4s; -moz-transition: all 0.4s;}
.lista-proyectos .image-wrapper{overflow: hidden;}
.lista-proyectos .imagen:hover{transform: scale(1.2); -webkit-transform: scale(1.2); -moz-transform: scale(1.2);}
.lista-proyectos h4{text-align: center; margin-top: 10px; text-transform: uppercase; height: 25px; padding-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}

.lista-fotos>li{width: 33.33333%; float: left;}
.lista-fotos>li.full{width: 100%; margin-bottom: 20px;}
.lista-fotos img{width: 100%; height: auto;}

.lista-fotos>li, .lista-proyectos>li {padding: 15px;}

#swipebox-overlay, #swipebox-bottom-bar{background-color: #fafafa;}

.cluster{text-align: center; max-width: 400px; display: block; margin: 0 auto; font-size: 15px;}
.cluster img{display: block; margin: 0 auto 20px; max-width: 200px; filter: brightness(255);}


@media screen and (max-width: 1200px) {
	.banner-interior--img{width: 80%;}
	.subcategorias{display: block; position: relative; width: 100%; left: auto; max-width: none; transform: none; max-height: none;}
	#banner-interior .subcategorias{display: none;}
}

@media screen and (max-width: 992px) {
	.no-flex-sm{display: block;}
	.map-wrapper{height: 30vw; min-height: 200px;}
	.section .content{margin-left: 0;}
	.bg-right .content{margin-right: 0;}
	.bloque-portada{width: 50%;}
	.bloque-naranja{width: 100%;}
	.navbar-default .container, .navbar-wrapper{width: 100%;}
	.navbar-nav>li>a{padding: 30px 15px; font-size: 0.8em;}
	.navbar-portada{width: 100%; left: 0; box-shadow: 0 2px 5px 0 rgba(0,0,0,0.1);}
	.navbar-portada::after, .navbar-portada::before{display: none;}
	.bloque-portada::after{display: none;}
}

@media screen and (max-width: 767px) {
	.no-flex-xs{display: block;}
	.navbar-nav>li>a{padding: 15px;}
	.dato-footer{width: 100%;}
	.otros-contenidos>li{display: block;}
	.otros-contenidos>li>a{padding: 20px 0; display: block;}
	.redes-sociales>li>a{display: block; padding: 20px;}
	#banner-interior{max-height: 200px; min-height: 200px; margin-bottom: 10%;}
	.banner-interior--img::after{padding-top: 50%;}
	.bloque-portada{width: 100%;}
	.portada .navbar-collapse{background-color: #fff;}
	#banner .logo-banner-wrapper{left: 40px;}
	.slideshow .img-wrapper{width: 100%;}
	#banner .principal{width: 100%;}
	#banner-next{transform: none;}
	#banner-prev{left: 15px; transform: none;}
	.redes-sociales-navbar{display: none;}
}