/*
Theme Name:     Marquee Dental Partners
Theme URI:      https://www.marqueedentalpartners.com/
Description:    A custom child theme built by the experts at DeltaV Digital for Marquee Dental Partners.
Author:         DeltaV Digital
Author URI:     https://www.deltavdigital.com/
Template:       astra
Version:        1.0.0
*/

:root {
    --brand-transition-3: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --brand-transition: all 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

/************ Lighthouse CLS Fix ******************/
.siteorigin-panels-before-js, .siteorigin-panels-before-js .siteorigin-panels-stretch {
    visibility: hidden
}

/************ Astra Fix ******************/

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

#masthead .site-logo-img .astra-logo-svg,
.footer-widget-area[data-section="sidebar-widgets-footer-widget-1"] img {
    width: 100%;
	max-width: 320px !important;
    margin: 0;
    display: block;
}

.ast-social-color-type-custom svg {
	transition: var(--brand-transition-3);
}

.sow-accordion .sow-accordion-panel-header-container {
	position: relative;
	z-index: 1;
}

.sow-accordion .sow-accordion-panel {
	border-radius: 1rem;
}

.sow-accordion .sow-accordion-panel-header-container .sow-accordion-panel-header {
	transition: var(--brand-transition-3);
}

.sow-accordion .sow-accordion-panel-content {
	position: relative;
	top: -20px;
	margin-bottom: -15px;
	z-index: 0;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	border-radius: 0 0 1rem 1rem;
}

.sow-accordion .sow-accordion-panel .sow-accordion-panel-border {
	opacity: 0;
	transition: var(--brand-transition);
}

.sow-accordion .sow-accordion-panel.sow-accordion-panel-open .sow-accordion-panel-border {
	opacity: 1;
}

.hentry {
    margin: -1px !important;
}

.site-content .checklist .textwidget ul {
    padding-left: 35px;
    margin: 0 0 20px 0;
	list-style: none;
}

.site-content .checklist .textwidget ul li {
    margin-bottom: 10px;
}

.site-content .checklist .textwidget ul li {    
    position: relative;
}

.site-content .checklist .textwidget ul li:before {
    content: '';
    position: absolute;
    top: 0;
    left: -35px;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background-color: rgba(30, 145, 182, 0.15);
}

.site-content .checklist .textwidget ul li:after {
	position: absolute;
    top: 6px;
    left: -24px;
    content: "";
    display: inline-block;
    transform: rotate(45deg);
    height: 12px;
    width: 6px;
    border-bottom: 1px solid var(--ast-global-color-1);
    border-right: 1px solid var(--ast-global-color-1);
}

.ast-site-identity {
    padding: 0.5em 0px;
}

#ast-desktop-header {
    width: calc(100% - 2rem);
	margin-left: 1rem;
	transition: var(--brand-transition);
}

/* Removed to fix scroll scale issue .ast-primary-sticky-header-active .main-header-bar-wrap .main-header-bar */
@media only screen and (min-width: 1025px) {
	.ast-primary-sticky-enabled .ast-main-header-wrap .main-header-bar.ast-header-sticked {
		width: calc(100% - 2rem);
	}
}

#ast-desktop-header .ast-above-header-wrap {
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

#ast-desktop-header .main-header-bar {
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	border-radius: 0 0 2rem 2rem;
}

.ast-desktop .submenu-with-border .astra-full-megamenu-wrapper,
.ast-desktop .ast-mega-menu-enabled .astra-megamenu-li .astra-megamenu {
    border: unset !important;
}

.ast-desktop .ast-mega-menu-enabled .astra-megamenu-li .astra-megamenu,
.ast-desktop .menu-item > .sub-menu {
	border-radius: 2rem;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.single-post .entry-header > * {
	margin-bottom: 2rem !important;
}

.single-post .wp-post-image {
	border-radius: 1rem;
	object-fit: cover;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.width-576,
.width-780,
.width-992,
.width-1080 {
    margin: 0 auto;
}

.width-576 {
	max-width: 576px;
}

.width-780 {
    max-width: 780px;
}

.width-992 {
    max-width: 992px;
}

.width-1080 {
    max-width: 1080px;
}

/************ Menu Styles ****************/

header .custom-logo-link img {
    filter: drop-shadow(0px 0px 2px rgb(0 0 0 / 0.1));
}

.ast-above-header-wrap .menu-link {
	color: var(--ast-global-color-2) !important;
}

.ast-above-header-wrap .menu-link:hover {
	color: var(--ast-global-color-4) !important;
}

/************ FacetWP *****************/

.facetwp-input-wrap {
    width: 100%;
}

.facetwp-facet-search .facetwp-search, 
.facetwp-facet.facetwp-type-dropdown .facetwp-dropdown {
    border-radius: 0.5rem;
    width: 100%;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.facetwp-facet-my_location {
    margin-bottom: 0;
    display: flex;
}

.facetwp-facet-my_location .facetwp-location {
    border-radius: 0.5rem 0 0 0.5rem;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.facetwp-facet-my_location .facetwp-radius {
    border-radius: 0 0.5rem 0.5rem 0;
    border-left: none;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.facetwp-type-checkboxes .facetwp-checkbox {
    background: none !important;
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 0;
    gap: 10px;
}

.facetwp-type-checkboxes .facetwp-checkbox::before {
    content: '';
    display: block;
    position: relative;
    top: 0;
    left: 0;
    width: 14px;
    height: 14px;
	border-radius: 50%;
    border: 2px solid var(--ast-global-color-1);
    background-color: transparent;
    transition: .2s ease-in-out;
}

.facetwp-type-checkboxes .facetwp-checkbox.checked::before {
    background-color: var(--ast-global-color-1);
}

.facetwp-type-checkboxes .facetwp-checkbox:hover,
.facetwp-type-checkboxes .facetwp-checkbox.checked {
    color: var(--ast-global-color-1);
}

.filter-reset-btn {
    border-radius: 0.5rem !important;
    min-height: 40px;
    min-width: 120px;
    transition: .2s ease-in-out;
}

/************ Homepage ****************/

.homehero {
	position: relative;
}

.homehero::before {
	content: "";
	position: absolute;
	top: 0; 
	left: 0; 
	right: 0; 
	bottom: 0;
	background: linear-gradient(330deg, rgba(7,171,163,0.3), rgba(7,171,163,0.9));
	pointer-events: none;
	z-index: 0;
}

.homehero::before {
	z-index: -1;
}

.homehero::after {
	content: "";
    position: fixed;
	top: 0; 
	left: 0; 
	right: 0; 
	bottom: 0;
	background-image: url(/wp-content/uploads/2025/04/logo-bg-right.svg);
	background-repeat: no-repeat;
    background-position: right;
	z-index: -1;
	filter: drop-shadow(-10px 0px 15px rgb(0 0 0 / 0.1));
}

.homehero > * {
  	position: relative;
  	z-index: 1;
}

.homehero .text-shadow {
	text-shadow: rgba(0, 0, 0, 0.1) 0 0 5px;
}

.homehero .marquee-buttons .marquee-button,
.pagehero .marquee-buttons .marquee-button {
	box-shadow: rgba(0, 0, 0, 0.1) 0 0 5px;
}

.homehero .sow-image-container {
	position: relative;
	padding: 30px 10px 0;
}

.homehero .sow-image-container::after {
    content: '';
    position: absolute;
	bottom: -35px;
    right: -15px;
    width: 95%;
    height: 95%;
    border: 5px solid var(--ast-global-color-1);
    border-radius: 2rem 2rem 0;
	clip-path: polygon(100% 0, 100% 60%, 40% 100%, 0 100%, 0 0);
	clip-path: polygon(0 0, 100% 0, 100% 100%, 90% 100%, 90% 90%, 30% 90%, 30% 100%, 0 100%);
	z-index: 1;
}

.main-header-bar-navigation,
.ast-builder-layout-element[data-section="section-hb-social-icons-1"] {
	position: relative;
}

.main-header-bar-wrap .main-header-bar, 
.ast-main-header-wrap .main-header-bar.ast-header-sticked {
	transition: var(--brand-transition-3);
}

#masthead .ast-header-sticked .site-logo-img .astra-logo-svg,
.ast-primary-header-bar .site-primary-header-wrap {
	transition: var(--brand-transition-3);
}

.ast-primary-sticky-header-active #masthead .ast-header-sticked .site-logo-img .astra-logo-svg {
    width: 250px;
}

.ast-primary-sticky-header-active #masthead .ast-header-sticked .main-header-menu > .menu-item {
    line-height: 70px;
}

.ast-primary-sticky-header-active .ast-main-header-wrap.main-header-bar-wrap > div,
.ast-primary-sticky-header-active .ast-primary-header-bar .site-primary-header-wrap {
    min-height: 70px !important;
}

.homehero .sow-image-container img {
	position: relative;
    filter: drop-shadow(0px 0px 10px rgb(0 0 0 / 0.2));
	z-index: 2;
}

.brand-bg-left,
.brand-bg-right {
	position: relative;
}

.home .brand-bg-left,
.home .brand-bg-right {
	z-index: 0 !important;
}

.brand-bg-left .panel-background-overlay,
.brand-bg-right .panel-background-overlay {
	background-repeat: no-repeat !important;
	background-color: transparent !important;
	background-size: 25% auto !important;
}

.brand-bg-left .panel-background-overlay{
    background-position: bottom left;
}

.brand-bg-right .panel-background-overlay {
    background-position: bottom right;
}

.brand-bg-left,
.brand-bg-right {
	background-repeat: no-repeat !important;
	background-size: auto 50%;
    background-position: bottom left;
}

.brand-bg-left::before,
.brand-bg-right::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
}

.brand-bg-left::before {
	background: linear-gradient(330deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 1));
}

.brand-bg-right::before {
	background: linear-gradient(50deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 1));
}

.brand-bg-left > *,
.brand-bg-right > * {
	z-index: 1;
}

.homepage-form {
	background-color: var(--ast-global-color-4);
	padding: 1rem;
	border-radius: 1rem;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.homepage-form #input_1_5 {
	display: flex;
    gap: 1rem;
}

.homepage-form #input_1_5 .gfield-choice-input+label {
    white-space: nowrap;
}

.homepage-form #input_1_6_1 .gfield-choice-input+label span {
    font-size: 14px;
}

.site-primary-footer-wrap .site-footer-primary-section-2 .site-footer-section {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.site-primary-footer-wrap .site-footer-primary-section-2 .astra-footer-horizontal-menu {
    justify-content: flex-start;
}

#gform_submit_button_1 {
	transition: var(--brand-transition-3);
}

.so-widget-sow-simple-masonry .sow-masonry-grid-item {
	border-radius: 1rem;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);	
}

.cards .panel-grid-cell:not(.panel-grid-cell-empty) {
	position: relative;
    border-radius: 1rem;
    overflow: hidden;
    border-radius: 1rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    background-color: var(--ast-global-color-4);
}

.cards .panel-grid-cell > div:not(.widget_sow-image) {
	padding: 0 1rem;
}

.cards .panel-grid-cell > div:last-of-type {
	padding: 0 1rem 2rem;
}


/****************** Custom Mega Menu Styles ****************/

.main-header-menu .menu-item.ast-mm-has-desc .menu-link {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
}

.main-header-menu .menu-item.ast-mm-has-desc > .menu-link > .astra-mm-icon-label {
	grid-column: 1 / 2;
	grid-row: 1 / 3;
	margin: 0 12px 0 0 !important;
	filter: brightness(0) saturate(100%) invert(15%) sepia(5%) saturate(2672%) hue-rotate(184deg) brightness(100%) contrast(88%);
	transition: var(--brand-transition-3);
}

.main-header-menu .menu-item.ast-mm-has-desc:hover > .menu-link > .astra-mm-icon-label {
	filter: brightness(0) saturate(100%) invert(49%) sepia(61%) saturate(4718%) hue-rotate(150deg) brightness(101%) contrast(95%);
}

.main-header-menu .menu-item.ast-mm-has-desc > .menu-link > .menu-text {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
}

.main-header-menu .menu-item.ast-mm-has-desc > .menu-link > .menu-item-description {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
}

.ast-desktop .main-header-menu .astra-megamenu-li .sub-menu .menu-item-heading .menu-text {
    vertical-align: text-top;
}

.astra-megamenu .menu-item-heading > .menu-link {
	font-weight: 600;
	text-transform: uppercase;
	padding: 6px !important;
}

.astra-megamenu .sub-menu .menu-item a {
	padding: 6px !important;
}

.astra-megamenu .sub-menu .menu-item .menu-item-description {
	display: block;
	font-size: 12px;
	font-weight: 400;
}

.mega-menu-two-column {
	padding-left: 30px !important;
}

.mega-menu-two-column > .sub-menu {
	display: flex !important;
	align-items: baseline;
}

.mega-menu-width-third {
	max-width: 33%;
}


/***************** Service Page ******************/

.pagehero {
	min-height: 520px;
}

.single-location .pagehero,
.single-services .pagehero {
	min-height: 75vh;
}

.shorthero.pagehero,
.single-provider .pagehero,
.single-employee .pagehero {
	min-height: 400px;
}

.pagehero,
.gradient-bg {
	position: relative;
	z-index: 1;
}

.pagehero::before,
.gradient-bg::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
}

.pagehero::before {
	background: linear-gradient(330deg, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0));
}

.gradient-bg::before {
	background: linear-gradient(330deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0));
}

.pagehero::after {
	content: "";
	position: absolute;
	display: block;
    height: 100%;
    width: 100%;
    right: 0;
    top: 0;
    background-image: url(/wp-content/uploads/2025/04/logo-bg-right.svg);
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: right;
	background-size: 100vh auto;
}

.pagehero > *,
.gradient-bg > * {
	position: relative;
	z-index: 1;
}

.pagehero .sow-headline-container * {
	text-shadow: rgba(0, 0, 0, 0.1) 0 0 5px;
}

.brand-img img,
.marquee-img-wide img,
.marquee-img-tall img,
.marquee-video .so-widget-sow-video {
	border-radius: 1rem;
    object-fit: cover;
	overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.marquee-video .so-widget-sow-video .mejs-container,
.marquee-video .so-widget-sow-video .mejs-container video {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 5 / 3;
    object-fit: cover;
}

.marquee-video .so-widget-sow-video .mejs-container video {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 5 / 3;
    object-fit: cover;
}

.marquee-img-wide img {
	aspect-ratio: 4 / 3;
}

.marquee-img-tall img {
	aspect-ratio: 3 / 4;
}

body.single-services,
body.single-services .panel-has-overlay .panel-cell-style, 
body.single-services .panel-has-overlay .panel-row-style, 
body.single-services .panel-has-overlay .panel-widget-style {
    overflow: visible !important;
}

body.single-services {
	overflow-x: clip !important;
}

.sticky-row > .panel-grid-cell > .so-panel {
	height: 100%;
}

.sticky-row .sticky-element {
	position: sticky;
	top: 100px;
	transition: transform .5s ease-out;
	will-change: transform;
}


/* Remove Navigation from Custom Post Types*/
.ast-custom-post-type .post-navigation {
	display: none;
}

/**************** Locations *******************/

.panel-has-overlay .panel-cell-style, 
.panel-has-overlay .panel-row-style, 
.panel-has-overlay .panel-widget-style {
    overflow: visible !important;
}

.panel-has-overlay .panel-row-style {
    overflow-x: clip;
}

.location-intro {
	position: relative;
	margin-top: -150px;
	border-radius: 1rem;
	padding: 40px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	background-color: var(--ast-global-color-4);
	z-index:1 !important;
}

/**************** Responsive ******************/

@media only screen and (max-width: 1024px) {
	#hero-slogan-1 p {
		font-size: 48px;
	}
	
	#hero-slogan-2 p {
		font-size: 64px;
	}
	
	footer .social-media-button-container,
	footer h4 {
        text-align: center !important;
    }
	
	.single-employee.ast-separate-container #primary {
        padding: 0;
    }

	.homehero::after {
		position: absolute;
		background-position: 0;
		background-size: cover;
	}
	
	.brand-bg-left .panel-background-overlay,
	.brand-bg-right .panel-background-overlay {
		background-size: 45% auto !important;
	}
	
	.location-intro {
		margin-top: -120px;
		padding: 20px;
	}
	
	.footer-widget-area[data-section="section-footer-menu"] .astra-footer-mobile-vertical-menu {
        justify-content: center !important;
    }
	
	footer .sow-features-list .sow-features-feature {
		width: 100% !important;
		flex-direction: column !important;
		justify-content: center;		
		text-align: center;
		gap: 1rem;
	}
	
	footer table {
		margin: auto;
	}
}

@media only screen and (max-width: 480px) {
	#hero-slogan-1 p {
		font-size: 42px;
	}
	
	#hero-slogan-2 p {
		font-size: 56px;
	}
}