* {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

:root {
	--font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
	--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
	--background: 0 0% 100%;
	--foreground: 0 0% 13%;
	--card: 0 0% 98%;
	--card-foreground: 0 0% 13%;
	--popover: 0 0% 100%;
	--popover-foreground: 20 14.3% 4.1%;
	--primary: 24 9.8% 10%;
	--primary-foreground: 60 9.1% 97.8%;
	--secondary: 60 4.8% 95.9%;
	--secondary-foreground: 24 9.8% 10%;
	--muted: 60 4.8% 95.9%;
	--muted-foreground: 25 5.3% 44.7%;
	--accent: 60 4.8% 95.9%;
	--accent-foreground: 24 9.8% 10%;
	--destructive: 0 84.2% 60.2%;
	--destructive-foreground: 60 9.1% 97.8%;
	--navigation: 180 11% 19%;
	--navigation-foreground: 0 0% 100%;
	--gray-2: 0 0% 98%;
	--gray-3: 0 0% 97%;
	--gray-6: 0 0% 95%;
	--gray-9: 0 0% 92%;
	--gray-12: 0 0% 89%;
	--gray-20: 0 0% 83%;
	--gray-30: 0 0% 74%;
	--gray-40: 0 0% 65%;
	--gray-50: 0 0% 57%;
	--gray-60: 0 0% 48%;
	--gray-70: 0 0% 39%;
	--gray-80: 0 0% 31%;
	--gray-90: 0 0% 22%;
	--gray-100: 0 0% 13%;
	--border: 0 0% 89%;
	--input: 20 5.9% 90%;
	--ring: 20 14.3% 4.1%;
	--color-blue-500: oklch(62.3% 0.214 259.815);
	--color-slate-400: oklch(70.4% 0.04 256.788);
	--color-gray-100: hsl(var(--gray-100));
	--color-gray-200: oklch(92.8% 0.006 264.531);
	--color-gray-300: oklch(87.2% 0.01 258.338);
	--color-gray-400: oklch(70.7% 0.022 261.325);
	--color-gray-500: oklch(55.1% 0.027 264.364);
	--color-gray-600: oklch(44.6% 0.03 256.802);
	--color-gray-800: oklch(27.8% 0.033 256.848);
	--color-gray-900: oklch(21% 0.034 264.665);
	--color-zinc-300: oklch(87.1% 0.006 286.286);
	--color-neutral-50: oklch(98.5% 0 0);
	--color-neutral-100: oklch(97% 0 0);
	--color-neutral-200: oklch(92.2% 0 0);
	--color-neutral-300: oklch(87% 0 0);
	--color-neutral-500: oklch(55.6% 0 0);
	--color-neutral-800: oklch(26.9% 0 0);
	--color-neutral-900: oklch(20.5% 0 0);
	--color-black: #000;
	--color-white: #fff;
	--spacing: calc(1.6 * 0.25rem);
	--container-xs: calc(1.6 * 20rem);
	--container-sm: calc(1.6 * 24rem);
	--container-6xl: calc(1.6 * 72rem);
	--text-xs: calc(1.6 * 0.75rem);
	--text-xs--line-height: calc(1 / 0.75);
	--text-sm: calc(1.6 * 0.875rem);
	--text-sm--line-height: calc(1.25 / 0.875);
	--text-base: calc(1.6 * 1rem);
	--text-base--line-height: calc(1.5 / 1);
	--text-lg: calc(1.6 * 1.125rem);
	--text-lg--line-height: calc(1.75 / 1.125);
	--text-xl: calc(1.6 * 1.25rem);
	--text-xl--line-height: calc(1.75 / 1.25);
	--text-2xl: calc(1.6 * 1.5rem);
	--text-2xl--line-height: calc(2 / 1.5);
	--text-3xl: calc(1.6 * 1.875rem);
	--text-3xl--line-height: calc(2.25 / 1.875);
	--text-4xl: calc(1.6 * 2.25rem);
	--text-4xl--line-height: calc(2.5 / 2.25);
	--font-weight-thin: 100;
	--font-weight-normal: 400;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--font-weight-bold: 700;
	--tracking-tight: -0.025em;
	--tracking-wide: 0.025em;
	--tracking-widest: 0.1em;
	--leading-tight: 1.25;
	--leading-relaxed: 1.625;
	--ease-out: cubic-bezier(0, 0, 0.2, 1);
	--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
	--animate-spin: spin 1s linear infinite;
	--animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
	--aspect-video: 16/9;
	--default-transition-duration: 0.15s;
	--default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	--default-font-family: var(--font-sans);
	--default-mono-font-family: var(--font-mono);
	--radius-none: 0px;
	--radius-sm: calc(var(--radius) * 0.5);
	--radius: var(--radius);
	--radius-md: calc(var(--radius) * 1.5);
	--radius-lg: calc(var(--radius) * 2);
	--radius-xl: calc(var(--radius) * 3);
	--radius-2xl: calc(var(--radius) * 4);
	--radius-3xl: calc(var(--radius) * 6);
	--radius-full: 9999px;
	--color-border: hsl(var(--border));
	--color-input: hsl(var(--input));
	--color-ring: hsl(var(--ring));
	--color-background: hsl(var(--background));
	--color-foreground: hsl(var(--foreground));
	--color-primary: hsl(var(--primary));
	--color-primary-foreground: hsl(var(--primary-foreground));
	--color-secondary: hsl(var(--secondary));
	--color-secondary-foreground: hsl(var(--secondary-foreground));
	--color-destructive: hsl(var(--destructive));
	--color-destructive-foreground: hsl(var(--destructive-foreground));
	--color-muted: hsl(var(--muted));
	--color-muted-foreground: hsl(var(--muted-foreground));
	--color-accent: hsl(var(--accent));
	--color-accent-foreground: hsl(var(--accent-foreground));
	--color-popover: hsl(var(--popover));
	--color-popover-foreground: hsl(var(--popover-foreground));
	--color-container: hsl(var(--gray-2));
	--color-container-foreground: hsl(var(--card-foreground));
	--color-navigation: hsl(var(--navigation));
	--color-navigation-foreground: hsl(var(--navigation-foreground));
	--color-gray-2: hsl(var(--gray-2));
	--color-gray-3: hsl(var(--gray-3));
	--color-gray-6: hsl(var(--gray-6));
	--color-gray-12: hsl(var(--gray-12));
	--color-gray-30: hsl(var(--gray-30));
	--color-gray-40: hsl(var(--gray-40));
	--color-gray-70: hsl(var(--gray-70));
	--animate-accordion-down: accordion-down 0.2s ease-out;
	--animate-accordion-up: accordion-up 0.2s ease-out;
	--font-Alegreya: Alegreya, sans-serif;
	--font-Arial: Arial, sans-serif;
	--font-Helvetica: Helvetica, Roboto, sans-serif;
	--font-Lato: Lato, sans-serif;
	--font-Merriweather: Merriweather, serif;
	--font-Metropolis: Metropolis, sans-serif;
	--font-Palatino: Palatino, Spectral, serif;
	--font-Raleway: Raleway, sans-serif;
	--radius-md: calc(var(--radius) * 1.5);
	--radius-lg: calc(var(--radius) * 2);
	--radius-xl: calc(var(--radius) * 3);
	--radius-2xl: calc(var(--radius) * 4);
	--radius-3xl: calc(var(--radius) * 6);
	--radius-full: 9999px;
	--color-border: hsl(var(--border));
	--color-input: hsl(var(--input));
	--color-ring: hsl(var(--ring));
	--color-background: hsl(var(--background));
	--color-foreground: hsl(var(--foreground));
	--color-primary: hsl(var(--primary));
	--color-primary-foreground: hsl(var(--primary-foreground));
	--color-secondary: hsl(var(--secondary));
	--color-secondary-foreground: hsl(var(--secondary-foreground));
	--color-destructive: hsl(var(--destructive));
	--color-destructive-foreground: hsl(var(--destructive-foreground));
	--color-muted: hsl(var(--muted));
	--color-muted-foreground: hsl(var(--muted-foreground));
	--color-accent: hsl(var(--accent));
	--color-accent-foreground: hsl(var(--accent-foreground));
	--color-popover: hsl(var(--popover));
	--color-popover-foreground: hsl(var(--popover-foreground));
	--color-container: hsl(var(--gray-2));
	--color-container-foreground: hsl(var(--card-foreground));
	--color-navigation: hsl(var(--navigation));
	--color-navigation-foreground: hsl(var(--navigation-foreground));
	--color-gray-2: hsl(var(--gray-2));
	--color-gray-3: hsl(var(--gray-3));
	--color-gray-6: hsl(var(--gray-6));
	--color-gray-12: hsl(var(--gray-12));
	--color-gray-30: hsl(var(--gray-30));
	--color-gray-40: hsl(var(--gray-40));
	--color-gray-70: hsl(var(--gray-70));
	--animate-accordion-down: accordion-down 0.2s ease-out;
	--animate-accordion-up: accordion-up 0.2s ease-out;
	--font-Alegreya: Alegreya, sans-serif;
	--font-Arial: Arial, sans-serif;
	--font-Helvetica: Helvetica, Roboto, sans-serif;
	--font-Lato: Lato, sans-serif;
	--font-Merriweather: Merriweather, serif;
	--font-Metropolis: Metropolis, sans-serif;
	--font-Palatino: Palatino, Spectral, serif;
	--font-Raleway: Raleway, sans-serif;
}

/* install poppins font from google fonts using @import */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
	--widowwise_heading: #1f1f1f;
	--widowwise_text: #444746;

	--widowwise_font: 'Poppins', Helvetica, Arial, sans-serif;

	--widowwise_laptop_scale: 0.95;
	--widowwise_tablet_scale: 0.925;
	--widowwise_phone_scale: 0.9;

	--widowwise_radius_small: min(1.6vw, 8px);
	--widowwise_radius_medium: min(3.2vw, 16px);
	--widowwise_radius_large: min(4.8vw, 24px);

	--widowwise_card_outline_light: color-mix(in oklab, rgb(140, 198, 193) 28%, transparent) solid 1px;
	--widowwise_card_shadow_light: rgba(2, 6, 23, 0.08) 0px 10px 28px;

	--widowwise_green: #46ad4e;
	--widowwise_green_25: #f0fbf0;
	--widowwise_green_50: #f3faf3;
	--widowwise_green_100: #e2f6e3;
	--widowwise_green_200: #c7ebca;
	--widowwise_green_300: #9bdaa0;
	--widowwise_green_400: #68c06e;
	--widowwise_green_500: #46ad4e;
	--widowwise_green_600: #328738;
	--widowwise_green_700: #2a6b2f;
	--widowwise_green_800: #26552a;
	--widowwise_green_900: #214625;
	--widowwise_green_950: #0d2610;
	--widowwise_on_dark_green: var(--widowwise_green_25);
	--widowwise_on_light_green: var(--widowwise_green_900);
	--widowwise_on_green: var(--widowwise_on_dark_green);
	--widowwise_on_green_50: var(--widowwise_on_light_green);
	--widowwise_on_green_100: var(--widowwise_on_light_green);
	--widowwise_on_green_200: var(--widowwise_on_light_green);
	--widowwise_on_green_300: var(--widowwise_on_light_green);
	--widowwise_on_green_400: var(--widowwise_on_light_green);
	--widowwise_on_green_500: var(--widowwise_on_light_green);
	--widowwise_on_green_600: var(--widowwise_on_dark_green);
	--widowwise_on_green_700: var(--widowwise_on_dark_green);
	--widowwise_on_green_800: var(--widowwise_on_dark_green);
	--widowwise_on_green_900: var(--widowwise_on_dark_green);
	--widowwise_on_green_950: var(--widowwise_on_dark_green);

	--widowwise_purple: #2c276f;
	--widowwise_purple_25: #f2f1fb;
	--widowwise_purple_50: #eef1ff;
	--widowwise_purple_100: #e0e6ff;
	--widowwise_purple_200: #c7d0fe;
	--widowwise_purple_300: #a4b1fd;
	--widowwise_purple_400: #8087f9;
	--widowwise_purple_500: #6462f2;
	--widowwise_purple_600: #5345e6;
	--widowwise_purple_700: #4737cb;
	--widowwise_purple_800: #3a2fa4;
	--widowwise_purple_900: #2c276f;
	--widowwise_purple_950: #201b4b;
	--widowwise_on_dark_purple: var(--widowwise_purple_25);
	--widowwise_on_light_purple: var(--widowwise_purple_900);
	--widowwise_on_purple: var(--widowwise_on_dark_purple);
	--widowwise_on_purple_50: var(--widowwise_on_light_purple);
	--widowwise_on_purple_100: var(--widowwise_on_light_purple);
	--widowwise_on_purple_200: var(--widowwise_on_light_purple);
	--widowwise_on_purple_300: var(--widowwise_on_light_purple);
	--widowwise_on_purple_400: var(--widowwise_on_dark_purple);
	--widowwise_on_purple_500: var(--widowwise_on_dark_purple);
	--widowwise_on_purple_600: var(--widowwise_on_dark_purple);
	--widowwise_on_purple_700: var(--widowwise_on_dark_purple);
	--widowwise_on_purple_800: var(--widowwise_on_dark_purple);
	--widowwise_on_purple_900: var(--widowwise_on_dark_purple);
	--widowwise_on_purple_950: var(--widowwise_on_dark_purple);
}

html {
	background: #ffffff;
}

.main {
	overflow: hidden;

	.course-block {
		&[class*='shortcode'] {
			display: none;
		}
		&[class*='dark-bg'] {
			.widowwise-style,
			.rich-text,
			.block__text-with-image-grid__column__body {
				h1,
				h2,
				h3,
				h4,
				h5,
				h1 > *,
				h2 > *,
				h3 > *,
				h4 > *,
				h5 > * {
					color: white;
				}
			}
		}
		&.banner {
			&[class*='dark'] {
				h6 {
					color: var(--widowwise_green) !important;
				}
			}
		}
		.widowwise-style,
		.rich-text,
		.block__text-with-image-grid__column__body {
			h1,
			h2,
			h3,
			h4,
			h5,
			h1 > *,
			h2 > *,
			h3 > *,
			h4 > *,
			h5 > * {
				text-wrap: balance;
				font-weight: 700;
				color: var(--widowwise_heading);
				& + h1:not(h1 + h1),
				& + h2:not(h2 + h2),
				& + h3:not(h3 + h3),
				& + h4:not(h4 + h4),
				& + h5:not(h5 + h5),
				& + p {
					margin-top: 0.5em;
				}
			}
			h1,
			h2,
			h1 > *,
			h2 > * {
				line-height: 1.2;
				font-weight: 700;
			}
			h1 strong,
			h2 strong {
				font-weight: 900;
			}
			h3,
			h4,
			h5 {
				line-height: 1.35;
				text-wrap: pretty !important;
			}
			h6 {
				color: var(--widowwise_purple) !important;
				font-size: 2.1rem;
				font-weight: 900;
				text-transform: uppercase;
			}
			p,
			li {
				text-wrap: pretty !important;
				line-height: 1.5 !important;
			}
			h1 {
				--fs: 4.8rem;
				font-size: var(--fs);
				text-transform: uppercase;
				@media (max-width: 960px) {
					font-size: calc(var(--widowwise_laptop_scale) * var(--fs));
				}
				@media (max-width: 768px) {
					font-size: calc(var(--widowwise_tablet_scale) * var(--fs));
				}
				@media (max-width: 480px) {
					font-size: calc(var(--widowwise_phone_scale) * var(--fs));
				}
			}
			h2 {
				--fs: 3.8rem;
				font-size: var(--fs);
				@media (max-width: 960px) {
					font-size: calc(var(--widowwise_laptop_scale) * var(--fs));
				}
				@media (max-width: 768px) {
					font-size: calc(var(--widowwise_tablet_scale) * var(--fs));
				}
				@media (max-width: 480px) {
					font-size: calc(var(--widowwise_phone_scale) * var(--fs));
				}
			}
			h3 {
				--fs: 2.8rem;
				font-size: var(--fs);
				@media (max-width: 960px) {
					font-size: calc(var(--widowwise_laptop_scale) * var(--fs));
				}
				@media (max-width: 768px) {
					font-size: calc(var(--widowwise_tablet_scale) * var(--fs));
				}
				@media (max-width: 480px) {
					font-size: calc(var(--widowwise_phone_scale) * var(--fs));
				}
			}
			h4 {
				--fs: 2.4rem;
				font-size: var(--fs);
				@media (max-width: 960px) {
					font-size: calc(var(--widowwise_laptop_scale) * var(--fs));
				}
				@media (max-width: 768px) {
					font-size: calc(var(--widowwise_tablet_scale) * var(--fs));
				}
				@media (max-width: 480px) {
					font-size: calc(var(--widowwise_phone_scale) * var(--fs));
				}
			}
			h5 {
				--fs: 2.1rem;
				font-size: var(--fs);
				@media (max-width: 960px) {
					font-size: calc(var(--widowwise_laptop_scale) * var(--fs));
				}
				@media (max-width: 768px) {
					font-size: calc(var(--widowwise_tablet_scale) * var(--fs));
				}
				@media (max-width: 480px) {
					font-size: calc(var(--widowwise_phone_scale) * var(--fs));
				}
			}
			p,
			li,
			span {
				color: var(--widowwise_text);
				--fs: 1.6rem;
				font-size: var(--fs);
				@media (max-width: 960px) {
					font-size: calc(var(--widowwise_laptop_scale) * var(--fs));
				}
				@media (max-width: 768px) {
					font-size: calc(var(--widowwise_tablet_scale) * var(--fs));
				}
				@media (max-width: 480px) {
					font-size: calc(var(--widowwise_phone_scale) * var(--fs));
				}
				&:not(:first-child) {
					margin-top: 0.5em;
				}
			}
			h5 + h2,
			h6 + h2 {
				margin-top: 0 !important;
			}
		}

		.block__image-with-text,
		.block__video,
		.block__text-with-image-grid,
		.block__upsell {
			ul {
				margin-top: 1em;
				margin-bottom: 1.5em;
				& > li {
					margin-top: 0.75rem;
					&::before {
						content: '→';
						color: var(--widowwise_green);
						--fs: 1em;
						font-size: var(--fs);
						@media (max-width: 960px) {
							font-size: calc(var(--widowwise_laptop_scale) * var(--fs));
						}
						@media (max-width: 768px) {
							font-size: calc(var(--widowwise_tablet_scale) * var(--fs));
						}
						@media (max-width: 480px) {
							font-size: calc(var(--widowwise_phone_scale) * var(--fs));
						}
					}
				}
			}
		}

		.banner__button,
		.base-button {
			text-transform: uppercase;
			min-width: 0;
			--fs: 18px;
			font-size: var(--fs);
			@media (max-width: 960px) {
				font-size: calc(var(--widowwise_laptop_scale) * var(--fs));
			}
			@media (max-width: 768px) {
				font-size: calc(var(--widowwise_tablet_scale) * var(--fs));
			}
			@media (max-width: 480px) {
				font-size: calc(var(--widowwise_phone_scale) * var(--fs));
			}
			max-width: none;
			padding: 0.6em 1.2em !important;
			letter-spacing: 0.033em;
			font-weight: 700 !important;
			background: var(--widowwise_green);
			color: var(--widowwise_on_green);
			border-radius: 100px;
		}

		.secondary-button {
			max-width: none;
			padding-left: 25px;
			padding-right: 25px;
			border-radius: 100px;
			letter-spacing: 0.033em;
			font-weight: 700 !important;
			color: var(--widowwise_on_green);
			min-width: 250px;
			padding: 0.722222222em 1em;
			text-align: center;
			/* font-size: 1.6rem; */
			font-weight: 700;
			line-height: 2.4rem;
			/* border: 1px solid transparent; */
			min-width: 0;
			margin-left: 10px;
			position: relative;
			background: transparent;
			border: 2px solid var(--widowwise_on_green);
			color: var(--widowwise_on_green);
			text-transform: uppercase;
			min-width: 0;
			--fs: 18px;
			font-size: var(--fs);
			@media (max-width: 960px) {
				font-size: calc(var(--widowwise_laptop_scale) * var(--fs));
			}
			@media (max-width: 768px) {
				font-size: calc(var(--widowwise_tablet_scale) * var(--fs));
			}
			@media (max-width: 480px) {
				font-size: calc(var(--widowwise_phone_scale) * var(--fs));
			}
		}

		/**********************
        *** IMAGE WITH TEXT ***
        **********************/
		&.image_with_text {
			.block__image-with-text__image {
				object-fit: cover !important;
				align-self: stretch;
				display: flex;
			}

			.block__image-with-text__inner__heading {
				margin-bottom: 2em;
			}
		}

		/************
        *** VIDEO ***
        *************/
		&.video {
			* {
				text-align: center;
			}
			.wistia_responsive_padding {
				border-radius: var(--widowwise_radius_medium);
				overflow: hidden;
				box-shadow:
					0 0 0 1px #fafafa,
					0 8px 30px rgba(0, 0, 0, 0.2);
			}
		}

		/***********
        *** HERO ***
        ***********/
		&.banner[class*='hero'] {
			.banner__inner {
				min-height: 0;
			}
		}
	}
}
