/* FONTS
Listas fuentes para uso
Museo Sans 300

font-family: museo-sans, sans-serif;

font-weight: 300;

font-style: normal;


Museo Sans 300 Italic

font-family: museo-sans, sans-serif;

font-weight: 300;

font-style: italic;


Museo Sans 500

font-family: museo-sans, sans-serif;

font-weight: 500;

font-style: normal;


Museo Sans 500 Italic

font-family: museo-sans, sans-serif;

font-weight: 500;

font-style: italic;


Museo Sans 700

font-family: museo-sans, sans-serif;

font-weight: 700;

font-style: normal;


Museo Sans 700 Italic

font-family: museo-sans, sans-serif;

font-weight: 700;

font-style: italic;
--- */

/* @group SHARED STRUCTURES AND STYLES
------------------------------------ */

.site-nav ~ .page-header {
    padding-top: 8.8rem;
}
@media only screen
and (max-width : 960px) {
    .site-nav~.page-header {
      padding-top: 7rem;
    }
}

body { overflow-x: hidden;}
#wrapper { width: 100%; }
a, button { cursor: pointer;
    -webkit-transition: color 0.27s linear, background 0.27s linear, border-color 0.27s linear, opacity 0.3s linear, visibility 0.3s linear, box-shadow 0.3s linear, -webkit-transform 0.3s linear;
    -moz-transition: color 0.27s linear, background 0.27s linear, border-color 0.27s linear, opacity 0.3s linear, visibility 0.3s linear, box-shadow 0.3s linear, -moz-transform 0.3s linear;
    -ms-transition: color 0.27s linear, background 0.27s linear, border-color 0.27s linear, opacity 0.3s linear, visibility 0.3s linear, box-shadow 0.3s linear, transform 0.3s linear;
    -o-transition: color 0.27s linear, background 0.27s linear, border-color 0.27s linear, opacity 0.3s linear, visibility 0.3s linear, box-shadow 0.3s linear, transform 0.3s linear;
    transition: color 0.27s linear, background 0.27s linear, border-color 0.27s linear, opacity 0.3s linear, visibility 0.3s linear, box-shadow 0.3s linear, transform 0.3s linear;
}
.video-box,
.img-box { overflow: hidden; position: relative; }
.img-box > img { object-fit: cover; object-position: center center; height: 100%; width: 100%!important; }
.img-box video { object-fit: cover; object-position: center center; height: 100%; width: 100%!important; }
@supports(object-fit: cover) {
  .img-box > img { height: 100%!important; }
}
.outerAbsolute { position: absolute; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none; z-index: 3; }
.outerAbsolute .row { height: 100%; }
.outerAbsolute a,
.outerAbsolute .box { pointer-events: all; }
/* General Buttons
----------------------*/

.bttn {
    text-decoration: none;
    font-weight: 700;
    background-color: var(--teal);
    color: var(--main-blue);
    text-transform: uppercase;
    padding: 1.3rem 1.6rem;
    font-size: 1.4rem;
    line-height: 1.429em;
    text-transform: uppercase;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: .4rem;
    letter-spacing: 0.04em;
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.55);
    border: .3rem solid transparent;
    transition: background-color .3s ease-in-out, border-color .3s ease-in-out, box-shadow .3s ease-in-out;
}
.bttn-blue { background: var(--main-blue); }
.bttn-lemon { background: var(--main-lemon); }
.bttn-tang { background: var(--main-tang); color: var(--font-black);}
.bttn-lilac { background: var(--lilac); color: #fff;}
.bttn-round { border-radius: 5.4rem; padding: 1.2rem 2.4rem; }
.bttn-transparent { background: none; border-color: var(--teal); box-shadow: none; }
.bttn-blue.bttn-transparent { border-color: var(--main-blue); color: var(--main-blue); }
.bttn-tang.bttn-transparent { border-color: var(--main-tang); color: var(--main-tang); }
.bttn-ico { padding-right: 1.7rem; }
.bttn-round.bttn-ico { padding-right: 2.5rem; }
.bttn-ico i { font-size: 1.6rem; margin-left: .64rem; }

/* General Text
----------------------*/

h1 {
    font-size: 5em;
    line-height: 5rem;
    letter-spacing: -0.02em;
    font-weight: 700;
}

h5 {
    font-size: 2.4em;
    line-height: 3rem;
}
/* Map
----------------------*/
.mapContainer { position: relative; }
.map { height: 100%; width: 100%; }

/* Animations
----------------------*/
@keyframes fade {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes fadeReverse {
  0% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes fadeDown {
  0% { -webkit-transform: translate3d(0,-2rem,0); transform: translate3d(0,-2rem,0); opacity: 0; }
  100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1; }
}
@keyframes fadeUp {
  0% { -webkit-transform: translate3d(0,5rem,0); transform: translate3d(0,5rem,0); opacity: 0; }
  100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1; }
}
@keyframes fadeScale {
  0% { -webkit-transform: scale(.5); transform: scale(.5); opacity: 0; }
  100% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; }
}
@keyframes fadeScaleReverse {
  0% { -webkit-transform: scale(1.5); transform: scale(1.5); opacity: 0; }
  100% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; }
}
@keyframes fadeScaleDown {
  0% { -webkit-transform: scale(1.2); transform: scale(1.2); opacity: 0; }
  100% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; }
}
@keyframes ScaleDown {
  0% { -webkit-transform: scale(1.2); transform: scale(1.2); }
  100% { -webkit-transform: scale(1); transform: scale(1); }
}
@keyframes fadeLeft {
  0% { -webkit-transform: translate3d(-5rem,0,0); transform: translate3d(-5rem,0,0); opacity: 0; }
  100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1; }
}
@keyframes fadeRight {
  0% { -webkit-transform: translate3d(5rem,0,0); transform: translate3d(5rem,0,0); opacity: 0; }
  100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1; }
}
@keyframes toLeft {
  0% { transform: translate3d(80%,0,0) rotate(-2.5deg); }
  100% { transform: translate3d(0,0,0) rotate(0deg); }
}
@keyframes toRight {
  0% { transform: translate3d(-80%,0,0) rotate(2.5deg); }
  100% { transform: translate3d(0,0,0) rotate(0deg); }
}
@keyframes menuDown {
 0% { -webkit-transform: translate3d(0,-7.5rem,0); transform: translate3d(0,-7.5rem,0); }
 100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); }
}
@keyframes textUp {
 0% { -webkit-transform: translate3d(0,2rem,0); transform: translate3d(0,2rem,0); opacity: 0; }
 100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1; }
}
@keyframes navDown {
 0% { -webkit-transform: translate3d(0,-20rem,0); transform: translate3d(0,-20rem,0); }
 100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); }
}
@keyframes fullUp {
 0% { -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0); }
 100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); }
}
@keyframes fullUpOp {
 0% { -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0); opacity: 0; }
 100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1; }
}
@keyframes fullLeft {
 0% { -webkit-transform: translate3d(-100%,0,0); transform: translate3d(-100%,0,0); opacity: 0; }
 100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1; }
}
@-webkit-keyframes hvr-icon-hang {
  0% { -webkit-transform: translateY(6px); transform: translateY(6px); }
  50% { -webkit-transform: translateY(2px); transform: translateY(2px); }
  100% { -webkit-transform: translateY(6px); transform: translateY(6px); }
}
@keyframes hvr-icon-hang {
  0% { -webkit-transform: translateY(6px); transform: translateY(6px); }
  50% { -webkit-transform: translateY(2px); transform: translateY(2px); }
  100% { -webkit-transform: translateY(6px); transform: translateY(6px); }
}
@-webkit-keyframes hvr-icon-hang-sink {
  100% { -webkit-transform: translateY(6px); transform: translateY(6px); }
}
@keyframes hvr-icon-hang-sink {
  100% { -webkit-transform: translateY(6px); transform: translateY(6px); }
}
@keyframes toTopFromBottom {
	49% { transform: translate3d(0,-100%,0); }
	50% { opacity: 0; transform: translate3d(0,100%,0); }
	51% { opacity: 1; }
}
@keyframes toBottomFromTop {
	49% { transform: translate3d(0,100%,0) }
	50% { opacity: 0; transform: translate3d(0,-100%,0) }
	51% { opacity: 1; }
}
@keyframes toRightFromLeft {
	49% { transform: translate(100%); }
	50% { opacity: 0; transform: translate(-100%); }
	51% { opacity: 1; }
}
@keyframes toLeftFromRight {
	49% { transform: translate(-100%); }
	50% { opacity: 0; transform: translate(100%); }
	51% { opacity: 1; }
}
@keyframes openDraw {
  0% { max-height: 0; }
  100% { max-height: 999vh; }
}
@keyframes closeDraw {
  0% { max-height: 999vh; }
  100% { max-height: 0; }
}
@keyframes fadeRotate {
  0% { opacity: 0; }
  100% { opacity: 1; transform: rotate(720deg); }
}
@keyframes circleSVG {
  0% { transform: rotate(360deg) scale(1.12); }
  100% { transform: rotate(0deg) scale(1.12); }
}
@keyframes circleSVGnoScale {
  0% { transform: rotate(360deg); }
  100% { transform: rotate(0deg); }
}
@keyframes filltext {
  0% { background-size: 0% 100%; }
  100% { background-size: 100% 100%; }
}
@keyframes emptytext {
  0% { background-size: 100% 100%; }
  100% { background-size: 0% 100%; }
}
@keyframes upndown {
    0% { -webkit-transform:translateY(.5rem); transform:translateY(.5rem) }
    50% { -webkit-transform:translateY(0); transform:translateY(0) }
    100% { -webkit-transform:translateY(.5rem); transform:translateY(.5rem) }
}

.fadeRight,
.fadeLeft,
.fadeDown,
.fadeUp,
.fadeScale,
.fade { position: absolute; left: -999vw; opacity: 0; top: -999vw; }
.fade.slick-nav,
.fade.slick-carousel { position: absolute!important; }
/* Animations - Active
----------------------*/
.fade.active { animation: fade 1.2s 1 cubic-bezier(0.4,0.0,0.2,1) forwards; left: auto; top: auto; position: relative; }
.fade.slick-nav.active,
.fade.slick-carousel.active { position: relative!important; }
.fadeUp.active { animation: fadeUp 1.2s 1 cubic-bezier(0.4,0.0,0.2,1) forwards; left: auto; top: auto; position: relative; }
.fadeDown.active { animation: fadeDown 1.2s 1 cubic-bezier(0.4,0.0,0.2,1) forwards; left: auto; top: auto; position: relative; }
.fadeScale.active { animation: fadeScale 1.2s 1 cubic-bezier(0.4,0.0,0.2,1) forwards; left: auto; top: auto; position: relative; }
.fadeLeft.active { animation: fadeLeft 1.2s 1 cubic-bezier(0.4,0.0,0.2,1) forwards; left: auto; top: auto; position: relative; }
.fadeRight.active { animation: fadeRight 1.2s 1 cubic-bezier(0.4,0.0,0.2,1) forwards; left: auto; top: auto; position: relative; }
@media only screen
and (min-width : 961px) {
    /* General Buttons
    ----------------------*/
    .bttn { display: inline-flex; }
    .Explorer .bttn:hover,
    .Mozilla.v11 .bttn:hover{
        background-color: var(--main-white);
        border-color: var(--teal);
        box-shadow: none;
    }
    @media (hover: hover) {
        .bttn:hover{
            background-color: var(--main-white);
            border-color: var(--teal);
            box-shadow: none;
        }
        .bttn.bttn-lilac:hover {
          color: var(--lilac);
        }
    }
    /* General Text
    ----------------------*/
    h1 {
        font-size: 9.5em;
        line-height: 9rem;
        letter-spacing: 0.02em;
    }
}
@media only screen
and (min-width : 961px)
and (max-width : 1440px) {
}
@media only screen
and (min-width : 0)
and (max-width : 960px) {
}

/* @end */

/* --- */

/* @group Site Nav
------------------------------------ */
#siteNav {}
@media only screen
and (min-width : 961px) {
}
@media only screen
and (min-width : 961px)
and (max-width : 1440px) {
}
@media only screen
and (min-width : 0)
and (max-width : 960px) {
}
/* @end */

/* @group Site Nav
------------------------------------ */
#siteNav {}
@media only screen
and (min-width : 961px) {
}
@media only screen
and (min-width : 961px)
and (max-width : 1440px) {
}
@media only screen
and (min-width : 0)
and (max-width : 960px) {
}
/* @end */

/* @group Search form
------------------------------------ */

/* Search Form */

.search__form {
    background: #fff;
    margin-top: 4rem;
    box-shadow: 0px 0px 30px 4px rgba(0, 0, 0, 0.2);
    border-radius: .4rem;
    width: 100%;
    /* overflow: hidden; */
    position: relative;
    z-index: 2;
}

.search__form__wrapper {
    display: flex;
    flex-direction: column;
}

.search__form--search{
    position: relative;
}

.search__form--search i{
    position: absolute;
    top: 50%;
    left: 2.5rem;
    transform: translateY(-50%);
}

.search__form--search i:before{
    font-size: 1.3rem;
    color: var(--font-black);
}

.search__form__wrapper input[type=text],
.search__form__wrapper select,
.search__form__wrapper .search__form--btn {
    width: 100%;
    background-color: #fff;
    height: 5.6rem;
    border-radius: 0;
    border-bottom: 2px solid var(--secundary-grey);
}

.search__form__wrapper input[type=text],
.search__form__wrapper select {
    font-size: 1.2em;
    line-height: 1.6rem;
    color: var(--font-black);
    text-align: center;
    font-weight: 300;
}

.search__form__wrapper input[type=text] {
    padding: 0 5rem;
}

.search__form__wrapper input[type=text]::placeholder {
    color: var(--font-black);
    -webkit-transition: opacity 0.3s linear;
    transition: opacity 0.3s linear;
}

.search__form__wrapper input[type=text]:focus::placeholder {
    opacity: 0;
}

.search__form__wrapper .search__form--btn {
    height: 7.6rem;
    border-bottom: none;
    padding: 1.2rem;
}


.search__form__sel-wrapper {
    position: relative;
    transition: opacity .7s;
}
.search__form__sel-wrapper i{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 2.5rem;
    transition: transform .4s linear;
}

/* .search__form__wrapper select:focus ~ i{
    transform: rotate(180deg);
    transform-origin: center center;
} */

.search__form__sel-wrapper i::before{
    font-size: .8rem;
}

.search__form__wrapper .search__form--btn button {
    width: 100%;
}

.search__form--location {
    display: inline-block;
    font-size: 1em;
    line-height: 1.4rem;
    text-decoration: underline;
    color: #fff;
    text-transform: uppercase;
    margin-top: 1.5rem;
    margin-inline: auto;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.search__form--search__list{
    background-color: red;
    display: flex;
    flex-direction: column;
}

@media only screen and (min-width : 961px) {
    .search__form {
        height: 8rem;
        margin-top: 4.6rem;
    }

    .search__form__wrapper {
        flex-direction: row;
        justify-content: space-between;
        height: 100%;
    }

    .search__form__wrapper input[type=text],
    .search__form__wrapper select,
    .search__form__wrapper .search__form--btn {
        border-bottom: none;
        height: 100%;
    }

    .search__form__wrapper input[type=text] {
        padding-right: 0;
        padding-left: 5.4rem;
        text-align: left;
    }

    .search__form--search i:before{
        font-size: 2rem;
    }

    .search__form__wrapper .search__form--btn {
        width: auto;
    }

    .search__form__wrapper .search__form--btn button {
        width: 9rem;
    }

    .search__form--search {
        width: 54.3%;
    }

    .search__form__wrapper .search__form__sel-wrapper {
        text-align: left;
        border-left: 2px solid var(--secundary-grey);
    }

    .search__form__wrapper .search__form__sel-wrapper select {
        padding-left: 6.1rem;
    }

    .search__form__wrapper input[type=text],
    .search__form__wrapper select {
        font-size: 1.8em;
        font-weight: 400;
    }

    .search__form__wrapper select{
        text-align: left;
    }

    .search__form--location:hover{
        text-decoration: none;
    }
}
@media only screen
and (min-width : 0)
and (max-width : 960px) {

  .search__form__wrapper select option {
    text-align: center;
    width: 100%;
    display: block;  
  }
}

/* @end */

/* @group PopUp con WP Popups
------------------------------------ */
body .spu-box {
  background: url(../img/layout/wp-popups/bg-mobile.png) top right no-repeat var(--main-blue);
  background-color: var(--main-blue)!important;
  background-size: cover;
}
.spu-container { padding: 5.7rem 2.3rem!important; color: var(--main-white); }
.spu-container h2 {
  font-size: 2.5em;
  font-weight: 600;
  line-height: 1.12em;
  margin: 0 0 1.8rem!important;
}
.spu-container p {
  font-size: 1.5em;
  line-height: 1.33em;
  margin: 0 0 2rem;
}
.spu-close { margin: 2rem 2rem 0 0; }
.spu-container p:last-child { margin: 0; }
.single-collection .spu-container .bttn-tang { background: var(--main-tang); margin: 0; }
@media only screen
and (min-width : 961px) {
  body .spu-box {
    background-image: url(../img/layout/wp-popups/bg.png);
  }
  .spu-container { padding: 11.5rem 9.4rem!important; }
  .spu-container h2 {
    font-size: 3.6em;
    line-height: 1.27em;
    margin: 0 0 2.4rem!important;
  }
  .spu-container p {
    font-size: 1.8em;
    line-height: 1.33em;
    margin: 0 0 2.4rem;
  }
}
@media only screen
and (min-width : 961px)
and (max-width : 1440px) {
}
@media only screen
and (min-width : 0)
and (max-width : 960px) {
  body .spu-box { max-width: calc(100% - 5rem)!important; }
  .spu-container .bttn { display: inline-flex; margin: 0; }
  .single-collection .spu-container .bttn { margin: 0; }
}
/* @end */

/* @group RESET GENERAL DE TAMAÑO
------------------------------------ */
.no-mobile {}

@media only screen
and (min-width : 961px) {
  .mobile { display: none!important; }
}
@media only screen
and (min-width : 961px)
and (max-width : 1440px) {
}
@media only screen
and (min-width : 0)
and (max-width : 960px) {
  .no-mobile { display: none!important; }
  /* html { font-size: 7px; } */
}
@media only screen
and (min-width : 0)
and (max-width : 600px) {
  /* html { font-size: 5px; } */
}
/* @end */

/* --- */


.search__form .autocomplete {
  position: relative;
  display: inline-block;
}
.search__form input {
  border: .1rem solid transparent;
  background-color: #f1f1f1;
  padding: 1rem;
  font-size: 1.8em;
}
.search__form input[type=text] {
  background-color: #f1f1f1;
  width: 100%;
}
.search__form input[type=submit] {
  background-color: var(--main-blue);
  color: #fff;
}
.search__form .autocomplete-items {
  position: absolute;
  border: 1px solid #d4d4d4;
  border-bottom: none;
  border-top: none;
  z-index: 99;
  top: 100%;
  left: 0;
  right: 0;
}
.search__form .autocomplete-items div {
  padding: 10px;
  cursor: pointer;
  background-color: #fff;
  border-bottom: 1px solid #d4d4d4;
  color: var(--font-black);
}
.search__form .autocomplete-items div:hover {
  background-color: #e9e9e9;
}
.search__form .autocomplete-active {
  background-color: var(--main-blue) !important;
  color: #ffffff;
}

.popup-message {
  position: fixed;
  width: 100%;
  height: 100%;
  display: none;
  align-items: flex-end;
  justify-content: flex-end;
  z-index: 9999;
}
.popup-message.active {
    display: flex;
}
.popup-message div {
  margin: 3rem;
  position: relative;
  background-color: var(--main-tang);
  padding: 3.5rem 3rem 3rem 3rem;
}
.popup-message h3 { 
  color: #000;
  font-weight: 700;
  font-size: 1.6rem;
}
.popup-message div i {
  position: absolute;
  top: 0;
  right: 0;
  margin: 1rem;
  cursor: pointer;
  font-size: 1rem;
  color: #000;
}


/* New Search form */
:is(.page-template-property-search, .home) .search__form {
    max-width: 41.5rem;
    margin-inline: auto;
}


:is(.page-template-property-search, .home) .search__form :is(.search__form--search, #important) {
    display: none;
}

:is(.page-template-property-search, .home) .search__form :is(.search__form__sel-wrapper, #important) {
    width: 100% !important;
}

.page-template-property-search .search__form{
    margin: 0;
}

@media screen and (max-width: 960px) {
    :is(.page-template-property-search, .home) .search__form {
        width: calc(100vw - 4rem);   
    }
}