:root{
    --zoom: 1;
}

body {
    margin: 0;
    overflow-x: hidden;
    overflow-y: visible;
}

body:not(.loading) {
    background: url(../img/bg-pattern-2.jpg) top center / 100% auto;
}

* {
    box-sizing: border-box;
}

@keyframes spin{
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.loading-cover{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 100;
    transition: ease .5s;
}
.loading-cover.fade{
    opacity: 0;
}

.page-loading {
    position: fixed;
    top: calc(50% - 50px);
    left: calc(50% - 50px);
    border-radius: 50%;
    width: 100px;
    height: 100px;
    background: conic-gradient(#fff 20%, #bf8d2e 100%);
    animation: spin 1s linear infinite;
    display: flex;
    justify-content: center;
    align-items: center;
}
.page-loading:before{
    content: '';
    display: block;
    position: absolute;
    top: 10px;
    left: 10px;
    width: 80px;
    height: 80px;
    background: #fff;
    border-radius: 50%;
}
.page-loading-logo{
    width: 80px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.page-header {
    position: absolute;
    z-index: 11;
    top: 0;
    left: 0;
    width: 100%;
    background: url(../img/bg-pattern-2.jpg) top center / 100% auto;
    transition: box-shadow ease 0.4s;
}

.page-header.fixed {
    position: fixed;
    top: -144px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

.side-logo {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    overflow: hidden;
    transition: width ease 0.4s;
}

.page-header.fixed .side-logo {
    width: 120px;
}

.side-logo img {
    position: absolute;
    right: 0;
    top: calc(50% - 25px);
    height: 54px;
}

.search {
    position: absolute;
    right: 0;
    top: calc(50% - 20px);
    height: 30px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}

.search input,
.search button {
    height: 30px;
    border: none;
    background: transparent;
    outline: none;
}

.search input:focus {
    background: #fff;
}

.search button img {
    height: 30px;
}

nav {
    font-family: "Didot-HTF-L16", serif;
    color: #6a0c11;
    border-top: 1px solid #231f203b;
    padding-top: 5px;
    position: relative;
    min-height: 45px;
    display: flex;
}

a {
    color: inherit;
    font: inherit;
    text-decoration: none;
}

nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    transition: ease 0.4s;
    width: 100%;
}

.page-header.fixed nav > ul {
    margin-left: 120px;
}

nav ul li {
    padding: 10px 15px 20px;
    margin: 0 20px;
    text-transform: uppercase;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    text-align: center;
    position: relative;
}

nav > ul > li:before{
    display: block;
    content: '';
    width: 0;
    height: 3px;
    background: #6a0c11;
    border-radius: 3px;
    position: absolute;
    bottom: 10px;
    left: 0;
    transition: ease .4s;
}

nav > ul > li.active:before,
nav > ul > li:hover:before {
    width: 100%;
}

ul.sub-menu li {
    padding: 10px 15px;
}

.column {
    display: flex;
    flex-flow: column nowrap;
}

.logo {
    display: flex;
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
}

.logo > .img {
    margin: 0 auto;
    width: 300px;
    display: block;
}

.slider {
    position: relative;
    padding-bottom: 41.71%;
    transition: ease .8s;
}

.slide-container,
.slide-container .img,
.rivapark-veil {
    position: absolute;
    top: 0;
    left: 0;
}

.slide-container,
.slide-container img,
.rivapark-veil {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slide-container .img{
    height: 100%;
    width: 100%;
    display: block;
}

.slide-container {
    display: flex;
    flex-flow: row nowrap;
    overflow: hidden;
}

.slide-navs{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.slide-bullets {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    z-index: 3;
}

.slide-bullet {
    margin: 20px 10px;
    width: 15px;
    height: 15px;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 50%;
    cursor: pointer;
}

.slide-container .img {
    opacity: 0;
    z-index: 0;
}

.slide-container .img,
.slide-bullet {
    transition: ease 0.4s;
}

.slide-container .img.active {
    opacity: 1;
    z-index: 1;
}

.slide-bullet.active {
    background: rgba(255, 255, 255, 1);
}

.floating-social {
    position: fixed;
    z-index: 10;
    right: 0;
    top: calc(50% - 110px);
    width: 70px;
    height: 220px;
    background: #6a0c11;
    justify-content: space-evenly;
}

.floating-social a {
    text-align: center;
}

.floating-social img {
    max-width: 30px;
    max-height: 30px;
}

.map-control {
    position: absolute;
    bottom: 20px;
    right: 20px;
    z-index: 20;
    /* width: calc(100% - 40px); */
    display: flex;
    flex-flow: column nowrap;
}

.map-control button{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    background: #efefef;
    color: #aaa;
    border: 1px solid #aaa;
    vertical-align: middle;
    outline: none;
    /* margin-left: 5px; */
    margin-top: 5px;
}

.animate
{
    opacity: 1;
    transition: ease 1s;
}

.wait .animate,
.wait.animate
{
    opacity: 0;
    transform: translateY(50px);
}

.animate:nth-child(1){
    transition-delay: .2s;
}
.animate:nth-child(2){
    transition-delay: .4s;
}
.animate:nth-child(3){
    transition-delay: .6s;
}
.animate:nth-child(4){
    transition-delay: .8s;
}
.animate:nth-child(5){
    transition-delay: 1s;
}

.hot-offers,
.hot-events,
.ig {
    justify-content: center;
    padding: 70px 0;
    position: relative;
}

.hot-events {
    padding-bottom: 80px;
}

.ig {
    padding-top: 60px;
}

.rivapark-wrapper {
    padding-bottom: 41.71%;
    position: relative;
    background: url(../img/rivapark.jpg) center / cover no-repeat;
    background-attachment: fixed;
}

.rivapark-veil {
    background: rgba(0, 0, 0, 0.3);
}

.rivapark {
    width: 100%;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.hot-offers > header,
.hot-offers > .sub-header,
.hot-events > header,
.hot-events > .sub-header,
.ig > header,
.ig > .sub-header,
.riva-header header,
.riva-header .sub-header {
    text-transform: uppercase;
    text-align: center;
    color: #231f20;
}

.rivapark > header,
.rivapark > .sub-header,
.box .text {
    text-transform: uppercase;
    text-align: center;
    color: #fff;
}

.guest .box .text{
    color: #8b5e1b;
}

.hot-offers > header,
.hot-events > header,
.ig > header,
.box .text,
.rivapark header,
.riva-header header {
    font-family: "Didot-HTF-B06", serif;
    font-weight: bold;
    font-size: 1.5rem;
    position: relative;
}

.riva-header{
    margin-top: 40px;
}

.riva-text{
    font-family: 'Avenir-Book', sans-serif;
    margin: 40px auto;
    width: 100%;
    max-width: 1280px;
    text-align: center;
}

.riva-text p{
    margin-top: 0;
}

.hot-offers > header,
.hot-events > header,
.rivapark > header,
.ig > header,
.riva-header header {
    letter-spacing: 0.3rem;
}

.hot-offers > header:before,
.hot-events > header:before,
.ig > header:before {
    display: block;
    content: "";
    position: absolute;
    bottom: 0;
    left: 15%;
    height: 1px;
    width: 50px;
    background: #231f20;
}

.hot-offers > header:after,
.hot-events > header:after,
.ig > header:after {
    display: block;
    content: "";
    position: absolute;
    bottom: 0;
    right: 15%;
    height: 1px;
    width: 50px;
    background: #231f20;
}

.rivapark > header {
    font-size: 3rem;
}

.ig > header {
    margin-bottom: 15px;
}

.hot-offers > .sub-header,
.hot-events > .sub-header,
.rivapark > .sub-header,
.ig > .sub-header,
.riva-header .sub-header,
footer {
    font-family: "Avenir LT Std Book", sans-serif;
    font-size: .9rem;
    letter-spacing: 0.15rem;
    margin-top: 5px;
}

footer {
    margin-top: 0;
}

.social header,
.subscribe header,
.address header,
.open header {
    font-size: 1.3rem;
    color: #c6a42f;
    font-weight: bold;
}

.social header,
.address header,
.open header {
    font-size: .9rem;
}

.rivapark > .sub-header {
    font-size: 1.4rem;
    letter-spacing: 0.25rem;
    margin-bottom: 15px;
}

.rivapark-page {
    padding: 30px;
}

.hot-events > .container .flick{
    display: grid;
    width: 100%;
    margin: 0 auto;
}

li.dot.is-selected:last-child:first-child{
    opacity: 0;
}

.hot-events > .container .flick {
    grid-template-columns: repeat(4, 1fr);
    column-gap: 20px;
}

.hot-events > .container .flick{
    row-gap: 70px;
}

.hot-offers > .container {
    margin-top: 70px;
}

.hot-events > .container {
    margin: 70px auto 40px auto;
}
.hot-events > .container .item, .event-detail{
    display: flex;
    flex-flow: column;
}
.hot-events > .container .no-flick .item:hover{
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
.hot-events > .container .item{
    transition-delay: unset;
}

.hot-offers .thumbnail,
.hot-events .thumbnail{
    width: 100%;
}

.hot-offers .close{
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 3;
    width: 40px;
    height: 40px;
    cursor: pointer;
    border-radius: 20px;
    box-shadow: 0 0 5px -1px rgba(0, 0, 0, .2);
    background: #dedede;
}

.hot-offers .offer-item{
    cursor: pointer;
    width: calc((100% - 60px)/4);
    margin-right: 20px;
    aspect-ratio: 9 / 16;
} 
.hot-offers .large > .item{
    position: absolute;
    left: 50%;
    top: 50%;
    opacity: 0;
    transition: ease .8s;
    transform: translate(-50%, -50%);
    opacity: 0;
    width: 100%;
    max-width: 1480px;
    height: calc(100% - 200px);
    overflow-x: auto;
}

.hot-offers .large.open > .item{
    opacity: 0;
    z-index: 0;
}
.hot-offers .large.open > .item.active{
    opacity: 1;
    z-index: 1;
}

.hot-offers .large > .item img{
    height: 100%;
    display: block;
    margin: 0 auto;
}

.hot-offers .large{
    display: flex;
    align-items: center;
    position: absolute;
    z-index: 1;
    opacity: 0;
    top: 0;
    left: 0;
    height: 100%;
    transition: ease 0.4s;
}

.hot-offers .large:hover:not(.open){
    cursor: pointer;
    /* opacity: 0.3; */
}

.hot-offers .large.pop{
    z-index: 2;
}

.hot-offers .large.open{
    opacity: 1;
    left: 0;
    width: 100%;
    z-index: 2;
    background: #e6d5b9;
}

.hot-offers .large header{
    position: absolute;
    top: 0;
    width: 100%;
    text-align: center;
    font-size: 1.3rem;
    text-transform: uppercase;
    padding: 20px 60px;
    color: #231f20;
    font-family: "Didot-HTF-B06", serif;
    letter-spacing: 0.2rem;
}

.hot-offers .no-flick .offer-item{
    margin-bottom: 20px;
}
.hot-offers .no-flick .offer-item:nth-child(4n) {
    margin-right: 0;
}

.slider .prev,
.slider .next,
.hot-offers .large .prev,
.hot-offers .large .next{
    border: none;
    background: hsla(0,0%,100%,.75);
    width: 44px;
    height: 44px;
    padding: 0;
    position: absolute;
    top: calc(50% - 22px);
    z-index: 2;
    outline: none;
    border-radius: 50%;
    cursor: pointer;
}

.slider .prev svg,
.slider .next svg,
.hot-offers .large .prev svg,
.hot-offers .large .next svg{
    width: 60%;
    height: 60%;
    position: absolute;
    top: 20%;
    left: 20%;
}
.slider .prev,
.hot-offers .large .prev{
    left: 30px;
}
.slider .next,
.hot-offers .large .next{
    right: 30px;
}
.slider .prev:before,
.hot-offers .large .prev:before{
    transform: rotate(45deg);
}
.slider .next:before,
.hot-offers .large .next:before{
    transform: rotate(-135deg);
}

.nowrap{
    white-space: nowrap;
}

.hot-offers:not(.nopad){
    padding-bottom: 0;
}

.event-detail{
    border: 1px solid #c4bfc0;
    border-top-color: transparent;
    height: 100%;
    padding: 30px;
    font-family: 'Avenir-Book';
    color: #383839;
    background: #f7f7f7;
    position: relative;
}

.event-detail header{
    text-transform: uppercase;
    font-size: 1.3rem;
    margin-top: 10px;
}
.event-detail .when{
    text-transform: uppercase;
    display: flex;
    flex-flow: row nowrap;
    color: #808184;
    font-size: .8em;
}
.event-detail .when img{
    height: 16px;
    margin-right: 10px;
}
.event-detail .text{
    margin: 20px 0;
    word-break: break-word;
}
.event-detail .buttons{
    width: unset;
    font-size: 1.1rem;
    margin-bottom: 20px;
    margin-top: auto;
}
.event-bg-image{
    position: relative;
    padding: 300px 0 0;
}
.event-bg-image > img{
    z-index: -1;
    max-height: 400px;
}
.event-content{
    font-family: 'Avenir-Book', sans-serif;
    max-width: 1280px;
    width: 80%;
    background: #fff;
    margin: 0 auto;
    min-height: 500px;
    padding: 60px;
}
.event-content > header{
    text-transform: uppercase;
    font-size: 2rem;
}
.event-content .event-detail{
    background: #fff;
}
.event-content .event-detail .when{
    margin-top: 70px;
    justify-content: flex-start;
}
.event-content .event-detail .when img{
    height: 26px;
}
.event-content .event-detail{
    border: 0;
    border-top: 1px solid #58595b;
    margin-top: 10px;
    font-family: inherit;
    text-align: left;
    padding: 10px 0;
}
.event-location{
    color: #808184;
    text-transform: uppercase;
}
.event-content .event-detail > header{
    text-transform: none;
}
.event-content .event-detail > div{
    color: #808184;
    font-size: 1.3rem;
}
.paging {
    display: flex;
    flex-flow: row;
    justify-content: center;
}
.paging a {
    display: flex;
    width: 40px;
    height: 40px;
    background: #fff;
    border-radius: 20px;
    justify-content: center;
    align-items: center;
    font-family: 'Avenir-Heavy', sans-serif;
    color: #b8bdbf;
    margin: 0 5px;
}
.paging a.prev img{
    transform: rotate(-30deg);
}
.paging a.next img{
    transform: rotate(30deg);
}
.paging a.active {
    color: #231f20;
}
.paging a img {
    width: 40%;
    height: 40%;
    object-fit: contain;
    opacity: .2;
}
.paging a.enabled img{
    opacity: 1;
}
.dir-n-guest {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    margin: 70px auto 0;
}

.dir-n-guest .icon {
    width: 50px;
    height: 50px;
}

.maxwidth .container{
    max-width: 1480px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
}

.dir,
.guest {
    padding: 5px;
    cursor: pointer;
}
.dir .box .text,
.guest .box .text {
    font-size: 2rem;
}

.dir {
    background: url(../img/yellow-wave.svg) center / cover no-repeat, #6a0c11;
}

.box {
    padding: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.box .text {
    margin-left: 25px;
}

.guest {
    background: url(../img/red-wave.svg) center / cover no-repeat,
        radial-gradient(circle, #f2de98, #e3c776 60%, #d4b053 95%);
}

.dir .box {
    border: 1px solid #e3bd36;
}

.guest .box {
    border: 1px solid #6a0c11;
}

.pin-option{
    margin-right: auto;
}

.pin{
    position: absolute;
    left: 50%;
    top: 50%;
    width: 50px;
    background: linear-gradient(-45deg, #94221d, #f03d35);
    height: 50px;
    border-radius: 25px 25px 4px;
    padding: 10px;
    transform-origin: bottom right;
    user-select: none;
    cursor: pointer;
    z-index: 3;
}

.pin.bounce{
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-name: bounce;
    animation-timing-function: cubic-bezier(0.280, 0.840, 0.420, 1); 
}

.pin.no-logo{
    width: 25px;
    height: 25px;
}

.pin.no-logo img{
    display: none;
}

.pin:hover{
    z-index: 4;
}

.pin:before{
    content: '';
    display: block;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    border-radius: 50%;
    background: #fff;
    position: absolute;
    top: 5px;
    left: 5px;
    z-index: 0;
}

.pin:after{
    content: '';
    display: block;
    width: 40px;
    height: 15px;
    background: radial-gradient(ellipse, rgba(0,0,0,0.4), transparent 80%);
    position: absolute;
    bottom: 0;
    right: 0;
    transform: rotate(-45deg) translate(10px, 20px);
}

.pin img{
    transform: rotate(-45deg);
}

.pin.fade{
    opacity: .3;
    z-index: 2;
}

.buttons {
    display: block;
    font-family: "Avenir-Heavy", sans-serif;
    font-weight: bold;
    font-size: 1.1rem;
    letter-spacing: 2pt;
    text-transform: uppercase;
    background: radial-gradient(circle, #f2de98, #e3c776 60%, #d4b053 95%);
    width: 320px;
    margin: 0 auto;
    border: none;
    padding: 10px 20px;
    color: #8b5e1b;
    outline: none;
    cursor: pointer;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    transition: ease .8s;
}

.panel.share{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20px;
    display: flex;
    flex-flow: row nowrap;
}
.panel.share a{
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 10px;
    text-transform: uppercase;
    color: #8b5e1b;
    border: 1px solid #8b5e1b;
    padding: 5px 15px;
    white-space: nowrap;
    font-family: "Didot-HTF-B06", serif;
}
.panel.share img{
    width: 40px;
    height: 40px;
    object-fit: contain;
    display: block;
    margin-right: 10px;
}

.buttons.view-all{
    margin-top: 40px;
}

.buttons.animate{
    transition: ease .8s;
}

.buttons:hover{
    transform: translateY(-5px);
    box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.3);
}

footer {
    border-top: 5px solid #c6a42f;
    background-image: url(../img/wave-footer.svg), url(../img/bg-footer.jpg);
    background-repeat: no-repeat, no-repeat;
    background-position: center, center;
    background-size: cover, cover;
    min-height: 200px;
    color: #fff;
}

footer p,
footer li,
footer .copy {
    font-size: 0.8rem;
    letter-spacing: 0.1rem;
    font-weight: bold;
}

.foot-column,
footer .links,
footer .copy {
    width: 100%;
    margin: 20px auto;
}

.foot-column {
    display: grid;
    grid-template-columns: 2.6fr 5fr;
    margin: 60px auto;
    max-width: 1280px;
}

.foot-column > div {
    padding: 30px;
}

.address p:nth-of-type(1) {
    margin-bottom: 5px;
}

.address p:nth-of-type(2) {
    margin: 5px 0;
}

.address p:nth-of-type(3) {
    margin-top: 5px;
}

.links ul {
    display: grid;
    list-style: none;
    grid-template-columns: repeat(3, 1fr);
    text-transform: uppercase;
    padding: 0;
    margin: 0 auto;
    width: 100%;
    max-width: 580px;
}

.links ul li {
    font-size: 0.9rem;
    letter-spacing: 0.3rem;
}

.links ul li,
.copy {
    text-align: center;
}

.links ul li:nth-child(2) {
    border-left: 2px solid #fff;
    border-right: 2px solid #fff;
}

.links ul a {
    text-decoration: none;
    color: inherit;
}

.leftbox {
    border-right: 2px solid #fff;
    text-align: center;
}

.rightbox{
    display: grid;
    grid-template-columns: auto 300px;
    gap: 20px;
}

.social {
    margin-top: 1rem;
}

.social header{
    width: 100%;
    margin-bottom: 10px;
}

.social img{
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.social a{
    display: inline-block;
    margin-right: 15px;
}

.subscribe header,
.subscribe form button {
    text-transform: uppercase;
}

.subscribe form {
    display: flex;
    flex-flow: column nowrap;
}

.subscribe form input,
.subscribe form button {
    box-sizing: border-box;
    padding: 15px;
    text-align: center;
    font-family: inherit;
    letter-spacing: 3pt;
    border: none;
}

.subscribe form button {
    margin-top: 20px;
    font-weight: bold;
    color: #8b5e1b;
    background: radial-gradient(circle, #f3e09a, #bf8d2e 150%);
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

.gold-header {
    position: relative;
}

.gold-header .desktop{
    display: block;
}
.gold-header .mobile{
    display: none;
}

.gold-header img {
    width: 100%;
    display: block;
}

.gold-header header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #8b5e1b;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    font-family: "Avenir-Heavy", sans-serif;
    font-size: 2.9rem;
    text-transform: uppercase;
}

.menu-toggle {
    display: none;
}
.sub-menu {
    width: 200px;
    padding: 5px 0;
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    display: block;
    background: url(../img/bg-pattern-2.jpg) top center / 100% auto;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.3);
    transform: scaleY(0);
    opacity: 0;
    transition: ease .4s;
    transform-origin: top center;
}
.sub-menu li {
    margin: 0;
    text-align: left;
    width: 100%;
}
nav li {
    position: relative;
}
nav li:hover .sub-menu {
    transform: scaleY(1);
    opacity: 1;
}

.jump {
    display: flex;
    flex-flow: row nowrap;
    margin: 60px auto;
    width: calc(100% - 170px);
}

.event-link img{
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.dir-floor,
.dir-index {
    text-transform: uppercase;
    font-family: "Avenir-Book", sans-serif;
    font-size: 1.5rem;
}
.dir-index {
    display: flex;
    width: 80%;
    justify-content: space-evenly;
}
.dir-floor {
    margin-left: auto;
    width: 18%;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    cursor: pointer;
    position: relative;
    justify-content: flex-end;
}
.dir-floor img{
    height: 20px;
    margin-left: 10px;
}
.dir-index .active{
    border-bottom: 2px solid #000;
}
.dir-floor .sub-menu{
    display: block;
    position: absolute;
    z-index: 1;
    top: 100%;
    right: 0;
    left: unset;
    background: #fff;
    border: 1px solid #d0d2d3;
    margin: 0;
    padding: 0;
    list-style: none;
    max-height: 300px;
    overflow-y: auto;
}
.dir-floor .sub-menu.open{
    transform: scaleY(1);
    opacity: 1;
}
.dir-floor .sub-menu li{
    text-align: center;
    padding: 10px 15px;
}

.directory > .container {
    display: grid;
    grid-template-columns: 1fr 3fr;
    grid-gap: 20px;
    margin: 0 70px 60px;
    font-family: "Avenir-Book", sans-serif;
}

.service > .container{
    min-height: 300px;
    max-width: 1280px;
    margin: 60px auto;
    font-family: "Avenir-Book", sans-serif;
}

.service .tenant-detail{
    margin-bottom: 20px;
    padding: 0 20px;
}

.service .tenant-detail + .tenant-detail{
    border-top: 1px solid #d0d2d3;
    padding-top: 20px;
}

.service .tenant-detail .info-text .tenant-name{
    font-family: 'Avenir-Book', sans-serif;
    position: relative;
    padding-right: 30px;
}

.service .fold, .service .tenant-detail .info-text .tenant-name{
    transition: ease .5s;
}

.service .fold{
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    height: 0;
    overflow: hidden;
    font-size: 1.3rem;
}

.service .fold.collapse{
    height: 237px;
}
.service .tenant-detail .info-text .tenant-name.collapse{
    margin-bottom: 10px;
}

.service .tenant-logo{
    width: 500px;
    height: 237px;
    border: none;
    padding: 0;
    margin: 0 20px 0 0;
    flex-shrink: 0;
    flex-grow: 0;
    max-width: 50%;
}
.service .tenant-logo img{
    display: block;
    object-fit: cover;
}

.tenant-name .toggle-fold{
    color: #c6a42f;
    position: absolute;
    top: -3px;
    right: 0;
    width: 40px;
    background: transparent;
    border: none;
    font-size: 3rem;
    line-height: 34px;
    outline: none;
}

.collapse .toggle-fold{
    transform: scaleX(1.7);
    top: -6px;
}

.fold .tenant-open-location, .fold ul{
    margin: 0;
}

.fold ul{
    padding-left: 25px;
}

.fold .tenant-open-location{
    display: block;
}

.dir-search,
.tenant-detail .map,
.tenant-detail .info {
    background: #fff;
    border: 1px solid #d0d2d3;
    padding: 25px;
}
.tenant-detail .map,
.tenant-detail .info {
    padding: 45px;
}

.map-container{
    position: relative;
    margin-bottom: 20px;
}

.map-container img{
    width: 100%;
    height: 100%;
}

.dir-search {
    display: flex;
    flex-flow: column nowrap;
}

.dir-search .results {
    height: 100%;
    margin-top: 10px;
    position: relative;
    min-height: 300px;
}

.tenant-detail img {
    transition: ease .4s;
}
.tenant-detail img.loading{
    opacity: .3;
}

.mapzoom img{
    transition: none;
}

.dir-search .results .results-wrapper{
    position: absolute;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    scrollbar-width: thin;
    scrollbar-color: #6a0c11 #e6e7e8;
}

.dir-search .results .results-wrapper::-webkit-scrollbar {
    width: 1em;
}

.dir-search .results .results-wrapper::-webkit-scrollbar-track {
    background: #e6e7e8;
    border-radius: 10px;
}

.dir-search .results .results-wrapper::-webkit-scrollbar-thumb {
    background: #6a0c11;
    border-radius: 10px;
}

.tenant-detail .map {
    min-height: 200px;
    overflow: hidden;
    outline: none;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    user-select: none;
}

.tenant-detail .info{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 45px;
}

.tenant-logo{
    width: 150px;
    height: 150px;
    border: 1px solid #e7e7e7;
    padding: 10px;
    margin-bottom: 10px;
}

.tenant-logo img, .map img, .tenant-photo img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.mapzoom img.animate, .pin.animate, .mapzoom.animate{
    transition: transform ease .8s, left ease .8s, top ease .8s, opacity ease .8s;
}

.tenant-detail .info {
    min-height: 300px;
}

.tenant-item{
    padding: 10px;
    text-transform: uppercase;
    margin-right: 10px;
}

.tenant-name{
    font-family: "Didot-HTF-B06", sans-serif;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 1.3rem;
}

.tenant-item.active, .tenant-item:hover{
    background: #e0e2e3;
}

.tenant-open-location{
    margin-top: 15px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 15px;
}

.tenant-location, .tenant-open{
    display: flex;
    align-items: center;
}
.tenant-location img, .tenant-open img{
    height: 18px;
    margin-right: 10px;
}
.category, .tenant, .activeCategory{
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    cursor: pointer;
}
.category .text, .tenant .text{
    text-transform: uppercase;
}
.category .icon, .tenant .icon, .activeCategory .icon{
    color: #c6a42f;
    background: #6a0c11;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    font-family: "Didot-HTF-B06", serif;
    font-weight: bold;
    font-size: 1.3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 15px;
    flex: 50px 0 0;
}
.activeCategory .icon{
    width: fit-content;
    height: 33px;
    font-family: inherit;
    font-size: inherit;
    padding: 0 15px;
    border-radius: 16.5px;
    white-space: nowrap;
    margin: 0 0 0 15px;
}
.activeCategory .icon span{
    display: flex;
    width: 20px;
    height: 20px;
    justify-content: center;
    align-items: center;
    color: #6a0c11;
    background: #fff;
    border-radius: 50%;
    transform: translateX(8px);
    text-indent: -1px;
}
.results-wrapper > :not(:first-child){
    margin-top: 10px;
}
.tenant .icon{
    background: #e7e7e8;
}
.tenant .icon img{
    width: 80%;
    height: 80%;
    object-fit: contain;
}

.search-box {
    display: flex;
    flex-flow: row nowrap;
    padding-bottom: 10px;
    border-bottom: 1px solid #d0d2d3;
}

.search-box input {
    width: 100%;
    border: 0;
    outline: 0;
    font-size: 1.2rem;
    padding-left: 15px;
    font-family: inherit;
}

.search-box img {
    width: 30px;
}

.no-result{
    width: 100%;
    padding: 70px;
    font-size: 3rem;
    text-align: center;
    font-family: 'Avenir-Book', sans-serif;
}

.square{
    position: relative;
    padding-bottom: 100%;
}

.square > img, .event-bg-image > img{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ig .container{
    margin: 60px 20px 20px;
}

.ig .container .item{
    width: 300px;
    height: 300px;
}

.ig .container .item img, .ig .container .item video{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ig .flickity-slider .item{
    margin-right: 20px;
    border-radius: 10px;
    overflow: hidden;
}

.flickity-button:disabled {
    display: none;
}

.hot-offers .flickity-page-dots .dot {
    width: 15px;
    height: 15px;
}

.hot-offers .flick.no-flick{
    display: flex;
    flex-flow: row wrap;
}

.hot-offers .flick.no-flick .offer-item:last-child{
    margin-right: 0;
}

.hot-offers .fixed{
    position: fixed;
}
.close.fixed{
    top: 59px;
}
.large.fixed{
    top: 44px;
    height: calc(100% - 44px)
}

.event-detail .buttons.right {
    position: absolute;
    bottom: 0;
    right: 0;
    min-width: 150px;
}

.riva-map-container, .riva-map, .riva-map img{
    width: 100%;
}

.riva-map{
    margin-bottom: 40px;
}

.riva-map-container{
    max-width: 800px;
    margin: 0 auto 60px;
}

.no-scroll{
    overflow-y: hidden  ;
}

.find-more{
    display: flex;
    font-family: "Avenir-Heavy", sans-serif;
    font-weight: bold;
    font-size: .9rem;
    letter-spacing: 1.1pt;
    text-transform: uppercase;
    color: #8b5e1b;
    margin-top: auto;
    justify-content: space-between;
    align-items: center;
}

.find-more .arrow{
    border: 2px solid #8b5e1b;
    width: 30px;
    height: 30px;
    border-radius: 15px;
    position: relative;;
}
.find-more .arrow:before{
    content: '';
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    border: 2px solid #8b5e1b;
    border-width: 0 2px 2px 0;
    transform-origin: bottom right;
    transform: rotate(-45deg);
    bottom: 50%;
    right: 25%;
}

.progress{
    position: fixed;
    left: calc(50% - 50px);
    width: 100px;
    height: 5px;
    top: calc(50% + 60px);
    font-family: 'Avenir-Book', sans-serif;
}
.progress > div{
    height: 100%;
    background-color: #e3d4b8;
    border-radius: 5px;
}

/* .past{
    filter: grayscale(.9);
    opacity: .7;
} */

@media (max-width: 1090px) {
    nav ul {
        flex-flow: column nowrap;
        position: absolute;
        z-index: 11;
        top: -5px;
        right: -5px;
        width: calc(100% + 10px);
        height: 100vh;
        padding-top: 50px;
        background: #fff;
        opacity: 0;
        justify-content: flex-start;
        transform: translateX(100%);
        box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
    }
    nav ul li {
        overflow: hidden;
        transition: ease 0.4s;
        height: 45px;
        padding-top: 10px;
        padding-bottom: 10px;
    }
    nav ul li a{
        display: block;
        width: 100%;
        text-align: left;
    }
    nav ul.open {
        opacity: 1;
        transform: translateX(0);
    }
    /* nav ul.open li {
        height: 45px;
        padding-top: 10px;
        padding-bottom: 10px;
    } */
    nav > ul > li:before{
        bottom: 0;
    }
    nav ul.sub-menu{
        opacity: 1;
        transform: scaleY(1);
        top: 0;
        background: #fff;
        margin: 0;
        padding: 0;
        box-shadow: none;
        width: 100%;
        height: auto;
    }
    nav ul.open li.has-sub{
        height: 90px;
    }

    .has-sub > ul > li:hover:before {
        width: 100%;
    }

    .has-sub > ul > li:before {
        bottom: 0;
        display: block;
        content: '';
        width: 0;
        height: 3px;
        background: #6a0c11;
        border-radius: 3px;
        position: absolute;
        left: 0;
        transition: ease .4s;
    }

    .menu-toggle {
        display: flex;
        flex-flow: column nowrap;
        justify-content: space-evenly;
        align-items: center;
        position: absolute;
        z-index: 11;
        right: 0;
        top: 7px;
        width: 30px;
        height: 30px;
    }
    .menu-toggle span {
        width: 20px;
        height: 2px;
        background: #6a0c11;
        transition: ease .4s;
    }
    .menu-toggle.open span:nth-child(2){
        opacity: 0;
    }
    .menu-toggle.open span:nth-child(1){
        transform: translateY(8px) rotate(45deg);
    }
    .menu-toggle.open span:nth-child(3){
        transform: translateY(-8px) rotate(-45deg);
    }
    .rightbox{
        grid-template-columns: 1fr;
    }
    .rightbox >div:first-child{
        margin-bottom: 20px;
    }
    .hot-offers .offer-item{
        width: calc((100% - 20px)/2);
    }
    .hot-offers .no-flick .offer-item{
        margin-bottom: 20px;
    }
    .hot-offers .no-flick .offer-item:nth-child(2n){
        margin-right: 0;
    }
    .hot-events .container .flick{
        grid-template-columns: 1fr 1fr;
    }
    .event-bg-image > img{
        max-height: 400px;
    }
    .rivapark > header{
        font-size: 2.3rem;
    }
    .rivapark > .sub-header{
        font-size: 1.1rem;
    }
    .directory > .container {
        grid-template-columns: 2fr 3fr;
    }
}

@media(max-width: 756px){
    .body{
        font-size: .9rem;
    }
    .event-detail header, .event-content .event-detail > div{
        font-size: 1.2rem;
    }
    .hot-offers > header, .hot-events > header, .rivapark > header, .ig > header, .box .text, .riva-header header{
        font-size: 1.3rem;
    }
    .search input{
        width: 150px;
    }
    .page-header{
        position: fixed;
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
        padding: 5px;
    }
    .page-header.fixed{
        top: 0;
    }
    .page-header .logo{
        height: 0;
    }
    .logo > .img{
        display: none;
    }
    nav{
        border-top: none;
    }
    .search{
        right: 30px;
        top: calc(100% + 8px);
        z-index: 5;
    }
    .page-header .side-logo{
        width: 120px;
    }
    .gold-header header{
        font-size: 1.5rem;
    }
    .event-content{
        width: 90%;
        padding: 40px;
    }
    .event-content > header{
        font-size: 1.5rem;
    }
    .hot-offers{
        overflow-x: hidden;
    }
    .rivapark > header{
        font-size: 2rem;
    }
    .rivapark > .sub-header{
        font-size: .9rem;
    }
    .rivapark{
        padding: 10px;
    }
    .rivapark-wrapper{
        padding-bottom: 100%;
        /* background-size: 1600px; */
    }
    .dir-n-guest{
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr;
    }
    .directory > .container{
        margin: 0 20px 15px;
        grid-template-columns: 1fr;
    }
    .jump{
        margin: 20px;
        width: auto;
        flex-flow: row wrap;
    }
    .dir-index, .dir-floor{
        width: 100%;
        font-size: 1.1em;
    }
    .dir-floor{
        margin-top: 10px;
    }
    .dir-index{
        justify-content: flex-start;
        touch-action: pan-x;
        overflow-x: scroll;
        padding-bottom: 5px;
    }
    .dir-index::-webkit-scrollbar, .hot-offers .large .item::-webkit-scrollbar {
        height: .3rem;
    }
    .dir-index::-webkit-scrollbar-track, .hot-offers .large .item::-webkit-scrollbar-track {
        background: #e6e7e8;
        border-radius: .3rem;
    }
    .dir-index::-webkit-scrollbar-thumb, .hot-offers .large .item::-webkit-scrollbar-thumb {
        background: #6a0c11;
        border-radius: .3rem;
    }
    .dir-index a{
        display: block;
        margin: 0 10px;
    }
    .dir-floor .sub-menu{
        max-height: 200px;
        overflow-y: scroll;
    }
    .foot-column{
        grid-template-columns: 1fr;
        margin: 0;
    }
    .foot-column .leftbox{
        border-right: 0;
        border-bottom: 2px solid #fff;
    }
    .service .tenant-detail{
        padding-left: 15px;
        padding-right: 15px;
    }
    .service .tenant-name{
        font-size: 1.2rem;
    }
    .service .fold{
        display: block;
        font-size: .9rem;
    }
    .service .fold.collapse{
        height: 300px;
    }
    .service .tenant-logo{
        width: 100%;
        max-width: 100%;
        margin: 0 0 15px 0;
    }
    .hot-offers > header:before, .hot-events > header:before, .ig > header:before,
    .hot-offers > header:after, .hot-events > header:after, .ig > header:after{
        content: none;
    }
    .hot-offers .large > .item{
        display: flex;
    }
    .hot-offers .large > .item img{
        height: auto;
        max-height: 100%;
        width: 100%;
        margin: auto;
    }
    .large.fixed{
        top: 55px;
        height: calc(100% - 55px)
    }
    .close.fixed{
        top: 70px;
    }
    .slider{
        padding-bottom: 100%;
    }
    .gold-header img{
        min-height: 120px;
        object-fit: cover;
    }
    .tenant-detail .map{
        padding: 0;
    }
    .map-control {
        margin-top: 20px;
        position: initial;
        flex-flow: row nowrap;
        justify-content: center;
    }
    
    .map-control button{
        margin-top: 0;
    }

    .map-control button:not(:first-child){
        margin-left: 5px;
    }
}
@media (max-width: 480px){
    .gold-header .desktop{
        display: none;
    }
    .gold-header .mobile{
        display: block;
    }
    footer .links ul{
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr 1fr;
        width: auto;
    }
    .links ul li:nth-child(2){
        border: none;
    }
    .links ul li{
        margin: 10px;
    }
    .buttons{
        width: 80%;
        font-size: .9rem;
        max-width: 260px;
    }
    .maxwidth .buttons {
        font-size: .9rem;
    }
    .floating-social{
        width: 55px;
        height: 180px;
        top: calc(50% - 90px);
    }
    .floating-social img{
        width: 25px;
        height: 25px;
    }
    .hot-offers, .hot-events, .ig {
        padding: 40px 0;
    }
    .hot-offers > .sub-header, .hot-events > .sub-header, .rivapark > .sub-header, .ig > .sub-header, footer {
        font-size: .8rem;
    }
    .hot-offers > header, .hot-events > header, .rivapark > header, .ig > header, .box .text {
        font-size: 1.3rem;
    }
    .hot-offers > .container {
        margin-top: 35px;
    }
    .hot-events > .container {
        margin: 40px auto 35px;
    }
    .ig{
        padding: 40px 10px;
    }
    .dir .box .text, .guest .box .text {
        font-size: 1.3rem;
    }
    .dir-n-guest{
        margin: 40px auto 0;
    }
    .dir-n-guest .icon {
        width: 25px;
        height: 25px;
    }
    .hot-offers > header:before, .hot-events > header:before, .ig > header:before{
        width: 30px;
        left: 4%;
    }
    .hot-offers > header:after, .hot-events > header:after, .ig > header:after {
        width: 30px;
        right: 4%;
    }
    .hot-offers .offer-item{
        width: 100%;
    }
    .hot-offers .no-flick .offer-item{
        margin-right: 0;
    }

    .hot-events > .container .item{
        width: 100%;
        margin-right: 20px;
    }
    .tenant-detail .info{
        grid-template-columns: 1fr;
    }
    .hot-events{
        overflow-x: hidden;
    }
    .hot-events .container .flick{
        width: 100%;
        display: block;
    }
    .hot-events .container .no-flick .item:not(:first-child){
        margin-top: 20px;
    }
    .event-bg-image > img{
        max-height: 250px;
    }
    .event-bg-image{
        padding: 200px 0 0;
    }
    .event-content{
        width: 100%;
        padding: 30px;
    }
    .event-detail .buttons.right {
        display: none;
    }
    .rivapark-page{
        padding: 10px;
    }
    .service .tenant-logo{
        height: 180px;
    }
    .service .fold.collapse{
        height: 260px;
    }
}

.nopad {
    padding-top: 0;
}

@keyframes bounce {
    0%   { transform: translate(-100%, -100%) rotate(45deg) scale(calc(2/var(--zoom))); }
    10%  { transform: translate(-100%, -100%) rotate(45deg) scale(calc(2/var(--zoom))); }
    30%  { transform: translate(-100%, calc(-100% - 10px / var(--zoom))) rotate(45deg) scale(calc(2/var(--zoom))); }
    50%  { transform: translate(-100%, -100%) rotate(45deg) scale(calc(2/var(--zoom))); }
    57%  { transform: translate(-100%, calc(-100% - 3px / var(--zoom))) rotate(45deg) scale(calc(2/var(--zoom))); }
    64%  { transform: translate(-100%, -100%) rotate(45deg) scale(calc(2/var(--zoom))); }
    100% { transform: translate(-100%, -100%) rotate(45deg) scale(calc(2/var(--zoom))); }
}

/* youtube styles */
.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

[v-cloak] {
    opacity: 0;
}