.container {overflow:hidden}
html {scroll-behavior:smooth}


body {
    --wp--style--root--padding-top: 2rem !important;
    --wp--style--root--padding-right: 4vw !important;
    --wp--style--root--padding-bottom: 2rem !important;
    --wp--style--root--padding-left: 4vw !important;
    background-color:#f4f5ef;
}

.wrapper {
	padding-left: var(--wp--style--root--padding-right); 
	padding-right: var(--wp--style--root--padding-left);
	max-width: var(--wp--style--global--content-size);
	margin-left: auto !important;
	margin-right: auto !important;
}

.wp-block-cover {
	padding-left: var(--wp--style--root--padding-right); 
	padding-right: var(--wp--style--root--padding-left);
}

:where(.wp-block-group.wp-block-group-is-layout-constrained) {
    position: initial !important;
}


:root :where(h1, h2, h3, h4, h5, h6) {
    font-family: var(--wp--preset--font-family--heading);
    font-style: normal;
    font-weight: 400;
}


/*Fonts load*/
html {visibility: visible;opacity: 1;}



.has-global-padding > .alignfull {margin-right: calc(var(--wp--style--root--padding-right) * -1);margin-left: calc(var(--wp--style--root--padding-left) * -1)}

.wp-block-columns.alignfull .wp-block-column.is-layout-flow:first-of-type .has-global-padding {padding-left: max(var(--wp--style--root--padding-left), 50vw - var(--wp--style--global--content-size) / 2) !important;}

/* Animations */
.fade {opacity:0;transition:opacity 1s}
.fadeLeft {opacity:0;transform:translate3d(-100px, 0, 0);transition:opacity 1s, transform 1s;transition-timing-function:cubic-bezier(.175, .885, .32, 1.275)}
.fadeRight {opacity:0;transform:translate3d(100px, 0, 0);transition:opacity 1s, transform 1s;transition-timing-function:cubic-bezier(.175, .885, .32, 1.275)}
.fadeUp {opacity:0;transform:translate3d(0, 100px, 0);transition:opacity 1s, transform 1s}
.animate {opacity:1;transform:translateX(0);transform:translateY(0)}

	
	@media only screen and (max-width:calc(1500px + 8vw)) {		
        .wp-block-group.alignfull, .wrapper {padding-left: var(--wp--style--root--padding-right); padding-right: var(--wp--style--root--padding-left)}
	}
	@media only screen and (min-width:801px) {
	    .mobile-only {display:none !important;}
	}
	@media only screen and (max-width:800px) {	
		body {
		    --wp--style--root--padding-top: 1rem;
		    --wp--style--root--padding-right: 1rem;
		    --wp--style--root--padding-bottom: 1rem;
		    --wp--style--root--padding-left: 1rem;
		}
		.desktop-only {display:none !important;}
	}




/* Fonts */
body {font-stretch:normal; color:#221e1f; -webkit-font-smoothing:antialiased;  -moz-osx-font-smoothing:grayscale}
h1 {font-size:2.75em; line-height:100%; text-transform:uppercase;}
	h1.has-large-font-size {font-size:3.5em !important;}
h2 {font-size:2.25em; line-height:125%;}
h3 {font-size:1.5em; line-height:125%}
h4 {font-size:1.3em; line-height:140%}
h5 {font-size:1em; line-height:140%}
h6 {font-size:0.85em; line-height:120%}
p {line-height:160%}



a {color:#69AF39;}

.wp-block-button {font-weight:700}
		
	@media only screen and (max-width:800px) {
		h1 {font-size:2em}
        	h1.has-large-font-size{2em}
		h2 {font-size:1.5em}
		h3 {font-size:1.3em}
		h4 {font-size:1.3em}
		p.has-x-large-font-size {font-size:1.75em !important}
	}




/* .header Bar */
header{width:100%;height:100px;z-index:1000;position:relative;z-index:5;padding:10px 0;background: transparent;}
.header-grid {width:100%;height: 100px;position:relative;display:grid;grid-template-columns:260px auto;grid-template-rows:1fr;grid-column-gap:1em;grid-row-gap:0px;align-items:center}
	.logo {padding:0}
		.logo img {max-height: 80px;display:inline-block;vertical-align:bottom;height:auto;width: auto;}

	.desktopMenu li.btn, .menu-panel li.btn {margin:0 0 0 1em; padding:0}
	.menu-panel li.btn {margin:1em; padding:0; border-radius:30px}
	.desktopMenu li.btn a, .menu-panel li.btn a {color:white !important; font-weight:bold; height:auto; line-height:100%; padding:1em 1.5em !important}
	.menu-panel li.btn a:hover {background:blue !important}

	.desktopMenu li.introducers {}
	.desktopMenu li.introducers a:before {content:"|"; font-weight:300; margin-right:2vw; color:grey}

	.menu-item-72 a {background-color:#4aac81;font-weight: 600; color:#FFFFFF !important;text-decoration: none;border-radius: 30px; padding: 0 1.5em !important;}

	@media only screen and (min-width:1025px) {

		.desktopMenu {text-align:right; height:50px}
		.desktopMenu ul {list-style-type:none;margin:0 auto;padding:0; position:static; z-index:1001; text-align:center; display:inline-block}
		.desktopMenu li {display:inline-block;position:relative; margin:0 0.5vw;text-align:center}
		.desktopMenu li a {display:block; color:#1B2A3F; height:50px; line-height:50px; padding:0 0.5vw; text-decoration:none}

		.desktopMenu .current_page_item a {font-weight:bold}

		.menu-panel, .sidebar-toggle, .mobileNav {display:none}
	}
	@media only screen and (max-width:1024px) {
		.desktopMenu {display:none}

		header{height:100px; padding:10px 0}
		.header-grid {height:100px;grid-template-columns:180px auto; width:auto; grid-template-rows:1fr; grid-column-gap:10px; text-align:right; margin:0 70px 0 0}
		.logo {text-align:left}
		.logo img {height:auto}

    	.menu-item-72 {margin:1em; text-align:center !important;border-bottom: 0px !important}
    	.menu-item-72 a{padding:20px 0 !important; display:block !important;}


		/* Animated Burger Menu */
		.sidebar-toggle {position:absolute; z-index:100002; top:0px; right:0px; font-weight:400; font-size:100%; width:75px; height:75px; background:transparent; color:#0F1319; cursor:pointer;padding:0; margin:0; border:none; outline:0}
		.sidebar-toggle:hover {background:transparent}
		.sidebar-toggle span, .sidebar-toggle span:before, .sidebar-toggle span:after {cursor:pointer;border-radius:10px;height:3px;width:30px;left:25px;top:37px;background:#0F1319;position:absolute;display:block;content:''}
		.sidebar-toggle span:before {top:-8px; left:0px}
		.sidebar-toggle span:after {top:8px;  left:0px}
		.sidebar-toggle span, .sidebar-toggle span:before, .sidebar-toggle span:after {transition:all 250ms ease-in-out}
		.open-menu .sidebar-toggle {position:fixed;}
		.open-menu .sidebar-toggle span {background-color:transparent}
		.open-menu .sidebar-toggle span:before, .sidebar-toggle.active span:after {top:0}
		.open-menu .sidebar-toggle span:before {transform:rotate(45deg); top:0px; left:0px}
		.open-menu .sidebar-toggle span:after {transform:rotate(-45deg); top:0px;  left:0px}


		.menu-panel {background:rgba(255,255,255,0.95);position:fixed;z-index:100001;overflow-y:auto;top: 0px;right:-100%;width:100%;height: 100%;box-sizing:border-box;left:auto;transition:right 0.25s ease-in-out;padding-top:75px;}
		.container.open-menu .menu-panel {left:auto;right:0px}

		/* Menu System */
		#menu {padding:0}
		#menu * {box-sizing:border-box}
		#menu {list-style:none;margin:0;padding:0;display:block;clear:both;border-top: 1px solid rgb(42 50 109 / 20%);}
		#menu li {border-bottom: 1px solid rgb(42 50 109 / 20%);position:relative;overflow:hidden;transition:all .4s ease;font-size:125%}
		#menu li::after {content:"";display:block;clear:both}
		#menu li>a>svg {display:block;position:relative;width:14px;float:right;transition:all .3s ease}
		#menu li.open > a > svg {transform:rotate(45deg)}
		#menu a {padding:1em;font-weight: 600;display:flex;flex-direction:row;justify-content:space-between;align-items:center;text-decoration:none;color:#0F1319;}
		#menu li.open > ul {display:block}
		#menu li>ul {display:none; border-top:0;  height:0;margin:0; padding-bottom:1em; overflow:hidden;transition:height 350ms ease-in-out}
		#menu ul.is-visible {display:block}
		#menu ul li {border:0; font-size:90%}

		#menu ul a, #menu li.open ul a {padding:0.75em 1em; font-weight:400}
		#menu a:hover, #menu li.open a, #menu li.open ul a:hover {}

		.menu-panel .contact {padding:2.5em 1.25em}
	}




/* 404 Page */
.fourOfour {text-align:center; padding:15vh 0}




/* Form Elements */
.wpcf7-form {background: white;padding:1vh 3vw 2vh;border-radius: 25px;}
.wpcf7 p {padding:0}
.wpcf7-form-control-wrap {padding:0; display:block}
.wpcf7-list-item {display:block !important; padding:0.25em 0; margin:0}
.wpcf7-form-control-wrap {display:block;position:relative}

.wpcf7 input, .wpcf7 textarea, .wpcf7 select {font-family:inherit;display:block;width:100%;min-width:100%;padding:1em 0;margin:0;text-indent:1em;border: 1px solid #221E1F;background: rgba(244, 245, 239, 0.25);color: #221E1F;font-size:100%;border-radius:5px}

.wpcf7 input.wpcf7-date,
.wpcf7 select {height:45px; line-height:45px; padding:0; text-indent:0.75em}

input.wpcf7-not-valid {border-color:red}

::-webkit-input-placeholder {color:#777}
:-moz-placeholder {color:#777}
::-moz-placeholder {color:#777}
:-ms-input-placeholder {color:#777}
.wpcf7 p br {display:none}
.wpcf7 input[type=submit] {margin:0 !important;padding: calc(0.667em + 2px) 0;width:auto;min-width:150px;border:0;border-radius: 25px;display:inline-block;background: #C4F0A8;color:#221E1F;font-weight:bold;text-indent:0}

	.wpcf7 p .wpcf7-form-control-wrap:after,
	.wpcf7 div .wpcf7-form-control-wrap:after {content:""; position:absolute; font-family:"bootstrap-icons"; right:0.6em; top:0.6em; font-size:1.25em; color:inherit;}
	.wpcf7 p.name .wpcf7-form-control-wrap:after {content:"\F4D3"}
	.wpcf7 p.mail .wpcf7-form-control-wrap:after,
	.wpcf7 div.mail .wpcf7-form-control-wrap:after {content:"\F32F"}
	.wpcf7 p.subject .wpcf7-form-control-wrap:after {content:"\F431"}
	.wpcf7 p.message .wpcf7-form-control-wrap:after {content:"\F252"}
	.wpcf7 p.company .wpcf7-form-control-wrap:after {content:"\F1DD"}
	.wpcf7 p.phone .wpcf7-form-control-wrap:after {content:"\F5C1"}
	.wpcf7 p.connections .wpcf7-form-control-wrap:after {content:"\F2EE"}
	.wpcf7 p.data .wpcf7-form-control-wrap:after {content:"\F54C"}
	.wpcf7 p.device .wpcf7-form-control-wrap:after {content:"\F77C"}
	.wpcf7 p.website .wpcf7-form-control-wrap:after {content:"\F3EE"}
	.wpcf7 p.postcode .wpcf7-form-control-wrap:after {content:"\F3E8"}

	/* Contact Form 7 output */
	div.wpcf7-response-output {font-weight:bold; font-size:100%; line-height:125%; border:0 !important; padding:0 !important; margin:0 !important; color:red}
	div.wpcf7-mail-sent-ok {font-size:100%; line-height:125%; color:black; font-weight:bold}
	.wpcf7-not-valid-tip {display:block; padding:0; color:red !important; font-size:90%}

	/* Contact Form 7 output */
	div.wpcf7-response-output {font-weight:bold; font-size:100%; line-height:125%; border:0 !important; padding:0 !important; margin:0 !important; color:red}
	div.wpcf7-mail-sent-ok {font-size:100%; line-height:125%; color:#221e1f; font-weight:bold}
	.wpcf7-not-valid-tip {display:block; padding:0; color:red !important; font-size:90%}

		@media only screen and (max-width:800px) {
		}
	
	


/* Table */
.wp-block-table {margin:1em 0; overflow-x:none; font-weight:400; border:1px solid #eaeaea;}
	.wp-block-table thead {border:0;}
		.wp-block-table th {border:0; background:#221e1f; color:white; font-weight:600; line-height:125%; font-size:0.85em; padding:1.15em; text-transform:uppercase; text-align:left; vertical-align:top}
		.wp-block-table td {background:white; padding:1em; border:0; line-height:150%; vertical-align:top;}
		.wp-block-table td img {max-width:24px !important; width:24px !important; height:24px !important}
		.wp-block-table tr:nth-of-type(even) td {background:#fafafa}

			@media only screen and (max-width:781px) {
				.wp-block-table th {font-size:1em}		
			}
			@media only screen and (max-width:500px) {
				.wp-block-table {font-size:0.9em;}
				.wp-block-table th {padding:1em}
				.wp-block-table td {padding:0.8em; line-height:125%}
			}




/* Lists */
ul.wp-block-list {margin: 1em;padding: 0}
ul.wp-block-list{list-style-type: none;margin: 1.5em auto;padding-inline-start: 0px }
    ul.wp-block-list li {list-style-type: none;position: relative;padding: 0 0 0 35px;margin: .75em 0;line-height: 150%}
    ul.wp-block-list li:before {content: "\F3CF";position: absolute;font-family: "bootstrap-icons";font-size: 1.25em;top: 0;left: 0;}

ol.wp-block-list{ list-style-type: none; padding: 0;  counter-reset: item; }
    ol.wp-block-list li { position: relative; counter-increment: item;padding: 0 0 0 30px;margin:1em 0;line-height:150%}
    ol.wp-block-list li::before { content:counter(item)"."; position: absolute; left: 0; top: -3px; font-size:150%;  display: flex; align-items: center; justify-content: center; font-family: var(--wp--preset--font-family--heading);}


/* Accordion Container */
.accordion { width: 100%; max-width: 800px; margin: 2em auto; border:1px dashed #221e1f; border-radius: 20px; background:white; overflow: hidden; }
    .accordion-item {cursor: pointer;position: relative;font-size: 1.5rem;font-weight: 500;line-height: 1.2;padding: 1em 2em 1em 1em;margin: 0;background:white;border-bottom:1px dashed #221e1f;transition: background 0.3s ease, transform 0.3s ease; font-family: var(--wp--preset--font-family--heading);}
    .accordion .wp-block-fseblocks-accordion-item:last-child .accordion-item { border-bottom:none; }
    .accordion-item:hover { background:#D4E8C7; transform: scale(1.01); }
    .accordion-item:after { content: "+"; font-size: 1.25rem; position: absolute; right: 1em; top: 50%; transform: translateY(-50%); transition: transform 0.3s ease, color 0.3s ease; color:#221e1f; }
    .accordion-item.open { font-weight:bold; background:#D4E8C7; }
    .accordion-item.open:after { content: "-"; transform: translateY(-50%) rotate(360deg); color:#221e1f; }
    .accordion .data {padding:0.75em 1.5em;font-size:1rem;line-height: 1.6; background:white; border-bottom:1px dashed #221e1f; display:none;animation: slideDown 0.4s ease forwards;}
	.accordion .wp-block-fseblocks-accordion-item:last-child .data {border:0;}

@keyframes slideDown { 0% { opacity: 0; transform: translateY(-10px); } 100% { opacity: 1; transform: translateY(0); } }

.accordion .data.open { display: block; }

	@media (max-width: 768px) {
	    .accordion-item {font-size: 1rem;}
  		 .accordion .data {padding:0.5em 1em;}
	}




/*Tabs*/
.wp-block-fseblocks-tabs .tabs {margin:20px;padding:0;list-style:none;position:relative}
.wp-block-fseblocks-tabs .tabs li {display:inline-block;cursor:pointer;color:#221e1f;padding:10px; margin-right:10px; background:#fafafa}
.wp-block-fseblocks-tabs .tabs li.active-tab {border-bottom:none;position:relative}
.wp-block-fseblocks-tabs .tabs li img {width:120px;height:auto;margin-right:10px;vertical-align:middle}
.wp-block-fseblocks-tabs .tabs-content {margin:20px;padding:0;list-style:none}
.wp-block-fseblocks-tabs .tabs-content:first-child > li {display:none}
.wp-block-fseblocks-tabs.vertical {display:grid;grid-template-columns:33% 66%}
.wp-block-fseblocks-tabs.vertical ul.tabs {display:flex;flex-direction:column}
.wp-block-fseblocks-tabs.vertical .tabs li img {width:180px}




/* Phone & Mail Links */
a[href^="tel:"]:before,
a[href^="mailto:"]:before{content:"\F5B6";display:inline-block;vertical-align:middle;margin-right:0.5em;font-family:"bootstrap-icons";font-size:1.5em;}
a[href^="mailto:"]:before{content:"\F84C";}

.pdf-icon a:before { content: "\F30A"; display: inline-block; vertical-align: middle; margin-right: 0.5em; font-family: "bootstrap-icons"; font-size: 20px; margin-top: -2px !important; font-weight:700 }



/* Swipers */
.wp-block-fseblocks-banner-slider,
.wp-block-fseblocks-content-slider {position:relative}

/* Swiper Pagination */
.swiper-pagination{bottom:3vh !important}
.swiper-pagination-bullet{background:white !important;opacity:0.25 !important; margin:0 0.25em !important}
.swiper-pagination-bullet.swiper-pagination-bullet-active{opacity:1 !important;background:white !important}

/* Swiper Arrows (bootstrap) */
	.wp-block-fseblocks-content-slider .fseblocks-swiper-nav{height:1px !important;margin:0px !important;}
	.swiper-button-next,.swiper-button-prev{top:calc(50% - 15px) !important;width:50px !important;height:50px !important;margin-top:0px;z-index:10;}
	.swiper-button-prev{left:1vw !important;}
	.swiper-button-next{right:1vw !important;}
	.swiper-button-next:after,.swiper-button-prev:after{width:50px;height:50px;background-size:50px;font-family:"bootstrap-icons" !important; content:"\F133" !important; color:white;}
	.swiper-button-prev:after{transform:rotate(180deg)}



/* Spacer */
	@media only screen and (max-width:800px) {
		.wp-block-spacer[style*="height:6vh"], 
        .wp-block-spacer[style*="height:2vh"]{height:2em !important}
    }


.curves .wp-block-image {border-radius:20px; overflow:hidden;}	
		


/* Responsive columns */

	@media only screen and (max-width:1200px) {
		.responsive-grid { display: grid !important; grid-template-columns:repeat(3, 1fr); grid-template-rows: 1fr; grid-column-gap: 1em;grid-row-gap: 2em;}
 	}

	@media only screen and (max-width:950px) {
    	.mobile-two-cols { display: grid !important; grid-template-columns:repeat(2, 1fr); grid-template-rows: 1fr; grid-column-gap: 1em;grid-row-gap: 1em;}
		.responsive-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
	}

	@media only screen and (max-width:450px) {
    	.responsive-grid {grid-template-columns: repeat(1, minmax(0, 1fr));}
	}



/* Banner */
	
	
	
	@media only screen and (min-width:768px) {
	/*	.banner .wp-block-cover {
			--mask:
			    radial-gradient(67.08px at 90px 50%,#000 99%,#0000 101%) 0 calc(50% - 60px)/100% 120px,
			    radial-gradient(67.08px at -60px 50%,#0000 99%,#000 101%) 30px 50%/100% 120px repeat-y;
			  -webkit-mask: var(--mask);
			          mask: var(--mask);
		}*/
	}
	@media only screen and (max-width:767px) {
    	.banner.wp-block-group {min-height:auto !important;}
			.banner .wp-block-cover {min-height: 33vh !important;}  
    }



/* Animation */
.menu-item:hover,.wp-block-button__link:hover { animation: wiggle 0.5s ease; }

@keyframes wiggle {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(5deg); }
  50% { transform: rotate(-5deg); }
  75% { transform: rotate(3deg); }
}

.wave .wp-block-column { transition: transform 0.4s ease-in-out; }
    .wave .wp-block-column:nth-child(odd):hover { transform: translateY(-15px) rotate(-2deg); }
    .wave .wp-block-column:nth-child(even):hover { transform: translateY(-15px) rotate(2deg); }
    
    

/* Mobile Media */

	@media only screen and (max-width:1080px) {
	.wp-block-columns.alignfull br {display:none}
	}

  @media only screen and (max-width:781px) {
    .reorder .wp-block-column:first-of-type {order:2;}
	  .reorder .wp-block-column:last-of-type {order:1;}
	  .wp-block-columns.alignfull .wp-block-column.is-layout-flow:first-of-type .has-global-padding {padding:0 4vw  !important}
  }


/* Dashed Border */
.dashed-border-right .wp-block-column {padding-right: 1em;border-right: 1px dashed #636972;}
	.dashed-border-right .wp-block-column:last-of-type {border: none;}

	@media only screen and (max-width: 950px) {
	    .dashed-border-right .wp-block-column:nth-child(2n) {border: none;}
	}

	@media only screen and (max-width: 450px) {
	    .dashed-border-right .wp-block-column {border: none;}
	}

/* Body Colours */
body.page-id-34{background-color: rgba(243, 230, 212, 0.20)}
body.page-id-56{background-color: rgba(219, 235, 241, 0.22)}

/*NEW AS PER JARRYD*/

@media only screen and (min-width:2000px) {
  		body {font-size:125%}
  		h1 {font-size:7vw}
  		p.has-medium-font-size {font-size:100%!important}
  	}
  	@media only screen and (min-width:2500px) {
  		body {font-size:150%}
  		h1 {font-size:6vw}
  	}
  	@media only screen and (min-width:3000px) {
  		body {font-size:200%}
  		h1 {font-size:5vw}
  		.desktopMenu li a, p.has-medium-font-size {font-size:115%!important}
  	}