/*
Theme Name: DM Management Inc.
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: 2.1.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;
}

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