﻿* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Roboto Regular';
    text-decoration: none;
}

html {
    font-family: 'Roboto Regular';
    font-size: 62.5%;
}

body {
    font-family: 'Roboto Regular';
    font-size: 1.4rem;
}

.h1, .h2, .h3, h1, h2, h3 {
    margin-top: 20px;
    margin-bottom: 10px;
}

h1 {
    font-size:26px;
}

h2 {
    font-size:22px!important;
}

h3 {
    font-size:18px;
}

a {
    text-decoration: none;
}

.main {
    margin: 0 auto;
    max-width: 1050px;
}

/* header */

header {
    background: white;
    border-bottom: 1px solid #00000029;
    padding: 0px;
    z-index: 9999999;
    position: fixed;
    top: 0;
    width: 100%;
    display: grid;
    place-items: center;
}

.navbar .navbar-toggler { /*
    float: right;
    color: #4C2F48;*/
    width: 40px;
    height: 40px;
    background: #F8F9FA;
    border-radius:8px
}
    .navbar .navbar-toggler:focus {
        outline: none;
        border: 0;
        box-shadow: none
    }

    .navbar-toggler .icon-bar {
        display: block;
        width: 30px;
        height: 3px;
        border-radius: 1px;
        background: #4C2F48;
        margin: 7px 0;
    }

.topnav {
    justify-content: space-between;
    align-items: center;
}

.ReserveButtonHeader {
    background: #621D6F;
    border-radius: 8px;
    color: white;
    text-align: center;
    width: 84px;
    height: 40px;
    font-size: 12px;
    padding: 10px 14px;
    line-height: 21px;
}

.offcanvas-end {
    top: 87px;
    left: 0;
    width: 88%;
    height: 100%;
    border-left: 0;
    transform: translateX(100%);
    z-index: 99999;
}

.offcanvas-header {
    /*width: 111%;*/
    border-bottom: 1px solid #D9D9D9;
    justify-content: center;
}

.offcanvas-backdrop {
    top: 88px;
    right: 0;
    /*width: 90vw;*/
}

.offcanvas-title {
    color: #2C2C2C;
    font-size: 18px;
    font-family: 'Roboto Medium';
    text-align: center;
}

.btn-close {
    background: url(./images/icons/close-menu.svg) no-repeat center center;
    width: 29px;
    height: 38px;
    position: absolute;
    right: -34px;
    top: 5px;
    opacity: 1;
}

.offcanvas-body {
    padding-top: 0;
    overflow-x:auto;
}

    .offcanvas-body a, .offcanvas-body p {
        text-decoration: none;
        color: #621d6f;
        font-size: 16px;
        font-family: 'Roboto Medium';
    }

.contact-info a {
    font-size: 16px;
}

.offcanvas-body p {
    font-family: 'Roboto Medium';
    text-align: center;
}

.navbar-nav .nav-item img, .navbar-nav .nav-item svg {
    margin-right: 16px;
}

.navbar-nav li.nav-item {
    padding: 12px;
    /*border-bottom: 1px solid #D9D9D9;*/
}

.contact-info ul, .lang-buttons {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

    .contact-info ul li {
        padding-bottom: 8px;
    }

    .lang-buttons ul {
        display: flex;
        justify-content: space-evenly;
        align-items: center;
        margin: 16px 0 0 0;
        padding: 0;
    }

        .lang-buttons ul li {
            border-radius: 8px;
            border: 2px solid #4E6C80;
            list-style-type: none;
            padding: 5px 10px;
        }

.shopcart-icon .fa-layers-counter {
    background-color: #00A1DF;
    border-radius: 1em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: white;
    height: 1.5em;
    line-height: 1;
    max-width: 5em;
    min-width: 1.5em;
    overflow: hidden;
    padding: .25em;
    right: -10px;
    text-overflow: ellipsis;
    top: -.5rem;
    -webkit-transform: scale(.25);
    transform: scale(.25);
    -webkit-transform-origin: top right;
    transform-origin: top right;
    display: inline-block;
    position: absolute;
    text-align: center;
    font-size: 40px;
}

.navbar-toggler:focus {
    box-shadow: none;
}


    .body_container {
        position: relative;
        top: 101px;
    }


#phone-list-wrapper {
    position: absolute;
    top: 85px;
    background: #fff;
    width: 340px;
    right: 0;
    z-index: 99;
    height: calc(100vh - 101px);
    overflow-y: scroll;
}

.phones-list {
    padding: 20px;
}

.phone-item {
    border-bottom: 1px solid #F0F0F0;
    height: 60px;
    display: flex;
}

    .phone-item a, .phone-item a:hover {
        display: flex;
        justify-content: space-between;
        align-items: center;
        color: #2C2C2C;
        font-size: 16px;
        text-decoration: none;
        font-family: 'latomedium';
        width: 100%;
        padding: 5px 0;
        font-family: 'latoregular';
    }

        .phone-item a > div {
            display: flex;
            align-items: flex-start;
        }

    .phone-item img {
        margin: 6px 12px 0 0;
    }

.button-back {
    width: 274px;
    height: 45px;
    border: 1px solid #621d6f;
    border-radius: 5px;
    color: #621d6f;
    background-color: transparent;
    font-size: 15px;
    display: block;
    margin: 0 auto;
}

#listPhones {
    /*border: 1px solid #621d6f;*/
    padding: 5px;
    border-radius: 8px;
    text-align: center;
    color: #621d6f;
    font-family: 'Roboto Regular';
    font-size: 16px;
    cursor: pointer;
    width: 40px;
    height: 40px;
    display: grid;
    place-content: center;
    background: #F8F9FA
}

    #listPhones i {
        transform: rotate(260deg);
    }

@media screen and (max-width:767px) {
   
    .desk-navlist {
        list-style-type: none;
        display: inline-flex;
    }
    .desk-navlist li {
        margin:0 16px
    }
    #phone-list-wrapper {
        height: calc(100vh - 150px);
        overflow-y: scroll;
    }
}


@media screen and (min-width:768px) {
    .navbar-expand-lg .navbar-toggler {
        display: block;
    }

    .navbar-expand-lg .offcanvas {
        visibility: hidden;
    }

    .desk-navlist a, .menutxt {
        color: #621D6F;
        font-family: 'Roboto Medium';
        font-size: 16px;
        padding: 10px 15px;
        border-radius: 8px;
        text-decoration: none;
    }
    .desk-navlist a.shopcontainer {
        display:grid;
        place-content:center;
        width:40px;
        height:40px
     }

    .end-container-nav {
        display: flex;
        align-items: center;
        justify-content: end;
    }

        .end-container-nav ul > li {
            margin-right: 25px;
            list-style-type: none;
        }

            .end-container-nav ul > li div.menu-title {
                margin-top: 5px;
            }

    .navbar-toggler .icon-bar {
        display: block;
        width: 25px;
        height: 2px;
        margin: 3px auto 6px;
    }

    .navbar-toggler {
        padding: 0;
    }

    .offcanvas-end {
        width: 340px;
        right: 0;
        left: unset;
    }

    .btn-close {
        background: url(./images/icons/back-menu.svg) no-repeat center center;
        width: 29px;
        height: 38px;
        right: unset;
        left: -39px;
    }
}

.desk-navlist {
    align-items: center;
    list-style-type:none;
}

.desk-navlist a.shopcontainer, #listPhones, .navbar-toggler {
    background: #F8F9FA;
}

    .desk-navlist a:hover, #listPhones:hover, .navbar-toggler:hover {
        background: #F5F0F5;
        color: #732282;
    }


/* end header */

.flag-icon-mx {
    background-image: url(../flags/4x3/mx.svg);
}

.flag-icon-us {
    background-image: url(../flags/4x3/us.svg);
}

.flag-icon-do {
    background-image: url(../flags/4x3/do.svg);
}

.flag-icon-br {
    background-image: url(../flags/4x3/br.svg);
}

.flag-icon-ca {
    background-image: url(../flags/4x3/ca.svg);
}

.flag-icon-jm {
    background-image: url(../flags/4x3/jm.svg);
}

.flag-icon-gb {
    background-image: url(../flags/4x3/gb.svg);
}

.flag-icon, .flag-icon-background {
    background-size: contain;
    background-position: 50%;
    background-repeat: no-repeat;
}

.flag-icon {
    position: relative;
    display: inline-block;
    width: 1.33333333em;
    height: 1.4rem;
    line-height: 1em;
}

.btn-book, .btn-yellow {
    font-family: "Roboto Bold";
    color: #fff !important;
    padding: 4px 30px;
    border-radius: 0;
    font-size: 16px;
    line-height: 1.6;
    background: #e51994;
    border-bottom: 4px solid rgba(0,0,0,.2);
    border-right: 2px solid rgba(0,0,0,.2);
    opacity: 1 !important
}

.package_item .link-book .btn-book {
    background: transparent;
    border-radius: 8px;
    font-size: 14px;
    width: 100%;
    text-transform: capitalize;
    padding: 7px 0;
}

.index footer {
    margin: 0
}

footer {
    color: #9c9da5;
    display: block;
    position: relative;
    text-align: center;
    border-bottom: 10px solid #fcb424;
    margin-top: 90px !important;
    font-family: muliregular
}

    footer > center {
        padding-top: 30px
    }

    footer .redes_sociales {
        border-top: 1px solid #bababa;
        padding: 30px 0;
        color: #3c3c3c;
        font-family: muliregular;
        font-size: 18px;
        margin-top: 30px;
        display: flex;
        justify-content: center;
        align-items: center
    }

        footer .redes_sociales span {
            height: 36px;
            margin-right: 15px
        }

    footer .sister_parks {
        background: #f2fcff;
        font-family: muliregular;
        padding: 30px 50px
    }

        footer .sister_parks center {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            align-items: flex-start;
            border-bottom: 1px solid #bababa;
            padding-bottom: 30px;
            margin-bottom: 30px
        }

        footer .sister_parks h4 {
            font-size: 18px;
            color: #3c3c3c;
            font-family: mulibold;
            padding-bottom: 10px;
            text-align: left
        }

            footer .sister_parks h4 i {
                display: none
            }

        footer .sister_parks ul {
            list-style-type: none;
            margin: 0;
            padding: 0;
            text-align: left;
            display: block
        }

            footer .sister_parks ul li {
                padding-bottom: 5px;
            }

                footer .sister_parks ul li a {
                    color: #9c9da5;
                    font-size: 16px;
                    text-transform: initial;
                    font-family: muliregular;
                }

.stickyMob {
    display: none
}

#accept-cookies {
    position: fixed;
    right: 0;
    background: #732282;
    z-index: 999;
    bottom: 27px;
    width: max-content;
    border-radius: 8px;
    text-align: left;
    left: 20px;
    padding: 10px;
}

    #accept-cookies p {
        color: #ffff80;
        display: inline
    }

    #accept-cookies a {
        color: #ffffff
    }

    #accept-cookies button {
        margin-left: 20px;
        background: #2d9fd9;
        border: 0;
        font-size: 1.6rem;
        color: #fff;
        margin-top: 5px;
        height: 35px;
    }

.covid-notice {
    background: #fff;
    padding: 0;
    text-align: center;
    font-weight: 700
}

    .covid-notice span {
        color: #03103c
    }

    .covid-notice a {
        color: #fff;
        text-align: center;
        padding: 10px 5px;
        font-size: 1.5rem;
        display: block;
        background-color: #8cc141;
        font-family: "Roboto Regular"
    }

.cookiesContainer {
    display: flex;
    align-items: center;
}

section {
    position: relative
}

.texto_garrafon {
    font-size: 16px;
    color: #7d7d7d;
    margin-top: 30px
}

    .texto_garrafon b, .texto_garrafon strong {
        font-family: "Roboto Bold";
        font-size: 105%
    }

    .texto_garrafon b, .texto_garrafon strong, .texto_garrafon_yellow {
        color: #6f6e6e
    }

    .texto_garrafon p {
        text-align: justify;
        margin: 0
    }

    .texto_garrafon.home p, .texto_garrafon.home strong {
        color: #6f6e6e
    }

.index .texto_garrafon .description p {
    text-align: center
}

.texto_garrafon p + p {
    margin-top: 10px !important
}

.index h3, .texto_garrafon .title {
    font-family: "Roboto Black";
    font-size: 18px;
    color: #3E3E3E;
    text-transform: uppercase;
    margin-top: 0
}

.texto_garrafon .title {
    font-size: 22px;
}

    .texto_garrafon .title:not(.mb_10) {
        margin: 0
    }

.texto_garrafon .slogan, .texto_garrafon .subtitle, .texto_garrafon_blue {
    color: #00a1e1
}

.texto_garrafon .title + .description {
    margin-top: 10px
}


/****/

#section_slider {
    min-height: 360px;
    height: auto;
    display: block !important;
    width: 100%;
    margin-bottom: 30px;
    position: relative;
}

/****/

#section_info {
    max-width: 1000px;
    margin: 0 auto 50px;
}

/****/

#section_activities .activities {
    display: flex;
    flex-wrap: wrap;
}

    #section_activities .activities .form-group {
        position: relative;
        padding: 0 5px 15px;
    }

    #section_activities .activities div:hover {
        transform: scale(1.03);
        -o-transform: scale(1.03);
        -ms-transform: scale(1.03);
        -moz-transform: scale(1.03);
        -webkit-transform: scale(1.03);
    }

    #section_activities .activities img {
        border-radius: 10px;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
        opacity: 1;
        height: auto;
    }

    #section_activities .activities div span {
        position: absolute;
        top: 0;
        text-align: center;
        right: 0;
        left: 0;
        color: #fff;
        background: transparent linear-gradient(180deg,#00425c 0,#00425C00 100%) 0 0 no-repeat padding-box;
        border-radius: 10px 10px 0 0;
        height: 42px;
        opacity: 1;
        line-height: 40px;
        margin: 0 5px;
        padding: 0;
    }

/***/

#parkmap .container {
    position: relative;
    margin: 50px auto;
}

/***/

.maptext {
    position: absolute;
    box-shadow: 0 1px 5px rgb(0 0 0 / 30%);
    border-radius: 10px;
    background: #fff;
    padding: 20px;
    bottom: -45px;
    left: 120px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 55%;
}

    .maptext p {
        width: 60%;
        padding-right: 20px;
        margin: 0;
    }

    .maptext a {
        margin: 0;
    }

    .maptext a, .residentes-container a {
        background: #e51a94;
        color: #fff;
        font-weight: 700;
        border-radius: 6px;
        padding: 10px 15px;
        width: 200px;
        text-align: center;
        margin: 20px 0 0;
    }

/***/

.infantsfree {
    display: none;
}

#section_packages #packagesgr .package .package_item, #section_programs #packages .package .package_item {
    position: relative;
    border: 1px solid #e6e6e6;
    box-shadow: 2px 2px 4px #e6e6e6;
    border-radius: 10px;
    padding: 0
}

#packages .package .program_content, #packagesgr .package .program_content {
    padding: 15px !important;
}

#packages .texto_garrafon_blue, #packagesgr .texto_garrafon_blue {
    font-family: "Roboto Bold";
    font-size: 20px;
}

#section_packages #packagesgr .package p, #section_programs #packages .package p {
    font-size: 15px;
    font-weight: 400;
    font-family: "Roboto Regular";
}

.package-prices span.reg-price {
    color: #00a1e1;
    text-decoration: line-through;
}

.package-prices span {
    font-size: 18px;
    font-weight: 700;
}

    .package-prices span.promo-price {
        color: #e51994;
    }

.package-prices span {
    font-size: 18px;
    font-weight: 700;
}

#section_programs a {
    display: block;
    position: relative;
    text-align: right;
}

#section_programs {
    font-family: "Roboto Bold";
    font-size: 30px;
    background-size: cover;
    padding: 60px 0 15px 0
}

#section_garrafon .packWrapper, #section_packages .packWrapper {
    box-shadow: 0 1px 5px rgba(0,0,0,.3);
    border-radius: 10px
}

#section_garrafon div.zoom, #section_packages div.zoom {
    box-shadow: 0 1px 5px rgba(0,0,0,.3);
    border-radius: 10px
}

#section_programs .programs {
    display: flex;
    align-items: flex-start
}

#section_garrafon > div > div:nth-child(1) {
    order: 1
}

#section_garrafon > div > div:nth-child(2) {
    order: 2
}

#section_garrafon > div > div:nth-child(3) {
    order: 3
}

#section_programs .title {
    font-size: 27px
}

#section_programs a {
    display: block;
    position: relative;
    text-align: right
}

#section_programs img {
    border-radius: 10px 10px 0 0
}

#section_programs .title {
    color: #00425c;
    text-align: center;
    font-size: 20px;
    margin-bottom: 40px;
    padding: 0 30px
}

#section_programs .pricePromo {
    background: #fff;
    color: #e51a94;
    text-align: center;
    margin-top: 3px;
    padding-bottom: 5px;
    line-height: 1;
    height: 130px;
    border-radius: 10px
}

.fromP {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 10px
}

#section_programs .toBring h4 {
    background: #06a0e0;
    color: #fff;
    padding: 15px;
    border-radius: 10px 10px 0 0;
    text-align: center;
    margin: 0
}

#section_programs .toBring ul {
    margin: 0 auto;
    padding: 20px 0 !important;
    display: block;
    width: 70%
}

    #section_programs .toBring ul li {
        color: #3e3e3e;
        font-size: 12px;
        list-style-type: none;
        padding-bottom: 13px !important;
        display: flex;
        align-items: center;
        font-weight: bold;
    }

        #section_programs .toBring ul li object {
            padding-right: 10px
        }

#section_programs .pricePromo p {
    margin: 0
}

#section_programs .pricePromo small {
    font-size: 12px;
    display: block;
    color: #a8a8a8;
    font-family: "Roboto Regular"
}

/***/

.desc-residentes-home {
    display: flex;
    justify-content: center;
    height: 249px;
    width: 100%;
}

.residentes-container {
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    padding: 0 75px 0 75px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 65%;
}


.desc-residentes-home {
    display: flex;
    justify-content: center;
    /*height: 236px;*/
    width: 100%
}

    .desc-residentes-home h3 {
        text-transform: initial
    }

.residentes-container {
    box-shadow: 0 1px 5px rgba(0,0,0,.3);
    border-radius: 10px 0 0 10px;
    padding: 0 75px 0 75px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 65%
}

    .residentes-container p {
        margin: 0;
        font-size:16px;
    }

.residentes-img {
    box-shadow: 0 1px 5px rgb(0 0 0 / 30%);
    border-radius: 0 10px 10px 0;
}

.maptext a, .residentes-container a {
    background: #e51a94;
    color: #fff;
    font-size:16px;
    font-weight: 700;
    border-radius: 6px;
    padding: 10px 15px;
    width: 200px;
    text-align: center;
    margin: 20px 0 0
}

.maptext a {
    margin: 0
}

    .maptext a:hover, .residentes-container a:hover {
        color: #fff;
        text-decoration: underline;
    }

.residentes-img img {
    border-radius: 0 10px 10px 0;
    height: 249px;
    width: 100%;
}

/***/

.texto_garrafon_blue {
    color: #0c176e !important;
    text-transform: uppercase;
    padding-bottom: 15px;
}

header .top_header .nav-content-right .btn-header {
    font-weight:bold
}

.phones-list-container-desk {
    display: block;
    position: absolute;
    top: 70px;
    height: auto;
    background: white;
    z-index: 9999999;
    padding: 15px 0 0;
    box-shadow: 1px 1px 5px rgb(182 181 181);
    border-radius: 4px;
}

    .phones-list-container-desk ul {
        margin: 0;
        padding: 0;
        text-align: left;
        list-style-type: none;
    }

    .phones-list-container-desk li a {
        padding: 5px 20px;
        font-weight:bold
    }