/* ── GLOBAL ──────────────────────────────────────────────────────────── */
body { line-height: 1.8em; }
.site-header { background: #fff; }
h1, h2, h3, h4, h5 { font-weight: 700; }
p a, a { color: #0B3453; font-weight: 700; }
a span { font-weight: 700 !important; }

/* ── UTILITY CLASSES ─────────────────────────────────────────────────── */
.green-slt { background: #13734B; color: #fff; font-weight: 700; }
.max-560 { max-width: 560px; }
.max-660 { max-width: 690px; }
.max-434 { max-width: 434px; }
.max-300 img { max-width: 300px; }
.width-75 { width: 75%; }
.width-80 { width: 80%; margin: 0 auto; }
.width-80-left { width: 80%; }
.center { text-align: center; }
.mobile-badge { display: none; }
.desktop-only { display: block; }
.mobile-only { display: none; }
.alert h1 { text-transform: none !important; }
.post-edit-link { display: none; }
.wp-element-caption { display: none; }
p.max-150 { max-width: 250px; margin: 0 auto; }

/* ── INPUTS & FORMS ──────────────────────────────────────────────────── */
select, input { border-radius: 55px !important; padding: 8px 22px !important; }
textarea { border-radius: 25px !important; background: #EEEEF0 !important; border: none !important; }
form { margin-top: 30px; }
input { border-radius: 55px; padding: 15px; }
label { color: #000; margin-left: 10px; font-family: Inter; font-size: 14px; font-weight: 600; }

.footer-widgets input[placeholder],
body .gform_wrapper input::placeholder,
body .gform_wrapper textarea::placeholder { color: #fff !important; opacity: .5; }

.note { color: #000; font-family: Inter; font-size: 14px; font-weight: 300; line-height: 18px; margin-top: 5px; display: block; margin-left: 10px; }

/* form-container */
.form-container h1 { color: #000; text-align: center; font-family: Jost; font-size: 46px; font-weight: 700; }
.form-container h2 { color: #000; text-align: center; font-family: Jost; font-size: 36px; font-weight: 700; margin-top: 30px; }
.form-container h3 { color: #000; text-align: center; font-family: Jost; font-size: 46px; font-weight: 700; }
.form-container input,
.form-container select { border-radius: 100px; background: #EEEEF0; border: 0; display: flex; height: 50px; padding: 0 30px; }

.form-submit,
.button-primary { border-radius: 100px; background: #13734B !important; box-shadow: 0 5px 15px 0 rgba(0,0,0,.12); width: 100% !important; margin-top: 40px; }
.form-submit:hover,
.button-primary:hover { border-radius: 100px; background: #244f37 !important; color: #fff !important; box-shadow: 0 5px 15px 0 rgba(0,0,0,.12); }

/* ── FILE UPLOAD ─────────────────────────────────────────────────────── */
input.wpt-credfile-upload-file { border-radius: 100px; border: 1px solid #13734B !important; background: #fff; box-shadow: 0 5px 15px 0 rgba(0,0,0,.12); }
input.wpt-credfile-upload-file { border: none !important; box-shadow: none !important; display: flex; height: 70px; }
input[type="file"]::file-selector-button { border-radius: 100px; padding: 0 30px; height: 50px; cursor: pointer; background: #fff;
  border: 1px solid #13734B !important; box-shadow: 0 5px 15px 0 rgba(0,0,0,.12); margin-right: 16px;
  transition: background-color 200ms; color: #13734B; font-weight: 700; }
input[type="file"]::file-selector-button:hover { background-color: #f3f4f6; }
input[type="file"]::file-selector-button:active { background-color: #e5e7eb; }
input.wpt-credfile-delete { background: transparent; color: red; text-align: right; text-decoration: underline; font-size: 12px; margin-top: -30px !important; }
input.wpt-credfile-delete:hover { background: transparent; }
.has-error .js-wpt-validate { border: 2px solid #ED3241 !important; }
.wp-error { text-align: center; margin-bottom: 30px; color: #ED3241; font-weight: 700; }

/* ── NAV ─────────────────────────────────────────────────────────────── */
.menu-top { background: #fff; }
.nav-primary { width: 100%; max-width: 100%; margin: 0 auto !important; float: none; }
li.cta { float: right !important; margin-left: 10px; }
.genesis-nav-menu .sub-menu a { font-size: 14px; }
.genesis-nav-menu a { font-size: 16px; font-weight: 700; }
.genesis-nav-menu .current-menu-item > .cta a,
#menu-item-681 > a { color: #fff !important; }

/* ── LOGO ─────────────────────────────────────────────────────────────── */
.title-area { display: none; }
.logo-gbpc { background-image: url(https://parkcitygreen.org/wp-content/uploads/2024/02/PCSMT_GBP_LogoHEX_F-1.svg);
  background-repeat: no-repeat; background-size: contain; width: 120px; color: rgba(0,0,0,0) !important; }
.logo-gbpc a { color: rgba(0,0,0,0) !important; }

/* ── BUTTONS ─────────────────────────────────────────────────────────── */
.green-btn { background: #13734b; border-radius: 55px !important; border: 1px solid #13734b; }
.green-btn:hover { background: #13734b; box-shadow: inset 200px 200px 200px rgba(0,0,0,.62) !important; border: 1px solid #13734b; }
.cta { background: #13734b; border-radius: 55px !important; border: 1px solid #13734b; padding: 2px 10px;
  box-shadow: 0 5px 14px 0 rgba(0,0,0,.11); }
.cta:hover { box-shadow: inset 200px 200px 200px rgba(0,0,0,.32) !important; }
.cta a { color: #fff; }
.cta a:hover { color: #fff; }
.rev, .rev-btn, input[type="button"].rev-btn { border: 1px solid #13734b; background: #fff; color: #13734b; border-radius: 55px !important; }
.rev a, .rev-btn a, .rev a:hover, .rev-btn a:hover { color: #13734b; }
.rev:hover, .rev-btn:hover { border-radius: 55px !important; box-shadow: inset 200px 200px 200px rgba(0,0,0,.05) !important; }
.wp-block-button .wp-block-button__link:hover { box-shadow: inset 200px 200px 200px rgba(0,0,0,.32) !important; }
.wp-block-button .wp-block-button__link:active { box-shadow: inset 200px 200px 200px rgba(0,0,0,.52) !important; }
.site-container .wp-block-button .wp-block-button__link { border-width: 0; border-radius: 100px; }

/* ── FOOTER ─────────────────────────────────────────────────────────── */
.footer-widgets, .site-footer { background: #0B3453; color: #fff; border: none; }
.footer-widgets a { color: #fff; text-decoration: none; }
.footer-widgets a:hover { color: #fff; text-decoration: underline; }
/* ADA: visible focus indicator on dark footer background */
.footer-widgets a:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
/* ADA: override inline opacity on footer credit text — fails WCAG AA contrast */
.site-footer .footer-cred span,
.site-footer .footer-cred a { opacity: 1 !important; }
.footer-cred { text-align: center; }
.site-footer { width: 100%; display: block; position: relative; margin-bottom: 40px; float: none; padding-bottom: 100px; }
.site-footer .wrap { max-width: 1280px; padding: 0 130px; }

.footer-widgets input { background: transparent; color: #fff !important; border: 1px solid #fff; padding: 15px 35px !important; }
.footer-widgets input.gform-button--white { background: #fff; color: #0B3453 !important; border-radius: 55px; box-shadow: 0 5px 15px 0 rgba(0,0,0,.12); }
.footer-widgets input.gform-button--white:hover { background: #fff; box-shadow: 0 5px 15px 0 rgba(0,0,0,.12); border: 1px solid #fff; }
.footer-widgets input.gform-button--white:focus-visible { box-shadow: 0 0 0 5px rgba(255,255,255,.5); outline: none; }

/* ── GRAVITY FORMS ───────────────────────────────────────────────────── */
.gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] { border: 2px solid #ED3241 !important; }
.footer-widgets .gform_validation_errors { background: transparent !important; opacity: 0; height: 0; }
.footer-widgets .validation_message { background: transparent !important; border: none !important; color: #fff !important; padding: 0 !important; line-height: 1em; font-size: .8em; }
.footer-widgets .gform_wrapper.gravity-theme #field_submit { display: block; }

/* ── HERO ─────────────────────────────────────────────────────────────── */
.hero { margin-top: 0; padding-top: 100px; }
.home-hero { position: absolute; top: 0; width: 100%; min-height: 750px; }
.block2 { margin-top: 670px !important; }

/* ── ACCORDION ───────────────────────────────────────────────────────── */
.accordion .card-header { border-bottom: 0; padding: 0; background: transparent; }
.accordion .card-body { margin: 0; padding: 20px 0 0; }
.accordion .card { background: transparent; border: 0; }
.accordion button { background: transparent; width: 75%; text-align: left; color: #000; padding: 0;
  border-radius: 0; margin-top: 30px; font-family: Jost; font-size: 22px; font-weight: 700; }
.accordion button:hover { color: #13734B; }
/* ADA: focus — remove browser default, restore visible indicator for keyboard users */
.accordion button:focus { outline: none; }
.accordion button:focus-visible { outline: 2px solid #13734B; outline-offset: 3px; }
.accordion button:after { font-family: "Font Awesome 6 Pro"; content: "\f078"; text-align: right;
  transition: transform .2s ease-in-out; margin-left: 30px; padding-right: 12px; font-size: 18px;
  vertical-align: middle; float: right; margin-right: -30%; }

/* ── HOW IT WORKS ────────────────────────────────────────────────────── */
.how-it-works .steps-number { text-align: center; float: left; width: 90px; font-size: 110px; font-weight: 700; line-height: 90px; font-family: "jost"; }
.how-it-works p { margin-left: 100px; margin-top: 20px; }
.how-it-works h2 { margin-left: 100px; }
.steps-number { font-size: 46px; float: left; margin-right: 10px; color: #13734B; }

/* ── CONTENT / LAYOUT ────────────────────────────────────────────────── */
.bubble { border-radius: 15px; overflow: hidden; background: #fff; box-shadow: 0 5px 15px 0 rgba(0,0,0,.12); transition: .2s ease-in-out; }
.blog-content { padding: 20px 25px 25px; }
.box { height: 100%; }
.row.display-flex { display: flex; flex-wrap: wrap; }
.row.display-flex > [class*='col-'] { flex-grow: 1; }
.wp-block-image { margin-bottom: 0; }
.news-feed { margin-bottom: 40px; }
.inner-bubble { margin: 0 -15px; }
.img-f { height: 180px; overflow: hidden; }
.bubble a { color: #000; text-decoration: none; }
.biz-feed a { text-decoration: none !important; }
.biz-feed .bubble:hover { opacity: .8; }
.content-sidebar .site-container .alignfull { margin: 0; }

/* ── COLLAGE ─────────────────────────────────────────────────────────── */
.collage .wp-block-image img { width: 100%; margin-bottom: 0; }
.collage .wp-block-image { margin-bottom: 0; }
.collage .tb-gallery--masonry .tb-brick__content,
.collage .tb-brick__content { margin: 0; padding: 0 !important; }
.collage ::marker { color: transparent; }
.collage .entry-content ul > li { list-style-type: none !important; }
.tb-gallery ul { margin: 0 !important; }
.collage img { padding: 4px; }

/* ── LOGOS ───────────────────────────────────────────────────────────── */
.logos img { max-height: 60px; width: auto; }
.logos .gb-block-layout-column { max-width: 109px; }
.logos .vert img { max-height: 100px; width: auto; }

/* ── ENTRY CONTENT ───────────────────────────────────────────────────── */
.entry-content ul > li { list-style-type: none; margin-bottom: 10px; }
.entry-content ul > li:before { content: "\f00c"; font-family: FontAwesome;
  display: inline-block; margin-left: -25px; padding-right: 24px; width: 15px; color: #13734B; }
.entry-content h3 { font-weight: 700; }

/* ── BACKGROUNDS ─────────────────────────────────────────────────────── */
.bg-1 { background: url('https://parkcitygreen.org/wp-content/uploads/2024/09/webLavendar-Haze-Tina-Powell.jpg') no-repeat; background-size: cover; }
.bg-2 { background: url('https://parkcitygreen.org/wp-content/uploads/2024/09/web04_Mark-Goldfarb_Spring-Storm.jpg') no-repeat; background-position: bottom center; background-size: cover; }

/* ── META PREFIXES ───────────────────────────────────────────────────── */
p.p-date:before { content: 'Published '; }
p.p-edate:before { content: 'Event upcoming on '; }
p.p-location:before { content: 'Location: '; }
p.p-date, p.p-author, p.p-edate { margin: 0; display: inline; }
p.p-author:before { content: 'by '; }

/* ── PAGINATION ──────────────────────────────────────────────────────── */
.wpv-archive-pagination-nav-links-container a.page-link:focus,
.wpv-archive-pagination-nav-links-container a.page-link:hover,
.wpv-archive-pagination-nav-links a.page-link:focus,
.wpv-archive-pagination-nav-links a.page-link:hover,
.wpv-pagination-nav-links-container a.page-link:focus,
.wpv-pagination-nav-links-container a.page-link:hover,
.wpv-pagination-nav-links a.page-link:focus,
.wpv-pagination-nav-links a.page-link:hover,
.wpv-pagination-preview-element a.page-link:focus,
.wpv-pagination-preview-element a.page-link:hover { background-color: #13734B; border-radius: 100px; color: #fff; }
.wpv-archive-pagination-nav-links-container .page-link,
.wpv-archive-pagination-nav-links .page-link,
.wpv-pagination-nav-links-container .page-link,
.wpv-pagination-nav-links .page-link,
.wpv-pagination-preview-element .page-link { border-radius: 100px; }
.page-item.active .page-link { width: 25px; text-align: center; font-weight: 700; background-color: #13734B; border-color: #13734B; border-radius: 100px; }
ul.pagination { display: flex; justify-content: center; }
.page-item .page-link { background: transparent; border: none; color: #000; font-size: 14px; }
.entry-content .pagination > li:before { content: ""; font-family: FontAwesome;
  display: inline-block; margin-left: -25px; padding-right: 24px; width: 15px; color: #13734B; }

/* ── SAVED LIST / MEMBER PORTAL ──────────────────────────────────────── */
.saved-list { background: #fff; padding: 15px 25px; border-radius: 15px; margin: 10px 0; }
.saved-panel a { color: #0B3453; border-bottom: none !important; position: relative; }
a.saved-item { text-decoration: none !important; }
.saved-list:after { content: '\f054'; font-family: FontAwesome; position: absolute; right: 15px; top: 25px; }
p.breakdown { margin: 0; line-height: 30px; font-size: 13px; }

/* ── STATUS DOTS ─────────────────────────────────────────────────────── */
.dot { height: 12px; width: 12px; background: #13734B; border-radius: 50%; display: inline-block; margin-right: 10px; }
.blue { background: #75A0BB; }
.blu-drk { background: #0B3453; }
.orange { background: #F39727; }
.yellow { background: #FFC821; }

/* ── GBP MEMBER PORTAL ───────────────────────────────────────────────── */
#gbp-profile-progress-section,
.gbp-profile-progress-section { margin: 30px 0; border-radius: 15px !important; }
.gbp-profile-progress-section { padding: 20px 30px !important; box-shadow: none !important; border-radius: 15px !important; }
.gbp-profile-progress-title { font-size: 16px !important; }
.gbp-profile-progress-wrapper span { font-size: 14px !important; font-weight: 600; }
.gbp-section { box-shadow: none !important; margin: 0 10px 10px 0; padding: 20px 30px !important; border-radius: 15px !important; }
.gbp-chart-total-point { margin-top: -10px; }
.gbp-chart-guide { margin-top: 30px !important; }
.gbp-chart-guide span { line-height: 1.2; padding: 3px; }
.gbp-custom-modal-window { padding: 20px 30px 40px !important; }
.certified-data { margin-bottom: 20px; }
#gbp-saved-for-later-contents-wrapper { min-height: 20px !important; }
form#cred_form_3295_1_1 { margin-top: 0; margin-bottom: 30px; }
.green-alert, .red-alert { margin-top: 5px; }
.action.resubmission-required { border: 2px solid #ED3241; }
.notes { background: transparent !important; padding: 0 0 20px !important; }

/* ── ADA: FOCUS OVERRIDES ────────────────────────────────────────────── */
/* Override style.css which sets outline:none on input/textarea focus */
input:focus { outline: none; }
input:focus-visible,
textarea:focus-visible { outline: 2px solid #13734b; outline-offset: 0; border-color: #13734b; }

/* Override style.css gallery img focus */
.gallery img:focus { outline: none; }
.gallery img:focus-visible { outline: 2px solid #13734b; outline-offset: 2px; }

/* Desktop menu toggles */
.menu-toggle:focus-visible,
.sub-menu-toggle:focus-visible { outline: 2px solid #13734b; outline-offset: 2px; }

/* Desktop nav links — background on focus so keyboard users see location */
.genesis-nav-menu a:focus { outline: none; }
.genesis-nav-menu a:focus-visible { outline: 2px solid #13734b; outline-offset: -2px; background: rgba(19,115,75,.08); }

/* Sub-menu: show + white bg when any child has focus (keyboard nav) */
.genesis-nav-menu .menu-item:focus-within > .sub-menu {
	display: block;
	left: auto;
	opacity: 1;
}
.genesis-nav-menu .sub-menu { background-color: #fff; }

/* Buttons — distinct focus-visible (outline) vs hover (box-shadow) */
.green-btn:focus-visible,
.cta:focus-visible,
.rev:focus-visible,
.rev-btn:focus-visible { outline: 2px solid #13734b; outline-offset: 3px; }
.wp-block-button .wp-block-button__link:focus { outline: none; }
.wp-block-button .wp-block-button__link:focus-visible { outline: 2px solid #13734b; outline-offset: 3px; }

/* ── SIDEBAR TOGGLE ──────────────────────────────────────────────────── */
#close-sidebar { background: none !important; border: none !important; box-shadow: none !important; }
#close-sidebar:hover { background: none !important; box-shadow: none !important; }

/* ── MISC ────────────────────────────────────────────────────────────── */
#beehiiv-subscribe-form,
.beehiiv-subscribe-form { padding: 0 !important; }
.page-id-18 .entry-content h4 { margin-top: 0; }

/* ── RESPONSIVE ──────────────────────────────────────────────────────── */
@media screen and (max-width: 1199px) and (min-width: 600px) {
	.how-it-works h2 { font-size: 26px !important; margin-left: 65px; }
	.how-it-works p { margin-left: 65px; }
	.wp-block-toolset-blocks-container.tb-container[data-toolset-blocks-container="d126ea92eb11d2dfcc6b6efabfaca3c6"] { padding-left: 75px !important; }
}

@media screen and (max-width: 960px) {
	.steps .gb-block-layout-column { max-width: 180px; margin: 0 auto; }
	.footer-cred { text-align: center; margin-top: -20px; }
	input { width: 100%; }
	.footer-widgets input.gform-button--white { width: 100%; }
	.mobile-center p, .mobile-center h1, .mobile-center { text-align: center !important; }
	.steps-container .gb-layout-column-wrap { display: block !important; }
	.block2 { margin-top: 750px !important; }
	.steps-number { margin-top: -7px; }
	.block2 h3 { font-size: 16px; }
}

@media screen and (max-width: 900px) {
	h1.wp-block-heading { margin-top: 100px; }
	.hero h1.wp-block-heading { margin-top: 0; }
}

@media screen and (max-width: 768px) {
	.news-events .view-all { text-align: left !important; }
	.mobile-badge { display: block; margin-bottom: 30px; }
	.badges { background: none !important; }
	.form-container h1 { font-size: 32px; }
	.form-container h2 { font-size: 28px; }
	input.wpv-reset-trigger { margin-top: 10px; }
}

@media screen and (max-width: 700px) {
	.steps-number { margin-top: -18px; }
	.block2 h3 { font-size: 20px; }
}

@media screen and (max-width: 600px) {
	.desktop-only { display: none; }
	.mobile-only { display: block; }
	.logos img { max-height: 25px; width: auto !important; }
	.logos .vert img { max-height: 30px; width: auto; }
	.how-it-works p { margin-left: 0; margin-top: 0 !important; }
	.how-it-works h2 { max-width: 250px; margin-left: 60px !important; }
	.steps-number { font-size: 70px !important; width: 40px !important; }
	.gb-block-layout-column-gap-2 { grid-gap: 0 .2em; }
	.banner-cta h2 { text-align: center; }
	.banner-cta .width-75 { text-align: center; width: 100%; }
	.site-container .wp-block-button .wp-block-button__link { width: 100% !important; }
	.wp-block-buttons > .wp-block-button { width: 100%; }
}
