/*
Theme Name: South West Training Solutions WordPress Theme
Template: theme360
Version: 1.0
Author: Respond Agency Ltd
Author URI: https://werespond.uk
Description: A Theme360 child theme for South West Training Solutions
*/

@import url('https://fonts.googleapis.com/css2?family=Readex+Pro:wght@160..700&family=Red+Hat+Display:ital,wght@0,300..900;1,300..900&display=swap');@import url('https://fonts.googleapis.com/css2?family=Red+Hat+Display:ital,wght@0,300..900;1,300..900&display=swap');

:root {
/* Fonts */
  --fnt_font-family: "Red Hat Display", sans-serif;
  --fnt_font-size: 17px;
  --fnt_line-height: 1.7em;
  --fnt_font-weight: 400;
  
  --cta_fnt_font-size: 1rem;
  --cta_fnt_line-height: 1.3rem;
  --cta_fnt_font-weight: 600;
  --cta_fnt_text-transform: none;
  
  --cta-txt_fnt_font-size: 0.95rem;
  --cta-txt_fnt_font-weight: 600;
  --cta-txt_fnt_text-transform: uppercase;

  --psh_fnt_font-size: 0.9rem;
  --psh_fnt_line-height: 1.2rem;
  --psh_fnt_font-weight: 600;
  
  --pre_fnt_font-size: 0.8rem;
  --pre_fnt_line-height: 1.2rem;
  --pre_fnt_font-weight: 600;
  --pre_fnt_letter-spacing: 0.3rem;
  
  --hed_fnt_font-weight: 700;
  --hed_fnt_letter-spacing: -0.05rem;
  
  --h1_fnt_font-size: 3.8rem;
  --h1_fnt_line-height: 4.4rem;
  
  --h2_fnt_font-size: 3rem;
  --h2_fnt_line-height: 3.6rem;

  --h3_fnt_font-size: 1.9rem;
  --h3_fnt_line-height: 2.5rem;

  --h4_fnt_font-size: 1.5rem;
  --h4_fnt_line-height: 2.1rem;

/* Colours */
  --clrshadow: 1px 4px 10px 1px rgba(0,73,144,0.1);
  --clrblack: #292C2F;
  --clrblack_alt: #111;
  --clrwhite: #fff;
  --clrwhite_alt: #eee;
  --clrgrey: #E8F4FF;
  --clrgrey_alt: #D4E6F6;
  /* Navy */
  --clr1: #004990;
  --clr1_alt: #003263;
  --clr1_txt: #fff;
  /* Blue */
  --clr2: #1AB7EA;
  --clr2_alt: #006BB8;
  --clr2_txt: #fff;
  /* Orange */
  --clr3: #FA8334;
  --clr3_alt: #E45B00;
  --clr3_txt: #fff;
  /* White to Grey */ 
  --clr4: #E8F4FF;
  --clr4_alt: #D4E6F6;
  --clr4_txt: #3A5066;
  /* White to Grey */ 
  --clr5: #E8F4FF;
  --clr5_alt: #D4E6F6;
  --clr5_txt: #3A5066;

/* Corners */
  --radius_sm: 6px;
  --radius_md: 15px;
  --radius_lg: 30px;
  --radius_cta: 6px;
  
/* Padding */
  --cntntpad: 80px;
  --cntntpad_slm: 40px;
  --ctapad: 12px 20px;
}

/* Less than Medium */		
@media screen and (max-width: 64em) { 
	:root {
	/* Fonts */
	  --fnt_font-size: 17px;
	  --fnt_line-height: 1.7em;
  
	  --cta_fnt_font-size: 0.9rem;
	  --cta_fnt_line-height: 1.2rem;
  
	  --h1_fnt_font-size: 2.5rem;
	  --h1_fnt_line-height: 2.9rem;
  
	  --h2_fnt_font-size: 2.2rem;
	  --h2_fnt_line-height: 2.6rem;

	  --h3_fnt_font-size: 1.6rem;
	  --h3_fnt_line-height: 2rem;

	  --h4_fnt_font-size: 1.4rem;
	  --h4_fnt_line-height: 1.8rem;

  
	/* Padding */
	  --cntntpad: 60px;
	  --cntntpad_slm: 40px;
	  --ctapad: 10px 18px;
	}
}


	/* -- Overrides -- */
	ul.list-checks li:before {
		background-color: var(--clr2);
		font-size: 1.4rem;
		top: 0.3rem;
	}
	
	h1, h2, h3, h4, h5, h6 {
		color: var(--clr1_alt);
	}
	
	.h2-small h2.h1, .h2-small h2, h1.h2 {
		font-size: var(--h2_fnt_font-size);
		line-height: var(--h2_fnt_line-height);
	}
	
	form input, form textarea, form select {
		border: solid var(--clrgrey_alt) 1px;
	}
	
	.content-titles {
		padding: 0 0 40px;
	}

	/* Top Bar */
	.top-bar {
		background: var(--clrgrey);
		color: var(--clr1);
		padding: 10px 0;
		height: 42px;
		box-sizing: border-box;
	}
	
	.top-bar-container {
		position: relative;
	}
	
		.top-bar-container .telephone {
			position: absolute;
			right: 30px;
			top: 1px;
		}
	
	.top-bar a, .top-bar a:link, .top-bar a:active, .top-bar a:visited {
		color: var(--clr1);
		font-weight: 700;
		font-size: 0.9rem;
		text-decoration: none;
	}
	
		.top-bar-container a:hover {
			color: var(--clr2);
		}
	
		.top-bar-container a svg {
			color: var(--clr2);
		}

	/* Header */
	header {
		padding: 30px 0;
	}
	
		header .logo {
			position: absolute;
			top: 0;
			z-index: 999;
		}
	
		header .logo img {
			border-radius: 0 0 var(--radius_sm) var(--radius_sm);
		}
		
		.header-container .ctas a.login {
			color: var(--clr1_alt);
			font-weight: 700;
		}
		
			header a.login svg {
				color: var(--clr2);
			}
		
	/* Navigation */
	.header-container .nav .primary-menu > li > a {
		color: var(--clr1_alt);
		font-weight: 600;
	}
	
	.nav-mobile {
		position: fixed;
	}
	
	.mob-menu-item {
		color: var(--clr1);
	}
	
	.nav-mobile ul li a, .nav-mobile ul ul.sub-menu li a {
		color: var(--clr1_alt);
	}
	
	.nav-mobile .nav-container {
		background: var(--clrwhite);
		box-shadow: var(--clrshadow);
	}
	
	.nav-mobile .nav-container a.mob-menu-item {
		background: var(--clr2);
	}
	
	.nav-mobile ul ul.sub-menu {
		background: var(--clrgrey);
	}
	
	.nav-mobile ul li.cta a {
		background: var(--clr3);
		color: var(--clr3_txt);
	}
	
	.nav-mobile ul li.cta.secondary a {
		background: var(--clr1);
		color: var(--clr1_txt);
	}
	
.nav-mobile .nav-container .sub-items, .nav-mobile ul li {
    border-color: var(--clrgrey);
    margin-bottom: 0;
}

.nav-mobile ul li.cta.primary {
    border-top: solid 1px var(--clrgrey);
    margin: 0;
    padding-top: 15px;
}
	
	
	/* Override General CTA */
	a.cta-text:link, a.cta-text:visited, a.cta-text:active {
		color: var(--clr1);
	}
	
		a.cta-text svg {
			color: var(--clr3);
		}
	
	/* Override Primary CTA */
	a.cta.primary, a.cta.primary:link, a.cta.primary:active, a.cta.primary:visited {
		background: var(--clr3);
		border: solid 3px var(--clr3);
		color: var(--clr3_txt);
	}

		a.cta.primary:hover {
			background: var(--clr3_alt);
			border-color: var(--clr3_alt);
		}
		
	/* Override Secondary CTA */		
	a.cta.secondary, a.cta.secondary:link, a.cta.secondary:active, a.cta.secondary:visited {
		background: var(--clr1);
		border: solid 3px var(--clr1);
		color: var(--clr1_txt);
	}

		a.cta.secondary:hover {
			background: var(--clr2_alt);
			border-color: var(--clr2_alt);
		}
		
	.clr1-bg a.cta.secondary, .clr1-bg a.cta.secondary:link, .clr1-bg a.cta.secondary:visited, .clr1-bg a.cta.secondary:active {
		background: var(--clr1);
		border-color: var(--clr1);
		color: var(--clrwhite);
	}
	
		.clr1-bg a.cta.secondary:hover {
			background: var(--clr2);
			border-color: var(--clr2);
			color: var(--clrwhite);
		}
		
	/* Backgrounds */
	.background-image span.pre-title, .background-image legend, .background-image span.post-meta {
		color: var(--clrwhite);
	}
	
	.clr1-bg span.pre-title, .clr1-bg legend, .clr1-bg span.post-meta {
		color: var(--clr2);
	}
	
	.clr2-bg span.pre-title, .clr2-bg legend, .clr2-bg span.post-meta {
		color: var(--clr1);
	}
	
	.clr1-bg h1, .clr1-bg h2, .clr1-bg h3, .clr1-bg h4, .clr1-bg h5, .clr1-bg h6 {
		color: var(--clr1_txt);
	}
	
	.clr2-bg h1, .clr2-bg h2, .clr2-bg h3, .clr2-bg h4, .clr2-bg h5, .clr2-bg h6 {
		color: var(--clr2_txt);
	}
	
	.clrwhite-bg h1, .clrwhite-bg h2, .clrwhite-bg h3, .clrwhite-bg h4, .clrwhite-bg h5, .clrwhite-bg h6 {
		color: var(--clr1_alt);
	}
	
	span.pre-title, legend, span.post-meta, .clr4-bg .pre-title, .clr4-bg .post-meta {
    	color: var(--clr2);
	}
	
	.clr1-bg {
		background: var(--clr1_alt) !important;
	}
	
	.clrgrey-bg {
		color: var(--clr1_alt);
	}

	.clr4-bg {
		background: #E8F4FF;
		background: -webkit-linear-gradient(0deg,rgba(232, 244, 255, 1) 0%, rgba(255, 255, 255, 1) 60%);
		background: -moz-linear-gradient(0deg,rgba(232, 244, 255, 1) 0%, rgba(255, 255, 255, 1) 60%);
		background: linear-gradient(0deg,rgba(232, 244, 255, 1) 0%, rgba(255, 255, 255, 1) 60%);
		filter: progid:DXImageTransform.Microsoft.gradient(
		  startColorstr="#E8F4FF",
		  endColorstr="#FFFFFF",
		  GradientType=0
		);	
	}

.clr4-bg .grid-container.box-in .content-container {
		background: #fff;
}

	.clr5-bg {
		background: #E8F4FF;
		background: -webkit-linear-gradient(180deg,rgba(232, 244, 255, 1) 0%, rgba(255, 255, 255, 1) 20%);
		background: -moz-linear-gradient(180deg,rgba(232, 244, 255, 1) 0%, rgba(255, 255, 255, 1) 20%);
		background: linear-gradient(180deg,rgba(232, 244, 255, 1) 0%, rgba(255, 255, 255, 1) 20%);
		filter: progid:DXImageTransform.Microsoft.gradient(
		  startColorstr="#E8F4FF",
		  endColorstr="#FFFFFF",
		  GradientType=0
		);	
	}
		
	/* Banner */
	.banner p {
		font-size: 1.3rem;
		line-height: 2rem;
	}
	
	.banner.background-image {
		color: #fff;
		position: relative;
		background-color: var(--clr2_alt) !important;
		/*	aspect-ratio: 3/1.2; */
		padding: 125px 0;
	}
	
	.banner.background-image .bg {
		display: block;
		height: 100%;
		width: 100%;
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		color: #fff;
		position: absolute;
		opacity: 0.8;
		top: 0;
		left: 0;
		z-index: 0;
	}
	
		.banner.background-image:before {
			content: "";
			display: block;
			height: 100%;
			width: 100%;
			position: absolute;
			top: 0;
			left: 0;
			z-index: 1;
			background: var(--clr1);
			opacity: 0.5;
		}
		
		.banner.background-image * {
			position: relative;
			z-index: 3;
		}
		
		.banner.background-image h1 {
			color: var(--clrwhite);
		}
	
	/* Media */
	.media img {
		border-radius: var(--radius_md);
	}
	
	/* Trusted By */
	.featured-logos .featured-logos {
		margin: 20px 0 0;
	}
	
	div.featured-logos {
		display: grid;
		grid-template-columns: repeat(6, 1fr); /* 6 equal columns */
		gap: 40px 60px; /* space between items */
		justify-content: center; /* center items if fewer than 6 */
		justify-items: center; /* ensure items themselves are centered */
	}
	
	.featured-logos img {
		height: auto;
		width: auto;
		max-width: 100%;
		max-height: 70px;
	}
	
	/* Forms */
	img.gform_ajax_spinner {
		max-width: 30px;
	}
	
	.gform_wrapper form label {
		display: block;
		text-indent: -10000px;
		line-height: 0;
		font-size: 0rem;
	}
	
.gform_wrapper input[type="submit"], .gform_wrapper button {
    cursor: pointer !important;
    margin: 5px 0 0!important;
    border-radius: var(--radius_cta)!important;
	background: var(--clr2)!important;
	border-color: var(--clr2)!important;
    color: var(--clr1_txt)!important;
    padding: var(--ctapad)!important;
    text-decoration: none!important;
    text-transform: var(--cta_fnt_text-transform)!important;
    font-size: var(--cta_fnt_font-size)!important;
    line-height: var(--cta_fnt_line-height)!important;
    font-weight: var(--cta_fnt_font-weight)!important;
    display: inline-block!important;
    min-width: 160px!important;
    box-sizing: border-box!important;
    text-align: center!important;
    width: auto!important;
    -webkit-transition: all 0.5s!important;
    -moz-transition: all 0.5s!important;
    -ms-transition: all 0.5s!important;
    -o-transition: all 0.5s!important;
    transition: all 0.5s!important;
}
	
		.gform_wrapper input[type="submit"]:hover, .gform_wrapper button:hover {
			background: var(--clr2_alt)!important;
			border-color: var(--clr2_alt)!important;
		}
	
	input[type="submit"], button {
		background: var(--clr2);
		border-color: var(--clr2);
	}
	
		input[type="submit"]:hover, button:hover {
			background: var(--clr2_alt);
			border-color: var(--clr2_alt);
		}
	
	/* Testimonials */
/* Base grid */
.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin: 0 auto;
}

/* Modern masonry support (experimental, Chrome/Edge/Safari 17+) */
@supports (grid-template-rows: masonry) {
  .testimonial-grid {
    grid-template-rows: masonry;
  }

  .testimonial-grid > * {
    break-inside: avoid;
  }
}

/* Fallback masonry layout (works everywhere) */
@supports not (grid-template-rows: masonry) {
  .testimonial-grid {
    display: block;
    columns: 3;
    column-gap: 40px;
  }

  .testimonial-grid > * {
    break-inside: avoid;
    margin-bottom: 40px;
    width: 100%;
  }
}

/* Optional: responsive columns */
@media (max-width: 1024px) {
  .testimonial-grid {
    grid-template-columns: repeat(2, 1fr);
    columns: 2; /* fallback for non-grid masonry */
  }
}

@media (max-width: 640px) {
  .testimonial-grid {
    grid-template-columns: 1fr;
    columns: 1;
  }
}

	
	.testimonials .grid-container {
		align-items: start;
	}
	
	.content-container.testimonial {
		display: block;
		position: relative;
		padding: 30px 30px 30px 30px;
		box-sizing: border-box;
	}
	
		.testimonial .stars {
			color: var(--clr1);
			font-size: 1.4rem;
		}
		
		.testimonial img.quote-image {
			border-radius: var(--radius_sm);
			margin: 0;
		}
		
		.testimonial .content {
				position: relative;
		}
		
		.testimonial * {
			position: relative;
			z-index: 2;
		}
		
		.testimonial svg.fa-quote-left {
			position: absolute;
			left: -30px;
			top:0;
			z-index: 0;
			height: 150px;
			color: var(--clrgrey);
			z-index: 1;
			opacity: 0.75;
		}
		
			.clr3-bg .testimonial svg.fa-quote-left {
				color: var(--clrgrey);
				opacity: 0.2;
			}
			
			.clrgrey-bg .testimonial svg.fa-quote-left {
				color: var(--clrwhite);
			}
			
			.clr2-bg .testimonial svg.fa-quote-left {
				color: var(--clrgrey);
				opacity: 0.1;
			}
		
		.testimonial blockquote {
			font-size: 0.95rem;
			line-height: 1.8rem;
		}
		
		.testimonial blockquote p {
			padding-top: 10px;
			margin: 0;
		}
		
		.content-container.testimonial .content .bio .name {
			margin: 0;
			color: var(--clr1);
			font-size: 0.8rem;
		}
		
		.content-container.testimonial svg.fa-star {
			color: var(--clr3);
			font-size: 1.1rem;
			padding: 4px 2px 0 0;
		}
		
		.testimonials .featured-logos:first-of-type {
			margin: 0 0 40px;
		}
		
	/* Features */
	.content-container.feature .content > svg {
		color: var(--clr2);
		margin-top: 5px;
	}
	
	.mini-features .content-container.feature .content h3 {
		font-size: 1.4rem;
		line-height: 2rem;
		margin: 0 0 5px;
		padding: 0;
	}
	
	.mini-features .content-container.feature .content > svg {
		font-size: 38px;
	}
		
	/* Image */
	img.rounded-corners {
		border-radius: var(--radius_lg);
	}
	

	/* FAQs */
	.faq-group h3 {
		font-family: var(--fnt_font-family);
		padding-right: 40px;
	}
	
	.faq-group h3 svg {
		float: right;
	}
	
	/* Footer */
	footer#legal, footer#legal a, footer#legal a:link, footer#legal a:active, footer#legal a:visited {
		font-weight: 500;
		color: var(--clr1_alt);
	}
	
	footer .logo img {
		border-radius: var(--radius_sm);
		width: 180px;
	}
	
	footer a.cta {
		display: block;
		width: 180px;
	}
	
	footer a.telephone {
		display: block;
		text-decoration: none;
		font-weight: 700;
		font-size: 1.45rem;
		margin: 20px 0 0 !important;
	}
	
		footer a.telephone svg {
			color: var(--clr2);
		}
		
	footer#main .social {
		margin: 5px 0 0;
	}
		
	footer .social svg {
		color: var(--clr1);
	}
	
	footer#main .footer-container .pure-u-1 .hide h4 {
		margin-top: 30px;
	}

/* WooCommerce */
.woocommerce-MyAccount-navigation {
	padding: 16px 20px;
	margin: 0;
	background: var(--clrgrey);
	border-radius: var(--radius_sm);
	box-sizing: border-box;
}

.woocommerce-MyAccount-navigation ul, .woocommerce-MyAccount-navigation ul li {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.woocommerce-MyAccount-navigation ul li {
	padding: 2px 0;
}

.woocommerce-MyAccount-navigation ul li a[aria-current="page"] {
	font-weight: bold;
}

.woocommerce nav.woocommerce-pagination ul {
	margin: 0 0 30px;
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
	margin: 0 3px;
}

.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
	border-radius: var(--radius_sm);
	background: var(--clrgrey_alt);
	font-weight: bold;
	color: var(--clr1);
}

.woocommerce nav.woocommerce-pagination ul li a:focus, .woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li span.current {
	border-radius: var(--radius_sm);
	font-weight: bold;
	color: var(--clrwhite);
	background: var(--clr1);
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--clr2);
}

.woocommerce ul.products {
	display: flex;
	flex-wrap: wrap;
}

.woocommerce-breadcrumb {
	padding: 8px 0 !important;
	margin: 0 !important;
}

	.woocommerce-breadcrumb, .woocommerce-breadcrumb a {
		font-size: 0.8rem !important;
		color: var(--clr1_alt) !important;
	}
	
ul.products li.product.product_cat-open-training-courses .woocommerce-loop-product__title {
	position: relative;
}

	ul.products li.product.product_cat-open-training-courses .woocommerce-loop-product__title:before {
		content: "Book Online";
		position: absolute;
		top: -55px;
		left: 0;
		display: block;
		padding: 5px 10px;
		border-radius: 0 var(--radius_sm) var(--radius_sm) 0;
		background: var(--clr1);
		color: var(--clr1_txt);
		text-transform: uppercase;
		font-size: 0.75rem;
		line-height: 1.1rem;
		font-weight: 600;
		letter-spacing: 0.2em;
		z-index: 9;
	}
	
/* Woo Archive */
.woocommerce .woocommerce-result-count {
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--clr1_alt);
	margin: 0 0 15px;
}

.woocommerce .woocommerce-ordering {
	margin: 0 0 10px;
}

.woocommerce ul.products > li {
	box-shadow: var(--clrshadow);
	border-radius: var(--radius_md);
	background: var(--clrwhite);
	padding: 20px !important;
	box-sizing: border-box;
}

	.woocommerce ul.products > li .product-variations {
		margin: 5px 0 0;
	}
	
	.woocommerce ul.products .woocommerce-loop-product__title {
		margin: 0 0 10px !important;
	}
	
	.woocommerce ul.products > li span.duration {
		font-size: 0.9rem;
		line-height: 1.6rem;
		display: inline-block;
		margin: 0 10px 5px 0;
	}
	
	.woocommerce ul.products li.product .price {
		display: inline-block;
		margin: 0;
		position: relative;
		top: 1px;
	}
	
	.price-vat-label {
		font-size: 0.95rem;
	}
	
	.woocommerce ul.products > li .product-variations strong {
		font-weight: 700;
		color: var(--clr1_alt);
	}
	
		.woocommerce ul.products > li .product-variations ul li {
			font-size: 0.95rem;
			line-height: 1.6rem;
			font-weight: 500;
			margin: 0;
			padding: 0;
		}
	
.woocommerce ul.products li.product .woocommerce-loop-category__title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3 {
    padding: 0;
    margin: 0;
    font-size: 1.4rem;
    line-height: 2rem;
}

.woocommerce ul.products li.product a img {
	border-radius: var(--radius_sm);
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price {
	font-weight: 700;
	color: var(--clr3);
	font-size: 1.2rem;
	line-height: 1.4rem;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price .price-label {
	font-size: 0.8rem;
	display: block;
	color: var(--clr1);
}

/* Woo Single */
.woocommerce div.product div.images img {
	border-radius: var(--radius_md);
}

.woocommerce.single-product .woocommerce-breadcrumb {
	padding: 14px 0 8px !important;
}

.woocommerce div.product .product_title {
	font-size: var(--h2_fnt_font-size);
	line-height: var(--h2_fnt_line-height);
	margin: 0 0 15px;
	padding: 0;
}

.woocommerce span.duration {
	display: inline-block;
	box-shadow: var(--clrshadow);
	background: var(--clr1_alt);
	color: var(--clr1_txt);
	border-radius: var(--radius_sm);
	padding: 1px 10px;
	font-weight: 600;
	margin: 0 20px 0 0;
	vertical-align: top;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
	display: inline-block;
	font-weight: 700;
	color: var(--clr3);
	font-size: 1.6rem;
	line-height: 1.6rem;
	padding: 0;
	margin: 0;
	position: relative;
	top: 3px;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price .price-label {
	font-size: 0.9rem;
	display: block;
	color: var(--clr1);
}

.woocommerce-product-details__short-description {
	font-size: 1.1rem;
	line-height: 1.9rem;
	margin: 25px 0 0;
}

	.woocommerce-product-details__short-description p:first-of-type {
		margin-top: 0;
	}
	
.variations_form.cart {
	box-shadow: var(--clrshadow);
	border-radius: var(--radius_md);
	padding: 15px 20px 20px;
	margin: 20px 0 0;
}

.variations_form.cart h3 {
	margin: 0;
	padding: 0;
	font-size: 1.2rem;
	line-height: 1.6rem;
}

.enquire-form-box {
	box-shadow: var(--clrshadow);
	border-radius: var(--radius_md);
	padding: 15px 20px 20px;
	margin: 25px 0;
}

.enquire-form-box h3 {
	margin: 0;
	padding: 0;
	font-size: 1.2rem;
	line-height: 1.6rem;
}

.enquire-form-box ul.list-checks, .variations_form.cart ul.list-checks {
	margin: 15px 0 20px;
}

.enquire-form-box ul.list-checks li, .variations_form.cart ul.list-checks li {
	margin-bottom: 8px;
}

.enquire-form-box a.cta {
    padding: 9px 0;
    margin: 0;
    flex-grow: 1;
    min-width: 200px;
}

.woocommerce div.product form.cart .variations label {
	color: var(--clr1_alt);
	font-size: 1.2rem;
	line-height: 1.6rem;
}

.woocommerce div.product form.cart .reset_variations {
	display: none !important;
}

.woocommerce div.product p.stock {
	color: var(--clr2);
	font-size: 0.9rem;
	margin: 0 0 5px;
	padding: 0;
}

.woocommerce div.product form.cart .variations, .woocommerce .quantity .qty {
	margin: 0;
}

.woocommerce div.product form.cart .button {
	border-radius: var(--radius_sm);
	background: var(--clr3);
	font-size: var(--cta_fnt_font-size);
	line-height: var(--cta_fnt_line-height);
	font-weight: 800;
	letter-spacing: -0.02em;
	padding: 12px 0;
	margin: 0;
	flex-grow: 1;
	min-width: auto;
}

.woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 0 15px;
}

p.stock.out-of-stock {
	display: none;
}

.woocommerce-variation-add-to-cart .participant-names-container {
	flex: 0 0 100%;
	max-width: 100%;
	margin: 0 0 15px !important;
}

.shop_table .variation-ParticipantNames p, .shop_table .variation-ParticipantNames {
	margin: 0;
	padding: 0;
	font-size: 0.85rem;
	line-height: 1rem;
}

.shop_table dt.variation-ParticipantNames {
	font-weight: bold;
}

.woocommerce-variation-add-to-cart .participant-names-container label {
	font-weight: bold;
	color: var(--clr1_alt);
}

.woocommerce div.product form.cart {
	margin: 25px 0;
}

.woocommerce div.product form.cart div.quantity {
	margin: 0;
}

.woocommerce div.product form.cart .button:hover {
	background: var(--clr3_alt);
}

.woocommerce div.product form.cart a.cta {
	padding: 9px 0;
	margin: 0;
	flex-grow: 1;
	min-width: auto;
}

.woocommerce  .product_meta {
	box-shadow: var(--clrshadow);
	background: var(--clrgrey);
	border-radius: var(--radius_md);
	padding: 15px 20px 15px;
	margin: 25px 0;
}

.woocommerce .product_meta p.item {
	margin: 2px 0;
	padding: 0;
	font-size: 0.95rem;
}

	.woocommerce .product_meta p.item b {
		color: var(--clr1_alt);
	}
	
.woocommerce .product-description.box {
	margin: 30px 0 0 ;
	padding: 25px 30px 30px;
}

.woocommerce.single-product #primary {
	margin: 0 0 20px;
}
	

/* Stack variation labels above fields on single product pages */
.variations tr,
.variations td {
  display: block;
  width: 100%;
}

/* Label above select/input */
.variations .label {
  margin-bottom: 0.25em;
}

.variations .label label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.25em;
}

/* Make the value (dropdown) full-width */
.variations .value select,
.variations .value .select2,
.variations .value input {
  width: 100%;
  max-width: 100%;
}

/* Add spacing between variation rows */
.variations tr + tr {
  margin-top: 1rem;
}

/* Cart / Checkout */
.woocommerce .order-review-container h3.checkout-payment-title {
	margin: 0 0 10px;
}

.woocommerce-error {
    font-size: 0.95rem;
}

#add_payment_method .checkout .checkout-inline-error-message, .woocommerce-cart .checkout .checkout-inline-error-message, .woocommerce-checkout .checkout .checkout-inline-error-message {
	margin-top: 0;
}

body.cart-checkout h2 {
	margin-bottom: 15px;
}

.cart-checkout .woocommerce-breadcrumb {
	padding: 14px 0 8px !important;
}

.cart-checkout ul.products {
	display: none;
}

.cart-checkout main#main {
	margin: 0 0 60px;
}

.woocommerce-cart-form {
	width: 60%;
	float: left;
}

.clear, .woocommerce:after {
	content: "";
	display: block;
	clear: both;
}

.woocommerce .cart-collaterals, .woocommerce-page .cart-collaterals {
	float: right;
	width: calc(40% - 50px);
	box-shadow: var(--clrshadow);
	background: var(--clrwhite);
	border-radius: var(--radius_sm);
	padding: 20px 20px 0;
	box-sizing: border-box;
}

	.woocommerce-page .cart-collaterals h2 {
		margin: 0 0 10px;
		padding: 0;
		font-size: 2rem;
		line-height: 2.8rem;
	}

.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals {
	float: none;
	width: 100%;
}

.woocommerce th.product-thumbnail, .woocommerce td.product-thumbnail, .woocommerce th.product-price, .woocommerce td.product-price {
	display: none;
}

.woocommerce .shop_table {
	background: #fff;
}

.woocommerce .shop_table td.product-name a {
	font-weight: 700;
	color: var(--clr1_alt);
	font-size: 1rem;
	line-height: 1.6rem;
}

.woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td {
	background: rgba(232,244,255,0.5);
}

.woocommerce table.shop_table_responsive tr:nth-child(2n) td, .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
	background: var(--clrwhite);
}

.woocommerce .cart_totals table.shop_table_responsive tr td, .woocommerce-page .cart_totals table.shop_table_responsive tr td {
	background: var(--clrwhite);
}

.woocommerce .shop_table .variation-info {
	font-size: 0.9rem;
	line-height: 1.5rem;
	display: block;
}

.woocommerce table.shop_table td strong.product-quantity {
    margin: 0 0 0 -8px;
    font-size: 0.9rem;
    line-height: 1.2rem;
}

#add_payment_method .wc-proceed-to-checkout a.checkout-button, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
	background: var(--clr3);
	font-weight: 800;
	border-radius: var(--radius_sm);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--clr3_alt);
}

.woocommerce-billing-fields {
	border-radius: var(--radius_sm);
	background: var(--clrwhite);
	box-shadow: var(--clrshadow);
	padding: 30px;
	box-sizing: border-box;
}

	.woocommerce-billing-fields h3 {
		margin: 0;
		padding: 0;
	}
	
.cart-checkout .col2-set {
	width: 50%;
	float: left;
}

.cart-checkout .col2-set .col-1 {
	width: 100%;
}

.woocommerce-account-fields label {
    font-size: 1.2rem;
    font-weight: bold;
    color: var(--clr1);
	margin: 5px 0 0;
	display: block !important;
}

.woocommerce .order-review-container {
	width: calc(50% - 50px);
	float: right;
}

	.woocommerce .order-review-container h3 {
		margin: 0;
	}
	
	.woocommerce .order-review-container .basket-update {
		margin: 0 0 20px;
		padding: 0;
		font-weight: 600;
		color: var(--clr1_alt);
	}
	
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
	background: var(--clrgrey);
}

.woocommerce-terms-and-conditions-wrapper {
	font-size: 0.9rem;
	line-height: 1.5rem;
}

.woocommerce-terms-and-conditions-wrapper p {
	margin: 0;
}

.woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
	border-radius: var(--radius_sm);
	background: var(--clr3);
	font-size: 1.4rem;
	line-height: 2rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	padding: 15px 0;
	margin: 20px 0 0;
	min-width: auto;
	width: 100%;
}

#payment .woocommerce-error, .woocommerce-info, .woocommerce-message {
	margin: 0;
}

#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {
	background: var(--clrwhite);
	box-shadow: var(--clrshadow);
	border-radius: var(--radius_sm);
}

div.payment_box p {
	margin: 0;
	padding: 0;
}

	 div.payment_box p b {
	 	color: var(--clr1_alt);
	 	display: block;
	 	margin: 10px 0 0;
	 }

#add_payment_method #payment div.payment_box::before, .woocommerce-cart #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--clrwhite);
}

.wc_payment_method > label {
	font-weight: 700;
	color: var(--clr1_alt);
	font-size: 1.1rem;
}

.wc_payment_method > label {
	margin: 5px 0;
}
	
/* Footer Fix */		
@media screen and (max-width: 80em) {	
	footer#main .header {
		display: block;
	}
	
	footer#main .ctas {
		margin: 20px 0 0;
	}
	
	footer#main .ctas a, footer#main .ctas a:link, footer#main .ctas a:active, footer#main .ctas a:visited {
		margin: 10px 0 0;
	}
	
	footer#main .social {
		margin: 5px 0 0;
	}
	
	footer#main .social a {
		margin: 10px 12px 0 0;
	}
	
    footer#main h4 {
        margin-top: 0px;
    }
    
    footer#main .header div {
        margin: 0 0 20px;
    }
}
	
/* More than Medium */		
@media screen and (min-width: 64em) {	
	.footer-container .pure-u-1 .hide {
		display: none;
	}
}
			
			
/* Less than Medium */		
@media screen and (max-width: 64em) {
	.footer-container .pure-u-1.hide {
		display: none;
	}
			
	.header-container .ctas {
		flex-grow: 1;
	}
	
	
	div.featured-logos {
		display: grid;
		grid-template-columns: repeat(4, 1fr); /* 6 equal columns */
		gap: 40px 50px; /* space between items */
		justify-content: center; /* center items if fewer than 6 */
		justify-items: center; /* ensure items themselves are centered */
	}
	
		.featured-logos img:nth-of-type(5), .featured-logos img:nth-of-type(6) {
			display: none;
		}
		
    footer#main {
        text-align: left;
    }
    
	
	footer#legal {
		text-align: center;
	}
	
	.woocommerce div.product form.cart a.cta {
		margin: 15px 0 0;
		flex-basis: 100%;
	}
	
	.woocommerce .cart-collaterals, .woocommerce-page .cart-collaterals, .woocommerce-cart-form {
		width: 100%;
		float: none;
	}
	
	.woocommerce table.shop_table_responsive tr td.product-price, .woocommerce-page table.shop_table_responsive tr td.product-price {
		display: none;
	}
	
	.woocommerce table.shop_table_responsive tr td.product-name::before, .woocommerce-page table.shop_table_responsive tr td.product-name::before {
		display: none;
	}
	
	.woocommerce table.shop_table_responsive tr td.product-name, .woocommerce-page table.shop_table_responsive tr td.product-name {
		text-align: left !important;
	}
	
	.woocommerce table.shop_table_responsive tr td::before, .woocommerce-page table.shop_table_responsive tr td::before {
		font-size: 0.9rem;
	}
	
	.woocommerce .cart_totals table.shop_table_responsive tr td::before, .woocommerce-page .cart_totals table.shop_table_responsive tr td::before {
		font-size: 1.1rem;
	}
	
	.woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td {
		background: var(--clrwhite);
	}
	
	.woocommerce table.shop_table_responsive tr:nth-child(2n) td, .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
		background: rgba(232,244,255,0.5);
	}
	
	.woocommerce .cart_totals table.shop_table_responsive tr td, .woocommerce-page .cart_totals table.shop_table_responsive tr td {
		background: var(--clrwhite);
	}
	
  .woocommerce ul.products.columns-3 li.product {
    width: 48%;
    margin-right: 4%;
  }
  .woocommerce ul.products.columns-3 li.product:nth-child(2n) {
    margin-right: 0;
  }
}

/* Less than Small */	
@media screen and (max-width: 48em) { 
    footer#main {
    	text-align: center;
    }
    
    .top-bar-container .message {
    	display: none;
    }
    
	.header-container .logo img {
		width: 125px;
	}
	
	div.featured-logos {
		display: grid;
		grid-template-columns: repeat(2, 1fr); /* 6 equal columns */
		gap: 40px 30px; /* space between items */
		justify-content: center; /* center items if fewer than 6 */
		justify-items: center; /* ensure items themselves are centered */
	}
	
	footer#main h4 {
		margin-top: 30px !important;
	}
	
	.woocommerce .col2-set, .woocommerce-page .col2-set, .woocommerce .order-review-container, .woocommerce-cart-form, .woocommerce .cart-collaterals, .woocommerce-page .cart-collaterals {
		width: 100%;
		float: none;
	}
	
	.woocommerce .order-review-container {
		margin-top: 30px;
	}
	
  .woocommerce ul.products.columns-3 li.product {
    width: 100%;
    margin-right: 0;
  }
}

/* Less than Small */	
@media screen and (max-width: 36em) {     
	.header-container .logo img {
		width: 92px;
	}
}

@media screen and (max-width: 1138px) {     
	.header-container, .header-container .nav .primary-menu {
		gap: 30px;
	}
	
	.header-container .nav .primary-menu {
		font-size: 0.9rem;
	}
}

.grecaptcha-badge { 
    visibility: hidden;
}