/*
Theme Name: The Pyramid Scheme
Theme URI: https://cemahcreative.com
Author: Cemah Creative LLC
Author URI: https://cemahcreative.com
Description: Designed for marketing objectives of service-based B2C small businesses with a focus on usability, accessibility, and performance.
Requires at least: 6.6
Tested up to: 6.5
Requires PHP: 8.1
Version: 1.15.0
*/



/*****************************************************
   General
/****************************************************/
html {
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

:root .wp-site-blocks > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

*:focus-visible {
	outline-color: var(--wp--custom--focus-color);
	outline-offset: 6px;
}



/*****************************************************
   Layout
/****************************************************/
.is-layout-flex.is-nowrap.has-equal-width-children > * {
	flex-basis: 0;
	flex-grow: 1;
}




/*****************************************************
   Text Classes
/****************************************************/
.has-links-without-decoration a {
	text-decoration: none;
}

.has-links-without-decoration a:hover {
	text-decoration: underline;
}

.is-text-no-wrap,
.is-text-no-wrap > .wp-block-button__link {
	white-space: nowrap !important;
}




/*****************************************************
   Visibility Classes
/****************************************************/
@media screen and (min-width: 768px) {
	.is-hidden-above-mobile {
		display: none !important;
	}
}

@media screen and (min-width: 1024px) {
	.is-hidden-above-tablet {
		display: none !important;
	}
}

@media screen and (max-width: 1023px) {
	.is-hidden-below-desktop {
		display: none !important;
	}
}

@media screen and (max-width: 767px) {
	.is-hidden-below-tablet {
		display: none !important;
	}
}




/*****************************************************
   Block: Heading
/****************************************************/
:not(.is-layout-flex:not(.is-vertical)) > h2.wp-block-heading:not(:first-child) {
	margin-top: calc(var(--wp--style--block-gap) * 2.25);
}

:not(.is-layout-flex:not(.is-vertical)) > h3.wp-block-heading:not(:first-child) {
	margin-top: calc(var(--wp--style--block-gap) * 1.75);
}

:not(.is-layout-flex:not(.is-vertical)) > h4.wp-block-heading:not(:first-child) {
	margin-top: calc(var(--wp--style--block-gap) * 1.5);
}

:not(.is-layout-flex:not(.is-vertical)) > h5.wp-block-heading:not(:first-child) {
	margin-top: calc(var(--wp--style--block-gap) * 1.5);
}

:not(.is-layout-flex:not(.is-vertical)) > h6.wp-block-heading:not(:first-child) {
	margin-top: calc(var(--wp--style--block-gap) * 1.5);
}





/*****************************************************
   Block: Navigation Submenu
/****************************************************/
.wp-block-navigation-submenu > .wp-block-navigation__submenu-icon {
	height: 0.9em;
	width: 0.9em;
	margin-left: 0.375rem;
	margin-top: -6px;
}

.wp-block-navigation-submenu > .wp-block-navigation__submenu-icon > svg {
	transition: transform 200ms;
	width: 100%;
	height: 100%;
	opacity: 0.4;
}

.wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle[aria-expanded=true] > svg {
	transform: rotate(180deg);
}

.wp-block-navigation-submenu > .wp-block-navigation-item > a:focus {
	outline-offset: 0.25rem;
	z-index: 2;
	position: relative;
}

.wp-block-navigation-submenu > .wp-block-navigation__submenu-container > .wp-block-navigation-item > a:not(.wp-element-button) {
	padding: 0.75rem;
	line-height: 1.1;
}

.wp-block-navigation.is-horizontal .wp-block-navigation-submenu > .wp-block-navigation__submenu-container > .wp-block-navigation-item {
	font-size: var(--wp--preset--font-size--small);
}

.wp-block-navigation.is-horizontal .wp-block-navigation-submenu > .wp-block-navigation__submenu-container > .wp-block-navigation-item a:not(.wp-element-button):hover {
	background-color: rgba(255,255,255,0.2);
}

.wp-block-navigation.is-horizontal .wp-block-navigation-submenu > .wp-block-navigation__submenu-container.has-base-background-color.has-contrast-color > .wp-block-navigation-item a:not(.wp-element-button):hover {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

.wp-block-navigation.is-horizontal .wp-block-navigation-submenu > .wp-block-navigation__submenu-container.has-base-background-color.has-primary-color > .wp-block-navigation-item a:not(.wp-element-button):hover {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.wp-block-navigation.is-horizontal .wp-block-navigation-submenu > .wp-block-navigation__submenu-container.has-base-background-color.has-secondary-color > .wp-block-navigation-item a:not(.wp-element-button):hover {
	background-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--base);
}

.wp-block-navigation.is-horizontal .wp-block-navigation-submenu > .wp-block-navigation__submenu-container.has-base-background-color.has-tertiary-color > .wp-block-navigation-item a:not(.wp-element-button):hover {
	background-color: var(--wp--preset--color--tertiary);
	color: var(--wp--preset--color--base);
}

.wp-block-navigation.is-horizontal .wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
	min-width: 240px !important;
	top: calc(100% + var(--wp--custom--navigation-submenu-top-offset)) !important;
}

/* needs more specifity to overcome WP defaults */
.wp-block-navigation.is-horizontal .wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
	border: none;
}

.wp-block-navigation.is-horizontal .wp-block-navigation__submenu-container::after {
	content: "";
	position: absolute;
	top: calc(var(--wp--custom--navigation-submenu-top-offset) * -1);
	height: var(--wp--custom--navigation-submenu-top-offset);
	display: block;
	width: 100%;
	right: auto;
	left: 0;
}

.wp-block-navigation.is-horizontal .wp-block-navigation-submenu:nth-last-child(1) > .wp-block-navigation__submenu-container {
	right: 0 !important;
	left: auto !important;
}

.wp-block-navigation.is-horizontal .wp-block-navigation-submenu:nth-last-child(1) > .wp-block-navigation__submenu-container > .wp-block-navigation-item > a {
	justify-content: flex-end;
	text-align: right;
}





/* Style: bubble */
.wp-block-navigation.is-horizontal .wp-block-navigation-submenu.is-style-bubble > .wp-block-navigation__submenu-container {
	padding: 0.5rem;
	left: 0;
	right: auto;
	border-radius: 0;
	transition-property: height, visibility, opacity, transform;
	transition-duration: 2s, 2s, 200ms, 2s;
	transition-timing-function: cubic-bezier(.27,1,.45,1);
	transition-behavior: allow-discrete;
	transform-origin: 50% 0%;
	transform: scaleY(0);
}

.wp-block-navigation.is-horizontal .wp-block-navigation-submenu.is-style-bubble [aria-expanded=true] + .wp-block-navigation__submenu-container {
	transform: scaleY(1);
	opacity: 1;
	transition-property: visibility, opacity, transform;
	transition-duration: 450ms;

	@starting-style {
		opacity: 0;
		transform: scaleY(0);
	}
}

.wp-block-navigation.is-horizontal .wp-block-navigation-submenu.is-style-bubble > .wp-block-navigation__submenu-container::before {
	content: '';
	width: 1rem;
	height: 1rem;
	left: 2.5rem;
	top: -0.5rem;
	position: absolute;
	display: block;
	transform: rotate(45deg);
	background-color: inherit;
}

.wp-block-navigation.is-horizontal .wp-block-navigation-submenu.is-style-bubble:nth-last-child(1) > .wp-block-navigation__submenu-container::before {
	left: auto !important;
	right: 2.5rem !important;
}

.wp-block-navigation.is-horizontal .wp-block-navigation-submenu.is-style-bubble > .wp-block-navigation__submenu-container > .wp-block-navigation-item > a:not(.wp-element-button) {
	border-radius: 0.375rem;
}


@keyframes cemah__navigation-submenu__style-bubble {
	0% {
		opacity: 0;
		transform: scaleY(0);
		transform-origin: 50% 0%;
	}

	20% {
		opacity: 0;
	}

	100% {
		opacity: 1;
		transform: scaleY(1);
		transform-origin: 50% 0%;
	}
}


.wp-block-navigation.is-vertical .wp-block-navigation__container > .wp-block-navigation-item {
	transition: all 500ms cubic-bezier(.27,1,.45,1), max-height 800ms cubic-bezier(.27,1,.45,1);
	flex-wrap: wrap;
	opacity: 1;
}


.wp-block-navigation.is-vertical:has(.wp-block-navigation-submenu__toggle[aria-expanded=true]) .wp-block-navigation__container > .wp-block-navigation-item:not(:has([aria-expanded=true])) {
	transition: all 500ms cubic-bezier(.27,1,.45,1), max-height 300ms cubic-bezier(.27,1,.45,1);
	opacity: 0;
	transform: scaleY(0);
	transform-origin: 50% 0%;
	height: 0;
	visibility: hidden;
}

.wp-block-navigation.is-vertical .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-submenu__toggle[aria-expanded=true] {
	font-weight: 700;
	font-size: 0.9em;
	text-transform: uppercase;
	opacity: 0.5;
	margin-left: 1.35rem;
	margin-bottom: 1rem;
}

.wp-block-navigation.is-vertical .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-submenu__toggle[aria-expanded=false] .wp-block-navigation-item__back-label {
	display: none;
}

.wp-block-navigation.is-vertical .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-submenu__toggle[aria-expanded=true] .wp-block-navigation-item__label {
	display: none;
}

.wp-block-navigation.is-vertical .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-submenu__toggle[aria-expanded=true]:hover {
	opacity: 1;
}

.wp-block-navigation.is-vertical .wp-block-navigation__container {
	transition: gap 500ms;
}

.wp-block-navigation.is-vertical .wp-block-navigation__container:has(.wp-block-navigation-submenu__toggle[aria-expanded=true]) {
	gap: 0;
}

.wp-block-navigation.is-vertical .wp-block-navigation-item .wp-block-navigation-submenu__toggle[aria-expanded=true] {
	margin-bottom: 0.375rem;
}

.wp-block-navigation.is-vertical .wp-block-navigation-item .wp-block-navigation-submenu__toggle + .wp-block-navigation__submenu-icon {
	position: absolute;
	transition: transform 600ms;
	right: -0.3em;
	transform: rotate(-90deg);
}

.wp-block-navigation.is-vertical .wp-block-navigation-item .wp-block-navigation-submenu__toggle[aria-expanded=true] + .wp-block-navigation__submenu-icon {
	left: 0.5em;
	top: 0.1em;
	transform: rotate(90deg);
}

.wp-block-navigation.is-vertical .wp-block-navigation__submenu-container {
	background-color: transparent;
	color: inherit;
	border: 0;
	position: relative;
	box-shadow: none;
}

.wp-block-navigation.is-vertical .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container {
	width: 100%;
	position: relative;
	min-width: 0;
	top: 0;
}

.wp-block-navigation.is-vertical .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container .wp-block-navigation-item > a:not(.wp-element-button) {
	padding-left: 0;
}






.allow-overflow {
	overflow: visible;
}

.z-level-100 {
	z-index: 100;
}

.no-flex-shrink {
	flex-shrink: 0;
}

.overflow-x-clip {
	overflow-x: clip;
}

.gradient-background {
	background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
	background-size: 400% 400%;
	animation: main-gradient 20s ease infinite;
}

@keyframes main-gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}


.wp-block-cemah-website-header .braille-title {
	transform: rotate(-90deg);
	transform-origin: top left;
	position: absolute;
	left: 0.5rem;
	top: 13.5em;
}

.wp-block-cemah-website-header .social-icons {
	position: absolute;
	right: 0.5rem;
	top: 0.5rem;
	z-index: 10;
}

.wp-block-cemah-website-footer .wp-block-navigation-item a:hover {
	color: var(--wp--preset--color--accent-1);
}

@media screen and (max-width: 767px) {
	.wp-block-cemah-website-footer .wp-block-navigation {
		margin-top: 1rem;
		margin-bottom: 0.5rem;
	}

	.wp-block-cemah-website-footer .wp-block-navigation-item {
		flex-basis: 100%;
		text-align: center;
		justify-content: center;
	}
}

body:has(.wp-block-cemah-mobile-navigation-panel[open]) .wp-block-cemah-mobile-header {
	transform: none;
}

.wp-block-cemah-mobile-navigation-panel .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	justify-content: center;
}

.wp-block-cemah-branding__logo {
	transition: transform 200ms ease-in;
}

.wp-block-cemah-branding__logo:hover {
	transform: scale(1.025);
}


.t-rex {
	position: absolute !important;
	bottom: calc(var(--wp--preset--spacing--50) * -1);
	left: calc(58vw - var(--wp--style--root--padding-right));
	width: 42vw;
}


@media screen and (min-width: 650px) {
	.t-rex {
		left: calc(40vw - var(--wp--style--root--padding-right));
		width: 60vw;
		max-width: 925px;
	}
}


@media screen and (max-width: 767px) {
	.egyptian-cat {
		width: 300px !important;
		margin-top: -12rem !important;
	}

	.wp-block-group.alien-shirt-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}





.lizard-man {
	position: absolute !important;
}


@media screen and (max-width: 1023px) {
	.lizard-man {
		width: 400px;
		right: -150px;
	}
}


@media screen and (max-width: 767px) {
	.lizard-man {
		width: 300px;
		right: -160px;
		top: -75px
	}

	.wp-block-cover:has(.lizard-man) {
		overflow-x: clip;
	}

	.wp-block-group.is-layout-grid:has(.lizard-man) {
		gap: 0;
	}

	.wp-block-group:has(> .lizard-man) {
		position: static;
	}
}


@media screen and (max-width: 767px) {
	.event-item {
		gap: 0.5rem !important;
		padding-top: var(--wp--preset--spacing--40) !important;
		padding-bottom: var(--wp--preset--spacing--40) !important;
	}
}


.wp-block-cemah-mobile-header .wp-block-cemah-shape-divider {
	transition: height 500ms;
}

.wp-block-cemah-mobile-header.is-stuck .wp-block-cemah-shape-divider {
	height: 0;
}

.wp-block-cemah-mobile-header .wp-block-cemah-branding {
	transition: height 500ms;
}

.wp-block-cemah-mobile-header.is-stuck .wp-block-cemah-branding {
	height: 0 !important;
}


.wp-block-post.event.is-free-event .wp-block-button__link::before {
	content: 'Free Event';
	margin-right: -0.675rem;
	font-size: var(--wp--preset--font-size--small);
}

.wp-block-post.event.is-free-event .wp-block-button__link {
	font-size: 0;
	color: #BB9CFB !important;
	border: 1px solid #BB9CFB !important;
}


.wp-block-post.event.is-canceled .wp-block-button__link::before {
	content: 'Canceled';
	margin-right: -0.675rem;
	font-size: var(--wp--preset--font-size--small);
}

.wp-block-post.event.is-canceled .wp-block-button__link {
	font-size: 0;
	color: #EC4141 !important;
	border: 1px solid #EC4141 !important;
}