/* modal600*/
    #modal600 {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background: linear-gradient(to bottom right, #0097d4, #00BFFF);
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 9999;
    transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
    }
    #modal600 .modal-content {
      background-color: white;
      padding: 30px;
      border-radius: 10px;
      box-shadow: 0 0 10px rgba(0,0,0,0.3);
      text-align: center;
      width: 320px;
      height: auto;
    }
    #modal600 h4 {
        padding: 5px;
        margin: 0;
    }
    #modal600 p {
        margin: 5px 0;
    }
    #modal600 input[type="password"] {
      padding: 10px;
      width: 80%;
      margin-bottom: 15px;
      border: 1px solid #ccc;
      border-radius: 5px;
      width: 100%;
    }
    #modal600 button {
      padding: 10px 20px;
      background-color: #007BFF;
      color: white;
      border: none;
      border-radius: 5px;
      cursor: pointer;
      width: 100%;
    }
    #modal600 #error-message {
      margin-top: 15px;
      color: red;
      display: none;
    }    
/*general*/
html {
    scroll-behavior: smooth;
}
body, html {
	margin: 0;
	padding: 0;
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
	overflow-x: hidden;
    font-style: normal;
    background: #ffffff;
}
a {
 color: #0097d4;
}
a:hover {
    text-decoration: none;
}
.secondarytext {
    background: #c0c0c0;
 }
 .sep {
    padding: 5rem 0;
 }
 ul {
    margin-bottom: 0;
 }
 .mdpad{
    padding: 0;
 }
/*fin de general*/
/*header*/
header {
    position: fixed;
    top: 0;
    width: 100%;
    height: 75px;
    z-index: 3;
    background-color: #fff;
}
.logo {
    width: 100%;
}
.menumobile {
    text-align: right;
}
.menudesk {
    text-align: right;
}
.menudesk .list-inline-item:not(:last-child) {
    margin-right: 0;
}
.menudesk ul {
    margin-bottom: 0;
}
.menudesk ul li a {
    padding: 7px;
    display: block;
    margin-top: 5px;
    font-size: 14px;
    color: #666666;
    transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;

}
.menudesk ul li a:hover {
    text-decoration: none;
    color: #0097d4;
    
}
.menudesk ul li a.contact {
    background-color: #fff;
    color: #0097d4;
    padding: 7px 26px;
    margin-left: 0.5rem;
    border: 1px solid #0097d4;;

}
.menudesk ul li a.contact:hover{
    background-color: #0097d4;
    color: #fff;
}

.hamburguer {
    align-items: center;
    width: 26px;
    height: 30px;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    text-align: right;
    cursor: pointer;
}
.hamburguer span {
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	width: 100%;
	height: 2px;
	margin: 7px 0;
	background: #262626;
	display: block;
}
.hamburguer span:first-child {
	margin-top: 5px;
}

.hamburguer:hover span:nth-child(2) {
	width: 50%;
}
.hamburguer.toggled span:first-child {
	transform: rotate(45deg);
    top: 8px;
    position: relative;

}
.hamburguer.toggled span:last-child {
	transform: rotate(-45deg);
    top: -10px;
    position: relative;

}
.hamburguer.toggled span:nth-child(2) {
	width: 0;
}
.mobileboxmenu {
    position: fixed;
    width: 100%;
    right: -100%;
    transition: all 0.6s ease-in-out;
    -webkit-transition: all 0.6s ease-in-out;
    -moz-transition: all 0.6s ease-in-out;
    -o-transition: all 0.6s ease-in-out;
    height: 100%;
    padding-top: 75px;
    background-color: #fff;
    min-height: 500px;
    overflow-y: scroll;
    z-index: 2;
    align-items: center;
    display: flex;
    justify-content: center;
    padding-bottom: 45px;
}
.mobileboxmenu ul {
    align-items: center;
    justify-content: center;
    padding: 0 0 40px;
}
.mobileboxmenu ul li {
    list-style: none;
    text-align: center;
    
}
.mobileboxmenu ul li a {
    display: block;
    width: 100%;
    text-transform: uppercase;
    padding: 10px;
    color: #666666;
}
.mobileboxmenu.opened {
    right: 0;

}
.direccion {
    padding: 10px;
    text-align: center;
}
.bottomdown {
    position: absolute;
    bottom: 0;
    width: 100%;
    overflow: hidden;
}
.bottomdown a {
    color: #fff;
}
.bottomdown a.callme {
    background-color: #0097d4;
    width: 100%;
    padding: 10px 0;
    color: #fff;
    display: block;
    text-align: center;
    font-size: 1rem;

}
.bottomdown a i {
    margin-right: 10px;
}
/*fin de header*/
/*tipografia*/
h1 {
    font-weight: 300;
    font-size: 2rem;
    text-transform: capitalize;
    margin-bottom: 40px;
}
h2 {
    text-transform: capitalize;
    font-size: 2em;
    padding-bottom: 20px;
    font-weight: 300;
}
h3 {
    margin: 20px 0;
    font-weight: 300;
    font-size: 2em;
}
h4 {
    font-weight: 300;
    font-size: 2em;
    text-transform: capitalize;
    margin-bottom: 40px;
}
h5 {
    font-weight: 300;
}
/*fin de tipografia*/
/*home*/
.featuresicon i {
    font-size: 4em;
}
.imagehome, .imagesoma, .imageroyal {
    align-items:center;
    justify-content: center;    
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding-top: 75px;
    min-height: 600px;
    color: #fff;
    overflow: hidden;
}
.imagesoma {
    background: url(../images/soma-prin.jpg) no-repeat center center;
    background-size: cover;
}
.imageroyal {
    background: url(../images/royal2-prim.jpg) no-repeat center center;
    background-size: cover;
}
.imagehome a {
    padding: 10px 60px;
    border: 1px solid #fff;
    transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
    font-size: 1.2em;
    box-sizing: border-box;
    text-transform: uppercase;
    color: #fff;
    margin-top: 20px;
    display: block;
    text-align: center;
    margin: 0px 20px;
}
.imagehome a:hover {
    background-color: #fff;
    color: #222;

}
.imagehome h1, .imagesoma h1, .imagesoma h2  {
    text-align: center;
    padding: 0 20px;
}
.imagesoma h1 {
    font-size: 3rem;
}
.imagehome video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    object-fit: cover;
    height: 600px;
    z-index: 0;
    overflow: hidden;
}
.precio {
    font-size: 4em;
}
.imagesoma .promo {
    position: absolute;
    top: 0;
    left: 0;
    height: 600px;
    z-index: 0;
    overflow: hidden;
}
.features {
    background-color: #222;
    color: #fff;
}
.readmore a, .readmore a:active .readmore a:after, .readmore a:visited {
    border: 0;
    transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
    color: #999;
    font-size: 8rem;
    background: none;
    line-height: 4rem;
    font-weight: 100;
    cursor: pointer;
    overflow: hidden;
    margin: 20px 0 60px;

}

.readmore a:hover {
    color: #999;
}
.features .readmore a {
    font-size: 5rem;
    padding: 0px 0 70px;
    height: 50px;
    display: block;
    margin: 0 0 20px;
}
.clientes h3, .calltocontact h3 {
    margin-bottom: 40px;
}
.calltocontact {
    background-color: #f8f8f8;
}
.toprojects {
    margin: 80px 0;
}
.toprojects a, .butproy a {
    border: 1px solid #0097d4;
    color: #0097d4;
    background-color: #f8f8f8;
    transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
    padding: 20px 40px;
    text-transform: uppercase;
    margin-top: 40px;
}
.toprojects a:hover, .butproy a:hover {
    color: #fff;
    background-color: #0097d4;
}
.butproy a {
    background-color: #fff;
}
.calltocontact .sep {
 padding-top: 0;
}
.boxproject {
    padding: 50px;
    border: 1px solid #f0f0f0;
    background: #fff;
    text-align: center;
}
.actualproy {
    background: #f8f8f8;

}
.contactbox {
    background: #222222;
    padding: 50px;
    color: #fff;
}
.contactbox label {
    color: #fff;
    margin-top: 20px;
}
.contactbox input, .contactbox textarea  {
    padding: 10px;
    border: 2px solid #ccc;
    color: #222;
    margin: 20px 0;
    font-weight: 300;
}
.contactbox label, .contactbox input, .contactbox textarea {
    width: 100%;
    display: block;

}
.contactbox input, .contactbox textarea {
    background-color: #ccc;
}
.contactbox input[type='checkbox'] {
    width: 30px;
    background-color: #ccc;
    height: 30px;
    margin: 0 10px 0 0;
    border-radius: 0;
}
.errormessageform {
    transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
}
.errormessageform i {
    margin-right: 10px;
}
.contactbox label a {
    color: #999;
    
}
.form-check {
    padding: 0 0 20px 20px;
}
.form-check label {
    margin: 0px 0 0 24px;
    height: 30px;
    padding-top: 7px;
}
.form-check a {
    color: #fff;
    text-decoration: underline;
}
.contactbox input[type='button'] {
    width: auto;
    margin: 20px 0;
    background-color: #222;
    border: 1px solid #fff;
    color: #fff;
    cursor: pointer;
    padding: 10px 40px;
    font-size: 1rem;
    text-transform: uppercase;
    transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
    font-weight: 300;

}
.contactbox input[type='button']:hover {
    color: #fff;
    background-color: #0097d4;
}
.factswrap p.fact {

    color: #0097d4;
    font-weight: bold;
    font-size: 4rem;
    margin-bottom: 0;
    letter-spacing: -3px;

}
.factswrap p {
    font-size: 14px;
    text-transform: capitalize;
    font-weight: 600;
}
.lineright {
    border-right: 1px solid #ccc;
}
.anteriores {
    background: url(../images/bghechos.jpg) repeat-y center center;
    background-size: cover;
}
.bgblue {
    background-color: #0097d4;
    color: #fff;

}
.bggrey {
    background-color: #262626;
    color: #fff;

}
.bgblue, .bggrey {
    min-height: 280px;
    margin-bottom: 30px;
}
.bgblue h4, .bggrey h4 {
    font-weight: bold;
    margin-bottom: 20px;
    line-height: 30px;
    letter-spacing: 1px;
}
.bgblue p, .bggrey p {
    margin: 3px 0;
    line-height: 1.2rem;
}
.bgblue h6, .bggrey h6 {
    margin-top: 10px;
    font-size: 1.5rem;
}
.boxproject .soldout {
    position: absolute;
    top: 40px;
    right: -25px;
    transform: rotate(45deg);
    color: #fff;
    text-align: center;
    z-index: 2;
    font-weight: 300;
    text-transform: uppercase;
    width: 200px;
    height: 0px;
    border-right: 37px solid transparent;
    border-left: 38px solid transparent;
    border-bottom: 38px solid #262626;

}
.boxproject .soldout span {
    position: relative;
    top: 6px;
}

/*fin de home*/
/* privacy*/
.privacy {
    align-items:center;
    justify-content: center;
    background-image: url(../images/home-image.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding: 175px 0 100px;
    color: #fff;
    
}
.privacy h1 {
    text-align: center;
    padding: 0;
    margin: 0;
}
.privacytext h3, .privacytext table {
    padding: 30px 0;
}
.privacytext ul {
    padding: 20px;
}
.privacytext table {
    width: 100%;
    margin: 30px 0;
}
.privacytext table th {
    font-weight: 300;
}
.privacytext table td {
    padding: 15px 10px 15px 0;
    border-bottom: 1px solid #ccc;
}
/* fin de privacy*/
/*footer*/
footer {
    background: #222;
    color: #fff;
}
.footerend {
    border-top: 1px solid #444;
    padding: 40px 0;
    font-size: .8em;
}
.footerend a {
    color: #fff;
    text-transform: capitalize;
}
footer ul.contactfoot {
    padding-left: 0;
}
footer ul.contactfoot li {
    list-style: none;
    margin-bottom: 20px;
}
footer ul.contactfoot li i {
    margin-right: 20px;
    font-size: 1em;
}
footer ul.contactfoot li a {
    color: #fff;
}
footer .dflex {
    align-items: center;
}
ul.social {
    text-align: left;
    margin-top: 20px;
}

ul.social li a {
    font-size: 2em;
    padding: 0 20px 0 0;
     transition: all 0.6s ease-in-out;
    -webkit-transition: all 0.6s ease-in-out;
    -moz-transition: all 0.6s ease-in-out;
    -o-transition: all 0.6s ease-in-out;
    color: #fff;
}
ul.social li a:hover {
    color: #ccc;
}

/*fin de footer*/

.roboto-light {
    font-family: "Roboto", serif;
    font-weight: 300;
    font-style: normal;
  }
  
  .roboto-medium {
    font-family: "Roboto", serif;
    font-weight: 500;
    font-style: normal;
  }
/*soma*/

ul.details {
    padding: 0;
}
ul.details li {
    list-style-type: none;
}
ul.details li i {
    margin-right: 10px;
 }
.iconfeatures {
    width: 64px;
    text-align: center;
    margin-right: 20px;
}
ul.details li.big {
    margin: 10px 0;
    font-weight: bold;
}
.iconfeatures:not(:last-child) {
    margin-right: 50px;
}
.icon img {
    width: 64px;
}
.icondesc {
    font-size: .8em;
    text-align: center;
    text-transform: capitalize;
}
.owl-dots {
    text-align: center;
}
.owl-dots button {
    width: 16px;
    height: 16px;
    display: block;
    background-color: #fff; 
}
/*fin de soma*/

/* pop modal */
.modalcall {
    position: fixed;
    bottom: 30px;
    right: -110px;
    width: 180px;
    display: flex;
    background-color: #0097d4;
    color: #fff;
    font-size: 1rem;
    text-transform: uppercase;
    padding: 0;
    border-radius: 50px 0 0 50px;
    cursor: pointer;
    transition: all 0.8s ease-in-out;
	-webkit-transition: all 0.8s ease-in-out;
	-moz-transition: all 0.8s ease-in-out;
	-o-transition: all 0.8s ease-in-out;
    z-index: 3;
}
.modalcall:hover, a.modalgrey:hover {
    right: 0;
}
.modalcall i, a.modalgrey i {
    width: 30px;
    font-size: 2rem;
    margin-right: 20px;
    
}
a.modalgrey {
    position: fixed;
    bottom: 90px;
    right: -110px;
    width: 180px;
    display: flex;
    background-color: #555;
    color: #fff;
    font-size: 1rem;
    text-transform: uppercase;
    padding: 0;
    border-radius: 50px 0 0 50px;
    cursor: pointer;
    transition: all 0.8s ease-in-out;
    -webkit-transition: all 0.8s ease-in-out;
    -moz-transition: all 0.8s ease-in-out;
    -o-transition: all 0.8s ease-in-out;
    z-index: 3;
}
.contentpop {
    padding: 1rem;
    max-width: 600px;
    margin: 0 auto;
}
.popllamanos {
    position: fixed;    
    width: 100%;
    height: 100%;
    z-index: 15;
    display: block;
    background-color: rgb(0, 0, 0, 0.8);
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    top: -100%;
    opacity: 0;
    transition: all 0.5s ease-in-out;
	-webkit-transition: all 0.5s ease-in-out;
	-moz-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
}
.popllamanos h5 {
    font-size: 1.3rem;
}
.popllamanos.toggled {
    opacity: 1;
    top: 0;
}
ul.list-group-flush {
    padding-left: 0;
}

.closemodal {
    position: absolute;
    right: 20px;
    font-size: 20px;
    font-size: 41px;
    transform: rotate(45deg);
    font-weight: 100;
    top: 14px;
    background-color: #fff;
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: normal;
    cursor: pointer;
    border-radius: 31px;
    z-index: 2;
}
.bgpopup {
    background: #fff;
    position: relative;
}
.imgcall {
    position: relative;
    top: -1px;
}
.contact2 input[type='text'] {
    padding: 10px;
    color: #999;
    width: 100%;
    margin: 10px 0; 
    font-weight: 300;
    font-size: .8rem;

}
.contact2 input[type='checkbox'] {
    margin-right: 10px;
    font-size: .8rem;
    width: 30px;
    height: 30px;
    border-radius: 0;
}
.contact2 label {
    font-size: .8rem;
    margin-top: 10px;
}
.contact2 input[type='button'] {
    margin-top: 10px;
    margin-bottom: 20px;
    clear: both;
    width: 100%;
    border-radius: 0;
    text-transform: uppercase;
    font-weight: 300;
    background-color: #fff;
    border: 1px solid #0097d4;
    color: #0097d4;
    transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
}
.contact2 input[type='button']:hover {
    background-color: #0097d4;
    color: #fff;
}
/* fin de pop modal*/
/* royal 2*/
.buttonstocollapse button {
padding: 10px 20px;
transition: all 0.2s ease-in-out;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
background-color: #fff;
border-radius: 0;
text-transform: uppercase;
font-weight: 300;
background-color: #fff;
border: 1px solid #0097d4;
color: #0097d4;
}
.buttonstocollapse button:hover {
    background-color: #0097d4;
    color: #fff;
}
#accordion .card-body {
    padding: 0;
}
.accordionviv .card-header {
    padding: 0;
    background-color: #222;
    color: #fff;
    cursor: pointer;
}
.vivheader {
padding: .75rem 1.25rem;

}
.viviendanum {
    font-size: 2rem;
}
.vivheader .precio {
    font-size: 2rem;
}
.bginpromo {
    background-color: #0097d4;
    color: #fff;
}
#accordion .toprojects {
    margin: 80px auto 0;
}
.situacion span {
    margin-left: 20px;
    padding: 10px;
    background-color: #666;
    color: #fff;
}


/* fin de royal 2*/
/* portfolio */

.realizados{
    align-items:center;
    justify-content: center;
    background-image: url(../images/portfolio-image.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding: 175px 0 100px;
    color: #fff;
}
.realizados h1 {
    font-weight: bold;
    font-size: 2.2em;
    text-align: left;
}
.promo {
    overflow: hidden;
}
.promo img {
    opacity: .5;
}
.promotile {
}
.promocam {
    position: relative;
    top: 0;
}
.boxprojectport {
    padding: 20px;
    
    overflow: hidden;
    text-align: center;
}
.port  {
    border: 1px solid #f0f0f0;
    background: #fff;
    padding: 0;
    margin-bottom: 20px;
}
.datospoints {
    color: #fff;
    text-align: center;
}
.dato1, .dato2, .dato3 {
    min-height: 80px;
    display: grid;
    align-items: center;
    justify-content: center;
}
.dato1 {
    background-color: #0097d4;
}
.dato2 {
    background-color: #262626;
}
.dato3 {
    background-color: #0097d4;
}
.datospoints p {
    margin: 0;
    line-height: normal;
    padding: 0;
}