* {
    margin: 0;
    padding: 0;
}

/*Cargar fuentes*/

@font-face {
    font-family: "Helvetica LT CondensedLight";
    font-display: auto;
    font-weight: 300;
    src: url(assets/fonts/33b729948b33f107.woff2) format('woff2'), url(assets/fonts/148bf4ac94df9c2c.woff) format('woff'), url(assets/fonts/c09ad251f9c59feb.ttf) format('TrueType'), url(assets/fonts/5c66ad9c9b400e90.eot) format('eot');
}

@font-face {
    font-family: "Helvetica LT Std Black Condensed";
    font-display: auto;
    font-weight: 900;
    src: url(assets/fonts/1ca652355e5634d5.woff2) format('woff2'), url(assets/fonts/82054e5c06ad9f04.woff) format('woff'), url(assets/fonts/8bf37939eedba61d.ttf) format('TrueType'), url(assets/fonts/7c14f3aa42738345.eot) format('eot');
}

@font-face {
    font-family: "Helvetica Neue LT Std";
    font-display: auto;
    font-weight: 100;
    src: url(assets/fonts/73d737e4b0e12c06.woff2) format('woff2'), url(assets/fonts/55399e9a5ee0fbce.woff) format('woff'), url(assets/fonts/050931dbc7131f79.ttf) format('TrueType'), url(assets/fonts/b555405e75c082df.eot) format('eot');
}

/*Variables*/
:root {
    --color1: #081C15;
    --color2: #B1FF9D
        /*#EDE0CE*/
    ;
    --color3: #EF5F17;
    --color4: #458376;
    --color5: #313c90;
    --colorBlanco: #ffffff;
    --colorNegro: #000000;
    --gris: #ededed;
    --grisOscuro: #70676F;
    --fuente1: "Helvetica LT CondensedLight", sans-serif;

}

/*Generales*/
html,
body {
    /* overflow: hidden; */
    font-family: var(--fuente1)
}

body {
    background-color: var(--color1);
    letter-spacing: 0.1em;
}

.webgl {
    position: fixed;
    top: 0;
    left: 0;
    outline: none;
}

img {
    max-width: 100%;
}

.btn {
    display: inline-block;
    border: 1px solid var(--color1);
    padding: 4px 12px;
    text-decoration: none;
    color: var(--color1)
}

.btn.activo {
    background-color: var(--color1);
    color: var(--colorBlanco);
}

/*Colores*/
:root {
    --color2e: #FFFF33;
    --color2f: #AEFB41;
    --color2g: #B1FF9D;
    --color2h: #1DD2AF;
    --color2i: #D7F2DB;
    --color2j: #94D4B1;
    --color2k: #52B687;
    --color2l: #2D6A4F;
    --color2m: #081C15;
    --color2n: #004B23;
    --color2o: #007200;
    --color2p: #38AF00;
    --color2q: #22B473;
}

[data-sector='2e'] span {
    background: var(--color2e)
}

[data-sector='2f'] span {
    background: var(--color2f)
}

[data-sector='2g'] span {
    background: var(--color2g)
}

[data-sector='2h'] span {
    background: var(--color2h)
}

[data-sector='2i'] span {
    background: var(--color2i)
}

[data-sector='2j'] span {
    background: var(--color2j)
}

[data-sector='2k'] span {
    background: var(--color2k)
}

[data-sector='2l'] span {
    background: var(--color2l)
}

[data-sector='2m'] span {
    background: var(--color2m)
}

[data-sector='2n'] span {
    background: var(--color2n)
}

[data-sector='2o'] span {
    background: var(--color2o)
}

[data-sector='2p'] span {
    background: var(--color2p)
}

[data-sector='2q'] span {
    background: var(--color2q)
}

/*Modal Reserva*/
#modal-reserva {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 99;
    background-color: var(--color1);
    display: none;
}

#modal-reserva.activo {
    display: block;
}

.modal-reserva-contenedor {
    margin: 0 auto;
    height: 100vh;
    
}
.modal-reserva-contenedor .scroll_container {
    display: flex;
    max-width: 1600px;
    align-items: center;
    padding: 0 30px;
    box-sizing: border-box;
}
.modal-reserva-contenedor .scroll_container >div {
    width: 50%;
    
}

.modal-reserva-contenedor h1 {
    font-weight: 300;
    color: var(--color2);
    font-size: 4rem;
    line-height: 1.2;
}

.modal-reserva-contenedor h1 small {
    color: white;
    font-size: .5em;
    line-height: 1.2;
    display: block;
    margin: 0;
}

.modal-reserva-contenedor h1 small+br {
    display: none
}

.modal-reserva-contenedor img {
    width: auto;
    height: 100vh;
    display: block;
    margin: 0 auto;
}

/*Recorrido*/
#modal-tour {
    position: fixed;
    left: 100%;
    width: 100%;
    transition: left .5s ease;
    height: 100%;
    overflow: auto;
    background: var(--color1);
    color: var(--color2);
    z-index: 101;
}

#modal-tour.activo {
    left: 0;
}

.appicua-tour-wrapper,
.appicua-tour {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.btn-cerrar {
    position: absolute;
    top: 52px;
    right: 30px;
    z-index: 8;
    width: 50px;
    height: 50px;
    border: 2px solid var(--color2);
    background: transparent;
    display: block;
    padding: 0;
    color: transparent !important;
    cursor: pointer;
    transition: all 500ms ease;
}

.btn-cerrar:before,
.btn-cerrar:after {
    content: '';
    background: var(--color2);
    width: 20px;
    height: 2px;
    position: absolute;
    left: 50%;
    top: 50%;
}

.btn-cerrar:before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.btn-cerrar:after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.btn-cerrar:hover {
    background: var(--color2);
}

.btn-cerrar:hover:before,
.btn-cerrar:hover:after {
    background: var(--color1);
}

#btn-tour-360 {
    display: none;
    border: 1px solid var(--color2);
    color: var(--color2);
    text-decoration: none;
    padding: 8px 12px;
    border-radius: 100px;
    text-align: center;
    max-width: 120px;
    margin: 24px 0 0;
}

#btn-tour-360.visible {
    display: block
}

/*Fin de recorrido*/
/*Hotspots*/
.hotspots-wrapper {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    pointer-events: none;
    max-width: 100vw;
    overflow: hidden;
}

.hotspot {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    box-sizing: border-box;
    line-height: 1.2;
    width: 110px;
    height: 65px;
    margin: -75px 0 0 -65px;
    background: var(--color1);
    color: var(--color2);
    padding: 5px;
    display: flex;
    justify-content: center;
    flex-direction: column
}

.hotspot span {
    display: block;
    text-align: center
}

.hotspot span:first-child {
    font-size: 1.2rem;
    font-weight: bold;
}

.hotspot span:last-child {
    font-size: 0.875rem;
}

.hotspot::before {
    content: '';
    height: 20px;
    border-left: 1px solid var(--color1);
    position: absolute;
    top: 100%;
    left: 50%;
}

.hotspot::after {
    content: '';
    height: 6px;
    width: 6px;
    border: 2px solid var(--color1);
    box-sizing: border-box;
    background: var(--color2);
    position: absolute;
    top: calc(100% + 19px);
    left: 50%;
    margin-left: -3px;
}

.hotspots-wrapper.alejado .hotspot {
    width: 32px;
    height: 32px;
    margin: -16px 0 0 -16px;
}

.hotspots-wrapper.alejado .hotspot::before,
.hotspots-wrapper.alejado .hotspot::after,
.hotspots-wrapper.alejado .hotspot span:last-child {
    display: none;
}

.hotspot.vendido span {
    opacity: .3
}

.hotspot.vendido span:last-child:after {
    content: "VENDIDO";
    display: block;
}

/*Hotspot sectores*/
.hotspot-sector {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 3;
    box-sizing: border-box;
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.2;
    width: 46px;
    height: 50px;
    margin: -50px 0 0 -23px;
    background: var(--color1);
    color: var(--color2);
    padding: 5px;
    text-align: center;
}

.hotspot-sector::after {
    content: '';
    height: 8px;
    width: 8px;
    background: var(--color1);
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
}

.hotspot-sector.inactivo {
    opacity: .3;
}

.hotspot-sector.aislado {}

#modal-aptos {
    position: fixed;
    left: 100%;
    width: 100%;
    transition: left .5s ease;
    height: 100%;
    overflow: auto;
    background: var(--color1);
    color: var(--color2);
    z-index: 99;
}

#modal-aptos.activo {
    left: 0;
}

.modal-apto-contenedor {
    position: relative;
}

.fila-principal {
    display: flex;
    min-height: 100vh;
}

.col-info {
    width: 25%;
    min-width: 400px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.col-planos {
    flex-grow: 2;
    background: var(--color2);
    max-height: 100vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/*Maqueta menu*/
#maqueta-menu {
    position: fixed;
    width: 400px;
    right: 0;
    top: 0;
    height: 100%;
    /*background: var(--color1);*/
    background: rgba(34, 36, 49, 0.75);
    color: var(--color2);
    transition: transform .5s ease;
    z-index: 99;
}

#maqueta-menu.oculta {
    transform: translateX(100%)
}

.btn-volver,
#maqueta-menu .btn-cerrar {
    position: absolute;
    width: 50px;
    height: 50px;
    top: 15px;
    padding: 4px;
    border-radius: 100%;
}

.btn-volver {
    right: 15px;
    background: var(--color3);
}

#maqueta-menu .btn-cerrar {
    right: calc(100% + 15px);
    background: var(--color1);
}

#maqueta-menu .btn-cerrar img {
    transform: rotate(-180deg);
    transition: transform .3s linear .5s;
}

#maqueta-menu.oculta .btn-cerrar img {
    transform: rotate(0);
}

#maqueta-menu ul {
    display: flex;
    height: 100%;
    flex-direction: column;
    list-style-type: none;
}

#maqueta-menu ul>li {
    flex-grow: 2;
    display: flex;
    padding: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, .3);
    position: relative;
    min-width: 100%;
    box-sizing: border-box;
}

#maqueta-menu .tipo-enlace {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

/*#maqueta-menu .tipo-enlace.activo+div {
    color: var(--color1);
    background: rgba(255, 255, 255, .5)
}*/
#maqueta-menu .tipo-enlace+div {
    padding: 8px;
}

.menu-item-info {
    display: flex;
    width: 100%;
    align-items: center
}

.menu-item-col-img {
    background: var(--color2);
    padding: 5px;
    height: initial;
    margin-right: 15px;
    width: 90px;
    transition: box-shadow .5s ease;
}

.menu-item-col-img img {
    max-width: 100%;
}

/*==================
SOLE
==================*/
html {
    line-height: 1.5;
    font-size: 1rem;
}

.col-info {
    position: relative;
    padding: 60px;
}

.col-info:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: .3;
    /*background-image: url(https://chromastudio.co/sole/wp-content/uploads/2022/03/fondo-sole-flores.png);*/
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
    z-index: -1;
    pointer-events: none;
}

.apto_tit {
    font-size: 2rem;
}

.sufijo_tit {
    margin-bottom: 2rem;
}

.cont-areas {
    margin-bottom: 2rem;
}

.col-planos {
    padding: 90px
}

/*Enacabezado*/
#sole-encabezado {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 99;
    height: 65px;
    display: flex;
    flex-direction: row;
    align-items: center;
    background-color: rgba(255, 255, 255, .75);
    letter-spacing: 0.5px;
}

#sole-encabezado img {
    width: auto;
    height: 40px;
}

#sole-encabezado>div {
    padding: 10px;
    display: flex;
    justify-content: center;
}

#sole-encabezado>div:nth-child(1) {
    width: 15%;
    justify-content: flex-start;
    padding-left: 32px;
}

#sole-encabezado>div:nth-child(2) {
    width: 70%;
}

#sole-encabezado>div:nth-child(3) {
    width: 14.332%;
    justify-content: flex-end;
    padding-right: 32px;
}

#sole-encabezado>div:nth-child(3) a {
    pointer-events: none;
}

#sole-encabezado #menu-menu-principal {
    display: flex;
    width: 100%;
    justify-content: center;
    list-style-type: none;
}

#menu-menu-principal li a {
    color: var(--color1);
    padding: 0px 15px 0px 15px;
    text-decoration: none;
}

#menu-menu-principal li.current-menu-item a {
    font-weight: 900
}

/*#sole-encabezado>div:nth-child(3) a {
    font-size: 15px;
    font-weight: 400;
    line-height: 2.5;
    color: var(--color1);
    padding: 0px 15px 0px 15px;
    display: block;
    border: 1px solid var(--color1);
    border-radius: 100%;
    width: 38px;
    height: 38px;
    box-sizing: border-box;
    transform: rotate(90deg);
    text-align: center;
    text-decoration: none;
}*/
/*Modal Hotspots*/
#modal-hotspots {
    position: fixed;
    left: 100%;
    width: 100%;
    transition: left .5s ease;
    height: 100%;
    overflow: auto;
    /*background: var(--color1) url(https://chromastudio.co/sole/wp-content/uploads/2022/03/textura_sole.png) repeat center;*/
    color: var(--color2);
    z-index: 99;
}

#modal-hotspots.activo {
    left: 0;
}

.modal-hotspots-contenedor {
    position: relative;
}

.hotspot-img {
    position: absolute;
    height: 100%;
    width: 100%;
}

.hotspot-img img {
    max-width: 100%;
    max-height: 100%;
    height: 100%;
    width: 100%;
    top: 50%;
    left: 50%;
    object-fit: contain;
    transform: translate(-50%, -50%);
    position: absolute;
}

.hotspot-label,
.hotspot .texto {
    background: #222431;
    padding: 8px 16px;
    color: #EDE0CE;
    font-weight: 400;
    letter-spacing: 0.05em;
    font-size: 14px;
    line-height: 1;
    border-radius: 40px;
}

.hotspot-label::after,
.hotspot .texto::after {
    content: "";
    top: -5px;
    bottom: -5px;
    left: -5px;
    right: -5px;
    position: absolute;
    border: 1px solid #222431;
    border-radius: 30px;
}

.hotspot-label {
    position: absolute;
    bottom: 15px;
    left: 50px;
}

#modal-hotspots .btn-volver {
    z-index: 99;
}

ul li:nth-child(1) .tipo-enlace.activo+div {
    box-shadow: 0 0 0 4px var(--color4) inset;
}

ul li:nth-child(2) .tipo-enlace.activo+div {
    box-shadow: 0 0 0 4px var(--color3) inset;
}

ul li:nth-child(3) .tipo-enlace.activo+div {
    box-shadow: 0 0 0 4px var(--color5) inset;
}

/*Menu secundario*/
#menu-secundario {
    position: fixed;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(34, 36, 49, 0.75);
    line-height: 1;
}

#menu-secundario ul {
    display: flex;
    align-items: center
}

#menu-secundario li {
    display: block;
    width: 60px;
    height: 60px;
    position: relative;
    border-right: 1px solid rgba(255, 255, 255, .3);
}

#menu-secundario li:last-child {
    border: none
}

#menu-secundario li a {
    position: absolute;
    height: 100%;
    width: 100%;
    display: block;
    text-align: center;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: var(--color2);
    transition: background-color .5s ease;
}

#menu-secundario img {
    width: 50%;
    margin-bottom: 4px;
    display: inline-block;
}

#menu-secundario span {
    display: block;
    text-align: center;
    font-size: 10px;
    transition: all .5s ease;
}

#menu-secundario a.activo {
    background: var(--color1)
}

#pantalla-carga {
    position: fixed;
    background: var(--color1) url(15658ba88c8d07da.webp) no-repeat center;
    background-size: cover;
    width: 100%;
    height: 100%;
    z-index: 100000;
    opacity: 1;
    transition: opacity 1s ease;
}

#pantalla-carga .mensaje-carga {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    color: white;
    font-size: 2rem;
}

#pantalla-carga .mensaje-carga strong {
    font-weight: 800;
    color: #38ad00;
}

#pantalla-carga img {
    transform: translate(-50%, -50%);
    position: absolute;
    left: 50%;
    top: 50%;
}

#pantalla-carga.cargado {
    opacity: 0;
}

.loading-barra {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    transition: transform 0.5;
    background: var(--color2);
    transform-origin: top left;
}

#brujula {
    position: fixed;
    bottom: 98px;
    right: 6px;
    transform-origin: center;
    z-index: 80;
    padding: 4px;
    /*background: rgba(255, 255, 255, .5);*/
    width: 68px;
    height: 68px;
    border-radius: 100%;
    box-sizing: border-box
}

#brujula img {
    margin: 0;
    width: 60px;
    height: 60px;
}

#btn-reserva {
    position: fixed;
    padding: 0px 12px;
    background-color: var(--color1);
    color: white;
    transition: all .5s ease;
    display: inline-block;
    z-index: 80;
    text-decoration: none;
    bottom: 34px;
    right: 110px;
}

#btn-reserva img {
    margin-right: 8px;
}

#btn-reserva:hover {
    background-color: var(--color2);
    color: var(--color1);
}

#btn-reserva:hover img {
    filter: invert(1);
}

/*Controles*/
.lil-gui.oculto {
    display: none !important
}

#menuflotante {
    position: fixed;
    display: flex;
    flex-direction: column;
    top: 95px;
    right: 30px;
    text-align: right
}

#menuflotante a {
    text-decoration: none;
    color: var(--color1);
    font-weight: 800;
    display: inline-block;
    margin-bottom: 8px;
    position: relative;
    padding-right: 40px;
    text-align: center;
    line-height: 35px;
}

#menuflotante a i {
    position: absolute;
    right: 0;
    width: 30px;
    height: 30px;
    border: 1px solid var(--color1);
    border-radius: 100%;
    transition: all .2s linear;
}

#menuflotante path {
    transition: all .2s linear;
}

#menuflotante a:hover i {
    background: var(--color1)
}

#btnUnidades:hover i path,
#btnCercanias:hover i path {
    fill: var(--colorBlanco)
}

.modal {
    position: fixed;
    width: 100%;
    max-width: 1920px;
    z-index: 99;
    box-sizing: border-box;
    transition: transform .35s linear;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%)
}

.modal {
    /*display: none;
    opacity: 0;*/
    height: 0;
    display: block;
    overflow: hidden;
    transition: opacity 5s ease;
}

.modal+.modal-overlay {
    display: none;
    opacity: 0;
}

.modal.activo {
    display: block;
    opacity: 1;
    height: auto;
}

.modal.activo+.modal-overlay {
    display: block;
    opacity: .8
}

#modal-unidades h2 i path {
    fill: var(--colorBlanco)
}

#modal-unidades>div>div>h3 {
    font-weight: 400;
    font-size: 20px;
    margin-bottom: 20px;
}

#modal-unidades #resultados {
    display: none;
}

#modal-unidades.mostrando-resultados #resultados {
    display: flex;
}

#modal-unidades.mostrando-resultados #buscador {
    display: none;
}

.form-control {
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
    width: 100%;
}

.form-control label {
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 4px;
}

.form-fila {
    display: flex;
    align-items: flex-end
}

.form-fila .form-control {
    margin-right: 12px;
}

.form-fila .form-control:last-child {
    margin-right: 0
}

.form-control input,
.form-control select {
    background-color: var(--gris);
    border: none;
    padding: 8px 12px;
    border-radius: 6px;
    color: var(--color1);
    transition: all .25s linear;
    font-family: var(--fuente1);
}

.form-control select option {
    max-width: 100%;
}

.form-control input::placeholder {
    color: var(--grisOscuro)
}

.form-control input:focus,
.form-control select:focus,
.form-control input:not(:placeholder-shown) {
    outline: none;
    box-shadow: 0 0 0 2px var(--color1);
    background: var(--colorBlanco)
}

.menu-tipologias ul {
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.menu-tipologias ul>li {
    display: flex;
    position: relative;
    width: calc(50% - 6px);
    box-sizing: border-box;
    transition: background-color .25s linear;
    border-radius: 6px;
    margin-bottom: 12px;
    font-size: 12px;
}

.menu-tipologias ul>li a+div {
    background-color: var(--gris);
    border-radius: 6px;
    color: var(--grisOscuro);
}

.menu-tipologias .menu-items-info {
    align-items: center;
}

.menu-tipologias .tipo-enlace {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.menu-tipologias ul h2 {
    font-size: 14px;
}

.menu-tipologias .menu-item-col-img {
    background: initial;
    padding: 0;
    height: initial;
    margin-right: 6px;
    width: 60px;
    transition: box-shadow .5s linear;
}

.menu-tipologias .menu-item-col-img img {
    filter: grayscale(1);
    transition: filter .5s linear;
    pointer-events: none
}

.menu-tipologias li .tipo-enlace.activo+div {
    transition: all .5s linear;
    background-color: var(--color2);
    color: var(--color1);
}

.menu-tipologias .tipo-enlace.activo+div .menu-item-col-img img {
    filter: grayscale(0);
}

.menu-tipologias .tipo-enlace+div {
    padding: 8px;
}

.form-control input[type="submit"] {
    background: var(--color1) !important;
    border: none !important;
    color: var(--colorBlanco);
    font-weight: 800;
    font-size: 16px;
    letter-spacing: 0.05em;
    width: 100%;
    max-width: 120px;
    margin: 24px auto 0;
    transition: opacity .25s linear;
    cursor: pointer;
}

.form-control input[type="submit"]:hover {
    opacity: .85;
}

#limpiar-filtros {
    color: var(--grisOscuro);
    display: inline-block;
    margin: 0 auto;
    font-size: 14px;
    margin-top: 8px;
}

.btnCerrar-modal {
    position: absolute;
    top: 30px;
    right: 15px;
    z-index: 9;
    border: 2px solid var(--color3);
    width: 33px;
    height: 33px;
}

.btnCerrar-modal path {
    stroke: var(--color3);
}

#menu-secundario {
    display: none
}

#maqueta-render {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    z-index: -1;
    background: var(--color1);
    opacity: 0;
}

#maqueta-render.activo {
    z-index: 9;
    opacity: 1;
}

#maqueta-render.activo+.webgl {
    z-index: 2;
}

#btn-cambioEscena {
    position: fixed;
    z-index: 99;
    left: 50%;
    bottom: 15px;
    transform: translateX(-50%);
    width: 40px;
    cursor: pointer;
}

#btn-cambioEscena .escImg {
    position: relative;
    width: 40px;
    height: 40px;
    box-shadow: 0 0 0 4px var(--colorBlanco);
    border-radius: 100%;
}

#btn-cambioEscena .escImg img {
    position: absolute;
}

#btn-cambioEscena img:first-child,
#btn-cambioEscena.activo img:last-child {
    z-index: 2
}

#btn-cambioEscena img:last-child,
#btn-cambioEscena.activo img:first-child {
    z-index: 3
}

#btn-cambioEscena .escEstado {
    position: relative;
    margin: 8px auto 0;
    height: 16px;
    width: 32px;
    background: var(--colorBlanco);
    border-radius: 24px;
}

#btn-cambioEscena .escEstado::after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    top: 4px;
    left: 4px;
    border-radius: 100%;
    background: var(--color1)
}

#btn-cambioEscena.activo .escEstado::after {
    right: 4px;
    left: initial;
}

#modal-unidades,
.modal-unidades-contenedor {
    display: flex;
    flex-direction: column;
}

.modal-contenedor {
    height: 100%;
    position: relative;
    padding: 32px 16px 62px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

#resultados {
    flex-grow: 2;
    display: flex;
    flex-direction: column;
    max-height: 100%;
}

.listado-resultados {
    position: relative;
}

.listado-resultados ::-webkit-scrollbar {
    width: 4px;
}

/* Track */
.listado-resultados ::-webkit-scrollbar-track {
    background: var(--gris);
}

.listado-resultados ::-webkit-scrollbar-thumb {
    background: var(--grisOscuro);
}

.listado-resultados ::-webkit-scrollbar-thumb:hover {
    background: var(--color1);
    cursor: pointer;
}

.listado-resultados-scroll {
    overflow: auto;
    margin-top: 30px;
    height: 50vh;
    height: calc(100vh - 350px)
}

.listado-resultados tbody td {
    pointer-events: none
}

.listado-resultados thead {
    position: absolute;
    top: 48px;
    left: 0;
    width: 100%;
}

.listado-resultados tbody td:last-child {
    pointer-events: initial
}

#resultados .filtros-aplicados {
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
}

#resultados .filtros-aplicados li {
    background: var(--color1);
    display: inline;
    margin: 0 4px 4px 0;
    color: var(--colorBlanco);
    font-size: 12px;
    padding: 2px 8px;
    border-radius: 6px;
}

.listado-resultados table {
    font-size: 12px;
    width: 100%;
    text-align: center;
}

.listado-resultados table thead {
    line-height: 1;
}

.listado-resultados table thead tr {
    align-items: flex-end;
}

.listado-resultados table th {
    padding: 2px 0 6px;
}

.listado-resultados>span {
    color: var(--grisOscuro);
    font-size: 14px;
    display: block;
    margin: 20px 0 4px;
}

.listado-resultados table tbody td {
    padding: 2px 0;
}

.listado-resultados table tr,
.listado-resultados table tbody tr {
    display: flex;
}

.listado-resultados table tbody tr:hover {
    background-color: var(--gris)
}

.listado-resultados table tbody tr.activo {
    color: var(--colorBlanco);
    background: var(--color1);
}

.listado-resultados table td,
.listado-resultados table th {
    width: calc((100% - 22px) / 8);
}

.listado-resultados table td:last-child,
.listado-resultados table th:last-child {
    width: 22px;
}

.listado-resultados table td:nth-last-child(2),
.listado-resultados table th:nth-last-child(2) {
    flex-grow: 2
}

.listado-resultados td:last-child {
    cursor: pointer;
}

.listado-resultados td:last-child:hover path,
.listado-resultados td.favorito path {
    fill: var(--color3);
    stroke-width: 0;
}

.footer-nueva-busqueda {
    position: absolute;
    bottom: 0;
    border-top: 1px solid var(--gris);
    width: 100%;
    padding: 15px;
    left: 0;
    text-align: center;
    box-sizing: border-box;
}

#btn-nueva-busqueda {
    background: var(--gris);
    border: none !important;
    color: var(--grisOscuro);
    font-weight: 800;
    font-size: 16px;
    letter-spacing: 0.05em;
    transition: all .25s linear;
    cursor: pointer;
    padding: 4px 12px;
    border-radius: 6px;
}

#btn-nueva-busqueda:hover {
    background-color: var(--color1);
    color: var(--colorBlanco);
}

.cercanias-contenedor {
    flex-grow: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.textos-cercanias {
    color: var(--grisOscuro);
    margin-bottom: 48px
}

#modal-cercanias .form-control {
    flex-direction: row;
}

#modal-cercanias .form-control input {
    display: none
}

#modal-cercanias .form-control input+span {
    display: block;
    padding-left: 28px;
    position: relative;
    color: var(--grisOscuro);
}

#modal-cercanias .form-control input+span:before {
    content: '';
    position: absolute;
    height: 20px;
    width: 20px;
    background: var(--gris);
    left: 0;
    border-radius: 6px;
}

#modal-cercanias .form-control input:checked+span:before {
    box-shadow: 0 0 0 2px var(--color1)
}

#modal-cercanias .form-control input:checked+span {
    color: var(--color1);
    cursor: pointer;
}

#filtros-cercanias label {
    display: block;
    cursor: pointer;
}

#tooltip-apto {
    position: absolute;
    width: 260px;
    height: 100px;
    border: 1px solid var(--color1);
    background-color: var(--colorBlanco);
    padding: 4px;
    align-items: center;
    z-index: 98;
    top: 50%;
    left: 50%;
    transform: translate(-50%, calc(-100% - 20px));
    display: none;
    opacity: 0;
    transition: opacity .5s ease;
    pointer-events: all;
}

#tooltip-apto.activo {
    display: flex;
    opacity: 1;
}

#tooltip-apto::after {
    content: '';
    width: 10px;
    height: 10px;
    background: white;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%) rotate(45deg)
}

#tooltip-apto .tool-img {
    width: 90px;
    height: 90px;
    background: var(--gris);
    display: flex;
    align-items: center;
}

#tooltip-apto .tool-info {
    flex-grow: 2;
    padding: 0 5px;
}

#tooltip-apto p {
    font-size: 12px;
}

#tooltip-apto h3 {
    font-size: 16px;
    margin-bottom: 0.5em;
}

#tooltip-apto .btn-ir {
    width: 30px;
    height: 30px;
    background: var(--color1);
    border-radius: 100%;
    display: block;
    text-align: center;
    line-height: 30px;
    z-index: 2;
    cursor: pointer;
    margin-right: 10px;
}

#tooltip-apto .btn-cerrar {
    position: absolute;
    top: -5px;
    right: 0;
    width: 20px;
    height: 20px;
}

#tooltip-apto .btn-cerrar svg {
    max-width: 100%;
}

/**
 * Tab
 */
.tabs-nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.tab-enlace {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-right: 8px;
    padding: 12px;
    color: var(--colorBlanco);
    background-color: var(--color1);
    border: 1px solid var(--color3);
    border-bottom: none;
    text-align: center;
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
    text-decoration: none;
    text-transform: uppercase;
    max-width: 200px
}

.tab-enlace.oculto {
    opacity: 0;
    pointer-events: none;
}

.tab-enlace:last-child {
    margin-right: 0;
}

.tab-enlace:hover {
    color: var(--color3);
}

.tab-enlace.is-active {
    color: var(--colorBlanco);
    background-color: var(--color3);
    font-weight: 900;
}

.tab-enlace i,
.tab-enlace span {
    margin: 0;
    padding: 0;
    line-height: 1;
}

.tab-enlace i {
    font-size: 18px;
}

.tab-enlace span {
    display: none;
    font-size: 18px;
}

@media all and (min-width: 720px) {
    .tab-enlace i {
        margin-bottom: 12px;
        font-size: 22px;
    }

    .tab-enlace span {
        display: block;
    }
}

/**
   * Tab
   */
.tab,
.ptab {
    display: block;
    height: 0;
    opacity: 0;
    pointer-events: none
}

.tab.is-active,
.ptab.is-active {
    display: block;
    height: auto;
    opacity: 1;
    pointer-events: initial
}

.piso-tabs {
    height: 0;
}

.is-active .piso-tabs {
    height: auto;
}

/**
   * Tabs no-js fallback
   */
.tabs.no-js .tabs-nav {
    display: none;
}

.tabs.no-js .tab {
    display: block;
    margin-bottom: 1.5rem;
}

.tabs.no-js .tab:last-child {
    margin-bottom: 0;
}

.lote-contenido {
    display: flex;
    padding: 0;

    background: linear-gradient(0deg, rgba(20, 34, 27, 0.3) 0%, rgba(13, 28, 21, 0.6) 100%);
    background: rgba(20, 34, 27, 0.75);
    border: 1px solid var(--color3);
    color: var(--colorBlanco);
    align-items: flex-start;
}

.info-label {
    color: var(--color2);
    font-size: 1rem;
}

.lote-info {
    width: 20%;
    width: 380px;
    padding: 30px;
}

.tab-contenedor {
    width: 80%;
    width: calc(100% - 380px);
}

.lote-info .sector {
    font-size: 1rem;
    font-weight: 300;
    text-transform: uppercase;
}

.lote-info .lote {
    font-size: 3rem;
    font-weight: 300;
    border-bottom: 1px solid var(--color2);
    /*max-width: 200px;*/
    padding-bottom: .25em;
    margin-bottom: .75em;
}

.lote-info p {
    margin-bottom: 1rem;
}

.lote-info .area {
    font-size: 1.5rem;
}

.ptab .tab-contenido {
    display: flex;
    align-items: center;
}

.piso-img {
    text-align: center;
    width: 100%;
    height: 100%;
}

.piso-img>button {
    position: absolute;
    top: 50%;
    z-index: 2;
    background: var(--color3);
    width: 40px;
    height: 40px;
    color: transparent;
    font-size: 0;
    border: none;
    cursor: pointer;
}

.piso-img>button::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    border-top: 1px solid white;
    border-left: 1px solid white;
    transform: translate(-30%, -50%) rotate(-45deg);
}

.piso-img>button.slick-next::before {
    transform: translate(-65%, -50%) rotate(135deg);
}

.piso-img>button.slick-disabled {
    display: none !important;
}

.piso-img .slick-prev {
    left: 15px;
}

.piso-img .slick-next {
    right: 15px;
}

.area-piso {
    color: var(--color2);
    max-width: 150px;
    margin: 0 auto 1rem
}

.piso-img img {
    /*max-width: 100%;
    width: 300px;
    height: auto;*/
}

.piso-atributos {
    list-style: none;
    width: calc(25% - 60px);
    width: 330px;
    position: absolute;
    right: calc(100% + 30px);
    top: calc(337px + 155px + 60px);
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
}

.piso-atributos li:first-child {
    width: 100%;
    padding-left: 0;
    color: var(--color2);
    font-size: 1rem;
}

.piso-atributos li:first-child:before,
.piso-atributos .subtit:before {
    display: none;
}

.piso-atributos .subtit {
    width: 100%;
    padding: 4px;
    margin-right: 15px;
    background: rgba(255, 255, 255, .15)
}


.piso-atributos li {
    position: relative;
    margin-bottom: 1rem;
    text-transform: uppercase;
    padding-left: 1rem;
    width: 50%;
    box-sizing: border-box;
    font-size: 0.75rem;
}

.piso-atributos li::before {
    content: "";
    display: block;
    width: 4px;
    height: 4px;
    background: var(--color2);
    display: inline-block;
    position: absolute;
    top: .575em;
    left: 0;
}

.ptabs-nav {
    width: 80%;
    text-align: right;
    padding: 10px 15px;
    position: absolute;
    top: 0;
    right: 0;
}

.ptabs-nav a {
    display: inline-block;
    color: var(--colorBlanco);
    text-decoration: none;
    text-transform: uppercase;
    margin: .5rem;
    letter-spacing: 0.1em;
    border-bottom: 1px solid transparent;
    padding-bottom: .25em;
}

.ptabs-nav a.is-active {
    border-bottom: 1px solid var(--color2)
}

.modal-overlay {
    position: fixed;
    z-index: 98;
    background: var(--color1);
    width: 100%;
    height: 100%;
    top: 0;
    opacity: .6;
}

.tab-contenido {
    position: relative;
    background: var(--color1);
    max-height: 900px;
    box-sizing: border-box;
}

.tab-info-fija {
    position: absolute;
    right: calc(100% + 30px);
    bottom: 0;
    border-top: 1px solid var(--color2);
    border-bottom: 1px solid var(--color2);
    width: calc(25% - 60px);
    width: 330px;
    padding: 30px 0;
    top: 377px;
    bottom: initial;
}

.tab-info-fija h3 {
    color: var(--color3);
    margin-bottom: 1rem;
}

.tab-info-fija h4 {
    color: var(--color3);
    margin-top: .5rem;
}

.tab-info-fija .info-label {
    color: var(--color3);
}

.casas-areas {
    display: flex;
    justify-content: center;
    max-width: 500px;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}

.casas-areas>div {
    width: 250px;
    position: relative;
}

.casas-areas>div:after {
    content: '+';
    position: absolute;
    top: 10px;
    right: 100%;
    color: var(--color2);
    transform: translateX(50%)
}

.casas-areas>div:first-child:after {
    display: none;
}

.casas-areas .ico-casa {
    background: var(--color2);
    color: var(--color1);
    text-align: center;
    display: block;
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 1.5rem;
    border-radius: 100%;
    margin: 0 auto 8px;
}

#casa-s .casas-areas>div:nth-child(2),
#casa-s .casas-areas>div:nth-child(3),
#casa-m .casas-areas>div:nth-child(3) {
    opacity: .2
}

.esquema,
.montaje {
    position: relative;
    height: calc(100vh - 120px);
    max-height: 900px;
    overflow: hidden;
    text-align: center;
    background: #01160d;
}

.esquema img,
.montaje img {
    object-fit: contain;
    max-height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%)
}

.esquema img {
    max-width: 1280px;
}

/*Menu lateral*/
#menu-lateral {
    position: fixed;
    left: 15px;
    width: 240px;
    max-width: calc(100% - 30px);
    bottom: 15px;
    z-index: 85;
}

#menu-lateral nav {
    border: 1px solid var(--color3);
    background: rgb(20, 34, 27);
    background: linear-gradient(0deg, rgba(20, 34, 27, 0.6778420840992647) 0%, rgba(13, 28, 21, 0.9747608516062675) 100%);
    margin-bottom: 8px;
    padding: 15px;
}

#menu-lateral h4 {
    color: white;
    margin: 1rem 0;
}

.menu-sectores {
    list-style: none
}

.menu-sectores a {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: white;
    padding: 8px 8px 8px 16px;
    border: 1px solid transparent;
    position: relative;
}

.menu-sectores a.activo {
    border-color: var(--color3)
}

.menu-sectores a span {
    display: block;
    height: 12px;
    width: 12px;
    margin-right: 12px;
    position: relative;
}

.menu-sectores a span::before {
    content: '';
    position: absolute;
    inset: -4px;
    border: 1px solid var(--color2);
}

.futuro .menu-sectores {
    opacity: .2;
    pointer-events: none;
}

.futuro {
    max-height: calc(100vh - 580px);
    overflow: auto;
}

.volver-general {
    display: none;
    align-items: center;
    text-decoration: none;
    color: white;
    margin: .25rem 0 .75rem;
    position: fixed;
    top: 200px;
    left: 16px;
    background: var(--color1);
    padding: 4px 12px;
}

.volver-general.visible {
    display: flex;
}

.volver-general span {
    display: block;
    height: 40px;
    width: 40px;
    border: 1px solid var(--color3);
    margin-right: .5rem;
    border-radius: 100%;
    position: relative;
}

.volver-general span::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    border-top: 1px solid var(--color3);
    border-left: 1px solid var(--color3);
    transform: translate(-30%, -50%) rotate(-45deg);
}

/*Pagina Casas Tipo*/
#pag-casas-tipo .modal-contenedor {
    padding: 0 30px;
}

#pag-casas-tipo .modal {
    top: initial;
    transform: translateX(-50%);
    bottom: 30px;
}

#pag-casas-tipo .esquema,
#pag-casas-tipo .montaje {
    position: relative;
    height: calc(100vh - 320px);
    max-height: 840px;
    overflow: hidden;
    text-align: center;
}

#pag-casas-tipo h2.lote {
    border: none;
    max-width: initial;
    margin: 0;
    padding: 0;
}

#pag-casas-tipo .tab-info-fija {
    top: 132px;
}

#pag-casas-tipo .piso-atributos {
    top: calc(132px + 154px + 30px)
}

/*XL*/
#pag-casas-tipo .xl-tab .piso-atributos {
    overflow: auto;
}

#pag-casas-tipo #casa-xl_k1 .piso-atributos {
    top: calc(132px + 258px + 30px)
}

#pag-casas-tipo #casa-xl_k3 .piso-atributos {
    top: calc(132px + 282px + 30px)
}

#pag-casas-tipo #casa-xl_k4 .piso-atributos {
    top: calc(132px + 282px + 30px)
}

/*Menu*/
#pag-casas-tipo #masthead {
    z-index: 99;
}

#masthead {
    position: absolute;
    z-index: 99;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    padding: 15px 0px 0px 0px;
    justify-content: stretch;
}

.logo-emp {
    width: 16.124%;
    padding: 0;
    display: flex;
}

.logo-emp img {
    width: 233px;
    max-width: 100%;
    padding: 6px 30px;
    margin: auto;
}

.caja-menu {
    display: flex;
    width: 83.876%;
    justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    border-radius: 0px 0px 0px 0px;
}

.menu-prin {
    display: flex;
    justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    height: 100%;
    align-items: center;
}

.menu-prin li {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    height: 58px;
    display: flex;
}

.menu-prin li a {
    font-family: "Helvetica LT CondensedLight", Sans-serif;
    color: #FFFFFF;
    padding: 0px 15px 0px 15px;
    text-decoration: none;
    font-size: 1rem;
    align-items: center;
    display: flex;
}

.encabezado li.active a {
    color: var(--color2);
}

.encabezado li.active a::after {
    content: "";
    position: absolute !important;
    top: 7px !important;
    bottom: 7px !important;
    left: 0 !important;
    right: 0 !important;
    border: 1px solid var(--color2) !important;
}

.menu-prin li.active a::before {
    content: "";
    background: var(--color2);
    width: 10px;
    height: 10px;
    position: absolute;
    left: -4px;
    top: 50%;
    transform: translateY(-50%);
}

a.quepasa img {
    width: 45px;
    height: 45px;
}

#masthead .caja-menu {
    position: relative;
}

#masthead .caja-menu:after {
    content: "";
    width: 100%;
    height: 1px;
    left: 10px;
    bottom: 40px;
    position: absolute;
    border-bottom: 1px solid var(--color2);
}

#masthead .caja-menu:before {
    content: "";
    width: 10px;
    height: 10px;
    left: -1px;
    bottom: 34px;
    position: absolute;
    border: 1px solid var(--color2);
}

#masthead .menu-prin a {
    padding: 12px 8px;
    margin: 0 8px;
    letter-spacing: 0.125em
}

#masthead .menu-prin a:hover {
    color: var(--color2)
}

#masthead {
    background-color: transparent;
    background-image: linear-gradient(180deg, #011D15 0%, #FFFFFF00 100%);
}

/* width */
::-webkit-scrollbar {
    width: 4px;
}

/* Track */
::-webkit-scrollbar-track {
    background: var(--color1);
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: var(--color2);
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: var(--color3);
}

.piso-atributos {
    bottom: 5px;
    overflow: auto;
}

/*
==================
RESPONSIVE
==================
*/
@media (max-width: 1600px) {
    #masthead .menu-prin a {
        font-size: 15px;
        
    }
}

@media (min-width: 1440px) and (max-height: 900px) {
    #menu-lateral {
        top: 220px;
        overflow: auto;
    }

    /*.piso-atributos {
        max-height: calc(100vh - 695px);
        overflow: auto;
    }*/

}

@media (max-width: 1440px) {
    #masthead .menu-prin a {
        font-size: 0.6rem;
        padding: 8px 12px;
        margin: 0 4px;
    }

    #masthead .menu-prin a.active::after {
        top: 26px !important;
        bottom: 26px !important;
    }

    .logo-emp img {
        padding: 6px 0;
    }

    #menu-lateral {
        font-size: .75rem;
    }

    #menu-lateral .futuro {
        max-height: 15vh;
        overflow: auto;
    }


}

@media (max-width: 1440px),
(max-height: 940px) {

    /*Modal*/
    .modal-contenedor {
        padding-bottom: 16px;
    }

    .lote-info {
        padding: 15px;
        letter-spacing: 0.125em
    }

    .lote-info .info-label {
        display: inline;
    }

    .lote-contenido {
        font-size: 1rem;
    }

    .lote-info .lote {
        font-size: 2rem;
    }

    .lote-info .area,
    .info-label {
        font-size: 1rem;
    }

    .tab-info-fija {
        top: 290px;
        letter-spacing: 0.125em;
        padding: 10px 0;
    }

    .piso-atributos {
        list-style: none;
        top: calc(340px + 90px);
        display: flex;
        flex-wrap: wrap;
    }

    .btnCerrar-modal {
        top: 25px;
    }

    .piso-atributos {
        max-height: calc(100vh - 565px);
        overflow: auto;
    }

    .piso-atributos li {
        width: 100%;
        font-size: .75rem;
    }

    #pag-casas-tipo .tab-info-fija {
        top: 78px;
    }

    #pag-casas-tipo .piso-atributos {
        top: calc(78px + 105px + 30px)
    }

    /*XL*/
    #pag-casas-tipo .xl-tab .piso-atributos {
        overflow: auto;
    }

    #pag-casas-tipo #casa-xl_k1 .piso-atributos {
        top: calc(78px + 210px + 30px)
    }

    #pag-casas-tipo #casa-xl_k3 .piso-atributos {
        top: calc(78px + 230px + 30px)
    }

    #pag-casas-tipo #casa-xl_k4 .piso-atributos {
        top: calc(78px + 230px + 30px)
    }
}

@media (min-height: 1180px) {

    #pag-casas-tipo .modal,
    #modal-lote {
        top: 50%;
        bottom: initial;
        margin-top: 90px;
        transform: translate(-50%, -50%)
    }
}

@media (max-height: 940px) {
    #masthead .logo-emp img {
        width: 110px;
    }
    #masthead .logo-emp {
        width: calc(110px + 30px);
    }

    #masthead .caja-menu:after {
        bottom: 10px;
    }

    #masthead .caja-menu:before {
        bottom: 4px;
    }

    #pag-casas-tipo .esquema,
    #pag-casas-tipo .montaje {
        height: calc(100vh - 270px);
    }

    .piso-atributos {
        max-height: initial;
    }
    #pag-casas-tipo {
        .btnAtras {
            top: 50px;
            position: relative;
        }
    }
    
}

/*Menu mobile*/
#masthead .elementskit-menu-hamburger .ekit-menu-icon {
    color: #94FF8E;
}

#menu-menu {
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
}

#menu-menu li a {
    padding: 4px 0 4px !important;
    margin: 15px 0 30px !important;
    font-size: 1rem !important;
    display: block;
    width: 100%;
}

#menu-menu li a:after {
    display: none
}

#menu-menu li a:before {
    left: initial;
    right: 0;
}

#menu-menu li.whats a {
    font-size: 0 !important;
    color: transparent
}

#menu-menu li.whats a::before {
    position: relative;
    inset: 0;
    margin: 0;
    display: block;
}

#menu-menu+div .elementskit-site-title {
    width: 100%;
    max-width: 360px;
    float: initial;
    margin: 0 auto 2vh;
}

#menu-menu+div .elementskit-site-title img {
    padding: 0;
}

#ekit-megamenu-menu {
    padding-top: 2vh;
}

.elementskit-menu-close {
    z-index: 8;
    width: 50px;
    height: 50px;
    border: 2px solid var(--color2) !important;
    background: transparent;
    display: block;
    padding: 0 !important;
    color: transparent !important;
    cursor: pointer;
    transition: all 500ms ease;
}

.elementskit-menu-close:before,
.elementskit-menu-close:after {
    content: '';
    background: var(--color2);
    width: 20px;
    height: 2px;
    position: absolute;
    left: 50%;
    top: 50%;
}

.elementskit-menu-close:before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.elementskit-menu-close:after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.elementskit-menu-close:hover {
    background: var(--color2);
}

.elementskit-menu-close:hover:before,
.elementskit-menu-close:hover:after {
    background: var(--color1);
}

.elementskit-menu-overlay {
    background: var(--color2) !important;
}

/*Lightbox*/
#lightbox {
    top: 5% !important;
    height: 90% !important;
    width: 90% !important;
    left: 5% !important;
    overflow: auto;
}

.lb-outerContainer {
    border: 0;
    border-radius: 0;
    background: transparent;
}

#lightbox .lb-image {

    width: 89vw !important;
    height: initial !important;
    border: 0 !important;
    margin: 0 !important;
}

#lightbox .lb-dataContainer {
    position: fixed;
    top: 15px;
    left: 15px;
    right: 15px;
    width: initial !important;
}

/*Legal*/
.cont-legal {
    position: fixed;
    width: 100%;
    bottom: 0;
    border-top: 1px solid var(--color2);
    background: var(--color1);
    z-index: 998;
    display: none;
    justify-content: flex-start;
    align-items: center;
    padding: 10px;
}

.btn-legal {
    position: fixed;
    width: 50px;
    height: 50px;
    bottom: 25px;
    right: 20px;
    z-index: 999;
    cursor: pointer;
}

.btn-legal::before {
    content: "";
    bottom: -10px;
    top: 20px;
    left: 20px;
    right: -10px;
    position: absolute;
    background: var(--color1);
    z-index: -1;

}

.cont-legal.activo {
    display: flex
}

.cont-legal img,
.cont-legal svg {
    width: 50px;
    height: 50px;
    cursor: pointer;
}

.cerrar-legal {
    width: 10%;
    text-align: center;
}

.mensaje-legal {
    width: 80%;
}

.mensaje-legal p {
    color: #FFFFFF;
    font-family: "Helvetica LT CondensedLight", Sans-serif;
    font-size: 10px;
    font-weight: 100;
    line-height: 1;
    font-weight: 100;
    letter-spacing: 0;
    max-width: 100em
}

/*Ajustes*/
#modal-prevLote {
    max-width: 800px;
}

#modal-prevLote .modal-contenedor {
    padding: 0;
}

#modal-prevLote .lote-contenido {
    flex-direction: column;
}

#modal-prevLote .lote-info,
#modal-prevLote .tipos-casa {
    width: 100%;
    box-sizing: border-box;
}

#modal-prevLote .btnCerrar-modal {
    top: 15px;
    right: 15px;

}

#modal-prevLote .lote-info .lote {
    border-color: var(--color3);
}

#modal-prevLote .info-label {
    color: var(--color3);
}

#modal-prevLote .tipos-casa {
    padding: 15px;
    text-align: center;
}

#modal-prevLote .tipos-casa h4 {
    font-weight: 700;
    font-size: 20px;
    text-align: center;
    text-transform: uppercase;
    padding-top: 1rem;
    border-top: 1px solid var(--color3);
}

#modal-prevLote .tipos-casa ul {
    display: flex;
    justify-content: center;
    padding: 0;
    list-style: none;
    gap: 12px;
    margin: 1rem 0;
}

#modal-prevLote .tipos-casa ul li a {
    display: block;
    width: 40px;
    height: 40px;
    color: var(--colorBlanco);
    background: transparent;
    border: 2px solid var(--colorBlanco);
    font-size: 24px;
    font-weight: 900;
    text-decoration: none;
    text-align: center;
}

#modal-prevLote .tipos-casa ul li a:hover {
    color: var(--color1);
    background: var(--color2);
    border-color: var(--color2);
}

#modal-prevLote .btn {
    margin-top: 2rem;
    margin-bottom: 1rem;
    color: var(--color1);
    background: var(--color2);
    font-weight: 700;
}

.modal.activo~.modal-overlay {
    display: block;
    opacity: .8;
}

#pag-casas-tipo {
    .btnAtras {
        display: block;
        width: 40px;
        height: 40px;
        margin: 0 30px 20px;
    }

    .btnAtras svg {
        width: 40px;
        height: 40px;
    }

    .lote-contenido {
        border-color: var(--color2);
    }

    .tab-enlace {
        border-color: var(--colorBlanco);
    }

    .tab-enlace span {
        display: initial;
    }

    .tabs-nav {

        justify-content: center;
    }

    .tab-enlace {
        flex: initial;
        min-width: 120px;
        font-weight: 600;
    }

    .tab-enlace:hover,
    .tab-enlace.is-active {
        background: var(--color2);
        color: var(--color1);
        border-color: var(--color2);
    }

    .ptab-enlace {
        padding: 10px 12px;
    }

    .ptab-enlace.is-active {
        background: rgba(255, 255, 255, 0.25);
    }

    .tab-info-fija {
        top: 0;
        border-top: none;
    }

    .piso-atributos {
        top: calc(150px + 30px);
        bottom: 100px;
    }

    #casa-xl_k1 .piso-atributos {
        top: calc(150px + 30px)
    }

    #casa-xl_k3 .piso-atributos {
        top: calc(150px + 30px)
    }

    #casa-xl_k4 .piso-atributos {
        top: calc(150px + 30px)
    }

    .btntour360 {
        display: inline-flex;
        background: var(--color1);
        color: var(--colorBlanco);
        border: 1px solid var(--colorBlanco);
        position: absolute;
        bottom: 20px;
        left: 50px;

        text-decoration: none;
        padding: 12px 20px;
        text-align: center;
        align-items: center;
    }

    .btntour360 svg {
        width: 60px;
        margin-left: 12px;
    }

    .btntour360:hover {
        background: var(--color2);
        color: var(--color1);
        border-color: var(--color2);
    }

    .btntour360:hover svg path {
        fill: var(--color1);
    }
}

/*Ajustes*/
.logo-emp img {
    width: 200px;
    padding: 6px 15px;
}

.logo-emp {
    width: calc(200px + 30px);
}

.caja-menu {
    width: 100%;
    flex: 2;
    justify-content: flex-end;
}
.caja-menu-overlay {
    display: none;
}
#contenedorMadre {
    max-width: 100vw;
    overflow: hidden;
    max-height: 100vh;
}

@media (max-width: 1500px) {
    .logo-emp img {
        width: 110px;
    }

    .logo-emp {
        width: calc(110px + 30px);
    }

    #masthead .caja-menu:after,
    #masthead .caja-menu:before {
        display: none;
    }
    #pag-casas-tipo .esquema, #pag-casas-tipo .montaje {
        height: calc(100vh - 200px);
    }
}

@media (max-width: 1024px) {
    .logo-emp img {
        width: 110px;
        padding: 0;
    }

    .logo-emp {
        width: initial;
    }

    #menu-lateral .futuro {
        display: none;
    }

    #menu-lateral {
        display: none;
    }

    #btnToogleMenuLateral.activo+#menu-lateral {
        display: block;
        bottom: 60px;
        bottom: calc(90px + 30px);
    }

    #btn-reserva {
        bottom: initial;
        left: 16px;
        top: 120px;
        right: initial;
    }

    #btnToogleMenuLateral {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 2px 12px;
        border: none;
        background: var(--color1);
        color: var(--colorBlanco);
        position: fixed;
        bottom: 34px;
        bottom: calc(90px + 10px);
        left: 16px;
        font-family: var(--fuente1);
        font-size: 16px;
        letter-spacing: 0.1em;
        cursor: pointer;
    }

    #btnToogleMenuLateral span {
        margin-left: 8px;
    }

    #btnToogleMenuLateral svg {
        width: 20px;
        height: 20px;
    }

    #btnToogleMenuLateral .close {
        display: none;

    }

    #btnToogleMenuLateral.activo .close {
        display: block;
    }

    #btnToogleMenuLateral.activo .add {
        display: none;
    }

    #brujula {
        bottom: initial;
        top: 90px;
    }

    /**/
    #navMobile {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 80px;
        background: var(--color1);
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 16px;
        box-sizing: border-box;
        z-index: 98;
    }

    #navMobile .btn-legal {
        position: relative;
    }

    #navMobile .btnWhatsapp {
        width: 40px;
        height: 40px;
        background: #25D366;
        border-radius: 4px;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 6px;
        box-sizing: border-box;
    }

    #navMenu #btnMenu {
        width: 48px;
        height: 48px;
    }

    

    .btn-legal::before {
        display: none;
    }

    .btn-legal {
        right: initial;
        bottom: initial;
    }

    .cont-legal {
        box-sizing: border-box;
        bottom: 80px;
        max-width: 100vw;
    }

    #btnMenu svg {
        width: 32px;
        height: 32px;

    }

    #hotspotWrapper-sectores,
    #hotspotWrapper {
        overflow: hidden;
    }

    #modal-prevLote {
        width: calc(100% - 30px);
        transform: initial;

        top: 5%;
        left: 15px;

    }

    #modal-prevLote {
        background: url(2a00ffc4642f6f6c.webp) no-repeat center center;
        background-size: cover;
    }

    #modal-prevLote.activo .lote-contenido {
        height: 90vh;
        overflow: auto;
    }

    .volver-general {
        top: 160px;
        z-index: 98;

    }

    .volver-general span {
        width: 20px;
        height: 20px;
    }

    #hotspotWrapper .hotspot {
        padding: 2px;
    }

    #hotspotWrapper .hotspot span:first-child {
        font-size: 1rem;
    }

    #hotspotWrapper .hotspot span:last-child {
        font-size: 0.75rem;
        display: none;
    }

    #hotspotWrapper.hotspots-wrapper .hotspot {
        width: 32px;
        height: 32px;
        margin: -75px 0 0 -16px;
    }

    /**/
    #modal-reserva .reserva-img img {
        object-fit: contain;
    }

    /**/
    .bodyCasas {
        overflow: auto;
    }
    #pag-casas-tipo {
        position: relative;

        #navMobile {
            z-index: 998;
        }

        

        #modal-lote {
            width: 100%;
            transform: initial;
            bottom: initial;
            top: initial;
            left: initial;
            right: initial;
            height: initial;
            position: relative;
            padding-top: 120px;
            padding-bottom: 100px;
        }

        .modal-contenedor {
            flex-direction: column-reverse;
        }
        .esquema,
        .montaje {
            height: calc(100vh - 290px);
        }

        .btnAtras {
            position: absolute;
            right: 0;
            top: 40px;
        }

        .lote-contenido {
            flex-direction: column;
        }

        .lote-info {
            display: none;
        }

        .tab-enlace {
            min-width: 54px;
            padding: 8px;

            span {
                display: none;
            }
        }
        .tab-contenedor {
            width: 100%;
        }

        /**/
        .tab >.tab-contenido {
            display: flex;
            flex-direction: column-reverse;
            max-height: initial;
        }
        .ptab > .tab-contenido {
            display: flex;
            flex-direction: column;
            max-height: initial;
        }
        .tab-info-fija {
            position: relative;
            top: initial;
            left: initial;
            right: initial;
            bottom: initial;
            margin: 32px;
        }
        .piso-tabs {
            position: relative;
        }
        .piso-atributos {
            position: relative;
            top: initial !important;
            left: initial !important;
            right: initial !important;
            bottom: initial !important;
            width: 100%;
            max-height: initial;
            overflow: auto;
            padding: 20px!important;
            margin-top: 24px;
            max-width: 100%;
            li {
                padding-left: 40px;
            }
            li:before {
                left: 20px;
            
            }
        }
        .ptabs-nav {
            width: initial;
            top: -150px;
        }
        .btntour360 {
            position: relative;
            bottom: initial;
           top: initial;
           left: initial;
           bottom: initial;
           margin-top: 20px;
           width: 187px;
           box-sizing: border-box;
        
        }
        #masthead {
            z-index: 99;
        }
        #navMobile {
            z-index: 98;
        }
        #modal-lote {
            z-index: 97;
        }
        #modal-lote + .modal-overlay {
            z-index: 96;
        }

    }
    .cont-legal {
        align-items: flex-start;
    }
    .btn-legal {
        width: 40px;
        height: 40px;
    }
    .cerrar-legal {
        width: 50px;
        svg {
            width: 36px;
            height: 36px;

        }
    }
    .mensaje-legal {
        width: initial;
        flex: 2;
    }
    #btnMenu {
        height: 32px;
    }
    .piso-img .slick-prev {
        left: 0;
    }
    
    .piso-img .slick-next {
        right: 0;
    }
    /**/
    #masthead {
        .caja-menu.activo {
            display:flex;
            left: 0;
        }
        .caja-menu-overlay {
            display: block;
            position: fixed;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: var(--color2);
            z-index: 99999;
        }
        .caja-menu.activo + .caja-menu-overlay {
            left: 0;
            transition: left 500ms ease;
        }
        .caja-menu {
            /*display: none;*/
            position: fixed;
            top: 0;
            width: 100%;
            height: 100%;
            background: var(--color1);
            z-index: 100000;
            flex-direction: column;
            left: -100%;
            transition: left 500ms ease 500ms;

            .menu-prin {
                flex-direction: column;
                justify-content: center;
                height: 100%;
                padding: 0 20px;
                overflow: auto;
                position: relative;
                li {
                    width: 100%;
                    text-align: center;
                    justify-content: center;
                }
                li:last-of-type {
                    display: none
                }

                a {
                    font-family: 'Helvetica', sans-serif;
                    font-size: 1rem;
                    padding: 0;
                    margin: 0;
                }
                a:before, a:after {
                    display: none;
                }
                .btnCerrar-menuMobile {
                    display: block;
                    position: absolute;
                    top: 12px;
                    right: 12px;
                    width: 50px;
                    height: 50px;
                    border: 2px solid var(--color2);
                    text-align: center;
                    line-height: 40px;
                    font-size: 1.5rem;
                    padding-top: 8px;
                    box-sizing: border-box;

                    svg {
                        width: 28px;
                    }

                    path {
                        stroke: var(--color2);
                    }
                }
            
            }
        }
    }
}

@media (min-width: 1025px) {
    #btnToogleMenuLateral {
        display: none;
    }
    .btnCerrar-menuMobile {
        display: none;
    }
    html, body {
        overflow: hidden;
    }
    #btnMenu {
        display: none;
    }
    .btnWhatsapp {
        display: none;
    
    }
}

@media (max-width: 768px) {
    .modal-reserva-contenedor {
        flex-direction: column;
        padding: 90px 0 20px;
    }
    .modal-reserva-contenedor .scroll_container {
        width: 100%;
        margin-bottom: 30px;
        max-height: 100vh;
        max-height: calc(100vh - 110px);
        overflow: auto;
        padding: 0 15px 15px !important;
        box-sizing: border-box;
        display: block;
    }
    .modal-reserva-contenedor .scroll_container > div {
        width: 100%;
        margin-bottom: 15px;
    }

    .modal-reserva-contenedor h1 {
        font-size: 2rem;
        margin-bottom: 2rem;
        width: 100%;
        display: block;
    }
    

    .modal-reserva-contenedor h1 small {
        font-size: 1em;
    }

    
    
    #modal-reserva .reserva-img img {
        width: 100%;
        height: auto;
    }
    /**/
    #pag-casas-tipo {
        .modal-contenedor {
            padding: 0;
        }
        .lote-contenido {
            border: none;
            border-top: 1px solid var(--color2);
            border-bottom: 1px solid var(--color2);
        }
        .tab-info-fija {
            border: none;
        }
        .ptabs-nav {
            top: -110px;
        }
        .btntour360 {
            margin: 32px auto;
        }
    }
}
@media (max-width: 560px) {
    #pag-casas-tipo {
        .esquema, .montaje {
            height: initial;
            min-height: 100vw;
        }
        .tab-enlace {
            min-width: 24px;
            margin-right: 4px;
        }
        .casas-areas {
            max-width: 100%;
        }
        .casas-areas .ico-casa {
            width: 40px;
            height: 40px;
            line-height: 40px;
            font-size: 1rem;
        }
        .casas-areas .area-piso {
            font-size: .75rem;
        }
        .tab-info-fija {
            margin: 24px 15px;
        }
        .piso-tabs {
            padding-top: 80px;
        }
        .ptabs-nav {
            width: 100%;
            text-align: center;
            top: 0;
            padding: 0;
        }
        .piso-atributos {
            padding-top: 0;
        }
        .piso-atributos li {
            padding-right: 20px;
        }
    }
}
#debugMessages {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.137);
    color: white;
    padding: 10px;
    box-sizing: border-box;
    z-index: 999999;
}

/*# sourceMappingURL=style.css.map*/