/*
 Theme Name:   Mantra
 Theme URI:    https://www.mantra.co.uk
 Description:  A base theme by Mantra.co.uk
 Author:       Greg Findley
 Author URI:   https://www.mantra.co.uk
 Template:     generatepress
 Version:      1.0
*/


/*	Contents
    ----------------------------------------
	1.	Theme adjustments
	2.	Typography
	3.	Global styles
	4.	Gravity forms
    5.	Slick slider
    6.	Custom CSS
    ---------------------------------------- */

/* 	1. Theme adjustments
    ---------------------------------------- */

/* Body bg colour (outside wrapper) */
body {
	background-color: #ffffff;	
}

/* Site wrapper */
.site-wrapper {
	width: 100%;
	max-width: 1920px;
	margin-inline: auto;
	background-color: var(--bg-body);
}

/* Define missing variable */
:root {
	--bg-body: #ffffff;
}

/* Set main content area height */
#main {
	min-height: 65vh;
}

/* Container padding override */
.site-content, #content {
	padding: 0px;
}

/* Post editor width (backend) */
.post-type-post .block-editor-block-list__layout {
	max-width: 728px!important;
	margin-inline: auto!important;
	padding-inline: 200px!important;
}
.post-type-post .edit-post-visual-editor__post_title-wrapper .editor-post-title {
	max-width: 728px!important;
	margin-inline: auto!important;
	padding-inline: 200px!important;
}

/* Mobile menu icon */
span.gp-icon.menu-bars {
	font-size: 1.5rem;
}
.menu-toggle {
	padding: 0;
}

/* Visually hidden */
.visually-hidden:not(:focus):not(:active) {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

/* Line limits */
.line-limit-3, .line-limit-2 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.line-limit-3 {
	-webkit-line-clamp: 3;
}
.line-limit-2 {
	-webkit-line-clamp: 2;
}

/* Balance */
.balance {
    white-space: unset;
	text-wrap: balance;
	-webkit-text-wrap: balance;
}
.nobr {
	white-space: nowrap;
}
.nobr-mobile {
	white-space: nowrap!important;
}

@media (max-width: 768px) {
    /* CSS in here for mobile only */
	.nobr {
		white-space: normal;
	}
}

/* Aspect ratios */
.ar-16-9, .ar-9-16, .ar-4-3 {
	object-fit: cover;
}
.ar-16-9 {
	aspect-ratio: 16/9;
}
.ar-9-16 {
	aspect-ratio: 9/16;
}
.ar-4-3 {
	aspect-ratio: 4/3;
}
.ar-1-1 {
	aspect-ratio: 1/1;
}

/* No underline */
.no-ul, .no-ul a {
	text-decoration: none;
}

/* Border radius */
:root {
	--radius-xs: .125rem;
	--radius-s: .25rem;
	--radius-m: .5rem;
	--radius-l: 1rem;
	--radius-xl: 1.5rem;
	--radius-xxl: 2rem;
	--radius-50: 50%;
}


/* 	2. Typography
    ---------------------------------------- 

	Match to theme Typography settings, font-family pulled from GP font manager
	Set headline font to 'All Headings'
	Set body font to HTML

    ---------------------------------------- */

:root {
	--headline-font: var(--gp-font--greycliff-cf), sans-serif;
	--body-font: var(--gp-font--acumin-pro), sans-serif;

/* Headlines */
	--headline-xs: clamp(1.19rem, 0.42vw + 1.1rem, 1.44rem);
	--headline-s: clamp(1.33rem, 0.78vw + 1.18rem, 1.8rem);
	--headline-m: clamp(1.5rem, 1.25vw + 1.25rem, 2.25rem);
	--headline-l: clamp(1.69rem, 1.88vw + 1.31rem, 2.81rem);
	--headline-xl: clamp(1.9rem, 2.7vw + 1.36rem, 3.52rem);
	--headline-xxl: clamp(2.14rem, 3.76vw + 1.38rem, 4.39rem);
	
/* Pre-headline */
	--pre-headline: clamp(1rem, 0.942rem + 0.292vw, 1.175rem);
	
/* Body copy */
	--body-s: clamp(0.89rem, 0.08vw + 0.88rem, 0.94rem);
	--body-m: clamp(1.01rem, 0.20vw + 0.97rem, 1.13rem);
	--body-l: clamp(1.14rem, 0.36vw + 1.06rem, 1.36rem);
	--body-xl: clamp(1.27rem, 0.58vw + 1.16rem, 1.62rem);

/* Spacing */
	--space-xxs: clamp(0.25rem, 0.167rem + 0.417vw, 0.5rem);
	--space-xs: clamp(0.75rem, 0.667rem + 0.417vw, 1rem);
	--space-s: clamp(1rem, 0.833rem + 0.833vw, 1.5rem);
	--space: clamp(1rem, 0.667rem + 1.667vw, 2rem);
	--space-m: clamp(1.5rem, 1.25rem + 1.25vw, 2.25rem);
	--space-l: clamp(2.25rem, 1.833rem + 2.083vw, 3.5rem);
	--space-xl: clamp(3.5rem, 3.167rem + 1.667vw, 4.5rem);
	--space-xxl: clamp(4.5rem, 3.667rem + 4.167vw, 7rem);
	--space-xxxl: clamp(7rem, 5.833rem + 5.833vw, 10.5rem);
}

/* Default body / p font settings */
p {
	font-family: var(--body-font);
	font-size: var(--body-m);
	font-weight: 400;
	line-height: calc(var(--body-m) * 1.625);
	margin-bottom: var(--space-s);
}
p a, ul li a {
	font-weight: 500;
}
p strong {
	color: var(--headline);
}

/* Default headings font-family, weight, margins */
h1, h2, h3, h4, h5, h6, .gb-headline-xxl, .gb-headline-xl, .gb-headline-l, .gb-headline-m, .gb-headline-s, .gb-headline-xs, .gb-headline-xxs {
	font-weight: 600;
    letter-spacing: -0.025rem;
	font-family: var(--headline-font);
}

/* Title font-size & line-height */
.gb-headline-xxl {
	font-size: var(--headline-xxl);
	line-height: 1.125;
	margin-bottom: var(--space-l);
}
h1, .gb-headline-xl {
	font-size: var(--headline-xl);
	line-height: 1.1;
	margin-bottom: var(--space-l);
}
h2, .gb-headline-l {
	font-size: var(--headline-l);
	line-height: 1.125;
	margin-bottom: var(--space-m);
}
h3, .gb-headline-m {
	font-size: var(--headline-m);
	line-height: 1.25;
	margin-bottom: var(--space-m);
}
h4, .gb-headline-s {
	font-size: var(--headline-s);
	line-height: 1.25;
	margin-bottom: var(--space-s);
}
h5, .gb-headline-xs {
	font-size: var(--headline-xs);
	line-height: 1.375;
	margin-bottom: var(--space-s);
}
h6, .gb-headline-xxs {
	font-size: var(--headline-xxs);
	line-height: 1.5;
	margin-bottom: var(--space-s);
}
.gb-headline-pre {
	font-size: var(--pre-headline);
	text-transform: uppercase;
	letter-spacing: .1em;
	margin-bottom: var(--space-m);
}

/* Additional body font-sizes, body-m is a regular paragraph */
.gb-headline-body-xl, .gb-headline-body-l, .gb-headline-body-s, .gb-headline-body-xs {
	font-family: var(--body-font);
	margin-bottom: var(--space-s);
}
.gb-headline-body-xl {
	font-size: var(--body-xl);
	line-height: calc(var(--body-xl) * 1.65);
}
.gb-headline-body-l {
	font-size: var(--body-l);
	line-height: calc(var(--body-l) * 1.625);
}
.gb-headline-body-m {
	font-size: var(--body-m);
	line-height: calc(var(--body-l) * 1.4);
	margin-bottom: calc(var(--body-l) * 1.4);
}
.gb-headline-body-s {
	font-size: var(--body-s);
	line-height: calc(var(--body-s) * 1.5);
}
.gb-headline-body-xs {
	font-size: var(--body-xs);
	line-height: calc(var(--body-xs) * 1.65);
}

/* Image captions */
figcaption, .gb-headline-img-caption {
	font-size: var(--body-s);
	margin-top: var(--space-xs);
	margin-bottom: var(--space-m);
}

/* Content lists */
ul.content, ol.content, .content ul, .content ol {
	font-size: var(--body-m);
	font-weight: 400;
	line-height: calc(var(--body-m) * 1.65);
	margin-bottom: var(--space-m);
	margin-left: var(--space-m);
}
ul.content li, ol.content li {
	margin-bottom: var(--space-xxs);
}
ul.content-small {
	margin-left: var(--space-m);
	text-wrap: balance;
}
.margin-0 {
	margin-bottom: 0!important;
}

/* Add top margin to blog post h2-h6 */
@media (min-width: 1025px) {
    /* CSS in here for desktop only */
	.single-post :is(h2, h3, h4, h5, h6) {
		margin-top: var(--space-l);
		text-wrap: balance;
	}
}
@media (max-width: 768px) {
    /* CSS in here for mobile only */
	.single-post :is(h2, h3, h4, h5, h6) {
		margin-top: var(--space-m);
		text-wrap: balance;
	}
}

/* Buttons */
.gb-button-primary {
    color: #ffffff!important;
}

/* Remove bottom margin on last paragraph */
.gb-container p:last-child:last-of-type {
	margin-bottom: 0px;
}
.block-editor-block-list__layout .gb-container p:nth-last-child(2) {
	margin-bottom: 0px;
}

/* Accent underlines */
.accent-underline {
	position: relative;
	width: 100%;
}
.accent-underline::after {
	content: "";
	border-bottom: 0.075rem #bed4dc solid;
	margin: auto;
	width: 100%;
    width: -moz-available;          /* WebKit-based browsers will ignore this. */
    width: -webkit-fill-available;  /* Mozilla-based browsers will ignore this. */
    width: fill-available;
	margin-left: 10px;
	top: clamp(1.5rem, 1.25vw + 1.25rem, 2.25rem);
	position: absolute;
  	z-index: -1;
}

/* Nav last item padding fix */
.main-nav ul li:last-child a {
    padding-right: 0;
}

/* 	3. Global styles
    ---------------------------------------- */

/* Sections */
.gb-container-section-xs {
	padding: var(--space-xs) var(--space-m) 0 var(--space-m);
}
.gb-container-section-s {
	padding: var(--space-s) var(--space-m) 0 var(--space-m);
}
.gb-container-section-m {
	padding: var(--space-m) var(--space-m) 0 var(--space-m);
}
.gb-container-section-l {
	padding: var(--space-l) var(--space-m) 0 var(--space-m);
}
.gb-container-section {
	padding: var(--space-xl) var(--space-m) 0 var(--space-m);
}
.gb-container-section-xl {
	padding: var(--space-xxl) var(--space-m) 0 var(--space-m);
}
.gb-container-section-xxl {
	padding: var(--space-xxxl) var(--space-m) 0 var(--space-m);
}

/* Content image margin */
.content .gb-block-image img {
	margin: var(--space-xs) 0;
}

/* Separator */
.wp-block-separator {
	border: none;
    border-bottom: 0.075rem #bed4dc solid;
    margin: var(--space-l) 0;
}

/* Container widths */
:root {
	--width-l: 64rem;
	--width-m: 56rem;
	--width-s: 48rem;
	--width-xs: 40rem;
}

/* Announcement bar */
.announcement-bar {
	position: relative;
}
.announcement-bar-closed {
	display: none;
}
.announcement-close {
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translatey(-50%);
	cursor: pointer;
}


@media (max-width: 768px) {
    /* CSS in here for mobile only */
	.gform_wrapper .gform_footer input.gform_button[type='submit'] {
		width: 100%;
	}
	.gf-turnstile-container {
		margin: var(--space-s) auto!important;
	}  
	.accent-underline::after {
		display: none;
	}
}

/* Show/hide get started button */
@media (max-width: 550px) {
	.nav-buttons {
		display: none;
	}
}
@media (min-width: 900px) {
	.nav-mobile-only {
		display: none;
	}
}
.menu-toggle .gp-icon+.mobile-menu {
    padding: 1rem;
    font-weight: 700;
    font-size: calc(var(--body-s) + 0.15rem);
}
.gp-icon svg {
	top: 0!important;
}

/* Mobile nav */

@media (max-width: 900px) {
    /* CSS in here for mobile only */
	button.menu-toggle {
		display: flex !important;
		flex-direction: row-reverse;
		align-items: center;
		margin-right: 0;
		border-right: none;
		height: 50px;
		padding-right: 0;
	}
	.footer-small {
		max-inline-size: 40ch;
		margin: 0 auto;
	}
}
@media (max-width: 680px) {
	/* Hide CTA icons on mobile */
	.no-icon-mobile .gb-icon {
		display: none;
	}
}
ul.content b, ul.content strong {
	color: var(--headline);
}
.main-navigation .main-nav ul li a, .main-nav-button {
	font-size: calc(var(--body-s) + 0.2rem);
	font-weight: 600;
	transition: all 0.1s ease;
}
.main-navigation .main-nav ul li a:hover {
	transform: translate3d(0px, -2px, 0px);
}
/* Show parent page as active in nav when viewing child page */
.main-navigation .main-nav .current-page-ancestor > a {
    color: var(--brand-one);
}
.headline-cta h6.strong {
	font-weight: 700;
    border-bottom: none;
    padding-bottom: 0.1rem;
}
.headline-cta:hover .gb-headline-text strong {
    border-bottom: 0.2rem solid var(--headline);
    padding-bottom: 0.1rem;
}
.yellow-underline a:hover {
    border-bottom: 0.1rem solid var(--brand-one);
    padding-bottom: 0.05rem;
}

/* MODAL POPUPS */
.bod-block-popup-closer {
	display: none;
}
.right-breakout {
	position: absolute;
	top: 0;
	display: flex;
	height: 100%;
}
.right-breakout img {
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
    pointer-events: none; /* Note: disables keyboard interaction on current menu links */
}

.homepage-block:hover .yellow-underline span.gb-headline-text {
    border-bottom: 0.1rem solid var(--brand-one);
    padding-bottom: 0.1rem;
}
h3.yellow-underline span.gb-headline-text {
	padding-bottom: 0.1rem;
	border-bottom: 0.1rem solid var(--bg-dark);
}

/* CONTACT PAGE */
.contact-details.wp-block-table td, .wp-block-table th {
    border: 0;
    padding: 0.25rem 0;
    font-size: var(--body-m);
}
.contact-details table {
	border: 0;
}
.contact-details.wp-block-table td {
	color: var(--headline);
}
.contact-details table tbody {
	vertical-align: top;
}

/* FOOTER */
.footer-nav ul.wp-block-navigation {
	column-gap: var(--space-s);
	font-size: calc(var(--body-s) + 0.1rem);
	letter-spacing: 0.025em;
	font-weight: 600;
	padding: 1rem 0;
	color: var(--bg-light);
}
.footer-nav ul.wp-block-navigation li:hover {
	color: var(--brand-one);
}
.footer-nav ul.wp-block-navigation li[class*="current-menu-"] > a {
    color: rgba(171,171,171,0.75);
}
.footer-small {
	text-align: center;
    margin-top: var(--space-xs);
    margin-bottom: 0px;
    color: var(--text-light);
	font-size: var(--body-s);
    line-height: 1.5;
}
.footer-small a {
	color: #fff;
	text-decoration: underline;
}
.footer-small a:hover {
	color: var(--brand-one);
}
.company-no { 
    pointer-events: none; 
}
.company-no > a { 
	text-decoration: none!important;
	color: inherit; 
	border: none!important;
}

/* 	4. Gravity forms
    ---------------------------------------- */

body img.gform_ajax_spinner {
	display: none !important;
}
.gform_wrapper.gravity-theme .gform_fields {
    grid-row-gap: var(--space-xs);
}
.gform_wrapper .gform_body input,
.gform_wrapper .gform_body textarea,
.gform_wrapper .gform_footer input.gform_button[type='submit'] {
	transition: 0.1s ease-in-out all;
}
.gform_wrapper .gform_body input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
.gform_wrapper .gform_body textarea {
	border-width: 1px;
	border-color: #c6c6c6;
	border-style: none;
	background-color: #ffffff;
	padding: 0.8rem 1rem;
	font-weight: 400;
	font-size: var(--body-m);
	color: var(--headline);
	width: 100%;
}
body .gform_wrapper .gform_body .gform_fields .gfield .large.gfield_select {
	border-width: 1px;
	border-color: #c6c6c6;
	border-style: none;
	background-color: #ffffff;
	padding: 0.8rem 1rem;
	font-weight: 600;
	font-size: var(--body-m);
	color: var(--headline);
	width: 100%;
}
.gform_wrapper .gform_body input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):focus,
.gform_wrapper .gform_body textarea:focus {
	box-shadow: rgba(171, 171, 171, 0.25) 0px 0px 10px 0px;
}
.gform_wrapper .gform_body label.gfield_label, .gform_wrapper.gravity-theme .gfield_label {
	font-size: var(--body-m);
	margin-bottom: 0.65rem;
	font-weight: 600;
	color: var(--headline);
}
.gform_wrapper .gform_body input::placeholder,
.gform_wrapper .gform_body textarea::placeholder {
	font-size: 16px;
	font-weight: 400;
	color: #707070;
}
.gform_wrapper .gform_footer input.gform_button[type='submit'] {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    font-size: calc(var(--body-m));
    font-weight: 600;
    padding: calc(var(--space-s) - 0.5rem) calc(var(--space-m) - 0.2rem) calc(var(--space-s) - 0.25rem);
    border-radius: 100px;
    background-color: var(--brand-one);
    color: #ffffff;
	transition: all 0.3s ease;
	min-width: 300px;
}
.gform_wrapper .gform_footer input.gform_button[type='submit']:hover {
	background-color: var(--brand-two);
}
.gform_wrapper .gform_body input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .gform_wrapper .gform_body textarea {
	background-color: #ffffff; 
	border: 1px solid #c6c6c6;
	border-radius: var(--radius-s);
}
.gform_legacy_markup_wrapper .gf_progressbar_percentage.percentbar_blue {
	background-color: var(--primary);
}
.gform_legacy_markup_wrapper .gsection {
	border-bottom: none;
}
.gform_required_legend, .gform_wrapper.gravity-theme .gform_validation_errors {
	display: none;
}
.gform_wrapper.gravity-theme .gfield_required {
	color: var(--text-link);
    font-size: var(--body-m);
    font-weight: 500;
}
.gform_wrapper.gravity-theme .gfield_checkbox label, .gform_wrapper.gravity-theme .gfield_radio label {
    font-size: calc(var(--body-s) + 0.1rem);
    line-height: 1.65;
	margin-left: 0.75rem;
	font-weight: 400;
}
.gf-turnstile-container {
    width: 300px!important;
    display: inline-flex;
    margin: 1rem 0;
}
.gform_wrapper.gravity-theme .gform_footer, .gform_wrapper.gravity-theme .gform_page_footer {
    margin-top: var(--space-xs);
}

/* 	5. Slick slider
    ---------------------------------------- */

.slick-slide img {
	display: inline-block!important;
}
.slick-next {
	right: -34px;
}
.slick-prev {
    left: -34px;
}
.wp-block-cb-carousel .slick-next:before, .wp-block-cb-carousel .slick-prev:before {
    color: #fff;
}
.slick-next:before, .slick-prev:before {
    font-size: 30px;
    opacity: 0.9;
}
button.slick-prev.slick-arrow {
	z-index: 9999;
}
.slick-next:before {
	content: url(../wp-content/uploads/slider-next.svg);
	width: 18px;
	height: 40px;
}
.slick-prev:before {
	content: url(../wp-content/uploads/slider-prev.svg);
    width: 18px;
	height: 40px;
}
.slick-next, .slick-prev {
    width: 18px;
    height: 40px;
}

/* 	6. Custom CSS
    ---------------------------------------- */

div#primary-menu.main-nav ul li:last-child a {
	padding-right: 0;
}
.slideout-navigation.main-navigation .main-nav ul li a {
    font-size: var(--headline-s);
}



.blog-excerpt p {
	font-size: var(--body-l);
	line-height: calc(var(--body-l) * 1.625);
}
.sticky {
    position: sticky;
    top: 24px;
}
@media(min-width: 769px) {
    .custom-sidebar > .gb-inside-container,
    .custom-sidebar > .gb-inside-container > .gb-container,
    .custom-sidebar > .gb-inside-container > .gb-container > .gb-inside-container {
        height: 100%;
    }
    .is-sticky {
        position: sticky;
        top: var(--space-m);
    }
}



/* For 3 cells with 1rem gap */
.carousel-cell {
	width: calc(33.333% - var(--space-s) * 2/3);
	margin-right: var(--space-s);
}


/* Pagination */
.flickity-page-dots {
    width: 100%;
    bottom: -1.5rem;
    padding: 0;
    margin: 0;    
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 0.5rem;
}

.flickity-page-dots .dot {
    width: 0.5rem;
    height: 0.5rem;
    margin: 0;
    background: #000;
}

/* Navigation */
.flickity-button{
    height: 2.5rem;
    width: 2.5rem;
    background: none;
    color: var(--brand-two);
}

.flickity-button:hover{
    background: none;
	color: var(--brand-three);
}

.flickity-prev-next-button.previous{
    left: 0;
    transform: translateX(-3.5rem) translateY(-50%);
}

.flickity-prev-next-button.next{
    right: 0;
    transform: translateX(3.5rem) translateY(-50%);
}


.right-breakout-homepage {
    position: absolute;
    height: 432px;
    top: 0;
    bottom: 0;
    margin: auto 0;
}


.inside-article a {
    font-weight: 600;
}


/* ===== LearnDash Focus & Header ===== */

.learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu .ld-text {
    color: var(--text);
    font-size: var(--body-s);
    font-weight: 500;
}
.ld-profile-avatar {
  display: flex;
  align-items: center;
}
.ld-profile-avatar img {
	border-radius: 999px;
}
.learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu {
	border: none;
	padding-right: 0;
}
.learndash-wrapper .ld-focus .ld-focus-header .ld-content-action, .learndash-wrapper .ld-focus .ld-focus-header .ld-progress {
	border: none;
}
div.ld-brand-logo {
	border-right: 1px solid #e2e7ed;
}

.ld-focus-content h1 {
	margin: var(--space-l) 0 var(--space-m) 0!important;
    font-size: var(--headline-l);
    font-weight: 700;
    color: var(--brand-one);
    padding: 0;
}
ul.wp-block-list, ol.wp-block-list {
	font-size: var(--body-m);
    font-weight: 500;
    line-height: calc(var(--body-m) * 1.625);
    margin-bottom: var(--space-m);
}


body.admin-bar .learndash-wrapper .ld-focus-sidebar {
    top: 32px;
    font-weight: 600;
    font-size: var(--body-m);
	background-color: #f0f3f6;
}

/* Reset plugin's forced absolute positioning on the icon */
.ld-focus-mode-course-heading-wrapper .ld-icon {
  position: static !important;
  top: auto !important;
  left: auto !important;

  display: inline-flex;
  align-items: center;
  margin-right: 6px;
  vertical-align: middle;
}

/* Flex container to align icon + text */
.ld-focus-mode-course-heading-wrapper a {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

/* Underline only the text, not the icon */
.ld-focus-mode-course-heading-wrapper a span:not(.ld-icon) {
  text-decoration: underline;
}
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading {
	padding: 1.75rem 3rem 1.75rem 1rem;
}
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading .ld-focus-mode-course-heading-wrapper {
	padding: 0;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item .ld-lesson-item-preview {
    padding: var(--space-xs);
}
.learndash-wrapper .ld-course-navigation .ld-lesson-item-preview .ld-lesson-title {
	font-weight: 500;
}
.learndash-wrapper .ld-course-navigation .ld-status-icon {
	margin-right: 12px;
	margin-top: 2px;
	flex: 0 0 20px;
    height: 20px;
    width: 20px;
}
.learndash-wrapper .ld-course-navigation .ld-status-icon .ld-icon-checkmark {
	font-size: .75em;
}
.ld-user-menu .ld-profile-avatar img {
	height: 65px!important;
	width: 65px!important;
}

.ld-accordion__item-attribute-icon {
	height: 1.2rem!important;
	width: 1.2rem!important;
}
.ld-accordion__item-attribute-icon--progress {
	color: var(--brand-two);
}
pre.wp-block-verse {
	padding: var(--space-m)!important;
	background-color: #f0f3f6;
	font-family: var(--body-font);
    font-size: calc(var(--body-m) * 0.95);
    font-weight: 400;
    line-height: calc(var(--body-m) * 1.45);
	margin-bottom: var(--space-s)!important;
}
pre.wp-block-verse b, pre.wp-block-verse strong {
	color: var(--brand-one);
}
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-topic-list.ld-table-list {
	background-color: var(--bg-light);
}

/* Expand button */
.learndash-wrapper .ld-expand-button {
	display: inline-flex;
	align-items: center;
}
.learndash-wrapper .ld-expand-button .ld-icon.ld-icon-arrow-down.ld-primary-background,
.learndash-wrapper .ld-expand-button .ld-icon.ld-icon-arrow-up.ld-primary-background {
	background: none !important;
	border: none !important;
	color: #2a5bd7 !important;	
	font-size: 14px;
	line-height: 1;
	border-radius: 0 !important;
	padding: 0 !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.2em;
	height: 1.2em;
	margin-left: 6px;
}
.learndash-wrapper .ld-expand-button:focus {
	outline: none !important;
    box-shadow: 0 0 0 2px rgba(42,91,215,0.3);
    border-radius: 4px;
}

.learndash.learndash_post_sfwd-courses {
	padding: var(--space-m);
}


.ld-course-list-items .ld_course_grid .thumbnail.course .ribbon.enrolled {
	display: none;
}
.ld-course-list-items .ld_course_grid .thumbnail .caption {
    margin: var(--space-s) var(--space-xs);
    color: var(--brand-one);
}
.ld-course-list-items .ld_course_grid .ld_course_grid_button {
    margin: var(--space-s) 0!important;
}
.ld-course-list-items .ld_course_grid .entry-title {
    line-height: 1.2;
    font-size: var(--headline-s);
    font-weight: 700;
    color: var(--brand-one);
}
.ld-course-list-items .ld_course_grid .thumbnail.course img {
	height: 250px;
}
.ld-course-list-items .ld_course_grid .thumbnail.course {
	min-height: 500px;
}
.ld-course-list-items .ld_course_grid {
    margin-bottom: var(--space-m);
}

/* Progress */
.ld-breakpoint--small .ld-progress-bar {
    margin-bottom: var(--space-m);
    padding: var(--space-m) var(--space-s);
    background-color: var(--bg-light-blue);
    border-radius: var(--space-xxs);
}
.ld-progress-bar__meter-background {
	background-color: #fff!important;
}
.ld-progress-bar__label {
	font-size: var(--body-m)!important;
	font-weight: 600!important;
	text-transform: capitalize!important;
}
.ld-breakpoint--small .ld-progress-bar {
	gap: var(--ld-spacer-3) var(--ld-spacer-fixed-3);
}
div.ld-progress-bar {
	display: flex;
  justify-content: left;
  align-items: center;
  width: 100%;
}

h2.ld-accordion__heading {
	font-size: var(--headline-m);
  line-height: 1.125;
  margin-bottom: var(--space-xxs);
	color: var(--text);
}

/* LearnDash Focus Header sizing vars */
:root {
	--ld-focus-mode-header-height: 120px;
}
.learndash-wrapper .ld-focus .ld-focus-header,
.learndash-wrapper .ld-focus .ld-focus-header .ld-content-action,
.learndash-wrapper .ld-focus .ld-focus-header .ld-button,
.learndash-wrapper .ld-focus .ld-focus-header .ld-progress {
	height: var(--ld-focus-mode-header-height);
}
/* Square avatar */
.learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu .ld-profile-avatar {
	width: calc(var(--ld-focus-mode-header-height) - 1px);
	height: calc(var(--ld-focus-mode-header-height) - 1px);
}
.learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu {
	height: calc(var(--ld-focus-mode-header-height) - 1px);
}
.learndash-wrapper .ld-focus .ld-focus-sidebar {
	padding-top: var(--ld-focus-mode-header-height);
}
.learndash-wrapper .ld-focus .ld-focus-header .ld-brand-logo {
	padding: 20px;
}

/* Navigation / Lists */
a.ld-topic-row, a.ld-lesson-item-preview-heading {
	text-decoration: none!important;
}
.learndash-wrapper .ld-course-navigation .ld-lesson-item-section-heading {
	margin: 15px 0!important;
	font-weight: 800;
    letter-spacing: 0.2px;
    color: var(--brand-one);
}
.learndash-wrapper .ld-course-navigation .ld-status-icon.ld-status-incomplete {
	border: 1px solid var(--text-light) !important;
}
.learndash-wrapper .ld-topic-list.ld-table-list .ld-table-list-item .ld-table-list-item-preview .ld-status-icon {
    margin-right: 1em;
}
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-topic-list.ld-table-list .ld-table-list-item .ld-table-list-item-preview {
    padding-left: 1.4em;
}
.learndash-wrapper .ld-course-navigation .ld-table-list.ld-topic-list .ld-table-list-item .ld-table-list-item-preview.ld-is-current-item, .learndash-wrapper .ld-course-navigation .ld-lesson-item.ld-is-current-lesson .ld-lesson-title {
    font-weight: 800;
	color: #4d67d4!important;
}

img.ld-featured-image--course {
    display: none !important;
}

/* Profile */
.learndash-wrapper .ld-profile-summary .ld-profile-card {
	margin: 0 0 var(--space-s) 0;
}
.learndash-wrapper .ld-profile-summary .ld-profile-card .ld-profile-heading {
	color: var(--brand-one);
    font-size: var(--headline-s);
    font-weight: 500;
    margin-top: var(--space-s) !important;
    margin-bottom: 0;
}
.learndash-wrapper .ld-profile-summary {
	margin: 0;
}
.learndash-wrapper .ld-profile-summary .ld-profile-card .ld-profile-avatar {
	width: 140px;
	height: 140px;
}
.learndash-wrapper .ld-profile-summary .ld-profile-stats .ld-profile-stat strong {
    display: block;
    font-size: var(--headline-m);
    font-weight: 600;
    margin-bottom: 0;
    color: var(--brand-two);
}

/* Progress bars (cards) */
.ld-progress-bar__meter-background--card {
  width: 100%;
  height: 6px;
  background-color: #f3f3f3;
  border-radius: 9999px;
  overflow: hidden;
  position: relative;
  margin-top: 2px;
}
.ld-progress-bar__meter-foreground--card {
	height: 100%;
	width: calc(var(--bar-width, 0%) * 1);
	background-color: var(--brand-three);
	border-radius: 9999px;
	transition: width 0.4s ease;
}
.ld-progress-bar__meter-foreground--card::before {
	content: '';
	position: absolute;
	border-radius: inherit;
}
.progress-bar-text {
	font-size: var(--body-font);	
	text-transform: uppercase;
	font-weight: 500;
	text-align: right;
	color: var(--brand-one);
}

/* Tables */
.wp-block-table table {
    color: var(--text);
    font-weight: 400;
    line-height: 1.625;
}
table, td, th {
    border: none!important;
    margin: 0!important;
    padding: 0;
}

/* LearnDash Login/Registration/Reset */
.ld-registration__heading, .ld-registration__login, .ld-registration__p, .ld-registration__register {
	display: none;
}
.ld-registration__forgot-password-form label {
	font-size: var(--body-m)!important;
    margin-bottom: 0.65rem!important;
    font-weight: 600!important;
    color: var(--headline)!important;
}
.ld-registration__forgot-password-form input[type=text] {
    background-color: #ffffff!important;
    border: 1px solid #c6c6c6!important;
    border-radius: var(--radius-s)!important;
}
.ld-form .ld-form__field:active, .ld-form .ld-form__field:focus {
    background-color: #ffffff!important;
    border: 1px solid #c6c6c6!important;
    border-radius: var(--radius-s)!important;
}

/* Reset Password button */
.ld-registration__forgot-password-form input[type="submit"],
.ld-registration__forgot-password-form .button {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  font-size: var(--body-m);
  font-weight: 600;
  padding: calc(var(--space-s) - 0.5rem)
           calc(var(--space-m) - 0.2rem)
           calc(var(--space-s) - 0.25rem);
  border-radius: 100px;
  background-color: var(--brand-one);
  color: #ffffff;
  transition: background-color 0.3s ease, opacity 0.3s ease;
  width: 100%;
  min-width: 300px;
  border: none;
  cursor: pointer;
  box-shadow: none;
}
.ld-registration__forgot-password-form input[type="submit"]:hover,
.ld-registration__forgot-password-form input[type="submit"]:focus {
  background-color: var(--brand-two);
  opacity: 1;
  transform: none;
}

/* Unified Input Styles (GF + LD) */
.gform_wrapper .gform_body input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
.gform_wrapper .gform_body textarea,
.ld-registration__wrapper input[type="text"],
.ld-registration__wrapper input[type="email"],
.ld-registration__wrapper input[type="password"],
.ld-registration__wrapper textarea {
  background-color: #ffffff;
  border: 1px solid #c6c6c6;
  border-radius: var(--radius-s);
  width: 100%;
  padding: 0.85rem 1rem;
  font-size: 1rem;
  font-family: inherit;
  line-height: 1.4;
  color: #000;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
  appearance: none;
  outline: none;
}
.gform_wrapper .gform_body input:focus,
.gform_wrapper .gform_body textarea:focus,
.ld-registration__wrapper input[type="text"]:focus,
.ld-registration__wrapper input[type="email"]:focus,
.ld-registration__wrapper input[type="password"]:focus,
.ld-registration__wrapper textarea:focus {
  border-color: var(--brand-one);
  box-shadow: 0 0 0 2px rgba(0, 86, 179, 0.15);
  outline: none;
}
.ld-form label,
.gform_wrapper .gfield_label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--text-dark, #1a1a1a);
}
.ld-form__field-wrapper {
  margin-bottom: var(--space-s);
}

/* Reset Password (Set New Password) */
.ld-registration__reset-password-form input[type="submit"],
.ld-registration__reset-password-form .button {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  font-size: var(--body-m);
  font-weight: 600;
  padding: calc(var(--space-s) - 0.5rem)
           calc(var(--space-m) - 0.2rem)
           calc(var(--space-s) - 0.25rem);
  border-radius: 100px;
  background-color: var(--brand-one);
  color: #ffffff;
  transition: background-color 0.3s ease, opacity 0.3s ease;
  width: 100%;
  min-width: 300px;
  border: none;
  cursor: pointer;
  box-shadow: none;
}
.ld-registration__reset-password-form input[type="submit"]:hover,
.ld-registration__reset-password-form input[type="submit"]:focus {
  background-color: var(--brand-two);
  opacity: 1;
  transform: none;
}
.ld-registration__reset-password-form .ld-button__password-visibility-toggle {
  border: 1px solid #c6c6c6;
  border-radius: var(--radius-s);
  background-color: #ffffff;
  color: var(--text-dark, #1a1a1a);
  font-weight: 500;
  transition: all 0.3s ease;
}
.ld-registration__reset-password-form .ld-button__password-visibility-toggle:hover {
  border-color: var(--brand-one);
  color: var(--brand-one);
}

/* Login success banner */
.login-success {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: none;
  background: #e8f9ee;
  border-bottom: 1px solid #00a676;
  color: #005b40;
  padding: 1rem 1.25rem;
  font-weight: 500;
  text-align: center;
  z-index: 9999;
}

/* Lesson links in LearnDash accordion */
.ld-accordion__item-title--lesson {
  color: var(--brand-two);
  text-decoration: none!important;
  border-bottom: 0.08rem solid var(--brand-two);
  transition: color 0.2s ease, border-color 0.2s ease;
}
.ld-accordion__item-title--lesson:hover {
	border-bottom: 0.08rem solid var(--ld-color-brand-primary)!important;
	text-decoration: none!important;
}



.ld-alert--modern {
  display: flex;
  align-items: center!important;
}

.ld-alert__content {
  align-items: center!important;
}
.ld-alert__icon {
  display: none !important;
}

.ld-alert.ld-alert--modern.ld-alert--info {
	background-color: rgb(from var(--brand-three) r g b / 0.1) !important;
	border-color: var(--brand-three)!important;
}
span.ld-alert__message {
	font-size: var(--body-m) !important;
	font-weight: 600 !important;
	color: var(--brand-one)!important;
}
.ld-breakpoint--small .ld-alert--action-button .ld-alert__message {
	margin-top: 0!important;
}

.ld-breakpoint--small .ld-alert.ld-alert--modern {
	padding: var(--space-s)!important;
}
.ld-alert__button {
	background-color: var(--brand-two)!important;
	color: #fff!important;
	font-size: var(--body-s)!important;
	font-weight: 600!important;
	padding: var(--space-xs) var(--space-s)!important;
}
.ld-alert__button:hover {
	background-color: var(--brand-three)!important;
}






.tab-icon svg {
	height: 1.35rem!important;
	width: 1.35rem!important;
	color: var(--brand-two);
}

.gb-tabs__menu-item.tab-content.gb-block-is-current {
    color: var(--brand-two);
    border-bottom: 0.3rem solid var(--brand-two);
}


.lduc-wrapper { margin: 0.5rem 0; }
.lduc-list { list-style: none; margin: 0; padding: 0; }
.lduc-item + .lduc-item { margin-top: .6rem; }

.lduc-title { font-weight: 600; }
.lduc-context { opacity: .7; }
.lduc-meta { margin-right: .5rem; font-weight: 500; }

.lduc-btn, .lduc-btn-link {
  display: inline-block;
  padding: .5rem .8rem;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 8px;
  text-decoration: none;
}
.lduc-grid { display: grid; gap: 1rem; }
.lduc-cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.lduc-cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.lduc-cols-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.lduc-cols-5 { grid-template-columns: repeat(5, minmax(0,1fr)); }
.lduc-cols-6 { grid-template-columns: repeat(6, minmax(0,1fr)); }
.lduc-card { padding: .9rem; border: 1px solid rgba(0,0,0,.08); border-radius: 10px; }



/* Box wrapper */
.ld-quiz-attempts {
    margin: 0 0 2rem;
    padding: 1rem 1.25rem;
    border: 1px solid #eee;
    background: #fafafa;
    border-radius: 4px;
}

/* Heading styling as requested */
.ld-quiz-attempts__title {
    font-size: var(--body-m) !important;
    font-weight: 600 !important;
    color: var(--brand-one) !important;
    margin: 0 0 1rem;
}

/* Table basics */
.ld-quiz-attempts__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.ld-quiz-attempts__table th,
.ld-quiz-attempts__table td {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #e5e5e5;
    text-align: left;
}

.ld-quiz-attempts__table th {
    font-weight: 600;
}

/* Result cell with icon + text */
.ld-quiz-result {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

/* Icons inherit color from result cell */
.ld-quiz-result-icon {
    display: inline-block;
}

/* Optional: give pass/fail their own colours */
.ld-quiz-result--pass {
    color: #1a8f4c; /* tweak or remove if you prefer */
}

.ld-quiz-result--fail {
    color: #c23838;
}


body.single-sfwd-quiz .ld-breadcrumbs {
    display: none !important;
}


