@charset "utf-8";
:root{
    --boxradius:25px;
    --boxpadding:0.3vw;
    --boxpaddingbottom:2vw;
    --boxborder:0.3vw;
    --blue:#254395;
    --darkblue:#080426;
    --red:#ce1417;
    --darkred:#4f0708;
    --gray:#414143;
}
@media handheld, only screen and (max-width: 1000px) {
    :root{
        --boxradius:0;
        --boxpadding:0.4vh;
        --boxborder:0.4vh;
        --boxborder:0.4vh;
    }
}
/* CSS Document */
body{
	margin: 0;
	padding: 0;
	font-family: Regular1;
}
h1, h2{
    margin: 0;
	padding: 0;
}
p{
    margin: 0;
	padding: 0;
}
section{
	width: 100%;
	height: 100vh;
	position: relative;
    border-bottom: solid 10px #3a3a3a;
}
.section-shadow{
    background: url("../images/shadow-75.png") repeat-x top;
    background-size: contain;
    width: 100%;
    height: 55px;
    position: absolute;
    bottom: -65px;
    z-index: 10;
    
}
.shadow-left{
    background: url("../images/shadow-left.png") repeat-y left;
    background-size: contain;
    width: 20px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -20px;
}
.shadow-right{
    background: url("../images/shadow-right.png") repeat-y left;
    background-size: contain;
    width: 20px;
    height: 100%;
    position: absolute;
    top: 0;
    right: -20px;
}
.center{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.hidden{
	display:none;
} 

.ajax-response{
    width: 90%;
    font-family: Light;
	font-size:1.5vw;
	text-align:center;
	color:#fff;
	padding:5%;
	display:none;
    border: 1px solid #ff00000;
    
}
.form-validate{	
    font-family: Light;
	font-size:1.5vw;
	color:#ff0000;	
	padding:1%;
	display:none;
    text-align: left;
    border: 1px solid #ff0000;
}
.form-sending{
    width: 90%;
    font-family: Light;
	font-size:1.5vw;
	text-align:center;
	color:#fff;
	padding:1%;
	display:none;
    margin: auto;
}
.error{	
}
@media handheld, only screen and (max-width: 1000px) {
    section{
    }
    .section-shadow{
        display: none;
    }
    .shadow-left{
        display: none;
    }
    .shadow-right{
        display: none;
    }
}
.rounded{
	-moz-border-radius: 25px; /* Firefox */
	-webkit-border-radius: 25px; /* Safari y Chrome */
	-khtml-border-radius: 25px; /* Konkeror, ... */
	border-radius: 25px; /* Opera 10.50, IE y CSS3 */
}
.rounded-bottom{
	-moz-border-radius: 0 0 25px 25px; /* Firefox */
	-webkit-border-radius: 0 0 25px 25px; /* Safari y Chrome */
	-khtml-border-radius: 0 0 25px 25px; /* Konkeror, ... */
	border-radius: 0 0 25px 25px; /* Opera 10.50, IE y CSS3 */
}
.shadow{
	-webkit-box-shadow: 10px 10px 10px 0px rgba(0,0,0,0.50);
	-moz-box-shadow: 10px 10px 10px 0px rgba(0,0,0,0.50);
	box-shadow: 10px 10px 10px 0px rgba(0,0,0,0.50);
}

.blue{
	background-color: #254395;
}
@media handheld, only screen and (max-width: 1000px) {
	.rounded{
		-moz-border-radius: 0; /* Firefox */
		-webkit-border-radius: 0; /* Safari y Chrome */
		-khtml-border-radius: 0; /* Konkeror, ... */
		border-radius: 0; /* Opera 10.50, IE y CSS3 */
	}
	.shadow{
		-webkit-box-shadow: 0 0 0 0 rgba(0,0,0,0.50);
		-moz-box-shadow: 0 0 0 0 rgba(0,0,0,0.50);
		box-shadow: 0 0 0 0 rgba(0,0,0,0.50);
	}
}
header{
	display: none;
	
}
header .header-logo{
	display: none;
}
@media handheld, only screen and (max-width: 1000px) {
	header{
        width: 100%;
		height: 10vh;
		display: block;
		background: url("../images/_common/bg-black-75.png");
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
		z-index: 100;
	}
	header .header-logo{
		display: block;
		background: url("../images/logo-h-wh.svg") no-repeat left;
		background-size: contain;
		width: 90%;
		height: 90%;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
        right: 0;
        margin: auto;
	}
}
#home{
	
}
#home .home-logo{
    background: url("../images/logo-wh.svg") no-repeat left center;
    background-size: contain;
    width: 30%;
    height: 30%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    
}
#home .home-greca{	
	background: url(../images/bg-greca.svg) no-repeat center bottom fixed;
	background-size: contain;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 0;
}
@media handheld, only screen and (max-width: 1000px) {
    #home{

    }
    #home .home-logo{
       display: none;
    }
    #home .home-greca{	
        background: url(../images/bg-mgreca.svg) no-repeat center bottom fixed;        
    }
}
#aboutus{
    background:url("../images/bg-aboutus.jpg") no-repeat bottom center fixed;
    background-size: cover;
}
#aboutus h1{
    background: #ce1317;
    font-size: 2vw;
    line-height: 3vw;
    color: #ffffff;
    text-align: center;
}
#aboutus p{
    font-family: Light;
    font-size: 1.5vw;
    margin: auto;
}
#aboutus span{
    font-family: Bold;
    font-size: 2vw;
    margin: auto;
    margin-right: 10%;
}
#aboutus .aboutus-logo{
    background: url("../images/logo-wh.svg") no-repeat left center;
    background-size: contain;
    width: 30%;
    height: 30%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    
}
#aboutus .aboutus-info{
    background: url("../images/bg-aboutus-info-txt.svg") no-repeat bottom center;
    background-size: contain;
    width: 50%;
    height: 20vw;
    position: absolute;
    top: 5%;
    right: 5%;
}
#aboutus .aboutus-info-txt{
    width: 85%;
    height: 5vw;
    background: #ffffff;
    margin:5% auto;
    padding: 5%;
}
#aboutus .aboutus-vision{
    width: 40%;
    position:absolute;
    top: 40%;
    left: 1%;
    margin: auto;
}
#aboutus .aboutus-mision{
    width: 40%;    
    position:absolute;
    bottom: 5%;
    left: 1%;

}
#aboutus .aboutus-valores{
    display: none;
    width: 25%;
    height: auto;
    position: absolute;
    bottom: 0;
    right: 5%;

    text-align: right;
}
#aboutus .aboutus-valores-item{
    height: 2vw;    
    margin-bottom: 4%;
}
#aboutus .aboutus-vision-boxtop{
    border-top:var(--boxborder) solid var(--red);
    border-left:var(--boxborder) solid var(--red);
    
}
#aboutus .aboutus-vision-box:before{
    background: var(--c,linear-gradient(to bottom, var(--red), var(--darkred))); 
}
#aboutus .aboutus-circle-red{
    background: var(--red);
}
#aboutus .aboutus-circle-blue{
    background: var(--darkblue);
}
#aboutus .aboutus-mision-boxtop{
    border-top:var(--boxborder) solid var(--darkblue);
    border-left:var(--boxborder) solid var(--darkblue);
    
}
#aboutus .aboutus-mision-box:before{
    background: var(--c,linear-gradient(to bottom, var(--darkblue), var(--blue))); 
}
#aboutus .aboutus-box{
    padding: 2%;
    padding-bottom: var(--boxpaddingbottom);
    margin: auto;
    position:relative;
    z-index:0;
}
#aboutus .aboutus-box:before{
    content:"";
    position:absolute;
    z-index:-1;
    top:0;
    left:0;
    right:0;
    bottom:0;
    padding: var(--boxpadding);
    padding-top: 0;    
    border-bottom-left-radius: var(--boxradius);
    border-bottom-right-radius: var(--boxradius);   
    -webkit-mask: 
     linear-gradient(#fff 0 0) content-box, 
     linear-gradient(#fff 0 0);
    -webkit-mask-composite: destination-out;
    mask-composite: exclude;
}
#aboutus .aboutus-boxtop{
    position: relative;
    width: 50%;
    height:cal(var(--boxradius)+1px);    
    border-top-left-radius: var(--radius);    
}
#aboutus .aboutus-circle{    
    width: 1vw;
    height: 1vw;
    border-radius: 50%;
    position: absolute;
    top:-0.6vw;
    right: -0.5vw;
}
@media handheld, only screen and (max-width: 1000px) {
    #aboutus{
    }
    #aboutus h1{
        font-size: 2.5vh;
        line-height: 4vh;
    }
    #aboutus p{
        font-size: 2.5vh;
    }
    #aboutus span{
        font-size: 2.5vh;
        margin: auto;
        margin-right: none;
    }
    #aboutus .aboutus-logo{
        display: none;
    }
    #aboutus .aboutus-info{
        width: 90%;
        height: 35vh;
        position: relative;
        top: 5%;
        right: auto;
        margin:auto;
        margin-bottom: 5vh;
    }
    #aboutus .aboutus-info-txt{
        height: auto;
    }
    #aboutus .aboutus-vision{
        width: 90%;
        position:relative;
        top: auto;
        left: auto;
        margin:10vh auto;
    }
    #aboutus .aboutus-mision{
        width: 90%;
        position:relative;
        bottom: auto;
        left: auto;
        margin: auto;
    }
    #aboutus .aboutus-valores{
    }
    #aboutus .aboutus-valores-item{

    }
    #aboutus .aboutus-vision-boxtop{
    }
    #aboutus .aboutus-vision-box:before{
    }
    #aboutus .aboutus-circle-red{
    }
    #aboutus .aboutus-circle-blue{
    }
    #aboutus .aboutus-mision-boxtop{
    }
    #aboutus .aboutus-mision-box:before{
    }
    #aboutus .aboutus-box{
    }
    #aboutus .aboutus-box:before{
    }
    #aboutus .aboutus-boxtop{
    }
    #aboutus .aboutus-circle{
        width: 1.5vh;
        height: 1.5vh;
        border-radius: 50%;
        position: absolute;
        top:-0.8vh;
        right: -0.8vh;
    }
}
#wearedoing{
    background: url("../images/bg-wearedoing.jpg") no-repeat center;
    background-size: cover;
}
#wearedoing p{
    font-family: Light;
    font-size: 1.5vw;
    margin: auto;
    
}
#wearedoing .wearedoing-img{
    background: url("../images/img-wearedoing.jpg") no-repeat bottom right;
    background-size: cover;
    width: 30%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    
}
#wearedoing .wearedoing-img-shadow{
    background: url("../images/shadow-h.png") repeat-y left;
    background-size: contain;
    width: 3%;
    height: 100%;
    position: absolute;
    top: 0;
    left: -3%;
}
#wearedoing .wearedoing-info{
    width: 60%;
    height: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 5%;
    margin: auto;
}
#wearedoing .wearedoing-title{
    width: 100%;
    height: 15vw;
    position: relative;
}
#wearedoing .wearedoing-que{
    width: 12vw;
    height: 12vw;
    border: 5px solid var(--red);
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;    
}
#wearedoing .wearedoing-que h1{
    height: 5vw;
    font-family: Bold;
    font-size: 5vw;
    line-height: 5vw;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;    
}
#wearedoing .wearedoing-title-all{
    width: 75%;
    height: 3vw;
    position: absolute;
    top: 0;
    bottom: 0;    
    right: 0;
    margin: auto;
        
}
#wearedoing .wearedoing-title-all h2{
    height: 3vw;
    font-family: Bold;
    font-size: 3vw;
    line-height: 3vw;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;    
}
#wearedoing .wearedoing-content{
    margin: 2vw auto;
}
#wearedoing .wearedoing-logos{
    height: 7vw;
    position: relative;
    text-align: center;
    margin: 3vw auto;
}
#wearedoing .wearedoing-logo{
    width: 24%;
    height: 100%;
    display: inline-block;
    margin: auto;

}
#wearedoing .wearedoing-nom{
    background: url("../images/logo-nom.svg") no-repeat center center;
    background-size: contain;
}
#wearedoing .wearedoing-nmx{
    background: url("../images/logo-nmx.svg") no-repeat center center;
    background-size: contain;
}
#wearedoing .wearedoing-astm{
    background: url("../images/logo-astm.svg") no-repeat center center;
    background-size: contain;
}
#wearedoing .wearedoing-aci{
    background: url("../images/logo-aci.svg") no-repeat center center;
    background-size: contain;
}
#wearedoing .wearedoing-lema{
    width: 50%;
    border-left: 5px solid var(--red);
    padding: 2%;
}
@media handheld, only screen and (max-width: 1000px) {
    #wearedoing{
        height: auto;
    }
    #wearedoing p{
        font-size: 2.5vh;
    }
    #wearedoing .wearedoing-img{
        display: none;
    }
    #wearedoing .wearedoing-img-shadow{
        display: none;
    }
    #wearedoing .wearedoing-info{
        width: 90%;
        height: auto;
        position: relative;
        top: auto;
        bottom: auto;
        left: auto;
        margin: auto;
    }
    #wearedoing .wearedoing-title{
        width: 90%;
        height: auto;
        margin: auto;
        padding-top: 5vh;
    }
    
    #wearedoing .wearedoing-que{
        width: 12vh;
        height: 12vh;
        border: 5px solid var(--red);
        border-radius: 50%;
        position: relative;
        top: auto;
        bottom: auto;
        margin: auto;    
    }
    #wearedoing .wearedoing-que h1{
        font-size: 4vh;
        line-height: 4vh;
        height: 4vh;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        text-align: center;
    }
    #wearedoing .wearedoing-title-all{
        width: 90%;
        height: auto;
        position: relative;
        top: auto;
        bottom: auto;    
        right: auto;
        margin:2vh auto;

    }
    #wearedoing .wearedoing-title-all h2{
        text-align: center;
        height: auto;
        font-size: 3.5vh;
        line-height: 3.5vh;
        position: relative;
        top: auto;
        bottom: auto;
        left: auto;
        right: auto;
        margin: auto;    
    }
    #wearedoing .wearedoing-content{
        margin: 2vw auto;
    }
    #wearedoing .wearedoing-logos{
        height: auto;
        position: relative;
        text-align: center;
        margin: 5vh auto;
    }
    #wearedoing .wearedoing-logo{
        width: 90%;
        height: 10vh;
        display: block;
        margin:5vh auto;

    }
    #wearedoing .wearedoing-nom{
    }
    #wearedoing .wearedoing-nmx{
    }
    #wearedoing .wearedoing-astm{
    }
    #wearedoing .wearedoing-aci{
    }
    #wearedoing .wearedoing-lema{
        width: 90%;
        margin-bottom: 5vh;
    }
}
#procesos{
    height: auto;
    background:url(../images/bg-agregados.jpg) no-repeat center bottom fixed;
    background-size: cover;
}
#procesos h1{
    font-family: Bold;
    font-size: 5vw;
    margin-bottom: 3vw;
    color: #ffffff;
}
#procesos p{
    font-family: Light;
    font-size: 1.5vw;
    margin: auto;
    color: #ffffff;
}
#procesos span{
    font-family: Light;
    font-size: 1vw;
    height: 1vw;
    margin: auto;
    color: #ffffff;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 5%;

}
#procesos .procesos-greca{
    background: url(../images/greca-agregados.png) no-repeat bottom center;
    background-size: cover;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 0;
}
#procesos .procesos-info{
    width: 40%;
    height: 30%;
    position: absolute;
    right: 5%;
    top: 5%;
    z-index: 1
}
#procesos .procesos-menu{
    width: 50%;
    height: auto;
    min-height: 100vh;
    position: relative;
    top: 0;
    left:0;
    z-index: 1;
}
#procesos .procesos-menu-bar{
    background: #ffffff;
    width: 10%;
    height: 100%;
    position: absolute;
    left: 10%;
    top: 0;
}
#procesos .procesos-menu-cat{
    width: 100%;
    height: 10vh;
    position: relative;    
}
#procesos .procesos-menu-barleft{
    width: 10%;
    height: 75%;
    position: absolute;
    bottom: 0;
    left: 0;
}
#procesos .procesos-menu-barshadow-right{
    background: url("../images/shadow-left.png") repeat-y left;
    background-size: contain;
    width: 40%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;

}
#procesos .procesos-menu-bartop{
    width: 14%;
    height: 75%;
    position: absolute;
    top: 5%;
    left: 8%;
}
#procesos .procesos-menu-baropt{
    width: 80%;
    height: 75%;
    position: absolute;
    bottom: 0;
    right: 0;
    cursor: pointer;
}
#procesos .procesos-menu-barshadow-left{
    background: url("../images/shadow-right.png") repeat-y left;
    background-size: contain;
    width: 5%;
    height: 100%;
    position: absolute;
    top: 0;
    left:0;
}
#procesos .procesos-catdarkblue{
    background: var(--darkblue);
}
#procesos .procesos-catdarkblue:hover{
    background: var(--blue);
}
#procesos .procesos-catdarkred{
    background: var(--darkred);
}
#procesos .procesos-catdarkred:hover{
    background: var(--red);
}
#procesos .procesos-optblue{
    background: var(--blue);
}
#procesos .procesos-optblue:hover{
    background: var(--darkblue);
}
#procesos .procesos-optred{
    background: var(--red);
}
#procesos .procesos-optred:hover{
    background: var(--darkred);
}

#procesos #procesos-petreos{
    position: relative;
    display: none;
}
#procesos #procesos-concretos{
    display: none;
    position: relative;
}
#procesos #procesos-soldadura{
    display: none;
    position: relative;
}
#procesos #procesos-acero{
    display: none;
    position: relative;
}
#procesos #procesos-terraceria{
    display: none;
    position: relative;
}
#procesos #procesos-topografia{
    display: none;
    position: relative;
}
#procesos #procesos-calidadagua{
    display: none;
    position: relative;
}
#procesos #procesos-mecanicasuelos{
    display: none;
    position: relative;
}
#procesos .procesos-menu-opt{
    width: 100%;
    height: 8vh;
    position: relative;
}
#procesos .procesos-menu-item{
    width: 80%;
    height: 75%;  
    position: absolute;
    bottom: 0;
    left: 20%;
    cursor: pointer;
}
@media handheld, only screen and (max-width: 1000px) {
    #procesos{
        background:url(../images/bg-magregados.jpg) no-repeat center bottom fixed;
        background-size: cover;

    } 
    #procesos h1{
        font-size: 4vh;
        margin-bottom: 3vh;
    }
    #procesos p{
        font-size: 2.5vh;
    }
    #procesos span{
        font-size: 2.5vh;
        height: 4vh;
        margin: auto;
        color: #ffffff;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 5%;
    }

    #procesos .procesos-greca{
        display: none;
    }
    #procesos .procesos-info{
        background: url("../images/_common/bg-black-50.png");
        width: 90%;
        height: auto;
        position: relative;
        right: auto;
        bottom: auto;
        z-index: 1;
        margin: auto;
        padding: 5%;
            
    }
    #procesos .procesos-menu{
        width: 100%;
        height: auto;
        position: relative;
        top: auto;
        left:auto;
        z-index: 1;
        margin: 5vh auto;
    }
    #procesos .procesos-menu-bar{
        display: none;
    }
    #procesos .procesos-menu-cat{
        width: 100%;
        height: 10vh;
        position: relative;
        margin: 2vh auto;
    }
    #procesos .procesos-menu-barleft{
        display: none;
    }
    #procesos .procesos-menu-barshadow-right{
        display: none;
    }
    #procesos .procesos-menu-bartop{
        display: none;
    }
    #procesos .procesos-menu-baropt{
        width: 100%;
        height: 100%;
        position: relative;
        bottom: auto;
        right: auto;
    }
    #procesos .procesos-menu-barshadow-left{
        display: none;
    }
    #procesos .procesos-catdarkblue{
    }
    #procesos .procesos-catdarkblue:hover{
    }
    #procesos .procesos-catdarkred{
        background: var(--darkred);
    }
    #procesos .procesos-catdarkred:hover{
        background: var(--red);
    }
    #procesos .procesos-optblue{
        background: var(--blue);
    }
    #procesos .procesos-optblue:hover{
        background: var(--darkblue);
    }
    #procesos .procesos-optred{
        background: var(--red);
    }
    #procesos .procesos-optred:hover{
        background: var(--darkred);
    }

    #procesos #procesos-petreos{
        position: relative;
        display: none;
    }
    #procesos .procesos-menu-opt{
        width: 100%;
        height: 10vh;
        position: relative;
    }
    #procesos .procesos-menu-item{
        width: 95%;
        height: 90%;  
        position: relative;
        bottom:auto;
        left: auto;
        margin: auto;
        margin-left: 5%;
    }   
}

#concretos {    
}
#concretos .concretos-bg{
    background: url(../images/bg-concreto.jpg) no-repeat center center;
    background-size: cover;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 11vw;
}
#concretos h1{
    font-family: Bold;
    font-size: 4vw;
    writing-mode:vertical-rl;
    color: var(--red);
    transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    margin: auto;
    margin-left: 5%;
}
#concretos h2{
    font-family: Bold;
    font-size: 1.5vw;
    color: #ffffff;
    margin: auto;
    margin-left: 10%;
}
#concretos p{
    font-family: Light;
    font-size: 1.5vw;
    color: #ffffff;   
}
#concretos span{
    font-family: Light;
    font-size: 1.5vw;
    color: var(--darkred);   
}
#concretos .concretos-title{
    width:11vw;
    position: absolute;
    top: 0;
    bottom: 5%;
    right: 0;
}
#concretos .concretos-triangulo-tred{
    background: url("../images/concretos-triangulo-tred.svg") no-repeat top left;
    background-size:contain;
    width: 50%;
    height: 50%;
    position: absolute;
    top: 0;
    left: 0;   
}
#concretos .concretos-triangulo-bblue{
    background: url("../images/concretos-triangulo-bblue.svg") no-repeat bottom left;
    background-size:contain;
    width: 75%;
    height: 75%;
    position: absolute;
    bottom: 0;
    left: 0;   
}
#concretos .concretos-triangulo-bred{
    background: url("../images/concretos-triangulo-bred.svg") no-repeat bottom left;
    background-size:contain;
    width: 65%;
    height: 65%;
    position: absolute;
    bottom: 0;
    left: 0;   
}
#concretos .concretos-triangulo-bgray{
    background: url("../images/concretos-triangulo-bgray.svg") no-repeat bottom left;
    background-size:contain;
    width: 55%;
    height: 55%;
    position: absolute;
    bottom: 0;
    left: 0;   
}
#concretos .concretos-circles{
    background: url("../images/concretos-circles.svg") no-repeat center; 
    background-size: contain;
    width: 20%;
    height: 70%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;    
}
#concretos .concretos-info{
    width: 40%;
    height: auto;
    position: absolute;
    bottom: 5%;
    left: 20%;    
}
#concretos .concretos-menu{
    width: 20vw;
    height: 90%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 11vw;
    z-index: 1;
    margin: auto;
}
#concretos .concretos-menu-group{
    width: 100%;
    position: relative;
    margin: 1vw auto;
}
#concretos .concretos-menu-cat{
    background: var(--c,linear-gradient(to left, var(--darkblue), var(--blue))); 
    width: 90%;    
    margin: auto;
    text-align: right;
    padding: 3% 5%;
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
    cursor: pointer;
}
#concretos .concretos-menu-cat:hover{
    background: var(--c,linear-gradient(to left, var(--darkred), var(--red))); 
}
#concretos .concretos-menu-opt{
    background: url("../images/_common/bg-white-75.png");
    width: 30vw;
    height: auto;
    padding:0 5%;
    border-radius: 25px;    
    position: absolute;
    top: 0;
    margin: auto;
    right: 110%;    
}
#concretos .concretos-menu-opt-bg{
    background: var(--c,linear-gradient(to left, var(--darkred), var(--red))); 
    width: 50%;
    height: 120%;   
    border-bottom-right-radius: 25px;    
    position: absolute;
    top: -10%;
    right: -1vw;
    z-index: -1;
}
#concretos .concretos-menu-opt-top{    
    border-top: 10px solid var(--red);
    border-right: 10px solid var(--red);
    border-bottom:10px solid transparent;
    border-left: 10px solid transparent;
    position: absolute;
    top: 0;
    left: -20px;
}
#concretos .concretos-menu-opt-bottom{    
    border-bottom: 10px solid var(--red);
    border-right: 10px solid var(--red);
    border-top:10px solid transparent;
    border-left: 10px solid transparent;
    position: absolute;
    bottom: 0;
    left: -20px;
}
#concretos .concretos-menu-opt-right{ 
    height: 0;
    border-bottom: 15px solid transparent;
    border-left: 15px solid var(--darkred);
    border-top:15px solid transparent;
    position: absolute;  
    top: 10%;
    right: -15px;
    margin: auto;
}
#concretos .concretos-menu-item{
    margin: 2% auto;
    text-align: right;
    cursor: pointer;
}
#concretos .concretos-menu-item span:hover{
    color: var(--darkblue);
    font-family: Bold;
}
#concretos #concretos-diseno{
    display: none;
}
#concretos #concretos-concretofresco{
    display: none;
}
#concretos #concretos-concretoendurecido{
    display: none;
}
#concretos #concretos-pruebasespeciales{
    display: none;
}
@media handheld, only screen and (max-width: 1000px) {
    #concretos { 
        height: 120vh;
    }
    #concretos .concretos-bg{
        background: url(../images/bg-mconcreto.jpg) no-repeat center center;
        background-size: cover;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }
    #concretos h1{
        font-size: 4vh;
        writing-mode: horizontal-tb;
        color: var(--red); 
        transform:none;
        -moz-transform: none;
        -webkit-transform: none;
        margin: auto;
        margin-left: auto;
        text-align: center;
        padding: 2vh auto;
    }
    #concretos h2{
        font-size: 2.5vh;
        margin: auto;
        margin-left: 10%;
    }
    #concretos p{
        font-size: 2.5vh;
    }
    #concretos span{
        font-size: 2.5vh;
    }
    #concretos .concretos-title{
        width:90%;
        position: relative;
        top: auto;
        bottom: auto;
        right: auto;
        margin: auto; 
        padding: 5vh 0;
            
    }
    #concretos .concretos-triangulo-tred{
        display: none;
    }
    #concretos .concretos-triangulo-bblue{
        display: none;   
    }
    #concretos .concretos-triangulo-bred{
        display: none;   
    }
    #concretos .concretos-triangulo-bgray{
        display: none; 
    }
    #concretos .concretos-circles{
        display: none;
    }
    #concretos .concretos-info{
        width: 90%;
        height: auto;
        position: relative;
        bottom: auto;
        left: auto;    
        margin: 3vh auto;        
    }
    #concretos .concretos-menu{
        width: 100%;
        height: auto;
        position: relative;
        top: auto;
        bottom: auto;
        right: auto;
        z-index: 1;
        margin: auto;        
    }
    #concretos .concretos-menu-group{
        width: 100%;
        position: relative;
        margin: 1vh auto;
    }
    #concretos .concretos-menu-cat{
        width: 90%;    
        margin: auto;
        text-align: left;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }
    #concretos .concretos-menu-cat:hover{
    }
    #concretos .concretos-menu-opt{
        width: 90%;
        height: auto;
        padding:5%;
        border-radius: 0;    
        position: relative;
        top: auto;
        margin: auto;
        right: auto;
    }
    #concretos .concretos-menu-opt-bg{
        display: none;
    }
    #concretos .concretos-menu-opt-top{    
        display: none;
    }
    #concretos .concretos-menu-opt-bottom{    
        display: none;
    }
    #concretos .concretos-menu-opt-right{ 
        display: none;
    }
    #concretos .concretos-menu-item{
        margin: 5% auto;
        text-align: left;
        cursor: pointer; 
    }
    #concretos .concretos-menu-item span:hover{
        color: var(--darkblue);
        font-family: Bold;
    }
    #concretos #concretos-diseno{
        display: none;
    }
    #concretos #concretos-concretofresco{
        display: none;
    }
    #concretos #concretos-concretoendurecido{
        display: none;
    }
    #concretos #concretos-pruebasespeciales{
        display: none;
    }
}
#exitos{
    background: url("../images/bg-wearedoing.jpg") no-repeat;
    background-size: cover;
    height: auto;
    min-height: 100vh;       
}
#exitos h1{
    font-family: Bold;
    font-size: 4vw;
    color: var(--blue);
    text-align: right;    
}
#exitos h2{
    font-family: Regular;
    color: var(--gray);
    font-size: 1.5vw;
    text-align: left;
}
#exitos h3{
    font-family: Regular;
    color: var(--gray);
    font-size: 1vw;
    text-align: left;
}
#exitos span{
    font-family: Light;
    color: var(--gray);
    font-size: 1vw;
    text-align: left;
}
#exitos p{
    font-family: Light;
    color: var(--gray);
    font-size: 1vw;
    text-align: left; 
}
#exitos .exitos-title{
    background: #ffffff;
    width: auto;
    height: 5vw;
    border-bottom: 10px solid var(--blue);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding-right: 5vw;
    padding-top: 1vw;
}

#exitos .exitos-titlev{
    background: var(--blue);
    width: 5vw;
    position: absolute;
    top: 6vw;;
    bottom: 0;
    right: 0;
    padding: 5vw 0;
    text-align: center;
}
#exitos .exitos-titlev h1{
    color: #ffffff;
    text-align: center;
}
#exitos .exitos-gallery{
    width: 90vw;
    height: auto;
    position: relative;
    top: 7vw;
    left: 2vw;
    margin-bottom: 10vw;
    text-align: center;
}
#exitos .exitos-gallery-case{
    background: #ffffff;
    width: 40%;
    display: inline-table;
    vertical-align: top;
    margin: 1vh 1vw;
    padding: 3vw;
    position: relative;
    cursor: pointer;
    
}
#exitos .exitos-gallery-case:hover{
    background: #d3d3d5;
}
#exitos .exitos-gallery-pic{
    width: 35%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
}
#exitos .exitos-gallery-info{
    width: 60%;
    height: auto;
    position: relative;
    left: 40%;
}
#exitos .exitos-gallery-date{
    text-align: left;
}
@media handheld, only screen and (max-width: 1000px) {
    #exitos{
    }
    #exitos h1{
        font-size: 5vh;
    }
    #exitos h2{
        font-size: 2.5vh;
    }
    #exitos h3{
        font-size: 2vh;
    }
    #exitos span{
        font-size: 2vh;
    }
    #exitos p{
        font-size: 2vh;
    }
    #exitos .exitos-title{
        width: auto;
        height: 6vh;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        padding-right: 10vw;
        padding-top: 1vh;
    }

    #exitos .exitos-titlev{
        width: 5vh;
        top: 7vh;;
        bottom: 0;
        right: 0;
        padding: 5vw 0;
    }
    #exitos .exitos-titlev h1{
    }
    #exitos .exitos-gallery{
        width: 90vw;
        top: 10vh;
        left: 0;
        margin-bottom: 10vh;
    }
    #exitos .exitos-gallery-case{
        width: 90%;
        display: block;
        margin: 1vh 1vw;
        padding: 3vw;
    }
    #exitos .exitos-gallery-case:hover{
    }
    #exitos .exitos-gallery-pic{
        width: 100%;
        height: 30vh;
        position: relative;
        top: auto;
        bottom: auto;
        left: auto;
        margin: auto;
    }
    #exitos .exitos-gallery-info{
        width: 100%;
        height: auto;
        position: relative;
        left: auto;
    }
    #exitos .exitos-gallery-date{
        text-align: left;
    }
}
#contactus{
    
	}
#contactus .contactus-logo{
	width: 40%;
	height: 20%;
	background: url("../images/logo-h.svg") no-repeat left center;
	background-size: contain;
	position: absolute;
	top: 0;
    bottom: 0;
	right: 0%;
	margin: auto;
    z-index: 100;
}

#contactus h2{
    font-family: Bold;
    font-size: 3vw;
    text-align: center;
    margin: 1vw auto;
    color: var(--darkblue);
}
#contactus .contactus-map{
	width: 100%;
	height: 100vh;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0;
	z-index: 0;
}
#contactus .contactus-map iframe{
	width: 100%;
	height: 100vh;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0;
	z-index: 0;
}
#contactus .contactus-form{
	background: url("../images/_common/bg-black-50.png");
	border: 3px solid var(--red);
	width: 30%;
	height: 70vh;
	position: absolute;
	top: 5%;	

	left: 5%;
	margin: auto;
	z-index: 10;
		
}
#contactus .contactus-input{
	width: 100%;
	height: auto;
	margin: 2% auto;
	text-align: left;
    position: relative;
}
#contactus label{
	font-family: Regular;
	font-size: 1.5vw;
	margin: 1% auto;
	color: var(--darkblue);
	text-align: left;
}
#contactus input{	
	width: 95%;
	height: auto;
	border: none;
	font-family: Light;
	font-size: 1vw;
	padding: 10px  2.5%;
}
#contactus textarea{
	width: 95%;
	height: auto;
	border: none;
	font-family: Light;
	font-size: 1vw;
	padding: 10px 2.5%;
}
#contactus #form-contactus{
	width: 90%;
	height: auto;
	margin:5% auto;
}
#contactus #contactus-submit{
    background: #ffffff;
    width: 50%;
    height: auto;
    color: var(--darkblue);
    font-family: Regular;
    font-size: 1.5vw;
    padding: 5px 2.5%;
    margin: 5% auto;
    cursor: pointer;	
}
#contactus #contactus-submit:hover{
    background: var(--gray);
    color: #ffffff;
}
#contactus .contactus-footer{
    background: var(--darkblue);
	width: 100%;
	height: auto;
    padding: 1% 0;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 10;
    text-align: center;
}
#contactus .contactus-footer span{
	font-family: Regular;
	font-size: 1.5vw;	
	margin:auto;
    color: #ffffff;
}
#contactus .contactus-footer-social{
	width: 100%;
	height: 2vw;
	text-align: center;
    margin-top: 1vw;
}
#contactus .contactus-footer-social-item{
	width: 24%;
	height: 2vw;
	display: inline-block;
	position: relative;
    
}

#contactus .contactus-footer-social-item a{	
	font-family: Light;
	font-size: 1.5vw;
	text-align: center;
	margin:  auto;
	text-decoration: none;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
    left: 0;
    color: #ffffff;
}
#contactus .contactus-footer-social-icon{	
	display: inline-block;
	width: 10%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left:5%;
	margin: auto;
}
#contactus .contactus-footer-social-icon-whatsapp{
	background: url("../images/_common/ico-whatsapp-w.svg") no-repeat center;
	background-size: contain;
}
#contactus .contactus-footer-social-icon-facebook{
	background: url("../images/_common/ico-facebook-w.svg") no-repeat center;
	background-size: contain;
}
@media handheld, only screen and (max-width: 1000px) {
    #contactus{
        background: url("../images/bg-wearedoing.jpg") no-repeat;
        background-size: cover;
        height: auto;
        padding-top: 5vh;
	}
    #contactus .contactus-logo{
        display: none;
    }

    #contactus h2{
        font-size: 4vh;
        margin: 1vh auto;
    }
    #contactus .contactus-map{
        width: 100%;
        height: 100vh;
        position: relative;
        top: auto;
        bottom: auto;
        left: auto;
        right: auto;
        margin: auto;
        margin-top: 5vh;
        z-index: auto;
        
    }
    #contactus .contactus-map iframe{
        width: 100%;
        height: 100vh;
        position: relative;
        top: auto;
        bottom: auto;
        left: auto;
        right: auto;
        margin: auto;
        z-index: 0;
    }
    #contactus .contactus-form{
        width: 90%;
        height: auto;
        position: relative;
        top: auto;	
        left: auto;
        margin: auto;        
        z-index: 10;

    }
    #contactus .contactus-input{
    }
    #contactus label{
        font-size: 2.5vh;
        margin: 1% auto;
    }
    #contactus input{	
        font-size: 2.5vh;
        padding: 10px  2.5%;
    }
    #contactus textarea{
        font-size: 2.5vh;
        padding: 10px 2.5%;
    }
    #contactus #form-contactus{
        
    }
    #contactus #contactus-submit{
        	
    }
    #contactus .contactus-footer{
        position: relative;
        bottom: auto;
        left: auto;
        right: auto;
        margin: auto;
        z-index: 10;
        text-align: center;
    }
    #contactus .contactus-footer span{
        font-size: 2.5vh;	
    }
    #contactus .contactus-footer-social{        
        width: 90%;
        height: auto;
        margin: auto;
        margin-top: 5vh;        
    }
    #contactus .contactus-footer-social-item{
        width: 90%;
        height: auto;
        display:block;
        margin: auto;
    }

    #contactus .contactus-footer-social-item a{	
        font-size: 2.5vh;
        position: relative;
        top: auto;
        bottom: auto;
        right: auto;
        left: auto;
        color: #ffffff;
    }
    #contactus .contactus-footer-social-icon{	
        display: block;
        width: 15%;
        height: 15vh;
        position: relative;
        top: auto;
        bottom: auto;
        left:auto;
        margin: auto;
    }
    #contactus .contactus-footer-social-icon-whatsapp{
    }
    #contactus .contactus-footer-social-icon-facebook{
    }  
}
#contactus-validate{
	color: #ffffff;
}
#contactus-response{
	color: #ffffff;
    border: 1px solid #ff0000;
}