/**
 * SofiaHealth header styles
 * Source: Figma sofiahealth node 14:5
 * --------------------------------------------- */

 :root {
	--sh-cream: #faf7f2;
	--sh-border: #eadfd3;
	--sh-teal: #2a8c82;
	--sh-ink: #2e2e2e;
	--sh-white: #ffffff;
	--sh-font-display: "Cormorant Garamond", Georgia, serif;
	--sh-font-body: "Work Sans", sans-serif;;
	--sh-header-pad-x: 80px;
	--sh-header-pad-y: 20px;
	--sh-header-max-width: 1440px;
	--sh-nav-gap: 32px;
	--sh-radius-pill: 24px;
	--sh-shadow-btn: 0 4px 6px rgba(74, 50, 31, 0.05);
}

body {
	color: var(--sh-body-text-color);
	font-family: var(--sh-font-body);
	margin: 0 !important;
	padding: 0 !important;
	scroll-behavior: smooth;
}
.entry-content{
	margin-top: 0;
}

.site-header {
	background-color: var(--sh-cream);
	border-bottom: 1px solid var(--sh-border);
}

.site-header__inner {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin: 0 auto;
	max-width: var(--sh-header-max-width);
	padding: var(--sh-header-pad-y) var(--sh-header-pad-x);
	width: 100%;
}

/* Branding
--------------------------------------------- */
.site-branding {
	flex-shrink: 0;
	width: 15%;
}

.site-logo {
	align-items: center;
	color: var(--sh-teal);
	display: flex;
	gap: 8px;
	text-decoration: none;
	width: 100%;
}

.site-logo:hover,
.site-logo:focus {
	color: var(--sh-teal);
	text-decoration: none;
}

.site-logo__icon {
	display: block;
	flex-shrink: 0;
	height: 32px;
	width: 32px;
	overflow: hidden;
}

.site-logo__icon img {
	display: block;
	height: 32px;
	width: auto;
	max-width: 32px;
	object-fit: contain;
}

.custom-logo-link {
	display: block;
	text-decoration: none;
	width: 100%;
}

.custom-logo-link img,
.custom-logo {
	display: block;
	height: auto;
	width: auto;
}

.site-title {
	color: var(--sh-teal);
	font-family: var(--sh-font-display);
	font-size: 28px;
	font-weight: 700;
	line-height: normal;
	margin: 0;
	white-space: nowrap;
}

.site-title a {
	color: inherit;
	text-decoration: none;
}

.site-description {
	display: none;
}

/* Primary navigation
--------------------------------------------- */
.site-header__nav{
	width: 100%;
    display: flex;
}
.main-navigation {
	display: flex;
	flex: 1 1 auto;
	justify-content: center;
	min-width: 0;
	position: relative;
	width: auto;
}

.main-navigation .nav-menu,
.main-navigation ul {
	align-items: center;
	display: none;
	flex-wrap: wrap;
	font-family: var(--sh-font-body);
	font-size: 15px;
	font-weight: 500;
	gap: var(--sh-nav-gap);
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.main-navigation.toggled .nav-menu,
.main-navigation.toggled ul {
	display: flex;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	color: var(--sh-ink);
	display: block;
	font-family: var(--sh-font-body);
	font-size: 15px;
	font-weight: 500;
	line-height: normal;
	text-decoration: none;
	white-space: nowrap;
}

.main-navigation a:hover,
.main-navigation a:focus {
	color: var(--sh-teal);
}

.main-navigation ul ul {
	background-color: var(--sh-cream);
	border: 1px solid var(--sh-border);
	border-radius: 8px;
	box-shadow: var(--sh-shadow-btn);
	flex-direction: column;
	gap: 0;
	left: -999em;
	min-width: 180px;
	padding: 8px 0;
	position: absolute;
	top: calc(100% + 8px);
	z-index: 99999;
}

.main-navigation ul ul a {
	padding: 10px 16px;
	width: auto;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	display: flex;
	left: auto;
}

.menu-toggle {
	align-items: center;
	background: transparent;
	border: 1px solid var(--sh-border);
	border-radius: 8px;
	color: var(--sh-ink);
	cursor: pointer;
	display: none;
	height: 40px;
	justify-content: center;
	line-height: 1;
	margin: 0;
	padding: 0 12px;
	width: 40px;
}

.menu-toggle__icon,
.menu-toggle__icon::before,
.menu-toggle__icon::after {
	background-color: var(--sh-ink);
	content: "";
	display: block;
	height: 2px;
	position: relative;
	width: 18px;
}

.menu-toggle__icon::before {
	position: absolute;
	top: -6px;
}

.menu-toggle__icon::after {
	position: absolute;
	top: 6px;
}

.menu-close {
	align-items: center;
	background: transparent;
	border: 1px solid var(--sh-border);
	border-radius: 8px;
	color: var(--sh-ink);
	cursor: pointer;
	display: none;
	height: 40px;
	justify-content: center;
	line-height: 1;
	margin: 0;
	padding: 0;
	pointer-events: auto;
	position: absolute;
	right: 24px;
	top: 24px;
	width: 40px;
	z-index: 10;
}

.menu-close__icon,
.menu-close__icon::before {
	background-color: var(--sh-ink);
	content: "";
	display: block;
	height: 2px;
	position: absolute;
	width: 18px;
}

.menu-close__icon {
	position: relative;
	transform: rotate(45deg);
}

.menu-close__icon::before {
	transform: rotate(-90deg);
}

body.menu-open {
	overflow: hidden;
}

/* Header CTAs
--------------------------------------------- */
.site-header__ctas {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	gap: 16px;
}

body .site-header__signup{
	color: var(--sh-teal);
}

.site-header__signup {
	font-family: var(--sh-font-body);
	font-size: 15px;
	font-weight: 600;
	line-height: normal;
	text-decoration: none;
	white-space: nowrap;
}

.site-header__signup:hover,
.site-header__signup:focus {
	color: var(--sh-teal);
	opacity: 0.85;
}

body .site-header__join{
	color: var(--sh-white);
}

.site-header__join {
	align-items: center;
	background-color: var(--sh-teal);
	border-radius: var(--sh-radius-pill);
	box-shadow: var(--sh-shadow-btn);
	box-sizing: border-box;
	display: inline-flex;
	font-family: var(--sh-font-body);
	font-size: 15px;
	font-weight: 600;
	height: 48px;
	justify-content: center;
	line-height: normal;
	padding: 12px 28px;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

.site-header__join:hover,
.site-header__join:focus {
	background-color: #247a71;
	color: var(--sh-white);
}

/* Override Underscores defaults so the Figma header layout wins
--------------------------------------------- */
.site-header .main-navigation {
	width: auto;
}

.site-header .main-navigation ul {
	float: none;
}

/* Desktop: always show nav, never show toggle */
@media screen and (min-width: 1024px) {
	.site-header .menu-toggle {
		display: none !important;
	}

	.site-header .menu-close {
		display: none !important;
	}

	.mobile-nav-panel {
		display: contents;
	}

	.site-header .main-navigation .nav-menu,
	.site-header .main-navigation > .mobile-nav-panel > .nav-menu,
	.site-header .main-navigation > ul {
		display: flex !important;
	}

	.main-navigation {
		flex: 1 1 auto;
		justify-content: center;
		order: 1;
	}

	.site-header__ctas {
		order: 2;
	}
}

/* Tablet / mobile
--------------------------------------------- */
@media screen and (max-width: 1023px) {
	.site-header .menu-toggle {
		display: inline-flex;
	}

	.site-header .menu-close {
		display: inline-flex;
	}

	.mobile-nav-panel {
		background-color: var(--sh-cream);
		box-sizing: border-box;
		height: 100%;
		height: 100dvh;
		left: 0;
		overflow-y: auto;
		padding: 88px 24px 40px;
		pointer-events: none;
		position: fixed;
		top: 0;
		transform: translateX(-100%);
		transition: transform 0.35s ease;
		visibility: hidden;
		width: 100%;
		z-index: 9999;
	}

	.main-navigation.toggled .mobile-nav-panel {
		pointer-events: auto;
		transform: translateX(0);
		visibility: visible;
	}

	.mobile-nav-panel .nav-menu {
		align-items: stretch;
		display: flex;
		flex-direction: column;
		gap: 0;
		list-style: none;
		margin: 0;
		padding: 0;
		width: 100%;
	}

	.mobile-nav-panel .nav-menu a {
		border-bottom: 1px solid var(--sh-border);
		font-size: 18px;
		padding: 16px 0;
		white-space: normal;
	}

	.mobile-nav-panel .nav-menu li:last-child a {
		border-bottom: 0;
	}

	.mobile-nav-panel ul ul {
		border: 0;
		border-radius: 0;
		box-shadow: none;
		margin-left: 16px;
		padding: 0;
		position: static;
	}

	.site-header__inner {
		flex-wrap: nowrap;
		padding: 16px 24px;
	}

	.site-header__nav {
		align-items: center;
		flex: 0 0 auto;
		gap: 16px;
		justify-content: flex-end;
		width: auto;
	}

	.site-header__ctas {
		flex-shrink: 0;
	}

	.main-navigation {
		flex: 0 0 auto;
		justify-content: flex-end;
	}

	.site-title {
		font-size: 24px;
	}

	.site-header__join {
		height: 40px;
		padding: 8px 20px;
	}
}

@media screen and (max-width: 768px) {
	.site-branding {
		width: 130px;
	}
	.site-header__join{
		font-size: 14px;
	}
	body .main-container{
		padding: 0 20px;
	}
	html, body{
		overflow-x: hidden;
	}
}
@media screen and (max-width: 480px) {
	.site-header__signup{
		display: none;
	}
	.site-header__join{
		height: 37px;
        padding: 7px 14px;
	}
	.site-branding {
        width: 105px;
    }
}