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

body {
    --wp--style--root--padding-top: 2rem;
    --wp--style--root--padding-right: 2rem;
    --wp--style--root--padding-bottom: 2rem;
    --wp--style--root--padding-left: 2rem;
}

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




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

/* 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:1550px) {		
        .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:black; -webkit-font-smoothing:antialiased;  -moz-osx-font-smoothing:grayscale}
h1 {font-size:3em; line-height:120%}
h2 {font-size:2em; line-height:120%}
h3 {font-size:1.5em; line-height:140%}
h4 {font-size:1.5em; line-height:140%}
h5 {font-size:1em; line-height:140%}
h6 {font-size:0.85em; line-height:120%}
p {line-height:160%}
		
	@media only screen and (max-width:800px) {
		h1 {font-size:2em}
		h2 {font-size:1.5em}
		h3 {font-size:1.25em}
		h4 {font-size:1.25em}
		p.has-x-large-font-size {font-size:1.75em !important}
	}






/* .header Bar */
header{width:100%; z-index:1000; z-index:5; background:transparent; position: fixed}
header.sticky {background:white; border-bottom: 1px solid rgba(0, 0, 0, .1);
    box-shadow: 0 3px 6px rgba(0, 0, 0, .04)}
.header-grid {width:100%; position:relative; display:grid; grid-template-columns:200px auto; grid-template-rows:1fr; grid-column-gap:1em; grid-row-gap:0px; align-items:center}
	.logo {padding:10px 0}
		.logo img {max-width:100%; display:inline-block; vertical-align:bottom; height:auto}
        .logo a {text-decoration:none}
		
	#menu li.btn a {background:black; color:white; font-weight:bold; border-radius:4px; padding: calc(0.667em + 2px) calc(1.333em + 2px)}
			
	@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 1vw;text-align:center}
		.desktopMenu li a {display:block; color:black; padding:1vw; text-decoration:none; font-weight:500}
		.desktopMenu .current_page_item a {font-weight:700}
		.desktopMenu li.menu-item-has-children > a:after  {content:"\2304"; display:inline-block; vertical-align:middle; line-height:100%; margin:-6px 0 0 5px; font-size:0.8em; transform:scaleY(0.8)}			
		
		/* 2nd Level */
		.desktopMenu li ul {position:absolute; top:80px; left:0px; padding:1em; width:260px; z-index:1010; background:black; border-radius:10px; opacity:0; visibility:hidden; transition:0.5s all; transition-timing-function:cubic-bezier(.4,0,.2,1)}
        .desktopMenu ul li.menu-item-has-children:hover>ul {top:50px; opacity:1; visibility:visible}
		.desktopMenu li:hover ul a {color:white}
		.desktopMenu li:hover ul a:hover, .desktopMenu li li:hover > a {}
		.desktopMenu li ul li {display:block; width:100%; font-size:100%;float:none;text-align:left;width:auto;position:relative;margin:0; z-index:1010; color:white}
		.desktopMenu li ul li a {width:100%;height:auto!important;display:block;padding:0.5em;line-height:125%!important; text-transform:none; font-weight:normal !important}	
		.desktopMenu .current_page_item ul li a {font-weight:normal !important}		
		.desktopMenu li li:after {display:none}	
		.desktopMenu ul li a:hover + .sub-menu,
		.desktopMenu .sub-menu:hover {display:block;opacity:1}
		.desktopMenu li ul li:last-of-type a{border:0}
		.desktopMenu li ul li a:hover {color:red}
		
		.desktopMenu li li:after, .desktopMenu li  .current_page_item:after  {display:none}

		.menu-panel, .sidebar-toggle, .mobileNav {display:none}	
	}
	@media only screen and (max-width:1024px) {
		.desktopMenu {display:none}
		
		.header-grid {grid-template-columns:150px 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}
			
		/* Animated Burger Menu */ 
		.sidebar-toggle {position:absolute; z-index:100002; top:0px; right:0px; font-weight:400; font-size:100%; width:70px; height:70px; background:transparent; color:white; 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:22px; top:33px; background:white; 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, .open-menu .sidebar-toggle span:after {}
		.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:black; position:fixed; z-index:100001; overflow-y:auto; top:0px; right:-100%; width:100%; height:100%; padding-top:75px; box-sizing:border-box; left:auto; transition:right 0.25s ease-in-out}
		.container.open-menu .menu-panel {left:auto;right:0px}
		
		/* Menu System */
		#menu * {box-sizing:border-box}
		#menu {list-style:none;margin:0;padding:1rem; display:block;clear:both; text-align:center}
		#menu ul.is-visible {display:block}
		#menu li {position:relative;overflow:hidden; transition:all .4s ease; font-size:125%; text-align:center; display:block}
		#menu li a {padding:1em; font-size:1.5em; font-weight:500; display:block; text-decoration:none; color:white}
	}





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




/* Form Elements */
.wpcf7 {display:block;font-size:100%}
	.wpcf7 p, .wpcf7 div {padding:0.1em 0; line-height:150%}
	.wpcf7-form-control-wrap {padding:0; display:block}

	.wpcf7-form-control-wrap {display:block;position:relative}
	.wpcf7 input, .wpcf7 textarea, .wpcf7 select {font-family:inherit; border:0; display:block; width:100%; min-width:100%; padding:1.25em 0; margin:0; text-indent:1em; background:white; color:black; font-size:100%; border-radius:5px}
	
	input.wpcf7-not-valid {border-color:red}

	::-webkit-input-placeholder, :-moz-placeholder, ::-moz-placeholder, :-ms-input-placeholder {color:#999}
	.wpcf7 p br {display:none}
	
	.wpcf7 input[type=submit] {width:auto; min-width:10px; line-height:100% !important; border:0; background:black; color:white; display:inline-block; font-family:inherit; font-weight:bold;padding:1em 2em !important; border-radius:2px; text-indent:0}

	.wpcf7 p .wpcf7-form-control-wrap:after {content:""; position:absolute; font-family:"bootstrap-icons"; right:0.75em; top:1em; font-size:1.25em}
	.wpcf7 p.name .wpcf7-form-control-wrap:after {content:"\F4D3"}
	.wpcf7 p.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:010206; font-weight:bold}
	.wpcf7-not-valid-tip {display:block; padding:0; color:red !important; font-size:90%}
	

/* Subscribe form */
.footer .wp-block-contact-form-7-contact-form-selector {margin-top:0 !important;}
.subscribe-form{display:grid;grid-template-columns:auto 120px;grid-template-rows:1fr;grid-column-gap:5px;grid-row-gap:0px;}
.subscribe-form input { font-family:inherit; display:block; width:100%; min-width:100%; padding:0.8em 0; margin:0; text-indent:1em; border:0; background:white; color:white; border:1px solid #eee; font-size:100%; border-radius:5px}




/* Check List */
ul.checks {list-style-type:none; margin:1.5em 0; padding:0}
ul.checks li {list-style-type:none; position:relative; padding:0 0 0 35px; margin:0.75em 0; line-height:150%}
ul.checks li:before {content:"\F26B"; position:absolute; font-family:"bootstrap-icons"; font-size:1.25em; top:0px; left:0px; }






/*Accordion*/
.accordion {width:100%;min-height:150px;margin:1em 0;clear:both}
.accordion .data {padding:1.5em 0;display:none}
.accordion .wp-block-fseblocks-accordion-item {box-shadow:none !important; margin:0}
.accordion-item {cursor:pointer;position:relative; background:white;color:black;line-height:125%;display:block;text-decoration:none;padding:0.75em 2em 0.75em 0; margin:1px 0 0;font-weight:500;font-size:125%; border-top:1px solid #eee}
.accordion-item:after {content:"+";font-weight:400;font-size:100%; position:absolute; right:0px; top:0.75em; }
.accordion-item.open {font-weight:700}
.accordion-item.open:after {content:"-";}
.wp-block-fseblocks-accordion-item .accordion-item, .accordion .data {}
.wp-block-group.has-background .wp-block-fseblocks-accordion-item .accordion-item, .accordion .data {}
.accordion .data {padding-top:4px}

	@media only screen and (max-width:800px) {
		.accordion-item {font-size:100%}
		
	}


/*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:black;padding:5px 10px}
.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}