@font-face {
    font-family: 'Arboria';
    src: url('../fonts/arboria/Arboria-Book.woff2') format('woff2'),
         url('../fonts/arboria/Arboria-Book.woff') format('woff'),
         url('../fonts/arboria/Arboria-Book.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Arboria';
    src: url('../fonts/arboria/Arboria-Bold.woff2') format('woff2'),
         url('../fonts/arboria/Arboria-Bold.woff') format('woff'),
         url('../fonts/arboria/Arboria-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Zuume';
    src: url('../fonts/Zuume-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

body,
html,
a,
p,
div,
h1,
h2,
h3,
h4,
h5 {
    font-family: 'Arboria', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 140%;
    font-size: 16px;
    color: #000;
    transition: all 300ms ease-in-out;
}

body {
    background: rgb(0, 0, 0);
    overflow-x: hidden;
}

html {
    overflow-x: hidden;
}
:root{
	--brand: #9FC424;
}

/* Arboria weight utilities (use on any text element as needed) */
.arboria-100 { font-family: 'Arboria', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 400; }
.arboria-200 { font-family: 'Arboria', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 400; }
.arboria-300 { font-family: 'Arboria', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 400; }
.arboria-400 { font-family: 'Arboria', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 400; }
.arboria-500 { font-family: 'Arboria', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 400; }
.arboria-600 { font-family: 'Arboria', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 700; }
.arboria-700 { font-family: 'Arboria', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 700; }
.arboria-800 { font-family: 'Arboria', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 700; }
.arboria-900 { font-family: 'Arboria', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 700; }
.zuume-400 { font-family: 'Arboria', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 400; }
.zuume-500 { font-family: 'Arboria', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 400; }
.zuume-600 { font-family: 'Arboria', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 700; }
.zuume-700 { font-family: 'Arboria', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 700; }
main {
    background-color: #fff;
    overflow: hidden;
}

.col#second ul li a,
h6,
h5,
h4,
h3,
h2,
h1,
.banner h2,
.btn,
.cats button {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-style: normal;
}

h1 {
    font-size: 100px;
    text-transform: uppercase;
    margin: 10px 0
}

h2 {
    font-size: 34px;
    margin-bottom: 15px;
}

h3 {
    font-size: 28px;
    margin-bottom: 15px;
}

img {
    max-width: 100%;
    height: auto
}

a {
    text-decoration: none;
}

.uppercase {
    text-transform: uppercase;
}

.container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
}

.flex {
    display: flex;
}

.center {
    text-align: center;
}

.blackBg {
    background-color: #000;
    color: #fff;
}

.blackBg p,
.blackBg a,
.blackBg div,
.blackBg h2,
.blackBg h1,
.blackBg h3 {
    color: #fff;
}
.bg-brand{
	background: var(--brand);
}
.bg-grey{
	background: rgb(245,245,245);
}
.bg-brand h3,
.bg-brand p,
.bg-brand a,
.bg-brand div{
	color: #fff;
}
.cover {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.contain {
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

.btn {
    width: 100%;
    background: #9FC424;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    padding: 10px 30px;
    font-size: 21px;
}

.cta {
    font-weight: 700;
    font-size: 18px
}


/* owl carousel overrides */
.owl-carousel {
    width: 100%;
    z-index: 1;
}

.home-carousel {
    margin-bottom: 40px;
    overflow: hidden;
/*     aspect-ratio: 1240 / 600; */
	aspect-ratio: 1500 / 610;
    background: #000;
}

.home-carousel .owl-stage-outer {
    height: 100% !important;
    overflow: hidden !important;
}

.home-carousel .owl-stage {
    height: 100% !important;
}

.home-carousel .owl-item {
    height: 100% !important;
}

.home-carousel .item,
.home-carousel .inner {
    height: 100%;
    position: relative;
    line-height: 0;
}



.home-carousel .bannerDesktop,
.home-carousel .bannerMobile,
.home-carousel video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* .home-carousel .item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
    z-index: 1;
    pointer-events: none;
}
.home-carousel .item::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 220px;
    background: linear-gradient(to bottom, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0) 100%);
    pointer-events: none;
    z-index: 1;
} */

.home-carousel .carousel-hero-text {
    position: absolute;
    top: calc(55%);
    transform: translateY(-50%);
    left: calc((100vw - 1240px) / 2 + 15px);
    z-index: 2;
    pointer-events: none;
}

@keyframes heroSlideIn {
    from { opacity: 0; transform: translateX(-10px); }
    to   { opacity: 1; transform: translateX(0); }
}

@keyframes heroDotIn {
    from { opacity: 0; transform: translateX(-5px); }
    to   { opacity: 1; transform: translateX(0); }
}

.home-carousel .carousel-hero-text .hero-word,
.home-carousel .carousel-hero-text .herodot {
    display: inline-block;
    opacity: 0;
}

.home-carousel .carousel-hero-text.is-animating .hero-word {
    animation: heroSlideIn 0.9s ease var(--hero-delay, 0s) forwards;
}
.home-carousel .carousel-hero-text.is-animating .herodot {
    animation: heroDotIn 0.65s ease var(--hero-delay, 0s) forwards;
}

.home-carousel .carousel-hero-text h1 {
    color: #fff;
    text-transform: none;
    margin: 0;
    font-size: 90px;
    line-height: 1;
    text-shadow: 0 0 20px black;
    font-family: 'Poppins', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
.home-carousel .carousel-hero-text h1 span {
    letter-spacing: -2.5px;
}
.home-carousel .carousel-hero-text h1 .dot,
.home-carousel .carousel-hero-text h1 span.orange,
.home-carousel .carousel-hero-text h1 .herodot {
    color: #F19119;
}

@media (max-width: 1270px) {
    .home-carousel .carousel-hero-text {
        top: 60%;
    }
}

@media (max-width: 1200px) {
    .home-carousel {
        aspect-ratio: 1240 / 700;
    }

    .home-carousel .carousel-hero-text {
        left: 15px;
    }

    .home-carousel .carousel-hero-text h1 {
        font-size: 85px;
        line-height: 1.1;
    }
}

@media (max-width: 1000px) {
    .home-carousel {
        aspect-ratio: 1240 / 750;
    }

    .home-carousel .carousel-hero-text h1 {
        font-size: 65px;
        line-height: 1.1;
    }
}


@media (max-width: 610px) {
    .home-carousel {
        aspect-ratio: 1 / 1;
        margin-bottom: 20px;
    }
}


/*header*/

.header {
    padding-top: 30px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    background-color: #fff;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 5;
}
.header .logo img{
	max-height: 115px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
}
.header-main{
	align-items:end;
	padding-bottom: 15px;
}
.logo {
    max-width: 235px
}

.col#second {
    margin-left: auto
}

.col#second .icon {
    margin-left: 15px;
    font-size: 14px;
    position: relative;
}

.col#second .socail.icon {
    margin-left: 5px;
}

.col#second .socail.facebook {
    margin-left: 15px;
}

.col#second b {
    font-weight: 600;
}

.col#second .icon i {
    margin-right: 5px;
    font-size: 18px;
    color: #9FC424;;
    position: relative;
    top: 3px;
}

.promagnifier,
.proclose {
    display: none!important
}

.col#second .icon.search {
    position: relative;
    width: 20px;
    height: 10px;
    cursor: pointer;
}

.col#second .icon.search .fas {
    top: 3px;
    left: 0;
    position: absolute
}

.col#second .icon.search.active .fa-times {
    opacity: 1;
    transition: all 300ms ease-in-out;
}

.col#second .icon.search.active .fa-search {
    opacity: 0;
    transition: all 300ms ease-in-out;
}

.col#second .icon.search .fa-times {
    opacity: 0;
    transition: all 300ms ease-in-out;
}

.col#second .icon.search .fa-search {
    opacity: 1;
    transition: all 300ms ease-in-out;
}

.topline .items {
    opacity: 1;
    transition: all 300ms ease-in-out;
}

.topline .items.active {
    opacity: 0;
    transition: all 300ms ease-in-out;
}

body div.asl_m .probox .proinput input::placeholder {
    opacity: 1;
    font-size: 18px;
    font-weight: 700;
}

body #ajaxsearchlite1 .probox .proinput input,
body div.asl_w .probox .proinput input {
    font-size: 18px;
    font-weight: 700;
}

body div.asl_r .results .item .asl_content h3,
body div.asl_r .results .item .asl_content h3 a,
body div.asl_r .results .item .asl_content h3 a:hover {
    color: rgb(255, 51, 67);
    font-weight: 500;
    font-family: 'Arboria', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 18px;
}

body div.asl_r .results .item .asl_content h3 a:hover {
    color: #9FC424;
}

.seachContainer {
/*     margin-left: auto */
}

.seachContainer {
    position: relative;
}

.searchBar {
    position: absolute;
    top: 0;
    right: 30px;
    width: 0px;
    overflow: hidden;
    transition: all 300ms ease-in-out;
}

.searchBar.active {
    width: 510px;
    transition: all 300ms ease-in-out;
}


/*footer*/

footer {
    box-sizing: border-box;
    padding: 20px 0 40px;
    overflow: hidden;
    display: block
}

footer .col {
    width: 180px;
    box-sizing: border-box;
    padding-left: 30px;
}

footer .col:first-child {
    padding-left: 0px;
}

footer .col#aboutCol {
    width: 330px;
}

footer .col#logoCol {
    margin-left: auto
}

footer .footerLogo.white {
	margin-top: 20px;
    width: 140px;
    margin-left: auto;
    display: block;
	filter: invert(1);
}

footer p,
footer a,
footer div {
    font-size: 13px;
}

footer ul,
footer ul li {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

footer .address {
    margin-bottom: 4px;
}

footer a {
    font-weight: 600;
    margin-bottom: 4px;
    display: block;
}

footer a:hover,
.gr-footer a:hover {
    color: #F19119;
}

.bottomLine {
    display: block;
    padding: 40px 0 20px
}

.bottomLine a {
    display: inline-block
}


/*banner*/

.banner {
    width: 100%;
    background: #A3C627;
    margin-bottom: 40px;
    background-size: cover;
    background-position: center center;
    position: relative;
    overflow: hidden;
}

.banner.has-bg-image::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    pointer-events: none;
}

.banner .container {
    position: relative;
    z-index: 1;
}

.banner h1,
.banner h2 {
    color: #fff;
    font-size: 70px;
    text-transform: uppercase;
    margin: 0;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
}

.banner .container .inner {
    height: 190px;
    display: flex;
    align-items: center;
	justify-content: center;
}


/*home carousel*/

.home-carousel .container {
    padding: 0;
}

.item.contained {
    max-width: 1210px;
    margin: 0 auto;
}

.item.full {
    width: 100%;
    margin: 0 auto;
}

.item.contained video {
    max-width: 1210px;
}

.item.full video {
    width: 100%;
}


/* logo carousel*/

.logoCarousel {
    display: block;
    padding: 30px 0 20px;
    margin-bottom: 70px;
}
.logoCarousel .item{
	margin: 15px;
}

.homeImages {
    margin-bottom: 50px;
}


/*features*/

.shadowBox {
    display: block;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
    box-sizing: border-box;
    padding: 40px;
	margin-bottom:50px;
}
.shadowBox .leftCol {
    width: 40%;
    display: flex;
    align-items: center;
    text-align: center;
    box-sizing: border-box;
    padding: 0px 80px 0 40px;
}
.shadowBox .rightCol {
    width: 60%;
    min-height: 330px;
}
.cover {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.contain {
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}
.features {
    position: relative;
    width: calc(100% + 30px);
    left: -15px;
    margin-bottom: 60px;
}

.features .feature {
    padding: 15px
}

.features .feature h3 {
    text-transform: uppercase;
    margin-top: 15px
}


/* shop page*/

.shopItems {
    font-size: 0;
}

.shopItem {
    box-sizing: border-box;
    display: inline-block;
    padding: 5px;
    width: 25%
}


.shopItem .inner {
    border: 1px solid #9FC424;
    box-sizing: border-box;
    padding: 15px;
    height: 130px;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0.8;
    background-color: transparent;
    transform: scale(1);
    transition: background-color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
}

.shopItem:hover .inner {
    background-color: #faffe8;
    opacity: 1;
    transform: scale(1.05);
}

.shopItem .hidden {
    font-size: 0;
}

.intro,
.seaching {
    max-width: 840px;
    margin: 0 auto 35px;
    font-size: 22px;
    text-align: center;
}

.seaching {
    margin-bottom: 40px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.intro p:first-child, .intro a:first-child {
    margin-top: 55px;
}

.intro p, .intro a {
    font-size: 22px;
    margin-bottom: 15px;
    margin-top: 0;
    display: block;
}

.intro a {
    font-weight: 600;
}

.searchCats,
.textSearch {
    width: 100%;
    box-sizing: border-box;
}

.searchCats {
    padding-right: 0;
}

.searchCats .inner {
    position: relative;
}

.searchCats .btn {
    color: #000;
    width: 260px;
    margin: 0 auto;
    background-color: #e5e4e1;
    padding: 10px 6px 8px 10px;
    border-radius: 5px;
    font-weight: 600;
    text-transform: capitalize;
    font-size: 18px;
}

.searchCats .btn i {
    transition: all 300ms ease-in-out;
    transform: rotate(0deg);
    position: relative;
    top: 0;
}

.searchCats .btn.activeMenu i {
    transition: all 300ms ease-in-out;
    transform: rotate(180deg);
    position: relative;
    top: 3;
}

.textSearch {
    padding-left: 0;
    position: relative;
    width: 400px;
    max-width: 100%;
    margin: 0 auto;
}

.textSearch input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    border: 0px solid #000;
    background: transparent;
    padding: 15px 15px 13px;
    text-align: center;
    border: 1px solid #aaa;
    text-align: center;
    line-height: 1;
    width: 100%;
    margin: 0;
}

.textSearch input::placeholder {
    font-weight: 400;
    text-transform: none;
    color: #bbb;
    font-size: 21px;
}

.textSearch .clearSearch {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    color: #898787;
    font-size: 24px;
    line-height: 1;
    padding: 0;
    width: 20px;
    height: 20px;
    cursor: pointer;
    display: none;
    margin-top: -2px;
}

.textSearch.hasValue .clearSearch {
    display: block;
}

.cats {
    background-color: rgba(255, 255, 255, 0.95);
    box-sizing: border-box;
    width: 500px;
    padding: 0;
    overflow: hidden;
    max-height: 0;
    transition: all 300ms ease-in-out;
    position: absolute;
    top: 50px;
    border-color: #f1f1f1;
    z-index: 5;
    left: 50%;
    transform: translateX(-50%);
    max-width: 100%;
}

.cats.activeMenu {
    max-height: 600px;
    transition: all 300ms ease-in-out;
    border: 1px solid #f1f1f1;
}

.cats button:first-child {
    margin-top: 10px
}

.cats button:last-child {
    margin-bottom: 10px
}

.cats button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    width: 100%;
    background: none;
    border: 0px solid #000;
    text-align: left;
    font-size: 22px;
    padding: 3px 15px;
    box-sizing: border-box;
    text-transform: capitalize;
    font-weight: 500;
    font-size: 19px;
}

.list {
    padding-bottom: 60px;
    font-size: 0;
}

.list .shopItem {
    vertical-align: top;
    width: 33.333%;
}

.shopItem .inner {
    text-align: center;
}

.shopItem .inner img {
    height: auto;
    max-height: 65%;
    max-width: 70%;
    width: auto;
}

.newsItem {
    min-height: 250px;
    margin-bottom: 40px;
}

.newsItem:hover {
    opacity: 0.8
}

.newsItem .item {
    min-width: 340px;
	width:340px;
	object-fit: cover;
}

.newsItem .col.info {
    background: rgba(159, 196, 36, 0.9);
    align-items: center;
    display: flex;
    box-sizing: border-box;
    padding: 40px
}
.whatsonList .inner h3,
.whatsonList .inner p,
.whatsonList .inner a,
.whatsonList .inner span,
.whatsonList .inner div{
	color: #fff;
}

.newsItem .col.info h3 {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 42px;
    text-transform: uppercase;
}

.teaser p {
    font-size: 18px;
    margin: 0 0 5px;
}

.box {
    width: 100%;
    padding: 10px;
}

.infoBoxes {
    margin-bottom: 60px;
    display: grid;
    gap: 24px;
}

.infoBoxes--2col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.infoBoxes--full {
    grid-template-columns: 1fr;
}

.box .inner {
    width: 100%;
    border: none;
    border-radius: 16px;
    height: 100%;
    padding: 36px 40px;
    box-sizing: border-box;
    display: flex;
    align-items: flex-start;
    background-color: #F5F5F5;
}

.box .innerStuff {
    display: flex;
    align-items: flex-start;
    gap: 28px;
}

.box__icon {
    font-size: 42px;
    color: #333;
    flex-shrink: 0;
    line-height: 1;
    margin-top: 4px;
}

.box__text {
    flex: 1;
    min-width: 0;
}

body.single-shops .box .inner {
    background: transparent;
    box-shadow: none;
    border-radius: 1px;
    color: #333;
    border: 2px solid #FFCE66;
}


.box h3 {
    margin-top: 0;
    color: #F19119;
    line-height: 1.2;
}

.info-align-left {
    text-align: left;
    width: 100%;
}

.info-align-center {
    text-align: center;
}

.info-align-right {
    text-align: right;
}

.box a {
    font-weight: 600;
}

.infoBoxes .box {
    width: 100%;
    margin: 0;
}

.findUsMap {
    margin: 20px 0 30px;
}

.findUsMap iframe {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 420px;
    border: 0;
}

body.parking .infoBoxes .box,
body.car-park .infoBoxes .box,
body.page-template-page-parking .infoBoxes .box {
    display: block;
}


/*shop*/

body.single-shops .banner {
    background-color: #A3C627;
}

/* body.single-eating .banner {
    background-color: #9FC424;
    background-image: url('../img/eating-banner.png')!important; */
	background-color: #9FC424;
}

body.single-whats-on .banner {
/*     background-image: url('../img/whatson-banner.png')!important; */
	background-color: #9FC424;
}

body.single-jobs .banner {
/*     background-image: url('../img/jobs-banner.png')!important; */
	background-color: #9FC424;
}

body.single-event .banner {
    background-color: #9FC424;
}

body.single h1 {
    text-align: center;
    margin: 0;
    padding: 0;
    font-size: 42px
}

/* Poppins hero title for shop pages */
body.single-shops .banner h1,
body.single-shops .banner h2 {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    letter-spacing: -3%;
}

body.single-shops .mainContent,
body.single-eating .mainContent {
    margin-bottom: 60px;
    align-items: stretch;
}

body.single-shops .mainContent .col,
body.single-eating .mainContent .col {
    width: 50%
}

body.single-shops .mainContent .col:first-child,
body.single-eating .mainContent .col:first-child {
    align-self: center;
}

body.single-shops .retainerImage,
body.single-eating .retainerImage {
    display: flex;
    flex-direction: column;
}

body.single-shops .mainContent ul,
body.single-eating .mainContent ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.single-shops .mainContent h3,
body.single-eating .mainContent h3 {
    margin-bottom: 0;
}

body.single-shops .mainContent .btn,
body.single-eating .mainContent .btn {
    margin-top: 20px;
    display: inline-block;
    max-width: 200px;
}

.retainerImage {
    padding: 10px
}

.retainerImage .inner {
    flex: 1;
    min-height: 500px;
    overflow: hidden;
}

.retainerImage .inner.cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Shop single */
body.single-shops .banner {
    display: none;
}

.shop-gallery-hero {
    background: #EFEEEF;
    margin-top: 80px;
    padding: 0 0;
}

.shop-gallery-hero__grid {
    display: grid;
    gap: 28px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    transform: translateY(-60px);
}

.shop-gallery-hero__grid--count-1 {
    grid-template-columns: minmax(0, 1fr);
}

.shop-gallery-hero__grid--count-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.shop-gallery-hero__grid--count-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.shop-gallery-hero__grid--count-4 .shop-gallery-hero__item:first-child {
    grid-column: span 2;
}

.shop-gallery-hero__grid--count-4 .shop-gallery-hero__item:nth-child(2) {
    grid-column: span 2;
}

.shop-gallery-hero__item:first-child::after {
	display:none;
}

.shop-gallery-hero__item {
    aspect-ratio:  16 / 10;
    border-radius: 18px 18px 18px 18px;
    border: 1px solid #EFEEEF;
    overflow: hidden;
    position: relative;
}

.shop-gallery-hero__item::after {
    border-bottom: 64px solid #EFEEEF;
    border-left: 64px solid transparent;
    bottom: 0;
    content: "";
    position: absolute;
    right: 0;
    z-index: 2;
}

.shop-gallery-hero__item img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

/* Event single hero */
.event-hero {
    background: #EFEEEF;
    margin-top: 80px;
    padding: 0 0;
}

.event-hero__grid {
    display: grid;
    gap: 28px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    transform: translateY(-60px);
}

.event-hero__grid--count-1 {
    grid-template-columns: minmax(0, 1fr);
}

.event-hero__item {
    border-radius: 18px 18px 18px 18px;
    border: 1px solid #EFEEEF;
    overflow: hidden;
    position: relative;
}

.event-hero__item::after {
    border-bottom: 64px solid #EFEEEF;
    border-left: 64px solid transparent;
    bottom: 0;
    content: "";
    position: absolute;
    right: 0;
    z-index: 2;
}

.event-hero__item:first-child::after {
    display: none;
}

.event-hero__item img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.shop-single__content {
    background: #fff;
    padding: 58px 0 78px;
    position: relative;
    z-index: 5;
}

.shop-single__content .container {
    display: grid;
    gap: 42px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.shop-single__main {
    padding-right: 28px;
}

.shop-single__logo {
    margin-bottom: 18px;
}

.shop-single__logo img {
    height: auto;
    max-height: 100px;
    max-width: 210px;
    object-fit: contain;
    width: auto;
}

.shop-single__main h1 {
    font-size: 34px;
    line-height: 1.15;
    margin-bottom: 20px !important;
    text-align: left !important;
    text-transform: none;
}

.shop-single__copy p,
.shop-single__details li,
.shop-single__action {
    font-size: 16px;
    line-height: 1.35;
}

.shop-single__copy p {
    font-size: 18px;
    margin: 0 0 22px;
}

.shop-single__details {
    border-left: 1px solid #707070;
    padding-left: 38px;
}

.shop-single__details h2 {
    color: #b7b7b7;
    font-size: 34px;
    line-height: 1.1;
    margin: 0 0 24px;
    text-transform: uppercase;
}

.shop-single__hours {
    list-style: none;
    margin: 0 0 34px;
    padding: 0;
}

.shop-single__hours li {
    margin: 0 0 2px;
}

.shop-single__hours strong {
    display: inline-block;
    min-width: 114px;
}

.shop-single__actions {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.shop-single__action {
    align-items: center;
    border-radius: 6px 6px 0 6px;
    display: inline-flex;
    font-weight: 700;
    gap: 12px;
    min-width: 145px;
    padding: 11px 18px;
    position: relative;
    text-decoration: none;
    transition: background 200ms, color 200ms, border-color 200ms;
}

.shop-single__action::after {
    content: '';
    position: absolute;
    bottom: -3px;
    right: -3px;
    width: 0;
    height: 0;
    z-index: 5;
    border-bottom: 18px solid #fff;
    border-left: 18px solid transparent;
}

.shop-single__action i {
    font-size: 22px;
}

.shop-single__action--dark {
    background: #000;
    color: #fff;
    border: 1px solid #000;
}

.shop-single__action--dark::before {
    content: '';
    position: absolute;
    bottom: 0px;
    right: 0px;
    width: 0;
    height: 0;
    z-index: 4;
    border-bottom: 14px solid #000;
    border-left: 14px solid transparent;
    transition: opacity 200ms;
}

.shop-single__action--dark span,
.shop-single__action--dark i {
    color: #fff;
}

.shop-single__action--dark:hover {
    background: #fff;
    border-color: #000;
    color: #000;
}

.shop-single__action--dark:hover span,
.shop-single__action--dark:hover i {
    color: #000;
}

.shop-single__action--light {
    background: #fff;
    border: 1.5px solid #000;
    color: #000;
}

.shop-single__action--light::before {
    content: '';
    position: absolute;
    bottom: 0px;
    right: 0px;
    width: 0;
    height: 0;
    z-index: 4;
    border-bottom: 14px solid #000;
    border-left: 14px solid transparent;
}

.shop-single__action--light:hover {
    background: #000;
    color: #fff;
}

/* Event single */
body.single-event .banner {
    margin-bottom: 0;
}

.event-hero-top {
    background: #EFEEEF;
    padding: 0;
    margin-top: 110px;
    margin-bottom: -30px;
}

.event-hero-top__image {
    border-radius: 18px 18px 0 18px;
    position: relative;
}

.event-hero-top__image::after {
    border-bottom: 80px solid #EFEEEF;
    border-left: 80px solid transparent;
    bottom: 80px;
    content: "";
    position: absolute;
    right: 0;
    z-index: 2;
}

.event-hero-top__image img {
    aspect-ratio: 1210 / 420;
    display: block;
    height: auto;
    object-fit: cover;
    position: relative;
    top: -80px;
    width: 100%;
    border-radius: 20px;
}

.event-single__content {
    background-color: #fff;
    padding-bottom: 70px;
    padding-top: 55px;
    position: relative;
    z-index: 5;
}

.event-single__content .container {
    display: grid;
    gap: 42px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.event-single__main {
    padding-right: 28px;
}

.event-single__main h1 {
    line-height: 1.15;
    text-align: left !important;
    text-transform: none;
    margin-bottom: 20px !important;
}

.event-single__summary p,
.event-single__body p,
.event-single__details li,
.event-single__highlights p,
.event-single__meta span,
.event-single__meta strong {
    font-size: 16px;
    line-height: 1.35;
}

.event-single__summary p,
.event-single__body p,
.event-single__highlights p {
    margin: 0 0 22px;
}

.event-single__details {
    border-left: 1px solid #707070;
    padding-left: 38px;
}

.event-single__details h2 {
    color: #b7b7b7;
    font-size: 34px;
    line-height: 1.1;
    margin: 0 0 20px;
    text-transform: uppercase;
}

.event-single__details h3 {
    font-size: 26px;
    line-height: 1.15;
    margin: 28px 0 14px;
}

.event-single__meta {
    align-items: flex-start;
    display: flex;
    gap: 0;
}

.event-single__meta-icon {
    flex: 0 0 auto;
    font-size: 20px;
    line-height: 1;
    margin-top: 2px;
}

.event-single__meta strong,
.event-single__meta span {
    display: inline-block;
    margin-right: 4px;
}

.event-single__highlights {
    margin: 0;
}

.event-single__highlights ul {
    margin: 0;
    padding-left: 17px;
}

.event-single__highlights li {
    margin-bottom: 3px;
}

.fullWidthImage {
    margin: 50px 0
}


/*single evnts Content*/

body.single-whats-on main p,
body.single-whats-on main a,
body.single-whats-on main ul,
body.single-whats-on main li,
body.single-whats-on main {
    font-size: 21px;
}

body.single-whats-on .splitContent .col {
    width: 50%;
}

body.single-whats-on .splitContent {
    position: relative;
    width: calc(100% + 20px);
    left: -15px;
}

body.single-whats-on .splitContent .col {
    width: 50%;
    box-sizing: border-box;
    padding: 15px;
}

body.single-whats-on .splitContent .col p:first-child {
    margin-top: 0;
    padding-top: 0;
}

body.single-whats-on .splitContent .col .inner {
    height: 100%;
}

.fullWidthImageBlock,
.fullWidthImageBlock img {
    width: 100%;
}

.fullWidthImageBlock img {
    height: auto;
}

.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%;
}

.flexiBlock {
    margin-bottom: 60px;
}

.splitContent {
    min-height: 400px;
}

.jobItem {
    width: 100%;
    border: 2px solid black;
    margin-bottom: 40px;
    box-sizing: border-box;
    padding: 30px;
}

.jobItem .item {
    width: 25%;
    border: 1px solid #999
}

.jobItem>.jobInfo {
    width: 85;
    box-sizing: border-box;
    padding-left: 30px;
}

.jobInfo h3 {
    margin: 0;
}

/* Jobs modal only */
.fancybox-slide:not(.fancybox-slide--image) .fancybox-content {
    max-width: 800px !important;
    padding: 30px !important;
}

/* Store map image lightbox */
.fancybox-slide--image .fancybox-content,
.fancybox-image {
    height: auto !important;
    max-width: none !important;
    padding: 0 !important;
}


.fancybox-content h3 {
    margin-top: 0;
}

.fancybox-content .btn {
    float: left;
    margin-top: 40px;
}

.roleDetails {
    font-size: 18px;
}

.jobInfo {
    font-size: 18px;
}

.roleDetails {
    margin-top: 20px
}

body.single-jobs .roleDetails {
    display: block;
    width: 100%;
}

body.single-jobs .btn {
    display: inline-block;
    margin: 40px 0;
}

body.single-jobs h1 {
    margin-bottom: 40px;
}

body.jobs .intro {
    margin-bottom: 60px
}

.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="password"],
.gform_wrapper input[type="search"],
.gform_wrapper textarea,
.gform_wrapper select {
    border: 1px solid #a1c03a !important;
}

.gform_wrapper input:hover,
.gform_wrapper input:focus,
.gform_wrapper input:active,
.gform_wrapper textarea:hover,
.gform_wrapper textarea:focus,
.gform_wrapper textarea:active,
.gform_wrapper select:hover,
.gform_wrapper select:focus,
.gform_wrapper select:active {
    outline: none !important;
    box-shadow: none !important;
    border-color: #6b8226 !important;
}

.gform_wrapper .gfield_label {
    font-weight: 700 !important;
    font-size: 16px !important;
}

.gform_fields {
    row-gap: 15px !important;
}

.gform_wrapper .gform_button {
    background-color: #a1c03a !important;
    border-color: #a1c03a !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    border-radius: 0 !important;
}

.contactWrap {
    width: 500px;
    max-width: 100%;
    margin: 0 auto 40px;
    border: 1px solid #FFCE66;
    padding: 20px 30px 30px;
    background-color: #FFFDFA;
}

.leasingCol {
    width: calc(100% + 20px);
    position: relative;
    left: -10px;
    font-size: 18px;
    margin-bottom: 60px;
}

.leasingCol p,
.leasingCol a,
.compAgent {
    font-size: 18px
}

.agents .box a,
.agents .box {
    font-weight: 400;
}

.leasingCol .col {
    padding: 10px;
    box-sizing: border-box;
}

.leasingCol .col.agents {
    width: 80%;
    margin: 0 auto;
}

.agentsWrap {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    margin-top: -10px;
}

.agentsWrap .box {
    flex: 0 1 calc(50% - 20px);
    max-width: 380px;
    min-width: 220px;
    box-sizing: border-box;
}

.agentsWrap .box .inner {
    background-color: #fbfbfb;
    border-color: #e6e6e6;
    align-items: center;
    justify-content: center;
}
.home-community-link::after {
    content: '\f054';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    margin-left: 4px;
    font-size: 12px;
}
.infoBit {
    margin-top: 2px;
    font-weight: 700;
}

.infoBit a.name {
    font-weight: 700;
}

.infoBit a.telAgent,
.infoBit a.emailAgent {
    color: #000;
    font-size: 15px;
}

.agents .box img {
    max-width: 220px;
    max-height: 80px;
}

.agents .box .compAgent {
    font-weight: 600;
    margin-top: 15px;
    display: block;
}

.featureBoxes {
    display: grid;
    gap: 24px;
    margin: 60px 0;
}

.featureBoxes--full {
    grid-template-columns: 1fr;
}

.featureBoxes--2col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.featureBox__inner {
    background-color: #fefefe;
    border-radius: 16px;
    padding: 36px 40px;
    display: flex;
    align-items: flex-start;
    gap: 28px;
    height: 100%;
    box-sizing: border-box;
    border: 1px solid #fcd8ab;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    transition: all 0.3s ease;
}

.featureBox__inner:hover {
    background-color: #fffbf6;
    box-shadow: 0 6px 20px rgba(0,0,0,0.1);
    transform: translateY(-3px);
}

.featureBox__icon {
    flex-shrink: 0;
    line-height: 1;
    margin-top: 4px;
}

.featureBox__icon i {
    font-size: 52px;
    color: #333;
}

.featureBox__text {
    flex: 1;
    min-width: 0;
}

.featureBox__text h3 {
    color: #F19119;
    font-size: 22px;
    margin: 0 0 10px;
    text-transform: uppercase;
    letter-spacing: 0.01em;
}

.featureBox__desc,
.featureBox__desc p {
    font-size: 16px;
    line-height: 1.5;
    margin: 0 0 16px;
}

a.featureBox {
    text-decoration: none;
    color: inherit;
    display: block;
}

.featureBox__link {
    display: inline-block;
    font-size: 16px;
    font-weight: 700;
    color: #333;
}

a.featureBox:hover .featureBox__link {
    color: #F19119;
}

body.whats-on .intro {
    margin-bottom: 60px;
}

.promoItem .promoBox {
    display: block;
    overflow: hidden;
}
.promoItem {
    width: calc(100% - 400px);
    display: block;
}
.promoItem .promoBox .promoImage {
    width: 100%;
    transition: 1s all;
    transform: scale(1);
    padding-top: 44.44%;
}
.promoItem .promoBox .mobileImage {
    display: none;
}

.boxItem.social {
    width: 400px;
    margin-top: 65px;
    padding: 15px 0 0 25px;
}


.boxItem.social .inner {
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
	height: 100%;
}

.boxItem .inner {
    overflow: hidden;
}
.boxItem.social .icons {
    height: initial;
    margin-top: 80px;
}
.desktopImage.cover.promoImage:hover{
	transform: scale(1.1);
}

.boxItem.social .circleIcon {
    text-align: center;
    background-color: rgba(0, 0, 0, 1);
    display: inline-block;
    border-radius: 50%;
    width: 70px;
    height: 70px;
    margin: 0 10px;
}
.boxItem.social .circleIcon .innerIcon {
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    height: 100%;
}
.boxItem.social .circleIcon i {
    color: rgba(255, 255, 255, 1);
    font-size: 42px;
}
.promo h2, .homeImages h2 {
    margin-bottom: 5px;
}

.home-quick-links-section {
    background: #fff;
    margin: 0;
    font-family: 'Zuume', 'Arboria', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 400;
}

.home-quick-links-pattern {
    width: 100%;
    height: 28px;
    background-image: url('../img/pattern.png');
    background-repeat: repeat-x;
    background-size: auto 100%;
    background-position: center;
}

.owl-dots {
    display: none !important;
}

.home-quick-links-section .container {
    max-width: 1130px;
    padding-top: 30px;
    padding-bottom: 30px;
}

.home-quick-links-title {
    font-family: 'Zuume', 'Arboria', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 400;
    text-align: center;
    color: #707070;
    text-transform: uppercase;
    font-size: clamp(24px, 40px, 48px);
    line-height: 1;
    margin: 0 0 26px;
}

.home-quick-links-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 35px;
}

.home-quick-card {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    clip-path: polygon(0 0, 100% 0, 100% 76%, 76% 100%, 0 100%);
    border-radius: 23px 23px 0 0;
}

.home-quick-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, transparent 50%);
    pointer-events: none;
}

.home-quick-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 260ms ease;
}

.home-quick-card:hover img {
    transform: scale(1.05);
}

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

.home-quick-card-badge {
    position: absolute;
    left: 0px;
    bottom: -9px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 70px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    z-index: 1;
    letter-spacing: -5px;
    transition: 0.3s all ease;
}

.home-quick-card-badge::after {
    content: ".";
    color: #fff;
    display: inline-block;
    transition: color 0.3s ease;
}

.home-quick-card:hover .home-quick-card-badge {
    color: #fff;
    left: 15px;
}

.home-quick-card:hover .home-quick-card-badge::after {
    color: #F19119;
    animation: dotBounce 0.6s ease-in-out infinite;
}

.home-parallax-section {
    width: 100%;
}

.home-parallax-image {
    width: 100%;
    overflow: hidden;
    aspect-ratio: 2500 / 800;
    position: relative;
}

.home-parallax-image img {
    position: absolute;
    top: -15%;
    left: 0;
    width: 100%;
    height: 130%;
    display: block;
    object-fit: cover;
    object-position: center center;
    will-change: transform;
}

.home-community-section {
    background: #E97259;
    color: #fff;
}

.home-community-section .container {
    max-width: 1080px;
}

.home-community-wrap {
    display: grid;
    grid-template-columns: 55fr 45fr;
    gap: 48px;
    align-items: center;
    padding: 60px 0;
}

.home-community-title-row {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 10px;
}

.home-community-title-row h2 {
    margin: 0;
    font-size: clamp(31px, 2.5vw, 35px);
    line-height: 1.2;
    color: #fff;
}

@keyframes iconHeartbeat {
    0%    { transform: scale(1); }
    2%    { transform: scale(1.04); }
    4%    { transform: scale(1); }
    6%    { transform: scale(1.03); }
    8%    { transform: scale(1); }
    100%  { transform: scale(1); }
}

.home-community-title-row img {
    width: 100px;
    height: 100px;
    object-fit: contain;
    flex: 0 0 auto;
    transform-origin: center;
}

.home-community-title-row img.is-beating {
    animation: iconHeartbeat 5s ease-in-out infinite;
}

.home-community-copy p {
    margin: 0 0 20px;
    color: #fff;
    font-size: clamp(18px, 1.2vw, 18px);
    line-height: 1.2;
}

.home-community-copy p:last-child {
    margin-bottom: 0;
}

.guest-services-gallery-section {
    margin: 20px 0 60px;
    padding: 28px;
    background: #9FC424;
}

.guest-services-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.guest-services-gallery-item {
    margin: 0;
}

.guest-services-gallery-item img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
    border: 2px solid rgba(255, 255, 255, 0.8);
}

.home-community-paragraph {
    margin: 0 0 10px;
}

.home-community-paragraph:last-child {
    margin-bottom: 0;
}

.home-community-paragraph p {
    margin: 0 0 20px;
    color: #fff;
    font-size: clamp(20px, 1.2vw, 20px);
    line-height: 1.4;
}

.home-community-paragraph p:last-child {
    margin-bottom: 0;
}

.home-community-link {
    display: inline-block;
    margin-top: 10px;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
}

.home-community-link:hover {
    color: #fff;
	opacity:0.8;
}

.home-community-image img {
    display: block;
    width: 440px;
    border-radius: 20px 20px 0 0;
    height: auto;
    clip-path: polygon(0 0, 100% 0, 100% 86%, 86% 100%, 0 100%);
    margin: 0 auto 10px;
}

@media (min-width: 1025px) and (max-width: 1200px) {
    .home-community-title-row h2 {
        padding-right: 7%;
    }
    .home-quick-links-grid {
        gap: 25px;
    }
}

@media (min-width: 841px) and (max-width: 1024px) {
    .home-community-title-row h2 {
        padding-right: 0;
    }

    .home-quick-links-section .container {
        padding-top: 35px;
        padding-bottom: 35px;
    }

    .home-quick-links-title {
        font-size: clamp(24px, 4.3vw, 48px);
    }

    .home-quick-links-grid {
        gap: 20px;
    }

    .home-community-wrap {
        gap: 28px;
    }

    .home-quick-card-badge {
        bottom: -5px;
        font-size: 55px;
    }
}

@media (min-width: 841px) {
	body:not(.admin-bar) .home-carousel {
		margin-top: 33px;
	}
    nav {}
    .col#second ul {
        display: flex;
        list-style: none;
        padding: 0;
        margin: 0;
        margin-top: 15px;
    }
    .col#second ul li:first-child {
        margin-left: auto;
    }
    .col#second ul li a {
        font-weight: 600;
        text-transform: uppercase;
        Font-size: 32px;
        margin-left: 15px
    }
    .col#second ul li a:hover {
        color: #9FC424;;
    }
    body.single-whats-on .splitContent.left {
        flex-direction: row-reverse;
    }
    main {
        padding-top: 160px
    }
    .header .topline {
        position: relative;
        transition: all 300ms;
        margin-top: 0px;
		justify-content: end;
    }
    .header.skinnyHeader .topline {
        position: relative;
        transition: all 300ms;
        margin-top: -40px;
    }
    .header.skinnyHeader .logo {
        max-width: 150px;
    }
    .header .col#second ul {
        transition: all 300ms;
    }
    .header.skinnyHeader .col#second ul {
        transition: all 300ms;
    }
    .header.skinnyHeader {
        transition: all 300ms
    }
    .header.skinnyHeader {
        padding-top: 12px;
        transition: all 300ms;
    }
}

@media (max-width: 1140px) {
    .icon.directions {
        display: none;
    }
    .shopItem .inner img {
        height: auto
    }
    .shopItem {
        width: 25%;
    }
}


@media (max-width: 840px) {
    .container {
        padding: 0 40px;
    }

    .home-community-link {
        margin-bottom: 30px;
    }

    .agentsWrap {
        gap: 0px;
    }

    .agentsWrap .box {
        flex: 1 1 100% !important;
        width: 500px !important;
        max-width: 100% !important;
    }

    .box .inner {
        padding: 20px 25px;
        width: 460px;
        max-width: 100%;
        margin: 0 auto;
    }

    .infoBoxes {
        grid-template-columns: 1fr;
    }

    body.parking .infoBoxes,
    body.car-park .infoBoxes,
    body.page-template-page-parking .infoBoxes {
        grid-template-columns: 1fr;
    }

    .guest-services-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 920px) {
    .icon.wifi {
        display: none;
    }
}

@media (max-width: 840px) {
        .home-parallax-image {
            min-height: 430px;
            background-attachment: scroll;
        }
        .home-community-wrap {
            grid-template-columns: 1fr;
            gap: 22px;
            padding: 28px 0;
        }
        .home-community-title-row {
            gap: 12px;
            margin-bottom: 12px;
        }
        .home-community-copy p {
            margin-bottom: 14px;
        }
        .home-quick-links-title {
            font-size: clamp(30px, 8.5vw, 48px);
            width: 500px;
            max-width: 100%;
            margin: 0 auto 20px;
        }
        .home-quick-card {
            width: 100%;
            margin: 0 auto;
            max-width: 100%;
        }
        .home-quick-links-grid {
            grid-template-columns: 1fr;
            gap: 14px;
            width: 370px;
            max-width: 100%;
            margin: 0 auto;
        }
        .home-quick-links-pattern {
            height: 25px;
        }
		 .promoItem .promoBox .mobileImage {
	        display: block !important;
	        padding-top: 64.70%;
	    }
	.promoItem .promoBox .desktopImage {
        display: none;
    }
	.boxItem.social {
        display: none;
    }
	.boxItem.social {
        margin-top: 20px;
        padding: 15px 15px 0 15px;
    }
	.promoItem {
        width: 100%;
    }
	
	.flex {
        flex-wrap: wrap;
    }
	.shadowBox .leftCol {
        width: 100%;
        padding: 0 40px 20px;
    }
	    .shadowBox .rightCol {
        width: 100%;
    }
    body.activeMenu {
        overflow: hidden;
    }
    .banner h1,
    .banner h2 {
        font-size: 52px
    }
    .flex {
        flex-wrap: wrap
    }
    h3,
    .newsItem .col.info h3 {
        font-size: 25px;
        margin-bottom: 0;
        display: block;
    }
    .btn {
        font-size: 18px;
    }
    .banner .container .inner {
        height: 150px;
    }
    .intro p,
    .intro a,
    body.single-whats-on main p,
    body.single-whats-on main a,
    body.single-whats-on main ul,
    body.single-whats-on main li,
    body.single-whats-on main,
    body.single-event main p,
    body.single-event main a,
    body.single-event main ul,
    body.single-event main li,
    body.single-event main,
    body.single-news main p,
    body.single-news main a,
    body.single-news main ul,
    body.single-news main li,
    body.single-news main,
    .leasingCol p,
    .leasingCol a,
    .compAgent,
    .featureBoxes .col p,
    .featureBoxes .col a,
    .featureBoxes .col div {
        font-size: 18px;
    }
    .featureBoxes .col {
        width: 100%;
        text-align: center;
    }
    .featureBoxes--2col {
        grid-template-columns: 1fr;
    }
    .socail.icon {
        display: none;
    }
    nav.nav {
        position: fixed !important;
        top: 0 !important;
        left: -100% !important;
        right: auto !important;
        width: 100% !important;
        height: 100vh !important;
        background-color: #F0F0F2 !important;
        z-index: 9000 !important;
        transition: left 300ms ease-in-out !important;
        opacity: 1 !important;
    }
    nav.nav.activeMenu {
        left: 0 !important;
    }
    nav.nav .inner {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        height: 100vh !important;
        box-sizing: border-box !important;
        padding: clamp(60px, 13vh, 110px) 40px clamp(20px, 5vh, 40px) !important;
    }
    nav.nav ul {
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        text-align: left !important;
        width: 100% !important;
        flex: 0;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center;
        gap: 0 !important;
        height: auto;
    }
    nav.nav ul li {
        text-align: left !important;
        border-bottom: 0;
        width: 100% !important;
        flex: 1 1 0 !important;
        display: flex !important;
        align-items: center !important;
    }
    nav.nav ul li a {
        color: #586474 !important;
        position: relative;
        display: block !important;
        width: 100% !important;
        font-size: clamp(22px, min(7vw, 6.5vh), 60px) !important;
        font-weight: 600 !important;
        text-transform: none !important;
        line-height: 1.15 !important;
        padding: 12px 0 !important;
        text-align: left !important;
        margin-bottom: 20px;
    }
    nav.nav ul li a:hover {
        color: #F19119 !important;
    }
    nav.nav ul li a:before {
        content: '';
        width: 100%;
        height: 3px;
        background-color: #F19119 !important;
        position: absolute;
        bottom: 0px;
    }
    nav.nav ul li a:after {
        content: "" !important;
        display: inline-block !important;
        width: 10px !important;
        height: 10px !important;
        border-radius: 50% !important;
        background-color: #F19119 !important;
        margin-left: 2px !important;
        vertical-align: middle !important;
        line-height: 1 !important;
        position: relative !important;
        top: 0 !important;
    }
    .burgerMenu {
        position: absolute;
        top: 20px;
        right: 20px;
        width: 32px;
        height: 32px;
        z-index: 9001;
        background: none;
        border: none;
        cursor: pointer;
        padding: 0;
    }
    body.activeMenu .burgerMenu {
        position: fixed !important;
        top: 20px !important;
        left: 40px !important;
        right: auto !important;
        z-index: 9999 !important;
    }
    .burgerMenu .inner {
        position: relative;
        height: 100%;
    }
    .burgerMenu .inner span {
        position: absolute;
        top: 0;
        width: 100%;
        display: block;
        height: 2px;
        background-color: #000;
        transition: all 300ms ease-in-out;
        opacity: 1;
    }
    .burgerMenu.activeMenu .inner span {
        background-color: #3a3a3a !important;
    }
    .burgerMenu .inner span:nth-child(1) {
        top: 25%;
    }
    .burgerMenu .inner span:nth-child(2) {
        top: 50%;
    }
    .burgerMenu .inner span:nth-child(3) {
        top: 75%;
    }
    .burgerMenu.activeMenu .inner span:nth-child(1) {
        top: 50%;
        transform: rotate(45deg);
    }
    .burgerMenu.activeMenu .inner span:nth-child(2) {
        opacity: 0;
    }
    .burgerMenu.activeMenu .inner span:nth-child(3) {
        top: 50%;
        transform: rotate(-45deg);
    }
    .opening.icon {
        display: none;
    }
    .seachContainer {
        position: absolute;
        right: 50px;
        top: 20px;
    }
    .header .logo {
        width: 150px;
        position: absolute;
        top: 10px;
        left: calc(50% - 75px);
    }
    .col#second .icon.parking {
        position: absolute;
        left: 0px;
        top: 18px;
    }
    .parking span {
        width: 100%;
        display: block;
        clear: both;
        padding-left: 20px;
        font-size: 14px;
        line-height: 100%;
    }
    .col#second .icon i {
		 top: -3px;
        position: absolute;
        left: 0;
    }
    .col#second .icon i {
        color: rgba(0, 0, 0, 1)
    }
	.header .logo img {
    	max-height: 67px;
	}
	.col#second .icon.parking {
		display: none;
	}
	.header .logo {
        width: 150px;
        position: absolute;
        top: 10px;
        left: 20px;
    }
    header.header {
        margin-top: 0;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        position: fixed;
        top: 0;
        width: 100%;
        background-color: #fff;
    }
    .searchBar {
        top: -20px;
        height: 59px;
        background-color: #fff;
        box-sizing: border-box;
        padding-top: 15px;
    }
    .searchBar.active {
        width: calc(100vw - 80px);
    }
    #ajaxsearchliteres1 {
        width: 100%!important;
    }
    div.asl_w {
        box-shadow: none!important;
    }
    main {
        padding-top: 80px;
    }
    .shopItem {
        width: 33.33%;
    }
    .searchCats,
    .textSearch {
        width: 100%;
    }
    .searchCats {
        padding-right: 0;
        margin-bottom: 20px;
    }
    .textSearch {
        padding-left: 0;
    }
    footer .col:first-child {
        width: 50%;
    }
    footer .col:nth-child(2) {
        width: 50%;
    }
    footer .col#aboutCol {
        padding-left: 0;
        width: 100%;
    }
    footer .col#logoCol {
        width: 100%;
        text-align: center;
        margin-right: auto
    }
    footer .footerLogo {
        width: 20%;
        margin-right: auto;
        margin-top: 30px;
    }
    .newsItem .item {
        width: 100%;
        height: 200px
    }
    body.information .box,
    body.single-whats-on .splitContent .col,
    body.single-shops .mainContent .col,
    body.single-eating .mainContent .col,
    .jobItem .item,
    .jobItem>.jobInfo,
    .leasingCol .col.agents,
    .featureBoxes .col:first-child {
        width: 100%;
    }
    .event-single__content {
        padding-bottom: 45px;
        padding-top: 40px;
    }
    .event-single__content .container {
        display: block;
    }
    .event-single__main {
        padding-right: 0;
    }
    .event-single__details {
        border-left: 0;
        border-top: 1px solid #707070;
        margin-top: 24px;
        padding-left: 0;
        padding-top: 28px;
    }
    .event-single__summary p,
    .event-single__body p,
    .event-single__details li,
    .event-single__highlights p,
    .event-single__meta span,
    .event-single__meta strong {
        text-align: left;
    }
    .shop-gallery-hero {
        margin-top: 60px;
        padding-bottom: 0;
    }
    .shop-gallery-hero__grid,
    .shop-gallery-hero__grid--count-3,
    .shop-gallery-hero__grid--count-4 {
        gap: 16px;
        grid-template-columns: 1fr;
        transform: translateY(-35px);
    }
    .event-hero {
        margin-top: 60px;
        padding-bottom: 0;
    }
    .event-hero__grid {
        gap: 16px;
        grid-template-columns: 1fr;
        transform: translateY(-35px);
    }
    .shop-gallery-hero__grid--count-3 .shop-gallery-hero__item:first-child,
    .shop-gallery-hero__grid--count-4 .shop-gallery-hero__item:first-child,
    .shop-gallery-hero__grid--count-3 .shop-gallery-hero__item:nth-child(2),
    .shop-gallery-hero__grid--count-4 .shop-gallery-hero__item:nth-child(2) {
        grid-column: auto;
    }
    .shop-single__content {
        padding-bottom: 45px;
        padding-top: 40px;
    }
    .shop-single__content .container {
        display: block;
    }
    .shop-single__main {
        padding-right: 0;
    }
    .shop-single__details {
        border-left: 0;
        border-top: 1px solid #707070;
        margin-top: 24px;
        padding-left: 0;
        padding-top: 28px;
    }
    body.single-whats-on .splitContent .col:nth-child(2) .inner {
        min-height: 300px;
    }
    .retainerImage {
        min-height: 500px
    }
    .jobItem>.jobInfo {
        padding-left: 0;
        margin-top: 20px;
    }
    .jobItem .item.cover {
        text-align: center;
    }
    .jobItem .item img {
        max-width: 200px;
        margin: 0 auto
    }
    .featureBoxes .box {
        text-align: center;
    }
    .featureBoxes .col:first-child>div i {
        margin-bottom: 20px
    }
}
@media(min-width: 611px){
	.bannerDesktop{
		display:block;
	}
	.bannerMobile{
		display: none !important;
	}
}
@media(max-width: 610px){
	.bannerDesktop{
		display:none !important;
	}
	.bannerMobile{
		display: block;
	}
}

@media (max-width: 574px) {
	body.activeMenu .burgerMenu {
		left: 20px !important;
	}
    .container {
        padding: 0 40px;
    }

    .event-single__content {
        margin-top: -70px;
    }

    .event-hero-top {
        padding: 25px 0 35px;
        margin-top: 80px;
    }

    .event-hero-top__image::after {
        border-bottom-width: 42px;
        border-left-width: 42px;
    }

    .event-hero-top__image img {
        aspect-ratio: 6 / 3;
        margin-top: 10px;
    }

    .event-single__main h1,
    .event-single__details h2 {
        font-size: 28px;
    }

    .home-community-title-row h2 {
        padding-right: 0;
    }

    .home-quick-links-title {
        font-size: 43px;
    }
}

@media (max-width: 450px) {
    .event-single__content {
        margin-top: -80px;
        padding-top: 30px;
    }
}

@media (max-width: 574px) {
    nav.nav .inner {
        padding: clamp(60px, 20vh, 120px) 25px clamp(20px, 5vh, 40px) !important;
    }
    nav.nav ul li a {
        font-size: clamp(20px, min(10vw, 6vh), 42px) !important;
    }
    nav.nav ul li a:after {
        width: 8px !important;
        height: 8px !important;
        top: 0 !important;
    }
}

@media (max-width: 540px) {
    .home-community-title-row img {
        width: 70px;
        height: 70px;
    }
	.list{
		display: flex;
		flex-wrap: wrap;
		height: unset !important;
	}
	a.shopItem{
		position:unset !important;
	}
    .guest-services-gallery-section {
        padding: 16px;
    }
    .guest-services-gallery-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .guest-services-gallery-item img {
        height: 200px;
    }
    .shopItem {
        width: 50%;
    }
/*     .homeImages {
        display: none
    } */
    .logoCarousel.blackBg {
        margin-bottom: 0;
        padding-bottom: 0;
    }
    footer {
        padding-top: 0;
    }
    footer .col:first-child,
    footer .col:nth-child(2),
    footer .col#aboutCol,
    footer .col#logoCol {
        width: 100%;
        text-align: center;
        padding-left: 0;
    }
    footer .footerLogo {
        width: 50%;
    }
    .banner .container .inner {
        width: 100%;
        text-align: center;
    }
    .banner h1,
    .banner h2 {
        width: 100%;
        text-align: center;
        font-size: 35px;
        line-height: 1.1;
    }
    .newsItem .col.info {
        padding: 20px 15px;
    }
}


@media (max-width: 340px) {
    .parking span {
        font-size: 12px;
    }
    .col#second .icon.parking {
        left: -5px
    }
}

#editLink {
    position: absolute;
    top: 0;
    right: 0;
    background-color: #820052;
    padding: 10px 30px;
    color: #fff
}

#editLink a {
    color: #fff;
    font-weight: #fff;
    font-weight: 700;
}

body.single-shops .mainContent h3,
body.single-eating .mainContent h3 {
    font-size: 23px;
}

.shopContentLogo {
    margin-bottom: 15px;
}

.shopContentLogo img {
    max-height: 80px;
    max-width: 160px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.retainerImage .logoFallback {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.retainerImage .logoFallback img {
    max-width: 80%;
    max-height: 80%;
    width: auto;
    height: auto;
    object-fit: contain;
}


/* Information page — SS1: plain text sections */
.infoTextSections {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 60px;
}

.infoTextSection__title {
    font-size: 1.8rem;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 12px;
    color: #111;
}

.infoTextSection__content p {
    margin-top: 0;
}

/* Information page — SS2: info sections (WYSIWYG + image) */
.infoSections {
    margin-bottom: 60px;
}

.infoSection {
    display: flex;
    align-items: stretch;
    column-gap: 40px;
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid #f0e8d8;
}

.infoSection:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.infoSection__text {
    flex: 0 0 30%;
    min-width: 0;
    padding-top: 25px;
    padding-bottom: 25px;
}

.infoSection__text h2 {
    margin-top: 0;
	font-size:1.8rem;
    line-height: 1.1;
}

.infoSection__image {
    flex: 1 1 0;
    min-width: 0;
    position: relative;
}

.infoSection__image::after {
    border-bottom: 60px solid #fff;
    border-left: 60px solid transparent;
    bottom: 0;
    content: "";
    position: absolute;
    right: 0;
    z-index: 2;
}

.infoSection__image img {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 8px;
    object-fit: cover;
}

@media (max-width: 840px) {
    .infoSection {
        flex-direction: column;
        align-items: flex-start;
    }
    .infoSection__text,
    .infoSection__image {
        flex: none;
        max-width: 100%;
        width: 100%;
    }
    .infoSection__image img {
        height: auto;
    }
}

/* Shops page hero banner */
.shops-hero {
    position: relative;
    width: 100%;
    aspect-ratio: 1440 / 350;
    background-size: cover;
    background-position: center center;
    overflow: hidden;
    margin-bottom: 40px;
}

.shops-hero--compact {
    aspect-ratio: 1440 / 140;
}

.privacy-policy .shops-hero--compact,
.page-template-default.page .shops-hero--compact {
    height: 250px;
}

.shops-hero .container {
    position: absolute;
    inset: 0;
    height: 100%;
    display: flex;
    align-items: flex-end;
    z-index: 2;
}

.shops-hero__gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 40%, rgba(0,0,0,0.72) 100%);
    pointer-events: none;
}

.shops-hero__label {
    position: absolute;
    bottom: -14px;
    left: 20px;
    color: #fff;
    font-size: 90px;
    font-family: Poppins;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: -4px;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
    z-index: 1;
}

@media (max-width: 900px) {
    .shops-hero__label {
        font-size: 88px;
        left: 15px;
        bottom: -14px;
    }
}

@media (max-width: 479px) {
    .container {
        padding: 0 26px;
    }

    .shops-hero__label {
        font-size: 55px;
        bottom: -11px;
    }
}

/* What's On page */
.whats-on-page {
    padding-bottom: 80px;
    padding-top: 30px !important;
}

.whats-on-list a {
    background: #EFEEEF;
    border-radius: 10px;
    padding: 32px;
    transition: background-color 0.3s ease;
}

.whats-on-list a:hover {
    background-color: #fcd8ab;
}

.whats-on-card {
    display: grid;
    gap: 25px;
    grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
    margin-bottom: 32px;
    overflow: hidden;
}

@media (min-width: 841px) and (max-width: 950px) {
    .whats-on-card {
        align-items: stretch;
    }
    .whats-on-card__image {
        aspect-ratio: unset;
        height: 100%;
    }
    .whats-on-card__content {
        align-self: stretch;
    }
}

.whats-on-card:last-child {
    margin-bottom: 0;
}

.whats-on-card:hover {
    opacity: 0.86;
}

.whats-on-card__image {
    background: #b7b7b7;
    border-radius: 10px 10px 0 10px;
    overflow: hidden;
    position: relative;
    min-width: 0;
    width: 100%;
    aspect-ratio: 4 / 3;
}

.whats-on-card__image::after {
    border-bottom: 54px solid #EFEEEF;
    border-left: 54px solid transparent;
    bottom: 0;
    content: "";
    position: absolute;
    right: 0;
    z-index: 2;
    transition: border-bottom-color 0.3s ease;
}

.whats-on-card__image img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.whats-on-card__content {
    align-self: center;
    min-width: 0;
}

.whats-on-card__content h2 {
    font-size: 31px;
    line-height: 1.1;
    margin: 0 0 14px;
}

.whats-on-card__content h2::after {
    content: ".";
    color: #ef7815;
    display: inline-block;
    font-size: 1.6em;
    line-height: 0;
    margin-left: 2px;
    opacity: 0;
    transform: translateY(0);
}

.whats-on-list a:hover .whats-on-card__image::after {
    border-bottom-color: #fcd8ab;
}

.whats-on-list a:hover .whats-on-card__content h2::after {
    opacity: 1;
    animation: whats-on-dot-bounce 0.65s ease-in-out infinite;
}

@keyframes whats-on-dot-bounce {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-12px); }
}

.whats-on-card__meta {
    align-items: flex-start;
    display: flex;
    gap: 7px;
    margin-bottom: 20px;
}

.whats-on-card__meta i {
    font-size: 20px;
    line-height: 1;
    margin-top: 1px;
}

.whats-on-card__meta strong,
.whats-on-card__meta span {
    display: inline-block;
    font-size: 16px;
    line-height: 1.3;
    margin-right: 5px;
}

.whats-on-card__summary p,
.whats-on-card__content p {
    font-size: 18px;
    line-height: 1.35;
    margin-bottom: 10px !important;
}

.whats-on-list__empty {
    margin: 0 auto;
    max-width: 520px;
    text-align: center;
    padding: 60px 0;
}

.whats-on-list__ellipsis {
    color: #000;
}

.whats-on-list__empty h2 {
    font-size: 2rem;
    margin: 0 0 12px;
    line-height: 1.1;
}

.whats-on-list__empty p {
    margin: 0;
    color: #707070;
    font-size: 1rem;
    line-height: 1.6;
}

.whats-on-loader {
    text-align: center;
}

.whats-on-loader__sentinel {
    height: 1px;
}

.whats-on-loader__status {
    color: #777;
    display: none;
    font-size: 16px;
    margin-bottom: 20px;
    min-height: 24px;
}

.whats-on-loader__status.is-active {
    display: block;
}

.whats-on-load-more {
    background: #F19119;
    border: 0;
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
    font-size: 17px;
    font-weight: 700;
    padding: 13px 28px;
}

.whats-on-load-more:hover {
    background: #000;
}

@media (max-width: 840px) {
    .whats-on-list {
        padding: 0;
    }

    .whats-on-card {
        gap: 22px;
        grid-template-columns: 1fr;
    }
}

@media (max-width: 574px) {
    .whats-on-card__content h2 {
        font-size: 25px;
    }
    .whats-on-card__summary p,
    .whats-on-card__content p {
        font-size: 16px;
        line-height: 1.35;
        margin-bottom: 10px !important;
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .whats-on-card__meta {
        align-items: flex-start;
        display: flex;
        gap: 5px;
        margin-bottom: 0px;
    }
    .whats-on-card__meta i {
        font-size: 18px;
        line-height: 1;
        margin-top: 1px;
    }
}

@media (max-width: 479px) {
    .whats-on-page {
        padding-bottom: 40px;
        padding-top: 30px !important;
    }

    .whats-on-list {
        padding: 0;
    }

    .whats-on-list a {
        padding: 20px;
    }
}

/* Shop cards — page-shops.php */
.shops-list {
    padding: 24px;
    background-color: #F1F1F1;
    border-radius: 20px;
    margin-bottom: 40px;
    margin-top: 20px;
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.shops-list a.shopItem {
    display: block;
    text-decoration: none;
    color: inherit;
    width: auto;
    padding: 0;
    box-sizing: border-box;
    min-width: 0;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.shops-list a.shopItem.is-entering {
    opacity: 1;
    transform: translateY(0);
}

.shops-list a.shopItem.is-hiding {
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.18s ease-in, transform 0.18s ease-in;
}

.shops-list a.shopItem.is-hidden {
    display: none !important;
}

.shopCard {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: none;
    background: #fff;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid #aaa;
}

a.shopItem:hover .shopCard {
    transform: translateY(-3px);
    box-shadow: none;
}

.shopCard__image {
    width: 100%;
    aspect-ratio: 16 / 9;
    background-size: cover;
    background-position: center;
    background-color: #f0f0f0;
    border-bottom: 1px solid #aaa;
}

.shopCard__body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.shopCard__logo {
    height: 63px;
    width: 163px;
    display: flex;
    align-items: center;
    margin-top: -55px;
    padding: 10px 20px;
    border: 1px solid #aaa;
    background-color: #fff;
    border-radius: 16px;
}

.shopCard__logo img {
    width: 100%;
    object-fit: contain;
    height: 100%;
}

.shopCard__title {
    font-size: 17px;
    font-weight: 700;
    font-family: Poppins;
    color: #222;
    letter-spacing: -1%;
    margin-bottom: -5px;
    margin-top: 3px;
}

.shopCard__excerpt {
    font-size: 13px;
    color: #666;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: 0.1s all linear;
}

/* Shops filter bar */
.shops-filter-bar {
    display: flex;
    gap: 16px;
    align-items: center;
    width: 600px;
    margin: 0 auto 15px;
    max-width: 100%;
}

.shops-filter-bar__left,
.shops-filter-bar__right {
    flex: 1;
}

.shops-filter-bar--no-cats {
    justify-content: center;
}

.shops-filter-bar--no-cats .shops-filter-bar__left {
    display: none;
}

.shops-filter-bar--no-cats .shops-filter-bar__right {
    flex: none;
    width: 100%;
    max-width: 400px;
}

.shops-filter-dropdown {
    position: relative;
    display: flex;
    align-items: center;
}

/* Custom dropdown button */
.shopCatDropdown__btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 14px 16px 14px 18px;
    font-size: 15px;
    font-weight: 600;
    color: #222;
    cursor: pointer;
    outline: none;
    gap: 12px;
    text-align: left;
    font-family: inherit;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}

.shopCatDropdown__btn:focus,
.shopCatDropdown__btn:focus-visible,
.shopCatDropdown__btn:active {
    outline: none;
    box-shadow: none;
}

.shopCatDropdown__btn:hover,
.shopCatDropdown.is-open .shopCatDropdown__btn {
    background: #111;
    border-color: #111;
    color: #fff;
}

.shopCatDropdown__btn .fa-chevron-down {
    color: #555;
    font-size: 13px;
    flex-shrink: 0;
    transition: transform 0.25s ease, color 0.2s ease;
}

.shopCatDropdown__btn:hover .fa-chevron-down,
.shopCatDropdown.is-open .shopCatDropdown__btn .fa-chevron-down {
    color: #fff;
}

.shopCatDropdown.is-open .shopCatDropdown__btn .fa-chevron-down {
    transform: rotate(180deg);
}

/* Dropdown menu */
.shopCatDropdown__menu {
    position: absolute;
    top: calc(100% - 16px);
    left: 0;
    min-width: 100%;
    background: #111;
    border: 1px solid #111;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.2);
    padding: 12px 0 6px 0;
    margin: 0;
    list-style: none;
    z-index: 100;
    overflow: hidden;
    outline: 0 !important;
    transform: scaleY(0);
    transform-origin: top center;
    opacity: 0;
    pointer-events: none;
    transition: transform 0.2s ease, opacity 0.18s ease;
}

.shopCatDropdown.is-open .shopCatDropdown__menu {
    transform: scaleY(1);
    opacity: 1;
    pointer-events: auto;
}

.shopCatDropdown__item {
    padding: 11px 18px;
    font-size: 15px;
    color: #fff;
    cursor: pointer;
    outline: 0 !important;
    white-space: nowrap;
    transition: color 0.15s;
    -webkit-tap-highlight-color: transparent;
}

.shopCatDropdown__item:hover {
    color: #FF8C00;
}

.shopCatDropdown__item.is-selected {
    font-weight: 600;
    color: #FF8C00;
}

.shops-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.shops-search-wrap .fa-search {
    position: absolute;
    left: 16px;
    color: #888;
    font-size: 15px;
}

.shops-search-wrap .quicksearch {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 14px 18px 14px 44px;
    font-size: 15px;
    color: #222;
    outline: none;
    background: #fff;
}

.shops-search-wrap .quicksearch::placeholder {
    color: #aaa;
}

.shops-search-clear {
    position: absolute;
    right: 14px;
    background: none;
    border: none;
    cursor: pointer;
    color: #aaa;
    font-size: 14px;
    line-height: 1;
    padding: 4px;
    transition: color 0.15s;
}

.shops-search-clear:hover {
    color: #333;
}

.shops-filter-clear {
    text-align: center;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    margin-bottom: 0;
    transition: max-height 0.3s ease, opacity 0.3s ease, margin-bottom 0.3s ease;
}

.shops-filter-clear.is-visible {
    max-height: 60px;
    opacity: 1;
    margin-bottom: 30px;
}

.shops-filter-clear .clearAllFilters {
    font-size: 13px;
    color: #555;
    text-decoration: underline;
    cursor: pointer;
}

.shops-filter-clear .clearAllFilters:hover {
    color: #9FC424;
}

.shops-no-results {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    color: #888;
    font-size: 15px;
}

/* 404 page */
.error-404-section {
    padding: 100px 0 120px;
}

.error-404-wrap {
    text-align: center;
}

.error-404__code {
    font-size: 210px;
    font-weight: 900;
    line-height: 1;
    color: #f0f0f0;
    letter-spacing: -6px;
    margin-bottom: -10px;
}

.error-404__title {
    font-size: 32px;
    font-weight: 700;
    color: #111;
    margin-bottom: 12px;
}

.error-404__text {
    font-size: 16px;
    color: #888;
    margin-bottom: 36px;
}

.error-404__btn {
    display: inline-block;
    background: #FF8C00;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    padding: 14px 32px;
    border-radius: 10px;
    text-decoration: none;
    transition: background 0.2s ease;
}

.error-404__btn:hover {
    background: #111;
    color: #fff;
}

.gr-footer__legal {
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 11px;
    color: rgba(255,255,255,0.45);
}

.gr-footer__legal a {
    color: rgba(255,255,255,0.45);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.15s;
    margin-bottom: 0;
}

.gr-footer__legal a:hover {
    color: #F19119;
}

.gr-footer__legal-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: rgba(255,255,255,0.35);
    flex-shrink: 0;
}

@media (max-width: 1200px) {
    .shopCard__excerpt {
        -webkit-line-clamp: 4;
    }
}

@media (max-width: 575px) {
    .shops-filter-bar {
        flex-direction: column;
        gap: 10px;
    }
    .shops-filter-bar__left,
    .shops-filter-bar__right {
        width: 100%;
    }
	.shop-gallery-hero__item:first-child {
		display: none;
	}
	.shop-gallery-hero__grid, .shop-gallery-hero__grid--count-3, .shop-gallery-hero__grid--count-4 {
        gap: 16px;
        grid-template-columns: repeat(1, 1fr) !important;
    }
}

@media (max-width: 767px) and (min-width: 479px) {
    .shops-list {
        padding: 16px;
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 478px) {
    .shops-list {
        grid-template-columns: repeat(1, 1fr);
        padding: 16px;
        border-radius: 17px;
    }
}

@media (max-width: 839px) {
    .shopCard__body {
        padding: 12px;
    }
	.shops-hero {
		aspect-ratio: 1430 / 600;
	}
    .shopCard__logo {
        height: 55px;
        width: 138px;
        margin-top: -45px;
        padding: 8px 14px;
        border-radius: 13px;
    }
}

@media (max-width: 1024px) and (min-width: 768px) {
    .shops-list {
        padding: 18px;
        grid-template-columns: repeat(3, 1fr);
        gap: 15px;
    }
    .shopCard__excerpt {
        -webkit-line-clamp: 3;
    }
}

/* ============================================================
   Visiting Page
   ============================================================ */

/* --- Intro text --- */
.visiting-intro {
    padding: 20px 0 0;
}

.visiting-intro p {
    font-size: 18px;
    line-height: 1.7;
}

/* --- Hero row: info stack (left) + map (right) --- */
.visiting-hero-row {
    padding: 0 0 20px;
    background: #fff;
}

.visiting-hero-inner {
    display: grid;
    grid-template-columns: 30% 1fr;
    gap: 40px;
    align-items: start;
}

/* --- Info stack (left column) --- */
.visiting-info-stack {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.visiting-info-item {
    margin-bottom: 15px;
}

.visiting-info-item:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.visiting-col-title {
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 12px;
    color: #000;
}

.visiting-col-title::after {
    content: '.';
}

.visiting-col-content {
    font-size: 16px;
    line-height: 1.6;
    color: #000;
    margin-bottom: 14px;
}

.visiting-col-content p {
    margin: 0 0 4px;
}

.visiting-col-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border-radius: 5px 5px 0 5px;
    padding: 12px 25px 12px 16px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    line-height: 1;
    position: relative;
    transition: background 200ms, color 200ms, border-color 200ms;
}

.shops-filter-bar__storeguide {
    margin-top: 12px;
    text-align: center;
}

.btn-store-guide {
    display: inline-block;
    background: #000;
    color: #fff;
    padding: 11px 25px 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px;
}

.btn-store-guide:hover {
    background: #F1911A;
    color: #333;
}

.visiting-col-btn::after {
    content: '';
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 0;
    height: 0;
    z-index: 5;
    border-bottom: 15px solid #fff;
    border-left: 15px solid transparent;
}

.visiting-col-btn i {
    font-size: 15px;
    flex-shrink: 0;
}

.visiting-col-btn--solid {
    background: #000;
    color: #fff;
    border: 1px solid #000;
}

.visiting-col-btn--solid::before {
    content: '';
    position: absolute;
    bottom: -1px;
    right: -1px;
    width: 0;
    height: 0;
    z-index: 4;
    border-bottom: 14px solid #000;
    border-left: 14px solid transparent;
    transition: opacity 200ms;
}

.visiting-col-btn--solid:hover::before {
    opacity: 1;
}


.visiting-col-btn--solid:hover {
    background: #fff;
    border-color: #000;
    color: #000;
}

.visiting-col-btn--outline {
    background: #fff;
    color: #000;
    border: 1.5px solid #000;
}

.visiting-col-btn--outline::before {
    content: '';
    position: absolute;
    bottom: -1px;
    right: 0px;
    width: 0;
    height: 0;
    z-index: 4;
    border-bottom: 15px solid #000;
    border-left: 15px solid transparent;
}

.visiting-col-btn--outline::after {
    border-bottom: 15px solid #fff;
    border-left: 15px solid transparent;
    bottom: -1px;
    right: -1px;
}

.visiting-col-btn--outline:hover {
    background: #000;
    color: #fff;
}


/* --- Map (right column) --- */
.visiting-map-wrap {
    width: 100%;
    min-height: 500px;
    display: block;
}

.visiting-map-wrap iframe {
    display: block;
    width: 100%;
    min-height: 500px;
    border: 0 !important;
}

/* --- Content sections (Getting Here, Parking, etc.) --- */
.visiting-sections-wrap {
    background: #fff;
    padding: 0 0 80px;
}

.visiting-content-section {
    padding: 0;
    margin-top: 40px;
}

.visiting-section-title {
    font-size: 38px;
    font-weight: 800;
    text-transform: uppercase;
    color: #ccc;
    margin-bottom: 20px;
    margin-top: 0;
    letter-spacing: -1.5px;
}

.news-single__content .container {
    max-width: 900px;
}

.visiting-section-body h2,
.visiting-section-body h3 {
    font-family: 'Poppins', sans-serif;
    color: #000;
    font-size: 24px;
    font-weight: 700;
    margin-top: 25px;
    margin-bottom: 0;
}

.visiting-section-body h3::after {
    content: '.';
}

.visiting-section-body h2:first-child,
.visiting-section-body h3:first-child {
    margin-top: 0;
}

.visiting-section-body p {
    line-height: 1.7;
    margin-bottom: 12px;
    margin-top: 0;
}

.visiting-section-body strong {
    font-weight: 700;
}



/* Responsive */

@media (max-width: 840px) {
    .home-carousel .carousel-hero-text {
        top: 50%;
    }
	
	.shop-gallery-hero__item::after {
		border-bottom: 34px solid #EFEEEF;
		border-left: 34px solid transparent; 
	}
}
@media (max-width: 900px) {
    .visiting-hero-inner {
        grid-template-columns: 1fr;
    }

    .visiting-map-wrap,
    .visiting-map-wrap iframe {
        min-height: 380px;
    }
		.commercial-leasing .shops-hero__label {
		margin-bottom:15px;	
	}
}

@media (max-width: 600px) {
    .visiting-section-title {
        font-size: 28px;
    }

    .visiting-map-wrap,
    .visiting-map-wrap iframe {
        min-height: 280px;
    }
}


@media (min-width: 480px) and (max-width: 767px) {
    .commercial-leasing .shops-hero__label {
        font-size: 65px;
    }

}
@media (min-width: 576px) and (max-width: 840px) {
    .shop-gallery-hero__grid,
    .shop-gallery-hero__grid--count-3,
    .shop-gallery-hero__grid--count-4 {
        gap: 16px;
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width: 478px) {
    .shop-gallery-hero__grid,
    .shop-gallery-hero__grid--count-3,
    .shop-gallery-hero__grid--count-4 {
        gap: 8px;
        grid-template-columns: 1fr;

    }

    .commercial-leasing .shops-hero__label {
        font-size: 48px;
    }
}

.whats-on-card__readmore {
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    margin-top: 14px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}


#post-24 {
    margin-bottom: 40px;
}

/* News on What's On page */
.whats-on-news {
    padding-bottom: 80px;
}

h2.whats-on-section__heading,
h2.whats-on-news__heading {
    font-size: 42px;
    font-weight: 800;
    letter-spacing: -0.02em;
    margin: 0 0 16px;
    text-transform: uppercase;
}

.whats-on-news__list {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.whats-on-news__card {
    background: #EFEEEF;
    border-radius: 10px;
    display: grid;
    gap: 25px;
    grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
    overflow: hidden;
    padding: 32px;
    text-decoration: none;
    color: inherit;
}

.whats-on-news__card {
    transition: background-color 0.3s ease;
}

@media (max-width: 479px) {
    .whats-on-news__card {
        grid-template-columns: 1fr;
        padding: 20px;
    }
}

.whats-on-news__card:hover {
    background-color: #fcd8ab;
}

.whats-on-news__image {
    background: #b7b7b7;
    border-radius: 10px 10px 0 10px;
    overflow: hidden;
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
}

.whats-on-news__image::after {
    border-bottom: 54px solid #EFEEEF;
    border-left: 54px solid transparent;
    bottom: 0;
    content: "";
    position: absolute;
    right: 0;
    z-index: 2;
    transition: border-bottom-color 0.3s ease;
}

.whats-on-news__card:hover .whats-on-news__image::after {
    border-bottom-color: #fcd8ab;
}

.whats-on-news__image img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.whats-on-news__info {
    align-self: center;
    min-width: 0;
}

.whats-on-news__info h3 {
    font-size: 31px;
    line-height: 1.1;
    margin: 0 0 14px;
}

.whats-on-news__info h3::after {
    content: ".";
    color: #ef7815;
    display: inline-block;
    font-size: 1.6em;
    line-height: 0;
    margin-left: 2px;
    opacity: 0;
    transform: translateY(0);
}

.whats-on-news__card:hover .whats-on-news__info h3::after {
    opacity: 1;
    animation: whats-on-dot-bounce 0.65s ease-in-out infinite;
}

.whats-on-news__info p {
    font-size: 16px;
    line-height: 1.5;
    margin: 0;
}

/* News single content */
/* Positioning mirrors .event-single__content so the news hero + title sit identically. */
.news-single__content {
    background-color: #fff;
    padding-bottom: 70px;
    padding-top: 55px;
    position: relative;
    z-index: 5;
}

@media (max-width: 840px) {
    .news-single__content {
        padding-bottom: 45px;
        padding-top: 40px;
    }
}

@media (max-width: 574px) {
    .news-single__content {
        margin-top: -70px;
    }
}

@media (max-width: 450px) {
    .news-single__content {
        margin-top: -80px;
        padding-top: 30px;
    }
}

.news-single__main h1 {
    font-size: 42px;
    font-weight: 800;
    letter-spacing: -0.02em;
    margin: 0 0 28px;
    text-align: center;
    text-transform: uppercase;
}

.news-single__body p {
    font-size: 18px;
    line-height: 1.7;
}

/* News photo highlights */
.news-highlights {
    background: #fff;
    padding: 0 0 80px;
}

.news-highlights__heading {
    color: #B8B8B8;
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -0.01em;
    margin: 0 0 24px;
    text-transform: uppercase;
}

.news-highlights__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 380px;
    gap: 10px;
    grid-auto-flow: dense;
}

a.news-highlights__item,
.news-highlights__item {
    border-radius: 10px;
    overflow: hidden;
    min-height: 0;
    position: relative;
    display: block;
    cursor: pointer;
    transition: opacity 0.25s ease;
}

a.news-highlights__item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(239, 120, 21, 0);
    transition: background 0.25s ease;
    z-index: 1;
    pointer-events: none;
}

a.news-highlights__item:hover::before {
    background: rgba(239, 120, 21, 0.2);
}

.news-highlights__item--portrait {
    grid-row: span 2;
}

.news-highlights__item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.4s ease;
}

a.news-highlights__item:hover img {
    transform: scale(1.05);
}

@media (max-width: 840px) {
    .whats-on-news__card {
        grid-template-columns: 1fr;
    }

    .whats-on-section__heading,
    .whats-on-news__heading {
        font-size: 32px;
    }

    .news-single__main h1 {
        font-size: 32px;
    }

    .news-highlights__grid {
        grid-template-columns: 1fr;
        grid-auto-rows: 320px;
    }

    .news-highlights__item--portrait {
        grid-row: span 2;
    }

    .news-highlights__heading {
        font-size: 22px;
    }
}

@media (min-width: 600px) and (max-width: 840px) {
    .news-highlights__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    /* First photo spans full width; all following photos sit in 2 columns. */
    .news-highlights__item:first-child {
        grid-column: 1 / -1;
    }
}
/* Shops Map page */
.storeMap {
    margin: 0 auto;
    max-width: 900px;
    text-align: center;
}

.storeMap img {
    display: block;
    height: auto;
    margin: 0 auto;
    max-width: 100%;
}
