/*
 * WSP HMP CCW — main stylesheet.
 * Ported 1:1 from the original Beaver Builder skin (skin-6ac460126e181.css)
 * and layout cache (7-layout.css) of capecodwinestorage.com, then restyled to
 * the sister site (capecodclimatecontrolledstorage.website.storedge.com):
 * white page, black text, #686868 links, teal #01bbba headings and buttons,
 * red #fa303f secondary headings and button hover, #e6e6e6 hairlines.
 */

/* ------------------------------------------------------------------
   Tokens
------------------------------------------------------------------ */

:root {
	--ccw-bg: #ffffff;
	--ccw-text: #000000;
	--ccw-link: #686868;
	--ccw-link-hover: #000000;
	--ccw-primary: #01bbba;
	--ccw-secondary: #fa303f;
	--ccw-border: #e6e6e6;
	--ccw-border-strong: #cccccc;
	--ccw-surface: #f8f8f8;
	--ccw-surface-border: #d0d0d0;
	--ccw-footer-bg: #e6e6e6;
	--ccw-font-body: Montserrat, "Segoe UI", Arial, sans-serif;
	--ccw-font-display: Montserrat, "Segoe UI", Arial, sans-serif;
	--ccw-font-nav: Montserrat, "Segoe UI", Arial, sans-serif;
	--ccw-font-script: Damion, "Segoe Script", "Brush Script MT", cursive;
}

/* ------------------------------------------------------------------
   Base
------------------------------------------------------------------ */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
}

@supports (overflow: clip) {
	html {
		overflow-x: clip;
	}
}

body {
	margin: 0;
	background-color: var(--ccw-bg);
	color: var(--ccw-text);
	font: 400 14px/1.45 var(--ccw-font-body);
	-webkit-font-smoothing: antialiased;
}

img {
	max-width: 100%;
	height: auto;
	border: 0;
}

figure {
	margin: 0;
}

a {
	color: var(--ccw-secondary);
	text-decoration: none;
}

a:hover,
a:focus {
	color: var(--ccw-link-hover);
	text-decoration: underline;
}

:focus-visible {
	outline: 2px solid var(--ccw-primary);
	outline-offset: 2px;
}

::selection {
	background-color: var(--ccw-primary);
	color: #ffffff;
}

hr {
	border: 0;
	border-top: 1px solid var(--ccw-border);
	margin: 20px 0;
}

/* Headings ---------------------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--ccw-font-display);
	font-weight: 700;
	letter-spacing: 0;
	color: var(--ccw-text);
	line-height: 1.4;
	margin: 0 0 20px;
}

h1,
h2 {
	color: var(--ccw-primary);
}

h3,
h4 {
	color: var(--ccw-text);
}

h1 { font-size: 52px; line-height: 1; }
h2 { font-size: 30px; }
h3 { font-size: 30px; }
h4 { font-size: 20px; }
h5 { font-size: 14px; }
h6 { font-size: 12px; }

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
	color: var(--ccw-secondary);
	text-decoration: none;
}

h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover {
	color: var(--ccw-link-hover);
	text-decoration: underline;
}

p {
	margin: 0 0 10px;
}

ul,
ol {
	margin: 0 0 10px;
	padding-left: 24px;
}

li {
	margin-bottom: 5px;
}

blockquote {
	margin: 0 0 20px;
	padding: 10px 20px;
	border-left: 5px solid var(--ccw-border);
}

strong,
b {
	font-weight: bold;
}

code {
	background-color: var(--ccw-surface);
	border: 1px solid var(--ccw-border);
	border-radius: 4px;
	padding: 1px 5px;
	font-size: 13px;
	color: var(--ccw-link);
}

pre {
	background-color: var(--ccw-surface);
	border: 1px solid var(--ccw-border);
	border-radius: 4px;
	padding: 15px;
	overflow: auto;
	color: var(--ccw-text);
	margin: 0 0 20px;
}

pre code {
	background: none;
	border: 0;
	padding: 0;
}

/* ------------------------------------------------------------------
   Container (mirrors the original .container behaviour)
   <768: 20px gutters — 768–1099: 40px gutters — >=1100: 1020px fixed
------------------------------------------------------------------ */

.container {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

@media (min-width: 768px) {
	.container {
		padding-left: 40px;
		padding-right: 40px;
	}
}

@media (min-width: 1100px) {
	.container {
		max-width: 1020px;
		padding-left: 0;
		padding-right: 0;
	}
}

/* ------------------------------------------------------------------
   Header
------------------------------------------------------------------ */

.site-header {
	background-color: var(--ccw-bg);
	border-bottom: 1px solid var(--ccw-border);
	position: relative;
	z-index: 100;
}

.site-header__branding {
	padding: 30px 0;
	text-align: center;
}

/*
 * Site title — the brand lockup (kept out of the heading outline: each page's
 * keyword H1 lives in the content and is screen-reader only), split to mirror
 * the original logo: script half ("Cape Cod") + Montserrat caps half
 * ("WINE STORAGE"). Sizes are matched to the 768x106 logo: script ink 340x91,
 * caps cap-height 40.
 */
.site-title {
	margin: 0;
	font-family: var(--ccw-font-display);
	font-size: 96.7px;
	font-weight: 400;
	line-height: 1;
	color: var(--ccw-text);
	text-decoration: none;
}

.site-title__link {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 36px;
	color: inherit;
	text-decoration: none;
}

.site-title__script {
	flex: none;
	font-family: var(--ccw-font-script);
	font-size: 96.7px;
	font-weight: 400;
	line-height: 1;
}

.site-title__caps {
	flex: none;
	font-family: var(--ccw-font-display);
	font-size: 57px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.02em;
	text-transform: uppercase;
}

.site-title__link:hover,
.site-title__link:focus {
	color: inherit;
	text-decoration: none;
}

.site-title__link:hover .site-title__script,
.site-title__link:hover .site-title__caps {
	color: var(--ccw-primary);
}

/* Sticky (scroll-in) header ----------------------------------------- */

.site-sticky-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	background-color: var(--ccw-bg);
	color: var(--ccw-text);
	border-bottom: 1px solid var(--ccw-border);
	box-shadow: 0 0 7px rgba(0, 0, 0, 0.1);
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.2s ease, visibility 0s linear 0.2s;
}

.site-sticky-header.is-visible {
	visibility: visible;
	opacity: 1;
	transition: opacity 0.2s ease;
}

body.admin-bar .site-sticky-header {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar .site-sticky-header {
		top: 46px;
	}
}

@media (max-width: 991px) {
	.site-sticky-header {
		display: none !important;
	}
}

.site-sticky-header__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding-top: 6px;
	padding-bottom: 4px;
}

.site-logo--sticky .site-title__link {
	gap: 15px;
}

.site-logo--sticky .site-title__script {
	font-size: 42px;
}

.site-logo--sticky .site-title__caps {
	font-size: 25px;
}

/* Site title — keep the lockup inside the gutters on narrow viewports.
   Flex gap is 36px at full size because Damion's ink overhangs its own box
   by ~20px: only 12px of that survives as the visible gap the logo shows.
   Lockup widths at each step: 825 / 696 / 579 / 462 / 361 / 290 / 220 px.
   Breakpoints leave >=10px of slack against the container's content width. */

@media (max-width: 910px) {
	.site-title,
	.site-title__script {
		font-size: 82px;
	}

	.site-title__caps {
		font-size: 48px;
	}

	.site-title__link {
		gap: 30px;
	}
}

@media (max-width: 790px) {
	.site-title,
	.site-title__script {
		font-size: 68px;
	}

	.site-title__caps {
		font-size: 40px;
	}

	.site-title__link {
		gap: 25px;
	}
}

@media (max-width: 630px) {
	.site-title,
	.site-title__script {
		font-size: 54px;
	}

	.site-title__caps {
		font-size: 32px;
	}

	.site-title__link {
		gap: 20px;
	}
}

@media (max-width: 520px) {
	.site-title,
	.site-title__script {
		font-size: 42px;
	}

	.site-title__caps {
		font-size: 25px;
	}

	.site-title__link {
		gap: 16px;
	}
}

@media (max-width: 420px) {
	.site-title,
	.site-title__script {
		font-size: 34px;
	}

	.site-title__caps {
		font-size: 20px;
	}

	.site-title__link {
		gap: 13px;
	}
}

@media (max-width: 345px) {
	.site-title,
	.site-title__script {
		font-size: 26px;
	}

	.site-title__caps {
		font-size: 15px;
	}

	.site-title__link {
		gap: 10px;
	}
}

/* Nav band ----------------------------------------------------------- */

.site-nav-band {
	background-color: var(--ccw-bg);
	border-top: 1px solid var(--ccw-border);
	border-bottom: 1px solid var(--ccw-border);
}

.site-nav-band__inner {
	position: relative;
}

.site-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}

.site-nav li {
	display: inline-block;
	position: relative;
}

.site-nav a {
	display: block;
	padding: 15px;
	color: var(--ccw-secondary);
	font-family: var(--ccw-font-nav);
	font-size: 24px;
	line-height: 1.4;
	text-decoration: none;
}

.site-nav a:hover,
.site-nav a:focus,
.site-nav li.current-menu-item > a,
.site-nav li.current-menu-ancestor > a,
.site-nav li.current_page_item > a {
	color: var(--ccw-primary);
	text-decoration: none;
	box-shadow: inset 0 -3px 0 var(--ccw-primary);
}

/* Dropdowns */

.site-nav li ul {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 110;
	display: none;
	min-width: 220px;
	background-color: var(--ccw-bg);
	border: 1px solid var(--ccw-border);
	border-top: 3px solid var(--ccw-primary);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
	text-align: left;
}

.site-nav li:hover > ul,
.site-nav li:focus-within > ul {
	display: block;
}

.site-nav li ul li {
	display: block;
	border-bottom: 1px solid var(--ccw-border);
}

.site-nav li ul li:last-child {
	border-bottom: 0;
}

.site-nav li ul a {
	padding: 10px 15px;
	font-family: var(--ccw-font-body);
	font-size: 14px;
	line-height: 20px;
}

/* Search form field (searchform.php) ---------------------------------- */

.search-form__input {
	width: 100%;
	background-color: var(--ccw-bg);
	border: 1px solid var(--ccw-border-strong);
	border-radius: 0;
	color: var(--ccw-text);
	font-family: inherit;
	font-size: 14px;
	padding: 8px 12px;
}

.search-form__input:focus {
	border-color: var(--ccw-primary);
	outline: none;
}

.search-form__input::placeholder {
	color: rgba(0, 0, 0, 0.4);
}

/* Sticky nav specifics */

.site-nav--sticky {
	display: flex;
	align-items: center;
	justify-content: center;
}

.site-nav--sticky ul {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.site-nav--sticky a {
	padding: 6px 12px;
	font-size: 18px;
}

.site-nav--sticky a:hover,
.site-nav--sticky a:focus,
.site-nav--sticky li.current-menu-item > a {
	color: var(--ccw-primary);
}

/* Mobile nav ---------------------------------------------------------- */

.nav-toggle {
	display: none;
}

@media (max-width: 767px) {

	.site-nav-band {
		border-top: 0;
		border-bottom: 0;
		padding-bottom: 20px;
	}

	/* Without JS the menu stays visible (progressive enhancement);
	   with JS the list collapses until "Menu" is pressed. */
	html.js .nav-toggle {
		display: block;
		width: 100%;
		margin: 0;
		padding: 9px 10px;
		background-color: var(--ccw-bg);
		color: var(--ccw-link);
		border: 1px solid var(--ccw-border);
		border-radius: 0;
		font-family: var(--ccw-font-nav);
		font-size: 24px;
		font-weight: 400;
		line-height: 1.4;
		text-align: center;
		cursor: pointer;
	}

	html.js .nav-toggle:hover,
	html.js .nav-toggle:focus {
		background-color: var(--ccw-surface);
		color: var(--ccw-primary);
	}

	html.js .site-nav > ul {
		display: none;
		border-top: 1px solid var(--ccw-border);
		padding-bottom: 10px;
	}

	html.js .site-nav > ul.is-open {
		display: block;
	}

	.site-nav li {
		display: block;
		border-bottom: 1px solid var(--ccw-border);
	}

	.site-nav li:last-child {
		border-bottom: 0;
	}

	.site-nav a {
		padding: 15px;
		text-align: left;
	}

	.site-nav a:hover,
	.site-nav a:focus,
	.site-nav li.current-menu-item > a {
		color: var(--ccw-primary);
	}

	.site-nav li ul {
		position: static;
		display: block;
		min-width: 0;
		border-top: 0;
		box-shadow: none;
	}

	.site-nav li ul a {
		padding: 10px 15px 10px 30px;
		font-family: var(--ccw-font-nav);
		font-size: 20px;
	}
}

/* ------------------------------------------------------------------
   Content
------------------------------------------------------------------ */

.site-main {
	padding-top: 20px;
	padding-bottom: 20px;
}

@media (min-width: 768px) {
	.site-main {
		padding-top: 40px;
		padding-bottom: 40px;
	}
}

.entry-header {
	margin-bottom: 20px;
}

.entry-title {
	margin-bottom: 5px;
}

.entry-meta {
	margin: 0 0 20px;
	font-size: 13px;
	color: var(--ccw-link);
}

.entry-thumbnail {
	margin: 0 0 20px;
}

/* Widths: container gutters + original 20px row padding */
.entry-content {
	margin-left: auto;
	margin-right: auto;
	padding-left: 40px;
	padding-right: 40px;
}

@media (min-width: 768px) {
	.entry-content {
		padding-left: 60px;
		padding-right: 60px;
	}
}

@media (min-width: 1100px) {
	.entry-content {
		max-width: 1020px;
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* Header / summary blocks rendered outside .entry-content get the same
   container gutters so titles line up with the content. */
.entry-header,
.entry-thumbnail,
.entry-summary,
.archive-description {
	margin-left: auto;
	margin-right: auto;
	padding-left: 40px;
	padding-right: 40px;
}

@media (min-width: 768px) {
	.entry-header,
	.entry-thumbnail,
	.entry-summary,
	.archive-description {
		padding-left: 60px;
		padding-right: 60px;
	}
}

@media (min-width: 1100px) {
	.entry-header,
	.entry-thumbnail,
	.entry-summary,
	.archive-description {
		max-width: 1020px;
		padding-left: 20px;
		padding-right: 20px;
	}
}

.entry-content > *:first-child {
	margin-top: 0;
}

.entry-content > *:last-child {
	margin-bottom: 0;
}

.entry-summary {
	margin-bottom: 20px;
}

/* Block alignments ---------------------------------------------------- */

.alignleft {
	float: left;
	margin: 5px 20px 10px 0;
}

.alignright {
	float: right;
	margin: 5px 0 10px 20px;
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.alignwide {
	width: calc(100% + 40px);
	max-width: 1020px;
	margin-left: auto;
	margin-right: auto;
}

.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* Pagination ---------------------------------------------------------- */

.navigation.pagination,
.wp-block-query-pagination {
	margin: 30px 0 0;
	text-align: center;
}

.navigation.pagination .page-numbers,
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	display: inline-block;
	margin: 0 2px;
	padding: 6px 12px;
	border: 1px solid var(--ccw-border-strong);
	border-radius: 0;
	color: var(--ccw-text);
	font-size: 14px;
	line-height: 1.4;
	text-decoration: none;
}

.navigation.pagination .page-numbers:hover,
.wp-block-query-pagination a:hover {
	border-color: var(--ccw-primary);
	color: var(--ccw-primary);
	text-decoration: none;
}

.navigation.pagination .page-numbers.current,
.wp-block-query-pagination .page-numbers.current {
	background-color: var(--ccw-primary);
	border-color: var(--ccw-primary);
	color: #ffffff;
}

/* ------------------------------------------------------------------
   Forms & buttons
------------------------------------------------------------------ */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="password"],
input[type="search"],
input[type="number"],
textarea,
select {
	display: block;
	width: 100%;
	max-width: 100%;
	background-color: var(--ccw-bg);
	border: 1px solid var(--ccw-border-strong);
	border-radius: 0;
	color: var(--ccw-text);
	font-family: inherit;
	font-size: 14px;
	line-height: 1.45;
	padding: 6px 12px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
textarea:focus,
select:focus {
	border-color: var(--ccw-primary);
}

input::placeholder,
textarea::placeholder {
	color: rgba(0, 0, 0, 0.4);
}

textarea {
	min-height: 130px;
}

input[type="checkbox"],
input[type="radio"] {
	width: auto;
	display: inline;
	margin-right: 6px;
}

button,
input[type="button"],
input[type="submit"] {
	font-family: inherit;
	font-size: 16px;
	line-height: 1.2;
	font-weight: 600;
	letter-spacing: 0.65px;
	text-transform: uppercase;
	color: #ffffff;
	background-color: var(--ccw-primary);
	border: 1px solid var(--ccw-primary);
	border-radius: 0;
	padding: 10px 24px;
	cursor: pointer;
	box-shadow: none;
	text-shadow: none;
}

button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
button:focus,
input[type="submit"]:focus {
	background-color: var(--ccw-secondary);
	border-color: var(--ccw-secondary);
	color: #ffffff;
}

.search-form {
	display: flex;
	gap: 10px;
	align-items: stretch;
}

.search-form__submit {
	flex: 0 0 auto;
}

/* Core search block */

.wp-block-search__input {
	background-color: var(--ccw-bg);
	border: 1px solid var(--ccw-border-strong);
	border-radius: 0;
	color: var(--ccw-text);
	padding: 6px 12px;
}

.wp-block-search__button {
	background-color: var(--ccw-primary);
	border: 1px solid var(--ccw-primary);
	border-radius: 0;
	color: #ffffff;
	padding: 10px 16px;
	font-weight: 600;
	letter-spacing: 0.65px;
	text-transform: uppercase;
}

/* Core button block */

.wp-block-button__link {
	background-color: var(--ccw-primary);
	color: #ffffff;
	border: 1px solid var(--ccw-primary);
	border-radius: 0;
	padding: 12px 24px;
	font-size: 16px;
	line-height: 18px;
	font-weight: 600;
	letter-spacing: 0.65px;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: none;
	text-shadow: none;
}

.wp-block-button__link:hover,
.wp-block-button__link:focus {
	background-color: var(--ccw-secondary);
	border-color: var(--ccw-secondary);
	color: #ffffff;
}

.wp-block-button.is-style-outline .wp-block-button__link {
	background-color: transparent;
	border: 1px solid var(--ccw-primary);
	color: var(--ccw-primary);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus {
	background-color: var(--ccw-primary);
	color: #ffffff;
}

/* ------------------------------------------------------------------
   Core blocks
------------------------------------------------------------------ */

.wp-block-separator {
	border: 0;
	border-top: 1px solid var(--ccw-border);
	background: transparent;
	margin: 20px auto;
	max-width: 100%;
}

.wp-block-separator.is-style-wide {
	max-width: 100%;
}

.wp-block-separator.is-style-dots {
	border-top: 0;
	color: var(--ccw-border);
}

.wp-block-quote {
	margin: 0 0 20px;
	padding: 10px 20px;
	border-left: 5px solid var(--ccw-border);
}

.wp-block-quote cite {
	font-size: 13px;
	color: var(--ccw-link);
}

.wp-block-pullquote {
	border-top: 2px solid var(--ccw-border);
	border-bottom: 2px solid var(--ccw-border);
	color: var(--ccw-text);
}

.wp-block-table,
.wp-block-table table {
	border-collapse: collapse;
	width: 100%;
}

.wp-block-table th,
.wp-block-table td {
	border: 1px solid var(--ccw-border);
	padding: 8px 12px;
	text-align: left;
}

.wp-block-table thead th {
	color: var(--ccw-text);
	font-weight: bold;
}

.wp-block-image {
	margin-bottom: 20px;
}

.wp-block-image figcaption,
.wp-block-embed figcaption,
.wp-block-gallery figcaption {
	font-size: 13px;
	line-height: 18px;
	color: var(--ccw-link);
	text-align: center;
}

.wp-caption {
	max-width: 100%;
	background-color: var(--ccw-surface);
	border: 1px solid var(--ccw-border);
	padding: 8px;
}

.wp-caption-text {
	font-size: 11px;
	line-height: 17px;
	color: var(--ccw-link);
	text-align: center;
	padding-top: 6px;
}

.wp-block-cover {
	background-color: #000000;
}

.wp-block-group {
	margin-bottom: 0;
}

/* ------------------------------------------------------------------
   Footer: three evenly spaced widget columns, then the copyright line.
   The widget row sits in the same 1020px .container the header uses, so
   the three thirds line up with the rest of the page.
------------------------------------------------------------------ */

.site-footer {
	background-color: var(--ccw-footer-bg);
	color: var(--ccw-text);
	border-top: 1px solid var(--ccw-border);
	font-size: 13px;
}

.site-footer__widgets-inner {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
	padding-top: 40px;
	padding-bottom: 40px;
	text-align: left;
}

.site-footer__col {
	min-width: 0;
}

.site-footer .widget {
	margin: 0;
}

.site-footer .widget + .widget {
	margin-top: 24px;
}

/* Widget titles are h4; the global h4 is 30px, which would swamp a
   13px footer, so the footer component keeps its own scale. */
.site-footer .widget-title {
	margin: 0 0 12px;
	color: var(--ccw-text);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.site-footer ul,
.site-footer ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer li + li {
	margin-top: 6px;
}

.site-footer p {
	margin: 0 0 1em;
}

.site-footer p:last-child {
	margin-bottom: 0;
}

.site-footer__legal {
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	padding-top: 16px;
	padding-bottom: 16px;
	text-align: center;
	font-size: 12px;
}

.site-footer__copy {
	margin: 0;
}

/* NAP block: address/phone column + keyword link column, above the legal line. */

.site-footer__nap {
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.site-footer__nap-inner {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	padding-top: 28px;
	padding-bottom: 28px;
	text-align: left;
}

.site-footer__nap-col {
	min-width: 0;
}

.site-footer__nap-title {
	margin: 0 0 12px;
	color: var(--ccw-text);
	font-family: var(--ccw-font-display);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.site-footer__nap ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__nap li + li {
	margin-top: 6px;
}

@media (max-width: 767px) {
	.site-footer__widgets-inner {
		grid-template-columns: 1fr;
		gap: 28px;
		padding-top: 28px;
		padding-bottom: 28px;
	}

	.site-footer__nap-inner {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}

.site-footer a {
	color: var(--ccw-secondary);
}

.site-footer a:hover {
	color: var(--ccw-link-hover);
	text-decoration: underline;
}

/* Geo-targeted front-page section (see inc/seo.php). */

.ccw-local {
	margin-top: 40px;
	padding-top: 24px;
	border-top: 1px solid var(--ccw-border);
}

.ccw-local h3 {
	margin-top: 24px;
}

.ccw-local h4 {
	margin-top: 20px;
}

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

	/* Kept in the theme (mirrors core) so hidden labels stay hidden even
	   before/without the core common stylesheet. */
	.screen-reader-text {
		border: 0;
		clip-path: inset(50%);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;
		word-wrap: normal;
	}

	.screen-reader-text:focus {
		clip-path: none;
		clip: auto;
		background-color: var(--ccw-bg);
		color: var(--ccw-primary);
		display: block;
		font-size: 0.875rem;
		font-weight: 700;
		height: auto;
		left: 5px;
		line-height: normal;
		padding: 15px 23px 14px;
		text-decoration: none;
		top: 5px;
		width: auto;
		z-index: 100000;
	}

.text-center {
	text-align: center;
}

.no-sidebar .widget-area {
	display: none;
}
