@font-face {
    font-family: 'Spin';
    src: url('../fonts/SPINWERAD.eot');
    src: url('../fonts/SPINWERAD.eot?#iefix') format('embedded-opentype'), 
        url('../fonts/SPINWERAD.woff') format('woff'), 
        url('../fonts/SPINWERAD.ttf') format('truetype'), 
        url('../fonts/SPINWERAD.svg#Spin') format('svg');
    font-style: normal;
    font-stretch: normal;
    unicode-range: U+0020-00FE;
}

@font-face {
    font-family: 'Duro R';
    src: url('../fonts/DUROTYPE---FLEXO-REGULAR.eot');
    src: url('../fonts/DUROTYPE---FLEXO-REGULAR.eot?#iefix') format('embedded-opentype'), 
        url('../fonts/DUROTYPE---FLEXO-REGULAR.woff') format('woff'), 
        url('../fonts/DUROTYPE---FLEXO-REGULAR.ttf') format('truetype'), 
        url('../fonts/DUROTYPE---FLEXO-REGULAR.svg#Duro R') format('svg');
    font-style: normal;
    font-stretch: normal;
    unicode-range: U+0020-00FE;
}

@font-face {
    font-family: 'Duro M';
    src: url('../fonts/DUROTYPE---FLEXO-MEDIUM.eot');
    src: url('../fonts/DUROTYPE---FLEXO-MEDIUM.eot?#iefix') format('embedded-opentype'), 
        url('../fonts/DUROTYPE---FLEXO-MEDIUM.woff') format('woff'), 
        url('../fonts/DUROTYPE---FLEXO-MEDIUM.ttf') format('truetype'), 
        url('../fonts/DUROTYPE---FLEXO-MEDIUM.svg#Duro M') format('svg');
    font-style: normal;
    font-stretch: normal;
    unicode-range: U+0020-00FE;
}
@font-face {
    font-family: 'Duro B';
    src: url('../fonts/Flexo-Bold.eot');
    src: url('../fonts/Flexo-Bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Flexo-Bold.woff2') format('woff2'),
        url('../fonts/Flexo-Bold.woff') format('woff'),
        url('../fonts/Flexo-Bold.ttf') format('truetype'),
        url('../fonts/Flexo-Bold.svg#Flexo-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

body{
    margin: 0;
    padding: 0;
    font-family: 'Duro R';
    overflow-x: hidden;
}


/****Generales****/
h1, h2, p, h4, h3 {
    white-space: pre-line;
}
h2{
    color: #4A84CC;
    font-family: Spin;
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}
p{
    font-family: Duro R;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    color: #808080;
}
.txttitgbl{
    color: #4A84CC;
    font-size: 14px;
    position: relative;
    text-transform: uppercase;
}
.txttitgbl::after{
    content: '';
    background: url(../img/olatxt.svg);
    position: absolute;
    background-repeat: no-repeat;
    left: 0;
    height: 5px;
    width: 37px;
    bottom: -4px;
}
.linkfahm{
    color: #FFF;
    font-family: Duro R;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    background: #4A84CC;
    padding: 9px 16px 7px;
    border-radius: 4px;
    cursor: pointer;
}
a{
    display: inline-flex;
}
.c-white{
    color: #FFFFFF;
}
.c-sky{
    color: #4A84CC;
}
.hovbtn{
    -webkit-transition: .5s;
    transition: .8s;
}
.hovbtn:hover{
    box-shadow: inset 0 0 0 2em #529bf5;
}
.cssarrow{
    background: #4A84CC;
    padding: 13px 20px;
    border-radius: 50%;
    position: absolute;
}
/****Fin Generales****/


/****Menu****/
#topnav{
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 99;
    background: #FFFFFF;
    height: 80px;
    transition: .5s all;
    box-shadow: 0 5px 10px 0 rgb(0 0 0 / 10%);
}
.stylmen{
    font-size: 14px;
    font-weight: 500;
    font-stretch: normal;
    line-height: 1.16;
    letter-spacing: normal;
    text-align: center;
    color: #808080;
    text-transform: uppercase;
    transition: .4s all;
}
.stylmen:hover{
    color: #4A84CC;
}
.main_nav{
    list-style: none;
    margin: 0;
    height: 80px;
}
.btncont{
    padding: 9px 16px 7px;
    border: 1px solid #4A84CC;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 400;
    font-stretch: normal;
    background: #4A84CC;
    border-radius: 4px;
    cursor: pointer;
}
.img_logo{
    margin-top: 26px;
}

#home-page .lnkpro,
#departamentos-page .lnkdep, 
#promociones-page .lnkprm,
#nosotros-page .lnknos{
    color: #4A84CC;
    position: relative;
}

#home-page .lnkpro::after,
#departamentos-page .lnkdep::after,
#promociones-page .lnkprm::after,
#nosotros-page .lnknos::after{
    content: '';
    background-image: url(../img/menu.svg);
    background-repeat: no-repeat;
    position: absolute;
    width: 38px;
    height: 5px;
    bottom: -10px;
    left: 0;
    right: 0;
    margin: 0 auto;
}
/****Fin Menu****/


/****HOME****/
#inicio-home{
    margin-top: 70px;
    position: relative;
}
.oceanHm{
    position: absolute;
    width: 100%;
    height: 52px;
    bottom: -1px;
}

.item-content{
    height: calc(100vh - 70px);
	width: 100%;
}
#banner .owl-dots{
    bottom: 65px;
}
.wave {
    background-image: url('../img/ola.svg');
    background-repeat: repeat-x;
    background-size: 115px auto;
    background-position: bottom;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 84px;
    animation: wave 5s cubic-bezier(0.36, 0.45, 0.63, 0.53) infinite;
    z-index: 1;
}

.wave:nth-of-type(2) {
    opacity: 0.5;
    animation: swell 5s ease -1.25s infinite, wave 5s cubic-bezier(0.36, 0.45, 0.63, 0.53) -.125s infinite;
    z-index: 9;
}

@keyframes wave {
    0% {
        background-position-x: 0%;
    }
    100% {
        background-position-x: -115px;
    }
}

@keyframes swell {
    0%, 100% {
        background-position: right bottom 5px;
    }
    50% {
        background-position: right bottom 0;
    }
}

#fachada-home{
    padding: 80px 0;
}
.divcontcollage{
    background: #4A84CC;
    height: 36.2%;
    padding: 0 20px;
}
.divhemtd{
    height: 63%;
}
.divhemtdfull{
    height: 100%;
}
.lineh{
    line-height: 2.3;
}
#etapas-home{
    padding: 80px 0;
}
#areas-home{
    padding: 80px 0;
    position: relative;
}
.navr{
    top: 50%;
    right: 23.5%;
}
.navl{
    top: 38%;
    right: 23.5%;
}
.confnts{
    background: #DAE6F5;
    position: absolute;
    top: 57px;
    width: 25%;
    margin-left: -50px;
    height: 65%;
    border-radius: 8px;
}
#playa-home{
    position: relative;
    height: 750px;
    background-position: center !important;
    background-size: cover !important;
    background-attachment: fixed !important;
}
.hecoltxtply{
    height: 750px;
}
.txtdesply{
    position: absolute;
    bottom: 50px;
    right: 15px;
    font-size: 19px;
	line-height: 27px;
}
.txtdesply::after{
    content: '';
    background: url(../img/olatxtw.svg);
    position: absolute;
    background-repeat: no-repeat;
    right: 0;
    height: 5px;
    width: 37px;
    bottom: -15px;
}
#diversion-home{
    padding: 80px 0;
}
.contdivtxt{
    position: relative;
}
.posabtxtdvr{
    position: absolute;
    bottom: 19px;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
}
.navDl{
    position: absolute;
    top: 34%;
    left: -28px;
}
.navDr{
    position: absolute;
    top: 34%;
    right: -28px;
}
#DiversionSlider .owl-dots{
    bottom: -5px;
}
#DiversionSlider .owl-dot{
    width: 10px;
    height: 10px;
    background: #4A84CC !important;
}
#DiversionSlider .owl-dot.active{
    width: 10px;
    height: 10px;
    background: #4A84CC !important;
}
#ubicacion-home{
    padding: 80px 0;
}
.continfubi{
    background: #4A84CC;
    border-radius: 16px;
    padding: 40px 230px 80px 30px;
    width: calc(100% + 200px);
}
.txtinfoagend{
    color: #FFFFFF;
    font-weight: 600;
    font-size: 19px;
    text-align: center;
    line-height: 1.2;
}
.divpalagdct{
    width: 131px;
    height: 131px;
    background: #2E6192;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    float: right;
    position: relative;
    margin-top: -66px;
    z-index: 9;
}
.palcita{
    display: inline-block;
    font-size: 150px;
    background: #2E6192;
    height: 65px;
    width: 65px;
    border-radius: 50%;
    animation: latidos 1.3s infinite;
    transform-origin: center;
    position: absolute;
    z-index: -1;
}
@keyframes latidos {
    0% { 
        transform: none; 
        opacity: 1;
    }
    100% { 
        transform: scale(2.5); 
        opacity: 0;
    }
}
/****Fin Home****/


/****Footer****/
footer{
    background: #F2F5F8;
    padding: 60px 0;
}
.titftbtm{
    color: #4A84CC;
    font-size: 16px;
    font-weight: 700;
}
.subtitftbtm{
    color: #4A84CC;
    font-size: 16px;
}
.txtftbtm{
    font-size: 16px;
}
.ulft{
    padding: 0;
    list-style: none;
}
.linkft{
    font-family: Duro R;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    color: #808080;
}
/****Fin Footer****/


/****Departamentos****/
#cabecera-depa{
    position: relative;
    margin-top: 80px;
}
.txtdesdep{
    font-family: Spin;
    position: absolute;
    bottom: 90px;
    right: 15px;
    font-size: 22px;
    line-height: 30px;
}
.txtdesdep::after{
    content: '';
    background: url(../img/olatxtw.svg);
    position: absolute;
    background-repeat: no-repeat;
    right: 0;
    height: 5px;
    width: 37px;
    bottom: -15px;
}
#areas-depa{
    padding: 80px 0 40px;
    position: relative;
}
#recorrido-depa{
    padding: 40px 0 80px;
}
.titrecosb{
    color: #4A84CC;
    font-size: 19px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    position: relative;
}
.titrecosb::after{
    content: '';
    background: url(../img/olatxt.svg);
    position: absolute;
    background-repeat: no-repeat;
    left: 0;
    height: 5px;
    width: 37px;
    bottom: -10px;
}
.txtbtnrecdp{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #4A84CC;
    color: #FFFFFF;
    padding: 9px 27px 7px;
    border-radius: 4px;
    border: 1px solid #4A84CC;
    z-index: 1;
}
.imgrecdep{
    position: relative;
}
.imgrecdep img{
    border-radius: 8px;
}
.imgrecdep:hover .txtbtnrecdp{
    background: transparent;
    border: 1px solid #FFFFFF;
}
.imgrecdep:hover::after{
    content: '';
    background: rgba(74, 132, 204, 0.57);
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
}
#tabs-depa{
    padding: 80px 0;
}
.tabs-depas{
    border: none;
}
.tabdepa{
    color: #808080;
    font-family: 'Duro R';
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    padding: 0;
    position: relative;
}
.tabs-depas .tabdepa:hover{
    border: 1px solid transparent;
}
.tabs-depas .tabdepa.active{
    color: #4A84CC;
    border: 1px solid transparent;
}
.tabs-depas .tabdepa.active::after{
    content: '';
    background: url(../img/olatxt.svg);
    position: absolute;
    background-repeat: no-repeat;
    left: 0;
    height: 5px;
    width: 37px;
    bottom: -10px;
}
#cotizador-depa{
    background: #DAE6F5;
    padding: 80px 0;
}
.tabs-cotizador{
    border: none;
}
.tabs-cotizador .tabcotizador{
    border-color: transparent !important;
}
.tabs-cotizador .tabcotizador .divconinfoCt{
    color: #4A84CC;
    text-align: center;
    font-family: 'Duro M';
    font-size: 13px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    background: #FFFFFF;
    height: 96px;
    width: 96px;
    border-radius: 50%;
    padding: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.tabs-cotizador .tabcotizador div span{
    font-weight: 400;
    margin-top: 4px;
    display: block;
}
.tabs-cotizador .tabcotizador{
    position: relative;
    padding: 0;
}
.tabs-cotizador .tabcotizador.active .divconinfoCt{
    background: #4A84CC;
    color: #FFFFFF;
}
.tabs-cotizador .tabcotizador.active .palcitacoti{
    background: #4A84CC;
    height: 50px;
    width: 50px;
    border-radius: 50%;
    animation: latidosCot 1.3s infinite;
    transform-origin: center;
    position: absolute;
    top: 23px;
    right: 0;
    left: 0;
    margin: 0 auto;
}
@keyframes latidosCot {
    0% { 
        transform: none; 
        opacity: 1;
    }
    100% { 
        transform: scale(2.5); 
        opacity: 0;
    }
}
.infoplano{
    background: #4A84CC;
    padding: 15px 40px 20px;
    margin-top: 26px;
}
.titinfopl{
    color: #FFFFFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.8px;
}
.txtdesinpl{
    color: #FFFFFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.8px;
}
.divconolinf{
    position: relative;
    padding-top: 13px;
    background: #FFF;
    margin-top: -8px;
}
.waveBlue {
    background-image: url('../img/olablue.svg');
    background-repeat: repeat-x;
    background-size: 115px auto;
    background-position: top;
    position: absolute;
    top: 0;
    width: 100%;
    height: 84px;
    animation: waveBlue 5s cubic-bezier(0.36, 0.45, 0.63, 0.53) infinite;
    z-index: 1;
}

.waveBlue:nth-of-type(2) {
    opacity: 0.5;
    animation: swellBlue 5s ease -1.25s infinite, waveBlue 5s cubic-bezier(0.36, 0.45, 0.63, 0.53) -.125s infinite;
    z-index: 9;
}

@keyframes waveBlue {
    0% {
        background-position-x: 0%;
    }
    100% {
        background-position-x: -115px;
    }
}

@keyframes swellBlue {
    0%, 100% {
        background-position: right top 5px;
    }
    50% {
        background-position: right top 0;
    }
}
.btnllistpl{
    color: #808080;
    font-size: 14px;
    font-style: normal;
    font-weight: 550;
    line-height: 24px;
    letter-spacing: 0.48px;
    background: #FFFFFF;
    padding: 11px 17px;
    border: 1px solid #4A84CC;
    border-radius: 4px;
    cursor: pointer;
}
.tipolist{
    color: #4A84CC;
    font-size: 16px;
    font-style: normal;
    font-weight: 550;
    line-height: 24px;
    letter-spacing: 0.64px;
    margin-right: 15px;
    text-transform: uppercase;
}
.txteligepl{
    color: #4A84CC;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}
.contcollapseplano{
    position: relative;
}
.continulist{
    position: absolute;
    background: #FFF;
    z-index: 1;
    width: 100%;
    box-shadow: 0 5px 10px 0 rgb(0 0 0 / 10%);
    border-radius: 4px;
    max-height: 190px;
    overflow: auto;
}
.ullistpl{
    padding: 0;
    list-style: none;
    margin: 0;
}
.lilistpl{
    color: #808080;
    font-size: 14px;
    font-style: normal;
    font-weight: 550;
    line-height: 24px;
    letter-spacing: 0.48px;
    padding: 6px 17px;
    cursor: pointer;
    transition: .5s all;
}
.lilistpl span{
    color: #4A84CC;
    font-size: 16px;
    font-style: normal;
    font-weight: 550;
    line-height: 24px;
    letter-spacing: 0.64px;
    margin-right: 15px;
    text-transform: uppercase;
}
.lilistpl:hover{
    background: #d7dcf6;
}
.imgdownpl{
    float: right;
}

/* width */
.continulist::-webkit-scrollbar {
    width: 5px;
}

/* Track */
.continulist::-webkit-scrollbar-track {
    box-shadow: inset 0 0 2px grey;
    border-radius: 6px;
}

/* Handle */
.continulist::-webkit-scrollbar-thumb {
    background: gray;
    border-radius: 2px;
}
.inptbgwhite{
    background: #FFFFFF !important;
}
.formcotizador{
    padding-top: 0;
}
/****Fin Departamentos****/


/****Promociones****/
#inicio-promo{
    padding: 80px 0;
    margin-top: 80px;
}
.navPl{
    left: -90px;
    top: 40%;
}
.navPr{
    right: -90px;
    top: 40%;
}
.contdivtxtPro{
    position: relative;
    padding-left: 50px;
    padding-top: 30px;
}
.titpromo{
    color: #4A84CC;
    font-size: 19px;
    font-weight: 600;
    position: relative;
}
.titpromo::after {
    content: '';
    background: url(../img/olatxt.svg);
    position: absolute;
    background-repeat: no-repeat;
    left: 0;
    height: 5px;
    width: 37px;
    bottom: -4px;
}
.fndprmcel{
    background: #DAE6F5;
    position: absolute;
    top: 0;
    width: 65%;
    margin-left: -50px;
    height: 80%;
    border-radius: 8px;
    z-index: -1;
}
/****Fin Promociones****/


/****Nosotros****/
#inicio-nosotros{
    margin-top: 80px;
    padding-bottom: 80px;
    padding-top: 50px;
}
#experiencia-nosotros{
    padding: 150px 0 40px;
}
.continfexp {
    background: #DAE6F5;
    border-radius: 16px;
    padding: 75px 160px 90px 80px;
    width: calc(100% + 130px);
    margin-top: -75px;
}
.contdivtxtProyct{
    position: relative;
}
.posabtxtPro{
    position: absolute;
    top: 19px;
    left: 20px;
    font-weight: 600;
    font-size: 20px;
    text-transform: uppercase;
}
#proyectos-nosotros{
    padding: 40px 0 80px;
}
.navPrl{
    left: -90px;
    top: 40%;
}
.navPrr{
    right: -90px;
    top: 40%;
}
#ProyectosSlider .owl-dots{
    bottom: -5px;
}
#ProyectosSlider .owl-dot{
    width: 10px;
    height: 10px;
    background: #4A84CC !important;
}
#ProyectosSlider .owl-dot.active{
    width: 10px;
    height: 10px;
    background: #4A84CC !important;
}
/****Fin Nosotros****/


/****Contacto****/
#cabecera-contacto{
    position: relative;
    margin-top: 80px;
}
#formulario-contacto{
    padding: 15px 0 80px;
}
.txthorctn{
    font-weight: 600;
    font-size: 14px;
}
.txtsalvtn{
    font-size: 16px;
}
.iptform{
    width: 100%;
    border: none;
    background: #F8F8F8;
    margin-bottom: 10px;
    padding: 10px 8px;
    border-radius: 4px;
    font-size: 16px;
    font-style: normal;
    font-weight: 550;
    line-height: 24px;
    font-family: 'Duro R';
    resize: none;
    color: #808080;
}
.iptform:focus{
    outline: none;
}
.txtterfrm{
    color: #808080;
    font-size: 14px;
    line-height: 1.2;
}
.btnenv{
    background: #4A84CC;
    border: none;
    width: 100%;
    color: #FFFFFF;
    padding: 8px 0;
    border-radius: 4px;
    cursor: pointer;
}
.hovbtnenv{
    -webkit-transition: .3s;
    transition: .3s;
}
.hovbtnenv:hover{
    box-shadow: inset -8.5em 0 0 0 #529bf5, inset 8.5em 0 0 0 #529bf5;
}
.imgclosmd{
    width: 50px;
    position: absolute;
    right: 20px;
    top: -25px;
    z-index: 9;
    cursor: pointer;
}
.modpromo{
    padding: 0;
}
.imgwmd{
    width: 105%;
}
/****Fin Contacto****/

/****Gracias****/
#inicio-gracias{
    height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
.txtinfgra{
    font-size: 55px;
}
.txtinfgrades{
    font-size: 17px;
}
.linkgrareturn{
    background: #4A84CC;
    color: #FFF;
    text-transform: uppercase;
    padding: 9px 23px 8px;
    border-radius: 4px;
}
.txtetpfle b{
	font-family: Duro B;
}
#inicio-home .owl-nav{
	height: 0;
}
.navbnL, .navbnR{
	position: absolute;
    top: 41%;
    width: 25px;
}
.navbnL{
	left: 20px;
}
.navbnR{
	right: 20px;
}
.divwhatsapp{
	position: fixed;
    top: 45%;
    right: 30px;
	z-index: 9;
}
.palpitarWhat{
    background: #3785d3;
    height: 35px;
    width: 35px;
    border-radius: 30px;
    animation: latidosWht .8s infinite;
    position: absolute;
    z-index: -1;
    right: 15px;
    bottom: 15px;
}
.imgflowht{
	width: 65px;
	cursor: pointer
}
@keyframes latidosWht {
    0% {
        transform: none;
        opacity: 1
    }
    100% {
        transform: scale(2.5);
        opacity: 0
    }
}
.formmdlwht{
	padding: 20px 30px 20px 30px;
}
.linkgrawhats{
	background: #29A71A;
    padding: 8px 26px;
    border-radius: 4px;
    color: #FFF;
    text-transform: uppercase;
}
.ondaimagen {
    position: absolute;
    top: 56px;
    width: 95px;
    right: 0;
}
.boxshpr{
	box-shadow: 2px 3px 13px 4px rgba(0,0,0,.1);
}

.imglgmd{
	margin: 30px 0;
}
.txtmdref{
	text-align: center;
    margin-bottom: 8px;
    margin-top: 10px;
    color: #000000;
    font-weight: 600;
    font-size: 18px;
}
.linkrefe{
	background: #4A84CC;
    color: #FFFFFF;
    display: inline-block;
    margin-top: 15px;
    margin-bottom: 20px;
    padding: 10px 35px;
    border-radius: 8px;
}
.clemdref{
	position: absolute;
    right: 9px;
    top: -5px;
    line-height: 1;
    font-size: 45px;
    cursor: pointer;
    z-index: 9;
}