:root { --headerText: #0e3f10; }:root { --primaryText: #; }:root { --secondaryColour: #9fb26c; }:root { --subHeaderPrimaryColour: #0e3f10; }:root { --subHeaderSecondaryColour: #; }:root { --bulletIconColour: #0e3f10; }:root { --bulletTitleColour: #0e3f10; }/* CSS custom properties for consultation section colors (replace with PHP values server-side if needed) */

/*
:root {
	--primaryBackgroundColour: #;
	--accentColour: #;
	--textColour: #;
	--primaryColour: #;
}*/

.consultationContainer {
	display: flex;

}

.consultationContent  {
	font-size: 20px;
}

.consultationSidebar {
	width:300px;
	height: 100vh;
	padding: 24px 0;
	display: flex;
	flex-direction: column;
    justify-content: space-between;
	position: fixed;
	box-sizing: border-box;
}

.consultationSidebar .links {
    display: flex;
    justify-content: center;
    width: 200px;
    flex-wrap: wrap;
    margin: 0 auto;
	padding-top: 60px;
	font-size: 11px;
}

.consultationSidebar .links a, .consultationSidebar .links a:visited, .consultationSidebar .links a:not(.button):not(.social):not(.contactButton):not(.detailButton):not(.question) {
	padding: 5px;
	color: #f8f8f8;
}

.consultationSidebar .links a, .consultationSidebar .links a:hover, .consultationSidebar .links a:hover:not(.button):not(.social):not(.contactButton):not(.detailButton):not(.question) {
	color: #191919;
}

.consultationSidebar .logoText {
	color: #fff
}

.consultationContent {
	width:calc(100% - 300px);
	margin-left: 300px;
}

.consultationContent.fullWidth {
	width:100%;
	margin-left: 0;
}

.consultationIntro {
	height: 100vh;
	background-size: cover;
	background-position: bottom center;
	position: relative;
}

.consultationIntro .introText {
	padding-top: 10%;

}

.consultationIntro .introText h2 {
	text-align: center;
	font-size: 58px;
	line-height: 1.2em;
	font-weight: 800;
	color: #fff;
}

.dynamicContentSection .sectionContent {
	padding: 60px 40px;
	position: relative;
	max-width: 1400px;
	margin: 0 auto;
	color: var(--textColour);
}

.dynamicContentSection .sectionContent h2, h2.modalTitle {
	font-size:42px;
	position: relative;
	padding-bottom: 52px;
}

.dynamicContentSection .sectionContent h2::after, h2.modalTitle::after {
	content: '';
	display: block;
	width: 125px;
	height: 8px;
	margin: 24px auto 0;
	position: absolute;
	left: 0;
}


.dynamicContentSection.odd {
	background-color: var(--primaryBackgroundColour);
}
.dynamicContentSection.odd .sectionContent h2::after {
	background-color: var(--accentColour);
}
.dynamicContentSection.even {
	background-color: var(--accentColour);
}
.dynamicContentSection.even .sectionContent h2::after {
	background-color: #FFF;
}
.dynamicContentSection.even .sectionContent {
	color: var(--primaryBackgroundColour);
}
.dynamicContentSection.even .sectionContent a:not(.button):not(.social):not(.contactButton):not(.detailButton):not(.question) {
	color: var(--primaryColour);
}


.dynamicContentSection .sectionContent > * {
	opacity: 0;
	transform: translateX(20px);
	transition: opacity 0.5s ease, transform 0.5s ease;
	transition-delay: var(--fade-delay, 0s);
}
.dynamicContentSection .sectionContent.visible > * {
	opacity: 1;
	transform: translateX(0);
}


.buttonList .detailButton:first-child {
	margin-left: 0;
}

.detailButton {
	background-color: var(--accentColour);
	fill: var(--textColour);
	color: var(--textColour);
	overflow: hidden;
}

.dynamicContentSection.even .detailButton {
	background-color: #ffffff !important;
}
.detailButton span {
	color: var(--textColour);
}
.dynamicContentSection.even .detailButton *, .dynamicContentSection.even .detailButton h3 * {
	fill: var(--textColour) !important;
	color: var(--textColour);
}
.dynamicContentSection.odd .detailButton *, .dynamicContentSection.odd .detailButton h3 * {
	fill: #fff !important;
	color: #fff;
}
.detailButton:not(.withBackgroundImage):hover {
	background-color: var(--primaryColour);
}
.detailButton .backgroundImage, .detailButton svg {
	height: 165px;
	width: 145px;
}
.detailButton:hover * {
	color:#FFFFFF;
}
.dynamicContentSection.odd .detailButton:hover, .dynamicContentSection.odd .detailButton:hover svg * {
	fill: #FFFFFF !important;
}
.dynamicContentSection.even .detailButton:hover, .dynamicContentSection.even .detailButton:hover .lightboxGalleryItemTitle {
	background-color: var(--textColour) !important;
}
.dynamicContentSection.odd .detailButton:hover, .dynamicContentSection.odd .detailButton:hover .lightboxGalleryItemTitle {
	background-color: var(--primaryColour) !important;
}
.dynamicContentSection.even .detailButton:hover *, .dynamicContentSection.even .detailButton:hover h3 * {
	fill: #fff !important;
	color: #fff;
}

.detailButton.withBackgroundImage {
	padding: 0;
}

.detailButton.withBackgroundImage .backgroundImage {
	width: 101%;
	margin: 0;
	border-radius: 0;
	background-size: cover;
	background-position: center;
	transition: transform 0.35s cubic-bezier(.4, 1.6, .6, 1), filter 0.35s;
}

.detailButton.withBackgroundImage:hover .backgroundImage {
	transform: scale(1.08) perspective(400px) rotateY(-7deg);
    filter: brightness(0.7) blur(1px);
}



.dynamicContentSection.odd .usefulLink svg *, .dynamicContentSection.odd .usefulLink {
	fill: var(--textColour) !important;
	color: var(--textColour) !important;
}
.dynamicContentSection.even .usefulLink:hover svg *, .dynamicContentSection.even .usefulLink:hover {
	fill: #fff !important;
	color: #fff !important;
}
.dynamicContentSection.odd .usefulLink:hover svg *, .dynamicContentSection.odd .usefulLink:hover {
	fill:  var(--primaryColour) !important;
	color:  var(--primaryColour) !important;
}


.faqAccordion { margin-top:18px; }
.faqItem { border-bottom:1px solid rgba(0,0,0,0.06); padding:10px 0; margin-bottom:8px; }
.faqQuestion { display:block; width:100%; text-align:left; background:none; border:none; padding:8px 0; font-weight:600; cursor:pointer; color: var(--primaryColour); }
.faqQuestion:after { content: '\25be'; float:right; transition: transform .25s ease; }
.faqQuestion[aria-expanded="true"]:after { transform: rotateX(180deg); }
.faqAnswer { padding:10px 0 0 0; color: var(--textColour); }

.map-instructions {
	background: rgba(255,255,255,0.95);
	padding:8px 10px;
	border-radius:4px;
	box-shadow:0 2px 6px rgba(0,0,0,0.15);
	font-size:13px;
	line-height:1.3;
	max-width:320px;
}
.map-instructions .mi-close { cursor:pointer; float:right; margin-left:8px; color:#666 }
.map-comment-form .button {
	padding: 6px 12px;
	font-weight: 500;
	font-size: 16px;
}
#map2 {
	width: 100%;
	aspect-ratio: 2/1;
	box-shadow: 0 2px 8px rgba(0,0,0,0.07);
}
#map2 .gm-style {
	color: #000;
}

.buttonContainer { margin: 24px 0; }
.buttonList { display: flex; flex-wrap: wrap; gap: 18px; }
.backgroundImage { width: 40px; height: 40px; background-size: cover; background-position: center; border-radius: 50%; margin-right: 10px; display: inline-block; }

.faqList { margin-bottom: 32px; display:flex; flex-direction:column; gap:18px; }
.faqMeta { display:flex; gap:12px; align-items:center; margin-bottom:8px; }
.avatar { width:40px; height:40px; border-radius:50%; background:var(--accentColour); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:0.95em; }
.metaInfo { display:flex; flex-direction:column; }
.metaName { font-weight:700; color:#333; }
.metaDate { color:#777; font-size:0.9em; }
.faqRow { display:flex; gap:12px; align-items:flex-start; }
.faqContent { flex:1; }
.faqQ { font-weight: 600; font-size: 26px; color: var(--accentColour); margin-bottom: 6px; margin-top:6px; }
.faqA { color: var(--textColour); margin-top: 18px; font-size:14px; }
.metaDate { color:#777; font-size:0.9em; margin-top:8px; }
.submitQuestionArea { margin-top: 24px; }
.pendingQcard { background: #fff; border-radius: 8px; padding: 12px; margin-top: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.06); display:flex; gap:12px; }
.pendingQcard .avatar { width:40px; height:40px; font-size:0.95em; }
.pendingQcard .pendingBody { flex:1; }
.pendingQcard .pendingMetaLine { color:#666; font-size:0.95em; margin-bottom:8px; }
.pendingQcard .pendingMetaLine .metaName { font-weight:700; margin:0 8px; color:#333 }
.pendingQcard .pendingQuestion { background: #f9f9f9; border-radius:6px; padding:14px; color:#222; font-size:1.16em; font-weight:700; margin-bottom:10px; }
.pendingNotice { color:var(--textColour); font-size: 16px; font-weight: 700; }
.questionFormWrap { max-height: 1000px; overflow: hidden; transition: max-height 0.36s ease, opacity 0.25s ease; opacity:1 }
.questionFormWrap.collapsed { max-height: 0; opacity:0 }
.faqItem.pending { position: relative; border: 1px dashed rgba(0,0,0,0.08); background: #fffefb; }
.pendingBadge { display:inline-block; background: #ffb84d; color:#2b2b2b; padding:2px 8px; border-radius:12px; font-weight:700; margin-left:8px; font-size:0.85em; }
.faqItem.pending .faqA .pendingNotice { color:#555; }
.submissionNotice {
	background: #fffbe6;
	border: 1px solid #ffe58f;
	color: #ad8b00;
	border-radius: 8px;
	padding: 14px 18px;
	margin-bottom: 18px;
	font-size: 1.08em;
	font-weight: 600;
	box-shadow: 0 2px 8px rgba(255, 215, 0, 0.06);
}

.dynamicContentSection .columns .half.column img {
	object-fit: cover;
	width: calc(100% - 8px);
	height: 100%;
	margin: 0 5px;
}

.dynamicContentSection.even .sectionContent h2::after {
	background-color: #FFF;
}
.lightboxGalleryGrid {
	display: flex;
	gap: 24px;
	margin: 32px 0 0 0;
}
.lightboxGalleryGrid.wrap {
	flex-wrap: wrap;
}
.lightboxGalleryItem {
	width:100%;
	background: #e0e3e8 center/cover no-repeat;
	box-shadow: 0 2px 8px rgba(0,0,0,0.07);
	position: relative;
	cursor: pointer;
	overflow: hidden;
	transition: box-shadow 0.2s;
	border-radius: 8px;
	overflow: hidden;
}
.lightboxGalleryItem .lightboxGalleryItemOverlay {
	position: absolute;
	left: 0; right: 0; bottom: 0; top: 0;
	background: linear-gradient(to top, rgba(0,0,0,0.45) 60%, rgba(0,0,0,0.08) 100%, rgba(0,0,0,0) 100%);
	z-index: 1;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	pointer-events: none;
}
.lightboxGalleryItemTitle {
	position: relative;
    z-index: 2;
    font-size: 1em;
    font-weight: 600;
    color: #fff;
    text-align: center;
    padding: 0 10px;
    /* width: 100%; */
    display: flex;
    height: 75px;
    align-items: center;
	width: 100%;
	box-sizing: border-box;
	background-color: var(--primaryColour);
}
.dynamicContentSection.odd .lightboxGalleryItemTitle {
	background-color: var(--accentColour);
}

.lightboxGalleryItemTitle .innerText {
	width: 100%;
}
.lightboxGalleryItem .no-image {
	color: #bbb;
	font-size: 54px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 0;
}
.lightboxGalleryItem:hover {
	box-shadow: 0 4px 16px rgba(0,0,0,0.13);
}
.lightboxGalleryItem .lightboxGalleryItemBg {
	width: 100%;
	height:135px;
	background: center/cover no-repeat;
	z-index: 0;
	transition: transform 0.35s cubic-bezier(.4,1.6,.6,1), filter 0.35s;
}
.lightboxGalleryItem:hover .lightboxGalleryItemBg {
	transform: scale(1.08) perspective(400px) rotateY(-7deg);
	filter: brightness(0.7) blur(1px);
}

.lightboxGalleryModal {
	display: none;
	position: fixed;
	z-index: 9999;
	left: 0; top: 0; width: 100vw; height: 100vh;
	background: rgba(0,0,0,0.65);
	align-items: center;
	justify-content: center;
}
.lightboxGalleryModal .modalContent {
	background: #fff;
	max-width: 1280px;
	max-height: 90vh;
	padding: 32px 32px 24px 32px;
	box-shadow: 0 8px 32px rgba(0,0,0,0.18);
	position: relative;
	overflow-y: auto;
	width:90vw;
}
.lightboxGalleryModal .closeModal {
	position: absolute;
	top: 16px; right: 16px;
	font-size: 28px;
	color: #888;
	cursor: pointer;
	font-weight: bold;
	background: none;
	border: none;
	z-index: 2;
	padding: 4px;
	background-color: #604099;
    color: #fff;
    width: 30px;
    height: 30px;
    line-height: 15px;
    text-align: center;
}
.lightboxGalleryModal .modalImage {
	width: calc(50% - 24px);
	height: auto;
	min-height: 300px;
	background: #e0e3e8 center/cover no-repeat;
	margin: 0 24px 18px 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.lightboxGalleryModal .modalText {
	width: 50%;
	font-size: 1.08em;
	color: #222;
	text-align: left;
}
.lightboxGalleryModal .innerModalContent {
	display: flex;
	flex-direction: row-reverse;
}

.lightboxGalleryModal .closeModal {
	    &::after {
        color: #000;
        content: 'CLOSE';
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        left: -4px;
        top: 32px;
        font-size: 11px;
    }
}
.zoomableImageModal .closeModal {
	    &::after {
        color: #fff;
        content: 'CLOSE';
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 42px;
        font-size: 12px;
    }
}


.verticalMenu ul {
	padding: 0;
}

.verticalMenu ul li {
	list-style: none;
	font-weight: 600;
	text-align: center;
	text-transform: uppercase;
	margin: 12px 0;
	padding: 4px 0;
}

.scrollButton {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	width: 50px;
	height: 50px;
	background-color: #FFFFFF;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.dynamicContentSection .sectionContent > * {
	opacity: 0;
	transform: translateX(20px);
	transition: opacity 0.5s ease, transform 0.5s ease;
	transition-delay: var(--fade-delay, 0s);
}

.dynamicContentSection .sectionContent.visible > * {
	opacity: 1;
	transform: translateX(0);
}

.dynamicContentSection .contactArea {
	background-color: var(--primaryBackgroundColour);
	color: var(--textColour);
}

.dynamicContentSection .contactArea .contactButton {
	margin: 0 auto;
}


.consultationContent .columns .half.column:nth-child(odd) img {
	/* margin-left: -40px !important;
	width: calc(100% + 40px) !important;
    max-width: calc(100% + 40px) !important; */
	width: 100%;
	margin: 0;
}

.consultationContent .columns .half.column:nth-child(even) img {
    /* width: calc(100% + 40px) !important;
    max-width: calc(100% + 40px) !important; */
	width: 100%;
	margin: 0;
}

.consultationContent .columns .half.column:nth-child(odd) .text {
	padding: 20px;
	padding-left: 0;
}

.consultationContent .columns .half.column:nth-child(even) .text {
	padding: 20px;
	padding-right: 0;
}

.genericMap {
	height: 100%;
    width: 100%;
    min-height: 300px;
	margin-top: 16px;
}

.viewMenuButton {
	display: none;
}

.dynamicContentSection .columns div .zoomableImage img {
	height:auto;
}

.dynamicContentSection .columns .fill {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    overflow: hidden;
	flex-direction: column;
}

.dynamicContentSection .columns div .zoomableImage + img {
	flex-shrink: 0;
    min-width: 100%;
	margin-top: 16px !important;
	object-fit: contain;
    height: auto !important;
    min-height: 0 !important;
}


.zoomableImage { position: relative; }
.zoomableImage .zoomIcon {
	position: absolute;
	top: 5px;
	left: 5px;
	z-index: 20;
	background: #604099;
	color: #fff;
	border: none;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 6px;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(0,0,0,0.2);
	transition: background 0.18s ease, transform 0.12s ease;
	box-sizing: border-box;
    padding: 4px 4px 5px 4px;
}
.zoomableImage .zoomIcon .fa {
	font-size: 16px;
	font-weight: 500;
}
.zoomableImage .zoomIcon:hover {
	background: rgba(0,0,0,0.8);
	transform: translateY(-1px);
}

.haveYourSayButtonContainer {
	width:470px;
	max-width: 100%;
	margin: 0 8px;
}

.haveYourSayButtonContainer:first-child {
	margin-left:0;
}
.haveYourSayButtonContainer:last-child {
	margin-right:0;
}

@media (max-width: 680px) {
	.zoomableImage .zoomIcon {
		width: 42px;
		height: 42px;
		top: 10px;
		right: 10px;
	}
	.zoomableImage .zoomIcon .fa {
		font-size: 18px;
	}
}


.zoomableImageModal {
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0,0,0,0.85);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	padding: 20px;
	box-sizing: border-box;
}
.zoomableImageModal .modalImage {
	width: 94vw;
	height: 94vh;
	display:flex;
	align-items:center;
	justify-content:center;
}
.zoomableImageModal .modalImage img {
	max-width: 100%;
	max-height: 100%;
	height: auto;
	display:block;
}

.zoomableImageModal .closeModal {
	position: fixed;
	right: 18px;
	top: 18px;
	z-index: 100000;
	background: #604099;
	color: #fff;
	border: none;
	border-radius: 6px;
	padding: 4px 13px !important;
	font-size: 32px;
	line-height: 36px;
	cursor: pointer;
}
.zoomableImageModal .closeModal:hover {
	background: rgba(255,255,255,0.12);
}

.mapTextLabel {
	position: absolute;
	transform: translateZ(0);
	background: #604099;
	color: #fff;
	padding: 4px 8px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
	box-shadow: 0 2px 4px rgba(0,0,0,0.3);
	pointer-events: auto;
	cursor: default;
	user-select: none;
}
.mapTextLabel:hover {
	background: rgba(0,0,0,0.8);
}

.modalActionButton {
	display: inline-block;
	background: var(--primaryColour, #191919);
	color: #fff;
	padding: 10px 14px;
	border-radius: 6px;
	border: none;
	cursor: pointer;
	font-weight: 700;
}
.modalActionButton.secondary {
	background: #fff;
	color: var(--primaryColour, #191919);
	border: 1px solid rgba(0,0,0,0.08);
}


@media (max-width: 1480px) {
	.consultationSidebar .logoContainer img {
		height: 120px;
		margin: 0 auto;
	}

	.consultationSidebar .links {
		padding-top: 20px;
	}

	.verticalMenu ul li {
		margin: 8px 0;
	}

	.lightboxGalleryItemTitle {
		font-size: 0.8em;
	}
}

@media (max-width: 1270px) {
	.dynamicContentSection .sectionContent {
		padding: 32px 16px;
	}

	.consultationSidebar {
		position: fixed;
		left: -100%; /* hidden by default */
		top: 0;
		height: 100vh;
		width: 100%;
		max-width: 420px;
		z-index: 1200;
		box-shadow: 0 6px 24px rgba(0,0,0,0.2);
		transition: left 0.28s ease;
		background-color: var(--primaryColour, #fff);
	}

	.consultationSidebar.open {
		left: 0;
	}

	.consultationSidebar .links {
		padding-top: 0;
	}

	.consultationContent {
		width: 100%;
		margin-left: 0;
	}

	.viewMenuButton {
		position: fixed;
		right: 16px;
		top: 12px;
		z-index: 1300;
		background: var(--primaryColour, #191919);
		color: #fff;
		border: none;
		padding: 10px 14px;
		border-radius: 6px;
		font-weight: 700;
		cursor: pointer;
		box-shadow: 0 2px 8px rgba(0,0,0,0.12);
		display: flex;
		align-items: center;
		gap: 8px;
	}
	.viewMenuButton.active {
		background: var(--accentColour, #604099);
	}

	.mobileMenuOverlay {
		position: fixed;
		left: 0;
		top: 0;
		width: 100vw;
		height: 100vh;
		background: rgba(0,0,0,0.45);
		z-index: 1100;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.28s ease;
	}

	.mobileMenuOverlay.visible {
		opacity: 1;
		pointer-events: auto;
	}

	.verticalMenu ul li {
		margin: 8px 0;
	}

	.genericMap {
		aspect-ratio: 16/9;
		height: auto;
	}

	#map2 {
		aspect-ratio: 1/1;
		height: auto;
	}

	#mapCommentForm button {
		font-size: 12px;
		padding: 6px 12px;
	}

	#mapCommentForm textarea, #mapCommentForm input[type="text"], #mapCommentForm input[type="email"] {
		font-size: 10px !important;
		padding: 4px 8px;
	}
	#mapCommentForm textarea {
		min-height: 50px;
		height: auto !important;
	}

	.consultationContent {
		font-size: 16px;
	}

	.consultationIntro .introText h2 {
		font-size: 36px;
	}

	.consultationContent .columns .half.column:nth-child(even) .text, .consultationContent .columns .half.column:nth-child(odd) .text {
		padding-left: 0;
		padding-right: 0;
	}

	.mobileOrder1 {
		order: 1;
	}
	.mobileOrder2 {
		order: 2;
	}
	.mobileOrder3 {
		order: 3;
	}
	.mobileOrder4 {
		order: 4;
	}
	.mobileOrder5 {
		order: 5;
	}
	.mobileOrder6 {
		order: 6;
	}

	.lightboxGalleryGrid, .buttonList {
		flex-wrap: wrap;
		gap: 8px;
	}

	.lightboxGalleryItem, .buttonList .detailButton {
		width: calc(100% / 3 - 8px);
		margin: 0;
	}

	.dynamicContentSection .sectionContent h2, h2.modalTitle {
		font-size: 28px;
		padding-bottom: 36px;
	}
}

@media (max-width: 680px) {
	.consultationIntro .introText {
		padding-top: 20%;
	}

	.consultationSidebar .logoContainer img {
		height: 120px;
    	margin: 0 auto;
	}

	.lightboxGalleryModal .modalContent {
		width: 90vw;
		min-width: 0;
		max-width: 100vw;
		height: 90vh;
		max-height: 90vh;
		padding: 32px 6vw 18px 6vw;
		box-sizing: border-box;
		justify-content: flex-start;
		overflow: scroll;
	}

	.lightboxGalleryModal .closeModal {
		padding: 0;
		right: 6px;
		top: 4px;
		font-size: 32px;
	}

	.lightboxGalleryModal .modalImage {
		width: 80vw;
		height: 80vw;
		max-width: 98vw;
		max-height: 98vw;
	}

	.lightboxGalleryItem, .buttonList .detailButton, .iconList .icon {
		width: calc(100% / 2 - 8px);
		min-width: 0;
	}
	.lightboxGalleryItem .lightboxGalleryItemBg, .buttonList .detailButton .backgroundImage, .buttonList .detailButton svg {
		height: auto;
		width: auto;
		aspect-ratio: 3 / 2;
	}
	.lightboxGalleryItemTitle, .buttonList .detailButton .lightboxGalleryItemTitle {
		height: 55px;
		font-size: 0.8em;
	}

	.consultationContainer .faqItem {
		padding: 12px 16px;
		border-bottom: 1px solid #eee;
	}

	.consultationContainer .faqQuestion {
		font-size: 16px;
	}
	.consultationContainer .faqAnswer {
		font-size: 14px;
	}

	.consultationContent .contactArea .text {
		width: 100%;
	}

	.faqContent .faqQ {
		font-size: 18px;
		margin-top: 0;
		font-weight: 600;
	}

	.innerModalContent {
		flex-direction: column;
		flex-wrap: wrap;
	}
	.lightboxGalleryModal .modalImage {
		width: 100%;
		height: auto;
		margin: 0 0 18px 0;
	}
	.lightboxGalleryModal .modalText {
		width: 100%;
	}
}
