/**
 * Theme Name:       Mai-5k
 * Theme URI:        https://bizbudding.com/mai-theme/
 * Description:      Mai Slate starter theme for the Genesis Framework.
 * Author:           BizBudding
 * Author URI:       https://bizbudding.com/
 * Version:          2.1.1
 * Text Domain:      mai-slate
 * Template:         genesis
 * Template Version: 3.3.5
 * License:          GPL-2.0-or-later
 * License URI:      http://www.gnu.org/licenses/gpl-2.0.html
 */

@font-face {
	font-family: "Poppins";
	src: url("assets/fonts/Poppins-VariableFont_wght.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
	font-feature-settings: "ss04" 1;
}

@font-face {
	font-family: "Poppins";
	src: url("assets/fonts/Poppins-Italic-VariableFont_wght.woff2") format("woff2");
	font-weight: 100 900;
	font-style: italic;
	font-display: swap;
	font-feature-settings: "ss04" 1;
}

@font-face {
	font-family: "Playfair Display";
	src: url("assets/fonts/PlayfairDisplay-VariableFont_wght.woff2") format("woff2");
	font-weight: 400 900;
	font-style: normal;
	font-display: swap;
	/* font-feature-settings: "case" 1, "onum" 1, "smcp" 1; */
}

@font-face {
	font-family: "Playfair Display";
	src: url("assets/fonts/PlayfairDisplay-Italic-VariableFont_wght.woff2") format("woff2");
	font-weight: 400 900;
	font-style: italic;
	font-display: swap;
	font-feature-settings: "case" 1, "onum" 1, "smcp" 1;
}

/* @font-face {
	font-family: "DM Sans";
	src: url("assets/fonts/DMSans-Variable_opsz_wght.woff2") format("woff2");
	font-weight: 100 1000;
	font-style: normal;
	font-display: swap;
	font-feature-settings: "ss02" 1, "ss03" 1, "ss04" 1, "ss05" 1;
}

@font-face {
	font-family: "DM Sans";
	src: url("assets/fonts/DMSans-Italic-Variable_opsz_wght.woff2") format("woff2");
	font-weight: 100 1000;
	font-style: italic;
	font-display: swap;
	font-feature-settings: "ss02" 1, "ss03" 1, "ss04" 1, "ss05" 1;
} */

@font-face {
	font-family: "Figtree";
	src: url("assets/fonts/Figtree-VariableFont_wght.woff2") format("woff2");
	font-weight: 300 900;
	font-style: normal;
	font-display: swap;
	font-feature-settings: "case" 1;
}

@font-face {
	font-family: "Figtree";
	src: url("assets/fonts/Figtree-Italic-VariableFont_wght.woff2") format("woff2");
	font-weight: 300 900;
	font-style: italic;
	font-display: swap;
	font-feature-settings: "case" 1;
}

:root {
	/* @link https://utopia.fyi/type/calculator?c=360,16,1.2,1200,20,1.25,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */
	--step--2: clamp(0.6944rem, 0.6492rem + 0.2011vw, 0.8rem);
	--step--1: clamp(0.8333rem, 0.7619rem + 0.3175vw, 1rem);
	--step-0: clamp(1rem, 0.8929rem + 0.4762vw, 1.25rem);
	--step-1: clamp(1.2rem, 1.0446rem + 0.6905vw, 1.5625rem);
	--step-2: clamp(1.44rem, 1.2201rem + 0.9774vw, 1.9531rem);
	--step-3: clamp(1.728rem, 1.4223rem + 1.3589vw, 2.4414rem);
	--step-4: clamp(2.0736rem, 1.6544rem + 1.8632vw, 3.0518rem);
	--step-5: clamp(2.4883rem, 1.9199rem + 2.5264vw, 3.8147rem);

    --body-font-family: "Poppins", system-ui, sans-serif !important;
	--body-line-height: 1.5;
	--body-letter-spacing: 0.5px;

    --heading-font-family: "Figtree", system-ui, sans-serif !important;
	--heading-letter-spacing: normal;

	--alt-font-family: "Playfair Display", system-ui, serif !important;
	--site-header-border-bottom: none;
	--entry-title-single-margin-bottom: var(--spacing-lg);

	--accordion-summary-font-size: var(--font-size-lg);
	--accordion-summary-font-weight: 700;
	--accordion-summary-letter-spacing: normal;
	--accordion-item-background: transparent;

    --button-font-size: var(--font-size-base);
	--button-font-family: var(--body-font-family);
	--button-font-weight: 600;

	--button-letter-spacing: .02px;
	--button-text-transform: none;
	--button-color: var(--color-white);
	--button-color-hover: var(--color-white);
	--button-background: var(--color-primary);
	--button-border-radius: 0;
	--button-padding: 0.9rem 2rem;
	--button-max-height: calc(100% - (var(--button-outline-width, 2px) * 2));

	--color-border: hsl(from var(--color-black) h s l / .05);
	--content-sidebar-wrap-margin-top: calc(var(--spacing-xxl) * 2);
	--image-border-radius: 0;
	--entry-wrap-border-radius: 0;
	--big-border: 16px solid var(--color-white);

	--color-shadow: rgba(10, 20, 30, 0.2);
	--shadow: 0 0.25em 1em 0 var(--color-shadow);
	--drop-shadow: drop-shadow(0 0.25em 1em var(--color-shadow));

	--squares-bg-size: 10px 10px;
	--squares-bg-img: conic-gradient(transparent 75%, var(--color-secondary-100) 75%);

	--repeating-white-grid: linear-gradient(rgba(255, 255, 255, .1) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .1) 1px, transparent 1px);

	--repeating-diagonal-stripes: repeating-linear-gradient(-45deg, rgba(208, 231, 251, .15) 0, rgba(208, 231, 251, .1) 1px, transparent 0, transparent 50%);

	--color-neutral-50: #fbfbfb;
	--color-alt: #f3f3f3;
	--color-neutral-200: #e4e4e4;
	--color-neutral-300: #cfcfcf;
	--color-neutral-400: #bababa;
	--color-neutral-500: #a6a6a6;
	--color-neutral-600: #838383;
	--color-neutral-700: #6a6a6a;
	--color-body: #4b4b4b;
	--color-neutral-900: #2e2e2e;
	--color-black: #141414;

	--color-primary-50: #e3f6ff;
	--color-primary-100: #d5e9ff;
	--color-primary-200: #a2d7ff;
	--color-primary-300: #82bbff;
	--color-primary-400: #5796d8;
	--color-link: #2e76b3;
	--color-primary: #025f98;
	--color-primary-700: #004c82;
	--color-heading: #00396b;
	--color-primary-900: #002a4a;
	--color-primary-950: #001836;

	--color-secondary-50: #d9fbff;
	--color-secondary-100: #cbeeff;
	--color-secondary-200: #81e2ff;
	--color-secondary-300: #5fc6ee;
	--color-secondary-400: #2da0c3;
	--color-secondary: #00809e;
	--color-secondary-600: #006883;
	--color-secondary-700: #00556d;
	--color-secondary-800: #004157;
	--color-secondary-900: #002f3c;
	--color-secondary-950: #001e29;

	--color-highlight-50: #f4f0ff;
	--color-highlight-100: #e6e3ff;
	--color-highlight-200: #cfc8ff;
	--color-highlight-300: #afadff;
	--color-highlight-400: #8689d9;
	--color-highlight: #6269b6;
	--color-highlight-600: #49539c;
	--color-highlight-700: #343f86;
	--color-highlight-800: #212c71;
	--color-highlight-900: #17224e;
	--color-highlight-950: #06103b;

	--link-text-decoration: underline;
	--link-text-decoration-offset: 3px;
	--link-text-decoration-thickness: 2px;
}

/* -------------------------------------------------------------------------- */
/*                                  defaults                                  */
/* -------------------------------------------------------------------------- */

body {
	letter-spacing: 0.5px;
	text-wrap: pretty;
	counter-reset: item;
	--body-font-weight: 400;
	--body-line-height: 1.5;
}

strong {
	font-weight: 550;
}

h1, h2, h3, h4, h5, h6, .is-style-heading, .is-style-subheading {
	--heading-font-weight: 600;
	--heading-line-height: 1.1;
	letter-spacing: -0.5px;
}

.entry-excerpt.entry-excerpt-single {
	--entry-excerpt-margin-bottom: var(--spacing-md);
}

ul {
	--list-margin-left: var(--font-size-md);
	list-style-type: square;
	margin-block-end: 1lh;
	li::marker {
		color: var(--color-secondary);
		font-size: 1.25em;
	}
}

h1 {
	font-size: var(--font-size-xxxxl);
}

.hero {
	h1 {
		font-size: calc(var(--font-size-xxxxl) * 1.4);
		font-weight: 500;
		line-height: 1;
	}
	p:not(.has-sm-font-size):not(.overline) {
		font-size: var(--font-size-lg);
	}
}

.overline {
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: var(--font-size-sm);
	font-weight: 700;
	margin-bottom: var(--spacing-xl);
	color: var(--color-primary-700);
}

.tablepress {
	font-family: var(--heading-font-family);
}

/* ---------------------------------- links --------------------------------- */

a {
	text-decoration-thickness: var(--link-text-decoration-thickness);
	text-decoration-color: var(--color-link);
	&:hover,
	&:focus-visible {
		text-decoration: none;
		color: var(--color-link);
	}
}

/* -------------------------------------------------------------------------- */
/*                                 navigation                                 */
/* -------------------------------------------------------------------------- */

.nav-header {
	--menu-font-size: 1rem;
	--menu-letter-spacing: .02px;
	--menu-font-weight: 560;
	--menu-font-family: var(--body-font-family);
	--menu-item-link-color-hover: var(--color-primary-500);
	--menu-item-width: auto;
	.menu-item-link {
		padding: 16px 24px;
	}
}

.sub-menu {
	--sub-menu-background-color: var(--color-primary-700);
	--sub-menu-border: 1px solid rgba(170, 212, 248, 0.2);
	--sub-menu-border-radius: 0;
	--sub-menu-background: var(--color-heading);
	--sub-menu-link-color: var(--color-white);
	--sub-menu-font-size: 1em;
	--sub-menu-padding: 0;
	--sub-menu-width: 15em;
	--menu-item-link-color-hover: var(--color-primary-200);
	filter: var(--drop-shadow);
	.menu-item-link {
		padding: 10px 24px 10px 16px;
		border-bottom: var(--sub-menu-border);
		font-weight: inherit;
	}
	li:last-child .menu-item-link {
		border-bottom: none;
	}
}

/* -------------------------------------------------------------------------- */
/*                                   buttons                                  */
/* -------------------------------------------------------------------------- */

.is-style-black {
	--button-color: var(--color-alt);
	--button-color-hover: var(--color-white);
	--button-background: var(--color-neutral-900);
	.button:hover {
		background: var(--color-black);
	}
}

.wp-block-button-black > .button-outline {
	--button-max-height: calc(100% - (var(--button-outline-width, 2px) * 2));
	--button-outline-color: var(--color-black);
	--button-outline-width: 2px;
	--button-color: var(--color-black);
	--button-color-hover: var(--color-white);
	--button-background: transparent;
	--button-background-hover: var(--button-color);
	--button-border: var(--button-outline-width) solid var(--button-outline-color);
	--button-border-hover: var(--button-border);
}

.wp-block-button {
	&.is-style-button-arrow a::after,
	&.wpforms-submit.is-style-button-arrow::after {
		display: inline-flex;
		width: 0.9rem;
		height: 0.9rem;
		background: currentcolor;
		mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0NDggNTEyJz48IS0tIUZvbnQgQXdlc29tZSBQcm8gNi43LjIgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20gTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UgKENvbW1lcmNpYWwgTGljZW5zZSkgQ29weXJpZ2h0IDIwMjUgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZD0nTTQyMi42IDI3OC42TDQ0NS4zIDI1NmwtMjIuNi0yMi42LTE0NC0xNDRMMjU2IDY2LjcgMjEwLjggMTEybDIyLjYgMjIuNkwzMjIuOCAyMjQgMzIgMjI0IDAgMjI0bDAgNjQgMzIgMCAyOTAuNyAwLTg5LjQgODkuNEwyMTAuOCA0MDAgMjU2IDQ0NS4zbDIyLjYtMjIuNiAxNDQtMTQ0eicvPjwvc3ZnPg==");
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		transition: var(--transition);
		content: "";
	}

	&.is-style-button-arrow a:hover::after,
	&.wpforms-submit.is-style-button-arrow:hover::after  {
		transform: translateX(4px);
	}
}

.wpforms-submit {
	font-size: 16px;
	padding: var(--button-padding);
	letter-spacing: var(--button-letter-spacing);
}

.wpforms-container .wpforms-required-label {
	color: var(--color-primary-400);
	font-weight: 600;
	width: .25em;
	height: .25em;
	display: inline-block;
}

/* -------------------------------------------------------------------------- */
/*                                   footer                                   */
/* -------------------------------------------------------------------------- */

.site-footer {
    font-size: var(--font-size-sm);
	letter-spacing: normal;
}



/* -------------------------------------------------------------------------- */
/*                                   plugins                                  */
/* -------------------------------------------------------------------------- */

/* -------------------------------- mai list -------------------------------- */

.mai-list.plain {
	p {
		span {
			font-size: calc(var(--font-size-sm) + 1.5px);
			font-family: var(--heading-font-family);
			text-transform: uppercase;
			letter-spacing: .3px;
			font-weight: 700;
		}
	}
	.mai-list-icon-wrap {
		display: none;
	}
	.mai-list-item {
		margin-left: var(--spacing-xl);
	}

}



/* ------------------------------ mai accordion ----------------------------- */

.mai-accordion {
	--icon-plus: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA2NDAgNjQwJz48IS0tIUZvbnQgQXdlc29tZSBQcm8gNy4xLjAgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20gTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UgKENvbW1lcmNpYWwgTGljZW5zZSkgQ29weXJpZ2h0IDIwMjYgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZD0nTTMyMC4zIDQ2MS4zTDUwMi45IDI3OC43TDUyNS41IDI1Ni4xTDQ4MC4yIDIxMC44TDQ1Ny42IDIzMy40TDMyMC4yIDM3MC44TDE4Mi44IDIzMy40TDE2MC4yIDIxMC44TDExNC45IDI1Ni4xTDEzNy41IDI3OC43TDI5Ny41IDQzOC43TDMyMC4xIDQ2MS4zeicvPjwvc3ZnPg==") !important;

	--icon-minus: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA2NDAgNjQwJz48IS0tIUZvbnQgQXdlc29tZSBQcm8gNy4xLjAgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20gTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UgKENvbW1lcmNpYWwgTGljZW5zZSkgQ29weXJpZ2h0IDIwMjYgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZD0nTTMyMC4zIDE3OC43TDM0Mi45IDIwMS4zTDUyNS41IDM4My45TDQ4MC4yIDQyOS4yTDQ1Ny42IDQwNi42TDMyMC4yIDI2OS4yTDE4Mi44IDQwNi42TDE2MC4yIDQyOS4yTDExNC45IDM4My45TDEzNy41IDM2MS4zTDI5Ny41IDIwMS4zTDMyMC4xIDE3OC43eicvPjwvc3ZnPg==") !important;

	--accordion-item-border: none;
}

/* .counter {
	counter-reset: item;
} */

.counter > .mai-accordion-item {
    counter-increment: item;
}

.mai-accordion-item {
	position: relative;
	display: list-item;
	list-style-type: none;
	&::before {
		font-size: var(--font-size-lg);
		font-weight: 700;
		line-height: 1;
		position: absolute;
		left: 0.5em;
		top: var(--font-size-md);
		content: counter(item, decimal-leading-zero);
		color: var(--color-neutral-500);
	}
}

.mai-accordion-summary {
	--accordion-summary-font-weight: 600;
	--accordion-summary-padding: var(--spacing-md) var(--spacing-lg) var(--spacing-md) var(--spacing-xxxl);
	border-bottom: 1px solid var(--color-neutral-300);
	color: var(--color-body);
	letter-spacing: 0.3px;
	&::after {
		font-size: 1em;
	}

.mai-accordion-title {
	color: var(--color-heading);
    font-size: var(--font-size-lg);
    line-height: 1.2;
	font-family: var(--body-font-family);
	}
}

.mai-accordion-item[open] > .mai-accordion-content {
	border-bottom: 2px solid var(--color-body);
}


.mai-accordion-content {
	--accordion-content-padding: var(--spacing-lg) var(--spacing-xl) var(--spacing-xl) var(--spacing-xxxl);
	ul:last-child,
	ol:last-child {
		margin-bottom: 0;
	}
}

/* -------------------------------------------------------------------------- */
/*                                media queries                               */
/* -------------------------------------------------------------------------- */

@media only screen and (min-width: 400px) {

    /* Your CSS here. */
}

@media only screen and (min-width: 600px) {

    /* Your CSS here. */
}

@media only screen and (min-width: 800px) {

    /* Your CSS here. */
}

@media only screen and (min-width: 1000px) {


}