/* REST CLASSES */
:where(:not(iframe,canvas,img,svg,video):not(svg *,symbol *)){all:unset;display:revert}*,::after,::before{box-sizing:border-box}a{cursor:revert}menu,ol,ul{list-style:none}img{max-width:100%}table{border-collapse:collapse}textarea{white-space:revert}:where([hidden]){display:none}:where([contenteditable]){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space}:where([draggable=true]){-webkit-user-drag:element}
/* REST CLASSES */

*,
*:after,
*:before {box-sizing:border-box;}

body {
    font-family: 'Roboto';
    font-weight: 300;
    color: var(--color--dark);
}
a { cursor: pointer;}

:root {
    --color--primary: #6c6c6c;
    --color--secundary: #CA9844;
    --color--dark: #070b09;
    --color--white: #ffffff;
}

/* SLICK */
.slick-prev, .slick-next {
    z-index: 9;
    top: 90%;
}
.slick-prev{
    /* left: 85%; */
}
.slick-next {
    /* right: 3%; */
}
.slick-prev:before {
content: '<';
font-size: 30px;
color: white;
border-radius: 0;
background: black;
padding: 50px 56.5px;
position: absolute;
z-index: 99999;
left: -20px;
opacity: 1;
}
.slick-next:before {
content: '>';
font-size: 30px;
color: white;
border-radius: 0;
background: black;
padding: 50px 56.5px;
position: absolute;
z-index: 99999;
left: -20px;
opacity: 1;
}
/* SLICK */

.mb--1 {margin-bottom: 1rem;}
.mb--2 {margin-bottom: 2rem;}
.mb--3 {margin-bottom: 3rem;}
.mb--4 {margin-bottom: 4rem;}
.mb--5 {margin-bottom: 5rem;}
.mb--6 {margin-bottom: 6rem;}

.center {text-align: center;}
.left {text-align: left;}
.right {text-align: right;}

.d--grid {display: grid;}
.d--flex {display: flex; align-items: center;}

.hide {display: none;}
.show {display: block;}

.bold, strong {font-weight: 700;}
.semi--bold {font-weight: 500;}
.light {font-weight: 100;}

.z--1 {z-index: 1;}
.z--2 {z-index: 2;}
.z--3 {z-index: 3;}
.z--top {z-index: 9999;}

h1, .h1 {
    font-size: 4.5rem;
    line-height: 91%;
    letter-spacing: .1rem;
}
h2, .h2 {
    font-size: 3rem;
    line-height: 115%;
    letter-spacing: .1rem;
}
h3, .h3 {
    font-size: 2.25rem;
    line-height: 130%;
    letter-spacing: .1rem;
}
h4, .h4 {
    font-size: 1.5rem;
    line-height: 130%;
    letter-spacing: .1rem;
}
h5, .h5 {
    font-size: .8rem;
    line-height: 130%;
    letter-spacing: .1rem;
}
p {
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: .1rem;
}

.btn {
    position: relative;
    background: var(--color--secundary);
    padding: .8rem 6rem;
    border-radius: 100px;
    letter-spacing: .13rem;
    text-shadow: 0px 2px 6px #916510;
}
.btn--ghost {
    position: relative;
    color: var(--color--secundary);
    padding: .8rem 6rem;
    border: solid 1px var(--color--secundary);
    border-radius: 100px;
    letter-spacing: .13rem;
}
@media screen and (max-width:1400px) {
    .btn,
    .btn--ghost {
        padding: .8rem 2rem;
    }
}

/* NAV */
nav {
    position: fixed;
    width: 100vw;
    top: 0;
}
.nav--bar {
    display: none;
    z-index: 999999;
    background: var(--color--dark);
    position: fixed;
    width: 100vw;
    height: 100vh;
    color: var(--color--white);
}
.nav--bar li {
    font-size: 36px;
    font-weight: 900;
    letter-spacing: 2px;
}
.nav__mobile {
    position: fixed;
    top: 32px;
    width: 100vw;
    background: rgba(0, 0, 0, 0.6);
    z-index: 9999999;
    /* display: none; */
}
.nav__mobile img {
    height: 40px;
    margin: 7px;
}
.close__nav__mobile {
    position: absolute;
    color: white;
    font-weight: 100;
    right: 20px;
    top: 10px;
    /* font-size: 24px; */
}
.contact--bar {
    height: 32px;
    background: var(--color--primary);
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 1rem;
    font-size: 12px;
}
@media screen and (max-width:1400px) {
    .contact--bar {
        display: none;
    }
    .nav__mobile {
        display: block;
        top: 0;
    }
}
.menu--desktop {
    position: absolute;
    right: 2rem;
    top: 20px;
    color: #fff;
    font-weight: normal;
    letter-spacing: 1.2px;
}
.menu--desktop div {
    padding: 0 3rem;
}
@media screen and (max-width:1400px) {
    .menu--desktop {display: none;}
}
.icon__menu {
    width: 35px;
    height: 40px;
    position: absolute;
    right: 3rem;
    top: 10px;
    display: none;
    flex-flow: column;
}
  .icon__menu span{
    background: white;
    width: 100%;
    height: 4px;
    border-radius: 20px;
    margin: 3px 0;
}
.languages{
    margin-right: 2.5rem;
}
.languages p {
    margin: 0 .3rem;
}
.language--icon {
    width: 20px;
    /* display: block;    */
    margin-right: 10px;
}
.social--media__nav a {
    margin-right: 2rem;
}
.social--media__nav img {
    width: 16px;
}
.contact--bar__right a {
    margin-left: .5rem;
}
.contact--bar__right div{
    margin-left: 3rem;
}
.logo--nav {
    justify-content: center;
    margin-top: 0;
}
.logo--nav img {
    width: 228px;
    margin: 1rem 0;
}

@media screen and (max-width:1400px) {
    .logo--nav {
        margin-top: 4rem;
    }
    .icon__menu {
        display: flex;
        right: 1rem;
    }
    .languages {
        position: absolute;
        bottom: 2rem;
        left: 2rem;
    }
    .languages p {
        margin: 0 1.3rem;
    }
}

/* HERO */
.hero--image {
    height: 80vh;
    background: url(../img/hero-image-01.jpg) no-repeat;
    background-size: cover;
    justify-content: right;
}
.hero--image--about {
    height: 80vh;
    background: url(../img/hero-image-02.jpg) no-repeat;
    background-size: cover;
    justify-content: right;
}
.hero--message {
    width: 580px;
    background: rgba(255, 255, 255, .3);
    backdrop-filter: blur(3px);
    padding: 2rem;
    margin-right: 10vw;
    color: var(--color--white);
    font-weight: 100;
}
@media screen and (max-width:1400px) {
    .hero--message {
        width: auto;
        margin-right: 0;
        margin-left: 2rem;
    }
}

/* ARQUITECTURA */
.arquitectura--section {
    flex-flow: column;
}
@media screen and (max-width:1400px) {
    .arquitectura--section div {
        flex-direction: column-reverse;
    }
    .arquitectura--section p {
        margin-bottom: 1rem;
    }
}
.arquitectura--section__info--img {
    padding: 7rem;
    padding-left: 3rem;
    /* max-width: 660px; */
}
.arquitectura--section__info--img h2 {
    color: var(--color--primary);
}
.arquitectura--section__info {
    /* padding: 3rem 15%; */
    max-width: 900px;
    justify-content: space-between;
}
.arquitectura--section__info p {
    margin-right: 1.5rem;
}
@media screen and (max-width:1400px) {
    .arquitectura--section__img {
        width: 100%;
        margin-top: 5rem;
    }
    .arquitectura--section__info--img {
        padding: 0 1rem;
    }
    .arquitectura--section__info {
        padding: 3rem 1rem;
    }
}

/* FEELING CLUB */
.feeling--club {
    position: relative;
    justify-content: right;
    background: url(../img/feeling-club-bg.png) bottom no-repeat;
    background-size: cover;
    color: var(--color--white);
    margin-top: 12rem;
}
.feeling--club__info {
    max-width: 450px;
    margin: 3rem 15vw 3rem 0;
}
.feeling--club__img {
    position: absolute;
    left: 0;
    bottom: 0;
}
@media screen and (max-width:1400px) {
    .feeling--club__info {
        margin: 5rem 1rem;
        height: 120vh;
        align-items: flex-start;
    }
    .feeling--club {
    margin-top: 0;
    }
}


/* SIENTE LA EXPERIENCIA */
.sientela--experiencia {
    justify-content: center;
}
@media screen and (max-width:1400px) {
    .sientela--experiencia {
        flex-direction: column;
    }
}
.sientela--experiencia__card {
    width: 400px;
    padding: 2rem;
}
.sientela--experiencia__card:hover {
    background: linear-gradient(196.43deg, #F5F5F5 10.94%, #F7FFFF 88.62%);
    box-shadow: 0px 0px 30px -15px rgba(0, 0, 0, 0.25);
    border-radius: 12px;
    transition: all .2s;
}
.sientela--experiencia .btn--ghost{
    border-color: var(--color--primary);
    color: var(--color--primary);
}

/* QUOTE MATERILAES */
.banner--materials {
    position: relative;
    background-size: auto;
    justify-content: center;
}
.banner--materials__card {
    background: url(../img/quote-bg.png) no-repeat;
    background-size: cover;
    padding: 6rem;
    color: var(--color--dark);
}
.banner--materials__card--blur {
    position: absolute;
    background: rgba(255, 255, 255, .3);
    width: 50%;
    height: 60%;
    backdrop-filter: blur(3px);
}
.banner--materials h3 {
    max-width: 750px;
    padding: 2rem;
    background: rgba(255, 255, 255, .5);
}
@media screen and (max-width:1400px) {
    .banner--materials__card {
        padding: 0;
    }
}
.banner--repdominicana__card {
    background: url(../img/rep-dom-bg.jpg) no-repeat;
    background-size: cover;
    padding: 6rem;
    color: var(--color--dark);
}

/* MAPA */
.location--map {
    width: 100%;
    height: 70vh;
    background: url(../img/mapa.jpg) #b7b7b7 left no-repeat;
    background-size: contain;
    justify-content: flex-end;
    padding-right: 12vw;
}
.location--map__info {
    max-width: 500px;
    background: var(--color--primary);
    color: var(--color--white);
    align-self: center;
    padding: 2rem;
    background: radial-gradient(145.07% 145.07% at 10.22% 8.63%, #7E7E7E 0%, #545454 51.56%, #393939 89.58%, #282828 100%);
    box-shadow: 0px 0px 64px rgba(2, 31, 33, 0.3);
}
@media screen and (max-width:1400px) {
    .location--map {
        height: auto;
        padding-right: 0;
    }
}


/* FOOTER */
.footer--contact__bar {
    background: var(--color--primary);
    color: var(--color--white);
    justify-content: space-between;
    padding: .5rem 1rem;
}
.footer--contact__left div {
    margin-right: 3rem;
}
@media screen and (max-width:1400px) {
    .footer--contact__left {
        flex-direction: column;
        margin-bottom: 2rem;
    }
    .footer--contact__left div,
    .footer--contact__left p {
        padding-bottom: 1rem;
    }
    .footer--contact__bar {
        flex-direction: column;
        padding-bottom: 2rem;
    }
}
.footer--contact__left div img,
.footer--contact__right div img {
    margin-right: .5rem;
}
.footer--contact__left p,
.footer--contact__right p {
    margin-right: 1rem;
}
.footer--info {
    justify-content: center;
    background: var(--color--dark);
    color: var(--color--white);
    padding: 4rem 1rem;
}
@media screen and (max-width:1400px) {
    .footer--info {
        flex-direction: column;
    }
}
.footer--info__nosotros {
    width: 600px;
}
@media screen and (max-width:1400px) {
    .footer--info__nosotros {
        width: auto;
    }
}
.footer--info__links {
    flex-direction: column;
    margin: 0 1rem;
}
.footer--info__links a {
    letter-spacing: 2px;
    text-decoration: underline;
}
.footer--info__links a:hover {
    color: var(--color--secundary);
    text-decoration: underline;
    transition: all .5s ease;
}
.footer--logo {
    margin: 0 1rem;
}
@media screen and (max-width:1400px) {
    .footer--logo {
        margin-left: 0;
        margin-bottom: 3rem;
    }
    .footer--info__links {
        margin-bottom: 3rem;
    }
}
.footer--rights {
    background: var(--color--secundary);
    color: var(--color--dark);
    justify-content: center;
    padding: .5rem 0;
}
.footer--rights p, 
.footer--rights a {
    font-size: 12px;
    margin-right: 3rem;
    letter-spacing: 1px;
    list-style: 0;
}
@media screen and (max-width:1400px) {
    .footer--rights {
        flex-direction: column;
        text-align: center;
    }
    .footer--rights p, 
    .footer--rights a {
        margin: 1rem;
    }
}

.turquoise--quote__info--img {
    padding: 0;
    /* padding-left: 3rem; */
    max-width: 660px;
}

.slider--img {
    max-width: 1200px;
    margin: auto;
}

.slick-next:before {
    transform: translateX(-54%) translateY(80%)!important;
    padding: 20px 56.5px!important;
}
.slick-prev:before {
    transform: translateY(80%)!important;
    padding: 20px 56.5px!important;
}

@media screen and (max-width:1400px) {
    .slick-prev:before {
        padding: 20px 25vw!important;
        transform: translateY(1rem)!important;
    }
    .slick-next:before {
        padding: 20px 25vw!important;
        transform: translateX(2%) translateY(1rem)!important;
    }
}

/*********************************************
**                                          **
**               OBRA MAESTRA               **
**                                          **
*********************************************/
/* .obra__maestra--galeria {
background: url("../img/obra-maestra-content-bg-d.jpg") no-repeat;
background-position-x: -300px!important;} */
.galeria__obramaestra {
padding: 5rem 12rem 10rem;
/* display: flex; */
/* flex-flow: column; */ }

.frase__obra {
padding-left: 50%; }

.caroseul {
max-width: 1320px;
margin: auto; }

.modelos__aptos {
    max-width: 1440px;
    margin: 0 auto 6rem;
    flex-flow: column;
}
.modelos__aptos img {
    max-width: 900px;
}

.modelos__aptos--carac {
list-style: none;
margin: 0; }

@media screen and (max-width:1400px) {
    .modelos__aptos--list {
        display: flex;
        flex-flow: column;
        margin-bottom: 1rem;
    }
    .contacto__container {grid-template-columns: 1fr;}
    .modelos__aptos {
        padding: 0;
    }
    .modelos__aptos--list, .modelos__aptos--carac {
        overflow: auto;
        white-space: nowrap;
    }
    .modelos__aptos--info {
        flex-flow: column;
    }
    .modelos__aptos--list li {
        margin: 0 1.7rem;
    }
    .modelos__aptos img {
        max-width: 100%;
    }

}

.modelos__aptos--list li {
display: inline-block;
text-align: center;
margin: 0 1.5rem; }

.modelos__aptos--list h2 {
width: 80px;
height: 80px;
padding-top: 13px;
font-weight: 900;
color: white;
border-radius: 100px;
background: black;
margin-bottom: .5rem;
-webkit-transition: all .3s;
transition: all .3s;
cursor: pointer; }

.modelos__aptos--list li:hover h2 {
-webkit-box-shadow: 0 0 20px black;
box-shadow: 0 0 20px black; }

.modelos__aptos--carac li {
padding: .5rem; }

.modelos__aptos--carac li:nth-child(odd) {
background: var(--clr__grey-l); }

.modelos__aptos--info {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
display: none; }

.aptos__active {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-transition: all .3s;
transition: all .3s; }

.modelos__aptos--info--list {
margin: 1rem 2rem; }

.frase__black {
margin: 0 auto 6rem;
display: -webkit-box;
display: -ms-flexbox;
display: flex; }

.icon__menu:before {
    content: 'Menú';
    display: block;
    position: absolute;
    left: -50px;
    top: 5px;
    color: var(--color--white);
}
.hero__image {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 90vh;
}
.render__box {
    height: 90vh;
    width: 100%;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0; }
.render__360 {
    position: absolute;
    height: 100vh;
    width: 100%;
    z-index: var(--z-1); }

.slick-track .slick-slide > img {
    margin: auto;
}
.repdom--section {
    flex-flow: column;
    justify-content: center;
    align-items: center;
}
.repdom--section div p {
    max-width: 990px;
}
.repdom--section__percentage {
    margin-right: 5rem;
    justify-content: center;
    flex-flow: column;
    margin: auto;
}
.repdom--section__percentage span,
.repdom--section__pib span {
    color: var(--color--secundary);
}
.repdom--section__pib {
    flex-flow: column;
}
.repdom--section__pib__cifra {
    margin-right: 5rem;
    justify-content: center;
    margin: auto;
}
.repdom--section__pib__cifra div{
    margin-right: 5rem;
}
@media screen and (max-width:1400px) {
    .repdom--section {
        padding: 0 1rem;
        margin-top: 3rem;
    }
    .repdom--section__pib__cifra {
        flex-flow: column;
    }
    .repdom--section__percentage {
        flex-flow: column;
    }
    .repdom--section__percentage mb--5 {
        flex-flow: column;
    }
    .repdom--section .d--flex{
        display: block!important;
    }
    .repdom--section .mb--4 {
        margin-bottom: 4rem;
    }
}
.about--container__box {
    max-width: 1200px;
    margin: auto;
    padding: 0 3rem;
    align-items: flex-start;
    justify-content: space-around;
}
.about--container__inside {
    padding: 0 1rem;
    max-width: 500px;
}
.about--container__inside img {
    text-align: center;
}
.about--label {
    /* background: var(--color--secundary); */
    padding: .2rem 4rem;
    font-size: 18px;
    font-weight: bold;
    border-bottom: solid 1px var(--color--secundary);
    color: var(--color--secundary);
}
@media screen and (max-width:1400px) {
    .about--container__box {
        flex-flow: column;
        padding: 0 1rem;
    }
    h1 {
        margin-bottom: 4rem;
    }
}
.btn--about {
    color: var(--color--secundary);
    border: solid 1px var(--color--secundary);
    border-radius: 100px;
    padding: .3rem 3rem;
    display: block;
    max-width: 250px;
    margin: 0 auto 2rem;
    cursor: pointer;
    font-weight: normal;
    letter-spacing: 1px;
}
