/* START TAG ELEMENTS */
body, html{
	color: #000;
	font-family: sans-serif;
	margin: 0;
}
html{
	height: 100%;
	font-size: 100%;
	margin-top: 0 !important;
}
:root{
    --scrollbar-width: 16px; /* Default - overwritten in global.js */
}
body {
	position: relative;
	line-height: 1.6em;
    
    --pad-plus-scroll: calc( var(--wp--custom--content-padding) + var(--scrollbar-width, 16px) );
    --narrow-pad-plus-scroll: calc( var(--wp--custom--narrow-content-padding) + var(--scrollbar-width, 16px) );
}
h1,h2,h3,h4,h5,h6{
	font-family: sans-serif;
	color: #555;
	margin-top: 1em;
    margin-bottom: 1em;
}
h1{
	font-size: 2.6em;
	font-weight: 500;
	line-height: 1em;
}
h2{
	font-size: 2.4em;
	font-weight: 400;
	line-height: 1em;
}
h3{
	font-size: 1.8em;
	font-weight: 400;
}
h4{
	font-size: 1.6em;
	font-weight: 400;
}
h5{
	font-size: 1.2em;
	font-weight: 400;
}
strong {
    font-weight:600;
}
a{
    color: #454545;
}
a,
a:visited{
	text-decoration:none !important;
}
a:focus {
	outline: none;
}
.page_loaded a,
.page_loaded a:visited{
	-webkit-transition: color 0.2s ease;
	-moz-transition: color 0.2s ease;
	-ms-transition: color 0.2s ease;
	-o-transition: color 0.2s ease;
	transition: color 0.2s ease;
}
::selection{
	background: #333;
	color: white;
}
blockquote {
	background: #f9f9f9;
	border-left: 10px solid #ccc;
	margin: 1.5em 10px;
	padding: 0.5em 10px;
	quotes: "\201C""\201D""\2018""\2019";
}
blockquote::before {
	color: #ccc;
	content: open-quote;
	font-size: 4em;
	line-height: 0.1em;
	margin-right: 0.25em;
	vertical-align: -0.4em;
}
blockquote.wp-block-pullquote,
.wp-block-pullquote blockquote{
	border-left:none;
	border-top:5px solid #ccc;
	border-bottom:5px solid #ccc;
}
blockquote.wp-block-pullquote::before,
blockquote.wp-block-pullquote::after,
.wp-block-pullquote blockquote::before,
.wp-block-pullquote blockquote::after{
	content:none !important;
}
blockquote p:nth-child(1) {
	margin-top:0;
}
blockquote::after { /* Fix for browser using different open-quote symbol on second blockquote */
	color: #fff;
	color: transparent;
	content: close-quote;
	font-size: 0;
	line-height: 0;
	position:absolute;
	left:-9999px;
	opacity:0;
}
blockquote>* {
	margin-left:1em;
}
.entry-content>ul li::marker,
.additional-content>ul li::marker,
.is-layout-flow>ul li::marker,
.is-layout-constrained>ul li::marker{
    color:#8f98a1;
	color:var(--wp--preset--color--secondary);
}
.wp-block-query .wp-block-post-title{
    margin-bottom:0.5em;
}
input, textarea, select{
	border: 1px solid #ccc;
    background:transparent;
}
button, input[type="submit"], input[type="button"], input[type="reset"],
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
	display: inline-block;
	font-size:1em;
	text-transform: uppercase;
	background-color: transparent;
	color: #000000;
	color: var(--wp--preset--color--primary);
    border: 2px solid currentColor;
    padding: 0.667em 1.333em;
	cursor:pointer;
	border-radius:4px;
}
button, input[type="submit"], input[type="button"], input[type="reset"]{
	margin-top: 0.7em;
	margin-bottom: 0.7em;
}
button:hover, button:focus, input[type="submit"]:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:focus, input[type="button"]:focus, input[type="reset"]:focus{
	background: transparent;
	color:inherit;
}
.fancybox-show-nav .fancybox-arrow{
	background-color:transparent !important;
}
img.size-full{
	max-width:100%;
	height:auto;
}
iframe{
	max-width:100%;
}
div, p, blockquote, article, header, footer, aside, address, figure, ol, output, audio,
form, h1,h2,h3,h4,h5,h6,pre,canvas,section,dd,hgroup,table,hr,tfoot,dl,main,ul,fieldset,nav,video,
a.scroll_anchor{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	-o-box-sizing:border-box;
	box-sizing:border-box;
}

img.aligncenter,
.wp-caption.aligncenter{
	display: block;
    margin-left: auto;
    margin-right: auto;
    max-width:100%;
}
img.alignleft,
.wp-caption.alignleft{
	float:left;
	margin-right:10px;
    max-width:100%;
}
img.alignright,
.wp-caption.alignright{
	float:right;
	margin-left:10px;
    max-width:100%;
}
.entry-content img,
.additional-content img{
	max-width:100%;
	height:auto;
}
/* END TAG ELEMENTS */
/* START GENERIC CLASSES */
	/*clearfix*/
.cf::before,
.cf::after {
		content: " "; /* 1 */
		display: table; /* 2 */
}
.cf::after {
		clear: both;
}
:where(.centred,.fullwidth,.narrower,.narrow,.very_narrow,.wider,.w500_narrow,.w400_narrow,.w350_narrow){
    width: 100%;
    margin-left: auto;
	margin-right: auto;
}
:where(.centred){
	max-width: var(--wp--style--global--content-size);
}
:where(.fullwidth){
	max-width: 100%;
}
:where(.wider){
	max-width: var(--wp--style--global--wide-size);
}
:where(.narrower){
	max-width: calc( var(--wp--style--global--content-size) - 200px );
}
:where(.narrow){
	max-width:750px;
}
:where(.very_narrow){
	max-width:500px;
}
:where(.w500_narrow){
	max-width:500px;
}
:where(.w400_narrow){
	max-width:400px;
}
:where(.w350_narrow){
	max-width:350px;
}
:where(.half_width){
	width:50%;
}
.no_pad,
.no_padding{
	padding:0 !important;
}
.no_margin{
	margin:0 !important;
}
.text_left, .alignleft{
	text-align:left;
}
.text_centre, .aligncentre{
	text-align:center;
}
.text_right, .alignright{
	text-align:right;
}
.div_img{
	background-size:contain;
	background-position:center;
	background-repeat:no-repeat;
}
.img_cover{
	background-size:cover;
}
.img_contain{
	background-size:contain;
}
.img_circle{
	border-radius:50%;
}
.styled_scroll::-webkit-scrollbar{
	width: 10px;	/* for vertical scrollbars */
	height: 10px; /* for horizontal scrollbars */
}
.styled_scroll::-webkit-scrollbar-track{
	background: transparent;
}
.styled_scroll::-webkit-scrollbar-thumb{
	background: rgba(0, 0, 0, 0.5);
	border-radius:5px;
}
.background_image{
	background-repeat:no-repeat;
	background-position:center;
	background-size:100%;
	background-size:cover;
}
.background_top{
	background-position:center top;
}
.background_bottom{
	background-position:center bottom;
}
.button, .btn{
	display: inline-block;
	font-size:1.6em;
	/*height: 1.6em;*/
	padding: 18px 20px;
	margin-top: 0.7em;
	margin-bottom: 0.7em;
	/*text-transform: uppercase;*/
	background-color: transparent;
    color: #000000;
    color: var(--wp--preset--color--primary);
	cursor:pointer;

	text-align:center;
	min-width:200px;

	-webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}
.button.btn-secondary,
.btn.btn-secondary{
    background: transparent;
	color: #F79A1E;
    color: var( --wp--preset--color--primary );
    border: 2px solid #F79A1E;
    border-color: var( --wp--preset--color--primary );
    border-radius: 5px;
}
p>.button:first-child, p>.btn:first-child,
p>a:first-child>.button, p>a:first-child>.btn{
	margin-top:0;
}
p>.button:last-child, p>.btn:last-child,
p>a:last-child>.button, p>a:last-child>.btn{
	margin-bottom:0;
}
.button i, .btn i{
	margin:0 0 0 0.5em;
	font-size:1.2em;
	line-height:0.8em;
	line-height:1rem;
	position:relative;
}
:where(body .is-layout-constrained) > .wp-block-spacer{
    margin-block-start: 0;
    margin-block-end: 0;
}
/* END GENERIC CLASSES */
/* START menu block customisation */
@keyframes overlay-menu__fade-in-animation {
    0% {
        opacity: 0;
        transform: translateX(1em)
    }

    to {
        opacity: 1;
        transform: translateX(0)
    }
}
.wp-block-navigation__responsive-container{
    left:auto;
}
.wp-block-navigation__responsive-container.is-menu-open{
    /* Full page mobile menu */
    width:100%;
    /* Add left border to mobile menu */
    padding:1em;
    border-left:12px solid var(--wp--preset--color--primary);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list{
    /* Force left align for mobile menu */
    align-items: flex-start;
    width:100%;
}
.wp-block-navigation li.wp-block-navigation-item>a{
    position:relative;
}
.wp-block-navigation li.wp-block-navigation-item>a::after{
    position:relative;
    content:'';
    display:block;
    position:absolute;
    bottom:-2px;
    left:-6px;
    width:0;
    height:4px;
    background-color: var(--wp--preset--color--primary);
    transition:width 0.2s ease;
}
.wp-block-navigation li.wp-block-navigation-item>a:hover::after{
    /* Hover effect (half underline) */
    width:20px;
}
.wp-block-navigation li.wp-block-navigation-item.current-menu-item>a::after,
.wp-block-navigation li.wp-block-navigation-item>a.current-menu-ancestor::after,
.wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) li.wp-block-navigation-item>a:focus::after{
    /* Add underline to active menu item */
    width:40px;
    width:calc( 100% + 12px );
}
.wp-block-navigation li.wp-block-navigation-item>a.current-menu-ancestor::after{
    background-color: var(--wp--preset--color--contrast);
}
.wp-block-navigation li.wp-block-navigation-item.current-menu-item.has-child>a::after,
.wp-block-navigation li.wp-block-navigation-item.has-child>a.current-menu-ancestor::after,
.wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) li.wp-block-navigation-item.has-child>a:focus::after{
    /* Extend underline for active menu item if it has an arrow (has dropdown) */
    width:calc( 100% + 12px + 0.6em );
}
.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container{
    /* Make submenu left aligned for right-aligned menu */
    left:-22px;
    right:auto;
}
.wp-block-navigation .wp-block-navigation-submenu li.wp-block-navigation-item>a{
    /* Adjust padding of submenu items */
    padding-right:16px !important;
}
.wp-block-navigation .wp-block-navigation-submenu li.wp-block-navigation-item>a::after{
    bottom:0;
    left:auto;
    right:0;
    width:0;
    height:100%;
}
.wp-block-navigation .wp-block-navigation-submenu li.wp-block-navigation-item>a:hover::after{
    width:2px;
}
.wp-block-navigation .wp-block-navigation-submenu li.wp-block-navigation-item.current-menu-item>a::after,
.wp-block-navigation .wp-block-navigation-submenu li.wp-block-navigation-item>a.current-menu-ancestor::after,
.wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu li.wp-block-navigation-item>a:focus::after{
    /* Right border rather than underline for active submenu items */
    width:12px !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container{
    /* Reduce indentation of submenus on mobile */
    padding-top:15px;
    padding-left:15px;
    padding-right:15px;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu li.wp-block-navigation-item>a{
    /* Adjust padding of submenu items on mobile */
    padding-top:0.2rem;
    padding-bottom:0.2rem;
}
/* END menu block customisation */
/* SOCIAL ICONS */
.social-media{
	text-align:center;
	display:inline-block;
}
.social-media .icon {
	display:inline-block;
	font-size:1.5em;
	height:auto;
	margin:0 0.5em;
}
/* PULLOUT SIDEBAR */
.slideout_area{
    display:none;
}

.overlay {
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px); /* for iOS and macOS */
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 8;
}

.image_overlay{
	position:fixed !important;
	top:50%;
	left:50%;
	z-index:9;
	max-width:95%;
	max-height:95%;
}
.overlay_img{
	max-width:95vw;
	max-height:95vh;
}
.hide_with_overlay{
	display:none;
}

.hidden_email{
	visibility:hidden;
}

html a.button_menu_item{
    padding: 10px 20px !important;
    line-height:20px !important;
    border-radius: 6px;
    text-decoration: none;
    position: relative;
    display: inline-block;
    vertical-align: middle;
	border:2px solid #fff;
    border-color:currentColor;
	background:transparent !important;

    position:relative;
    top:-2px;
    color: #f79a1e !important;
    color: var( --wp--preset--color--primary ) !important;
}
a.cart_menu_item{
    position:relative;
}
.cart_menu_item .cart_count{
    position:absolute;
    bottom:2px;
    right:2px;
    background:#fff;
    background: var( --wp--preset--color--base );
    border:2px solid #fff;
    border-color: var( --wp--preset--color--primary );
    color:#F79A1E;
    color: var( --wp--preset--color--primary );
    border-radius:50%;
    padding:3px;
    line-height:1;
    font-weight:600;
    min-width:14px;
    text-align:center;
    font-size: 15px !important;
}
.cart_menu_item .cart_count:empty{
    display:none;
}
.disabled_item,
.disabled_item a{
    cursor:default;
}

/* WordPress required classes */
.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

.sticky {
	/*background: #A2D9FD;
	border: 3px solid black;
	padding: 10px;*/
}

.sticky .entry-title:before{
	content:"\f08d";
	display: inline-block;
	font: normal normal normal 14px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	color:#777;
	padding-right:0.5em;
}

.sticky .entry-date{
	display:none;
}

.wp-smiley {
	margin: 0 !important;
	max-height: 1em;
}
blockquote.left {
	margin-right: 20px;
	text-align: right;
	margin-left: 0;
	width: 33%;
	float: left;
}
blockquote.right {
	margin-left: 20px;
	text-align: left;
	margin-right: 0;
	width: 33%;
	float: right;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

.more_link{
	width:100%;
	display:inline-block;
	text-align:center;
	background-color:#eee;
    position:relative;
	padding:8px 0;
	color:#000;
}
.more_link:before,
.more_link:after{
    content: '';
    width: 12px;
    height: 1px;
    position: absolute;
    top: 50%;
    top: calc(50% - 2px);
    right: 23px;
    background-color: #444;
    background-color: currentColor;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    transition: transform 0.3s ease;
}
.more_link:before{
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg) transform:rotate(-45deg);
    right: 15px;
}
.more_link.shown{
	display:none;
}
.more_text_hidden {
	display: none;
}
.more_text_hidden.show_now{
	display:block;
}

/* HEADER */
header.fixed_header{
    width: 100%;
	height: auto;
	position:sticky;
	z-index: 6;
	top: 0;
	left: 0;

	-webkit-pointer-events: all;
	-moz-pointer-events: all;
	pointer-events: all;

	-webkit-transition:background-color 1s ease;
	-moz-transition:background-color 1s ease;
	transition:background-color 1s ease;
}
.admin-bar header.fixed_header{
	top:32px;
}
body.admin-bar{
    margin-top:32px;
}
#header{
    width: 100%;
	height: auto;
	position:relative;
	position:sticky;
	z-index: 6;
	top: 0;
	left: 0;
	box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;

	-webkit-pointer-events: all;
	-moz-pointer-events: all;
	pointer-events: all;

	-webkit-transition:padding 0.4s ease;
	-moz-transition:padding 0.4s ease;
	transition:padding 0.4s ease;
}
body.woocommerce.single-product #header{
    border-bottom:1px solid #CBCBCB;
}
.admin-bar #header{
	top:32px;
}
.fixed_header_space #header.menu_scroll_active{
	top:32px;
}
.admin-bar .fixed_header_space #header.menu_scroll_active{
	top:64px;
}
@media screen and (max-width:2000px){
    #header.menu_scroll_active{
        padding-top: 16px;
    }
}
@media screen and (max-width:1000px){
    #header.menu_scroll_active{
        padding-top: 32px;
    }
}
.headerbar {
	position:relative;

	display:flex;
	flex-wrap:nowrap;
	justify-content:space-between;
    align-items:center;
    align-content:center;
}
.headerbar-left{
	padding-top:10px;
	padding-bottom:10px;
}
.headerbar-right{
	position:relative;
}
.headerbar-top{
	position:absolute;
	top:0;
	right:0;
	line-height:1em;
	padding:0.8em 0;
	overflow:hidden;
	white-space:nowrap;
	text-align:right;

	-webkit-transition: transform 1s ease;
	-moz-transition: transform 1s ease;
	transition: transform 1s ease;
}

.menu_resize_active .headerbar-top{
	transform: translate( 0, -100% );
}
.headerbar-bottom{
	position:relative;
	height:100%;
	height:calc( 100% - 5.2em );
	margin:2.6em 0;
	min-height:1em;
}
.headerbar-bottom>div{
	position:absolute;
	right:0;
	top:50%;
	-ms-transform:translate(0,-50%);
	-moz-transform:translate(0,-50%);
	-webkit-transform:translate(0,-50%);
	transform:translate(0,-50%);
}
#site_logo{
	position:relative;
	height:auto;
}
#site_logo img{
    max-width:100%;
    margin:5px 0 0 0;
	max-height:120px;

	-webkit-transition:max-height 0.8s ease, margin-top 0.8s ease;
	-moz-transition:max-height 0.8s ease, margin-top 0.8s ease;
	transition:max-height 0.8s ease, margin-top 0.8s ease;
}
#header.menu_resize_active #site_logo img{
	margin-top:0;
    max-height:91px;
}
	/*social/contact-info/search*/
.headerbar-phone,
.headerbar-social,
.headerbar-search{
	display:inline-block;
	margin-left:1em;
}
.headerbar-phone .contact_section{
	display:inline-block;
	margin-left:1em;
	margin-bottom:0;
}

.contact_section .symbol svg{
    color: inherit;
    width: 1em;
    height: 1em;
    margin-right:0.4em;
    position: relative;
    top: 2px;
}

#sidebar_menu{
	display:none;
}
	/*nav-menu*/
.nav-menu a.menu-item{
	padding:15px 12px;
}
.nav-menu .title_hide{
	display:none;
}
.menu_item_wrapper .pad_to_right{
    padding-right: 1rem;

}
.menu_item_wrapper svg{
    vertical-align: middle;
    position:relative;
    top:-2px;
}
.nav-menu .menu_item_wrapper{
    position:relative;
}
    /*arrow beside menu item with dropdown*/
.nav-menu a.menu-item.menu-item-has-children {
    padding-right: 38px;
}
.nav-menu a.menu_item.menu-item-has-children:after,
.nav-menu a.menu_item.menu-item-has-children:before {
    content: '';
    width: 12px;
    height: 1px;
    position: absolute;
    top: 11px;
    right: 23px;
    background-color: #444;
    background-color: currentColor;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    transition: transform 0.3s ease;
}
.nav-menu a.menu_item.menu-item-has-children:before {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform:rotate(-45deg);
    right: 15px;
}
    /*sub-menu items in nav-menu*/
.nav-menu .sub-menu{
	/*display:none;*/
	position:absolute;
	left:0;

	width:270px;
	z-index:9;

	-webkit-transform:translate( 0, 50px );
	transform:translate( 0, 50px );
	opacity:0;
	display:none\9;
    padding-top:14px;
	box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;

	-webkit-pointer-events:none;
	-moz-pointer-events:none;
	pointer-events:none;

	-webkit-transition:transform 0.2s ease, opacity 0.2s ease;
	transition:transform 0.2s ease, opacity 0.2s ease;
    text-align:left;
}
.nav-menu .sub-menu.edge{
	left:auto;
	right:0;
}

.nav-menu .menu_item_wrapper:hover>.sub-menu,
.nav-menu .menu_item_wrapper.focus>.sub-menu,
.nav-menu .menu_item_wrapper.toggled_open>.sub-menu{
	/*display:block;*/
	opacity:1;
	display:block\9;

	-webkit-transform:translate( 0, 0 );
	transform:translate( 0, 0 );

	-webkit-pointer-events:all;
	-moz-pointer-events:all;
	pointer-events:all;
}

.nav-menu .sub-menu .menu-item{
	width:100%;
	display:block;
	clear:both;

    padding:10px 10px;

	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

#menu-header .menu-item.menu-item-has-children:hover::before,
#menu-header .menu-item.menu-item-has-children.current-menu-item::before {
	left: 142px !important;
}

#menu-header a.menu-item:hover::after,
#menu-header .menu-item-has-children a.menu-item.current-menu-item::after {
	right: 22px !important;
	color: #f79a1e;
    color: var( --wp--preset--color--primary );
	width:15px;
	height:0.1rem;
}

.menu-item.menu-item-type-post_type.menu-item-object-page.menu-item-68.menu_item.button_menu_item:hover::before {
  display: none !important;
}

    /* Search Form */
.headerbar-search .search-form
.search_item{
	min-width:1em;
}
.headerbar-search .search-form,
.menuitem-search.search-form{
	position:relative;
	display:inline-block;
	vertical-align:top;
}
.headerbar-search .search_title,
.menuitem-search.search-form .search_title{
    position:absolute;
    top:7px;
    right:12px;
	z-index: 2;
	vertical-align:middle;
	cursor:pointer;
	z-index:1;
	-webkit-pointer-events: none;
	-moz-pointer-events: none;
	pointer-events: none;
}
.headerbar-search .search_title svg,
.menuitem-search.search-form .search_title svg{
    width:18px;
    height:auto;
}
.headerbar-search .search-form .form-group,
.menuitem-search.search-form .form-group{
	width:230px;
}
.headerbar-search .search-form .form-group{
    right:0;
}
.headerbar-search .search-form label,
.menuitem-search.search-form label{
	z-index:2;
	width:100%;
}
.headerbar-search .search-form input,
.menuitem-search.search-form input{
	margin:0;
	line-height:40px;
	opacity:1;
	width:100%;
	padding:0 12px;
	border:1px solid #555A61;
    border-radius:3px;
    background:#fff;
    outline:none;
    box-sizing: border-box;
    font-family:inherit;
    font-weight:500;

	-webkit-transition-duration:0.4s;
	-moz-transition-duration:0.4s;
	-ms-transition-duration:0.4s;
	-o-transition-duration:0.4s;
	transition-duration:0.4s;
}
.headerbar-search .search-form input{
    line-height:26px;
}
.headerbar-search .search-form .search-submit,
.menuitem-search.search-form .search-submit {
	display: none;
}
#menu-header {
	text-align:right;
	margin-top:1em;
}
#menu-header .nav-menu{
	white-space:nowrap;
}
#menu-header a.menu-item{
	-webkit-transition:color 1s ease;
	-moz-transition:color 1s ease;
	transition:color 1s ease;
}
#menu-header a.menu-item.current-menu-item{
    color:#F79A1E !important;
    color: var( --wp--preset--color--primary ) !important;
}
#menu-header a.menu-item:hover:before,
#menu-header a.menu-item.current-menu-item:before{
    content:'';
    display:block;
    width:15px;
    height:0.1rem;
    background:#F79A1E;
    background: var( --wp--preset--color--primary );
    position:absolute;
    bottom:0;
    left:12px;
}

/* PAGES */
#header_banner{
	width:100%;
	height:0;
	padding-bottom:30%;
	min-height:400px;
    margin-bottom:4rem;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	position:relative;
	top:0;
	left:0;
}
#header_banner .header_inner{
    position: absolute;
    bottom: -3rem;
    left: 0;
    width: 60%;
    text-align: right;
    z-index: 3;
    background:#f79a1e;
    background: var( --wp--preset--color--primary );
    box-shadow: 7px 7px 14px rgba(0, 0, 0, 0.23);
}
#header_banner .header_inner .header_inner__title{
    display:inline-block;
    text-align:left;
    width: calc( 100% - ( 100vw - 1380px ) / 2 );
    padding-left:20px;
    padding-right:2rem;
}
#header_banner_no_image,
#header_banner.no_banner_img{
	width:100%;
	height:0;
	min-height:0;
	padding-bottom:0;
}
#header_banner .banner_img {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
}
.page_title_section{
	position: absolute;
    bottom: 0.5em;
    width: 100%;
    text-align: left;
}
.page_title_section .banner_head{
	margin:0;
	line-height:1em;
	display:inline-block;
	padding: 5px 20px;
	font-weight: 600;
	font-size: 3.6em;
}
.page_title_section .padded_text{
	padding-top: 10px;
	padding-bottom: 10px;
}
/* Entry Content */
#main{
	background:#fff;
}
#primary .entry-content{
	margin-bottom:0;
}
:where(.entry-content,.additional-content,.is-layout-constrained) > *{
    margin-block-start: 0;
    margin-block-end: 0;
}
:where(.is-layout-constrained, .entry-content, .additional-content) > :where(p,h1,h2,h3,h4,h5,h6){
    margin-block-start: 1em;
    margin-block-end: 1em;
}
:where(.entry-content,.additional-content,.is-layout-constrained) > :where(p,h1,h2,h3,h4,h5,h6):last-child{
	margin-bottom:0;
}
:is(.is-layout-constrained, .entry-content, .additional-content) > :where(.alignfull){
    width:100%;
}
:is(.is-layout-constrained, .entry-content, .additional-content) > :where(p,h1,h2,h3,h4,h5,h6).alignfull{
    max-width: calc( 100% - var(--wp--custom--content-padding) );
    margin-left: auto;
	margin-right: auto;
}
:where(.is-layout-constrained,.entry-content) >
:where(ul,ol,blockquote,iframe,hr,div,figure,.wp-block-cover-image):not(.alignleft,.alignright,.alignwide,.alignfull){
	width: 100%;
    max-width: calc( min( var(--wp--style--global--content-size), 100vw ) - var(--pad-plus-scroll) );
	margin-left: auto;
	margin-right: auto;
}
/* Additional content areas (based on 100% rather than 100vw) */
:where(.additional-content) > *:not(.alignleft,.alignright,.alignwide,.alignfull),
:where(.additional-content) .centred {
    width: 100%;
    max-width: calc( min( var(--wp--style--global--content-size), 100% ) - var(--pad-plus-scroll) );
    margin-left: auto;
	margin-right: auto;
}
:where(.entry-content,.additional-content,.is-layout-constrained)>.ress_frame{
    padding-bottom: calc( min(var(--wp--style--global--content-size), 100%) * 0.56 );
}
/* Narrower Page Templates */
.narrower_page .entry-content > :where(p,h1,h2,h3,h4,h5,h6){
    max-width: calc( var(--wp--style--global--content-size) - 160px );
}
.narrower_page :where(.entry-content,.is-layout-constrained) >
:where(ul,ol,blockquote,iframe,hr,div,figure,.wp-block-cover-image):not(.alignleft,.alignright,.alignwide,.alignfull){
    max-width: calc( var(--wp--style--global--content-size) - 200px );
}
/* Full Width */
:where(.alignfull){
	width: 100%;
}
body :is(.is-layout-constrained,.entry-content) >
*.alignwide{
    width: 100%;
    max-width: calc( min( var(--wp--style--global--wide-size), 100vw ) - var(--pad-plus-scroll) );
	margin-left:auto;
	margin-right:auto;
}
:where(h1,h2,h3,h4,h5,h6):not(.has-text-color){
    color:revert;
}
.entry-content iframe,
.additional-content iframe{
	display:block;
	border:none;
}

#top_bar{
    background:#F79A1E;
    background: var( --wp--preset--color--primary );
    color:#fff;
    padding: 4px 0;
    font-size:16px;
    letter-spacing:0.05rem;
    position: relative;
    z-index: 8;
}
#top_bar a,
#top_bar a:visited{
    color:#fff;
}
#top_bar .headerbar-left{
    padding:0;
    line-height:1;
}
.postcode_indicator{
    display:flex;
    justify-content:flex-start;
    align-items:center;
    align-content:center;
    letter-spacing: 0;
    margin-left: -8px;
    padding: 3px 8px;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    color: #fff;
    background: #F79A1E;
    background: var( --wp--preset--color--primary );
}
.postcode_indicator>svg,
#top_bar .nav-menu a.menu-item svg{
    width:auto !important;
    height:26px !important;
}
.postcode_indicator__label{
    margin-left:1rem;
    font-weight:500;
}
.postcode_indicator__value{
    margin-left:0.3em;
    text-decoration:underline;
    font-weight:400;
    cursor:pointer;
}
body>.postcode_indicator{
    position: fixed;
    right: 10px;
    z-index: 10;
    top: 0;
    transition: transform 0.4s ease;
    transform: translateY( -100% );
}
body.admin-bar>.postcode_indicator{
    top: 32px;
}
@media screen and (max-width: 782px){
    body.admin-bar>.postcode_indicator{
        top: 46px;
    }
}
.scrolled_down body>.postcode_indicator{
    transform: translateY( 0 );
}
.scrolled_down .admin-bar body>.postcode_indicator{
    transform: translateY( calc( 100px + 32px ) );
}
#top_bar .nav-menu a.menu-item{
    text-transform:uppercase;
}

#main{
	background:#fff;
}

#site_footer_centre{
    padding: 1.5rem 0;

    display:flex;
    justify-content: space-between;
    align-items: center;
    position:relative;
    margin-top:1em;
}
#footer_menu{
    display:flex;
    justify-content: flex-start;
    align-items: center;
}

#attribution a{
    font-weight:500;
}

/* BLOCKS */
.wp-block-group.has-background{
    padding-left: 20px;
    padding-right: 20px;
}

/* Banner Block */
.wp-block .pribanner_title{
    max-width:800px;
    border:none;
    font-weight:600;
    font-size:1.8em;
    padding-left:0;
    padding-right:0;
	border-radius:0;
	color:inherit;
	background:transparent;
}
.wp-block .pribanner_button{
	width:50%;
	float:left;

	margin-bottom:2em;
}

.pribanner{
	width:100%;
	height:0;
	padding-bottom:33%;
	position:relative;
    overflow:hidden;

    background-color:#555a61;
	background-position:center;
	background-size:cover;
	background-repeat:no-repeat;
}
.pribanner .slide_container{
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
	white-space: nowrap;
}
.pribanner .slide_container .slide{
	width:100%;
	height:100%;
	display: inline-block;
	position:relative;
	background-size:150%;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
}
.pribanner_poster{
    position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
    background-size:cover;
    background-position:center;
}
/* .banner_fixed .pribanner_poster{
    background-attachment:fixed;
} */
.banner_fixed .slide_container .slide{
    background-attachment:fixed;
}
.pribanner .video_overlay{
	position:absolute;
	width:100%;
	height:0;
	padding-bottom:60%;
	left:0;
	top:50%;
	-webkit-transform:translate(0,-50%);
	-moz-transform:translate(0,-50%);
	transform:translate(0,-50%);
	z-index:1;
}
.pribanner .video_overlay .banner_video{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
.pribanner_overlay{
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
	z-index:3;
    mix-blend-mode: multiply;
}
.pribanner_inner_pos{
	position:absolute;
	top:50%;
	left:0;
	width:100%;
	-webkit-transform:translateY(-50%);
	-moz-transform:translateY(-50%);
	transform:translateY(-50%);
	z-index:3;
}
.pribanner_inner.centred:not(.wider){
    padding-left:0;
    padding-right:0;
}
.pribanner_content {
    padding:1px 20px;
}
.bnr_top{
	top:0;
	-webkit-transform:translateY(0);
	-moz-transform:translateY(0);
	transform:translateY(0);
}
.bnr_bottom{
	top:auto;
	bottom:2.6em;
	-webkit-transform:translateY(0);
	-moz-transform:translateY(0);
	transform:translateY(0);
}
.alig_left{
	margin-left:0;
}
.alig_right{
	margin-right:20px;
}
    /* Banner block Parallax */
.banner_parallax.image_slider .slide{
    height:150%;
}
.banner_parallax.image_slider.parallax_reverse .slide{
    transform:translate(0, -33%);
}
    /* END Banner block Parallax */
    /* Banner block MixBlend */
.container_mixblend .overlay{
    mix-blend-mode: multiply;
}
    /* END Banner block MixBlend */
/* END Banner Block */

/* Home Blocks */
.hblocks_container{
	position:relative;
}
.hblocks_container:after{
	content:' ';
	display:table;
	clear:both;
}
.hblocks{
	float:left;
	width:33.333%;
	height:0;
	padding-bottom:33.333%;
	position:relative;

	background-position:center;
	background-size:cover;
	background-repeat:no-repeat;
}

.hblocks_container.banner_cols_1  .hblocks{
	width:100%;
	float:none;
	padding-bottom:33.33%;
}
.hblocks_container.banner_cols_2  .hblocks{
	width:50%;
	padding-bottom: 50%;
}
.hblocks_container.banner_cols_4  .hblocks{
	width:25%;
	padding-bottom: 25%;
}
.hblocks_container.banner_cols_5  .hblocks{
	width:20%;
	padding-bottom: 20%;
}
.hblocks_container.banner_cols_6  .hblocks{
	width:16.66%;
	padding-bottom: 16.666%;
}
.hblocks_overlay{
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
}
.hblocks_inner{
	position:absolute;
	top:50%;
	left:0;
	width:100%;
	transform:translate(0,-50%);
	padding:0 60px;
}

.hblocks_overlay,
.hblocks_inner{
	opacity:0;

	-webkit-transition:opacity 0.4s ease;
	-moz-transition:opacity 0.4s ease;
	transition:opacity 0.4s ease;

	pointer-events: none;
}
.hblocks:hover .hblocks_overlay,
.hblocks:hover .hblocks_inner,
.hblocks.hover .hblocks_overlay,
.hblocks.hover .hblocks_inner{
	opacity:1;
	pointer-events: all;
}
.hblocks_buttons .button{
	margin-right:20px;
	background:transparent !important;
}
/*  END Home Blocks */

/* START Gutenberg wide banners / container block support */
.alignfull.container_block{
	position:relative;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;

	width:100%;
	max-width:none !important;
	zoom: 1.0001 !important; /* fix a weird bug with white left border when animating other elements */
}
/* .alignwide img,
.alignfull img {
	display: block;
	margin: 0 auto;
}
.alignfull figcaption{
	max-width:1160px;
	margin:0 auto;
} */
/* END Gutenberg wide banners */

@media screen and (max-width:1400px){
	.fullwidth{
		max-width:none !important;
		padding-left: 15px !important;
		padding-right: 15px !important;
	}
}
@media screen and (max-width:1220px){
    /* Banner block auto size on mobile */
    .pribanner:not(.noauto_pad) {
        padding-bottom:0 !important;
        height:auto;
        min-height:400px;
    }
    .pribanner:not(.noauto_pad) .pribanner_inner_pos{
        position:relative;
        top:0;
        padding-top:20px;
        padding-bottom:20px;
        -webkit-transform: none;
        -moz-transform: none;
        transform: none;
    }
    /* END Banner block auto size on mobile */
    body :is(.is-layout-constrained,.entry-content) > *:not(.alignfull),
    :where(.centred,.narrower,.narrow,.very_narrow,.wider,.w500_narrow,.w400_narrow,.w350_narrow) {
        max-width: calc( min( var(--wp--style--global--content-size), 100vw ) - var(--pad-plus-scroll) );
    }

	#header_banner h1{
		font-size:30px !important;
	}

	#header_banner .header_inner .header_inner__title{
	    width: calc( 100%);
	}

}
@media screen and (max-width:800px){
    .wider{
		width:100% !important;
	}
    :where(.wp-block-group.has-background){
        padding-left: 15px;
        padding-right: 15px;
    }
}
@media screen and (max-width:650px){
    body :is(.is-layout-constrained,.entry-content) > :where(:not(.alignleft,.alignright,.alignfull)),
    body :is(.is-layout-constrained,.entry-content) > *.alignwide,
    :where(.centred,.narrower,.narrow,.very_narrow,.wider,.w500_narrow,.w400_narrow,.w350_narrow) {
        max-width: calc( min( var(--wp--style--global--content-size), 100vw ) - var(--narrow-pad-plus-scroll) );
    }
    :where(.wp-block-group.has-background){
        padding-left: 15px;
        padding-right: 15px;
    }
    
    img.alignleft, img.alignright,
	.wp-caption.alignleft, .wp-caption.alignright{
		float:none;
		display: block;
	    margin-left: auto;
	    margin-right: auto;
	}
    
	.centred.no_pad{
		padding-left:0 !important;
		padding-right:0 !important;
	}

	.hblocks{
		width:100%;
		padding-bottom:95%;
	}
	.hblocks_overlay,
	.hblocks_inner{
		opacity:1;
		pointer-events: all;
	}
}
