/*
Theme Name: Penumbra Inc 3.0
Theme URI: https://wordpress.org/themes/
Author: Aaron Podbelski
Author URI: https://wordpress.org
Description: A custom version of Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.6
Tested up to: 6.6
Requires PHP: 7.2.24
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pen30
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news

adding comment
2nd comment
*/

:root {
	--pen-maps-aspect-ratio: 3.2;
}


/* Temp fix? Remedies issue on mobile with white band on the right side */
html, body {
	scroll-behavior: smooth;
	/* overflow-x: hidden; */

}

/* WCAG 2.3.3: honor the OS "reduce motion" setting */
@media (prefers-reduced-motion: reduce) {
	html, body {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		/* near-zero (not none) so transitionend handlers still fire */
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* WCAG 1.4.1: links inside running text need a non-color cue */
.legal-text a,
.pen-eifu-wrapper p a {
	text-decoration: underline;
}

/* Temp fix? Makes mobile header uniform on pages with image blocks */
.wp-block-image img {
	max-width: 100%;
	/* object-fit: cover; */
}

h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: normal;
    word-break: normal;
}


/*
//
// Defaults - START
//
*/

a {
	color: var(--wp--preset--color--pen-red-new);
	transition: color 200ms ease-in-out, text-decoration-color 200ms ease-in-out;
	text-decoration: none;
}

.breadcrumb a {
	text-decoration: underline;
	transition: all 200ms ease-in-out;
}
.breadcrumb a:hover {
	text-decoration: none;
}

/* 1) Underlines ONLY for in-article/content links */
.wp-block-post-content :where(a):not(.wp-block-button__link):not(.no-underline),
.entry-content :where(a):not(.wp-block-button__link):not(.no-underline) {
	text-decoration: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.15em;
}

/* 2) Your hover rule: hide the underline on hover for those content links */
.wp-block-post-content :where(a):not(.wp-block-button__link):not(.no-underline):hover,
.entry-content :where(a):not(.wp-block-button__link):not(.no-underline):hover {
	text-decoration: none;
}

li.type-blog a, li.type-news a, li.type-post a  {
	text-decoration: none !important;
}

li.type-blog a:hover, li.type-news a:hover, li.type-post a:hover {
	text-decoration: underline !important;
}

/* a {
	color: var( --wp--preset--color--pen-red-new );
	transition: color 200ms ease-in-out;
	text-decoration: none;
}

a:hover {
	text-decoration: underline !important;
} */

a:visited {

}

ul ul {
	list-style-type: disc;
}

ul ul ul {
	list-style-type: circle;
}

li::marker {
	color: var( --wp--preset--color--pen-red-new );
}

sup {
	font-size: small;
}

h1, h2, h3, h4, h5, h6 {
	color: var( --wp--preset--color--pen-text-primary );
}

h3 sup {
	font-size: 0.8rem;
	padding-bottom: 1rem;
}

address {
	font-style: normal;
	color: var( --wp--preset--color--pen-text-primary );
}

/*
//
// Defaults - END
//
*/


/*
//
// Header & Navigation - START
//
*/

nav a {
	cursor: pointer !important;
	/* pointer-events: auto !important; */
	display: inline-block;
	width: auto; /* Ensure no padding extends the hit area */
	height: auto;
	pointer-events: auto !important; /* Override anything blocking events */
}



body {
	overflow-x: hidden;
}

.nav_mobile {
	display: flex;
	padding-bottom: 3px;
}

.wp-block-navigation__responsive-container-close svg, .wp-block-navigation__responsive-container-open svg {
	width: 30px !important;
	height: 30px !important;
}

.nav-desktop {
	display: none;
}

.site-header.wp-block-template-part {
	position: relative;
	z-index: 10;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.0rem;
	margin-bottom: 0.5rem;
}

.header-container {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	flex-wrap: nowrap;
	justify-content: space-between;
	padding: 0rem 1rem;
	align-items: center;

}

.wp-block-navigation-item__content {
	text-transform: uppercase;
	font-weight: 700;
	position: relative;
	display: inline-block;
}

 .wp-block-navigation-item:hover {
	/* color: var( --wp--preset--color--pen-red-dark ) !important; */
	color: var( --wp--preset--color--pen-red-new ) !important;
}

.wp-block-navigation-item__label {
	text-transform: capitalize;
	font-size: 16px;
}



/* Nav full width: */
 .wp-block-navigation, .wp-block-navigation-item, .wp-block-navigation__responsive-dialog, .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open), :where(.wp-block-group.wp-block-group-is-layout-constrained) {
	position: static !important;
}

.wp-block-navigation__submenu-container.wp-block-navigation-submenu, .wp-block-navigation__submenu-container.block-editor-block-list__layout {
	position: absolute !important;
	/* top: 100% !important; */
	top: 50px !important;
	left: 0 !important;
	width: 100% !important;
	background-color: #ffffff !important;
	z-index: 9999;
	padding: 0 !important;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* !important overrides the inline style set by the block editor */
@media (min-width: 992px) {
	.nav-desktop .wp-block-navigation__submenu-container .wp-block-cover.is-light {
		padding-top: 2rem !important;
		padding-bottom: 2rem !important;
	}
}

.wp-block-navigation-item.has-child.dashicons-before.dashicons-admin-site-alt3.wp-block-navigation-submenu {
	position: relative !important;
	padding-right: 5px;
}

.wp-block-navigation__submenu-container.dashicons-admin-site-alt3 {
	width: 15% !important;
	left: unset !important;
	/* top: 73px !important; */
	top: 38px !important;
	/* Matches the red line's right: -36px so their right edges align */
	right: -36px !important;
}

/* JS-toggled open state for the globe dropdown (touch devices have no :hover) */
.nav_lang_search_contact li.wp-block-navigation-submenu.is-open > .wp-block-navigation__submenu-container {
	visibility: visible !important;
	opacity: 1 !important;
	overflow: visible !important;
	height: auto !important;
	min-width: 200px !important;
}

/* Keep the globe dropdown on-screen below the desktop breakpoint */
@media (max-width: 1099px) {
	.wp-block-navigation__submenu-container.dashicons-admin-site-alt3 {
		width: max-content !important;
		min-width: 12rem !important;
		left: unset !important;
		right: -36px !important;
	}
}

.nav_lang_search_contact li.wp-block-navigation-submenu:hover > .wp-block-navigation-item__content::before {
	content: " ";
	height: 3px;
	/* background-color: var( --wp--preset--color--pen-red-dark ); */
	background-color: var( --wp--preset--color--pen-red-new );
	display: inline-block;
	width: 80px;
	position: absolute;
	/* bottom: 0px; */
	top: 36px;
	/* top: 57px; */
	right: -36px;
	z-index: 99;
}

.nav-desktop li.wp-block-navigation-submenu:hover > .wp-block-navigation-item__content::before {
	content: " ";
	position: absolute;
	/* left: 0;
	right: 0; */
	bottom: -52px;
	height: 3px;
	/* background-color: var( --wp--preset--color--pen-red-dark ); */
	background-color: var( --wp--preset--color--pen-red-new );
	display: inline-block;
	width: 80px;
	z-index: 99;
}

/* Allows gap under link */
li.wp-block-navigation-submenu:hover > .wp-block-navigation-item__content::after {
	content: " ";
	height: 3.7rem;
	background: transparent;
	position: absolute;
	top: 58%;
	left: -5rem;
	right: -5rem;
	cursor: pointer !important;
	pointer-events: auto !important;
}

/* Keep the mobile nav overlay *inside* the viewport */
.wp-block-navigation__responsive-container.is-menu-open,
.wp-block-navigation__responsive-dialog {
	box-sizing:border-box;
	max-width:100%;
	width:100%;
	overflow-x:hidden;
}

/* Prefer modern viewport units to avoid scrollbar-width overflow */
@supports (width: 100dvw) {
	.wp-block-navigation__responsive-dialog {
		width:100dvw;
		max-width:100dvw;
	}
}






.wp-block-navigation__container {
	display: flex;
	gap: unset;
	letter-spacing: 1.75px;
}

.wp-block-navigation__container .wp-block-navigation__submenu-container {
	letter-spacing: 0.0px;
}

li a.wp-block-navigation-item__content {
	padding-right: 26px;
}

ul.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
	/* max-width: 100%; */
	margin-top: 40px;
}

.wp-block-navigation__submenu-container .wp-block-navigation-item {
	margin-top: 0px;

}

.wp-block-navigation__submenu-container .wp-block-navigation-item a {
	font-weight: 300;
	padding: 0px;
}
.wp-block-navigation__submenu-container .wp-block-navigation-item a:hover {
	text-decoration: underline;
	color: var( --wp--preset--color--pen-text-primary ) !important;
}
.wp-block-navigation__submenu-container li.wp-block-navigation-item:hover {
	color: var( --wp--preset--color--pen-text-primary ) !important;
}

/* Explicit so links don't inherit the red from WPML's hovered .wp-block-navigation-item wrapper */
.wp-block-navigation__submenu-container.dashicons-admin-site-alt3 .wp-block-navigation-item a {
	color: #000 !important;
}

.wp-block-navigation__submenu-container.dashicons-admin-site-alt3 .wp-block-navigation-item a:hover {
	color: var( --wp--preset--color--pen-red-new ) !important;
}

.wp-block-navigation__submenu-container .wp-block-button__link {
	font-size: 16px;
	padding: 0px;
}

.wp-block-search__button {
	padding-top: 0px;
	padding-bottom: 3px;
	font-size: 1.8rem;
}

.nav_lang_search_contact {
	margin-left: auto !important;
}

.nav_lang_search_contact .dashicons-admin-site-alt3:before {
	font-size: 1.7rem;
	padding-bottom: 8px;
}


#contact-nav-desktop {
	display: none;
}

#site-logo {
	max-width: 150px;
	height: auto;
}

.gap-xs {
	gap: 0.0rem;
}

.wp-block-search__button {
	padding-left: 1px;
	padding-right: 1px;
}

.pen-region-switcher {
	display: flex;
	align-items: center;
}

/* Button is empty (named via aria-label), so stretch it over the li's ::before globe icon */
li.wp-block-navigation-item.has-child.dashicons-admin-site-alt3 > .wp-block-navigation-item__content {
	position: absolute;
	inset: 0;
	padding: 0;
	margin: 0;
	background: none;
	border: 0;
	color: inherit;
	cursor: pointer;
}

li.wp-block-navigation-item.has-child.dashicons-admin-site-alt3 > .wp-block-navigation-item__content:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.wp-block-navigation__submenu-container.dashicons-before.dashicons-admin-site-alt3::before {
	content: none;
}

.pipe-border {
	border-right: 2px solid var( --wp--preset--color--pen-gray-text-01 );
	margin-right: 0px !important;
	margin-bottom: 5px !important;
	height: 28px !important;
}

.wp-block-group.header-container figure#site-logo a {
	display: inline-flex;
	height: 100%;
	align-items: center;
	padding: 0;
	margin: 0;
}

.nav_lang_search_contact .wp-block-search__input {

}

.wp-block-navigation__submenu-container.dashicons-before.dashicons-admin-site-alt3.wp-block-navigation-submenu {
	/* margin-top: 20px; */
}

li[data-wpml="current-language-item"] {
	display:none !important;
}


/* Messes with search results */
/* form.wp-block-search input.wp-block-search__input {
	position: absolute;
	top: 20px;
	left: 400px;
	width: 50%;
	border: none;
} */



@media(max-width: 768px) {

	/* Make the whole header a positioning context */
	.header-container {
		position: relative;
	}

	/* Default: small inline search */
	.nav_lang_search_contact form.wp-block-search {
		max-width: 2.5rem; /* just the icon width when collapsed */
		transition: max-width 0.2s ease;
	}

	/* When search is open → full-width overlay bar */
	.nav_lang_search_contact form.wp-block-search:not(.wp-block-search__searchfield-hidden) {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		z-index: 100;
		max-width: 100%;
		width: 100%;
		margin: 0;
		padding: 0 16px; /* match your header’s horizontal padding */
		box-sizing: border-box;
		display: flex;
		align-items: center;
		background-color: #fff; /* or your header background */
	}

	/* Inner wrapper stretches to fill the bar */
	.nav_lang_search_contact form.wp-block-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__inside-wrapper {
		flex: 1 1 auto;
		display: flex;
		align-items: center;
	}

	/* Input fills all remaining space */
	.nav_lang_search_contact form.wp-block-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
		flex: 1 1 auto;
		min-width: 0;
		width: 100%;
	}

	/* Keep button visible, pinned at far right, no squish */
	.nav_lang_search_contact form.wp-block-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__button {
		flex-shrink: 0;
	}

	/* Hide other nav items (globe, hamburger, etc) while search is open */
	.nav_lang_search_contact form.wp-block-search:not(.wp-block-search__searchfield-hidden) ~ * {
		display: none !important;
	}
}







.nav_lang_search_contact {
	flex: 1 1 auto;
}

.nav_lang_search_contact .wp-block-navigation__container {
	flex-wrap: nowrap;
}

.nav_lang_search_contact .wp-block-navigation {
	flex-wrap: nowrap;
}

.wp-block-search {
	flex: 1 1 auto;
	display: flex;
}

.wp-block-search__inside-wrapper {
	flex: 1 1 auto;
	display: flex;
}

.wp-block-search__input {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	border: none;
	padding: 0.5rem 1rem;
}

.wp-block-search__button {
	flex-shrink: 0;
}


.wp-block-search.wp-block-search__button-only .wp-block-search__button {
	margin-left: auto;
}

.pen-header-search .pen-search-field {
	position: relative;
	display: flex;
	flex: 1 1 100%;
	min-width: 0;
}

.pen-header-search.wp-block-search__searchfield-hidden .pen-search-field {
	flex: 0 0 0;
}

.pen-header-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
	padding-right: 2.75rem;
}

.pen-header-search input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
	display: none;
}

.pen-header-search .pen-search-close {
	position: absolute;
	top: 50%;
	right: 0.5rem;
	transform: translateY( -50% );
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px;
	margin: 0;
	background: none;
	border: 0;
	color: inherit;
	cursor: pointer;
}

.pen-header-search .pen-search-close:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 0;
}

.pen-header-search.wp-block-search__searchfield-hidden .pen-search-close {
	display: none;
}

.pen-header-search .pen-search-spinner {
	position: absolute;
	top: 50%;
	right: calc( 0.5rem + 4px );
	transform: translateY( -50% );
	display: none;
	pointer-events: none;
}

.pen-header-search.is-searching .pen-search-spinner {
	display: block;
}

.pen-header-search.is-searching .pen-search-close {
	display: none;
}






/*
//
// Mobile Navigation - START
//
*/


.nav_mobile .wp-block-navigation__responsive-container:not(.is-menu-open){
	display:none !important;
}

.nav_mobile .wp-block-navigation__responsive-container.is-menu-open {
	position:fixed;
	inset:0;
	background:#fff;
	overflow-y:auto;
	padding:0;
}

.nav_mobile .wp-block-navigation__responsive-container.is-menu-open > .wp-block-navigation__container {
	display:flex;
	flex-direction:column;
	row-gap:1rem;
	padding:2rem 1.5rem;
}

.nav_mobile .wp-block-navigation__responsive-container-close {
	display:block;
	margin-left:auto;
	padding:1.25rem 1.25rem;
}

.nav_mobile .wp-block-navigation__container > .wp-block-navigation-item {
	border-bottom:1px solid #e7e7e7;
	width:100%;
}

.nav_mobile .wp-block-navigation-item__content {
	display:flex;
	justify-content:space-between;
	align-items:center;
	width:100%;
	padding:1rem 1.5rem;
	font-size:1.125rem;
	font-weight:600;
	text-transform:none;
	color:#000;
	text-decoration:none;
}

.nav_mobile .wp-block-navigation-item__content:hover,
.nav_mobile .wp-block-navigation-item__content:focus {

}

.nav_mobile .wp-block-navigation-item.has-child[open] > .wp-block-navigation__submenu-icon,
.nav_mobile .wp-block-navigation-item.has-child > button[aria-expanded="true"] + .wp-block-navigation__submenu-icon {
	transform:rotate(0deg);
}

.nav_mobile .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block;
	padding:.75rem 1.5rem;
	font-size:1rem;
	font-weight:400;
	width: 100%;
}

.nav_mobile > .wp-block-navigation.is-responsive > .wp-block-navigation__container {
	display:none !important;
}
.nav_mobile > .wp-block-navigation.is-responsive > .wp-block-navigation__responsive-container-open {
	display:flex !important;
}

.nav_mobile .wp-block-navigation__container {
	width:100%;
}

.nav_mobile .wp-block-navigation__submenu-container > .wp-block-navigation-item {
	width:100%;
}

.nav_mobile .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
	display:none;
	padding-left:1.5rem;
}

.nav_mobile .wp-block-navigation-item.has-child
	button[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
	display:block;
	animation:slideDown .3s ease forwards;
}

.nav_mobile .wp-block-navigation-item.has-child
	.wp-block-navigation__submenu-icon svg {
		transform: rotate( 0deg );
		transition: transform 250ms ease-in-out;
}

.nav_mobile .wp-block-navigation-item.has-child
	button[aria-expanded="true"] +
	.wp-block-navigation__submenu-icon svg {
		transform: rotate( 180deg );
}

@keyframes slideDown {
	from { opacity:0; transform:translateY( -4px ); }
	to   { opacity:1; transform:translateY( 0 );   }
}

.nav_mobile .wp-block-navigation__submenu-container {
	position:static !important;
	inset:auto;
	width:100%;
	padding-left:1.5rem;
}

.nav_mobile .wp-block-navigation__submenu-icon {
	display: inline-block;
	margin-left: auto;
	transition: transform .25s ease;
}

.nav_mobile .wp-block-navigation-item.has-child
	button[aria-expanded="true"] + .wp-block-navigation__submenu-icon {

}

.wp-block-navigation__container.is-responsive.is-vertical.wp-block-navigation li {
	padding-left: 1rem;
	padding-right: 1rem;
}

.wp-block-navigation__submenu-container.wp-block-navigation-submenu li {
	padding-left: 0rem !important;
	padding-right: 0rem!important;
}

.nav_mobile .wp-block-navigation__submenu-container.wp-block-navigation-submenu {
	box-shadow: none;
}

.mobile_nav .wp-block-navigation__submenu-icon {
	display: inline-block !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
	display: inline-block !important;
	margin-left: 70% !important;
	padding-bottom: 1rem;
	position: relative;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon svg {
	position: absolute;
	bottom: 25px;
	height: 20px;
	width: 20px;
}

.nav_mobile .wp-block-navigation-item.has-child {
	position: relative;
}

.nav_mobile .wp-block-navigation-item.has-child > button.wp-block-navigation__submenu-toggle {
	padding-right: 3rem;
}

.nav_mobile .wp-block-navigation-item.has-child button[ aria-expanded="true" ] + .wp-block-navigation__submenu-icon {
	/* transform: translateY( -50% ) rotate( 0deg ); */
}

.nav_mobile ul.wp-block-navigation__submenu-container.wp-block-navigation-submenu {
	margin-top: 0.0rem !important;
}

.wp-block-navigation__responsive-container.has-modal-open.is-menu-open {
	/* top: 70px;  */  /* Allows header logo to be seen  */
}

/*
//
// Mobile Navigation - END
//
*/



/*
//
// Header & Navigation - END
//
*/


/*
//
// OneTrust Cookie Management - START
//
*/


#onetrust-consent-sdk #onetrust-pc-sdk .ot-tgl input:checked+.ot-switch .ot-switch-nob {
	background-color: var( --wp--preset--color--pen-white ) !important;
}

/*
//
// OneTrust Cookie Management - END
//
*/



/*
//
// Main Content - START
//
*/

main {
	/* margin-block-start: 0.5rem; */
}

.pen-breadcrumbs, .pen-breadcrumbs-red, .pen-breadcrumbs-white {
	list-style: none;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	row-gap: 0rem;
	column-gap: 0.5rem;
}
.pen-breadcrumbs li+li::before {
	content: "/ ";
	color: var( --wp--preset--color--pen-white );
}

ol.pen-breadcrumbs .screen-reader-text {
	color: var( --wp--preset--color--pen-white );
}

ol.pen-breadcrumbs-red .screen-reader-text {
	color: var( --wp--preset--color--pen-red-new );
}


.pen-breadcrumbs-red li+li::before {
	content: "/ ";
	color: var( --wp--preset--color--pen-red-new );
}

.pen-breadcrumbs li {
	color: var( --wp--preset--color--pen-white );
}

.pen-breadcrumbs a {
	color: var( --wp--preset--color--pen-white );
	text-decoration: none;
}
.pen-breadcrumbs a:hover {
	color: var( --wp--preset--color--pen-white );
	text-decoration: underline;
}

.pen-breadcrumbs-red a, .pen-breadcrumbs-red li  {
	color: var( --wp--preset--color--pen-red-new );
	text-decoration: none;
}
.pen-breadcrumbs-red a:hover {
	color: var( --wp--preset--color--pen-red-new );
	text-decoration: underline;
}

ol.pen-breadcrumbs-white .screen-reader-text {
	color: var( --wp--preset--color--pen-white );
}

.pen-breadcrumbs-white li+li::before {
	content: "/ ";
	color: var( --wp--preset--color--pen-white );
}

.pen-breadcrumbs-white a, .pen-breadcrumbs-white li  {
	color: var( --wp--preset--color--pen-white );
	text-decoration: none;
}
.pen-breadcrumbs-white a:hover {
	color: var( --wp--preset--color--pen-white );
	text-decoration: underline;
}

.pen-breadcrumbs a:focus {
	outline: 2px solid currentColor; /* or your focus style; keep it visible */
	outline-offset: 2px;
}

/* For heros that have yt videos */
.wp-block-column:has(.pen-video-yt-embed) {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.pen-video-yt-embed {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
/* For heros that have yt videos */
.pen-video-yt-embed iframe {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}


/* CPT Videos Responsive wrapper */
.pen-cpt-videos-yt-embed {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	position: relative;
}

/* CPT Videos Responsive wrapper */
.pen-cpt-videos-yt-embed iframe {
	width: 100%;
	height: 100%;
	border: 0;
}



.pen-cols-press-release a, .pen-cols-blog a, .pen-cols-news a  {
	color: var( --wp--preset--color--pen-text-primary );
}

.pen-cols-press-release img, .pen-cols-blog img {
	border-radius: 0.5rem;
}

.pen-cols-press-release a:hover, .pen-cols-blog a:hover, .pen-cols-news a:hover {
	text-decoration: underline;
}

.pen-cols-news .pen-case-org {
	color: var( --wp--preset--color--pen-gray-text-01 );
	text-transform: uppercase;
	font-weight: 500;
}

.pen-hand-shake-icon, .pen-question-mark-icon {
	width: 100%;
	height: 100%;
}

.pen-hand-shake-icon .st0 {
	fill: white;
	stroke: var( --wp--preset--color--pen-red-new );
	stroke-linecap: round;
	stroke-miterlimit: 10;
	stroke-width: 5.4px;
}

.pen-headset-icon-icon .st0 {
	fill: white;
	stroke: var( --wp--preset--color--pen-red-new );
	stroke-linecap: round;
	stroke-miterlimit: 10;
	stroke-width: 10.2px;
}

.pen-headset-icon .st1 {
	fill: white;
	stroke: var( --wp--preset--color--pen-red-new );
	stroke-linecap: round;
	stroke-miterlimit: 10;
	stroke-width: 10.2px;
}

.pen-question-mark-icon .st0 {
	fill: white;
	stroke: var( --wp--preset--color--pen-red-new );
	stroke-linecap: round;
	stroke-miterlimit: 10;
	stroke-width: 5.4px;
}


/* maps - start */
.pen-clickmap-figure {
	position:relative;
	display:inline-block;
	width: 100%;
	max-width:100%;
	max-height: 200px;
	aspect-ratio: var( --pen-maps-aspect-ratio );
	border: 1px solid var( --wp--preset--color--pen-gray-new );
}

/* img.pen-clickmap-static {
	display:block;
	width:100%;
	height:auto;
} */

.pen-clickmap-figure .pen-clickmap-cta {
	position:absolute;
	inset: auto .5rem .5rem auto;
}

.pen-map-activate {
	padding: 0.5rem 0.75rem;
	border: 0;
	cursor: pointer;
	background-color: var( --wp--preset--color--pen-gray-new );
	transition: ease-in-out 200ms;
	border-radius: 0.25rem;
}

.pen-map-activate:hover {
	background-color: var( --wp--preset--color--pen-red-new );
	color: white;
}

img.pen-clickmap-static, .pen-map-canvas {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;

}

img.pen-clickmap-static { width: 100%; height: 100%; object-fit: cover; }

.pen-clickmap-figure:focus {
	/* outline: 2px solid currentColor;
	outline-offset: 2px; */
}

/* maps - end */


.pen-related-posts.is-vertical {
	flex-direction: column;
	align-items: start !important;
}



/* image captions */
/* figcaption.wp-element-caption {
	display: flex;
	align-items: center;
	font-size: var( --wp--preset--font-size--footnote-small );
}
figcaption.wp-element-caption::before {
	content: "";
	display: inline-block;
	width: 12px;
	height: 2px;
	background-color: var( --wp--preset--color--pen-red-new );
	margin-right: 0.5rem;
	margin-top: 0.6rem;
	flex-shrink: 0;
} */

figcaption.wp-element-caption {
	display: flex;
	align-items: center;
	position: relative;
	padding-left: 20px;
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	font-size: var( --wp--preset--font-size--footnote-small );
}

figcaption.wp-element-caption::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY( -50% );
	width: 12px;
	height: 2px;
	background: var( --wp--preset--color--pen-red-new );
}

.pen-type-impact-stories {
	text-transform: uppercase;
	font-weight: 600;
	font-size: var( --wp--preset--font-size--small );
	letter-spacing: 1px;
}

/* Case Library hero image sizing */
.wp-block-columns > .wp-block-column.pen-no-shrink-col{
	flex: 0 0 auto;
}

/* removes space under image inside figure - single cases */
.wp-block-image {
	line-height:0;
}

.pen-case-study-hero img {
	/* width: 100%;
	object-fit: cover;
	object-position: center; */
	width:100% !important;   /* stretch to column */
	height:auto;             /* keep aspect ratio */
	display:block;
}

/* 1. Force the figure to be a flex container and fill the full column height */
figure.wp-block-image.pen-scale-img {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	margin: 0 !important;
}

/* 2. Force the image to grow and fill that flex space */
.pen-scale-img img {
	height: 100% !important;
	width: 100% !important;
	object-fit: cover !important;
	flex-grow: 1 !important;
}

/*
//
// Main Content - END
//
*/

/*
//
// Press Releases && Investors && B2I - START
//
*/

/*
// Posts - Single Press Releases
*/

.b2iNewsItemBodyDiv table.prnbcc, .b2iNewsItemBodyDiv table.prntblns {
	width: 100% !important;
	margin-bottom: 2.5rem;
	border-spacing: 0;
	border-collapse: collapse;
	display: block;
	overflow-x: auto;

}

.b2iNewsItemBodyDiv table.prnbcc .prngen2 {
	font-size: var( --wp--preset--font-size--medium ) !important;
}

.b2iNewsItemBodyDiv table.prnbcc td {
	border: 0.063rem solid var( --wp--preset--color--pen-text-primary );
}

.b2iNewsItemBodyDiv td {
  vertical-align: inherit;
  text-align: left;
  padding: 0.25rem 0.75rem;
  border: 0.063rem solid #444444;
}
/*
// B2I Faux Archive Page - All Press Releases
*/

#pen-press #b2iLibSearch {
	display: none;
}

#pen-press #b2iLibTags {
	display: inline-block;
	position: relative;
	min-width: 14rem;
	text-align: left;
}

#pen-press #TagLbl::before {
	content: "Filter by Year";
	display: block;
	margin-block-end: .25rem;
	font: 400 .8rem/1.2 system-ui, sans-serif;
	color: #6c6c6c;
}

#pen-press #TagDDL {
	display: block;
	position: relative;
	border-bottom: none;
}

#pen-press #TagDDL::after {
	content: '';
	position: absolute;
	right: 0.4rem;
	bottom: 0.45rem;
	width: 14px;
	height: 9px;
	mask: url( "/wp-content/themes/penumbra-inc-3-0/assets/images/svg/caret-down.svg" ) no-repeat center;
	mask-size: contain;
	background-color: var( --wp--preset--color--pen-red-new );
	pointer-events: none;
}

#pen-press .b2iSelect.b2iSelectYear {
	appearance: none;
	-moz-appearance: none;
	background: none;
	border: 0;
	border-bottom: 1px solid var( --wp--preset--color--pen-red-new );
	padding: 0.35rem 1.75rem .25rem 0;
	font: 500 1rem/1.3 system-ui, sans-serif;
	color: var( --wp--preset--color--pen-red-new );
	width: 100%;
	cursor: pointer;
}

#pen-press .b2iSelect.b2iSelectYear:focus {
	outline: blue;
	border-bottom-color: #333;
}

#pen-press .b2iSelect.b2iSelectYear:focus-visible {
	outline: 3px auto -webkit-focus-ring-color;
	outline-offset: 2px;
}

.b2iLibToolsContainer {
	text-align: center;
}

@media ( max-width: 768px ) {
	#pen-press #b2iLibTags {
		width: 85%;
	}
}

#pen-press .PressItemHeadline {
	font-size: 1.5rem;
	line-height: 2rem;
	font-weight: 500;
	padding-top: 2rem;
}

#pen-press .news-article-date {
	color: var( --wp--preset--color--pen-text-primary );
	margin-top: 2rem;
	padding-bottom: 2rem;
}

#pen-press .news-article-date {
	border-bottom: 1px solid var( --wp--preset--color--pen-text-primary );
}

#pen-press #b2iLibNav {
	display: flex;
	justify-content: center;
	margin-top: 2rem;
	gap: 2rem;
	font-size: 1.2rem;
}

#pen-press #b2iLibNav .b2iPageItemActive.b2iPageItemCurrent {
	color: var( --wp--preset--color--pen-red-new );
}

#pen-press #b2iLibNav .b2iPageItemInactive a {
	color: var( --wp--preset--color--pen-text-primary );
	text-decoration: none;
}
#pen-press #b2iLibNav .b2iPageItemInactive a:hover {
	color: var( --wp--preset--color--pen-red-new );
}

/*
// B2I Stock Ticker
*/

#QuoteDiv21.B2iQuoteContainer {
	color: var( --wp--preset--color--pen-text-primary );
	background-color: white;
	box-shadow: 3px 6px 16px 0 #44444433;
	padding: 2.0rem;
	border-radius: 0.5rem;
}

#QuoteDiv21 .b2iClientQuote-heading-title .exch, #QuoteDiv21 .b2iClientQuote-heading-title .ticker {
	font-size: 1.5rem !important;
	font-weight: 500 !important;
}

#QuoteDiv21 .b2iClientQuoteBody .b2iClientQuote-title.LastPrice {
	font-size: 3.5rem;
}

#QuoteDiv21 .b2iClientQuote-title.change {
	margin-left: 2rem !important;
	font-weight: 400 !important;
}

#QuoteDiv21 .b2iClientQuotefooter {
	font-size: 1rem !important;
	font-weight: 300 !important;
}

#QuoteDiv21 .open-close {
	margin-top: 1rem;
	margin-bottom: 1rem;
}

/*
// B2I Calendar
*/

#CalDiv.B2iCalendarContainer {
	color: var( --wp--preset--color--pen-text-primary );
}

.pen-b2i-investors-events-wrapper {
	display: flex;
	flex-direction: column;   /* stack vertically */
	align-items: center;      /* center horizontally */
	justify-content: center;  /* optional: center vertically within wrapper */
	text-align: center;       /* optional: center any text inside */
	gap: 1rem;
}

.pen-filter-label {
	display: block;
	margin-block-end: .25rem;
	font: 400 .8rem / 1.2 system-ui, sans-serif;
	/* color: #6c6c6c; */
	margin-bottom: 1rem;
	color: var( --wp--preset--color--pen-text-primary );
}

.pen-b2i-investors-events-wrapper select#filter_events {
	font-size: var( --wp--preset--font-size--medium-plus );
	color: var( --wp--preset--color--pen-red-new );
	border: none;
	border-bottom: 1px solid var( --wp--preset--color--pen-red-new );
	padding: 0.35rem 1.75rem .25rem 0;
	font: 500 1rem / 1.3 system-ui, sans-serif;
	width: 100%;
}

.pen-b2i-investors-events-wrapper select#filter_events::after {
	content: '';
	position: absolute;
	right: 0.4rem;
	top: 2rem;
	width: 14px;
	height: 9px;
	mask: url(/wp-content/themes/penumbra-inc-3-0/assets/images/svg/caret-down.svg) no-repeat center;
	mask-size: contain;
	background-color: var(--wp--preset--color--pen-red-new);
	pointer-events: none;
}

.pen-b2i-investors-events-wrapper .pen-b2i-event-listings .B2iCalendarContainer .b2iCalItem {
	text-align: left;
	padding: 1rem 0.5rem;
}

.pen-b2i-investors-events-wrapper .pen-b2i-event-listings .B2iCalendarContainer .b2iCalItem .b2iCalHeadline {
	margin: 1.2rem 0;
}

.pen-b2i-investors-events-wrapper .pen-b2i-event-listings .B2iCalendarContainer .b2iCalItem .b2iCalDescription ul {
	/* display: none; */
	list-style: none;
	padding-left: 1.0rem;
}

/*
// B2I SEC Filing
*/

#SECdivircurrent4.b2iSecContainer #b2iSecTop .single-sec {
	display: inline-block;
	width: 33.0%;
	/* width: 100.0%; */
	color: var( --wp--preset--color--pen-text-primary ) !important;
}

#SECdivircurrent4.b2iSecContainer #b2iSecTop .single-sec:nth-child(4) {
	display: none;

}

#SECdivircurrent4.b2iSecContainer #b2iSecTop .single-sec .date {
	font-weight: 300;
}

#SECdivircurrent4.b2iSecContainer #b2iSecTop .single-sec .filing-name a {
	color: var( --wp--preset--color--pen-text-primary ) !important;
	font-weight: 500;
	/* text-decoration: underline !important; */
}

#SECdivircurrent4.b2iSecContainer #b2iSecTop .single-sec .filing-name a:hover {
	text-decoration: none !important;
}

#SECdivircurrent4.b2iSecContainer #b2iSecTop .single-sec .result-line {
	margin-top: 1rem;
}

#SECdivircurrent4.b2iSecContainer #b2iSecTop .single-sec .result-line a {
	text-decoration: none !important;

}

#SECdivircurrent4.b2iSecContainer #b2iSecTop .single-sec .result-line+.result-line {
	border-top: none;
}

#SECdivircurrent4 .B2iScreen:before {
	content: "\e9db";
	color: var( --wp--preset--color--pen-red-new ) !important;
}

#SECdivircurrent4 .B2iFile:before {
	content: "\e9dc";
	color: var( --wp--preset--color--pen-red-new ) !important;
}

#SECdivircurrent4 .B2iDownload.Xls-item:before {
	content: "\e91a";
	color: var( --wp--preset--color--pen-red-new ) !important;
}

#SECdivircurrent4 .B2iDownload.Zip-item:before {
	content: "\e925";
	color: var( --wp--preset--color--pen-red-new ) !important;
}

#SECdivircurrent4 .result-line {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0;
}

#SECdivircurrent4 .result-line .pull-right {
	margin-left: 0px;
	padding-bottom: 2px;
	display: flex;
	gap: 6px;
}

#SECdivircurrent4 .result-line .item-text, #SECdivircurrent4 .result-line .Zip-item-text {
	display: none;
}

#SECdivircurrent4 .result-line .filing-link {
	margin-right: 0px;
}

/*
// B2I Email Alerts
*/

.b2iEmailDiv {
	position: relative;
}

#EmailDiv.b2iEmailContainer  #LabelEmail.b2iFormLabel {
	position: absolute;
	/* top: 4.75rem !important; */
	top: -0.75rem !important;
	/* left: 5.7rem !important; */
	left: 0.4rem !important;
	transform: none !important;
	width: fit-content;
	background: #fff !important;
	padding-left: 0.25rem !important;
	padding-right: 0.25rem !important;
	margin-bottom: 0 !important;
	text-transform: none !important;
	display: block;
	/* font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; */
	/* color: var(--wp--preset--color--pen-gray-text-01); */
	font-size: 14px !important;
	font-weight: 300 !important;
	letter-spacing: 1px;
}

#EmailDiv.b2iEmailContainer #eaEmail.b2iEmailInput {
	display: inline-block;
	min-height: 44px;
	border: 1px solid #ddd;
	box-sizing: border-box;
	border-radius: 3px;
	padding: 0 10px;
	margin: 0 5px 0 0;
}

#EmailDiv.b2iEmailContainer #eaEmail.b2iEmailInput:focus {
	box-shadow: none;
}

#EmailDiv.b2iEmailContainer .b2iEmailFieldset {
	padding-left: 0px !important;
}

#EmailDiv.b2iEmailContainer #b2iEmailListSave #b2iEmailAlertSubmit {
	position: relative;
	color: #ffffff;
	font-size: 0.8rem !important;
	font-weight: 700;
	background-color: var( --wp--preset--color--pen-red-new );
	border: 0.063rem solid var(--wp--preset--color--pen-red-accent-1);
	border-radius: 1.5rem;
	box-shadow: 0 2px 8px 0 transparent;
	text-decoration: none;
	text-transform: uppercase;
	overflow: hidden;
	padding: 0.5rem 0.75rem;
	font-size: 11px;
	line-height: 20px;
	z-index: 0;
}

#EmailDiv.b2iEmailContainer #b2iEmailAlertUnsubscribe {
	display: inline;
	width: auto;
	min-height: 0;
	background: none;
	padding: 0;
	color: #b5121b;
	text-transform: none;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
	font-weight: 400;
	border: none;
	text-decoration: underline;
}

#EmailDiv.b2iEmailContainer #b2iEmailAlertUnsubscribe:hover {

	text-decoration: none;
}


/*
// B2I Stock Quote - /investors/stock-information/
*/

#b2iClientQuote {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 1rem;
}

#b2iClientQuote .b2iQuoteHeader.b2iClientQuote_Title {
	display: none;
}

#b2iClientQuote .b2iClientQuoteDataCol {
	/* flex: 1; */
	flex: 1 1 220px;
	display: flex;
}

#b2iClientQuote .b2iClientQuoteDataCol .b2iClientQuoteData {

	border-radius: 0.5rem;
	border: 1px solid var( --wp--preset--color--pen-gray-new ) !important;
}

#b2iClientQuote .b2iClientQuoteData .b2iClientQuote_Label {
	border-radius: 0.5rem 0.5rem 0.0rem 0.0rem;
	/* background-color: var( --wp--preset--color--pen-gray-01 ) !important;  */
	font-weight: 600 !important;
	padding: 0.7rem !important;
}

#b2iClientQuote .b2iClientQuoteData .b2iClientQuote_Data {
	padding: 0.7rem !important;
	font-size: 1.5rem;
}

#b2iClientQuote .b2iClientQuoteData .b2iClientQuote_Data:not(.change) {
	color: var( --wp--preset--color--pen-text-primary );
}

/*
// B2I Historical Stock Quote - /investors/stock-information/
*/

#HistoricalDiv.B2iHistoricalContainer {

}

#HistoricalDiv.B2iHistoricalContainer #b2iHistoricQuoteForm {
	margin-bottom: 1rem;
}

#HistoricalDiv.B2iHistoricalContainer #b2iHistoricQuoteForm input.InputDate {
	font-family: var( --wp--preset--font-family--pen-font-stack );
	color: var( --wp--preset--color--pen-red-new );
	font-size: 1.1rem;
	border: none;
	border-radius: 0;
	border-bottom: 1px solid var( --wp--preset--color--pen-red-new );
}

#HistoricalDiv.B2iHistoricalContainer .ExportButton {
	position: relative;
	color: #ffffff;
	font-size: 0.8rem !important;
	font-weight: 700;
	background-color: var( --wp--preset--color--pen-red-new );
	border: 0.063rem solid var(--wp--preset--color--pen-red-accent-1);
	border-radius: 1.5rem;
	box-shadow: 0 2px 8px 0 transparent;
	text-decoration: none;
	text-transform: uppercase;
	overflow: hidden;
	padding: 0.5rem 0.75rem;
	font-size: 11px;
	line-height: 20px;
	z-index: 0;
}

#HistoricalDiv.B2iHistoricalContainer #StockSearchButton {
	display: none;
}

#HistoricalDiv.B2iHistoricalContainer #Historical {
	border-radius: 0.5rem 0.5rem 0.0rem 0.0rem;
}

#HistoricalDiv.B2iHistoricalContainer #Historical tr.b2iHistoricalHeadRow {
	background-color: var( --wp--preset--color--pen-red-new );
	color: var( --wp--preset--color--pen-white );
	border-radius: 0.5rem 0.5rem 0.0rem 0.0rem;

}

#HistoricalDiv.B2iHistoricalContainer #Historical td {
	padding: 1rem !important;

}

#HistoricalDiv.B2iHistoricalContainer #Historical .b2iDataRow td {
	color: var( --wp--preset--color--pen-text-primary );
}

#HistoricalDiv .b2iHistoricalQuote .b2iHistoricalHeadRow td:first-child {
	border-top-left-radius: 0.5rem;
}

#HistoricalDiv .b2iHistoricalQuote .b2iHistoricalHeadRow td:last-child {
	border-top-right-radius: 0.5rem;
}

#HistoricalDiv.B2iHistoricalContainer .b2iHistoricalQuote td.b2iHistoricalHeadCell {
	border:none;
}


/* Temp fix. Update breakpoint when there is time. lulz */

@media (max-width: 600px) {
	/* Let B2i convert table to stacked cards */
	#HistoricalDiv.B2iHistoricalContainer #Historical {
		border-radius: 0;
		width: 100%;
	}

	/* Each data block */
	#HistoricalDiv.B2iHistoricalContainer .b2iDataRow {
		background: #fff;
		border: 1px solid #e5e5e5;
		border-radius: 0.5rem;
		margin-bottom: 1rem;
		box-shadow: 0 1px 3px rgba(0,0,0,0.08);
		padding: 0.5rem 0;
	}

	/* Label cells (“Date”, “Close”, etc.) */
	#HistoricalDiv.B2iHistoricalContainer .b2iHistoricalCell {
		display: flex;
		justify-content: space-between;
		padding: 0.5rem 1rem;
		border-bottom: 1px solid #f0f0f0;
		font-size: 0.95rem;
	}

	#HistoricalDiv.B2iHistoricalContainer .b2iHistoricalCell:last-child {
		border-bottom: none;
	}

	/* Labels */
	#HistoricalDiv.B2iHistoricalContainer .b2iHistoricalCell::before {
		content: attr(data-title);
		font-weight: 600;
		/* color: var(--wp--preset--color--pen-red-new); */
	}

	/* Header row (red bar stays as title) */
	#HistoricalDiv.B2iHistoricalContainer .b2iHistoricalHeadRow {
		display: none; /* hide the desktop header */
	}
}


/*
// B2I Board of Directors - /investors/governance/
*/

#directors-group.B2iDirectorsContainer .DirName {
	font-size: 1.3rem;
}

/*
// B2I Committee Composition - /investors/governance/
*/

#CommDiv.B2iCommitteeContainer #b2iCommTable {
	margin-bottom: 2.5rem;
	border-spacing: 0;
	border-radius: 0.5rem 0.5rem 0 0;
	overflow: hidden;
}

#CommDiv.B2iCommitteeContainer #b2iCommTopRow {
	background-color: var( --wp--preset--color--pen-red-new );
	color: var( --wp--preset--color--pen-white );
	border-radius: 0.5rem 0.5rem 0.0rem 0.0rem;

}

#CommDiv.B2iCommitteeContainer .coltitle {
	padding: 1.0rem 0.0rem 1.0rem 0.0rem;
	font-weight: 700;
	text-align: start;
}

#CommDiv.B2iCommitteeContainer .b2iCommRow .b2iCommitteeIconCell.comm-member.comm-chair,
#CommDiv.B2iCommitteeContainer .b2iCommRow .b2iCommitteeIconCell.comm-member,
#CommitteeIconLegend {
	text-align: left;
}

#CommitteeIconLegend {
	padding-bottom: 4rem;
	display: flex;
}

#CommDiv.B2iCommitteeContainer .b2iCommRow.b2iDirectorTypeRow.b2iDirectorType6 {
	display: none;
}

#CommDiv.B2iCommitteeContainer .b2iCommRow.b2iDirectorRow {
	border-top: 1px solid var( --wp--preset--color--pen-text-primary );
}

/* td.b2iCommitteeIconCell a {
	vertical-align: middle;
	line-height: 1.2;
} */

#b2iCommTable .b2iDirectorRow td:after {
	position: relative;
	top: -16px;
	left: 11px !important;
	display: inline-block;
	vertical-align: middle;
	font-weight: 600;
}

#CommDiv.B2iCommitteeContainer .b2iCommRow .coltitle.CharterLink a {
	text-decoration: none;
}
#CommDiv.B2iCommitteeContainer .b2iCommRow .coltitle.CharterLink a:hover {
	text-decoration: underline;
}

/*
// B2I Governance Documents - /investors/governance/
*/

#ShowDiv434.b2iDocListContainer {

}

#ShowDiv434.b2iDocListContainer .DocItemRow {
	list-style: none;
	margin-bottom: 0 !important;
	padding: 1rem;
	border-radius: 0;
	box-shadow: none;
	/* color: #444444; */
	color: var( --wp--preset--color--pen-text-primary );
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
	border: none;
	border-bottom: 1px solid #e0e0e0;
	text-align: left;
	padding: 16px 24px;
}

#ShowDiv434.b2iDocListContainer .DocItem7.DocItemTitle a[href$=".pdf"]::before{
	margin-left: auto;
	margin-right: 10px;
}

#ShowDiv434.b2iDocListContainer .DocItemRow a {
	display: block;
}

#ShowDiv434.b2iDocListContainer .DocItemRow a:before{
	float: right;
	font-size: 1.4rem;
	color: var( --wp--preset--color--pen-red-new );
}

#ShowDiv434.b2iDocListContainer .DocItemRow .DocItem7 {
	display: unset;
}

#ShowDiv434.b2iDocListContainer .DocItemRow .DocItem7 a {
	color: var( --wp--preset--color--pen-text-primary );
	text-decoration: none;

}

#ShowDiv434.b2iDocListContainer .DocItemRow .DocItem7 a:hover {
	text-decoration: underline;
}


/*
// B2I SEC Filings - /investors/sec-filings/
*/

#demoSecAll.b2iSecContainer {

}

#demoSecAll.b2iSecContainer #b2iSecForm #FilingsLabel, #demoSecAll.b2iSecContainer #b2iSecForm #YearLabel {
	display: none;
}

#demoSecAll.b2iSecContainer table.b2iSECtopSelect  {
	margin-bottom: 1rem;
}

#demoSecAll.b2iSecContainer table.b2iSECtopSelect .b2iSECtopSelectCell2 {
	text-align: left;
}

#demoSecAll.b2iSecContainer table.b2iSECtopSelect #sType.b2iSelect,
#demoSecAll.b2iSecContainer table.b2iSECtopSelect #sYear.b2iSelect {
	border: none;
	border-radius: 0;
	border-bottom: 1px solid var( --wp--preset--color--pen-red-new );
	color: var( --wp--preset--color--pen-red-new );
	font-size: 1.1rem;
}

#demoSecAll.b2iSecContainer table.b2iSECtopSelect #sType.b2iSelect:focus,
#demoSecAll.b2iSecContainer table.b2iSECtopSelect #sYear.b2iSelect:focus {
	box-shadow: none;
}

#demoSecAll.b2iSecContainer table.b2iSECtopSelect #sType.b2iSelect:focus-visible,
#demoSecAll.b2iSecContainer table.b2iSECtopSelect #sYear.b2iSelect:focus-visible {
	outline: -webkit-focus-ring-color auto 1px;
}

#demoSecAll.b2iSecContainer table.b2iSECtopSelect {
	width: 100%;
	table-layout: fixed;
}

#demoSecAll.b2iSecContainer table.b2iSECtopSelect .b2iSECtopSelectCell2 .b2iPrimaryButton.b2iButton.b2iSecSearch {
	/* display: none; */
	position: relative;
	color: #ffffff;
	font-size: 0.8rem !important;
	font-weight: 700;
	background-color: var(--wp--preset--color--pen-red-new);
	border: 0.063rem solid var(--wp--preset--color--pen-red-accent-1);
	border-radius: 1.5rem;
	box-shadow: 0 2px 8px 0 transparent;
	text-decoration: none;
	text-transform: uppercase;
	overflow: hidden;
	padding: 0.5rem 0.75rem;
	font-size: 11px;
	line-height: 20px;
}



#demoSecAll.b2iSecContainer table#b2iSecTop.b2iSECtopTitleTable {
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 0.5rem 0.5rem 0 0;
	overflow: hidden;
}

#demoSecAll.b2iSecContainer table#b2iSecTop.b2iSECtopTitleTable tr.b2iSECTitleRow {
	background-color: var(--wp--preset--color--pen-red-new);
	color: var(--wp--preset--color--pen-white);

}

#demoSecAll.b2iSecContainer table#b2iSecTop.b2iSECtopTitleTable tr.b2iSECDataRow:nth-child(odd) {
	background-color: #f2f2f2;
}

#demoSecAll.b2iSecContainer table#b2iSecTop.b2iSECtopTitleTable tr.b2iSECDataRow td {
	border-bottom: 1px solid var( --wp--preset--color--pen-gray-new );
}


#demoSecAll.b2iSecContainer table#b2iSecTop.b2iSECtopTitleTable tr.b2iSECDataRow .b2iSECDateCell {
	color: var( --wp--preset--color--pen-text-primary );
}

#demoSecAll.b2iSecContainer #b2iSecFilingNav {
	margin-top: 2.0rem;
	color: var( --wp--preset--color--pen-text-primary );
}




/*
//
// Press Releases - END
//
*/


/*
//
// Forms - START - In assets/styles/custom-gravity-forms.css
//
*/

/* .gfield {
	position: relative !important;
}

.gform_fields .gfield label {
	position: absolute;
	top: -0.625rem;
	left: 0.5rem;
	background: #fff !important;
	padding-left: 0.25rem !important;
	padding-right: 0.25rem !important;
	margin-bottom: 0 !important;
	text-transform: none !important;
	display: block;
	font-size: 14px !important;
	font-weight: 300 !important;
	letter-spacing: 1px;
}

.gfield_label .gfield_required {
	margin-left: 2px;
	font-style: italic;
}


.gform_fields .gfield input:not([type="checkbox"]):not([type="radio"]) {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0.5rem 0.75rem;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 300;
	border: 1px solid rgba(34, 40, 51, 0.5);
	border-radius: 0.5rem;
	box-sizing: border-box;
}

.gform_fields .gfield input::placeholder {
	color: transparent !important;
}

.gform_fields .gfield select {
	text-indent: 0.01px;
	border: 1px solid rgba(34, 40, 51, 0.5);
	border-radius: 0.5rem;
}


.gform_fields .gfield .gfield_checkbox .gchoice {
	display: flex;
	align-items: center;
}

.gform_fields .gfield .gfield_checkbox label {
	position: relative;
	top: 0;
	left: 0;
}

.gform_footer input[type="submit"] {
	display: inline-block;
	position: relative;
	overflow: hidden;
	margin: 0;
	padding: 1rem 1.5rem 1.063rem;
	box-sizing: border-box;
	background: var( --wp--preset--color--pen-red-accent-2 ) !important;
	font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
	color: #fff;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
	border: 1.0px solid  var( --wp--preset--color--pen-red-accent-1 ) !important;
	border-radius: 1.5rem !important;
	box-shadow: 0 2px 8px 0 transparent;
	transform: translateY(0);
	transition: color 0.2s ease-in-out, border 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.gform_fields .ginput_container_textarea textarea::placeholder {
	color: var( --wp--preset--color--pen-gray-text-01 );
}

.gfield_label.gform-field-label {
	z-index: 9999;
	background: #fff !important;
	padding-left: 0.25rem !important;
	padding-right: 0.25rem !important;
	margin-bottom: 0 !important;
	text-transform: none !important;
	display: block;
	font-size: 14px !important;
	font-weight: 300 !important;
	letter-spacing: 1px;
}

.gform_drop_area.gform-theme-field-control {
	background-color: var( --wp--preset--color--pen-gray-01 ) !important;
}

button.gform_button_select_files {
	background-color: var( --wp--preset--color--pen-red-new ) !important;
	border-radius: 2rem !important;
}

legend.gfield_label.gform-field-label.gfield_label_before_complex {
	padding-bottom: 1rem;
}

.gform-theme--framework .gfield:where(.gfield--type-fileupload,.gfield--input-type-fileupload) .gform_drop_area::before {
	color: var( --wp--preset--color--pen-red-new ) !important;
}

.gform-theme--framework .gfield:where(.gfield--type-fileupload,.gfield--input-type-fileupload) .ginput_preview .gfield_fileupload_progressbar_progress {
	background-color: var( --wp--preset--color--pen-red-new ) !important;
} */

/*
//
// Forms - END
//
*/



/*
//
// Cases - START
//
*/

.pen-cases-gallery-container li {
	display: block;
}

.pen-cases-gallery {
	display: grid;
	grid-template-columns: 1fr;
	/* grid-template-columns: repeat(4, 1fr); */
	gap: 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pen-cases-gallery img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 10px 10px 0 0;
}

.pen-cases-image-caption p {
	margin-top: 0px !important;
	margin-bottom: 0px !important;
	padding: 1rem 0rem;
}

.pen-cases-preheadline {
	color: var( --wp--preset--color--pen-red-new );
	font-size: 1.1rem;
	font-weight: 500;
}

.pen-cases-post-title {
	margin-top: 0px !important;
}

.pen-cases-subtitle {
	font-size: 1.5rem;
	line-height: 26px;
	color: var( --wp--preset--color--pen-gray-text-01 );
	font-weight: 600;
	letter-spacing: 1px;
}

.pen-cases-doctors {
	font-size: 1.5rem;
	line-height: 1.3333333333;
	font-weight: 600;
	color: var( --wp--preset--color--pen-text-primary );
	margin-top: 10px !important;
}

.pen-cases-location {
	font-size: 1.5rem;
	line-height: 1.3333333333;
	font-weight: 500;
	color: var( --wp--preset--color--pen-text-primary );
	margin-top: 5px !important;
	padding-bottom: 4rem;
}


/*
//
// Cases - END
//
*/

/*
//
// Patterns - START
//
*/

.submit-a-case {
	padding: 2.0rem;
	border-radius: 0.5rem;
	cursor: pointer;
}

.submit-a-case .wp-block-buttons {
	padding-right: 5rem;
}

.pen-stretched-link:hover .wp-block-button.is-style-style-three a::after {
	transform: translateX( 0.3rem );
}

.wp-block-cover.pen-stretched-link-cover { position: relative; }
.wp-block-cover.pen-stretched-link-cover .pen-stretched-link{
	position: absolute; inset: 0; z-index: 2; display: block; cursor: pointer;
}
.wp-block-cover.pen-stretched-link-cover .wp-block-cover__inner-container{
	position: relative; z-index: 1;
}

.pen-stretched-link-cover .pen-stretched-link:hover
~ .wp-block-cover__inner-container
	.wp-block-button.is-style-style-three .wp-block-button__link::after{
	transform: translateX( 0.3rem );
}

/*
//
// Patterns - END
//
*/




/*
//
// Footer - START
//
*/

.site-footer {
	background-image: url( ./assets/images/flowDark.webp );
	background-size: cover;
	background-position: center center;
	background-color: black;
	margin-top: 0 !important;
}

.site-footer .wp-block-heading, .site-footer p {
	color: white !important;
}

.nav_footer {
	font-size: var( --wp--preset--font-size--medium );
	font-weight: 400;
	
}

.nav_footer .wp-block-navigation__container {
	letter-spacing: 0.0px !important;
}

/* Per-column lists inside walker-built navs (valid list semantics) */
.pen-footer-col-list,
.pen-nav-col-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Stacked red buttons lost the column flow gap when wrapped in <li> */
.pen-nav-col-list > .pen-nav-btn-item + .pen-nav-btn-item {
	margin-top: 40px;
}

.nav_footer .menu-item {
	margin-top: 0.4rem;
}

.nav_footer a:hover {
	text-decoration: underline;
}

.nav_footer h6 {
	margin-top: 0.2rem;
	margin-bottom: 0.7rem;
}

.nav_footer h6:hover {
	color: var( --wp--preset--color-pen-white );
}

form#gform_6 {

}

#gform_wrapper_6 .gform_heading {
	display: none;
}

form#gform_6 #input_6_3 {
	border-radius: 1.5rem;
	padding-top: 0.7rem !important;
	padding-bottom: 0.7rem !important;
	height: 48px;
}

form#gform_6 #gform_submit_button_6 {
	height: 48px;
	bottom: 72px;
	display: inline-block;
	position: relative;
	overflow: hidden;
	margin: 0;
	padding: 1rem 1.5rem 1.063rem;
	box-sizing: border-box;
	background: #ae131e;
	font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
	color: #fff;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
	border: 0.063rem solid #d31422;
	border-radius: 1.5rem;
	box-shadow: 0 2px 8px 0 transparent;
	transform: translateY(0);
	transition: color 0.2s ease-in-out, border 0.2s ease-in-out, box-shadow 0.2s ease-in-out;


}

footer .gform-footer.gform_footer.top_label {
	justify-content: flex-end;
}

svg.svg-gray {
	transition: 200ms ease-in-out;
}

.svg-gray path {
	fill: var( --wp--preset--color--pen-text-primary );
	transition: fill 200ms ease-in-out;
}

a:hover svg.svg-gray path {
	fill: var( --wp--preset--color--pen-red-new );
}

.footer-social a:not(:first-child) {
	margin-left: 5px;
}

.footer-social-icon-circle-white {
	display: inline-flex;
	background-color: #ffffff;
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	height: 24px;
	width: 24px;
	padding: 5px;
}

.nav_footer {
	justify-content: left !important;
}

.nav_footer .wp-block-column {
	min-width: 140px;
}

/*
//
// Footer - END
//
*/





/*
//
// Utilities - START
//
*/

.fs-6 {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	text-transform: uppercase;
}

h2.wp-block-heading.red-dash-before {
	position: relative;
}

.red-dash-before::before {
	content: "";
	display: block;
	/* background-color: var( --wp--preset--color--pen-red-dark ); */
	background-color: var( --wp--preset--color--pen-red-new );
	height: 1px;
	width: 25px;
	position: absolute;
	top: 25%;
	left: -40px;
}

.ml-auto {
	margin-left: auto !important;
}

.mr-auto {
	margin-right: auto !important;
}

.mt-none {
	margin-top: 0px !important;
}

.mb-none {
	margin-bottom: 0px !important;
}

.ml-none, .ml-none a {
	margin-left: 0px !important;
}

.mr-none {
	margin-right: 0px !important;
}

.pl-none, .pl-none a {
	padding-left: 0px !important;
}

.pt-none, .pt-none a {
	padding-top: 0px !important;
}

.pb-none, .pb-none a {
	padding-bottom: 0px !important;
}

.pr-none, .pr-none a {
	padding-right: 0px !important;
}



.avoidwrap {
	white-space: nowrap !important;
	white-space-collapse: preserve !important;
}

.pen-d-none {
	display: none;
}

.pen-d-sm-none {
	display: none;
}

.pen-d-lg-none {
	display: block;
}

.pen-d-block {
	display: block;
}

.pen-d-flex {
	display: flex;
}

.pen-bold {
	font-weight: 700;
}

.pen-mb-one-line {
	margin-bottom: 1.5rem;
}

.is-visible-block {
	display: block;
}

.is-visible-flex {
	display: flex;
}

.not-visible {
	display: none;
}

.is-hidden {
	display:none !important;
}

.shadow {
	box-shadow: 3px 6px 16px 0 #44444433;
	transition:  200ms ease-in-out;
}

.shadow:hover {
	box-shadow: 0 0 1rem #44444433;
}

.shadow-link {
	display: block;
	box-shadow: 3px 6px 16px 0 #44444433;
	transition:  200ms ease-in-out;
	border-radius: 0.5rem;
	padding: 2rem;
	background: #fff;
	text-decoration: none !important;
	color: inherit;
}

.shadow-link:hover {
	box-shadow: 0 0 1rem #44444433;
	transform: translate(0, -0.125rem);
}

.shadow-link:hover .card-link-arrow {
	transform: translateX( 5px );
}

.shadow-no-link {
	display: block;
	box-shadow: 3px 6px 16px 0 #44444433;
	transition:  200ms ease-in-out;
	border-radius: 0.5rem;
	padding: 2rem;
	background: #fff;
	text-decoration: none !important;
	color: inherit;
}

.shadow-no-link:hover {
	box-shadow: 0 0 1rem #44444433;
	transform: translate(0, -0.125rem);
}

.shadow-no-link-no-hover {
	display: block;
	box-shadow: 3px 6px 16px 0 #44444433;
	transition:  200ms ease-in-out;
	border-radius: 0.5rem;
	padding: 2rem;
	background: #fff;
	text-decoration: none !important;
	color: inherit;
}

.pen-height-min-40 {
	min-height: 40px;
}

.pen-height-500 {
	/* max-height: 500px; */
	width: fit-content;
	max-width: 750px;
	overflow: hidden;
}

.pen-height-500 img {
	display: block;
	max-width: 100%;
	height: auto;
}

.is-position-sticky {
	position: sticky !important;
	top: 0px;
	z-index: 1;
}

.pen-link-underlined {
	text-decoration: underline;
}

.pen-link-underlined:hover {
	text-decoration: none;
}

/* !important beats .link-no-underline's forced reset (e.g. footer links group) */
.pen-link-hover-underline, .pen-link-hover-underline a {
	text-decoration: none !important;
}

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

/* .pen-sticky-top {
	position: sticky;
	top: 40px;
	z-index: 1;
	background: inherit;
}

.pen-sticky-ancestor {
	overflow: visible !important;
	contain: none !important;

} */


.card-link-arrow {
	fill: var( --wp--preset--color--pen-red-new );
	display: inline-block;
	transition: transform 0.2s ease-in-out;
	position: relative;
	top: 2px;
	left: 5px;
}

.card-link:hover .card-link-arrow {
	transform: translateX( 5px );
}

.pen-card {
	cursor: pointer;
	position: relative;
}

.pen-card:hover {
	transform: translateY( -0.3rem );
}

.pen-card .wp-block-button,
.pen-card .wp-block-pen30-lightbox-button {
	position: relative;
	z-index: 2;
}

.pen-card:hover .wp-block-button.is-style-style-three a::after,
.pen-card:hover .wp-block-pen30-lightbox-button .right-arrow-icon {
	transform: translateX( 0.3rem );
}

.pen-stretched-link {
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
}

@media (max-width: 782px) {
	.columns-flip-on-mobile {
		display: flex;
		flex-direction: column-reverse !important;
		flex-wrap: nowrap !important;
	}

	.columns-flip-on-mobile > .wp-block-column {
		flex-basis: 100% !important;
	}
}

@media (min-width: 783px) {
	.columns-flip-on-mobile {
		flex-direction: row !important;
	}
}

.tr-bl-curves, .tr-bl-curves img {
	border-top-right-radius: 3rem;
	border-bottom-left-radius: 3rem;
}

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

.flex-column-row {
	flex-direction: column;
}

.flex-row-column {
	flex-direction: row;
}

input::placeholder {
	color: var( --wp--preset--color--pen-gray-text-01 ) !important;
}

.pen-content-justification-center {
	justify-content: center !important;
}

.pen-curve-top {
	border-radius: 10px 10px 0 0;
}

.pen-curve-bottom {
	border-radius: 0 0 10px 10px;
}

.pen-red-short-line-under {
	position: relative;
	display: block;

}

.pen-red-short-line-under::after {
	content: "";
	display: block;
	width: 70px;
	height: 3px;
	background-color: var( --wp--preset--color--pen-red-new );
	margin: 1.8rem auto 0;
}

.wp-block-group figure.wp-block-image.pen-icon-no-shrink {
	flex-shrink: 0 !important;
}

.wp-block-group figure.wp-block-image.pen-icon-no-shrink img {
	width: 20px !important;
	height: 20px;
	object-fit: cover;
}
.wp-block-group figure.wp-block-image.pen-icon-no-shrink img {
	max-width: none !important;
}

.pen-icon-before-document {
	padding: 0.1rem 0.1rem 0.1rem 0.1rem;
	margin: 0.1rem 0.1rem 0.1rem 0.1rem !important;
}
.pen-icon-before-document::before {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	margin: 0.5rem 0.5rem 0.0rem 0.5rem;
	padding: 0.1rem 0.1rem 0.0rem 0.1rem;
	background-color: var( --wp--preset--color--pen-white );
	-webkit-mask: url("/wp-content/themes/penumbra-inc-3-0/assets/images/svg/document.svg") no-repeat center;
	-webkit-mask-size: contain;
	mask: url("/wp-content/themes/penumbra-inc-3-0/assets/images/svg/document.svg") no-repeat center;
	mask-size: contain;
}

.pen-uppercase {
	text-transform: uppercase !important;
}

/* The hero cover */
.cover-hero-shorter-than-content {
	position: relative;
	z-index: 1;
}

/* The card row that overhangs the cover */
.cards-overhang {
	position: relative !important;
	z-index: 2;
	margin-top: -31.5rem;
}

.pen-bold-600, .pen-bold-600 legend.gfield_label.gform-field-label.gfield_label_before_complex {
	font-weight: 600 !important;
}






/* Focus: Drop Down Filters */
.wp-block-query-filter .wp-block-query-filter__select:focus-visible {
	outline: 3px auto -webkit-focus-ring-color;
	outline-offset: 2px;
}

.wp-block-query-filter .wp-block-query-filter__select {
	outline: revert-layer;
}


.wp-block-separator.is-style-default {
	border-top: 1px solid;
	border-color: var( --wp--preset--color--pen-gray-text-01 );
}

/* Focus: end */


.pen-simple-page-nav {
	align-items: start;
	padding: 0 0.5rem;
}

/* .pen-image-pop-up {
	position: relative;
	display: inline-block;
	transform: translateY(-20px);

} */

/* Product Page hero image bleed - start */
.pen-hero-clip {
	position: relative;
	overflow: clip;
	isolation: isolate;
}

.pen-hero-bleed {
	position: relative;
	overflow: visible;
	isolation: isolate;
}
.pen-hero-bleed .wp-block-cover__background, .pen-hero-clip .wp-block-cover__background {
	z-index: 0 !important;
}
.pen-hero-bleed .wp-block-cover__inner-container, .pen-hero-clip .wp-block-cover__inner-container {
	position: relative;
	z-index: 1;
}
.pen-hero-pop {
	position: relative;
	filter: drop-shadow( 0 20px 40px rgba (0,0,0,0.25 ) );
	top: -70px;                 /* or whatever lift you want */
	margin-bottom: -70px !important;
	display: block;
}

.pen-hero-contain {
	padding-top: 0px;
	padding-bottom: 0px;
}

/* Product hero image collection — image fills full container height */
/* 1. Cover stretches its inner container to full height (overrides WP default align-items:center) */
.wp-block-cover:has(.pen-product-hero-image-01) {
	align-items: stretch !important;
	overflow: hidden;
}

/* 2. Inner container becomes flex-column so children can grow to fill it */
.wp-block-cover:has(.pen-product-hero-image-01) > .wp-block-cover__inner-container {
	display: flex !important;
	flex-direction: column !important;
}

/* 3. Nested cover or columns grow to fill the inner container */
.wp-block-cover:has(.pen-product-hero-image-01) > .wp-block-cover__inner-container > * {
	flex: 1 1 0% !important;
	width: 100% !important;
}

/* 4. Columns stretches both columns to equal height */
.wp-block-cover:has(.pen-product-hero-image-01) .wp-block-columns {
	align-items: stretch !important;
}

/* 5. Image column becomes a flex container */
.wp-block-column:has(> .pen-product-hero-image-01) {
	display: flex !important;
	flex-direction: column !important;
}

/* 6. Figure fills the column */
figure.wp-block-image.pen-product-hero-image-01 {
	flex: 1 1 0% !important;
	min-height: 0 !important;
	margin: 0 !important;
	overflow: hidden;
	position: relative;
}

/* 7. Image covers the figure */
figure.wp-block-image.pen-product-hero-image-01 > img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	aspect-ratio: unset !important;
}

/* 8. Mobile reset — undo all overrides when columns stack */
@media (max-width: 1099px) {
	.wp-block-cover:has(.pen-product-hero-image-01) {
		align-items: center !important;
	}

	.wp-block-cover:has(.pen-product-hero-image-01) > .wp-block-cover__inner-container {
		display: block !important;
	}

	.wp-block-cover:has(.pen-product-hero-image-01) > .wp-block-cover__inner-container > * {
		flex: none !important;
		width: auto !important;
	}

	.wp-block-cover:has(.pen-product-hero-image-01) .wp-block-columns {
		align-items: initial !important;
		flex-direction: column-reverse !important;
		flex-wrap: nowrap !important;
	}

	.wp-block-column:has(> .pen-product-hero-image-01) {
		display: block !important;
	}

	figure.wp-block-image.pen-product-hero-image-01 {
		position: static !important;
		flex: none !important;
		height: auto !important;
	}

	figure.wp-block-image.pen-product-hero-image-01 > img {
		position: static !important;
		inset: auto !important;
		aspect-ratio: 3/2 !important;
	}
}

/* If a parent column/group is clipping, unclip it too */
/* .pen-hero-bleed .wp-block-columns,
.pen-hero-bleed .wp-block-column {
	overflow: visible;
} */

/* Product hero image 02 — image pops above cover, border-radius preserved */
/* Cover stays overflow-visible so image can exceed the top edge */
.wp-block-cover:has(.pen-product-hero-image-02) {
	overflow: visible;
}

/* Background overlay & bg image inherit the cover's border-radius */
.wp-block-cover:has(.pen-product-hero-image-02) > .wp-block-cover__background {
	border-radius: inherit;
}

.wp-block-cover:has(.pen-product-hero-image-02) > .wp-block-cover__image-background {
	border-radius: inherit;
}

/* Columns stretch full height so the text column drives cover height */
.wp-block-cover:has(.pen-product-hero-image-02) .wp-block-columns {
	align-items: stretch !important;
}

/* Image column: positioning context, allow overflow */
.wp-block-column:has(> .pen-product-hero-image-02) {
	position: relative;
	overflow: visible;
}

/* Figure: pin to bottom-right of column — image overflows upward naturally */
figure.wp-block-image.pen-product-hero-image-02 {
	position: absolute;
	bottom: 0;
	right: 0;
	margin: 0 !important;
	line-height: 0;
	max-width: 100%;
}

/* Image: natural height from aspect ratio determines overflow amount */
figure.wp-block-image.pen-product-hero-image-02 > img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* Mobile reset — stack normally, no overflow */
@media (max-width: 1099px) {
	.wp-block-cover:has(.pen-product-hero-image-02) .wp-block-columns {
		align-items: initial !important;
		flex-direction: column-reverse !important;
		flex-wrap: nowrap !important;
		/* justify-content: flex-end !important; */
	}

	.wp-block-column:has(> .pen-product-hero-image-02) {
		position: static;
	}

	figure.wp-block-image.pen-product-hero-image-02 {
		position: static;
	}

	figure.wp-block-image.pen-product-hero-image-02 > img {
		aspect-ratio: 3/2;
		object-fit: cover;
	}
}
/* Product hero image 02 - end */

/* Product hero image 03 - start */
/* Same as 02 but caps image height above 1200px to prevent tertiary-nav clipping */
.wp-block-cover:has(.pen-product-hero-image-03) {
	overflow: visible;
}

.wp-block-cover:has(.pen-product-hero-image-03) > .wp-block-cover__background {
	border-radius: inherit;
}

.wp-block-cover:has(.pen-product-hero-image-03) > .wp-block-cover__image-background {
	border-radius: inherit;
}

.wp-block-cover:has(.pen-product-hero-image-03) .wp-block-columns {
	align-items: stretch !important;
}

.wp-block-column:has(> .pen-product-hero-image-03) {
	position: relative;
	overflow: visible;
}

figure.wp-block-image.pen-product-hero-image-03 {
	position: absolute;
	bottom: 0;
	right: 0;
	margin: 0 !important;
	line-height: 0;
	max-width: 100%;
}

figure.wp-block-image.pen-product-hero-image-03 > img {
	display: block;
	max-width: 100%;
	height: auto;
}

@media (max-width: 1099px) {
	.wp-block-cover:has(.pen-product-hero-image-03) .wp-block-columns {
		align-items: initial !important;
		flex-direction: column-reverse !important;
		flex-wrap: nowrap !important;
	}

	.wp-block-column:has(> .pen-product-hero-image-03) {
		position: static;
	}

	figure.wp-block-image.pen-product-hero-image-03 {
		position: static;
	}

	figure.wp-block-image.pen-product-hero-image-03 > img {
		aspect-ratio: 3/2;
		object-fit: cover;
	}
}
/* Product hero image 03 - end */

/* Product hero image 04 - start */
/* Same as 03 but caps image height at 400px */
.wp-block-cover:has(.pen-product-hero-image-04) {
	overflow: visible;
}

.wp-block-cover:has(.pen-product-hero-image-04) > .wp-block-cover__background {
	border-radius: inherit;
}

.wp-block-cover:has(.pen-product-hero-image-04) > .wp-block-cover__image-background {
	border-radius: inherit;
}

.wp-block-cover:has(.pen-product-hero-image-04) .wp-block-columns {
	align-items: stretch !important;
}

.wp-block-column:has(> .pen-product-hero-image-04) {
	position: relative;
	overflow: visible;
}

figure.wp-block-image.pen-product-hero-image-04 {
	position: absolute;
	bottom: 0;
	right: 0;
	margin: 0 !important;
	line-height: 0;
	max-width: 100%;
}

figure.wp-block-image.pen-product-hero-image-04 > img {
	display: block;
	max-width: 100%;
	height: auto;
}

@media (max-width: 1099px) {
	.wp-block-cover:has(.pen-product-hero-image-04) .wp-block-columns {
		align-items: initial !important;
		flex-direction: column-reverse !important;
		flex-wrap: nowrap !important;
	}

	.wp-block-column:has(> .pen-product-hero-image-04) {
		position: static;
	}

	figure.wp-block-image.pen-product-hero-image-04 {
		position: static;
	}

	figure.wp-block-image.pen-product-hero-image-04 > img {
		aspect-ratio: 3/2;
		object-fit: cover;
	}
}
/* Product hero image 04 - end */

/* Product hero — .pen-hero-pop tablet reset (scoped to single product pages) */
@media (max-width: 1099px) {
	.pen-single-product .wp-block-cover:has(.pen-hero-pop) .wp-block-columns {
		align-items: initial !important;
		flex-direction: column-reverse !important;
		flex-wrap: nowrap !important;
	}

	.pen-single-product .wp-block-cover:has(.pen-hero-pop) .wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
		flex-grow: 0 !important;
	}

	.pen-single-product .wp-block-column:has(> .pen-hero-pop) {
		position: static;
	}

	.pen-single-product .pen-hero-pop {
		top: 0;
		margin-bottom: 0 !important;
	}
}
/* Product hero — .pen-hero-pop tablet reset - end */

/* Product hero — generic hero tablet reset (no special class, scoped to first cover) */
@media (max-width: 1099px) {
	.pen-single-product > .wp-block-cover:first-child .wp-block-columns.columns-flip-on-mobile,
	.pen-single-therapies-conditions .wp-block-post-content > .wp-block-cover:first-child .wp-block-columns.columns-flip-on-mobile,
	.single-clinical_evidence .wp-block-post-content > .wp-block-cover:first-child .wp-block-columns.columns-flip-on-mobile {
		align-items: initial !important;
		flex-direction: column-reverse !important;
		flex-wrap: nowrap !important;
	}

	.pen-single-product > .wp-block-cover:first-child .wp-block-columns.columns-flip-on-mobile > .wp-block-column,
	.pen-single-therapies-conditions .wp-block-post-content > .wp-block-cover:first-child .wp-block-columns.columns-flip-on-mobile > .wp-block-column,
	.single-clinical_evidence .wp-block-post-content > .wp-block-cover:first-child .wp-block-columns.columns-flip-on-mobile > .wp-block-column {
		flex-basis: 100% !important;
		flex-grow: 0 !important;
	}
}
/* Product hero — generic hero tablet reset - end */

/* Product Page hero image bleed - end */

/* Blog featured image overlap into content cover - start */
.pen-blog-hero-img {
	position: relative !important;
	z-index: 2 !important;
	max-width: 900px !important;
	width: 100% !important;
	box-sizing: border-box;
	margin-bottom: calc(clamp(200px, 25vw, 350px) * -1) !important;
}

@media (max-width: 599px) {
	.pen-blog-hero-img {
		padding-left: var(--wp--preset--spacing--mobile-gutters) !important;
		padding-right: var(--wp--preset--spacing--mobile-gutters) !important;
	}
}

.pen-blog-content-cover {
	position: relative !important;
	z-index: 1 !important;
	padding-top: calc(clamp(200px, 25vw, 350px) + var(--wp--preset--spacing--60)) !important;
}

.wp-block-group:has(+ .pen-blog-hero-img) {
	position: relative !important;
	z-index: 3 !important;
}
/* Blog featured image overlap into content cover - end */

table.real-system-table {
	/* border: 1px solid black; */
	width: 100% !important;
	margin-bottom: 2.5rem;
	border-spacing: 0;
	border-collapse: collapse;
}

table.real-system-table thead {
	border-bottom: 3px solid;
}

table.real-system-table th {
	vertical-align: inherit;
	text-align: left;
	font-weight: 700;
	padding: 0.5rem 0.75rem;
	border: 0.063rem solid #444444;
	background-color: transparent;
}

table.real-system-table td {
	vertical-align: inherit;
	text-align: left;
	padding: 0.25rem 0.75rem;
	border: 0.063rem solid #444444;
}

/* Hero image fill height — stretches an image to fill its cover column */
.wp-block-cover:has(.pen-hero-image-fill-height) {
	align-items: stretch;
}

.wp-block-cover:has(.pen-hero-image-fill-height) .wp-block-columns {
	height: 100%;
}

.wp-block-column:has(> .pen-hero-image-fill-height) {
	display: flex;
	flex-direction: column;
}

figure.wp-block-image.pen-hero-image-fill-height {
	flex: 1 1 auto;
	margin: 0 !important;
}

figure.wp-block-image.pen-hero-image-fill-height > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	aspect-ratio: unset !important;
}

.pen-text-shadow {
	text-shadow: 1px 1px 2px var(--wp--preset--color--pen-gray-new);
}

/* Text: left on desktop, centered on tablet / mobile (matches has-text-align-left / -center) */
.pen-text-desk-left-mobile-center {
	text-align: center;
}

@media (min-width: 992px) {
	.pen-text-desk-left-mobile-center {
		text-align: left;
	}
}

.pen-pt-60-lg {
	padding-top: 0;
}

.pen-d-1000 {
	display: none;
}

.pen-d-1100 {
	display: none;
}

.pen-d-xl {
	display: none;
}

.pen-d-1200 {
	display: none;
}

.pen-d-1300 {
	display: none;
}

.pen-d-xxl {
	display: none;
}

.pen-d-1400 {
	display: none;
}

.pen-d-1500 {
	display: none;
}

.pen-d-1600 {
	display: none;
}

.pen-neg-m-0-5-rem {
	margin-top: -0.5rem !important;
}

.pen-neg-m-1-5-rem {
	margin-top: -1.5rem !important;
}

/* pen-m{t/b/l/r}-{0-2}-{0/5}-rem */
.pen-mt-0-0-rem { margin-top: 0rem !important; }
.pen-mt-0-5-rem { margin-top: 0.5rem !important; }
.pen-mt-1-0-rem { margin-top: 1rem !important; }
.pen-mt-1-5-rem { margin-top: 1.5rem !important; }
.pen-mt-2-0-rem { margin-top: 2rem !important; }
.pen-mt-2-5-rem { margin-top: 2.5rem !important; }
.pen-mt-3-0-rem { margin-top: 3rem !important; }
.pen-mt-3-5-rem { margin-top: 3.5rem !important; }
.pen-mt-4-0-rem { margin-top: 4rem !important; }
.pen-mt-4-5-rem { margin-top: 4.5rem !important; }
.pen-mt-5-0-rem { margin-top: 5rem !important; }

.pen-mb-0-0-rem { margin-bottom: 0rem !important; }
.pen-mb-0-5-rem { margin-bottom: 0.5rem !important; }
.pen-mb-1-0-rem { margin-bottom: 1rem !important; }
.pen-mb-1-5-rem { margin-bottom: 1.5rem !important; }
.pen-mb-2-0-rem { margin-bottom: 2rem !important; }
.pen-mb-2-5-rem { margin-bottom: 2.5rem !important; }
.pen-mb-3-0-rem { margin-bottom: 3rem !important; }
.pen-mb-3-5-rem { margin-bottom: 3.5rem !important; }
.pen-mb-4-0-rem { margin-bottom: 4rem !important; }
.pen-mb-4-5-rem { margin-bottom: 4.5rem !important; }
.pen-mb-5-0-rem { margin-bottom: 5rem !important; }

.pen-ml-0-0-rem { margin-left: 0rem !important; }
.pen-ml-0-5-rem { margin-left: 0.5rem !important; }
.pen-ml-1-0-rem { margin-left: 1rem !important; }
.pen-ml-1-5-rem { margin-left: 1.5rem !important; }
.pen-ml-2-0-rem { margin-left: 2rem !important; }
.pen-ml-2-5-rem { margin-left: 2.5rem !important; }
.pen-ml-3-0-rem { margin-left: 3rem !important; }
.pen-ml-3-5-rem { margin-left: 3.5rem !important; }
.pen-ml-4-0-rem { margin-left: 4rem !important; }
.pen-ml-4-5-rem { margin-left: 4.5rem !important; }
.pen-ml-5-0-rem { margin-left: 5rem !important; }

.pen-mr-0-0-rem { margin-right: 0rem !important; }
.pen-mr-0-5-rem { margin-right: 0.5rem !important; }
.pen-mr-1-0-rem { margin-right: 1rem !important; }
.pen-mr-1-5-rem { margin-right: 1.5rem !important; }
.pen-mr-2-0-rem { margin-right: 2rem !important; }
.pen-mr-2-5-rem { margin-right: 2.5rem !important; }
.pen-mr-3-0-rem { margin-right: 3rem !important; }
.pen-mr-3-5-rem { margin-right: 3.5rem !important; }
.pen-mr-4-0-rem { margin-right: 4rem !important; }
.pen-mr-4-5-rem { margin-right: 4.5rem !important; }
.pen-mr-5-0-rem { margin-right: 5rem !important; }

/* pen-p{t/b/l/r}-{0-2}-{0/5}-rem */
.pen-pt-0-0-rem { padding-top: 0rem !important; }
.pen-pt-0-5-rem { padding-top: 0.5rem !important; }
.pen-pt-1-0-rem { padding-top: 1rem !important; }
.pen-pt-1-5-rem { padding-top: 1.5rem !important; }
.pen-pt-2-0-rem { padding-top: 2rem !important; }
.pen-pt-2-5-rem { padding-top: 2.5rem !important; }
.pen-pt-3-0-rem { padding-top: 3rem !important; }
.pen-pt-3-5-rem { padding-top: 3.5rem !important; }
.pen-pt-4-0-rem { padding-top: 4rem !important; }
.pen-pt-4-5-rem { padding-top: 4.5rem !important; }
.pen-pt-5-0-rem { padding-top: 5rem !important; }

.pen-pb-0-0-rem { padding-bottom: 0rem !important; }
.pen-pb-0-5-rem { padding-bottom: 0.5rem !important; }
.pen-pb-1-0-rem { padding-bottom: 1rem !important; }
.pen-pb-1-5-rem { padding-bottom: 1.5rem !important; }
.pen-pb-2-0-rem { padding-bottom: 2rem !important; }
.pen-pb-2-5-rem { padding-bottom: 2.5rem !important; }
.pen-pb-3-0-rem { padding-bottom: 3rem !important; }
.pen-pb-3-5-rem { padding-bottom: 3.5rem !important; }
.pen-pb-4-0-rem { padding-bottom: 4rem !important; }
.pen-pb-4-5-rem { padding-bottom: 4.5rem !important; }
.pen-pb-5-0-rem { padding-bottom: 5rem !important; }

.pen-pl-0-0-rem { padding-left: 0rem !important; }
.pen-pl-0-5-rem { padding-left: 0.5rem !important; }
.pen-pl-1-0-rem { padding-left: 1rem !important; }
.pen-pl-1-5-rem { padding-left: 1.5rem !important; }
.pen-pl-2-0-rem { padding-left: 2rem !important; }
.pen-pl-2-5-rem { padding-left: 2.5rem !important; }
.pen-pl-3-0-rem { padding-left: 3rem !important; }
.pen-pl-3-5-rem { padding-left: 3.5rem !important; }
.pen-pl-4-0-rem { padding-left: 4rem !important; }
.pen-pl-4-5-rem { padding-left: 4.5rem !important; }
.pen-pl-5-0-rem { padding-left: 5rem !important; }

.pen-pr-0-0-rem { padding-right: 0rem !important; }
.pen-pr-0-5-rem { padding-right: 0.5rem !important; }
.pen-pr-1-0-rem { padding-right: 1rem !important; }
.pen-pr-1-5-rem { padding-right: 1.5rem !important; }
.pen-pr-2-0-rem { padding-right: 2rem !important; }
.pen-pr-2-5-rem { padding-right: 2.5rem !important; }
.pen-pr-3-0-rem { padding-right: 3rem !important; }
.pen-pr-3-5-rem { padding-right: 3.5rem !important; }
.pen-pr-4-0-rem { padding-right: 4rem !important; }
.pen-pr-4-5-rem { padding-right: 4.5rem !important; }
.pen-pr-5-0-rem { padding-right: 5rem !important; }

/* pen-m{x/y}-{0-2}-{0/5}-rem */
.pen-mx-0-0-rem { margin-left: 0rem !important; margin-right: 0rem !important; }
.pen-mx-0-5-rem { margin-left: 0.5rem !important; margin-right: 0.5rem !important; }
.pen-mx-1-0-rem { margin-left: 1rem !important; margin-right: 1rem !important; }
.pen-mx-1-5-rem { margin-left: 1.5rem !important; margin-right: 1.5rem !important; }
.pen-mx-2-0-rem { margin-left: 2rem !important; margin-right: 2rem !important; }
.pen-mx-2-5-rem { margin-left: 2.5rem !important; margin-right: 2.5rem !important; }
.pen-mx-3-0-rem { margin-left: 3rem !important; margin-right: 3rem !important; }
.pen-mx-3-5-rem { margin-left: 3.5rem !important; margin-right: 3.5rem !important; }
.pen-mx-4-0-rem { margin-left: 4rem !important; margin-right: 4rem !important; }
.pen-mx-4-5-rem { margin-left: 4.5rem !important; margin-right: 4.5rem !important; }
.pen-mx-5-0-rem { margin-left: 5rem !important; margin-right: 5rem !important; }

.pen-my-0-0-rem { margin-top: 0rem !important; margin-bottom: 0rem !important; }
.pen-my-0-5-rem { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; }
.pen-my-1-0-rem { margin-top: 1rem !important; margin-bottom: 1rem !important; }
.pen-my-1-5-rem { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
.pen-my-2-0-rem { margin-top: 2rem !important; margin-bottom: 2rem !important; }
.pen-my-2-5-rem { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; }
.pen-my-3-0-rem { margin-top: 3rem !important; margin-bottom: 3rem !important; }
.pen-my-3-5-rem { margin-top: 3.5rem !important; margin-bottom: 3.5rem !important; }
.pen-my-4-0-rem { margin-top: 4rem !important; margin-bottom: 4rem !important; }
.pen-my-4-5-rem { margin-top: 4.5rem !important; margin-bottom: 4.5rem !important; }
.pen-my-5-0-rem { margin-top: 5rem !important; margin-bottom: 5rem !important; }

/* pen-p{x/y}-{0-2}-{0/5}-rem */
.pen-px-0-0-rem { padding-left: 0rem !important; padding-right: 0rem !important; }
.pen-px-0-5-rem { padding-left: 0.5rem !important; padding-right: 0.5rem !important; }
.pen-px-1-0-rem { padding-left: 1rem !important; padding-right: 1rem !important; }
.pen-px-1-5-rem { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.pen-px-2-0-rem { padding-left: 2rem !important; padding-right: 2rem !important; }
.pen-px-2-5-rem { padding-left: 2.5rem !important; padding-right: 2.5rem !important; }
.pen-px-3-0-rem { padding-left: 3rem !important; padding-right: 3rem !important; }
.pen-px-3-5-rem { padding-left: 3.5rem !important; padding-right: 3.5rem !important; }
.pen-px-4-0-rem { padding-left: 4rem !important; padding-right: 4rem !important; }
.pen-px-4-5-rem { padding-left: 4.5rem !important; padding-right: 4.5rem !important; }
.pen-px-5-0-rem { padding-left: 5rem !important; padding-right: 5rem !important; }

.pen-py-0-0-rem { padding-top: 0rem !important; padding-bottom: 0rem !important; }
.pen-py-0-5-rem { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
.pen-py-1-0-rem { padding-top: 1rem !important; padding-bottom: 1rem !important; }
.pen-py-1-5-rem { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
.pen-py-2-0-rem { padding-top: 2rem !important; padding-bottom: 2rem !important; }
.pen-py-2-5-rem { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
.pen-py-3-0-rem { padding-top: 3rem !important; padding-bottom: 3rem !important; }
.pen-py-3-5-rem { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; }
.pen-py-4-0-rem { padding-top: 4rem !important; padding-bottom: 4rem !important; }
.pen-py-4-5-rem { padding-top: 4.5rem !important; padding-bottom: 4.5rem !important; }
.pen-py-5-0-rem { padding-top: 5rem !important; padding-bottom: 5rem !important; }

/*
//
// Utilities - END
//
*/

/* Small devices (landscape phones) */
@media (min-width: 340px) {

	.gap-xs {
		gap: 0.1rem;
	}

	.pipe-border {
		margin-right: 8px !important;
	}

}



/* Small devices (landscape phones) */
@media (min-width: 576px) {
	#site-logo {
		max-width: 150px;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
		margin-left: 80% !important;
	}

}

/* Medium devices (tablets) - Mobile Nav */
@media (min-width: 768px) {


	.tr-bl-curves, .tr-bl-curves img {
		border-top-right-radius: 6rem;
		border-bottom-left-radius: 6rem;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
		margin-left: 90% !important;
	}

	/* Footer - START */
	.nav_footer {
		justify-content: center !important;
	}

	/* Footer - END */

	/* Cases - START */
	.pen-cases-gallery {
		grid-template-columns: repeat(4, 1fr);
	}

	.pen-cases-location {
		padding-bottom: 0rem;
	}
	/* Cases - END */

	/* Utilities - START */

	.flex-column-row {
		flex-direction: row;
	}

	.flex-row-column {
		flex-direction: column;
	}

	.pen-simple-page-nav {
		flex-direction: row !important;
	}
	/* Utilities - END */
}

/* Large devices (desktops) */
@media (min-width: 992px) {

	/*
	// Navigation - START
	*/

	.wp-block-navigation__submenu-container.dashicons-admin-site-alt3 {
		/* width: 15% !important;
		left: unset !important; */
		top: 59px !important;
		/* right: -80px !important; */
	}

	.nav_lang_search_contact li.wp-block-navigation-submenu:hover > .wp-block-navigation-item__content::before {
		top: 57px;
		/* right: -36px;
		z-index: 99; */
	}



	/*
	// Navigation - END
	*/

	/*
	// Utilities - START
	*/

	.pen-d-sm-none {
		display: block;
	}

	.pen-d-lg-none {
		display: none;
	}

	.pen-desktop-constrained {
		max-width: 1600px;
		margin-left: auto;
		margin-right: auto;
	}

	.pen-pt-60-lg {
		padding-top: var(--wp--preset--spacing--60);
	}

	/*
	// Utilities - END
	*/


	.header-container {
		padding: 0rem 1rem;
	}

	#contact-nav-desktop {
		display: block;
	}

	.nav_lang_search_contact {

	}

	#site-logo {
		margin-right: 0rem;
		max-width: 231px;
		height: auto;
	}

	.nav-desktop {
		min-width: 32rem;
	}

	.site-header.wp-block-template-part {
		/* margin-bottom: 2.0rem; unknown shift */
		margin-bottom: 2.3rem;
	}

	/*  A tiny safety net – make sure each column can shrink        */
	.wp-block-navigation__submenu-container .wp-block-column {
		min-width:0;
	}


}

/* Visibility utility: 1000px */
@media (min-width: 1000px) {
	.pen-d-1000 {
		display: block;
	}
}

/* Interim Sizes - Specialty */
@media (min-width: 1060px) {
	.nav-desktop {
		min-width: 37rem;
	}
}

/* Desktop nav + visibility utility: 1100px */
@media (min-width: 1100px) {
	.nav_mobile { display: none !important; }
	.nav-desktop { display: flex !important; }

	.pen-d-1100 {
		display: block;
	}
}

/* Extra large devices (large desktops) */
@media (min-width: 1200px) {
	#site-logo {
		margin-right: 3rem;
	}

	.nav-desktop {
		min-width: 42rem;
	}

	/* Cap product hero image height to prevent overflow into tertiary nav */
	figure.wp-block-image.pen-product-hero-image-03 > img {
		max-height: 480px;
		width: auto;
		object-fit: contain;
	}

	figure.wp-block-image.pen-product-hero-image-04 > img {
		max-height: 400px;
		width: auto;
		object-fit: contain;
	}

	.pen-d-xl {
		display: block;
	}

	.pen-d-1200 {
		display: block;
	}
}

/* Visibility utility: 1300px */
@media (min-width: 1300px) {
	.pen-d-1300 {
		display: block;
	}
}

/* Extra large devices (extra-large desktops) */
@media (min-width: 1400px) {

	.pen-d-xxl {
		display: block;
	}

	.pen-d-1400 {
		display: block;
	}
}

/* Visibility utility: 1500px */
@media (min-width: 1500px) {
	.pen-d-1500 {
		display: block;
	}
}

/* Extra Extra large devices (extra-extra-large desktops) */
@media (min-width: 1600px) {
	.header-container {
		padding: 0rem 0rem;
	}

	.pen-d-1600 {
		display: block;
	}
}

