.main-menu{width: 100%; height: 100%; opacity: 0; visibility: hidden;}
.nav-open .main-menu {opacity: 1; visibility: visible; background: rgba(255, 255, 255, 0.92); }
.main-menu .nav li a{color:#000; font-size: 5vh; font-weight:600; text-align: center; font-family: 'Poiret One', cursive; text-transform: uppercase;}
.main-menu .nav li{
    opacity: 0;
    -webkit-transform: translateY(-40px);
    transform: translateY(-40px);
    -webkit-animation-timing-function: cubic-bezier(.45,.005,0,1);
    -moz-animation-timing-function: cubic-bezier(.45,.005,0,1);
    -o-animation-timing-function: cubic-bezier(.45,.005,0,1);
    animation-timing-function: cubic-bezier(.45,.005,0,1);
}
.nav-open .main-menu .nav li{
    opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    -webkit-transition: -webkit-transform .2s,opacity .2s;
    transition: transform .2s,opacity .2s;
}
.main-menu .nav li.delay-1{-webkit-transition-delay:0.1s; -moz-transition-delay:0.1s; -ms-transition-delay:0.1s; -o-transition-delay:0.1s; transition-delay:0.1s; }
.main-menu .nav li.delay-2{-webkit-transition-delay:0.2s; -moz-transition-delay:0.2s; -ms-transition-delay:0.2s; -o-transition-delay:0.2s; transition-delay:0.2s; }
.main-menu .nav li.delay-3{-webkit-transition-delay:0.3s; -moz-transition-delay:0.3s; -ms-transition-delay:0.3s; -o-transition-delay:0.3s; transition-delay:0.3s; }
.main-menu .nav li.delay-4{-webkit-transition-delay:0.4s; -moz-transition-delay:0.4s; -ms-transition-delay:0.4s; -o-transition-delay:0.4s; transition-delay:0.4s; }
.main-menu .nav li.delay-5{-webkit-transition-delay:0.5s; -moz-transition-delay:0.5s; -ms-transition-delay:0.5s; -o-transition-delay:0.5s; transition-delay:0.5s; }
.main-menu .nav li.delay-6{-webkit-transition-delay:0.6s; -moz-transition-delay:0.6s; -ms-transition-delay:0.6s; -o-transition-delay:0.6s; transition-delay:0.6s; }
.main-menu .nav li.delay-7{-webkit-transition-delay:0.7s; -moz-transition-delay:0.7s; -ms-transition-delay:0.7s; -o-transition-delay:0.7s; transition-delay:0.7s; }
.main-menu .nav li.delay-8{-webkit-transition-delay:0.8s; -moz-transition-delay:0.8s; -ms-transition-delay:0.8s; -o-transition-delay:0.8s; transition-delay:0.8s; }
.main-menu .nav li.delay-9{-webkit-transition-delay:0.9s; -moz-transition-delay:0.9s; -ms-transition-delay:0.9s; -o-transition-delay:0.9s; transition-delay:0.9s; }

.nav-button{
    position:relative;
    z-index:1111;
    border:solid 1px #f8f8f8;
    height: 127px;
    display: block;
    width: 112px;
    padding:12px;
}
.nav-button #nav-icon3{
    width: 80px;
    height: 100px;
    display:inline-block;
    position:relative;
    -webkit-transform:rotate(0deg);
    -moz-transform:rotate(0deg);
    -o-transform:rotate(0deg);
    transform:rotate(0deg);
    -webkit-transition:.5s ease-in-out;
    -moz-transition:.5s ease-in-out;
    -o-transition:.5s ease-in-out;
    transition:.5s ease-in-out;
    cursor:pointer;
    background: url("/assets/img/menu1.png") no-repeat;
    background-size: cover;
    background-position: center center;
}
.nav-button #nav-icon3 span{display:block;position:absolute;height:3px;width:100%;background:#FFFFFF;border-radius:9px;opacity:1;left:0;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:.25s ease-in-out;-moz-transition:.25s ease-in-out;-o-transition:.25s ease-in-out;transition:.25s ease-in-out}
/*.nav-button #nav-icon3 span:nth-child(1){top:0}
.nav-button #nav-icon3 span:nth-child(2),#nav-icon3 span:nth-child(3){top:7px}
.nav-button #nav-icon3 span:nth-child(4){top:14px}*/
.centrado ul{
    width: 100%;
    display: table;
    text-align: center;
}
.centrado ul li{
    display: inline-block;
    float: none;
}
.derecha {
    width: 100%;
    display: table;
    text-align: right;
}
.derecha li{
    display: inline-block;
    float: none;
}
.navbar-nav .nav-link, .dropdown-item{
    font-family: 'Poiret One', cursive;
    text-transform: uppercase;
    font-size: 2.5vh;
    color: #000 !important;
    text-align: center;
}
.dropdown-menu {
    left: -100px;
    background: rgba(255,255,255, 0.7);
    border-radius: 0;
}
.navbar{
    padding-top: 0;
    padding-bottom: 0;
}
.navbar-brand{
    padding-top: 0;
    padding-bottom: 0;
}
.bg-light {
    background-color: #fff !important;
}
.contenedor-img-home{
    position: relative;
}
.contenedor-img-home .logo-slider{
    position: absolute;
    top:35%;
    width: 100%;
}
p{
    font-family: 'Poiret One', cursive;
    font-size: 3vh;
}
.columna-texto{
    align-items: center;
    justify-content: center;
}


.nav-open #nav-icon3{
    background: url("/assets/img/menu2.png") no-repeat;
    background-size: cover;
    background-position: center center;
}
.nav-open #nav-icon3 span:nth-child(1){top:9px;width:0;left:50%}
.nav-open #nav-icon3 span:nth-child(2){-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}
.nav-open #nav-icon3 span:nth-child(3){-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}
.nav-open #nav-icon3 span:nth-child(4){top:9px;width:0;left:50%}

.flex-center{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:100%}
.logo_nav{
    max-width: 95px;
}

.btn-boutique{
    background: url("/assets/img/book_cocotulum.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    font-family: 'Poiret One', cursive;
    text-transform: uppercase;
    padding: 20px 100px;
    height: 85px;
    color: #fff;
    font-size: 2.5vh;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
}
.btn-limited{
    background: url("/assets/img/book_cocolimited.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    font-family: 'Poiret One', cursive;
    text-transform: uppercase;
    padding: 20px 100px;
    height: 85px;
    color: #fff;
    font-size: 2.5vh;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
}
.btn-hacienda{
    background: url("/assets/img/book_hacienda.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    font-family: 'Poiret One', cursive;
    text-transform: uppercase;
    padding: 20px 100px;
    height: 85px;
    color: #fff;
    font-size: 2.5vh;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
}
.btn-village{
    background: url("/assets/img/book_village.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    font-family: 'Poiret One', cursive;
    text-transform: uppercase;
    padding: 20px 100px;
    height: 85px;
    color: #fff;
    font-size: 2.5vh;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
}
.btn-boutique:hover, .btn-limited:hover, .btn-hacienda:hover, .btn-village:hover{
    filter: alpha(opacity=50);
    opacity: 0.5;
    color:#fff;
}
.fixed-top.main-menu{
    margin-top:110px;
}
.btn-circulo{
    background: #000;
    color:#fff;
    height: 60px;
    width: 60px;
    border-radius: 50%;
    margin: 15px;
    font-size: 38px;
    padding-top: 0px;
}
.links a{
    color: #000;
}
.bg-black{
    background: #000;
}
.foot-main .logo_nav{
    -webkit-filter: invert(100%); /* Safari */
    filter: invert(100%);
    max-width: 150px;
}
.btn-reservar{
    font-family: 'Poiret One', cursive;
    text-transform: uppercase;
    color: #fff !important;
    font-size: 5vh;
}
.bg-white {
    background-color: rgba(255,255,255, 0.8) !important;
}
body{
    padding-top:79px;
}
.titulo_icono{
    font-family: 'La Belle Aurore', cursive;
    text-transform: lowercase;
    font-size: 9vh;
}
.titulo_contacto{
    font-family: 'Poiret One', cursive;
    text-transform: uppercase;
    color: #fff !important;
    font-size: 7vh;
}
.flex-center.menu-arriba{
    height: 78%;
}
.menu-abajo{
    height: 15%;
    background: #000;
}
.menu-abajo .logo img{
    -webkit-filter: invert(100%); /* Safari */
    filter: invert(100%);
}
.menu-abajo .btn{
    float: right;
}
.form-contacto label{
    text-align: right;
    color: #fff;
    font-family: 'Poiret One', cursive;
    font-size: 2.7vh;
}
.form-contacto .btn-primary{
    background: #fff;
    color: #000;
    font-family: 'Poiret One', cursive;
    border-radius: 0;
    border-color: #fff;
    font-size: 24px;
}
.form-contacto input,
.form-contacto textarea{
    border-radius: 0;
}
.form-contacto .form-group{
    margin-bottom: 5px;
}
.lang{
    float: right;
    padding-top: 20px;
    font-size: 23px;
    font-family: 'Poiret One', cursive;
}
.lang a{
    color: #000;
    font-family: 'Poiret One', cursive;
    font-size: 23px;
}
.boton{
    font-size: 4vh;
    color: #000;
    font-family: 'Poiret One', cursive;
}
@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
    .contenedor-img-home .logo-slider{
        top:15%;
    }
    .boton{
        font-size: 30px;
    }
    body {
        padding-top: 20px;
    }
}
@media (min-width: 481px) and (max-width: 767px) {
    .boton{
        font-size: 30px;
    }
    .logo_nav {
        max-width: 80px;
    }
    .nav-button {
        height: 75px;
        width: 75px;
        padding: 1px;
        margin-right: 0 !important;
    }
    .nav-button #nav-icon3{
        height: 75px;
        width: 75px;
    }
    body {
        padding-top: 25px;
    }
    .fixed-top.main-menu {
        margin-top: 74px;
    }
    .foot-main .logo_nav {
        max-width: 80px;
    }
    .btn-reservar{
        margin-right: 0 !important;
    }
    .form-contacto label {
        text-align: left;
        font-size: 3vh;
        margin-left: 12px;
    }
    .form-contacto input,
    .form-contacto textarea {
        margin-left: 12px;
    }
    .row-invertido{
        flex-direction: column-reverse;
        margin-top:5vh;
    }
    .row-mobil{
        margin-top:20vh;
    }
    .row-mobil .logo{
        margin-top: 10vh;
    }
    .row-ultima{
        margin-bottom:15vh;
    }
    p{
        font-size: 4vh;
    }
    .btn-boutique,
    .btn-limited,
    .btn-hacienda,
    .btn-village{
        font-size: 4vh;
        padding: 30px 10px;
        height: 111px;
        width: 335px;
    }
    .links{
        font-size: 3vh;
    }
}
@media (min-width: 320px) and (max-width: 480px) {
    .boton{
        font-size: 25px;
    }
    .logo_nav {
        max-width: 70px;
    }
    .nav-button {
        height: 75px;
        width: 75px;
        padding: 1px;
        margin-right: 0 !important;
    }
    .nav-button #nav-icon3{
        height: 75px;
        width: 75px;
    }
    body {
        padding-top: 105px;
    }
    .fixed-top.main-menu {
        margin-top: 74px;
    }
    .foot-main .logo_nav {
        -webkit-filter: invert(100%);
        filter: invert(100%);
        max-width: 80px;
    }
    .btn-reservar{
        margin-right: 0 !important;
    }
    .titulo_contacto {
        font-size: 5vh;
    }
    .form-contacto label {
        text-align: left;
        font-size: 3vh;
        margin-left: 12px;
    }
    .form-contacto input,
    .form-contacto textarea {
        margin-left: 12px;
    }
    .row-invertido{
        flex-direction: column-reverse;
        margin-top:5vh;
    }
    .row-mobil{
        margin-top:20vh;
    }
    .row-mobil .logo{
        margin-top: 10vh;
    }
    .row-ultima{
        margin-bottom:15vh;
    }
    .flex-center.menu-arriba {
        height: 75%;
    }
    p{
        font-size: 4vh;
    }
    .btn-boutique,
    .btn-limited,
    .btn-hacienda,
    .btn-village{
        font-size: 4vh;
        padding: 30px 10px;
        height: 111px;
        width: 335px;
    }
    .links{
        font-size: 3vh;
    }
}
img.bg {
    /* Set rules to fill background */
    min-height: 100%;
    min-width: 1024px;

    /* Set up proportionate scaling */
    width: 100%;
    height: auto;

    /* Set up positioning */
    position: fixed;
    top: 0;
    left: 0;
}
@media screen and (max-width: 1024px) { /* Specific to this particular image */
    img.bg {
        left: 50%;
        margin-left: -512px;   /* 50% */
    }
}