/*GENERAL
--------------------------------------*/
body {
    font: normal normal 24px 'arial', sans-serif;
    color: #fff;
}

body.pace-running:before {
    opacity: 1
}

a,
a:link,
a:visited,
a:hover,
a:active {
    text-decoration: none;
    color: currentColor;
}

a {
    -webkit-transition: background .3s, color .3s;
    -o-transition: background .3s, color .3s;
    transition: background .3s, color .3s;
}

p {
    margin: 0;
}

:focus {
    outline: none;
}

ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#main-container {
    -webkit-transition: opacity 1.5s;
    -o-transition: opacity 1.5s;
    transition: opacity 1.5s;
}

.parallax-mirror {
    opacity: 0;
    -webkit-transition: opacity 1s;
    -o-transition: opacity 1s;
    transition: opacity 1s;
}

.pace-done #main-container {
    opacity: 1 !important
}

.pace-done .parallax-mirror {
    opacity: 1
}

.parallax-window {
    min-height: 400px;
    background: transparent;
}

.inner-wrapper {
    width: 100%;
    max-width: 1200px;
    position: relative;
    margin: 0 auto;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    padding: 0 15px;
}

.inner-wrapper.col-wrapper {
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;
    justify-content: center;
}

a.btn,
input.btn {
    height: 68px;
    padding: 0 40px;
    line-height: 68px;
    background: #1780eb;
    text-align: center;
    text-transform: uppercase;
    display: inline-block;
    color: #fff;
    font-size: 21px;
    font-weight: 700;
    border-radius: 10px;
    margin: 0 auto 0 0;
    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .2);
    box-shadow: 0 0 5px rgba(0, 0, 0, .2);
}

a.btn:hover,
input.btn:hover {
    background: #268ffb;
}

::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    text-transform: uppercase;
    color: currentColor;
    opacity: 1;
    -webkit-transition: opacity .3s;
    -o-transition: opacity .3s;
    transition: opacity .3s;
}

::-moz-placeholder {
    /* Firefox 19+ */
    text-transform: uppercase;
    color: currentColor;
    opacity: 1;
    -webkit-transition: opacity .3s;
    -o-transition: opacity .3s;
    transition: opacity .3s;
}

:-ms-input-placeholder {
    /* IE 10+ */
    text-transform: uppercase;
    color: currentColor;
    opacity: 1;
    -webkit-transition: opacity .3s;
    -o-transition: opacity .3s;
    transition: opacity .3s;
}

:-moz-placeholder {
    /* Firefox 18- */
    text-transform: uppercase;
    color: currentColor;
    opacity: 1;
    -webkit-transition: opacity .3s;
    -o-transition: opacity .3s;
    transition: opacity .3s;
}

:focus::-webkit-input-placeholder {
    opacity: .3
}

:focus::-moz-placeholder {
    opacity: .3
}

:focus:-ms-input-placeholder {
    opacity: .3
}

:focus:-moz-placeholder {
    opacity: .3
}

/*LAYOUT
--------------------------------------*/
#header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 90px;
    z-index: 5;
    transition: transform .3s, background .3s;
}

#header.headroom--unpinned{
    transform: translateY(-200px);
}

#header.headroom--not-top{
    background: #fff;
}

#logo {
    width: 193px;
    position: relative;
    z-index: 20;
}

#logo img {
    width: 100%;
}


#nav {
    transition: transform .3s;
}

#header.headroom--not-top #nav{
    transform: translateY(-40px);
}

#header.headroom--not-top #nav a{
    color:#000;
}

#nav ul {}

#nav li {
    display: inline-block;
    margin-left: 20px;
}

#nav a {
    font-family: Jost;
    font-size: 16px;
    line-height: 40px;
    font-weight: 300;
    color: #ffffff;
}

#nav a:hover,
#nav li.current a,
#header.headroom--not-top #nav li.current a{
    color: #87e1d1;
}

.slicknav_menu {
    position: absolute;
    right: 0;
    top: 18px;
    padding: 0;
    margin: 0;
    background-color: transparent;
    width: 100%;
    display: none;
    z-index: 10;
}

.slicknav_nav {
    clear: both;
    color: #fff;
    margin: 0;
    background: rgb(80 44 30 / 90%);
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    position: absolute;
    width: 100%;
    top: 65px;
    left: 0;
    text-align: center;
    color: #fff;
    padding: 105px 0 0;

}

.slicknav_nav ul {
    margin: 0;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

.slicknav_nav li {
    margin-bottom: 30px;
    color: #fff
}

.slicknav_nav li a.active,
.slicknav_nav li a.focus,
.slicknav_nav a:hover {
    color: #00a651;
    background: unset;
}

.slicknav_btn {
    background: unset;
    margin: 10px 5px 6px;
}

.slicknav_menu .slicknav_icon-bar {
    background: #502c1e;
    -webkit-box-shadow: none;
    box-shadow: none;
}

#footer {
    background: #7a6569;
    padding: 40px 0;
}

.footer-col {}

#footer-logo {
    width: 100px;
}

#footer small {}

#footer ul {}

#footer li {
    display: inline-block;
    margin-left: 20px;
}

#footer a {
    font-family: Jost;
    font-size: 14px;
    line-height: 40px;
    font-weight: 300;
    color: #ffffff;
    position: relative;
}

#footer a:before{
    display:block;
    content:'';
    width: 0;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: width .3s;
    background: currentColor;
}

#footer a:hover:before{
    width: 100%;
}

section h2 {
    font-family: Jost;
    font-weight: 300;
    font-size: 40px;
    text-transform: uppercase;
}

section h2 span {
    font-family: 'Playfair Display';
    line-height: 110px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

#main {
    height: 1px;
    min-height: 100vh;
    padding-top: 160px;
    position: relative;

}

#main:before {
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: rgba(0, 0, 0, .4);
}

#main h1 {
    font-family: Jost;
    font-size: 70px;
    line-height: 80px;
    font-weight: 300;
    color: #87e1d1;
    margin-bottom: 30px;
}

#main p {
    font-family: 'Playfair Display';
    font-size: 20px;
    line-height: 30px;
    font-weight: 400;
    color: #ffffff;
    margin-bottom: 55px;
}

#main-btn {
    font-family: Jost;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #87e1d1;
    margin-bottom: 55px;
    width: 164px;
    height: 43px;
    line-height: 40px;
    text-align: center;
    border: 1px solid currentColor;
    display: block;
}

#main-btn:hover{
    background:  #87e1d1;
    color: #502c1e;
}

#main-scroll{
    width: 33px;
    height: 33px;
}

#main-scroll img{
    width: 100%;
}

.bounce {
  -moz-animation: bounce 2s infinite;
  -webkit-animation: bounce 2s infinite;
  animation: bounce 2s infinite;
}

@keyframes bounce {
  0%,
  100% {
    transform: translateY(0);
  }  
  50%
   {
    transform: translateY(-10px);
  }
  
}

#project {
    padding-top: 60px;
}

#project h2 {
    color: #87E1D1;
    margin-bottom: 50px;
}

#project-main {
    height: 1px;
    min-height: 100vh;
    background: url(../img/project-bg.jpg) no-repeat center bottom / cover;
    padding-bottom: 80px;
}

#project-main .col-lg-8{
    text-align: center;
    margin: auto;
}

#project-main p strong {
    font-family: Jost;
    font-size: 30px;
    line-height: 39px;
    font-weight: 300;
    color: #7a6569;
}

#project-main p {
    font-family: 'Playfair Display';
    font-size: 18px;
    line-height: 30px;
    font-weight: 400;
    color: #502c1e;
}


#project-main strong {
    font-family: Jost;
    font-size: 55px;
    line-height: 70px;
    font-weight: 300;
    color: #f2dab2;
}

#project-feat {
    padding: 80px 0 150px;
    background: url(../img/project-bg-2.jpg) no-repeat center bottom / cover;
}

#project-feat p {
    font-family: Jost;
    font-size: 55px;
    line-height: 70px;
    font-weight: 300;
    color: #502c1e;
    margin-bottom: 85px;
}

.project-feat-item {
    display: flex;
    padding: 15px;
    background: rgba(255, 255, 255, .8);
    align-items: center;
    justify-content: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;

}

.project-feat-item:before {
    display: block;
    content: '';
    width: 100%;
    height: 0;
    padding-top: 100%;
    left: 0;
    top: 0;
}

#project-feat ul {}

#project-feat li {
    color: #502C1E;
    font-family: Jost;
    font-size: 20px;
}


#project-feat img {
    margin-bottom: 35px;
    height: 70px;
}

#project-feat span {
    font-family: Jost;
    font-size: 20px;
    line-height: 40px;
    font-weight: 300;
    color: #502c1e;
    line-height: 1;
    display: block;
}

#project-feat strong {}

#amenities {
    position: relative;
    height: 44vw;
    padding-top: 50px;
}

#amenities-slider {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

#amenities-slider-control {
    width: 100%;
    max-width: 542px;
    height: 83px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    background: #a1e7d7;
    padding: 15px 95px;
}

#amenities-slider .slick-prev,
#amenities-slider .slick-next {
    position: absolute;
    top: 50%;
    z-index: 1;
    transform: translateY(-50%);
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: unset;
    background: #a1e7d7;
}

#amenities-slider .slick-prev img,
#amenities-slider .slick-next img {
    width: 16px;
    transition: transform .3s;
}

#amenities-slider .slick-prev {
    left: 0;
}

#amenities-slider .slick-next {
    right: 0;
    transform: translateY(-50%) rotate(180deg);
}

#amenities-slider .slick-prev:hover img,
#amenities-slider .slick-next:hover img{
    transform: translateX(-5px);
}

#amenities-slider-control .slick-dots {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

#amenities-slider-control .slick-dots li {
    height: 5px;
    background: #89afa0;
    padding: 0;
    flex-grow: 1;
    margin: 0 1px;
    cursor: pointer;
    transition: background .3s;
}

#amenities-slider-control .slick-dots li.slick-active,
#amenities-slider-control .slick-dots li:hover {
    background: #502c1d;
}

#amenities-slider-control .slick-dots button {
    border: unset;
    background: unset;
    font-size: 0;
    line-height: 0;
    text-indent: -200vw;
    padding: 0;
}

#amenities h2 {
    color: #fff;
    position: relative;
    z-index: 1;
}

#amenities-slider-txt{
    margin-bottom: 5px;
}

#amenities p {
    font-family: Jost;
    font-size: 20px;
    line-height: 45px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #502c1e;
    text-align: center;
}

#amenities img {
    width: 100%;
    max-height: 44vw;
}


#desarrollo {
    padding: 70px 0 35px;
    color: #7a6569;
    font-family: Jost;
    font-size: 30px;
    line-height: 39px;
    font-weight: 300;
    color: #7a6569;
}

.flow-combina{
    font-weight: 700;
    font-size: 24px;
    padding-top: 25px;
}
.flow-combina img{
    max-width: 200px;
    padding-bottom: 20px;
    display: block;
    margin: auto;
}

.inversor{
    background: #dbf6f2;
    font-size: 24px;
    margin: 30px auto;
    padding: 25px 0px;
}
.inversor li{
    padding: 5px 0px 5px 30px;
    font-size: 20px;
    line-height: 28px;
    background-image: url(../img/tic.png);
    background-repeat: no-repeat;
    background-position: left center;
}

.destino-playa{
    font-size: 20px;
    line-height: 28px;
    padding: 60px 0px 0px;
}

.destino-playa img{
    max-width: 400px;
    width: 100%;
    margin: auto;
    text-align: center;
    display: block;
}
#plan {
    padding: 70px 0 35px;
}

#plan h2 {
    color: #502c1e;
    margin-bottom: 80px;
}

#map iframe{width: 100%;}

#plan ul {}

#plan li {
    font-family: Jost;
    font-size: 16px;
    line-height: 254px;
    font-weight: 500;
    letter-spacing: 0.05em;
    max-width: 217px;
    height: 44px;
    line-height: 44px;
    padding: 0 16px;
    color: #86e1d0;
    border: 1px solid #86e1d0;
    margin-bottom: 7px;
    cursor: pointer;
    transition: color .3s, background .3s;
    font-size: 14px;
}

#plan li:hover,
#plan li.current{
    color: #502c1e;
    background: #86e1d0;
}

#plan img{
    width: 100%;
}

#gal {
    padding: 80px 0;
}

#gal h2 {
    color: #502C1E;
    margin-bottom: 60px;
}

#gal .slide{
    margin: 0 25px;
}

#gal img{
    width: 100%;
}

#gal-slider .slick-prev,
#gal-slider .slick-next {
    position: absolute;
    top: 50%;
    z-index: 1;
    transform: translateY(-50%);
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: unset;
    background: #a1e7d7;
}

#gal-slider .slick-prev img,
#gal-slider .slick-next img {
    width: 16px;
}

#gal-slider .slick-prev {
    left: 0;
}

#gal-slider .slick-next {
    right: 0;
    transform: translateY(-50%) rotate(180deg);
}

#gal-slider .slick-prev img,
#gal-slider .slick-next img {
    width: 16px;
    transition: transform .3s;
}
#gal-slider .slick-prev:hover img,
#gal-slider .slick-next:hover img{
    transform: translateX(-5px);
}

#progress {
    background: #a1e7d7;
    overflow: hidden;
}

#progress-info {
    padding: 85px 0 105px;
}

#progress h2 {
    color: #502C1E;
    margin-bottom: 80px;
}

#progress h3 {
    font-family: Jost;
    font-size: 35px;
    line-height: 45px;
    font-weight: 300;
    color: #ffffff;
    margin-bottom: 40px;
}

#progress-info strong {
    font-family: 'Playfair Display';
    font-size: 40px;
    font-weight: 700;
    color: #ffffff;
    width: 105px;
    height: 105px;
    text-align: center;
    line-height: 95px;
    background:  url(../img/percent.svg) no-repeat center / 100%;
    display: block;
    margin-right: 20px;
    flex-grow: 1;
}

#progress-info small{
    font-size: 20px;
}

#progress p {
    font-family: 'Playfair Display';
    font-size: 18px;
    line-height: 30px;
    font-weight: 400;
    color: #502c1e;
    margin-bottom: 40px;
}

#progress a {
    font-family: Jost;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #ffffff;
    width: 164px;
    height: 43px;
    line-height: 43px;
    text-align: center;
    border: 1px solid currentColor;
    display: block;
}

#progress a:hover {
    background: #fff;
    color: #a1e7d7;
}

#progress-slider{
    min-width: 55vw;
    height: 100%;
}

#progress-slider .slick-list,
#progress-slider .slick-track{
    height: 100%;
}
#progress-slider img {
    width: 100%;
}

#progress-slider .slick-dots {
    width: 100%;
    max-width: 650px;
    display: flex;
    justify-content: space-between;
    position: absolute;
    bottom: 15px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

#progress-slider .slick-dots li {
    height: 5px;
    background: #fff;
    padding: 0;
    flex-grow: 1;
    margin: 0 1px;
    cursor: pointer;
    opacity: .3;
    transition: opacity .3s;
}

#progress-slider .slick-dots li:hover,
#progress-slider .slick-dots li.slick-active {
    opacity: .8;
}

#progress-slider .slick-dots button {
    border: unset;
    background: unset;
    font-size: 0;
    line-height: 0;
    text-indent: -200vw;
    padding: 0;
}

#finishing {
    padding: 95px 0;
}

#finishing h2 {
    color: #502C1E;
    margin-bottom: 55px;
}

#finishing h3 {
    font-family: Jost;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #502c1e;
}

#finishing ul {}

#finishing li {
    font-size: 16px;
    line-height: 24px;
    text-transform: none;
    letter-spacing: normal;
    color: #7a6569;
}

#finishing img {
    margin-bottom: 20px;
    width: 100%;
}

#finishing span {}

#location {
    padding-top: 70px;
    background: #7a6569;
}

#location h2 {
    color: #fff;
    margin-bottom: 55px;
}

#location p {
    font-family: Jost;
    font-size: 30px;
    line-height: 35px;
    font-weight: 300;
    color: #ffffff;
    margin-bottom: 80px;
}

#map {}

#contact {
    background: #502c1d;
}

#contact-info {
    padding: 85px 0  0;
}

#contact h2 {
    color: #fff;
    margin-bottom: 75px;
}

#contact-info a {
    font-family: Jost;
    font-size: 40px;
    line-height: 1.2;
    font-weight: 700;
    color: #87e1d1;
    margin-bottom: 45px;
    position: relative;
    display: inline-block;

}

#contact-info a:before{
    display:block;
    content:'';
    width: 0;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: width .3s;
    background: currentColor;
}

#contact-info a:hover:before{
    width: 100%;
}

#contact p {
    font-family: 'Playfair Display';
    font-size: 18px;
    line-height: 30px;
    font-weight: 400;
    color: #ffffff;
    margin-bottom: 50px;
}

#contact-social {
    display: flex;
    margin: auto;
    max-width: 120px;
    margin-bottom: 215px;
}

#contact-social a {
    width: 25px;
    height: 25px;
    margin-right: 15px;
    opacity: .7;
    transition: opacity .3s;
}

#contact-social a:hover{
    opacity: 1
}

#contact-social a img{
    width: 100%;
}

#contact form {
    background: #86e1d0;
    height: calc(100% - 95px);
    padding: 130px 30px;
}

#contact input:not([type="submit"]),
#contact textarea {
    width: 100%;
    background: unset;
    border-color: currentColor;
    border-style: solid;
    border-width: 0 0 1px;
    font-family: Jost;
    font-size: 20px;
    line-height: 40px;
    font-weight: 300;
    color: #502c1e;
}

#contact input:not([type="submit"]) {
    height: 35px;
}

#contact textarea {
    height: 180px;
}

#contact input[type="submit"] {
    font-family: Jost;
    font-size: 16px;
    line-height: 254px;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #502c1e;
    width: 163px;
    height: 44px;
    line-height: 40px;
    text-align: center;
    border: 2px solid currentColor;
    background: unset;
    margin-left: auto;
    display: block;
    cursor: pointer;
    transition: color .3s, background .3s;
}

#contact input[type="submit"]:hover {
    background: #502c1e;
    color: #86e1d0;
}

/*CONTACT
--------------------------------------*/

#contact .parsley-errors-list {
    display: none;
    border: none;
    font-weight: normal;
    font-style: normal;
    font-size: 11px;
    color: #fff;
    line-height: 1.5;
    clear: both;
    float: right;
    width: 100%;
    margin-bottom: 15px;
    position: absolute;
    top: 45px;
    right: 10px;
    text-align: right;
    pointer-events: none;
    background: #ff5252;
    width: 120px;
    text-align: center;
    padding: 0 5px;
}

#contact .parsley-errors-list.filled {
    display: block;
}

#contact #contact-loader {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #fff;
}

#contact #contact-loader #loader {
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -25px 0 0 -25px;
    width: 50px;
    height: 50px;
    background: url(../img/loader.svg) no-repeat center;
}

#contact #contact-msg-text {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    opacity: 0;
}

#contact #contact-msg-text h2 {
    font-weight: normal;
    font-style: normal;
    font-size: 32px;
    color: currentColor;
    line-height: 1.5;
}

#contact #contact-msg-text p {
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
}

/*MQ
--------------------------------------*/

@media screen and (max-width: 991px) {
    #nav {
        display: none;
    }


    .slicknav_menu {
        display: block;
    }

    #footer{
        text-align: center;
    }
    #footer-logo{
        margin-bottom: 15px;
    }
    #main{
        min-height: unset;
        height: auto;
        padding-bottom: 50px;
        padding-top: 200px;
    }

    #main h1{
        font-size: 50px;
        line-height: 1;
    }

    #project{
        text-align: center;
    }

    #project-main{
        min-height: unset;
        height: unset;
        padding-bottom: 800px;
    }
    .project-feat-item{
        margin-bottom: 30px;
    }

    #amenities{
        padding-top: 15px;
    }

    #amenities h2 span{
        line-height: 1;
    }

    #amenities-slider-control{
        height: 20px;
        padding: 14px 95px 25px;
    }

    #amenities p{
        font-size: 12px;
        line-height: 1;
    }

    #plan ul{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }

    #plan li{
        margin: 0 5px;
        font-size: 12px;
        line-height: 1.1;
        display: flex;
        align-items: center;
        justify-content: center;
        align-content: center;
        text-align: center;
        width: 100px;
        margin-bottom: 10px;
    }

    #progress-info{
        text-align: center;        
    }

    #progress a{
        margin: 0 auto;
    }

    #finishing{
        text-align: center;
    }

    #location{
        text-align: center;
    }

    #contact{
        text-align: center;
    }

    #contact-info a{
        font-size: 30px;
    }

    #contact-social{
        justify-content: center;
    }

}