/* MASTER SITE CSS - START */
/* global variable declarartions for use in setting spacing */
:root {
   /* Global spacing variables */ 
--sc-margin: 8vw;
	--sc-margin-dbl: calc(2 * var(--sc-margin));
	--sc-margin-half: calc(0.5 * var(--sc-margin));
	--sc-margin-neg: calc(-1 * var(--sc-margin));
	--sc-margin-half-neg: calc(-1 * var(--sc-margin-half));

--sc-gutter: 24px;
	--sc-gutter-dbl: calc(2 * var(--sc-gutter));
	--sc-gutter-half: calc(0.5 * var(--sc-gutter));
	--sc-gutter-neg: calc(-1 * var(--sc-gutter));
	--sc-gutter-dbl-neg: calc(-1 * var(--sc-gutter-dbl));
	--sc-gutter-half-neg: calc(-1 * var(--sc-gutter-half));

--sc-padding: 16px;
	--sc-padding-big: calc(4 * var(--sc-padding));
	--sc-padding-dbl: calc(2 * var(--sc-padding));
	--sc-padding-half: calc(0.5 * var(--sc-padding));
	--sc-padding-neg: calc(-1 * var(--sc-padding));
	--sc-padding-dbl-neg: calc(-1 * var(--sc-padding-dbl));
	--sc-padding-half-neg: calc(-1 * var(--sc-padding-half));

/*--sc-full-width: calc(100vw - var(--sc-margin));*/
	--sc-content-width: 1140px;

--sc-padding-btn: 16px; 
--sc-padding-btn-vert: 8px; 

		
				/* design varables */
    --sc-radius-btn: 40px;
    --sc-radius-box: 4px;
    --sc-border-width: 1px;
    --sc-border-accent: 2px;
		--sc-border-btn: 1px;
		--sc-icon-size: 24px;
		--sc-icon-nav-dot: 10px;
		--sc-icon-nav-arrow: 24px;

		
		/* global colours */
    --sc-primary: #79242f;
    --sc-secondary: #4D1621;
		--sc-accent: #ffb71b;
		--sc-accent-light: #FCF6EB;
		--sc-accent-dark: #D5910B;
    --sc-text: #231F20;
    --sc-primary-light: #c27781;
		--sc-neutral-light: #F3F3F7/*#F4F4F4*/;
		--sc-neutral-dark: #BABABD;
		--sc-transparent-primary: #79242FD1;
		--sc-transparent-white: #FFFFFFD1;
   

	/* global font size variables - base 16-20, 1.25 ratio, 900-1440 vw ADJUSTED - H3 size removed, and others moved up!! */
		--sc-h1-clamp: clamp(2.875rem, -0.0341rem + 4.5455vw, 4.625rem);
		--sc-h1-sm-clamp: clamp(3.0625rem, 1.8125rem + 2.2222vw, 3.8125rem);
    --sc-h2-clamp: clamp(2.125rem, 1.0833rem + 1.8519vw, 2.75rem);; /* 39-49, changed to  */
    --sc-h3-clamp: clamp(1.75rem, 1.125rem + 1.1111vw, 2.125rem); /* 25-31, changed to 28-34 */
    --sc-h4-clamp: clamp(1.375rem, 0.8542rem + 0.9259vw, 1.6875rem); /* 20-25, changed to 22-27 */
    --sc-h5-clamp: clamp(1.1875rem, 0.875rem + 0.5556vw, 1.375rem); /* 18-22, changed to 19-22  */
    --sc-h6-clamp: clamp(1rem, 0.7917rem + 0.3704vw, 1.125rem); /* 16-18 Same as body, with reduced para spacing*/
   /* --sc-body-clamp: clamp(1rem, 0.5833rem + 0.7407vw, 1.25rem);  16-20 */
		--sc-body-clamp: clamp(1rem, 0.7917rem + 0.3704vw, 1.125rem); /* 16-18 */
    --sc-body-sm-clamp: clamp(1rem, 1rem + 0vw, 1rem); /* 14-16 */

    --sc-accordion-clamp: 20px; /* -28 */
} /* root ends */
	
			
 /*  Media Query – Tablet  */
@media screen and (max-width: 1024px) {
	:root {
		--sc-margin: 32px;
		--sc-gutter: 16px;
		--sc-padding: 12px;
	}
}

/*  Media Query – Mobile  */
@media screen and (max-width: 767px) {
	:root {
		--sc-margin: 16px;
		--sc-gutter: 12px;
		--sc-padding: 8px;
	}
}

/* set bold font weight */
strong {
  font-weight: 600;
}

/* paragraph spacing adjustment */
h2, h3, h4, h5 {
  margin-bottom: 0.6rem;
}

h6 {
  margin-bottom: 0.5em;
}


/* blockquote style */
blockquote {
		font-family: proxima-nova-condensed;
    font-size: var(--sc-h4-clamp);
    color: var(--sc-primary);
    line-height: 1.5;
    margin-left: 0px;
		margin-right: 0px;
		margin-top:0px
}

/* applies page margins to containers with this class. REQUIRED for outer containers. MUST NOT be added to inner containers */
.page-margin-home {
  max-width: var(--sc-content-width);
  margin-inline: auto;
  padding-inline: var(--sc-margin);
/*	box-sizing: border-box; */
}
.page-margin-first-box {
  max-width: var(--sc-content-width);
  margin-inline: auto;
  padding-inline: var(--sc-margin);
		padding-bottom: var(--sc-padding-big);
		padding-top: 0px;
}
.page-margin {
  max-width: var(--sc-content-width);
  margin-inline: auto;
  padding-inline: var(--sc-margin);
		padding-bottom: var(--sc-padding-big);
		padding-top: var(--sc-padding-big)
/*	box-sizing: border-box; */
}
 /*  Media Query page margins – Tablet & mobile  */
@media (max-width: 1024px) {
  .page-margin-first-box,
  .page-margin {
    padding-bottom: var(--sc-margin);
  }
}


/* full width background image sections */
.image-bg {
  max-width: var(--sc-content-width);
  margin-inline: auto;
  padding: var(--sc-padding-big)

}
/* this forces elementor to apply white to blockquote */
.image-bg .elementor-widget-text-editor blockquote,
.image-bg .elementor-widget-text-editor blockquote p {
    color: var(--sc-accent);
}

/* adjust text and button colour for dark background */
.dark-bg {
    color: #fff; 
}

.dark-bg h1,
.dark-bg h2,
.dark-bg h3,
.dark-bg h4,
.dark-bg h5,
.dark-bg h6,
.dark-bg p,
.dark-bg a,
.dark-bg li,
.dark-bg span, 
.dark-bg blockquote,
.dark-bg blockquote p{
    color: inherit; 
}
/* this forces elementor to apply white to blockquote */
.dark-bg .elementor-widget-text-editor blockquote,
.dark-bg .elementor-widget-text-editor blockquote p {
    color: #fff;
}

/* Button inside dark containers */
.dark-bg .elementor-button {
    border-color: #fff;
		color: #fff;
}

/* hover state */
.dark-bg .elementor-button:hover {
    background-color: #fff;
		border-color: #fff;
    color: var(--sc-primary);
}

/* Links yellow inside dark containers */
.dark-bg a {
    color: var(--sc-accent);
}

/* White on hover */
.dark-bg a:hover {
    color: #ffffff;
}

/* h6 btn style */
h6 a {
   /* background-color: var(--sc-transparent-white);*/
    padding: 12px 16px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border-radius: var(--sc-radius-btn);
		border: var(--sc-border-btn) solid var(--sc-primary);
    font-family: var(--e-global-typography-accent-font-family);
    font-size: var(--sc-body-sm-clamp);
		font-weight: 600;
 		text-transform: uppercase;
		color: var(--sc-primary) !important;
    vertical-align: sub;
    display: inline-block;
		margin-bottom: var(--sc-padding-half);
}

h6 a:hover {
    background-color: var(--sc-primary);
		color: #fff !important;
}

/* button classes */
.phs-btn-reverse {
		border-color: #fff;
		background-color:  var(--sc-primary);
		color: #fff;
		}
.phs-btn-reverse:hover {
		border-color: #fff;
		background-color: #fff;
		color: var(--sc-primary);
		}

#phs-btn-reverse {
		border-color: #fff;
		background-color:  var(--sc-primary);
		color: #fff;
}
#phs-btn-reverse:hover {
		border-color: #fff;
		background-color: #fff;
		color: var(--sc-primary);
		}

#phs-btn-red {
		border-color: var(--sc-primary);
		background-color:  var(--sc-primary);
		color: #fff;
}
#phs-btn-red:hover {
		border-color: var(--sc-primary);
		background-color: #fff;
		color: var(--sc-primary);
		}

/* Instagram feed button styling */
#sbi_load .sbi_load_btn,

/* SMASH BALLOON FACEBOOK & insta? FEED  */
/* ── Facebook Feed – Load more ── */
#cff-load-more.cff-load-more {
    background-color: #fff !important;
    color: var(--sc-primary) !important;
    border: 1px solid var(--sc-primary) !important;
    border-radius: var(--sc-radius-btn) !important;
    padding: var(--sc-padding-btn-vert) var(--sc-padding-btn) !important;
    font-family: var(--e-global-typography-accent-font-family), sans-serif !important;
    font-size: var(--sc-body-sm-clamp) !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    display: inline-block !important;
    width: 100% !important;
    cursor: pointer !important;
}


/* ── Hover states ── */
#sbi_load .sbi_load_btn:hover,
#sbi_load .sbi_load_btn:focus,
#cff-load-more.cff-load-more:hover,
#cff-load-more.cff-load-more:focus {
    background-color: var(--sc-primary) !important;
    border-color: var(--sc-primary) !important;
    color: #fff !important;
}
/* remove 3 dots in button */
#cff-load-more.cff-load-more svg {
    display: none !important;
}

/* Remove white gap at top of smash balloon facbook feed */
.cff-posts-wrap {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.cff-page-wrap {
  margin-top: 0 !important;
}

/* general table styling – This would effect the calendar, except I have over ridden it in the calendar widgets CSS on the page*/

table {
    border-collapse: collapse;
    font-size: var(--sc-body-sm-clamp);
}

th, td {
	padding: var(--sc-padding-half) !important;
	background-color: transparent !important;
	border: 1px solid var(--sc-neutral-dark) !important;
}

tr:hover td {
    background-color: transparent;
}

/* table row colour classes on clubs & groups page */		
tr.header-row td,
tr.header-row th {
    background-color: var(--sc-primary) !important;
		color: #ffffff !important;
}

tr.row-shading td,
tr.row-shading th {
    background-color: var(--sc-neutral-light) !important;
}


/* Horizontal-only table – on home page? */
.table-h-only th,
.table-h-only td {
	border-left: none !important;
	border-right: none !important;
	border-top: 1px solid var(--sc-neutral-dark) !important;
	border-bottom: 1px solid var(--sc-neutral-dark) !important;
}

/* Optional: remove outer table border if any */
.table-h-only {
	border: none !important;
	border-collapse: collapse;
}


/* This stops svg images changing size when they have a link applied*/
.elementor-widget-image a img[src$=".svg"] {
    width: 100%;
}

/* pages with sidebar - class added to right hand container */
div:has( + .spacific-sidebar) {
		width:100%;
}
.spacific-sidebar {
    background-color: #E9EDF0;
    --width: 30.8% !important;
		max-width: 450px !important;
		min-width: 300px !important;
    --padding-block-start: var(--sc-padding-dbl) !important;
    --padding-block-end: var(--sc-padding-dbl) !important;
    --padding-inline-start: var(--sc-padding-dbl) !important;
    --padding-inline-end: var(--sc-padding-dbl) !important;
}
@media only screen and (max-width: 768px) {
	.spacific-sidebar {
    --width: 100% !important;
	}	
}

/* remove the browser default clear cross from search inputs */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration { display: none; }

/* Social icons (header and footer) – THINK NOT NEEDED IN THIS SITE
.social-icons .elementor-icon-list-text .spacific-social-icon i {
	color: var(--e-global-color-primary)!important;
	font-size: 21px;
}
.social-icons.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
	margin-left:0;
	margin-right:0;
}
.social-icons.elementor-widget .elementor-icon-list-items.elementor-inline-items {
	margin-left:0;
	margin-right:0
}
.social-icons .elementor-icon-list-text .spacific-social-icon {
	background: #fff;
	padding: 5px;
	border-radius: 100px;
	color: #000 !important;
	margin-right:18px
}
.social-icons.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:last-child .spacific-social-icon {
	margin-right:0;
}

/* Quicklinks styling (header and footer) 
.quicklinks-menu nav ul li a {
	background-color: var(--sc-primary)!important;
	color:var(--sc-secondary)!important;
}
.quicklinks-menu nav ul li a:hover, .quicklinks-menu nav ul li a:active, .quicklinks-menu nav ul li a:focus {
	background-color: #fff!important;	
	color:var(--sc-text)!important;
}
#mega-menu-wrap-max_mega_menu_2 #mega-menu-max_mega_menu_2 .quicklinks-menu .elementor-widget-container  {
	margin:0!important
}
/* I DONT THINK THIS CODE IS NEEDED – CHECK to line 494! 
/* footer styles 
.footer-link{color:#fff!important;}
.elementor-location-footer .elementor-nav-menu--dropdown {display:none;}
.elementor-location-footer li { list-style-type: none; }
@media only screen and (max-width: 700px) {
		.mobile-copyright .elementor-icon-list-items.elementor-inline-items li:nth-child(2)::after {
			display: none !important;
		}
}
 
.wtm-vert-menu a.elementor-item {
	display: block;
}
.wtm-nav-search input::placeholder {
	opacity: 1 !important;
}
#wtm-nav-search-wrap, #wtm-ql-wrap, #wtm-mm-wrap {
	display: none;
}
.wtm-vert-menu a.elementor-item span {
	font-size: 16px;
	line-height: 16px;
}
.wtm-search-trigger-active, .wtm-ql-trigger-active {
	background: #094b8d;
}
.wtm-mm-trigger-active {
	background: #0080AF;
}
ul.sub-menu {
	height: 100vh;
	background: #0080AF;
	width: 400px !important;
}
#wtm-mm-wrap nav > ul > li:hover {
	background: #0080AF;
}
#wtm-mm-wrap nav > ul > li a{
	color: #fff !important;
}
#wtm-mm-wrap nav > ul > li > ul.sub-menu > li > ul.sub-menu {
	background: #22AACB !important;
}
#wtm-mm-wrap nav > ul > li > ul.sub-menu > li a.highlighted, #wtm-mm-wrap nav > ul > li > ul.sub-menu > li a:hover, #wtm-mm-wrap nav > ul > li > ul.sub-menu > li:hover {
	background: #22AACB !important;
}
#wtm-mm-wrap .mega-menu-item-has-children {
	position: static !important;
}
#wtm-mm-wrap .mega-sub-menu {
	height: 100vh !important;
}
#wtm-mm-wrap .mega-sub-menu .mega-sub-menu {
	background: #22AACB !important;
}
#wtm-mm-wrap .mega-sub-menu .mega-sub-menu .mega-menu-link:hover {
	background: #0B3876 !important;
}
#wtm-mm-wrap .mega-menu-wrap > ul.mega-menu > .mega-menu-item-has-children > .mega-sub-menu > .mega-menu-item-has-children.mega-toggle-on > a {
	background: #22AACB !important;
}
*/
/*Sets expand and contract icons on mobile menu */
#mega-menu-wrap-max_mega_menu_5 #mega-menu-max_mega_menu_5 li.mega-menu-item-has-children.mega-toggle-on > a.mega-menu-link > span.mega-indicator:after {
content: "\f460" !important;
}

#mega-menu-wrap-max_mega_menu_5 #mega-menu-max_mega_menu_5 li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator:after {
content: "\f132" !important;
}

body {
	min-height: 100vh;    
	display: flex;
	flex-direction: column;
}
body > main#content, body > div.elementor-location-single {
	flex: 1;
}
div.elementor-location-footer {
	margin-top:auto
}
/* MASTER SITE CSS - END */

/* Remove bottom radius of the accordion header when open */
details[open] > summary.e-n-accordion-item-title {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

		/* Set paragraph spacing for notices – site wide */
.notice_content p {
		margin-bottom: 10px;
		margin-top: 0px  !important;
}

/* left bullet indesnt and spacing after last bullet */
ul, ol {
	margin-bottom:  0.9em;
  padding-left: 20px;
}
/*  sets padding between bullets */
li {
  padding-bottom: 0.5em;
}
/* Remove padding after last bullet */
li:last-child {
  padding-bottom: 0;
}

/* Fix Elementskit accordion bullet alignment */
.elementskit-card-body ul,
.elementskit-card-body ol {
  margin-bottom: 0.9em !important;
  padding-left: 20px !important;
  margin-left: 0 !important;
}

.elementskit-card-body li {
  padding-bottom: 0.5em !important;
  padding-left: 0 !important;
}

.elementskit-card-body li:last-child {
  padding-bottom: 0 !important;
}
		
/* EVENT ORGANSIER / CALENDAR OVERRIDES */
		/* Removes indent from event info meta data */
ul.eo-event-meta{
		margin-left: -20px;
}
/* Removes bullets from event details */
ul.eo-event-meta {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

ul.eo-event-meta li {
    list-style-type: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

ul.eo-event-meta li:before,
ul.eo-event-meta li:after {
    content: none !important;
}
/* removes horizontal rule from event details */
.eventorganiser-event-meta hr {
    display: none !important;
}

/* Event Organiser - calendar view - uncategorised event colour */
.fc-event {
    background-color: var(--sc-primary) !important;
    border-color: var(--sc-primary) !important;
}
.fc-event .fc-title,
.fc-event .fc-time {
    color: #fff !important;
}

/* Event Organiser – Stop venu from being a link on event detail page */
a[href*="/events/venues/"] {
    pointer-events: none !important;
    text-decoration: none;
    color: inherit;
}


/*GRAVITY FORMS CUSTOM STYLES*/

/* Form input and select styles */
select,
textarea,
input[type=text],
input[type=password],
input[type=datetime],
input[type=datetime-local],
input[type=date],
input[type=month],
input[type=time],
input[type=week],
input[type=number],
input[type=email],
input[type=url],
input[type=search],
input[type=tel],
input[type=color],
.uneditable-input {
    display: inline-block;
/*    height: 4.5em !important;*/
    border: 1px solid var(--sc-neutral-dark);
/*    padding: var(--sc-padding-half);*/
    font-size: 15px !important;
    line-height: normal;
    color: var(--sc-text);
    background-color: #ffffff;
    border-radius: var(--sc-radius-box);
}

/* Focus styles for form fields */
body .gform_wrapper .gform_body .gform_fields .gfield input[type=text]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=email]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=tel]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=url]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=number]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=password]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield select:focus,
body .gform_wrapper .gform_body .gform_fields .gfield textarea:focus {
    border: 1px solid var(--sc-accent) !important;
}


/* Form field labels */
body .gform_wrapper .top_label .gfield_label,
body .gform_wrapper .left_label .gfield_label,
body .gform_wrapper .right_label .gfield_label {
    color: var(--sc-primary);
    font-size: var(--sc-h6-clamp);
    /*text-transform: uppercase; */
		font-weight: 600;
}

/* Form field labels in focus */
body .gform_wrapper .gform_body .gform_fields .gfield:focus-within .gfield_label {
    color: var(--sc-secondary);
}

/* Row Spacing */
.gform_wrapper.gravity-theme .gform_fields {
    grid-row-gap: var(--sc-gutter) !important;
}

/* Remove space between field label and description & specific font styling */
.gform_wrapper .gfield_description {
    margin-top: -4px !important;
    padding-top: 0 !important;
		padding-bottom: 8px !important;
		color: var(--sc-primary);
    font-size: var(--sc-h6-clamp);
		font-style: italic;
}


/* horizontal rule styling. */
hr {
    margin-bottom: 12px !important;
    border: none;                  /* Remove default border */
    height: 1px !important;                   /* Thickness */
    background-color: var(--sc-accent) !important; /* Your colour */
}

/* image aspect ratio class */
.sc-aspect-ratio-3-2 {
  aspect-ratio: 3 / 2;
  width: 100%;
  overflow: hidden;
}

.sc-aspect-ratio-3-2 img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

.sc-aspect-ratio-2-3 {
  aspect-ratio: 2 / 3;
  width: 100%;
  overflow: hidden;
}

.sc-aspect-ratio-2-3 img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

.sc-aspect-ratio-3-4 {
  aspect-ratio: 3 / 4;
  width: 100%;
  overflow: hidden;
}

.sc-aspect-ratio-3-4 img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

/* Center last row of loop grid when class (loop-grid-center) is addded works for 4 columns desktop, 3 tablet, 1 mobile */
/* ── Loop Grid: Centre last row ── */
.loop-grid-center .elementor-loop-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

/* Desktop: 4 columns */
.loop-grid-center .e-loop-item {
  width: calc(25% - var(--sc-gutter) * 0.75);
}

/* Tablet: 3 columns */
@media (max-width: 1024px) {
  .loop-grid-center .e-loop-item {
    width: calc(33.333% - var(--sc-gutter) * 0.667);
  }
}

/* Mobile: 1 column */
@media (max-width: 767px) {
  .loop-grid-center .e-loop-item {
    width: 100%;
  }
}

/* GTranslate style overrides */
.gtranslate_wrapper span,
.gtranslate_wrapper a,
.gtranslate_wrapper button,
.goog-te-combo {
  color: var(--sc-primary) !important;
  font-family: var(--e-global-typography-accent-font-family), \\\"proxima-nova-condensed\\\", \\\"Proxima Nova\\\", sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  font-size: var(--sc-body-sm-clamp) !important;
  letter-spacing: 0.5px !important;
}

/* Hover state for the header button */
.gtranslate_wrapper span:hover,
.gtranslate_wrapper a:hover,
.gtranslate_wrapper button:hover,
.goog-te-combo:hover {
  color: var(--sc-accent) !important;
}

/*  Offsets the page scroll for any element that has a CSS ID added, to allow for the height of the header  */
[id] {
  scroll-margin-top: 125px;
}