/*
Theme Name: Cemah Creative
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: 4.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;
}




/*****************************************************
   Responsive Border Radius
/****************************************************/
@media screen and (max-width: 1023px) {
	:root {
		--wp--preset--border-radius--2-x-large: 3rem;
		--wp--preset--border-radius--1-x-large: 2rem;
		--wp--preset--border-radius--large: 1.5rem;

	}
}

@media screen and (max-width: 767px) {
	:root {
		--wp--preset--border-radius--2-x-large: 2rem;
		--wp--preset--border-radius--1-x-large: 1.5rem;
		--wp--preset--border-radius--large: 1.25rem;
	}
}



/*****************************************************
   Block: Button
/****************************************************/

/* Removes background gradients when a custom color is selected for a button. */
.wp-block-button__link[class*="-background-color"] {
	background-image: none !important;
}


/*****************************************************
   Block: Accordion
/****************************************************/
.wp-block-accordion-panel[inert] {
	height: 0;
	padding-top: 0;
	padding-bottom: 0;
	overflow: hidden;
	opacity: 0;
}

.wp-block-accordion-panel {
	display: block;
	height: auto;
	opacity: 1;
	overflow: visible;
	transition: height 200ms ease-out, padding-top 200ms ease-out, padding-bottom 200ms ease-out, opacity 150ms ease-out, display 200ms step-end, overflow 200ms step-end;
	transition-behavior: allow-discrete;
	interpolate-size: allow-keywords;

	@starting-style {
		height: 0;
		padding-top: 0;
		padding-bottom: 0;
		opacity: 0;
		overflow: hidden;
	}
}

@media screen and (prefers-reduced-motion) {
	.wp-block-accordion-panel {
		transition: none !important;
	}
}




/*****************************************************
   Block: Cover
/****************************************************/

/* Prevents the default WordPress behavior of changing the text color to the contrast color when the "Use overlay" option is enabled. */
:where(.wp-block-cover.is-light:not(.has-text-color)),
:where(.wp-block-cover-image.is-light:not(.has-text-color)),
:where(.wp-block-cover-image:not(.has-text-color)),
:where(.wp-block-cover:not(.has-text-color)) {
	color: inherit;
}




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

.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.75rem;
	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;
}

.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;
}





/****/


:is(#website-header, #website-footer) .wp-block-navigation > .wp-block-navigation-link > .wp-block-navigation-item__content::before {
	content: '';
	display: block;
	position: absolute;
	top: -4px;
	left: -12px;
	width: 12px;
	height: 12px;
	background-color: var(--wp--preset--color--accent-1);
	clip-path: polygon(0 0, 100% 0, 0 100%);
	opacity: 0;
	transform: translate(2px, 2px) scale(0.4);
	transform-origin: top left;
	transition: opacity 200ms ease, transform 200ms cubic-bezier(0.34, 1.56, 0.64, 1);
}


:is(#website-header, #website-footer) .wp-block-navigation > .wp-block-navigation-link > .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--neutral-100);
}

:is(#website-header, #website-footer) .wp-block-navigation > .wp-block-navigation-link > .wp-block-navigation-item__content:hover::before {
	opacity: 1;
	transform: translate(0, 0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
	:is(#website-header, #website-footer) .wp-block-navigation > .wp-block-navigation-link > .wp-block-navigation-item__content::before {
		transition: opacity 200ms ease;
		transform: none;
	}
}

h1.wp-block-heading.has-text-shadow {
	text-shadow: 5px 5px 35px rgba(0,0,0, 0.4);
}

p.has-text-shadow {
	text-shadow: 2px 2px 10px rgba(0,0,0, 0.4);
}

.has-raised-play-button .cemah-video-a11y-control {
    bottom: calc(6vw + 1rem);
}


@media screen and (max-width: 1023px) {
	.has-no-border-when-below-desktop {
		border: 0 !important;
	}
}



.wp-block-cemah-floating-header .wp-block-cemah-icon-button:hover .wp-block-cemah-icon-button__svg {
	color: var(--wp--preset--color--accent-1);
}