/*
 Theme Name:   Base Child
 Description:  Default Base child theme
 Author:       Shorthose Russell
 Template:     base
 Version:      1.0
*/


.screen-reader-text,
.screen-reader-text span,
.screen-reader-shortcut {
  position:absolute!important;
  clip:rect(0,0,0,0);
  height:1px;
  width:1px;
  border:0;
  overflow:hidden
}
.screen-reader-text:focus,
.screen-reader-shortcut:focus {
  clip:auto!important;
  height:auto;
  width:auto;
  display:block;
  font-size:1em;
  font-weight:700;
  padding:15px 23px 14px;
  color:#333;
  background:#fff;
  z-index:100000;
  text-decoration:none;
  box-shadow:0 0 2px 2px rgba(0,0,0,.6)
}
/*=======================================*/
/** Custom Fonts **/
/**  **/
/*=======================================*/
body, .primary-font  {
  font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
}
h1, h2, h3, h4, h5, h6, .secondary-font, .heading-font {
  font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
}
.lsb-button, input, .facetwp-load-more, textarea, .fluentform .ff-btn, .fluentform .ff-el-form-control, .gm-style {
  font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
}
.facetwp-dropdown option {
  font-family: sans-serif;	
}
/*=======================================*/
/** Typography Reset **/
/** XD to CSS font size, letter spacing and line height https://codepen.io/raunaqpatel/full/bGpwBvo
 * px to em conversion https://www.w3schools.com/tags/ref_pxtoemconversion.asp set the default font size as the body font size
 * Can use dev tools computed tab to work out the correct em values
 * Modular scale for font sizes https://www.modularscale.com/?20&px&1.3
/*=======================================*/
html {
  font-size: 100%;
}

/* Fixed font size */
/*
body {
  font-size: 20px;
} 
@media all and (max-width: 1640px) {
body, .lsb-button, .facetwp-load-more {
  font-size: 19px;
}
}

@media all and (max-width: 1280px) {
body, .lsb-button, .facetwp-load-more {
  font-size: 18px;
}
}

@media all and (max-width: 1024px) {
body, .lsb-button, .facetwp-load-more {
  font-size: 17px;
}
}

@media all and (max-width: 768px) {
body, .lsb-button, .facetwp-load-more {
  font-size: 18px;
  font-size: clamp(100%, 14px + 0.22vw, 20px);
}
h1 { font-size: 2.1em; }
h2 { font-size: 1.56em; }
h3 { font-size: 1.42em; }
h4 { font-size: 1.26em; }
h5 { font-size: 1.15em; }
h6{ font-size: 1.03em; }
}
*/

/* Responsive font size - Step size 1.3 */
body {
  font-size: clamp(16px, 15px + 0.260416666vw, 17px);
}
h2 .extra-large, .h2.extra-large {
	font-size: 5.7rem;
}
.hero-block h1, .hero-block .h1 { 
    font-size: 3.5em;
}
h1, .h1, h2, .h2 { 
  font-size: 2.8em;
}
h3, .h3 { 
  font-size: 2em;
}
h4, .h4 { 
  font-size: 1.8em;
}
.fs-large-one {
	font-size: 1.1em;
}
.fs-large-two {
	font-size: 1.2em;
}
.fs-large-three {
	font-size: 1.3em;
}
.fs-large-four {
	font-size: 1.4em;
}
.fs-small-one, .fluentform .frm-fluent-form .ff-el-form-control {
	font-size: 14px;	
}
.fs-small-two {
	font-size: 12px;	
}
.fs-small-three {
	font-size: 12px;	
}

@media all and (max-width: 1640px) {
/*5% reduced*/
h2 .extra-large, .h2.extra-large {
	font-size: 5.2rem;
}
.hero-block h1 { 
    font-size: 3.2em;
}
h1, .h1, h2, .h2 { 
  font-size: 2.7em;
}
h3, .h3 { 
  font-size: 2em;
}
h4, .h4 { 
  font-size: 1.8em;
}
}
@media all and (max-width: 1366px) {
h2 .extra-large, .h2.extra-large {
	font-size: 4.8rem;
}
.hero-block h1 { 
    font-size: 3.1em;
}
h1, .h1, h2, .h2 { 
  font-size: 2.6em;
}
h3, .h3 { 
  font-size: 1.9em;
}
h4, .h4 { 
  font-size: 1.7em;
}
}
@media all and (max-width: 1024px) {
h2 .extra-large, .h2.extra-large {
	font-size: 4.5rem;
}
.hero-block h1 { 
    font-size: 2.9em;
}
h1, .h1, h2, .h2 { 
  font-size: 2.3em;
}
h3, .h3 { 
  font-size: 1.8em;
}
h4, .h4 { 
  font-size: 1.6em;
}
}
@media all and (max-width: 768px) {
h2 .extra-large, .h2.extra-large {
	font-size: 4.2rem;
}
.hero-block h1 { 
    font-size: 2.7em;
}
h1, .h1, h2, .h2 { 
  font-size: 2.1em;
}
h3, .h3 { 
  font-size: 1.7em;
}
h4, .h4 { 
  font-size: 1.5em;
}
.fs-large-two {
	font-size: 1.1em;
}
}
@media all and (max-width: 480px) {
h2 .extra-large, .h2.extra-large {
	font-size: 4rem;
}
.hero-block h1 { 
    font-size: 2.2em;
}
h1, .h1, h2, .h2 { 
  font-size: 2em;
}
h3, .h3 { 
  font-size: 1.6em;
}
h4, .h4 { 
  font-size: 1.3em;
}
	.fs-large-four {
		font-size: 1.3em;
}
.fs-large-two {
	font-size: 1em;
}
.fs-small-one, .fluentform .frm-fluent-form .ff-el-form-control {
	font-size: 14px;	
}
}
@media all and (max-width: 375px) {
h2 .extra-large, .h2.extra-large {
	font-size: 3.8rem;
}
.hero-block h1 { 
    font-size: 2.2em;
}
h1, .h1, h2, .h2 { 
  font-size: 2em;
}
}

/* Responsive font size */
/*body {
  font-size: clamp(16px, 15px + 0.260416666vw, 20px);
}
h1 {
 font-size:clamp(2.67rem,2.07rem + 3vw,4.21rem);
}
h2 {
 font-size:clamp(2.14rem,1.74rem + 1.99vw,3.16rem);
}
h3 {
 font-size:clamp(1.37rem,1.21rem + .8vw,1.78rem);
}
.small-text {
  font-size: 0.9em
}*/

body {
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.01em;
  color: #19262F;
  background: #fff;
}
h1, h2, h3, h4, h5, h6, .heading-font {
  line-height: 1.2;
  letter-spacing: 0;
  font-weight: 700;
  color: #19262F;
  text-transform: none;
}
h1, .h1 { margin-bottom: 1.5rem; }
h2, .h2 { margin-bottom: 1.25rem; }
h3, .h3 { margin-bottom: 1rem; }
h4, .h4 { margin-bottom: 0.3rem; }
.secondary-font {
	  line-height: 1.4;
}
p {
  margin-bottom: 1.5em;
}
.block.core {
	margin-top: 1.5em;
	margin-bottom: 1.5em;	
}
.slider-wrap, .slider-container, .tns-slider > .tns-item {
  font-size: unset !important;
}
.fluentform .frm-fluent-form .ff-el-form-control, .fluentform .ff-el-input--label label {
  color: inherit;
  font-weight: inherit;
	font-family: inherit;
}
.fluentform .frm-fluent-form .choices, .fluentform .frm-fluent-form .choices__inner, .fluentform .frm-fluent-form .choices[data-type*="select-multiple"] .choices__input {
  font-size: inherit;
  color: inherit;
}
.fluentform .ff-btn {
  font-weight: inherit;
} 
.lsb-button, .facetwp-load-more {
  font-weight: inherit;
  font-size: inherit;
}

/*=======================================*/
/** Misc **/
/*=======================================*/
@media all and (max-width: 1920px) {
}
@media all and (max-width: 1366px) {
}
@media all and (max-width: 1280px) {
}
@media all and (max-width: 1024px) {
}
@media all and (max-width: 768px) {
}
@media all and (max-width: 480px) {
}
@media all and (max-width: 375px) {
}

@keyframes fadein{
    0% { opacity:0;  }
    10% { opacity:0; }
    100% { opacity:1; }
}
@-webkit-keyframes fadein{
    0% { opacity:0; }
    10% { opacity:0; }
    100% { opacity:1; }
}

/* Remove empty html elements */
.block div p:empty, .block div ol li:empty, .block div ul li:empty {
    display: none;	
}

/** Prevent elements wrapping (phone numbers, emails) **/
.nowrap {
  white-space: nowrap;
}

/** Increase fancybox video width on mobile **/
@media all and (max-width: 580px) {
.fancybox-slide--video {
    padding-left: 10px;
    padding-right: 10px;
}
}

.heading.full-stop {
}
.heading.full-stop::after, .hero-block .textarea :is(h1, h2, h3, h4, h5, h6)::after {
	content: ".";
	color: #34CCB5;
}
.bg-green .heading.full-stop::after {
	color: #fff;
}

.green {
	color: #34CCB5;
}


.block.bg-dark:not(.lsb-button), .block.bg-dark :is(h1, h2, h3, h4, h5, h6) {
	color: #fff;
}


.clickable-parent:not(a) a {
	position: static;
}
.clickable-parent:not(a) > a::before {
	content: "";
	position: absolute;
	inset: 0;
	cursor: pointer !important;
	display: flex;
	z-index: 1;
}


.block .facetwp-facet {
	margin-bottom: 0;
}
.facetwp-counter {
  display: none;
}

#main-content :is(ul, ol):not(:last-child) {
	margin-bottom: 1.5em;	
}
#main-content :is(ul,ol) li {
	margin-bottom: 1em;
}
#main-content :is(ul,ol) li:last-of-type {
	margin-bottom: 0;
}
#main-content ul li::marker {
		color: #34CCB5;
}

.remove-last-block-padding article.post-content-block {
	padding-bottom: 0;
}
/*=======================================*/
/** Placeholder text **/
/*=======================================*/
::-webkit-input-placeholder, :-ms-input-placeholder, :-moz-placeholder {
  color: #fff;
  opacity: 1;
}
.fluentform .frm-fluent-form .ff-el-form-control::placeholder {
  color: #fff;
  opacity: 1; 
}
/*=======================================*/
/** Animations **/
/*=======================================*/
@media (prefers-reduced-motion: no-preference) {
[data-sal] {
    transition-delay: 0.1s;
    transition-delay: var(--sal-delay, 0.1s);
}
[data-sal][data-sal-duration="200"] {
    transition-duration: 0.2s;
}
[data-sal][data-sal-duration="250"] {
    transition-duration: 0.25s;
}
[data-sal][data-sal-duration="300"] {
    transition-duration: 0.3s;
}
[data-sal][data-sal-duration="350"] {
    transition-duration: 0.35s;
}
[data-sal][data-sal-duration="400"] {
    transition-duration: 0.4s;
}
[data-sal][data-sal-duration="450"] {
    transition-duration: 0.45s;
}
[data-sal][data-sal-duration="500"] {
    transition-duration: 0.5s;
}
[data-sal][data-sal-duration="550"] {
    transition-duration: 0.55s;
}
[data-sal][data-sal-duration="600"] {
    transition-duration: 0.6s;
}
[data-sal][data-sal-duration="650"] {
    transition-duration: 0.65s;
}
[data-sal][data-sal-duration="700"] {
    transition-duration: 0.7s;
}
[data-sal][data-sal-duration="750"] {
    transition-duration: 0.75s;
}
[data-sal][data-sal-duration="800"] {
    transition-duration: 0.8s;
}
[data-sal][data-sal-duration="850"] {
    transition-duration: 0.85s;
}
[data-sal][data-sal-duration="900"] {
    transition-duration: 0.9s;
}
[data-sal][data-sal-duration="950"] {
    transition-duration: 0.95s;
}
[data-sal][data-sal-duration="1000"] {
    transition-duration: 1s;
}
[data-sal][data-sal-duration="1050"] {
    transition-duration: 1.05s;
}
[data-sal][data-sal-duration="1100"] {
    transition-duration: 1.1s;
}
[data-sal][data-sal-duration="1150"] {
    transition-duration: 1.15s;
}
[data-sal][data-sal-duration="1200"] {
    transition-duration: 1.2s;
}
[data-sal][data-sal-duration="1250"] {
    transition-duration: 1.25s;
}
[data-sal][data-sal-duration="1300"] {
    transition-duration: 1.3s;
}
[data-sal][data-sal-duration="1350"] {
    transition-duration: 1.35s;
}
[data-sal][data-sal-duration="1400"] {
    transition-duration: 1.4s;
}
[data-sal][data-sal-duration="1450"] {
    transition-duration: 1.45s;
}
[data-sal][data-sal-duration="1500"] {
    transition-duration: 1.5s;
}
[data-sal][data-sal-delay="0"] {
    transition-delay: 0s;
}
[data-sal][data-sal-delay="50"] {
    transition-delay: 0.05s;
}
[data-sal][data-sal-delay="100"] {
    transition-delay: 0.1s;
}
[data-sal][data-sal-delay="150"] {
    transition-delay: 0.15s;
}
[data-sal][data-sal-delay="200"] {
    transition-delay: 0.2s;
}
[data-sal][data-sal-delay="250"] {
    transition-delay: 0.25s;
}
[data-sal][data-sal-delay="300"] {
    transition-delay: 0.3s;
}
[data-sal][data-sal-delay="350"] {
    transition-delay: 0.35s;
}
[data-sal][data-sal-delay="400"] {
    transition-delay: 0.4s;
}
[data-sal][data-sal-delay="450"] {
    transition-delay: 0.45s;
}
[data-sal][data-sal-delay="500"] {
    transition-delay: 0.5s;
}
[data-sal][data-sal-delay="550"] {
    transition-delay: 0.55s;
}
[data-sal][data-sal-delay="600"] {
    transition-delay: 0.6s;
}
[data-sal][data-sal-delay="650"] {
    transition-delay: 0.65s;
}
[data-sal][data-sal-delay="700"] {
    transition-delay: 0.7s;
}
[data-sal][data-sal-delay="750"] {
    transition-delay: 0.75s;
}
[data-sal][data-sal-delay="800"] {
    transition-delay: 0.8s;
}
[data-sal][data-sal-delay="850"] {
    transition-delay: 0.85s;
}
[data-sal][data-sal-delay="900"] {
    transition-delay: 0.9s;
}
[data-sal][data-sal-delay="950"] {
    transition-delay: 0.95s;
}
[data-sal][data-sal-delay="1000"] {
    transition-delay: 1s;
}
[data-sal][data-sal-delay="1050"] {
    transition-delay: 1.05s;
}
[data-sal][data-sal-delay="1100"] {
    transition-delay: 1.1s;
}
[data-sal][data-sal-delay="1150"] {
    transition-delay: 1.15s;
}
[data-sal][data-sal-delay="1200"] {
    transition-delay: 1.2s;
}
[data-sal][data-sal-delay="1250"] {
    transition-delay: 1.25s;
}
[data-sal][data-sal-delay="1300"] {
    transition-delay: 1.3s;
}
[data-sal][data-sal-delay="1350"] {
    transition-delay: 1.35s;
}
[data-sal][data-sal-delay="1400"] {
    transition-delay: 1.4s;
}
[data-sal][data-sal-delay="1450"] {
    transition-delay: 1.45s;
}
[data-sal][data-sal-delay="1500"] {
    transition-delay: 1.5s;
}
[data-sal][data-sal-easing="ease"] {
    transition-timing-function: ease;
}
[data-sal][data-sal-easing="ease-in"] {
    transition-timing-function: ease-in;
}
[data-sal][data-sal-easing="ease-out"] {
  transition-timing-function: ease-out;
}
[data-sal][data-sal-easing="ease-out-quart"] {
  transition-timing-function: cubic-bezier(.165,.84,.44,1);
}
[data-sal][data-sal-easing="ease-in-out"] {
    transition-timing-function: ease-in-out;
}
[data-sal][data-sal-easing="ease-in-out-cubic"] {
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}
[data-sal|="fade"] {
    opacity: 0;
    transition-timing-function: ease-out-quart;
    transition-timing-function: var(--sal-easing, ease-out-quart);
    transition-duration: 1s;
    transition-duration: var(--sal-duration, 1s);
    transition-property: opacity;
	transition-delay: 0.2s;
}
[data-sal|="fade"].above-fold {
opacity: 0.01;
}
[data-sal|="fade"].sal-animate,
body.sal-disabled [data-sal|="fade"] {
    opacity: 1;
}
[data-sal|="slide"] {
    opacity: 0;
    transition-timing-function: ease-out-quart;
    transition-timing-function: var(--sal-easing, ease-out-quart);
    transition-duration: 0.8s;
    transition-duration: var(--sal-duration, 0.8s);
    transition-property: opacity, transform;
}
[data-sal="slide-up"] {
    transform: translateY(30px);
}
[data-sal="slide-down"] {
    transform: translateY(-30px);
}
[data-sal="slide-left"] {
    transform: translateX(30px);
}
[data-sal="slide-right"] {
    transform: translateX(-30px);
}
[data-sal|="slide"].sal-animate,
body.sal-disabled [data-sal|="slide"] {
    opacity: 1;
    transform: none;
}
[data-sal|="zoom"] {
    opacity: 0;
    transition-timing-function: ease-out-quart;
    transition-timing-function: var(--sal-easing, ease-out-quart);
    transition-duration: 0.7s;
    transition-duration: var(--sal-duration, 0.7s);
    transition-property: opacity, transform;
}
[data-sal="zoom-in"] {
    transform: scale(0.5);
}
[data-sal="zoom-out"] {
    transform: scale(1.1);
}
[data-sal|="zoom"].sal-animate,
body.sal-disabled [data-sal|="zoom"] {
    opacity: 1;
    transform: none;
}
}
/*=======================================*/
/** Block width **/
/*=======================================*/
.core-block .block-inner {
    width: 100%;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
}
/*=======================================*/
/** Margin & Padding left/right **/
/*=======================================*/
.block-inner {
  margin-left: auto;
  margin-right: auto;
}

.block.full-screen-width  {
  padding-left: 0;
  padding-right: 0;
}



.block, .block-padding {
  padding-right: 60px;
  padding-left: 60px;
}
.block.super-wide-contained-width, .block.full-screen-contained-width  {
  padding-left: 24px;
padding-right: 24px;
}
@media all and (max-width:1640px) {
.block, .block-padding {
  padding-right: 50px;
  padding-left: 50px;
}
}
@media all and (max-width:1280px) {
.block, .block-padding {
  padding-right: 40px;
  padding-left: 40px;
}
}
@media all and (max-width:768px) {
.block, .block-padding, .block.super-wide-contained-width, .block.full-screen-contained-width  {
  padding-left: 34px;
  padding-right: 34px;
}
}
@media all and (max-width:480px) {
.block, .block-padding, .block.super-wide-contained-width, .block.full-screen-contained-width {
  padding-left: 34px;
  padding-right: 34px;
}
}
/*
.block {
  padding-right: clamp(1px, 7.292vw, 140px);
  padding-left: clamp(1px, 7.292vw, 140px);
}
@media all and (max-width:1640px) {
.block {
  padding-right: clamp(1px, 5.976vw, 140px);
  padding-left: clamp(1px, 5.976vw, 140px);
}
}
@media all and (max-width:1280px) {
.block {
  padding-right: clamp(1px, 5vw, 140px);
  padding-left: clamp(1px, 5vw, 140px);
}
}
@media all and (max-width:1024px) {
.block {
  padding-right: 40px;
  padding-left: 40px;
}
}
@media all and (max-width:768px) {
.block {
  padding-left: 30px;
  padding-right: 30px;
}
}
@media all and (max-width:480px) {
.block {
  padding-left: 20px;
  padding-right: 20px;
}
}
*/
/*=======================================*/
/** Margin & Padding top/bottom **/
/*=======================================*/
body.admin-bar {
  margin-top: 32px;
}
@media screen and (max-width: 782px) {
body.admin-bar {
  margin-top: 46px;
}
}
.single-post .block p {
  margin-bottom: 1.5em; 
}
.list-block ul li {
  margin-bottom: 1.5em;
}

/* Remove bottom margin from last paragraph inside acf blocks and core blocks above content blocks */
.block p:last-child, .remove-bottom-margin p, .block :is(ul,ol):last-child {
  margin-bottom: 0;
}
/*.block p:last-child:not(.block.core p:last-child), .remove-bottom-margin p {
  margin-bottom: 0;	
}*/
.block.core .block.core:first-of-type {
  margin-top: 0;
}
.block.core .block.core:last-of-type {
  margin-bottom: 0;
}


/* paragraph block padding bottom if button block below it */
.block:is(.advanced-paragraph-block, .paragraph-block):has(+ .buttons-block) {
	padding-bottom: 35px;
}
@media all and (max-width: 1366px) {
.block:is(.advanced-paragraph-block, .paragraph-block):has(+ .buttons-block) {
	padding-bottom: 35px;
}
}
@media all and (max-width: 768px) {
.block:is(.advanced-paragraph-block, .paragraph-block):has(+ .buttons-block) {
	padding-bottom: 30px;
}
}


/* Padding & Margin default */
.block:not(.core, .header-row), .single .entry-content .block:last-of-type.full-screen-contained-width {
  padding-bottom: 95px; 
}

.block.super-wide-contained-width, .block.full-screen-contained-width  {
  padding-top: 24px;
padding-bottom: 24px;
}
.block.super-wide-contained-width.post-loop-block {
	padding-top: 24px;
}

@media all and (max-width: 1280px) {
.block:not(.core, .header-row), .single .entry-content .block:last-of-type.full-screen-contained-width {
  padding-bottom: 80px; 
}
}
@media all and (max-width: 768px) {
.block:not(.core, .header-row), .single .entry-content .block:last-of-type.full-screen-contained-width {
  padding-bottom: 65px; 
}
}

/* Padding & Margin 200 */
.block.p-t-200 {
  padding-top: 200px; 
}
.block.p-b-200 {
  padding-bottom: 200px;  
}
.block.m-t-200 {
  margin-top: 200px; 
}
.block.m-b-200 {
  margin-bottom: 200px;  
}
@media all and (max-width: 1366px) {
.block.p-t-200 {
  padding-top: 150px; 
}
.block.p-b-200 {
  padding-bottom: 150px;  
}
.block.m-t-200 {
  margin-top: 150px; 
}
.block.m-b-200 {
  margin-bottom: 150px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-200 {
  padding-top: 100px; 
}
.block.p-b-200 {
  padding-bottom: 100px;  
}
.block.m-t-200 {
  margin-top: 100px; 
}
.block.m-b-200 {
  margin-bottom: 100px;  
}
}

/* Padding & Margin 185 */
.block.p-t-185 {
  padding-top: 185px; 
}
.block.p-b-185 {
  padding-bottom: 185px;  
}
.block.m-t-185 {
  margin-top: 185px; 
}
.block.m-b-185 {
  margin-bottom: 185px;  
}
@media all and (max-width: 1366px) {
.block.p-t-185 {
  padding-top: 135px; 
}
.block.p-b-185 {
  padding-bottom: 135px;  
}
.block.m-t-185 {
  margin-top: 135px; 
}
.block.m-b-185 {
  margin-bottom: 135px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-185 {
  padding-top: 80px; 
}
.block.p-b-185 {
  padding-bottom: 80px;  
}
.block.m-t-185 {
  margin-top: 80px; 
}
.block.m-b-185 {
  margin-bottom: 80px;  
}
}

/* Padding & Margin 170 */
.block.p-t-170 {
  padding-top: 170px; 
}
.block.p-b-170 {
  padding-bottom: 170px;  
}
.block.m-t-170 {
  margin-top: 170px; 
}
.block.m-b-170 {
  margin-bottom: 170px;  
}
@media all and (max-width: 1366px) {
.block.p-t-170 {
  padding-top: 120px; 
}
.block.p-b-170 {
  padding-bottom: 120px;  
}
.block.m-t-170 {
  margin-top: 120px; 
}
.block.m-b-170 {
  margin-bottom: 120px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-170 {
  padding-top: 80px; 
}
.block.p-b-170 {
  padding-bottom: 80px;  
}
.block.m-t-170 {
  margin-top: 80px; 
}
.block.m-b-170 {
  margin-bottom: 80px;  
}
}

/* Padding & Margin 155 */
.block.p-t-155 {
  padding-top: 155px; 
}
.block.p-b-155 {
  padding-bottom: 155px;  
}
.block.m-t-155 {
  margin-top: 155px; 
}
.block.m-b-155 {
  margin-bottom: 155px;  
}
@media all and (max-width: 1366px) {
.block.p-t-155 {
  padding-top: 105px; 
}
.block.p-b-155 {
  padding-bottom: 105px;  
}
.block.m-t-155 {
  margin-top: 105px; 
}
.block.m-b-155 {
  margin-bottom: 105px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-155 {
  padding-top: 80px; 
}
.block.p-b-155 {
  padding-bottom: 80px;  
}
.block.m-t-155 {
  margin-top: 80px; 
}
.block.m-b-155 {
  margin-bottom: 80px;  
}
}

/* Padding & Margin 140 */
.block.p-t-140 {
  padding-top: 140px; 
}
.block.p-b-140 {
  padding-bottom: 140px;  
}
.block.m-t-140 {
  margin-top: 140px; 
}
.block.m-b-140 {
  margin-bottom: 140px;  
}
@media all and (max-width: 1366px) {
.block.p-t-140 {
  padding-top: 100px; 
}
.block.p-b-140 {
  padding-bottom: 100px;  
}
.block.m-t-140 {
  margin-top: 100px; 
}
.block.m-b-140 {
  margin-bottom: 100px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-140 {
  padding-top: 80px; 
}
.block.p-b-140 {
  padding-bottom: 80px;  
}
.block.m-t-140 {
  margin-top: 80px; 
}
.block.m-b-140 {
  margin-bottom: 80px;  
}
}

/* Padding & Margin 125 */
.block.p-t-125 {
  padding-top: 125px; 
}
.block.p-b-125 {
  padding-bottom: 125px;  
}
.block.m-t-125 {
  margin-top: 125px; 
}
.block.m-b-125 {
  margin-bottom: 125px;  
}
@media all and (max-width: 1366px) {
.block.p-t-125 {
  padding-top: 100px; 
}
.block.p-b-125 {
  padding-bottom: 100px;  
}
.block.m-t-125 {
  margin-top: 100px; 
}
.block.m-b-125 {
  margin-bottom: 100px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-125 {
  padding-top: 80px; 
}
.block.p-b-125 {
  padding-bottom: 80px;  
}
.block.m-t-125 {
  margin-top: 80px; 
}
.block.m-b-125 {
  margin-bottom: 80px;  
}
}

/* Padding & Margin 110 */
.block.p-t-110 {
  padding-top: 110px; 
}
.block.p-b-110 {
  padding-bottom: 110px;  
}
.block.m-t-110 {
  margin-top: 110px; 
}
.block.m-b-110 {
  margin-bottom: 110px;  
}
@media all and (max-width: 1366px) {
.block.p-t-110 {
  padding-top: 95px; 
}
.block.p-b-110 {
  padding-bottom: 95px;  
}
.block.m-t-110 {
  margin-top: 95px; 
}
.block.m-b-110 {
  margin-bottom: 95px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-110 {
  padding-top: 80px; 
}
.block.p-b-110 {
  padding-bottom: 80px;  
}
.block.m-t-110 {
  margin-top: 80px; 
}
.block.m-b-110 {
  margin-bottom: 80px;  
}
}

/* Padding & Margin 95 */
.block.p-t-95 {
  padding-top: 95px; 
}
.block.p-b-95 {
  padding-bottom: 95px;  
}
.block.m-t-95 {
  margin-top: 95px; 
}
.block.m-b-95 {
  margin-bottom: 95px;  
}
@media all and (max-width: 1366px) {
.block.p-t-95 {
  padding-top: 80px; 
}
.block.p-b-95 {
  padding-bottom: 80px;  
}
.block.m-t-95 {
  margin-top: 80px; 
}
.block.m-b-95 {
  margin-bottom: 80px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-95, .block.post-title-block {
  padding-top: 65px; 
}
.block.p-b-95, .block.post-title-block.p-b-50 {
  padding-bottom: 65px;  
}
.block.m-t-95 {
  margin-top: 65px; 
}
.block.m-b-95 {
  margin-bottom: 65px;  
}
}

/* Padding & Margin 80 */
.block.p-t-80 {
  padding-top: 80px; 
}
.block.p-b-80 {
  padding-bottom: 80px;  
}
.block.m-t-80 {
  margin-top: 80px; 
}
.block.m-b-80 {
  margin-bottom: 80px;  
}
@media all and (max-width: 1366px) {
.block.p-t-80 {
  padding-top: 65px; 
}
.block.p-b-80 {
  padding-bottom: 65px;  
}
.block.m-t-80 {
  margin-top: 65px; 
}
.block.m-b-80 {
  margin-bottom: 65px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-80 {
  padding-top: 40px; 
}
.block.p-b-80 {
  padding-bottom: 40px;  
}
.block.m-t-80 {
  margin-top: 40px; 
}
.block.m-b-80 {
  margin-bottom: 40px;  
}
}

/* Padding & Margin 65 */
.block.p-t-65 {
  padding-top: 65px; 
}
.block.p-b-65 {
  padding-bottom: 65px;  
}
.block.m-t-65 {
  margin-top: 65px; 
}
.block.m-b-65 {
  margin-bottom: 65px;  
}
@media all and (max-width: 1366px) {
.block.p-t-65 {
  padding-top: 55px; 
}
.block.p-b-65 {
  padding-bottom: 55px;  
}
.block.m-t-65 {
  margin-top: 55px; 
}
.block.m-b-65 {
  margin-bottom: 55px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-65 {
  padding-top: 40px; 
}
.block.p-b-65 {
  padding-bottom: 40px;  
}
.block.m-t-65 {
  margin-top: 40px; 
}
.block.m-b-65 {
  margin-bottom: 40px;  
}
}

/* Padding & Margin 50 */
.block.p-t-50 {
  padding-top: 50px; 
}
.block.p-b-50 {
  padding-bottom: 50px;  
}
.block.m-t-50 {
  margin-top: 50px; 
}
.block.m-b-50 {
  margin-bottom: 50px;  
}
@media all and (max-width: 1366px) {
.block.p-t-50 {
  padding-top: 50px; 
}
.block.p-b-50 {
  padding-bottom: 50px;  
}
.block.m-t-50 {
  margin-top: 50px; 
}
.block.m-b-50 {
  margin-bottom: 50px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-50, .block.post-filters-block {
  padding-top: 40px; 
}
.block.p-b-50 {
  padding-bottom: 40px;  
}
.block.m-t-50 {
  margin-top: 40px; 
}
.block.m-b-50 {
  margin-bottom: 40px;  
}
}

/* Padding & Margin 35 */
.block.p-t-35 {
  padding-top: 35px; 
}
.block.p-b-35 {
  padding-bottom: 35px;  
}
.block.m-t-35 {
  margin-top: 35px; 
}
.block.m-b-35 {
  margin-bottom: 35px;  
}
@media all and (max-width: 1366px) {
.block.p-t-35 {
  padding-top: 35px; 
}
.block.p-b-35 {
  padding-bottom: 35px;  
}
.block.m-t-35 {
  margin-top: 35px; 
}
.block.m-b-35 {
  margin-bottom: 35px;  
}
}
@media all and (max-width: 768px) {
.block.p-t-35 {
  padding-top: 30px; 
}
.block.p-b-35 {
  padding-bottom: 30px;  
}
.block.m-t-35 {
  margin-top: 30px; 
}
.block.m-b-35 {
  margin-bottom: 30px;  
}
}

/* Padding & Margin 20 */
.block.p-t-24 {
  padding-top: 24px; 
}
.block.p-b-24 {
  padding-bottom: 24px;  
}
.block.m-t-24 {
  margin-top: 24px; 
}
.block.m-b-24 {
  margin-bottom: 24px;  
}

/* Padding & Margin None */
body .block.p-t-none {
  padding-top: 0; 
}
body .block.p-b-none {
  padding-bottom: 0;  
}
body .block.m-t-none {
  margin-top: 0;  
}
body .block.m-b-none {
  margin-bottom: 0; 
}

/*=======================================*/
/** Block border **/
/*=======================================*/
.block-border-top-bottom {
    border-top: 1px solid #D5D5D5;
    border-bottom: 1px solid #D5D5D5;
}
.block-border-top {
    border-top: 1px solid #D5D5D5;
}
.block-border-bottom {
    border-bottom: 1px solid #D5D5D5;
}
/*=======================================*/
/** Links **/
/*=======================================*/
a {
  position: relative;
  /*transition: color .2s cubic-bezier(.3,.15,.18,1); dont apply this to links that dont need it like buttons and images as it causes issues in web vitals */
}
#main-content a:not(button, .lsb-button, .heading) {
	  color: inherit;
	font-weight: 500;
}
#main-content a:hover:not(button, .lsb-button) {
  color: inherit;
	transition: color .2s cubic-bezier(.3,.15,.18,1);
}
/** Hover styles **/
/* Underline */
.link-underline a:hover:not(.lsb-button) {
  text-decoration: underline;
}
/* Underline from left */
.link-underline-from-left a:not(.lsb-button,.child-underline)::after, .link-underline-from-left a.child-underline span::after, .underline span::after, .post-filters-block .facetwp-radio::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #34ccb5;
  transform: scaleX(0);
  transform-origin: bottom right;
  transition: transform .3s;
}
.link-underline-from-left a:hover:not(.lsb-button, .child-underline)::after, .link-underline-from-left a.child-underline:hover span::after, .underline-parent a:hover .underline span::after, .post-filters-block .facetwp-radio:hover::after {
  transform-origin: bottom left;
  transform: scaleX(1);
}
.underline span {
	position: relative;
}
footer .link-underline-from-left a:not(.lsb-button,.child-underline)::after, footer .link-underline-from-left a:is(.child-underline) span::after{
  background-color: #fff;
}
a.child-underline span {
	position: relative;
}
a.child-underline span.icon::after {
	display: none;
}
/* Exclude links from custom hover style */
.no-hover-underline a:not(.lsb-button)::after {
  display: none;
}
/* Underline from centre */
.link-underline-from-centre a:not(.lsb-button) {
	position: relative;
	transition: color .25s ease-in-out;
}
.link-underline-from-centre a:not(.lsb-button)::before {
	content: '';
	position: absolute;
	top: 100%;
	width: 100%;
	height: 1px;
	background-color: hsl(45 100% 70%);
	transform: scaleX(0);
	transition: transform .25s ease-in-out;
}
.link-underline-from-centre a:hover:not(.lsb-button)::before {
	color: hsl(45 100% 70%);
	transform: scaleX(1);
}

/* Fill from left */
.link-fill-from-left a:not(.lsb-button)::before {
  background: hsl(45 100% 70%);
  content: "";
  inset: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.25s ease-in-out;
  z-index: -1;
}
.link-fill-from-left a:hover:not(.lsb-button)::before {
  transform: scaleX(1);
  transform-origin: left;
}

/*=======================================*/
/** Breadcrumbs **/
/*=======================================*/
.block.breadcrumbs {
	padding-top: 20px;
}
.block.breadcrumbs.absolute-position {
	width: 100%;
	position: absolute;
	color: #fff;
	z-index: 1;
	padding-bottom: 0;
}
.block.breadcrumbs .container-width {
	display: flex;
	gap: 7px;
}
#main-content .block.breadcrumbs a {
	font-weight: initial;
}
@media all and (max-width: 768px) {
	.block.breadcrumbs .container-width {
		display: none;
	}
}
/*=======================================*/
/** Buttons **/
/*=======================================*/
.lsb-button, .fluentform .frm-fluent-form .ff-btn, .post-loop-pagination-block .facetwp-load-more {
  color: inherit;
overflow: hidden;
  text-align: center;
  box-sizing: border-box;
  cursor: pointer;
  box-shadow: none;
position: relative;
  border-radius: 0;
  border: 0;
  font-size: 1.1em;
  letter-spacing: inherit;
  line-height: inherit;
  font-weight: 500;
  transition: all .2s cubic-bezier(.3,.15,.18,1);
  min-width: 180px;
  padding: 6px 20px;
}
.lsb-button.small-btn, .fluentform .frm-fluent-form .ff-btn.small-btn {
	min-width: 150px;
	font-size: 14px;
	padding: 6px 20px;
}
.lsb-button, .fluentform .frm-fluent-form .ff-btn {
	display: block;
}

.lsb-button:hover, .fluentform .frm-fluent-form .ff-btn:hover, .post-loop-pagination-block .facetwp-load-more:hover {
    text-decoration: none;
}

.fluentform .frm-fluent-form .form-btn-green-outline.ff-btn, .block .facetwp-facet-load_more button {
  background: var(--btn-bg);
  color: var(--btn-txt-colour);
  border: solid 2px #34ccb5;
  border-radius: 25px;
}
.fluentform .frm-fluent-form .form-btn-green-outline.ff-btn:hover, .block .facetwp-facet-load_more button:hover {
	background: #34ccb5;
	color: #ffffff;
}

.fluentform .frm-fluent-form .ff-btn.button-style-white-outline {
  background: transparent;
  color: #fff;
  border: solid 2px #fff;
  border-radius: 25px;	
}
.fluentform .frm-fluent-form .ff-btn.button-style-white-outline:hover {
	background: #34ccb5;
	color: #ffffff;
  	border: solid 2px #34ccb5;
}
.bg-green .fluentform .frm-fluent-form .ff-btn.button-style-white-outline {
  background: transparent;
  color: #fff;
  border: solid 2px #fff;
  border-radius: 25px;	
}
.bg-green .fluentform .frm-fluent-form .ff-btn.button-style-white-outline:hover {
	background: #ffffff;
	color: #34ccb5;
  	border: solid 2px #fff;
}

.fluentform .frm-fluent-form .ff-btn.form-btn-green-solid {
  background: #34ccb5;
  color: #fff;
  border: solid 2px #34ccb5;
  border-radius: 25px;	
}
.fluentform .frm-fluent-form .ff-btn.form-btn-green-solid:hover {
	background: #fff;
	color: #19262F;
  	border: solid 2px #34ccb5;
}

.button-container-inner {
	display: flex;
	gap: 12px;
}

.hide-btns-desktop .button-container {
    display: none;
}
@media all and (max-width:768px) {
.hide-btns-desktop .button-container {
    display: block;
}
.hide-btns-mobile .button-container {
    display: none;
}
}


/** Button hover styles **/
/** Change colour **/
.single-btn-wrap.btn-hover-change-colour .lsb-button:hover {
	text-decoration: none;
}
/** Grow **/
.single-btn-wrap.btn-hover-grow .lsb-button:hover {
	text-decoration: none;
	transform: scale(1.05);	
}
/** From top **/
.single-btn-wrap.btn-hover-from-top .lsb-button:hover {

}
/** From bottom **/
.single-btn-wrap.btn-hover-from-bottom .lsb-button:hover {

}
/** From left **/
.single-btn-wrap.btn-hover-from-left .lsb-button:hover {

}
/** From right **/
.single-btn-wrap.btn-hover-from-right .lsb-button:hover {
	
}


@media all and (max-width:1366px) {
.lsb-button, .fluentform .frm-fluent-form .ff-btn, .post-loop-pagination-block .facetwp-load-more {
    min-width: 120px;
  padding: 6px 20px;
}
}
@media all and (max-width:768px) {
.lsb-button, .fluentform .frm-fluent-form .ff-btn, .post-loop-pagination-block .facetwp-load-more {
    min-width: 110px;
}
}
@media all and (max-width:767px) {
.button-container .button-container-inner {
  grid-template-columns: 1fr;
  grid-auto-flow: unset;
}
}
/*=======================================*/
/** Image semi-transparent overlay **/
/*=======================================*/
/** Solid overlay **/
.overlay::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(20, 20, 20, 0.2);
  z-index: 1;
}

/** Fade from bottom overlay **/
.overlay-from-bottom::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 65%;
  background: linear-gradient(0deg,rgb(20,20,20) 0%,rgba(20,20,20,0) 100%);
  z-index: 1;
}

/** Fade from top overlay **/
.overlay-from-top::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 65%;
  background: linear-gradient(0deg,rgba(20,20,20,0) 0%,rgb(20,20,20) 100%);
  z-index: 1;
}
/*=======================================*/
/** Slider **/
/*=======================================*/
.slider-container {
  position: relative;
}
.slider-overlay-text {
  width: 100%;
}
/* Slider nav dots */
.slider-container .tns-nav {
  position: absolute;
  bottom: -40px;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 3;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
}
.slider-container .tns-nav button {
  border: 0;
  border-radius: 0;
  padding: 7px;
  box-sizing: border-box;
  background: #EFECEA;
  opacity: 0.65;
}
.slider-container .tns-nav button.tns-nav-active {
  opacity: 1;
}
@media all and (max-width: 1080px) {
.block .swiper-button-next::after, .block .swiper-button-prev::after {
	font-size: 34px;
}
}
/*=======================================*/
/** Image zoom on hover **/
/*=======================================*/
@media only screen and (min-width: 1025px) {
/* [1] The container */
.img-hover-zoom, .work-post, .post-loop-wrap article .image, .style-lastest-blog-posts .swiper-slide.swiper-slide-active .image, .content-grid-block .container .item .image {
  overflow: hidden; /* [1.2] Hide the overflowing of child elements */
}

/* [2] Transition property for smooth transformation of images */
.img-hover-zoom img, .work-post img, .back-to-our-services .image img {
  transition: transform .2s ease;
}
.post-loop-wrap article img, .style-lastest-blog-posts .swiper-slide.swiper-slide-active img, .content-grid-block .container .item .image img {
  transition: transform .3s ease;
}

/* [3] Finally, transforming the image when container gets hovered */
.img-hover-zoom img:hover, .work-post img:hover, .back-to-our-services .image:hover img, .post-loop-wrap article:hover img {
  transform: scale(1.03);
}
.post-loop-wrap article:hover img, .style-lastest-blog-posts .swiper-slide.swiper-slide-active:hover img, .content-grid-block .container .item:hover .image img {
  transform: scale(1.05);
}
}
/*=======================================*/
/** Lightbox **/
/*=======================================*/
.fancybox-bg {
background: #2A2A2A;
}
/*=======================================*/
/** Pagination **/
/*=======================================*/
.load-more-pagination {
  margin-top: 70px;
}
.load-more-pagination .facetwp-facet {
  margin-bottom: 0;
}
.load-more-pagination .facetwp-type-pager {
  display: flex;
  justify-content: center;
  align-items: center;
}
/*=======================================*/
/** Social Links **/
/*=======================================*/
.social-links {
  margin: 0;
  display: grid;
  gap: 10px;
}
.social-links li {
  list-style: none;
  margin: 0;
}
.social-links-icons li a {
    border-bottom: 0;
    display: flex;
}

.contact-details .social-links-icons.alt-icons {
	display: flex;
	gap: 12px;
}
.contact-details .social-links-icons.alt-icons div a {
	border: solid 2px #34ccb5;
	border-radius: 25px;
	color: #34ccb5;
	height: 42px;
	min-width: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .2s cubic-bezier(.3,.15,.18,1);
	font-weight: 500;
}
.contact-details .social-links-icons.alt-icons div:hover a {
  background: #34ccb5;
  color: #fff;
	border: 2px solid #34ccb5;
}
.contact-details .social-links-icons.alt-icons div svg path {
    transition: all .2s cubic-bezier(.3,.15,.18,1);
}
.contact-details .social-links-icons.alt-icons div:hover svg path {
  fill: #fff;
}


.social-links-icons-text li a {
	display: inline-flex;
	align-items: center;
	gap: 20px;
}
.social-links-icons-text li svg, .social-links-icons-text li img {
  height: 14px;
  width: auto;
}
.social-links-icons-text li .icon {
  width: 15px;
}
/*=======================================*/
/** Header **/
/*=======================================*/
.site-header {
  z-index: 10;
  transition: ease 0.4s;
  position: relative;
  width: 100%;
	container: card / inline-size;
}
.site-header .header-row {
position: absolute;
  width: 100%;
  padding-top: 30px;	
}
.site-header .block-inner {
display: flex;
  padding-top: 0;
  padding-bottom: 0;
  align-items: center;
  justify-content: space-between;
  gap: 30px;	
}

.header-phone, .header-email {
  display: flex;
  align-items: center;
  gap: 10px;	
}
.header-social-links svg path {
	fill: #ED7D31;
}
.header-phone.icon img, .header-email.icon img {
	height: 13px;
}


.header-main-row {
	width: 100%;
}
.sticky .header-main-row {
	background: #44546a;
	box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.3);
}
.site-header .header-main-row .block-inner {
  display: flex;
  padding-top: 10px;
  padding-bottom: 10px;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

/** Header Logo **/
.header-logo-container {
	display: flex;
	align-items: flex-end;
	gap: 40px;
}
.header-logo-container a::before {
	display: none;
}
.header-logo-container a {
  display: inherit;
}
.header-logo-container svg, .header-logo-container img {
  display: block;
  width: auto;
	height: 45px;
	max-height: 80px;
}
.logo-text {
	color: #fff;
	position: relative;
	top: 6px;
	font-size: 1.1em;
}

/** Header Menu **/
.header-column.menu-container {
	flex: 1;
	align-items: center;
	display: flex;
	justify-content: flex-end;
	height: 100%;
	position: relative;
	top: 14px;
}
.desk-menu-container {
  height: 100%;
}
.desk-menu-container > div {
  height: inherit;
  width: inherit;
}
.desk-menu-container ul:not(.sub-menu) {
  margin: 0;
  display: flex;
  justify-content: flex-end;
  height: 100%;
  align-items: center;
  gap: 40px;
}
.desk-menu-container ul > li {
	list-style: none;
	height: 100%;
	align-items: center;
	display: flex;
	  gap: 8px;
	position: relative;
	font-size: 1.15rem;
	font-weight: 600;
}
.desk-menu-container ul > li a {
  color: #fff;
}
.desk-menu-container a:hover {

}
.desk-menu-container .current-menu-parent > a, .desk-menu-container .current-menu-item > a {
font-weight: 800;
}
.header-column.menu-container .header-contact-details {
  display: flex;
  gap: 12px;
	margin-left: 40px;
}
.header-column.menu-container .contact-details a {
	border: solid 2px #fff;
	border-radius: 25px;
	color: #fff;
	height: 37px;
	min-width: 37px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .2s cubic-bezier(.3,.15,.18,1);
	font-weight: 500;
}
.header-column.menu-container .contact-details:hover a {
  background: #34ccb5;
  color: #fff;
	border: 2px solid #34ccb5;
}
.header-column.menu-container .contact-details svg path {
    transition: all .2s cubic-bezier(.3,.15,.18,1);
}
.header-column.menu-container .contact-details:hover svg path {
  fill: #fff;
}
.header-column.menu-container .site-phone a {
  gap: 6px;
  padding: 0 8px;
}
.desk-menu-container li.mob {
	display: none;
}


/** Desktop submenu **/
.desk-menu-container ul > li.menu-item-has-children::after {
	content: url(/wp-content/uploads/2025/02/down-pointer.svg);
	display: flex;
}
.desk-menu-container ul > li.menu-item-has-children:hover {
	cursor: pointer;
}
]
.desk-menu-container ul .sub-menu .current_page_item {
  font-weight:700
}
.desk-menu-container ul .sub-menu-wrap {
  opacity:0;
  visibility:hidden;
  transition:all ease-in-out .2s;
  position:absolute;
  z-index:999;
  top:100%;
  display:block;
  box-sizing:border-box;
  border-bottom:0;
  box-shadow:0 7px 12px -10px #383c43;
  padding-top:10px;
	min-width: 200px;
left: 50%;
  transform: translateX(-50%);
}
.desk-menu-container ul .sub-menu-wrap .submenu-top-icon {
position: absolute;
  top: 3px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.desk-menu-container ul .sub-menu-wrap ul {
  display:block;
  white-space:nowrap;
  padding:10px 0 20px 0;
  background:#FFFFFF
}
.desk-menu-container ul li:hover>.sub-menu-wrap {
  opacity:1;
  visibility:visible;
  transition:opacity ease-in-out .2s
}
.desk-menu-container ul .sub-menu li {
  margin:0;
  text-transform:none;
  text-align:left;
  padding:0px 18px;
  list-style:none;
  height:100%;
  align-items:center;
  display:flex;
	    font-size:0.9rem;
}
.desk-menu-container ul .sub-menu li:last-of-type {
  border-bottom:none
}
.desk-menu-container ul .sub-menu li a {
	display: flex;
	width: 100%;
	align-items: center;
	padding: 10px 0;
	color: #51595F;
	border-bottom: 1px solid #66C9B6;
}
.desk-menu-container ul .sub-menu li:hover {
}
.desk-menu-container ul .sub-menu li:hover a {
	text-decoration: underline;
	color: #19262f;
}
.desk-menu-container ul .sub-menu {
}
.header-column .desk-menu-container ul#menu-primary-menu .sub-menu a::after {
  content:"";
  position:relative;
  width:10px;
  height:10px;
  bottom:auto;
  left:auto;
  right:-6px;
  background-color:initial;
  transform:none;
  transform-origin:initial;
  transition:all .2s ease;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center
}
.header-column .desk-menu-container ul#menu-primary-menu .sub-menu a:hover::after {
  right:-9px
}

@keyframes fadeInDown {
	0% {
		opacity:0;
		bottom:10px
	}
	100% {
		opacity:1;
		bottom:0
	}
}
.desk-menu-container ul .sub-menu li {
    opacity: 0;
    position: relative;
  }
.desk-menu-container ul li.active .sub-menu li {
  animation: .4s forwards fadeInDown;
}
.desk-menu-container ul li.active .sub-menu li:nth-of-type(1) {
  animation-delay: 0.05s;
}
.desk-menu-container ul li.active .sub-menu li:nth-of-type(2) {
  animation-delay: 0.1s;
}
.desk-menu-container ul li.active .sub-menu li:nth-of-type(3) {
  animation-delay: 0.15s;
}
.desk-menu-container ul li.active .sub-menu li:nth-of-type(4) {
  animation-delay: 0.2s;
}
.desk-menu-container ul li.active .sub-menu li:nth-of-type(5) {
  animation-delay: 0.25s;
}
.desk-menu-container ul li.active .sub-menu li:nth-of-type(6) {
  animation-delay: 0.3s;
}
.desk-menu-container ul li.active .sub-menu li:nth-of-type(7) {
  animation-delay: 0.35s;
}
.desk-menu-container ul li.active .sub-menu li:nth-of-type(8) {
  animation-delay: 0.4s;
}
.desk-menu-container ul li.active .sub-menu li:nth-of-type(9) {
  animation-delay: 0.45s;
}


@media all and (max-width: 1366px) {

}
@media all and (max-width: 1280px) {
.header-column.menu-container .desk-menu-container ul {
  gap: 30px;
}
}
@media all and (max-width: 1170px) {

}
@media all and (max-width: 1024px) {
.header-top-menu {
	display: none;
}
.desk-menu-container li.mob {
	display: initial;
}
	.site-header .header-top-row {
		display: none;
	}
}

/*=======================================*/
/** Contact forms **/
/*=======================================*/
.fluentform.ff-default .ff-el-form-control {
	border: 1px solid #fff;
	border-radius: 8px;
}
.fluentform.ff-default .ff-t-container {
	gap: 12px;
	display: flex;
}
.fluentform.ff-default .ff-el-group {
  margin-bottom: 12px;
}
.fluentform.ff-default .ff-message-success {
	border: none;
	box-shadow: none;
	margin-top: 10px;
	padding: 0;
}

.bg-green .fluentform .ff-el-is-error .text-danger {
color: #19262f;
}

.footer-four-columns-block .fluentform.ff-default .ff-el-form-control {
	background: #6bd9c9;
	border: none;
	border-radius: 6px;
	width: 300px;
	height: 37.6px;
	color: #fff;
}
.footer-four-columns-block .fluentform.ff-default .ff-el-group {
	margin: 0;
}
.footer-four-columns-block .fluentform .frm-fluent-form .ff-btn {
	margin-bottom: 0;	
}
/*=======================================*/
/** Mobile Menu **/
/*=======================================*/
.mob-menu-container {
  display: none;
}
.logo.mob {
	display: none;
}
@keyframes fadeInRight2 {
	0% {
		opacity:0;
		bottom:20px
	}
	100% {
		opacity:1;
		bottom:0
	}
}
/* only direct children of the first UL */
.mob-menu-container.menu--visible > ul > li {
  animation: .4s forwards fadeInRight2;
  animation-delay: .25s;
  opacity: 0;
  position: relative;
}

/* stagger delays for top-level items only */
.mob-menu-container.menu--visible > ul > li:nth-of-type(2) {
  animation-delay: .3s;
}
.mob-menu-container.menu--visible > ul > li:nth-of-type(3) {
  animation-delay: .35s;
}
.mob-menu-container.menu--visible > ul > li:nth-of-type(4) {
  animation-delay: .4s;
}
.mob-menu-container.menu--visible > ul > li:nth-of-type(5) {
  animation-delay: .45s;
}
.mob-menu-container.menu--visible > ul > li:nth-of-type(6) {
  animation-delay: .5s;
}
.mob-menu-container.menu--visible > ul > li:nth-of-type(7) {
  animation-delay: .55s;
}
.mob-menu-container.menu--visible > ul > li:nth-of-type(8) {
  animation-delay: .6s;
}
@media all and (max-width: 960px) {
.header-column.menu-container .site-phone .site-number {
	display: none;
}
.header-column.menu-container .contact-details a {
	width: 37px;
}
}
@media all and (max-width: 827px) {	
	.site-header .header-row {
		padding-top: 20px;
	}
.mob-menu-container {
  display: block;
}
.header-column.menu-container .header-contact-details {
	gap: 20px;
	margin-left: 0;
}
.header-column.menu-container {
	top: 0;
	gap: 20px;
}
  .desk-menu-container {
    display: none;
  }	
/* ————————————————
   BUTTON (hamburger → X)
   ———————————————— */
.mob-menu-btn-container {
  display: flex;
  align-items: center;
}
.mob-menu-btn-wrap {
  display: inline-block;
}
.mob-menu-btn {
  cursor: pointer;
  will-change: transform;
}
.mob-menu-btn span {
  display: block;
  width: 28px;
  height: 2px;
  margin: 7px 0;
  background: #fff;
  transition: transform 0.4s ease, opacity 0.3s ease;
  border-radius: 1.5px;
}
.mob-menu-btn.open .top {
  transform: translateY(8px) rotate(45deg);
}
.mob-menu-btn.open .middle {
  opacity: 0;
}
.mob-menu-btn.open .bottom {
  transform: translateY(-10px) rotate(-45deg);
}

/* ————————————————
   BACKDROP OVERLAY
   ———————————————— */
.mob-menu-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  z-index: 999;
}
.mob-menu-overlay.open {
  opacity: 1;
  pointer-events: all;
}

/* ————————————————
   SLIDE‑IN MENU
   ———————————————— */
.mob-menu-container {
  position: fixed;
  inset: 0;                 /* top:0; right:0; bottom:0; left:0 */
  height: 100dvh;           /* tracks URL bar show/hide */
  min-height: 100dvh;
  max-height: 100dvh;
  width: 100%;
  background: #19262f;
  box-shadow: 2px 0 12px rgba(0,0,0,.15);
  transform: translateX(-100%) scale(1);
  opacity: 0;
  transition: transform .5s cubic-bezier(.22,1,.36,1), opacity .4s ease;
  will-change: transform, opacity;
  z-index: 1000;
  overflow: auto;           /* scroll inner content, not the page */
  padding-bottom: env(safe-area-inset-bottom); /* nicer on notched devices */
}

/* Fallbacks for older browsers (optional but nice) */
@supports not (height: 100dvh) {
  .mob-menu-container {
    height: 100vh;
    min-height: 100vh;
    max-height: 100vh;
  }
}
.mob-menu-container.open {
  transform: translateX(0) scale(1);
  opacity: 1;
}

/* ————————————————
   CLOSE “X” INSIDE MENU
   ———————————————— */
.close-btn {
	position: absolute;
	top: 32px;
	right: 40px;
	width: 28px;
	height: 20px;
	cursor: pointer;
	z-index: 1001;
}
.close-btn span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  background: #fff;
  border-radius: 1.5px;
  transform-origin: center;
}
.close-btn span:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}
.close-btn span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* ————————————————
   CHILD ITEMS STAGGER
   ———————————————— */
/* 1) Base state — only top-level items */
.mob-menu-container .menu-primary-menu-container > ul > li,
.mob-menu-container .button-container,
.mob-menu-container .phone-email,
.mob-menu-container .address {
  opacity: 0;
  transform: translateX(-20px);
  transition: transform 0.4s ease, opacity 0.4s ease;
}

/* (Optional but safe) Ensure submenu items aren't hidden/animated */
.mob-menu-container .menu-primary-menu-container ul ul > li {
  opacity: 1;
  transform: none;
  transition: none;
}

/* 2) Staggered fade/slide in for top-level only */
.mob-menu-container.open .menu-primary-menu-container > ul > li:nth-child(1)  { transition-delay: 0.30s; opacity:1; transform:translateX(0); }
.mob-menu-container.open .menu-primary-menu-container > ul > li:nth-child(2)  { transition-delay: 0.40s; opacity:1; transform:translateX(0); }
.mob-menu-container.open .menu-primary-menu-container > ul > li:nth-child(3)  { transition-delay: 0.50s; opacity:1; transform:translateX(0); }
.mob-menu-container.open .menu-primary-menu-container > ul > li:nth-child(4)  { transition-delay: 0.60s; opacity:1; transform:translateX(0); }
.mob-menu-container.open .menu-primary-menu-container > ul > li:nth-child(5)  { transition-delay: 0.70s; opacity:1; transform:translateX(0); }
.mob-menu-container.open .menu-primary-menu-container > ul > li:nth-child(6)  { transition-delay: 0.80s; opacity:1; transform:translateX(0); }
.mob-menu-container.open .menu-primary-menu-container > ul > li:nth-child(7)  { transition-delay: 0.90s; opacity:1; transform:translateX(0); }
.mob-menu-container.open .menu-primary-menu-container > ul > li:nth-child(8)  { transition-delay: 1.00s; opacity:1; transform:translateX(0); }
.mob-menu-container.open .menu-primary-menu-container > ul > li:nth-child(9)  { transition-delay: 1.10s; opacity:1; transform:translateX(0); }
.mob-menu-container.open .menu-primary-menu-container > ul > li:nth-child(10) { transition-delay: 1.20s; opacity:1; transform:translateX(0); }


/* 3) Then book‑now button */
.mob-menu-container.open .button-container {
  transition-delay: 1s;
  opacity: 1;
  transform: translateX(0);
}

/* 4) Finally contact details */
.mob-menu-container.open .phone-email {
  transition-delay: 1.1s;
  opacity: 1;
  transform: translateX(0);
}
.mob-menu-container.open .address {
  transition-delay: 1.2s;
  opacity: 1;
  transform: translateX(0);
}
.mob-menu-container.open .address h4 {
	color: var(--colour-neutral);
}

.menu-container-inner .flyout-logo svg {
	height: 45px;
	width: auto;
}
.menu-container-inner {
margin-top: 32px;
  padding-left: 40px;
  padding-right: 60px;
	padding-bottom: 80px;
}
.menu-container-inner .menu-primary-menu-container {
	margin-top: 50px;
}
.menu-container-inner .menu-primary-menu-container ul {
	display: grid;
	gap: 8px;
}
.menu-container-inner .menu-primary-menu-container ul li {
	width: fit-content;
	color: #fff;
}
.mob-menu-container .menu > .menu-item > a {
font-size: 1.6em;
}
.menu-container-inner .menu-primary-menu-container ul .sub-menu {
	margin-left: 12px;
	margin-top: 4px;
}
	#menu-primary-menu-1 {
		gap: 20px;
	}
.menu-container-inner .menu-primary-menu-container ul li a {
	position: relative;
}
.menu-container-inner .button-container-inner {
	justify-content: flex-start;
	margin-top: 30px;
}
.menu-container-inner .button-container-inner .lsb-button {
	min-width: 200px;
}
.bg-dark-blue .menu-container-inner .btn-hover-from-top .lsb-button.button-style-whipped-oat-solid:hover::after {
	background: var(--colour-dark-blue);
}
.menu-container-inner .contact-details {
	margin-top: 50px;
}
.menu-container-inner .contact-details {
	margin-bottom: 0;
}
.menu-container-inner .contact-details a {
text-decoration: underline;
  text-underline-offset: 3px;
	text-decoration-color: var(--colour-neutral);
}
.menu-container-inner .contact-details a:hover {
	color: var(--colour-neutral);
}
.menu-container-inner .contact-details .phone-email {
  margin-bottom: 1.5em;
}
/* ————————————————
   DISABLE PAGE SCROLL
   ———————————————— */
body.no-scroll {
  overflow: hidden;
  height: 100dvh; /* keeps the viewport locked */
}
}

@media all and (max-width: 768px) {
.close-btn {
	right: 34px;
}
.menu-container-inner {
  padding-left: 34px;
	padding-right: 34px;
}
}
@media all and (max-width: 480px) {
.menu-container-inner .flyout-logo svg {
	height: 32px;
}
.header-logo-container svg, .header-logo-container img {
	height: 32px;
}
.header-column.menu-container .contact-details a {
	width: 32px;
	height: 32px;
	min-width: 32px;
}
.header-column.menu-container .site-phone a {
	padding: 0 6px;
}
.header-column.menu-container .site-email a {
	padding: 0 6px;
}
}
@media all and (max-width: 365px) {
.header-column.menu-container {
	gap: 12px;
}
.header-column.menu-container .header-contact-details {
	gap: 12px;
}
}
/*=======================================*/
/** Numbers block **/
/*=======================================*/
.numbers-container {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-evenly;
	gap: 40px clamp(40px, 5vw, 100px);
}

.number-block {
  display: flex;
  justify-content: center;
  gap: 30px;
	max-width: 530px;
}
.numbers-container.items-5 .number-block {
  flex: 0 0 calc(20% - clamp(40px, 5vw, 100px));
}
.numbers-container.items-4 .number-block {
  flex: 0 0 calc(25% - clamp(40px, 5vw, 100px));
}
.numbers-container.items-3 .number-block {
  flex: 0 0 calc(33.33333% - clamp(40px, 5vw, 100px));
}
.numbers-container.items-2 .number-block {
  flex: 0 0 calc(50% - clamp(40px, 5vw, 100px));
}
.numbers-container.items-1 .number-block {
  flex: 0 0 100%;
}

.number-value {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	line-height: 1;
	margin-bottom: 0;
}
.number-suffix {
		font-weight: 700;
	line-height: 1;
	margin-bottom: 0;	
}
.number-textarea  {
	font-weight: 700;
		margin-bottom: 0;
}

@media all and (max-width: 1505px) {
.numbers-container {
	flex-wrap: wrap;
}
.numbers-container.items-5 .number-block, .numbers-container.items-4 .number-block, .numbers-container.items-3 .number-block {
	flex: calc(50% - clamp(40px, 5vw, 100px));
}
.number-block {
	max-width: 100%;
}
}

@media all and (max-width: 767px) {
.number-block {
  gap: 0;
display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
}
@media all and (max-width: 550px) {
.numbers-container.items-5 .number-block, .numbers-container.items-4 .number-block, .numbers-container.items-3 .number-block, .numbers-container.items-2 .number-block {
	flex: 100%;
}
}