/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme by Inkfish
Author: Stefan le Roux
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/


/*BEGIN - REUSABLE VARIABLES*/
:root {
	interpolate-size: allow-keywords;
	margin-right: 0px !important;
	overflow: auto !important; 

	--fs-100: clamp(0.8rem, 0.165vw + 0.759rem, 0.891rem);
	--fs-200: clamp(1rem, 0.341vw + 0.915rem, 1.188rem);
	--fs-300: clamp(1.25rem, 0.605vw + 1.099rem, 1.583rem);
	--fs-400: clamp(1.563rem, 0.996vw + 1.314rem, 2.11rem);
	--fs-500: clamp(1.953rem, 1.563vw + 1.562rem, 2.813rem);
	--fs-600: clamp(2.441rem, 2.378vw + 1.847rem, 3.749rem);
	--fs-700: clamp(3.052rem, 3.538vw + 2.167rem, 4.998rem);
	
	--fs-color-primary-base: oklch(from var(--fs-color-primary) l c h);
	--fs-color-primary-light: oklch(from var(--fs-color-primary) calc(l + 0.2080) calc(c - 0.0646) calc(h + 3.27));
	--fs-color-primary-dark: oklch(from var(--fs-color-primary) calc(l - 0.2391) calc(c - 0.0674) calc(h - 1.94));
	
	--fs-color-secondary-base: oklch(from var(--fs-color-secondary) l c h );
	--fs-color-secondary-light: oklch(from var(--fs-color-secondary) calc(l + 0.3400) calc(c - 0.0100) calc(h + 21.62));
	--fs-color-secondary-dark: oklch(from var(--fs-color-secondary) calc(l - 0.2391) calc(c - 0.0674) calc(h - 1.94));
	
	--fs-color-success-base: oklch(from var(--fs-color-success) l c h );
	--fs-color-success-light: oklch(from var(--fs-color-success) calc(l + 0.2080) calc(c - 0.0646) calc(h + 3.27));
	--fs-color-success-dark: oklch(from var(--fs-color-success) calc(l - 0.2391) calc(c - 0.0674) calc(h - 1.94));
	
	--fs-color-alert-base: oklch(from var(--fs-color-alert) l c h );
	--fs-color-alert-light: oklch(from var(--fs-color-alert) calc(l + 0.2080) calc(c - 0.0646) calc(h + 3.27));
	--fs-color-alert-dark: oklch(from var(--fs-color-alert) calc(l - 0.2391) calc(c - 0.0674) calc(h - 1.94));

}
/*END - REUSABLE VARIABLES*/


/*BEGIN - WORDPRESS TWEAKS*/
.disable:hover {
	cursor: default;
	
	& > a {
		pointer-events: none;
	}
	
}
/*END - WORDPRESS TWEAKS*/


/*BEGIN - FLATSOME OVERRIDES*/
#main, #footer, .mfp-content {

	font: normal normal normal var(--fs-200)/1.4 inherit, sans-serif, system-ui;

	:is(h1, h2, h3, h4, h5, h6, p, ul, ol, li, form, select, label, legend, button:not(.toggle), .button:not(.icon)) {margin-block: 0; margin-inline: 0;}
	:is(p, ul, ol, button:not(.toggle), .button:not(.icon)):has(+ :is(h1, h2, h3, h4, h5, h6)) {margin-block-end: 2em;}
	:is(h1, h2, h3, h4, h5, h6, p, ul, ol, blockquote, form, label, legend, button:not(.toggle), .button:not(.icon)):has(+ :is(p, ul, ol, blockquote, button, form, .button)) {margin-block-end: 0.75em;}

	ul:not([class], :has(.recent-blog-posts-li)) {padding-inline-start: 1.25em;}
	ol:not([class]) {padding-inline-start: 1.75em;}

	h1 {font-size: var(--fs-500);}
	h2 {font-size: var(--fs-400);}
	h3 {font-size: var(--fs-300);}
	h4 {font-size: var(--fs-200);}
	h5 {font-size: var(--fs-200);}
	h6 {font-size: var(--fs-100);}
	p, ul, ol {font-size: var(--fs-200);}
	blockquote {font-size: var(--fs-100);}

	.fs-100 :is(h1, h2, h3, h4, h5, h6, p, ul, ol) {font-size: var(--fs-100);}
	.fs-200 :is(h1, h2, h3, h4, h5, h6, p, ul, ol) {font-size: var(--fs-200);}
	.fs-300 :is(h1, h2, h3, h4, h5, h6, p, ul, ol) {font-size: var(--fs-300);}
	.fs-400 :is(h1, h2, h3, h4, h5, h6, p, ul, ol) {font-size: var(--fs-400);}
	.fs-500 :is(h1, h2, h3, h4, h5, h6, p, ul, ol) {font-size: var(--fs-500);}
	.fs-600 :is(h1, h2, h3, h4, h5, h6, p, ul, ol) {font-size: var(--fs-600);}
	.fs-700 :is(h1, h2, h3, h4, h5, h6, p, ul, ol) {font-size: var(--fs-700);}

	.h1, .h2, h1, h2 {
		line-height: inherit;
	}

	.lightbox-content {
		background: transparent !important;
		box-shadow: unset;
	}
	
	li {
	
		&::marker {color: var(--fs-color-secondary);}
		.marker-pri &::marker {color: var(--fs-color-primary);}
		.marker-sec &::marker {color: var(--fs-color-secondary);}
		.marker-suc &::marker {color: var(--fs-color-success);}
		.dark &::marker {color: #fff;}

	}

	img, svg, iframe {
		display: block;
		max-width: 100%;
	}

	.button, button, input[type=button], input[type=reset], input[type=submit] {
		font-weight: inherit;
	}

	.clip {
		
		& > .col-inner, section& {
			overflow: clip;
		}
		
	}

	.grow {
		flex-grow: 1;

		.col-inner:has(> &) {
			display: flex;
			flex-flow: column;
		}
	}

	.contain {
		& :is(img, svg) {
			object-fit: contain
		}
		
		&.side {
			
			& :is(img, svg) {
				object-position: top right;
			}
			
		}
	}
	
	.x-start :is(img, svg) {object-position: 0% 50%;}
	.x-end :is(img, svg) {object-position: 100% 50%;}
	.y-start :is(img, svg) {object-position: 50% 0%;}
	.y-end :is(img, svg) {object-position: 50% 100%;}
	.xy-start :is(img, svg) {object-position: 0% 0%;}
	.xy-end :is(img, svg) {object-position: 100% 100%;}
	.yx-start :is(img, svg) {object-position: 100% 0%;}
	.yx-end :is(img, svg) {object-position: 0% 100%;}
	
	.col-inner > .row {
		margin-inline: unset; 
	}
	
}

#header {
	background-color: #240d41;

	.nav-line-grow>li>a:before {
		top: auto;
		bottom: 0;
	}
	
	.header-block {
		width: unset;
		min-width: 280px;
		position: relative;
		
		.home .header-wrapper:not(.stuck) &:before {
			scale: 1 1;
			transition: scale 0.3s ease-in-out;
		}

		.home .header-wrapper &:before {
			content: '';
			display: block;
			position: absolute;
			inset: -20px 0 -45px -50px;
			background: #fff;
			border-radius: 20px 20px 0 0;
			clip-path: polygon(50px 0%, 100% 0%, 100% 100%, 0% 100%);
			scale: 1 0;
			transform-origin: 50% 100%;
			transition: scale 0.0s ease-in-out;
		}
		
	}

}

.mfp-content {
	
	:is(.off-canvas-left, .off-canvas-right).dark & {
		background-color: #240d41;
	}
	
}

.pri-base {--theme-color: var(--fs-color-primary-base)}
.pri-light {--theme-color: var(--fs-color-primary-light)}
.pri-dark {--theme-color: var(--fs-color-primary-dark)}
.sec-base {--theme-color: var(--fs-color-secondary-base)}
.sec-light {--theme-color: var(--fs-color-secondary-light)}
.sec-dark {--theme-color: var(--fs-color-secondary-dark)}
.suc-base {--theme-color: var(--fs-color-success-base)}
.suc-light {--theme-color: var(--fs-color-success-light)}
.suc-dark {--theme-color: var(--fs-color-success-dark)}
.alr-base {--theme-color: var(--fs-color-alert-base)}
.alr-light {--theme-color: var(--fs-color-alert-light)}
.alr-dark {--theme-color: var(--fs-color-alert-dark)}

.theme {

	span& {color: var(--theme-color);}
	&:is(.text, [ng-class]) > * {color: var(--theme-color);}
	& > .col-inner {background-color: var(--theme-color);}
	& > svg {fill: var(--theme-color);}
	path& {fill: var(--theme-color);}
	&.button:not(.is-outline) {background-color: var(--theme-color);}
	&.button.is-outline {color: var(--theme-color); border-color: var(--theme-color);}
	&.button.is-outline:hover {background-color: var(--theme-color); color: #fff;}
	&.button.white {color: var(--theme-color) !important;}
	&.section {background-color: var(--theme-color);}
	&.social-icons > .button.icon {background-color: var(--theme-color) !important; border-color: var(--theme-color) !important;}
	&.icon-box :is(svg, path) {fill: var(--theme-color);}

}

.icon-box-img svg {
	padding: unset;
}
/*END - FLATSOME OVERRIDES*/


/*BEGIN - CUSTOM ELEMENTS*/

.balance {
	text-wrap: balance;
}

.watermark {
	
	.section-bg::before,
	.section-bg::after {
		content: '';
		position: absolute;
	}
		
	&.dual .section-bg::before {
		inset: 0 auto 0 0;
		width: 30%;
		background: url('../../../wp-content/uploads/2025/08/omg-watermark.avif');
		opacity: 0.2;
		rotate: 180deg;
	}
	
	&.dual .section-bg::after {
		inset: 0 0 0 auto;
		width: 30%;
		background: url('../../../wp-content/uploads/2025/08/omg-watermark.avif');
		opacity: 0.2;
	}
	
	& > svg {
		position: absolute;
		inset: 0 auto 0;
		transform-origin: 0% 0%;
		scale: 1.1;
		z-index: -1;
	}
	
	img {
		opacity: 0.2;
	}
	
}

.gradient {
	
	&.block-start {background-image: linear-gradient(to bottom, var(--fs-color-primary-base), transparent);}
	&.block-end {background-image: linear-gradient(to top, var(--fs-color-primary-base), transparent);}
	&.inline-start {background-image: linear-gradient(to right, var(--fs-color-primary-base), transparent);}
	&.inline-end {background-image: linear-gradient(to left, var(--fs-color-primary-base), transparent);}

}

.ux-menu.horizontal {
	flex-flow: row wrap;
	gap: 1em;
	
	& > * {margin:0 !important}
	
	a {
		padding: 10px 0px;
	}
	
}

.bleeder > .col-inner {
	position: relative;
	isolation: isolate;
	
	&::before {
		content:'';
		position: absolute;
		inset: 0 auto;
		border-radius: 30px;
		width: 200vw;
		z-index: -1;
		background: #000;
	}
	
	:not(.start, .end) > &::before {
		left: 50%;
		translate: -50%;
	}
	
	.start > &::before {inset: 0 0 0 auto;}
	.end > &::before {inset: 0 auto 0 0;}
	
	.pri > &::before {background: var(--fs-color-primary);}
	.sec > &::before {background: var(--fs-color-secondary);}
	.suc > &::before {background: var(--fs-color-success);}
	.alr > &::before {background: var(--fs-color-alert);}
	
}

.film-strip {
	
	&.section {
		display: block;
	}
	
	&::before {
		content: '';
		display: block;
		height: 158px;
		width: 110%;
		background: url('../../../wp-content/uploads/2025/08/omg-film-strip.avif') 0px 50% / 512px 100% repeat;
		animation: film 20s linear infinite;
		rotate: 2deg;
		transform-origin: 100% 0%;
		filter: drop-shadow(0px 0px 5px var(--fs-color-primary-light));
	}

}

@keyframes film {
	to {
		background-position: -512px 50%;
	}
}

.fold {
	--f-amount: 100px;
	
	&.top-left {--fold: polygon(var(--f-amount) 0%, 100% 0%, 100% 100%, 0% 100%, 0% var(--f-amount));}
	&.top-right {--fold: polygon(0% 0%, calc(100% - var(--f-amount)) 0%, 100% var(--f-amount), 100% 100%, 0% 100%);}
	&.bottom-right {--fold: polygon(0% 0%, 100% 0%, 100% calc(100% - var(--f-amount)), calc(100% - var(--f-amount)) 100%, 0% 100%);}
	&.bottom-left {--fold: polygon(0% 0%, 100% 0%, 100% 100%, var(--f-amount) 100%, 0% calc(100% - var(--f-amount)));}

	&.row > .col > .col-inner, & > .col-inner {	clip-path: var(--fold);}

}

.isolate > .col-inner {
	isolation: isolate;
}

.transparent {
	opacity: 0;
}

.schools {
	
	@media (width > 549px) {
	
		& > .col:first-of-type > .col-inner {
			min-block-size: 95px;
			align-content: center;
		}

		& .image-cover {
			min-block-size: calc(100svh - 95px);
			padding: unset;
		}

		& .stack > * {
			flex: 1 1 0;
			overflow-x: clip;
			transition: flex-grow 0.3s ease-in-out;
		}

		& .stack > :hover {
			flex-grow: 2;
		}

		.box-text {
			min-width: 260px;
		}
		
	}
}

.custom.tabbed-content {
	--radius: 0.75em;
	--spacing: 0.75em;
	
	[role="tablist"] {
		gap: 1em;
	}
	
	[role="tablist"]>li>a {
		border-radius: 0.5em;
		font-size: var(--fs-200);
		line-height: 1.75em;
	}
	
	[role="tablist"]>li.active>a {
		background-color: var(--fs-color-primary-light)
	}
	
	.accordion {
		display: grid;
		gap: var(--spacing);	
	}
	
	.accordion-inner {
		background: color-mix(in oklch, var(--fs-color-primary-light), white 0%);
	}

	.accordion-item {
		background: white;
		border-radius: var(--radius);
		border: solid 0px var(--fs-color-primary);
		overflow: clip;
	}
	
	.accordion-title {
		font-size: var(--fs-200);
		padding-inline: var(--spacing);
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
		gap: var(--padding);
		align-items: center;
		color: white;
		font-weight: normal;
		background: var(--fs-color-primary);
		border: unset;
		
		&.active {
			border: unset;
		}
		
	}
	
	.accordion-inner {
		padding-inline: var(--spacing);
		padding-block: var(--spacing);
	}
	
	button.toggle {
		position: static;
		display: grid;
		grid: 25px / 25px;
		place-items: center;
		margin: 0;
		height: unset;
		min-height: unset;
		width: unset;
		min-width: unset;
		aspect-ratio: 1;
		opacity: 1;
		border: unset;
	}
	
	.toggle + span {
		flex-grow: 1;
	}
	
	.toggle .icon-angle-down {
		display: block;
		position: static;
		width: 100%;
		height: 100%;
	}
	
	.toggle .icon-angle-down::before {
		content: '';
		background: white;
		display: block;
		width: 100%;
		height: 100%;
		clip-path: polygon(45% 0%, 55% 0%, 55% 45%, 100% 45%, 100% 55%, 55% 55%, 55% 100%, 45% 100%, 45% 55%, 0% 55%, 0% 45%, 45% 45%);
	}
	
}
/*END - CUSTOM ELEMENTS*/


/*BEGIN - GRAVITY FORMS*/
.gform-theme {
	--gf-color-primary: var(--fs-color-primary-dark) !important;
	--gf-color-in-ctrl-primary: var(--fs-color-primary-dark) !important;
	--gf-radius: 12px !important;
	--gf-ctrl-textarea-radius: var(--gf-radius) !important;
	--gf-form-gap-y: 1.5em !important;
	--gf-color-in-ctrl-primary-darker: color-mix(in srgb, var(--fs-color-primary-dark) 70%, black) !important;
	--gf-color-primary-darker: color-mix(in srgb, var(--fs-color-primary-dark) 70%, black) !important;
	--gf-color-danger: var(--fs-color-alert) !important;
	
	.gform_required_legend {
		display: none;
	}
	
	label:not(.gfield_consent_label),
	legend,
	input[type="submit"],
	.gsection_title {
		text-transform: uppercase !important;
		font-weight: bold !important;
	}
	
	.gchoice,
	.ginput_container_consent {
		gap: 0.75em !important;
	}
	
	.ginput_container_date input {
		--gf-local-width: 100% !important;
	}
	
	.ginput_complex > * {
		flex-grow: 1;
	}
	
	.chosen-choices {
		margin: 0 !important; 
	}
	
	.gfield_consent_label {
		display: flex;
		gap: 0.25em;
	}
	
	.gsection_title {
		text-wrap: balance;
	}

}
/*END - GRAVITY FORMS*/


/*BEGIN - COMPLIANZ*/
#cmplz-document {
	max-width: unset;
	
	h1, h2, h3, h4, h5, h6 {
		padding: 0 !important;
	}
	
	details {
		margin-bottom: 5px !important;
	}
	
	summary {
		margin: 0 !important;
		
		h1, h2, h3, h4, h5, h6, input {
			margin: 0 !important;
		}
	}
	
}
/*END - COMPLIANZ*/


@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}