/*
 * Discover Darwen main.css
 */
:root {
	--dd-ink: #2b4e50;
	--dd-white: #ffffff;
	--dd-shop-green: #a8be4f;
	--dd-pale-green: #c9e8e5;
	--dd-paler-green: #e4f3f2;
	--dd-yellow: #fcb824;
	--dd-pink: #e1aac4;
	--dd-sand: #f5e7dc;
	--dd-peach: #ffc195;
	--dd-teal: #009b8f;
	--dd-salmon: #f27080;
	--dd-light-salmon: #ff8291;
	--dd-palest-green: #e4f3f2;
	--dd-darkest-green: #1d3436;
	--dd-medium-green: #386669;
	--dd-dark-green: #2b4e50;
	--dd-market-blue: #759cc9;
	--dd-grey: #e6e6e8;
}


img,
legend {
	border: 0
}

legend,
td,
th {
	padding: 0
}

.footer__accreditation,
.header__top-link {
	text-decoration: none;
	color: #fff
}

.accordion-item__content,
.header.js-is-sticky .header__bottom,
a,
button {
	transition: all .3s ease-in-out
}

.wpcf7 .ajax-loader {
	pointer-events: none
}

.footer__nav-item,
.header__nav-item,
.header__sub-nav-item,
.social-links__item,
.tick-list__item {
	list-style-type: none
}

.slick-list:focus,
a:active,
a:hover {
	outline: 0
}

.clearfix:after,
.slick-track:after {
	clear: both
}

.mfp-arrow,
.slick-slider {
	-webkit-tap-highlight-color: transparent
}

.clearfix:after,
.clearfix:before {
	content: " ";
	display: table
}

.visually-hidden {
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap
}

.relative,
sub,
sup {
	position: relative
}

html {
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
	display: block
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline
}

audio:not([controls]) {
	display: none;
	height: 0
}

[hidden],
template {
	display: none
}

a {
	background-color: transparent
}

abbr[title] {
	border-bottom: 1px dotted
}

b,
optgroup,
strong {
	font-weight: 700
}

dfn {
	font-style: italic
}

h1 {
	font-size: 2em;
	margin: .67em 0
}

mark {
	background: #ff0;
	color: #000
}

small {
	font-size: 80%
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline
}

sup {
	top: -.5em
}

sub {
	bottom: -.25em
}

img {
	max-width: 100%
}

svg:not(:root) {
	overflow: hidden
}

figure {
	margin: 1em 40px
}

hr {
	box-sizing: content-box;
	height: 0
}

pre,
textarea {
	overflow: auto
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0
}

button {
	overflow: visible
}

button,
select {
	text-transform: none
}

.breadcrumbs__link,
.button--info,
.button--small,
.footer__title {
	text-transform: capitalize;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
	-webkit-appearance: button;
	cursor: pointer
}

button[disabled],
html input[disabled] {
	cursor: default
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0
}

input {
	line-height: normal
}

input[type=checkbox],
input[type=radio] {
	box-sizing: border-box;
	padding: 0
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
	height: auto
}

input[type=search] {
	-webkit-appearance: textfield;
	box-sizing: content-box
}

*,
.mfp-container,
.slick-slider,
:after,
:before,
img.mfp-img {
	box-sizing: border-box
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
	-webkit-appearance: none
}

fieldset {
	border: 1px solid silver;
	margin: 0 2px;
	padding: .35em .625em .75em
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

html {
	font-size: 62.5%
}

body {
	color: var(--dd-ink);
	font: 16px/1.6 "Figtree", sans-serif;
	font-weight: 500;

	margin: 0 auto;
	overflow-x: hidden
}

.img--block {
	display: block;
	width: 100%
}

.img--inline-block {
	display: inline-block;
	vertical-align: middle
}

.overflow {
	overflow: auto
}

.no-overflow,
[class*=pull-up] {
	overflow: hidden
}

.footer {
	color: #fff
}

.footer__top {
	background-color: var(--dd-darkest-green);
	padding: 12.5rem 0
}

@media (max-width:1023px) {
	.footer__top {
		padding: 10rem 0
	}

}

@media (max-width:1023px) {
	.footer__top {
		padding: 6rem 0
	}

}

.footer__bottom {
	background-color: var(--dd-darkest-green);
	padding: 3.5rem 0
}

@media (max-width:1023px) {
	.footer__bottom {
		padding: 6rem 0
	}

}

@media (min-width:1023px) {
	.footer__bottom-inner {
		-ms-flex-align: center;
		align-items: center;
		display: -ms-flexbox;
		display: flex
	}

	.footer__nav--split {
		column-count: 2;
		column-gap: 4rem
	}

}

.footer__icon,
.footer__logo {
	display: inline-block;
	vertical-align: middle
}

.footer__section {
	border-bottom: 2px solid var(--dd-market-blue);
	margin-bottom: 10rem;
	padding-bottom: 10rem
}

@media (max-width:1023px) {
	.footer__section {
		margin-bottom: 7.5rem;
		padding-bottom: 7.5rem
	}

}

@media (max-width:1023px) {
	.footer__section {
		margin-bottom: 6rem;
		padding-bottom: 6rem
	}

}

.footer__title {
	font-size: 1.125em;
	font-family: "ivypresto-headline", serif;
	font-weight: 700;
	font-style: normal;
	line-height: 1.25;
	margin: 0
}


h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "ivypresto-headline", serif;
	font-weight: 600;
	font-style: normal;
}

.footer__icon {
	color: var(--dd-market-blue);
	font-size: 3.125em
}

.footer__logo-image {
	display: block;
	width: 21.5rem
}

@media (max-width:1023px) {
	.footer__logo-image {
		width: 17.5rem
	}

}

.footer__nav-items {
	margin: 0;
	padding: 0
}

.footer__nav-item {
	margin-bottom: .5rem
}

.footer__nav-item:last-child {
	margin-bottom: 0
}

.footer__nav-link {
	color: #fff;
	font-weight: 500;
	text-decoration: none
}

.footer__nav-link:hover {
	color: var(--dd-market-blue)
}

@media (min-width:1023px) {
	.footer__copyright br {
		display: none
	}

}

.footer__accreditation {
	-ms-flex-align: center;
	align-items: center;
	display: -ms-flexbox;
	display: flex;
	margin-left: auto
}

.footer__accreditation-logo {
	display: block;
	height: 4rem;
	margin-right: 2rem;
	width: 4rem
}

.container {
	margin: 0 auto;
	max-width: 1800px;
	padding: 0 2.5rem;
	width: 100%
}

.container--narrow {
	max-width: 950px
}

@media (min-width:1023px) {
	.container {
		padding: 0 3rem
	}

}

@media (min-width:1151px) {
	.container {
		padding: 0 4rem
	}

}

@media (min-width:1501px) {
	.container {
		padding: 0 5rem
	}

}

.inner-container {
	margin: 0 auto;
	max-width: 1150px
}

.article__content,
.article__figure-content {
	max-width: 90rem;
	z-index: 1;
	position: relative
}

.header__nav {
	margin-right: auto;
}

.header__top-link {
	color: var(--dd-ink);
	margin-left: 1em;
}

.button--headerenquiry {
	margin-left: 2em;
}

.header__top-text {
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

.header__top-link svg {
	fill: var(--dd-market-blue);
	margin-right: 0.5em;
	width: 20px;
}

.header__top-text strong {
	color: var(--dd-market-blue);
	font-weight: 700;
	margin-left: 0.5em;
}

@media (min-width:1024px) {
	a[href^="tel:"] {
		pointer-events: none
	}

	.inner-container--inline {
		display: -ms-flexbox;
		display: flex
	}

}

.row {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-left: -1rem;
	margin-right: -1rem;
	width: calc(100% + 2rem)
}

@media (min-width:481px) {
	.row {
		margin-left: -2rem;
		margin-right: -2rem;
		width: calc(100% + 4rem)
	}

}

.row--reverse {
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse
}

.row--snug {
	margin-left: -1rem;
	margin-right: -1rem;
	width: calc(100% + 2rem)
}

.row--snug>[class^=column-] {
	padding-left: 1rem;
	padding-right: 1rem
}

.row--flush {
	margin-left: 0;
	margin-right: 0;
	width: 100%
}

.row--flush>[class^=column-] {
	padding-left: 0;
	padding-right: 0
}

@media (min-width:1501px) {
	.row--loose {
		margin-left: -4rem;
		margin-right: -4rem;
		width: calc(100% + 8rem)
	}

	.row--loose>[class^=column-] {
		padding-left: 4rem;
		padding-right: 4rem
	}

}

@media (min-width:1023px) {
	.row--auto {
		-ms-flex-pack: justify;
		justify-content: space-between
	}

	.row--auto>[class^=column-] {
		-ms-flex: 1;
		flex: 1
	}

}

.row--center {
	-ms-flex-align: center;
	align-items: center
}

.row--bottom {
	-ms-flex-align: end;
	align-items: flex-end
}

.row--justify-center {
	-ms-flex-pack: center;
	justify-content: center
}

[class^=column-] {
	padding-left: 1rem;
	padding-right: 1rem;
	width: 100%
}

.column--flex {
	display: -ms-flexbox;
	display: flex
}

.column--center {
	margin: auto
}

.column--pull-right {
	margin-left: auto
}

.no-push {
	margin: 0 !important
}

.push-down {
	margin-bottom: 2rem !important
}

.push-down-xxx-small {
	margin-bottom: .5rem !important
}

.push-down-xx-small {
	margin-bottom: .66rem !important
}

.push-down-x-small {
	margin-bottom: 1rem !important
}

.push-down-small {
	margin-bottom: 1.5rem !important
}

.push-down-small-medium {
	margin-bottom: 2.5rem !important
}

.push-down-medium-small {
	margin-bottom: 3rem !important
}

.push-down-medium {
	margin-bottom: 4rem !important
}

.push-down-medium-large {
	margin-bottom: 5rem !important
}

.push-down-large {
	margin-bottom: 6rem !important
}

.push-down-x-large {
	margin-bottom: 8rem !important
}

.push-down-xx-large {
	margin-bottom: 10rem !important
}

.push-down-xxx-large {
	margin-bottom: 12.5rem !important
}

.pull-up {
	margin-bottom: -2rem !important
}

.pull-up-xxx-small {
	margin-bottom: -.5rem !important
}

.pull-up-xx-small {
	margin-bottom: -.66rem !important
}

.pull-up-x-small {
	margin-bottom: -1rem !important
}

.pull-up-small {
	margin-bottom: -1.5rem !important
}

.pull-up-small-medium {
	margin-bottom: -2.5rem !important
}

.pull-up-medium-small {
	margin-bottom: -3rem !important
}

.pull-up-medium {
	margin-bottom: -4rem !important
}

.pull-up-medium-large {
	margin-bottom: -5rem !important
}

.pull-up-large {
	margin-bottom: -6rem !important
}

.pull-up-x-large {
	margin-bottom: -8rem !important
}

.pull-up-xx-large {
	margin-bottom: -10rem !important
}

.pull-up-xxx-large {
	margin-bottom: -12.5rem !important
}

.hide {
	display: none !important
}

.center {
	text-align: center
}

.left {
	text-align: left
}

.right {
	text-align: right
}

.column-1 {
	width: 8.33333%
}

.column-2 {
	width: 16.66667%
}

.column-3 {
	width: 25%
}

.column-4 {
	width: 33.33333%
}

.column-5 {
	width: 41.66667%
}

.column-6 {
	width: 50%
}

.column-7 {
	width: 58.33333%
}

.column-8 {
	width: 66.66667%
}

.column-9 {
	width: 75%
}

.column-10 {
	width: 83.33333%
}

.column-11 {
	width: 91.66667%
}

.column-12 {
	width: 100%
}

@media (max-width:480px) {
	.column-xs-1 {
		width: 8.33333%
	}

	.column-xs-2 {
		width: 16.66667%
	}

	.column-xs-3 {
		width: 25%
	}

	.column-xs-4 {
		width: 33.33333%
	}

	.column-xs-5 {
		width: 41.66667%
	}

	.column-xs-6 {
		width: 50%
	}

	.column-xs-7 {
		width: 58.33333%
	}

	.column-xs-8 {
		width: 66.66667%
	}

	.column-xs-9 {
		width: 75%
	}

	.column-xs-10 {
		width: 83.33333%
	}

	.column-xs-11 {
		width: 91.66667%
	}

	.column-xs-12 {
		width: 100%
	}

}

@media (min-width:481px) {
	[class^=column-] {
		padding-left: 2rem;
		padding-right: 2rem
	}

	.row--center-s {
		-ms-flex-align: center;
		align-items: center
	}

	.column-s-1 {
		width: 8.33333%
	}

	.column-s-2 {
		width: 16.66667%
	}

	.column-s-3 {
		width: 25%
	}

	.column-s-4 {
		width: 33.33333%
	}

	.column-s-5 {
		width: 41.66667%
	}

	.column-s-6 {
		width: 50%
	}

	.column-s-7 {
		width: 58.33333%
	}

	.column-s-8 {
		width: 66.66667%
	}

	.column-s-9 {
		width: 75%
	}

	.column-s-10 {
		width: 83.33333%
	}

	.column-s-11 {
		width: 91.66667%
	}

	.column-s-12 {
		width: 100%
	}

	.hide-above-s {
		display: none !important
	}

	.show-above-s {
		display: block !important
	}

}

@media (max-width:480px) {
	.hide-below-s {
		display: none !important
	}

	.show-below-s {
		display: block !important
	}

	.center-s {
		text-align: center !important
	}

	.left-s {
		text-align: left !important
	}

}

@media (min-width:640px) {
	.row--center-m {
		-ms-flex-align: center;
		align-items: center
	}

	.column-m-1 {
		width: 8.33333%
	}

	.column-m-2 {
		width: 16.66667%
	}

	.column-m-3 {
		width: 25%
	}

	.column-m-4 {
		width: 33.33333%
	}

	.column-m-5 {
		width: 41.66667%
	}

	.column-m-6 {
		width: 50%
	}

	.column-m-7 {
		width: 58.33333%
	}

	.column-m-8 {
		width: 66.66667%
	}

	.column-m-9 {
		width: 75%
	}

	.column-m-10 {
		width: 83.33333%
	}

	.column-m-11 {
		width: 91.66667%
	}

	.column-m-12 {
		width: 100%
	}

	.hide-above-m {
		display: none !important
	}

	.show-above-m {
		display: block !important
	}

}

@media (max-width:639px) {
	.hide-below-m {
		display: none !important
	}

	.show-below-m {
		display: block !important
	}

	.center-m {
		text-align: center !important
	}

	.left-m {
		text-align: left !important
	}

}

@media (min-width:1023px) {
	.row--center-l {
		-ms-flex-align: center;
		align-items: center
	}

	.column-l-1 {
		width: 8.33333%
	}

	.column-l-2 {
		width: 16.66667%
	}

	.column-l-3 {
		width: 25%
	}

	.column-l-4 {
		width: 33.33333%
	}

	.column-l-5 {
		width: 41.66667%
	}

	.column-l-6 {
		width: 50%
	}

	.column-l-7 {
		width: 58.33333%
	}

	.column-l-8 {
		width: 66.66667%
	}

	.column-l-9 {
		width: 75%
	}

	.column-l-10 {
		width: 83.33333%
	}

	.column-l-11 {
		width: 91.66667%
	}

	.column-l-12 {
		width: 100%
	}

	.hide-above-l {
		display: none !important
	}

	.show-above-l {
		display: block !important
	}

}

@media (max-width:1023px) {
	.hide-below-l {
		display: none !important
	}

	.show-below-l {
		display: block !important
	}

	.center-l {
		text-align: center !important
	}

	.left-l {
		text-align: left !important
	}

}

@media (min-width:1024px) {
	.row--center-xl {
		-ms-flex-align: center;
		align-items: center
	}

	.column-xl-1 {
		width: 8.33333%
	}

	.column-xl-2 {
		width: 16.66667%
	}

	.column-xl-3 {
		width: 25%
	}

	.column-xl-4 {
		width: 33.33333%
	}

	.column-xl-5 {
		width: 41.66667%
	}

	.column-xl-6 {
		width: 50%
	}

	.column-xl-7 {
		width: 58.33333%
	}

	.column-xl-8 {
		width: 66.66667%
	}

	.column-xl-9 {
		width: 75%
	}

	.column-xl-10 {
		width: 83.33333%
	}

	.column-xl-11 {
		width: 91.66667%
	}

	.column-xl-12 {
		width: 100%
	}

	.hide-above-xl {
		display: none !important
	}

	.show-above-xl {
		display: block !important
	}

}

@media (max-width:1023px) {
	.footer__icon {
		font-size: 2.65625em
	}

	.hide-below-xl {
		display: none !important
	}

	.show-below-xl {
		display: block !important
	}

	.center-xl {
		text-align: center !important
	}

	.left-xl {
		text-align: left !important
	}

}

@media (min-width:1151px) {
	.row--center-xxl {
		-ms-flex-align: center;
		align-items: center
	}

	.column-xxl-1 {
		width: 8.33333%
	}

	.column-xxl-2 {
		width: 16.66667%
	}

	.column-xxl-3 {
		width: 25%
	}

	.column-xxl-4 {
		width: 33.33333%
	}

	.column-xxl-5 {
		width: 41.66667%
	}

	.column-xxl-6 {
		width: 50%
	}

	.column-xxl-7 {
		width: 58.33333%
	}

	.column-xxl-8 {
		width: 66.66667%
	}

	.column-xxl-9 {
		width: 75%
	}

	.column-xxl-10 {
		width: 83.33333%
	}

	.column-xxl-11 {
		width: 91.66667%
	}

	.column-xxl-12 {
		width: 100%
	}

	.hide-above-xxl {
		display: none !important
	}

	.show-above-xxl {
		display: block !important
	}

}

@media (max-width:1150px) {
	.hide-below-xxl {
		display: none !important
	}

	.show-below-xxl {
		display: block !important
	}

	.center-xxl {
		text-align: center !important
	}

	.left-xxl {
		text-align: left !important
	}

}

@media (min-width:1301px) {
	.row--center-xxxl {
		-ms-flex-align: center;
		align-items: center
	}

	.column-xxxl-1 {
		width: 8.33333%
	}

	.column-xxxl-2 {
		width: 16.66667%
	}

	.column-xxxl-3 {
		width: 25%
	}

	.column-xxxl-4 {
		width: 33.33333%
	}

	.column-xxxl-5 {
		width: 41.66667%
	}

	.column-xxxl-6 {
		width: 50%
	}

	.column-xxxl-7 {
		width: 58.33333%
	}

	.column-xxxl-8 {
		width: 66.66667%
	}

	.column-xxxl-9 {
		width: 75%
	}

	.column-xxxl-10 {
		width: 83.33333%
	}

	.column-xxxl-11 {
		width: 91.66667%
	}

	.column-xxxl-12 {
		width: 100%
	}

	.hide-above-xxxl {
		display: none !important
	}

	.show-above-xxxl {
		display: block !important
	}

}

@media (max-width:1300px) {
	.hide-below-xxxl {
		display: none !important
	}

	.show-below-xxxl {
		display: block !important
	}

	.center-xxxl {
		text-align: center !important
	}

	.left-xxxl {
		text-align: left !important
	}

}

@media (min-width:1501px) {
	.row--center-grid {
		-ms-flex-align: center;
		align-items: center
	}

	.column-grid-1 {
		width: 8.33333%
	}

	.column-grid-2 {
		width: 16.66667%
	}

	.column-grid-3 {
		width: 25%
	}

	.column-grid-4 {
		width: 33.33333%
	}

	.column-grid-5 {
		width: 41.66667%
	}

	.column-grid-6 {
		width: 50%
	}

	.column-grid-7 {
		width: 58.33333%
	}

	.column-grid-8 {
		width: 66.66667%
	}

	.column-grid-9 {
		width: 75%
	}

	.column-grid-10 {
		width: 83.33333%
	}

	.column-grid-11 {
		width: 91.66667%
	}

	.column-grid-12 {
		width: 100%
	}

	.hide-above-grid {
		display: none !important
	}

	.show-above-grid {
		display: block !important
	}

}

@media (max-width:1500px) {
	.hide-below-grid {
		display: none !important
	}

	.show-below-grid {
		display: block !important
	}

	.center-grid {
		text-align: center !important
	}

	.left-grid {
		text-align: left !important
	}

	.no-push-grid {
		margin-bottom: 0 !important
	}

	.push-down-grid {
		margin-bottom: 2rem !important
	}

	.push-down-grid-xxx-small {
		margin-bottom: .5rem !important
	}

	.push-down-grid-xx-small {
		margin-bottom: .66rem !important
	}

	.push-down-grid-x-small {
		margin-bottom: 1rem !important
	}

	.push-down-grid-small {
		margin-bottom: 1.5rem !important
	}

	.push-down-grid-small-medium {
		margin-bottom: 2.5rem !important
	}

	.push-down-grid-medium-small {
		margin-bottom: 3rem !important
	}

	.push-down-grid-medium {
		margin-bottom: 4rem !important
	}

	.push-down-grid-medium-large {
		margin-bottom: 5rem !important
	}

	.push-down-grid-large {
		margin-bottom: 6rem !important
	}

	.push-down-grid-x-large {
		margin-bottom: 8rem !important
	}

	.push-down-grid-xx-large {
		margin-bottom: 10rem !important
	}

	.push-down-grid-xxx-large {
		margin-bottom: 12.5rem !important
	}

	.pull-up-grid {
		margin-bottom: -4rem !important
	}

	.pull-up-grid-xxx-small {
		margin-bottom: -.5rem !important
	}

	.pull-up-grid-xx-small {
		margin-bottom: -.66rem !important
	}

	.pull-up-grid-x-small {
		margin-bottom: -1rem !important
	}

	.pull-up-grid-small {
		margin-bottom: -1.5rem !important
	}

	.pull-up-grid-small-medium {
		margin-bottom: -2.5rem !important
	}

	.pull-up-grid-medium-small {
		margin-bottom: -3rem !important
	}

	.pull-up-grid-medium {
		margin-bottom: -4rem !important
	}

	.pull-up-grid-medium-large {
		margin-bottom: -5rem !important
	}

	.pull-up-grid-large {
		margin-bottom: -6rem !important
	}

	.pull-up-grid-x-large {
		margin-bottom: -8rem !important
	}

	.pull-up-grid-xx-large {
		margin-bottom: -10rem !important
	}

	.pull-up-grid-xxx-large {
		margin-bottom: -12.5rem !important
	}

}

@media (max-width:1300px) {
	.no-push-xxxl {
		margin-bottom: 0 !important
	}

	.push-down-xxxl {
		margin-bottom: 2rem !important
	}

	.push-down-xxxl-xxx-small {
		margin-bottom: .5rem !important
	}

	.push-down-xxxl-xx-small {
		margin-bottom: .66rem !important
	}

	.push-down-xxxl-x-small {
		margin-bottom: 1rem !important
	}

	.push-down-xxxl-small {
		margin-bottom: 1.5rem !important
	}

	.push-down-xxxl-small-medium {
		margin-bottom: 2.5rem !important
	}

	.push-down-xxxl-medium-small {
		margin-bottom: 3rem !important
	}

	.push-down-xxxl-medium {
		margin-bottom: 4rem !important
	}

	.push-down-xxxl-medium-large {
		margin-bottom: 5rem !important
	}

	.push-down-xxxl-large {
		margin-bottom: 6rem !important
	}

	.push-down-xxxl-x-large {
		margin-bottom: 8rem !important
	}

	.push-down-xxxl-xx-large {
		margin-bottom: 10rem !important
	}

	.push-down-xxxl-xxx-large {
		margin-bottom: 12.5rem !important
	}

	.pull-up-xxxl {
		margin-bottom: -4rem !important
	}

	.pull-up-xxxl-xxx-small {
		margin-bottom: -.5rem !important
	}

	.pull-up-xxxl-xx-small {
		margin-bottom: -.66rem !important
	}

	.pull-up-xxxl-x-small {
		margin-bottom: -1rem !important
	}

	.pull-up-xxxl-small {
		margin-bottom: -1.5rem !important
	}

	.pull-up-xxxl-small-medium {
		margin-bottom: -2.5rem !important
	}

	.pull-up-xxxl-medium-small {
		margin-bottom: -3rem !important
	}

	.pull-up-xxxl-medium {
		margin-bottom: -4rem !important
	}

	.pull-up-xxxl-medium-large {
		margin-bottom: -5rem !important
	}

	.pull-up-xxxl-large {
		margin-bottom: -6rem !important
	}

	.pull-up-xxxl-x-large {
		margin-bottom: -8rem !important
	}

	.pull-up-xxxl-xx-large {
		margin-bottom: -10rem !important
	}

	.pull-up-xxxl-xxx-large {
		margin-bottom: -12.5rem !important
	}

}

@media (max-width:1150px) {
	.no-push-xxl {
		margin-bottom: 0 !important
	}

	.push-down-xxl {
		margin-bottom: 2rem !important
	}

	.push-down-xxl-xxx-small {
		margin-bottom: .5rem !important
	}

	.push-down-xxl-xx-small {
		margin-bottom: .66rem !important
	}

	.push-down-xxl-x-small {
		margin-bottom: 1rem !important
	}

	.push-down-xxl-small {
		margin-bottom: 1.5rem !important
	}

	.push-down-xxl-small-medium {
		margin-bottom: 2.5rem !important
	}

	.push-down-xxl-medium-small {
		margin-bottom: 3rem !important
	}

	.push-down-xxl-medium {
		margin-bottom: 4rem !important
	}

	.push-down-xxl-medium-large {
		margin-bottom: 5rem !important
	}

	.push-down-xxl-large {
		margin-bottom: 6rem !important
	}

	.push-down-xxl-x-large {
		margin-bottom: 8rem !important
	}

	.push-down-xxl-xx-large {
		margin-bottom: 10rem !important
	}

	.push-down-xxl-xxx-large {
		margin-bottom: 12.5rem !important
	}

	.pull-up-xxl {
		margin-bottom: -4rem !important
	}

	.pull-up-xxl-xxx-small {
		margin-bottom: -.5rem !important
	}

	.pull-up-xxl-xx-small {
		margin-bottom: -.66rem !important
	}

	.pull-up-xxl-x-small {
		margin-bottom: -1rem !important
	}

	.pull-up-xxl-small {
		margin-bottom: -1.5rem !important
	}

	.pull-up-xxl-small-medium {
		margin-bottom: -2.5rem !important
	}

	.pull-up-xxl-medium-small {
		margin-bottom: -3rem !important
	}

	.pull-up-xxl-medium {
		margin-bottom: -4rem !important
	}

	.pull-up-xxl-medium-large {
		margin-bottom: -5rem !important
	}

	.pull-up-xxl-large {
		margin-bottom: -6rem !important
	}

	.pull-up-xxl-x-large {
		margin-bottom: -8rem !important
	}

	.pull-up-xxl-xx-large {
		margin-bottom: -10rem !important
	}

	.pull-up-xxl-xxx-large {
		margin-bottom: -12.5rem !important
	}

}

@media (max-width:1023px) {
	.no-push-xl {
		margin-bottom: 0 !important
	}

	.push-down-xl {
		margin-bottom: 2rem !important
	}

	.push-down-xl-xxx-small {
		margin-bottom: .5rem !important
	}

	.push-down-xl-xx-small {
		margin-bottom: .66rem !important
	}

	.push-down-xl-x-small {
		margin-bottom: 1rem !important
	}

	.push-down-xl-small {
		margin-bottom: 1.5rem !important
	}

	.push-down-xl-small-medium {
		margin-bottom: 2.5rem !important
	}

	.push-down-xl-medium-small {
		margin-bottom: 3rem !important
	}

	.push-down-xl-medium {
		margin-bottom: 4rem !important
	}

	.push-down-xl-medium-large {
		margin-bottom: 5rem !important
	}

	.push-down-xl-large {
		margin-bottom: 6rem !important
	}

	.push-down-xl-x-large {
		margin-bottom: 8rem !important
	}

	.push-down-xl-xx-large {
		margin-bottom: 10rem !important
	}

	.push-down-xl-xxx-large {
		margin-bottom: 12.5rem !important
	}

	.pull-up-xl {
		margin-bottom: -4rem !important
	}

	.pull-up-xl-xxx-small {
		margin-bottom: -.5rem !important
	}

	.pull-up-xl-xx-small {
		margin-bottom: -.66rem !important
	}

	.pull-up-xl-x-small {
		margin-bottom: -1rem !important
	}

	.pull-up-xl-small {
		margin-bottom: -1.5rem !important
	}

	.pull-up-xl-small-medium {
		margin-bottom: -2.5rem !important
	}

	.pull-up-xl-medium-small {
		margin-bottom: -3rem !important
	}

	.pull-up-xl-medium {
		margin-bottom: -4rem !important
	}

	.pull-up-xl-medium-large {
		margin-bottom: -5rem !important
	}

	.pull-up-xl-large {
		margin-bottom: -6rem !important
	}

	.pull-up-xl-x-large {
		margin-bottom: -8rem !important
	}

	.pull-up-xl-xx-large {
		margin-bottom: -10rem !important
	}

	.pull-up-xl-xxx-large {
		margin-bottom: -12.5rem !important
	}

}

@media (max-width:1023px) {
	.no-push-l {
		margin-bottom: 0 !important
	}

	.push-down-l {
		margin-bottom: 2rem !important
	}

	.push-down-l-xxx-small {
		margin-bottom: .5rem !important
	}

	.push-down-l-xx-small {
		margin-bottom: .66rem !important
	}

	.push-down-l-x-small {
		margin-bottom: 1rem !important
	}

	.push-down-l-small {
		margin-bottom: 1.5rem !important
	}

	.push-down-l-small-medium {
		margin-bottom: 2.5rem !important
	}

	.push-down-l-medium-small {
		margin-bottom: 3rem !important
	}

	.push-down-l-medium {
		margin-bottom: 4rem !important
	}

	.push-down-l-medium-large {
		margin-bottom: 5rem !important
	}

	.push-down-l-large {
		margin-bottom: 6rem !important
	}

	.push-down-l-x-large {
		margin-bottom: 8rem !important
	}

	.push-down-l-xx-large {
		margin-bottom: 10rem !important
	}

	.push-down-l-xxx-large {
		margin-bottom: 12.5rem !important
	}

	.pull-up-l {
		margin-bottom: -4rem !important
	}

	.pull-up-l-xxx-small {
		margin-bottom: -.5rem !important
	}

	.pull-up-l-xx-small {
		margin-bottom: -.66rem !important
	}

	.pull-up-l-x-small {
		margin-bottom: -1rem !important
	}

	.pull-up-l-small {
		margin-bottom: -1.5rem !important
	}

	.pull-up-l-small-medium {
		margin-bottom: -2.5rem !important
	}

	.pull-up-l-medium-small {
		margin-bottom: -3rem !important
	}

	.pull-up-l-medium {
		margin-bottom: -4rem !important
	}

	.pull-up-l-medium-large {
		margin-bottom: -5rem !important
	}

	.pull-up-l-large {
		margin-bottom: -6rem !important
	}

	.pull-up-l-x-large {
		margin-bottom: -8rem !important
	}

	.pull-up-l-xx-large {
		margin-bottom: -10rem !important
	}

	.pull-up-l-xxx-large {
		margin-bottom: -12.5rem !important
	}

}

@media (max-width:639px) {
	.no-push-m {
		margin-bottom: 0 !important
	}

	.push-down-m {
		margin-bottom: 2rem !important
	}

	.push-down-m-xxx-small {
		margin-bottom: .5rem !important
	}

	.push-down-m-xx-small {
		margin-bottom: .66rem !important
	}

	.push-down-m-x-small {
		margin-bottom: 1rem !important
	}

	.push-down-m-small {
		margin-bottom: 1.5rem !important
	}

	.push-down-m-small-medium {
		margin-bottom: 2.5rem !important
	}

	.push-down-m-medium-small {
		margin-bottom: 3rem !important
	}

	.push-down-m-medium {
		margin-bottom: 4rem !important
	}

	.push-down-m-medium-large {
		margin-bottom: 5rem !important
	}

	.push-down-m-large {
		margin-bottom: 6rem !important
	}

	.push-down-m-x-large {
		margin-bottom: 8rem !important
	}

	.push-down-m-xx-large {
		margin-bottom: 10rem !important
	}

	.push-down-m-xxx-large {
		margin-bottom: 12.5rem !important
	}

	.pull-up-m {
		margin-bottom: -4rem !important
	}

	.pull-up-m-xxx-small {
		margin-bottom: -.5rem !important
	}

	.pull-up-m-xx-small {
		margin-bottom: -.66rem !important
	}

	.pull-up-m-x-small {
		margin-bottom: -1rem !important
	}

	.pull-up-m-small {
		margin-bottom: -1.5rem !important
	}

	.pull-up-m-small-medium {
		margin-bottom: -2.5rem !important
	}

	.pull-up-m-medium-small {
		margin-bottom: -3rem !important
	}

	.pull-up-m-medium {
		margin-bottom: -4rem !important
	}

	.pull-up-m-medium-large {
		margin-bottom: -5rem !important
	}

	.pull-up-m-large {
		margin-bottom: -6rem !important
	}

	.pull-up-m-x-large {
		margin-bottom: -8rem !important
	}

	.pull-up-m-xx-large {
		margin-bottom: -10rem !important
	}

	.pull-up-m-xxx-large {
		margin-bottom: -12.5rem !important
	}

}

@media (max-width:480px) {
	.no-push-s {
		margin-bottom: 0 !important
	}

	.push-down-s {
		margin-bottom: 2rem !important
	}

	.push-down-s-xxx-small {
		margin-bottom: .5rem !important
	}

	.push-down-s-xx-small {
		margin-bottom: .66rem !important
	}

	.push-down-s-x-small {
		margin-bottom: 1rem !important
	}

	.push-down-s-small {
		margin-bottom: 1.5rem !important
	}

	.push-down-s-small-medium {
		margin-bottom: 2.5rem !important
	}

	.push-down-s-medium-small {
		margin-bottom: 3rem !important
	}

	.push-down-s-medium {
		margin-bottom: 4rem !important
	}

	.push-down-s-medium-large {
		margin-bottom: 5rem !important
	}

	.push-down-s-large {
		margin-bottom: 6rem !important
	}

	.push-down-s-x-large {
		margin-bottom: 8rem !important
	}

	.push-down-s-xx-large {
		margin-bottom: 10rem !important
	}

	.push-down-s-xxx-large {
		margin-bottom: 12.5rem !important
	}

	.pull-up-s {
		margin-bottom: -4rem !important
	}

	.pull-up-s-xxx-small {
		margin-bottom: -.5rem !important
	}

	.pull-up-s-xx-small {
		margin-bottom: -.66rem !important
	}

	.pull-up-s-x-small {
		margin-bottom: -1rem !important
	}

	.pull-up-s-small {
		margin-bottom: -1.5rem !important
	}

	.pull-up-s-small-medium {
		margin-bottom: -2.5rem !important
	}

	.pull-up-s-medium-small {
		margin-bottom: -3rem !important
	}

	.pull-up-s-medium {
		margin-bottom: -4rem !important
	}

	.pull-up-s-medium-large {
		margin-bottom: -5rem !important
	}

	.pull-up-s-large {
		margin-bottom: -6rem !important
	}

	.pull-up-s-x-large {
		margin-bottom: -8rem !important
	}

	.pull-up-s-xx-large {
		margin-bottom: -10rem !important
	}

	.pull-up-s-xxx-large {
		margin-bottom: -12.5rem !important
	}

}

.header {
	background-color: #fff;
	left: 0;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 6;
	transform: translateZ(0)
}

.header.js-is-sticky {
	box-shadow: 0 0 15px rgba(0, 0, 0, .1);
	z-index:6;
}

.header.js-is-sticky .header__bottom {
	padding: 2rem 0
}

.header.js-is-sticky .header__logo-image {
	width: 15rem;
	transition: all .3s ease-in-out
}

@media (max-width:1023px) {
	.header.js-is-sticky .header__logo-image {
		width: 15rem
	}

	

}

.header--no-stick {
	position: relative
}

@media (max-width:1023px) {
	.header.js-is-sticky .header__bottom {
		padding: 1.5rem 0
	}

	.header--expanded {
		background-color: var(--dd-ink);
		height: 100%;
		left: 0;
		overflow: auto;
		position: fixed !important;
		width: 100%;
		z-index: 6;
	}

	.header--expanded .header__button {
		color: #fff
	}

	.header--expanded .header__nav {
		display: block
	}

}

.header__top-inner {
	-ms-flex-align: center;
	align-items: center;
	background-color: var(--dd-ink);
	color: #fff;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 1rem 0
}

@media (max-width:1023px) {
	.header__top-link {
		font-size: .9375em
	}

}

.header__top-link--underline {
	text-decoration: underline
}

.header__nav-link,
.header__top-link--underline:hover,
.std--hide-links a {
	text-decoration: none;
	font-weight: 700;
}

.header__top-link:hover {
	color: var(--dd-market-blue)
}

.header__top-icon {
	font-size: 1.375em;
	margin-right: 1.5rem
}

.header__top-text--separator {
	margin: 0 .5rem
}

.header__button,
.header__nav {
	margin-left: auto
}

.header__bottom {
	padding: 2rem 0
}

.header__inner {
	-ms-flex-align: center;
	align-items: center;
	display: -ms-flexbox;
	display: flex
}

@media (max-width:1023px) {
	.header__bottom {
		padding: 1.5rem 0
	}

	.header__inner {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap
	}

}

.header__logo {
	display: inline-block;
	margin-right: 4rem;
	vertical-align: middle
}

.header__logo-image {
	display: block;
	width: 20rem
}

@media (max-width:1023px) {
	.header__top-icon {
		font-size: 1.125em
	}

	.header__top-text {
		font-size: .875em
	}

	.header__logo-image {
		width: 15rem
	}

}

.header__button {
	background: 0 0;
	border: 0;
	color: var(--dd-ink);
	display: none;
	font-size: 1.875em;
	height: 3rem;
	line-height: 3rem;
	overflow: hidden;
	padding: 0;
	width: 3rem
}

@media (max-width:1023px) {
	.header__button {
		display: block;
		margin-left:auto;
	}

	.header__nav {
		display: none;
		padding-top: 2.75rem;
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%
	}

}

.header__nav-items {
	margin: 0;
	padding: 0
}

@media (min-width:1024px) {
	.header__nav-items {
		-ms-flex-align: center;
		align-items: center;
		display: -ms-flexbox;
		display: flex;
		gap:1em;
	}

	

	.header__nav-item:last-child {
		margin-right: 0 !important
	}

	.header__nav-item>.header__nav-link {
		white-space: nowrap;
		padding:15px 15px;
	}

	.header__nav-item--parent--active>.header__nav-link {
background: var(--dd-palest-green);
	}
	.header__nav-item--parent:hover>.header__nav-link {
		background: var(--dd-palest-green);
		border-radius: 1.8rem;
	}

	.header__nav-item--parent:hover>.header__nav-link:hover {
		background: var(--dd-pale-green);
		border-radius: 1.8rem;
	}

	.section--hero {
		min-height: 600px;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

}

@media (min-width:1151px) {
	

}

.header__nav-item--parent {
	position: relative
}

.header__nav-item--parent>.header__nav-link::after {
	font-size: 12px;
	margin-left: .5rem
}

@media (max-width:1300px) and (min-width:1024px) {
	.header__nav-item--parent>.header__nav-link::after {
		display: none
	}

}

@media (max-width:1023px) {
	.header__nav-item--parent>.header__nav-link::after {
		font-size: 16px
	}

	.header__nav-item--parent.header__nav-item--expanded>.header__nav-link::after {
		-ms-transform: rotate(180deg);
		transform: rotate(180deg)
	}

}

.header__nav-link {
	color: var(--dd-ink);
	font-weight: 700
}

@media (min-width:1024px) {
	.header__nav-item--parent:hover .header__sub-nav {
		opacity: 1;
		top: 100%;
		visibility: visible
	}

	.header__nav-link {
		background:#FFF;
		border-radius: 1.8rem;
		font-size: 1.0625em;
		margin-bottom: -.55rem;
		padding-bottom: 0.55rem;
		font-weight: 700;
	}

	.header__nav-link--active {
		background:var(--dd-palest-green);
		border-radius: 1.8rem;
	}
	.header__nav-link:hover {
		background:var(--dd-pale-green);	
		border-radius: 1.8rem;
	}

}

@media (min-width:1301px) {
	.header__nav-link {
		font-size: 1.125em
	}

}

@media (max-width:1023px) {
	.header__nav-link:not(.header__nav-link--standalone) {
		color: #fff;
		display: block;
		padding: 1rem 0
	}

	.header__nav-link:not(.header__nav-link--standalone) .header__nav-link--active,
	.header__nav-link:not(.header__nav-link--standalone):hover {
		color: var(--dd-market-blue)
	}

	.header__nav-link:not(.header__nav-link--standalone)::after {
		position: absolute;
		right: 0;
		top: 1.33rem
	}

}

.header__nav-link--standalone {
	-ms-flex-align: center;
	align-items: center;
	border-bottom: 2px solid #fff;
	display: -ms-flexbox;
	display: flex;
	margin-left: auto;
	margin-bottom: -.85rem;
	padding-bottom: .85rem
}

.header__nav-link--standalone:hover {
	border-bottom-color: var(--dd-market-blue)
}

.header__nav-link-icon {
	font-size: 12px;
	margin-right: .66rem
}

@media (min-width:1024px) {
	.header__sub-nav {
		left: 0;
		opacity: 0;
		padding-top: 0;
		position: absolute;
		top: 90%;
		transition: all .3s ease-in-out;
		visibility: hidden;
		z-index: 3;
		width: 100%;
		transform: none;
	}

	.header__sub-nav-inner {
		margin: 0 auto;
		max-width: 50%;
		padding: 0 2.5rem;
		width: fit-content;
		min-width:800px;
		border-radius: 0 0 1.8rem 1.8rem;
		 box-shadow: 0 10px 15px -8px rgba(0, 0, 0, 0.15);
	}

	.header__nav-item--parent {
		position: static;
	}

	.header__sub-nav-inner {
		background-color: var(--dd-palest-green);
		
		padding: 5rem
	}

}

@media (max-width:1023px) {
	.header__sub-nav {
		display: none
	}

	.header__sub-nav--expanded {
		display: block
	}

	.header__sub-nav-inner {
		border-left: 2px solid var(--dd-market-blue);
		margin: 1rem 0 2.5rem 0;
		padding-left: 2.5rem
	}

}

.header__sub-nav-items {
	margin: 0;
	padding: 0
}

.header__sub-nav-item {
	margin-bottom: 0rem
}

.header__sub-nav-item:last-child {
	margin-bottom: 0
}

.header__sub-nav-link {
	-ms-flex-align: baseline;
	align-items: baseline;
	color: var(--dd-dark-green);
	display: -ms-inline-flexbox;
	display: inline-flex;
	font-weight: 500;
	text-decoration: none
}

@media (min-width:1024px) {
	.header__sub-nav-link {
		-ms-flex-align: center;
		align-items: center;
		line-height: 1;
		white-space: nowrap
	}

}

.std h2,
.std h3 {
	line-height: 1.15
}

.header__sub-nav-link--active,
.header__sub-nav-link:hover {
	color: var(--dd-shop-green);
}

.main {
	padding: 12.5rem 0
}

@media (max-width:1023px) {
	.main {
		padding: 10rem 0
	}

}

.main--narrow {
	padding: 6rem 0
}

.main--pull-up {
	overflow: initial !important
}

@media (min-width:1023px) {
	.main--pull-up {
		margin-top: -3.5rem
	}

}

strong {
	font-weight: 700
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 700
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child,
p:first-child {
	margin-top: 0 !important
}

h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child,
p:last-child {
	margin-bottom: 0 !important
}

.std h2,
.std h3,
.std h4,
.std h5,
.std h6 {
	margin: 3rem 0
}

.std h2 {
	font-size: 2.1875em
}

.std h3 {
	font-size: 1.875em
}

.std h4,
.std h5,
.std h6 {
	line-height: 1.25
}

@media (max-width:1023px) {
	.main--persist {
		padding: 6rem 0
	}

	.main:not(.main--persist) {
		padding: 0 0 6rem
	}

	.std h2 {
		font-size: 1.875em
	}

	.std h3 {
		font-size: 1.5625em
	}

}

.std h4 {
	font-size: 1.5625em
}

.std h5 {
	font-size: 1.375em
}


.std h3 {
	 font-family: "Figtree", sans-serif !important;
        font-weight: 600 !important;
		font-size: 1.5em !important;
		line-height: 1.3em !important;
}

@media (max-width:1023px) {

	.std h3 {
            font-size: 1.25em !important;
        line-height: 1.2em !important;
        font-family: "Figtree", sans-serif !important;
        font-weight: 600 !important;
}


	.std h4 {
		font-size: 1.375em
	}

	.std h5 {
		font-size: 1.125em
	}

}

.std h6 {
	font-size: inherit
}

.std p {
	margin: 2.5rem 0
}

@media (min-width:1024px) {

	.std--large li,
	.std--large p {
		font-size: 1.125em
	}

}

.std--small li,
.std--small p {
	font-size: .875em;
	line-height: 1.55
}

.std--break-links a {
	word-break: break-all
}

.std--hide-links a {
	color: inherit
}

.std--hide-links a:hover {
	text-decoration: underline
}

.std--em-links a {
	border-bottom: 2px solid var(--dd-dark-green);
	color: var(--dd-dark-green);
	font-weight: 700;
	text-decoration: none
}

.std--em-links a:hover {
	border-bottom: none
}

.std--underline-links a {
	color: inherit;
	text-decoration: underline
}

.std--underline-links a:hover {
	text-decoration: none
}

.std--dark-blue-headings h2,
.std--dark-blue-headings h3,
.std--dark-blue-headings h4,
.std--dark-blue-headings h5,
.std--dark-blue-headings h6 {
	color: var(--dd-ink)
}

.std--block-img img {
	display: block;
	height: auto;
	margin: 5rem 0;
	width: 100%;
	    object-fit: cover;
    border-radius: 1.8rem;
}

@media (max-width:1023px) {

	.std--x-small-l li,
	.std--x-small-l p {
		font-size: .8125em
	}

	.std--block-img img {
		margin: 4.5rem 0
	}

}

.std--block-img img.alignright {
	float: right;
	margin-left: 4.5rem;
	width: auto
}

.std--block-img img.alignleft {
	float: left;
	margin-right: 4.5rem;
	width: auto
}

.text-lightblue {
	color: #229fe6
}

.text-darkblue {
	color: var(--dd-ink)
}

.text-lightgreen {
	color: var(--dd-shop-green)
}

.accordion-item__content {
	max-height: 0;
	overflow: hidden
}

.accordion-item__content--expanded {
	max-height: 60rem
}

.accordion-item__content-inner {
	border: 2px solid var(--dd-ink);
	border-top: 0;
	padding: 3rem
}

@media (max-width:1023px) {

	.std--block-img img.alignleft,
	.std--block-img img.alignright {
		float: none;
		margin-left: auto;
		margin-right: auto
	}

	.std--hide-br-l br {
		display: none
	}

	.article {
		margin: 0 -2.5rem;
		padding-top: 2.75rem
	}

}

.article__figure {
	background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7) center center no-repeat;
	background-size: cover;
	color: #fff;
	margin: 0;
	padding: 20% 3rem 10rem;
	position: relative;
	background-position: top;
	filter: contrast(1.1);
}

.article__figure::after {
	background: var(--dd-ink)8a;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%
}

.article__figure-content {
	margin: 0 auto
}

.article__title {
	font-size: 2.5em;
	line-height: 1.15
}

@media (max-width:1023px) {
	.article__figure {
		padding: 12rem 2.5rem 3rem
	}

	.article__title {
		font-size: 1.875em
	}

}

.article__meta {
	-ms-flex-align: center;
	align-items: center;
	border-top: 1px solid #fff;
	display: -ms-flexbox;
	display: flex;
	padding-top: 2rem;
	width: 100%
}

.article__tag {
	margin-right: 2rem
}

.article__content {
	background-color: #fff;
	margin: -6rem auto 0;
	padding: 7.5rem 7.5rem 12.5rem
}

@media (max-width:1023px) {
	.article__content {
		padding: 6rem 4.5rem 10rem
	}

}

@media (max-width:1023px) {
	.article__content {
		padding: 6rem 2.5rem;
		margin-top: 0
	}

}

.breadcrumbs--global {
    border-top:2px solid var(--dd-palest-green);
    border-bottom:2px solid var(--dd-palest-green);
    padding:1rem;
    ;
}

.breadcrumbs--global .breadcrumbs  {
    display: flex;
    justify-content: center;
    align-items:center;
    
}


.breadcrumbs .breadcrumb__container:last-child a {
	pointer-events: none;
}


.breadcrumbs .breadcrumb__container:not(:last-child) .breadcrumbs__link {
	font-weight: 600;
}



.breadcrumbs {
	line-height: 1.3
}

.breadcrumbs--block {
	padding: 3rem 0;
	text-align: center
}

.breadcrumbs__link {
	color: inherit;
	font-size: .875em;
	font-weight: 500;
	text-decoration: none
}

.breadcrumbs__link:hover {
	color: var(--dd-shop-green)
}

.breadcrumb__container::after {
	color: var(--dd-pale-green);
	content: "\f105";
	font-family:
		"Font Awesome 6 Sharp",
		"Font Awesome 6 Pro",
		"Font Awesome 6 Free";
	font-size: .8em;
	font-style: normal;
	font-weight: 900;
	line-height: 1;
	margin: 0 .75rem;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.breadcrumb__container:last-child::after {
	display: none
}

.button-group {
	display: -ms-inline-flexbox;
	display: inline-flex;
	margin: 0
}

.button-group .button:not(:only-child) {
	margin-right: 1.5rem
}

.button-group .button:last-child {
	margin-right: 0
}

@media (max-width:1023px) {

	.breadcrumbs--global {
		padding:1rem 0;
	}

	.breadcrumbs--global .breadcrumbs {
		justify-content: flex-start;
	}
	.breadcrumbs--block {
		padding: 1rem 5rem 2rem;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap
	}

	.button-group {
		display: -ms-flexbox;
		display: flex
	}

	.button-group .button:not(:only-child) {
		padding-left: 0;
		padding-right: 0;
		width: calc(50% - (1.75rem / 2));
		width: fit-content;
	}

	.button-group .button:not(:first-child) svg {
		display: none;
	}



}


@media (max-width: 1023px) {
	.breadcrumbs--global {
		overflow: hidden;
	}

	.breadcrumbs--global .breadcrumbs {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
		min-width: 0;
		overflow: hidden;
		width: 100%;
	}

	.breadcrumbs--global .breadcrumb__container {
		align-items: center;
		display: flex;
		flex: 0 0 auto;
		min-width: 0;
		white-space: nowrap;
	}

	.breadcrumbs--global .breadcrumb__container:last-child {
		flex: 1 1 auto;
		overflow: hidden;
	}

	.breadcrumbs--global .breadcrumb__container:last-child .breadcrumbs__link {
		display: block;
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.breadcrumbs--global .breadcrumb__container::after {
		flex: 0 0 auto;
	}
}

.button-group--toggle {
	display: -ms-flexbox;
	display: flex
}

.button-group--toggle .button {
	margin-right: 0 !important;
	width: 50% !important;
	padding-left: 0 !important;
	padding-right: 0 !important
}

.button-group--toggle .button:first-child {
	border-radius: 1rem 0 0 1rem
}

.button-group--toggle .button:last-child {
	border-radius: 0 1rem 1rem 0
}

.button {
	border: 0;
	cursor: pointer;
	display: inline-flex;
	font-size: 1em;
	justify-content: space-between;
	font-weight: 600;
	line-height: 1.15;
	padding: 1.5rem 3.5rem;
	text-align: center;
	max-width: fit-content;
	text-decoration: none;
	white-space: nowrap;
	vertical-align: middle
}

.button svg {
	width: 20px;
	margin-left: 15px;
}

@media (max-width:1023px) {
	.button {
		padding-left: 0;
		padding-right: 0;
		width: 100%;
		font-size: 1em
	}

}

.button[class*=button--ghost] {
	padding-top: 1.3rem;
	padding-bottom: 1.3rem
}

.button--small {
	border-radius: 1rem;
	font-size: .6875em;
	line-height: 1;
	padding: .5rem 1.25rem;
	width: auto
}

.button--small[class*=button--ghost] {
	border-width: 1px;
	padding-top: .45rem;
	padding-bottom: .45rem
}

.button--square {
	height: 5.2rem;
	line-height: 4.8rem;
	padding: 0 !important;
	width: 5.2rem
}

.button--narrow {
	padding-left: 2.5rem;
	padding-right: 2.5rem;
	width: auto
}

@media (max-width:1023px) {
	.button--narrow-block-l {
		width: 100%
	}

}

.button--block {
	padding-left: 0;
	padding-right: 0;
	width: 100%
}

.button--info {
	padding-left: 3rem;
	padding-right: 6rem;
	position: relative;
	text-align: left;
	white-space: normal;
	width: 100%
}

.button--info::after {
	font-size: 15px;
	position: absolute;
	right: 3rem;
	top: 50%;
	-ms-transform: translateY(-50%);
	transform: translateY(-50%)
}

.button--info-expanded {
	border-bottom: 0 !important
}

.button--link {
	background: 0 0;
	border-bottom: 2px solid var(--dd-ink);
	color: var(--dd-ink);
	font-size: 1em;
	padding: 0 0 .33rem;
	margin-bottom: -.33rem;
	width: auto !important
}

.button--link:hover {
	border-bottom-color: var(--dd-market-blue);
	color: var(--dd-market-blue)
}

.button--white {
	background-color: #fff;
	color: var(--dd-market-blue)
}

.button--white svg {
	fill: var(--dd-market-blue);
}

.text-image-figure__wrapper:hover .button--white {
	background-color: var(--dd-ink);
	color: #fff
}

.text-image-figure__wrapper:hover .button--white svg {
	fill: #fff;
}

.button--white:hover svg {
	fill: #fff;
}

.button--white:hover {
	background-color: var(--dd-ink);
	color: #fff
}

.button--ghost-white {
	background: 0 0;
	border: 2px solid #fff;
	color: #fff
}

.button svg.play-but,
.button svg.showroom-but {
	margin: 0 15px 0 0;
}

.button--ghost-white:hover svg path {
	fill: var(--dd-ink);
}

.button--ghost-white:hover {
	background-color: #fff;
	color: var(--dd-ink)
}

.button__icon {
	display: inline-block;
	margin-left: 1.5rem;
	vertical-align: bottom
}

.button__icon:first-child {
	margin: 0 1.5rem 0 0
}

.clearfix::after {
	clear: both;
	content: "";
	display: table
}

@keyframes spin {
	100% {
		transform: rotate(360deg)
	}

}

.wpcf7 p {
	margin: 0
}

.wpcf7 br,
.wpcf7 p:empty {
	display: none
}

.wpcf7 .wpcf7-form-control-wrap {
	display: block
}

.wpcf7 .screen-reader-response,
.wpcf7 .wpcf7-display-none {
	display: none
}

.wpcf7 .ajax-loader {
	bottom: 0;
	color: #fff;
	display: none;
	font-size: 1.5em;
	height: 1em;
	left: 50%;
	margin: auto;
	position: absolute;
	top: 0;
	-ms-transform: translateX(-50%);
	transform: translateX(-50%)
}

.wpcf7 .ajax-loader.is-active {
	display: block
}

.wpcf7 .ajax-loader::after {
	font-family: iconfont;
	speak: none;
	font-style: normal;
	font-weight: 400;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	animation: spin 2s linear infinite;
	display: block;
	height: 1em;
	width: 1em
}

.wpcf7 form.invalid .wpcf7-response-output {
	background: var(--dd-market-blue)
}

.wpcf7 form.sent .wpcf7-response-output {
	background-color: var(--dd-ink)
}

.wpcf7-response-output {
	color: #fff;
	font-size: 1em;
	line-height: 1.3;
	margin-top: 4rem;
	padding: 2rem;
	text-align: center
}

@media (max-width:1023px) {
	.wpcf7-response-output {
		margin-top: 2rem
	}

}

.wpcf7-response-output:empty {
	display: none
}

.wpcf7-not-valid-tip {
	color: var(--dd-market-blue);
	display: block;
	font-size: 1em;
	margin-top: 1rem;
	text-align: left
}

.wpcf7-list-item {
	margin: 0
}

.form--inline {
	-ms-flex: 1;
	flex: 1
}

@media (min-width:1023px) {
	.form__fields--inline {
		-ms-flex-align: center;
		align-items: center;
		display: -ms-flexbox;
		display: flex
	}

	.form__fields--inline .form__input {
		-ms-flex: 1;
		flex: 1;
		margin-right: 1.75rem
	}

}

.form__label {
	color: var(--dd-ink);
	display: block;
	font-size: .875em;
	font-weight: 600;
	text-transform: uppercase
}

.form__input {
	background-color: #fff;
	border: 0;
	border-radius: 0;
	color: var(--dd-ink);
	display: block;
	font-size: 16px;
	line-height: 1.3;
	padding: 1.75rem 2rem;
	text-align: left;
	width: 100%
}

.form__input:-ms-input-placeholder {
	color: var(--dd-ink)
}

.form__input::placeholder {
	color: var(--dd-ink)
}

.form__input--bordered {
	border: 2px solid #e1e1e3;
	padding-bottom: calc(1.75rem - 2px);
	padding-top: calc(1.75rem - 2px)
}

.form__input--textarea {
	height: 12.5rem;
	line-height: 1.5
}

.form__checkbox-row,
.wpcf7-checkbox-wrap .wpcf7-form-control {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center
}

@media (max-width:1023px) {
	.form__fields--inline .form__input {
		margin-bottom: 1.5rem
	}

	.form__checkbox-row,
	.wpcf7-checkbox-wrap .wpcf7-form-control {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-bottom: -3rem
	}

}

.form__checkbox-wrapper,
.wpcf7-checkbox-wrap .wpcf7-list-item {
	display: block;
	-ms-flex: 1;
	flex: 1;
	text-align: center
}

@media (max-width:1023px) {

	.form__checkbox-wrapper,
	.wpcf7-checkbox-wrap .wpcf7-list-item {
		-ms-flex-preferred-size: 33.3%;
		flex-basis: 33.3%;
		margin-bottom: 3rem
	}

}

@media (max-width:639px) {

	.form__checkbox-wrapper,
	.wpcf7-checkbox-wrap .wpcf7-list-item {
		-ms-flex-preferred-size: 50%;
		flex-basis: 50%
	}

}

.form__checkbox-wrapper input[type=checkbox],
.wpcf7-checkbox-wrap .wpcf7-list-item input[type=checkbox] {
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap
}

.form__checkbox-wrapper input[type=checkbox]:checked+.form__checkbox-name,
.wpcf7-checkbox-wrap .wpcf7-list-item .form__checkbox-wrapper input[type=checkbox]:checked+.wpcf7-list-item-label,
.wpcf7-checkbox-wrap .wpcf7-list-item input[type=checkbox]:checked+.form__checkbox-name,
.wpcf7-checkbox-wrap .wpcf7-list-item input[type=checkbox]:checked+.wpcf7-list-item-label {
	color: var(--dd-market-blue)
}

.form__checkbox-wrapper input[type=checkbox]:checked+.form__checkbox-name::before,
.wpcf7-checkbox-wrap .wpcf7-list-item .form__checkbox-wrapper input[type=checkbox]:checked+.wpcf7-list-item-label::before,
.wpcf7-checkbox-wrap .wpcf7-list-item input[type=checkbox]:checked+.form__checkbox-name::before,
.wpcf7-checkbox-wrap .wpcf7-list-item input[type=checkbox]:checked+.wpcf7-list-item-label::before {
	border-color: var(--dd-ink)
}

.form__checkbox-label,
.wpcf7-checkbox-wrap .wpcf7-list-item label {
	display: inline-block;
	vertical-align: middle
}

.form__checkbox-name,
.wpcf7-checkbox-wrap .wpcf7-list-item .wpcf7-list-item-label {
	display: block;
	font-size: .8125em;
	font-weight: 600;
	margin: 0 auto;
	max-width: 7.5rem;
	text-align: center;
	text-transform: uppercase
}

.form__checkbox-name::before,
.wpcf7-checkbox-wrap .wpcf7-list-item .wpcf7-list-item-label::before {
	border: 2px solid #e1e1e3;
	content: "";
	display: block;
	font-size: 15px;
	height: 2.75rem;
	line-height: 2.4rem !important;
	margin: 0 auto 1rem;
	width: 2.75rem
}
/* ==========================================================================
   Icons - Font Awesome replacement
   ========================================================================== */

.button--info::after,
.form__checkbox-wrapper input[type=checkbox]:checked + .form__checkbox-name::before,
.header__nav-item--parent > .header__nav-link::after,
.icon::before,
.mfp-arrow[class]::before,
.mfp-close::before,
.tick-list__item::before,
.wpcf7-checkbox-wrap .wpcf7-list-item .form__checkbox-wrapper input[type=checkbox]:checked + .wpcf7-list-item-label::before,
.wpcf7-checkbox-wrap .wpcf7-list-item input[type=checkbox]:checked + .form__checkbox-name::before,
.wpcf7-checkbox-wrap .wpcf7-list-item input[type=checkbox]:checked + .wpcf7-list-item-label::before {
	font-family: "Font Awesome 6 Sharp", "Font Awesome 6 Pro", "Font Awesome 6 Free" !important;
	font-style: normal;
	font-weight: 900;
	font-variant: normal;
	line-height: 1;
	text-rendering: auto;
	text-transform: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Chevron / arrows */

.header__nav-item--parent > .header__nav-link::after,
.icon--chevron::before {
	content: "\f107"; /* angle-down */
}

.icon--chevron-left::before,
.mfp-arrow.mfp-arrow-left::before {
	content: "\f104"; /* angle-left */
	display: inline-block;
	transform: none;
	vertical-align: middle;
}

.icon--chevron-right::before,
.mfp-arrow.mfp-arrow-right::before {
	content: "\f105"; /* angle-right */
	display: inline-block;
	transform: none;
	vertical-align: middle;
}

/* General UI icons */

.icon--email::before {
	content: "\f0e0"; /* envelope */
}

.icon--follow::before {
	content: "\f061"; /* arrow-right */
}

.icon--visit::before {
	content: "\f3c5"; /* location-dot */
}

.icon--phone::before {
	content: "\f095"; /* phone */
}

.icon--newsletter::before {
	content: "\f658"; /* envelope-open-text */
}

.icon--filter::before {
	content: "\f0b0"; /* filter */
}

.icon--star::before {
	content: "\f005"; /* star */
}

.form__checkbox-wrapper input[type=checkbox]:checked + .form__checkbox-name::before,
.icon--tick::before,
.tick-list__item::before,
.wpcf7-checkbox-wrap .wpcf7-list-item .form__checkbox-wrapper input[type=checkbox]:checked + .wpcf7-list-item-label::before,
.wpcf7-checkbox-wrap .wpcf7-list-item input[type=checkbox]:checked + .form__checkbox-name::before,
.wpcf7-checkbox-wrap .wpcf7-list-item input[type=checkbox]:checked + .wpcf7-list-item-label::before {
	content: "\f00c"; /* check */
}

.icon--info::before {
	content: "\f129"; /* info */
}

.button--info::after,
.icon--plus::before {
	content: "\2b"; /* plus */
}

.button--info-expanded::after,
.icon--minus::before {
	content: "\f068"; /* minus */
}

.icon--spinner::before,
.wpcf7 .ajax-loader::after {
	content: "\f110"; /* spinner */
}

.icon--play::before {
	content: "\f04b"; /* play */
}

/* Brand icons need the Brands font family */

.icon--linkedin::before,
.icon--twitter::before {
	font-family: "Font Awesome 6 Brands" !important;
	font-style: normal;
	font-weight: 400;
	font-variant: normal;
	line-height: 1;
	text-rendering: auto;
	text-transform: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon--linkedin::before {
	content: "\f08c"; /* linkedin */
}

.icon--twitter::before {
	content: "\e61f"; /* x-twitter */
}

/* Fallback if you actually want old Twitter bird instead of X */
/*
.icon--twitter::before {
	content: "\f099";
}
*/


.image-overlay-figure {
	color: #fff;
	display: block;
	position: relative;
	text-decoration: none
}

.image-overlay-figure__overlay {
	background: var(--dd-ink)8a;
	border-top: 1px solid #fff;
	bottom: 0;
	left: 0;
	padding: 3rem 3.5rem;
	position: absolute;
	width: 100%
}

@media (max-width:1023px) {
	.image-overlay-figure__overlay {
		padding: 2.5rem
	}

}

.image-overlay-figure__title {
	font-family: "Futura Round", sans-serif;
	font-size: 1em;
	font-weight: 400;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap
}

.label,
.proposition-box__price {
	font-family: "Figtree", sans-serif;
	font-weight: 500;
	font-style: normal;
}

.info-button {
	background: 0 0;
	border: 0;
	cursor: help;
	display: inline-block;
	margin-left: .75rem;
	outline: 0;
	padding: 0;
	position: relative;
	top: -1px;
	vertical-align: middle
}

.info-button:hover .info-button__tooltip {
	opacity: 1;
	bottom: 100%;
	visibility: visible
}

.info-button__tooltip,
.mfp-fade.mfp-bg {
	opacity: 0;
	transition: all .3s ease-in-out
}

.info-button__icon {
	color: var(--dd-ink);
	display: block;
	font-size: .8125em
}

.info-button__tooltip {
	bottom: 90%;
	left: 50%;
	padding-bottom: 3rem;
	position: absolute;
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 22.5rem;
	visibility: hidden;
	z-index: 2
}

@media (max-width:480px) {
	.info-button__tooltip {
		-ms-transform: translateX(-75%);
		transform: translateX(-75%);
		width: 20rem
	}

}

.info-button__tooltip-inner {
	background-color: var(--dd-ink);
	border-radius: 15px;
	color: #fff;
	padding: 3rem 2rem
}

.info-button__tooltip-inner::before {
	border: 12.5px solid transparent;
	border-top: 15px solid var(--dd-ink);
	content: "";
	position: absolute;
	left: 50%;
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	top: calc(100% - 3rem)
}

@media (max-width:480px) {
	.info-button__tooltip-inner::before {
		left: 75%
	}

}

.label {
	border-radius: 7px;
	display: inline-block;
	font-size: .6875em;
	margin-right: 1rem;
	padding: 0 .75rem;
	line-height: 1.65rem;
	text-transform: uppercase;
	white-space: nowrap
}

.label--orange {
	background-color: var(--dd-market-blue);
	color: #fff
}

.label--blue {
	background-color: var(--dd-market-blue);
	color: #fff;
	line-height: 2.75rem;
	padding: 0 1.5rem
}

.label--boxed {
	border-radius: 14px;
	font-size: .75em;
	left: 50%;
	position: absolute;
	top: 0;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}

.label--overlayed {
	border-radius: 0;
	font-size: 1em;
	left: 0;
	padding: .75rem 2rem;
	position: absolute;
	top: 2.5rem
}

.mfp-arrow[class]::before,
.mfp-close {
	padding: 0 !important;
	right: 0 !important
}

.mfp-fade.mfp-bg.mfp-ready {
	opacity: .8
}

.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0
}

.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	transition: all .3s ease-in-out
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0
}

.mfp-iframe-holder .mfp-close {
	top: -5rem !important
}

.mfp-close {
	color: transparent !important;
	font-size: 1em !important;
	height: 3rem !important;
	line-height: 3rem !important;
	top: 1.5rem !important;
	width: 3rem !important
}

.mfp-close:hover::before {
	color: #fff
}

.mfp-close::before {
	color: #fff;
	font-size: 1.5em;
	position: absolute;
	left: 50%;
	top: calc(50% + 2rem);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}

.mfp-arrow[class] {
	-ms-transform: none !important;
	transform: none !important;
	width: 75px !important
}

@media (max-width:1023px) {
	.mfp-arrow[class] {
		width: 55px !important
	}

}

.mfp-arrow[class]::after {
	display: none !important
}

.mfp-arrow[class]::before {
	border: 0 !important;
	bottom: 0 !important;
	color: #fff !important;
	font-size: 20px !important;
	margin: auto !important;
	opacity: 1 !important;
	top: 0 !important;
	width: 1em !important;
	height: 1em !important
}

@media (max-width:1023px) {
	.mfp-arrow[class]::before {
		font-size: 18px !important
	}

}

.map {
	padding-bottom: 25%
}

@media (max-width:1150px) {
	.map {
		padding-bottom: 50%
	}

}

.modal {
	background-color: rgba(13, 37, 41, .8);
	display: none;
	height: 100%;
	left: 0;
	overflow: auto;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 3
}

.modal--visible,
.news-figure,
.news-figure__link {
	display: block
}

@media (max-width:1023px) {
	.map {
		padding-bottom: 100%
	}

	.modal {
		background: #fff;
		padding: 0
	}

}

@media (min-width:1023px) {
	.modal {
		padding: 5rem 0
	}

}

@media (min-width:1024px) {
	.modal {
		padding: 10rem 0
	}

}

@media (min-width:1151px) {
	.modal {
		padding: 15rem 0
	}

}

@media (min-width:1023px) and (max-height:900px) {
	.modal {
		padding: 10rem 0
	}

}

.modal__content {
	background-color: #fff;
	padding: 6rem 2.5rem;
	position: relative
}

@media (min-width:1023px) {
	.modal__content {
		padding: 6rem;
		margin: 0 auto;
		max-width: 52.5rem;
		width: 100%
	}

	.proposition-box__header {
		min-height: 25.5rem
	}

}

.modal__close-button {
	background: 0 0;
	border: 0;
	color: var(--dd-ink);
	font-size: 1.5625em;
	height: 3rem;
	line-height: 3rem;
	position: absolute;
	right: 2rem;
	text-align: center;
	top: 2rem
}

.modal__close-button:hover {
	color: var(--dd-market-blue)
}

.modal__title {
	color: var(--dd-ink);
	font-size: 1.5625em;
	line-height: 1.3;
	margin: 0
}



.proposition-box,
.section,
.section__title-button {
	position: relative
}

.news-figure__title {
	font-size: 1.375em;
	line-height: 1.35;
	margin: 0
}

@media (max-width:1023px) {
	.news-figure__overlay {
		padding: 2.5rem
	}

	.news-figure__title {
		font-size: 1.125em
	}

}

.news-figure__meta {
	-ms-flex-align: center;
	align-items: center;
	border-top: 1px solid #fff;
	display: -ms-flexbox;
	display: flex;
	
	width: 100%
}

.news-figure__tag {
	margin-right: 2rem;
	pointer-events: all
}

.notification {
	background-color: var(--dd-pale-green);
	color: var(--dd-ink);
	padding: 3rem
}

.notification__text {
	-ms-flex-align: center;
	align-items: center;
	display: -ms-flexbox;
	display: flex
}

.notification__icon {
	margin-right: 2.5rem;
	max-width: 3.25rem
}

.pagination {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center
}

.pagination__button {
	margin-right: 1rem
}

.pagination__button:last-child {
	margin-right: 0
}

.pill {
	-ms-flex-align: center;
	align-items: center;
	background-color: rgba(32, 159, 152, .1);
	border-radius: 4.5rem;
	display: -ms-inline-flexbox;
	display: inline-flex;
	margin: 0 auto;
	padding: 2rem 7.5rem
}

.pill__icon {
	height: 5rem;
	margin-right: 3rem
}

.pill__title,
.proposition-box__sub-title,
.proposition-box__title {
	line-height: 1.25;
	margin: 0;
	text-transform: uppercase
}

.pill__title {
	color: var(--dd-ink);
	font-size: 1.125em
}

.proposition-box {
	border: 2px solid var(--dd-grey);
	color: inherit;
	display: block;
	height: 100%;
	padding: 6rem 4rem;
	text-align: center;
	text-decoration: none
}

@media (max-width:1023px) {
	.proposition-box {
		padding: 4.5rem 3rem
	}

}

.proposition-box--blue {
	border-color: var(--dd-market-blue)
}

.proposition-box--standalone {
	height: auto;
	padding: 4.5rem 3rem;
	text-align: left
}

@media (min-width:1024px) {
	.proposition-box__header {
		min-height: 23.5rem
	}

}

@media (min-width:1301px) {
	.proposition-box__header {
		min-height: 20rem
	}

}

.proposition-box__title {
	color: var(--dd-ink);
	font-size: 1.125em
}

.proposition-box__sub-title {
	color: var(--dd-ink);
	font-size: .875em
}

.proposition-box__price {
	color: var(--dd-ink);
	display: block;
	font-size: 2.5em;
	line-height: 1;
	margin: .75rem 0
}

.testimonial__title,
.text-image-figure__sub-title {
	font-family: "Futura Round", sans-serif
}

.proposition-box__em {
	display: inline-block;
	color: var(--dd-market-blue);
	font-size: 12px;
	line-height: 16px;
	text-transform: uppercase;
	vertical-align: middle
}

.proposition-box__vat {
	display: block
}

.proposition-box__text {
	margin: 0 auto;
	max-width: 27.5rem
}

.proposition-box__link {
	margin-top: 1rem
}

.proposition-box__footer {
	background-color: var(--dd-pale-green);
	color: var(--dd-ink);
	margin: 3rem -3rem -4.5rem;
	padding: 3rem
}

.proposition-box__footer-text {
	-ms-flex-align: center;
	align-items: center;
	display: -ms-flexbox;
	display: flex
}

.proposition-box__footer-icon {
	margin-right: 2.5rem;
	max-width: 3.25rem
}

.section {
	overflow: hidden;
	padding: 15rem 0
}

.section--ignore-overflow {
	overflow: initial
}

.section--small {
	padding: 12.5rem 0
}

.section--x-small--nopadbot {
	padding-bottom: 0 !important;
}

@media (min-width:1501px) {
	.section--large {
		padding: 15rem 0
	}

}

@media (max-width:1023px) {
	.section {
		padding: 10rem 0
	}

}

.section--x-small {
	padding: 10rem 0
}

@media (max-width:1023px) {
	.section {
		padding: 6rem 0
	}

}

.section--xx-small {
	padding: 4rem 0
}

@media (min-width:1023px) {
	.section--xx-small {
		padding: 5rem 0
	}

	.section--push-both.section--split-block  .section__background-image--split-left {
		border-radius:0 5rem 5rem 0 !important;
		overflow: hidden;
	}


	.section--push-both.section--split-block  .section__background-image--split-right {
    border-radius:5rem 0 0 5rem !important;
    overflow: hidden;
}


}

.section--push-both {
	margin: 12.5rem 0
}

@media (max-width:1023px) {
	.section--push-both {
		margin: 10rem 0
	}

}

@media (max-width:1023px) {
	.section--push-both {
		margin: 0 0 6rem
	}

}

.section--push-top {
	margin-top: 12.5rem
}

.section--push-bottom {
	margin-bottom: 12.5rem
}

@media (max-width:1023px) {
	.section--push-top {
		margin-top: 10rem
	}

	.section--push-bottom {
		margin-bottom: 10rem
	}

}

.section--flush {
	padding: 0
}

.section--collapse {
	padding-bottom: 0
}

.section--collapse-top {
	padding-top: 0
}

.section--bordered {
	border-top: 2px solid #d6d6d6
}

.section--dark-green {
	background-color: var(--dd-darkest-green);
	color: #fff
}

.section--dark-green .section__primary-title,
.section--dark-green .section__secondary-title {
	color: #fff
}

.section--grey {
	background-color: var(--dd-grey)
}

@media (min-width:1023px) {
	.section__content--inline {
		-ms-flex-align: center;
		align-items: center;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: center;
		justify-content: center
	}

	.section__content--inline .section__secondary-title {
		max-width: 40rem;
		margin-right: 5rem
	}

}

@media (max-width:1023px) {
	.section--push-top {
		margin-top: 6rem
	}

	.section--push-bottom {
		margin-bottom: 6rem
	}

	.section--collapse-top-l {
		padding-top: 0
	}

	.section--collapse-l {
		padding-bottom: 0
	}

	.section__content--inline-persist {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap
	}

}

.section__content--side {
	position: relative;
	z-index: 1
}

@media (min-width:1023px) {
	.section__content--narrow {
		margin: 0 auto;
		max-width: 70rem
	}

	.section__content--narrow-medium {
		max-width: 80rem
	}

	.section__content--narrow-large {
		max-width: 90rem
	}

	.section__content--narrow .section__secondary-title {
		padding-right: 2rem
	}

	.section__content--side {
		max-width: 50%
	}

	.section__content--side.side--center {
		margin: 0 auto;
		text-align: center;
	}

	.section__content--side.side--center .section__text {
		margin: 0 auto;
	}

}

.section__inner-content {
	max-width: 100%;
	display: flex;
	flex-direction: column;
}

@media (min-width:1023px) {
	.section__inner-content {
		margin: 0 auto;
		max-width: 50rem
	}

}

@media (min-width:1023px) and (max-width:1150px) {
	.section__inner-content {
		margin: 0 8rem
	}

}

@media (min-width:1023px) and (max-width:1023px) {
	.section__inner-content {
		margin: 0 4rem
	}

}

@media (min-width:1023px) and (max-width:1300px) {
	.section__inner-content--right {
		padding-left: 4rem
	}

	.section__inner-content--left {
		padding-right: 4rem
	}

}

.section__title-wrap {
	-ms-flex-align: center;
	align-items: center;
	display: -ms-flexbox;
	display: flex
}

@media (min-width:1023px) {
	.section__inner-content--wide {
		max-width: 65rem
	}

	.section__inner-content--right {
		margin: 0 0 0 auto
	}

	.section__inner-content--left {
		margin: 0 auto 0 0
	}

	.section__title-wrap--center {
		-ms-flex-pack: center;
		justify-content: center
	}

}

@media (min-width:1024px) {
	.section__title-wrap--inline {
		margin-right: 4.5rem;
		max-width: 25rem
	}

}

.section__title-wrap--inline-alt {
	display: block;
	margin: 0 4.5rem 0 3rem;
	max-width: 40rem
}

.section__title-button:hover .section__sub-nav {
	opacity: 1;
	top: 100%;
	visibility: visible
}

.section__sub-nav,
.slick-loading .slick-slide,
.slick-loading .slick-track {
	visibility: hidden
}

@media (max-width:1023px) {
	.section__title-wrap--center {
		display: block
	}

	.section__title-wrap--inline-alt {
		-ms-flex: 1;
		flex: 1;
		margin-right: 0;
		max-width: none
	}

	.section__inline-button {
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%
	}

}

.section__sub-nav {
	left: 50%;
	opacity: 0;
	padding-top: 3rem;
	position: absolute;
	top: 90%;
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	transition: all .3s ease-in-out;
	z-index: 2
}

.section__sub-nav-inner {
	background-color: var(--dd-ink);
	border-radius: 15px;
	padding: 4rem
}

@media (min-width:1023px) {
	.section__title-button {
		margin-left: 3rem
	}

	.section__sub-nav-inner {
		width: 40rem
	}

	.section__sub-nav-items {
		column-count: 2;
		text-align: left
	}

}

.section__sub-nav-inner::before {
	border: 12.5px solid transparent;
	border-bottom: 15px solid var(--dd-ink);
	bottom: calc(100% - 3rem);
	content: "";
	position: absolute;
	left: 50%;
	-ms-transform: translateX(-50%);
	transform: translateX(-50%)
}

.section__sub-nav-items {
	margin: 0;
	padding: 0
}

.section__sub-nav-item {
	list-style-type: none;
	margin-bottom: 1.5rem
}

.section__sub-nav-item:last-child {
	margin-bottom: 0
}

.section__sub-nav-link {
	-ms-flex-align: baseline;
	align-items: baseline;
	color: #fff;
	display: -ms-inline-flexbox;
	display: inline-flex;
	font-weight: 500;
	text-decoration: none;
	white-space: normal
}

@media (min-width:1024px) {
	.section__sub-nav-inner {
		width: 70rem
	}

	.section__sub-nav-items {
		column-count: 3
	}

	.section__sub-nav-link {
		-ms-flex-align: center;
		align-items: center;
		line-height: 1
	}

}

.section__sub-nav-link--active,
.section__sub-nav-link:hover {
	color: var(--dd-market-blue)
}

.section__icon {
	color: var(--dd-market-blue);
	font-size: 3.125em;
	margin-right: 3rem
}

.section__icon-image {
	height: 5.5rem
}

.section__primary-title {
	color: var(--dd-ink);
	font-size: 4em;
	line-height: 1;
	margin: 0;
	text-transform: none;
}

.section__primary-title--small {
	font-size: 2em;
}

@media (max-width:1023px) {
	.section__primary-title {
		font-size: 2.625em
	}

}

@media (max-width:1023px) {
	.section__primary-title {
		font-size: 2.5em
	}

}

.section__primary-title--lipped {
	position: relative
}

.section__secondary-title {
	color: var(--dd-ink);
	font-size: 1.5em;
	font-family: "Figtree", sans-serif;
	font-weight: 500;
	font-style: normal;
	line-height: 1.3em;
	margin: 0
}

@media (max-width:1023px) {
	.section__secondary-title {
		font-size: 1em
	}

}

.section__secondary-title--medium {
	font-size: 1.875em
}

@media (max-width:1023px) {
	.section__secondary-title {
		        font-size: 1.25em;
        line-height: 1.2em;
        font-weight: 600;
	}

}

.section__secondary-title--small {
	font-size: 1.2em;
	line-height: 1em;
}

.section__secondary-title--x-small {
	font-size: 1em;
	line-height: 1em;
}

.section__secondary-title--center {
	margin: 0 auto
}

.section__secondary-title--upper {
	text-transform: uppercase
}

.section__tertiary-title {
	font-size: 1.125em;
	line-height: 1.3;
	margin: 0;
	text-transform: uppercase
}

@media (min-width:1023px) {
	.section__primary-title--lipped::after {
		width: 8rem
	}

	.section__secondary-title {
		max-width: 60rem
	}

	.section__text {
		max-width: 55rem
	}

	.section__text--narrow {
		max-width: 42.5rem
	}

}

.section__background-image {
	background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7) -2px center no-repeat;
	background-size: cover;

	display: block;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	width: 50%
}

.section__background-image--wide {
	width: 60%
}

@media (max-width:1150px) {
	.section__background-image--wide {
		width: 56.25%
	}

}

.section__background-image--mobile {
	border-radius: 0;
	display: none;
	margin: 6rem 0 -6rem;
	padding-bottom: 100%;
	position: relative;
	width: 100%
}

@media (max-width:1023px) {
	.section__background-image {
		background-position: center;
		display: none
	}

	.section__background-image--mobile {
		display: block
	}

}

.section__background-image--split {
	display: block
}

@media (min-width:1023px) {
	.section__background-image--split {
		width: 50%
	}

	.section__background-image--split-left {
		background-position: right center;

		left: 0;
		right: auto
	}

	.section__background-image--split-left.section__background-image--not-last {
		border-bottom-right-radius: 0
	}

	.section__background-image--split-left.section__background-image--not-first {
		border-top-right-radius: 0
	}

	.section__background-image--split-right.section__background-image--not-last {
		border-bottom-left-radius: 0
	}

	.section__background-image--split-right.section__background-image--not-first {
		border-top-left-radius: 0
	}

	.text-icon-figure__link {
		
	}

	.text-icon-figures--no-icon {
	align-items: stretch;
}

.text-icon-figures--no-icon .column-s-4 {
	display: flex;
	height: auto;
	padding-right: 0;
}

.text-icon-figures--no-icon .text-icon-figure {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
}

}

@media screen and (min-width:1023px) {
	.text-icon-figures--no-icon .column-l-4 {
    padding-right:0;
}
}

@media (max-width:1023px) {

	.row.text-icon-figures--no-icon
		.column-l-4.push-down-s-medium:not(:last-child) {
			margin-bottom: 1.5rem !important;
		}


	.section__background-image--split {
		margin: 6rem -2.5rem -6rem;
		padding-bottom: 100%;
		position: static;
		width: calc(100% + 5rem)
	}

	.section__background-image--split-top {
		margin-bottom: 6rem;
		margin-top: -6rem
	}

}

.section__video-button {
	-ms-flex-align: center;
	align-items: center;
	background-color: var(--dd-ink);
	border-radius: 50%;
	color: #fff;
	display: -ms-inline-flexbox;
	display: inline-flex;
	font-size: 2.8125em;
	height: 8.5rem;
	-ms-flex-pack: center;
	justify-content: center;
	left: 0;
	line-height: 8.5rem;
	position: absolute;
	text-decoration: none;
	top: 50%;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 8.5rem;
	z-index: 2
}

.section__video-button:hover {
	background-color: var(--dd-market-blue)
}

@media (max-width:1023px) {
	.section__video-button {
		font-size: 2.1875em;
		height: 6.5rem;
		left: 50%;
		width: 6.5rem
	}

}

.slider--image {
	position: relative
}

@media (max-width:1023px) {
	.slider--image {
		margin: 0 1rem
	}

}

.slider--image .slick-list {
	overflow: visible !important
}

.slider--image [data-slide] {
	padding: 0
}

@media (min-width: 992px) {
	.slider--places:has(.place-slider__slide:only-child) .slick-track {
		margin-left: auto !important;
		margin-right: auto !important;
		transform: none !important;
	}

	.slider--places:has(.place-slider__slide:only-child) .place-slider__slide {
		float: none;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}


.section--place-image-figures.section--dark-green
.section__intro-actions > .button {
	background: var(--dd-white);
	color: var(--dd-dark-green);
}

.section--place-image-figures.section--dark-green
.section__intro-actions > .button:hover,
.section--place-image-figures.section--dark-green
.section__intro-actions > .button:focus-visible {
	background: var(--dd-shop-green);
	color: var(--dd-darkest-green);
	    border-color: var(--dd-shop-green);
}



@media (max-width:1150px) {
	.slider--news {
		margin: 0 4rem
	}

	.slider--news .slick-list {
		overflow: visible !important
	}

	.slider--news [data-slides] {
		margin-left: -1rem;
		margin-right: -1rem;
		width: calc(100% + 2rem)
	}

	.slider--news [data-slide] {
		padding: 0 1rem
	}

}

@media (max-width:639px) {
	.slider--news {
		margin: 0 .5rem
	}

	.slider--news [data-slides] {
		margin-left: -.5rem;
		margin-right: -.5rem;
		width: calc(100% + 1rem)
	}

	.slider--news [data-slide] {
		padding: 0 .5rem
	}

}

.slider__button {
	background-color: #fff;
	border-radius: 50%;
	border: 0;
	color: var(--dd-ink);
	font-size: 1.125em;
	height: 5rem;
	position: absolute;
	top: 50%;
	width: 5rem;
	z-index: 1
}




.slider__button:hover{
	background-color: var(--dd-dark-green);
	color: #fff
}

.slider__button[data-prev] {
	left: 0;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}

.slider__button[data-next] {
	right: 0;
	-ms-transform: translate(50%, -50%);
	transform: translate(50%, -50%)
}

@media (max-width:480px) {
	.slider__button {
		display: none !important
	}

}

.social-links__items {
	display: -ms-flexbox;
	display: flex;
	margin: 0;
	padding: 0
}

.social-links__item {
	margin-right: 1rem
}

.social-links__item:last-child {
	margin-right: 0
}

.social-links__link {
	border-radius: 50%;
	display: inline-block;
	font-size: .9375em;
	height: 3.5rem;
	line-height: 3.5rem;
	text-align: center;
	text-decoration: none;
	width: 3.5rem;
	vertical-align: middle
}

.social-links__link:hover {
	background-color: var(--dd-ink)
}

.testimonial {
	margin: 0 auto;
	max-width: 55rem;
	padding: 0
}

.testimonial__rating {
	color: var(--dd-market-blue);
	font-size: 1.5625em
}

.testimonial__title {
	font-weight: 600;
	font-size: 1.125em;
	margin: 0;
	text-transform: uppercase
}

.testimonial__cite {
	font-size: .75em;
	font-style: normal;
	letter-spacing: 2px;
	text-transform: uppercase
}

.text-icon-figure[href] {
	color: inherit;
	display: block;
	text-decoration: none
}

.text-icon-figure[href]:hover .text-icon-figure__link {
	border-bottom-color: var(--dd-market-blue);
	color: var(--dd-market-blue)
}

.text-icon-figure--inline {
	-ms-flex-align: center;
	align-items: center;
	display: -ms-flexbox;
	display: flex
}

.text-icon-figure--inline .text-icon-figure__icon {
	margin-right: 3rem
}

.text-icon-figure--center {
	text-align: center
}

@media (max-width:1023px) {
	.testimonial {
		max-width: none
	}

	.text-icon-figure--center .text-icon-figure__text {
		padding-right: 0
	}

}

.text-icon-figure--center .text-icon-figure__icon {
	height: 5rem;
	max-height: 5rem;
	max-width: 5rem
}

@media (min-width:1024px) {
	.text-icon-figure--center .text-icon-figure__icon {
		height: 7.5rem;
		max-height: 7.5rem;
		max-width: 7.5rem
	}

}

.text-icon-figure__icon {
	height: 5rem;
	max-height: 4.5rem;
	max-width: 4.5rem
}

.text-icon-figure__icon--large {
	height: 8rem
}

.text-icon-figure__icon--icon {
	color: var(--dd-market-blue);
	font-size: 2.5em;
	height: auto
}

.text-icon-figure__title {
	color: var(--dd-ink);
	font-size: 1.125em;
	line-height: 1.3;
	margin: 0;
	text-transform: capitalize
}

.text-icon-figure__text {
	max-width: 24.5rem
}

@media (max-width:1023px) {
	.text-icon-figure__text {
		max-width: none;
		padding-right: 2.5rem
	}

}

.text-icon-figure__text--center {
	margin: 0 auto;
	padding: 0
}

.text-icon-figure__link {
	border-bottom: 2px solid var(--dd-market-blue);
	color: var(--dd-market-blue);
	font-weight: 500;
	transition: all .3s ease-in-out
}

.text-image-figure {
	color: inherit;
	display: block;
	position: relative;
	text-decoration: none
}

.text-image-figure[href]:hover .text-image-figure__title::after {
	width: 10rem
}

.text-image-figure[href]:hover .text-image-figure__link {
	border-bottom-color: var(--dd-market-blue);
	color: var(--dd-market-blue)
}

.text-image-figure__title {
	color: var(--dd-ink);
	font-size: 1.6em;
	line-height: 1.3;
	margin: 0;
	position: relative;
	text-transform: none
}

@media (max-width:1023px) {
	.text-image-figure__title {
		font-size: 1.25em
	}

}

.text-image-figure__sub-title {
	color: var(--dd-ink);
	font-size: 1.125em;
	font-weight: 500;
	margin: 0
}

.text-image-figure__text {
	max-width: 45rem
}

.text-image-figure__link {
	border-bottom: 2px solid var(--dd-market-blue);
	color: var(--dd-market-blue);
	font-weight: 500;
	transition: all .3s ease-in-out
}

@media (min-width:1023px) {
	.text-image-figure__link {
		
	}

}

.tick-list {
	padding: 0;
	margin: 0 auto;
	max-width: 22.5rem;
	text-align: left
}

.tick-list__item {
	margin-bottom: 1rem;
	padding-left: 3.5rem;
	position: relative
}

.tick-list__item::before {
	color: var(--dd-ink);
	font-size: .9375em;
	left: 0;
	position: absolute;
	top: 3px
}

.video-figure {
	margin: 5rem 0;
	padding-bottom: 56.25%;
	position: relative
}

@media (max-width:1023px) {
	.video-figure {
		margin: 4.5rem 0
	}

}

.video-figure iframe,
.video-figure video {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%
}

.slick-list,
.slick-slider,
.slick-track {
	position: relative;
	display: block
}

.slick-slider {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y
}

.slick-list {
	overflow: hidden;
	margin: 0;
	padding: 0
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0)
}

.slick-track {
	left: 0;
	top: 0;
	margin-left: auto;
	margin-right: auto
}

.mfp-bg,
.mfp-wrap {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%
}

.slick-track:after,
.slick-track:before {
	content: "";
	display: table
}

.mfp-arrow:after,
.mfp-arrow:before,
.mfp-container:before,
.mfp-figure:after {
	content: ""
}

.slick-slide {
	float: left;
	height: 100%;
	min-height: 1px;
	display: none
}

[dir=rtl] .slick-slide {
	float: right
}

.slick-slide img {
	display: block
}

.slick-slide.slick-loading img {
	display: none
}

.slick-slide.dragging img {
	pointer-events: none
}

.slick-initialized .slick-slide {
	display: block
}

.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent
}

.slick-arrow.slick-hidden {
	display: none
}

.mfp-bg {
	height: 100%;
	z-index: 1042;
	overflow: hidden;
	background: var(--dd-ink);
	opacity: .8
}

.mfp-arrow,
.mfp-arrow:focus,
.mfp-arrow:hover,
.mfp-close:focus,
.mfp-close:hover {
	opacity: 1
}

.mfp-wrap {
	height: 100%;
	z-index: 1043;
	outline: 0 !important;
	-webkit-backface-visibility: hidden
}

.mfp-container {
	text-align: center;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	padding: 0 5rem
}

.mfp-container:before {
	display: inline-block;
	height: 100%;
	vertical-align: middle
}

.mfp-align-top .mfp-container:before {
	display: none
}

.mfp-content {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	margin: 0 auto;
	text-align: left;
	z-index: 1045
}

.mfp-ajax-holder .mfp-content,
.mfp-inline-holder .mfp-content {
	width: 100%;
	cursor: auto
}

.mfp-ajax-cur {
	cursor: progress
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
	cursor: zoom-out
}

.mfp-zoom {
	cursor: pointer;
	cursor: zoom-in
}

.mfp-auto-cursor .mfp-content {
	cursor: auto
}

.mfp-arrow,
.mfp-close,
.mfp-counter,
.mfp-preloader {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none
}

.mfp-loading.mfp-figure {
	display: none
}

.mfp-hide {
	display: none !important
}

.mfp-preloader {
	color: #08181b;
	position: absolute;
	top: 50%;
	width: auto;
	text-align: center;
	margin-top: -.8em;
	left: 8px;
	right: 8px;
	z-index: 1044
}

.mfp-preloader a,
.mfp-preloader a:hover {
	color: #08181b
}

.mfp-s-error .mfp-content,
.mfp-s-ready .mfp-preloader {
	display: none
}

button.mfp-arrow,
button.mfp-close {
	overflow: visible;
	cursor: pointer;
	background: 0 0;
	border: 0;
	-webkit-appearance: none;
	display: block;
	outline: 0;
	padding: 0;
	z-index: 1046;
	box-shadow: none;
	-ms-touch-action: manipulation;
	touch-action: manipulation
}

.mfp-figure:after,
.mfp-iframe-scaler iframe {
	box-shadow: none;
	background: #08181b;
	position: absolute;
	left: 0
}

button::-moz-focus-inner {
	padding: 0;
	border: 0
}

.mfp-close {
	position: absolute;
	text-decoration: none;
	text-align: center;
	opacity: 1;
	font-style: normal;
	font-family: Arial, Baskerville, monospace
}

.mfp-close:active {
	top: 1px
}

.mfp-close-btn-in .mfp-close {
	color: #fff
}

.mfp-iframe-holder .mfp-close,
.mfp-image-holder .mfp-close {
	color: #fff;
	right: -6px;
	text-align: right;
	padding-right: 6px;
	width: 100%
}

.mfp-counter {
	position: absolute;
	top: 0;
	right: 0;
	color: #08181b;
	font-size: 12px;
	line-height: 18px;
	white-space: nowrap
}

.mfp-figure,
img.mfp-img {
	line-height: 0
}

.mfp-arrow {
	position: absolute;
	margin: -55px 0 0;
	top: 50%;
	padding: 0;
	width: 90px;
	height: 110px
}

.mfp-arrow:active {
	margin-top: -54px
}

.mfp-arrow:after,
.mfp-arrow:before {
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	left: 0;
	top: 0;
	margin-top: 35px;
	margin-left: 35px;
	border: inset transparent
}

.mfp-arrow:after {
	border-top-width: 13px;
	border-bottom-width: 13px;
	top: 8px
}

.mfp-arrow:before {
	border-top-width: 21px;
	border-bottom-width: 21px;
	opacity: .7
}

.mfp-arrow-left {
	left: 0
}

.mfp-arrow-left:after {
	border-right: 17px solid #fff;
	margin-left: 31px
}

.mfp-arrow-left:before {
	margin-left: 25px;
	border-right: 27px solid transparent
}

.mfp-arrow-right {
	right: 0
}

.mfp-arrow-right:after {
	border-left: 17px solid #fff;
	margin-left: 39px
}

.mfp-arrow-right:before {
	border-left: 27px solid transparent
}

.mfp-iframe-holder {
	padding-top: 5rem;
	padding-bottom: 5rem
}

.mfp-iframe-holder .mfp-content {
	line-height: 0;
	width: 100%;
	max-width: 1000px
}

.mfp-image-holder .mfp-content,
img.mfp-img {
	max-width: 100%
}

.mfp-iframe-scaler {
	width: 100%;
	height: 0;
	overflow: hidden;
	padding-top: 56.25%
}

.mfp-iframe-scaler iframe {
	display: block;
	top: 0;
	width: 100%;
	height: 100%
}

.mfp-figure:after,
img.mfp-img {
	width: auto;
	height: auto;
	display: block
}

img.mfp-img {
	padding: 8rem 0;
	margin: 0 auto
}

.mfp-figure:after {
	top: 8rem;
	bottom: 8rem;
	right: 0;
	z-index: -1
}

.mfp-figure small {
	color: var(--dd-grey);
	display: block;
	font-size: 12px;
	line-height: 14px
}

.mfp-figure figure {
	margin: 0
}

.mfp-bottom-bar {
	margin-top: -4rem;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	cursor: auto
}

.mfp-title {
	text-align: left;
	line-height: 18px;
	color: var(--dd-grey);
	word-wrap: break-word;
	padding-right: 36px
}

.mfp-gallery .mfp-image-holder .mfp-figure {
	cursor: pointer
}

@media screen and (max-width:800px) and (orientation:landscape),
screen and (max-height:300px) {
	.mfp-img-mobile .mfp-image-holder {
		padding-left: 0;
		padding-right: 0
	}

	.mfp-img-mobile img.mfp-img {
		padding: 0
	}

	.mfp-img-mobile .mfp-figure:after {
		top: 0;
		bottom: 0
	}

	.mfp-img-mobile .mfp-figure small {
		display: inline;
		margin-left: 5px
	}

	.mfp-img-mobile .mfp-bottom-bar {
		background: rgba(0, 0, 0, .6);
		bottom: 0;
		margin: 0;
		top: auto;
		padding: 3px 5px;
		position: fixed;
		box-sizing: border-box
	}

	.mfp-img-mobile .mfp-bottom-bar:empty {
		padding: 0
	}

	.mfp-img-mobile .mfp-counter {
		right: 5px;
		top: 3px
	}

	.mfp-img-mobile .mfp-close {
		top: 0;
		right: 0;
		width: 35px;
		height: 35px;
		line-height: 35px;
		background: rgba(0, 0, 0, .6);
		position: fixed;
		text-align: center;
		padding: 0
	}

}

@media all and (max-width:900px) {
	.mfp-arrow {
		-ms-transform: scale(.75);
		transform: scale(.75)
	}

	.mfp-arrow-left {
		-ms-transform-origin: 0;
		transform-origin: 0
	}

	.mfp-arrow-right {
		-ms-transform-origin: 100%;
		transform-origin: 100%
	}

	.mfp-container {
		padding-left: 2.5rem;
		padding-right: 2.5rem
	}

}

.section__video {
	position: relative;
	overflow: hidden;
	z-index: 1;
}

.section__video-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 101%;
	object-fit: cover;
	z-index: 0;
	pointer-events: none;
}

.section__video .section__content,
.section__video .section__background-image,
.section__video .section__background-image--mobile {
	position: relative;
	z-index: 2;
}

.section__video::before {
	background: var(--dd-ink)8a;
	content: "";
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

.section__video video {
	filter: contrast(1.4) brightness(0.8);
}

.section__video .section__primary-title,
.section__video .section__secondary-title,
.section__video .section__text {
	color: #fff;
}

.logo_section {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.logo_section .section__title {
	font-size: 1em;
	width: 15%;
	margin: 0;
}

.logo-scroll-wrapper {
	width: 85%;
}

.logo-block {
	display: grid;
	margin-left: 4rem;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 2rem;
	width: 100%;
}

.logo-block__item {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.logo-block__item img {
	max-width: 12rem;
	height: auto;
	max-height: 4rem;
}

@media (max-width: 1023px) {
	.logo-block {
		grid-template-columns: repeat(3, 1fr);
	}

}

.section__secondary-title img {
	max-width: 30px;
	margin-right: 0.7em;
}

.section__secondary-title {
	display: inline-flex;
}



.section--slidercont .slick-slide .text-image-figure__title {
	padding-right: 4rem;
	padding-left: 4rem;

	margin-bottom: 1rem !important;
	color: #fff;
}

.section--slidercont .slick-slide .text-image-figure__text {
	padding-right: 4rem;
	padding-left: 4rem;

	color: #fff;
}

.section--slidercont .slick-slide img {
	margin-bottom: 0 !important;	
}

.section--slidercont .text-image-figure__title {
	padding-top: 4rem;
}



.section--slidercont .news-slider__slide .button {
	margin-left: 0rem;
}

.section--slidercont .text-image-figure {
	padding-bottom: 4rem !important;
}

.text-image-figure__wrapper {
	position: relative;
}

.text-image-figure__overlay-link {
	position: absolute;
	inset: 0;
	z-index: 1;
	text-indent: -9999px;
}

.text-image-figure .button {
	position: relative;
	z-index: 2;
	pointer-events: auto;
}

.text-icon-figure__text strong {
	font-weight: 700;
	margin-bottom: 1.5rem !important;
}

.section--counters .text-icon-figure__title {
	font-size: 2em;
	margin-bottom: 0.5rem !important;
}

.pre-image {
	max-width: 25rem;
	max-height: 12.5rem;
	align-self: flex-start;
}

.pre-image.pre-image--shop-darwen {
        max-width: 30rem;
    max-height: 20rem;
}


@media screen and (max-width:1023px) {
	.pre-image.pre-image--shop-darwen {
    max-width: 12rem;
    max-height: 20rem;
}

}
.tabs__nav-button {
	border: none;
	padding: 0.5rem 1rem;
	cursor: pointer;
	font-weight: bold;
}

.tabs__nav-button.is-active {
	border-bottom: 2px solid currentColor;
}

.tabs__panel {
	display: none;
}

.tabs__panel.is-active {
	display: block;
}

.tabs__panels {
	position: relative;
	padding-bottom: 10rem;
	padding-top: 10rem;
}

.tabs__nav-button img {
	max-width: 40px;
	margin-right: 1em;
}

.tabs__nav-button {
	display: flex;
	justify-content: center;
	align-items: center;
}

.tabs__nav {
	display: flex;
	justify-content: stretch;
	gap: 0;
	margin-bottom: 0;
	background: var(--dd-market-blue) !important;
	padding: 0;
	margin-top: 0;
}

.tabs__nav li {
	width: 100%;
	list-style: none;
}

.tabs__nav-button.is-active {
	background: #003e80 !important;
}

.tabs__nav-button {
	background: var(--dd-market-blue) !important;
}

.tabs__panel img {
	object-fit: cover;
}

.tabs__panels {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.section--tabs>.container>h2 {
	text-align: center;
	max-width: 70rem;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 10rem !important;
}

.tabs__nav-button {
	width: 100%;
	padding: 1em 2em;
}

.tabs__title {
	font-size: 2em;
	line-height: 1.3em;
}

.footer__section svg {
	max-width: 25px;
	fill: var(--dd-market-blue);
	margin-bottom: 1em;
}

.ul--socials a:not(:last-child) {
	margin-right: 10px;
}

.ul--socials a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

.ul--socials a:hover {
	color: var(--dd-market-blue);
	text-decoration: none;
}

@media screen and (max-width:1023px) {

	.button--headerenquiry,
	.header__top-link {
		display: none;
	}

	.header--expanded .header__top-link {
		width: 100%;
		background: #fff;
		max-width: none;
		margin-left: 0;
		padding: 1em;
		font-size: inherit !important;
		display: inline-flex;
	}

	.header--expanded .button--headerenquiry {
		width: 100%;
		max-width: none;
		margin-left: 0;
		display: inline-flex;
		margin-top: 1rem;
	}

	.button {
		padding-left: 2rem !important;
		padding-right: 2rem !important;
		min-height: 50px !important;
		max-height: 50px !important;
	}

	.section__video .section__background-image {
		display: none;
	}

	.logo_section {
		flex-wrap: wrap;
	}

	.header__button-icon {
		background-image: url("https://discoverdarwen.co.uk/wp-content/themes/discoverdarwen/img/menu.svg");
		width: 30px;
		height: 22px;
		background-size: cover;

		display: block;
	}

	.header__button-icon.icon--close {
		width: 30px;
		height: 30px;
		background-image: url("https://discoverdarwen.co.uk/wp-content/themes/discoverdarwen/img/close.svg");
	}

	.header-mob-call svg {
		width: 25px;
		fill: var(--dd-market-blue);
	}

	.header-mob-call {
		margin-right: 0;
		margin-left: auto;
	}

	.header__button {
		margin-left:2.5rem !important;
	}

	.header-mob-call {
		display: flex;
	}

	.logo_section .section__title {
		width: 100%;
		font-size: 0.8em;
		margin-bottom: 2em;
		display: none;
	}

	.logo-block {
		margin-left: 0;
		width: 100%;
	}

	.logo-block__item img {
		max-width: 7rem;
		height: auto;
		max-height: 3.5rem;
	}

	.logo-scroll-wrapper {
		overflow: hidden;
		width: calc(100% + 5em);
		margin-left: -2.5em;
		margin-right: -2.5em;
		padding-left: 2.5em;
		position: relative;
		box-sizing: content-box;
	}

	.logo-block {
		display: flex;
		gap: 4rem;
		width: max-content;
		transform: translateX(0);
		will-change: transform;
		box-sizing: content-box;
	}

	.logo-block.animate {
		animation: scroll-logos 10s linear infinite;
	}

	.logo-block__item {
		flex: 0 0 auto;
	}

	@keyframes scroll-logos {
		0% {
			transform: translateX(0);
		}

		100% {
			transform: translateX(-50%);
		}

	}

	.section__secondary-title img {
		max-width: 25px;
	}



	.tab__link-title {
		display: none;
	}

	.tabs__nav-button img {
		max-width: 30px;
		margin-right: 0;
	}

	.tabs__panels {
		position: relative;
		padding-bottom: 6rem;
		padding-top: 6rem;
	}

	.section--tabs>.container>h2 {
		padding-bottom: 6rem !important;
		text-align: left;
	}

	.tabs__title {
		font-size: 1.4em;
		line-height: 1.3em;
	}

	.tabs__panel img {
		padding-bottom: 0;
		width: calc(100% + 5rem);
		overflow: visible;
		min-height: 300px;
		max-width: none;
		margin: 0rem -2.5rem -6rem;
		
	}

	.pre-image {
		max-width: 15rem;
	}

	.section__video {
		min-height: calc(80vh - 100px);
		display: flex;
		align-items: center;
	}

	.tabs__nav {
		justify-content: center;
	}

	.tabs__nav li {
		width: 20%;
	}

}



.header__sub-nav-link img {
	max-width: 50px;
	object-fit: cover;
	max-height: 50px;
	margin-right: 1em;
	border-radius:0.5em;
}

.header__sub-nav-link {
	font-weight: 700;
	text-decoration: none;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding-right: 1em;
}

.header__sub-nav-link span {
	width: 100%;
	display: block;
	text-align: center;
}

.header__sub-nav-link {
	font-weight: 700;
	text-decoration: none;
	display: inline-flex;
	justify-content: flex-start;
	align-items: center;
	background:none;
}

@media screen and (min-width:1023px) {

	.header__sub-nav-image-wrap {
		width:fit-content !important;
	}
	.header__sub-nav-items {
		display: flex;
		flex-direction: column;
		gap: 1em;
	}

	.header__sub-nav-link {
		width: 100%;
	}

	.header__sub-nav-item {
		width: fit-content;
	}

}

@media screen and (max-width:1023px) {
	
	.header__sub-nav-link span {
		text-align: left;
	}

	.section__video::before {
		background: var(--dd-ink)8a;
	}

	.header__sub-nav-link img {
		max-width: 40px;
		object-fit: cover;
		max-height: 40px;
		margin-right: 1em;
	}

	.header__sub-nav-link {
		font-weight: 700;
		text-decoration: none;
		display: inline-flex;
		justify-content: center;
		align-items: center;
	}

	.header__sub-nav-link {
		font-weight: 700;
		text-decoration: none;
		display: inline-flex;
		justify-content: flex-start;
		align-items: center;
		width: 100%;
		background:none;
		color:#FFF;
	}

}

@media screen and (min-width:1023px) {
	.logo_section .section__title-uk {
		display: flex;
		align-items: center;
		width: auto;
		margin-right: 20rem;
	}

	.logo_section-uk {
		justify-content: center;
	}

	.logo_section .madein-uk-logo-right .section__title {
		white-space: nowrap;
		width: auto;
	}

	.madein-uk-logo-right .logo-block {
		display: flex;
		gap: 4rem;
		width: auto;
	}

	.madein-uk-logo-right {
		display: flex;
		justify-content: center;
		align-items: center;
		width: auto;
	}

	.logo_section .section__title-uk img {
		max-width: 30px;
		margin-right: 0.7em;
	}

	.section--bigimage .img--block {
		max-height: 50rem;
		width: auto;
		margin-left: auto;
		margin-right: auto;
	}

}

@media screen and (min-width:1023px) {
.bigimage-block__inner-content .row .column-l-6 { width:25%;

}

.bigimage-block__inner-content > div:nth-child(2) {
    margin-top:5rem;
}

}


@media screen and (max-width:1023px) {
    .bigimage-block__inner-content .row .column-l-6 { width:50%;

}


.bigimage-block__inner-content .button-group {
    margin-top:6rem;
}

	.section--bigimage-inner-text_icon_figures_block.section--bigimage-inner-button_group.section--bigimage-full-width .bigimage-block__full-image-element {
	    object-fit:contain !important;
	    width:calc(100% + 50rem) !important;
	    left:-25rem !important;
	    position:relative;
		bottom:0;
		object-position: bottom !important;
	    max-width:calc(100% + 50rem) !important;
	}


	.section--bigimage-inner-text_icon_figures_block.section--bigimage-inner-button_group.section--bigimage-full-width {
		min-height: 130rem;
	}


	




}

@media screen and (max-width:1023px) {
	.section__title-uk {
		display: inline-flex !important;
		align-items: center;
		justify-content: flex-start;
	}

	.section__title-uk img {
		max-width: 25px;
		margin-right: 0.7em;
	}

}

@media screen and (min-width:1023px) {
	.footer__section p {
		max-width: 80%;
	}

	.section--hero .section__primary-title {
		max-width: 50rem;
	}

	.section--fwimage .section__primary-title,
	.section--slidercont .section__primary-title {
		max-width: 90rem;
		margin-left: auto;
		margin-right: auto;
	}

	.section--form .section__secondary-title {
		display: block;
	}

}

.std ul li {
	list-style: square;
}

.std ::marker {
	color: var(--dd-dark-green);
}

::selection {
	background: var(--dd-shop-green);
}



@media screen and (max-width:1023px) {
	

	.text-icon-figure svg {
		min-width: 20px;
		width: 20px;
	}

}

.text-icon-figure svg {
	max-width: 25px;
	fill: var(--dd-market-blue);
	margin-right: 1em;
}

.wpforms-field.wpforms-field-radio ul {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
}

div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern .wpforms-image-choices-label {
	display: block;
	margin-top: 12px;
	color: var(--dd-ink) !important;
	font-weight: 700;
}

div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern img {
	max-width: 30px !important;
	height: 20px !important;
}

div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern label:not(.wpforms-error) {
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
}

div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern .wpforms-selected label {
	border: 2px solid var(--dd-market-blue) !important;
	background: var(--dd-market-blue) !important;
}

div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern .wpforms-selected .wpforms-image-choices-label {
	color: #fff !important;
}

div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern label {
	border: 2px solid #fff !important;
}

div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern .wpforms-image-choices-image {
	position: static !important;
}

div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern .wpforms-image-choices-image:after {
	top: 0 !important;
	right: 0 !important;
	left: auto !important;
	margin: 0 !important;
	background: var(--dd-market-blue) !important;
	border-radius: 0 0px 0 10px !important;
	color: #fff !important;
}

div.wpforms-container-full .wpforms-form input:focus,
div.wpforms-container-full .wpforms-form textarea:focus,
div.wpforms-container-full .wpforms-form select:focus,
div.wpforms-container-full .wpforms-form .is-focused .choices__inner,
div.wpforms-container-full .wpforms-form .is-open .choices__inner,
div.wpforms-container-full .wpforms-form .is-open .choices__list--dropdown {
	border: 2px solid var(--dd-market-blue) !important;
}

div.wpforms-container-full .wpforms-form input[type=date],
div.wpforms-container-full .wpforms-form input[type=datetime],
div.wpforms-container-full .wpforms-form input[type=datetime-local],
div.wpforms-container-full .wpforms-form input[type=email],
div.wpforms-container-full .wpforms-form input[type=month],
div.wpforms-container-full .wpforms-form input[type=number],
div.wpforms-container-full .wpforms-form input[type=password],
div.wpforms-container-full .wpforms-form input[type=range],
div.wpforms-container-full .wpforms-form input[type=search],
div.wpforms-container-full .wpforms-form input[type=tel],
div.wpforms-container-full .wpforms-form input[type=text],
div.wpforms-container-full .wpforms-form input[type=time],
div.wpforms-container-full .wpforms-form input[type=url],
div.wpforms-container-full .wpforms-form input[type=week],
div.wpforms-container-full .wpforms-form select,
div.wpforms-container-full .wpforms-form textarea {
	border: 2px solid var(--dd-pale-green) !important;
	padding: 15px !important;
	border-radius: 1rem !important;
	height: 60px !important;
	color: var(--dd-ink) !important;
}

div.wpforms-container-full .wpforms-form input[type=submit],
div.wpforms-container-full .wpforms-form button[type=submit],
div.wpforms-container-full .wpforms-form .wpforms-page-button {
	border: 0;
	cursor: pointer;
	display: inline-flex;
	font-size: 1em !important;
	justify-content: space-between;
	font-weight: 700 !important;
	line-height: 1.15;
	padding: 1.5rem 3.5rem !important;
	text-align: center !important;
	max-width: fit-content;
	text-decoration: none;
	white-space: nowrap;
	
	color: #fff !important;
	vertical-align: middle;
	
}

div.wpforms-container-full .wpforms-form .wpforms-submit-container {
	text-align: center;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
	background-color: var(--dd-market-blue) !important;
}

.flatpickr-day {
	color: var(--dd-ink) !important;
	font-weight: 700 !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
	color: #fff !important;
}

div.wpforms-container-full .wpforms-form textarea.wpforms-field-medium {
	height: 120px !important;
}

div.wpforms-container-full .wpforms-form .wpforms-field-label {
	font-size: 18px !important;
	color:var(--dd-dark-green) !important;
}

div.wpforms-container-full .wpforms-required-label, .wp-core-ui div.wpforms-container-full .wpforms-required-label {
	color:var(--dd-salmon) !important;
}

.logo_section .section__title-uk.no--logos {
	margin-right: 0;
}



/* ==========================================================================
   WPForms GDPR panel and submit button
   ========================================================================== */

/* GDPR white panel */

div.wpforms-container-full
.wpforms-form
.wpforms-field-gdpr-checkbox {
background: var(--dd-pale-green);
	border: none;
	border-radius: 1rem;
	margin-top: 1rem;
	padding: clamp(2.5rem, 4vw, 4rem) !important;
}

div.wpforms-container-full
.wpforms-form
.wpforms-field-gdpr-checkbox
.wpforms-field-label {
	font-family: "ivypresto-headline", serif;
	font-size: clamp(2rem, 2vw, 2.5rem) !important;
	font-weight: 700 !important;
	line-height: 1.2;
	margin: 0 0 2rem !important;
}

/* Remove WPForms list defaults */

div.wpforms-container-full
.wpforms-form
.wpforms-field-gdpr-checkbox ul {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
}

div.wpforms-container-full
.wpforms-form
.wpforms-field-gdpr-checkbox li {
	margin: 0 !important;
	padding: 0 !important;
}

/* Checkbox row */

div.wpforms-container-full
.wpforms-form
.wpforms-field-gdpr-checkbox li.choice-1 {
	align-items: flex-start;
	display: flex;
	gap: 1.5rem;
	position: relative;
}

/* Hide the native checkbox */

div.wpforms-container-full
.wpforms-form
.wpforms-field-gdpr-checkbox input[type="checkbox"] {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

/* Consent text and custom checkbox */

div.wpforms-container-full
.wpforms-form
.wpforms-field-gdpr-checkbox
.wpforms-field-label-inline {
	color: var(--dd-dark-green) !important;
	cursor: pointer;
	display: flex !important;
	font-size: 1.05em !important;
	font-weight: 500 !important;
	gap: 1.5rem;
	line-height: 1.55 !important;
	margin: 0 !important;
	max-width: none !important;
	position: relative;
	text-transform: none !important;
}

div.wpforms-container-full
.wpforms-form
.wpforms-field-gdpr-checkbox
.wpforms-field-label-inline::before {
	background: var(--dd-white);
	border: 0.2rem solid var(--dd-dark-green);
	border-radius: 0.6rem;
	content: "";
	display: block;
	flex: 0 0 2.6rem;
	height: 2.6rem;
	margin-top: 0.1rem;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
	width: 2.6rem;
}

div.wpforms-container-full
.wpforms-form
.wpforms-field-gdpr-checkbox
.wpforms-field-label-inline::after {
	border-bottom: 0.25rem solid var(--dd-white);
	border-right: 0.25rem solid var(--dd-white);
	content: "";
	height: 1.2rem;
	left: 1rem;
	opacity: 0;
	position: absolute;
	top: 0.45rem;
	transform: rotate(45deg) scale(0.7);
	transition:
		opacity 0.2s ease,
		transform 0.2s ease;
	width: 0.65rem;
}

/* Checked state */

div.wpforms-container-full
.wpforms-form
.wpforms-field-gdpr-checkbox
input[type="checkbox"]:checked
+
.wpforms-field-label-inline::before {
	background: var(--dd-dark-green);
	border-color: var(--dd-dark-green);
	color:#FFF;
}

div.wpforms-container-full
.wpforms-form
.wpforms-field-gdpr-checkbox
input[type="checkbox"]:checked
+
.wpforms-field-label-inline::after {
	opacity: 1;
	transform: rotate(45deg) scale(1);
}

div.wpforms-container-full .wpforms-form label.wpforms-error, div.wpforms-container-full .wpforms-form em.wpforms-error {
	color:var(--dd-salmon) !important;
}

div.wpforms-container-full .wpforms-form label.wpforms-error:before, div.wpforms-container-full .wpforms-form em.wpforms-error:before {
	background: var(--dd-salmon) !important;
}


div.wpforms-container-full input[type=date]:focus:invalid, div.wpforms-container-full input[type=datetime]:focus:invalid, div.wpforms-container-full input[type=datetime-local]:focus:invalid, div.wpforms-container-full input[type=email]:focus:invalid, div.wpforms-container-full input[type=month]:focus:invalid, div.wpforms-container-full input[type=number]:focus:invalid, div.wpforms-container-full input[type=password]:focus:invalid, div.wpforms-container-full input[type=range]:focus:invalid, div.wpforms-container-full input[type=search]:focus:invalid, div.wpforms-container-full input[type=tel]:focus:invalid, div.wpforms-container-full input[type=text]:focus:invalid, div.wpforms-container-full input[type=time]:focus:invalid, div.wpforms-container-full input[type=url]:focus:invalid, div.wpforms-container-full input[type=week]:focus:invalid, div.wpforms-container-full select:focus:invalid, div.wpforms-container-full textarea:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=date]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=datetime]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=datetime-local]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=email]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=month]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=number]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=password]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=range]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=search]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=tel]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=text]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=time]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=url]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=week]:focus:invalid, .wp-core-ui div.wpforms-container-full select:focus:invalid, .wp-core-ui div.wpforms-container-full textarea:focus:invalid {
    box-shadow: none !important;
	border:2px solid var(--dd-dark-green) !important;
}

div.wpforms-container-full input[type=submit]:focus:after, div.wpforms-container-full button[type=submit]:focus:after, div.wpforms-container-full .wpforms-page-button:focus:after, .wp-core-ui div.wpforms-container-full input[type=submit]:focus:after, .wp-core-ui div.wpforms-container-full button[type=submit]:focus:after, .wp-core-ui div.wpforms-container-full .wpforms-page-button:focus:after {
	display: none !important;
}

/* Keyboard focus */

div.wpforms-container-full
.wpforms-form
.wpforms-field-gdpr-checkbox
input[type="checkbox"]:focus-visible
+
.wpforms-field-label-inline::before {
	box-shadow:
		0 0 0 0.3rem var(--dd-white),
		0 0 0 0.5rem var(--dd-market-blue);
}

/* Privacy policy link if you add one */

div.wpforms-container-full
.wpforms-form
.wpforms-field-gdpr-checkbox
.wpforms-field-label-inline a {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* Submit area */

div.wpforms-container-full
.wpforms-form
.wpforms-submit-container {
	display: flex;
	justify-content: center;
	margin-top: 5rem !important;
	padding-top: 0 !important;
}

/* Submit button with familiar arrow */

div.wpforms-container-full
.wpforms-form
button.wpforms-submit {
	align-items: center;
	background-color: var(--dd-dark-green) !important;
	border-color: var(--dd-dark-green) !important;
	display: inline-flex !important;
	gap: 1.5rem;
	justify-content: center !important;
	min-width: 18rem;
	    padding: 2.5rem 3.5rem !important;
}



div.wpforms-container-full
.wpforms-form
button.wpforms-submit:hover,
div.wpforms-container-full
.wpforms-form
button.wpforms-submit:focus-visible {
	background-color: var(--dd-darkest-green) !important;
	border-color: var(--dd-darkest-green) !important;
	color: var(--dd-white) !important;
}


/* Keep the spinner alongside the button */

div.wpforms-container-full
.wpforms-form
.wpforms-submit-container
.wpforms-submit-spinner {
	align-self: center;
	margin: 0 0 0 1.5rem !important;
}

/* Validation state */

div.wpforms-container-full
.wpforms-form
.wpforms-field-gdpr-checkbox.wpforms-has-error {
	border-color: var(--dd-salmon);
}

div.wpforms-container-full
.wpforms-form
.wpforms-field-gdpr-checkbox
label.wpforms-error {
	margin: 1.5rem 0 0 4.1rem !important;
}


div.wpforms-container-full .wpforms-form .wpforms-field-gdpr-checkbox .wpforms-field-label-inline {
	padding-left:0 !important;
}
/* Mobile */

@media (max-width: 1023px) {

	div.wpforms-container-full
	.wpforms-form
	.wpforms-field-gdpr-checkbox {
		border-radius: 1.4rem;
		padding: 2.5rem 2rem !important;
	}

	div.wpforms-container-full
	.wpforms-form
	.wpforms-field-gdpr-checkbox
	.wpforms-field-label-inline {
		font-size: 1em !important;
		gap: 1.2rem;
	}

	div.wpforms-container-full
	.wpforms-form
	.wpforms-submit-container {
		justify-content: stretch;
	}

	div.wpforms-container-full
	.wpforms-form
	button.wpforms-submit {
		justify-content: center !important;
		max-width: none !important;
		min-width: 0 !important;
		width: 100% !important;
	}

}

@media screen and (max-width:1023px) {
	.wpforms-field.wpforms-field-radio ul {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
	}

	.section--form-page .section__background-image {
		padding-bottom: 50%;
	}

	.logo_section .section__title-uk.no--logos {
		margin-bottom: 0;
	}

}

.button--info {
	min-width: 100%;

	background-color: #fff;
}

.accordion-item__content-inner {
	border: none;
	background: #fff;
}

.button--info::after {
	color: var(--dd-shop-green);
}

@media screen and (min-width:1023px) {
	.header__sub-nav-link span {
		width: 100%;
		font-size: 1.125em;
		display: block;
		text-align: left;	
		white-space: wrap;
		
	}

	.header__nav-item.services .header__sub-nav-items {
		grid-template-columns: repeat(5, 1fr);
	}

}

@media screen and (max-width:1023px) {
	.header__sub-nav-link span {
		line-height: 1em;
	}

	.header--expanded .header__top-link,
	.button,
	div.wpforms-container-full .wpforms-form input[type=submit],
	div.wpforms-container-full .wpforms-form button[type=submit],
	div.wpforms-container-full .wpforms-form .wpforms-page-button {
		justify-content: center !important;
	}

	div.wpforms-container-full .wpforms-form input[type=submit],
	div.wpforms-container-full .wpforms-form button[type=submit],
	div.wpforms-container-full .wpforms-form .wpforms-page-button {
		min-width: 100% !important;
	}

}

blockquote {
	background: var(--dd-sand);
	background: var(--dd-sand);
	margin: 0;
	padding: 2em;
	border-left:2px solid var(--dd-dark-green);
	font-style: italic;
	font-weight: 700;
}

blockquote span {
	font-style: normal;
	color: var(--dd-dark-green);
	display: block;
	font-weight: 500;
	margin-top: 0.5em;
}

@media (min-width: 1024px) {

	.std--large li,
	.std--large p {
		font-size: unset !important;
	}

}

.footer .button svg {
	fill: #fff;
	margin-bottom: 0;
}

.footer .button:hover {
	text-decoration: none;
}

.std--em-links a svg {
	fill: #fff !important;
}

@media screen and (min-width:1023px) {
	.section--dark-green .pre-image {
		max-width: 25rem;
		max-height: 17.5rem;
	}

}

body .iti input.iti__tel-input,
body .iti input.iti__tel-input[type=text],
body .iti input.iti__tel-input[type=tel],
div.wpforms-container .wpforms-form .iti input.iti__tel-input,
div.wpforms-container .wpforms-form .iti input.iti__tel-input[type=text],
div.wpforms-container .wpforms-form .iti input.iti__tel-input[type=tel],
div.wpforms-container-full .wpforms-form .iti input.iti__tel-input,
div.wpforms-container-full .wpforms-form .iti input.iti__tel-input[type=text],
div.wpforms-container-full .wpforms-form .iti input.iti__tel-input[type=tel],
#wpforms-conversational-form-page .iti input.iti__tel-input,
#wpforms-conversational-form-page .iti input.iti__tel-input[type=text],
#wpforms-conversational-form-page .iti input.iti__tel-input[type=tel] {
	padding-left: 48px !important;
}

/* ------------------------------------------------------------
   Buttons
------------------------------------------------------------ */

.button,
.wpforms-container-full .wpforms-form input[type="submit"],
.wpforms-container-full .wpforms-form button[type="submit"],
.wpforms-container-full .wpforms-form .wpforms-page-button {
	align-items: center;
	border-radius:50px;
	border: 2px solid transparent;
	cursor: pointer;
	display: inline-flex;
	gap: 0.65em;
	justify-content: center;
	font-size: 1em;
	font-weight: 700;
	line-height: 1.15;
	max-width: fit-content;
	padding: 1.5rem 3.5rem;
	text-align: center;
	text-decoration: none;
	transition: background-color .25s ease, border-color .25s ease, color .25s ease;
	vertical-align: middle;
	white-space: nowrap;
}

.button__label {
	display: inline-block;
}

.button__arrow,
.button svg {
	display: block;
	flex-shrink: 0;
	fill: currentColor;
	height: auto;
	margin-left: 0.65em;
	width: 1.15em;
}

.button--white {
	background: var(--dd-white);
	border-color: var(--dd-white);
	color: var(--dd-ink);
}

.button--white:hover {
	background: var(--dd-dark-green);
	border-color: var(--dd-dark-green);
	color: var(--dd-white);
}

.button--ghost-white {
	background: transparent;
	border-color: var(--dd-white);
	color: var(--dd-white);
}

.button--ghost-white:hover {
	background: var(--dd-white);
	color: var(--dd-ink);
}

.button--dark-green {
	background: var(--dd-dark-green);
	border-color: var(--dd-dark-green);
	color: var(--dd-white);
}

.button--dark-green:hover {
	background: var(--dd-darkest-green);
	border-color: var(--dd-darkest-green);
	color: var(--dd-white);
}

.button--dark-green-ghost,
.button--ghost-dark-green {
	background: transparent;
	border-color: var(--dd-dark-green);
	color: var(--dd-dark-green);
}

.button--dark-green-ghost:hover,
.button--ghost-dark-green:hover {
	background: var(--dd-dark-green);
	color: var(--dd-white);
}



/* ==========================================================================
   Button hover overrides
   ========================================================================== */

.button {
	transition: background-color .3s ease-in-out, color .3s ease-in-out, border-color .3s ease-in-out;
}

.button svg,
.button svg path {
	transition: fill .3s ease-in-out;
}

/* Standard white button hover */
.button--white:hover,
.button--white:focus-visible {
	background-color: var(--dd-ink);
	color: #fff;
}

.button--white:hover svg,
.button--white:focus-visible svg,
.button--white:hover svg path,
.button--white:focus-visible svg path {
	fill: #fff;
}

/* White buttons on dark green need a darker hover so they don't disappear */
.section--dark-green .button--white:hover,
.section--dark-green .button--white:focus-visible,
.section--darkest-green .button--white:hover,
.section--darkest-green .button--white:focus-visible,
.section--grid-block .grid-block-card--dark-green .button--white:hover,
.section--grid-block .grid-block-card--dark-green .button--white:focus-visible {
	background-color: var(--dd-darkest-green);
	color: #fff;
}

.section--dark-green .button--white:hover svg,
.section--dark-green .button--white:focus-visible svg,
.section--dark-green .button--white:hover svg path,
.section--dark-green .button--white:focus-visible svg path,
.section--darkest-green .button--white:hover svg,
.section--darkest-green .button--white:focus-visible svg,
.section--darkest-green .button--white:hover svg path,
.section--darkest-green .button--white:focus-visible svg path,
.section--grid-block .grid-block-card--dark-green .button--white:hover svg,
.section--grid-block .grid-block-card--dark-green .button--white:focus-visible svg,
.section--grid-block .grid-block-card--dark-green .button--white:hover svg path,
.section--grid-block .grid-block-card--dark-green .button--white:focus-visible svg path {
	fill: #fff;
}

/* Dark green buttons */
.button--dark-green {
	background-color: var(--dd-dark-green);
	color: #fff;
}

.button--dark-green:hover,
.button--dark-green:focus-visible {
	background-color: var(--dd-darkest-green);
	color: #fff;
}

.button--dark-green:hover svg,
.button--dark-green:focus-visible svg,
.button--dark-green:hover svg path,
.button--dark-green:focus-visible svg path {
	fill: #fff;
}

/* Darkest green buttons can lift to market blue */
.button--darkest-green {
	background-color: var(--dd-darkest-green);
	color: #fff;
}

.button--darkest-green:hover,
.button--darkest-green:focus-visible {
	background-color: var(--dd-market-blue);
	color: #fff;
}

.button--darkest-green:hover svg,
.button--darkest-green:focus-visible svg,
.button--darkest-green:hover svg path,
.button--darkest-green:focus-visible svg path {
	fill: #fff;
}

@media (max-width: 1023px) {

	.button,
	.wpforms-container-full .wpforms-form input[type="submit"],
	.wpforms-container-full .wpforms-form button[type="submit"],
	.wpforms-container-full .wpforms-form .wpforms-page-button {
		max-width: 100%;
		width: fit-content;
	}

	.button-group {
		align-items: stretch;
		display: flex;
		flex-direction: column;
		gap: 1.5rem;
	}

	.button-group .button {
		margin-right: 0 !important;
	}
}

/* ------------------------------------------------------------
   Section background colours
------------------------------------------------------------ */

.section--shop-green {
	background-color: var(--dd-shop-green);
	color: var(--dd-white);
}

.section--pale-green {
	background-color: var(--dd-pale-green);
	color: var(--dd-ink);
}

.section--paler-green {
	background-color: var(--dd-paler-green);
	color: var(--dd-ink);
}

.section--yellow {
	background-color: var(--dd-yellow);
	color: var(--dd-white);
}

.section--sand {
	background-color: var(--dd-sand);
	color: var(--dd-dark-green);
}


.section--peach {
	background-color: var(--dd-peach);
	color: var(--dd-dark-green);
}


.section--pink {
	background-color: var(--dd-pink);
	color: var(--dd-dark-green);
}


.section--teal {
	background-color: var(--dd-teal);
	color: var(--dd-white);
}

.section--salmon {
	background-color: var(--dd-salmon);
	color: var(--dd-white);
}

.section--palest-green {
	background-color: var(--dd-palest-green);
	color: var(--dd-ink);
}

.section--darkest-green {
	background-color: var(--dd-darkest-green);
	color: var(--dd-white);
}

.section--dark-green {
	background-color: var(--dd-dark-green);
	color: var(--dd-white);
}

.section--white {
	background-color: var(--dd-white);
	color: var(--dd-ink);
}

.section--market-blue {
	background-color: var(--dd-market-blue);
	color: var(--dd-white);
}

.section--grey {
	background-color: var(--dd-grey);
	color: var(--dd-ink);
}

.section--palest-green,
.section--pale-green,
.section--paler-green,
.section--white,
.section--grey,
.section--palest-green .section__primary-title,
.section--pale-green .section__primary-title,
.section--paler-green .section__primary-title,
.section--white .section__primary-title,
.section--grey .section__primary-title,
.section--palest-green .section__secondary-title,
.section--pale-green .section__secondary-title,
.section--paler-green .section__secondary-title,
.section--white .section__secondary-title,
.section--grey .section__secondary-title,
.section--palest-green h1,
.section--pale-green h1,
.section--paler-green h1,
.section--white h1,
.section--grey h1,
.section--palest-green h2,
.section--pale-green h2,
.section--paler-green h2,
.section--white h2,
.section--grey h2,
.section--palest-green h3,
.section--pale-green h3,
.section--paler-green h3,
.section--white h3,
.section--grey h3,
.section--palest-green h4,
.section--pale-green h4,
.section--paler-green h4,
.section--white h4,
.section--grey h4,
.section--palest-green h5,
.section--pale-green h5,
.section--paler-green h5,
.section--white h5,
.section--grey h5,
.section--palest-green h6,
.section--pale-green h6,
.section--paler-green h6,
.section--white h6,
.section--grey h6 {
	color: var(--dd-ink);
}

.section--shop-green,
.section--yellow,
.section--sand,
.section--teal,
.section--salmon,
.section--darkest-green,
.section--dark-green,
.section--market-blue,
.section--shop-green .section__primary-title,
.section--yellow .section__primary-title,
.section--sand .section__primary-title,
.section--teal .section__primary-title,
.section--salmon .section__primary-title,
.section--darkest-green .section__primary-title,
.section--dark-green .section__primary-title,
.section--market-blue .section__primary-title,
.section--shop-green .section__secondary-title,
.section--yellow .section__secondary-title,
.section--teal .section__secondary-title,
.section--salmon .section__secondary-title,
.section--darkest-green .section__secondary-title,
.section--dark-green .section__secondary-title,
.section--market-blue .section__secondary-title,
.section--shop-green h1,
.section--yellow h1,
.section--sand h1,
.section--teal h1,
.section--salmon h1,
.section--darkest-green h1,
.section--dark-green h1,
.section--market-blue h1,
.section--shop-green h2,
.section--yellow h2,
.section--sand h2,
.section--teal h2,
.section--salmon h2,
.section--darkest-green h2,
.section--dark-green h2,
.section--market-blue h2,
.section--shop-green h3,
.section--yellow h3,
.section--teal h3,
.section--salmon h3,
.section--darkest-green h3,
.section--dark-green h3,
.section--market-blue h3,
.section--shop-green h4,
.section--yellow h4,
.section--sand h4,
.section--teal h4,
.section--salmon h4,
.section--darkest-green h4,
.section--dark-green h4,
.section--market-blue h4,
.section--shop-green h5,
.section--yellow h5,
.section--sand h5,
.section--teal h5,
.section--salmon h5,
.section--darkest-green h5,
.section--dark-green h5,
.section--market-blue h5,
.section--shop-green h6,
.section--yellow h6,
.section--sand h6,
.section--teal h6,
.section--salmon h6,
.section--darkest-green h6,
.section--dark-green h6,
.section--market-blue h6 {
	color: var(--dd-white);
}


.section--sand .section__primary-title,
.section--sand,
.section--sand .section__secondary-title,
.section--sand h3 {
	color:var(--dd-dark-green);
}


.section--palest-green a:not(.button),
.section--pale-green a:not(.button),
.section--paler-green a:not(.button),
.section--white a:not(.button),
.section--grey a:not(.button) {
	color: var(--dd-ink);
}

.section--shop-green a:not(.button),
.section--yellow a:not(.button),
.section--teal a:not(.button),
.section--salmon a:not(.button),
.section--darkest-green a:not(.button),
.section--dark-green a:not(.button),
.section--market-blue a:not(.button) {
	color: var(--dd-white);
}


.section--dark-green .section__primary-title b {
	color: var(--dd-shop-green);
}

.section--pink .section__primary-title b {
	color: var(--dd-white);
}




.section--teal .section__primary-title b,
.section--pale-green .section__primary-title b,
.section--palest-green .section__primary-title b,
.section--white .section__primary-title b  {
	color: var(--dd-shop-green);
}

.section--market-blue .section__primary-title b {
	color:var(--dd-dark-green);
}

.section--market-blue .section__primary-title b,
.section--market-blue .grid-block__title b  {
	color:var(--dd-dark-green);
}

.section--shop-green .section__primary-title b,
.section--shop-green h2 b{
	color:var(--dd-dark-green);
}


.section--white .slider__button {
    background:var(--dd-palest-green);
}


.section--split-block.section--white.section--has-accent .section__primary-title {
    color:var(--dd-dark-green) !important;
}


/* ==========================================================================
   Hero image stage
   ========================================================================== */

.section--hero {
  position: relative;
  overflow: hidden;
}


@media screen and (min-width:1023px) {
	.section--hero {
		min-height: 60svh;
	}
}
.section--hero > .container {
  position: relative;
  z-index: 3;
}

.section--hero .section__content {
  position: relative;
  z-index: 3;
  max-width:40%;
}

/* Windows pattern sits above background but behind images */

.section--has-background-windows::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image: var(--hero-window-image);
  background-repeat: no-repeat;
  background-size: var(--hero-window-size-desktop, 42%) auto;
  background-position: var(--hero-window-position-desktop, right bottom);
}

/* Image stage sits above windows */

.hero-image-stage {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.hero-image {
  position: absolute;
  overflow: hidden;
  margin: 0;
  background: rgba(255, 255, 255, 0.08);
}

.hero-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================================================
   Main 4 Image
   ========================================================================== */

.hero-image-stage--main-4-image .hero-image--1 {
      top: 0;
    left: 55%;
    width: 10%;
    height: 50%;
    border-radius: 0 0 15rem 15rem;
}

.hero-image-stage--main-4-image .hero-image--2 {
    top: 10%;
    right: 0;
    width: 25%;
    height: 40%;
    border-radius: 20rem 0 0 20rem;
}

.hero-image-stage--main-4-image .hero-image--3 {
    bottom: 0;
    left: 45%;
    width: 10%;
    height: 45%;
    border-radius: 14rem 15rem 0 0;
}

.hero-image-stage--main-4-image .hero-image--3 img {
	object-position: top center;
}

.hero-image-stage--main-4-image .hero-image--4 {
    right: 15%;
    bottom: 0;
    width: 20%;
    height: 45%;
    border-radius: 100rem 100rem 0 0;
}


/* ==========================================================================
   Flipped Main 4 Image
   ========================================================================== */

.hero-image-stage--flipped-main-4-image .hero-image--1 {
    bottom: 0;
    left: 55%;
    width: 10%;
    height: 50%;
    border-radius: 15rem 15rem 0 0;
}

.hero-image-stage--flipped-main-4-image .hero-image--2 {
    bottom: 10%;
    right: 0;
    width: 25%;
    height: 40%;
    border-radius: 20rem 0 0 20rem;
}

.hero-image-stage--flipped-main-4-image .hero-image--3 {
    top: 0;
    left: 45%;
    width: 10%;
    height: 45%;
    border-radius: 0 0 15rem 15rem;
}

.hero-image-stage--flipped-main-4-image .hero-image--4 {
 right: 15%;
    top: 0;
    width: 20%;
    height: 45%;
    border-radius: 0 0 100rem 100rem;
}

/* ==========================================================================
   3 Image
   ========================================================================== */

.hero-image-stage--3-image .hero-image--1 {
    bottom: 0;
    left: 50%;
    width: 10%;
    height: 50%;
    border-radius: 15rem 15rem 0 0;
    top: auto ;
}

.hero-image-stage--3-image .hero-image--2 {
  top: 0;
    left: 65%;
    width: 10%;
    height: 50%;
    border-radius: 0rem 0 15rem 15rem;
}

.hero-image-stage--3-image .hero-image--3 {
     bottom: 0;
    left: 80%;
    width: 10%;
    height: 50%;
    border-radius: 15rem 15rem 0 0;
}

/* ==========================================================================
   Single Image
   ========================================================================== */

.hero-image-stage--single-image .hero-image--1 {
 top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    border-radius: 100rem 0 0 0;
}
/* ==========================================================================
   Hero Mobile - 4 image proof layout
   ========================================================================== */

@media (max-width: 1023px) {
	.section--hero {
		display: block;
		min-height: 0;
		overflow: hidden;
		padding: 0;
		position: relative;
	}

	.section--hero > .container {
		position: relative;
		z-index: 4;
	}

	.section--hero .section__content {
		max-width: none;
		position: relative;
		z-index: 4;
	}

	.section--hero .section__content--side {
		width: 100%;
	}

	/* 4 image hero only - based on actual existing stage class */

	.section--hero:has(.hero-image-stage--main-4-image),
	.section--hero:has(.hero-image-stage--flipped-main-4-image) {
		        min-height: 66rem;
	}

	.section--hero:has(.hero-image-stage--main-4-image) .section__content,
	.section--hero:has(.hero-image-stage--flipped-main-4-image) .section__content {
		padding: 0;
	}

	.section--hero:has(.hero-image-stage--main-4-image) .section__content--side,
	.section--hero:has(.hero-image-stage--flipped-main-4-image) .section__content--side {
		display: flex;
		flex-direction: column;
		justify-content: center;
		        min-height: 66rem;
		width: 100%;
	}





	.section--hero:has(.hero-image-stage--main-4-image),
	.section--hero:has(.hero-image-stage--flipped-main-4-image),
	.section--hero:has(.hero-image-stage--main-4-image) .section__content--side,
	.section--hero:has(.hero-image-stage--flipped-main-4-image) .section__content--side{
		        min-height: 60rem;
	}

	.section--hero.section--hero-has-buttons:has(.hero-image-stage--main-4-image),
	.section--hero.section--hero-has-buttons:has(.hero-image-stage--flipped-main-4-image),
	.section--hero.section--hero-has-buttons:has(.hero-image-stage--main-4-image) .section__content--side,
	.section--hero.section--hero-has-buttons:has(.hero-image-stage--flipped-main-4-image) .section__content--side{
		        min-height: 66rem;
	}


	.section--hero.section--hero-has-buttons.section--hero-has-pre-image:has(.hero-image-stage--main-4-image),
	.section--hero.section--hero-has-buttons.section--hero-has-pre-image:has(.hero-image-stage--flipped-main-4-image),
	.section--hero.section--hero-has-buttons.section--hero-has-pre-image:has(.hero-image-stage--main-4-image) .section__content--side,
	.section--hero.section--hero-has-buttons.section--hero-has-pre-image:has(.hero-image-stage--flipped-main-4-image) .section__content--side{
		        min-height: 80rem;
	}

	.section--hero:has(.hero-image-stage--main-4-image) .section__primary-title,
	.section--hero:has(.hero-image-stage--flipped-main-4-image) .section__primary-title {
	
		margin-bottom: 2.5rem !important;
		
		position: relative;
		z-index: 4;
	}

	.section--hero:has(.hero-image-stage--main-4-image) .section__secondary-title,
	.section--hero:has(.hero-image-stage--flipped-main-4-image) .section__secondary-title {
		
		margin-bottom: 2.5rem !important;
		max-width: 40rem;
		position: relative;
		z-index: 4;
	}

	.section--hero:has(.hero-image-stage--main-4-image) .section__text,
	.section--hero:has(.hero-image-stage--flipped-main-4-image) .section__text {
		max-width: 40rem;
		position: relative;
		z-index: 4;
	}

	.section--hero:has(.hero-image-stage--main-4-image) .section__text p,
	.section--hero:has(.hero-image-stage--flipped-main-4-image) .section__text p {
		font-size: 1.05em;
		line-height: 1.35;
	}

	.section--hero:has(.hero-image-stage--main-4-image) .button-group,
	.section--hero:has(.hero-image-stage--flipped-main-4-image) .button-group {
		display: block;
		
		position: relative;
		width: 100%;
		z-index: 4;
	}



	.section--hero:has(.hero-image-stage--main-4-image) .button-group .button:not(:first-child) {
		margin-left:1.5rem !important;
	}

	.section--hero:has(.hero-image-stage--main-4-image) .button-group .button svg,
	.section--hero:has(.hero-image-stage--flipped-main-4-image) .button-group .button svg {
		display: inline-block !important;
	}

	/* Decorative windows/pattern */

	.section--split-block.section--has-background-windows > .container::after {
    margin-bottom:-6rem !important;
}

.section--split-block.section--has-background-windows.section--collapse-l > .container::after {
            margin-bottom: 0rem !important;
}

.section--split-block.section--has-background-windows.section--collapse-l  > .container .section__middle-image {
    bottom:-6rem !important;
}


	.section--has-background-windows::before {
		background-position: center bottom;
		background-repeat: no-repeat;
		        background-size: calc(100% - 2.5rem);
		bottom: 0;
		content: "";
		height: 100%;
		        left: 2.5rem;
		opacity: 1;
		pointer-events: none;
		position: absolute;
		width: 100%;
		z-index: 1;
	}

	/* Hero images become absolute decorative pieces */

	.hero-image-stage {
		bottom: 0;
		height: 100%;
		left: 0;
		pointer-events: none;
		position: absolute;
		right: 0;
		top: 0;
		width: 100%;
		z-index: 2;
	}

	.hero-image {
		display: block;
		margin: 0;
		overflow: hidden;
		position: absolute;
	}

	.hero-image img {
		display: block;
		height: 100%;
		object-fit: cover;
		width: 100%;
	}

	/* Main 4 image layout */

.hero-image-stage--main-4-image .hero-image--1 {
	border-radius: 0 0 10rem 10rem;
	height: 18rem;
	left: 2.5rem;
	top: 0;
	width: 25%;
}

.hero-image-stage--main-4-image .hero-image--2 {
	border-radius: 10rem 0 0 10rem;
	height: 13rem;
	right: 0;
	top: 5rem;
	width: 50%;
}

.hero-image-stage--main-4-image .hero-image--3 {
	border-radius: 10rem 10rem 0 0;
	bottom: 0;
	height: 18rem;
	left: 2.5rem;
	width: 25%;
}

.hero-image-stage--main-4-image .hero-image--4 {
	border-radius: 20rem 0 0 0;
	bottom: 0;
	height: 18rem;
	right: 0;
	width: 50%;
	z-index: 3;
}


/* Flipped main 4 image layout */

.hero-image-stage--flipped-main-4-image .hero-image--1 {
	border-radius: 10rem 10rem 0 0;
        height: 18rem;
        left: 2.5rem;
        bottom: 0;
        width: 25%;
}

.hero-image-stage--flipped-main-4-image .hero-image--2 {
	        border-radius: 10rem 0 0 10rem;
        height: 13rem;
        right: 0;
        bottom: 5rem;
        width: 50%;
}

.hero-image-stage--flipped-main-4-image .hero-image--3 {
	border-radius: 0 0 10rem 10rem;
	bottom: 0;
	height: 18rem;
	left: 2.5rem;
	width: 25%;
}

.hero-image-stage--flipped-main-4-image .hero-image--4 {
	        border-radius: 0 0 0 20rem;
	bottom: 0;
	height: 18rem;
	right: 0;
	width: 50%;
	z-index: 3;
}


.section--hero.section--market-blue .hero-image-stage--flipped-main-4-image .hero-image--4 img {
    object-position: left top;
}


	/* Non-4 image layouts keep normal/mobile fallback behaviour */

	.section--hero:has(.hero-image-stage--3-image) .section__content,
	.section--hero:has(.hero-image-stage--single-image) .section__content {
		padding: 6rem 0 6rem;
	}

	.section--hero-no-buttons.section--hero:has(.hero-image-stage--single-image) .section__content {
    padding-bottom:4rem !important;
}

	.section--hero:has(.hero-image-stage--3-image) .section__content {
		padding:6rem 0;
	}

	.section--hero:has(.hero-image-stage--3-image) {
		min-height: 70rem;
	}

	.section--hero:has(.hero-image-stage--3-image).section--hero-no-buttons {
		min-height: 65rem;
	}

	.section--hero:has(.hero-image-stage--3-image).section--hero-no-buttons .hero-image--2 {
		        top: 45rem;

	}


	.section--hero.section--hero-has-buttons:has(.hero-image-stage--3-image) {
    min-height: 75rem;
}

.section--hero.section--hero-has-buttons:has(.hero-image-stage--3-image)  .hero-image--2 {
    top:58rem;
}


.page-id-1580 .section--hero:has(.hero-image-stage--main-4-image), .page-id-1580  .section--hero:has(.hero-image-stage--main-4-image) .section__content--side {
    min-height: 68rem;
}


.page-id-7408 .section--hero:has(.hero-image-stage--main-4-image), .page-id-7408  .section--hero:has(.hero-image-stage--main-4-image) .section__content--side {
    min-height: 68rem;
}





	.section--hero:has(.hero-image-stage--single-image) {
		min-height: unset;
	}

	.hero-image-stage--3-image .hero-image--1 {
		border-radius: 20rem 20rem 0 0;
        height: 25rem;
        left: 2.5rem;
        top: auto;
        width: 25%;
	}

    .hero-image-stage--3-image .hero-image--2 {
        border-radius: 0 0 20rem 20rem;
        height: 25rem;
        left: 50%;
                top: 48rem;
        transform: translate(-50%, -50%);
        width: 25%;
    }
	.hero-image-stage--3-image .hero-image--3 {
			border-radius: 20rem 20rem 0 0;
        height: 25rem;
        right: 2.5rem;
		left:auto;
        top: auto;
        width: 25%;
	}


	.hero-image-stage--single-image {
		aspect-ratio: 1 / 0.75;
		border-radius: 999rem 0 0 0;
		height: auto;
		margin: 0 0 0 0;
		order: 2;
		position: relative;
		right: auto;
		top: auto;
		width: 100%;
	}

	.hero-image-stage--single-image .hero-image--1 {
		
		bottom: 0;
		height: 38rem;
		left: 0;
		width: 100%;
	}
}


@media screen and (max-width:430px){
	.section--hero:has(.hero-image-stage--3-image).section--hero-no-buttons .hero-image--2 {
		        top: 48rem;

	}
}
/* ==========================================================================
   Discover Darwen footer
   ========================================================================== */

.footer--discover {
  position: relative;
  color: #fff;
  background: var(--dd-dark-green);
  overflow: hidden;
}

.footer--discover .footer__top {
  position: relative;
  background: var(--dd-darkest-green);
  padding: 14rem 0 0rem;
}

.footer--discover .footer__bottom {
  position: relative;
  z-index: 3;
  background: var(--dd-dark-green);
  padding: 3rem 0;
}

.footer--discover .footer__main {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(26rem, 0.9fr) minmax(0, 1.6fr);
  gap: clamp(6rem, 10vw, 16rem);
  align-items: start;
}

.footer--discover .footer__brand {
  max-width: 39rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.footer__social-bar {
  display: inline-flex;
  align-items: center;
  gap: 2rem;
   background: var(--dd-dark-green);
  border-radius: 1rem;
  padding: 1.4rem 2rem;
  margin-bottom: 5.5rem;
      font-family: "ivypresto-headline", serif;
  font-weight: 700;
  font-size: 1.25em;
}

.footer__social-bar span {
  color: var(--colour-shop-green, #adc84f);
}

.footer__social-bar strong {
  color: #fff;
  font-weight: inherit;
}

.footer__social-links {
  display: inline-flex;
  align-items: center;
  gap: 1.5rem;
}

.footer__social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  font-size: 1.15em;
}

.footer__social-links a:hover {
  color: var(--colour-shop-green, #adc84f);
}

.footer__logos {
  display: flex;
  align-items: flex-end;
  gap: 3.5rem;
  margin-bottom: 4rem;
  flex-wrap:wrap;
}

.footer--discover .footer__logo-image {
  display: block;
  width: 18rem;
  height: auto;
}

.footer__council-logo {
  display: block;
  width: 9rem;
  height: auto;
}

.footer__logo.footer__logo-pp {
	max-width: 25rem;
}
.footer__managed-by {
  color: rgba(255, 255, 255, 0.82);
  max-width: 38rem;
  margin-bottom: 3.5rem;
}

.footer__credit {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  color: #fff;
  text-decoration: none;
  font-size: 0.8em;
}

.footer__credit:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: currentColor;
}

.footer__credit-icon {
  display: block;
  width: 2rem;
  height: auto;
}

.footer__credit strong {
  color: #e9007f;
  font-weight: 700;
}

.footer__menus {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: clamp(4rem, 7vw, 10rem);
  row-gap: 7rem;
  padding-bottom: 14rem;
}

.footer--discover .footer__title {
  margin: 0 0 2rem;
  color: #fff;
      font-family: "ivypresto-headline", serif;
  font-size: 1.45em;
  line-height: 1.1;
  font-weight: 700;
  text-transform: none;
}

.footer--discover .footer__nav-items,
.footer--discover .menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer--discover .footer__nav-item,
.footer--discover .menu-item {
  margin: 0 0 0.7rem;
  padding: 0;
  list-style: none;
}

.footer--discover .footer__nav-link,
.footer--discover .menu-item a {
  color: #fff;
  font-weight: 600;
  line-height: 1.25;
  text-decoration: none;
}

.footer--discover .footer__nav-link:hover,
.footer--discover .menu-item a:hover {
  color: var(--colour-shop-green, #adc84f);
}

.footer__buildings {
  display: block;
  width: min(100%, 30rem);
  height: auto;
  margin-top: 15rem;
  opacity: 1;
  pointer-events: none;
}

.footer__legal-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.footer__legal-menu li {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

.footer__legal-menu li:not(:last-child)::after {
  content: "|";
  display: inline-block;
  margin: 0 1.6rem;
  color: rgba(255, 255, 255, 1);
}

.footer__legal-menu a {
  color: #fff;
  font-size: 0.9em;
  font-weight: 600;
  text-decoration: none;
}

.footer__legal-menu a:hover {
  color: var(--colour-shop-green, #adc84f);
}

/* Pull CTA visually over footer, similar to design */
.footer--discover {
  margin-top: 0;
}

/* Mobile */
@media (max-width: 1023px) {
  .footer--discover .footer__top {
    padding: 9rem 0 11rem;
  }

  .footer--discover .footer__main {
    grid-template-columns: 1fr;
    gap: 7rem;
  }

  .footer__menus {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 5rem;
    row-gap: 5rem;
	padding-bottom:2rem;
  }

   .footer__buildings {
    width: 22rem;
    margin-top: 5rem;
  }
}

@media (max-width: 640px) {
  .footer--discover .footer__top {
    padding: 7rem 0 10rem;
  }

  .footer__social-bar {
    width: 100%;
    justify-content: space-between;
    margin-bottom: 4rem;
  }

  .footer__logos {
    gap: 2.5rem;
  }

  .footer--discover .footer__logo-image {
    width: 16rem;
  }

  .footer__council-logo {
    width: 7rem;
  }

  .footer__menus {
    grid-template-columns: 1fr;
    row-gap: 4rem;
  }

  .footer__legal-menu {
    flex-direction: column;
    gap: 1rem;
	align-items: flex-start;
  }

  .footer__legal-menu li:not(:last-child)::after {
    display: none;
  }
}




/* ==========================================================================
   Search
   ========================================================================== */

#ajaxsearchprores1_1 .asp_group_header,
#ajaxsearchprores1_2 .asp_group_header,
div.asp_r.asp_r_1 .asp_group_header {
	background: var(--dd-paler-green) !important;
}

.header__search {
	min-width: 300px;
}

/* Outer ASP wrapper */
.header__search #ajaxsearchpro1_1,
.header__search #ajaxsearchpro1_2,
.header__search div.asp_m.asp_m_1 {
	border-color: var(--dd-pale-green) !important;
	transition: border-color .18s ease-in-out, box-shadow .18s ease-in-out !important;
}

/* ASP inner box */
#ajaxsearchpro1_1 .probox,
#ajaxsearchpro1_2 .probox,
div.asp_m.asp_m_1 .probox {
	margin: 0 0 0 5px !important;
}

/* Magnifier button */
#ajaxsearchpro1_1 .probox .promagnifier,
#ajaxsearchpro1_2 .probox .promagnifier,
div.asp_m.asp_m_1 .probox .promagnifier {
	align-items: center !important;
	border-radius: 100% !important;
	display: flex !important;
	height: 40px !important;
	justify-content: center !important;
	margin-right: 5px !important;
	margin-top: 5px !important;
	transition: background-color .18s ease-in-out, color .18s ease-in-out !important;
	width: 40px !important;
}

/* Focus border */
.header__search #ajaxsearchpro1_1:has(input.orig:focus),
.header__search #ajaxsearchpro1_2:has(input.orig:focus),
.header__search div.asp_m.asp_m_1:has(input.orig:focus) {
	border-color: var(--dd-dark-green) !important;
	box-shadow: 0 0 0 4px var(--dd-pale-green);
}

/* Search button hover/focus */
.header__search #ajaxsearchpro1_1 .promagnifier:hover,
.header__search #ajaxsearchpro1_2 .promagnifier:hover,
.header__search div.asp_m.asp_m_1 .promagnifier:hover,
.header__search #ajaxsearchpro1_1 .promagnifier:focus-visible,
.header__search #ajaxsearchpro1_2 .promagnifier:focus-visible,
.header__search div.asp_m.asp_m_1 .promagnifier:focus-visible {
	background: var(--dd-darkest-green) !important;
	color: #fff !important;
}

/* Icon colour on hover/focus */
.header__search #ajaxsearchpro1_1 .promagnifier:hover svg,
.header__search #ajaxsearchpro1_2 .promagnifier:hover svg,
.header__search div.asp_m.asp_m_1 .promagnifier:hover svg,
.header__search #ajaxsearchpro1_1 .promagnifier:hover svg path,
.header__search #ajaxsearchpro1_2 .promagnifier:hover svg path,
.header__search div.asp_m.asp_m_1 .promagnifier:hover svg path,
.header__search #ajaxsearchpro1_1 .promagnifier:focus-visible svg,
.header__search #ajaxsearchpro1_2 .promagnifier:focus-visible svg,
.header__search div.asp_m.asp_m_1 .promagnifier:focus-visible svg,
.header__search #ajaxsearchpro1_1 .promagnifier:focus-visible svg path,
.header__search #ajaxsearchpro1_2 .promagnifier:focus-visible svg path,
.header__search div.asp_m.asp_m_1 .promagnifier:focus-visible svg path {
	fill: #fff !important;
}

/* Kill annoying ghost autocomplete input */
.header__search input.autocomplete {
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

.header__search input.orig {
	background: transparent !important;
	box-shadow: none !important;
}

/* Mobile search toggle button */

.header__search-toggle {
	align-items: center;
	background: none;
	border: 0;
	border-radius: 100%;
	background: var(--dd-dark-green);
	color:#FFF;
	display: none;
	height: 4.4rem;
	justify-content: center;
	margin-left: auto;
	padding: 0;
	position: relative;
	width: 4.4rem;
	z-index: 8;
}

.header__search-toggle svg {
	display: block;
	height: 2.4rem;
	width: 2.4rem;
}

.header__search-toggle svg path {
	fill: currentColor;
}

.header__search-toggle-icon {
	align-items: center;
	display: flex;
	justify-content: center;
}

.header__search-toggle-icon--close {
	display: none;
	font-size: 4.4rem;
	line-height: .8;
	margin-top: -.4rem;
}


/* ==========================================================================
   Search - Mobile
   ========================================================================== */

@media screen and (max-width: 1500px) {


	
	#ajaxsearchpro1_1 .probox, #ajaxsearchpro1_2 .probox, div.asp_m.asp_m_1 .probox {
		    margin: 0 !important;
	}
	.header__inner {
		flex-wrap: wrap;
	}

	.header__search-toggle {
		display: flex;
	}

	.header.header--search-active .header__search-toggle {
		background: var(--dd-dark-green);
		color: #fff;
	}

	.header.header--search-active .header__search-toggle-icon--search {
		display: none;
	}

	.header.header--search-active .header__search-toggle-icon--close {
		display: flex;
	}

	/* Search sits below header row */
	.header__search {
	flex: 0 0 100%;
	max-height: 0;
	min-width: 0;
	opacity: 0;
	order: 20;
	overflow: hidden;
	padding-top: 0;
	pointer-events: none;
	transition: max-height .2s ease-in-out, opacity .15s ease-in-out, padding-top .2s ease-in-out;
	visibility: visible;
	width: 100%;
	z-index: 5;
}

	.header.header--search-active .header__search {
	max-height: 9rem;
	opacity: 1;
	overflow: visible !important;
	padding-top: 1.5rem;
	pointer-events: auto;
	visibility: visible;
}

	/* Force ASP to behave like a normal full-width search on mobile */
	.header__search .asp_w_container,
	.header__search .asp_main_container,
	.header__search #ajaxsearchpro1_1,
	.header__search #ajaxsearchpro1_2,
	.header__search div.asp_m.asp_m_1 {
		display: block !important;
		float: none !important;
		left: auto !important;
		max-width: none !important;
		position: relative !important;
		right: auto !important;
		top: auto !important;
		transform: none !important;
		width: 100% !important;
	}

	.header__search #ajaxsearchpro1_1,
	.header__search #ajaxsearchpro1_2,
	.header__search div.asp_m.asp_m_1 {
		border-color: var(--dd-pale-green) !important;
		box-shadow: none !important;
		overflow: hidden !important;
		border-radius:50px !important;
	}

	.header.header--search-active .header__search #ajaxsearchpro1_1,
	.header.header--search-active .header__search #ajaxsearchpro1_2,
	.header.header--search-active .header__search div.asp_m.asp_m_1 {
		border-color: var(--dd-dark-green) !important;
		box-shadow: 0 0 0 4px var(--dd-pale-green) !important;
	}

	.header__search .probox {
		border-radius: 999rem !important;
		margin: 0 !important;
		overflow: hidden !important;
		width: 100% !important;
	}

	

	/* Results full width below search */
	#ajaxsearchprores1_1.vertical,
	#ajaxsearchprores1_2.vertical,
	div.asp_r.asp_r_1.vertical {
		left: 2.5rem !important;
		max-width: none !important;
		width: calc(100% - 5rem) !important;
	}


	/* Mobile search input cleanup */
.header__search .asp_main_container,
.header__search .probox {
	border-radius: 999rem !important;
	overflow: hidden !important;
}

.header__search .proinput {
	background: transparent !important;
	border-radius: 0 !important;
	margin-left: 2.2rem !important;
	overflow: visible !important;
	padding-left: 0 !important;
}

.header__search .proinput form {
	background: transparent !important;
	border-radius: 0 !important;
	overflow: visible !important;
	padding-left: 0 !important;
}

.header__search .proinput input.orig {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	height: 100% !important;
	margin: 0 !important;
	overflow: visible !important;
	padding-left: 0 !important;
	text-indent: 0 !important;
	width: 100% !important;
}

/* Properly kill ASP ghost autocomplete input */
.header__search .proinput input.autocomplete {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: transparent !important;
	display: block !important;
	height: 0 !important;
	left: -9999px !important;
	opacity: 0 !important;
	pointer-events: none !important;
	position: absolute !important;
	top: 0 !important;
	visibility: hidden !important;
	width: 0 !important;
	z-index: -1 !important;
}


}


.header__search input.autocomplete {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: transparent !important;
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}


/* ==========================================================================
   ASP mobile white box murder patch
   ========================================================================== */

@media screen and (max-width: 1023px) {
	.header__search #ajaxsearchpro1_1,
	.header__search #ajaxsearchpro1_2,
	.header__search div.asp_m.asp_m_1 {
		background: transparent !important;
		border-radius: 999rem !important;
		overflow: visible !important;
	}

	.header__search #ajaxsearchpro1_1 .probox,
	.header__search #ajaxsearchpro1_2 .probox,
	.header__search div.asp_m.asp_m_1 .probox {
		background: #fff !important;
		border: 2px solid var(--dd-dark-green) !important;
		border-radius: 999rem !important;
		box-shadow: 0 0 0 4px var(--dd-pale-green) !important;
		height: 5.4rem !important;
		margin: 0 !important;
		overflow: hidden !important;
		padding: 0 !important;
		width: 100% !important;
	}

	.header__search #ajaxsearchpro1_1 .probox .proinput,
	.header__search #ajaxsearchpro1_2 .probox .proinput,
	.header__search div.asp_m.asp_m_1 .probox .proinput {
		background: transparent !important;
		box-sizing: border-box !important;
		height: 5.4rem !important;
		margin: 0 !important;
		overflow: visible !important;
		padding: 0 0 0 2.2rem !important;
	}

	.header__search #ajaxsearchpro1_1 .probox .proinput form,
	.header__search #ajaxsearchpro1_2 .probox .proinput form,
	.header__search div.asp_m.asp_m_1 .probox .proinput form {
		background: transparent !important;
		height: 5.4rem !important;
		overflow: visible !important;
	}

	.header__search #ajaxsearchpro1_1 .probox .proinput input.orig,
	.header__search #ajaxsearchpro1_2 .probox .proinput input.orig,
	.header__search div.asp_m.asp_m_1 .probox .proinput input.orig {
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		box-sizing: border-box !important;
		height: 5.4rem !important;
		line-height: 5.4rem !important;
		margin: 0 !important;
		overflow: visible !important;
		padding: 0 !important;
		position: relative !important;
		text-indent: 0 !important;
		width: 100% !important;
		z-index: 3 !important;
	}

	.header__search #ajaxsearchpro1_1 .probox .proinput input.autocomplete,
	.header__search #ajaxsearchpro1_2 .probox .proinput input.autocomplete,
	.header__search div.asp_m.asp_m_1 .probox .proinput input.autocomplete {
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		color: transparent !important;
		height: 5.4rem !important;
		line-height: 5.4rem !important;
		margin: 0 !important;
		opacity: 0 !important;
		padding: 0 !important;
		pointer-events: none !important;
		position: absolute !important;
		text-indent: 0 !important;
		visibility: hidden !important;
		width: 100% !important;
		z-index: 1 !important;
	}

	.header__search #ajaxsearchpro1_1 .probox .promagnifier,
	.header__search #ajaxsearchpro1_2 .probox .promagnifier,
	.header__search div.asp_m.asp_m_1 .probox .promagnifier {
		border-radius: 999rem !important;
		height: 4.4rem !important;
		margin: .5rem .5rem .5rem 0 !important;
		width: 4.4rem !important;
	}
}

/* ==========================================================================
   Notice block
   ========================================================================== */

.section--notice {
	padding: 0;
	overflow: hidden;
}

.notice-block {
	display: flex;
	align-items: stretch;
	min-height: 15rem;
}



/* Image */

.notice-block__image-wrap {
	flex: 0 0 auto;
	display: flex;
	align-items: stretch;
	align-self: stretch;
	height: auto;
	margin: 0;
	padding: 0;
	overflow: visible;
}

.notice-block__image-wrap picture {
	display: flex;
	align-items: stretch;
	height: auto;
	margin: 0;
	padding: 0;
}

.notice-block__image {
	display: block;
	height: 100%;
	width: auto;
	max-width: none;
	object-fit: contain;
	margin: 0;
	padding: 0;
}

/* Full height image option */

.section--notice-full-height-image .notice-block__image-wrap {
	align-self: stretch;
	max-height: 15rem;
}

.section--notice-full-height-image .notice-block__image {
	height: 100%;
	width: auto;
	max-width: none;
	object-fit: contain;
}

/* Content */

.notice-block__content {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 4rem;
	padding: 3.5rem 0;
	margin: 0;
	min-width: 0;
}

.notice-block__title {
	margin: 0;
	color: currentColor;
	font-family: "ivypresto-headline", serif;
	font-size: 2em;
	line-height: 1;
	font-weight: 700;
	white-space: nowrap;
}

.notice-block__text {
	max-width: 44rem;
	margin: 0;
	font-size: 1.05em;
	line-height: 1.35;
	font-weight: 600;
}

.notice-block__text p {
	margin: 0;
}

.notice-block__button {
	margin-left: auto;
	white-space: nowrap;
}

/* Newsletter version */

.section--notice-newsletter .notice-block__content {
	display: grid;
	grid-template-columns: auto 26rem 36rem 34rem;
	align-items: center;
	gap: 3rem;
}

.section--notice-newsletter .notice-block__text {
	max-width: 26rem;
}

.notice-newsletter-form {
	display: contents;
}

.notice-newsletter-form__row {
	display: flex;
	width: 100%;
	min-width: 0;
	overflow: hidden;
	border: 0.2rem solid var(--dd-darkest-green);
	border-radius: 999rem;
	background: #fff;
}

.notice-newsletter-form input[type="email"] {
	flex: 1;
	min-width: 0;
	height: 5.2rem;
	padding: 0 2rem;
	border: 0;
	background: #fff;
	color: var(--dd-darkest-green);
	font: inherit;
	font-size: 1em;
	font-weight: 700;
}

.notice-newsletter-form input[type="email"]::placeholder {
	color: var(--dd-darkest-green);
	opacity: 1;
}

.notice-newsletter-form input[type="email"]:focus {
	outline: 0;
}

.notice-newsletter-form__row:focus-within {
	outline: 0.2rem solid currentColor;
	outline-offset: 0.3rem;
}

.notice-newsletter-form button {
	flex: 0 0 auto;
	min-width: 13rem;
	height: 5.2rem;
	padding: 0 2rem;
	border: 0;
	border-radius: 999rem;
	background: var(--dd-darkest-green);
	color: #fff;
	font: inherit;
	font-size: 1em;
	font-weight: 700;
	cursor: pointer;
}

.notice-newsletter-form button:hover {
	background: var(--dd-dark-green);
}

.notice-newsletter-form__privacy {
	max-width: 34rem;
	margin: 0;
	font-size: 0.85em;
	line-height: 1.55;
	font-weight: 500;
}

.notice-newsletter-form__privacy p,
.notice-newsletter-form__privacy small {
	margin: 0;
	font-size: inherit;
	line-height: inherit;
}

.notice-newsletter-form__privacy a {
	color: currentColor;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* No image version */

.section--notice:not(.section--notice-has-image) .notice-block__content {
	width: 100%;
}



@media screen and (min-width:1023px) {

	.section--notice-single-testimonial:not(.section--notice-newsletter)   .notice-block__title {
		line-height: 1.25;
	}


	.section--notice-single-testimonial:not(.section--notice-newsletter) .notice-block__content {
        display:flex;
        flex-direction:column;
        justify-content: flex-start;
        text-align: left;
            align-items: flex-start;
        max-width:90rem;
    padding:6rem 0;
}       

}
/* ==========================================================================
   Notice block - Mobile
   ========================================================================== */

@media (max-width: 1023px) {


	.section--notice .container {
		padding-left: 0;
		padding-right: 0;
	}

	.notice-block {
		display: flex;
		align-items: stretch;
		min-height: 0;
		width: 100%;
	}

	/* Keep image left, not stacked */

	.notice-block__image-wrap {
		flex: 0 0 45%;
		width: 45%;
		max-width: 45%;
		display: flex;
		align-items: stretch;
		align-self: stretch;
		overflow: visible;
	}

	.notice-block__image-wrap picture {
		display: flex;
		align-items: stretch;
		width: 100%;
		height: 100%;
	}

	.notice-block__image,
	.section--notice-full-height-image .notice-block__image {
		display: block;
		width: 100%;
		height: 100%;
		max-width: none;
		object-fit: contain;
		object-position: left center;
	}

	.section--notice-full-height-image .notice-block__image-wrap {
		max-height: none;
	}

	.notice-block__content,
	.section--notice-newsletter .notice-block__content {
		flex: 1;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		gap: 2rem;
		min-width: 0;
		padding: 4rem 2.5rem 4rem 1rem;
	}

	.notice-block__title {
		font-size: 2.35em;
		line-height: .95;
		white-space: normal;
	}

	.notice-block__text {
		max-width: none;
		font-size: 1.05em;
		line-height: 1.35;
	}

	.notice-block__button {
		margin-left: 0;
		width: 100%;
		max-width: none;
		justify-content: center;
	}

	.notice-block__button.button {
		padding-left: 2rem;
		padding-right: 2rem;
	}

	.notice-block__button .button__arrow {
		display: inline-block !important;
	}

	/* No image on mobile, return to normal padded full width */

	.section--notice:not(.section--notice-has-image) .notice-block {
		display: block;
	}

	.section--notice:not(.section--notice-has-image) .notice-block__content {
		padding: 4rem 2.5rem;
		width: 100%;
	}

	/* Newsletter mobile should not use the split image layout */

	.section--notice-newsletter .notice-block {
		display: block;
	}

	.section--notice-newsletter .notice-block__image-wrap {
		width: 100%;
		max-width: 100%;
	}

	.section--notice-newsletter .notice-block__image,
	.section--notice-newsletter.section--notice-full-height-image .notice-block__image {
		width: 100%;
		height: auto;
		object-fit: contain;
	}

	.section--notice-newsletter .notice-block__content {
		padding: 4rem 2.5rem;
	}

	.notice-newsletter-form {
		display: block;
		width: 100%;
	}

	.notice-newsletter-form__row {
		width: 100%;
	}

	.notice-newsletter-form input[type="email"],
	.notice-newsletter-form button {
		height: 5rem;
	}

	.notice-newsletter-form button {
		min-width: 10rem;
		padding: 0 1.6rem;
	}

	.notice-newsletter-form__privacy {
		max-width: none;
		margin-top: 1.2rem;
	}

	strong.notice-block__title {
		font-size:1.6em;
	}

}

@media (max-width: 480px) {

	strong.notice-block__title {
		font-size:1.6em;
	}


	.notice-block__image-wrap {
		flex-basis: 42%;
		width: 42%;
		max-width: 42%;
	}

	.notice-block__content,
	.section--notice-newsletter .notice-block__content {
		padding: 3.5rem 2.5rem 3.5rem 2rem;
	}

	.notice-block__title {
		font-size: 2em;
	}

	.notice-block__text {
		font-size: 1em;
	}

	.notice-block__button.button {
		font-size: .95em;
	}
}

/* ==========================================================================
   Event image figures slider
   ========================================================================== */

.section--event-image-figures {
  overflow: hidden;
}

.section__intro--event-slider {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 4rem;
  margin-bottom: 6rem;
}

.section__intro--event-slider .section__primary-title {
  margin-bottom: 2rem;
}

.section__intro-text {
  max-width: 58rem;
  font-size: 1.2em;
}


@media screen and (max-width:1023px) {
	.section__intro-text {
		font-size:1em;
	}
}
.section__intro-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.5rem;
  flex-shrink: 0;
  flex-wrap: wrap;
}

.slider__count {
  display: inline-flex;
  align-items: center;
  min-height: 5rem;
  font-size: 0.95em;
  font-weight: 700;
  color: currentColor;
}


.slider__count[data-slider-count] {
	opacity: 0;
	transition: opacity .2s ease-in-out;
}

.section--slider-count-ready .slider__count[data-slider-count] {
	opacity: 1;
}


/* ==========================================================================
   Slick events slider gutters
   First/last visible slides flush, gaps between slides, overflow outside
   ========================================================================== */

.slider--events {
  --slider-gap: 3rem;
  overflow: visible;
}

.slider--events .slick-list {
  overflow: visible !important;
  width: calc(100% + var(--slider-gap)) !important;
  margin-left: calc(var(--slider-gap) * -0.5) !important;
  margin-right: calc(var(--slider-gap) * -0.5) !important;
}

.slider--events .slick-track {
  display: flex !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.slider--events .slick-slide {
  height: auto;
  padding-left: calc(var(--slider-gap) * 0.5);
  padding-right: calc(var(--slider-gap) * 0.5);
}

.slider--events .slick-slide > div {
  height: 100%;
}

.slider--events [data-slides] {
  display: block;
}

.slider--events [data-slide],
.event-slider__slide {
  display: block;
  height: 100%;
 
}

.event-slider__slide > div,
.event-slider__slide .event-figure {
  height: 100%;
}

@media (max-width: 1023px) {
  .slider--events {
    --slider-gap: 1.5rem;
  }
}

/* ==========================================================================
   Event figure
   ========================================================================== */

.event-figure {
  display: grid;
  grid-template-columns: minmax(22rem, 0.95fr) minmax(0, 1.05fr);
  min-height: 34rem;
  overflow: hidden;
  border-radius: 1.8rem;
  height: 100%;
  background: #fff;
  color: var(--dd-darkest-green);
}


.section--white .event-figure {
    border:2px solid var(--dd-palest-green);
    
}


.event-figure__image-link {
  display: block;
  position: relative;
  overflow: hidden;
  min-height: 34rem;
}

.event-figure__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 34rem;
  object-fit: cover;
  transition: transform .6s ease;
}

.event-figure__image-link:hover .event-figure__image,
.event-figure__image-link:focus-visible .event-figure__image {
  transform: scale(1.04);
}

.event-figure__image--placeholder {
  background: var(--dd-dark-green);
}

.event-figure__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 4rem;
}

.event-figure__labels {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 2rem;
}

.event-figure__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.6rem;
  padding: 0.4rem 1.3rem;
  border-radius: 999rem;
  background: #cfe9e6;
  color: var(--dd-darkest-green);
  font-size: 0.72em;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.event-figure__title {
  margin: 0 0 2rem;
  color: var(--dd-darkest-green);
  font-family: "ivypresto-headline", serif;
  font-size: 2em;
  line-height: 1.12;
}

.event-figure__title a {
  color: inherit;
  text-decoration: none;
}

.event-figure__title a:hover {
  color: var(--dd-salmon);
}

.event-figure__meta {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin-bottom: 1.2rem;
  font-weight: 600;
  line-height: 1.35;
}

.event-figure__icon {
  width: 1.7rem;
  height: 1.7rem;
  flex: 0 0 1.7rem;
  fill: var(--dd-salmon);
}

.event-figure__summary {
  margin-top: 1.6rem;
  margin-bottom: 3rem;
}

.event-figure__summary p {
  margin: 0;
}

.section--slidercont .event-figure__button {
  align-self: flex-start;
  margin-top: auto;
  margin-left: 0;
}

/* ==========================================================================
   Slider controls
   ========================================================================== */

.slider__button {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 5rem;
  width: 5rem;
  height: 5rem;
  padding: 0;
  line-height: 1;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: var(--dd-ink);
}

.slider__button[data-prev],
.slider__button[data-next] {
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

.slider__button:disabled,
.slider__button[aria-disabled="true"] {
  opacity: 0.5;
}

.slider__arrow {
  display: block;
  width: 1.15em;
  height: auto;
  fill: currentColor;
}

.slider__arrow--left {
  transform: scaleX(-1);
}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width: 1023px) {
  .section__intro--event-slider {
    display: block;
  }

  .section__intro-actions {
    margin-top: 3rem;
    justify-content: flex-start;
  }

  .section__intro-actions .button--dark-green {
    margin-left:auto !important;
}

  .event-figure {
    grid-template-columns: 1fr;
  }

  
}




@media (max-width: 1023px) {
  .event-figure__content {
    padding: 3rem;
  }

  .event-figure__title {
    font-size: 1.7em;
  }

  .slider__count {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .slider__button {
    display: inline-flex !important;
  }

  .section__intro-actions .button--dark-green {
    margin-left:auto !important;
}
}


/* ==========================================================================
   Mobile event card image fix
   ========================================================================== */

@media (max-width: 1023px) {
	.event-figure {
		grid-template-columns: 1fr;
		grid-template-rows: auto 1fr;
		min-height: 0;
	}

	.event-figure__image-link {
		aspect-ratio: 1 / 1;
		height: auto;
		min-height: 0;
		overflow: hidden;
		position: relative;
		width: 100%;
	}

	.event-figure__image {
		height: 100%;
		inset: 0;
		min-height: 0;
		object-fit: cover;
		position: absolute;
		width: 100%;
	}

	.event-figure__content {
		height: 100%;
		justify-content: flex-start;
	}
}

@media (max-width: 1023px) {
	.event-figure__content {
		padding: 3rem;
	}

	.event-figure__title {
		font-size: 1.7em;
	}
}

@media (max-width: 1023px) {
	.slider--events .slick-track {
		align-items: stretch;
	}

	.slider--events .slick-slide,
	.slider--events .slick-slide > div,
	.slider--events .event-slider__slide {
		height: auto !important;
	}

	.slider--events .event-figure {
		height: 100%;
	}
}


@media (max-width: 1023px) {
	.section__intro-actions:has(.slider__button.slick-hidden) .button {
		margin-left: 0 !important;
	}
}



/* ==========================================================================
   Grid block
   ========================================================================== */

.section--grid-block {
  overflow: hidden;
}

.grid-block__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(28rem, 48rem);
  gap: 8rem;
  align-items: start;
  max-width: 95rem;
  margin: 0 auto 9rem;
  color: #fff;
}

.grid-block__intro-heading {
  min-width: 0;
}

.grid-block__title {
  margin: 0;
  color: #fff;
  font-family: "ivypresto-headline", serif;
  font-size: 4em;
  line-height: 1;
}

.grid-block__title-image {
  display: block;
  width: auto;
  max-width: 32rem;
  height: auto;
}

.grid-block__title-image + .grid-block__title {
  margin-top: 2rem;
}

.grid-block__text {
  color: #fff;
  font-size: 1.1em;
}

/* ==========================================================================
   Grid layout
   ========================================================================== */

.grid-block {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: 35rem;
  gap: 3rem;
}

.grid-block--narrow {
  max-width: 132rem;
  margin: 0 auto;
}

/* ==========================================================================
   Card base
   ========================================================================== */

.grid-block-card {
  position: relative;
  display: flex;
  align-items: stretch;
  min-height: 35rem;
  overflow: hidden;
  border-radius: 1.8rem;
  color: #fff;
  text-decoration: none;
  background: var(--grid-card-bg, var(--dd-shop-green));
  isolation: isolate;
}

.grid-block-card:hover .grid-block-card__image {
  transform: scale(1.04);
}

.grid-block-card:hover  .grid-block-card__button {
	background:var(--dd-dark-green);
	color:#FFF;
	border-color:var(--dd-dark-green);
}

.grid-block-card__image {
  position: absolute;
  inset: 0;
  z-index: -2;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: transform .6s ease;
}

/* Content blob */

.grid-block-card__content {
  position: relative;
  z-index: 1;
  width: min(52%, 38rem);
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 5rem;
  background: var(--grid-card-bg, var(--dd-shop-green));
  color: var(--grid-card-color, #fff);
  border-radius: 0 999rem 999rem 0;
}

.grid-block-card--invert {
  justify-content: flex-end;
}

.grid-block-card--invert .grid-block-card__content {
  margin-left: auto;
  border-radius: 999rem 0 0 999rem;
}

.grid-block-card__title {
  margin: 0 0 1.5rem;
  color: inherit;
  font-family: "ivypresto-headline", serif;
  font-size: 2.15em;
  line-height: 1.1;
}

.grid-block-card__text {
  margin-bottom: 2.5rem;
  color: inherit;
  font-size: 1em;
  line-height: 1.5;
}

.grid-block-card__text:last-child {
	margin-bottom: 0;
}

.grid-block-card__text p {
  margin: 0;
  color: inherit;
}

.grid-block-card__button {
  align-self: flex-start;
  color: var(--dd-darkest-green);
}

/* ==========================================================================
   Per-card background colours
   ========================================================================== */

.grid-block-card--dark-green {
  --grid-card-bg: var(--dd-dark-green);
  --grid-card-color: #fff;
}

.grid-block-card--darkest-green {
  --grid-card-bg: var(--dd-darkest-green);
  --grid-card-color: #fff;
}

.grid-block-card--peach {
  --grid-card-bg: var(--dd-peach);
  --grid-card-color: #fff;
}


.grid-block-card--pink {
  --grid-card-bg: var(--dd-pink);
  --grid-card-color: var(--dd-dark-green);
}

.grid-block-card--teal {
  --grid-card-bg: var(--dd-teal);
  --grid-card-color: #fff;
}

.grid-block-card--shop-green {
  --grid-card-bg: var(--dd-shop-green);
  --grid-card-color: #fff;
}

.grid-block-card--pale-green {
  --grid-card-bg: var(--dd-pale-green);
  --grid-card-color: #fff;
}

.grid-block-card--palest-green {
  --grid-card-bg: var(--dd-palest-green);
  --grid-card-color: #fff;
}

.grid-block-card--paler-green {
  --grid-card-bg: var(--dd-paler-green);
  --grid-card-color: #fff;
}

.grid-block-card--market-blue {
  --grid-card-bg: var(--dd-market-blue);
  --grid-card-color: #fff;
}

.grid-block-card--salmon {
  --grid-card-bg: var(--dd-salmon);
  --grid-card-color: #fff;
}

.grid-block-card--yellow {
  --grid-card-bg: var(--dd-yellow);
  --grid-card-color: #fff;
}

.grid-block-card--sand {
  --grid-card-bg: var(--dd-sand);
  --grid-card-color: #fff;
}

.grid-block-card--white {
  --grid-card-bg: #fff;
  --grid-card-color: var(--dd-darkest-green);
}

/* Force all non-white card text to white */

.grid-block-card:not(.grid-block-card--white) {
  --grid-card-color: #fff;
}

/* ==========================================================================
   Layout pattern
   ========================================================================== */

.grid-block-card:nth-child(1) {
  grid-column: span 6;
  grid-row: span 1;
}

.grid-block-card:nth-child(2) {
  grid-column: span 6;
  grid-row: span 2;
}

.grid-block-card:nth-child(3) {
  grid-column: span 6;
  grid-row: span 1;
}

.grid-block-card:nth-child(4) {
  grid-column: span 6;
  grid-row: span 1;
}

.grid-block-card:nth-child(5) {
  grid-column: span 6;
  grid-row: span 1;
}

/* ==========================================================================
   Image crop tuning
   ========================================================================== */

.grid-block-card:nth-child(1) .grid-block-card__image {
     object-position: top right;
    right: 0;
    left: auto;
    width: 75%;

}

.grid-block-card:nth-child(2) .grid-block-card__image {
  object-position: center top;
}

.grid-block-card:nth-child(3) .grid-block-card__image {
     object-position: top right;
    right: auto;
    left: 0;
    width: 75%;
}

.grid-block-card:nth-child(4) .grid-block-card__image {
    object-position: top right;
    right: 0;
    left: auto;
    width: 75%;
}

.grid-block-card:nth-child(5) .grid-block-card__image {
      object-position: top right;
    right: 0;
    left: auto;
    width: 75%;
}

/* ==========================================================================
   Large feature card, usually Eat Drink Shop
   ========================================================================== */

.grid-block-card:nth-child(2) {
  align-items: flex-end;
  min-height: 73.6rem;
}

/* Big bottom circle/blob */

.grid-block-card:nth-child(2) .grid-block-card__content {
  width: 120%;
  max-width: none;
  min-height: 48%;
  margin: auto -10% -1px;
  align-items: center;
  text-align: center;
  padding: 7rem 10rem 5.5rem;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}

.grid-block-card:nth-child(2).grid-block-card--invert .grid-block-card__content {
  margin: auto -10% -1px;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}

.grid-block-card:nth-child(2) .grid-block-card__text,
.grid-block-card:nth-child(2) .grid-block-card__button {
  align-self: center;
}

/* ==========================================================================
   Fifth card override
   ========================================================================== */

.grid-block-card:nth-child(5):not(.grid-block-card--invert) .grid-block-card__content {
  margin-left: 0;
  border-radius: 0 999rem 999rem 0;
}

.grid-block-card:nth-child(5).grid-block-card--invert .grid-block-card__content {
  margin-left: auto;
  border-radius: 999rem 0 0 999rem;
}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width: 1023px) {
	.grid-block__intro {
		display: block;
		margin-bottom: 5rem;
	}

	.grid-block__title {
		margin-bottom: 2.5rem;
		font-size: 3.5em;
	}

	.grid-block__title-image {
		max-width: 20rem;
		margin-bottom: 2.5rem;
	}

	.grid-block {
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
		gap: 2.5rem;
	}

	.grid-block-card,
	.grid-block-card:nth-child(1),
	.grid-block-card:nth-child(2),
	.grid-block-card:nth-child(3),
	.grid-block-card:nth-child(4),
	.grid-block-card:nth-child(5) {
		grid-column: auto;
		grid-row: auto;
		min-height: 42rem;
	}

	/* Mobile: ignore invert and make all cards consistent */
	.grid-block-card,
	.grid-block-card--invert {
		justify-content: flex-start;
	}

	.grid-block-card__content,
	.grid-block-card--invert .grid-block-card__content,
	.grid-block-card:nth-child(2) .grid-block-card__content,
	.grid-block-card:nth-child(2).grid-block-card--invert .grid-block-card__content,
	.grid-block-card:nth-child(5) .grid-block-card__content,
	.grid-block-card:nth-child(5).grid-block-card--invert .grid-block-card__content {
		align-items: flex-start;
		border-radius: 0 999rem 999rem 0;
		margin: 0;
		margin-left: 0;
		max-width: 70%;
		min-height: 100%;
		padding: 4rem;
		text-align: left;
		width: 70%;
	}

	.grid-block-card:nth-child(2) .grid-block-card__text,
	.grid-block-card:nth-child(2) .grid-block-card__button {
		align-self: flex-start;
	}

	/* Mobile image widths reset */
	.grid-block-card:nth-child(1) .grid-block-card__image,
	.grid-block-card:nth-child(2) .grid-block-card__image,
	.grid-block-card:nth-child(3) .grid-block-card__image,
	.grid-block-card:nth-child(4) .grid-block-card__image,
	.grid-block-card:nth-child(5) .grid-block-card__image {
		left: auto;
		right: 0;
		width: 90%;
		height: 100%;
	}

	/* Mobile individual image crops */
	.grid-block-card:nth-child(1) .grid-block-card__image {
		object-position: top right;
	}

	.grid-block-card:nth-child(2) .grid-block-card__image {
		object-position: center top;
	}

	.grid-block-card:nth-child(3) .grid-block-card__image {
		object-position: center right;
	}

	.grid-block-card:nth-child(4) .grid-block-card__image {
		object-position: top right;
	}

	.grid-block-card:nth-child(5) .grid-block-card__image {
		object-position: center right;
	}
}

@media (max-width: 1023px) {
	.grid-block__title {
		font-size: 2.5em;
	}

	.grid-block__title-image {
		max-width: 20rem;
	}

	.grid-block__text {
		font-size: 1em;
	}

	.grid-block-card,
	.grid-block-card:nth-child(1),
	.grid-block-card:nth-child(2),
	.grid-block-card:nth-child(3),
	.grid-block-card:nth-child(4),
	.grid-block-card:nth-child(5) {
		min-height: 40rem;
	}

	.grid-block-card__content,
	.grid-block-card--invert .grid-block-card__content,
	.grid-block-card:nth-child(2) .grid-block-card__content,
	.grid-block-card:nth-child(2).grid-block-card--invert .grid-block-card__content,
	.grid-block-card:nth-child(5) .grid-block-card__content,
	.grid-block-card:nth-child(5).grid-block-card--invert .grid-block-card__content {
		max-width: 70%;
		padding: 3rem;
		width: 70%;
	}

	.grid-block-card__title {
		font-size: 1.7em;
	}

	.grid-block-card__text {
		font-size: .95em;
		line-height: 1.4;
		margin-bottom: 2rem;
	}

	.grid-block-card__button {
		font-size: .95em;
	}

	/* Phone-specific image crops */
	.grid-block-card:nth-child(1) .grid-block-card__image {
		object-position: center center;
	}

	.grid-block-card:nth-child(2) .grid-block-card__image {
		object-position: center top;
	}

	.grid-block-card:nth-child(3) .grid-block-card__image {
		object-position: left center;
	}

	.grid-block-card:nth-child(4) .grid-block-card__image {
		object-position: center center;
	}

	.grid-block-card:nth-child(5) .grid-block-card__image {
		object-position: center center;
	}
}

@media (max-width: 480px) {
	.grid-block-card,
	.grid-block-card:nth-child(1),
	.grid-block-card:nth-child(2),
	.grid-block-card:nth-child(3),
	.grid-block-card:nth-child(4),
	.grid-block-card:nth-child(5) {
		min-height: 35rem;
	}

	.grid-block-card__content,
	.grid-block-card--invert .grid-block-card__content,
	.grid-block-card:nth-child(2) .grid-block-card__content,
	.grid-block-card:nth-child(2).grid-block-card--invert .grid-block-card__content,
	.grid-block-card:nth-child(5) .grid-block-card__content,
	.grid-block-card:nth-child(5).grid-block-card--invert .grid-block-card__content {
		padding: 2.5rem 6rem 2.5rem 2.5rem;
		width: 70%;
		max-width: 70%;
	}
}



/* ==========================================================================
   Window Block
   ========================================================================== */

.section--window-block {
	overflow: hidden;
	padding: 0;
	position: relative;
}

.window-block {
	overflow: hidden;
}

/* Top visual area */

.window-block__top {
	background-image: var(--window-block-bg-image);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 85rem;
	overflow: hidden;
	position: relative;
}

.window-block__top::before {
	background: currentColor;
	content: "";
	inset: 0;
	opacity: .72;
	position: absolute;
	z-index: 0;
}

/* Top overlay colour driven by normal section colour class */

.section--market-blue.window-block__top {
	color: var(--dd-market-blue);
}

.section--dark-green.window-block__top {
	color: var(--dd-dark-green);
}

.section--darkest-green.window-block__top {
	color: var(--dd-darkest-green);
}

.section--pale-green.window-block__top {
	color: var(--dd-pale-green);
}

.section--palest-green.window-block__top {
	color: var(--dd-palest-green);
}

.window-block__top > .container {
	position: relative;
	z-index: 2;
}

.window-block__header {
	align-items: center;
	display: flex;
	gap: 5rem;
	justify-content: center;
	margin: 0 auto;
	max-width: 90rem;
	text-align: left;
}

.window-block__title-image {
	display: block;
	height: auto;
	max-height: 15rem;
	max-width: 25rem;
	width: auto;
}

.window-block__title {
	color: #fff;
	line-height: .95;
	margin: 0;
	max-width: 52rem;
	text-align: left;
}

.window-block__title u,
.window-block__title span[style*="underline"],
.window-block__title .underline {
	text-decoration-thickness: 1px;
	text-underline-offset: .22em;
}

/* Window images */

.window-block__windows {
	align-items: flex-end;
	bottom: 0rem;
	display: flex;
	gap: 5rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: max-content;
	z-index: 2;
}

.window-block__window {
	aspect-ratio: 1 / 1;
	border-radius: 999rem 999rem 0 0;
	flex: 0 0 auto;
	height: 42rem;
	margin: 0;
	overflow: hidden;
	position: relative;
	width: 42rem;
}

.window-block__window img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

/* First and last sit half off screen */

.window-block__window--1 {
	margin-left: -21rem;
}

.window-block__window--5 {
	margin-right: -21rem;
}

/* Bottom content area */

.window-block__bottom {
	position: relative;
	text-align: center;
	padding-top: 14rem;
}

.window-block__content {
	margin: 0 auto;
	max-width: 80rem;
}

.window-block__text {
	margin: 0 auto;
}

.window-block__text p {
	margin-left: auto;
	margin-right: auto;
	max-width: 52rem;
}

.window-block__buttons {
	display: flex;
	justify-content: center;
	margin-top: 3rem;
}

.window-block__text h2 {
	font-size: 3em;
}

/* Match bottom heading colour to top market colour */

.section--window-block-top-market-blue .window-block__text h2,
.section--window-block-top-market-blue .window-block__text h3 {
	color: var(--dd-market-blue);
}

.section--window-block-top-dark-green .window-block__text h2,
.section--window-block-top-dark-green .window-block__text h3 {
	color: var(--dd-dark-green);
}

.section--window-block-top-darkest-green .window-block__text h2,
.section--window-block-top-darkest-green .window-block__text h3 {
	color: var(--dd-darkest-green);
}

.section--window-block-top-pale-green .window-block__text h2,
.section--window-block-top-pale-green .window-block__text h3 {
	color: var(--dd-pale-green);
}

.section--window-block-top-palest-green .window-block__text h2,
.section--window-block-top-palest-green .window-block__text h3 {
	color: var(--dd-palest-green);
}

/* Responsive */

@media (max-width: 1500px) {
	.window-block__top {
		min-height: 74rem;
	}

	.window-block__windows {
		bottom: 0rem;
		gap: 4rem;
	}

	.window-block__window {
		height: 36rem;
		width: 36rem;
	}

	.window-block__window--1 {
		margin-left: -18rem;
	}

	.window-block__window--5 {
		margin-right: -18rem;
	}
	
}

@media (max-width: 1023px) {
	.window-block__top {
		min-height: 62rem;
	}

	.window-block__header {
		gap: 3rem;
	}

	.window-block__title-image {
		max-width: 17rem;
	}

	.window-block__windows {
		bottom: 0rem;
		gap: 2.5rem;
	}

	.window-block__window {
		height: 28rem;
		width: 28rem;
	}

	.window-block__window--1 {
		margin-left: -14rem;
	}

	.window-block__window--5 {
		margin-right: -14rem;
	}

	.window-block__bottom {
		padding-top: 10rem;
	}

	.window-block__text h2 {
    font-size: 2em;
    text-align: left;
	}

	.window-block__text p {
		text-align: left;
	}

	.section--window-block {

	}
}

@media (max-width: 1023px) {
	.window-block__top {
		min-height: 55rem;
	}

		.window-block__top {
		background-position: right top;
	}



	.window-block__header {
		display: block;
		max-width: 42rem;
	}

	.window-block__title-image {
		margin: 0 0 2.5rem;
		max-width: 12rem;
	}

	.window-block__title {
		text-align: left;
	}

	.window-block__windows {
		bottom: 0rem;
		gap: 1.5rem;
	}
	

	.window-block__window {
		height: 18rem;
		width: 18rem;
	}

	.window-block__window--1 {
		margin-left: -9rem;
	}

	.window-block__window--5 {
		margin-right: -9rem;
	}

	.window-block__bottom {
		padding-top: 7rem;
	}

	.window-block__buttons {
		display: block;
	}

	.window-block__text p {
		text-align: left;
	}

	.window-block__text h2 {
		font-size: 2em;
		text-align: left;
	}
}



@media screen and (max-width: 1023px) {
	.header.header--search-closing-no-anim .header__search {
		transition: none !important;
	}

	.header.header--search-closing-no-anim .header__bottom,
	.header.header--search-closing-no-anim .header__inner,
	.header.header--search-closing-no-anim .header__search,
	.header.header--search-closing-no-anim .asp_main_container,
	.header.header--search-closing-no-anim .probox {
		transition: none !important;
	}
}

/* ==========================================================================
   Split block tick lists
   ========================================================================== */

   .section--split-block .section__text--ticks li:not(:last-child) {
    margin-bottom:0.5em;
}



.section--split-block .section__text--ticks ul {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}

.section--split-block .section__text--ticks li {
	list-style: none;
	padding-left: 2.5rem;
	position: relative;
}

.section--split-block .section__text--ticks li::marker {
	content: "";
}

.section--split-block .section__text--ticks li::before {
	background:
		var(
			--split-accent,
			var(--dd-market-blue)
		);
	content: "" !important;
	display: block;
	height: 1.5rem;
	left: 0;
	-webkit-mask-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256,0C114.84,0,0,114.84,0,256s114.84,256,256,256,256-114.84,256-256S397.16,0,256,0ZM254.06,328.94c-8.26,8.26-19.11,12.37-30.02,12.37s-21.87-4.16-30.21-12.48l-59.35-57.51,29.72-30.66,59.58,57.75,123.93-121.62,29.95,30.4-123.58,121.75h-.02Z'/%3E%3C/svg%3E");
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256,0C114.84,0,0,114.84,0,256s114.84,256,256,256,256-114.84,256-256S397.16,0,256,0ZM254.06,328.94c-8.26,8.26-19.11,12.37-30.02,12.37s-21.87-4.16-30.21-12.48l-59.35-57.51,29.72-30.66,59.58,57.75,123.93-121.62,29.95,30.4-123.58,121.75h-.02Z'/%3E%3C/svg%3E");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	top: 0.22em;
	width: 1.5rem;
}


/* ==========================================================================
   Split block extras
   ========================================================================== */

   .section--split-block.section--has-accent .column-l-4 .text-icon-figure--no-icon .text-icon-figure__title {
    font-family:"Figtree", sans-serif;
    font-size:1.25em;
    font-weight: 600;
    max-width: 100%;
}
   

.section--split-block {
	overflow: hidden;
	position: relative;
	
}



.section--split-block > .container {
	position: relative;
	z-index: 4;
}

/* Main split image: use 50% of the section, not 50vw */

.section--split-block .section__background-image--split {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	bottom: 0;
	display: block;
	position: absolute;
	top: 0;
	width: 50%;
	z-index: 1;
}

/* Image on left */
.section--split-block .section__background-image--split-left {
	left: 0;
	right: auto;
}

/* Image on right */
.section--split-block .section__background-image--split-right {
	left: 50%;
	right: auto;
}

/* Middle floating image sits on the exact 50% split line */

.section__middle-image {
	left: 50%;
	margin: 0;
	max-width: 30rem;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 26vw;
	z-index: 5;
}

.section__middle-image img {
	display: block;
	height: auto;
	width: 100%;
}

/* Decorative windows: only on the colour/content side */

.section__split-background-windows {
	background-image: var(--split-windows-image);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 100% auto;
	bottom: 0;
	height: 100%;
	pointer-events: none;
	position: absolute;
	width: 50%;
	z-index: 2;
}

/*
   IMPORTANT:
   Your PHP does this:
   - section--split-standard = image left / content colour right
   - section--split-inverse = image right / content colour left
*/

/* Standard: windows on right colour side */
.section--split-standard .section__split-background-windows {
	left: 50%;
	right: auto;
}

/* Inverse: windows on left colour side */
.section--split-inverse .section__split-background-windows {
	left: 0;
	right: auto;
}


@media screen and (min-width:1023px) {

	


	.section--split-block {
    display: flex;
    justify-content: center;
    align-items:center;
	min-height: 80rem;
}
}
/* Mobile */

@media screen and (max-width: 1023px) {
	
	.section__middle-image {
		bottom: 26rem;
		left: 50%;
		max-width: 24rem;
		top: auto;
		transform: translateX(-50%);
		width: 62vw;
	}

	.section__split-background-windows {
		background-size: 100% auto;
		height: 100%;
		left: 0 !important;
		right: auto !important;
		width: 100%;
	}
}





/* ==========================================================================
   News figures - event style overrides / colour failsafes
   ========================================================================== */

.section--news-image-figures {
	--news-section-text: var(--dd-dark-green);
	--news-section-muted: var(--dd-dark-green);
	--news-card-bg: #fff;
	--news-card-text: var(--dd-dark-green);
	--news-card-muted: var(--dd-dark-green);
	--news-accent: var(--dd-shop-green);
	--news-accent-hover: var(--dd-dark-green);
	--news-label-bg: var(--dd-paler-green);
	--news-label-text: var(--dd-dark-green);
	--news-icon: var(--dd-shop-green);
	overflow: hidden;
}

/* Darwen Market selected at block level */

.section--news-image-figures.section--news-market {
	--news-accent: var(--dd-market-blue);
	--news-icon: var(--dd-market-blue);
}

/* Darwen Market category on individual article */

.news-figure--category-darwen-market {
	--news-accent: var(--dd-market-blue);
	--news-icon: var(--dd-market-blue);
}

/* Section text defaults */

.section--news-image-figures .section__primary-title,
.section--news-image-figures .section__intro-text,
.section--news-image-figures .section__intro-text p,
.section--news-image-figures .slider__count {
	color: var(--news-section-text);
}

.section--news-image-figures .section__intro-text {
	max-width: 62rem;
}

/* Dark background failsafes */

.section--news-image-figures.section--dark-green,
.section--news-image-figures.section--teal,
.section--news-image-figures.section--market-blue {
	--news-section-text: #fff;
	--news-section-muted: #fff;
}

.section--news-image-figures.section--dark-green .section__primary-title,
.section--news-image-figures.section--teal .section__primary-title,
.section--news-image-figures.section--market-blue .section__primary-title,
.section--news-image-figures.section--dark-green .section__intro-text,
.section--news-image-figures.section--teal .section__intro-text,
.section--news-image-figures.section--market-blue .section__intro-text,
.section--news-image-figures.section--dark-green .section__intro-text p,
.section--news-image-figures.section--teal .section__intro-text p,
.section--news-image-figures.section--market-blue .section__intro-text p,
.section--news-image-figures.section--dark-green .slider__count,
.section--news-image-figures.section--teal .slider__count,
.section--news-image-figures.section--market-blue .slider__count {
	color: #fff;
}

/* Buttons/arrows on dark section backgrounds */

.section--news-image-figures.section--dark-green .slider__button,
.section--news-image-figures.section--teal .slider__button,
.section--news-image-figures.section--market-blue .slider__button {
	background: #fff;
	color: var(--dd-dark-green);
}

.section--news-image-figures.section--dark-green .slider__button svg,
.section--news-image-figures.section--teal .slider__button svg,
.section--news-image-figures.section--market-blue .slider__button svg {
	fill: var(--dd-dark-green);
}

.section--news-image-figures.section--dark-green .slider__button:hover,
.section--news-image-figures.section--teal .slider__button:hover,
.section--news-image-figures.section--market-blue .slider__button:hover {
	background: var(--dd-shop-green);
	color: var(--dd-dark-green);
}

.section--news-image-figures.section--dark-green .slider__button:hover svg,
.section--news-image-figures.section--teal .slider__button:hover svg,
.section--news-image-figures.section--market-blue .slider__button:hover svg {
	fill: var(--dd-dark-green);
}

/* Intro layout */

.section__intro--news-slider {
	align-items: flex-end;
	display: flex;
	gap: 4rem;
	justify-content: space-between;
	margin-bottom: 5rem;
}

.section__intro--news-slider .section__intro-main {
	max-width: 76rem;
}

.section__intro--news-slider .section__intro-actions {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: 1.5rem;
	justify-content: flex-end;
}

/* Slider */

.slider--news-figures {
	--slider-gap: 3rem;
	overflow: visible;
}

.slider--news-figures .slick-list {
	overflow: visible !important;
	width: calc(100% + var(--slider-gap)) !important;
	margin-left: calc(var(--slider-gap) * -0.5) !important;
	margin-right: calc(var(--slider-gap) * -0.5) !important;
}

.slider--news-figures .slick-track {
	display: flex !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.slider--news-figures .slick-slide {
	height: auto;
	padding-left: calc(var(--slider-gap) * 0.5);
	padding-right: calc(var(--slider-gap) * 0.5);
}

.slider--news-figures .slick-slide > div {
	height: 100%;
}

.slider--news-figures [data-slides] {
	display: block;
}

.slider--news-figures [data-slide],
.news-slider__slide {
	display: block;
	height: 100%;
}

.news-slider__slide > div,
.news-slider__slide .news-figure {
	height: 100%;
}

@media screen and (max-width: 1023px) {
	.slider--news-figures {
		--slider-gap: 1.5rem;
	}
}
/* Card */

.section--pale-green .news-figure--event-style {
	border:2px solid var(--dd-pale-green);
}

.news-figure--event-style {
	background: var(--news-card-bg);
	border-radius: 2.4rem;
	border:2px solid var(--dd-palest-green);
	color: var(--news-card-text);
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	position: relative;
}

.news-figure__image-link {
	display: block;
	overflow: hidden;
	text-decoration: none;
}

.news-figure__image {
	aspect-ratio: 16 / 9;
	background: var(--dd-paler-green);
	display: block;
	height: auto;
	object-fit: cover;
	object-position: center;
	transition: transform .5s ease-in-out;
	width: 100%;
}

.news-figure__image--placeholder {
	aspect-ratio: 16 / 9;
	background: var(--dd-paler-green);
	display: block;
	width: 100%;
}

.news-figure--event-style:hover .news-figure__image {
	transform: scale(1.04);
}

.news-figure__content {
	color: var(--news-card-text);
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 4rem;
}

.news-figure__labels {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .8rem;
	margin-bottom: 2rem;
}

.news-figure__label {
	display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.6rem;
    padding: 0.4rem 1.3rem;
    border-radius: 999rem;
    background: #cfe9e6;
    color: var(--dd-darkest-green);
    font-size: 0.72em;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
	text-decoration: none;
}

.blog .news-figure__label:hover {
	background:var(--dd-dark-green) !important;
}

.news-figure__label:hover {
	background: var(--news-accent-hover);
	color: #fff !important;
}



.news-figure__title {
	color: var(--news-card-text);
	font-family: "ivypresto-headline", serif;
	font-size: 2em;
	font-weight: 700;
	line-height: 1.08;
	margin: 0 0 2rem;
}

.news-figure__title a {
	color: inherit;
	text-decoration: none;
}

.news-figure__title a:hover {
	color: var(--news-accent);
}

.news-figure__meta {
	align-items: flex-start;
	color: var(--news-card-muted);
	display: flex;
	font-size: .95em;
	font-weight: 700;
	gap: 1rem;
	line-height: 1.4;
	margin-bottom: 2rem;
}

.news-figure__icon {
	color: var(--news-icon);
	fill: var(--dd-shop-green);
	flex: 0 0 auto;
	height: 1.8rem;
	margin-top: .2rem;
	width: 1.8rem;
}

.news-figure__summary {
	color: var(--news-card-muted);
	margin-bottom: 3rem;
}

.news-figure__summary p {
	color: inherit;
	margin: 0;
}

.news-figure__button {
	align-self: flex-start;
	margin-top: auto;
}

/* Slider count flash prevention, shared with events/news */

.slider__count[data-slider-count] {
	opacity: 0;
	transition: opacity .2s ease-in-out;
}

.section--slider-count-ready .slider__count[data-slider-count] {
	opacity: 1;
}

/* Hide arrows/count when there is nothing to scroll */

.section--slider-no-scroll .slider__count,
.section--slider-no-scroll .slider__button {
	display: none !important;
}

/* Tablet */

@media screen and (max-width: 1023px) {
	.section__intro--news-slider {
		align-items: flex-start;
		display: block;
		margin-bottom: 4rem;
	}

	.section__intro--news-slider .section__intro-actions {
		justify-content: flex-start;
		margin-top: 3rem;
	}

	.news-figure__content {
		padding: 3rem;
	}

	.news-figure__title {
		        font-size: 1.7em;
				line-height: 1.12;
	}
}

/* Mobile */

@media screen and (max-width: 1023px) {


	.section__intro--news-slider .section__intro-actions {
		align-items: center;
		flex-wrap: wrap;
		gap: 1rem;
	}

	.news-figure--event-style {
		border-radius: 2rem;
	}

	.news-figure__content {
		padding: 3rem;
	}

	.news-figure__labels {
		gap: .6rem;
		margin-bottom: 1.6rem;
	}

	.news-figure__label {
		font-size: .8em;
		padding: .8rem 1.1rem;
	}

	.news-figure__title {
		  font-size: 1.7em;
				line-height: 1.12;
		margin-bottom: 1.6rem;
	}

	.news-figure__meta {
		font-size: .9em;
		margin-bottom: 1.6rem;
	}

	.news-figure__summary {
		margin-bottom: 2.5rem;
	}
}





.section--slider-no-scroll .slider__count,
.section--slider-no-scroll .slider__button {
	display: none !important;
}


/* ==========================================================================
   Text icon figures - split accent cards
   ========================================================================== */

.section--split-block .text-icon-figure {
	color: inherit;
	display: block;
	text-decoration: none;
}

/* Normal cards with uploaded icons */

.section--split-block .text-icon-figure--has-icon .text-icon-figure__icon-wrap {
	align-items: center;
	background: var(--split-accent);
	border-radius: 1rem;
	color: var(--split-accent-contrast);
	display: inline-flex;
	height: 4rem;
	justify-content: center;
	width: 4rem;
}

.section--split-block .text-icon-figure--has-icon .text-icon-figure__icon {
	display: block;
	height: 2rem;
	object-fit: contain;
	width: 2rem;
}

/* No-icon cards become full accent blocks */

.section--split-block .text-icon-figure--no-icon {
	background: var(--split-accent);
	border-radius: 2rem;
	color: var(--split-accent-contrast);
	padding: 3rem;
}

.section--split-block .text-icon-figure--no-icon .text-icon-figure__title,
.section--split-block .text-icon-figure--no-icon .text-icon-figure__text,
.section--split-block .text-icon-figure--no-icon .text-icon-figure__text p,
.section--split-block .text-icon-figure--no-icon .text-icon-figure__text li {
	color: var(--split-accent-contrast);
}

/* Standard text colours */

.section--split-block .text-icon-figure__title {
	color: var(--dd-dark-green);
	font-family: "ivypresto-headline", serif;
	font-size: 1.55em;
	line-height: 1.15;
}

.section--split-block .text-icon-figure__text {
	color: var(--dd-dark-green);
}

.section--split-block .text-icon-figure__text p {
	color: inherit;
}


.section--split-block .text-icon-figure__link.button {
	align-self: flex-start;
	margin-top: 0rem;
	text-decoration: none;
}

.section--split-block a.text-icon-figure:hover .text-icon-figure__link.button,
.section--split-block .text-icon-figure__link.button:hover {
	background: var(--dd-darkest-green);
	color: #FFF;
}

/* On no-icon accent cards, button should stay readable */

.section--split-block .text-icon-figure--no-icon .text-icon-figure__link.button {
	background: var(--dd-dark-green);
	color: #fff;
}

.section--split-block .text-icon-figure--no-icon:hover .text-icon-figure__link.button,
.section--split-block .text-icon-figure--no-icon .text-icon-figure__link.button:hover {
	background: #fff;
	color: var(--dd-dark-green);
}

/* WYSIWYG list ticks */

.section--split-block .text-icon-figure__text ul {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}

.section--split-block .text-icon-figure__text li {
	color: inherit;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 1rem;
	padding-left: 2.6rem;
	position: relative;
}

.section--split-block .text-icon-figure__text li::before {
	background: var(--split-accent);
	content: "";
	height: 1.5rem;
	left: 0;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256,0C114.84,0,0,114.84,0,256s114.84,256,256,256,256-114.84,256-256S397.16,0,256,0ZM254.06,328.94c-8.26,8.26-19.11,12.37-30.02,12.37s-21.87-4.16-30.21-12.48l-59.35-57.51,29.72-30.66,59.58,57.75,123.93-121.62,29.95,30.4-123.58,121.75h-.02Z'/%3E%3C/svg%3E");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	top: .22em;
	width: 1.5rem;
}

/* On accent cards, list ticks invert nicely */

.section--split-block .text-icon-figure--no-icon .text-icon-figure__text li::before {
	background: var(--split-accent-contrast);
}

/* Dark background failsafe */

.section--split-block.section--dark-green .text-icon-figure--has-icon .text-icon-figure__title,
.section--split-block.section--dark-green .text-icon-figure--has-icon .text-icon-figure__text,
.section--split-block.section--dark-green .text-icon-figure--has-icon .text-icon-figure__text p {
	color: #fff;
}

/* Mobile */

@media screen and (max-width: 1023px) {
	.section--split-block .text-icon-figure--has-icon .text-icon-figure__icon-wrap {
		height: 3.8rem;
		width: 3.8rem;
	}

	.section--split-block .text-icon-figure--no-icon {
		padding: 2.5rem;
	}

	.section--split-block .text-icon-figure__title {
		font-size: 1.35em;
	}
}



/* ==========================================================================
   Split block final controls
   ========================================================================== */

.section--split-block {
	--split-accent: var(--dd-dark-green);
	--split-accent-contrast: #fff;
	overflow: hidden;
	position: relative;
}

.section--split-block > .container {
	position: relative;
	z-index: 4;
}

/* Accent colours only become active when section--has-accent exists */

.section--split-block.section--has-accent.section--accent-shop-green {
	--split-accent: var(--dd-shop-green);
	--split-accent-contrast: var(--dd-dark-green);
}

.section--split-block.section--has-accent.section--accent-yellow {
	--split-accent: var(--dd-yellow);
	--split-accent-contrast: var(--dd-dark-green);
}

.section--split-block.section--has-accent.section--accent-sand {
	--split-accent: var(--dd-sand);
	--split-accent-contrast: var(--dd-dark-green);
}

.section--split-block.section--has-accent.section--accent-pale-green,
.section--split-block.section--has-accent.section--accent-paler-green,
.section--split-block.section--has-accent.section--accent-palest-green {
	--split-accent: var(--dd-paler-green);
	--split-accent-contrast: var(--dd-dark-green);
}

.section--split-block.section--has-accent.section--accent-salmon {
	--split-accent: var(--dd-salmon);
	--split-accent-contrast: var(--dd-dark-green);
}

.section--split-block.section--has-accent.section--accent-market-blue {
	--split-accent: var(--dd-market-blue);
	--split-accent-contrast: #fff;
}

.section--split-block.section--has-accent.section--accent-teal {
	--split-accent: var(--dd-teal);
	--split-accent-contrast: #fff;
}

.section--split-block.section--has-accent.section--accent-dark-green {
	--split-accent: var(--dd-dark-green);
	--split-accent-contrast: #fff;
}

.section--split-block.section--has-accent.section--accent-white {
	--split-accent: #fff;
	--split-accent-contrast: var(--dd-dark-green);
}

/* Accent heading only when accent selected */

.section--split-block.section--has-accent .section__primary-title {
	color: var(--split-accent) !important;
}


.section--split-block.section--has-accent.section--palest-green .section__primary-title b {
	color:var(--dd-dark-green);
}

.section--split-block.section--has-accent.section--accent-white .section__primary-title {
	color: var(--dd-dark-green) !important;
}

.section--split-block.section--has-accent.section--accent-white.section--shop-green .section__primary-title {
	color: #FFF !important;
}

/* ==========================================================================
   Normal split background image
   ========================================================================== */

.section--split-block:not(.section--split-window-cropped-image) .section__background-image--split {
	background-repeat: no-repeat;
	background-size: cover;
	display: block;
	z-index: 1;
}

@media screen and (min-width: 1023px) {
	.section--split-block:not(.section--split-window-cropped-image) .section__background-image--split {
		bottom: 0;
		position: absolute;
		top: 0;
		width: 50%;
	}

	.section--split-block:not(.section--split-window-cropped-image) .section__background-image--split-left {
		left: 0;
		right: auto;
	}

	.section--split-block:not(.section--split-window-cropped-image) .section__background-image--split-right {
		left: 50%;
		right: auto;
	}

	.section--split-block:not(.section--split-window-cropped-image) .section__background-image--split-top,
	.section--split-block:not(.section--split-window-cropped-image) .section__background-image--split-bottom {
		background-position: center center;
	}
}

/* Mobile restores old top/bottom behaviour */

@media screen and (max-width: 1023px) {
	.section--split-block:not(.section--split-window-cropped-image) .section__background-image--split {
		bottom: auto !important;
		display: block !important;
		height: auto !important;
		left: auto !important;
		padding-bottom: 100% !important;
		position: static !important;
		right: auto !important;
		top: auto !important;
		width: calc(100% + 5rem) !important;
	}

	.section--split-block:not(.section--split-window-cropped-image) .section__background-image--split-top {
		background-position: center top !important;
		margin: -6rem -2.5rem 6rem !important;
	}

	.section--split-block:not(.section--split-window-cropped-image) .section__background-image--split-bottom {
		background-position: center bottom !important;
		margin: 6rem -2.5rem -6rem !important;
	}
}

/* ==========================================================================
   Middle floating image
   ========================================================================== */

.section__middle-image {
	left: 50%;
	margin: 0;
	max-width: 30rem;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 26vw;
	z-index: 5;
}

.section__middle-image img {
	display: block;
	height: auto;
	width: 100%;
}

@media screen and (max-width: 1023px) {
	.section__middle-image {
		bottom: 26rem;
		left: 50%;
		max-width: 24rem;
		top: auto;
		transform: translateX(-50%);
		width: 62vw;
	}
}

/* ==========================================================================
   Background windows
   ========================================================================== */

.section__split-background-windows {
	background-image: var(--split-windows-image);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 100% auto;
	bottom: 0;
	height: 100%;
	pointer-events: none;
	position: absolute;
	width: 50%;
	z-index: 2;
}

.section--split-standard .section__split-background-windows {
	left: 50%;
	right: auto;
}

.section--split-inverse .section__split-background-windows {
	left: 0;
	right: auto;
}

@media screen and (max-width: 1023px) {
	.section__split-background-windows {
		background-size: 100% auto;
		height: 100%;
		left: 0 !important;
		right: auto !important;
		width: 100%;
	}
}

/* ==========================================================================
   Window cropped image version
   ========================================================================== */

.section--split-window-cropped-image .section__background-image--split {
	display: none !important;
}

.section--split-window-cropped-image .column-l-6:has(.section__window-cropped-image) {
	align-items: flex-end;
	display: flex;
	justify-content: center;
}

.section__window-cropped-image {
	aspect-ratio: 1.2 / 1.2;
	border-radius: 999rem 999rem 0 0 !important;
	display: block;
	margin: 0 !important;
	max-width: 82rem;
	overflow: hidden !important;
	width: 100%;
}

.section__window-cropped-image img {
	display: block;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	object-position: center center;
	width: 100% !important;
}

@media screen and (max-width: 1023px) {
	.section--split-window-cropped-image .column-l-6:has(.section__window-cropped-image) {
		display: block;
	}

	.section__window-cropped-image {
		margin-top: 5rem !important;
		max-width: none;
		width: 100%;
	}
}

/* ==========================================================================
   Text icon figures
   ========================================================================== */

.section--split-block .text-icon-figure {
	color: inherit;
	display: block;
	text-decoration: none;
}

/* Uploaded-icon cards */

.section--split-block .text-icon-figure--has-icon .text-icon-figure__icon-wrap {
	align-items: center;
	background: var(--dd-yellow);
	border-radius: 1rem;
	color: var(--dd-dark-green);
	display: inline-flex;
	height: 4rem;
	justify-content: center;
	width: 4rem;
}

.section--split-block.section--has-accent .text-icon-figure--has-icon .text-icon-figure__icon-wrap {
	background: var(--split-accent);
	color: var(--split-accent-contrast);
}

.section--split-block .text-icon-figure--has-icon .text-icon-figure__icon {
	display: block;
	height: 2rem;
	object-fit: contain;
	width: 2rem;
}

/* No accent selected: no-icon figures stay normal */

.section--split-block:not(.section--has-accent) .text-icon-figure--no-icon {
	background: transparent;
	border-radius: 0;
	color: inherit;
	padding: 0;
}

/* Accent selected: no-icon figure becomes accent card */

.section--split-block.section--has-accent .text-icon-figure--no-icon {
	background: var(--split-accent);
	border-radius: 2rem;
	color: var(--split-accent-contrast);
	padding: 3rem;
}

.section--split-block.section--has-accent .text-icon-figure--no-icon .text-icon-figure__title,
.section--split-block.section--has-accent .text-icon-figure--no-icon .text-icon-figure__text,
.section--split-block.section--has-accent .text-icon-figure--no-icon .text-icon-figure__text p,
.section--split-block.section--has-accent .text-icon-figure--no-icon .text-icon-figure__text li,
.section--split-block.section--has-accent .text-icon-figure--no-icon strong {
	color: var(--split-accent-contrast) !important;
}

/* Standard title/text */

.section--split-block .text-icon-figure__title {
	color: var(--dd-dark-green);
	font-family: "ivypresto-headline", serif;
	font-size: 1.55em;
	line-height: 1.15;
	margin: 0;
	text-transform: none;
}

.section--split-block .text-icon-figure__text {
	color: var(--dd-dark-green);
	max-width: none;
}

.section--split-block .text-icon-figure__text p {
	color: inherit;
}

/* Dark section background failsafe */

.section--split-block.section--dark-green .text-icon-figure--has-icon .text-icon-figure__title,
.section--split-block.section--dark-green .text-icon-figure--has-icon .text-icon-figure__text,
.section--split-block.section--dark-green .text-icon-figure--has-icon .text-icon-figure__text p,
.section--split-block.section--dark-green .section__secondary-title,
.section--split-block.section--dark-green .section__text,
.section--split-block.section--dark-green .section__text p {
	color: #fff !important;
}

/* Buttons inside text icon figures */

.section--split-block .text-icon-figure__link {
	border-bottom: 0 !important;
	color: inherit;
	font-weight: 700;
	text-decoration: none !important;
}

.section--split-block .text-icon-figure__link.button {
	align-self: flex-start;
	background: var(--dd-dark-green);
	color: #fff !important;
	display: inline-flex;
	margin-top: 0rem;
	max-width: fit-content;
	padding: 1.5rem 3.5rem;
	text-decoration: none !important;
	width: auto;
}


.section--split-block.section--has-accent .text-icon-figure--no-icon .text-icon-figure__link.button {
	background: var(--dd-dark-green) !important;
	color: #fff !important;
}


/* WYSIWYG list ticks */

.section--split-block .text-icon-figure__text ul {
	list-style: none !important;
	margin: 1.5rem 0 0 !important;
	padding: 0 !important;
}

.section--split-block .text-icon-figure__text li {
	color: inherit;
	font-weight: 700;
	line-height: 1.35;
	list-style: none !important;
	margin: 0 0 1rem !important;
	padding-left: 2.6rem !important;
	position: relative;
}

.section--split-block .text-icon-figure__text li::marker {
	content: "" !important;
	display: none !important;
}

.section--split-block .text-icon-figure__text li::before {
	background: var(--dd-yellow);
	content: "" !important;
	display: block;
	height: 1.5rem;
	left: 0;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256,0C114.84,0,0,114.84,0,256s114.84,256,256,256,256-114.84,256-256S397.16,0,256,0ZM254.06,328.94c-8.26,8.26-19.11,12.37-30.02,12.37s-21.87-4.16-30.21-12.48l-59.35-57.51,29.72-30.66,59.58,57.75,123.93-121.62,29.95,30.4-123.58,121.75h-.02Z'/%3E%3C/svg%3E");
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256,0C114.84,0,0,114.84,0,256s114.84,256,256,256,256-114.84,256-256S397.16,0,256,0ZM254.06,328.94c-8.26,8.26-19.11,12.37-30.02,12.37s-21.87-4.16-30.21-12.48l-59.35-57.51,29.72-30.66,59.58,57.75,123.93-121.62,29.95,30.4-123.58,121.75h-.02Z'/%3E%3C/svg%3E");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	top: .22em;
	width: 1.5rem;
}

.section--split-block.section--has-accent .text-icon-figure__text li::before {
	background: var(--split-accent);
}

.section--split-block.section--has-accent .text-icon-figure--no-icon .text-icon-figure__text li::before {
	background: var(--split-accent-contrast) !important;
}

/* Mobile text icon figures */

@media screen and (max-width: 1023px) {
	.section--split-block .text-icon-figure--has-icon .text-icon-figure__icon-wrap {
		height: 3.8rem;
		width: 3.8rem;
	}

	.section--split-block.section--has-accent .text-icon-figure--no-icon {
		padding: 2.5rem;
	}

	.section--split-block .text-icon-figure__title {
		font-size: 1.35em;
	}

	.section--split-block .text-icon-figure__link.button {
		justify-content: center;
		max-width: none;
		width: 100%;
	}
}




/* ==========================================================================
   Window cropped image - restore the actual arch/window shape
   ========================================================================== */

.section--split-window-cropped-image .section__background-image--split {
	display: none !important;
}

.section--split-window-cropped-image .column-l-6:has(.section__window-cropped-image) {
	align-items: flex-end;
	display: flex;
	justify-content: center;
}

.section__window-cropped-image {
	aspect-ratio: 1.2 / 1.2;
	border-radius: 999rem 999rem 0 0 !important;
	display: block;
	margin: 0 !important;
	max-width: 82rem;
	overflow: hidden !important;
	width: 100%;
}

.section__window-cropped-image img {
	display: block;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	object-position: center center;
	width: 100% !important;
}

/* ==========================================================================
   Text icon figures
   ========================================================================== */

.section--split-block .text-icon-figure {
	color: var(--dd-dark-green);
	display: block;
	text-decoration: none;
}

/* Uploaded-icon cards keep small square icon */

.section--split-block .text-icon-figure--has-icon .text-icon-figure__icon-wrap {
	align-items: center;
	background: var(--split-accent) !important;
	border-radius: 1rem;
	color: var(--split-accent-contrast) !important;
	display: inline-flex;
	height: 4rem;
	justify-content: center;
	width: 4rem;
}

.section--split-block .text-icon-figure--has-icon .text-icon-figure__icon {
	display: block;
	height: 2rem;
	object-fit: contain;
	width: 2rem;
}

/* No-icon card becomes the full accent block */

.section--split-block .text-icon-figure--no-icon {
	background: var(--split-accent) !important;
	border-radius: 2rem;
	color: var(--split-accent-contrast) !important;
	padding: 3rem;
}

/* Make sure old title/text styles do not override the accent card */

.section--split-block .text-icon-figure--no-icon .text-icon-figure__title,
.section--split-block .text-icon-figure--no-icon .text-icon-figure__text,
.section--split-block .text-icon-figure--no-icon .text-icon-figure__text p,
.section--split-block .text-icon-figure--no-icon .text-icon-figure__text li,
.section--split-block .text-icon-figure--no-icon strong {
	color: var(--split-accent-contrast) !important;
}

.section--split-block .text-icon-figure__title {
	color: var(--dd-dark-green);
	font-family: "ivypresto-headline", serif;
	font-size: 1.55em;
	line-height: 1.15;
	margin: 0;
	text-transform: none;
}

.section--split-block .text-icon-figure__text {
	color: var(--dd-dark-green);
	max-width: none;
}

.section--split-block .text-icon-figure__text p {
	color: inherit;
}

/* Dark section background failsafe */

.section--split-block.section--dark-green .text-icon-figure--has-icon .text-icon-figure__title,
.section--split-block.section--dark-green .text-icon-figure--has-icon .text-icon-figure__text,
.section--split-block.section--dark-green .text-icon-figure--has-icon .text-icon-figure__text p {
	color: #fff !important;
}

/* ==========================================================================
   Button/link fix inside text icon figures
   ========================================================================== */

/* Kill old underline-link styling from existing CSS */

.section--split-block .text-icon-figure__link {
	border-bottom: 0 !important;
	color: inherit;
	font-weight: 700;
	text-decoration: none !important;
}

/* Proper button styling */

.section--split-block .text-icon-figure__link.button {
	align-self: flex-start;
	background: var(--dd-dark-green);
	color: #fff !important;
	display: inline-flex;
	margin-top: 0rem;
	max-width: fit-content;
	padding: 1.5rem 3.5rem;
	text-decoration: none !important;
	width: auto;
}


/* On accent cards, invert the button */

.section--split-block .text-icon-figure--no-icon .text-icon-figure__link.button {
	background: var(--dd-dark-green) !important;
	color: #fff !important;
}

.section--split-block .text-icon-figure--no-icon:hover .text-icon-figure__link.button,
.section--split-block .text-icon-figure--no-icon .text-icon-figure__link.button:hover {
	background: #fff !important;
	color: var(--dd-dark-green) !important;
}

/* ==========================================================================
   WYSIWYG list ticks - remove default bullets and use custom tick icon
   ========================================================================== */

.section--split-block .text-icon-figure__text ul {
	list-style: none !important;
	margin: 1.5rem 0 0 !important;
	padding: 0 !important;
}

.section--split-block .text-icon-figure__text li {
	color: inherit;
	font-weight: 700;
	line-height: 1.35;
	list-style: none !important;
	margin: 0 0 1rem !important;
	padding-left: 2.6rem !important;
	position: relative;
}

.section--split-block .text-icon-figure__text li::marker {
	content: "" !important;
	display: none !important;
}

.section--split-block .text-icon-figure__text li::before {
	background: var(--split-accent);
	content: "" !important;
	display: block;
	height: 1.5rem;
	left: 0;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256,0C114.84,0,0,114.84,0,256s114.84,256,256,256,256-114.84,256-256S397.16,0,256,0ZM254.06,328.94c-8.26,8.26-19.11,12.37-30.02,12.37s-21.87-4.16-30.21-12.48l-59.35-57.51,29.72-30.66,59.58,57.75,123.93-121.62,29.95,30.4-123.58,121.75h-.02Z'/%3E%3C/svg%3E");
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256,0C114.84,0,0,114.84,0,256s114.84,256,256,256,256-114.84,256-256S397.16,0,256,0ZM254.06,328.94c-8.26,8.26-19.11,12.37-30.02,12.37s-21.87-4.16-30.21-12.48l-59.35-57.51,29.72-30.66,59.58,57.75,123.93-121.62,29.95,30.4-123.58,121.75h-.02Z'/%3E%3C/svg%3E");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	top: .22em;
	width: 1.5rem;
}

/* On the full accent card, ticks should be dark/white depending on contrast */

.section--split-block .text-icon-figure--no-icon .text-icon-figure__text li::before {
	background: var(--split-accent-contrast) !important;
}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media screen and (max-width: 1023px) {
	.section--split-window-cropped-image .column-l-6:has(.section__window-cropped-image) {
		display: block;
	}

	.section__window-cropped-image {
		aspect-ratio: 1.2 / 1.2;
		margin-top: 5rem !important;
		max-width: none;
		width: 100%;
	}

	.section--split-block .text-icon-figure--has-icon .text-icon-figure__icon-wrap {
		height: 3.8rem;
		width: 3.8rem;
	}

	.section--split-block .text-icon-figure--no-icon {
		padding: 2.5rem;
	}

	.section--split-block .text-icon-figure__title {
		font-size: 1.35em;
	}

	.section--split-block .text-icon-figure__link.button {
		justify-content: center;
		max-width: none;
		width: fit-content;
	}
}



/* ==========================================================================
   FINAL FIX - Split block mobile safety reset
   ========================================================================== */

/* Desktop/default normal split image */
.section--split-block:not(.section--split-window-cropped-image) .section__background-image--split {
	background-repeat: no-repeat;
	background-size: cover;
	display: block;
	z-index: 1;
}

/* Desktop only: keep normal split image as true half section */
@media screen and (min-width: 1023px) {
	.section--split-block:not(.section--split-window-cropped-image) .section__background-image--split {
		bottom: 0;
		position: absolute;
		top: 0;
		width: 50%;
	}

	.section--split-block:not(.section--split-window-cropped-image) .section__background-image--split-left {
		left: 0;
		right: auto;
	}

	.section--split-block:not(.section--split-window-cropped-image) .section__background-image--split-right {
		left: 50%;
		right: auto;
	}
}

/* Mobile: restore original split block flow */
@media screen and (max-width: 1023px) {
	.section--split-block:not(.section--split-window-cropped-image) .section__background-image--split {
		bottom: auto !important;
		display: block !important;
		height: auto !important;
		left: auto !important;
		margin: 6rem -2.5rem -6rem !important;
		padding-bottom: 100% !important;
		position: static !important;
		right: auto !important;
		top: auto !important;
		width: calc(100% + 5rem) !important;
	}

	.section--split-block:not(.section--split-window-cropped-image) .section__background-image--split-top {
		margin-bottom: 6rem !important;
		margin-top: -6rem !important;
	}

	.section--split-block:not(.section--split-window-cropped-image) .section__background-image--split-bottom {
		margin-bottom: -6rem !important;
		margin-top: 6rem !important;
	}

		
	.section--split-block.section--split-has-middle-image.section--split-mobile-image-bottom.section--has-background-windows >  .section__background-image--split-bottom {
	    margin:0 !important;
	}



	
	.section--split-block.section--split-has-middle-image.section--split-mobile-image-top .container .section__middle-image {
	  top: -12rem;
	}
	
	
		
	.section--split-block.section--split-has-middle-image.section--split-mobile-image-top .container {
	    padding-top:6rem;
	    padding-bottom:10rem !important;
	}
}

/* Mobile background positioning controls */
@media screen and (max-width: 1023px) {
	.section--split-block .section__background-image--split-top {
		background-position: center top !important;
	}

	.section--split-block .section__background-image--split-bottom {
		background-position: center bottom !important;
	}

	.section--split-has-windows.section--has-background-windows.section--split-mobile-image-top  > .section__split-background-windows {
        display: block !important;
}


.section--split-has-windows.section--has-background-windows.section--split-mobile-image-top  >  .container::after {
    display: none !important;
}
}

/* Window cropped blocks should NOT use the old background span */
.section--split-window-cropped-image .section__background-image--split {
	display: none !important;
}

/* Window cropped image stays inside the container */
.section--split-window-cropped-image .section__window-cropped-image {
	aspect-ratio: 1.2 / 1.2;
	border-radius: 999rem 999rem 0 0 !important;
	display: block;
	margin: 0 !important;
	max-width: 82rem;
	overflow: hidden !important;
	width: 100%;
}

.section--split-window-cropped-image .section__window-cropped-image img {
	display: block;
	height: 100% !important;
	object-fit: cover;
	object-position: center center;
	width: 100% !important;
}

@media screen and (max-width: 1023px) {
	.section--split-window-cropped-image .section__window-cropped-image {
		margin-top: 5rem !important;
		max-width: none;
		width: 100%;
	}
}

/* ==========================================================================
   Split block mobile middle image / windows fix
   ========================================================================== */

.section--split-block > .container {
	overflow: visible;
	position: relative;
}

.section--split-block > .container > .row {
	position: relative;
	z-index: 3;
}

/* Desktop keeps middle image centred on the split */

@media screen and (min-width: 1023px) {
	.section--split-block > .container .section__middle-image {
		left: 50%;
		margin: 0;
		max-width: 25rem;
		pointer-events: none;
		position: absolute;
		top: 50%;
		transform: translate(-50%, -50%);
		width: 25vw;
		z-index: 5;
	}

	.section--split-block > .container .section__middle-image img {
		display: block;
		height: auto;
		width: 100%;
	}
}

/* Mobile: middle image belongs to the coloured/content area, not the image */

@media screen and (max-width: 1023px) {
	.section--split-block.section--split-has-middle-image > .container {
		padding-bottom: 12rem;
	}

	.section--split-block.section--split-has-middle-image.section--has-background-windows > .container {
		padding-bottom: 12.5rem;
	}

	.section--split-block > .container .section__middle-image {
		bottom: -7rem;
		left: 2.5rem;
		margin: 0;
		max-width: 15rem;
		pointer-events: none;
		position: absolute;
		top: auto;
		transform: none;
		width: 42vw;
		z-index: 5;
	}

	.section--split-block > .container .section__middle-image img {
		display: block;
        height: auto;
        max-height: 15rem;
        width: auto;
	}
}

/* Mobile windows should sit at the bottom of the coloured/content area */

@media screen and (max-width: 1023px) {
	.section--split-block.section--has-background-windows > .section__split-background-windows {
		display: none !important;
	}

	.section--split-block.section--has-background-windows > .container::after {
		background-image: var(--split-windows-image);
		background-position: center bottom;
		background-repeat: no-repeat;
		background-size: 100% auto;
		bottom: 0;
		content: "";
		height: 9rem;
		left: 0;
		pointer-events: none;
		position: absolute;
		width: 100%;
		z-index: 1;
	}

	.section--split-block.section--has-background-windows > .container > .row,
	.section--split-block.section--has-background-windows > .container .section__middle-image {
		position: relative;
		z-index: 3;
	}

	.section--split-block.section--has-background-windows > .container .section__middle-image {
		position: absolute;
		z-index: 4;
	}
}

/* Small mobile tweak */

@media screen and (max-width: 480px) {
	.section--split-block > .container .section__middle-image {
		bottom: -12rem;
		max-width: 13.5rem;
		width: 40vw;
	}

	.section--split-block.section--split-has-middle-image > .container {
		padding-bottom: 10rem;
	}

	.section--split-block.section--split-has-middle-image.section--has-background-windows > .container {
		padding-bottom: 12rem;
	}

	.section--split-block.section--has-background-windows > .container::after {
		height: 8rem;
	}
}



/* ==========================================================================
   Split block - window cropped mobile top/bottom ordering
   ========================================================================== */

@media screen and (max-width: 1023px) {
	/* Allow the two columns to be reordered cleanly */
	.section--split-window-cropped-image .row {
		display: flex;
	}

	.section--split-window-cropped-image .column-l-6 {
		width: 100%;
	}

	/* Mobile image TOP */
	.section--split-window-cropped-image.section--split-mobile-image-top .column-l-6:has(.section__window-cropped-image) {
		order: -1;
		margin-bottom: 5rem;
	}

	.section--split-window-cropped-image.section--split-mobile-image-top .section__window-cropped-image {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	/* Mobile image BOTTOM */
	.section--split-window-cropped-image.section--split-mobile-image-bottom .column-l-6:has(.section__window-cropped-image) {
		order: 2;
		margin-top: 5rem;
	}

	.section--split-window-cropped-image.section--split-mobile-image-bottom .section__window-cropped-image {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	/* Content column always sits naturally opposite the image */
	.section--split-window-cropped-image .column-l-6:not(:has(.section__window-cropped-image)) {
		order: 1;
	}

	/* Keep the cropped image tidy */
	.section--split-window-cropped-image .section__window-cropped-image {
		width: 100%;
		max-width: none;
	}
}


/* ==========================================================================
   Footer buildings desktop/mobile placement
   ========================================================================== */

.footer__buildings--mobile,
.footer__mobile-buildings-wrap {
	display: none;
}

.footer__buildings--desktop {
	display: block;
}

@media (max-width: 640px) {
	.footer__buildings--desktop {
		display: none !important;
	}

	.footer__mobile-buildings-wrap {
		display: block;
		background: var(--dd-darkest-green);
		padding: 0;
	}

	.footer__buildings--mobile {
		display: block;
		width: min(100%, 22rem);
		height: auto;
		margin: 0;
		opacity: 1;
		pointer-events: none;
	}

	.footer--discover .footer__top {
		padding-bottom: 5rem;
	}
}




/* ==========================================================================
   Accessible focus / active outlines
   ========================================================================== */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.button:focus-visible,
.header__nav-link:focus-visible,
.header__sub-nav-link:focus-visible,
.footer a:focus-visible,
.slider__button:focus-visible {
	outline: 3px solid var(--dd-yellow) !important;
	outline-offset: 6px;
	box-shadow: 0 0 0 2px var(--dd-darkest-green);
}

/* Mouse click active state, subtle but visible */

a:active,
button:active,
.button:active,
.header__nav-link:active,
.header__sub-nav-link:active,
.footer a:active,
.slider__button:active {
	outline: 2px solid var(--dd-shop-green) !important;
	outline-offset: 6px;
}


#ajaxsearchpro1_1 .probox .proinput input.orig:focus-visible {
    outline:none !important;
}






/* ==========================================================================
   CTA block
   ========================================================================== */

.section--cta-block {
	background: linear-gradient(
		to bottom,
		var(--cta-block-background, var(--dd-white)) 0%,
		var(--cta-block-background, var(--dd-white)) 50%,
		var(--dd-darkest-green) 50%,
		var(--dd-darkest-green) 100%
	);
	padding: 0;
}

.cta-block {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 auto;
	max-width: 100%;
	overflow: hidden;
	border-radius: 2rem;
}

.section--cta-block-single .cta-block {
	grid-template-columns: minmax(0, 1fr);
}

.cta-block__panel {
	position: relative;
	min-height: 43rem;
	overflow: hidden;
	color: #fff;
}

/* ==========================================================================
   CTA panel colours
   ========================================================================== */

.cta-block__panel--shop-green {
	background: var(--dd-shop-green);
}

.cta-block__panel--pink {
	background:var(--dd-pink);
}

.cta-block__panel--dark-green {
	background: var(--dd-dark-green);
}

.cta-block__panel--darkest-green {
	background: var(--dd-darkest-green);
}

.cta-block__panel--teal {
	background: var(--dd-teal);
}

.cta-block__panel--market-blue {
	background: var(--dd-market-blue);
}

.cta-block__panel--salmon {
	background: var(--dd-salmon);
}

.cta-block__panel--yellow {
	background: var(--dd-yellow);
	color: var(--dd-darkest-green);
}

.cta-block__panel--pale-green {
	background: var(--dd-pale-green);
	color: var(--dd-darkest-green);
}

.cta-block__panel--paler-green,
.cta-block__panel--palest-green {
	background: var(--dd-paler-green);
	color: var(--dd-darkest-green);
}

.cta-block__panel--white {
	background: #fff;
	color: var(--dd-darkest-green);
}


.single-places .section--cta-block-single ,
.single-events .section--cta-block-single {
           background: linear-gradient(
    to bottom,
    var(--dd-palest-green) 0%,
    var(--dd-palest-green) 50%,
    var(--dd-darkest-green) 50%,
    var(--dd-darkest-green) 100%
);
}


/* ==========================================================================
   CTA content
   ========================================================================== */

.cta-block__inner {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	min-height: inherit;
	padding: 7rem 9rem;
}

.cta-block__content {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 48rem;
}

.cta-block__title {
	margin: 0 0 2rem;
	color: inherit;
	font-family: "ivypresto-headline", serif;
	font-size: 2.5em;
	line-height: 1;
}

.cta-block__text {
	margin-bottom: 3rem;
	color: inherit;
	font-size: 1.05em;
}

.cta-block__text,
.cta-block__text p,
.cta-block__text li {
	color: inherit;
}

.cta-block__button {
	margin-top: .5rem;
}

/* Leave room for the two images on split promo panels */

.section--cta-block-split .cta-block__panel--promo.cta-block__panel--has-images .cta-block__inner {
	padding-right: 22rem;
}

.section--cta-block-split .cta-block__panel--promo.cta-block__panel--has-images .cta-block__content {
	max-width: 38rem;
}

/* ==========================================================================
   Promo curved images
   ========================================================================== */

.cta-block__images {
	position: absolute;
	top: 0;
	right: 6rem;
	bottom: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	width: 16rem;
	pointer-events: none;
}

.cta-block__image {
	position: relative;
	flex: 1 1 50%;
	margin: 0;
	min-height: 0;
	overflow: hidden;
}

.cta-block__image img {
	display: block;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center center;
	width: 100%;
}

/*
 * Same principle as section__window-cropped-image:
 * huge radius + overflow hidden.
 */

.cta-block__image--top {
	border-radius: 0 0 999rem 999rem;
}

.cta-block__image--bottom {
	border-radius: 999rem 999rem 0 0;
}

/* A small visual gap when both images are present */

.cta-block__image--top + .cta-block__image--bottom {
	margin-top: 2rem;
}

/* Single supplied image still gets a sensible height */

.cta-block__images .cta-block__image:only-child {
	flex-basis: 70%;
	max-height: 70%;
}

/* ==========================================================================
   Newsletter form
   ========================================================================== */

.cta-newsletter-form {
	margin-top: 3rem;
}

.cta-newsletter-form__row {
	display: flex;
	width: 100%;
	max-width: 48rem;
	background: #fff;
	border: 2px solid var(--dd-dark-green);
	border-radius: 999rem;
	overflow: hidden;
}

.cta-newsletter-form__row input {
	flex: 1;
	min-width: 0;
	background: #fff;
	border: 0;
	box-shadow: none;
	color: var(--dd-dark-green);
	font-size: 1em;
	font-weight: 600;
	padding: 1.4rem 2.5rem;
	outline: 0;
}

.cta-newsletter-form__row input::placeholder {
	color: var(--dd-dark-green);
	opacity: 1;
}

.cta-newsletter-form__row:focus-within {
	outline: 3px solid var(--dd-yellow);
	outline-offset: 3px;
}

.cta-newsletter-form__submit {
	flex: 0 0 auto;
	background: var(--dd-dark-green);
	border: 0;
	border-radius: 999rem;
	color: #fff;
	cursor: pointer;
	font-weight: 700;
	padding: 1.4rem 2.8rem;
}

.cta-newsletter-form__submit:hover,
.cta-newsletter-form__submit:focus {
	background: var(--dd-darkest-green);
	color: #fff;
}

.cta-newsletter-form__privacy {
	margin-top: 2.5rem;
	max-width: 44rem;
	color: inherit;
	font-size: .72em;
	line-height: 1.6;
}

.cta-newsletter-form__privacy,
.cta-newsletter-form__privacy p,
.cta-newsletter-form__privacy a {
	color: inherit;
}

.cta-newsletter-form__iframe {
	display: none;
}

/* ==========================================================================
   Promo windows artwork
   ========================================================================== */

.cta-block__panel--has-windows::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	height: 11rem;
	background-image: var(--cta-windows-image);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 100% auto;
	content: "";
	pointer-events: none;
}

.cta-block__panel--promo.cta-block__panel--has-windows .cta-block__inner {
	
}

/* Images stay above the window artwork */

.cta-block__panel--has-windows .cta-block__images {
	bottom: 0;
	z-index: 2;
}

/* ==========================================================================
   Single panel layout
   ========================================================================== */

.section--cta-block-single .cta-block__panel {
	min-height: 48rem;
}

.section--cta-block-single .cta-block__inner {
	justify-content: center;
}

.section--cta-block-single .cta-block__content {
	max-width: 65rem;
}

.section--cta-block-single .cta-block__panel--newsletter .cta-block__inner {
	text-align: center;
}

.section--cta-block-single .cta-block__panel--newsletter .cta-newsletter-form__row,
.section--cta-block-single .cta-block__panel--newsletter .cta-newsletter-form__privacy {
	margin-left: auto;
	margin-right: auto;
}

/* Full-width promo with images */

.section--cta-block-single .cta-block__panel--promo.cta-block__panel--has-images .cta-block__inner {
	justify-content: flex-start;
	padding-right: 35rem;
}

.section--cta-block-single .cta-block__panel--promo.cta-block__panel--has-images .cta-block__content {
	max-width: 70rem;
}

.section--cta-block-single .cta-block__images {
	right: 10rem;
	width: 20rem;
}

/* ==========================================================================
   CTA tablet
   ========================================================================== */

@media screen and (max-width: 1023px) {
	.section--cta-block {
		padding: 0;
	}

	.cta-block {
		grid-template-columns: 1fr;
		max-width: 65rem;
	}

	.cta-block__panel {
		min-height: auto;
	}

	.cta-block__inner,
	.section--cta-block-single .cta-block__panel--promo.cta-block__panel--has-images .cta-block__inner,
	.section--cta-block-split .cta-block__panel--promo.cta-block__panel--has-images .cta-block__inner {
		min-height: 50rem;
		padding: 7rem 20rem 7rem 7rem;
	}

	.cta-block__images,
	.section--cta-block-single .cta-block__images {
		right: 4rem;
		width: 14rem;
	}

	.section--cta-block-single .cta-block__panel--newsletter .cta-block__inner,
	.cta-block__panel--newsletter .cta-block__inner,
	.cta-block__panel--promo:not(.cta-block__panel--has-images) .cta-block__inner {
		padding-right: 7rem;
	}
}

/* ==========================================================================
   CTA mobile
   ========================================================================== */

@media screen and (max-width: 1023px) {
	.section--cta-block {
		background: linear-gradient(
			to bottom,
			var(
				--cta-block-background,
				var(--dd-white)
			) 0,
			var(
				--cta-block-background,
				var(--dd-white)
			) 8rem,
			var(--dd-darkest-green) 8rem,
			var(--dd-darkest-green) 100%
		);
		padding: 0;
	}

	.section--cta-block .container {
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}

	.cta-block {
		border-radius: 1.8rem;
	}

	.cta-block__inner,
	.section--cta-block-single .cta-block__panel--promo.cta-block__panel--has-images .cta-block__inner,
	.section--cta-block-split .cta-block__panel--promo.cta-block__panel--has-images .cta-block__inner {
		align-items: flex-start;
		min-height: auto;
		padding: 6rem 4rem;
	}

	.cta-block__content,
	.section--cta-block-single .cta-block__panel--promo.cta-block__panel--has-images .cta-block__content,
	.section--cta-block-split .cta-block__panel--promo.cta-block__panel--has-images .cta-block__content {
		max-width: calc(100% - 15rem);
	}

	.cta-block__panel--newsletter .cta-block__content {
		max-width: none;
	}

	.cta-block__panel--promo.cta-block__panel--has-images .cta-block__inner {
		min-height: 63rem;
		padding-bottom: 17rem;
	}

	.cta-block__title {
		font-size: 2.5em;
	}

	.cta-block__text {
		font-size: 1.1em;
	}

	/* Mobile curved image stack */

	.cta-block__images,
	.section--cta-block-single .cta-block__images {
		top: 0;
		right: 4rem;
		bottom: 0;
		width: 12rem;
	}

	.cta-block__image--top + .cta-block__image--bottom {
		margin-top: 2rem;
	}

	/* Newsletter input/button split onto separate rows */

	.cta-newsletter-form__row {
		display: block;
		background: transparent;
		border: 0;
		border-radius: 0;
		overflow: visible;
	}

	.cta-newsletter-form__row:focus-within {
		outline: 0;
	}

	.cta-newsletter-form__row input {
		display: block;
		width: 100%;
		border: 2px solid var(--dd-dark-green);
		border-radius: 999rem;
		padding: 1.5rem 2.5rem;
	}

	.cta-newsletter-form__row input:focus-visible {
		outline: 3px solid var(--dd-yellow);
		outline-offset: 3px;
	}

	.cta-newsletter-form__submit {
		display: inline-flex;
		margin-top: 2rem;
		padding: 1.5rem 3rem;
	}

	.cta-block__panel--has-windows::after {
		height: 11rem;
		background-position: left bottom;
		background-size: 100%;
	}

	.section--cta-block-single .cta-block__panel--newsletter .cta-block__inner {
		text-align: left;
	}

	.section--cta-block-single .cta-block__panel--newsletter .cta-newsletter-form__row,
	.section--cta-block-single .cta-block__panel--newsletter .cta-newsletter-form__privacy {
		margin-left: 0;
		margin-right: 0;
	}
}

@media screen and (max-width: 480px) {
	.cta-block__inner,
	.section--cta-block-single .cta-block__panel--promo.cta-block__panel--has-images .cta-block__inner,
	.section--cta-block-split .cta-block__panel--promo.cta-block__panel--has-images .cta-block__inner {
		padding-left: 3rem;
		padding-right: 3rem;
	}

	.cta-block__panel--promo.cta-block__panel--has-images .cta-block__inner {
		padding-right: 14rem;
	}

	.cta-block__content,
	.section--cta-block-single .cta-block__panel--promo.cta-block__panel--has-images .cta-block__content,
	.section--cta-block-split .cta-block__panel--promo.cta-block__panel--has-images .cta-block__content {
		
	}

	.cta-block__images,
	.section--cta-block-single .cta-block__images {
		right: 3rem;
		width: 10rem;
	}

	.cta-block__title {
		font-size: 2.15em;
	}
}




/* ==========================================================================
   Shared newsletter form states
   ========================================================================== */

.newsletter-form__status {
	display: none;
	margin-top: 2rem;
	font-size: .95em;
	font-weight: 700;
	line-height: 1.45;
}

.newsletter-form__status:not(:empty) {
	display: block;
}

.newsletter-form__status--success {
	background: var(--dd-darkest-green);
	border-radius: 1rem;
	color: #fff;
	padding: 1.5rem 2rem;
}

.newsletter-form__status--error {
	background: #fff;
	border: 2px solid var(--dd-salmon);
	border-radius: 1rem;
	color: var(--dd-darkest-green);
	padding: 1.5rem 2rem;
}

.newsletter-form--submitting button[type="submit"] {
	cursor: wait;
	opacity: .7;
}

.newsletter-form--submitting input,
.newsletter-form--submitting button {
	pointer-events: none;
}

.newsletter-form--success .newsletter-form__status {
	margin-top: 2rem;
}

.newsletter-form__honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}



/* ==========================================================================
   Footer mobile accordions
   ========================================================================== */

.footer__accordion-button {
  appearance: none;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  color: inherit;
  font: inherit;
  line-height: inherit;
  text-align: left;
}

/*
 * Desktop stays exactly as the existing footer.
 */

@media (min-width: 1023px) {
  .footer__accordion-button {
    cursor: default;
    pointer-events: none;
  }
}

/*
 * Mobile accordion layout.
 */

@media (max-width: 1023px) {
  .footer--discover .footer__menus {
    display: block;
    padding-bottom: 0;
  }

  .footer--discover .footer__menu-block {
    margin: 0;
    border-bottom: 2px solid rgba(117, 156, 201, .28);
  }

  .footer--discover .footer__menu-block:first-child {
    border-top: 2px solid rgba(117, 156, 201, .28);
  }

  .footer--discover .footer__title {
    margin: 0;
  }

  .footer__accordion-button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    min-height: 9rem;
    padding: 2.5rem 6rem 2.5rem 0;
    color: #fff;
    cursor: pointer;
  }

  .footer__accordion-label {
    display: block;
  }

  /*
   * Font Awesome Sharp plus/minus.
   */

  .footer__accordion-button::after {
    position: absolute;
    top: 50%;
    right: .5rem;
    width: 3rem;
    color: #fff;
    content: "\f067";
    font-family:
      "Font Awesome 6 Sharp",
      "Font Awesome 6 Pro",
      "Font Awesome 6 Free";
    font-size: 3rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    text-align: center;
    transform: translateY(-50%);
    transition: color .3s ease-in-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .footer__accordion-button[aria-expanded="true"]::after {
    content: "\f068";
  }

  .footer__accordion-button:hover::after,
  .footer__accordion-button:focus-visible::after {
    color: var(--dd-shop-green);
  }

  /*
   * Menu animation.
   */

  .footer--discover .footer__menu-block .footer__nav-items {
    display: block;
    margin: 0;
    padding: 0 0 3.5rem;
  }

  .footer--discover .footer__menu-block .footer__nav-items[hidden] {
    display: none;
  }

  .footer--discover .footer__nav-item {
    margin-bottom: .75rem;
  }

  .footer--discover .footer__nav-item:last-child {
    margin-bottom: 0;
  }

  .footer--discover .footer__nav-link {
    display: inline-block;
    font-size: 1.05em;
  }
}





/* ==========================================================================
   Tabbed event figures block
   ========================================================================== */

.section--event-tab-figures {
	overflow: hidden;
	padding: 0;
}

.event-tab-figures__intro-wrap {
	padding: 10rem 0 8rem;
}

.event-tab-figures__intro {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	align-items: start;
	gap: 7rem;
	max-width: 95rem;
	margin: 0 auto;
}

.event-tab-figures__title {
	margin: 0;
}

.event-tab-figures__intro-text {
	max-width: 52rem;
	font-size: 1.1em;
}

/* ==========================================================================
   Full-width tabs
   ========================================================================== */

.event-tab-figures__tabs-wrap {
	position: relative;
	z-index: 3;
	width: 100%;
}

.event-tab-figures__tabs {
	display: grid;
	grid-template-columns: repeat(
		var(--event-tab-count),
		minmax(0, 1fr)
	);
	width: 100%;
	margin: 0;
	padding: 0;
}

.event-tab-figures__tab {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	min-width: 0;
	min-height: 7rem;
	margin: 0;
	padding: 1.5rem 3rem;
	background: var(--event-tab-accent);
	border: 0;
	border-right: 2px solid rgba(255, 255, 255, .25);
	color: #fff;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	cursor: pointer;
}

.event-tab-figures__tab:last-child {
	border-right: 0;
}

.event-tab-figures__tab:hover {
	background: var(--dd-dark-green);
	color: #fff;
}

.event-tab-figures__tab.is-active {
	background: var(--event-tab-background);
	color: var(--dd-darkest-green);
}

.event-tab-figures__tab:focus-visible {
	z-index: 2;
}

.event-tab-figures__tab-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 2.2rem;
	height: 2.2rem;
}

.event-tab-figures__tab-icon svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: currentColor;
	stroke: none;
}

.event-tab-figures__tab-icon svg path,
.event-tab-figures__tab-icon svg circle,
.event-tab-figures__tab-icon svg rect,
.event-tab-figures__tab-icon svg polygon,
.event-tab-figures__tab-icon svg polyline {
	fill: currentColor;
	stroke: none;
}

.event-tab-figures__tab-label {
	display: block;
}

/* ==========================================================================
   Event panels
   ========================================================================== */

.event-tab-figures__panels {
	position: relative;
	background: var(--event-tab-background);
}

.event-tab-figures__panel {
	padding: 6rem 0 8rem;
	background: var(--event-tab-background);
}

.event-tab-figures__panel[hidden] {
	display: none;
}

.event-tab-figures__slider-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	margin-bottom: 4rem;
}

.event-tab-figures__slider-controls .slider__count {
	margin-right: .5rem;
}

.event-tab-figures__slider-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	margin-bottom: 4rem;
}

.event-tab-figures__slider-controls .slider__count {
	display: inline-flex !important;
	margin-right: .5rem;
	align-items: center;
	color: var(--dd-darkest-green);
}

.event-tab-figures__panel--no-scroll
.event-tab-figures__slider-controls
.slider__button {
	display: none !important;
}

.event-tab-figures__panel--no-scroll
.event-tab-figures__slider-controls {
	justify-content: center;
}
.event-tab-figures__empty {
	padding: 5rem;
	background: rgba(255, 255, 255, .45);
	border-radius: 1.8rem;
	text-align: center;
}

/* ==========================================================================
   Dedicated event slider
   ========================================================================== */

.slider--event-tab-figures {
	--event-tab-slider-gap: 3rem;
	overflow: visible;
}

.slider--event-tab-figures .slick-list {
	overflow: visible !important;
	width: calc(100% + var(--event-tab-slider-gap)) !important;
	margin-left: calc(var(--event-tab-slider-gap) * -.5) !important;
	margin-right: calc(var(--event-tab-slider-gap) * -.5) !important;
}

.slider--event-tab-figures .slick-track {
	display: flex !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.slider--event-tab-figures .slick-slide {
	height: auto;
	padding-left: calc(var(--event-tab-slider-gap) * .5);
	padding-right: calc(var(--event-tab-slider-gap) * .5);
}

.slider--event-tab-figures .slick-slide > div {
	height: 100%;
}

.slider--event-tab-figures [data-event-tab-slides] {
	display: block;
}

.slider--event-tab-figures [data-event-tab-slide] {
	display: block;
	height: 100%;
}

.slider--event-tab-figures [data-event-tab-slide] > div,
.slider--event-tab-figures [data-event-tab-slide] .event-figure {
	height: 100%;
}

/* ==========================================================================
   Bottom buttons
   ========================================================================== */

.event-tab-figures__buttons {
	padding: 7rem 0;
	text-align: center;
}

.event-tab-figures__buttons .button-group {
	justify-content: center;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

   .event-tab-figures__mobile-title {
	display: none;
	margin: 0 0 2rem;
}

@media (max-width: 1023px) {
	.event-tab-figures__mobile-title {
		display: block;
	}

	.event-tab-figures__slider-controls {
		margin-top: 0;
	}
}


@media (max-width: 1023px) {

	
	.event-tab-figures__intro-wrap {
		padding: 8rem 0 6rem;
	}

	.event-tab-figures__intro {
		gap: 4rem;
	}

	.event-tab-figures__tab {
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

@media (max-width: 1023px) {
	.event-tab-figures__intro-wrap {
		padding: 6rem 0 4rem;
	}

	.event-tab-figures__intro {
		display: block;
	}

	.event-tab-figures__title {
		margin-bottom: 2.5rem;
	}

	/*
	 * Tabs remain full width.
	 * Labels are visually hidden, leaving icons only.
	 */

	.event-tab-figures__tabs {
		display: grid;
		grid-template-columns: repeat(
			var(--event-tab-count),
			minmax(0, 1fr)
		);
		width: 100%;
	}

	.event-tab-figures__tab {
		min-width: 0;
		min-height: 6.5rem;
		padding: 1.5rem;
		gap: 0;
	}

	.event-tab-figures__tab-label {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		padding: 0 !important;
		margin: -1px !important;
		overflow: hidden !important;
		clip: rect(0, 0, 0, 0) !important;
		white-space: nowrap !important;
		border: 0 !important;
	}

	.event-tab-figures__tab-icon {
		width: 2.6rem;
		height: 2.6rem;
	}

	.event-tab-figures__panel {
		padding: 4rem 0 6rem;
	}

	.event-tab-figures__slider-controls {
		justify-content: flex-start;
		margin-bottom: 3rem;
	}

	.slider--event-tab-figures {
		--event-tab-slider-gap: 1.5rem;
	}

	.event-tab-figures__buttons {
		padding: 5rem 0;
	}
}

@media (max-width: 480px) {
	.event-tab-figures__tab {
		min-height: 6rem;
		padding: 1.25rem;
	}

	.event-tab-figures__tab-icon {
		width: 2.3rem;
		height: 2.3rem;
	}

	.event-tab-figures__empty {
		padding: 3.5rem 2.5rem;
	}
}

/* ==========================================================================
   Single event centring
   ========================================================================== */

.event-tab-figures__panel--single .slider--event-tab-figures {
	max-width: 90rem;
	margin-left: auto;
	margin-right: auto;
}

.event-tab-figures__panel--single .slick-track {
	justify-content: center;
	width: 100% !important;
	transform: none !important;
}

.event-tab-figures__panel--single .slick-slide {
	float: none;
	width: 100% !important;
	max-width: 90rem;
}

.event-tab-figures__panel--single .event-slider__slide {
	width: 100%;
}




/* ==========================================================================
   Split block alternate images
   ========================================================================== */

/*
 * Normal split image:
 * desktop variable normally, mobile variable below 1023px.
 */

.section--split-block:not(.section--split-window-cropped-image)
> .section__background-image--split {
	background-image: var(--split-image-desktop) !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

@media screen and (max-width: 1023px) {
	.section--split-block:not(.section--split-window-cropped-image)
	> .section__background-image--split {
		background-image: var(
			--split-image-mobile,
			var(--split-image-desktop)
		) !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
	}
}

/* ==========================================================================
   Full-width split background
   ========================================================================== */

.section--split-block.section--split-full-width-image {
	background-color: transparent !important;
	isolation: isolate;
	overflow: hidden;
	position: relative;
}

/*
 * Target the actual span that your PHP currently outputs.
 */

.section--split-block.section--split-full-width-image
> .section__background-image--split {
	background-image: var(--split-image-desktop) !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	bottom: 0 !important;
	display: block !important;
	height: 100% !important;
	left: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
	width: 100% !important;
	z-index: 0 !important;
}

.section--split-block.section--split-full-width-image
> .container {
	position: relative;
	z-index: 2;
}

.section--split-block.section--split-full-width-image
> .section__split-background-windows {
	position: absolute;
	z-index: 1;
}

/* ==========================================================================
   Full-width split background mobile
   ========================================================================== */

@media screen and (max-width: 1023px) {
	/*
	 * Override the old mobile split rule which sets the span
	 * to position: static and padding-bottom: 100%.
	 */

	.section--split-block.section--split-full-width-image
	> .section__background-image--split {
		background-image: var(
			--split-image-mobile, 	
			var(--split-image-desktop)
		) !important;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		bottom: 0 !important;
		display: block !important;
		height: 100% !important;
		left: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		position: absolute !important;
		right: 0 !important;
		top: 0 !important;
		width: 100% !important;
	}

	/*
	 * Image positioned at the top:
	 * reserve a square image-height above the content.
	 */

	.section--split-block.section--split-full-width-image.section--split-mobile-image-top {
		padding-top: 100vw !important;
		padding-bottom: 6rem !important;
	}

	.section--split-block.section--split-full-width-image.section--split-mobile-image-top
	> .section__background-image--split {
		background-position: left top !important;
	}

	/*
	 * Image positioned at the bottom:
	 * reserve a square image-height below the content.
	 */

	.section--split-block.section--split-full-width-image.section--split-mobile-image-bottom {
		padding-top: 6rem !important;
		padding-bottom: 100vw !important;
	}

	.section--split-block.section--split-full-width-image.section--split-mobile-image-bottom
	> .section__background-image--split {
		background-position: center bottom !important;
	}

	/*
	 * Do not allow the generic top/bottom image classes
	 * to reintroduce margins or square padding.
	 */

	.section--split-block.section--split-full-width-image
	> .section__background-image--split-top,
	.section--split-block.section--split-full-width-image
	> .section__background-image--split-bottom {
		height: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		position: absolute !important;
		width: 100% !important;
	}
}

/* ==========================================================================
   Image figures slider
   ========================================================================== */

.section--image-figures-slider {
	overflow: hidden;
}

.image-figures-slider__layout {
	display: grid;
	grid-template-columns: minmax(26rem, 30%) minmax(0, 70%);
	align-items: center;
	gap: 7rem;
}

.image-figures-slider__intro {
	align-self: center;
	min-width: 0;
}

.image-figures-slider__title {
	max-width: 42rem;
	margin: 0 0 4rem;
}

.image-figures-slider__controls {
	display: grid;
	grid-template-columns: 13rem 5.2rem 5.2rem;
	align-items: center;
	gap: 1.5rem;
}

.image-figures-slider__count {
	display: inline-flex;
	width: 13rem;
	margin: 0;
	white-space: nowrap;
	text-align: left;
	font-variant-numeric: tabular-nums;
}

.image-figures-slider__controls .slider__button {
	margin: 0;
}

.image-figures-slider__stage {
	min-width: 0;
	overflow: hidden;
}

/* ==========================================================================
   Image slider containment
   ========================================================================== */

.slider--image-figures {
	--image-slider-gap: 3rem;
	overflow: hidden;
}

.slider--image-figures .slick-list {
	overflow: hidden !important;
	width: calc(100% + var(--image-slider-gap)) !important;
	margin-left: calc(var(--image-slider-gap) * -.5) !important;
	margin-right: calc(var(--image-slider-gap) * -.5) !important;
}

.slider--image-figures .slick-track {
	display: flex !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.slider--image-figures .slick-slide {
	height: auto;
	padding-left: calc(var(--image-slider-gap) * .5);
	padding-right: calc(var(--image-slider-gap) * .5);
}

.slider--image-figures .slick-slide > div {
	height: 100%;
}

.image-figures-slider__slide {
	display: block;
	height: 100%;
}

/* ==========================================================================
   Images
   ========================================================================== */

.image-figures-slider__slide .image-overlay-figure {
	display: block;
	height: 100%;
	margin: 0;
	overflow: hidden;
	position: relative;
	border-radius: 2.4rem;
	text-decoration: none;
}

.image-figures-slider__image {
	aspect-ratio: 4 / 5;
	display: block;
	height: 100%;
	min-height: 42rem;
	object-fit: cover;
	width: 100%;
}

/*
 * No caption means no overlay.
 */

.image-overlay-figure--no-caption::before,
.image-overlay-figure--no-caption::after {
	display: none !important;
	content: none !important;
}

.image-overlay-figure--no-caption .image-overlay-figure__overlay {
	display: none !important;
}

/* ==========================================================================
   Caption overlay
   ========================================================================== */

.slider--image-figures .image-overlay-figure__overlay {
	    align-items: flex-end;
    background: #2b4e50b3;
    bottom: 0;
    display: flex;
    left: 0;
    min-height: none;
    padding: 3rem;
    position: absolute;
    right: 0;
    transition: opacity .3s ease-in-out, transform .3s ease-in-out;
    opacity: 1;
    transform: none;
    backdrop-filter: blur(10px) brightness(1.1);
	border:none;
 }

.slider--image-figures .image-overlay-figure__title {
	color: #fff;
	font-family: "Figtree", sans-serif;
	font-size: 1.1em;
	font-weight: 700;
	line-height: 1.3;
	margin: 0;
}

.slider--image-figures
.image-overlay-figure--has-caption:hover
.image-overlay-figure__overlay,
.slider--image-figures
.image-overlay-figure--has-caption:focus-visible
.image-overlay-figure__overlay {
	opacity: 1;
	transform: translateY(0);
}

/* ==========================================================================
   No-scroll state
   ========================================================================== */

.section--image-slider-no-scroll
.image-figures-slider__controls
.slider__button {
	display: none !important;
}

.section--image-slider-no-scroll
.image-figures-slider__controls {
	grid-template-columns: 13rem;
	gap: 0;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1150px) {
	.image-figures-slider__layout {
		grid-template-columns: minmax(23rem, 32%) minmax(0, 68%);
		gap: 4rem;
	}

	.image-figures-slider__controls {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 1.5rem;
	width: 100%;
}

.image-figures-slider__count {
	display: flex;
	align-items: center;
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	margin: 0 auto 0 0;
	line-height: 1.2;
	white-space: nowrap;
}

.image-figures-slider__controls .slider__button {
	flex: 0 0 5.2rem;
	width: 5.2rem;
	height: 5.2rem;
	margin: 0;
}

	.image-figures-slider__image {
		min-height: 38rem;
	}

	.section--image-slider-no-scroll
.image-figures-slider__controls {
	display: flex;
}

.section--image-slider-no-scroll
.image-figures-slider__count {
	margin-right: auto;
}
}

@media (max-width: 1023px) {
	.section--image-figures-slider {
		overflow: hidden;
	}

	.image-figures-slider__layout {
		display: block;
	}

	.image-figures-slider__intro {
		margin-bottom: 4rem;
	}

	.image-figures-slider__title {
		max-width: none;
		margin-bottom: 2.5rem;
	}

	.image-figures-slider__controls {
		grid-template-columns: 12rem 5.2rem 5.2rem;
		justify-content: start;
	}

	.image-figures-slider__count {
		width: 12rem;
	}

	.image-figures-slider__stage {
		overflow: visible;
	}

	.slider--image-figures {
		--image-slider-gap: 1.5rem;
		overflow: visible;
	}

	.slider--image-figures .slick-list {
		overflow: visible !important;
	}

	.image-figures-slider__image {
		aspect-ratio: 4 / 5;
		min-height: 0;
	}

	.slider--image-figures .image-overlay-figure__overlay {
		opacity: 1;
		padding: 2.5rem;
		transform: none;
	}

	.section--image-slider-no-scroll
.image-figures-slider__controls {
	display: flex;
}

.section--image-slider-no-scroll
.image-figures-slider__count {
	margin-right: auto;
}
}


/* ==========================================================================
   Notice block desktop alignment
   ========================================================================== */

@media (min-width: 1024px) {
	.section--notice .notice-block {
		justify-content: center;
		width: 100%;
	}

	.section--notice .notice-block__content {
		align-items: center;
		justify-content: center;
		column-gap: 4rem;
		row-gap: 2rem;
		width: auto;
		max-width: 138rem;
		margin-left: auto;
		margin-right: auto;
	}

	/*
	 * Newsletter layout:
	 * title, text, form, privacy.
	 */

	.section--notice-newsletter .notice-block__content {
		grid-template-columns:
			minmax(18rem, 24rem)
			minmax(22rem, 28rem)
			minmax(34rem, 40rem)
			minmax(26rem, 32rem);
	}

	.section--notice-newsletter .notice-block__title {
		white-space: normal;
	}

	.section--notice-newsletter .notice-block__text {
		max-width: 28rem;
	}

	.section--notice-newsletter .notice-newsletter-form__row {
		width: 100%;
		min-width: 34rem;
	}

	.section--notice-newsletter .notice-newsletter-form__privacy {
		max-width: 32rem;
	}

	/*
	 * Standard promo layout:
	 * title, text and button.
	 */

	.section--notice:not(.section--notice-newsletter)
	.notice-block__content {
		grid-template-columns:
			minmax(22rem, 30rem)
			minmax(28rem, 48rem)
			auto;
	}

	.section--notice:not(.section--notice-newsletter)
	.notice-block__title {
		white-space: normal;
	}

	.section--notice:not(.section--notice-newsletter)
	.notice-block__text {
		max-width: 48rem;
	}

	.section--notice:not(.section--notice-newsletter)
	.notice-block__button {
		justify-self: end;
	}
}


.section--salmon + .section--notice-newsletter {
	background-color: var(--dd-light-salmon);
	color: #fff;
}

/* ==========================================================================
   Big image block
   ========================================================================== */

.section--bigimage {
	--bigimage-accent: var(--dd-teal);
	overflow: hidden;
	position: relative;
}

.section--bigimage > .container {
	position: relative;
	z-index: 3;
}

.section--bigimage .section__content {
	position: relative;
	z-index: 3;
}

.section--bigimage
.section__primary-title,
.section--bigimage
.section__secondary-title,
.section--bigimage
.section__text {
	margin-left: auto;
	margin-right: auto;
}

.section--bigimage
.section__primary-title {
	max-width: 90rem;
}

.section--bigimage
.section__secondary-title {
	max-width: 75rem;
}

.section--bigimage
.section__text {
	max-width: 72rem;
}

.bigimage-block__content {
	margin-left: auto;
	margin-right: auto;
	max-width: 130rem;
	text-align: center;
}

.bigimage-block__content--narrow {
	max-width: 90rem;
}

.bigimage-block__content--wide {
	max-width: 150rem;
}

.bigimage-block__inner-content {
	margin-left: auto;
	margin-right: auto;
	margin-top: 6rem;
	width: 100%;
}

.bigimage-block__secondary-text {
	margin-top: 5rem;
}

/* ==========================================================================
   Active-content spacing
   ========================================================================== */

.section--bigimage-has-text-icon-figures
.bigimage-block__inner-content {
	margin-top: 6rem;
}

.section--bigimage-has-buttons-and-icons
.bigimage-block__inner-content {
	margin-top: 6rem;
}

/*
 * When icons and buttons both exist, leave the Flexible
 * Content order to control where the button appears.
 */

.section--bigimage-has-buttons-and-icons
.button-group {
	margin-top: 5rem;
}

/* ==========================================================================
   Text icon figures
   Reuse the Split Block's exact icon dimensions
   ========================================================================== */

.section--bigimage
.text-icon-figure {
	color: inherit;
	text-decoration: none;
}

.section--bigimage
.text-icon-figure--has-icon
.text-icon-figure__icon-wrap {
	align-items: center;
	background: var(--bigimage-accent);
	border-radius: 1rem;
	color: var(--dd-white);
	display: inline-flex;
	height: 4rem;
	justify-content: center;
	width: 4rem;
}

.section--bigimage
.text-icon-figure--has-icon
.text-icon-figure__icon {
	display: block;
	height: 2rem;
	margin: 0;
	max-height: 2rem;
	max-width: 2rem;
	object-fit: contain;
	width: 2rem;
}

/*
 * Accent colour affects the icon background only.
 */

.section--bigimage-has-accent
.text-icon-figure--has-icon
.text-icon-figure__icon-wrap {
	background: var(--bigimage-accent);
}

/*
 * Keep SVG icons white where the inner block outputs
 * inline SVG rather than an uploaded image.
 */

.section--bigimage
.text-icon-figure__icon-wrap svg {
	fill: currentColor;
	height: 2rem;
	margin: 0;
	max-width: 2rem;
	width: 2rem;
}

.section--bigimage
.text-icon-figure__title {
	color: var(--dd-dark-green);
	font-family: "ivypresto-headline", serif;
	font-size: 1.55em;
	line-height: 1.15;
}

.section--bigimage
.text-icon-figure__text {
	color: var(--dd-dark-green);
}

.section--bigimage
.text-icon-figure__text p {
	color: inherit;
}

/* ==========================================================================
   Contained image variation
   ========================================================================== */

.bigimage-block__contained-image {
	margin-left: auto;
	margin-right: auto;
	max-width: 120rem;
}

.bigimage-block__contained-image img {
	display: block;
	height: auto;
	margin: 0 auto;
	max-height: 70rem;
	object-fit: cover;
	width: 100%;
}

/* ==========================================================================
   Full-width image variation
   ========================================================================== */

.section--bigimage-full-width {
	align-items: flex-start;
	display: flex;
	min-height: clamp(82rem, 92vh, 112rem);
	padding-bottom: 10rem;
	padding-top: 15rem;
	position: relative;
}

.section--bigimage-full-width
.bigimage-block__full-image {
	bottom: 0;
	height: 100%;
	left: 0;
	margin: 0;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 0;
}

.section--bigimage-full-width
.bigimage-block__full-image-element {
	display: block;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center center;
	width: 100%;
}

/* ==========================================================================
   Softer desktop image fade
   ========================================================================== */

.section--bigimage-full-width::after {
	background:
		linear-gradient(
			to bottom,
			var(--bigimage-background) 0%,
			var(--bigimage-background) 9%,
			color-mix(
				in srgb,
				var(--bigimage-background) 70%,
				transparent
			) 25%,
			color-mix(
				in srgb,
				var(--bigimage-background) 28%,
				transparent
			) 41%,
			transparent 57%
		);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.section--bigimage-full-width
.bigimage-block__content {
	margin-left: auto;
	margin-right: auto;
}

/* ==========================================================================
   Desktop icon layout refinements
   ========================================================================== */

@media (min-width: 1024px) {

	.section--bigimage-full-width.section--bigimage-inner-text_icon_figures_block {
	    min-height: 0;
		padding-bottom: 45rem;
}


.section--bigimage-inner-text_icon_figures_block.section--bigimage-inner-button_group.section--bigimage-full-width {
	min-height: 0;
		padding-bottom: 70rem;
}

	.section--bigimage-has-text-icon-figures
	.bigimage-block__inner-content {
		   min-height: 0;
		padding-bottom: 45rem;
	}

	.section--bigimage
	.text-icon-figure--center
	.text-icon-figure__icon {
		height: 2rem;
		max-height: 2rem;
		max-width: 2rem;
		width: 2rem;
	}


	.bigimage-block__inner-content .row > .column-s-6   {
			width:25%;
		}

		.bigimage-block__inner-content .row  {
			margin-bottom:0rem !important;
		}

		.section--bigimage .text-icon-figure {
			display: flex;
			flex-direction: column;
			justify-content: center;
			text-align: center;
			align-items:center;
		}
}

/* ==========================================================================
   Tablet
   ========================================================================== */

@media (max-width: 1023px) {
	.section--bigimage-full-width {
        display: block;
        min-height: unset;
        padding-bottom: 25rem;
        padding-top: 6rem;
    }

	.section--bigimage-full-width
	.bigimage-block__full-image-element {
		        object-fit: contain;
        object-position: bottom;
	}

	.bigimage-block__inner-content {
		margin-top: 5rem;
	}
}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width: 1023px) {
	    .section--bigimage-full-width {
        display: block;
        min-height: unset;
        padding-bottom: 30rem;
        padding-top: 6rem;
    }

	.section--bigimage
	.bigimage-block__content,
	.section--bigimage
	.section__primary-title,
	.section--bigimage
	.section__secondary-title,
	.section--bigimage
	.section__text {
		margin-left: 0;
		margin-right: 0;
		text-align: left;
	}

	.section--bigimage-full-width
	.bigimage-block__full-image-element {
		                object-fit: contain;
        object-position: bottom;
        width: calc(100% + 50rem);
        position: relative;
        left: -25rem;
	}

	/*
	 * Mobile needs more colour behind the longer,
	 * stacked content, but still reveals the image.
	 */

	.section--bigimage-full-width::after {
		background:
			linear-gradient(
				to bottom,
				var(--bigimage-background) 0%,
				var(--bigimage-background) 47%,
				color-mix(
					in srgb,
					var(--bigimage-background) 86%,
					transparent
				) 59%,
				color-mix(
					in srgb,
					var(--bigimage-background) 32%,
					transparent
				) 70%,
				transparent 79%
			);
	}

	.bigimage-block__inner-content {
		margin-top: 4rem;
	}

	.section--bigimage-has-buttons-and-icons
	.button-group {
		justify-content: flex-start;
		margin-top: 4rem;
	}

	.section--bigimage
	.text-icon-figure--has-icon
	.text-icon-figure__icon-wrap {
		height: 3.8rem;
		width: 3.8rem;
	}

	.section--bigimage
	.text-icon-figure--has-icon
	.text-icon-figure__icon,
	.section--bigimage
	.text-icon-figure__icon-wrap svg {
		height: 1.9rem;
		max-height: 1.9rem;
		max-width: 1.9rem;
		width: 1.9rem;
	}

	.section--bigimage
	.text-icon-figure__title {
		font-size: 1.35em;
	}

	.bigimage-block__contained-image {
		margin-left: -2.5rem;
		margin-right: -2.5rem;
	}

	.bigimage-block__contained-image img {
		max-height: none;
	}
}



/* ==========================================================================
   Big call to action
   ========================================================================== */

.section--big-cta {
	--big-cta-colour: var(--dd-dark-green);
	align-items: initial;
	background-color: var(--big-cta-colour);
	color: var(--dd-white);
	display: block;
	min-height: 0;
	overflow: hidden;
	padding: 12rem 0;
	position: relative;
}

.section--big-cta > .container {
	position: relative;
	z-index: 3;
}

/* ==========================================================================
   Optional full background image
   ========================================================================== */

.big-cta__background {
	background-image: var(--big-cta-background);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	inset: 0;
	position: absolute;
	z-index: 0;
}

.big-cta__overlay {
	background: var(--big-cta-colour);
	inset: 0;
	opacity: 0.88;
	position: absolute;
	z-index: 1;
}

/* ==========================================================================
   Main two-column layout
   ========================================================================== */

.big-cta__inner {
	align-items: center;
	display: grid;
	gap: clamp(6rem, 8vw, 14rem);
	grid-template-columns:
		minmax(24rem, 0.72fr)
		minmax(0, 1.45fr);
	margin: 0 auto;
	max-width: 120rem;
}

.section--big-cta:not(.section--big-cta-has-window)
.big-cta__inner {
	display: block;
	max-width: 80rem;
}

.big-cta__content {
	margin: 0;
	max-width: 70rem;
	position: relative;
	text-align: left;
}

.big-cta__title {
	color: inherit;
	margin: 0 0 3rem;
	text-align: left;
}

.big-cta__text {
	color: inherit;
	margin: 0;
	max-width: 65rem;
	text-align: left;
}

.big-cta__text p {
	margin: 0 0 2rem;
}

.big-cta__text p:last-child {
	margin-bottom: 0;
}

.big-cta__buttons {
	margin-top: 4rem;
}

.big-cta__buttons .button-group {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	justify-content: flex-start;
}

.big-cta__buttons .button-group .button {
	margin: 0;
}


@media (min-width: 1023px) {
	.section--big-cta:not(.section--big-cta-has-window)
	.big-cta__content {
		margin-left: auto;
		margin-right: auto;
		max-width: 80rem;
		text-align: center;
	}

	.section--big-cta:not(.section--big-cta-has-window)
	.big-cta__title,
	.section--big-cta:not(.section--big-cta-has-window)
	.big-cta__text {
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}

	.section--big-cta:not(.section--big-cta-has-window)
	.big-cta__buttons .button-group {
		justify-content: center;
	}
}

/* ==========================================================================
   Window image
   ========================================================================== */

.big-cta__visual {
	margin: 0 auto;
	max-width: 30rem;
	padding-bottom: 3rem;
	position: relative;
	width: 100%;
}

.big-cta__window {
	aspect-ratio: 0.78 / 1;
	border-radius: 999rem 999rem 0 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.big-cta__window-image {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

/* ==========================================================================
   Floating icon
   ========================================================================== */

.big-cta__icon {
	align-items: center;
	background: var(--big-cta-colour);
	border-radius: 1.6rem;
	bottom: 0;
	display: flex;
	height: 6rem;
	justify-content: center;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 6rem;
	z-index: 2;
}

@supports (
	background: color-mix(
		in srgb,
		white,
		black
	)
) {
	.big-cta__icon {
		background: color-mix(
			in srgb,
			var(--big-cta-colour) 90%,
			white 10%
		);
	}
}

.big-cta__icon-image {
	display: block;
	height: 2.5rem;
	object-fit: contain;
	width: 2.5rem;
}

/* ==========================================================================
   Light-background text handling
   ========================================================================== */

.section--big-cta.section--white,
.section--big-cta.section--palest-green,
.section--big-cta.section--pale-green,
.section--big-cta.section--paler-green,
.section--big-cta.section--sand,
.section--big-cta.section--yellow {
	color: var(--dd-ink);
}

/* ==========================================================================
   Tablet
   ========================================================================== */

@media (max-width: 1023px) {
	.section--big-cta {
		padding: 9rem 0;
	}

	.big-cta__inner {
		gap: 6rem;
		grid-template-columns:
			minmax(21rem, 0.8fr)
			minmax(0, 1.3fr);
	}

	.big-cta__visual {
		max-width: 28rem;
	}

	.big-cta__title {
		margin-bottom: 2.5rem;
	}
}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width: 1023px) {
	.section--big-cta {
		align-items: initial;
		min-height: 0;
		padding: 7rem 0;
	}

	.big-cta__inner {
		align-items:flex-start;
		display: flex;
		flex-direction: column;
		gap: 5rem;
		margin: 0;
		max-width: none;
	}

	.big-cta__visual {
		margin: 0;
		max-width: 15rem;
		padding-bottom: 2.75rem;
		width: min(80%, 27rem);
	}

	.big-cta__window {
		aspect-ratio: 0.82 / 1;
	}

	.big-cta__icon {
		border-radius: 1.3rem;
		height: 5rem;
		width: 5rem;
	}

	.big-cta__icon-image {
		height: 2rem;
		width: 2rem;
	}

	.big-cta__content,
	.big-cta__title,
	.big-cta__text {
		max-width: none;
		text-align: left;
		width: 100%;
	}

	.big-cta__title {
		margin-bottom: 2.5rem;
	}

	.big-cta__buttons {
		margin-top: 3rem;
	}

	.big-cta__buttons .button-group {
		align-items: flex-start;
		flex-direction: column;
		justify-content: flex-start;
		width: 100%;
	}

	.big-cta__buttons .button-group .button {
		justify-content: center;
		margin: 0;
		max-width: none;
		width: fit-content;
	}
}



@media (max-width: 1023px) {
	.section--hero.section--hero-has-pre-image-tall-layout {
		min-height: calc(66rem + 12.5rem);
	}

	.section--hero.section--hero-has-pre-image-tall-layout
	.section__content--side {
		min-height: calc(66rem + 12.5rem);
	}

	.section--hero.section--hero-has-pre-image-tall-layout.section--hero-no-buttons,
	.section--hero.section--hero-has-pre-image-tall-layout.section--hero-no-buttons .section__content--side  {
		min-height: calc(58rem + 12.5rem);
	}
}


/* ==========================================================================
   Quick info block
   ========================================================================== */


.section--quick-info {
	color: var(--dd-white);
	overflow: hidden;
	padding: 7rem 0;
	position: relative;
}

.section--quick-info > .container {
	position: relative;
	z-index: 2;
}

.quick-info {
	align-items: center;
	display: grid;
	gap: clamp(5rem, 6vw, 10rem);
	grid-template-columns: minmax(24rem, 36%) minmax(0, 1fr);
	margin: 0 auto;
	max-width: 100%;
	position: relative;
}

.quick-info__intro {
	min-width: 0;
	position: relative;
	z-index: 2;
}

.quick-info__heading {
	color: inherit;
	font-size: clamp(3.4rem, 3.2vw, 5.5rem);
	line-height: .95;
	margin: 0 0 3.5rem;
	max-width: 9ch;
}

.quick-info__status {
	align-items: center;
	background: var(--dd-darkest-green);
	border-radius: 999px;
	display: inline-flex;
	font-size: 1.5rem;
	font-weight: 650;
	gap: 1.3rem;
	line-height: 1.3;
	max-width: 100%;
	padding: 1.2rem 2rem;
}

.quick-info__status-dot {
	background: var(--dd-salmon);
	border-radius: 50%;
	flex: 0 0 auto;
	height: 1.5rem;
	width: 1.5rem;
}

.quick-info__status--open .quick-info__status-dot {
	background: var(--dd-shop-green);
}

.quick-info__status--closed .quick-info__status-dot {
	background: var(--dd-salmon);
}

.quick-info__status--weather {
	color: var(--dd-white);
}

.quick-info__status-icon {
	align-items: center;
	color: var(--dd-white);
	display: inline-flex;
	flex: 0 0 auto;
	font-size: 1.8rem;
	justify-content: center;
	width: 2rem;
}

.quick-info__status--weather-sunny .quick-info__status-icon {
	color: var(--dd-yellow);
}

.quick-info__status--weather-rain .quick-info__status-icon {
	color: var(--dd-market-blue);
}

.quick-info__status--weather-default .quick-info__status-icon {
	color: var(--dd-white);
}
.quick-info__items {
	display: grid;
	gap: clamp(3rem, 4vw, 7rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	position: relative;
	z-index: 2;
}

.quick-info__item {
	min-width: 0;
}

.quick-info__item-icon {
	align-items: center;
	background: var(--dd-medium-green);
	border-radius: 1rem;
	color: var(--dd-white);
	display: flex;
	height: 4.2rem;
	justify-content: center;
	margin-bottom: 2rem;
	width: 4.2rem;
}

.quick-info__item-icon svg {
	display: block;
	fill: currentColor;
	height: 2rem;
	width: 2rem;
}

.quick-info__item-title {
	color: inherit;
	font-size: clamp(2.4rem, 2vw, 3.2rem);
	line-height: 1;
	margin: 0 0 1.5rem;
}

.quick-info__item-text {
	color: inherit;
	font-size: 1.5rem;
	line-height: 1.65;
}

.quick-info__item-text p {
	margin: 0;
}

.quick-info__item-link {
	background: var(--dd-white);
	border-radius: 999px;
	color: var(--dd-darkest-green);
	display: inline-flex;
	font-size: 1.2rem;
	font-weight: 700;
	margin-top: 1.8rem;
	padding: .8rem 1.5rem;
	text-decoration: none;
}

.quick-info__item-link{
	color:var(--dd-dark-green) !important;
}

.quick-info__item-link:hover {
	background: var(--dd-shop-green);
	color:var(--dd-dark-green) !important;
}

.quick-info__background-image {
	background-image: var(--quick-info-image);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0;
	left: 22%;
	opacity: 1;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 30%;
	z-index: 1;
}

/* Four items remain usable without changing the PHP. */

.quick-info__items:has(.quick-info__item:nth-child(4)) {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}


.quick-info__contact-row {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin-bottom: 1.25rem;
}

.quick-info__contact-row:last-child {
	margin-bottom: 0;
}

.quick-info__contact-row strong {
	display: block;
	font-weight: 700;
}

.quick-info__contact-row a {
	color: inherit;
	overflow-wrap: anywhere;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.quick-info__social-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
}

.quick-info__opening-note {
	display: inline-block;
	
	margin-top: 1rem;
}

.quick-info__contact-row {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin-bottom: 1.25rem;
}

.quick-info__contact-row:last-child {
	margin-bottom: 0;
}

.quick-info__contact-row strong {
	display: block;
	font-weight: 700;
}

.quick-info__contact-row > a {
	color: inherit;
	overflow-wrap: anywhere;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}


/* ==========================================================================
   Quick info tablet
   ========================================================================== */

@media (max-width: 1150px) {
	.quick-info {
		gap: 5rem;
		grid-template-columns: minmax(21rem, .75fr) minmax(0, 2.25fr);
	}

	.quick-info__items,
	.quick-info__items:has(.quick-info__item:nth-child(4)) {
		gap: 3rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.quick-info__background-image {
		left: 14%;
		width: 38%;
	}
}

/* ==========================================================================
   Quick info mobile
   ========================================================================== */

@media (max-width: 1023px) {
	.section--quick-info {
		padding: 6rem 0;
	}

	.quick-info {
		display: block;
	}

	.quick-info__intro {
		margin-bottom: 5rem;
	}

	.quick-info__heading {
		font-size: 4.6rem;
		margin-bottom: 3rem;
		max-width: none;
	}

	.quick-info__status {
		font-size: 1.4rem;
		overflow: hidden;
		padding: 1.2rem 1.8rem;
		text-overflow: ellipsis;
		
		width: auto;
	}

	.quick-info__items,
	.quick-info__items:has(.quick-info__item:nth-child(4)) {
		display: grid;
		gap: 4rem;
		grid-template-columns: 1fr;
	}

	.quick-info__item {
		max-width: 50rem;
	}

	.quick-info__background-image {
		background-position: right bottom;
		height: 58%;
		left: auto;
		opacity: 1;
		right: -8rem;
		top: auto;
		width: 70%;
	}

	.quick-info__item-title {
		font-size: 2.8rem;
	}
}


.quick-info__what3words {
	color: inherit;
	display: inline-block;
	font-weight: 700;
	margin-top: .5rem;
	text-decoration: underline;
	text-decoration-thickness: .1rem;
	text-underline-offset: .3rem;
}

.quick-info__what3words:hover {
	color: var(--dd-shop-green) !important;
}



/* ==========================================================================
   Grid block extensions
   Additive only: existing default grid remains untouched
   ========================================================================== */

/* ==========================================================================
   Centred introduction
   Controlled only by center_title
   ========================================================================== */

.grid-block__intro--center {
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 80rem;
	text-align: center;
}

.grid-block__intro--center .grid-block__intro-heading {
	margin-bottom: 3rem;
}

.grid-block__intro--center .grid-block__title {
	margin-left: auto;
	margin-right: auto;
	max-width: 15ch;
}

.grid-block__intro--center .grid-block__title-image {
	margin-left: auto;
	margin-right: auto;
}

.grid-block__intro--center .grid-block__text {
	margin-left: auto;
	margin-right: auto;
	max-width:75rem;
}

/* ==========================================================================
   Compact grid base
   Controlled only by smaller_text_area
   ========================================================================== */

.grid-block.grid-block--compact {
	grid-auto-flow: dense;
	grid-auto-rows: 25rem;
}

.grid-block--compact .grid-block-card__title {
	font-size: 1.5em;
	margin-bottom: 1rem;
}

.grid-block--compact .grid-block-card__text:last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   Compact six-card desktop layout
   ========================================================================== */

.grid-block--compact.grid-block--items-6
.grid-block-card:nth-child(1) {
	grid-column: 1 / span 4;
	grid-row: 1 / span 2;
}

.grid-block--compact.grid-block--items-6
.grid-block-card:nth-child(2) {
	grid-column: 5 / span 4;
	grid-row: 1;
}

.grid-block--compact.grid-block--items-6
.grid-block-card:nth-child(3) {
	grid-column: 5 / span 4;
	grid-row: 2;
}

.grid-block--compact.grid-block--items-6
.grid-block-card:nth-child(4) {
	grid-column: 9 / span 4;
	grid-row: 1 / span 2;
}

.grid-block--compact.grid-block--items-6
.grid-block-card:nth-child(5) {
	grid-column: 1 / span 6;
	grid-row: 3;
}

.grid-block--compact.grid-block--items-6
.grid-block-card:nth-child(6) {
	grid-column: 7 / span 6;
	grid-row: 3;
}

/* ==========================================================================
   Compact five-card fallback
   ========================================================================== */

.grid-block--compact.grid-block--items-5
.grid-block-card:nth-child(1) {
	grid-column: 1 / span 4;
	grid-row: 1 / span 2;
}

.grid-block--compact.grid-block--items-5
.grid-block-card:nth-child(2) {
	grid-column: 5 / span 4;
	grid-row: 1;
}

.grid-block--compact.grid-block--items-5
.grid-block-card:nth-child(3) {
	grid-column: 5 / span 4;
	grid-row: 2;
}

.grid-block--compact.grid-block--items-5
.grid-block-card:nth-child(4) {
	grid-column: 9 / span 4;
	grid-row: 1 / span 2;
}

.grid-block--compact.grid-block--items-5
.grid-block-card:nth-child(5) {
	grid-column: 1 / -1;
	grid-row: 3;
}

/* ==========================================================================
   Compact card reset
   ========================================================================== */

.grid-block--compact .grid-block-card,
.grid-block--compact .grid-block-card:nth-child(2) {
	align-items: flex-end;
	justify-content: flex-start;
	min-height: 25rem;
}

/*
 * Tall cards on desktop.
 */

.grid-block--compact.grid-block--items-6
.grid-block-card:nth-child(1),
.grid-block--compact.grid-block--items-6
.grid-block-card:nth-child(4),
.grid-block--compact.grid-block--items-5
.grid-block-card:nth-child(1),
.grid-block--compact.grid-block--items-5
.grid-block-card:nth-child(4) {
	min-height: 50rem;
}

/*
 * All compact panels sit bottom-left.
 * Invert is deliberately ignored in compact mode.
 */

.grid-block--compact
.grid-block-card
.grid-block-card__content,
.grid-block--compact
.grid-block-card.grid-block-card--invert
.grid-block-card__content,
.grid-block--compact
.grid-block-card:nth-child(2)
.grid-block-card__content,
.grid-block--compact
.grid-block-card:nth-child(2).grid-block-card--invert
.grid-block-card__content,
.grid-block--compact
.grid-block-card:nth-child(5)
.grid-block-card__content,
.grid-block--compact
.grid-block-card:nth-child(5).grid-block-card--invert
.grid-block-card__content {
	align-items: flex-start;
	border-radius: 0 999rem 0 0;
	margin: 0;
	max-width: 80%;
	min-height: auto;
	padding: 2.5rem 5rem 2.5rem 3rem;
	text-align: left;
	width: 80%;
}

/*
 * Reset centred feature-card content.
 */

.grid-block--compact
.grid-block-card:nth-child(2)
.grid-block-card__text,
.grid-block--compact
.grid-block-card:nth-child(2)
.grid-block-card__button {
	align-self: flex-start;
}

/*
 * Tall-card panels.
 */

.grid-block--compact
.grid-block-card:nth-child(1)
.grid-block-card__content,
.grid-block--compact
.grid-block-card:nth-child(4)
.grid-block-card__content {
	max-width: 82%;
	padding: 3.5rem 6rem 3.5rem 3.5rem;
	width: 82%;
}

/*
 * Bottom landscape-card panels.
 */

.grid-block--compact
.grid-block-card:nth-child(5)
.grid-block-card__content,
.grid-block--compact
.grid-block-card:nth-child(6)
.grid-block-card__content {
	max-width: 58%;
	width: 58%;
}

/* ==========================================================================
   Compact image reset
   ========================================================================== */

.grid-block--compact
.grid-block-card:nth-child(1)
.grid-block-card__image,
.grid-block--compact
.grid-block-card:nth-child(2)
.grid-block-card__image,
.grid-block--compact
.grid-block-card:nth-child(3)
.grid-block-card__image,
.grid-block--compact
.grid-block-card:nth-child(4)
.grid-block-card__image,
.grid-block--compact
.grid-block-card:nth-child(5)
.grid-block-card__image,
.grid-block--compact
.grid-block-card:nth-child(6)
.grid-block-card__image {
	height: 100%;
	inset: 0;
	left: 0;
	object-position: center center;
	right: auto;
	width: 100%;
}

/* ==========================================================================
   Compact reduced desktop
   ========================================================================== */

@media (max-width: 1150px) and (min-width: 1024px) {
	.grid-block.grid-block--compact {
		gap: 2.5rem;
		grid-auto-rows: 16rem;
	}

	.grid-block--compact
	.grid-block-card:nth-child(1),
	.grid-block--compact
	.grid-block-card:nth-child(4) {
		min-height: 34.5rem;
	}

	.grid-block--compact
	.grid-block-card
	.grid-block-card__content,
	.grid-block--compact
	.grid-block-card.grid-block-card--invert
	.grid-block-card__content {
		max-width: 84%;
		padding: 2.5rem 4.5rem 2.5rem 2.5rem;
		width: 84%;
	}
}

/* ==========================================================================
   Compact tablet and mobile
   One full-width card per row
   ========================================================================== */

@media (max-width: 1023px) {
	/*
	 * Force the parent grid itself to one column.
	 */

	.grid-block.grid-block--compact {
		display: grid !important;
		gap: 2rem;
		grid-auto-flow: row !important;
		grid-auto-rows: auto !important;
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-rows: none !important;
		width: 100%;
	}

	/*
	 * Force every card onto the one available column.
	 */

	.grid-block.grid-block--compact
	> .grid-block-card,
	.grid-block.grid-block--compact
	> .grid-block-card:nth-child(1),
	.grid-block.grid-block--compact
	> .grid-block-card:nth-child(2),
	.grid-block.grid-block--compact
	> .grid-block-card:nth-child(3),
	.grid-block.grid-block--compact
	> .grid-block-card:nth-child(4),
	.grid-block.grid-block--compact
	> .grid-block-card:nth-child(5),
	.grid-block.grid-block--compact
	> .grid-block-card:nth-child(6) {
		align-items: flex-end;
		grid-column: 1 / -1 !important;
		grid-row: auto !important;
		justify-content: flex-start;
		max-width: none;
		min-height: 22rem;
		min-width: 0;
		width: 100% !important;
	}

	/*
	 * Cards 1 and 4 remain taller.
	 */

	.grid-block.grid-block--compact
	> .grid-block-card:nth-child(1),
	.grid-block.grid-block--compact
	> .grid-block-card:nth-child(4) {
		min-height: 40rem;
	}

	/*
	 * All panels remain attached to the bottom-left.
	 */

	.grid-block.grid-block--compact
	> .grid-block-card
	> .grid-block-card__content,
	.grid-block.grid-block--compact
	> .grid-block-card.grid-block-card--invert
	> .grid-block-card__content {
		align-items: flex-start;
		border-radius: 0 999rem 0 0;
		bottom: 0;
		left: 0;
		margin: 0;
		max-width: 100%;
		min-height: auto;
		padding: 2.5rem 5rem 2.5rem 2.5rem;
		position: absolute;
		right: auto;
		text-align: left;
		top: auto;
		width: 100%;
	}

	/*
	 * Tall-card panels can breathe slightly more.
	 */

	.grid-block.grid-block--compact
	> .grid-block-card:nth-child(1)
	> .grid-block-card__content,
	.grid-block.grid-block--compact
	> .grid-block-card:nth-child(4)
	> .grid-block-card__content {
		max-width: 100%;
		padding: 3rem 5.5rem 3rem 3rem;
		width: 100%;
	}

	/*
	 * Full image behind every card.
	 */

	.grid-block.grid-block--compact
	> .grid-block-card
	> .grid-block-card__image {
		height: 100%;
		inset: 0;
		left: 0;
		max-width: none;
		object-fit: cover;
		object-position: center center;
		position: absolute;
		right: auto;
		width: 100% !important;
	}
}

/* ==========================================================================
   Compact phone
   ========================================================================== */

@media (max-width: 1023px) {
	.grid-block.grid-block--compact {
		gap: 2rem;
	}

	.grid-block.grid-block--compact
	> .grid-block-card {
		min-height: 20rem;
	}

	.grid-block.grid-block--compact
	> .grid-block-card:nth-child(1),
	.grid-block.grid-block--compact
	> .grid-block-card:nth-child(4) {
		min-height: 36rem;
	}

	.grid-block.grid-block--compact
	> .grid-block-card
	> .grid-block-card__content,
	.grid-block.grid-block--compact
	> .grid-block-card.grid-block-card--invert
	> .grid-block-card__content {
		padding: 2.5rem 5rem 2.5rem 2.5rem;
	}
}

/* ==========================================================================
   Compact small phone
   ========================================================================== */

@media (max-width: 480px) {
	.grid-block.grid-block--compact {
		gap: 1.5rem;
	}

	.grid-block.grid-block--compact
	> .grid-block-card {
		min-height: 18rem;
	}

	.grid-block.grid-block--compact
	> .grid-block-card:nth-child(1),
	.grid-block.grid-block--compact
	> .grid-block-card:nth-child(4) {
		min-height: 34rem;
	}

	.grid-block.grid-block--compact
	> .grid-block-card
	> .grid-block-card__content,
	.grid-block.grid-block--compact
	> .grid-block-card.grid-block-card--invert
	> .grid-block-card__content {
		padding: 2.2rem 4.5rem 2.2rem 2.2rem;
	}
}

.grid-block__footer {
	display: flex;
	justify-content: center;
	margin-top: 7rem;
	width: 100%;
}

.grid-block__footer .button-group {
	justify-content: center;
}

@media screen and (max-width: 1023px)  {
	.grid-block__footer {
		justify-content: flex-start;
		margin-top: 5rem;
	}

	.grid-block__intro--center .grid-block__intro-heading,
	.grid-block__intro--center .grid-block__title,
	.grid-block__intro--center {
		text-align: left;
		        margin-left: 0;
	}

	
}




.event-image-figures__fallback {
	background: var(--dd-salmon);
	border-radius: 1.5rem;
	color: var(--dd-white);
	margin-bottom: 5rem;
	padding: 3rem 4rem;
}

.event-image-figures__fallback-title {
	color: #FFF !important;
	font-size: 2em;
	line-height: 1.1;
	margin: 0 0 1rem;
}

.event-image-figures__fallback p {
	margin: 0;
}

@media (max-width: 1023px) {
	.event-image-figures__fallback {
		margin-bottom: 3rem;
		padding: 2.5rem;
	}
}




/* ==========================================================================
   Testimonials slider
   ========================================================================== */

.section--testimonials-slider {
	overflow: hidden;
}

.testimonials-slider__intro {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-bottom: 7rem;
	text-align: center;
}

.testimonials-slider__heading {
	margin: 0 0 4rem;
	max-width: 90rem;
}

.testimonials-slider__controls {
	align-items: center;
	display: flex;
	gap: 1.5rem;
	justify-content: center;
}

.testimonials-slider__count {
	font-variant-numeric: tabular-nums;
	justify-content: flex-end;
	margin-right: 1rem;
	min-width: 13rem;
	white-space: nowrap;
}

.testimonials-slider__controls .slider__button {
	flex: 0 0 auto;
	margin: 0;
}

/* ==========================================================================
   Slick slider containment and guttering
   ========================================================================== */

.slider--testimonials {
	--testimonial-slider-gap: 3rem;
	overflow: visible;
}

.slider--testimonials .slick-list {
	margin-left:
		calc(var(--testimonial-slider-gap) * -.5) !important;
	margin-right:
		calc(var(--testimonial-slider-gap) * -.5) !important;
	overflow: visible !important;
	width:
		calc(100% + var(--testimonial-slider-gap)) !important;
}

.slider--testimonials .slick-track {
	display: flex !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.slider--testimonials .slick-slide {
	height: auto;
	padding-left:
		calc(var(--testimonial-slider-gap) * .5);
	padding-right:
		calc(var(--testimonial-slider-gap) * .5);
}

.slider--testimonials .slick-slide > div {
	height: 100%;
}

.testimonials-slider__slide {
	display: block;
	height: 100%;
}

/* ==========================================================================
   Testimonial card
   ========================================================================== */

.testimonial-card {
	border-radius: 2.4rem;
	height: clamp(48rem, 42vw, 66rem);
	margin: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.testimonial-card__image-wrap {
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
}

.testimonial-card__image {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.testimonial-card__quote {
	align-items: center;
	border-left:none !important;
	background: var(--dd-market-blue);
	border-radius: 50%;
	bottom: -8rem;
	color: var(--dd-white);
	display: flex;
	flex-direction: column;
	height: clamp(42rem, 33vw, 54rem);
	justify-content: center;
	left: 50%;
	margin: 0;
	padding: 7rem;
	position: absolute;
	text-align: center;
	transform: translateX(-50%);
	width: clamp(42rem, 33vw, 54rem);
	z-index: 1;
}

.testimonial-card__title {
	color: inherit;
	font-size: clamp(2.5rem, 2.2vw, 4rem);
	line-height: 1.08;
	margin: 0 0 2rem;
	max-width: 36rem;
}

.testimonial-card__text {
	color: inherit;
	font-family: "ivypresto-headline", serif;
	font-size: clamp(2rem, 1.65vw, 3rem);
	font-weight: 600;
	line-height: 1.12;
	max-width: 38rem;
}

.testimonial-card__text p {
	margin: 0;
}

.testimonial-card__cite {
	display: block;
	font-style: normal;
	font-weight: 700;
	margin-top: 2rem;
}

.testimonial-card__cite::before {
	content: "– ";
}

/* ==========================================================================
   Background colour contrast
   ========================================================================== */

.section--testimonials-slider.section--dark-green,
.section--testimonials-slider.section--darkest-green,
.section--testimonials-slider.section--medium-green,
.section--testimonials-slider.section--market-blue,
.section--testimonials-slider.section--salmon {
	color: var(--dd-white);
}

.section--testimonials-slider.section--dark-green
.section__primary-title,
.section--testimonials-slider.section--darkest-green
.section__primary-title,
.section--testimonials-slider.section--medium-green
.section__primary-title,
.section--testimonials-slider.section--market-blue
.section__primary-title,
.section--testimonials-slider.section--salmon
.section__primary-title {
	color: inherit;
}

/*
 * Hide count and controls when there is only one item.
 */

.section--testimonials-no-scroll
.testimonials-slider__controls {
	display: none;
}

/* ==========================================================================
   Tablet
   ========================================================================== */

@media (max-width: 1023px) {
	.testimonials-slider__intro {
		margin-bottom: 5rem;
	}

	.testimonial-card {
		height: 58rem;
	}

	.testimonial-card__quote {
		bottom: -5rem;
		height: 44rem;
		padding: 5rem;
		width: 44rem;
	}
}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width: 1023px) {
	.testimonials-slider__intro {
		align-items: flex-start;
		margin-bottom: 3rem;
		text-align: left;
	}

	.testimonials-slider__heading {
		font-size: 3.5rem;
		margin-bottom: 3rem;
		max-width: 31rem;
	}

	.testimonials-slider__controls {
		justify-content: flex-start;
	}

	.testimonials-slider__count {
		justify-content: flex-start;
		margin-left: 1rem;
		margin-right: 0;
		min-width: 0;
		order: 3;
	}

	/*
	 * Match the tighter mobile gutter used by the other sliders.
	 */

	.slider--testimonials {
		--testimonial-slider-gap: 1.5rem;
		width: 100%;
	}
	.testimonial-card {
		border-radius: 1.8rem;
		height: 64rem;
	}

	.testimonial-card__quote {
		align-items: flex-start;
		border-radius: 0 22rem 22rem 0;
		bottom: auto;
		height: 31rem;
		justify-content: center;
		left: 0;
		padding: 4rem 4.5rem 4rem 3rem;
		text-align: left;
		top: 16rem;
		transform: none;
		width: calc(100% - 5.5rem);
	}

	.testimonial-card__title {
		font-size: 2.5rem;
		margin-bottom: 1.5rem;
		max-width: 24rem;
	}

	.testimonial-card__text {
		font-size: 2.2rem;
		line-height: 1.08;
		max-width: 24rem;
	}

	.testimonial-card__cite {
		font-size: .95em;
		margin-top: 1.5rem;
	}
}

@media (max-width: 480px) {
	.testimonials-slider__heading {
		font-size: 3.2rem;
	}

	.testimonial-card {
		height: 61rem;
	}

	.testimonial-card__quote {
		height: 29rem;
		padding: 3.5rem 4rem 3.5rem 2.5rem;
		top: 15rem;
		width: calc(100% - 5rem);
	}

	.testimonial-card__text {
		font-size: 2rem;
	}
}


/* ==========================================================================
   Testimonial card fixes only
   Keep the existing intro, controls and slider gutter CSS above
   ========================================================================== */

.section--testimonials-slider {
	--testimonial-background: var(--dd-market-blue);
}

.section--testimonials-slider.section--market-blue {
	--testimonial-background: var(--dd-market-blue);
}

.section--testimonials-slider.section--dark-green {
	--testimonial-background: var(--dd-dark-green);
}

.section--testimonials-slider.section--darkest-green {
	--testimonial-background: var(--dd-darkest-green);
}

.section--testimonials-slider.section--medium-green {
	--testimonial-background: var(--dd-medium-green);
}

.section--testimonials-slider.section--palest-green {
	--testimonial-background: var(--dd-palest-green);
}

.section--testimonials-slider.section--pale-green {
	--testimonial-background: var(--dd-pale-green);
}

.section--testimonials-slider.section--shop-green {
	--testimonial-background: var(--dd-shop-green);
}

.section--testimonials-slider.section--salmon {
	--testimonial-background: var(--dd-salmon);
}

.section--testimonials-slider.section--yellow {
	--testimonial-background: var(--dd-yellow);
}

.section--testimonials-slider.section--sand {
	--testimonial-background: var(--dd-sand);
}

.section--testimonials-slider.section--white {
	--testimonial-background: var(--dd-white);
}

.testimonial-card {
	border-radius: 2.4rem;
	height: clamp(50rem, 42vw, 66rem);
	margin: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.testimonial-card__image-wrap {
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
}

.testimonial-card__image {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.testimonial-card__quote {
	align-items: center;
	background: color-mix(
		in srgb,
		var(--testimonial-background) 90%,
		white 10%
	);
	border-radius: 999rem 999rem 0 0;
	bottom: 0;
	color: var(--dd-white);
	display: flex;
	flex-direction: column;
	height: 50rem;
	justify-content: center;
	left: 50%;
	margin: 0;
	padding: 8rem 6rem 4rem;
	position: absolute;
	text-align: center;
	transform: translateX(-50%);
	width: 100rem;
	z-index: 1;
}

.testimonial-card__title {
	color: inherit;
	font-size: 2.25em;
	line-height: 1.08;
	margin: 0 0 2rem;
	max-width: 42rem;
}

.testimonial-card__text {
	color: inherit;
	font-family: "ivypresto-headline", serif;
	font-size: clamp(2rem, 1.65vw, 3rem);
	font-weight: 600;
	line-height: 1.12;
	max-width: 42rem;
}

.testimonial-card__text p {
	margin: 0;
}

.testimonial-card__cite {
	display: block;
	flex: 0 0 auto;
	font-style: normal;
	font-weight: 700;
	line-height: 1.3;
	margin-top: 2.5rem;
}

.testimonial-card__cite::before {
	content: "– ";
}

@media (max-width: 1023px) {
	.testimonial-card {
		height: 58rem;
	}

	.testimonial-card__quote {
		height: 25rem;
		padding: 6rem 4rem 3.5rem;
		width: 50rem;
	}
}

@media (max-width: 1023px) {
	.testimonial-card {
		border-radius: 1.8rem;
		height: 64rem;
	}

	.testimonial-card__quote {
			align-items: flex-start;
		border-radius: 0 22rem 22rem 0;
		bottom: auto;
		height: 40rem;
		justify-content: center;
		left: 0;
		padding: 4.5rem 5rem 4.5rem 3rem;
		text-align: left;
		top: 15rem;
		transform: none;
		width: calc(100% - 4.5rem);
	}

	.testimonial-card__title {
		        font-size: 1.2em;
        margin-bottom: 1.5rem;
        max-width: 20rem;
        line-height: 1.2;
	}

	.testimonial-card__text {
		font-size: inherit;
		line-height: 1.08;
		max-width: 25rem;
	}

	.testimonial-card__cite {
		font-size: 0.95em;
		margin-top: 1.75rem;
	}

	.testimonial-card__image {
		object-position: left;
	}
}

@media (max-width: 480px) {
	.testimonial-card {
		height: 61rem;
	}

	.testimonial-card__quote {
		height: 40rem;
		padding: 4rem 4.5rem 4rem 2.5rem;
		top: 14rem;
		width: calc(100% - 4rem);
	}

	.testimonial-card__text {
		font-size: 2rem;
	}

	.testimonial-card__image {
		object-position: right;
	}
}


/* ==========================================================================
   Place image figures slider
   ========================================================================== */

.section--place-image-figures {
	overflow: hidden;
}

/* ==========================================================================
   Place slider intro
   ========================================================================== */

.section__intro--place-slider {
	align-items: start;
	display: grid;
	gap: 3.5rem 8rem;
	grid-template-columns:
		minmax(0, 1fr)
		minmax(28rem, 48rem);
	margin: 0 auto 7rem;
	max-width: 95rem;
}

.section__intro--place-slider
.section__intro-title {
	grid-column: 1;
	grid-row: 1 / span 2;
	min-width: 0;
}

.section__intro--place-slider
.section__primary-title {
	margin: 0;
}

.section__intro--place-slider
.section__intro-copy {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
}

.section__intro--place-slider
.section__intro-text {
	margin: 0;
}

.section__intro--place-slider
.section__intro-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1.2rem;
	grid-column: 1 / -1;
	grid-row: 2;
	justify-content: center;
	margin-top: 3rem;
	padding-top: 1rem;
}

.section__intro--place-slider
.section__intro-actions .button {
	margin: 0 0 0 0.5rem;
}

.section__intro--place-slider {
	row-gap: 4rem;
	margin-bottom: 8rem;
}

.section__intro--place-slider
.section__intro-title {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
}


/* Keep count, arrows and button together */

.section__intro--place-slider
.slider__count {
	flex: 0 0 auto;
	margin-right: 0.5rem;
}

.section__intro--place-slider
.slider__button {
	flex: 0 0 auto;
}

.section__intro--place-slider
.section__intro-actions .button {
	flex: 0 0 auto;
	margin-left: 0.5rem;
}

/* ==========================================================================
   Place slider guttering
   ========================================================================== */

.slider--places {
	--slider-gap: 3rem;
	overflow: visible;
}

.slider--places .slick-list {
	margin-left:
		calc(
			var(--slider-gap) * -0.5
		) !important;
	margin-right:
		calc(
			var(--slider-gap) * -0.5
		) !important;
	overflow: visible !important;
	width:
		calc(
			100% + var(--slider-gap)
		) !important;
}

.slider--places .slick-track {
	align-items: stretch;
	display: flex !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.slider--places .slick-slide {
	height: auto;
	padding-left:
		calc(
			var(--slider-gap) * 0.5
		);
	padding-right:
		calc(
			var(--slider-gap) * 0.5
		);
}

.slider--places .slick-slide > div {
	height: 100%;
}

.slider--places [data-slides] {
	display: block;
}

.slider--places [data-slide],
.place-slider__slide {
	display: block;
	height: 100%;
}

.place-slider__slide > div,
.place-slider__slide .place-figure {
	height: 100%;
}

/* ==========================================================================
   Place figure
   ========================================================================== */

.place-figure {
	background: var(--dd-white);
	border-radius: 1.8rem;
	color: var(--dd-darkest-green);
	display: grid;
	grid-template-columns:
		minmax(22rem, 0.95fr)
		minmax(0, 1.05fr);
	height: 100%;
	min-height: 34rem;
	overflow: hidden;
}

.section--white .place-figure {
	border: 2px solid
		var(--dd-palest-green);
}

/* ==========================================================================
   Place image
   ========================================================================== */

.place-figure__visual {
	min-height: 34rem;
	overflow: hidden;
	position: relative;
}

.place-figure__image-link {
	display: block;
	height: 100%;
	min-height: inherit;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.place-figure__image {
	display: block;
	height: 100%;
	inset: 0;
	min-height: inherit;
	object-fit: cover;
	position: absolute;
	transition: transform 0.6s ease;
	width: 100%;
}

.place-figure__image-link:hover
.place-figure__image,
.place-figure__image-link:focus-visible
.place-figure__image {
	transform: scale(1.04);
}

.place-figure__image--placeholder {
	background: var(--dd-dark-green);
}

/* ==========================================================================
   Tripadvisor image overlay
   ========================================================================== */

.place-figure__tripadvisor {
	left: 1.5rem;
	position: absolute;
	right: 1.5rem;
	top: 1.5rem;
	z-index: 3;
}

.place-figure__tripadvisor-inner {
	align-items: center;
	backdrop-filter:
		blur(10px)
		brightness(1.2);
	-webkit-backdrop-filter:
		blur(10px)
		brightness(1.2);
	background:
		rgba(228, 243, 242, 0.84);
	border:
		1px solid
		rgba(255, 255, 255, 0.55);
	border-radius: 1.3rem;
	box-shadow:
		0 0.6rem 2rem
		rgba(29, 52, 54, 0.12);
	color: var(--dd-darkest-green);
	display: flex;
	font-size: 0.78em;
	font-weight: 700;
	gap: 0.8rem;
	line-height: 1.2;
	min-height: 4.6rem;
	padding: 0.7rem 1.2rem;
	width: 100%;
}

.place-figure__tripadvisor-logo {
	display: block;
	flex: 0 0 2.8rem;
	height: 2.8rem;
	width: 2.8rem;
}

.place-figure__tripadvisor-logo svg {
	display: block;
	height: 100%;
	width: 100%;
}

.place-figure__tripadvisor-rating {
	display: inline-flex;
	flex: 0 0 auto;
	gap: 0.25rem;
}

.place-figure__tripadvisor-dot {
	--tripadvisor-fill: 0%;
	background:
		linear-gradient(
			to right,
			#00aa6c 0,
			#00aa6c
				var(--tripadvisor-fill),
			transparent
				var(--tripadvisor-fill),
			transparent 100%
		);
	border:
		0.16rem solid
		#00aa6c;
	border-radius: 50%;
	display: block;
	height: 1.05rem;
	width: 1.05rem;
}

.place-figure__tripadvisor-copy {
	flex: 1 1 auto;
	min-width: 0;
}

.place-figure__tripadvisor-reviews {
	margin-left: 0.35rem;
	opacity: 0.75;
	white-space: nowrap;
}

/* ==========================================================================
   Place content
   ========================================================================== */

.place-figure__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 4rem;
}

.place-figure__labels {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 2rem;
}

.place-figure__label {
	align-items: center;
	background: #cfe9e6;
	border-radius: 999rem;
	color: var(--dd-darkest-green);
	display: inline-flex;
	font-size: 0.72em;
	font-weight: 700;
	justify-content: center;
	line-height: 1;
	min-height: 2.6rem;
	padding: 0.4rem 1.3rem;
	text-transform: uppercase;
}

.place-figure__title {
	color:
		var(--dd-dark-green) !important;
	font-family:
		"ivypresto-headline",
		serif;
	font-size: 2em;
	line-height: 1.12;
	margin: 0 0 2rem;
}

.place-figure__title a {
	color:
		var(--dd-dark-green) !important;
	text-decoration: none;
}

.place-figure__title a:hover {
	color:
		var(--dd-shop-green) !important;
}

.place-figure__meta {
	align-items: center;
	display: flex;
	font-size: 0.95em;
	font-weight: 600;
	gap: 1.2rem;
	line-height: 1.4;
	margin-bottom: 2rem;
}

.place-figure__icon {
	fill: var(--dd-shop-green);
	flex: 0 0 1.7rem;
	height: 1.7rem;
	margin-top: 0.1rem;
	width: 1.7rem;
}

.place-figure__summary {
	
	line-height: 1.6;
	margin-bottom: 2.5rem;
}

.place-figure__summary p {
	margin: 0;
	display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
}

.place-figure__button {
	margin-top: auto;
	padding-top: 0.5rem;
}

.place-figure__button .button {
	margin: 0;
}

/* ==========================================================================
   No-scroll state
   ========================================================================== */

.section--place-image-figures.section--slider-no-scroll
.slider__count,
.section--place-image-figures.section--slider-no-scroll
.slider__button {
	display: none;
}

/* ==========================================================================
   Tablet
   ========================================================================== */

@media (max-width: 1023px) {
	.section__intro--place-slider {
		column-gap: 4rem;
	}

	.place-figure {
		grid-template-columns: 1fr;
		grid-template-rows:
			auto 1fr;
		min-height: 0;
	}

	.place-figure__visual {
		aspect-ratio: 1 / 1;
		min-height: 0;
	}

	.place-figure__image-link {
		aspect-ratio: auto;
		height: 100%;
		min-height: 0;
	}

	.place-figure__image {
		height: 100%;
		min-height: 0;
	}

	.place-figure__content {
		height: 100%;
		justify-content: flex-start;
	}

	.slider--places .slick-slide,
	.slider--places .slick-slide > div,
	.slider--places
	.place-slider__slide {
		height: auto !important;
	}

	.slider--places .place-figure {
		height: 100%;
	}

	.place-figure__summary {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}
}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width: 1023px) {
	.section__intro--place-slider {
		display: flex;
		flex-direction: column;
		gap: 0;
		margin-bottom: 4rem;
		text-align: left;
	}

	.section__intro--place-slider
	.section__intro-title,
	.section__intro--place-slider
	.section__intro-copy,
	.section__intro--place-slider
	.section__intro-actions {
		max-width: none;
		text-align: left;
		width: 100%;
	}

	.section__intro--place-slider
	.section__intro-title {
		margin-bottom:2.5rem;
	}

	.section__intro--place-slider
	.section__primary-title {
		margin-bottom: 2rem;
		text-align: left;
	}

	
	.section__intro--place-slider
	.section__intro-actions {
		align-items: center;
		display: flex;
		justify-content: flex-start;
	}

	.section__intro--place-slider
	.section__intro-actions .button {
		margin-left: 0;
	}

	.section__intro-navigation {
		justify-content: flex-start;
	}

	.slider--places {
		--slider-gap: 1.5rem;
	}

	.place-figure__content {
		padding: 3rem;
	}

	.place-figure__labels {
		gap: 0.7rem;
	}

	.place-figure__label {
		font-size: 0.68em;
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.place-figure__title {
		font-size: 1.7em;
	}

	.place-figure__summary {
		font-size: 0.9em;
	}

	.place-figure__tripadvisor {
		left: 1rem;
		right: 1rem;
		top: 1rem;
	}

	.place-figure__tripadvisor-inner {
		backdrop-filter:
			blur(8px)
			brightness(1.2);
		-webkit-backdrop-filter:
			blur(8px)
			brightness(1.2);
		border-radius: 1rem;
		font-size: 0.72em;
		gap: 0.55rem;
		min-height: 4rem;
		padding: 0.6rem 0.8rem;
	}

	.place-figure__tripadvisor-logo {
		flex-basis: 2.4rem;
		height: 2.4rem;
		width: 2.4rem;
	}

	.place-figure__tripadvisor-rating {
		gap: 0.18rem;
	}

	.place-figure__tripadvisor-dot {
		border-width: 0.14rem;
		height: 0.9rem;
		width: 0.9rem;
	}

	.place-figure__tripadvisor-copy {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.place-figure__tripadvisor-reviews {
		display: none;
	}
}

.section--pink.section--accent-white.section--text-image-figures .place-figure__title {
    color:var(--dd-dark-green) !important;
} 

@media screen and (min-width:1023px) {
	.header__nav-link {
		display: inline-flex;
		justify-content: center;
        align-items: center;
	}
}

/* ==========================================================================
   Header Mobile
   ========================================================================== */

@media screen and (max-width:1023px) {

.header--expanded .header__search-toggle {
    background:var(--dd-shop-green);
}

    .header__button-icon.icon--close {
        width: 25px;
        height: 25px;
	}


	.header__sub-nav-link {

		
	}

	.header__nav-link:not(.header__nav-link--standalone) .header__nav-link--active, .header__nav-link:not(.header__nav-link--standalone):hover {
        color: var(--dd-shop-green);
    }


	.header__nav-link:not(.header__nav-link--standalone) .header__nav-link--active, .header__nav-link:not(.header__nav-link--standalone):hover {
        color: var(--dd-market-blue);
    }

	.header__nav-item--see-and-do .header__sub-nav-inner {
		border-left:2px solid var(--dd-teal);
	}


	.header__nav-item--see-and-do .header__nav-link:not(.header__nav-link--standalone):hover {
		color:var(--dd-teal);
	}


	.header__nav-item--whats-on .header__sub-nav-inner {
		border-left:2px solid var(--dd-salmon);
	}


	.header__nav-item--whats-on .header__nav-link:not(.header__nav-link--standalone):hover {
		color:var(--dd-salmon);
	}


	.header__nav-item--darwen-market .header__sub-nav-inner {
		border-left:2px solid var(--dd-market-blue);
	}


	.header__nav-item--darwen-market .header__nav-link:not(.header__nav-link--standalone):hover {
		color:var(--dd-market-blue);
	}


	.header__nav-item--eat-drink-shop .header__sub-nav-inner {
		border-left:2px solid var(--dd-shop-green);
	}


	.header__nav-item--eat-drink-shop .header__nav-link:not(.header__nav-link--standalone):hover {
		color:var(--dd-shop-green);
	}



		.header__nav-item--news .header__sub-nav-inner {
		border-left:2px solid var(--dd-pink);
	}


	.header__nav-item--news .header__nav-link:not(.header__nav-link--standalone):hover {
		color:var(--dd-pink);
	}


	.header__nav-item--visitor-info .header__sub-nav-inner {
		border-left:2px solid var(--dd-yellow);
	}


	.header__nav-item--visitor-info .header__nav-link:not(.header__nav-link--standalone):hover {
		color:var(--dd-yellow);
	}


	.header__sub-nav-link--active, .header__sub-nav-link:hover {
		color:#FFF;
	}

	.header--expanded .header__nav {
		order:4;
	}

	.header--expanded.header.header--search-active .header__search {
		order:3;
	}

	.header--expanded.header.header--search-active .header__search-toggle {
		background:var(--dd-shop-green);
	}



}


/* ==========================================================================
   SPLIT OVERRIDE MOBILE NO MARGIN
   ========================================================================== */




	.section--split-remove-image-margin.section--split-mobile-image-bottom .section__background-image {
    margin-top:0 !important;
    
}


	/* ==========================================================================
   Place hero
   Extends the existing hero styling
   ========================================================================== */

   .place-hero__content .pre-image {
    max-height:7rem;
}

.section--place-hero {
	background: var(--dd-palest-green);
	color: var(--dd-dark-green);
	min-height: 60svh;
	overflow: hidden;
	position: relative;
	padding:0;
}

/*
 * Keep the content aligned to the site's normal container.
 */

.section--place-hero > .container {
	position: relative;
	z-index: 3;
}

.place-hero__inner {
	min-height: 60svh;
	position: relative;
}

/* ==========================================================================
   Content
   ========================================================================== */

.place-hero__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 40%;
	min-height: 60svh;
	padding-bottom: 8rem;
	padding-top: 8rem;
	position: relative;
	z-index: 3;
}

/*
 * Match the existing section title styling rather than
 * introducing a separate oversized hero scale.
 */

.place-hero__title {
	color: var(--dd-dark-green);
	font-family: "ivypresto-headline", serif;
	font-size: 4em;
	font-style: normal;
	font-weight: 600;
	line-height: 1;
	margin: 0 0 3rem;
	max-width: 50rem;
	text-transform: none;
}

.place-hero__sub-title {
	color: var(--dd-dark-green);
	font-family: "Figtree", sans-serif;
	font-size: 1.5em;
	font-style: normal;
	font-weight: 600;
	line-height: 1.3;
	margin: 0 0 3rem;
	max-width: 55rem;
}

.place-hero__summary {
	color: var(--dd-dark-green);
	line-height: 1.6;
	margin: 0 0 3.5rem;
	max-width: 55rem;
}

.place-hero__summary p {
	margin: 0;
	    font-size: 1.125em !important;
}

/* ==========================================================================
   Shop Darwen eyebrow
   ========================================================================== */

.place-hero__eyebrow {
	background: var(--dd-shop-green);
	border-radius: 999rem;
	color: var(--dd-white);
	display: inline-flex;
	font-size: 0.84em;
	font-weight: 600;
	line-height: 1;
	margin-bottom: 3rem;
	padding: .75rem 1.25rem;
	text-transform: uppercase;
	width: fit-content;
}

/* ==========================================================================
   Taxonomy labels
   ========================================================================== */

.place-hero__labels {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.place-hero__label {
	align-items: center;
	background: var(--dd-pale-green);
	border-radius: 999rem;
	color: var(--dd-darkest-green);
	display: inline-flex;
	font-size: 0.72em;
	font-weight: 700;
	justify-content: center;
	line-height: 1;
	min-height: 2.6rem;
	padding: 0.4rem 1.3rem;
	text-transform: uppercase;
}

/* ==========================================================================
   Tripadvisor
   ========================================================================== */

.place-hero__tripadvisor {
	align-items: center;
	backdrop-filter: blur(10px) brightness(1.1);
	-webkit-backdrop-filter: blur(10px) brightness(1.1);
	background: rgba(244, 251, 250, 0.76);
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 999rem;
	display: flex;
	font-size: 0.78em;
	font-weight: 700;
	gap: 0.8rem;
	line-height: 1.2;
	margin-bottom: 4rem;
	max-width: fit-content;
	min-height: 4.6rem;
	padding: 0.6rem 1.5rem 0.6rem 0.7rem;
}

.place-hero__tripadvisor-logo {
	display: block;
	flex: 0 0 3.2rem;
	height: 3.2rem;
	width: 3.2rem;
}

.place-hero__tripadvisor-logo svg {
	display: block;
	height: 100%;
	width: 100%;
}

.place-hero__tripadvisor-rating {
	display: inline-flex;
	flex: 0 0 auto;
	gap: 0.25rem;
}

.place-hero__tripadvisor-dot {
	--tripadvisor-fill: 0%;

	background:
		linear-gradient(
			to right,
			#00aa6c 0,
			#00aa6c var(--tripadvisor-fill),
			transparent var(--tripadvisor-fill),
			transparent 100%
		);
	border: 0.16rem solid #00aa6c;
	border-radius: 50%;
	display: block;
	height: 1.05rem;
	width: 1.05rem;
}

.place-hero__tripadvisor-copy {
	min-width: 0;
}

.place-hero__tripadvisor-reviews {
	margin-left: 0.4rem;
	opacity: 0.72;
}

/* ==========================================================================
   Single image
   Mirrors .hero-image-stage--single-image
   ========================================================================== */

.place-hero__image-wrap {
	  border-radius: 100rem 0 0 0;
    height: 100%;
    margin: 0;
    overflow: hidden;
    position: absolute;
    right: calc(50% - 50vw);
    top: 0;
    width: calc(50vw);
    z-index: 2;
}

.place-hero__image {
	display: block;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

/* ==========================================================================
   No-image fallback
   ========================================================================== */

.section--place-hero-no-image
.place-hero__content {
	margin-left: auto;
	margin-right: auto;
	max-width: 80rem;
	text-align: center;
}

.section--place-hero-no-image
.place-hero__title,
.section--place-hero-no-image
.place-hero__sub-title,
.section--place-hero-no-image
.place-hero__summary {
	margin-left: auto;
	margin-right: auto;
}

.section--place-hero-no-image
.place-hero__labels {
	justify-content: center;
}

.section--place-hero-no-image
.place-hero__tripadvisor {
	margin-left: auto;
	margin-right: auto;
}

/* ==========================================================================
   Tablet
   ========================================================================== */

@media (max-width: 1023px) {
	.section--place-hero,
	.place-hero__inner,
	.place-hero__content {
		min-height: 60rem;
	}

	.place-hero__content {
		max-width: 46%;
		padding-bottom: 7rem;
		padding-top: 7rem;
	}

	.place-hero__title {
		font-size: 2.625em;
	}

	.place-hero__sub-title {
		font-size: 1.25em !important;
        line-height: 1.2em !important;
	}

	.place-hero__image-wrap {
		height: 70%;
		width: 48vw;
	}
}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width: 1023px) {
	.section--place-hero {
		display: block;
		min-height: 0;
		padding: 0;
	}

	.section--place-hero > .container {
		padding-left: 0;
		padding-right: 0;
	}

	.place-hero__inner {
		display: flex;
		flex-direction: column;
		min-height: 0;
	}

	.place-hero__content {
		max-width: none;
		min-height: 0;
		order: 1;
		padding:
			6rem
			2.5rem
			5rem;
		width: 100%;
	}

	.place-hero__title {
		font-size: 2.5em;
		line-height: 1;
		margin-bottom: 2.5rem;
		max-width: none;
	}

	.place-hero__sub-title {
		font-size: 1.25em !important;
        line-height: 1.2em !important;
		margin-bottom: 2.5rem;
		max-width: 34rem;
	}

	.place-hero__summary {
		font-size: 1em;
		line-height: 1.6;
		margin-bottom: 3rem;
		max-width: calc(100% - 2.5rem);
	}

	.place-hero__summary p {
		font-size:1em !important;
	}

	.place-hero__tripadvisor {
		font-size: 0.72em;
		gap: 0.55rem;
		margin-bottom: 3.5rem;
		max-width: fit-content;;
		min-height: 4rem;
		padding:
			0.5rem
			1rem
			0.5rem
			0.6rem;
	}

	.place-hero__tripadvisor-logo {
		flex-basis: 3rem;
		height: 3rem;
		width: 3rem;
	}

	.place-hero__tripadvisor-rating {
		gap: 0.18rem;
	}

	.place-hero__tripadvisor-dot {
		border-width: 0.14rem;
		height: 0.9rem;
		width: 0.9rem;
	}

	.place-hero__tripadvisor-copy {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.place-hero__tripadvisor-reviews {
		display: none;
	}

	.place-hero__eyebrow {
		margin-bottom: 2.5rem;
	}

	.place-hero__labels {
		gap: 0.8rem;
	}

	.place-hero__label {
		font-size: 0.68em;
		padding-left: 1rem;
		padding-right: 1rem;
	}

	    .place-hero__image-wrap {
        aspect-ratio: 1 / 0.75;
        border-radius: 999rem 0 0 0;
        height: auto;
        margin: 0 0 0 0;
        order: 2;
        position: relative;
        right: auto;
        top: auto;
        width: 100%;
    }

	.place-hero__image {
		height: 100%;
		object-position: center;
		position: absolute;
		inset: 0;
	}

	.section--place-hero-no-image
	.place-hero__content {
		text-align: left;
	}

	.section--place-hero-no-image
	.place-hero__labels {
		justify-content: flex-start;
	}

	.section--place-hero-no-image
	.place-hero__tripadvisor {
		margin-left: 0;
		margin-right: 0;
	}
}



.place-map__canvas .maplibregl-canvas {
	display: block;
	opacity: 1;
	visibility: visible;
}

.place-map {
	left: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	position: relative;
	right: 50%;
	width: 100vw;
}

.place-map__canvas {
	height: 70rem;
	width: 100%;
}


.place-map,
.places-explorer__map-panel,
.place-guide-map__map {
	.maplibregl-ctrl-group {
		background: var(--dd-darkest-green);
		border-radius: 1rem;
		box-shadow: none;
		overflow: hidden;
	}

	.maplibregl-ctrl-group button {
		background-color: var(--dd-darkest-green);
		border: 0;
		height: 4.4rem;
		width: 4.4rem;
	}

	.maplibregl-ctrl-group button + button {
		border-top: 0.1rem solid rgba(255, 255, 255, 0.2);
	}

	.maplibregl-ctrl-group button:hover {
		background-color: var(--dd-teal);
	}

	.maplibregl-ctrl-icon {
		filter: invert(1);
	}

	.maplibregl-ctrl-attrib {
		background: rgba(255, 255, 255, 0.94);
		color: var(--dd-ink);
		font-size: 1rem;
	}

	.maplibregl-ctrl-attrib a {
		color: var(--dd-teal);
	}
}

.place-map__marker {
	height: 7.8rem;
	position: relative;
	width: 6rem;

	img {
		display: block;
		height: 100%;
		width: 100%;
	}
}

.place-map__marker--active img {
	filter:
		drop-shadow(2px 0 0 #fff)
		drop-shadow(-2px 0 0 #fff)
		drop-shadow(0 2px 0 #fff)
		drop-shadow(0 -2px 0 #fff);
}

@media screen and (max-width:1023px) {
	.place-map__canvas {
	height: 50rem;
	width: 100%;
}

}



/* ==========================================================================
   Place nearby slider
   ========================================================================== */

.section--place-nearby {
	overflow: hidden;
}

.place-nearby__title {
	max-width: 38rem;
}

.slider--place-nearby {
	overflow: hidden;
}

.place-nearby__slide {
	display: block;
	height: 100%;
}

.place-nearby__slide > div,
.place-nearby-card,
.place-nearby-card__link {
	height: 100%;
}

.place-nearby-card {
	background: var(--dd-white);
	border-radius: 2.4rem;
	color: var(--dd-ink);
	overflow: hidden;
}

.place-nearby-card__link {
	color: inherit;
	display: flex;
	flex-direction: column;
	text-decoration: none;
}

.place-nearby-card__image-wrap {
	aspect-ratio: 16 / 9;
	background: var(--dd-pale-green);
	overflow: hidden;
	position: relative;
	width: 100%;
}

.place-nearby-card__image {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	transition: transform 0.5s ease-in-out;
	width: 100%;
}

.place-nearby-card__link:hover .place-nearby-card__image,
.place-nearby-card__link:focus-visible .place-nearby-card__image {
	transform: scale(1.04);
}

.place-nearby-card__image-wrap--placeholder {
	background:
		linear-gradient(
			135deg,
			var(--dd-pale-green),
			var(--dd-palest-green)
		);
}

.place-nearby-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 3rem;
}

.place-nearby-card__title {
	color: var(--dd-ink);
	font-size: 1.55em;
	line-height: 1.15;
	margin: 0 0 1.2rem;
}

.place-nearby-card__distance {
	align-items: flex-start;
	color: var(--dd-ink);
	display: flex;
	font-size: 0.88em;
	font-weight: 700;
	gap: 1rem;
	line-height: 1.35;
	margin-bottom: 1.5rem;
}

.place-nearby-card__distance svg {
	fill: var(--dd-shop-green);
	flex: 0 0 1.5rem;
	height: 1.8rem;
	margin-top: 0.1rem;
	width: 1.5rem;
}

.place-nearby-card__text {
	color: var(--dd-ink);
	font-size: 0.98em;
	line-height: 1.55;
	margin: 0;
}

.place-nearby-card__link:focus-visible {
	outline: 0.3rem solid var(--dd-teal);
	outline-offset: -0.3rem;
}

@media (max-width: 1150px) {
	.place-nearby-card__content {
		padding: 2.5rem;
	}

	.place-nearby-card__title {
		font-size: 1.4em;
	}
}

@media (max-width: 1023px) {

	.slider--place-nearby {
		overflow: visible;
	}
	.place-nearby__intro {
		margin-bottom: 4rem;
	}

	.place-nearby-card {
		border-radius: 1.8rem;
	}

	.place-nearby-card__content {
		padding: 2.2rem;
	}

	.place-nearby-card__title {
		font-size: 1.35em;
	}
}



/* Hard mobile fix for event/place slider cards */
@media (max-width: 1023px) {
	.slider--events [data-slide],
	.slider--places [data-slide],
	.slider--events .event-slider__slide,
	.slider--places .event-slider__slide {
		height: auto !important;
		min-height: 0 !important;
	}

	.slider--events .event-figure,
	.slider--places .event-figure {
		display: block !important;
		height: auto !important;
		min-height: 0 !important;
	}

	.slider--events .event-figure__image-link,
	.slider--places .event-figure__image-link {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: 1 / 1;
		position: relative;
		overflow: hidden;
	}

	.slider--events .event-figure__image,
	.slider--places .event-figure__image {
		display: block !important;
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		object-fit: cover;
	}

	.slider--events .event-figure__content,
	.slider--places .event-figure__content {
		display: flex;
		height: auto !important;
		min-height: 0 !important;
	}

	.slider--events .slick-track,
	.slider--places .slick-track {
		align-items: flex-start !important;
	}
}



/* Hard mobile fix for tabbed event sliders */
@media (max-width: 1023px) {
	.slider--event-tab-figures .slick-list {
		height: auto !important;
	}

	.slider--event-tab-figures .slick-track {
		align-items: flex-start !important;
	}

	.slider--event-tab-figures .slick-slide,
	.slider--event-tab-figures .slick-slide > div,
	.slider--event-tab-figures [data-event-tab-slide],
	.slider--event-tab-figures [data-event-tab-slide] > div {
		height: auto !important;
		min-height: 0 !important;
	}

	.slider--event-tab-figures .event-figure {
		display: block !important;
		height: auto !important;
		min-height: 0 !important;
	}

	.slider--event-tab-figures .event-figure__image-link {
		display: block !important;
		position: relative !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: 1 / 1;
		overflow: hidden;
		flex-shrink: 0;
	}

	.slider--event-tab-figures .event-figure__image {
		display: block !important;
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		object-fit: cover;
	}

	.slider--event-tab-figures .event-figure__content {
		display: flex;
		height: auto !important;
		min-height: 0 !important;
	}
}


/* ==========================================================================
   Notice block SVG artwork
   ========================================================================== */

@media (min-width: 1023px) {

	/*
	 * All SVGs receive a predictable artwork column.
	 * This stops square SVGs collapsing to a narrow natural width.
	 */
	.section--notice-svg-image .notice-block__image-wrap {
		align-items: center;
		align-self: stretch;
		display: flex;
		flex: 0 0 clamp(27rem, 19vw, 34rem);
		justify-content: center;
		max-height: none;
		overflow: visible;
		position: relative;
		width: clamp(27rem, 19vw, 34rem);
	}

	.section--notice-svg-image .notice-block__image-wrap picture {
		align-items: center;
		display: flex;
		height: 100%;
		justify-content: center;
		overflow: visible;
		width: 100%;
	}

	.section--notice-svg-image .notice-block__image {
		display: block;
		height: auto;
		max-height: 13rem;
		max-width: 22rem;
		object-fit: contain;
		position: relative;
		width: 100%;
	}

	.section--notice-svg-image .notice-block__content {
		flex: 1;
		min-width: 0;
	}

	/*
	 * Shop Darwen artwork.
	 *
	 * The coloured frame/circle is part of the actual SVG, so the image
	 * deliberately extends above and below the 15rem notice strip.
	 */
	.section--notice-shop-darwen-image {
		overflow: visible;
		position: relative;
		z-index: 2;
	}

	.section--notice-shop-darwen-image .container {
		overflow: visible;
	}

	.section--notice-shop-darwen-image .notice-block {
		min-height: 15rem;
		overflow: visible;
		position: relative;
	}

	.section--notice-shop-darwen-image .notice-block__image-wrap {
		flex-basis: clamp(29rem, 21vw, 37rem);
		overflow: visible;
		width: clamp(29rem, 21vw, 37rem);
		z-index: 2;
	}

	.section--notice-shop-darwen-image .notice-block__image-wrap picture {
		overflow: visible;
	}

	.section--notice-shop-darwen-image .notice-block__image {
		height: clamp(20rem, 15vw, 25rem);
		max-height: none;
		max-width: none;
		object-fit: contain;
		width: clamp(20rem, 15vw, 25rem);
		z-index: 2;
	}

	/*
	 * Keep the title/text/button spacing equivalent to the orange block.
	 */
	.section--notice-shop-darwen-image .notice-block__content {
		gap: 4rem;
		padding-bottom: 3.5rem;
		padding-top: 3.5rem;
		position: relative;
		z-index: 1;
	}
}



/* Shop Darwen artwork deliberately overlaps the notice strip */
.section--notice-shop-darwen-image {
	overflow: visible;
	position: relative;
	z-index: 2;
}

.section--notice-shop-darwen-image .container,
.section--notice-shop-darwen-image .notice-block,
.section--notice-shop-darwen-image .notice-block__image-wrap,
.section--notice-shop-darwen-image .notice-block__image-wrap picture {
	overflow: visible;
}

@media (min-width: 1023px) {
	.section--notice-shop-darwen-image .notice-block__image-wrap {
		align-items: center;
		flex: 0 0 clamp(28rem, 20vw, 35rem);
		justify-content: center;
		max-height: none;
		position: relative;
		width: clamp(28rem, 20vw, 35rem);
		z-index: 3;
	}

	.section--notice-shop-darwen-image .notice-block__image-wrap picture {
		align-items: center;
		position: absolute;
		display: flex;
		height: 100%;
		justify-content: center;
		width: 100%;
	}

	.section--notice-shop-darwen-image .notice-block__image {
		display: block;
		height: clamp(21rem, 15vw, 22rem);
		max-height: none;
		max-width: none;
		object-fit: contain;
		width: clamp(21rem, 15vw, 22rem);
	}

	.section--notice-shop-darwen-image .notice-block__content {
		gap: 4rem;
		padding-bottom: 3.5rem;
		padding-top: 3.5rem;
	}
}


@media screen and (max-width: 1023px) {
	.notice-block__image {
		padding: 2.5rem;
	}

	.section--notice-full-height-image .notice-block__image {
		padding: 0;
	}

	.section--notice-shop-darwen-image .notice-block__image {
		padding-left: 2.5rem;
		}
}



/* ==========================================================================
   Guide Places map block
   ========================================================================== */

   

   
.section--place-guide-map {
	background: var(--dd-palest-green);
	padding: 0;
}

.place-guide-map {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	height: clamp(68rem, 76vh, 92rem);
	min-height: 68rem;
	width: 100%;
}

.place-guide-map__list,
.place-guide-map__map {
	min-height: 0;
	min-width: 0;
}

.place-guide-map__list {
	background: var(--dd-palest-green);
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
}

/* Match the guide list to the site container gutters */
.place-guide-map {
	--place-guide-outer-gutter: 3rem;
	--place-guide-centre-gutter: 3rem;
}

.place-guide-map__list-inner {
	display: grid;
	gap: clamp(2rem, 2vw, 3rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding-bottom: 0;
	padding-left: max(
		var(--place-guide-outer-gutter),
		calc(
			(100vw - 1800px) / 2 +
			var(--place-guide-outer-gutter)
		)
	);
	padding-right: var(--place-guide-centre-gutter);
	padding-top: clamp(4rem, 4vw, 8rem);
}

.place-guide-map__map {
	position: relative;
}

.place-guide-map__canvas {
	height: 100%;
	min-height: 68rem;
	width: 100%;
}

@media (min-width: 1151px) {
	.place-guide-map {
		--place-guide-outer-gutter: 4rem;
		--place-guide-centre-gutter: 4rem;
	}
}

@media (min-width: 1501px) {
	.place-guide-map {
		--place-guide-outer-gutter: 5rem;
		--place-guide-centre-gutter: 8rem;
	}
}



/* ==========================================================================
   Cards
   ========================================================================== */

.place-guide-map-card {
	background: var(--dd-white);
	border: 0.3rem solid transparent;
	border-radius: 2.4rem;
	overflow: hidden;
	position: relative;
	transition:
		border-color 0.25s ease,
		box-shadow 0.25s ease,
		transform 0.25s ease;
}

.place-guide-map-card:hover,
.place-guide-map-card:focus-within,
.place-guide-map-card.is-active {
	border-color: var(--dd-shop-green);
	box-shadow: 0 1.2rem 3rem rgba(43, 78, 80, 0.1);
	transform: translateY(-0.3rem);
}

.place-guide-map-card__link {
	color: inherit;
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
}

.place-guide-map-card__visual {
	aspect-ratio: 16 / 9;
	background: var(--dd-pale-green);
	overflow: hidden;
	position: relative;
}

.place-guide-map-card__image {
	display: block;
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	transition: transform 0.5s ease-in-out;
	width: 100%;
}

.place-guide-map-card:hover .place-guide-map-card__image,
.place-guide-map-card:focus-within .place-guide-map-card__image,
.place-guide-map-card.is-active .place-guide-map-card__image {
	transform: scale(1.04);
}

.place-guide-map-card__image--placeholder {
	background: var(--dd-pale-green);
}

/*
 * Both "Best for" and selected focus tags sit over the image, matching the
 * pill treatment already used by Event and News cards.
 */
.place-guide-map-card__labels {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
	left: 1.5rem;
	max-width: calc(100% - 3rem);
	position: absolute;
	top: 1.5rem;
	z-index: 2;
}

.place-guide-map-card__label {
	align-items: center;
	background: var(--dd-pale-green);
	border-radius: 999rem;
	color: var(--dd-darkest-green);
	display: inline-flex;
	font-size: 1.15rem;
	font-weight: 700;
	justify-content: center;
	line-height: 1;
	max-width: 100%;
	min-height: 2.8rem;
	overflow: hidden;
	padding: 0.6rem 1.4rem;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.place-guide-map-card__label--best {
	background: var(--dd-white);
	box-shadow: 0 0.4rem 1.2rem rgba(43, 78, 80, 0.08);
}

.place-guide-map-card__content {
display: flex;
	flex: 1;
	flex-direction: column;
	gap: 1rem;
	padding: clamp(2rem, 1.5vw, 2.6rem);
}

.place-guide-map-card__title {
	color: var(--dd-darkest-green);
	font-family: "ivypresto-headline", serif;
font-size: 1.5em;
	font-weight: 600;
	line-height: 1.08;
	margin: 0;
}

.place-guide-map-card__meta {
	align-items: flex-start;
	color: var(--dd-dark-green);
	display: flex;
	font-size: 1.45rem;
	font-weight: 600;
	gap: 1rem;
	line-height: 1.35;
}

.place-guide-map-card__meta svg {
	fill: var(--dd-shop-green);
	flex: 0 0 1.7rem;
	height: 1.9rem;
	margin-top: 0.1rem;
	width: 1.7rem;
}

.place-guide-map-card__text {
	color: var(--dd-dark-green);
	font-size: 1.5rem;
	line-height: 1.5;
	margin: 0;
}

/* ==========================================================================
   Markers
   ========================================================================== */

.place-guide-map__marker {
	background: transparent;
	border: 0;
	cursor: pointer;
	padding: 0;
	transform-origin: 50% 100%;
	transition:
		filter 0.22s ease,
		transform 0.22s ease;
}

.place-guide-map__marker img {
	display: block;
	height: 6.8rem;
	width: auto;
}

.place-guide-map__marker:hover,
.place-guide-map__marker:focus-visible,
.place-guide-map__marker.is-active {
	filter:
		drop-shadow(2px 0 0 #fff)
		drop-shadow(-2px 0 0 #fff)
		drop-shadow(0 2px 0 #fff)
		drop-shadow(0 -2px 0 #fff);
	outline: none;
	transform: scale(1.3) translateY(-0.45rem);
	z-index: 4;
}

/* ==========================================================================
   Map popups
   ========================================================================== */

.place-guide-map-popup .maplibregl-popup-content {
	background: var(--dd-white);
	border-radius: 1.4rem;
	box-shadow: 0 1rem 3rem rgba(29, 52, 54, 0.2);
	color: var(--dd-dark-green);
	padding: 1.4rem 1.7rem;
}

.place-guide-map-popup .maplibregl-popup-tip {
	border-top-color: var(--dd-white);
}

.place-guide-map-popup__title {
	color: var(--dd-darkest-green);
	display: block;
	    font-family: 'Figtree';
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.1;
	text-decoration: none;
}

.place-guide-map-popup__title:hover {
	color: var(--dd-shop-green);
}

.place-guide-map-popup--desktop .maplibregl-popup-content {
	min-width: 15rem;
	text-align: center;
}

.place-guide-map-popup--mobile {
	max-width: calc(100vw - 4rem) !important;
	width: 30rem;
}

.place-guide-map-popup--mobile .maplibregl-popup-content {
	border-radius: 2rem;
	padding: 2rem;
}

.place-guide-map-popup--mobile .maplibregl-popup-close-button {
	align-items: center;
	background: var(--dd-pale-green);
	border-radius: 50%;
	color: var(--dd-dark-green);
	display: flex;
	font-size: 2rem;
	height: 3rem;
	justify-content: center;
	line-height: 1;
	right: 1rem;
	top: 1rem;
	width: 3rem;
}

.place-guide-map-popup__card {
	display: grid;
	gap: 1rem;
	padding-right: 2.5rem;
}

.place-guide-map-popup__address,
.place-guide-map-popup__text {
	font-size: 1.35rem;
	line-height: 1.4;
	margin: 0;
}

.place-guide-map-popup__address {
	font-weight: 700;
}

.place-guide-map-popup__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.place-guide-map-popup__tag {
	background: var(--dd-pale-green);
	border-radius: 999rem;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	padding: 0.6rem 0.9rem;
	text-transform: uppercase;
}

/* Desktop does not need the mobile List / Map switch. */
.place-guide-map__mobile-switch {
	display: none;
}

/* ==========================================================================
   Slightly tighter desktop/tablet cards
   ========================================================================== */

@media (min-width: 1023px) and (max-width: 1300px) {
	.place-guide-map__list-inner {
		gap: 1.5rem;
		padding: 2.5rem;
	}

	.place-guide-map-card__content {
		padding: 2rem;
	}

	.place-guide-map-card__title {
		font-size: 2.2rem;
	}

	.place-guide-map-card__meta,
	.place-guide-map-card__text {
		font-size: 1.3rem;
	}

	.place-guide-map-card__label {
		font-size: 1rem;
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

/* ==========================================================================
   Mobile List / Map mode
   ========================================================================== */

@media (max-width: 1023px) {
	.section--place-guide-map {
		padding-top: 0;
	}

	.place-guide-map {
		display: block;
		height: auto;
		min-height: 0;
	}

	.place-guide-map__mobile-switch {
		background: var(--dd-palest-green);
		display: inline-flex;
		margin: 0;
		padding: 3rem 2.5rem;
		position: relative;
		width: 100%;
	}

	.place-guide-map__mobile-switch::before {
		background: var(--dd-white);
		border-radius: 999rem;
		content: "";
		height: 4.8rem;
		position: absolute;
		width: 13.4rem;
		z-index: 0;
	}

	.place-guide-map__switch-button {
		align-items: center;
		background: transparent;
		border: 0;
		border-radius: 999rem;
		color: var(--dd-dark-green);
		display: inline-flex;
		height: 4.8rem;
		justify-content: center;
		padding: 0;
		position: relative;
		transition:
			background-color 0.2s ease,
			color 0.2s ease;
		width: 6.7rem;
		z-index: 1;
	}

	.place-guide-map__mobile-switch {
		background:#FFF;
	}

	.place-guide-map__switch-button.is-active {
		
		background: var(--dd-dark-green);
        border: 2px solid #ffffff;
	}

	.place-guide-map__switch-button:not(.is-active) {
		        background: #ffffff;
        color: var(--dd-dark-green);
	}

	.place-guide-map__switch-button.is-active svg {
    fill: rgb(255, 255, 255);
}


	.place-guide-map__switch-button svg {
		fill: currentColor;
		height: 1.75rem;
		width: 1.75rem;
	}

	.place-guide-map__list,
	.place-guide-map__map {
		display: none;
	}

	.place-guide-map__list.is-mobile-active,
	.place-guide-map__map.is-mobile-active {
		display: block;
	}

	.place-guide-map__list {
		max-height: none;
		overflow: visible;
	}

	.place-guide-map__list-inner {
		gap: 2rem;
		grid-template-columns: 1fr;
		padding: 0 2.5rem 4rem;
	}

	.place-guide-map-card {
		border-radius: 2rem;
	}

	.place-guide-map-card__visual {
		aspect-ratio: 1.75 / 1;
	}

	.place-guide-map-card__content {
		gap: 1rem;
		padding: 2.5rem;
	}

	.place-guide-map-card__title {
		font-size: 2.6rem;
	}

	.place-guide-map-card__meta,
	.place-guide-map-card__text {
		font-size: 1.4rem;
	}

	.place-guide-map__map,
	.place-guide-map__canvas {
		height: calc(100svh - 16rem);
		min-height: 62rem;
	}

	.place-guide-map__marker img {
		height: 6rem;
	}

	.place-guide-map__marker:hover,
	.place-guide-map__marker:focus-visible,
	.place-guide-map__marker.is-active {
		transform: scale(1.18) translateY(-0.3rem);
	}
}




/* ==========================================================================
   Guide Places map popups
   Replace the existing "Map popups" section with this.
   ========================================================================== */

.place-guide-map-popup {
	pointer-events: none;
}

.place-guide-map-popup .maplibregl-popup-content {
	background: var(--dd-white);
	border: 0;
	border-radius: 1.4rem;
	box-shadow: 0 1rem 3rem rgba(29, 52, 54, 0.2);
	color: var(--dd-dark-green);
	outline: 0;
	padding: 1.4rem 1.7rem;
}

.place-guide-map-popup .maplibregl-popup-tip {
	border-top-color: var(--dd-white);
}

/*
 * Kill site-wide accessibility/highlight styling inside this component.
 * Desktop uses a non-link span anyway, but these rules also protect the
 * mobile title and image link.
 */
.place-guide-map-popup a,
.place-guide-map-popup a:hover,
.place-guide-map-popup a:focus,
.place-guide-map-popup a:focus-visible,
.place-guide-map-popup button,
.place-guide-map-popup button:focus,
.place-guide-map-popup button:focus-visible {
	border: 0 !important;
	box-shadow: none !important;
	outline: 0 !important;
	text-decoration: none;
}

.place-guide-map-popup__title {
	color: var(--dd-darkest-green);
	display: block;
	font-family: "Figtree", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.15;
	margin: 0;
	text-decoration: none;
}

/* Desktop: small, clean name label above the marker. */
.place-guide-map-popup--desktop {
	pointer-events: none;
}

.place-guide-map-popup--desktop .maplibregl-popup-content {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 3.8rem;
	min-width: 0;
	padding: 0.9rem 1.4rem;
	text-align: center;
	white-space: nowrap;
}

.place-guide-map-popup--desktop .maplibregl-popup-tip {
	display: none;
}

/* Mobile: proper mini card with image. */
.place-guide-map-popup--mobile {
	max-width: calc(100vw - 4rem) !important;
	pointer-events: auto;
	width: min(32rem, calc(100vw - 4rem));
}

.place-guide-map-popup--mobile .maplibregl-popup-content {
	border-radius: 2rem;
	overflow: hidden;
	padding: 0;
}

.place-guide-map-popup--mobile .maplibregl-popup-close-button {
	align-items: center;
	background: var(--dd-white);
	border-radius: 50%;
	color: var(--dd-dark-green);
	display: flex;
	font-size: 2rem;
	height: 3.2rem;
	justify-content: center;
	line-height: 1;
	right: 1rem;
	top: 1rem;
	width: 3.2rem;
	z-index: 3;
}

.place-guide-map-popup__card {
	background: var(--dd-white);
	display: block;
	margin: 0;
	padding: 0;
}

.place-guide-map-popup__image-link {
	aspect-ratio: 16 / 9;
	background: var(--dd-pale-green);
	display: block;
	overflow: hidden;
	position: relative;
}

.place-guide-map-popup__image {
	display: block;
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

.place-guide-map-popup__content {
	display: grid;
	gap: 1rem;
	padding: 2rem;
}

.place-guide-map-popup--mobile .place-guide-map-popup__title {
	font-family: "ivypresto-headline", serif;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.1;
	padding-right: 2.5rem;
}

.place-guide-map-popup--mobile .place-guide-map-popup__title:hover {
	color: var(--dd-shop-green);
}

.place-guide-map-popup__address,
.place-guide-map-popup__text {
	font-size: 1.35rem;
	line-height: 1.4;
	margin: 0;
}

.place-guide-map-popup__address {
	font-weight: 700;
}

.place-guide-map-popup__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.place-guide-map-popup__tag {
	background: var(--dd-pale-green);
	border-radius: 999rem;
	color: var(--dd-darkest-green);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	padding: 0.6rem 0.9rem;
	text-transform: uppercase;
}



/* ==========================================================================
   Guide Places map: scroll and mobile popup fixes
   Add this AFTER the existing Guide Places map CSS.
   ========================================================================== */

/*
 * The list only becomes an inner scroll area when JavaScript confirms that
 * its content is taller than the available desktop panel.
 */
.place-guide-map__list {
	overflow-y: hidden;
	overscroll-behavior-y: auto;
	scrollbar-gutter: auto;
}

.place-guide-map__list.is-scrollable {
	overflow-y: auto;
	scrollbar-gutter: stable;
}

/*
 * Keep desktop marker popups clean and non-interactive.
 */
.place-guide-map-popup--desktop {
	pointer-events: none;
}

.place-guide-map-popup--desktop .maplibregl-popup-content {
	align-items: center;
	background: var(--dd-white);
	border: 0;
	border-radius: 1.2rem;
	box-shadow: 0 0.8rem 2.4rem rgba(29, 52, 54, 0.18);
	color: var(--dd-darkest-green);
	display: flex;
	justify-content: center;
	min-height: 3.8rem;
	outline: 0;
	padding: 0.9rem 1.4rem;
	text-align: center;
	white-space: nowrap;
}

.place-guide-map-popup--desktop .maplibregl-popup-tip {
	display: none;
}

.place-guide-map-popup--desktop .place-guide-map-popup__title {
	color: var(--dd-darkest-green);
	display: block;
	font-family: "Figtree", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.15;
	margin: 0;
}

/* ==========================================================================
   Fixed mobile map card
   This is deliberately not a MapLibre popup. It stays reliably centred at
   the top of the map on real mobile browsers, regardless of map anchoring.
   ========================================================================== */

.place-guide-map__mobile-card {
	display: none;
}

@media (max-width: 1023px) {
	.place-guide-map__list {
		overflow: visible;
	}

	.place-guide-map__mobile-card {
		display: block;
		left: 50%;
		max-height: calc(100% - 4rem);
		max-width: calc(100% - 4rem);
		opacity: 0;
		overflow-y: auto;
		pointer-events: none;
		position: absolute;
		top: 2rem;
		transform: translate(-50%, -1rem);
		transition:
			opacity 0.2s ease,
			transform 0.2s ease;
		width: min(34rem, calc(100% - 4rem));
		z-index: 8;
	}

	.place-guide-map__mobile-card[hidden] {
		display: none;
	}

	.place-guide-map__mobile-card.is-visible {
		opacity: 1;
		pointer-events: auto;
		transform: translate(-50%, 0);
	}

	.place-guide-map__mobile-card-close {
		align-items: center;
		background: var(--dd-white);
		border: 0;
		border-radius: 50%;
		box-shadow: 0 0.5rem 1.5rem rgba(29, 52, 54, 0.15);
		color: var(--dd-dark-green);
		display: flex;
		font-size: 2.3rem;
		height: 4rem;
		justify-content: center;
		line-height: 1;
		padding: 0;
		position: absolute;
		right: 1.2rem;
		top: 1.2rem;
		width: 4rem;
		z-index: 3;
	}

	.place-guide-map__mobile-card-close:hover,
	.place-guide-map__mobile-card-close:focus,
	.place-guide-map__mobile-card-close:focus-visible {
		background: var(--dd-pale-green);
		border: 0 !important;
		box-shadow: 0 0.5rem 1.5rem rgba(29, 52, 54, 0.15) !important;
		outline: 0 !important;
	}

	.place-guide-map__mobile-card-inner {
		background: var(--dd-white);
		border-radius: 2.4rem;
		box-shadow: 0 1.2rem 3.5rem rgba(29, 52, 54, 0.22);
		overflow: hidden;
	}

	.place-guide-map__mobile-card a,
	.place-guide-map__mobile-card a:hover,
	.place-guide-map__mobile-card a:focus,
	.place-guide-map__mobile-card a:focus-visible {
		border: 0 !important;
		box-shadow: none !important;
		outline: 0 !important;
		text-decoration: none;
	}

	.place-guide-map-popup__card {
		background: var(--dd-white);
		display: block;
		margin: 0;
		padding: 0;
	}

	.place-guide-map-popup__image-link {
		aspect-ratio: 16 / 9;
		background: var(--dd-pale-green);
		display: block;
		overflow: hidden;
		position: relative;
	}

	.place-guide-map-popup__image {
		display: block;
		height: 100%;
		inset: 0;
		object-fit: cover;
		position: absolute;
		width: 100%;
	}

	.place-guide-map-popup__content {
		display: grid;
		gap: 1rem;
		padding: 2.2rem;
	}

	.place-guide-map__mobile-card .place-guide-map-popup__title {
		color: var(--dd-darkest-green);
		display: block;
		font-family: "ivypresto-headline", serif;
		font-size: 2.2rem;
		font-weight: 600;
		line-height: 1.1;
		padding-right: 2.8rem;
	}

	.place-guide-map-popup__address,
	.place-guide-map-popup__text {
		color: var(--dd-dark-green);
		font-size: 1.4rem;
		line-height: 1.45;
		margin: 0;
	}

	.place-guide-map-popup__address {
		font-weight: 700;
	}

	.place-guide-map-popup__tags {
		display: flex;
		flex-wrap: wrap;
		gap: 0.6rem;
	}

	.place-guide-map-popup__tag {
		background: var(--dd-pale-green);
		border-radius: 999rem;
		color: var(--dd-darkest-green);
		font-size: 1rem;
		font-weight: 700;
		line-height: 1;
		padding: 0.6rem 0.9rem;
		text-transform: uppercase;
	}

	/*
	 * MapLibre mobile popups are no longer used by this block.
	 * Hide any stale popup left behind by cached markup/scripts.
	 */
	.place-guide-map-popup--mobile {
		display: none !important;
	}
}


/* Remove the permanent card border without changing card dimensions */
.place-guide-map-card {
	border: 0;
	box-shadow: inset 0 0 0 0.3rem transparent;
}

/* Keep the green active/hover outline inside the existing card dimensions */
.place-guide-map-card:hover,
.place-guide-map-card:focus-within,
.place-guide-map-card.is-active {
	border: 0;
	    box-shadow: 0 0 0 2px var(--dd-shop-green);
}

@media (max-width: 1023px) {
	.place-guide-map-card,
	.place-guide-map-card:hover,
	.place-guide-map-card:focus-within,
	.place-guide-map-card.is-active {
		border: 0;
		box-shadow: none;
	}

	
}


/* ==========================================================================
   Mobile map card labels
   Add after the existing Guide Places map CSS.
   ========================================================================== */

@media (max-width: 1023px) {
	.place-guide-map-popup__visual {
		aspect-ratio: 16 / 9;
		background: var(--dd-pale-green);
		overflow: hidden;
		position: relative;
	}

	.place-guide-map-popup__image-link {
		display: block;
		height: 100%;
		position: relative;
		width: 100%;
	}

	.place-guide-map-popup__image {
		display: block;
		height: 100%;
		inset: 0;
		object-fit: cover;
		position: absolute;
		width: 100%;
	}

	.place-guide-map-popup__labels {
		align-items: flex-start;
		display: flex;
		flex-direction: column;
		gap: 0.7rem;
		left: 1.5rem;
		max-width: calc(100% - 7rem);
		pointer-events: none;
		position: absolute;
		top: 1.5rem;
		z-index: 2;
	}

	.place-guide-map-popup__label {
		align-items: center;
		background: var(--dd-pale-green);
		border-radius: 999rem;
		color: var(--dd-darkest-green);
		display: inline-flex;
		font-size: 1rem;
		font-weight: 700;
		justify-content: center;
		line-height: 1;
		max-width: 100%;
		min-height: 2.8rem;
		overflow: hidden;
		padding: 0.6rem 1.2rem;
		text-overflow: ellipsis;
		text-transform: uppercase;
		white-space: nowrap;
	}

	.place-guide-map-popup__label--best {
		background: var(--dd-white);
		box-shadow: 0 0.4rem 1.2rem rgba(43, 78, 80, 0.08);
	}
}

/* Desktop map pointers now act as direct Place links. */
@media (min-width: 1023px) {

	.place-guide-map-popup--desktop {
	transform: translateY(-0.5rem);
}


	.place-guide-map__marker {
		cursor: pointer;
	}
}




/* ==========================================================================
   Global scrollbars
   ========================================================================== */

html {
	scrollbar-color: var(--dd-medium-green) var(--dd-paler-green);
	scrollbar-width: thin;
}

* {
	scrollbar-color: var(--dd-medium-green) var(--dd-paler-green);
	scrollbar-width: thin;
}

*::-webkit-scrollbar {
	height: 0.9rem;
	width: 0.9rem;
}

*::-webkit-scrollbar-track {
	background: var(--dd-paler-green);
}

*::-webkit-scrollbar-thumb {
	background: var(--dd-medium-green);
	border: 0.2rem solid var(--dd-paler-green);
	border-radius: 999rem;
}

*::-webkit-scrollbar-thumb:hover {
	background: var(--dd-dark-green);
}


.place-guide-map__list {
	scrollbar-color: var(--dd-medium-green) transparent;
	scrollbar-width: thin;
}

.place-guide-map__list::-webkit-scrollbar {
	width: 0.8rem;
}

.place-guide-map__list::-webkit-scrollbar-track {
	background: transparent;
}

.place-guide-map__list::-webkit-scrollbar-thumb {
	background: var(--dd-medium-green);
	border: 0.2rem solid transparent;
	background-clip: padding-box;
	border-radius: 999rem;
}


.place-guide-map__list {
	position: relative;
}

.place-guide-map__list::after {
	background: linear-gradient(
		to bottom,
		rgba(228, 243, 242, 0),
		var(--dd-palest-green)
	);
	bottom: 0;
	content: "";
	height: 8rem;
	left: 0;
	pointer-events: none;
	position: sticky;
	width: 100%;
	display: block;
	z-index: 3;
}



@media screen and (max-width:1023px){ 
	.place-guide-map__list::after {
		display: none;
	}
}


/* ==========================================================================
   Reusable site modal
   ========================================================================== */

body.site-modal-is-open {
	overflow: hidden;
}

.site-modal {
	inset: 0;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	transition: opacity 0.25s ease;
	z-index: 9999;
}

.site-modal.is-open {
	opacity: 1;
	pointer-events: auto;
}

.site-modal__backdrop {
	background: rgba(29, 52, 54, 0.72);
	inset: 0;
	position: absolute;
}

.site-modal__dialog {
	background: var(--dd-white);
	border-radius: 2.4rem;
	box-shadow: 0 2rem 6rem rgba(29, 52, 54, 0.28);
	left: 50%;
	max-height: calc(100svh - 6rem);
	max-width: calc(100% - 4rem);
	opacity: 0;
	overflow: auto;
	position: absolute;
	top: 50%;
	transform: translate(-50%, calc(-50% + 1.5rem));
	transition:
		opacity 0.25s ease,
		transform 0.25s ease;
	width: min(54rem, calc(100% - 4rem));
}

.site-modal.is-open .site-modal__dialog {
	opacity: 1;
	transform: translate(-50%, -50%);
}

.site-modal__close {
	align-items: center;
	background: var(--dd-white);
	border: 0;
	border-radius: 50%;
	box-shadow: 0 0.6rem 1.8rem rgba(29, 52, 54, 0.16);
	color: var(--dd-dark-green);
	display: flex;
	font-size: 2.4rem;
	height: 4rem;
	justify-content: center;
	line-height: 1;
	padding: 0;
	position: absolute;
	right: 1.5rem;
	top: 1.5rem;
	width: 4rem;
	z-index: 2;
}

.site-modal__close:hover,
.site-modal__close:focus-visible {
	background: var(--dd-pale-green);
	outline: 0;
}

.site-modal__visual {
	aspect-ratio: 16 / 9;
	background: var(--dd-pale-green);
	overflow: hidden;
}

.site-modal__image {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.site-modal__content {
	padding: clamp(2.8rem, 4vw, 4.5rem);
}

.site-modal__title {
	color: var(--dd-dark-green);
	font-size: clamp(3rem, 4vw, 4.4rem);
	line-height: 1.05;
	margin: 0 0 1.8rem;
	max-width: 44rem;
}

.site-modal__text {
	color: var(--dd-dark-green);
}

.site-modal__text > :last-child {
	margin-bottom: 0;
}

.site-modal__button {
	margin-top: 2.5rem;
}

/* Shop Darwen hero trigger */

.place-hero__eyebrow--button {
	align-items: center;
	appearance: none;
	border: 0;
	cursor: pointer;
	display: inline-flex;
	gap: 0.7rem;
}

.place-hero__eyebrow--button svg {
	fill: currentColor;
	height: 1.6rem;
	transition: transform 0.2s ease;
	width: 1.6rem;
}

.place-hero__eyebrow--button:hover svg,
.place-hero__eyebrow--button:focus-visible svg {
	transform: translateX(0.25rem);
}

@media (max-width: 1023px) {
	.site-modal__dialog {
		border-radius: 2rem;
		max-height: calc(100svh - 3rem);
		max-width: calc(100% - 2.5rem);
		width: calc(100% - 2.5rem);
	}

	.site-modal__close {
		height: 3.8rem;
		right: 1.2rem;
		top: 1.2rem;
		width: 3.8rem;
	}

	.site-modal__content {
		padding: 2.5rem;
	}

	.site-modal__title {
		font-size: 3rem;
		padding-right: 2.5rem;
	}
}




#shop-darwen-modal-1 .site-modal__visual {
	overflow: hidden;
	position: relative;
}

#shop-darwen-modal-1 .site-modal__visual::after {
	background: url("/wp-content/themes/discoverdarwen/img/dd_shopdarwen_green.svg") center / contain no-repeat;

	content: "";
	height: clamp(9rem, 11vw, 15rem);
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: clamp(9rem, 11vw, 15rem);
	z-index: 2;
}

@media (max-width: 1023px) {
	#shop-darwen-modal-1 .site-modal__visual::after {
		height: clamp(12.5rem, 28vw, 15rem);
		width: clamp(12.5rem, 28vw, 15rem);
	}
}


/* ========================================================================== 
   Discover Darwen desktop mega-menu promos
   Add after the existing header/menu CSS.
   ========================================================================== */

/* Desktop-only enhancements. */
.header__sub-nav-title,
.header__menu-promos {
	display: none;
	text-transform: capitalize;
}

@media (min-width: 1024px) {
	/* Allow the flyout to span the header instead of the individual menu item. */
	.header__sub-nav {
		left: 50%;
		transform: translateX(-50%);
		width: min(112rem, calc(100vw - 6rem));
	}

	.header__sub-nav-inner {
		background: var(--dd-palest-green);
		border-radius: 0 0 1.8rem 1.8rem;
		max-width: none;
		min-width: 0;
		padding: clamp(3.5rem, 4vw, 5rem);
		width: 100%;
	}

	.header__sub-nav-layout {
		align-items: stretch;
		display: grid;
		gap: clamp(4rem, 6vw, 8rem);
		grid-template-columns: minmax(0, 1fr) minmax(36rem, 42rem);
	}

	.header__sub-nav-main {
		min-width: 0;
	}

	.header__sub-nav-title {
		color: var(--dd-dark-green);
		display: block;
		font-size: 2em;
		line-height: 1.05;
		margin: 0 0 3rem;
		max-width: 48rem;
	}

	/* Desktop submenu is a clean text list, not thumbnail cards. */
	.header__sub-nav-items {
		display: grid;
		gap: 1.3rem;
	}

	.header__sub-nav-item {
		width: 100%;
	}

	.header__sub-nav-link {
		align-items: center;
		background: transparent;
		color: var(--dd-dark-green);
		display: inline-flex;
		font-size: 1.7rem;
		font-weight: 600;
		line-height: 1.25;
		padding: 0;
		white-space: normal;
		width: auto;
	}

	.header__sub-nav-link:hover,
	.header__sub-nav-link--active {
		color: var(--dd-shop-green);
	}

	.header__sub-nav-image-wrap,
	.header__sub-nav-link > .label {
		display: none;
	}

	.header__sub-nav-label {
		display: block;
		text-align: left;
		width: auto;
	}

	/* Promo column. */
	.header__menu-promos {
		display: grid;
		gap: 2rem;
	}

	.header__menu-promo {
		background: var(--dd-dark-green);
		border-radius: 1.8rem;
		color: var(--dd-white);
		height: fit-content;
		overflow: hidden;
		position: relative;
	}

	.header__menu-promo-link {
		align-items: center;
		color: inherit;
		display: grid;
		gap: 2rem;
		min-height: 16rem;
		position: relative;
		text-decoration: none;
	}

	.header__menu-promo-images {
		display: block;
		height: 100%;
		min-height: 16rem;
		position: relative;
	}

	.header__menu-promo-image-wrap {
		display: block;
		overflow: hidden;
		position: relative;
	}

	.header__menu-promo-image {
		display: block;
		height: 100%;
		inset: 0;
		object-fit: cover;
		object-position: center;
		position: absolute;
		transition: transform 0.45s ease;
		width: 100%;
	}

	.header__menu-promo-content {
		align-items: flex-start;
		display: flex;
		flex-direction: column;
		gap: 1.6rem;
		min-width: 0;
		padding: 2.5rem 0;
		position: relative;
		z-index: 2;
	}

	.header__menu-promo-title {
		color: inherit;
		display: block;
		font-family: "ivypresto-headline", serif;
		font-size: 1.5em;
		font-weight: 600;
		line-height: 1.05;
	}

	.header__menu-promo-button {
		margin-top: auto;
        pointer-events: none;
        max-height: 42px;
        max-width: fit-content;
        padding-left: 1em;
        padding-right: 1em;
	}

	/* ----------------------------------------------------------------------
	   Image style: single-full-height
	   ---------------------------------------------------------------------- */
	.header__menu-promo--single-full-height .header__menu-promo-link {
		
		padding: 0 2.5rem 0 0;
	}

	.header__menu-promo--single-full-height .header__menu-promo-images,
	.header__menu-promo--single-full-height .header__menu-promo-image-wrap {
		height: 100%;
		min-height: 16rem;
	}

	.header__menu-promo--single-full-height .header__menu-promo-image {
		object-position:  center;
	}

	/* ----------------------------------------------------------------------
	   Image style: double-window
	   Two shaped image windows in the left-hand visual area.
	   ---------------------------------------------------------------------- */
	.header__menu-promo--double-window .header__menu-promo-link {
		
		padding: 0 2.5rem 0 0;
	}

	.header__menu-promo--double-window .header__menu-promo-images {
		align-self: stretch;
		min-height: 18rem;
	}

	.header__menu-promo--double-window .header__menu-promo-image-wrap {
		background: rgba(255, 255, 255, 0.12);
		border:none;
		height: 8rem;
		left: 50%;
		position: absolute;
		transform: translateX(-50%);
		width: 8rem;
	}

	.header__menu-promo--double-window
	.header__menu-promo-image-wrap--1 {
		border-radius: 0 0 50% 50%;
		top: 0;
	}

	.header__menu-promo--double-window
	.header__menu-promo-image-wrap--2 {
		border-radius: 50% 50% 0 0;
		bottom: 0;
	}

	.header__menu-promo--double-window
	.header__menu-promo-image-wrap:only-child {
		border-radius: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
	}

	/* Subtle image movement from hovering the complete card link. */
	.header__menu-promo-link:hover .header__menu-promo-image {
		transform: scale(1.04);
	}

	/* ----------------------------------------------------------------------
	   ACF background_colour values
	   ---------------------------------------------------------------------- */
	.header__menu-promo--yellow {
		background: var(--dd-yellow);
		color: var(--dd-dark-green);
	}


	.header__menu-promo--pink {
		background: var(--dd-pink);
		color: var(--dd-dark-green);
	}


	.header__menu-promo--shop-green,
	.header__menu-promo--green {
		background: var(--dd-shop-green);
		color: var(--dd-dark-green);
	}

	.header__menu-promo--white{
		background: var(--dd-white);
		color: var(--dd-dark-green);
	}

	.header__menu-promo--teal {
		background: var(--dd-teal);
	}

	.header__menu-promo--salmon {
		background: var(--dd-salmon);
	}

	.header__menu-promo--market-blue,
	.header__menu-promo--blue {
		background: var(--dd-market-blue);
	}

	.header__menu-promo--dark-green,
	.header__menu-promo--darkest-green {
		background: var(--dd-dark-green);
	}

	.header__menu-promo--pale-green,
	.header__menu-promo--palest-green {
		background: var(--dd-pale-green);
		color: var(--dd-dark-green);
	}

	/* The colour picker is emitted as --menu-promo-background inline. */
	.header__menu-promo--custom {
		background: var(--menu-promo-background, var(--dd-dark-green));
	}

	/* Promo CTA inverse hover states. The whole promo card is the link. */
	.header__menu-promo-link:hover
	.header__menu-promo-button.button--dark-green {
		background-color: var(--dd-white);
		border-color: var(--dd-white);
		color: var(--dd-dark-green);
	}

	.header__menu-promo-link:hover
	.header__menu-promo-button.button--white {
		background-color: var(--dd-dark-green);
		border-color: var(--dd-dark-green);
		color: var(--dd-white);
	}

	.header__menu-promo-link:hover
	.header__menu-promo-button.button--dark-green .button__label,
	.header__menu-promo-link:hover
	.header__menu-promo-button.button--white .button__label {
		color: inherit;
	}

	/* No promo means no empty right-hand column. */
	.header__sub-nav-layout:not(:has(.header__menu-promos)) {
		grid-template-columns: 1fr;
	}

	.header__sub-nav-layout:not(:has(.header__menu-promos))
	.header__sub-nav-main {
		max-width: 56rem;
	}
}

@media (min-width: 1024px) and (max-width: 1250px) {
	.header__sub-nav {
		width: calc(100vw - 4rem);
	}

	.header__sub-nav-layout {
		gap: 4rem;
		grid-template-columns: minmax(0, 1fr) minmax(32rem, 38rem);
	}

	.header__menu-promo--single-full-height .header__menu-promo-link {
		grid-template-columns: 10rem minmax(0, 1fr);
	}

	.header__menu-promo--double-window .header__menu-promo-link {
		grid-template-columns: 12rem minmax(0, 1fr);
	}

	.header__menu-promo--double-window .header__menu-promo-image-wrap {
		height: 8.4rem;
		width: 8.4rem;
	}
}

/* Keep desktop-only headings and promos out of the mobile accordion. */
@media (max-width: 1023px) {
	.header__sub-nav-title,
	.header__menu-promos {
		display: none !important;
	}
}


@media (min-width: 1024px) {
	.header__menu-promo {
		--menu-promo-image-width: 14rem;
	}

	.header__menu-promo--single-full-height .header__menu-promo-link,
	.header__menu-promo--double-window .header__menu-promo-link {
		grid-template-columns:
			var(--menu-promo-image-width)
			minmax(0, 1fr);
	}

	.header__menu-promo-images {
		width: var(--menu-promo-image-width);
	}

	.header__menu-promo-content {
		width: 100%;
	}
}


@media (max-width: 1023px) {
	
.header__sub-nav-items {
    gap:0.75em;
    display: flex;
    flex-direction: column;
}
}





/* ========================================================================== 
   Places archive explorer
   Replace the previous Places archive explorer section with this entire block.
   ========================================================================== */


   .section--places-explorer {
	padding: 4rem 0  0 0!important;
   }

   .places-explorer__grid {
	    max-width: calc(1800px - 10rem);
   }


   
/* ========================================================================== 
   Places archive explorer
   Replace the previous Places archive explorer section with this entire block.
   ========================================================================== */
/* ========================================================================== 
   Places archive explorer
   Replace the previous Places archive explorer section with this entire block.
   ========================================================================== */

.section--places-explorer {
	background: var(--dd-white);
	padding: 4rem 0 0;
}

.places-explorer {
	position: relative;
}

.places-explorer__toolbar,
.places-explorer__toolbar-left {
	align-items: center;
	display: flex;
}

.places-explorer__toolbar {
	gap: 2rem;
	justify-content: space-between;
	margin-bottom: 2.5rem;
}

.places-explorer__toolbar-left {
	gap: 1.5rem;
}

.places-explorer__filter-toggle,
.places-explorer__view,
.places-explorer__clear {
	appearance: none;
	background: transparent;
	border: 0;
	font-weight: 700;
}

.places-explorer__filter-toggle {
	align-items: center;
	background: var(--dd-dark-green);
	border-radius: 999px;
	color: var(--dd-white);
	display: inline-flex;
	gap: .9rem;
	min-height: 4.8rem;
	padding: 1rem 1.8rem;
}

.places-explorer__filter-icon,
.places-explorer__filter-icon svg {
	display: block;
	height: 1.8rem;
	width: 1.8rem;
}

.places-explorer__filter-icon svg {
	fill: currentColor;
}

.places-explorer__filter-count {
	align-items: center;
	background: white;
	border-radius: 50%;
	color: var(--dd-ink);
	display: inline-flex;
	height: 2.3rem;
	justify-content: center;
	min-width: 2.3rem;
	padding: 0 .5rem;
}

.places-explorer__filter-count[hidden] {
	display: none !important;
}

.places-explorer__results {
	margin: 0;
}

.places-explorer__views {
	align-items: center;
	background: var(--dd-palest-green);
	border-radius: 999px;
	display: inline-flex;
	padding: .5rem;
}

.places-explorer__view {
	align-items: center;
	border-radius: 999px;
	display: inline-flex;
	gap: .7rem;
	justify-content: center;
	min-height: 4rem;
	padding: .7rem 1.35rem;
}

.places-explorer__view svg {
	fill: currentColor;
	height: 1.55rem;
	width: 1.55rem;
}

.places-explorer__view.is-active {
	background: var(--dd-dark-green);
	color: var(--dd-white);
}

.places-explorer__active-filters {
	display: flex;
	flex-wrap: wrap;
	gap: .8rem;
	margin: -1rem 0 2.5rem;
}

.places-explorer__active-filter {
	align-items: center;
	background: var(--dd-pale-green);
	border: 0;
	border-radius: 999px;
	display: inline-flex;
	font-weight: 700;
	gap: .8rem;
	padding: .8rem 1.2rem;
}

.places-explorer__filters {
	background: var(--dd-palest-green);
	border-radius: 2rem;
	box-shadow: 0 2rem 6rem rgba(29, 52, 54, .22);
	left: 0;
	opacity: 0;
	padding: 3rem;
	pointer-events: none;
	position: absolute;
	top: 6.5rem;
	transform: translateY(-1rem);
	transition: opacity .25s ease, transform .25s ease;
	visibility: hidden;
	width: min(92rem, 100%);
	z-index: 10001;
}

.places-explorer__filters.is-open {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
	visibility: visible;
}

.places-explorer__backdrop {
	background: rgba(29, 52, 54, .55);
	inset: 0;
	position: fixed;
	z-index: 10000;
}

.places-explorer__filters-head,
.places-explorer__filters-actions {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.places-explorer__filters-head h2 {
	margin: 0;
}

.places-explorer__filters-close {
	background: var(--dd-dark-green);
	border: 0;
	border-radius: 50%;
	color: var(--dd-white);
	font-size: 2.8rem;
	height: 4.2rem;
	line-height: 1;
	width: 4.2rem;
}

.places-explorer__filters-body {
	display: grid;
	gap: 3rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 3rem 0;
}

.places-explorer__filter-group {
	border: 0;
	margin: 0;
	padding: 0;
}

.places-explorer__filter-group legend {
	font-family: "ivypresto-headline", serif;
	font-size: 2.2rem;
	font-weight: 600;
	margin-bottom: 1.3rem;
}

.places-explorer__filter-options {
	display: grid;
	gap: .7rem;
}

.places-explorer__filter-option {
	align-items: center;
	background: rgba(255, 255, 255, .74);
	border-radius: 1rem;
	cursor: pointer;
	display: grid;
	gap: 1rem;
	grid-template-columns: auto 1fr auto;
	padding: 1rem 1.2rem;
}

.places-explorer__filter-option input {
	accent-color: var(--dd-dark-green);
	height: 1.8rem;
	width: 1.8rem;
}

.places-explorer__filter-option small {
	opacity: .65;
}

.places-explorer__clear {
	text-decoration: underline;
}

.places-explorer__apply {
	border: 0;
}

body.places-filter-is-open {
	overflow: hidden;
}

/* The stage deliberately leaves the normal content container and becomes
   the same full-width, true 50/50 explorer used by the guide map block. */
.places-explorer__stage {
	--places-stage-height: clamp(68rem, calc(100svh - 17rem), 92rem);
	background: var(--dd-palest-green);
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	margin-top: 1rem;
	min-height: 0;
	position: relative;
	width: 100%;
}

.places-explorer__stage.is-split {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	height: var(--places-stage-height);
	min-height: 68rem;
}

.places-explorer__stage.is-grid .places-explorer__map-panel,
.places-explorer__stage.is-map .places-explorer__list-panel {
	display: none;
}

.places-explorer__list-panel {
	background: var(--dd-palest-green);
	min-width: 0;
	padding: clamp(3rem, 4vw, 6rem);
}

.places-explorer__stage.is-split .places-explorer__list-panel {
	height: 100%;
	overflow-y: auto;
	scrollbar-color: var(--dd-dark-green) transparent;
	scrollbar-width: thin;
}

.places-explorer__grid {
	display: grid;
	gap: clamp(2rem, 2.2vw, 3rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 auto;
	max-width: calc(1800px - 10rem);
}

.places-explorer__stage.is-split .places-explorer__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: none;
}

.places-explorer-card {
	background: var(--dd-white);
	border-radius: 1.8rem;
	overflow: hidden;
	position: relative;
	transition: box-shadow .25s ease, transform .25s ease;
}

.places-explorer-card:hover,
.places-explorer-card:focus-within,
.places-explorer-card.is-active {
	box-shadow: 0 1.5rem 4rem rgba(29, 52, 54, .18);
	transform: translateY(-4px);
}

.places-explorer-card.is-active::after {
	border: 4px solid var(--dd-yellow);
	border-radius: inherit;
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 4;
}

.places-explorer-card[hidden] {
	display: none !important;
}

.places-explorer-card__link {
	color: inherit;
	display: block;
	height: 100%;
	text-decoration: none;
}

.places-explorer-card__visual {
	aspect-ratio: 4 / 2.35;
	background: var(--dd-pale-green);
	overflow: hidden;
	position: relative;
}

.places-explorer-card__image {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
	width: 100%;
}

.places-explorer-card:hover .places-explorer-card__image,
.places-explorer-card:focus-within .places-explorer-card__image,
.places-explorer-card.is-active .places-explorer-card__image {
	transform: scale(1.045);
}

.places-explorer-card__labels {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	left: 1.4rem;
	position: absolute;
	right: 1.4rem;
	top: 1.4rem;
	z-index: 2;
}

.places-explorer-card__label {
	background: var(--dd-white);
	border-radius: 999px;
	color: var(--dd-ink);
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.15;
	padding: .65rem 1rem;
	text-transform: uppercase;
}

.places-explorer-card__label--category {
	background: var(--dd-yellow);
}

.places-explorer-card__content {
	padding: clamp(2rem, 2.4vw, 3rem);
}

.places-explorer-card__title {
	font-size: clamp(2.2rem, 2.5vw, 3.2rem);
	line-height: 1.05;
	margin: 0 0 1rem;
}

.places-explorer-card__address {
	align-items: flex-start;
	display: flex;
	font-size: 1.35rem;
	font-weight: 700;
	gap: .8rem;
	line-height: 1.4;
	margin: 0 0 1.1rem;
}

.places-explorer-card__address svg {
	fill: var(--dd-shop-green);
	flex: 0 0 auto;
	margin-top: .1rem;
	width: 1.45rem;
}

.places-explorer-card__text {
	margin: 0;
}

.places-explorer__map-panel,
.places-explorer__map {
	height: 100%;
	min-height: 0;
	position: relative;
	width: 100%;
}

.places-explorer__stage.is-map {
	height: var(--places-stage-height);
	min-height: 68rem;
}

.places-explorer__stage.is-map .places-explorer__map-panel,
.places-explorer__stage.is-map .places-explorer__map {
	height: 100%;
	min-height: 0;
}

.places-explorer__empty {
	grid-column: 1 / -1;
	padding: 8rem 2rem;
	text-align: center;
}

.places-explorer-marker[hidden] {
	display: none !important;
}

/* Reuse the exact pointer sizing and active treatment from placeMapBlock. */
.places-explorer-marker.place-guide-map__marker {
	z-index: 1;
}

.places-explorer-marker.place-guide-map__marker.is-active {
	z-index: 3;
}

.places-explorer__mobile-card {
	display: none;
}

@media (max-width: 1250px) {
	.places-explorer__stage.is-split .places-explorer__grid {
		grid-template-columns: 1fr;
	}

	.places-explorer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1023px) {

	.places-explorer-card__content {
    padding: clamp(2.5rem, 2.4vw, 3rem);
}


	.places-archive__intro {
		padding-top: 5rem;
	}

	.section--places-explorer {
		padding-top: 2.5rem;
	}

	.places-explorer__toolbar {
		align-items: center;
		gap: 1rem;
	}

	.places-explorer__toolbar-left {
		align-items: flex-start;
		flex-direction: column;
		gap: .8rem;
	}

	.places-explorer__view--split {
		display: none;
	}

	.places-explorer__view {
		min-width: 4.5rem;
		padding: .8rem 1rem;
	}

	.places-explorer__view span {
		display: none;
	}

	.places-explorer__view svg {
		height: 1.8rem;
		width: 1.8rem;
	}

	.places-explorer__filters {
		border-radius: 0;
		bottom: 0;
		display: flex;
		flex-direction: column;
		left: auto;
		max-width: 42rem;
		padding: 2.5rem;
		position: fixed;
		right: 0;
		top: 0;
		transform: translateX(100%);
		width: min(92vw, 42rem);
		z-index: 10001;
	}

	.places-explorer__filters.is-open {
		transform: translateX(0);
	}

	.places-explorer__filters-body {
		display: block;
		flex: 1;
		margin: 2.5rem -1rem;
		overflow-y: auto;
		padding: 0 1rem;
	}

	.places-explorer__filter-group + .places-explorer__filter-group {
		margin-top: 3rem;
	}

	.places-explorer__filters-actions {
		border-top: 1px solid rgba(43, 78, 80, .18);
		gap: 1rem;
		padding-top: 2rem;
	}

	.places-explorer__stage,
	.places-explorer__stage.is-split {
		display: block;
		height: auto;
		min-height: 0;
	}

	.places-explorer__list-panel {
		height: auto;
		overflow: visible;
		padding: 2.5rem;
	}

	.places-explorer__grid,
	.places-explorer__stage.is-split .places-explorer__grid {
		grid-template-columns: 1fr;
	}

	.places-explorer__map-panel,
	.places-explorer__map,
	.places-explorer__stage.is-map .places-explorer__map-panel,
	.places-explorer__stage.is-map .places-explorer__map {
		height: calc(100vh - 14rem);
		min-height: 60rem;
	}

	.places-explorer__mobile-card {
		background: var(--dd-white);
		border-radius: 1.5rem 1.5rem 0 0;
		bottom: 0;
		display: block;
		left: 0;
		padding: 1.5rem;
		position: absolute;
		right: 0;
		transform: translateY(110%);
		transition: transform .25s ease;
		z-index: 5;
	}

	.places-explorer__mobile-card[hidden] {
		display: none;
	}

	.places-explorer__mobile-card.is-visible {
		transform: translateY(0);
	}

	.places-explorer__mobile-card-close {
		background: var(--dd-dark-green);
		border: 0;
		border-radius: 50%;
		color: var(--dd-white);
		font-size: 2.4rem;
		height: 3.8rem;
		position: absolute;
		right: 1rem;
		top: 1rem;
		width: 3.8rem;
		z-index: 3;
	}
}

/* ========================================================================== 
   Places archive final alignment fixes
   ========================================================================== */

/* Match the established Place Map card hover exactly. */
.places-explorer-card,
.places-explorer-card:hover,
.places-explorer-card:focus-within,
.places-explorer-card.is-active {
	border: 0;
}

.places-explorer-card {
	box-shadow: inset 0 0 0 0.2rem transparent;
}

.places-explorer-card:hover,
.places-explorer-card:focus-within,
.places-explorer-card.is-active {
	box-shadow: 0 0 0 2px var(--dd-shop-green);
}

.places-explorer-card.is-active::after {
	display: none;
}

/* Labels always use the pale-green treatment, except Shop Darwen. */
.places-explorer-card__labels,
.place-guide-map-popup__labels {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 0.7rem;
}

.places-explorer-card__label,
.places-explorer-card__label--category,
.places-explorer-card__label--type,
.place-guide-map-popup__label,
.place-guide-map-popup__label--best {
	align-items: center;
	background: var(--dd-pale-green);
	border-radius: 999rem;
	box-shadow: none;
	color: var(--dd-darkest-green);
	display: inline-flex;
	font-size: 1.1rem;
	font-weight: 700;
	justify-content: center;
	line-height: 1;
	max-width: 100%;
	min-height: 2.8rem;
	overflow: hidden;
	padding: 0.6rem 1.4rem;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.places-explorer-card__label--shop-darwen,
.place-guide-map-popup__label--shop-darwen {
	background: var(--dd-shop-green);
	color:#FFF;
}

/* The filter action is a proper dark-green action and disables at zero. */
.places-explorer__apply,
.places-explorer__apply:hover,
.places-explorer__apply:focus,
.places-explorer__apply:focus-visible {
	background: var(--dd-dark-green);
	border: 0;
	color: var(--dd-white);
}

.places-explorer__apply:disabled,
.places-explorer__apply[aria-disabled="true"] {
	background: var(--dd-grey);
	color: var(--dd-dark-green);
	cursor: not-allowed;
	opacity: 0.7;
}

/* Full map view uses the exact fixed detail card pattern on all screen sizes. */
.places-explorer__mobile-card {
	display: none;
	left: 50%;
	max-height: calc(100% - 4rem);
	max-width: calc(100% - 4rem);
	opacity: 0;
	overflow-y: auto;
	padding: 0;
	pointer-events: none;
	position: absolute;
	top: 2rem;
	transform: translate(-50%, -1rem);
	transition: opacity 0.2s ease, transform 0.2s ease;
	width: min(34rem, calc(100% - 4rem));
	z-index: 8;
}

.places-explorer__stage.is-map .places-explorer__mobile-card {
	display: block;
}

.places-explorer__mobile-card[hidden] {
	display: none !important;
}

.places-explorer__mobile-card.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, 0);
}

.places-explorer__mobile-card-close {
	align-items: center;
	background: var(--dd-white);
	border: 0;
	border-radius: 50%;
	box-shadow: 0 0.5rem 1.5rem rgba(29, 52, 54, 0.15);
	color: var(--dd-dark-green);
	display: flex;
	font-size: 2.3rem;
	height: 4rem;
	justify-content: center;
	line-height: 1;
	padding: 0;
	position: absolute;
	right: 1.2rem;
	top: 1.2rem;
	width: 4rem;
	z-index: 3;
}

.places-explorer__mobile-card-close:hover,
.places-explorer__mobile-card-close:focus,
.places-explorer__mobile-card-close:focus-visible {
	background: var(--dd-pale-green);
	border: 0 !important;
	box-shadow: 0 0.5rem 1.5rem rgba(29, 52, 54, 0.15) !important;
	outline: 0 !important;
}

.places-explorer__mobile-card [data-places-mobile-card-inner] {
	background: var(--dd-white);
	border-radius: 2.4rem;
	box-shadow: 0 1.2rem 3.5rem rgba(29, 52, 54, 0.22);
	overflow: hidden;
}

.places-explorer__mobile-card a,
.places-explorer__mobile-card a:hover,
.places-explorer__mobile-card a:focus,
.places-explorer__mobile-card a:focus-visible {
	border: 0 !important;
	box-shadow: none !important;
	outline: 0 !important;
	text-decoration: none;
}

.places-explorer__mobile-card .place-guide-map-popup__visual {
	aspect-ratio: 16 / 9;
	background: var(--dd-pale-green);
	overflow: hidden;
	position: relative;
}

.places-explorer__mobile-card .place-guide-map-popup__image-link {
	display: block;
	height: 100%;
	position: relative;
	width: 100%;
}

.places-explorer__mobile-card .place-guide-map-popup__image {
	display: block;
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

.places-explorer__mobile-card .place-guide-map-popup__labels {
	left: 1.5rem;
	max-width: calc(100% - 7rem);
	pointer-events: none;
	position: absolute;
	top: 1.5rem;
	z-index: 2;
}

.places-explorer__mobile-card .place-guide-map-popup__content {
	display: grid;
	gap: 1rem;
	padding: 2.2rem;
}

.places-explorer__mobile-card .place-guide-map-popup__title {
	color: var(--dd-darkest-green);
	display: block;
	font-family: "ivypresto-headline", serif;
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1.1;
	padding-right: 2.8rem;
}

.places-explorer__mobile-card .place-guide-map-popup__address,
.places-explorer__mobile-card .place-guide-map-popup__text {
	color: var(--dd-dark-green);
	font-size: 1.4rem;
	line-height: 1.45;
	margin: 0;
}

.places-explorer__mobile-card .place-guide-map-popup__address {
	font-weight: 700;
}

/* Compact split-view marker title. Offset handling is controlled in the view JS. */
.place-guide-map-popup--desktop {
	pointer-events: none;
}

.place-guide-map-popup--desktop .maplibregl-popup-content {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 3.8rem;
	min-width: 0;
	padding: 0.9rem 1.4rem;
	text-align: center;
	white-space: nowrap;
}

.place-guide-map-popup--desktop .maplibregl-popup-tip {
	display: none;
}

@media (max-width: 1023px) {
	.places-explorer-card,
	.places-explorer-card:hover,
	.places-explorer-card:focus-within,
	.places-explorer-card.is-active {
		box-shadow: none;
		transform: none;
	}

	.places-explorer__mobile-card {
		left: 50%;
		max-height: calc(100% - 4rem);
		max-width: calc(100% - 4rem);
		padding: 0;
		right: auto;
		top: 2rem;
		width: min(34rem, calc(100% - 4rem));
	}
}


.place-guide-map-popup--desktop {
	pointer-events: none;
}


/* Keep the active title popup above every map marker */
.places-explorer__map .maplibregl-popup {
	z-index: 20;
}

.places-explorer__map .place-guide-map-popup--desktop {
	z-index: 30;
}

/* Normal markers */
.places-explorer-marker.place-guide-map__marker {
	z-index: 1;
}

/* Active marker can rise, but not above the popup */
.places-explorer-marker.place-guide-map__marker.is-active {
	z-index: 10;
}

/* ========================================================================== 
   Places archive viewport, mobile controls and fixed-card corrections
   ========================================================================== */

@media (max-width: 1023px) {
	.section--places-explorer {
		padding-top: 2.5rem;
	}

	.places-explorer__toolbar {
		align-items: flex-start;
		display: grid;
		gap: 1rem 1.2rem;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.places-explorer__toolbar-left {
		align-items: flex-start;
		display: grid;
		gap: .8rem;
		grid-column: 1;
		grid-row: 1;
	}

	.places-explorer__views {
		align-self: start;
		grid-column: 2;
		grid-row: 1;
		margin-top: 0;
	}

	.places-explorer__results {
		margin: 0;
	}

	.places-explorer__active-filters {
		margin-top: 0;
		margin: -1rem 0 4rem !important;
	}

	.places-explorer__stage,
	.places-explorer__stage.is-split {
		display: block;
		height: auto;
		min-height: 0;
	}

	.places-explorer__stage.is-map {
		display: block;
		height: var(--places-stage-height, 60rem);
		min-height: 52rem;
		max-height: 76rem;
		overflow: hidden;
	}

	.places-explorer__stage.is-map .places-explorer__map-panel,
	.places-explorer__stage.is-map .places-explorer__map {
		height: 100%;
		min-height: 0;
	}

	.places-explorer__mobile-card {
		max-height: calc(100% - 3rem);
		overflow-y: auto;
		overscroll-behavior: contain;
		top: 1.5rem;
		width: min(34rem, calc(100% - 3rem));
	}

	.places-explorer__mobile-card [data-places-mobile-card-inner] {
		overflow: hidden;
	}

	.places-explorer__mobile-card .place-guide-map-popup__visual {
		aspect-ratio: auto;
		height: clamp(14rem, 24svh, 19rem);
	}

	.places-explorer__mobile-card .place-guide-map-popup__content {
		gap: .8rem;
		padding: 1.8rem 2rem 2rem;
	}

	.places-explorer__mobile-card .place-guide-map-popup__title {
		font-size: 2rem;
	}

	.places-explorer__mobile-card .place-guide-map-popup__text {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
	}
}


/* ==========================================================================
   Places archive filter modal fix
   Keeps the panel inside the viewport on short screens.
   ========================================================================== */

body.places-filter-is-open {
	overflow: hidden;
}

/* Full-screen overlay above header/footer/content */
.places-explorer__backdrop {
	background: rgba(29, 52, 54, 0.55);
	inset: 0;
	position: fixed;
	z-index: 99998;
}

/* Centre the filter panel inside the viewport */
.places-explorer__filters {
	background: var(--dd-palest-green);
	border-radius: 2rem;
	box-shadow: 0 2rem 6rem rgba(29, 52, 54, 0.24);
	display: flex;
	flex-direction: column;
	left: 50%;
	max-height: calc(100dvh - 4rem);
	opacity: 0;
	overflow: hidden;
	padding: 3rem;
	pointer-events: none;
	position: fixed;
	top: 50%;
	transform: translate(-50%, calc(-50% - 1rem));
	transition:
		opacity 0.22s ease,
		transform 0.22s ease;
	visibility: hidden;
	width: min(92rem, calc(100vw - 4rem));
	z-index: 99999;
}

.places-explorer__filters.is-open {
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, -50%);
	visibility: visible;
}

/* Header and footer stay fixed inside the modal */
.places-explorer__filters-head,
.places-explorer__filters-actions {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	justify-content: space-between;
}

/* Only the options area scrolls */
.places-explorer__filters-body {
	display: grid;
	flex: 1 1 auto;
	gap: 3rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 3rem 0;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding-right: 1rem;
	scrollbar-gutter: stable;
}

/* Keep the buttons visible */
.places-explorer__filters-actions {
	background: var(--dd-palest-green);
	border-top: 1px solid rgba(43, 78, 80, 0.16);
	gap: 2rem;
	margin: 0 -3rem -3rem;
	padding: 2rem 3rem 3rem;
	position: relative;
	z-index: 2;
}

/* Prevent footer/header from visually competing */
body.places-filter-is-open .header,
body.places-filter-is-open .footer {
	z-index: auto;
}


.places-explorer__mobile-card {
	z-index: 40;
}

.places-explorer-marker.place-guide-map__marker,
.places-explorer-marker.place-guide-map__marker.is-active {
	z-index: 5;
}

.places-explorer__mobile-card {
	top: 2.5rem;
}


/* ==========================================================================
   Places archive: definitive filter modal + mobile slide-out restoration
   Add this at the VERY END of main.css.
   This intentionally overrides the earlier centred desktop modal rules on
   mobile and stops the Filter Places button stretching across its grid cell.
   ========================================================================== */

body.places-filter-is-open {
	overflow: hidden;
}

.places-explorer__filter-count[hidden],
.places-explorer__backdrop[hidden] {
	display: none !important;
}

/* Desktop/tablet modal remains centred and safely contained in the viewport. */
@media (min-width: 1023px) {
	.places-explorer__filters {
		background: var(--dd-palest-green);
		border-radius: 2rem;
		box-shadow: 0 2rem 6rem rgba(29, 52, 54, 0.24);
		display: flex;
		flex-direction: column;
		left: 50%;
		max-height: calc(100dvh - 4rem);
		opacity: 0;
		overflow: hidden;
		padding: 3rem;
		pointer-events: none;
		position: fixed;
		top: 50%;
		transform: translate(-50%, calc(-50% - 1rem));
		transition: opacity 0.22s ease, transform 0.22s ease;
		visibility: hidden;
		width: min(92rem, calc(100vw - 4rem));
		z-index: 99999;
	}

	.places-explorer__filters.is-open {
		opacity: 1;
		pointer-events: auto;
		transform: translate(-50%, -50%);
		visibility: visible;
	}

	.places-explorer__filters-body {
		display: grid;
		flex: 1 1 auto;
		gap: 3rem;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		margin: 3rem 0;
		min-height: 0;
		overflow-y: auto;
		overscroll-behavior: contain;
		padding-right: 1rem;
		scrollbar-gutter: stable;
	}

	.places-explorer__filters-actions {
		background: var(--dd-palest-green);
		border-top: 1px solid rgba(43, 78, 80, 0.16);
		flex: 0 0 auto;
		gap: 2rem;
		margin: 0 -3rem -3rem;
		padding: 2rem 3rem 3rem;
		position: relative;
		z-index: 2;
	}
}

.places-explorer__backdrop {
	background: rgba(29, 52, 54, 0.55);
	inset: 0;
	position: fixed;
	z-index: 99998;
}

/* Mobile: restore the full-height, right-hand slide-out filter drawer. */
@media (max-width: 1023px) {

	.places-explorer__stage.is-map .places-explorer__mobile-card {
		background:none;
	}
	.section--places-explorer {
		padding-top: 2.5rem;
	}

	.places-explorer__toolbar {
		align-items: start;
		display: grid;
		gap: 1rem 1.2rem;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.places-explorer__toolbar-left {
		align-items: flex-start;
		display: flex;
		flex-direction: column;
		gap: 0.8rem;
		min-width: 0;
	}

	/* Keep this as a compact pill rather than a full-width button. */
	.places-explorer__filter-toggle {
		align-self: flex-start;
		justify-self: start;
		max-width: 100%;
		width: max-content;
	}

	.places-explorer__views {
		align-self: start;
		justify-self: end;
		margin: 0;
	}

	.places-explorer__results {
		margin: 0;
	}

	.places-explorer__active-filters {
		margin: 0;
		}

	    .places-explorer__filters {
        background: var(--dd-palest-green);
        border-radius: 0;
        bottom: 0;
        box-shadow: -1.5rem 0 4rem rgba(29, 52, 54, 0.2);
        display: flex;
        flex-direction: column;
        height: 100dvh;
        left: auto;
        max-height: none;
        max-width: 40rem;
        opacity: 1;
        overflow: hidden;
        padding: 2.5rem;
        pointer-events: none;
        position: fixed;
        right: 0;
        top: 0;
        transform: translateX(105%);
        transition: transform 0.28s ease, visibility 0.28s ease;
        visibility: hidden;
        width: min(90svw, 40rem);
        z-index: 99999;
    }
	.places-explorer__filters.is-open {
		opacity: 1;
		pointer-events: auto;
		transform: translateX(0);
		visibility: visible;
	}

	.places-explorer__filters-head {
		align-items: center;
		display: flex;
		flex: 0 0 auto;
		justify-content: space-between;
	}

	.places-explorer__filters-body {
		display: block;
		flex: 1 1 auto;
		margin: 2.5rem -1rem 0;
		min-height: 0;
		overflow-y: auto;
		overscroll-behavior: contain;
		padding: 0 1rem 2.5rem;
		scrollbar-gutter: stable;
	}

	.places-explorer__filter-group + .places-explorer__filter-group {
		margin-top: 3rem;
	}

	.places-explorer__filters-actions {
		align-items: center;
		background: var(--dd-palest-green);
		border-top: 1px solid rgba(43, 78, 80, 0.18);
		display: flex;
		flex: 0 0 auto;
		gap: 1rem;
		justify-content: space-between;
		margin: 0 -2.5rem -2.5rem;
		padding: 2rem 2.5rem calc(2.5rem + env(safe-area-inset-bottom));
		position: relative;
		z-index: 2;
	}

	.places-explorer__apply {
		flex: 0 0 auto;
	}
}

@media (max-width: 420px) {
	.places-explorer__filter-toggle {
		gap: 0.7rem;
		padding-left: 1.4rem;
		padding-right: 1.4rem;
	}

	.places-explorer__filters {
		width: 100vw;
	}
}



/* ==========================================================================
   Places archive final stacking order
   ========================================================================== */

/*
 * Keep the normal archive map and its detail cards below the sticky header.
 */
.places-explorer__stage {
	isolation: isolate;
	position: relative;
	z-index: 1;
}

.places-explorer__map-panel {
	isolation: isolate;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.places-explorer__map {
	position: relative;
	z-index: 1;
}

.places-explorer__map .maplibregl-popup {
	z-index: 20;
}

.places-explorer__mobile-card {
	z-index: 30;
}

/*
 * Normal sticky header sits above the map and map detail card.
 */
.header,
.header.js-is-sticky {
	z-index: 100;
}

/*
 * Expanded mobile navigation sits above normal page content.
 */
.header--expanded,
.header.header--expanded {
	z-index: 99999999999999;
}

/*
 * Filter backdrop must cover the header, map and expanded mobile navigation.
 */
.places-explorer__backdrop {
	inset: 0;
	position: fixed;
	z-index: 10000;
}

/*
 * Desktop filter modal and mobile filter drawer sit above absolutely everything.
 */
.places-explorer__filters,
.places-explorer__filters.is-open {
	z-index: 10001;
}

/*
 * Ensure the filter's internal elements cannot be buried by another
 * stacking context inside the modal.
 */
.places-explorer__filters-head,
.places-explorer__filters-body,
.places-explorer__filters-actions {
	position: relative;
	z-index: 1;
}

/*
 * Keep the filter close button at the very top of the modal itself.
 */
.places-explorer__filters-close {
	position: relative;
	z-index: 2;
}




/* ==========================================================================
   Desktop submenu colour hovers
   Active items use pale green
   ========================================================================== */

@media (min-width: 1024px) {
	.header__sub-nav-link {
		border-radius: 1rem;
		padding: 0.8rem 1rem;
		transition:
			background-color 0.25s ease,
			color 0.25s ease;
	}

	/* Active submenu item */
	.header__sub-nav-link--active {
		background: var(--dd-pale-green);
		color: var(--dd-dark-green);
	}

	/* See & Do */
	.header__nav-item--see-and-do .header__sub-nav-link:hover,
	.header__nav-item--see-and-do .header__sub-nav-link:focus-visible {
		background: var(--dd-teal);
		color: var(--dd-white);
	}

	/* What's On */
	.header__nav-item--whats-on .header__sub-nav-link:hover,
	.header__nav-item--whats-on .header__sub-nav-link:focus-visible {
		background: var(--dd-salmon);
		color: var(--dd-white);
	}

	/* Darwen Market */
	.header__nav-item--darwen-market .header__sub-nav-link:hover,
	.header__nav-item--darwen-market .header__sub-nav-link:focus-visible {
		background: var(--dd-market-blue);
		color: var(--dd-white);
	}

	/* Eat, Drink & Shop */
	.header__nav-item--eat-drink-shop .header__sub-nav-link:hover,
	.header__nav-item--eat-drink-shop .header__sub-nav-link:focus-visible {
		background: var(--dd-shop-green);
		color: var(--dd-white);
	}


	/* News  */
	.header__nav-item--news .header__sub-nav-link:hover,
	.header__nav-item--news .header__sub-nav-link:focus-visible {
		background: var(--dd-white);
		color: var(--dd-dark-green);
	}

	/* Visitor Info */
	.header__nav-item--visitor-info .header__sub-nav-link:hover,
	.header__nav-item--visitor-info .header__sub-nav-link:focus-visible {
		background: var(--dd-yellow);
		color: var(--dd-dark-green);
	}
}

/* Shop Darwen label on Place figures. */

.place-figure__visual {
	position: relative;
}

.place-figure__shop-darwen {
	align-items: center;
	background: var(--dd-shop-green);
	border-radius: 999rem;
	color: var(--dd-white);
	display: inline-flex;
	font-size: 0.72em;
	font-weight: 700;
	justify-content: center;
	left: 4rem;
	line-height: 1;
	min-height: 2.6rem;
	padding: 0.4rem 1.3rem;
	position: absolute;
	text-transform: uppercase;
	top: 4rem;
	z-index: 3;
}

@media (max-width: 1023px) {
	.place-figure__shop-darwen {
		font-size: 0.68em;
		left: 3rem;
		padding-left: 1rem;
		padding-right: 1rem;
		top: 3rem;
	}

	.slider--place-tab-figures .place-figure__visual {
        aspect-ratio: 16 / 9;
	}
}



/* ==========================================================================
   Accordion colour contrast inside split blocks
   ========================================================================== */

.button--info {
	border-radius: 0 !important;
	justify-content: space-between !important;
	padding: 1.5rem !important;
}

/* Light backgrounds: dark-green outline and text. */
.section--split-block:not(.section--dark-green)
.button-list .button--info {
	background: transparent;
	border-color: var(--dd-dark-green);
	color: var(--dd-dark-green);
}

.section--split-block:not(.section--dark-green)
.button-list .button--info::after {
	color: var(--dd-dark-green);
}

/* Light background hover and expanded state. */
.section--split-block:not(.section--dark-green)
.button-list .button--info:hover,
.section--split-block:not(.section--dark-green)
.button-list .button--info:focus-visible,
.section--split-block:not(.section--dark-green)
.button-list .button--info-expanded {
	background: var(--dd-dark-green);
	border-color: var(--dd-dark-green);
	color: var(--dd-white);
}

.section--split-block:not(.section--dark-green)
.button-list .button--info:hover::after,
.section--split-block:not(.section--dark-green)
.button-list .button--info:focus-visible::after,
.section--split-block:not(.section--dark-green)
.button-list .button--info-expanded::after {
	color: var(--dd-white);
}

/* Dark-green background: white outline and text. */
.section--split-block.section--dark-green
.button-list .button--info {
	background: transparent;
	border-color: var(--dd-white);
	color: var(--dd-white);
}

/* Dark-green hover and expanded state. */
.section--split-block.section--dark-green
.button-list .button--info:hover,
.section--split-block.section--dark-green
.button-list .button--info:focus-visible,
.section--split-block.section--dark-green
.button-list .button--info-expanded {
	background: var(--dd-white);
	border-color: var(--dd-white);
	color: var(--dd-dark-green);
}

/* Open accordion content on dark-green backgrounds. */
.section--split-block.section--dark-green
.accordion-item__content,
.section--split-block.section--dark-green
.accordion-item__content-inner {
	background: var(--dd-white);
	color: var(--dd-dark-green);
}

.section--split-block.section--dark-green
.accordion-item__content .std,
.section--split-block.section--dark-green
.accordion-item__content p,
.section--split-block.section--dark-green
.accordion-item__content li,
.section--split-block.section--dark-green
.accordion-item__content strong,
.section--split-block.section--dark-green
.accordion-item__content em,
.section--split-block.section--dark-green
.accordion-item__content a {
	color: var(--dd-dark-green);
}


.button-list .button--info:focus-visible, .section--split-block:not(.section--dark-green) .button-list .accordion-item__content-inner {
    background:var(--dd-dark-green);
    color:#FFF;
}

/* Preserve spacing inside the opened panel. */
.section--split-block
.accordion-item__content-inner {
	padding: 1.5rem;
}

/* Keep the final paragraph tidy. */
.section--split-block
.accordion-item__content .std > :last-child {
	margin-bottom: 0;
}


/* ==========================================================================
   Mobile accordion button fix
   ========================================================================== */

.button-list .button--info {
	position: relative;
	width: 100%;
	text-align: left;
	white-space: normal;
	min-height: 72px !important;
}

.accordion-list {
	margin-top:2rem;
}

/* Reserve permanent space for the + / − icon. */
.button-list .button--info {
	padding-right: 5.5rem !important;
}

/* Pin the icon to the right instead of letting it overlap the text. */
.button-list .button--info::after {
	flex: 0 0 auto;
	margin: 0;
	position: absolute;
	right: 1.5rem;
	top: 50%;
	transform: translateY(-50%);
}

/* Allow long questions to wrap naturally. */
.button-list .button--info {
	overflow-wrap: anywhere;
	word-break: normal;
}

@media (max-width: 1023px) {
	.button-list .button--info {
		align-items: center;
		display: flex;
		font-size: 1em;
		justify-content: flex-start !important;
		line-height: 1.25;
		min-height: 7.5rem;
		padding: 2rem 5rem 2rem 2rem !important;
	}

	.button-list .button--info::after {
		right: 1.5rem;
	}

	.button-list .accordion-item__content-inner {
		        padding: 0 2rem 2rem 2rem;
	}
}

/* ==========================================================================
   Big Image overlay variation
   ACF True / False field: overlay_image
   ========================================================================== */

.section--bigimage-full-width.section--bigimage-overlay-image,
.section--bigimage-full-width.section--bigimage-overlay-image.section--bigimage-inner-text_icon_figures_block,
.section--bigimage-full-width.section--bigimage-overlay-image.section--bigimage-inner-text_icon_figures_block.section--bigimage-inner-button_group {
	align-items: center;
	display: flex;
	min-height: clamp(58rem, 72vh, 82rem);
	padding-bottom: 12.5rem;
	padding-top: 12.5rem;
}

.section--bigimage-overlay-image
.bigimage-block__inner-content,
.section--bigimage-overlay-image.section--bigimage-has-text-icon-figures
.bigimage-block__inner-content {
	min-height: 0;
	padding-bottom: 0;
}

.section--bigimage-overlay-image
.bigimage-block__full-image {
	inset: 0;
	height: 100%;
	position: absolute;
	width: 100%;
	z-index: 0;
}

.section--bigimage-overlay-image
.bigimage-block__full-image-element {
	height: 100%;
	left: auto;
	max-width: none;
	object-fit: cover;
	object-position: center;
	position: static;
	width: 100%;
}

.section--bigimage-overlay-image::after {
	background: color-mix(
		in srgb,
		var(--dd-darkest-green) 10%,
		transparent
	);
	content: "";
	inset: 0;
	mix-blend-mode: multiply;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.section--bigimage-overlay-image > .container,
.section--bigimage-overlay-image .section__content {
	position: relative;
	z-index: 3;
}

.section--bigimage-overlay-image,
.section--bigimage-overlay-image .section__primary-title,
.section--bigimage-overlay-image .section__secondary-title,
.section--bigimage-overlay-image .section__text,
.section--bigimage-overlay-image .section__text p,
.section--bigimage-overlay-image .section__text li,
.section--bigimage-overlay-image .section__text strong,
.section--bigimage-overlay-image .section__text a {
	color: var(--dd-white);
}

@media (max-width: 1023px) {
	.section--bigimage-full-width.section--bigimage-overlay-image,
	.section--bigimage-full-width.section--bigimage-overlay-image.section--bigimage-inner-text_icon_figures_block,
	.section--bigimage-full-width.section--bigimage-overlay-image.section--bigimage-inner-text_icon_figures_block.section--bigimage-inner-button_group {
		display: flex;
		min-height: clamp(52rem, 70vh, 72rem);
		padding-bottom: 8rem;
		padding-top: 8rem;
	}

	.section--bigimage-overlay-image
	.bigimage-block__full-image-element {
		height: 100%;
		left: auto;
		object-fit: cover;
		
		position: static;
		width: 100%;
		object-position: left;
	}
}

@media (max-width: 1023px) {
	.section--bigimage-full-width.section--bigimage-overlay-image,
	.section--bigimage-full-width.section--bigimage-overlay-image.section--bigimage-inner-text_icon_figures_block,
	.section--bigimage-full-width.section--bigimage-overlay-image.section--bigimage-inner-text_icon_figures_block.section--bigimage-inner-button_group {
		min-height: 52rem;
		padding-bottom: 6rem;
		padding-top: 6rem;
	}
}

/* ==========================================================================
   Page 1119 Shop Darwen headline artwork
   ========================================================================== */

.page-id-1119
.section--bigimage-overlay-image
.bigimage-block__content {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
}

.page-id-1119
.section--bigimage-overlay-image
.section__primary-title {
	margin-bottom: 0 !important;
	max-width: 58rem;
	position: relative;
	text-align: center;
	z-index: 2;
}

.page-id-1119
.section--bigimage-overlay-image
.bigimage-block__text {
	margin-top: 0;
	max-width: none;
	padding: 0;
	position: static;
}

.page-id-1119
.section--bigimage-overlay-image
.bigimage-block__content::after {
	background:
		url("https://discoverdarwen.co.uk/wp-content/themes/discoverdarwen/img/dd_shopdarwen_footer.svg")
		center / contain no-repeat;
	content: "";
	height: clamp(17rem, 19vw, 31rem);
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -35%);
	width: clamp(42rem, 48vw, 78rem);
	z-index: 1;
}

/* Keep actual copy above the decorative SVG. */
.page-id-1119
.section--bigimage-overlay-image
.section__primary-title,
.page-id-1119
.section--bigimage-overlay-image
.section__secondary-title,
.page-id-1119
.section--bigimage-overlay-image
.bigimage-block__text,
.page-id-1119
.section--bigimage-overlay-image
.bigimage-block__inner-content {
	position: relative;
	z-index: 2;
	top: -6rem;
}

/* ==========================================================================
   Tablet
   ========================================================================== */

@media (max-width: 1023px) {
	.page-id-1119
	.section--bigimage-overlay-image
	.bigimage-block__content::after {
		height: clamp(15rem, 25vw, 24rem);
		transform: translate(-50%, -32%);
		width: clamp(34rem, 64vw, 60rem);
	}

	.page-id-1119 .section--bigimage-overlay-image .section__primary-title {
		top:0;
	}

	.page-id-1119 .section--bigimage-overlay-image .bigimage-block__content {
		align-items: flex-start;
	}

	.page-id-1119
	.section--bigimage-overlay-image
	.section__primary-title {
		max-width: 48rem;
	}
}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width: 1023px) {

	.page-id-1119 .section--bigimage-overlay-image .section__primary-title P {
		top:0;
	}
	.page-id-1119
	.section--bigimage-overlay-image
	.bigimage-block__content {
		align-items: flex-start;
		justify-content: center;
		text-align: left;
	}

	.page-id-1119
	.section--bigimage-overlay-image
	.section__primary-title {
		margin-left: 0;
		margin-right: 0;
		max-width: 25rem;
		text-align: left;
	}

	.page-id-1119
	.section--bigimage-overlay-image
	.bigimage-block__content::after {
		background-position: center;
        height: 150%;
        top: 50%;
        transform: translate(-50%, -50%) rotate(-90deg);
        width: 150%;
        right: -125%;
        left: auto;
	}

	.page-id-1119
	.section--bigimage-overlay-image
	.bigimage-block__text {
		margin-left: 0;
		margin-right: 0;
		text-align: left;
	}
}

/* ==========================================================================
   Multi-instance Event dates
   ========================================================================== */

.event-hero__dates {
	display: grid;
	gap: 0.8rem;
}

.event-hero__date-row + .event-hero__date-row
.event-hero__meta-icon {
	visibility: hidden;
}

@media (max-width: 1023px) {
	.event-hero__dates {
		gap: 1rem;
	}

	.event-hero__date-row {
		align-items: flex-start;
	}
}






/* ==========================================================================
   Mobile mega-menu promos
   Uses the same ACF promo selection and markup as desktop.
   ========================================================================== */

.header__menu-promo-mobile-arrow {
	display: none;
}

@media (max-width: 1023px) {
	/*
	 * Keep the desktop heading hidden, but allow the matching promo cards to
	 * appear beneath the normal mobile submenu links.
	 */
	.header__sub-nav-title {
		display: none !important;
	}

	.header__menu-promos {
		display: grid !important;
		gap: 1rem;
		margin-top: 1.5rem;
		text-transform: none;
		width: 100%;
	}

	.header__menu-promo {
		background: var(--dd-dark-green);
		border-radius: 1rem;
		color: var(--dd-white);
		overflow: hidden;
		position: relative;
		width: 100%;
	}

	.header__menu-promo-link {
		align-items: stretch;
		color: inherit;
		display: grid;
		grid-template-columns: clamp(8rem, 24vw, 11rem) minmax(0, 1fr);
		min-height: 8.5rem;
		position: relative;
		text-decoration: none;
		width: 100%;
	}

	.header__menu-promo-images {
		display: block;
		height: 100%;
		min-height: 8.5rem;
		position: relative;
		width: 100%;
	}

	.header__menu-promo-image-wrap {
	display: block;
	height: 100%;
	inset: 0;
	overflow: hidden;
	position: absolute;
	width: 100%;
}

/* Only the promos configured as the two-image version. */
.header__menu-promo--double-window
.header__menu-promo-image-wrap {
	border-radius: 0 5rem 5rem 0;
}

	.header__menu-promo-image-wrap:not(:first-child) {
		display: none;
	}

	.header__menu-promo-image {
		display: block;
		height: 100%;
		inset: 0;
		object-fit: cover;
		object-position: center;
		position: absolute;
		width: 100%;
	}

	.header__menu-promo-content {
		align-items: center;
		display: grid;
		gap: 1.5rem;
		grid-template-columns: minmax(0, 1fr) 3.8rem;
		min-width: 0;
		padding: 1.4rem 1.4rem 1.4rem 1.6rem;
		position: relative;
		width: 100%;
		z-index: 2;
	}

	.header__menu-promo-title {
		color: inherit;
		display: block;
		font-family: "ivypresto-headline", serif;
		font-size: 1.1em;
		font-weight: 700;
		line-height: 1.1;
		margin: 0;
	}

	/* Desktop-style CTA is replaced by the compact circled arrow on mobile. */
	.header__menu-promo-button {
		display: none !important;
	}

	.header__menu-promo-mobile-arrow {
		align-items: center;
		border: 2px solid currentColor;
		border-radius: 50%;
		display: inline-flex;
		height: 3.8rem;
		justify-content: center;
		justify-self: end;
		width: 3.8rem;
	}

	.header__menu-promo-mobile-arrow svg {
		fill: currentColor;
		height: 1.2rem;
		transform: rotate(0deg);
		width: 2rem;
	}

	/* ACF background colours, mirrored from desktop. */
	.header__menu-promo--yellow {
		background: var(--dd-yellow);
		color: var(--dd-dark-green);
	}


	.header__menu-promo--pink {
		background: var(--dd-pink);
		color: var(--dd-dark-green);
	}


	.header__menu-promo--shop-green,
	.header__menu-promo--green {
		background: var(--dd-shop-green);
		color: var(--dd-dark-green);
	}

	.header__menu-promo--teal {
		background: var(--dd-teal);
	}

	.header__menu-promo--salmon {
		background: var(--dd-salmon);
	}

	.header__menu-promo--market-blue,
	.header__menu-promo--blue {
		background: var(--dd-market-blue);
	}

	.header__menu-promo--white{
		background: var(--dd-white);
		color: var(--dd-dark-green);
	}


	.header__menu-promo--dark-green,
	.header__menu-promo--darkest-green {
		background: var(--dd-dark-green);
	}

	.header__menu-promo--pale-green,
	.header__menu-promo--palest-green {
		background: var(--dd-pale-green);
		color: var(--dd-dark-green);
	}

	.header__menu-promo--custom {
		background: var(
			--menu-promo-background,
			var(--dd-dark-green)
		);
	}

	/*
	 * Promos without an image become a full-width coloured action row.
	 */
	.header__menu-promo-link:not(:has(.header__menu-promo-images)) {
		grid-template-columns: 1fr;
	}

	.header__menu-promo-link:not(:has(.header__menu-promo-images))
	.header__menu-promo-content {
		min-height: 7.5rem;
	}
}

@media (max-width: 480px) {
	.header__menu-promo-link {
		grid-template-columns: 8rem minmax(0, 1fr);
		min-height: 8rem;
	}

	.header__menu-promo-images {
		min-height: 8rem;
	}

	.header__menu-promo-content {
		gap: 1rem;
		grid-template-columns: minmax(0, 1fr) 3.4rem;
		padding: 1.2rem 1.2rem 1.2rem 1.4rem;
	}

	.header__menu-promo-mobile-arrow {
		height: 3.4rem;
        width: 3.4rem;
        background: var(--dd-white);
        border: none;
        color: var(--dd-dark-green);
	}

	.header__menu-promo-title {
		font-size: 1em;
	}
}

/* ==========================================================================
   Pink Dog footer credit order
   Desktop stays in the brand column; mobile sits below footer menus.
   ========================================================================== */

.footer__credit--mobile {
	display: none;
}

@media (max-width: 1023px) {
	.footer__credit--desktop {
		display: none;
	}

	.footer__credit--mobile {
		align-items: center;
		display: inline-flex;
		gap: 1.2rem;
		grid-column: 1 / -1;
		justify-self: start;
		margin-top: -2rem;
	}
}

@media (max-width: 640px) {
	.footer__credit--mobile {
		margin-top: 0;
	}
}







/* ==========================================================================
   Sticky header top reset
   Prevents the expanding desktop header swallowing the final upward scroll.
   ========================================================================== */

.header {
	overflow-anchor: none;
}

.header.header--top-reset .header__bottom,
.header.header--top-reset .header__logo-image {
	transition: none !important;
}



/* ==========================================================================
   Mobile Event + Place tab slider stability
   Standardises the working Event-card fix across both card types.
   Add at the very end of main.css.
   ========================================================================== */

@media (max-width: 1023px) {
	.slider--event-tab-figures .slick-list,
	.slider--place-tab-figures .slick-list {
		height: auto !important;
	}

	.slider--event-tab-figures .slick-track,
	.slider--place-tab-figures .slick-track {
		align-items: flex-start !important;
		height: auto !important;
	}

	.slider--event-tab-figures .slick-slide,
	.slider--event-tab-figures .slick-slide > div,
	.slider--event-tab-figures [data-event-tab-slide],
	.slider--event-tab-figures [data-event-tab-slide] > div,
	.slider--place-tab-figures .slick-slide,
	.slider--place-tab-figures .slick-slide > div,
	.slider--place-tab-figures [data-event-tab-slide],
	.slider--place-tab-figures [data-event-tab-slide] > div {
		height: auto !important;
		min-height: 0 !important;
	}

	/* Event cards. */
	.slider--event-tab-figures .event-figure {
		display: block !important;
		height: auto !important;
		min-height: 0 !important;
	}

	.slider--event-tab-figures
	.event-figure__image-link {
		aspect-ratio: 1 / 1;
		display: block !important;
		height: auto !important;
		min-height: 0 !important;
		overflow: hidden;
		position: relative !important;
		width: 100% !important;
	}

	.slider--event-tab-figures
	.event-figure__image {
		display: block !important;
		height: 100% !important;
		inset: 0 !important;
		min-height: 0 !important;
		object-fit: cover;
		position: absolute !important;
		width: 100% !important;
	}

	.slider--event-tab-figures
	.event-figure__content {
		height: auto !important;
		min-height: 0 !important;
	}

	/* Place cards. */
	.slider--place-tab-figures .place-figure {
		display: block !important;
		height: auto !important;
		min-height: 0 !important;
	}

	.slider--place-tab-figures
	.place-figure__visual {
		aspect-ratio: 16 / 9;
		height: auto !important;
		min-height: 0 !important;
		overflow: hidden;
		position: relative;
		width: 100%;
	}

	.slider--place-tab-figures
	.place-figure__image-link {
		aspect-ratio: auto;
		display: block !important;
		height: 100% !important;
		inset: 0;
		min-height: 0 !important;
		overflow: hidden;
		position: absolute !important;
		width: 100% !important;
	}

	.slider--place-tab-figures
	.place-figure__image {
		display: block !important;
		height: 100% !important;
		inset: 0 !important;
		min-height: 0 !important;
		object-fit: cover;
		position: absolute !important;
		width: 100% !important;
	}

	.slider--place-tab-figures
	.place-figure__content {
		height: auto !important;
		min-height: 0 !important;
	}
}




/* ==========================================================================
   Regular Place image slider mobile stability
   IMPORTANT: this targets .slider--places, not the separate tabbed slider.
   ========================================================================== */

@media (max-width: 1023px) {
	/*
	 * The shared Slick JS writes equalised inline heights before lazy-loaded
	 * Place images have necessarily settled. Remove that entire fixed-height
	 * chain on mobile so the card is always sized by its real content.
	 */
	.slider--places .slick-list,
	.slider--places .slick-track,
	.slider--places .slick-slide,
	.slider--places .slick-slide > div,
	.slider--places [data-slide],
	.slider--places .place-slider__slide,
	.slider--places .place-slider__slide > div,
	.slider--places .place-figure {
		height: auto !important;
		min-height: 0 !important;
	}

	.slider--places .slick-track {
		align-items: flex-start !important;
	}

	/*
	 * Reserve the image area before the lazy-loaded image arrives.
	 * The image is absolutely positioned inside this guaranteed box, so it
	 * can never collapse into or visually overlap the text below.
	 */
	.slider--places .place-figure {
		display: block !important;
		overflow: hidden;
	}

	.slider--places .place-figure__visual {
		aspect-ratio: 1 / 1;
		display: block;
		height: auto !important;
		min-height: 0 !important;
		overflow: hidden;
		position: relative;
		width: 100%;
	}

	.slider--places .place-figure__image-link {
		display: block !important;
		height: 100% !important;
		inset: 0;
		min-height: 0 !important;
		overflow: hidden;
		position: absolute !important;
		width: 100% !important;
	}

	.slider--places .place-figure__image,
	.slider--places .place-figure__image--placeholder {
		display: block !important;
		height: 100% !important;
		inset: 0 !important;
		min-height: 0 !important;
		object-fit: cover;
		position: absolute !important;
		width: 100% !important;
	}

	.slider--places .place-figure__content {
		height: auto !important;
		min-height: 0 !important;
	}
}



/* ==========================================================================
   Prominent Shop Darwen archive filter
   Add at the end of main.css.
   ========================================================================== */

.places-explorer__featured-filter {
	grid-column: 1 / -1;
	margin-bottom: 2rem;
	width: 100%;
}

.places-explorer__shop-darwen-filter {
	align-items: center;
	background: var(--dd-shop-green);
	border: 0.2rem solid var(--dd-shop-green);
	border-radius: 1.4rem;
	cursor: pointer;
	display: flex;
	gap: 1.4rem;
	padding: 1.6rem 1.8rem;
	position: relative;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
	width: 100%;
}

.places-explorer__shop-darwen-filter:hover {
	background: #b6cc5b;
	border-color: #b6cc5b;
}

.places-explorer__shop-darwen-filter:has(input:focus-visible) {
	outline: 0.3rem solid var(--dd-dark-green);
	outline-offset: 0.3rem;
}

.places-explorer__shop-darwen-filter input {
	height: 1px;
	opacity: 0;
	position: absolute;
	width: 1px;
}

.places-explorer__shop-darwen-check {
	align-items: center;
	background: var(--dd-white);
	border: 0.2rem solid var(--dd-dark-green);
	border-radius: 0.5rem;
	display: flex;
	flex: 0 0 2.6rem;
	height: 2.6rem;
	justify-content: center;
	width: 2.6rem;
}

.places-explorer__shop-darwen-filter input:checked +
.places-explorer__shop-darwen-check {
	background: var(--dd-dark-green);
}

.places-explorer__shop-darwen-filter input:checked +
.places-explorer__shop-darwen-check::after {
	border-bottom: 0.25rem solid var(--dd-white);
	border-right: 0.25rem solid var(--dd-white);
	content: "";
	height: 1.1rem;
	transform: rotate(45deg) translate(-0.1rem, -0.1rem);
	width: 0.6rem;
}

.places-explorer__shop-darwen-copy {
	display: flex;
	flex: 1;
	flex-direction: column;
	line-height: 1.25;
	min-width: 0;
}

.places-explorer__shop-darwen-copy strong {
	color: var(--dd-white);
	font-family: "ivypresto-headline", serif;
	font-size: 1.8rem;
	font-weight: 600;
}

.places-explorer__shop-darwen-copy small {
	color: var(--dd-white);
	font-size: 1.3rem;
	margin-top: 0.25rem;
}

.places-explorer__shop-darwen-count {
	align-items: center;
	background: var(--dd-dark-green);
	border-radius: 999rem;
	color: var(--dd-white);
	display: flex;
	flex: 0 0 auto;
	font-size: 1.2rem;
	font-weight: 700;
	height: 3rem;
	justify-content: center;
	min-width: 3rem;
	padding: 0 0.8rem;
}

@media (max-width: 1023px) {
	.places-explorer__featured-filter {
		margin-bottom: 1.5rem;
	}

	.places-explorer__shop-darwen-filter {
		gap: 1.1rem;
		padding: 1.4rem;
	}

	.places-explorer__shop-darwen-copy strong {
		font-size: 1.65rem;
	}

	.places-explorer__shop-darwen-copy small {
		font-size: 1.2rem;
	}
}



/* ==========================================================================
   Standalone Text Icon Figures accent treatment
   Mirrors the icon treatment used by inner Text Icon Figures in Split blocks.
   Add at the end of main.css.
   ========================================================================== */

.section--text-icon-figures {
	--text-icon-accent: var(--dd-market-blue);
	--text-icon-accent-contrast: var(--dd-white);
}

/*
 * Accent colour is supplied inline by textIconFiguresBlock.php.
 * Light accents use the dark-green contrast; dark accents use white.
 */

.section--text-icon-figures.section--accent-shop-green,
.section--text-icon-figures.section--accent-yellow,
.section--text-icon-figures.section--accent-sand,
.section--text-icon-figures.section--accent-pale-green,
.section--text-icon-figures.section--accent-paler-green,
.section--text-icon-figures.section--accent-palest-green,
.section--text-icon-figures.section--accent-salmon,
.section--text-icon-figures.section--accent-peach,
.section--text-icon-figures.section--accent-pink,
.section--text-icon-figures.section--accent-white {
	--text-icon-accent-contrast: var(--dd-dark-green);
}

.section--text-icon-figures.section--accent-market-blue,
.section--text-icon-figures.section--accent-teal,
.section--text-icon-figures.section--accent-dark-green,
.section--text-icon-figures.section--accent-darkest-green,
.section--text-icon-figures.section--accent-medium-green {
	--text-icon-accent-contrast: var(--dd-white);
}

/*
 * Same compact rounded icon box as the Split block figures.
 */

.section--text-icon-figures
.text-icon-figure--has-icon
.text-icon-figure__icon-wrap {
	align-items: center;
	background: var(--text-icon-accent);
	border-radius: 1rem;
	color: var(--text-icon-accent-contrast);
	display: inline-flex;
	height: 4rem;
	justify-content: center;
	width: 4rem;
}

.section--text-icon-figures
.text-icon-figure--has-icon
.text-icon-figure__icon {
	display: block;
	height: 2rem;
	margin: 0;
	max-height: 2rem;
	max-width: 2rem;
	object-fit: contain;
	width: 2rem;
}

/*
 * Font Awesome / inline SVG icons should inherit the chosen contrast colour.
 */

.section--text-icon-figures
.text-icon-figure--has-icon
.text-icon-figure__icon-wrap svg {
	fill: currentColor;
	margin: 0;
	max-height: 2rem;
	max-width: 2rem;
	width: 2rem;
}

/*
 * Match the figure-title scale used by the Split block's inner figures.
 */

.section--text-icon-figures
.text-icon-figure__title {
	color: var(--dd-dark-green);
	font-family: "ivypresto-headline", serif;
	font-size: 1.55em;
	line-height: 1.15;
	text-transform: none;
}

.section--text-icon-figures
.text-icon-figure__text {
	color: var(--dd-dark-green);
}

.section--text-icon-figures
.text-icon-figure__text p {
	color: inherit;
}

/*
 * Retain readable text on dark section backgrounds.
 */

.section--text-icon-figures.section--dark-green
.text-icon-figure__title,
.section--text-icon-figures.section--dark-green
.text-icon-figure__text,
.section--text-icon-figures.section--dark-green
.text-icon-figure__text p,
.section--text-icon-figures.section--darkest-green
.text-icon-figure__title,
.section--text-icon-figures.section--darkest-green
.text-icon-figure__text,
.section--text-icon-figures.section--darkest-green
.text-icon-figure__text p {
	color: var(--dd-white);
}

@media (max-width: 1023px) {
	.section--text-icon-figures
	.text-icon-figure--has-icon
	.text-icon-figure__icon-wrap {
		height: 3.8rem;
		width: 3.8rem;
	}

	.section--text-icon-figures
	.text-icon-figure__title {
		font-size: 1.35em;
	}
}


.section__split-content-column .section__inner-content > div > div:nth-child(2) {
    margin-top:6rem !important;
}



/* Keep desktop map hover labels compact and readable. */
.place-guide-map-popup--desktop .maplibregl-popup-content {
	max-width: 28rem;
	min-width: 0;
	padding: 1.2rem 1.6rem;
	width: max-content;
}

.place-guide-map-popup--desktop .place-guide-map-popup__title {
	display: block;
	line-height: 1.25;
	max-width: 24rem;
	white-space: normal;
}

/* Keep the active marker above neighbouring markers. */
.maplibregl-marker:has(.place-guide-map__marker.is-active),
.maplibregl-marker:has(.places-explorer-marker.is-active) {
	z-index: 10 !important;
}


.section--split-block.section--has-accent.section--accent-market-blue .section__primary-title {
        color: var(--dd-market-blue) !important;
}

/* ==========================================================================
   Single news article
   ========================================================================== */


   .article__categories {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	justify-content: center;
	margin-top: 2.5rem;
}

.article__categories .article__tag {
	margin: 0;
}


.article--single-news {
	padding-bottom: 0;
}

.article__header {
	background: var(--dd-palest-green);
	padding: 8rem 0 16rem 0;
}

.article__header-inner {
	margin: 0 auto;
	max-width: 100rem;
	text-align: center;
}

.article__header .article__tag {
	    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.6rem;
    padding: 0.4rem 1.3rem;
    border-radius: 999rem;
    background: var(--dd-pale-green);
    color: var(--dd-darkest-green);
	text-decoration: none;
    font-size: 0.72em;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
	transition:
		background-color .2s ease,
		border-color .2s ease;
}

.article__header .article__tag:hover,
.article__header .article__tag:focus-visible {
	background: var(--dd-white);
	
}

.article__header .article__title {
	color: var(--dd-dark-green);
	font-size: 4em;
	line-height: 1.05;
	margin: 0 auto;
	max-width: 100rem;
	text-wrap: balance;
}

.article__header .article__meta {
	align-items: center;
	border: 0;
	color: var(--dd-dark-green);
	display: flex;
	flex-wrap: wrap;
	font-size: 1.5rem;
	font-weight: 600;
	gap: .8rem 1.2rem;
	justify-content: center;
	margin-top: 2.5rem;
	padding: 0;
}

.article__meta-divider {
	color: var(--dd-pale-green);
}

.article__figure--inline {
	aspect-ratio: 16 / 9;
	background: var(--dd-paler-green);
	border-radius: 1.8rem;
	display: block;
	margin: -8rem auto 0 auto;
	max-height: 60rem;
	max-width: 112rem;
	overflow: hidden;
	padding: 0;
	position: relative;
	width: 100%;
}

.article__figure--inline .article__main-image {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.article--single-news .article__content {
	margin: 0 auto;
	max-width: 92rem;
	padding: clamp(6rem, 8vw, 9rem) 0;
}


.article--single-news .article__content ::marker {
	color:var(--dd-shop-green);
}
.article__content .std--block-img img {
	aspect-ratio: 16 / 10;
	border-radius: 1.8rem;
	object-fit: cover;
}

.article__footer {
	border-top: 2px solid var(--dd-palest-green);
	padding: 0 0 clamp(5rem, 7vw, 8rem);
}

.article__footer-inner {
	display: grid;
	gap: 4rem;
	margin: 0 auto;
	max-width: 76rem;
	padding-top: clamp(4rem, 6vw, 6rem);
}

.article__taxonomy-group {
	align-items: center;
	display: grid;
	gap: 1.5rem;
	justify-items: center;
	text-align: center;
}

.article__taxonomy-title {
	color: var(--dd-dark-green);
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
}

.article__taxonomy-links {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
}

.article__taxonomy-link {
	   border: .1rem solid transparent;
    border-radius: 999rem;
    color: var(--dd-darkest-green);
    display: inline-flex;
    font-size: 1.2rem;
    font-weight: 700;
    justify-content: center;
    line-height: 1;
    margin-bottom: 2.5rem;
    min-height: 3.2rem;
    padding: .7rem 1.5rem;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color .2s ease, border-color .2s ease;
    display: inline-flex;
    justify-content: center;
    align-items: center;
	background: var(--dd-pale-green);
	transition:
		background-color .2s ease,
		border-color .2s ease,
		color .2s ease,
		transform .2s ease;
}



.article__taxonomy-link:hover,
.article__taxonomy-link:focus-visible {
	background:var(--dd-dark-green);
	color:#FFF;
	transform: translateY(-.2rem);
}


@media screen and (max-width:1023px) {
	.article__categories {
		justify-content: flex-start;
	}
}
/* ==========================================================================
   Latest news slider
   ========================================================================== */

.section--latest-news {
	
	overflow: hidden;
	padding: clamp(6rem, 8vw, 10rem) 0;
}

.latest-news-slider__layout {
	align-items: start;
	display: grid;
	gap: clamp(4rem, 6vw, 8rem);
	grid-template-columns:
		minmax(22rem, .32fr)
		minmax(0, 1fr);
}

.latest-news-slider__intro {
	align-content: start;
	display: grid;
	gap: 3rem;
	position: relative;
	z-index: 2;
}

.latest-news-slider__title {
	color: var(--dd-dark-green);
	font-size: 4em;
	line-height: 1.02;
	margin: 0;
	max-width: 36rem;
	text-wrap: balance;
}

.latest-news-slider__controls {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.latest-news-slider__count {
	color: var(--dd-dark-green);
	font-size: 1.4rem;
	font-weight: 700;
	margin-right: .5rem;
	min-width: 4.5rem;
}

.latest-news-slider__stage {
	min-width: 0;
	
}

.slider--latest-news {
	min-width: 0;
	overflow: hidden;
	width: 100%;
}

.latest-news-slider__slides {
	display: flex;
	gap: 2rem;
	transform: translate3d(0, 0, 0);
	transition: transform .45s cubic-bezier(.2, .7, .25, 1);
	will-change: transform;
}

.latest-news-slider__slide {
	flex: 0 0 calc((100% - 2rem) / 2);
	min-width: 0;
}

.latest-news-card {
	height: 100%;
}

.latest-news-card__link {
	background: var(--dd-white);
	border: .2rem solid transparent;
	border-radius: 1.8rem;
	color: var(--dd-dark-green);
	display: grid;
	grid-template-rows: auto 1fr;
	height: 100%;
	overflow: hidden;
	text-decoration: none;
	transition:
		border-color .2s ease,
		box-shadow .2s ease,
		transform .2s ease;
}

.latest-news-card__link:hover,
.latest-news-card__link:focus-visible {
	border-color: var(--dd-shop-green);
	color: var(--dd-dark-green);
	
}

.latest-news-card__figure {
	aspect-ratio: 16 / 9;
	background: var(--dd-paler-green);
	margin: 0;
	overflow: hidden;
	position: relative;
}

.latest-news-card__image,
.latest-news-card__placeholder {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform .45s ease;
	width: 100%;
}

.latest-news-card__placeholder {
	background: var(--dd-palest-green);
}

.latest-news-card__link:hover .latest-news-card__image,
.latest-news-card__link:focus-visible .latest-news-card__image {
	transform: scale(1.04);
}

.latest-news-card__content {
	align-content: start;
	display: grid;
	padding: clamp(2.4rem, 3vw, 3.5rem);
}

.latest-news-card__meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 2rem;
}

.latest-news-card__category {
	align-items: center;
	background: var(--dd-pale-green);
	border-radius: 999rem;
	color: var(--dd-darkest-green);
	display: inline-flex;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1;
	min-height: 3rem;
	padding: .7rem 1.2rem;
	text-transform: uppercase;
}

.latest-news-card__date {
	color: var(--dd-dark-green);
	font-size: 1.3rem;
	font-weight: 600;
}

.latest-news-card__title {
	color: var(--dd-dark-green);
	font-size: 2em;
	font-weight: 700;
	line-height: 1;
	margin: 0 0 2.5rem 0;
	text-wrap: balance;
}

.latest-news-card__read-more {
	align-items: center;
	color: var(--dd-dark-green);
	display: inline-flex;
	font-size: 1.4rem;
	font-weight: 700;
	gap: 1rem;
	justify-self: start;
	margin-top: 2.5rem;
}

.latest-news-card__read-more .button__arrow {
	fill: currentColor;
	height: auto;
	transition: transform .2s ease;
	width: 2.3rem;
}

.latest-news-card__link:hover
.latest-news-card__read-more .button__arrow,
.latest-news-card__link:focus-visible
.latest-news-card__read-more .button__arrow {
	transform: translateX(.4rem);
}

.latest-news-slider__controls .slider__button[disabled] {
	cursor: default;
	opacity: .35;
	pointer-events: none;
}

.slider--latest-news {
	overflow: visible;
}

@media (min-width: 1023px) {
	.article__footer-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1100px) {
	.latest-news-slider__layout {
		gap: 4rem;
		grid-template-columns: minmax(20rem, .28fr) minmax(0, 1fr);
	}

	.latest-news-slider__slide {
		flex-basis: calc((100% - 2rem) / 2);
	}
}

@media (max-width: 900px) {

	.article__footer-inner {
		gap:2rem;
	}
	.latest-news-slider__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.latest-news-slider__intro {
		align-items: end;
		display: flex;
		justify-content: space-between;
		margin-bottom: 0;
	}

	.latest-news-slider__title {
		max-width: 52rem;
	}

	.latest-news-slider__controls {
		flex: 0 0 auto;
	}
}

@media (max-width: 1023px) {

	.article--single-news {
		padding:0;
	}
	.article__header {
		padding: 5rem 2.5rem 10rem 2.5rem;
	}

	.article__header-inner {
		text-align: left;
	}

	.article__header .article__title {
		font-size: 2.5em;
	}

	.article__header .article__meta {
		
		justify-content: flex-start;
	}

	.article__figure--inline {
		aspect-ratio: 4 / 3;
		border-radius: 1.4rem;
		margin-top: -5rem;
		        max-width: calc(100% - 5rem);
	}

	.article--single-news .article__content {
		        padding: 5rem 2.5rem;
	}

	.article__taxonomy-group {
		    justify-items: flex-start;
			padding-left:2.5rem;
			padding-right: 2.5rem;
	}

	.section--latest-news {
		padding: 5rem 0;
	}

	.latest-news-slider__intro {
		align-items: flex-start;
		display: grid;
		gap: 2.5rem;
	}

	.latest-news-slider__title {
		font-size: 2.5em;
	}

	.latest-news-slider__slides {
		gap: 1.5rem;
	}

	.latest-news-slider__slide {
		flex-basis: 100%;
	}

	.latest-news-card__figure {
		aspect-ratio: 16 / 9;
	}

	.latest-news-card__content {
		padding: 2.5rem;
	}

	.latest-news-slider__count {
		margin-right: 0;
		justify-content: flex-end;
	}

	.latest-news-card__title {
		font-size: 1.7em;
		margin-bottom:2rem;
		line-height: 1.12;
	}

	.latest-news-card__link:hover, .latest-news-card__link:focus-visible {
		border:none;
		transform:none;
	}
}

.single-post .section--cta-block {
	background: linear-gradient(
		to bottom,
		var(--dd-palest-green) 0 50%,
		var(--dd-darkest-green) 50% 100%
	);
}


.article__date svg,
.latest-news-card__date svg {
    fill:var(--dd-shop-green);
}

.article__date, 
.latest-news-card__date {
    display: inline-flex;
    align-content: center;
    gap:1rem;
}

.latest-news-card__date {
    margin-left:1rem;
}


/* ==========================================================================
   Text image figures using the Place slider/card system
   ========================================================================== */

.section--text-image-figures
.text-image-place-figure__text > :last-child {
	margin-bottom: 0;
}

.section--text-image-figures.section--dark-green
.text-image-place-figure__button .button {
	background: var(--dd-dark-green);
	border-color: var(--dd-dark-green);
	color: var(--dd-white);
}

@media (min-width: 1024px) {
	.slider--text-image-figures
	.text-image-place-figure__visual {
		min-height: 34rem;
	}
}



/* ==========================================================================
   Christmas hero snow
   ========================================================================== */

.section--hero-christmas-snow {
	isolation: isolate;
	overflow: hidden;
	position: relative;
}

/*
 * Existing hero layering:
 *
 * Background windows: 1
 * Hero image stage:   2
 * Hero content:       3
 *
 * Snow sits above the images and below the content.
 * Do not change the position property of .hero-image-stage.
 */

.section--hero-christmas-snow .hero-snow {
	inset: 0;
	mix-blend-mode: screen;
	overflow: hidden;
	pointer-events: none;
	position: absolute;
	z-index: 2;
}

.section--hero-christmas-snow > .container {
	position: relative;
	z-index: 3;
}

.hero-snow__flake {
	animation:
		hero-snow-fall
		var(--snow-duration)
		linear
		var(--snow-delay)
		infinite;

	background: #fff;
	border-radius: 50%;
	height: var(--snow-size);
	left: var(--snow-left);
	opacity: 0;
	position: absolute;
	top: -3rem;
	width: var(--snow-size);
	will-change: transform, opacity;
}

/*
 * A few smaller flakes create depth without blur.
 */

.hero-snow__flake:nth-child(3n) {
	height:
		calc(
			var(--snow-size) * 0.65
		);

	width:
		calc(
			var(--snow-size) * 0.65
	);
}

.hero-snow__flake:nth-child(5n) {
	border-radius: 35%;
}

/*
 * Slightly larger foreground flakes.
 */

.hero-snow__flake:nth-child(7n) {
	height:
		calc(
			var(--snow-size) * 1.2
		);

	width:
		calc(
			var(--snow-size) * 1.2
	);
}

@keyframes hero-snow-fall {
	0% {
		opacity: 0;

		transform:
			translate3d(
				0,
				-3rem,
				0
			)
			rotate(0deg);
	}

	6% {
		opacity:
			var(--snow-opacity);
	}

	92% {
		opacity:
			var(--snow-opacity);
	}

	100% {
		opacity: 0;

		transform:
			translate3d(
				var(--snow-drift),
				calc(100vh + 10rem),
				0
			)
			rotate(280deg);
	}
}

@media (max-width: 1023px) {
	.hero-snow__flake:nth-child(7n) {
		height:
			var(--snow-size);

		width:
			var(--snow-size);
	}
}

@media (prefers-reduced-motion: reduce) {
	.hero-snow {
		display: none;
	}
}






/* ==========================================================================
   Accessibility focus fallback
   Only catches interactive elements without a bespoke focus treatment.
   ========================================================================== */

:where(
	a,
	button,
	input,
	select,
	textarea,
	summary,
	[tabindex]:not([tabindex="-1"])
):focus-visible {
	outline: 0.3rem solid var(--dd-yellow);
	outline-offset: 0.3rem;
}

.slick-list:focus,
a:active,
a:hover {
	outline: none;
}


/* Guide map popup controls */

.place-guide-map-popup button:focus-visible,
.place-guide-map-popup a:focus-visible {
	outline: 0.3rem solid var(--dd-yellow) !important;
	outline-offset: 0.3rem !important;
}

/* Guide map mobile card */

.place-guide-map__mobile-card-close:focus-visible {
	outline: 0.3rem solid var(--dd-dark-green) !important;
	outline-offset: 0.3rem !important;
}

.place-guide-map__mobile-card a:focus-visible {
	outline: 0.3rem solid var(--dd-yellow) !important;
	outline-offset: -0.3rem !important;
}

/* Places archive mobile card */

.places-explorer__mobile-card-close:focus-visible {
	outline: 0.3rem solid var(--dd-dark-green) !important;
	outline-offset: 0.3rem !important;
}

.places-explorer__mobile-card a:focus-visible {
	outline: 0.3rem solid var(--dd-yellow) !important;
	outline-offset: -0.3rem !important;
}




/* ==========================================================================
   CookieYes styling
   ========================================================================== */

.cky-consent-container,
.cky-modal {
	font-family: "Figtree", sans-serif !important;
	color: var(--dd-dark-green) !important;
}

/* Main banner / modal */

.cky-consent-bar,
.cky-preference-center {
	background: var(--dd-white) !important;
	border: 0 !important;
	border-radius: 2rem !important;
	box-shadow: 0 1.5rem 5rem rgba(29, 52, 54, 0.18) !important;
}

/* Titles */

.cky-notice .cky-title,
.cky-preference-header .cky-preference-title,
.cky-accordion-header-wrapper,
.cky-chevron-right {
	color: var(--dd-dark-green) !important;
	font-family: "ivypresto-headline", serif !important;
	font-weight: 600 !important;
}

/* Body copy */

.cky-notice-des,
.cky-preference-content-wrapper,
.cky-accordion-item,
.cky-accordion-btn,
.cky-accordion-header-des,
.cky-cookie-des-table {
	color: var(--dd-dark-green) !important;
	font-weight: 500 !important;
	line-height: 1.6 !important;
}

/* Links / show description */

.cky-notice-des a,
.cky-preference-content-wrapper a,
.cky-preference-content-wrapper .cky-show-desc-btn {
	color: var(--dd-shop-green) !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
	text-underline-offset: 0.2em !important;
}

.cky-notice-des a:hover,
.cky-notice-des a:focus-visible,
.cky-preference-content-wrapper a:hover,
.cky-preference-content-wrapper a:focus-visible,
.cky-preference-content-wrapper .cky-show-desc-btn:hover,
.cky-preference-content-wrapper .cky-show-desc-btn:focus-visible {
	color: var(--dd-darkest-green) !important;
}

/* Buttons */

.cky-btn {
	border-radius: 999rem !important;
	font-family: "Figtree", sans-serif !important;
	font-weight: 700 !important;
	padding: 1.2rem 2.4rem !important;
	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		color 0.25s ease !important;
}

/* Accept */

.cky-btn-accept {
	background: var(--dd-shop-green) !important;
	border: 0.2rem solid var(--dd-shop-green) !important;
	color: var(--dd-white) !important;
}

.cky-btn-accept:hover,
.cky-btn-accept:focus-visible {
	background: var(--dd-dark-green) !important;
	border-color: var(--dd-dark-green) !important;
	color: var(--dd-white) !important;
}

/* Reject / customise / preferences */

.cky-btn-reject,
.cky-btn-customize,
.cky-btn-preferences {
	background: transparent !important;
	border: 0.2rem solid var(--dd-dark-green) !important;
	color: var(--dd-dark-green) !important;
}

.cky-btn-reject:hover,
.cky-btn-reject:focus-visible,
.cky-btn-customize:hover,
.cky-btn-customize:focus-visible,
.cky-btn-preferences:hover,
.cky-btn-preferences:focus-visible {
	background: var(--dd-dark-green) !important;
	border-color: var(--dd-dark-green) !important;
	color: var(--dd-white) !important;
}

/* Focus */

.cky-btn:focus-visible,
.cky-show-desc-btn:focus-visible,
.cky-accordion-btn:focus-visible,
.cky-btn-close:focus-visible,
.cky-btn-revisit:focus-visible {
	outline: 0.3rem solid var(--dd-yellow) !important;
	outline-offset: 0.3rem !important;
}

/* Preference accordion */

.cky-accordion-item {
	border-color: var(--dd-pale-green) !important;
}

.cky-accordion-header-wrapper:hover {
	background: var(--dd-palest-green) !important;
}

.cky-accordion-active .cky-accordion-header-wrapper {
	background: var(--dd-palest-green) !important;
}

/* Toggle switches */

.cky-switch input:checked + .cky-slider {
	background-color: var(--dd-shop-green) !important;
}

.cky-switch input:focus-visible + .cky-slider {
	box-shadow:
		0 0 0 0.3rem var(--dd-white),
		0 0 0 0.6rem var(--dd-yellow) !important;
}

/* Close button */

.cky-btn-close {
	color: var(--dd-dark-green) !important;
}

.cky-btn-close:hover {
	background: var(--dd-palest-green) !important;
	border-radius: 50% !important;
}

/* Hide CookieYes branding */

.cky-consent-bar > div:nth-of-type(2) {
	display: none !important;
}

/* Revisit cookie button */

.cky-btn-revisit-wrapper {
	background:
		var(--dd-dark-green)
		url("/wp-content/themes/discoverdarwen/img/dd_cookie.svg")
		center / 100% no-repeat !important;
	border: 0.2rem solid var(--dd-white) !important;
	box-shadow: 0 0.8rem 2.5rem rgba(29, 52, 54, 0.1) !important;
}

.cky-btn-revisit-wrapper:hover,
.cky-btn-revisit-wrapper:focus-within {
	background-color: var(--dd-shop-green) !important;
}

.cky-accordion-header .cky-always-active {
	color:var(--dd-shop-green) !important;
}
.cky-btn-revisit-wrapper .cky-btn-revisit img {
	display: none !important;
}

.cky-accordion-header-wrapper .cky-accordion-header-des p, .cky-preference-content-wrapper * {
font: 16px/1.6 "Figtree", sans-serif !important;
}

.cky-btn:hover {
    opacity: 1 !important;
}

.cky-revisit-bottom-left:hover::before {
	background:var(--dd-dark-green) !important;
}

/* Mobile */

@media (max-width: 1023px) {
	.cky-consent-bar,
	.cky-preference-center {
		        border-radius: 1.6rem 1.6rem 0 0 !important;
        backdrop-filter: blur(10px) brightness(1.2) contrast(1.2);
        background: #ffffffde !important;
	}

	.cky-btn {
		width: 100% !important;
	}
}

/* ========================================================================== 
   Unified Places archive filter treatment
   Matches the News and Events archive filters.
   Dark green is the only active/focus colour.
   ========================================================================== */

.places-explorer__filter-toggle,
.places-explorer__filters-close,
.places-explorer__apply {
	background: var(--dd-dark-green);
	color: var(--dd-white);
}

.places-explorer__filter-toggle:hover,
.places-explorer__filter-toggle:focus-visible,
.places-explorer__filters-close:hover,
.places-explorer__filters-close:focus-visible,
.places-explorer__apply:hover,
.places-explorer__apply:focus-visible {
	background: var(--dd-darkest-green);
	color: var(--dd-white);
}

.places-explorer__filter-count {
	background: var(--dd-white);
	color: var(--dd-dark-green);
}

.places-explorer__filters {
	background: var(--dd-palest-green);
}

.places-explorer__filters-head,
.places-explorer__filters-actions {
	border-color: rgba(43, 78, 80, .14);
}

/*
 * Standard taxonomy filter rows.
 * The separate Shop Darwen feature filter keeps its bespoke treatment.
 */
.places-explorer__filter-option {
	background: rgba(255, 255, 255, .78);
	border: 1px solid transparent;
	border-radius: 1rem;
}

.places-explorer__filter-option:hover {
	background: var(--dd-white);
	border-color: rgba(43, 78, 80, .2);
}

.places-explorer__filter-option:has(input:checked) {
	background: var(--dd-white);
	border-color: var(--dd-dark-green);
}

.places-explorer__filter-option input[type="checkbox"],
.places-explorer__filter-option input[type="radio"] {
	appearance: none;
	accent-color: auto;
	background-color: var(--dd-white);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 1.1rem;
	border: 2px solid var(--dd-dark-green);
	cursor: pointer;
	flex: 0 0 1.9rem;
	height: 1.9rem;
	margin: 0;
	width: 1.9rem;
}

.places-explorer__filter-option input[type="checkbox"] {
	border-radius: .35rem;
}

.places-explorer__filter-option input[type="radio"] {
	border-radius: 50%;
}

.places-explorer__filter-option input[type="checkbox"]:checked {
	background-color: var(--dd-dark-green);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.4' d='m3 8 3 3 7-7'/%3E%3C/svg%3E");
}

.places-explorer__filter-option input[type="radio"]:checked {
	background-color: var(--dd-dark-green);
	box-shadow: inset 0 0 0 4px var(--dd-white);
}

.places-explorer__filter-option input:focus-visible {
	box-shadow: 0 0 0 3px rgba(43, 78, 80, .2);
	outline: 0;
}

.places-explorer__active-filter {
	background: var(--dd-pale-green);
	color: var(--dd-dark-green);
}

.places-explorer__active-filter:hover,
.places-explorer__active-filter:focus-visible {
	background: var(--dd-dark-green);
	color: var(--dd-white);
}

@media (min-width: 1023px) {
	.places-explorer__filters {
		background: var(--dd-palest-green);
	}
}

@media (max-width: 1023px) {
	.places-explorer__filters {
		background: var(--dd-palest-green);
		border-radius: 2rem 2rem 0 0;
		bottom: 0;
		left: 0;
		max-height: min(88vh, 82rem);
		overflow-y: auto;
		overscroll-behavior: contain;
		top: auto;
		transform: translateY(100%);
		width: 100%;
	}

	.places-explorer__filters.is-open {
		transform: translateY(0);
	}

	.places-explorer__filters-head {
		background: var(--dd-palest-green);
		position: sticky;
		top: 0;
		z-index: 2;
	}

	.places-explorer__filters-body {
		display: block;
		padding-bottom: 2rem;
	}

	.places-explorer__filter-group {
		margin-bottom: 3rem;
		width: 100%;
	}

	.places-explorer__filter-group:last-child {
		margin-bottom: 0;
	}

	.places-explorer__filter-options {
		grid-template-columns: 1fr;
	}

	.places-explorer__filters-actions {
		background: var(--dd-palest-green);
		bottom: 0;
		gap: 2rem;
		position: sticky;
		z-index: 2;
	}

	.places-explorer__apply {
		flex: 0 0 auto;
	}
}





/* ==========================================================================
   WPForms image choices
   Consistent grid, equal cards and clean selected states.
   ========================================================================== */

div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 2rem !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
}

/* Remove WPForms' inline/floating item behaviour. */
div.wpforms-container-full
.wpforms-form
ul.wpforms-image-choices-modern
.wpforms-image-choices-item {
	display: flex !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	min-width: 0;
}

/* The full choice card. */
div.wpforms-container-full
.wpforms-form
ul.wpforms-image-choices-modern
.wpforms-image-choices-item
label:not(.wpforms-error) {
	align-items: center !important;
	background: transparent !important;
	border: 2px solid var(--dd-white) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	cursor: pointer;
	display: flex !important;
	flex: 1 1 auto;
	flex-direction: column !important;
	gap: 1.2rem;
	height: 100% !important;
	justify-content: center !important;
	margin: 0 !important;
	min-height: 12rem;
	padding: 2.2rem 1.5rem !important;
	text-align: center;
	  border-radius: 1rem !important;
	transform: none !important;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease !important;
	width: 100% !important;
}

/* Clean hover without shadows, lifts or movement. */
div.wpforms-container-full
.wpforms-form
ul.wpforms-image-choices-modern
.wpforms-image-choices-item
label:not(.wpforms-error):hover {
	
	border-color: var(--dd-dark-green) !important;
	box-shadow: none !important;
	transform: none !important;
}

/* Keyboard focus. */
div.wpforms-container-full
.wpforms-form
ul.wpforms-image-choices-modern
.wpforms-image-choices-item
label:not(.wpforms-error):focus,
div.wpforms-container-full
.wpforms-form
ul.wpforms-image-choices-modern
.wpforms-image-choices-item
label:not(.wpforms-error):focus-visible,
div.wpforms-container-full
.wpforms-form
ul.wpforms-image-choices-modern
.wpforms-image-choices-item
label:not(.wpforms-error):active {
	border-color: var(--dd-dark-green) !important;
	box-shadow: none !important;
	outline: none !important;
	transform: none !important;
}

/* Selected choice. */
div.wpforms-container-full
.wpforms-form
ul.wpforms-image-choices-modern
.wpforms-image-choices-item.wpforms-selected
label:not(.wpforms-error) {
	background: var(--dd-white) !important;
	  
	border: 2px solid var(--dd-dark-green) !important;
	box-shadow: none !important;
	color: var(--dd-dark-green) !important;
	transform: none !important;
}

/* Keep selected state unchanged on hover/focus. */
div.wpforms-container-full
.wpforms-form
ul.wpforms-image-choices-modern
.wpforms-image-choices-item.wpforms-selected
label:not(.wpforms-error):hover,
div.wpforms-container-full
.wpforms-form
ul.wpforms-image-choices-modern
.wpforms-image-choices-item.wpforms-selected
label:not(.wpforms-error):focus,
div.wpforms-container-full
.wpforms-form
ul.wpforms-image-choices-modern
.wpforms-image-choices-item.wpforms-selected
label:not(.wpforms-error):active {
	background: var(--dd-pale-green) !important;
	border-color: var(--dd-dark-green) !important;
	box-shadow: none !important;
	transform: none !important;
}

/* Icon wrapper. */
div.wpforms-container-full
.wpforms-form
ul.wpforms-image-choices-modern
.wpforms-image-choices-image {
	align-items: center;
	display: flex !important;
	height: 3rem;
	justify-content: center;
	margin: 0 !important;
	position: static !important;
	width: 3rem;
}

/* Icons. */
div.wpforms-container-full
.wpforms-form
ul.wpforms-image-choices-modern
.wpforms-image-choices-image img {
	display: block;
	height: 2.25rem !important;
	margin: 0 !important;
	max-height: 2.25rem !important;
	max-width: 2.25rem !important;
	object-fit: contain;
	width: auto !important;
}

/* Choice text. */
div.wpforms-container-full
.wpforms-form
ul.wpforms-image-choices-modern
.wpforms-image-choices-label {
	align-items: center;
	color: var(--dd-dark-green) !important;
	display: flex !important;
	font-size: 1.6rem;
	font-weight: 700;
	justify-content: center;
	line-height: 1.25;
	margin: 0 !important;
	min-height: 4rem;
	text-align: center;
	width: 100%;
}

/* Never make selected text white. */
div.wpforms-container-full
.wpforms-form
ul.wpforms-image-choices-modern
.wpforms-selected
.wpforms-image-choices-label {
	color: var(--dd-dark-green) !important;
}

/* Remove WPForms' corner tick/check decoration. */
div.wpforms-container-full
.wpforms-form
ul.wpforms-image-choices-modern
.wpforms-image-choices-image::after {
	display: none !important;
}

/* Kill any plugin shadow on every interaction state. */
div.wpforms-container-full
.wpforms-form
ul.wpforms-image-choices-modern
label,
div.wpforms-container-full
.wpforms-form
ul.wpforms-image-choices-modern
label:hover,
div.wpforms-container-full
.wpforms-form
ul.wpforms-image-choices-modern
label:focus,
div.wpforms-container-full
.wpforms-form
ul.wpforms-image-choices-modern
label:active {
	box-shadow: none !important;
	text-shadow: none !important;
}

/* Two equal columns on tablet and mobile. */
@media (max-width: 1023px) {
	div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 1.5rem !important;
	}
}

/* Tighter two-column mobile layout. */
@media (max-width: 480px) {
	div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern {
		gap: 1rem;
	}

	div.wpforms-container-full
	.wpforms-form
	ul.wpforms-image-choices-modern
	.wpforms-image-choices-item
	label:not(.wpforms-error) {
		min-height: 11rem;
		padding: 1.8rem 1rem !important;
	}

	div.wpforms-container-full
	.wpforms-form
	ul.wpforms-image-choices-modern
	.wpforms-image-choices-label {
		font-size: 1.4rem;
		min-height: 3.6rem;
	}
}




.section--text-image-figures
.section__intro--place-slider
.section__primary-title b,
.section--text-image-figures
.section__intro--place-slider
.section__primary-title strong,
.section--text-image-figures
.place-figure__title {
	color: var(--text-image-figure-accent) !important;
}



/* ==========================================================================
   Discover Darwen Video block
   ========================================================================== */

.section--video-block {
	overflow: hidden;
}

.section--video-block-autoplay {
	padding: 0;
}

.section--video-block-autoplay .video-block {
	border-radius: 0;
	box-shadow: none;
	width: 100%;
}

.video-block {
	aspect-ratio: 16 / 9;
	background: var(--dd-darkest-green);
	border-radius: clamp(1.6rem, 2vw, 2.4rem);
	box-shadow: 0 1.5rem 4rem rgba(29, 52, 54, 0.16);
	overflow: hidden;
	position: relative;
	width: 100%;
}

.video-block__video {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.video-block__big-play {
	align-items: center;
	appearance: none;
	background: var(--dd-shop-green);
	border: 0;
	border-radius: 50%;
	box-shadow: 0 1rem 3rem rgba(29, 52, 54, 0.25);
	color: var(--dd-dark-green);
	cursor: pointer;
	display: flex;
	height: clamp(7rem, 10vw, 10rem);
	justify-content: center;
	left: 50%;
	padding: 0;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition:
		background 0.2s ease,
		opacity 0.2s ease,
		transform 0.2s ease;
	width: clamp(7rem, 10vw, 10rem);
	z-index: 3;
}

.video-block__big-play:hover,
.video-block__big-play:focus-visible {
	background: var(--dd-white);
	outline: 0;
	transform: translate(-50%, -50%) scale(1.06);
}

.video-block__big-play svg {
	fill: currentColor;
	height: 42%;
	margin-left: 5%;
	width: 42%;
}

.video-block.is-playing .video-block__big-play {
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, -50%) scale(0.9);
}

.video-block__controls {
	align-items: center;
	background: var(--dd-dark-green);
	bottom: 0;
	display: flex;
	gap: 1.2rem;
	left: 0;
	padding: 1.4rem 1.6rem;
	position: absolute;
	right: 0;
	z-index: 4;
}

.video-block__control-button {
	align-items: center;
	appearance: none;
	background: transparent;
	border: 0;
	color: var(--dd-white);
	cursor: pointer;
	display: inline-flex;
	flex: 0 0 auto;
	height: 4rem;
	justify-content: center;
	padding: 0;
	width: 4rem;
}

.video-block__control-button:hover,
.video-block__control-button:focus-visible {
	color: var(--dd-shop-green);
	outline: 0;
}

.video-block__icon {
	display: block;
	fill: currentColor;
	height: 2.2rem;
	width: 2.2rem;
}

.video-block__icon--pause,
.video-block__icon--muted {
	display: none;
}

.video-block.is-playing .video-block__icon--play {
	display: none;
}

.video-block.is-playing .video-block__icon--pause {
	display: block;
}

.video-block.is-muted .video-block__icon--volume {
	display: none;
}

.video-block.is-muted .video-block__icon--muted {
	display: block;
}

.video-block__progress-wrap {
	flex: 1 1 auto;
	min-width: 0;
}

.video-block__progress {
	--video-progress: 0%;

	appearance: none;
	background: linear-gradient(
		to right,
		var(--dd-shop-green) 0,
		var(--dd-shop-green) var(--video-progress),
		rgba(255, 255, 255, 0.35) var(--video-progress),
		rgba(255, 255, 255, 0.35) 100%
	);
	border-radius: 999rem;
	cursor: pointer;
	display: block;
	height: 0.6rem;
	margin: 0;
	width: 100%;
}

.video-block__progress::-webkit-slider-thumb {
	appearance: none;
	background: var(--dd-white);
	border: 0.3rem solid var(--dd-shop-green);
	border-radius: 50%;
	height: 1.8rem;
	width: 1.8rem;
}

.video-block__progress::-moz-range-thumb {
	background: var(--dd-white);
	border: 0.3rem solid var(--dd-shop-green);
	border-radius: 50%;
	height: 1.4rem;
	width: 1.4rem;
}

.video-block__time {
	color: var(--dd-white);
	flex: 0 0 auto;
	font-size: 1.2rem;
	font-weight: 700;
	white-space: nowrap;
}

@media (max-width: 1023px) {
	.video-block {
		border-radius: 1.6rem;
	}

	.section--video-block-autoplay .video-block {
		aspect-ratio: 1 / 1;
		border-radius: 0;
	}

	.section--video-block-autoplay .video-block__video {
		object-fit: cover;
	}

	.video-block__controls {
		gap: 0.6rem;
		padding: 1rem;
	}

	.video-block__control-button {
		height: 3.6rem;
		width: 3.6rem;
	}

	.video-block__time {
		display: none;
	}
}

/* ==========================================================================
   Place Tags strip
   ========================================================================== */

.place-tags-strip {
	background: var(--dd-medium-green);
	color: var(--dd-white);
	padding: 2.5rem 0;
}

.place-tags-strip__inner {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.2rem 2rem;
}

.place-tags-strip__title {
	color: var(--dd-white);
	flex: 0 0 auto;
	font-family: "Figtree", sans-serif;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
	text-transform: uppercase;
}

.place-tags-strip__items {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
}

.place-tags-strip__tag {
	    border-radius: 999rem;
    color: var(--dd-white);
    display: inline-flex;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1;
    padding: 0.8rem 1.1rem;
    text-transform: uppercase;
    background: var(--dd-dark-green);
}

@media (max-width: 1023px) {
	.place-tags-strip {
		padding: 1.5rem 0;
	}

	.place-tags-strip__inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 1rem;
	}
}

/* ==========================================================================
   Places map active marker and title pill stacking
   ========================================================================== */

/*
 * MapLibre wraps each custom marker in its own absolutely positioned element.
 * Raising only the inner button does not move the whole marker above its
 * siblings, so JavaScript now raises that outer wrapper as well.
 */
.places-explorer__map .maplibregl-marker {
	isolation: isolate;
}

.places-explorer__map
.maplibregl-marker:has(.places-explorer-marker.is-active) {
	z-index: 999998 !important;
}

/* The compact hover/deep-link pill must remain above every marker. */
.places-explorer__map
.maplibregl-popup.place-guide-map-popup--desktop {
	pointer-events: none;
	z-index: 999999 !important;
}

.places-explorer__map
.place-guide-map-popup--desktop
.maplibregl-popup-content {
	margin: 0;
	text-align: center;
	transform: none;
}

.places-explorer__map
.place-guide-map-popup--desktop
.place-guide-map-popup__title {
	display: block;
	margin: 0 auto;
	text-align: center;
}




@media screen and (min-width:1024px) and (max-width:1600px) {


	.header__logo-image {
		width:17rem;
		}
	.header__nav-items {
		gap:0.5em;	}
    .header__logo {
        min-width:17rem !important;
    }
    
	.header__nav-link {
		font-size:17px;
	}

.header__search-toggle {
	order:3;
}

	.header__nav-link--darwen-market {
		font-size: 0;
	}

	

	.header__nav-link--darwen-market::before {
		content: 'Market';
		font-size: 17px;
	}



	.section:not(.section--notice):not(.section--cta-block) {
    
    padding: 12rem 0;
}
  
}

@media screen and (min-width:1024px) and (max-width:1200px) {

.header__nav-item--home {
	display: none;
}
}



.page-template-generic-php
.section__content--narrow-medium
.cky-banner-element {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	margin: 1rem 0 0;
	padding: 0.8rem 1.4rem;

	background-color: #2b4e50;
	border: 2px solid #2b4e50;
	border-radius: 999px;

	color: #fff;
	font: inherit;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;

	appearance: none;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease;
}

.page-template-generic-php
.section__content--narrow-medium
.cky-banner-element:hover {
	background-color: #a8be4f;
	border-color: #a8be4f;
	color: #2b4e50;
}

.page-template-generic-php
.section__content--narrow-medium
.cky-banner-element:focus-visible {
	outline: 3px solid #fcb824;
	outline-offset: 3px;
}

/* Protects against WordPress inserting line breaks inside the button. */
.page-template-generic-php
.section__content--narrow-medium
.cky-banner-element br {
	display: none;
}








/* Standard six-card desktop layout */

@media (min-width: 1024px) {

	/* What’s On becomes the second tall feature card */
	.grid-block--items-6:not(.grid-block--compact)
	> .grid-block-card:nth-child(4) {
		align-items: flex-end;
		grid-column: span 6;
		grid-row: span 2;
		min-height: 73.6rem;
	}

	/* Visitor Info and card 6 stack beside it */
	.grid-block--items-6:not(.grid-block--compact)
	> .grid-block-card:nth-child(5),
	.grid-block--items-6:not(.grid-block--compact)
	> .grid-block-card:nth-child(6) {
		grid-column: span 6;
		grid-row: span 1;
	}

	/* Make card 4 use the same large bottom blob as card 2 */
	.grid-block--items-6:not(.grid-block--compact)
	> .grid-block-card:nth-child(4)
	> .grid-block-card__content {
		align-items: center;
		border-radius: 50% 50% 0 0 / 100% 100% 0 0;
		margin: auto -10% -1px;
		max-width: none;
		min-height: 48%;
		padding: 7rem 10rem 5.5rem;
		text-align: center;
		width: 120%;
	}

	.grid-block--items-6:not(.grid-block--compact)
	> .grid-block-card:nth-child(4).grid-block-card--invert
	> .grid-block-card__content {
		border-radius: 50% 50% 0 0 / 100% 100% 0 0;
		margin: auto -10% -1px;
	}

	.grid-block--items-6:not(.grid-block--compact)
	> .grid-block-card:nth-child(4)
	.grid-block-card__text,
	.grid-block--items-6:not(.grid-block--compact)
	> .grid-block-card:nth-child(4)
	.grid-block-card__button {
		align-self: center;
	}

	.grid-block-card:nth-child(6):not(.grid-block--compact)  .grid-block-card__title {
		max-width:200px;
	}

	/* Reset the old landscape image crop on card 4 */
	.grid-block--items-6:not(.grid-block--compact)
	> .grid-block-card:nth-child(4)
	> .grid-block-card__image {
		inset: 0;
		object-position: center top;
		width: 100%;
	}

	.grid-block-card:nth-child(6) .grid-block-card__image {
    object-position: top right;
    right: 0;
    left: auto;
    width: 75%;
}


}

@media screen and (max-width:1023px) {
	.grid-block-card:nth-child(6) .grid-block-card__image {
            object-position: left center;
}
}


@media screen and (min-width:1023px) and (max-width:1700px) {
    .section--split-block > .container .section__middle-image {
                max-width: 20rem;
    }
    
    .section--split-has-middle-image .section__inner-content--left {
        padding-right:15rem;
    }

	 .section--split-has-middle-image .section__inner-content--right {
        padding-left:15rem;
    }

	.places-template-default .section--place-hero {
        padding:0 !important;
    }
    
    .places-template-default .place-hero__content {
        padding:10rem 0 !important;
    }
}
/* ==========================================================================
   Custom Place card expandable summaries
   ========================================================================== */

.text-image-place-figure--no-link
.text-image-place-figure__text {
	--summary-collapsed-height: 4.8em;
	--summary-expanded-height: 4.8em;

	display: block !important;
	line-height: 1.6;
	max-height: var(--summary-collapsed-height);
	overflow: hidden !important;

	-webkit-box-orient: initial !important;
	-webkit-line-clamp: unset !important;

	transition:
		max-height .4s cubic-bezier(.22, 1, .36, 1);
}

.text-image-place-figure--no-link
.text-image-place-figure__text p {
	display: block !important;
	overflow: visible !important;

	-webkit-box-orient: initial !important;
	-webkit-line-clamp: unset !important;
}

.text-image-place-figure--no-link
.text-image-place-figure__text > :first-child {
	margin-top: 0;
}

.text-image-place-figure--no-link
.text-image-place-figure__text > :last-child {
	margin-bottom: 0;
}

.text-image-place-figure--no-link
.text-image-place-figure__text.is-expanded {
	display: block !important;
	max-height: var(--summary-expanded-height);
	overflow: visible !important;

	-webkit-box-orient: initial !important;
	-webkit-line-clamp: unset !important;
}


/* ==========================================================================
   Read more
   ========================================================================== */

.text-image-place-figure__summary-toggle {
	align-items: center;
	align-self: flex-start;
	background: transparent;
	border: 0;
	color: var(--dd-dark-green);
	display: inline-flex;
	font-size: .9em;
	font-weight: 700;
	gap: .45rem;
	line-height: 1.2;
	margin: 1.25rem 0 0;
	padding: 0;

	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .22em;

	transition:
		color .2s ease,
		opacity .2s ease;
}

.text-image-place-figure__summary-toggle[hidden] {
	display: none !important;
}

.text-image-place-figure__summary-toggle:hover,
.text-image-place-figure__summary-toggle:focus-visible {
	color: var(--dd-shop-green);
}

.text-image-place-figure__summary-toggle-icon {
	display: block;
	fill: currentColor;
	flex: 0 0 1.6rem;
	height: 1.6rem;
	transition:
		transform .35s cubic-bezier(.22, 1, .36, 1);
	width: 1.6rem;
}

.text-image-place-figure__summary-toggle[aria-expanded="true"]
.text-image-place-figure__summary-toggle-icon {
	transform: rotate(180deg);
}


/* ==========================================================================
   Slider behaviour
   ========================================================================== */

.slider--has-expandable-place .slick-track {
	align-items: flex-start !important;
}

.slider--has-expandable-place .slick-slide,
.slider--has-expandable-place .slick-slide > div,
.slider--has-expandable-place [data-slide],
.slider--has-expandable-place .place-slider__slide,
.slider--has-expandable-place .place-slider__slide > div {
	height: auto !important;
	min-height: 0 !important;
}

.slider--has-expandable-place
.text-image-place-figure {
	height: auto !important;
}

.text-image-place-figure--no-link
.text-image-place-figure__image-static:hover
.place-figure__image {
	transform: none;
}


/* ==========================================================================
   Reduced motion
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.text-image-place-figure--no-link
	.text-image-place-figure__text,
	.text-image-place-figure__summary-toggle-icon {
		transition: none;
	}
}


/* ==========================================================================
   404 hero search
   ========================================================================== */

.hero-search {
	max-width: 52rem;
	position: relative;
	width: 100%;
	z-index: 20;
}

.hero-search .asp_w_container,
.hero-search .asp_main_container,
.hero-search div.asp_m.asp_m_1 {
	display: block !important;
	float: none !important;
	max-width: none !important;
	position: relative !important;
	width: 100% !important;
}

.hero-search #ajaxsearchpro1_2 .probox .promagnifier {
margin-right:10px !important;	
}


.hero-search div.asp_m.asp_m_1 {
	border-color: var(--dd-pale-green) !important;
	border-radius: 999rem !important;
	overflow: hidden !important;
	transition:
		border-color .18s ease-in-out,
		box-shadow .18s ease-in-out !important;
}

.hero-search div.asp_m.asp_m_1:has(input.orig:focus) {
	border-color: var(--dd-dark-green) !important;
	box-shadow: 0 0 0 4px var(--dd-pale-green) !important;
}

.hero-search .probox {
	border-radius: 999rem !important;
	margin: 0 !important;
	overflow: hidden !important;
	width: 100% !important;
}

.hero-search input.autocomplete {
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

.hero-search input.orig {
	background: transparent !important;
	box-shadow: none !important;
}

@media (max-width: 1023px) {


	.page-id-1580 section[style*="Curlew-Calling-white-backgorund.png"] > .section__background-image--split {
 background-position:center  !important;
margin:0 !important;
 }

 
	.hero-search {
		max-width: none;
	}

	.places-explorer__filters.is-open {
    z-index: 99999999999999999999 !important;
}
}


.grecaptcha-badge {
	display: none !important;
}

