/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/


/* MEDIA QUERIES */

@media (max-width: 768px) {
    /* CSS in here for mobile only */
}
@media (min-width: 769px) and (max-width: 1024px) {
    /* CSS in here for tablet only */
}
@media (min-width: 1025px) {
    /* CSS in here for desktop only */
}


/*=====================================================================
GENERAL
======================================================================*/

.bg-blended{
	background-blend-mode: multiply;
}

.no-underline, .no-underline a{
	text-decoration:none;
}

/*#page a:not(.btn,.btn-cta,.btn-beige,.btn-link,.btn-link a,.btn-cta-brown,.btn-white,.btn-std,.sidebar-menu ul li a, .service-box-os-container a, .btn-link-brown),
.site-footer a{
	text-decoration:none;
	border-bottom:1px dashed var(--grey-100);
	padding-bottom:0.25rem;
}*/

#page #main p a{
	text-decoration:none;
	border-bottom:1px dashed var(--grey-100);
	padding-bottom:0.25rem;
}

/*a.btn-cta,a.btn-beige,a.btn-link,a.btn-cta-brown,a.btn-white,a.btn-std{
	border-bottom:none!important;
}*/

.no-border a{
	border-bottom:none!important;
}

.service-gallery .portfolio-wraper > div{
	display:none;
}

/* youtube lyte */
/*.wp-block-embed-youtube figcaption{
	display:none;
}

.wp-block-embed-youtube .lyte-wrapper, .wp-block-embed-youtube .lL{
	margin:0!important;
}*/

.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.no-style-heading{
	padding-top:0!important;
	border:0!important;
	margin-top:0!important;
}

/*=====================================================================
HEADER / NAV STYLES / NAVIGATION
======================================================================*/

/*===================
MAX MEGA MENU
===================*/

/* DISABLE GP MENU TOGGLE WHICH IS REPLACED BY MAX MEGA MENU */
#mobile-header .menu-toggle {
    display: none !important;
}

/* ADD PADDING TO MOBILE HEADER */
@media only screen and (max-width: 768px) {
    #mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-blocks-left .mega-toggle-block {
        margin-left: 10px;
    }
}

@media only screen and (max-width: 768px) {
	#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item.mega-menu-megamenu ul.mega-sub-menu li.mega-2-columns > ul.mega-sub-menu > li.mega-menu-item{
		float:none;
		width:auto;
	}
}

/*=====================================================================
BUTTONS
======================================================================*/


/*=====================================================================
PROCEDURE PAGE CONTENT STYLING
======================================================================*/

.services .entry-content a,
.single-post .dynamic-entry-content a{
	font-weight:600;
	text-decoration:none;
	border-bottom:1px dashed #ccc;
}

.services.medical-spa-services .service-spa-cta a:not(.btn-beige),
.services.medical-spa-services .service-spa-cta b,
.services.medical-spa-services .service-spa-cta strong,
.services.oral-surgery-services .service-cta a,
.services.oral-surgery-services .service-cta b,
.services.oral-surgery-services .service-cta strong{
	color:var(--white);
}

.services.medical-spa-services .entry-content a{
	color:var(--brown);
}

.services .entry-content h2:not(.service-cta h2,.service-spa-cta h2,.client-transformation h2),
.single-post .dynamic-entry-content h2{
	margin-top:3.5rem;
	padding-top:3.5rem;
	margin-bottom:2.5rem;
	border-top:1px solid #ccc;
	/*display:flex;
	flex-direction:column;
	row-gap:1rem;*/
}

/*.services .entry-content h2:not(.service-cta h2,.service-spa-cta h2,.client-transformation h2)::after,
.single-post .dynamic-entry-content h2::after{
	content:'';
	border-radius:500px;
	width:100px;
	height:4px;
	background-color:var(--brown);
	display:block;
}*/

.services .entry-content h2:first-child,
.single-post .dynamic-entry-content h2:first-child{
	margin-top:0;
	padding-top:0;
	border-top:none;
}

.services .entry-content h3:not(.service-cta h3,.service-spa-cta h3,.client-transformation h3),
.single-post .dynamic-entry-content h3{
	margin-top:3.5rem;
	margin-bottom:2.5rem;
	font-weight:700;
}

@media (max-width: 768px) {
	.services .entry-content h3:not(.service-cta h3,.service-spa-cta h3,.client-transformation h3),
	.single-post .dynamic-entry-content h3{
		margin-top:2rem;
		margin-bottom:1.5rem;
		font-size:1.5rem;
	}
	.services .entry-content h2:not(.service-cta h2,.service-spa-cta h2,.client-transformation h2),
	.single-post .dynamic-entry-content h2{
		margin-top:2rem;
		padding-top:2rem;
		margin-bottom:1.5rem;
	}
}

.services.oral-surgery-services .entry-content h3:not(.service-cta h3,.service-spa-cta h3,.client-transformation h3){
	color:var(--accent);
}

.services.medical-spa-services .entry-content h3:not(.service-cta h3,.service-spa-cta h3,.client-transformation h3){
	color:var(--brown);
}

.services .entry-content b:not(.service-cta b,.service-spa-cta b),
.single-post .dynamic-entry-content b,
.services .entry-content strong:not(.service-cta strong, .service-spa-cta strong),
.single-post .dynamic-entry-content strong{
	color:var(--grey-800);
	font-weight:700;
}

/** OL LIST **/

.services ol li,
.single-post .dynamic-entry-content ol li{
	background:var(--grey-100);
	padding:1.5rem;
	border-radius:0.75rem;
	display: block;
	position: relative;
	counter-increment: inst;
	padding-left:4rem;
	margin-bottom:0.75rem;
}

.services.medical-spa-services ol li{
	background:#f7f3ec
}

.services .entry-content ol,
.single-post .dynamic-entry-content ol{
	clear: both;
	list-style: none;
	padding:0;
	margin:0 0 3rem 0;
}

.services ol li::before,
.single-post .dynamic-entry-content li::before{
	content: counter(inst);
	color: var(--accent);
	font-weight: 700;
	border-radius: 200px;
	font-size: 1.125rem;
	text-align: center;
	padding-top: 0;
	height: 35px;
	width: 35px;
	line-height: 35px;
	position: absolute;
    margin: auto 0;
    left: 1rem;
	background-color:var(--white);
}

.services.medical-spa-services ol li::before{
	color:var(--brown);
}

/** UL LIST **/

.services.oral-surgery-services .entry-content ul li::before,
.single-post .dynamic-entry-content ul li::before{
	background-color:var(--accent);
}

.services.medical-spa-services .entry-content ul li::before,
.single-post .dynamic-entry-content ul li::before{
	background-color:var(--brown);
}

.services .entry-content ul,
.single-post .dynamic-entry-content ul{
	clear: both;
	list-style: none;
	padding:0;
	margin:0 0 3rem 0;
	/*background-color:rgba(224, 232, 250, 0.3);*/
	background-color:#f4f4f4;
	padding:2rem;
	border-radius: 0.75rem;
}

.services .entry-content ul li,
.single-post .dynamic-entry-content ul li{
	display: block;
	position: relative;
	padding:0 0 1rem 2.5rem;
	margin:1rem 0 0 0;
	font-weight:500;
	border-bottom:1px solid #ccc;
}

@media (max-width: 768px) {
	.services .entry-content ul,
	.single-post .dynamic-entry-content ul{
		padding:1.25rem;
	}
	.services .entry-content ul li,
	.single-post .dynamic-entry-content ul li{
		border-bottom:none;
	}
}

.services .entry-content ul li:first-child,
.single-post .dynamic-entry-content ul li:first-child{
	margin:0;
}

.services .entry-content ul li:last-child,
.single-post .dynamic-entry-content ul li:last-child{
	padding-bottom:0;
	border:none;
}

.services .entry-content ul li::before,
.single-post .dynamic-entry-content ul li::before{
	width: 1.5rem;
	height: 1.5rem;
	position:absolute;
	left:0;
	content: '';
	-webkit-mask: url(/wp-content/uploads/2025/07/circle-right-duotone-solid.svg) no-repeat 50% 50%;
	mask: url(/wp-content/uploads/2025/07/circle-right-duotone-solid.svg) no-repeat 50% 50%;
	-webkit-mask-size: cover;
	mask-size: cover;
	vertical-align:middle;
	top:0.2rem;
}

/* Special Blocks */
.client-transformation h3,
.client-transformation h2{
	margin-top:0rem;
	margin-bottom:1rem;
	color:var(--white);
}

/** CONTENT AREA **/


@media (min-width: 1025px) {
    .contained-content.separate-containers .inside-article{
		padding:4rem 2.5rem 4rem 4rem!important;
	}
}

/** LEFT SIDEBAR SERVICES **/

body.services.oral-surgery-services{
background: var(--grey-100);
background: linear-gradient(90deg, var(--grey-100) 30%, #ffffff 30%);
}

body.services.medical-spa-services{
background: var(--beige);
background: linear-gradient(90deg, var(--beige) 30%, #ffffff 30%);
}

body.left-sidebar .site-content .content-area{
	background-color:var(--white);
}

body.services.oral-surgery-services .is-left-sidebar{
	background:var(--grey-100);
	border-right:1px solid rgba(120,128,124,0.56);
}

body.services.medical-spa-services .is-left-sidebar{
	background:var(--beige);
	border-right:1px solid rgba(120,128,124,0.56);
}

.inside-left-sidebar{
	height:100%;
	/*padding-right:3.75rem;*/
	/*padding-left:2rem;*/
	padding-right:2rem;
}

@media (max-width: 768px) {
	.inside-left-sidebar{
		padding-right:1rem;
		padding-left:1rem;
	}
}

.separate-containers .inside-left-sidebar, .separate-containers .inside-left-sidebar{
	margin:0;
	padding-top:40px;
	padding-bottom:40px;
}

.separate-containers.left-sidebar .site-main{
	margin-top:0;
	margin-bottom:0;
}

.inside-left-sidebar .sticky{
	top:150px;
}

@media (min-width: 769px) and (max-width: 1000px) {
    .site-content {
        flex-direction: column;
    }
	
	.site-content .content-area, .is-left-sidebar {
        width: 100%;
    }
	
	body.left-sidebar.contained-content.separate-containers .inside-article {
        padding: 2rem 4rem;
    }
	
	.site-content .content-area, .is-left-sidebar {
        width: 100%;
    }
	
	.separate-containers.left-sidebar .site-main{
		margin:0;
	}
}

@media (max-width: 768px) {
    body.left-sidebar.contained-content.separate-containers .inside-article{
        padding: 30px;
    }
}

/* SIDEBAR MENU */
.sidebar-menu ul li{
	display:block!important;
	width:100%;
	padding-bottom:0.5rem;
	margin-bottom:0.5rem;
	border-bottom:1px dotted #ccc;
	padding-right:0!important;
}

.sidebar-menu ul li:last-child{
	border:none;
	padding-bottom:0;
	margin-bottom:0;
}

.sidebar-menu ul li a{
	font-size:1rem;
	color:var(--grey-800);
	text-decoration:none;
	font-weight:500;
	padding-left:2rem;
	position:relative;
	display:flex;
	align-content: stretch;
}

.sidebar-menu ul li a::before{
	width: 1rem;
	height: 1rem;
	position:absolute;
	left:0;
	content: '';
	-webkit-mask: url(/wp-content/uploads/2025/07/circle-right-duotone-solid.svg) no-repeat 50% 50%;
	mask: url(/wp-content/uploads/2025/07/circle-right-duotone-solid.svg) no-repeat 50% 50%;
	-webkit-mask-size: cover;
	mask-size: cover;
	background-color:var(--accent);
	align-self:center;
}

.services.oral-surgery-services .sidebar-menu ul li a:hover,
.services.oral-surgery-services .sidebar-menu ul li a:focus{
	color:var(--accent);
}

.services.medical-spa-services .sidebar-menu ul li a:hover,
.services.medical-spa-services .sidebar-menu ul li a:focus{
	color:var(--brown);
}

.services.oral-surgery-services .sidebar-menu ul li a::before{
	background-color:var(--accent);
}

.services.medical-spa-services .sidebar-menu ul li a::before{
	background-color:var(--brown);
}

/* =========================================================================
 *  TABLES 
========================================================================= */

.wp-block-table{
	margin-top:3rem;
	overflow-x:scroll;
}

.wp-block-table table{
	min-width:600px;
}

@media (max-width: 768px) {
	.wp-block-table table{
		min-width:max-content;
		width:auto!important;
	}
}

.wp-block-table thead th{
	background:var(--accent-2);
	color:var(--white)!important;
	border:1px solid var(--accent);
}

.wp-block-table td, .wp-block-table th{
	border:1px solid #ccc;
	padding:20px;
}

.wp-block-table thead{
	border-bottom:3px solid var(--accent);
}

.wp-block-table thead strong{
	color:var(--white)!important;
}

.wp-block-table tbody tr td:first-child{
	background-color: var(--grey-100);
}

.services.medical-spa-services .wp-block-table thead th{
	background:var(--brown);
}

.services.medical-spa-services .wp-block-table thead{
	border-bottom:3px solid var(--beige);
}

.services.medical-spa-services thead th{
	border:1px solid var(--beige);
}

.services.medical-spa-services .wp-block-table tbody tr td:first-child{
	background-color:#f7f3ec;
}


/*=====================================================================
BLOG STYLING & BLOG CONTENT STYLING
======================================================================*/


/*=====================================================================
FOOTER
======================================================================*/

/* FIXED CTA ON MOBILE */
.footer-cta {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 9;
}

/* FOOTER MENU */
.footer-menu ul{
	display:flex;
	row-gap:0.5rem;
	flex-direction:column;
}
.footer-menu ul li{
	display:block;
	width:100%;
}

.footer-menu ul li a{
	text-decoration:none;
	color:var(--paragraph);
}

.footer-menu ul li a:hover,
.footer-menu ul li a:focus{
	color:var(--accent);
}


/*=====================================================================
PLUGINS
======================================================================*/

/*===================
GRAVITY FORMS
===================*/

/*===================
RANKMATH TOC
===================*/

#rank-math-toc h2, 
.wp-block-rank-math-toc-block h2{
	font-size:2rem;
	margin-bottom:2.5rem;
	padding-bottom:1.5rem;
	position:relative;
	padding-left:3rem;
	border-bottom:1px solid var(--grey-100);
}

#rank-math-toc h2:before, 
.wp-block-rank-math-toc-block h2:before{
	width: 2rem;
	height: 2rem;
	position:absolute;
	left:0;
	content: '';
	-webkit-mask: url(/wp-content/uploads/2025/10/table-tree-regular.svg) no-repeat 50% 50%;
	mask: url(/wp-content/uploads/2025/10/table-tree-regular.svg) no-repeat 50% 50%;
	-webkit-mask-size: cover;
	mask-size: cover;
	vertical-align:middle;
	top:0.2rem;
	background-color:var(--accent);
	margin-top:0;
}

#rank-math-toc ul, 
.wp-block-rank-math-toc-block ul{
	border:0;
	background:none;
	margin-bottom:0;
	padding:0;
	margin-left:0;
}

#rank-math-toc ul:first-child, 
.wp-block-rank-math-toc-block ul:first-child{
	padding-left:0;
}

#rank-math-toc ul ul, 
.wp-block-rank-math-toc-block ul ul{
	padding-top:1rem;
	padding-bottom:0;
	padding-left:0;
}

#rank-math-toc ul li, 
.wp-block-rank-math-toc-block ul li{
	border-bottom:0;
	padding-bottom:0;
	background:none!important;
}

#rank-math-toc ul li a{
	padding-bottom:0.25rem;
}

#rank-math-toc ul li a:hover{
	/*color:var(--secondary-1);*/
}

#rank-math-toc ul li:before, 
.wp-block-rank-math-toc-block ul li:before{
	-webkit-mask: url(/wp-content/uploads/2025/10/circle-solid.svg) no-repeat 50% 50%;
	mask: url(/wp-content/uploads/2025/10/circle-solid.svg) no-repeat 50% 50%;
	background:var(--grey-800);
    width: 0.75rem;
    height: 0.75rem;
    top: 0.6rem;
}

#rank-math-toc ul li:hover:before, 
.wp-block-rank-math-toc-block ul li:hover:before{
	background:var(--accent);
}

@media (max-width: 768px) {
	#rank-math-toc ul ul,
	.wp-block-rank-math-toc-block ul ul{
		padding-top:1rem;
		padding-bottom:0;
		padding-left:0;
		margin-left:-1rem;
	}
	#rank-math-toc h2, 
	.wp-block-rank-math-toc-block h2{
		font-size:1.5rem;
		padding-left:2.5rem;
		margin-bottom:1.5rem;
	}
	#rank-math-toc h2:before, 
	.wp-block-rank-math-toc-block h2:before{
		width:1.5rem;
		height:1.5rem;
		display:block;
	}
}
	
#rank-math-toc ul ul li:before, 
.wp-block-rank-math-toc-block ul ul li:before{
	-webkit-mask: url(/wp-content/uploads/2025/10/dash-solid.svg) no-repeat 50% 50%;
	mask: url(/wp-content/uploads/2025/10/dash-solid.svg) no-repeat 50% 50%;
	background:var(--accent);
}

#rank-math-toc ul ul li:hover:before, 
.wp-block-rank-math-toc-block ul ul li:hover:before{
	background:var(--accent);
}

#rank-math-toc ul ul li, 
.wp-block-rank-math-toc-block ul ul li{
	padding-left:1.5rem;
}

#rank-math-toc ul li:last-child, 
.wp-block-rank-math-toc-block ul li:last-child{
	margin-bottom:0;
}



/*===================
RANK MATH FAQ
===================*/

.rank-math-list-item{
	/*background:rgba(225, 232, 250, 0.45);*/
	background-color:#f4f4f4;
	padding:2rem;
	border-radius:1rem;
	margin-bottom:1rem;
}

.rank-math-list-item h3{
	margin-top:0!important;
	padding-top:0!important;
	margin-bottom:1.5rem!important;
	letter-spacing: 0.02rem;
	font-size:1.25rem;
	color:var(--grey-800)!important;
}

.rank-math-list .rank-math-list-item h3.rank-math-question{
	display: flex;
    align-items: center;
    column-gap: .75rem;
}

.rank-math-list-item .rank-math-question:before {
    width: 2rem;
    height: 2rem;
    display: block;
    content: '';
    -webkit-mask: url(/wp-content/uploads/2025/07/QuestionMarkFill.svg) no-repeat 50% 50%;
    mask: url(/wp-content/uploads/2025/07/QuestionMarkFill.svg) no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    background-color: var(--grey-800);
	flex-shrink:0;
}

@media (max-width: 768px) {
	.rank-math-list-item h3{
		font-size:1.25rem!important;
	}
	.rank-math-list-item .rank-math-question:before {
		width: 1.25rem;
		height: 1.25rem;
		flex-shrink:0;
	}
}

.rank-math-list-item p:last-child{
	margin-bottom:0;
	padding-bottom:0;
}


/*===================
RANK MATH BREADCRUMBS
===================*/

