
#stage { margin: 0 auto 30px; width: 100%; height:300px;position: relative; transition: all 0.5s;}
.close #stage { }
#stage figure { position: absolute; width: 100%; height: 100%;}
#stage figure img { width: 100%; height: 100%; object-fit: cover; text-align: left}
#stage figure:nth-of-type(1) {
    animation-name: fader;
    animation-delay: 3s;
    animation-duration: 2s;
    z-index: 20;
}
#stage figure:nth-of-type(2) { z-index: 10;}
#stage figure:nth-of-type(n+3) {display: none;}

@keyframes fader {
    from { opacity: 1.0; }
    to   { opacity: 0.0; }
}

.btn-modulados { background: #68B92E; color: #fff; font-size: 16px; font-weight: 500; line-height: 40px; padding: 0 40px 0 15px; font-family: 'Open Sans', sans-serif;
    display: inline-block; position: absolute; bottom: 20px;right: 20px; }
.btn-modulados:after { content: '+'; display: inline-block; color: #fff; font-family: 'Open Sans', sans-serif; position: absolute;top: 0px; right: 15px; font-size: 30px;}

html, body {margin: 0; padding: 0; font-size: 18px;font-family: 'Open Sans', sans-serif; color: #333; }
body { padding-right: 300px; transition: all 0.5s; overflow-x: hidden }
body.close {padding: 0}
* { box-sizing: border-box}

p { line-height: 150%;font-size: 18px;font-family: 'Open Sans', sans-serif; margin-bottom: 20px }
.clear { width: 100%; display: block; clear: both; overflow: hidden}
.flex { display: flex !important; flex-wrap: wrap}
.center-flex { justify-content: center}
.midle-flex { align-items: center}
.bt {background:#68B92E; display: block; line-height: 36px; width: 100%; text-align: center; margin-bottom: 20px; color: #fff}
.bt:hover { background: #222}

figure { margin: 0; padding: 0; position: relative}
figure img { vertical-align: top; width: 100%}
.etiqueta { background: rgba(255,102,0,0.75); color: #fff; font-family: 'Open Sans', sans-serif; font-size: 12px; line-height: 30px; width: 100%; position: absolute; bottom: 0; left: 0;padding: 0 20px; font-weight: 600}

.redes {position: absolute; top: 25px; right: 100px}
.redes a { margin: 0 5px}
.redes span:before {color: rgba(255,255,255,0.75); font-size: 26px}
.redes a:hover span:before {color: rgba(255,255,255,1)}

.bloque {max-width: 1200px; margin: 0 auto 30px; clear: both;}
.bloque-100 {width: 100%;float: left;position: relative;}
.bloque-100.img-top { width: 100%; left: 0; margin-top: 80px; }
.bloque.nosotros { overflow: hidden}

.header .bloque { height: 80px; position: relative}

.img-top figure picture {height: 440px;}
.img-top figure picture img {object-fit: cover; height:  100%}

.row {float: left; width: 100%; display: block; padding: 40px 60px 80px}
.inicio .row {padding: 40px 0}
.row > .col { float: left;display: block;margin-bottom:0;margin-right: 1em;}
.row > .row, .inicio .row > row { padding: 0}

.row .bloque { margin-bottom: 0}
.row .bloque .row { padding-bottom: 0}

h2, h3, h4 {font-family: 'Candara'; color: #333333; font-size:40px; margin-bottom: 30px}
.row h3 { font-size: 18px; line-height: 130%; margin-bottom: 0}
.row.black { background: #0A0B0D; border-top: 5px solid #68B92E;}
.row.black h2 {color: #68B92E}
.row.black h3 { color: #ccc}

.row > .col-1 {width: calc((100% - 23em) / 24);}
.row > .col-2 {width: calc((100% - 11em) / 12);}
.row > .col-3 {width: calc((100% - 7em) / 8);}
.row > .col-4 {width: calc((100% - 5em) / 6);}
.row > .col-5 {width: calc((100% - 3.8em) / 4.8);}
.row > .col-6 {width: calc((100% - 3em) / 4);}
.row > .col-7 {width: calc((100% - 2.4285714286em) / 3.4285714286);}
.row > .col-8 {width: calc((100% - 2em) / 3);}
.row > .col-9 {width: calc((100% - 1.6666666667em) / 2.6666666667);}
.row > .col-10 {width: calc((100% - 1.4em) / 2.4);}
.row > .col-11 {width: calc((100% - 1.1818181818em) / 2.1818181818);}
.row > .col-12 {width: calc((100% - 1em) / 2);}
.row > .col-13 {width: calc((100% - 0.8461538462em) / 1.8461538462);}
.row > .col-14 {width: calc((100% - 0.7142857143em) / 1.7142857143);}
.row > .col-15 {width: calc((100% - 0.6em) / 1.6);}
.row > .col-16 { width: calc((100% - 0.5em) / 1.5);}
.row > .col-17 {width: calc((100% - 0.4117647059em) / 1.4117647059);}
.row > .col-18 {width: calc((100% - 0.3333333333em) / 1.3333333333);}
.row > .col-19 {width: calc((100% - 0.2631578947em) / 1.2631578947);}
.row > .col-20 {width: calc((100% - 0.2em) / 1.2);}
.row > .col-21 {width: calc((100% - 0.1428571429em) / 1.1428571429);}
.row > .col-22 {width: calc((100% - 0.0909090909em) / 1.0909090909);}
.row > .col-23 {width: calc((100% - 0.0434782609em) / 1.0434782609);}
.row > .col-24 {width: calc((100% - 0em) / 1);margin-right: 1em;}

.col-8:nth-child(3n), .col-8:last-child, .margin-0 { margin-right: 0 !important;}
.col-6:nth-child(4n), .col-6:last-child { margin-right: 0 !important;}

[class*='col-'] header {padding: 20px 0}
.col img { width: 100%}
.col.col-18 { background: none}
.col > .row > .col {background: #FFEB3B;}

ul.list li { padding: 10px 0 10px 5px; display: flex !important; line-height: 140%; flex-wrap: wrap; margin-bottom: 0 !important;}
ul.list li:nth-child(2n) { margin-right: 0 !important;}
ul.list li .icon-down { transform: rotate(-65deg); position: relative; top: 2px; height: 23px; width: 23px; display: inline-block; margin-right: 10px}
ul.list li .txt { width: calc(100% - 35px)}

.subtitulo {font-size: 30px; display: block; border-bottom: 1px solid #e2e2e2; padding:30px 0 20px}
.black p, .black h2, .black li span { color: #CCCCCC}
.black .subtitulo { border-color: #666666}
.black p { margin-bottom: 20px}

.titulo {background: #68B92E; display: inline-block; position: relative; padding: 10px 20px 10px 70px; color: #fff}
.titulo:before {content: ''; background: #68B92E; width: 50px; position: absolute; height: 100%; top: 0; left: 0}

.header { height: 80px; background: #0A0B0D; margin-bottom: 0; border-bottom: 5px solid #68B92E; position: relative; z-index: 310; position: fixed;top: 0; padding-right: 300px;
transition: all 0.5s}
.close .header { padding-right: 0}
.img-top img { width: 100%; height: auto}

.cuerpo-site { margin:0 auto; padding-top: 80px}
.menu { width: 300px; height: 100%; overflow-y: hidden; position: fixed;top: 80px;right: 0; z-index: 300; background: #0A0B0D;
    transition: all 0.5s}
.menu.close {right: -300px}

.en-construccion .cuerpo-site { width: 100%; height: 100vh; background: #0A0B0D; background-size: cover; margin: 0; }
.en-construccion .cuerpo-site .bloque-100 { height: 100%}
.en-construccion .cuerpo-site .bloque-100 .row { text-align: center}
.en-construccion .cuerpo-site .bloque-100 .row h2, .en-construccion .cuerpo-site .bloque-100 .row p { color: #ccc}
.en-construccion .cuerpo-site .bloque-100 .row h2 { margin-bottom: 0}
.en-construccion .icon-logo { left: 50%}

.bandera figure {}

.menu {padding: 30px 20px}
.menu ul { margin-bottom: 40px}
.menu li { margin-bottom: 10px; padding: 0; display: block}
.menu li a {font-family: 'Open Sans', sans-serif; color: #cccccc; font-size: 18px; display: block; padding: 10px;position: relative; }
.menu li a:hover{ text-decoration: none; color:#ffffff}
.menu li a:before { content: ''; display: block; position: absolute; top: 0; right: 0; width: 5px; height: 100%; background:#68B92E; transition: all 0.5s; z-index: 299 }
.menu li a:hover:before { width: 100%}
.menu li a span { position: relative; z-index: 300; transition: all 0.5s; left: 0}
.menu li a:hover span { left: 10px}
/*.menu li:first-child a{font-family: 'Candara'; color: #68B92E; font-size: 24px}
.menu li:first-child a:hover { opacity: 0.75}*/

/*sub menu*/
.menu li.sub-menu>a{ margin-bottom: 10px}
.menu li ul { margin-bottom: 0; padding-left: 20px}
.menu li ul li a:before { right: auto; left: -10px;}
.menu li ul li a { }
.menu li ul li a span { }
.menu li ul li a:hover span { }

.whatsapp { background: rgb(87, 187, 99); color: #fff; width: 50px; height: 50px; border-radius: 50%; position: fixed; bottom: 30px; right: 30px; z-index: 300; text-align: center}
.icon-whatsapp:before { font-size: 40px; line-height: 50px}

#nosotros, #materiales, #galerias, #contacto, #modulos { position: relative; top: -100px}
.icon-menu {width: 40px;height: 40px; position: absolute;top: 26px;right: 20px;cursor: pointer; display: block; z-index: 300}
.icon-menu span { width: 4px; height: 4px; background: #fff; display: block; margin: 0 auto; transition: all 0.3s; position: relative; right: 0}
.icon-menu:before, .icon-menu:after {content: ''; display: block; width: 4px; height: 4px; background: #fff; transition: all 0.3s; position: relative; right: 0}
.icon-menu:before { margin:0 auto 6px}
.icon-menu:after { margin: 6px auto 0}
.icon-logo { width: 300px; height: 70px;; margin: 10px auto; display: block; position: absolute; left: 50%;transform: translateX(-50%); background: #000;
    padding: 20px 15px; box-sizing: content-box;  border-radius: 0 0 10px 10px;}
.icon-logo:hover { opacity: 1}
.icon-logo img { width:100%; height: auto; position: relative;  display: block; opacity: 0.8}
.icon-logo:hover img { opacity: 1}

.img-top header { position: absolute; top: 50%; transform: translateY(-50%); left: 50px; z-index: 300}
.img-top header p {font-family: 'Candara'; color: #333333; font-size:4vw; position: relative; left: 8vw; top: 38px}
.img-top header h2 {    font-family: 'Candara'; color: #F3801E; font-size: 10vw}

/*interior*/
.interior .row { padding: 40px 30px 80px}
.interior .row > .col-16 { width: calc((100% - 2em) / 1.5); margin-right: 2em}
.row .cuerpo h2 {font-size: 40px}
[class*='col-'].cuerpo header { padding: 0 0 20px}

/*listado*/
.listado .row { padding: 40px 30px 40px}

/*columnas*/
.columna-derecha{ border-left: 1px solid #ccc; padding-left: 1.5em}
.columna-derecha h2 { font-size: 24px; margin-bottom: 20px; border-bottom: 1px solid #ccc; padding-bottom: 15px}
.columna-derecha h2 + p { margin-bottom: 20px}
.columna-derecha .precio { font-size: 24px; color: #F3801E; display: block; margin-bottom: 15px}
.ver-cuotas { font-size: 18px; color: #888; margin-bottom: 20px; display: block}
.ver-cuotas:hover {color: #F3801E;}

.descripcion p { margin-bottom: 15px}

figure.snip1477 {  position: relative; overflow: hidden; margin: 0 0 15px;
  width: 100%;  background-color: #000000;}
    figure.snip1477 *, figure.snip1477 *:before, figure.snip1477 *:after {
    -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.55s ease;
  transition: all 0.55s ease;
}
    figure.snip1477 img { max-width: 100%;backface-visibility: hidden;vertical-align: top;opacity: 0.9;}
    figure.snip1477 .title { position: absolute;top: 58%;left: 25px;padding: 5px 10px 10px;}
    figure.snip1477 .title:before, figure.snip1477 .title:after { height: 1px; width: 400px; position: absolute; content: ''; background-color: #888;}
    figure.snip1477 .title:before { top: 0; left: 10px; -webkit-transform: translateX(100%); transform: translateX(100%);}
    figure.snip1477 .title:after { bottom: 0; right: 10px; -webkit-transform: translateX(-100%); transform: translateX(-100%);}
    figure.snip1477 .title div:before, figure.snip1477 .title div:after { width: 1px; height: 300px; position: absolute; content: ''; background-color: #888;}
    figure.snip1477 .title div:before { top: 10px; right: 0; -webkit-transform: translateY(100%); transform: translateY(100%);}
    figure.snip1477 .title div:after { bottom: 10px; left: 0; -webkit-transform: translateY(-100%); transform: translateY(-100%);}
    figure.snip1477 h2, figure.snip1477 h4 { margin: 0; text-transform: uppercase;}
    figure.snip1477 h2, .row.black figure.snip1477 h2 { font-weight: 400; font-size: 20px; color:#fff;text-shadow: 1px 1px 2px rgba(0, 0, 0, 1);}
    figure.snip1477 h4 { display: block; font-weight: 700; background: rgba(255,102,0,0.75); padding: 5px 10px; color: #fff; font-size: 14px; opacity: 0}
    figure.snip1477 figcaption {font-family: 'Candara'; position: absolute; bottom: 42%; left: 25px; text-align: left; opacity: 0; padding: 5px 60px 5px 10px; font-size: 14px;
    font-weight: 500; color: #fff; line-height: 130%; z-index: 300}
    figure.snip1477 figcaption p { margin: 0;}
    figure.snip1477 a {color:#68B92E; font-size: 0; position: absolute;top: 0;left: 0;width: 100%; height: 100%; z-index: 300;}
figure.snip1477 p { font-size: 16px}
    figure.snip1477 p span{color:#68B92E; font-size: 16px;}
    figure.snip1477 .over { position: absolute;top: 0; bottom: 0; left: 0; right: 0;}
    figure.snip1477:hover img, figure.snip1477.hover img { zoom: 1; filter: alpha(opacity=35); -webkit-opacity: 0.35; opacity: 0.35;}
    figure.snip1477:hover .title:before,
    figure.snip1477.hover .title:before,
    figure.snip1477:hover .title:after,
    figure.snip1477.hover .title:after,
    figure.snip1477:hover .title div:before,
    figure.snip1477.hover .title div:before,
    figure.snip1477:hover .title div:after,
    figure.snip1477.hover .title div:after { -webkit-transform: translate(0, 0); transform: translate(0, 0);}
    figure.snip1477:hover .title:before,
    figure.snip1477.hover .title:before,
    figure.snip1477:hover .title:after,
    figure.snip1477.hover .title:after { -webkit-transition-delay: 0.15s; transition-delay: 0.15s;}
    figure.snip1477:hover figcaption,
    figure.snip1477.hover figcaption { opacity: 1; -webkit-transition-delay: 0.2s; transition-delay: 0.2s;}
    figure.snip1477:hover h4,
    figure.snip1477.hover h4 { opacity: 1; -webkit-transition-delay: 0.2s; transition-delay: 0.2s;}

    .img-top { padding-top: 80px}
.swiper-container { width:calc(100vw - 317px); height: 600px; transition: all 0.5s}
.swiper-slide {text-align: center;font-size: 18px; background: #fff;display: -webkit-box;display: -ms-flexbox;display: -webkit-flex;display: flex; transition: all 0.5s;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}
.swiper-button-next:after, .swiper-button-prev:after { color: rgba(255,255,255,0.8)}
.swiper-button-next:hover:after, .swiper-button-prev:hover:after { color: rgba(255,255,255,1)}

form { width: 500px; margin: 0 auto 40px}
.campos input, .campos textarea{ width: 100%; margin-bottom: 30px; line-height: 40px; padding: 0 10px}
.campos textarea { min-height: 150px}
#send { background:#68B92E; color: #fff;  text-transform: uppercase; font-size: 16px; cursor: pointer }
#send:hover { background: #47841a}
.contacto p { display: block; border-bottom: 1px solid #e2e2e2; padding-bottom: 20px}

.exito h2 {font-family: 'Open Sans', sans-serif; font-size: 22px; color:#68B92E; font-weight: 700; margin-bottom: 20px }
.exito p { border-bottom: none}
.volver { line-height: 40px; background: #68B92E; color: #fff; text-align: center; padding: 0 50px; display: inline-block}
.volver:hover {background: #47841a}

.errormsg { display: block; text-align: center; color: #d81818; margin-bottom: 30px}

.row.nosotros { padding: 0}

footer.bloque-100 { width:100vw; height: 80px; background: #0A0B0D; margin-bottom: 0; border-top: 5px solid #68B92E; position: relative; z-index: 3100; display: flex; flex-wrap: wrap;
    align-items: center; justify-content: space-between; padding: 0 30px; clear: both; overflow: hidden}
footer .redes { right: 50px; top: auto}
footer p { color: #555; margin: 0}


/*hovers*/
@media screen and (min-width: 1025px){
    .icon-menu:hover span, .icon-menu:hover:before, .icon-menu:hover:after { width: 36px; right: 16px}
    .redes a { transition: all 0.3s}
    .redes a:hover { opacity: 0.5}
}


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


@media screen and (max-width: 1024px){
    .cuerpo-site { padding-top: 0}
    .swiper-container { width: 100%; height: 500px}
    .img-top img { height: 100%; object-fit: cover}
    body { padding-right:0;}
    .row, .inicio .row {padding: 40px 20px 20px}
    .row > .row, .inicio .row > row { padding: 0}
    .icon-menu{ z-index: 3000; right: 5px}
    .redes { right: 60px}
    .icon-menu.active ~ .icon-logo { left: 50%}
    .img-top header p {top: 30px}
    .menu {right: -300px}
    .menu.close {right: 0}
    .cuerpo-site { transition: all 0.5s}
    .menu.close ~ .cuerpo-site { margin-left: 0; width: 100%}
    .header { padding-right: 0}
    .close .header { padding-right: 300px}

    footer .redes { right: 15px; left: auto}
}


@media screen and (max-width: 1023px){
    body, .header { padding: 0}
    .icon-menu { display: block}

    .menu {right: -300px; z-index: 3000}
     .menu.close {right: 0}
    .row h2 { font-size: 40px}
    .cuerpo-site {width:100%; margin-left:0;}
    .img-top header p {top: 18px}
}


@media screen and (max-width: 767px){
    .whatsapp { bottom: 10px; right: 10px}
    form { width: 100%; padding: 0 10px}
    .contacto header { padding: 0 10px}
    .img-top { padding-top: 60px;}
    .icon-logo { padding: 0}
    .bloque-100.header { height: 60px; width: 100%; left: 0}
    .bloque-100.img-top {margin-top: 60px}
    .redes { top: 15px; left: auto; right: 50px}
    .redes a { margin: 0 10px}
    .row > [class*='col-'] {width: 100%; margin-right: 0; margin-bottom: 30px}
    .icon-logo { width: 100px; height: auto; margin-top: 10px; left: 15px; transform: translateX(0)}
    .icon-menu { display: block; width: 30px; height: 30px; top: 17px}
    .menu { width: 100%; right: -100%; top: 60px;z-index: 300}
    .menu.close {right: 0; }
    .cuerpo-site { width: 100%; margin-left: 0;transform:translateX(0); transition: all 0.5s; padding-top: 60px }
    .img-top header { display: none}
    /*.menu.close ~ .cuerpo-site {transform: translateX(300px);}*/
    
    .row, .inicio .row { padding: 20px 10px}
    .row .row, .inicio .row .row { padding: 0}
    .row h2 {font-size: 30px; margin-bottom: 20px}
    figure.snip1477 { margin: 0 0 10px; max-width: none}
    footer.bloque-100 { padding: 0 10px}
    footer p { font-size: 16px}
}