/*
Theme Name: CustomTheme
Author: Acorn Web Design
Description: Wordpress theme created by Acorn Web Design
Version: 1
*/


html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="reset"],input[type="submit"],input[type="search"],input[type="password"]{-webkit-appearance:none;appearance:none;border-radius:0}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}

.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}.screen-reader-text{clip:rect(1px, 1px, 1px, 1px);position:absolute !important}






:root {
  --dark-colour: #363636;
  --mid-colour: #616161;
  --pale-colour: #ffffff;
  --white-colour: #ffffff;
  --background-colour: #f5f5f5;
  --link-colour: #ed0008;
--cta-colour: #980005;
  --link-hover-colour: #20696b;
  --menu-bar-colour: #292929;
--content-font: "new-science", sans-serif;
--heading-font: "new-science-extended", sans-serif;}
}





* {
  padding: 0;
  border: none;
  margin: 0;
  color: #545454;
  box-sizing: border-box;
}

*:focus {outline: 3px dashed var(--dark-colour);}

/* SCROLLBAR */

/* width */
::-webkit-scrollbar {width: 10px;}
/* Track */
::-webkit-scrollbar-track {background: var(--pale-colour);}
/* Handle */
::-webkit-scrollbar-thumb {background: var(--dark-colour);}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {background: var(--dark-colour);}
html {scrollbar-color: var(--dark-colour) var(--pale-colour);scrollbar-width:thin;}

/* GENERIC */
body {background-color: var(--background-colour);font-size:125%;line-height: 150%;font-family:var(--content-font);font-weight:200;color: #545454;}



a:link {color: var(--link-colour);text-decoration:none!important;}
a:hover {color: var(--dark-colour);text-decoration:none!important;}
a:active {color: var(--link-colour);text-decoration:none!important;}
a:visited {color: var(--link-colour);text-decoration:none!important;}
.mail-link span {color: var(--link-colour);text-decoration:none!important;}
#cta .mail-link span {color: var(--background-colour);text-decoration:none!important;}

p {padding:0.7em 0;color:var(--dark-colour);}
h1 {padding:0.7em 0;font-size:140%;line-height:120%;font-family:var(--heading-font);color:var(--dark-colour);font-weight:500;}
h1.entry-title {text-align:center;}
h2 {padding:0.7em 0;font-size:135%;line-height:120%;font-family:var(--heading-font);color:var(--dark-colour);font-weight:500;}
h3 {padding:0.7em 0;font-size:120%;line-height:120%;font-family:var(--heading-font);color:var(--dark-colour);font-weight:500;}


/* BACKGROUND COLORS */
.odd {background-color:var(--pale-colour);border: 1px solid transparent;margin-top:25px;}
.even {background-color:var(--background-colour);border: 1px solid transparent;}
.cta {background-color:var(--cta-colour);border: 1px solid transparent;font-size:115%;}
#footer {background-color: var(--dark-colour);border: 1px solid transparent;padding-top: 25px;}


/* HEADER */
#header-container {background-color: var(--dark-colour);position: -webkit-sticky;position: sticky;top: 0px;z-index: 999;display:block;}
#header {width:100%;}
#site-title {margin-left:10px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;}
#logo {padding-bottom:1px;width:70%;padding-top:6px;}
#logo img {width:100%;max-width:400px;transition: width 0.3s ease; /* Add a transition for smooth resizing */}
#logo.small-logo img {width: 75%; /* Adjust this value as needed */}
.custom-logo-link {width:100%;}
.custom-logo-link img {width:100%;max-width:400px;}
#top-image {width:100%;}
#top-image img {width:100%;display:block;}

#top-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 10px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7), transparent);
    pointer-events: none;
    z-index: 2;
}

#top-image::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30px;
    background: linear-gradient(to top, rgba(51, 51, 51, 0.8), transparent);
    pointer-events: none;
    z-index: 2;
}

#hero-container {position:relative;display:block;}
.hero-caption {position: absolute;bottom: 7%;left: 50%;transform: translate(-50%,-2%);padding: 5px;text-align: center;display:block;z-index:2;width:95%;animation: fadeIn 3.5s ease forwards;}

.hero-caption::before {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    background: rgba(0, 0, 0, 0.5); /* semi-transparent black */
    filter: blur(5px); /* fully softens edges */
    z-index: -1; /* sits behind the text */
    border-radius: 300px;
}


.hero-cta {display:none;}
.primary-caption h2 {font-size:65%;color:var(--white-colour)!important;text-align:center;padding-top:0;font-weight:500;margin:0px;padding:0;z-index:3;text-shadow: 0px 6px 6px rgba(0, 0, 0, 1);}	
.secondary-caption {display:none;}

div#sitename {display: flex;flex-direction: column;justify-content: center;align-items: center;text-align: center;}


/* FOOTER */

.menu-bottom-menu-container {width:100%;}
#menu-bottom-menu {display:flex;flex-direction:column;flex-wrap: nowrap;justify-content:space-evenly;align-items: center;padding-bottom:30px;width:100%;}
#menu-bottom-menu li {width: 100%;padding-top:20px;}
#menu-bottom-menu li a {color:var(--xpale-colour);}
#menu-bottom-menu li a:hover {color:var(--pale-colour);}
#footer-image {position:relative;z-index:-1;clear:both;}
#footer-image img {width:100%; height:auto;display:block;}
#footer-content {display:flex;flex-direction:column;flex-wrap: nowrap;justify-content:space-evenly;align-items: center;padding-bottom:30px;}
#areas {color:#ffffff!important;margin-top:15px;width:100%;text-align:center;}
#legal {color:#ffffff!important;margin-top:15px;width:100%;text-align:center;}
#contact {color:#ffffff!important;margin-top:15px;width:100%;text-align:center;}
div#footer-menu {color: #ffffff;}
#footer-content a:link {color: var(--background-colour);text-decoration:none!important;}
#footer-content a:hover {color: var(--background-colour);text-decoration:none!important;}
#footer-content a:active {color: var(--background-colour);text-decoration:none!important;}
#footer-content a:visited {color: var(--background-colour);text-decoration:none!important;}
#footer-content .bold {font-weight:800;color:#ffffff;letter-spacing:1px;}
.icon {margin-bottom:-10px;margin-right:8px;}



/* HAMBURGER MENU */
#menu-control {font-size:140%;text-align: right;padding-right:10px;width:20%;}
.hamburger-button {display: inline-block;cursor: pointer;border: none;background: none;padding: 10px;}
.hamburger-button span {display: block;width: 24px;height: 3px;margin: 5px auto;background-color: var(--background-colour); transition: background-color 0.3s ease;}
.hamburger-button:hover span {background-color:var(--background-colour);}
#menu {display:none;}
#menu.responsive {display:block;max-height: 100vh;overflow-y: scroll;background-color:var(--dark-colour);display: block;position: relative;}
#menu-container {width:100%;}
#menu li a {display: block;padding-top:9px;padding-bottom:9px;padding-left:2%;padding-right:2%;border-top: solid 1px var(--background-colour);color:var(--background-colour);text-align:center;}
#menu li a:hover {color:var(--background-colour)!important;background-color:var(--link-colour)!important;}
.menu-item:hover>ul {display: block;}
.sub-menu {display: none;}
.sub-menu li {background-color:var(--mid-colour);line-height: 30px;width: 100%;text-align:left!important;}
#menu li .sub-menu li a:hover {background-color:var(--mid-colour);}
.sub-menu li .sub-menu li {background-color:var(--dark-colour);}

/* Content Styling */
.standard-content {margin-left:auto;margin-right:auto;max-width:1450px;padding-left:2%;padding-right:2%;padding-top:20px;padding-bottom:20px;}
.heading {padding-top:0px!important;padding-bottom:0px!important;}
.heading h1 {padding-bottom:0px!important;padding-top:30px;}
#footer-content {margin: 0 4%;}
.page-content ol {counter-reset: item;}
.page-content ol li {display: block;margin-left: 2em;padding:0.5em 0;}
.page-content ol li:before {content: counter(item) ". ";counter-increment: item;position: absolute;margin-left: -2em;}
.page-content ul {list-style:bullets!important;}
.page-content ul li {list-style-type: disc!important;}
.page-content li {margin-left: 2em;padding:0.5em 0;}
.text-image-right img {width:100%;height:auto;}
.wp-block-image figcaption {display:none;}
.large {font-size:105%!important;text-align:center;}

.flex .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained {display: flex;justify-content:space-between;flex-wrap: nowrap;flex-direction:column;}
.flex-reverse .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained {display: flex;justify-content:space-between;flex-wrap: nowrap;flex-direction:column;}
.flex-item .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained {display: block;}
.flex .flex-item-text .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained  {display: block;}
.flex-reverse .flex-item-text .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained  {display: block;}

.flex-trainers .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained {display: flex;justify-content:space-between;flex-wrap: nowrap;flex-direction:column;}
.flex-trainers .flex-item .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained {display: block;}
.flex-trainers .flex-item .wp-block-image img {width:100%;}


figure.wp-block-image.size-full {text-align: center;}
.wp-block-button__link {background-color: var(--mid-colour)!important;margin:20px;}
.wp-block-button__link:hover {background-color: var(--dark-colour)!important;}
.wp-block-button a,
.wp-block-button a:visited,
.wp-block-button a:hover,
.wp-block-button a:active {
    color: #ffffff !important;
    text-decoration: none !important;
}

.wp-block-table thead {border-bottom: 3px solid var(--dark-colour);}
.wp-block-table td, .wp-block-table th {border: 1px solid var(--dark-colour)!important;}
.wp-block-table th {background-color: var(--mid-colour)!important;color:var(--white-colour)!important;}

#copyright {text-align:center;font-size:80%;margin-top: 20px;}
#acorn {text-align:center;font-size:80%;margin-top: 20px;margin-bottom:80px;}

.cta a:link, .cta a:visited, .cta a:active, .cta a:hover {color: var(--background-colour) !important;}
.cta h2 {color:var(--white-colour)!important;text-align:center;}
.cta p  {color:var(--white-colour)!important;text-align:center;}
.tel {color:var(--white-colour)!important;text-align:center;font-size:120%;font-weight:600;}


/* CONTACT FORM */
.wpcf7-form textarea, input[type="text"], input[type="email"], input[type="tel"], input[type="button"], input[type="submit"], input[type="reset"] {border: 1px solid rgba(57, 154, 164, 1);padding:0.6em;}
.wpcf7-form textarea, input[type="text"], input[type="email"], input[type="tel"], input[type="button"], input[type="submit"] {width:100%;}
input.wpcf7-form-control.wpcf7-submit {width: 150px;background-color: var(--link-colour);color: #ffffff;font-size:100%;border-radius:5px;}
input.wpcf7-form-control.wpcf7-submit:hover {background-color: var(--link-hover-colour);color: #ffffff;}

/* COMPLIANZ */
#cmplz-document, .editor-styles-wrapper .cmplz-unlinked-mode {font-size: 100%!important;max-width: 100%!important;}
#cmplz-document p, .editor-styles-wrapper .cmplz-unlinked-mode p, #cmplz-document li, .editor-styles-wrapper .cmplz-unlinked-mode li, #cmplz-document td, .editor-styles-wrapper .cmplz-unlinked-mode td {font-size: 100%!important;}

/* TESTIMONIALS */
.strong-view.wpmtst-default .wpmtst-testimonial {border: 1px solid var(--dark-colour)!important;border-radius:8px;background-color:var(--white-colour)!important;}
.strong-view.wpmtst-default .wpmtst-testimonial-inner {border:none!important;}
.strong-view.wpmtst-default .wpmtst-testimonial-field {text-align: left!important;font-style:italic;padding-top:10px;}
.wpcf7-form textarea, input[type="text"], input[type="email"], input[type="tel"], input[type="button"], input[type="reset"] {border: 1px solid var(--dark-colour)!important;padding: 0.6em;border-radius:8px;font-family:var(--content-font)!important;font-size:100%;}
input[type="submit"] {padding:15px;border-radius:8px;background-color:var(--mid-colour)!important;color:var(--white-colour)!important;font-size:100%;font-family:var(--content-font)!important;}
input[type="submit"]:hover {background-color: var(--dark-colour) !important;}


/* FOOGALLERY */
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:focus:before, .fg-paging-container.fg-light .fg-dot-item .fg-dot-link:hover:before, .fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link:before {
    background-color: #ffffff;border-color: var(--dark-colour);}
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:focus:before, .fg-paging-container.fg-light .fg-dot-item .fg-dot-link:hover:before, .fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link:before {
background-color: var(--dark-colour)!important;var(--dark-colour)!important;height: 26px;width: 26px;}
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link {background-color: var(--white-colour);border-color:var(--dark-colour)!important;height: 32px;width:32px;}
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link, .fg-paging-container.fg-light .fg-dot-item .fg-dot-link:before {width: 32px;height:32px;}
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link, .fg-paging-container.fg-light .fg-dot-item .fg-dot-link:before {transition-duration: .0s!important;}
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link, .fg-paging-container.fg-light .fg-dot-item .fg-dot-link:before {transition-duration: .0s!important;}
.fg-panel.fg-light :is(.fg-panel-button,.fg-panel-thumbs-button,.fg-panel-thumb,.fg-panel-thumb-spacer), .fg-panel.fg-light:is(.fg-medium,.fg-panel-no-mobile) .fg-panel-cart-inner, .fg-panel.fg-light:is(.fg-medium,.fg-panel-no-mobile):not(.fg-panel-info-overlay) .fg-panel-info-inner {background-color: var(--xpale-colour);border-color: var(--dark-colour);}
svg.fg-icon.fg-icon-arrow-right.fg-icon-default {fill:var(--dark-colour);}
svg.fg-icon.fg-icon-arrow-left.fg-icon-default {fill:var(--dark-colour);}
svg.fg-icon.fg-icon-close.fg-icon-default {fill:var(--dark-colour);}
svg.fg-icon.fg-icon-expand.fg-icon-default {fill:var(--dark-colour);}
button.fg-panel-button.fg-panel-button-info.fg-disabled {display: none;}
.fg-panel-button {width: 40px!important;height: 40px!important;}
.fg-icon {width: 30px!important;height: 30px!important;}
.fg-paging-container .fg-dot-item, .fg-paging-container .fg-dots {padding-left:5px;padding-right: 5px;}



@media all and (min-width:350px){
.hero-caption::before {filter: blur(15px);} 
}

@media all and (min-width:400px){
#logo {width: 60%;}
.hero-caption {padding: 8px;border-radius:10px;width:94%;}
.primary-caption h2 {font-size:80%;padding-bottom:10px;}
.secondary-caption {display:inline-block;font-size:75%;color:var(--white-colour);text-align:center;padding-bottom:0;padding-top:10px;line-height:115%;border-top:1px solid var(--white-colour);z-index:3;text-shadow: 0px 6px 6px rgba(0, 0, 0, 1);}
.hero-caption::before {filter: blur(20px);} 
.large {font-size:125%!important;text-align:center;}
}

@media all and (min-width:500px){
#logo {width: 50%;}
.hero-caption {width:90%;}
.primary-caption h2 {font-size:85%;}

}

@media all and (min-width:550px){
h1 {font-size:170%;}
h2 {font-size:155%;}
h3 {font-size:140%;}
#logo {width: 45%;}
}
	
@media all and (min-width:600px){
#logo {width: 40%;}
.hero-caption {width:75%;}
.primary-caption h2 {font-size:90%;}
.secondary-caption {font-size:85%;}
#top-image::before {height: 20px;}	
	
}


@media all and (min-width:700px){
#logo {width: 35%;}
.hero-caption {width:70%;}
.primary-caption h2 {font-size:100%;}	
.secondary-caption {font-size:90%;}
.hero-caption {bottom: 12%;transform: translate(-50%,-50%);}
.hero-cta {position: absolute;bottom: 2%;left: 50%;transform: translate(-50%,-50%);padding: 5px;text-align: center;display:block;background-color:rgba(255, 255, 255, 0.80);border-radius:8px;z-index:2;animation: fadeIn 3.0s ease forwards;border:2px solid var(--white-colour);}	
.hero-cta a {font-weight:500;font-size:100%;}	
.hero-caption::before {filter: blur(30px);background: rgba(0, 0, 0, 0.6); /* semi-transparent black */}	
	
}	

@media all and (min-width:750px){
h1 {font-size:200%;}
h2 {font-size:170%;}
h3 {font-size:150%;}
}


@media all and (min-width:800px){
#logo {width: 33%;}
.hero-caption {width:70%;}
.primary-caption h2 {font-size:110%;}	
.secondary-caption {font-size:100%;}
}	

@media all and (min-width:850px){
#logo {width: 31%;}
.primary-caption h2 {font-size:120%;}	
.secondary-caption {font-size:105%;}
.hero-cta a {font-size:105%;}
	
.flex-trainers .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained {flex-direction:row;flex-wrap:wrap;}
.flex-trainers .flex-item {width:48%;margin-bottom:20px;}

	
}


@media all and (min-width:900px){
#logo {width: 29%;}
.primary-caption h2 {font-size:130%;}	
.secondary-caption {font-size:115%;}	
.hero-cta a {font-size:115%;}
#top-image::before {height: 30px;}
}

@media all and (min-width:950px){
h1 {font-size:220%;}
h2 {font-size:185%;}
h3 {font-size:160%;}
#footer-content {flex-direction:row;justify-content:space-between;align-items: start;margin: 0 0;}
#menu-bottom-menu li {text-align:left;}
#menu-bottom-menu li a {padding: 0px;}
#areas {width:30%;text-align:left;}
#contact {width:30%;text-align:left;}
#legal {width:30%;text-align:left;}
#cta h2 {font-size:280%;}
.flex-plan .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained {flex-direction:row;}
.flex-plan-item {width:32%;}
	
.flex-item-text {width:50%;}
.flex-item-image  {width:50%;position:relative;}
.flex .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained {flex-direction:row;}
.flex-reverse .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained {flex-direction:row-reverse;}

.flex .wp-block-group__inner-container {flex-direction: row;align-items: stretch;gap: 2%;}
.flex-reverse .wp-block-group__inner-container {flex-direction: row;align-items: stretch;gap: 2%;}
.flex-item-image img {position: absolute;inset: 0;width: 100%;height: 100%!important;object-fit: cover;object-position: center center;display: block;}
}


@media all and (min-width:1000px){
#logo {width:27%;}
.primary-caption h2 {font-size:148%;}	
.secondary-caption {font-size:125%;}	
.hero-cta a {font-size:125%;}	
}

@media all and (min-width:1100px){
#logo {width:25%;}
.primary-caption h2 {font-size:160%;}	
.secondary-caption {font-size:135%;}
.hero-cta a {font-size:135%;}
.hero-cta {padding:15px;border-radius:20px;}
}

@media all and (min-width:1250px){
.primary-caption h2 {font-size:180%;}	
.secondary-caption {font-size:160%;}	
.hero-cta a {font-size:160%;}
	
/* NORMAL MENU */
#hero-container {position: relative;width: 100%;}
#header {display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-left:auto;margin-right:auto;}
#site-title {padding-left:0;width:23%;}	
#logo {width:100%;}	
#menu-control {display:none;}
#menu-container {width:75%;padding-right:2%;}
#menu {display:block;width:100%;}	
#menu-main-menu {width:100%;display:flex;flex-direction:row;justify-content: space-between;flex-wrap: nowrap;font-size:90%;}	
#menu-main-menu li {padding:1px;flex:auto;position:relative;}
#menu li a {padding:7px;display:block;border-top:0;text-align:center;border-radius:10px;margin-right:3%;margin-left:3%;}
.menu-item:hover>ul {position: absolute;}
.sub-menu {width:100%;}
.sub-menu li:last-child {border-bottom-left-radius: 10px;border-bottom-right-radius: 10px;}
.sub-menu li {background-color:var(--dark-colour);}

}

@media all and (min-width:1300px){
.hero-caption {width:65%;}	
#logo {width:90%;}

}

@media all and (min-width:1400px){
.primary-caption h2 {font-size:190%;}	
.secondary-caption {font-size:170%;}
.hero-cta a {font-size:170%;}
.hero-caption {width:64%;}
#logo {width:88%;}
#menu-main-menu {font-size:100%;}
}


@media all and (min-width:1500px){
.primary-caption h2 {font-size:200%;}	
.secondary-caption {font-size:180%;}
.hero-cta a {font-size:180%;}	
#logo {width:86%;}
}

@media all and (min-width:1600px){
.primary-caption h2 {font-size:210%;}	
.secondary-caption {font-size:190%;}
.hero-cta a {font-size:190%;}
.hero-caption {width:62%;}
#logo {width:84%;}
}


@media all and (min-width:1700px){
.primary-caption h2 {font-size:220%;}	
.secondary-caption {font-size:200%;}
.hero-cta a {font-size:200%;}	
#logo {width:82%;}

}

@media all and (min-width:1800px){
.primary-caption h2 {font-size:230%;}	
.secondary-caption {font-size:210%;}	
.secondary-caption {font-size:210%;}
.hero-caption {width:60%;}
#logo {width:80%;}
}