/**
 * Theme Name: DDX Dental Theme
 * Template: twentytwentyfive
 * Author: Max Caplan
 * Author URI: https://maxcaplan.com
 * Version: 1.3
 * License: GNU General Public License v2 or later
 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
 */


/**
 * GENERAL STYLES
 */

strong, b {
	font-weight: 400 !important;
}

body {
	overflow-x: hidden;
}

body.mobile-navigation-open {
	overflow-y: hidden;
}

.ddx-header-content {
	align-items: end;
}

.ddx-header-logo {
	width: 180px;
}

@media (max-width: 600px) {
	.ddx-header-logo {
		width: 140px;
	}
}


/**
 * BLOCK STYLES
 */


.wp-block-cover {
	position: relative;
}


.ddx-mobile-menu .ddx-demo-drop-down {
	flex-basis: 100%;
}


.wp-block-details.ddx-mobile-menu-details summary {
	display: flex;
	flex-direction: row;
	justify-content: end;
	gap: 0.5rem;
	align-items: center;
	text-align: right;
}

.wp-block-details.ddx-mobile-menu-details summary::marker,
.wp-block-details.ddx-mobile-menu-details summary::-webkit-details-marker {
	display: none;
}

.wp-block-details.ddx-mobile-menu-details summary::after {
	transition: transform 0.25s ease;
	content: "▸";
}

.wp-block-details.ddx-mobile-menu-details[open] summary::after {
	transform: rotate(90deg);
}

.wp-block-details.ddx-mobile-menu-details summary::marker {
	display: none;
}


.ddx-demo-drop-down li {
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30) !important;
}

.ddx-demo-drop-down .wp-block-navigation__submenu-container li {
	padding: 0 var(--wp--preset--spacing--30) !important;
}


.ddx-home-banner-container {
	overflow-x: hidden;
}

.ddx-home-banner {
	position: relative;
	z-index: 1;
}

.ddx-home-banner-image,
.ddx-home-banner-image div {
	position: absolute !important;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	display: flex !important;
	justify-content: end !important;
	z-index: -1;
}

.ddx-home-banner-image img {
	height: 100% !important;
	max-width: unset !important;
	width: auto !important;
	/**opacity: 0.6;*/
	transform: translateX(40%);
}


.ddx-page-banner {
	position: absolute !important;
	width: 100%;
	height: 440px;
	z-index: 0;
	overflow-x: hidden;
}


.ddx-page-banner-content {
	display: flex;
	align-items: end;
	min-height: 440px !important;
}


.ddx-page-banner-image,
.ddx-page-banner-image div {
	position: absolute !important;
	top: 0;
	right: 0;
	width: 100% !important;
	max-width: unset !important;
	height: 100% !important;
	margin: 0 !important;
	display: flex !important;
	justify-content: center !important;
	z-index: -1;
}

.ddx-page-banner-image img {
	height: 100% !important;
	max-width: unset !important;
	width: auto !important;
	/**opacity: 0.6;*/
}


.ddx-page-content-desktop {
	display: flex;
}

.ddx-page-content-mobile {
	display: none !important;
}


.ddx-page-half-image {
	width: 600px;
	max-width: 100%;
}

.ddx-page-third-image {
	width: 400px;
	max-width: 100%;
}

@media (max-width: 900px) {

	.ddx-page-banner-content {
		min-height: unset !important;
	}

	.ddx-page-banner-image,
	.ddx-page-banner-image div {
		justify-content: end !important;
	}

	.ddx-page-banner-image img {
		transform: translateX(40%);
	}

	.ddx-content-form-container {
		flex-direction: column !important;
		row-gap: 0.75rem !important;
	}

	.ddx-demo-form-container {
		margin-top: 0 !important;
		width: 100%;
	}

	.ddx-demo-form-footer {
		margin-top: 0 !important;
	}

	.ddx-page-content-desktop {
		display: none !important;
	}

	.ddx-page-content-mobile {
		display: flex !important;
	}

	
	.ddx-home-cards-container {
		display: flex !important;
		flex-direction: column;
	}
}


@media (max-width: 600px) {
	.ddx-home-card {
		display: flex !important;
		flex-direction: column-reverse;
	}

	.ddx-home-card .ddx-home-card-image {
		height: 12rem;
	}
}


.ddx-page-footer-copyright-mobile {
		display: none !important;
	}
	
	.ddx-page-footer-copyright-desktop {
		display: flex !important;
	}

@media (max-width: 1260px) {
	.ddx-page-footer-copyright-mobile {
		display: flex !important;
	}
	
	.ddx-page-footer-copyright-desktop {
		display: none !important;
	}
}


/* Highlight active navigation menu item */
.ddx-active .wp-block-navigation-link.current-menu-item,
.ddx-active .wp-block-navigation-item.current-menu-ancestor {
	color: var(--wp--preset--color--accent-2);
}

/* Highlight active navigation menu item */
.ddx-active .wp-block-navigation-link.current-menu-item a {
	color: var(--wp--preset--color--accent-2);
	text-decoration: underline;
}

/**
 * FORM STYLES
 */

.wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.wpcf7-form {
	p {
		margin: 0;
	}

	p:has(.wpcf7-form-control) {
		position: relative;
	}

	br {
		display: none;
	}

	label {
		font-size: var(--wp--preset--font-size--medium);
		position: absolute !important;
		top: var(--wp--preset--spacing--30);
		left: var(--wp--preset--spacing--30);
		line-height: initial;
		pointer-events: none;
		z-index: 1;
		transition: transform 200ms ease;
		transform-origin: left;
		padding-inline: 0.3em;
		background-color: var(--wp--preset--color--base);
		color: var(--wp--preset--color--accent-3);
		border-radius: 0.3rem;
	}

	.wpcf7-form-control-wrap:has(input:focus)+label,
	.wpcf7-form-control-wrap:has(select)+label,
	.wpcf7-form-control-wrap:has(input:not(:placeholder-shown))+label {
		transform: translateY(calc(-50% - var(--wp--preset--spacing--30))) translateX(calc(var(--wp--preset--spacing--30) / -2)) scale(.9);
		color: var(--wp--preset--color--contrast);
		border: 1px var(--wp--preset--color--accent-5) solid;
	}

	.wpcf7-form-control-wrap {
		display: block;
		height: fit-content;
		max-width: 100%;
	}

	.wpcf7-form-control {
		display: block;
		padding: var(--wp--preset--spacing--30);
		max-width: 100%;
		width: 100%;
		font-size: var(--wp--preset--font-size--normal);
		box-sizing: border-box;
		background: var(--wp--preset--color--base);
		border: 1px var(--wp--preset--color--contrast) solid;
		border-radius: 0.3rem;
	}

	.wpcf7-form-control::placeholder {
		opacity: 0;
	}

	select.wpcf7-form-control {
		-moz-appearance: none;
		-webkit-appearance: none;
		appearance: none;
		background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%20stroke%3D%22%23111111%22%3E%3Cpath%20d%3D%22M1.50002%204L6.00002%208L10.5%204%22%20stroke-width%3D%221.5%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
		background-repeat: no-repeat;
		background-position: right 0.7rem top 50%;
		background-size: 0.65rem auto;
	}

	.wpcf7-not-valid-tip {
		font-size: var(--wp--preset--font-size--medium);
	}

	.form-required-label {
		font-size: var(--wp--preset--font-size--medium);
		color: var(--wp--preset--color--accent-3);
	}

	.wpcf7-turnstile {
		max-width: 100%;
	}

	.wpcf7-turnstile>div {
		display: flex;
	}

	.wpcf7-turnstile iframe {
		max-width: 100%;
	}

	.wpcf7-form-control[type="submit"] {
		color: #FFFFFF;
		background-color: var(--wp--preset--color--accent-2);
		border: none;
		border-radius: 0;
		width: initial;
		cursor: pointer;
		font-size: var(--wp--preset--font-size--medium);
		font-family: var(--wp--preset--font-family--avenir);
		padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	}

	p:has(.wpcf7-form-control[type="submit"]) {
		display: flex;
		align-items: end;
	}

	.wpcf7-form-control[type="submit"]:hover {
		filter: brightness(0.9);
	}

	.ddx-form-state {
		width: 100%;
	}

	.ddx-form-zip {
		width: unset;
	}

	.ddx-form-state-zip {
		display: flex;
		flex-direction: row;
		gap: 1rem;
	}

	.ddx-form-state-zip p:nth-child(1) {
		flex-grow: 1;
	}

	.ddx-form-state-zip p {
		margin: 0;
	}

	.ddx-form-footer {
		display: flex;
		flex-direction: row;
		align-items: end;
	}

	.ddx-form-footer-logo {
		flex-grow: 1;
		display: flex;
		justify-content: end;
	}

	.ddx-form-footer-logo .wp-block-image {
		margin: 0;
	}

	.wpcf7-response-output {
		padding: var(--wp--preset--spacing--20) 20px !important;
		margin: 0 !important;
		margin-top: 1.5rem !important;
		font-size: var(--wp--preset--font-size--medium) !important;
		font-style: italic;
		border-color: #e75a5a !important;
		border-width: 1px !important;
		background-color: #f6bebe;
	}
}

/**
 * UTILITY STYLES
 */


.ddx-no-link-underline a {
	text-decoration: none !important;
}


.ddx-hover-link-underline a {
	text-decoration: none !important;
}

.ddx-hover-link-underline a:hover {
	text-decoration: underline !important;
}

.ddx-hover-accent-2 a:hover {
	color: var(--wp--preset--color--accent-2) !important;
}

@media (max-width: 450px) {

	.ddx-flex-col-sm,
	.ddx-flex-col-sm.is-layout-grid {
		display: flex;
		flex-direction: column !important;
	}


	.ddx-align-stretch-sm,
	.ddx-align-stretch-sm.is-layout-grid {
		display: flex;
		align-items: stretch !important;
	}

	
	.ddx-justify-start-sm,
	.ddx-justify-start-sm.is-layout-grid {
		display: flex;
		justify-content: start !important;
	}
}



@media (max-width: 900px) {

	.ddx-flex-col-mobile,
	.ddx-flex-col-mobile.is-layout-grid {
		display: flex;
		flex-direction: column !important;
	}
	
	.ddx-justify-center-mobile {
		display: flex;
		justify-content: center !important;
		width: 100%;
	}
}


@media (max-width: 1260px) {

	.ddx-flex-col-xl,
	.ddx-flex-col-xl.is-layout-grid {
		display: flex;
		flex-direction: column !important;
	}


	.ddx-align-stretch-xl,
	.ddx-align-stretch-xl.is-layout-grid {
		display: flex;
		align-items: stretch !important;
	}
	
	.ddx-justify-start-xl,
	.ddx-justify-start-xl.is-layout-grid {
		display: flex;
		justify-content: start !important;
	}
}


.ddx-full-width {
	width: 100%;
}


.ddx-max-width-full {
	max-width: 100%;
}


/**
 * STYLE FIXES
 */


/* Fix drop down menu arrow placement */
:where(.wp-block-navigation.has-background .wp-block-navigation-item a:not(.wp-element-button)) {
	padding: 0;
}

/* Fix drop down menu arrow placement */
.wp-block-navigation-submenu.has-background,
ul.has-background .wp-block-navigation-submenu {
	padding: 0.5rem 1rem;
}

/* Drop down arrow sizing and spacing */
.wp-block-navigation .wp-block-navigation__submenu-icon {
	width: 1rem;
	height: 1rem;
	margin-left: 0.5rem;
}

.wp-block-epico-dynamic-year-block p {
	margin: 0;
}