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

/* Headlines: SCW navy instead of black (element-level, so any class-based
   colour — white on photos/teal panels etc. — still wins). */
h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--scw-navy);
}

body {
    background: var(--scw-navy); /* matches the footer, so nothing black shows below it */
}
:root{
	--brand: #afca0b; /* SCW lime */
}
main {
    background-color: #fff;
    overflow: hidden;
}
header.skinnyHeader{
    background: #fff;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.owl-dots {
    display: none;
}

h3,
h2,
h1,
.banner h2,
.btn,
.textSearch input::placeholder,
.cats button {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-style: normal;
}

h1 {
    font-size: 64px;
    margin: 10px 0;
		font-weight:700;

}

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

}

h3 {
    font-size: 24px;
    margin-bottom: 15px;
	font-weight:700;
}

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;
}
.items-center{
    align-items: center;
}

.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);
}
.text-center{
    text-align: center;
}
.py-5{
    padding-bottom: 3rem;
    padding-top: 3rem;
}
.pt-4{
	padding-top: 2rem;
}
.py-4{
    padding-bottom: 2rem;
	padding-top: 2rem;
    
}
.bg-light-grey{
    background: rgb(89 100 118 / 3%);
}
.bg-grey{
	background: #596476;
    color: #fff;
}
.bg-grey ul li a{
    color: #fff;
}
.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: #F08511;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    padding: 10px 30px;
    font-size: 21px;
}

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


/*header*/

.header {
    padding-top: 13px;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 5;
	padding-bottom: 30px;
	background: #fff;
}
.header .logo img{
	max-height: 98px;
	width: 100%;
	height: auto;
	max-width: 100%;
	object-fit: contain;
}
.header-main{
	align-items:end;
}
.skinnyHeader .header-main{
	padding-bottom: 15px;
}
.logo {
    max-width: 250px;
	margin-bottom: 6px;
}

.col#second {
    margin-left: auto
}

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

.col#second .socail.icon {
    margin-left: 5px;
}
.topline span{
    font-weight: 600;
    font-size: 14px;
}
.col#second .socail.facebook {
    margin-left: 15px;
}

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


.col#second .icon i {
    margin-right: 8px;
    font-size: 25px;
    position: relative;
}

.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: 700;
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
}

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

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

.seachContainer {
    position: relative;
}

.boxItem.info h3{
	margin-bottom: 10px;
}
.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 h3,
footer p,
footer span,
footer li,
footer div{
	color: #fff;
}
footer {
    box-sizing: border-box;
    padding: 20px 0;
    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: 435px;
}

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

footer .footerLogo.white {
	margin-top: 20px;
    width: 260px;
    max-width: 100%;
    height: auto;
    margin-left: auto;
    display: block;
}

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

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

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

.bottomLine a {
    display: inline-block
}

.logo-carousel .owl-item img {
    display: block;
    width: 100%;
    height: 100px;
    object-fit: contain;
    margin: auto;
}
/*banner*/

.banner {
    width: 100%;
    background: var(--brand) !important;
    margin-bottom: 40px;
    background-size: cover;
    background-position: center center;
}

.banner h1,
.banner h2 {
    color: #fff;
    font-size: 50px;
    margin: 0;
}

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


/*home carousel*/

.home-carousel .item{
	position:relative;
}
.home-carousel .item:before{
	content: "";
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: rgba(0, 0, 0, 0.4);
}
.home-carousel .item .inner{
	position: relative;
	z-index:2;
}
.home-carousel .container {
    padding: 0;
}
.home-carousel .item{
    position: relative;
}

.home-carousel .item img{
    position: absolute;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.home-carousel .inner h1{
    font-weight: 800;
    color: #fff;
    text-transform: capitalize;
    font-size: clamp(3.25rem, 1.4531rem + 5.75vw, 4.6875rem);
    line-height: normal;
    text-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
	letter-spacing: -4px;

}
.home-carousel .item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
/*   background: linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,0.4)); */
  z-index: 0;
  pointer-events: none;
}

.home-carousel .inner{
    display: flex;
    align-items: center;
    position: relative;
    z-index: 1;
    max-width: 1240px;
    margin: 0 auto;
    padding: 100px 15px;
}
.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: 20px 0;
}
.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;
}
.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
}



.header.skinnyHeader .desktop {
  display: none;
}

.header.skinnyHeader .scroll-logo {
  display: inline-block;
}
/* shop page*/

.shopItems {
    font-size: 0;
}

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

.shopItem .inner {
    border: 1px solid rgb(87 100 118 / 20%);
    box-sizing: border-box;
    padding: 15px;
}

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

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

.seaching {
    margin-bottom: 40px;
}

.intro p,
.intro a {
    font-size: 18px;
}


.intro a {
    font-weight: 600;
}

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

.searchCats {
    padding-right: 20px;
}

.searchCats .inner {
    position: relative;
}

.searchCats .btn {
	 background-color: rgb(255, 255, 255); 
    color: #000
}

.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: 20px;
}

.textSearch input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    width: 100%;
    border: 0px solid #000;
/*     background: rgb(255, 212, 178); */
    padding: 14px;
    text-align: center;
}

.textSearch input::placeholder {
    font-weight: 700;
    color: #000;
    font-size: 21px;
}

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

.cats.activeMenu {
    max-height: 600px;
    transition: all 300ms ease-in-out;
}

.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: uppercase;
}

.list {
    padding-bottom: 60px;
}

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

.shopItem .inner img {
    height: 95px !important;
    object-fit: contain;
}

.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: rgb(249 166 75 / 31%);
    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;
}

.box .inner {
    width: 100%;
    height: 100%;
    padding: 30px 40px;
    box-sizing: border-box;
    display: flex;
    align-items: flex-start;
    justify-content: center;
	background: var(--brand);
	color: #333;
}
.box .inner h3,
.box .inner p{
	color: #333;
}



body.visit-us .box .inner {
    border: none;
	box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.1);
    border-radius: 1px;
}
body.single-shops .box .inner h3,
body.single-shops .box .inner div,
body.single-shops .box .inner p,
body.single-shops .box .inner a,
body.single-shops .box .inner span{
	color: #333;
}
body.single-shops .box .inner {
    border: none;
	background: var(--brand);
	box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.1);
    border-radius: 1px;
}
body.single-shops .webBox  .inner a{
	
}


.box h3 {
    margin-top: 0;
}

.box a {
    font-weight: 600;
}

body.information .infoBoxes {
    display: flex;
    flex-wrap: wrap;
}

body.information .box {
    width: 50%;
}

body.information .infoBoxes .box:last-child {
	width:100%;
}

/*shop*/

body.single-shops .banner {
/*     background-color: rgb(251, 126, 211);
    background-image: url('../img/shop-banner.png')!important; */
	background-color: var(--brand);
}

/* body.single-eating .banner {
    background-color: rgb(0, 186, 125);
    background-image: url('../img/eating-banner.png')!important; */
	background-color: #F08511;
}

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

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

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

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

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

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 {
    height: 100%;
	min-height:500px;
}

.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 h3,
.jobItem .jobInfo div,
.jobItem .jobInfo p,
.jobItem .jobInfo span{
	color: #000;
}

.jobItem .jobInfo a{
	color: var(--brand);
}

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

.jobInfo h3 {
    margin: 0;
}

.fancybox-content {
    max-width: 800px!important;
    padding: 30px!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
}

.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.com {
    width: 75%
}

.leasingCol .col.agents {
    width: 25%
}

.infoBit {
    margin-top: 2px
}

.agents .box img {
    max-width: 140px
}

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

.featureBoxes {
    margin: 60px 0
}

.featureBoxes .box {
    border: 2px solid black;
    box-sizing: border-box;
    padding: 40px 15px;
    margin-bottom: 40px
}

.featureBoxes .col:first-child {
    width: 300px;
    text-align: center;
}

.featureBoxes .col:first-child>div {
    width: 100%;
}

.featureBoxes .col:first-child>div i {
    font-size: 84px;
    margin-top: 20px
}

.featureBoxes .col p,
.featureBoxes .col a,
.featureBoxes .col div {
    font-size: 21px;
}

.featureBoxes .col a {
    margin-top: 20px;
    display: block
}

body.whats-on .intro {
    margin-bottom: 60px;
}
.promo-container{
    padding: 15px;
}
.bg-teal{
	background: #72c9b8;
}
.promo-2{
    padding: 18px;
}
.promo-2 .promoBox img{
    max-width: 375px;
    width: 100%;
    height: auto;
}
.promo-2 .promoItem{
    display: flex;
    justify-content: center;
    align-items: center;
}


.promo-2 .boxItem  .inner p{
    margin-top: 0;
	color: #fff;
}
.promo-2 .boxItem  .inner h2{
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 0px;
	color: #fff;
}

.promo-2 .boxItem  .inner h3{
	font-size: 26px;
	color: #fff;
}

.promo-container .leftCol,
.promo-container .rightCol{
    position: relative;
}
.promo-container .leftCol .vCen{
    position: relative;
    z-index: 1;
}
.promo-container .leftCol .orange-shape{
    max-width: 111px;
    height: 95px;
    object-fit: contain;
    position: absolute;
    top: 20px;
    left: -10px;
}
.promo-container .rightCol .pink-shape{
    max-width: 111px;
    height: 95px;
    object-fit: contain;
    position: absolute;
    bottom: 0;
    left: -30px;
    z-index: 1;
}
.promo-container p{
    font-size: 20px;
	letter-spacing: -0.5px;
}
.promoItem .promoBox {
    display: block;
    overflow: hidden;
}
.promoItem {
    padding-right: 20px;
    width: calc(100% - 550px);
    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;
}

.storeMap .btn {
    background-color: #0294a7;
    color: #fff;
    display:block;
    width:420px;
}

.bottomLine ul {padding:10px 0; display:flex; flex-wrap:wrap; margin:0 auto;text-align:left;justify-content: start;}
.bottomLine ul li::after {content:" | "; margin:0 5px; font-size:14px;}
.bottomLine ul li:last-child::after {display:none}

.splitContent.map .col:first-child {width:25%; padding:10px; font-size:16px;}
.splitContent.map .col:first-child .inner h3{ color: var(--scw-navy);}
.splitContent.map .col:first-child .inner {background-color: var(--brand); height:100%; box-sizing:border-box; padding:15px; color: #333;}
.splitContent.map .col:first-child h3 {padding:0; margin:0;}
.splitContent.map .col:first-child div {font-size:16px;}
.splitContent.map .col:last-child {width:75%; padding:10px;}
.splitContent.map .col:nth-child(2) a {display:block; height:100%; }
.splitContent.map .col:nth-child(2) .inner { height:100%;}

body.visit-us .infoBoxes{
	display: grid;
/*     grid-template-columns: repeat(auto-fill, minmax(404px, 1fr)); */
	grid-template-columns: repeat(1, 1fr);
}

body.visit-us .infoBoxes .col:first-child {
    display: flex;
}
body.visit-us .infoBoxes .box h3,
body.information .infoBoxes .box h3{
	color: var(--scw-navy);
}
.btmImage {
    display: flex;
    gap: 20px;
}
.btmImage img{
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.splitContent.map .col:nth-child(2) .inner {
    height: 100%;
}

@keyframes dropWord {
    from {
        opacity: 0;
        transform: translateY(-80%); /* Reduced bounce */
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.text_drop {
        overflow: visible;
}
.text-white{
    color: #fff;
}
.text_drop span {
    opacity: 0;
    display: inline-block;
    margin-right: 0.15em;
    animation: dropWord 0.6s ease forwards;
}

.fade_in_right span {
    opacity: 0; /* Start with words invisible */
    display: inline-block; /* Ensure each word is treated as a block */
    animation: fadeInRightWord 0.8s ease forwards; /* Faster animation */
    white-space: pre; /* Preserve spaces */
}
.venue-banner{
	position: relative;
}
.venue-banner::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.35) 30%, rgba(0, 0, 0, 0.35) 50%, rgba(0, 0, 0, 0.00) 100%);
    z-index: 1;
}
.venue-banner .container{
	position: relative;
	z-index: 2;
}
.venue-banner .container,
.page-banner .container {
    min-height: 650px;
    display: flex;
    align-items: center;
}
.venue-banner h1,
.page-banner h1{
	letter-spacing: -1px;
}

 @keyframes fadeInRightWord {
    from {
      opacity: 0;
      transform: translateX(25px); /* Start slightly to the right */
    }
    to {
      opacity: 1;
      transform: translateX(0); /* Move to original position */
    }
  }

.fade_in_down span {
  opacity: 0;
  display: inline-block;
  animation: fadeInDownWord 0.8s ease forwards;
  white-space: pre;
}

@keyframes fadeInDownWord {
  from {
    opacity: 0;
    transform: translateY(-25px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


.fade-in-up.activeAnimation {
  opacity: 0;
  transform: translateY(50px);
  animation: fade-in-up 1s forwards;
}


@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translate3d(0, 25px, 0);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


.boxImage .image,
.boxImage .boxInfo{
	width:50%;
}

.boxImage .boxInfo{
	background: #B4E4DB;
	display: flex;
	align-items: center;
	padding: 40px 36px;
}

.boxImage .boxInfo ul{
	list-style: none;
	padding: 0;
	margin: 0;
}
.boxImage .boxInfo ul li{
	padding-top:8px;
	padding-bottom: 8px;
}
.cg-bullet{
	position: relative;
	padding-left: 28px;
	font-size:16px;
}
.cg-bullet.big{
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	margin-bottom: 10px;
	line-height: normal;
}
.cg-bullet:before{
	content: "";
	position: absolute;
	transform: translatey(-50%);
	top: 50%;
	left: 0;
	width:18px;
	height: 18px;
	background:#72C9B8;
}
.cg-bullet.big:before{
	width:18px;
	height: 18px;
}
.boxImage .boxInfo h2{
	margin-top:10px;
}
.boxImage .boxInfo h1{
	text-align: left;
	margin-bottom: 20px;
}

.boxImage .image img{
	min-height: 500px;
	width: 100%;
	object-fit: cover;
}
.cg-content p{
	font-size: 16px;
}
.months-list .month-card{
	display: flex;
	padding: 17px 18px;
	background: var(--brand);
	margin-bottom: 30px;
}
.month-card .excerpt{
	font-size: 14px;
}
.months-list .month-card .image{
	width: 25%;
}
.months-list .month-card .image img{
	width: 100%;
	height: 300px;
	object-fit: cover;
}
.months-list .month-card .info{
	width:75%;
	padding-left: 25px;
	padding-right: 25px;
}
.months-list .month-card .info h2{
	font-size:32px;
	margin-top: 0;
}
.months-list .month-card .info .cta-container{
	padding: 20px 0;
}
.months-list .month-card .info .btn{
	font-size: 18px;
	color: #fff;
	padding: 8px 13px;
	background: #72C9B8;
	text-transform: capitalize;
}


.lang-switcher__nav {
    display: flex;
    align-items: center;
    gap: 8px;
}

.lang-switcher__item img {
    display: block;
    height: 25px;
    width: auto;
    margin-right: 10px;
}

.lang-switcher__item.is-active {
    opacity: 1;
}



@media (min-width: 841px) {
	.fade-in-up {
		opacity: 0;
	}

	.topPromo .leftCol h3{
	margin-bottom: 0;
		margin-top: 37px;
}

	.justify-between{
		justify-content: space-between;
	}
	
	.home-carousel .inner h1{
		 line-height: 74px;
		margin-left: 30px;
	}

    body.home header:not(.skinnyHeader){
/*         background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.6) 0%,
        rgba(0, 0, 0, 0.0) 100%
    ); */
		background: none;
    }
	body.this-month header:not(.skinnyHeader){
		background: linear-gradient(
			to bottom,
			rgba(0, 0, 0, 0.6) 0%,
			rgba(0, 0, 0, 0.0) 100%
		);
	}

	
    body.home header:not(.skinnyHeader) .col#second ul li a,
    body.home header:not(.skinnyHeader) .col#second span,
    body.home header:not(.skinnyHeader) .col#second .icon i,
	body.this-month header:not(.skinnyHeader) .col#second ul li a,
    body.this-month header:not(.skinnyHeader) .col#second span,
    body.this-month header:not(.skinnyHeader) .col#second .icon i{
        color: #fff;
    }
    .btmImage .btmImage_1{
        width: 30%;
    }
    .btmImage .btmImage_2{
        width: 70%;
    }
    .promo-2 .boxItem .inner{
        margin-right: auto;
        max-width: 419px;
    }
    .promo-2 .boxItem  {
        width: 50%;
    }
    .promo-container .leftCol{
        width: 679px;
        padding-right: 45px;
    }
    .promo-2 .promoItem {
        width: 45%;
    }
    .rightCol.cover {
        display: flex;
        align-items: end;
		padding-right: 80px;
    }
    .promo-container .rightCol img{
        max-width: 375px;
        object-fit: contain;
    }
    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: 700;
        font-size: 24px;
        margin-left: 30px;
    }
    .col#second ul li a:hover {
        color: #F08511;;
    }
    body.single-whats-on .splitContent.left {
        flex-direction: row-reverse;
    }
    body:not(.home, .this-month) main {
        padding-top: 142px;
    }
    .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: 200px;
		margin-bottom: 6px;
    }
	.header.skinnyHeader .topline .items{
		opacity: 0;
	}
    .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;
		padding-bottom: 0;
    }
	
	.infoBoxes .col:last-child .infoBox  .inner {min-height:100%}
	.infoBoxes .col:last-child .infoBox {
			height: 100%;
		}
   
    .mobile{
        display: none;
    }
    
    .home-carousel .inner{
        min-height: 650px;
    }
     body:not(.home, .this-month) .logo-img{
        display: none;
    }
    body.home .scroll-logo,
	body.this-month .scroll-logo{
        display: none;
    }
}

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

@media(min-width: 841px){
    
	.months-list .month-card:nth-child(even) .info{
		order: -1;
	}
	.months-list .month-card:nth-child(odd) .info .cta-container{
		text-align: right;
	}
}
@media (max-width: 840px) {
    .lang-switch{
        display: none;
    }
	
	.months-list .month-card{
		flex-wrap: wrap;
	}
	.months-list .month-card .info,
	.months-list .month-card .image{
		width: 100%;
	}

	.boxImage .image,
	.boxImage .boxInfo{
		width:100%;
	}
	body.visit-us .infoBoxes .col:first-child {
		display: flex;
		flex-wrap: wrap;
	}
	.footer li a, 
	footer .address,
	footer a {
        font-size: 16px;
    }
	footer .aboutText{
		font-size: 13px;
	}
	footer h3{
		font-size: 21px;
	}
	.bottomLine ul li a {
        font-size: 12px !important;
    }
	.content{
		padding-left: 15px;
		padding-right: 15px;
	}
	.home-carousel .inner h1{
			letter-spacing: -3px;
		}

	.venue-banner h1,
	.page-banner h1{
			letter-spacing: -1px;
			font-size: 32px !important;
		}

	
	 .header-main {
		padding-top: 24px !important;
		padding-bottom: 0px !important;
	}
	.venue-banner .container,
	.page-banner .container{
		min-height: 280px;
	}
	.venue-banner .container h1,
	.page-banner .container h1{
		font-size: 36px;
	}
	.home-carousel .inner h1{
		line-height: 55px;
	}
	    .splitContent.map .col:first-child {
        width: 100%;
    }
	    .splitContent.map .col:last-child {
        width: 100%;
        padding: 10px;
        height: 400px;
    }
   
    .desktop{
        display: none;
    }
    .mobile{
        display: block;
    }
    body.home main{
        padding-top: 89px;
    }
    .btmImage {
        flex-wrap: wrap;
    }
    .btmImage .btmImage_1,
    .btmImage .btmImage_2{
        width: 100%;
    }
    .promo-container .rightCol .pink-shape{
        left: 0;
    }
	 .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: 50px
    }
    .flex {
        flex-wrap: wrap
    }
    
    .btn {
        font-size: 18px;
    }
    .banner .container .inner {
        height: 100px;
    }
    .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,
    .leasingCol p,
    .leasingCol a,
    .compAgent,
    .featureBoxes .col p,
    .featureBoxes .col a,
    .featureBoxes .col div {
        font-size: 16px;
    }
    .featureBoxes .col {
        width: 100%;
        text-align: center;
    }
    .socail.icon {
        display: none;
    }
    nav.nav {
        position: fixed;
        top: 0;
        left: -100%;
        width: 70%;
        height: 100vh;
		background: var(--brand);
/*         background-color: rgba(220, 153, 56, 0.9); */
        z-index: 900;
        transition: all 300ms ease-in-out;
    }
    nav.nav.activeMenu {
        left: 0;
        transition: all 300ms ease-in-out;
    }
    nav.nav .inner {
        display: flex;
        align-content: center;
        align-items: center;
        height: 100%;
    }
    nav.nav ul {
        margin: -180px 0 0 0;
        padding: 0;
        list-style: none;
        padding-left: 20px
    }
    nav.nav ul li a {
        color: #fff;
        margin: 0;
        display: block;
        padding: 0;
        font-size: 32px;
        width: 100%;
        padding: 8px 20px;
		font-weight: 700;
    }
    .burgerMenu {
        position: absolute;
        top: 33px;
        left: 15px;
        width: 30px;
        height: 30px;
        z-index: 999;
    }
    .burgerMenu .inner {
        position: relative;
        height: 100%;
    }
    .burgerMenu .inner span {
        position: absolute;
        top: 0;
        width: 100%;
        display: block;
        height: 2px;
        background-color: rgba(0, 0, 0, 1);
        transition: all 300ms ease-in-out;
        opacity: 1;
    }
    .burgerMenu.activeMenu .inner span {
        background-color: rgba(255, 255, 255, 1);
        transition: all 300ms ease-in-out;
    }
    .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.visit-us {
        position: absolute;
        left: 0px;
        top: 18px;
    }
    .visit-us 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: 75px;
	}
   
	.col#second .icon.visit-us {
		display: none;
	}
	.header .logo {
        width: 150px;
        position: absolute;
        top: 35px;
        transform: translateX(-50%);
        left: 50%;
    }
    header #second {
        position: absolute;
        right: 10px;
        top: 8px;
    }
        header.header {
        min-height: 90px;
        margin-top: 0;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        position: fixed;
        top: 0;
        width: 100%;
        background-color: #fff;
		padding-bottom: 38px;
    }
    .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;
    }
    body:not(.home) main {
        padding-top: 90px
    }
    .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: 240px;
        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.com,
    .leasingCol .col.agents,
    .featureBoxes .col:first-child {
        width: 100%;
    }
    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: 601px){
	.bannerDesktop{
		display:block;
	}
	.bannerMobile{
		display: none !important;
	}
}
@media(max-width: 600px){
	.homeImages h3{
		font-size: 18px;
	}
	body.visit-us .infoBoxes {
		grid-template-columns: repeat(auto-fill, minmax(345px, 1fr));
	}
	
    .home-carousel .inner {
        padding: 50px 15px 150px;
    }
    .promo-2 .promoItem {
        order: 2;
    }
    
    .promo-2 .boxItem .inner h2:first-child{
        margin-top: 0;
    }
    .promo-container,
    .promo-2{
        padding: 25px 15px;
    }
   
	.bannerDesktop{
		display:none !important;
	}
	.bannerMobile{
		display: block;
	}
}

@media (max-width: 540px) {
	.list{
		display: flex;
		flex-wrap: wrap;
		height: unset !important;
	}
	a.shopItem{
		position:unset !important;
	}
    .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: 70%;
    }
    .banner .container .inner {
        width: 100%;
        text-align: center;
    }
    .banner h1,
    .banner h2 {
        width: 100%;
        text-align: center;
        font-size: 42px
    }
    .newsItem .col.info {
        padding: 20px 15px;
    }
    nav.nav {
        width: 100%
    }
}

@media (max-width: 340px) {
    .visit-us span {
        font-size: 12px;
    }
    .col#second .icon.visit-us {
        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;
}



/* ============================================================
   Shopping / Visiting / Information
   Layout ported from the Gallions Reach build of this theme.
   Typography and accent colours use SCW's Poppins + --brand.
   ============================================================ */

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

.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', sans-serif;
    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: 839px) {
    .shops-hero {
        aspect-ratio: 1430 / 600;
    }
}

@media (max-width: 479px) {
    .shops-hero__label {
        font-size: 55px;
        bottom: -11px;
    }
}

/* --- Shopping: 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;
}

/* Shared box metrics so the dropdown button and the search input are the same
   size — a <button> and an <input> pick up different UA defaults otherwise. */
.shopCatDropdown__btn,
.shops-search-wrap .quicksearch {
    box-sizing: border-box;
    height: 52px;
    width: 100%;
    margin: 0;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: normal;
    color: #222;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}

.shopCatDropdown__btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px 0 18px;
    cursor: pointer;
    gap: 12px;
    text-align: left;
    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);
}

.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: var(--brand);
}

.shopCatDropdown__item.is-selected {
    font-weight: 600;
    color: var(--brand);
}

.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 {
    width: 100%;
}

.shops-search-wrap .quicksearch {
    padding: 0 40px 0 44px;
}

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

.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: var(--brand);
}

/* --- Shopping: card grid --- */
.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;
}

.shops-list .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;
    padding: 0;
    text-align: left;
}

.shops-list 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;
    box-sizing: border-box;
}

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

.shopCard__title {
    font-size: 17px;
    font-weight: 700;
    font-family: 'Poppins', sans-serif;
    color: var(--scw-navy);
    letter-spacing: -0.01em;
    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-no-results {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    color: #888;
    font-size: 15px;
}

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

@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;
    }
}

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

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

@media (max-width: 575px) {
    .shops-filter-bar {
        flex-direction: column;
        gap: 10px;
    }
    .shops-filter-bar__left,
    .shops-filter-bar__right {
        width: 100%;
    }
}

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

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

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

.visiting-hero-row {
    padding: 0 0 20px;
    background: #fff;
}

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

.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: var(--scw-navy);
}

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

.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 {
    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: 0;
    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;
}

.visiting-map-wrap {
    width: 100%;
    min-height: 500px;
    display: block;
}

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

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

.visiting-section-body h2,
.visiting-section-body h3 {
    font-family: 'Poppins', sans-serif;
    color: var(--scw-navy);
    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;
}

@media (max-width: 900px) {
    .visiting-hero-inner {
        grid-template-columns: 1fr;
    }
    .visiting-map-wrap,
    .visiting-map-wrap iframe {
        min-height: 380px;
    }
}

@media (max-width: 600px) {
    .visiting-section-title {
        font-size: 28px;
    }
    .visiting-map-wrap,
    .visiting-map-wrap iframe {
        min-height: 280px;
    }
}

/* --- Information: text + image sections --- */
.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.5rem;
    letter-spacing: -0.5px;
    color: var(--scw-navy);
    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;
        min-height: 230px;
    }
}

/* --- Information: full-width text sections --- */
.infoTextSections {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 60px;
}

.infoTextSection__title {
    font-size: 1.5rem;
    letter-spacing: -0.5px;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 12px;
    color: var(--scw-navy);
}

.infoTextSection__content p {
    margin-top: 0;
}

/* ============================================================
   Single shop
   ============================================================ */

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

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

/* A lone image would otherwise run the full container width and tower over the
   page, so cap it to roughly the size of one tile in the two-image layout. */
.shop-gallery-hero__grid--count-1 {
    grid-template-columns: minmax(0, 1fr);
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.shop-gallery-hero__grid--count-1 .shop-gallery-hero__item {
    aspect-ratio: 16 / 9;
}

.shop-gallery-hero__item {
    aspect-ratio: 16 / 10;
    border-radius: 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:first-child::after {
    display: none;
}

.shop-gallery-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__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: 0;
    right: 0;
    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: 0;
    right: 0;
    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;
}

@media (max-width: 840px) {
    .shop-gallery-hero {
        margin-top: 60px;
        padding-bottom: 0;
    }
    .shop-gallery-hero__grid,
    .shop-gallery-hero__grid--count-1 {
        gap: 16px;
        grid-template-columns: 1fr;
        transform: translateY(-35px);
        max-width: 100%;
    }
    .shop-gallery-hero__grid--count-1 .shop-gallery-hero__item {
        aspect-ratio: 16 / 10;
    }
    /* Only the last image on mobile, as on Gallions Reach */
    .shop-gallery-hero__item:not(:last-child) {
        display: none;
    }
    .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;
    }
}


/* ============================================================
   Client amends — Oct 2026
   Lime accents, Gallions-style nav, new palette for the home
   panel + footer, store directory (Shopping / Leisure / Services).
   ============================================================ */
:root {
	--scw-navy: #425E71;
	--scw-cream: #F5F4EB;
}

/* --- Header nav: Gallions sizing, lime dot + lime highlight --- */
.col#second ul li a::after {
	content: ".";
	color: var(--brand);
	font-size: 28px;
	line-height: 0;
	display: inline-block;
}
.col#second ul li.current-menu-item > a,
.col#second ul li.current_page_item > a,
.col#second ul li a:hover,
body.home header:not(.skinnyHeader) .col#second ul li.current-menu-item > a,
body.home header:not(.skinnyHeader) .col#second ul li a:hover,
body.this-month header:not(.skinnyHeader) .col#second ul li a:hover {
	color: var(--brand);
}
@keyframes scwNavDotBounce {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-5px); }
}
.col#second ul li a:hover::after {
	animation: scwNavDotBounce 0.6s ease-in-out infinite;
}
.col#second ul li.current-menu-item > a::after,
.col#second ul li.current_page_item > a::after,
.col#second ul li a:hover::after {
	color: var(--brand);
}
@media (min-width: 841px) {
	.col#second ul li a {
		font-size: 23px;
		line-height: 1;
		color: var(--scw-navy);
		letter-spacing: -0.5px;
	}
	.header.skinnyHeader .col#second ul li a {
		font-size: 17px;
		letter-spacing: -0.3px;
	}
}

/* --- Header top line: Facebook + Instagram beside the Cymraeg button --- */
.header-social {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 25px;
	height: 25px;
	margin-right: 3px;
	color: inherit;
	line-height: 1;
	transition: opacity 0.2s ease;
}
.header-social:first-child {
	margin-left: 12px;
}
.header-social:hover {
	opacity: 0.75;
}
.header-social i {
	font-size: 21px;
	line-height: 1;
}
.topline .items > span {
	margin-left: 5px;
}
@media (min-width: 841px) {
	body.home header:not(.skinnyHeader) .header-social,
	body.this-month header:not(.skinnyHeader) .header-social {
		color: #fff;
	}
}

/* --- Home hero: Shop. Eat. Enjoy. — bigger, tight tracking, lime dots --- */
.home-carousel .inner h1 {
	font-size: clamp(3.325rem, 1.14rem + 6.08vw, 5.344rem);
	letter-spacing: -3.5px;
}
.home-carousel .inner h1 .hero-dot {
	color: var(--brand);
}
@media (min-width: 841px) {
	.home-carousel .inner h1 {
		line-height: 1.08;
	}
}
@media (max-width: 840px) {
	.home-carousel .inner h1 {
		line-height: 1.05;
		letter-spacing: -2.5px;
	}
}

/* --- Home feature panel (Cinema): cream panel, navy text, lime shapes --- */
.promo-container.bg-brand {
	background: var(--scw-cream);
}
.promo-container.bg-brand h3,
.promo-container.bg-brand p,
.promo-container.bg-brand div {
	color: var(--scw-navy);
}
.promo-container.bg-brand {
	padding-top: 50px;
	padding-bottom: 50px;
}
.promo-container.bg-brand .leftCol h3 {
	font-size: 32px;
	font-weight: 700;
	letter-spacing: -0.5px;
}
@media (max-width: 840px) {
	.promo-container.bg-brand {
		padding-top: 40px;
		padding-bottom: 40px;
	}
}

/* --- Home bottom images: navy title, roughly half the old depth --- */
.homeImages h3 {
	color: var(--scw-navy);
}
.btmImage > div {
	height: 320px;
	overflow: hidden;
}
@media (max-width: 840px) {
	.btmImage > div {
		height: 240px;
	}
}

/* --- Footer: navy background, phone + email under the address --- */
footer.bg-grey {
	background: var(--scw-navy);
}
footer .footer-contact {
	margin-top: 8px;
}
footer .footer-contact > span {
	display: block;
	font-size: 12px;
	margin-bottom: 4px;
}
footer .footer-contact a {
	display: inline;
	margin: 0;
}
footer .footer-contact__label {
	font-weight: 700;
	color: var(--brand);
}
@media (min-width: 841px) {
	footer .col:nth-child(2) {
		width: 290px;
	}
}

/* --- Directory index hero: label sits on the image edge --- */
/* SCW's self-hosted Poppins has deeper descent metrics than the Google Fonts
   build Gallions uses, so the px offset left a gap — use an em offset. */
.shops-hero__label {
	bottom: -0.225em;
}
@media (max-width: 900px) {
	.shops-hero__label {
		bottom: -0.225em;
	}
}
@media (max-width: 479px) {
	.shops-hero__label {
		bottom: -0.225em;
	}
}

/* --- Directory index: Store Map box (replaces the filter bar) --- */
.store-map-box {
	display: flex;
	justify-content: center;
	margin: 0 auto 30px;
}
.store-map-box__link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	box-sizing: border-box;
	min-width: 280px;
	height: 52px;
	padding: 0 22px;
	border: 1px solid #ddd;
	border-radius: 10px;
	background: #fff;
	color: var(--scw-navy);
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.store-map-box__link .fa-map-marker-alt {
	color: var(--brand);
	font-size: 18px;
}
.store-map-box__arrow {
	margin-left: auto;
	font-size: 13px;
	transition: transform 0.2s ease;
}
.store-map-box__link:hover {
	background: var(--scw-navy);
	border-color: var(--scw-navy);
	color: #fff;
}
.store-map-box__link:hover .store-map-box__arrow {
	transform: translateX(4px);
}
footer .footer-contact a {
	color: #fff;
}
footer .footer-contact a:hover {
	color: var(--brand);
}
@media (min-width: 841px) {
	footer .col#logoCol {
		width: 260px;
		padding-left: 0;
	}
}

/* Scrolled header: keep Facebook / Instagram / Sat Nav visible beside the
   Cymraeg button (the old theme faded them out on scroll). */
@media (min-width: 841px) {
	.header.skinnyHeader .topline .items {
		opacity: 1;
	}
	.header.skinnyHeader .topline .items,
	.header.skinnyHeader .topline .items span,
	.header.skinnyHeader .header-social {
		color: var(--scw-navy);
	}
}

/* White-header pages (everything except home / this-month): tighter gap
   between the nav and the banner. main's offset tracks the header height. */
@media (min-width: 841px) {
	body:not(.home, .this-month) .header:not(.skinnyHeader) {
		padding-bottom: 4px;
	}
	body:not(.home, .this-month) main {
		padding-top: 124px;
	}
}

/* Desktop header: more air between the Cymraeg/social/Sat Nav row
   and the main nav (full header only; the scrolled header stays compact). */
@media (min-width: 841px) {
	.header:not(.skinnyHeader) .topline {
		margin-bottom: 28px;
	}
}

/* Desktop header: logo enlarged to fill the taller header, with "CARMARTHEN" sitting on the nav
   baseline. The SVG has ~12% empty space below CARMARTHEN, so the negative
   margin pulls that slack below the column's bottom edge. */
@media (min-width: 1141px) {
	.header:not(.skinnyHeader) .logo {
		max-width: 330px;
		margin-bottom: -8px;
	}
}

/* Scrolled header: same alignment — the 200px logo's bottom margin drops to 0
   so "CARMARTHEN" sits on the 17px nav baseline. */
@media (min-width: 841px) {
	.header.skinnyHeader .logo {
		margin-bottom: 0;
	}
}

/* Header top line (Sat Nav + social icons): navy on the white header.
   Home / this-month transparent headers keep their white override. */
@media (min-width: 841px) {
	.header .topline .items,
	.header .topline .items span {
		color: var(--scw-navy);
	}
}

/* --- Park Plan: info column + store map on a cream panel --- */
.parkPlan__intro {
	text-align: center;
}
.parkPlan {
	padding: 20px 0 80px;
}
.parkPlan__inner {
	display: flex;
	justify-content: center;
}
.parkPlan__inner--has-info {
	display: grid;
	grid-template-columns: 30% 1fr;
	gap: 40px;
	align-items: start;
}
.parkPlan__map {
	width: 100%;
	max-width: 760px;
	text-align: center;
}
.parkPlan__panel {
	display: block;
	background: var(--scw-cream);
	border-radius: 8px;
	padding: 50px 40px;
	cursor: zoom-in;
}
.parkPlan__panel img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 900px;
	height: auto;
	margin: 0 auto;
}
.parkPlan__download {
	margin-top: 25px;
}
@media (max-width: 840px) {
	.parkPlan {
		padding-bottom: 50px;
	}
	.parkPlan__inner--has-info {
		display: flex;
		flex-direction: column-reverse;
	}
	.parkPlan__panel {
		padding: 25px 15px;
	}
}

/* --- Leasing: Gallions-style intro, cream info cards, agent cards --- */
.leasingPage {
	padding-bottom: 80px;
}
.leasing__intro {
	margin-bottom: 50px;
}
.leasing__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	max-width: 1000px;
	margin: 0 auto 70px;
}
.leasing__card {
	background: var(--scw-cream);
	border-radius: 16px;
	padding: 36px 40px;
}
.leasing__card:only-child {
	grid-column: 1 / -1;
}
.leasing__cardTitle {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.5px;
	line-height: 1.15;
	color: var(--scw-navy);
	margin: 0 0 14px;
}
.leasing__cardTitle .hero-dot {
	color: var(--brand);
}
.leasing__cardBody p {
	font-size: 17px;
	line-height: 1.6;
	margin: 0 0 10px;
}
.leasing__cardBody p:last-child {
	margin-bottom: 0;
}
.leasing__cardBody a {
	color: var(--scw-navy);
	font-weight: 700;
	word-break: break-word;
}
.leasing__agentsTitle {
	text-align: center;
	text-transform: uppercase;
	font-size: 28px;
	font-weight: 700;
	letter-spacing: -0.5px;
	color: var(--scw-navy);
	margin: 0 0 25px;
}
.leasing__agentsWrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 24px;
}
.leasing__agent {
	flex: 0 1 360px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: var(--scw-cream);
	border-radius: 16px;
	padding: 36px 30px;
}
.leasing__agentLogo {
	height: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}
.leasing__agentLogo img {
	max-width: 200px;
	max-height: 70px;
	width: auto;
	height: auto;
}
.leasing__agentCompany {
	font-size: 24px;
	font-weight: 700;
	color: var(--scw-navy);
	margin-bottom: 15px;
}
.leasing__agentName {
	font-size: 17px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--scw-navy);
	margin-bottom: 8px;
}
.leasing__agentLink {
	display: block;
	font-size: 15px;
	line-height: 1.7;
	color: #000;
	text-decoration: none;
}
.leasing__agentLink--email {
	text-transform: uppercase;
	word-break: break-word;
}
.leasing__agentLink:hover {
	color: var(--brand);
}
@media (max-width: 840px) {
	.leasingPage {
		padding-bottom: 50px;
	}
	.leasing__cards {
		grid-template-columns: 1fr;
		margin-bottom: 50px;
	}
	.leasing__card {
		padding: 28px 25px;
	}
	.leasing__agent {
		flex-basis: 100%;
	}
}

/* Header (and the mobile menu inside it) must sit above page content —
   e.g. .shop-single__content is position:relative; z-index:5, which tied
   with the header's old z-index:5 and painted over the open mobile menu. */
.header {
	z-index: 1000;
}

/* Mobile menu: the lime current/hover colour vanishes on the lime panel. */
@media (max-width: 840px) {
	.col#second nav.nav ul li.current-menu-item > a,
	.col#second nav.nav ul li.current_page_item > a,
	.col#second nav.nav ul li a:hover {
		color: var(--scw-navy);
	}
}

/* --- Footer headings: tighter tracking, lime full stop --- */
footer h3 {
	letter-spacing: -0.75px;
}
footer h3 .hero-dot {
	color: var(--brand);
}

/* --- Jobs: same hero as the other pages, cream vacancy cards --- */
.jobsPage {
	padding-bottom: 80px;
}
.jobs__intro {
	margin-bottom: 50px;
}
.jobs__list {
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: 1000px;
	margin: 0 auto;
}
.jobs__card {
	display: flex;
	align-items: center;
	gap: 40px;
	background: var(--scw-cream);
	border-radius: 16px;
	padding: 30px 40px 30px 30px;
}
.jobs__logo {
	flex: 0 0 260px;
	box-sizing: border-box;
	height: 150px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 10px;
	padding: 20px;
}
.jobs__logo img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}
.jobs__info {
	flex: 1 1 auto;
	min-width: 0;
}
.jobs__title {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.5px;
	line-height: 1.15;
	color: var(--scw-navy);
	margin: 0 0 12px;
}
.jobs__title .hero-dot {
	color: var(--brand);
}
.jobs__meta {
	font-size: 17px;
	line-height: 1.6;
}
.jobs__meta b {
	font-weight: 700;
	color: var(--scw-navy);
}
.jobs__cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 18px;
	padding: 12px 22px;
	border-radius: 8px;
	background: var(--scw-navy);
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	transition: background 0.2s ease, color 0.2s ease;
}
.jobs__cta i {
	color: var(--brand);
	font-size: 13px;
	transition: transform 0.2s ease, color 0.2s ease;
}
.jobs__cta:hover {
	background: var(--brand);
	color: var(--scw-navy);
}
.jobs__cta:hover i {
	color: var(--scw-navy);
	transform: translateX(4px);
}
.jobs__empty {
	max-width: 840px;
	margin: 0 auto;
	text-align: center;
	background: var(--scw-cream);
	border-radius: 16px;
	padding: 40px;
}
.jobs__empty p {
	font-size: 17px;
	line-height: 1.6;
	margin: 0;
}
/* Popup: navy title, brand button instead of the old orange */
.jobs__popup h3 {
	color: var(--scw-navy);
	letter-spacing: -0.5px;
}
.jobs__popup .jobInfo b {
	color: var(--scw-navy);
}
.jobs__popup .btn {
	width: auto;
	border-radius: 8px;
	background: var(--scw-navy);
	font-size: 16px;
	font-weight: 600;
	padding: 14px 30px;
}
.jobs__popup .btn:hover {
	background: var(--brand);
	color: var(--scw-navy);
}
@media (max-width: 840px) {
	.jobsPage {
		padding-bottom: 50px;
	}
	.jobs__card {
		flex-direction: column;
		align-items: stretch;
		gap: 20px;
		padding: 20px;
	}
	.jobs__logo {
		flex-basis: auto;
		height: 120px;
	}
	.jobs__empty {
		padding: 28px 22px;
	}
}

/* ============================================================
   Client amends — late Oct 2026
   Home banner sizing, Information photo, Gallions-style phone
   header / menu, social icons in the phone footer.
   ============================================================ */

/* --- Home banner: height grows with very wide screens, so the visible band
   never drops below the middle ~50% of a 3:2 banner (it was a fixed 650px,
   which showed only ~38% of the height on a 2560px screen). --- */
@media (min-width: 841px) {
	.home-carousel .inner {
		min-height: max(650px, 34vw);
	}
}
@media (min-width: 601px) and (max-width: 840px) {
	.home-carousel .inner {
		min-height: 34vw;
	}
}
/* Phones: the mobile banner is square, so the slide is too (it was a short
   strip that cropped the square into a rectangle). */
@media (max-width: 600px) {
	.home-carousel .item {
		aspect-ratio: 1 / 1;
	}
}

/* --- Phone header: burger left, bigger logo centred, Sat Nav on two lines
   right (Gallions layout). Facebook / Instagram move to the footer. --- */
.header-satnav-mobile {
	display: none;
}
@media (max-width: 840px) {
	.header .topline {
		display: none;
	}
	.header-satnav-mobile {
		display: block;
		position: absolute;
		top: 45px;
		right: 15px;
		transform: translateY(-50%);
		text-align: right;
		color: var(--scw-navy);
		font-size: 14px;
		font-weight: 700;
		line-height: 1.2;
	}
	.header-satnav-mobile span {
		display: block;
		white-space: nowrap;
	}
	.header .logo {
		width: min(210px, calc(100vw - 190px));
		max-width: none;
		top: 45px;
		transform: translate(-50%, -50%);
	}
	.header .logo img {
		max-height: none;
	}
	.burgerMenu {
		top: 30px;
	}
	.burgerMenu .inner span {
		height: 3px;
		background-color: var(--scw-navy);
	}
	.burgerMenu.activeMenu .inner span {
		background-color: var(--scw-navy);
	}

	/* Menu panel: light grey, full width, navy items with a lime line under
	   each. The lime full stop is a real "." so it sits on the baseline
	   (Gallions' dot floats at mid-height). */
	nav.nav {
		width: 100%;
		background: #f0f0f2;
	}
	nav.nav .inner {
		align-items: flex-start;
		box-sizing: border-box;
		padding: 110px 25px 40px;
	}
	nav.nav ul {
		width: 100%;
		margin: 0;
		padding: 0;
	}
	.col#second nav.nav ul li a {
		color: var(--scw-navy);
		font-size: 36px;
		font-weight: 600;
		line-height: 1.15;
		letter-spacing: -0.5px;
		margin: 0 0 20px;
		padding: 12px 0 6px;
		border-bottom: 2px solid var(--brand);
	}
	.col#second nav.nav ul li a::after {
		font-size: inherit;
		vertical-align: baseline;
	}

	/* Facebook / Instagram: white, under the footer logo */
	.footer-social {
		display: flex;
		justify-content: center;
		gap: 18px;
		margin-top: 20px;
	}
	footer .footer-social__link {
		display: inline-flex;
		margin: 0;
		color: #fff;
	}
	footer .footer-social__link:hover {
		color: var(--brand);
	}
	.footer-social__link i {
		font-size: 28px;
		line-height: 1;
	}
}
@media (min-width: 841px) {
	.footer-social {
		display: none;
	}
}

/* --- What's New (this_month_item single): shared hero, grey info box --- */
.shops-hero--no-image {
	background-color: #a9afb8; /* no hero photo set: grey band, white title as usual */
}
.single-this_month_item .boxImage .boxInfo {
	background: #f0f0f2;
}
.single-this_month_item .cg-bullet:before {
	background: var(--brand);
}

/* --- Information: smaller 2:1 image, top level with the first heading, square corners, no cut corner --- */
.infoSection {
	align-items: flex-start;
	column-gap: 60px;
}
.infoSection__text {
	flex: 1 1 0;
}
.infoSection__image {
	flex: 0 1 600px;
	margin-top: 32px; /* text padding-top + the h2's space above its capitals */
	aspect-ratio: 2 / 1;
}
.infoSection__image::after {
	display: none;
}
.infoSection__image img {
	border-radius: 0;
}
@media (max-width: 840px) {
	.infoSection__text,
	.infoSection__image {
		flex: none;
	}
	.infoSection__image {
		margin-top: 0;
		aspect-ratio: auto;
	}
	.infoSection__image img {
		height: auto;
		aspect-ratio: 2 / 1; /* min-height: 230px above still wins on narrow phones */
	}
}
