/*
 * --------------------------------------------------------------------------
 * TABLE OF CONTENTS
 * --------------------------------------------------------------------------
 *
 * SECTION: Accreditation
 * SECTION: Testimonial
 * SECTION: Benefits
 * SECTION: Additional Information
 * SECTION: Target Market
 * SECTION: Staff
 * SECTION: USP
 * SECTION: Hero
 * SECTION: Programme Outline
 * SECTION: Form
 * SECTION: Subject Matter Expert
 * SECTION: Guest Expert
 * SECTION: Video
 *
 */


/*==========================================================================
	SECTION: EXAMPLE
============================================================================*/

.example {
	background-color: var(--example-bg-color);
}

.example-image {
	display: block;
	max-width: 100%;
}

/*==========================================================================
	SECTION: ACCREDITATION
============================================================================*/

.accreditation {
	background-color: var(--accreditation-background-color);
}

.accreditation .image-wrapper, 
.accreditation .description {
	display: flex;
	flex-direction: column;
}

.accreditation .image-wrapper {
	--accreditation-image-width-mobile: 164px;

	margin: 0 auto;
	max-width: var(--accreditation-image-width-mobile);
}

.accreditation .description {
	width: 100%;
	text-align: center;
	color: var(--accreditation-copy-color);
	line-height: 1.5;
}

.accreditation .description > * {
	margin: 0;
}

.accreditation .description > p {
	font-size: 0.875rem;
}

@media screen and (min-width: 992px) {
	.accreditation .image-wrapper {
		--accreditation-image-width-desktop: 276px;

		max-width: var(--accreditation-image-width-desktop);
	}

	.accreditation .description {
		text-align: var(--accreditation-description-text-alignment-desktop);
	}

	.accreditation .description > p {
		font-size: 1rem;
	}
}

/*==========================================================================
	SECTION: TESTIMONIAL
============================================================================*/

.testimonial {
	background-color: var(--testimonial-background-color);
}

.testimonial .content-wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.testimonial .image-wrapper {
	max-width: var(--testimonial-image-width);
	margin-bottom: 16px;
}

.testimonial .subheading {
	font-size: 16px;
	color: var(--testimonial-subheading-color);
}

.testimonial .body {
	font-size: 14px;
	color: var(--testimonial-body-color);
}

@media screen and (min-width: 768px) {
	.testimonial .subheading {
		font-size: 20px;
	}

	.testimonial .body {
		font-size: 16px;
	}
}

/*==========================================================================
    SECTION: BENEFITS
============================================================================*/

.highlight-number {
    color: var(--highlight-number-color);
	font-size: 32px;
    font-weight: 700;
	margin: 0;
}

.benefits .section-heading {
    font-size: 2.5rem;
	color: var(--benefits-heading-color);
	margin-bottom: 48px;
}

.benefits .benefit-item-wrapper {
	padding: 8px;
	margin-bottom: 0;
	gap: 16px;
}

.benefits .benefit-item-text {
	color: var(--benefits-copy-color);
}

.benefits .benefit-item-text > * {
	margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    .benefits .section-heading {
        font-size: 1.87rem;
		margin-bottom: 24px;
    }

	.highlight-number {
		font-size: 28px;
	}

	.benefits .benefit-item-wrapper {
		gap: 8px;
	}
}

/*==========================================================================
	SECTION: ADDITIONAL INFORMATION
============================================================================*/

.additional-information {
	background-color: var(--additional-information-background-color);
}

.additional-information .section-heading {
	font-size: 30px;
	line-height: 1.2;
	color: var(--additional-information-heading-color, var(--body-color));
	text-align: center;
}

.additional-information .body {
	color: var(--additional-information-body-color, var(--body-color));
	text-align: center;
}

.additional-information .section-heading > *,
.additional-information .body > * {
	margin: 0;
}

@media screen and (min-width: 768px) {
	.additional-information .section-heading {
		font-size: 40px;
	}
}

@media screen and (min-width: 992px) {
	.additional-information .section-heading, 
	.additional-information .body {
		text-align: var(--additional-information-copy-text-alignment-desktop);
	}
}

/*==========================================================================
	SECTION: TARGET MARKET
============================================================================*/

.target-market {
	background-color: var(--target-market-background-color);
}

.target-market .text-wrapper {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.target-market .section-heading {
	font-size: 30px;
	line-height: 1.2;
	color: var(--target-market-heading-color, var(--body-color));
	font-weight: 700;
	text-align: center;
}

.target-market .body {
	color: var(--target-market-body-color, var(--body-color));
}

.target-market .body > * {
	margin: 0;
}

.target-market .no-image .text-wrapper {
    text-align: center;
    align-items: center;
}

.target-market .no-image .body ul {
	text-align: left;
    margin: auto;
}

.target-market .no-image .body {
    align-items: center;
	text-align: center;
}

@media screen and (min-width: 768px) {
	.target-market .section-heading {
		font-size: 40px;
	}
}

/*==========================================================================
	SECTION: STAFF
============================================================================*/

.staff {
    background-color: var(--staff-background-color);
}

.staff .section-heading {
    color: var(--staff-heading-color, var(--body-color));
    text-align: center;
    margin-bottom: 2rem;
}

.staff .staff-member-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center; 
    text-align: center;
    height: 100%;
    width: 100%;
}

.staff .staff-member-card {
    padding: 24px; 
    background-color: var(--staff-member-card-background-color);
    border-radius: 16px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.staff .staff-member-image-wrapper {
    margin-bottom: 16px;
    display: flex;
    justify-content: center; 
    width: 100%;
}

.staff .staff-member-image {
    --image-size: 111px;

    width: var(--image-size);
    height: var(--image-size);
    max-height: 100%;
    border-radius: 50%;
}

.staff-member-name {
    color: var(--staff-member-name-color);
    font-weight: bold;
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
}

.staff-member-bio-wrapper {
    color: var(--staff-member-bio-color);
    font-size: 1rem;
}

@media (max-width: 767px) {
    .staff-member-wrapper {
        margin-bottom: 1rem;
	}
	
	.staff-member-name {
		font-size: 1rem;
	}

	.staff-member-bio-wrapper {
		font-size: 0.875rem;
	}
}


/*==========================================================================
    SECTION: USP 
============================================================================*/

.usp {
    background-color: var(--usp-background-color);
}

.usp .header {
	margin-bottom: 32px;
}

.usp .header * {
	margin-bottom: 0;
}

.usp .section-heading {
	color: var(--usp-heading-color);
}

.usp .description {
	color: var(--usp-copy-color);
}

.usp .usp-item-wrapper * {
	margin-bottom: 0;
}

.usp .icon-wrapper {
    color: var(--usp-icon-color);
    display: flex;
    justify-content: center;
    align-items: center;
}

.usp .icon-wrapper .usp-icon {
    width: 32px;
    height: 32px; 
}

.usp .copy {
	color: var(--usp-copy-color);
}


/*==========================================================================
    SECTION: PROGRAMME OUTLINE
============================================================================*/

.programme-outline {
	background-color: var(--programme-outline-background-color);
}

.programme-outline .header, 
.programme-outline .subheading {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.programme-outline .header {
	text-align: center;
}

.programme-outline .section-heading {
	color: var(--programme-outline-heading-color);
}

.programme-outline .subheading {
	color: var(--programme-outline-subheading-color);
}

.programme-outline .subheading > * {
	margin: 0;
}

.programme-outline .accordion-item-wrapper {
	--border-radius: 16px;

	display: flex;
	flex-direction: column;
	border-radius: var(--border-radius);
	background-color: var(--programme-outline-accordion-item-color, hsl(0, 0%, 96%));
	color: var(--programme-outline-accordion-item-label-color, #313131);
	transition: background-color 0.2s ease-out, color 0.2s ease-out;
}

.programme-outline .accordion-item-wrapper.hide {
	display: none;
}

.programme-outline .accordion-item-wrapper:has(.accordion-button[aria-expanded="true"]) {
	background-color: var(--programme-outline-accordion-item-highlight-color);
	color: var(--programme-outline-accordion-item-label-highlight-color, #fff);
}

.programme-outline .accordion-item-wrapper .accordion-button {
	padding: 16px 24px;
	background-color: transparent;
	border: 0;
	box-shadow: none;
}

.programme-outline .accordion-item-wrapper .accordion-header .accordion-button,
.programme-outline .accordion-item-wrapper .accordion-header .accordion-button.collapsed {
	border-radius: var(--border-radius);
}

.programme-outline .accordion-item-wrapper .accordion-button:focus-visible {
	outline: 1px auto rgb(229, 151, 0);
}

.programme-outline .accordion-item-wrapper .accordion-button > * {
	margin: 0;
	color: var(--programme-outline-heading-color);
	font-size: 20px;
}

.programme-outline .accordion-item-wrapper .accordion-button:disabled {
	cursor: not-allowed;
}

.programme-outline .accordion-item-wrapper .accordion-button::after {
    width: 16px;
    height: 16px;
    background-size: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.52851 5.52858C3.78886 5.26823 4.21097 5.26823 4.47132 5.52858L7.99992 9.05717L11.5285 5.52858C11.7889 5.26823 12.211 5.26823 12.4713 5.52858C12.7317 5.78892 12.7317 6.21103 12.4713 6.47138L8.47132 10.4714C8.21097 10.7317 7.78886 10.7317 7.52851 10.4714L3.52851 6.47138C3.26816 6.21103 3.26816 5.78892 3.52851 5.52858Z' fill='currentColor'/%3E%3C/svg%3E");
}

.programme-outline .accordion-item-wrapper .accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.52851 5.52858C3.78886 5.26823 4.21097 5.26823 4.47132 5.52858L7.99992 9.05717L11.5285 5.52858C11.7889 5.26823 12.211 5.26823 12.4713 5.52858C12.7317 5.78892 12.7317 6.21103 12.4713 6.47138L8.47132 10.4714C8.21097 10.7317 7.78886 10.7317 7.52851 10.4714L3.52851 6.47138C3.26816 6.21103 3.26816 5.78892 3.52851 5.52858Z' fill='currentColor'/%3E%3C/svg%3E");
}

.programme-outline .stacked-view .accordion-item-wrapper {
	padding: 8px;
}	

.programme-outline .accordion-item-label {
	text-align: center;
	font-size: 20px;
	line-height: 30px;
	font-weight: 600;
	color: inherit;
}

.programme-outline .accordion-item {
	--bs-accordion-btn-icon-width: 16px;

	background-color: #fff;
	border-radius: var(--border-radius);
	border: 1px solid var(--programme-outline-accordion-item-highlight-color);
}

.programme-outline .stacked-view .accordion-item {
	border: none;
	border-radius: 8px;
}

.programme-outline .accordion-item-wrapper .accordion-body {
	padding: 0 24px 24px;
}

.programme-outline .accordion-item-wrapper .accordion-body > * {
	margin: 0;
}

.programme-outline .accordion.has-mask {
	position: relative;
}

.programme-outline .mask {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 48px;
	background: linear-gradient(180deg, transparent 0, var(--programme-outline-background-color, #fff) 100%);
}

.programme-outline .mask .mask-button {
	display: flex;
	align-items: center;
	padding: 4px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	color: #000;
	background: none;
	border: 0;
	border-radius: 8px;
}

.programme-outline .accordion.has-mask.mask-active .mask {
	height: 136px;
	z-index: 1;
	position: absolute;
	left: 0;
	bottom: 0;
	background: linear-gradient(0deg, var(--programme-outline-background-color, #fff) 57.5%, transparent 100%);
}

.programme-outline .accordion.has-mask.mask-active .mask-button .mask-button-icon {
	transform: rotateZ(180deg);
}

.accordion-button.no-arrow::after {
    display: none;
}

@media screen and (min-width: 992px) {
	.programme-outline .header {
		text-align: left;
	}

	.programme-outline .stacked-view .header {
		text-align: center;
	}

	.programme-outline .stacked-view .accordion-item-wrapper {
		align-items: center;
		flex-direction: row;
		padding: 16px;
	}

	.programme-outline .accordion-item-label {
		text-align: left;
		width: 180px;
		margin: 0;
		padding: 0 0 0 16px;
	}

	.programme-outline .accordion-item {
		flex: 1;
	}

	.programme-outline .accordion-item-wrapper .accordion-button > * {
		font-size: 1.5rem;
	}
}

/*==========================================================================
	SECTION: HERO
============================================================================*/

.hero {
	--hero-content-blocks-padding: 32px;
	--hero-content-blocks-border-radius: 16px;

	padding: 0 0 32px;
	background-color: #f5f5f5;
}

.hero .hero-top-wrapper {
	position: relative;
	padding: 128px 0 24px;
}

.hero .main-content-wrapper {
	position: relative;
}

.hero .image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.hero .main-content-block {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: var(--hero-content-blocks-padding);
	background-color: #fff;
	border-radius: var(--hero-content-blocks-border-radius) var(--hero-content-blocks-border-radius) 0 0;
	text-align: center;
}

.hero .logo-wrapper {
	display: flex;
	justify-content: center;
	margin-bottom: 16px;
}

.hero .logo {
	width: 100%;
	height: 100%;
	object-fit: contain;
	max-height: var(--logo-height-mobile);
	max-width: 100%;
}

.hero .brand-name {
	margin-bottom: 8px;
	padding-bottom: 16px;
	font-size: 1rem;
	line-height: 1.5;
	font-weight: 500;
	color: var(--hero-brand-name-color);
	border-bottom: 2px solid #313131;
}

.hero .course-name {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--hero-course-name-color);
}

.hero .programme-format {
	margin: 0;
	font-weight: 500;
	font-size: 1rem;
}

.hero .course-description {
	margin: 0;
}

.hero .cta {
	position: relative;
	align-self: center;
	padding: 16px 24px;
	line-height: 1;
	margin-top: 16px;
	font-size: 18px;
	font-weight: 700;
	color: var(--hero-button-copy-color);
	background-color: var(--hero-button-background-color);
	border-radius: 8px;
	z-index: 0;
}

.hero .cta:focus, 
.hero .cta:active {
	color: var(--hero-button-copy-color);
	background-color: var(--hero-button-background-color);
}

.hero .cta::before {
	content: '';
	position: absolute;
	border-radius: inherit;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
}

.hero .cta:hover::before,
.hero .cta:focus::before, 
.hero .cta:active::before {
	background: #0000001a;
}

.hero .cta:focus {
	outline: 1px solid #0043ce;
	outline-offset: 1px;
}

.hero .details-content-block {
	margin-top: -24px;
	padding: var(--hero-content-blocks-padding) 16px;
	color: var(--hero-details-copy-color);
	background-color: var(--hero-details-block-background-color);
	border-radius: 0 0 var(--hero-content-blocks-border-radius) var(--hero-content-blocks-border-radius);
	position: relative;
}

.hero .detail {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 8px;
	text-align: center;
	height: 100%;
}

.hero .detail .copy-wrapper > * {
	margin: 0;
	font-size: 0.75rem;
}

.hero .detail .copy-wrapper {
	font-weight: bolder;
}

.hero .detail .detail-icon {
	width: 32px;
	height: 32px;
}

@media screen and (min-width: 768px) {
	.hero .image {
		height: 100%;
	}

	.hero .brand-name {
		font-size: 1.25rem;
	}

	.hero .course-name {
		font-size: 1.5rem;
	}

	.hero .programme-format {
		font-size: 1.25rem;
	}

	.hero .detail .copy-wrapper > * {
		font-size: 0.875rem;
	}
}

@media screen and (min-width: 992px) {
	.hero {
		background-color: transparent;
	}

	.hero .hero-top-wrapper {
		position: relative;
		padding: 64px 0 120px;
	}

	.hero .logo {
		max-height: var(--logo-height-desktop);
	}

	.hero .main-content-block, 
	.hero .details-content-block {
		border-radius: var(--hero-content-blocks-border-radius);
	}

	.hero .details-content-block {
		margin-top: -56px;
		padding: var(--hero-content-blocks-padding);
	}

	.hero .detail {
		align-items: flex-start;
		text-align: left;
	}

	.hero .detail .copy-wrapper > * {
		font-size: 1rem;
	}
}

/*==========================================================================
	FORM
============================================================================*/

section.form {
	background-color: var(--form-background-color);
}

.form .heading {
	font-weight: 700;
}

.form .form-content-wrapper {
	padding: 24px;
	background-color: #fff;
	border-radius: 16px;
}

.form .copy-wrapper {
	text-align: center;
}

.form .copy-wrapper p {
	margin: 0;
}

.form-field-group {
    --form-field-height: 54px;
    /* Form field padding left and right */
    --form-field-px: 12px;

    position: relative;
}

.form-field-group:not(:first-child) {
    margin-top: 20px;
}

.form-field-group:not(:last-child) {
    margin-bottom: 24px;
}

.form-field {
    display: block;
    width: 100%;
    height: var(--form-field-height);
    margin: 0;
    padding-left: var(--form-field-px);
    padding-right: var(--form-field-px);
    color: #1E2125;
    font-family: inherit;
    font-size: 16px;
    line-height: 20px;
    background-color: #FFF;
    border: 1px solid #1E2125;
    border-radius: 4px;
}

.text-field {
    padding-top: 27px;
    padding-bottom: 8px;
}

/* Hover state */

.text-field:hover,
.select-field:hover {
    background-color: #EAEEF3;
}

/* Focus state */

.form-field:focus {
    outline: none;
}

.text-field:focus,
.select-field:focus {
    background-color: #EAEEF3;
    box-shadow: 0 0 0 1px #1E2125;
}

/* Disabled state */

.text-field:disabled,
.select-field:disabled {
    color: #808080;
    background-color: #EBEBEB;
    border-color: transparent;
}

.text-field:disabled + .form-label {
    color: #808080;
}


.form-label {
    display: inline-block;
    margin: 0;
    color: #1E2125;
    font-size: 16px;
    line-height: 140%;
}

.form-label.text-field-label {
    position: absolute;
    top: calc(var(--form-field-height)/2);
    left: var(--form-field-px);
    pointer-events: none;
    transform-origin: top left;
    transform: translateY(-50%);
    transition: transform 0.2s;
}

.form-label.text-field-label.phone-field-label {
    left: calc(var(--form-field-px) + 42px);
}

.text-field:focus + .form-label, 
.text-field:not(:placeholder-shown) + .form-label,
.intl-tel-input.activated + .form-label {
    color: #717579;
    transform: translateY(-85%) scale(0.75);
}

.form-field-group.invalid .form-field {
    border-color: #EF3E31;
}

.form-field-group.invalid .text-field:hover,
.form-field-group.invalid .select-field:hover {
    background-color: #EF3E311A;
    box-shadow: 0 0 0 1px #EF3E31;
}

.form-field-group.invalid .text-field:focus,
.form-field-group.invalid .select-field:focus {
    background-color: #EF3E311A;
    box-shadow: 0 0 0 1px #EF3E31;
}

.form-field-group.invalid .text-field:focus + .form-label,
.form-field-group.invalid .text-field:not(:placeholder-shown) + .form-label {
    color: #CE2A2A;
}

.intl-tel-input {
    display: block;
}

.error-message {
    display: none;
    align-items: center;
    margin-top: 4px;
    font-size: 12px;
    line-height: 140%;
    letter-spacing: 0.01em;
    color: #CE2A2A;
}

.form-field-group.invalid .error-message {
    display: inline-flex;
}

.text-field-error-message {
    padding: 0 var(--form-field-px);
}

.form-consent-language p {
    margin: 16px 0;
    font-size: 12px;
    font-style: italic;
    line-height: 140%;
    letter-spacing: 0.01em;
    color: #9A9EA3;
}

.form-consent-language a, .form-consent-language a:hover {
    color: inherit;
    text-decoration:underline;
}

.form-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.form-step-count {
    font-size: 12px;
    line-height: 140%;
    letter-spacing: 0.01em;
    color: #9A9EA3;
}

.prev-step-button {
    display: inline-flex;
    align-items: center;
    color: #1E2125;
    font-size: 12px;
    line-height: 140%;
    letter-spacing: 0.01em;
    background: transparent;
    border: none;
}

.prev-step-button .back-arrow {
    width: 12px;
    height: 12px;
    margin-right: 8px;
}

.form-button {
    display: inline-flex;
    align-items: center;
    text-align: center;
    padding: 17px 24px;
    font-weight: 500;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0.005em;
    border: none;
    border-radius: 5px;
    cursor: pointer;
	background-color: var(--form-accent-color);
	color: var(--form-button-copy-color);
}

.form-button:hover {
    text-decoration: none;
}

.form-button:disabled {
    opacity: 0.5;
}

.optin-group p {
    font-size: 14px;
    line-height: 170%;
    letter-spacing: 0.005em;
    color: #000000;
}

.optin-group a, .optin-group a:hover{
    color: inherit;
    text-decoration: underline;
}

.communication-radio-group {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.communication-radio-group:not(:last-child) {
    margin-bottom: 16px;
}

.radio-group-label {
    font-size: 14px;
    line-height: 170%;
    letter-spacing: 0.005em;
    color: #000000;
}

.radio-group-options {
    display: flex;
    align-items: center;
}

.radio-option {
    display: flex;
    align-items: center;
}

.radio-option:not(:first-child) {
    margin-left: 20px;
}

.radio-field-label {
    display: flex;
    align-items: center;
    font-size: 12px;
    line-height: 18px;
    color: #000000;
}

.radio-field-label .radio-field-button {
    --button-color: #1E2125;

    display: flex;
    justify-content: center;
    align-items: center;
    width: 22px;
    height: 22px;
    margin-right: 10px;
    position: relative;
    border: 1.5px solid var(--button-color);
    border-radius: 50%;
}

.radio-field-label .radio-field-button::before {
    --offset: -6px;

    content: "";
    display: block;
    position: absolute;
    top: var(--offset);
    bottom: var(--offset);
    left: var(--offset);
    right: var(--offset);
    background-color: #EAEEF3;
    border-radius: 50%;
    opacity: 0;
    z-index: -1;
}

.radio-field-label .radio-field-button::after {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    background-color: var(--button-color);
    border-radius: 50%;
    opacity: 0;
}

.radio-option:hover .radio-field-label .radio-field-button::before,
.radio-field:focus + .radio-field-label .radio-field-button::before {
    opacity: 1;
}

.radio-field {
    position: absolute;
    opacity: 0;
}

.radio-field:checked +  .radio-field-label .radio-field-button::after {
    opacity: 1;
}

.radio-field:focus + .radio-field-label .radio-field-button {
    outline: 2px solid #1E2125;
    outline-offset: 4px;
}

.radio-field:active + .radio-field-label .radio-field-button::before {
    background-color: #DCE0E5;
}

.radio-field:disabled + .radio-field-label .radio-field-button {
    --button-color: #D7D7D7;
}

.radio-group-error-message {
    display: block;
    width: 100%;
    margin-top: 16px;
}

.radio-group.invalid .radio-field-label .radio-field-button {
    --button-color: #EF3E31;
}

.select-field {
    border-color: #082135;
}

.hidden {
    display: none;
}

/* Taxi form styles */

.form-heading {
	color: var(--form-heading-color);
}

.form-wrapper-block .card {
	border: none;
	background-color: transparent;
}

.twou-lead-form .progress {
	display: flex;
	flex-direction: column;
	margin-bottom: 16px;
	overflow: auto;
	height: auto;
	background-color: transparent;
}

.twou-lead-form .progress__max {
	height: 8px;
	background-color: #d4d4d4;
	border-radius: 8px;
	order: 2;
}

.twou-lead-form .progress__bar {
	height: 100%;
	border-radius: inherit;
	background-color: var(--progress-bar-color);
}

.twou-lead-form .progress__label {
	text-align: center;
	color: #616161;
	line-height: 1.4;
	margin-bottom: 2px;
	font-size: 14px;
}

.twou-lead-form .lead-form-error-container {
	font-size: 14px;
}

.twou-lead-form .lead-form-error-container .h4 {
	font-size: inherit;
}

.twou-lead-form .lead-form-error-container .card__body {
	margin-bottom: 12px;
}

.twou-lead-form .lead-form-error-container label {
	font-size: 0.75rem;
	line-height: 1rem;
}

.twou-lead-form .lead-form-error-container label > * {
	color: inherit;
}

.twou-lead-form .lead-form-error-container label.is--invalid {
	color: #da1e28;
}

.twou-lead-form .form-group {
	margin-bottom: 16px;
	font-size: 14px;
}

.twou-lead-form .form-group.is--invalid input,
.twou-lead-form .form-group.is--invalid select {
	border-color: #da1e28;
}

.twou-lead-form .label {
	display: block;
	margin-bottom: 4px;
	color: #313131;
}

.twou-lead-form .control {
	background-color: #fff;
	border-radius: 8px;
	border: 1px solid #9e9e9e;
	padding: 0 1rem;
	width: 100%;
}

.twou-lead-form .control[type="radio"] {
	margin: 0;
    padding: 0;
	width: auto;
}

.twou-lead-form select.control {
    -webkit-appearance: menulist; 
    appearance: menulist;
}

.twou-lead-form .control:not(.control[type=radio]) {
	height: 40px;
}

.twou-lead-form .button {
	border: 0;
    border-radius: 8px;
    background-color: var(--form-accent-color);
    cursor: pointer;
    display: block;
    padding: 16px;
    width: 100%;
    color: var(--form-button-copy-color, #fff);
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 1rem;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.twou-lead-form legend.label {
	font-size: 14px;
	color: #424242;
}

.twou-lead-form .form-group__help-text {
	font-size: 12px;
    padding-top: 4px;
    width: 100%;
}

.twou-lead-form .form-group.u--show-flex.u--justify-space-between.u--align-items-center {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
}

.twou-lead-form fieldset .form-group {
	margin-bottom: 0;
}

.twou-lead-form .radio-group.radio-group--inline {
	display: flex;
}

.twou-lead-form .radio {
	display: flex;
	align-items: center;
    flex-direction: row-reverse;
    justify-content: center;
}

.twou-lead-form .radio .label {
	display: block;
	margin: 0 16px 0 8px;
}

.twou-lead-form .card__footer {
	margin-top: 16px;
}

.twou-lead-form .info-text {
	margin-top: 12px;
	font-size: 10px;
	color: #424242;
}

.twou-lead-form .info-text a {
	color: inherit !important;
}

/* Form Drawer Banner */
.form-drawer-banner {
	padding: 12px 0;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: var(--form-drawer-banner-background-color);
	z-index: 10;
}

.form-drawer-banner .banner-content-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
}

.form-drawer-banner .heading {
	margin: 0;
	font-size: 20px;
	color: var(--form-drawer-banner-copy-color);
	font-weight: 700;
}

.form-drawer-banner .form-drawer-trigger-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 48px;
	height: 48px;
	padding: 12px;
	background-color: var(--form-drawer-trigger-button-background-color);
	color: var(--form-drawer-trigger-button-copy-color);
	border-radius: 50%;
}

/* Form Drawer */
.form.form-in-drawer {
	background-color: transparent;
	padding-top: 0;
}

.offcanvas.form-drawer {
	height: auto;
	background-color: var(--form-drawer-background-color);
}

.offcanvas.form-drawer .offcanvas-header {
	display: flex;
	justify-content: center;
}

.offcanvas.form-drawer .form-drawer-close-btn {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 4px;
	color: var(--form-drawer-header-button-copy-color);
	background: transparent;
	font-size: 18px;
	font-weight: 700;
	border: none;
}

.form-drawer .offcanvas-body {
	padding: 0;
}


@media screen and (min-width: 768px) {
	.form-drawer-banner .heading {
		font-size: 24px;
	}

	.form-drawer-banner .banner-content-wrapper {
		gap: 24px;
	}
}

@media screen and (min-width: 992px) {
	.form .form-content-wrapper {
		padding: 32px;
	}

	.form .copy-wrapper {
		text-align: left;
	}

	.form .form-wrapper-block {
		padding: 24px;
		background-color: #f5f5f5;
		border-radius: 16px;
	}

	.offcanvas.form-drawer .offcanvas-header {
		padding-top: 24px;
		padding-bottom: 24px;
	}

	.form.form-in-drawer {
		padding-bottom: 24px;
	}
}

/*==========================================================================
	SUBJECT EXPERT MATTER
============================================================================*/

.subject-matter-expert {
	background-color: var(--subject-matter-expert-background-color);
}

.subject-matter-expert .section-heading {
	text-align: center;
	color: var(--subject-matter-expert-heading-color);
}

.subject-matter-expert .expert-item-wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 auto;
	text-align: center;
}

.subject-matter-expert .expert-item-wrapper .subheading {
	color: var(--subject-matter-expert-subheading-color);
	font-size: 1rem;
}

.subject-matter-expert .expert-item-wrapper .body {
	color: var(--subject-matter-expert-copy-color);
}

.subject-matter-expert .section-heading > *,
.subject-matter-expert .expert-item-wrapper .subheading > *, 
.subject-matter-expert .expert-item-wrapper .body > * {
	margin: 0;
}

@media screen and (min-width: 768px) {
	.subject-matter-expert .expert-item-wrapper .subheading {
		font-size: 1.25rem;
	}
}

/*==========================================================================
	GUEST EXPERTS
============================================================================*/

.guest-experts {
    background-color: var(--guest-experts-background-color);
    text-align: center;
    overflow: hidden;
}

.expert-header {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 32px;
}

.guest-experts .section-heading {
	color: var(--guest-experts-heading-color);
}

.guest-experts .subheading {
	line-height: 1.6;
	color: var(--guest-experts-subheading-color);
}

.guest-experts .subheading > * {
	margin: 0;
}

.guest-experts-carousel-wrapper {
	position: relative;
}

.guest-experts .expertSwiper {
    height: auto;
}

.guest-experts .carousel-list {
    height: auto;
}

.guest-experts .swiper-slide {
    width: 300px;
    height: auto;
	opacity: 0.5;
}

.guest-experts .carousel-slide {
	opacity: 0.5;
	transition: opacity .2s ease-out;
}

.guest-experts .carousel-slide.is-active {
	opacity: 1;
}

.guest-experts .swiper-slide-active {
    opacity: 1;
}

/* "Full Circle" visibility logic */
.expertSwiper.at-start .swiper-slide:not(.swiper-slide-prev):not(.swiper-slide-active):not(.swiper-slide-next):not(.swiper-slide-next ~ .swiper-slide) {
    visibility: hidden;
    opacity: 0;
}

/* Card Styling */
.expert-card {
    background-color: #f5f5f5;
    border-radius: 24px;
    padding: 16px;
    width: 100%;
	height: 100%;
    display: flex;
    flex-direction: column;
	gap: 8px;
    outline: none;
	box-sizing: border-box;
}

.expert-card-content {
    padding: 0 16px;
}

.guest-experts .card-heading {
	font-size: 1rem;
	color: var(--guest-experts-card-heading-color);
}

.guest-experts .card-body {
	font-size: 0.875rem;
	color: var(--guest-experts-card-body-color);
}

.guest-experts .card-heading > *,
.guest-experts .card-body > * {
	margin: 0;
}

/* Footer & Pagination */
.carousel-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: nowrap;
	position: relative;
	margin-top: 32px;
}

.guest-experts .carousel-nav {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	position: relative;
	margin-top: 32px;
}

.guest-experts .carousel-pagination {
	position: static;
	padding: 0;
}

.guest-experts .carousel-pagination .splide__pagination__page {
	margin: 0 8px;
	background: #9e9e9e;
	width: 8px;
	height: 8px;
}

.guest-experts .carousel-pagination .splide__pagination__page.is-active {
	background: #313131;
	transform: none;
}

.guest-experts .carousel-nav-btn {
    width: 44px;
    height: 44px;
	background-color: var(--guest-experts-carousel-nav-button-background-color);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
	color: var(--guest-experts-carousel-nav-button-icon-color);
	position: static;
	transform: none;
	opacity: 1;
}

.guest-experts .carousel-nav-btn .carousel-icon { 
	transform: none;
	fill: none;
    width: 13px; 
    height: 13px; 
}

.guest-experts .swiper-pagination.carousel-pagination { 
    position: static; 
    width: auto;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
}

.swiper-pagination-bullet { 
    background: #9E9E9E !important; 
    opacity: 1 !important; 
    margin: 0 8px !important;
    flex-shrink: 0;
}

.swiper-pagination-bullet-active { 
    background: #313131 !important; 
}

/* Mobile Adjustments */
@media (max-width: 400px) {
	.guest-experts .carousel-nav {
		gap: 24px;
	}

    .guest-experts .carousel-pagination {
        display: none;
    }
}

@media screen and (min-width: 768px) {
	.guest-experts .card-heading {
		font-size: 1.25rem;
	}

	.guest-experts .card-body {
		font-size: 1rem;
	}
}

/*==========================================================================
	SECTION : VIDEO
============================================================================*/

.video-section {
    background-color: var(--video-section-background-color);
}

.video-section .section-heading {
    text-align: center;
    margin-bottom: 48px;
    color: var(--video-section-heading-color);
}

.video-section .video-wrapper {
    width: 100%;
    max-width: 900px;
    margin-inline: auto;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    background: #000;
    aspect-ratio: 16 / 9;
	position: relative;
}

.video-section .video-wrapper iframe {
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

@media screen and (max-width: 991px) {
	.video-section .section-heading {
		margin-bottom: 24px;
	}

	.video-section .container {
		max-width: 100%;
	}
}
