/*
Theme Name: Pacific Pines
Template: twentytwentyfive
Author: Camran Ehsani
Author URI: www.camranehsani.com
Version: 1.4.1778035768
Updated: 2026-05-05 19:49:28

*/

/***** variables *****/
:root {
	--teal: #183938;
	--salmon: #E5A7A1;
	--mint: #AFC0B3;
	--off-white: #F7F7ED;
}

:root :where(p) {
	color: inherit;
	font-weight: 200;
}

/***** General Styles *****/
h1,h2,h3,h4,h5,h6 {
	text-wrap: balance !important;
}

h5 {
	letter-spacing: 0px;
}

#blog-post {
	h1, h2, h3, h4, h5 , h6 {
		margin: 0.75em 0 0.5em;
	}
}

main a:where(:not(.wp-element-button)) {
	font-size: inherit;
	text-decoration: underline;
}

header a:where(:not(.wp-element-button)), footer a:where(:not(.wp-element-button)) {
    font-weight: 600;
}

.wp-block-heading a:where(:not(.wp-element-button)) {
	font-size: inherit;
	text-decoration: underline;
	font-weight: inherit;
	font-family: inherit;
}

.wp-block-button a, #srfm-submit-btn {
	transition: 0.5s all ease-out;
	box-shadow: inset 0 0 0 3px var(--teal);
	transition: 0.5s all ease-out;
	
	&:hover {
		background: var(--mint);
		color: var(--teal);
	}
}

.mint-btn a {
	box-shadow: inset 0 0 0 3px var(--mint);
	background: var(--mint);
	color: var(--teal);

	&:hover {
		background: var(--teal) !important;
		color: var(--mint) !important;
	}
}

.salmon-btn a {
	box-shadow: inset 0 0 0 3px var(--salmon);
	background: var(--salmon);
	color: var(--teal) !important;
	
	&:hover {
		background: white !important;
		color: var(--teal) !important;
	}
}

.full-width {
	width: 100% !important;
	max-width: unset;
}

.max-para {
	max-width: 500px;
}

.curved-bottom {
	clip-path: ellipse(90% 100% at 50% 0%);
}

.wavy-bottom {
	clip-path: url(#smooth-wave);
}

.vertical-center {
	align-content: center;
	justify-content: center;
}

#page-head {
	width: fit-content;
	
	&:after {
		content: "";
		display: block;
		width: 100%;
		height: 4px;
		background: var(--salmon);
		margin-top: 15px;
	}
}

.white-overlay {
	position: relative;
	
	.wp-block-group {
		position: relative;
		z-index: 3;
	}
	
	&:after {
		content: "";
		position: absolute;
		background: white;
		display: block;
		height: 100%;
		width: 100%;
		top: 0;
		left: 0;
		z-index: 1;
		opacity: 50%;
		mix-blend-mode: screen;
	}
}

:where(.wp-site-blocks :focus) {
	outline-width: 0px !important;		
}

/***** Header Styles *****/


header {
	position: sticky;
	top: 0;
	background: white;
	z-index: 5;
}

body > div.wp-site-blocks > header > div > div > div {
	align-items: stretch;
}

body > div.wp-site-blocks > header > div > div > div > div.wp-block-group.is-content-justification-right.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-b315634e.wp-block-group-is-layout-flex > nav {
	height: 100%;
	
	&* {
		height: 100%;
	}
}

.wp-block-site-logo {
	display: flex;
	align-items: center;
}

#modal-1-content > ul {
	gap: 0px;
}

#modal-1-content > ul.wp-block-navigation__container > li {
	padding: 20px 10px;
	position: relative;
	cursor: pointer;
	
	&:after {
		content: "";
		display: block;
		height: 100%;
		width: 100%;
		transform-origin: top;
		transform: scaleY(0%);
		position: absolute;
		background: var(--teal);
		top: 0;
		left: 0;
		transition: 0.25s all ease-out;
		z-index: 0;
	}	
}

#modal-1-content > ul.wp-block-navigation__container > li > a.wp-block-navigation-item__content {
	justify-content: center;
	align-items: center;

	span {
		width: fit-content;
	}

	&:hover {
		text-decoration: none !important;
	}
}

#modal-1-content > ul > li > button {
	margin-left: 10px;
	background: transparent;
	z-index: 1;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container  {
	border: none !important;
	background: var(--teal);
	color: white !important;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container  li {
	background: var(--teal);
	margin-bottom: 0 !important;
}

@media screen and (min-width: 1150px) {
	#modal-1-content > ul.wp-block-navigation__container > li:hover {
		color: white !important;
		transition: 0.25s all ease-in;
	}
	
	#modal-1-content > ul > li:hover:after {
		transform: scaleY(100%);
	}	
}

@media screen and (max-width: 1150px) {
	header {
		padding-bottom: 13px;
		padding-top: 13px;
	}
	
	#modal-1 {
		width: 325px;
		left: unset;
		right: 0;
	}
	
	a.wp-block-navigation-item__content, #modal-1-content > ul > li.wp-block-navigation-item.wp-block-navigation-link.has-custom-3-font-size {
		display: block;
		text-align: center;
	}
	
	a.wp-block-navigation-item__content:has(+ button.wp-block-navigation-submenu__toggle) {
		margin-bottom: 5px;
		
		&:after {
			content: "";
			display: block;
			height: 3px;
			width: 50px;
			background: var(--teal);
			margin: 10px auto 0;
		}
	}
	
	.wp-block-navigation__responsive-container-content > ul {
		order: 2;
	}

	.wp-block-navigation__responsive-container-content > div {
		order: 1;
	}
}

@media screen and (600px <= width <= 1150px) {
	.wp-block-navigation__responsive-container-open:not(.always-shown) {
    	display: block;
    }
	
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    	background-color: inherit;
    	display: none;
    	position: fixed;
    	z-index: 3;
    }
}

@media screen and (max-width: 575px) {
	#home-green-info-boxes {
		flex-wrap: wrap !important;
		row-gap: 0;
		
		.wp-block-column {
			flex-basis: 100%;
			border-right: unset !important;
			border-bottom: 3px solid var(--off-white) !important;
		}
		.wp-block-column:last-of-type {
			border-bottom: unset!important;
		}
	}
}

/***** home styles *****/
#hero {
	height: 100vh;
	margin-top: -60px;
	position: relative;
	align-content: center;
	overflow: hidden;
	
	video {
		opacity: 1;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 0;
		height: 100%;
	}
	
	&:after {
		content: "";
		position: absolute;
		background: white;
		display: block;
		height: 100%;
		width: 100%;
		top: 0;
		left: 0;
		z-index: 1;
		opacity: 75%;
		mix-blend-mode: screen;
	}
}

#hero-textbox {
	position: relative;
	z-index: 2;
	background: transparent;
}

#home-services .wp-block-column > .wp-block-group {
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
	min-height: 333px;
	background-position: center;
	position: relative;
	
	& * {
		margin-left: 0 !important;
		margin-right: 0 !important;
		z-index: 1;
	}
	
	&:after {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		background: rgba(0, 0, 0, 0.7);
		top: 0;
		left: 0;
		z-index: 0;
		mix-blend-mode: multiply;
	}
}

/***** Fees page *****/
@media screen and (500px <= width <= 1150px) {
	#fees-column {
		flex-wrap: wrap !important;	
	
		.wp-block-column {
			flex-basis: calc(50% - 70px) !important;
		}
	}
}

/**** member page styles *****/
#member-profile-pic {
	height: 550px;	
}

#member-profile-pic .value {
	width: 100%;
	height: 100%;
	position: relative;
	
	img {
		position: absolute;
		height: 100%;
		width: 100%;
		object-fit: cover;
	}
}

body.single-team-member #faq-block {
	width: 100%;
}

#faq-block-accordion.member-accordion .member-accordion-mfb {
	display: none;
}

#faq-block #faq-block-accordion.member-accordion div.wp-block-accordion-item.is-open .member-accordion-mfb {
	display: block;
}

#member-badges #psychology_today img {
	width: 175px;
}

#member-badges #rcc img {
	width: 100px;
}

#member-badges #lgbtq img {
	width: 110px;
}

#member-badges #adhd img {
	width: 110px;
}

#member-details .value, #job-title p {
	font-size: 18px;
	font-weight: 600;
}

.mfb-button a {
	text-decoration: none;
	text-transform: uppercase;
	padding: 12px 25px;
	transition: 0.25s all ease-out;
}

@media screen and (max-width: 825px) {
	#member-profile-pic {
		height: 400px;
	}
	
	#wp--skip-link--target > div:nth-child(1) > div {
		display: flex;
		flex-direction: column;
	}
	
	#image-grid-item {
		flex-basis: 100%;
		
		img {
			max-width: 400px;
			display: block;
			left: 50%;
			transform: translateX(-50%);
		}
	}
	
	#info-grid-item {
		flex-basis: 100%;
	}
}

/***** therapy services *****/
div.wp-block-group:has(#therapy-head-image) {
	background-size: contain !important;
	background-repeat: no-repeat !important;
	background-position-x: 100%;
}

#therapy-head-image {
	height: 100%;
	
	.value {
		height: 100%;
		position: relative;
	}
}

#therapy-head-image img {
    height: 100%;
    object-fit: cover;
}

@media screen and (max-width: 1000px) {
	div.wp-block-group:has(> #therapy-head-image) {
		display: none;
	}
	
	#therapy-services-header-content {
		grid-column: span 7;
	}
}
	
@media screen and (max-width: 780px) {
	#therapy-services-header-content {
		grid-column: span 7;
	}
}


/***** Our Team Block *****/
.team-member {
	position: relative;
	z-index: 0;
	transition: all 0.25s ease;
	max-width: 450px;
	overflow: hidden;
	
	figure.team-picture a {
		display: block;
		transition: all 0.25s ease;
	}
	
	div:has(figure.team-picture) {
		transition: all 0.25s ease;
	}
}

.team-picture a img {
	transition: all 0.3s ease;
}

.team-picture a:after {
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.team-name {
	border: 5px solid transparent;
}

.team-member:hover {
	figure.team-picture a {
		transform: scale(95%);
		
		&:after {
			transform: scaley(1.75);
		}
	}
	
	div:has(figure.team-picture) {
		transform: scale(95%);
	}
	
	.team-name {
		background: var(--mint) !important;
		color: var(--teal) !important;
		border: 5px solid var(--teal) !important;
		z-index: -1;
		
		h5, p {
			color: var(--teal) !important;
		}
	}
}

.nav-mansi {
	position: absolute;
    height: 100%;
    z-index: 1;
}

/***** FAQ Block *****/

#faq-block .wp-block-heading {
	flex-basis: 35%;
	min-width: 300px;
	padding-right: 25px;
	border-right: 3px solid var(--teal);
	transition: .25s all ease;
}

#faq-block .wp-block-accordion {
	flex-basis: 60%;
	padding-left: 25px;
	
	.wp-block-accordion-item {
		&* {
			transition: all 0.3s ease-out;
		}
		
		button {
			padding: 20px 10px;
			border-bottom: 2px solid var(--teal);
			transition: all 0.25s ease-in;
			
			&:hover {
				background: var(--teal);
				color: white;
			}
		}
	}
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
    text-decoration: none;
}

#faq-block .wp-block-accordion-item:last-of-type button {
	border-bottom: unset;
}

#faq-block .wp-block-accordion-panel {
	display: block;
	max-height: 0px;
	opacity: 0;
	transition: 0.5s all ease-in;
	
	p {
		padding: 25px 15px 0;
	}
	
	p:last-of-type {
		padding-bottom: 10px;
	}
}

#faq-block div.wp-block-accordion-item.is-open .wp-block-accordion-panel {
	max-height: 2000px;
	opacity: 1;
}

@media screen and (max-width: 780px) {
	#faq-block {
		flex-direction: column;
		
		h3 {
			border-right: unset;
			flex-basis: 100%;
			min-width: 100% !important;
			padding: 0 0 14px;
			text-align: center;
		}
		
		#faq-block-accordion {
			padding-left: 0;
		}
	}
}

/***** form styles *****/

.srfm-form-container.srfm-bg-color.white-form {
	background: white;
}

.srfm-form-container .srfm-checkbox-block .srfm-block-wrap .srfm-cbx span.srfm-span-wrap:not(.srfm-block-label) {
	border: 2px solid var(--teal) !important;
    border-radius: 0 !important;
    padding: 7px !important;
}

.srfm-form-container .srfm-checkbox-block .srfm-block-wrap .srfm-cbx .srfm-span-wrap:first-child svg, .srfm-form-container .srfm-gdpr-block .srfm-block-wrap .srfm-cbx .srfm-span-wrap:first-child svg, body.post-type-sureforms_form .is-root-container .srfm-checkbox-block .srfm-block-wrap .srfm-cbx .srfm-span-wrap:first-child svg, body.post-type-sureforms_form .is-root-container .srfm-gdpr-block .srfm-block-wrap .srfm-cbx .srfm-span-wrap:first-child svg {
	stroke: var(--teal);
}

.pac-pines-form form input, .pac-pines-form form textarea {
	border-radius: 0 !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 3px solid var(--teal) !important;
	font-weight: 600 !important;
    font-size: 18px !important;
    color: var(--teal) !important;
}

.pac-pines-form form input {
	padding: 25px 10px !important;
}

.pac-pines-form form textarea {
	padding: 15px 10px !important;
}

.pac-pines-form form input:hover, .pac-pines-form form textarea:hover {
	box-shadow: 0 0 0 1px var(--teal) !important; 
}

#srfm-submit-btn {
	border-radius: 0;
	font-family: Open Sans;
	font-weight: 600;
	font-size: 16px;
	letter-spacing: 1px;
	transition: 0.25s all ease-out;
	padding: 12px 25px !important;
	background: var(--teal);
	color: var(--off-white);
}

.srfm-form-container .srfm-form .srfm-block:not(.srfm-number-block).srfm-error .srfm-block-wrap .srfm-input-common:focus, .srfm-form-container .srfm-form .srfm-block:not(.srfm-number-block).srfm-error .srfm-block-wrap .ts-wrapper:focus, .srfm-form-container .srfm-form .srfm-block:not(.srfm-number-block).srfm-valid-email-error .srfm-block-wrap .srfm-input-common:focus, .srfm-form-container .srfm-form .srfm-block:not(.srfm-number-block).srfm-valid-email-error .srfm-block-wrap .ts-wrapper:focus, .srfm-form-container .srfm-password-protected-form .srfm-block:not(.srfm-number-block).srfm-error .srfm-block-wrap .srfm-input-common:focus, .srfm-form-container .srfm-password-protected-form .srfm-block:not(.srfm-number-block).srfm-error .srfm-block-wrap .ts-wrapper:focus, .srfm-form-container .srfm-password-protected-form .srfm-block:not(.srfm-number-block).srfm-valid-email-error .srfm-block-wrap .srfm-input-common:focus, .srfm-form-container .srfm-password-protected-form .srfm-block:not(.srfm-number-block).srfm-valid-email-error .srfm-block-wrap .ts-wrapper:focus, .srfm-form-container .srfm-form .srfm-block:not(.srfm-number-block) .srfm-input-common:focus, .srfm-form-container .srfm-password-protected-form .srfm-block:not(.srfm-number-block) .srfm-input-common:focus {
	box-shadow: 0 0 0 1px var(--teal) !important; 
}

#map-block iframe {
	filter: grayscale(100%);
	mix-blend-mode: hard-light;
	height: 100vh;
	max-height: 500px;
}

#map-column {
	position: relative;
	z-index: 1;
	height: 100vh;
	max-height: 500px;
	
		&:after {
		content: "";
		position: absolute;
		display: block;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: var(--teal);
		z-index: -1;
		opacity: 50%;
	}
}

.phone-input .srfm-block-wrap .srfm-input-phone {
	padding-left: 56px !important;
}

@media screen and (max-width: 500px) {
	.srfm-form-container {
		padding-left: 0;
		padding-right: 0;
	}
}

/***** CTA Footer *****/
#footer-cta {
	background-position: 0 25%;
	position:relative;
	
	& * {
		position: relative;
		z-index: 1;
	}
	
	#cta-footer-inner {
		width: fit-content;
		z-index: 1;
		position: relative;
		padding: 25px;
	}
	
	&:after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: black;
		opacity: 65%;
		mix-blend-mode: multiply;
	}
}

/***** footer *****/
footer .wp-block-group .wp-block-group:has(#footer-logo-box) {
	align-items: end;
}

#footer-socials svg {
	width: 35px;
	height: 35px;
}

@media screen and (max-width: 1150px) {
	body > div.wp-site-blocks > footer > div.wp-block-group.has-base-color.has-contrast-background-color.has-text-color.has-background.has-link-color.wp-elements-46ee1c035ee4bfe3076327bb9a904b92.has-global-padding.is-layout-constrained.wp-container-core-group-is-layout-3358bead.wp-block-group-is-layout-constrained > div.wp-block-group.has-custom-css.is-content-justification-center.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-00228f33.wp-block-group-is-layout-flex.wp-custom-css-60477ae6 {
		flex-direction: column;
	}
	
	#footer-logo-box {
		padding-right: 0px;
		padding-left: 0px;
		max-width: 500px;
	}
}

@media screen and (max-width: 702px) {
	body > div.wp-site-blocks > footer > div.wp-block-group.has-base-color.has-contrast-background-color.has-text-color.has-background.has-link-color.wp-elements-46ee1c035ee4bfe3076327bb9a904b92.has-global-padding.is-layout-constrained.wp-container-core-group-is-layout-3358bead.wp-block-group-is-layout-constrained > div.wp-block-group.has-custom-css.is-content-justification-center.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-00228f33.wp-block-group-is-layout-flex.wp-custom-css-60477ae6 > div.wp-block-group.wp-container-content-9cfa9a5a.has-global-padding.is-content-justification-center.is-layout-constrained.wp-container-core-group-is-layout-0a90e19c.wp-block-group-is-layout-constrained > div {
		flex-direction: column;
	}
	
	#footer-socials {
		justify-content: center;
	}
}

@media screen and (max-width: 380px) {
	body > div.wp-site-blocks > footer > div.wp-block-group.has-base-color.has-contrast-background-color.has-text-color.has-background.has-link-color.wp-elements-46ee1c035ee4bfe3076327bb9a904b92.has-global-padding.is-layout-constrained.wp-container-core-group-is-layout-3358bead.wp-block-group-is-layout-constrained > div.wp-block-group.has-custom-css.is-content-justification-center.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-00228f33.wp-block-group-is-layout-flex.wp-custom-css-60477ae6 {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	#footer-info > .wp-block-group {
		flex-direction: column;
	}
	
	body > div.wp-site-blocks > footer > div.wp-block-group.has-base-color.has-contrast-background-color.has-text-color.has-background.has-link-color.wp-elements-46ee1c035ee4bfe3076327bb9a904b92.has-global-padding.is-layout-constrained.wp-container-core-group-is-layout-3358bead.wp-block-group-is-layout-constrained > div.wp-block-group.alignfull.has-contrast-color.has-accent-1-background-color.has-text-color.has-background.has-link-color.wp-elements-a6e60ed5167368ec94eb5a978843b76b.is-vertical.is-content-justification-center.is-layout-flex.wp-container-core-group-is-layout-705d2dc1.wp-block-group-is-layout-flex > p.has-contrast-color.has-text-color.has-link-color.has-small-font-size.wp-elements-69d01ebd1bbad0ef2ba17b8e498402a4.wp-block-paragraph {
		text-align: center;
	}
}