/*
Theme Name: ONSIS Directory BlankSlate Child
Theme URI: https://45th.design / https://opencollective.com/blankslate
Template: blankslate
Author: 45th Parallel Design LLC
Author URI: https://45th.design
Description: Custom built for Peaceful Presence Project
Tags: accessibility-ready,one-column,two-columns,custom-menu,featured-images,microformats,sticky-post,threaded-comments,translation-ready
Version: 2024.2.1746481025
Updated: 2025-10-08 21:37:05
*/
/*========================= FONTS AND RESET =========================*/f
@font-face {
   font-family: 'montserratregular';
   src: url('webfonts/montserrat-regular-webfont.woff2') format('woff2'), url('webfonts/montserrat-regular-webfont.woff') format('woff');
   font-weight: normal;
   font-style: normal;
}
@font-face {
   font-family: 'montserrat_italic';
   src: url('webfonts/montserrat-italic-webfont.woff2') format('woff2'), url('webfonts/montserrat-italic-webfont.woff') format('woff');
   font-weight: normal;
   font-style: normal;
}
@font-face {
   font-family: 'montserratsemibold';
   src: url('webfonts/montserrat-semibold-webfont.woff2') format('woff2'), url('webfonts/montserrat-semibold-webfont.woff') format('woff');
   font-weight: normal;
   font-style: normal;
}
@font-face {
   font-family: 'montserratsemibold_italic';
   src: url('webfonts/montserrat-semibolditalic-webfont.woff2') format('woff2'), url('webfonts/montserrat-semibolditalic-webfont.woff') format('woff');
   font-weight: normal;
   font-style: normal;
}
@font-face {
   font-family: 'montserratbold';
   src: url('webfonts/montserrat-bold-webfont.woff2') format('woff2'), url('webfonts/montserrat-bold-webfont.woff') format('woff');
   font-weight: normal;
   font-style: normal;
}
@font-face {
   font-family: 'montserratbold_italic';
   src: url('webfonts/montserrat-bolditalic-webfont.woff2') format('woff2'), url('webfonts/montserrat-bolditalic-webfont.woff') format('woff');
   font-weight: normal;
   font-style: normal;
}
@font-face {
   font-family: 'opensansregular';
   src: url('webfonts/opensans-regular-webfont.woff2') format('woff2'), url('webfonts/opensans-regular-webfont.woff') format('woff');
   font-weight: normal;
   font-style: normal;
}
@font-face {
   font-family: 'opensans_italic';
   src: url('webfonts/opensans-italic-webfont.woff2') format('woff2'), url('webfonts/opensans-italic-webfont.woff') format('woff');
   font-weight: normal;
   font-style: normal;
}
@font-face {
   font-family: 'opensanssemibold';
   src: url('webfonts/opensans-semibold-webfont.woff2') format('woff2'), url('opensans-semibold-webfont.woff') format('woff');
   font-weight: normal;
   font-style: normal;
}
@font-face {
   font-family: 'opensanssemibold_italic';
   src: url('webfonts/opensans-semibolditalic-webfont.woff2') format('woff2'), url('opensans-semibolditalic-webfont.woff') format('woff');
   font-weight: normal;
   font-style: normal;
}
@font-face {
   font-family: 'opensansbold';
   src: url('webfonts/opensans-bold-webfont.woff2') format('woff2'), url('webfonts/opensans-bold-webfont.woff') format('woff');
   font-weight: normal;
   font-style: normal;
}
@font-face {
   font-family: 'opensansbold_italic';
   src: url('webfonts/opensans-bolditalic-webfont.woff2') format('woff2'), url('webfonts/opensans-bolditalic-webfont.woff') format('woff');
   font-weight: normal;
   font-style: normal;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, main, menu, nav, output, ruby, section, summary, time, mark, audio, video {
   margin: 0;
   padding: 0;
   border: 0;
   font-size: 100%;
   line-height: 140%;
   vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
   display: block;
}
body {
   line-height: 140%;
}
ul {
   list-style: none;
}
blockquote, q {
   margin: 20px 0px 20px 30px;
   quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
   content: '';
   content: none;
}
table {
   border-collapse: collapse;
   border-spacing: 0;
}
/* ======================== 2. VARIABLES ========================= */ 
:root {
   --sage: rgba(192, 202, 193, 1); /*#c0cac1*/
	--sage-light: rgba(230, 234, 230, 1); /*#e6eae6*/
   --sage-dark: rgba(64, 86, 81, 1); /*#405651*/
   --teal: rgba(162, 190, 185, 1); /*#a2beb9*/
   --gold: rgba(211, 186, 134, 1); /*#d3ba86*/
   --blush: rgba(219, 196, 177, 1); /*#dbc4b1*/
   --slate: rgba(87, 96, 96, 1); /*#576060*/
	--slate-dark: rgba(70, 78, 78, 1); /*#464E4E*/
   --gray-dark: rgba(51, 51, 51, 1); /*#333333*/
   --gray-light: rgba(192, 202, 193, 1); /*#c0cac1*/
   --black: rgba(0, 0, 0, 1);
   --white: rgba(255, 255, 255, 1);
   --regular: "opensansregular", "Helvetica Neue", Helvetica, Arial, sans-serif;
   --italic: "opensans_italic", "Helvetica Neue", Helvetica, Arial, sans-serif;
   --semibold: "opensanssemibold", "Helvetica Neue", Helvetica, Arial, sans-serif;
   --semibold-italic: "opensanssemibold_italic", "Helvetica Neue", Helvetica, Arial, sans-serif;
   --bold: "opensansbold", "Helvetica Neue", Helvetica, Arial, sans-serif;
   --bold-italic: "opensansbold_italic", "Helvetica Neue", Helvetica, Arial, sans-serif;
   --heading-regular: "montserratregular", "Helvetica Neue", Helvetica, Arial, sans-serif;
   --heading-italic: "montserrat_italic", "Helvetica Neue", Helvetica, Arial, sans-serif;
   --heading-semibold: "montserratsemibold", "Helvetica Neue", Helvetica, Arial, sans-serif;
   --heading-semibold-italic: "montserratsemibold_italic", "Helvetica Neue", Helvetica, Arial, sans-serif;
   --heading-bold: "montserratbold", "Helvetica Neue", Helvetica, Arial, sans-serif;
   --heading-bold-italic: "montserratbold_italic", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
/*==========================  3. BASE  ===========================*/
* {
   box-sizing: border-box;
   color: var(--slate);
   font-family: var(--regular);
   -webkit-font-feature-settings: "liga";
   font-feature-settings: "liga";
	font-size: clamp(1rem, 2vw, 1.3rem);
   font-weight: 300;
   line-height: 1.35;
   -webkit-text-size-adjust: 100%;
   -ms-text-size-adjust: 100%;
   text-size-adjust: 100%;
   word-break: break-word;
}
p, em, strong, ul, ol, label, a, table, span {
   font-family: var(--regular);
   font-size: clamp(1rem, 2vw, 1.3rem);
   font-weight: normal;
   line-height: 1.35;
   padding-bottom: .8rem;
}
p, span, ul.square li, ul.circle li, ul.triangle li, ul.arrow li, ul li, ol li {
   color: var(--gray-dark);
   font-size: clamp(1rem, 2vw, 1.3rem);
   font-weight: normal;
   line-height: 1.35;
   padding-bottom: .8em;
}
span {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
   padding-bottom: 0;
}
p:empty {
   display: none;
}
ul.square li, ul.circle li, ul.arrow li, ul li {
   list-style: none;
}
ul li {
   list-style: disc;
}
ol li {
   list-style: decimal;
}
ul li > ul:not(.dropdown) {
   padding-top: 1em;
}
ul.square li, ul li, ol li {
   margin-left: 20px;
}
ul.square li {
   list-style: square;
}
ul.square > li > ul.square > li:last-child {
   padding-bottom: 0;
}
ul.square > li > ul.square > li:first-child {
   padding-top: 1em;
}
ul.arrow li:before {
   content: "\21AA\00a0\00a0";
}
ul.arrow li {
   text-indent: -26px;
   margin-left: 26px;
}
a:link {
   transition: opacity .5s ease-out; /* Double the duration */
}
a, a strong, a em {
   color: var(--sage-dark);
	font-size: inherit;
   text-decoration: underline solid;
	transition: opacity .5s ease;
}
a:visited, a strong:visited, a em:visited {
   color: rgba(64, 86, 81, .7);
   text-decoration: underline solid;
}
a em {
	font-size: inherit;
   font-style: italic;
}
a:hover, a:focus, a em:hover, a em:focus {
   opacity: 70%;
   text-decoration: underline dashed;
}
h1 strong, h2 strong, h3 strong, h4 strong {
   color: var(--slate);
   font-family: var(--heading-bold);
}
strong {
   font-family: var(--bold);
	font-size: inherit;
   font-style: normal;
   font-weight: normal;
}
em {
   font-family: var(--italic);
	font-size: inherit;
   font-style: normal;
   font-weight: normal;
}
em strong, strong em {
   font-family: var(--bold-italic);
   font-style: normal;
   font-weight: normal;
}
h1, h2, h3, h4 {
   color: var(--slate);
    letter-spacing: 2px;
    transform: scaleY(1.1);
    transform-origin: 0 0;
    text-transform: uppercase;
}
h1 em, h2 em, h3 em, h4 em {
   font-family: var(--heading-bold-italic);
}
h1 {
	font-family: var(--heading-bold);
   font-size: clamp(1.5rem, 2.5vw, 2.1rem);
   line-height: 1.1;
}
h2 {
	font-family: var(--heading-bold);
   font-size: clamp(1.3rem, 2.2vw, 1.8rem);
   line-height: 1.2;
   padding-bottom: 1.3rem;
}
h3 {
	font-family: var(--heading-bold);
   font-size: clamp(1.1rem, 2vw, 1.4rem);
   line-height: 1.3;
   padding-bottom: 1rem;
}
@media screen and (max-width: 399px) {
	h1 {
      font-size: 1.3rem;
   }
	h2 {
      font-size: 1.2rem;
		padding-bottom: 1rem;
   }
}
h4, h4 a {
	font-family: var(--heading-semibold);
   font-size: clamp(1rem, 2vw, 1.4rem);
   line-height: 1.4;
   padding-bottom: .8rem;
}
h1.smaller, h1.smaller a {
	font-family: var(--heading-bold);
   font-size: clamp(1.3rem, 2vw, 1.8rem);
   line-height: 1.2;
   padding-bottom: 1.3rem;
}
h2.smaller, h2.smaller a {
	font-family: var(--heading-bold);
   font-size: clamp(1.1rem, 2vw, 1.4rem);
   line-height: 1.3;
   padding-bottom: 1rem;
}
h3.smaller, h3.smaller a {
	font-family: var(--heading-bold);
   font-size: clamp(1rem, 2vw, 1.3rem);
   line-height: 1.3;
   padding-bottom: .8rem;
}
h4.smaller, h4.smaller a {
	font-family: var(--heading-semibold);
   font-size: clamp(.9rem, 2vw, 1.2rem);
   line-height: 1.3;
   padding-bottom: .8rem;
}

p + h1, p + h2, p + h3, p + h4, ul + h1, ul + h2, ul + h3, ul + h4, ol + h1, ol + h2, ol + h3, ol + h4 {
   padding-top: .6em;
}
p + button {
   margin-top: 10px;
}
p.larger {
   font-size: clamp(1.1rem, 2vw, 1.7rem);
}
img + button {
   margin-top: 24px;
}
button + h3, button + h4 {
   margin-top: 40px;
}
/*--------------------------  Theme ------------------------------*/
.sage-color {
   color: var(--sage) !important;
}
.sage-bg {
   background: var(--sage) !important;
}
.sage-light-color {
   color: var(--sage-light) !important;
}
.sage-light-bg {
   background: var(--sage-light) !important;
}
.sage-dark-color {
   color: var(--sage-dark) !important;
}
.sage-dark-bg {
   background: var(--sage-dark) !important;
}
.teal-color {
   color: var(--teal) !important;
}
.teal-bg {
   background: var(--teal) !important;
}
.gold-color {
   color: var(--gold) !important;
}
.gold-bg {
   background: var(--gold) !important;
}
.blush-color {
   color: var(--blush) !important;
}
.blush-bg {
   background: var(--blush) !important;
}
.slate-color {
   color: var(--slate) !important;
}
.slate-bg {
   background: var(--slate) !important;
}
.gray-dark-color {
   color: var(--gray-dark) !important;
}
.gray-dark-bg {
   background: var(--gray-dark) !important;
}
.gray-light-color {
   color: var(--gray-light) !important;
}
.gray-light-bg {
   background: var(--gray-light) !important;
}
.black-color {
   color: var(--black) !important;
}
.black-bg {
   background: var(--black) !important;
}
.white-color {
   color: var(--white) !important;
}
.white-bg {
   background: var(--white) !important;
}
.font-size-90 {
   font-size: 90% !important;
}
.font-size-80 {
   font-size: 80% !important;
}
.font-size-70 {
   font-size: 70% !important;
}
.border-none {
   border: none !important;
}
.border {
   border: 1px solid var(--sage);
}
.border-bottom {
   border-bottom: 1px solid var(--sage);
}
.cursor-pointer:hover {
   cursor: pointer;
}
.overflow {
   overflow-x: auto;
   overflow-y: hidden;
}
.display-none {
   display: none;
}
.text-align-left {
   text-align: left;
}
.text-align-right {
   text-align: right;
}
.text-align-center {
   text-align: center;
}
.relative {
   position: relative;
}
.box-shadow {
   box-shadow: 0px 1px 3px var(--slate);
}
/*to visually hide text from everyone except screen readers*/
.sr-only {
   position: absolute;
   width: 1px;
   height: 1px;
   margin: -1px;
   padding: 0;
   overflow: hidden;
   clip: rect(0, 0, 0, 0);
   border: 0;
   white-space: nowrap; /* added to handle inline-block elements */
}
/*============================== 4. LAYOUT  ==============================*/
.flex-cont {
   display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */
   display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */
   display: -ms-flexbox; /* TWEENER - IE 10 */
   display: flexbox; /* TWEENER - IE 10 */
   display: -webkit-flex; /* NEW - Chrome */
   display: flex;
   -webkit-box-direction: row;
   -webkit-flex-direction: row;
   -moz-box-flex-direction: row;
   -ms-flex-direction: row;
   flex-direction: row;
   -webkit-box-wrap: nowrap;
   -webkit-flex-wrap: nowrap;
   -moz-box-flex-wrap: nowrap;
   -ms-flex-wrap: nowrap;
   flex-wrap: nowrap;
   -webkit-box-pack: center;
   -webkit-justify-content: center;
   -moz-box-justify-content: center;
   -ms-flex-pack: center;
   justify-content: center;
   -webkit-align-items: center;
   -moz-box-align-items: center;
   -ms-align-items: center;
   align-items: center;
}
.flex-left {
   -webkit-box-pack: left;
   -webkit-justify-content: left;
   -moz-box-justify-content: left;
   -ms-flex-pack: left;
   justify-content: left;
}
.flex-spread {
   -webkit-box-pack: space-between;
   -webkit-justify-content: space-between;
   -moz-box-justify-content: space-between;
   -ms-flex-pack: space-between;
   justify-content: space-between;
}
.flex-around {
   -webkit-box-pack: space-around;
   -webkit-justify-content: space-around;
   -moz-box-justify-content: space-around;
   -ms-flex-pack: space-around;
   justify-content: space-around;
}
.flex-wrap {
   -webkit-box-wrap: wrap;
   -webkit-flex-wrap: wrap;
   -moz-box-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
}
.flex-stretch {
   -webkit-align-items: stretch;
   -moz-box-align-items: stretch;
   -ms-align-items: stretch;
   align-items: stretch;
}
.flex-center-vert {
   -webkit-align-items: center;
   -moz-box-align-items: center;
   -ms-align-items: center;
   align-items: center;
}
.flex-top {
   -webkit-align-items: flex-start;
   -moz-box-align-items: flex-start;
   -ms-align-items: flex-start;
   align-items: flex-start;
}
.flex-column {
   -webkit-flex-direction: column;
   -moz-box-flex-direction: column;
   -ms-flex-direction: column;
   flex-direction: column;
}
@media screen and (max-width: 599px) {
   .flex-column-mobile {
      -webkit-flex-direction: column;
      -moz-box-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
   }
   .flex-column-mobile > * {
      width: 100%; /* full width */
      /* or if you want them to grow/shrink as flex items, you can do: */
      /* flex: 0 0 100%; */
   }
}
.max-content {
   flex-basis: max-content;
}
.small-third, .large-third, .small-third-780, .large-third-780, .two-column {
   width: 100%;
}
@media screen and (min-width: 600px) {
   .small-third {
      width: 32%;
   }
   .large-third {
      width: 65%;
   }
}
@media screen and (max-width: 599px) {
   .small-third {
      margin-top: 4vw;
   }
}
@media screen and (min-width: 780px) {
   .small-third-780 {
      width: 31%;
   }
   .large-third-780 {
      width: 64%;
   }
	.two-column {
		width: 46%;
	}
}
@media screen and (max-width: 779px) {
   .small-third-780 {
      margin-top: 4vw;
   }
}
.center {
   margin-left: auto;
   margin-right: auto;
}
.left {
   margin-right: auto;
}
.right {
   margin-left: auto;
}
.center-text {
   text-align: center;
}
.left-text {
   text-align: left;
}
.right-text {
   text-align: right;
}
.inline-block {
   display: inline-block !important;
}
.width-15 {
   width: calc(15 * 1%);
}
.width-20 {
   width: calc(20 * 1%);
}
.width-25 {
   width: calc(25 * 1%);
}
.width-33 {
   width: calc(33 * 1%);
}
.width-40 {
   width: calc(40 * 1%);
}
.width-45 {
   width: calc(45 * 1%);
}
.width-50 {
   width: calc(50 * 1%);
}
.width-60 {
   width: calc(60 * 1%);
}
.width-65 {
   width: calc(65 * 1%);
}
.width-70 {
   width: calc(69 * 1%);
}
.width-75 {
   width: calc(75 * 1%);
}
.width-100 {
   width: calc(100 * 1%) !important;
}
.margin-none {
   margin: 0px !important;
}
.margin-10 {
   margin: 10px !important;
}
.margin-20 {
   margin: 20px !important;
}
.margin-30 {
   margin: 30px !important;
}
.margin-40 {
   margin: 40px !important;
}
.margin-50 {
   margin: 50px !important;
}
.margin-top-2vw {
   margin-top: 2vw !important;
}
.margin-top-3vw {
   margin-top: 3vw !important;
}
.margin-top-4vw {
   margin-top: 4vw !important;
}
.margin-top-10 {
   margin-top: 10px !important;
}
.margin-top-20 {
   margin-top: 20px !important;
}
.margin-top-30 {
   margin-top: 30px !important;
}
.margin-top-40 {
   margin-top: 40px !important;
}
.margin-top-50 {
   margin-top: 50px !important;
}
.margin-top-70 {
   margin-top: 70px !important;
}
.margin-bottom-2vw {
   margin-bottom: 2vw !important;
}
.margin-bottom-3vw {
   margin-bottom: 3vw !important;
}
.margin-bottom-4vw {
   margin-bottom: 4vw !important;
}
.margin-bottom-10 {
   margin-bottom: 10px !important;
}
.margin-bottom-20 {
   margin-bottom: 20px !important;
}
.margin-bottom-30 {
   margin-bottom: 30px !important;
}
.margin-bottom-40 {
   margin-bottom: 40px !important;
}
.margin-bottom-50 {
   margin-bottom: 50px !important;
}
.margin-left-10 {
   margin-left: 10px !important;
}
.margin-left-20 {
   margin-left: 20px !important;
}
.margin-left-30 {
   margin-left: 30px !important;
}
.margin-left-40 {
   margin-left: 40px !important;
}
.margin-left-50 {
   margin-left: 50px !important;
}
.margin-right-10 {
   margin-right: 10px !important;
}
.margin-right-20 {
   margin-right: 20px !important;
}
.margin-right-30 {
   margin-right: 30px !important;
}
.margin-right-40 {
   margin-right: 40px !important;
}
.margin-right-50 {
   margin-right: 50px !important;
}
.max-width-1280 {
   max-width: 1280px;
}
.max-width-1500 {
   max-width: 1500px;
}
.padding-none {
   padding: 0px !important;
}
.padding-bottom-none {
   padding-bottom: 0px !important;
}
.padding-10 {
   padding: 10px !important;
}
.padding-20 {
   padding: 20px !important;
}
.padding-30 {
   padding: 30px !important;
}
.padding-40 {
   padding: 40px !important;
}
.padding-50 {
   padding: 50px !important;
}
.padding-top-3vw {
   padding-top: 3vw !important;
}
.padding-top-4vw {
   padding-top: 4vw !important;
}
.margin-top-3vw {
   margin-top: 3vw !important;
}
.margin-top-4vw {
   margin-top: 4vw !important;
}
.padding-top-10 {
   padding-top: 10px !important;
}
.padding-top-20 {
   padding-top: 20px !important;
}
.padding-top-30 {
   padding-top: 30px !important;
}
.padding-top-40 {
   padding-top: 40px !important;
}
.padding-top-50 {
   padding-top: 50px !important;
}
.padding-bottom-3vw {
   padding-bottom: 3vw !important;
}
.padding-bottom-4vw {
   padding-bottom: 4vw !important;
}
.margin-bottom-3vw {
   margin-bottom: 3vw !important;
}
.margin-bottom-4vw {
   margin-bottom: 4vw !important;
}
.padding-bottom-10 {
   padding-bottom: 10px !important;
}
.padding-bottom-20 {
   padding-bottom: 20px !important;
}
.padding-bottom-30 {
   padding-bottom: 30px !important;
}
.padding-bottom-40 {
   padding-bottom: 40px !important;
}
.padding-bottom-50 {
   padding-bottom: 50px !important;
}
.padding-left-10 {
   padding-left: 10px !important;
}
.padding-left-20 {
   padding-left: 20px !important;
}
.padding-left-30 {
   padding-left: 30px !important;
}
.padding-right-10 {
   padding-right: 10px !important;
}
.padding-right-20 {
   padding-right: 20px !important;
}
.padding-right-30 {
   padding-right: 30px !important;
}
.padding-left-3vw {
   padding-left: 3vw !important;
}
.padding-left-4vw {
   padding-left: 4vw !important;
}
.margin-left-3vw {
   margin-left: 3vw !important;
}
.margin-left-4vw {
   margin-left: 4vw !important;
}
.padding-right-3vw {
   padding-right: 3vw !important;
}
.padding-right-4vw {
   padding-right: 4vw !important;
}
.margin-right-3vw {
   margin-right: 3vw !important;
}
.margin-right-4vw {
   margin-right: 4vw !important;
}
@media screen and (max-width: 779px) {
	.margin-bottom-2vw {
      margin-bottom: 30px !important;
   }
   .margin-bottom-3vw {
      margin-bottom: 40px !important;
   }
   .margin-bottom-4vw {
      margin-bottom: 50px !important;
   }
	.margin-left-2vw {
      margin-left: 30px !important;
   }
   .margin-left-3vw {
      margin-left: 30px !important;
   }
   .margin-left-4vw {
      margin-left: 50px !important;
   }
	.margin-right-2vw {
      margin-right: 30px !important;
   }
   .margin-right-3vw {
      margin-right: 30px !important;
   }
   .margin-right-4vw {
      margin-right: 50px !important;
   }
	.margin-top-2vw {
      margin-top: 30px !important;
   }
   .margin-top-3vw {
      margin-top: 40px !important;
   }
   .margin-top-4vw {
      margin-top: 50px !important;
   }
	.padding-bottom-2vw {
      padding-bottom: 30px !important;
   }
   .padding-bottom-3vw {
      padding-bottom: 40px !important;
   }
   .padding-bottom-4vw {
      padding-bottom: 50px !important;
   }
	.padding-left-2vw {
      padding-left: 30px !important;
   }
   .padding-left-3vw {
      padding-left: 30px !important;
   }
   .padding-left-4vw {
      padding-left: 50px !important;
   }
	.padding-right-2vw {
      padding-right: 30px !important;
   }
   .padding-right-3vw {
      padding-right: 30px !important;
   }
   .padding-right-4vw {
      padding-right: 50px !important;
   }
	.padding-top-2vw {
      padding-top: 30px !important;
   }
   .padding-top-3vw {
      padding-top: 40px !important;
   }
   .padding-top-4vw {
      padding-top: 50px !important;
   }
}
.width-100 {
   width: 100% !important;
}
@media screen and (max-width: 779px) {
   .width-47 {
      width: 100%;
   }
}
.width-30 {
   width: 100%;
}
@media screen and (min-width: 479px) and (max-width: 779px) {
   .width-30 {
      width: 46%;
   }
}
@media screen and (min-width: 780px) {
   .width-30 {
      width: 30%;
   }
	.width-47 {
      width: 47%;
   }
}
.cards-cont .columns-four > div {
   margin-bottom: 40px;
}
.cards-grid {
   display: grid;
   grid-template-columns: 1fr;
   grid-column-gap: 30px;
   grid-row-gap: 50px;
}
.cards-grid > div img {
   background: #ffffff;
   box-shadow: 0px 1px 3px var(--slate);
}
.cards-grid p a {
   font-size: 1.1rem;
}
@media screen and (min-width: 400px) and (max-width: 599px) {
	.cards-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-column-gap: 30px;
      grid-row-gap: 50px;
   }
   
}
@media screen and (min-width: 600px) and (max-width: 779px) {
   .cards-grid {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      grid-column-gap: 40px;
      grid-row-gap: 50px;
   }
   .grid-4-col {
      grid-template-columns: 1fr 1fr 1fr;
      grid-column-gap: 40px;
      grid-row-gap: 50px;
   }
}
@media screen and (min-width: 780px) {
   .cards-grid {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr 1fr;
      grid-column-gap: 50px;
      grid-row-gap: 50px;
   }
}
.grid-100 {
   display: grid;
   grid-template-columns: 1fr;
}
@media screen and (min-width: 600px) {
   .grid-50-50 {
      grid-template-columns: 1fr 1fr;
      grid-column-gap: 40px;
      grid-row-gap: 50px;
   }
}

/*=============================== NAVIGATION STYLES ================================*/
*:focus:not(.gallery) {
   outline: 2px dashed var(--gray-dark) !important;
   outline-offset: -2px !important;
   box-shadow: 0 0 0 2px var(--white) inset !important;
}
.visually-hidden {
   position: absolute !important;
   width: 1px !important;
   height: 1px !important;
   padding: 0 !important;
   margin: -1px !important;
   overflow: hidden !important;
   clip: rect(0, 0, 0, 0) !important;
   white-space: nowrap !important;
   border: 0 !important;
}
header {
   position: relative;
}
nav {
   position: relative;
   height: 7vw;
   margin: 0;
   max-height: 140px;
   min-height: 64px;
   z-index: 100;
}
.logo-link {
   display: block;
   left: 18px;
   min-width: 200px;
   max-width: 21vw;
   position: absolute;
   top: .5vw;
   width: 21vw;
   z-index: 101;
}
nav ul {
   list-style: none;
   background-color: var(--slate);
   color: var(--gray-dark);
   margin: 0;
   padding: 0;
}
nav > ul {
   display: none;
   flex-direction: column;
}
nav > ul.menu {
	background-color: var(--sage);
   background-image: url('/wp-content/uploads/photo-header-interior-pages-dark-mountains.jpg');
   background-repeat: no-repeat;
   background-size: 100%;
   background-position: 0% 5%;
}
@media screen and (max-width: 959px) {
	header {
	  background-color: var(--sage);
      background-image: url('/wp-content/uploads/photo-header-interior-pages-dark-mountains.jpg');
      background-repeat: no-repeat;
      background-size: 100%;
      background-position: 0% 5%;
	}
	.header-cont nav > button {
		box-shadow: none;
		color: var(--white);
		min-height: 64px;
	}
}
.header-home-cont header {
	background: none;
}
.header-home-cont nav > ul.show, .header-cont nav > ul.show {
	background: rgb(255, 255, 255, .9);
	box-shadow: 1px 1px 3px var(--slate);
   display: flex;
	margin-left: auto;
	margin-right: 0;
	width: 320px;
}
.header-cont nav > ul.show {
	background: var(--slate);
	color: var(--white);
}
.header-home-cont nav > ul.show > li:first-child {
	padding-top: .5rem;
}
.header-home-cont nav > ul.show > li:last-child {
	padding-bottom: .5rem;
}

@media screen and (min-width: 960px) {
   nav > ul {
      align-items: center;
      display: flex;
      flex-direction: row;
      justify-content: flex-end;
   }
}
nav > button {
   display: block;
   border: 0;
   background-color: transparent;
   cursor: pointer;
   padding: 0.5rem 2rem;
   font-size: 3.5vw;
   margin-left: auto;
	width: auto;
}
@media screen and (max-width: 599px) {
   nav > button {
      font-size: 24px;
   }
}

@media screen and (min-width: 960px) {
   nav > button {
      display: none;
   }
   nav ul:not(.sub-menu) {
      height: 7vw;
      max-height: 140px;
   }
}
nav ul.dropdown {
   display: none;
   flex-direction: column;
   min-width: 240px;
}
nav ul.dropdown.show {
   display: flex;
}
@media screen and (max-width: 959px) {
   nav ul.dropdown {
      padding-left: 20px;
   }
}
@media screen and (min-width: 960px) {
   nav ul.dropdown {
      position: absolute;
      top: 100%;
      left: 0;
   }
   .header-home-cont nav li.dropdown ul.sub-menu {
		background: rgba(255, 255, 255, .9);
   }
}
nav ul li {
   list-style: none;
   margin: 0;
   padding: 0;
	position: relative;
}
@media screen and (min-width: 960px) {
   nav ul li button {
      margin: 0 25px;
   }
}
nav ul li.dropdown > a::after {
   content: "▼";
   margin-left: 0.5rem;
   display: inline-block;
}

/*member login button*/
nav ul li#menu-item-179 {
	background: var(--sage-dark);
	background-blend-mode: multiply;
	padding: 14px;
   opacity: .9;
   margin-top: 5px;
}
nav ul li#menu-item-179 a {
	font-size: .9rem;
	padding: 0;
}
.header-home-cont nav ul li#menu-item-179 a {
	color: var(--white);
}
nav ul li a {
	color: var(--gray-dark);
   display: flex;
   font-family: var(--heading-regular);
   font-weight: 500;
   font-size: clamp(1rem, 2vw, 1.1rem);
   justify-content: space-between;
   margin: 0;
   padding: 10px 20px;
   text-decoration: none;
}
.header-cont nav ul li a, .header-home-cont nav ul li a {
	color: var(--white);
	font-family: var(--heading-regular);
	letter-spacing: 2px;
   text-transform: uppercase;
	transform: scaleY(1.1);
   transform-origin: 0 0;
}

.header-home-cont nav ul li a {
	color: var(--slate);
}
@media screen and (min-width: 960px) {
   nav ul li a {
      padding: 26px 20px;
   }
}
@media screen and (min-width: 960px) and (max-width: 1399px) {
	nav ul li a {
		font-size: .94rem;
	}
}

/* Hide menu item for logged-out users */
body:not(.logged-in) .menu-item-208 {
    display: none !important;
}

/* Hide menu item for logged-in users */
body.logged-in .menu-item-145 {
    display: none !important;
}

.page-title-cont {
	background-color: var(--sage);
	padding-bottom: 3vw;
	padding-top: 3vw;
}
@media screen and (max-width: 479px) {
	.page-title-cont {
      padding-bottom: 32px;
      padding-top: 20px;
   }
}

/*=============================== BUTTONS STYLES ================================*/


button, button:hover, button.facetwp-reset, button.show-more-btn {
   font-family: var(--heading-semibold);
   font-size: .9rem;
   letter-spacing: 2px;
   transform: scaleY(1.1);
   transform-origin: 0 0;
   text-transform: uppercase;
   text-decoration: none;
}
button:hover, .button:hover {
   opacity: .7;
}
button, button.show-more-btn {
   border: 0px;
   border-radius: 1px;
   box-shadow: 0px 1px 3px var(--slate);
   display: block;
   max-width: 100%;
   width: 250px;
}
.button {
   background-color: var(--blush);
   border: 0px;
   border-radius: 1px;
   box-shadow: 0px 1px 3px var(--slate);
   display: block;
   font-family: var(--heading-semibold);
   font-size: .9rem;
   letter-spacing: 2px;
	margin-top: 10px;
   max-width: 100%;
   padding: 10px;
   transform: scaleY(1.1);
   transform-origin: 0 0;
   text-align: center;
   text-transform: uppercase;
   text-decoration: none;
   width: 250px;
}
@media screen and (max-width: 479px) {
   .button, .button:hover, button.facetwp-reset {
      font-size: 1rem;
   }
}
.button.sage-btn {
   background-color: var(--sage);
	color: var(--gray-dark); 
}
.button.teal-btn {
   background-color: var(--teal);
	color: var(--gray-dark); 
}
.button.blush-btn, button.facetwp-reset {
   background-color: var(--blush);
	color: var(--gray-dark); 
}
.button.gold-btn {
   background-color: var(--gold);
	color: var(--gray-dark); 
}
.button.slate-btn {
   background-color: var(--slate);
	color: var(--white); 
}
.button.sage-btn, .button.teal-btn, .button.blush-btn, .button.gold-btn, .button.slate-btn {
   color: var(--gray-dark);
   display: block;
   padding-bottom: 10px;
   padding-top: 10px;
   text-decoration: none;
}
.button.slate-btn {
	color: var(--white);
}
.gform_wrapper form[id^="gform_"] .gform_footer input[type="submit"],
.gform_wrapper form[id^="gform_"] .gform_footer .gform_button,
.gform_wrapper form[id^="gform_"] .gform_page_footer input[type="submit"],
.gform_wrapper form[id^="gform_"] .gform_page_footer .gform_button button[type="submit"], input[type="submit"]:not(.adminbar-button), .gfield-choice-toggle-all button {
   background-color: var(--slate) !important;
   border: 0px !important;
   border-radius: 2px !important;
   box-shadow: 0px 1px 3px var(--slate) !important;
	color: var(--white) !important;
   display: block !important;
	font-family: var(--heading-semibold) !important;
	font-size: .9rem !important;
	letter-spacing: 2px !important;
	max-width: 100% !important;
	padding-bottom: 10px !important;
   padding-top: 10px !important;
    transform: scaleY(1.1) !important;
    transform-origin: 0 0 !important;
    text-transform: uppercase !important;
	text-decoration: none !important;
   width: 300px !important;
}
.gform_wrapper form[id^="gform_"] .gform_footer input[type="submit"]:hover,
.gform_wrapper form[id^="gform_"] .gform_footer .gform_button:hover,
.gform_wrapper form[id^="gform_"] .gform_page_footer input[type="submit"]:hover,
.gform_wrapper form[id^="gform_"] .gform_page_footer .gform_button:hover, input[type="submit"]:hover, gfield-choice-toggle-all button:hover {
	opacity: .7 !important;
}

#gform_2 #ginput_base_price_2_6 {
	box-shadow: none!important;
}




/*=============================== GRAVITY FORM, LOGIN FORM STYLES ================================*/

#loginform {
	background: var(--sage-light);
	color: var(--slate);
	padding: 3vw;
}
@media screen and (max-width: 799px) {
	#loginform {
      background: var(--sage-light);
      color: var(--slate);
      padding: 30px;
   }
}
#loginform p, #loginform label {
	color: var(--slate);
	display: block;
}
#loginform input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]) {
	width: 100%;
}
#loginform  .login-remember label {
	display: flex;
	align-items: center;
}
#rememberme {
	background-color: var(--white);
}
.ginput_container.ginput_container_turnstile {
	overflow: hidden !important;
}
.gform_wrapper .gfield_password_strength {
	font-family: var(--regular) !important;
}
.gform_wrapper .gfield_required {
   line-height: 100%;
   padding-bottom: 0;
   font-size: 1em;
}
.gform_wrapper span.gfield_required.gfield_required_text {
   color: var(--gray-dark) !important;
}
.gform_wrapper {
   color: var(--white);
}
.gform_wrapper span {
   padding-bottom: 0 !important;
}
.gform_wrapper .gform_heading {
   display: none;
}
.gform_wrapper input[type="submit"],
.gform_wrapper button[type="submit"],
.gform_wrapper .gform_button, input[type="submit"]  {
   transition: .5s all ease !important;
	max-width: 100% !important;
   width: 300px !important;
   -webkit-appearance: none !important;
}
.gform_wrapper textarea, textarea {
   min-height: 200px;
}
@media screen and (max-width: 479px) {
   .gform_wrapper .gform_footer input.button, .gform_wrapper .gform_footer input[type="submit"], .gform_wrapper .gform_page_footer input.button, .gform_wrapper .gform_page_footer input[type="submit"], input[type="submit"] {
      width: 100% !important;
   }
}
.gform_wrapper .gform_footer input.button:hover, .gform_wrapper .gform_footer input[type="submit"]:hover, .gform_wrapper .gform_page_footer input.button:hover, .gform_wrapper .gform_page_footer input[type="submit"]:hover, input[type="submit"]:hover {
   opacity: .7;
}
/*gap between columns */
.gform-theme--foundation .gform_fields {
	-moz-column-gap: 2vw !important;
    column-gap: 2vw !important;
}
/*gap between rows*/
.gform-theme--foundation .gform_fields {
	grid-row-gap: 1vw !important;
	row-gap: 1vw !important;
}
/*checkbox styling*/
.gform_wrapper form[id^="gform_"] input[type="checkbox"], #input_3_5_1, input[type="checkbox"] {
   accent-color: var(--teal) !important;
   -webkit-appearance: none !important; /* for Safari/Chrome */
   -moz-appearance: none !important;    /* for Firefox */
   appearance: none !important;        /* standard property */
   background-clip: content-box !important;
   border: 1px solid var(--teal) !important;
   height: 24px !important;
   margin-top: 5px !important;
   width: 24px !important;
}
input[type="checkbox"]:checked {
   background-color: var(--teal) !important;
}

/*vertically center checkboxes and their labels*/
.gform_wrapper form[id^="gform_"] .gform-theme--framework .gfield--type-choice .gchoice, .gform_wrapper form[id^="gform_"] .gform-theme--framework .gfield--type-choice .gchoice, .gform-theme--framework .gfield--type-choice .ginput_container_consent {
   display: flex !important;
   align-items: center !important;
	font-family: var(--regular) !important;
	font-weight: 400 !important;
	letter-spacing: 0px !important;
    transform: scaleY(1) !important;
    transform-origin: 0 0 !important;
	text-transform: none !important;
}

/*progress bar (for logo upload)*/
.gform-theme--framework .gfield:where(.gfield--type-fileupload,.gfield--input-type-fileupload) .ginput_preview .gfield_fileupload_progressbar_progress {
    background-color: var(--sage) !important;
}
.gform_wrapper form[id^="gform_"] .gfield_consent_label {
	font-family: var(--regular) !important;
   font-size: clamp(1rem, 2vw, 1.5rem) !important;
   font-weight: 400 !important;
	letter-spacing: 0px !important;
   line-height: 1.35 !important;
	transform: scaleY(1) !important;
    transform-origin: 0 0 !important;
	text-transform: none !important;
}
.gform_wrapper form[id^="gform_"] .gfield_consent_label a {
   color: var(--sage-dark) !important;
	font-family: var(--regular) !important;
	font-size: inherit !important;
   font-weight: 500 !important;
	letter-spacing: 0px !important;
    transform: scaleY(1) !important;
    transform-origin: 0 0 !important;
   text-decoration: underline !important;
	text-transform: none !important;
}
.gform_wrapper form[id^="gform_"] .gfield_consent_label a:hover {
   color: var(--gray-dark) !important;
   text-decoration: underline dashed !important;
}
.gform_wrapper .gform_footer {
   text-align: center !important;
}
.gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]){
   background-color: var(--white) !important;
	height: 60px !important;
   margin-left: auto !important;
   margin-right: auto !important;
}
#loginform input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]) {
}
@media screen and (max-width: 479px) {
   .gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]), textarea, #loginform input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]) {
      width: 100% !important;
   }
}
@media screen and (max-width: 799px) {
	.gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="image"]):not([type="file"]), #loginform input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="image"]):not([type="file"]) {
      height: 46px !important;
   }
}
.gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]), textarea, .gform_wrapper select, #loginform input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]), select {
   background-color: var(--white) !important;
   border-block-end-color: transparent !important;
   border-block-start-color: transparent !important;
   border-inline-end-color: transparent !important;
   border-inline-start-color: transparent !important;
	box-shadow: 0px 1px 3px var(--slate) !important;
	font-family: var(--regular) !important;
	font-size: 1rem !important;
   padding: 10px 16px !important;
}
.gform_wrapper select, select {
   padding: 0px 16px !important;
}
.gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):focus, textarea:focus {
   background: var(--sage-light) !important;
}

.gform_wrapper .gfield {
   margin-top: 24px !important;
}
.gform_wrapper .gfield.margin-top-minus-50 {
   margin-top: -50px !important;
}
.gform_wrapper label, .gform_wrapper label.gfield_label, .gform_wrapper legend.gfield_label, .gform_wrapper ul.gfield_checkbox li label, .gform_wrapper ul.gfield_radio li label, label {
   color: var(--gray-dark) !important;
   font-family: var(--heading-semibold) !important;
   font-size: 1.2rem !important;
   padding-left: 0px !important;
   text-align: left !important;
    letter-spacing: 2px;
	line-height: 1.2;
    transform: scaleY(1.1);
    transform-origin: 0 0;
    text-transform: uppercase;
}
@media screen and (max-width: 479px) {
	.gform_wrapper label, .gform_wrapper label.gfield_label, .gform_wrapper legend.gfield_label, .gform_wrapper ul.gfield_checkbox li label, .gform_wrapper ul.gfield_radio li label, label {
      font-size: 1rem !important;
   }
}
.gform_wrapper label.gform-field-label.gform-field-label--type-inline {
	font-family: var(--regular) !important;
	font-size: 1rem !important;
	letter-spacing: normal;
	transform: scaleY(1);
    transform-origin: 0 0;
	text-transform: none;
	
}
.gform_wrapper .gform-field-label.gform-field-label--type-sub {
	font-size: .9rem !important;
}
.gform_wrapper .gfield_description {
	font-family: var(--regular) !important;
	font-size: .9rem !important;
}
.gform_wrapper .gfield_checkbox > div {
   display: flex !important;
   justify-content: left !important;
   padding-top: 10px !important;
}
.gform_wrapper .gfield_checkbox > div > label {
   padding-top: 3px !important;
}
.gform_wrapper div.validation_error {
   color: rgba(230, 110, 80, 1) !important;
   font-family: var(--regular) !important;
   font-size: 1.1em !important;
   font-weight: normal !important;
   border-top: 2px solid rgba(230, 110, 80, 1) !important;
   border-bottom: 2px solid rgba(230, 110, 80, 1) !important;
}
.gform_wrapper .validation_message {
   color: rgba(230, 110, 80, 1) !important;
   font-family: var(--regular) !important;
   font-size: 1.1em !important;
   font-weight: normal !important;
}
.gform_wrapper li.gfield.gfield_error, .gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
   margin-bottom: 6px !important;
   border-top: 1px solid rgba(230, 110, 80, 1) !important;
   border-bottom: 1px solid rgba(230, 110, 80, 1) !important;
   padding-bottom: 6px;
   padding-top: 6px;
   font-weight: normal !important;
}
.gform_wrapper span.gfield_required {
   color: rgba(230, 110, 80, 1) !important;
}
.gform_wrapper .top_label li.gfield.gf_right_half {
   padding-right: 0 !important;
}
.gform_wrapper li.gfield.gfield_error, .gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
   background-color: rgba(50, 50, 50, .1) !important;
}
.gform_wrapper span.gform_description {
   display: none !important;
}
.gform_wrapper div.ginput_container.ginput_recaptcha > div {
   margin-left: auto;
   margin-right: auto;
}
body .gform_wrapper ul.gform_fields li.gfield {
   padding-right: 0;
}
/* File upload button: font + colors */
.gform_wrapper .ginput_container_fileupload input[type="file"], input[type="file"] {
  font-family: var(--regular) !important;
  background-color: var(--slate) !important;
  color: var(--white) !important;
  border: transparent !important; 
}

/* Hover/keyboard focus */
.gform_wrapper .ginput_container_fileupload .gform_button_select_files:hover,
.gform_wrapper .ginput_container_fileupload .gform_button_select_files:focus {
  background-color: var(--slate-dark) !important;
  color: var(--white) !important;
}

/* Description/rules text under the field */
.gform_wrapper .ginput_container_fileupload .gfield_description,
.gform_wrapper .ginput_container_fileupload .gform_fileupload_rules {
  font-family: var(--regular) !important;
}
/*services provided checkboxes grid*/
@media screen and (min-width: 1100px) {
   #input_1_9 {
       grid-template-columns: repeat(2,1fr);
   }
}
@media screen and (max-width: 1099px) {
   #input_1_9 {
       grid-template-columns: repeat(1,1fr);
   }
}
/*------------------------ FACETWP STYLES ------------------------*/
.facetwp-facet {
	font-family: var(--regular);
}
.facetwp-checkbox {
   background: url("/wp-content/uploads/checkbox-bg.png") 0 50% no-repeat !important;
   background-size: auto;
   background-size: 18px 18px !important;
   margin-bottom: 10px !important;
   padding-left: 30px !important;
}
.facetwp-checkbox.checked {
   background: url("https://onsis.org/wp-content/uploads/checkbox-bg-checked.png") 0 50% no-repeat !important;
   background-size: auto;
   background-size: 18px 18px !important;
   margin-bottom: 10px !important;
   padding-left: 30px !important;
}


.facetwp-facet.facetwp-facet-search.facetwp-type-search, .facet-reset {
	display: inline-block;
}

.facet-reset {
	width: 160px;
}
.facet-reset, .facetwp-reset {
	height: 48px;
	margin-bottom: 44px;
	margin-left: 3%;
}
@media screen and (max-width: 579px) {
	.facet-reset, .facetwp-reset {
      margin-left: 0;
   }
}
.page-template-page-member-directory-map .facet-reset {
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
}
@media screen and (min-width: 1500px) {
	.page-template-page-member-directory-map .facet-reset {
      margin-top: 0px;
		position: absolute;
		left: -20px;
		top: 50%;
		width: 200px;
   }
}

/*to visually hide text from everyone except screen readers*/
.sr-only {
   position: absolute;
   width: 1px;
   height: 1px;
   margin: -1px;
   padding: 0;
   overflow: hidden;
   clip: rect(0, 0, 0, 0);
   border: 0;
   white-space: nowrap; /* added to handle inline-block elements */
}
.searchbar {
	width: 65%;
}
.facetwp-facet.facetwp-facet-search.facetwp-type-search {
	width: 100%;
}

.facetwp-input-wrap, .facetwp-search {
	height: 50px;
	width: 100%
}
.facetwp-search {
	border: none;
	box-shadow: 0px 1px 3px var(--slate);
	min-width: 0;
	padding-left: 24px;
}
/* Facet Toggle Styles */
.facet-toggles {
	margin-bottom: 2rem;
}
.facet-toggle-wrapper {
	margin-bottom: 1rem;
	border: 1px solid #ddd;
	border-radius: 4px;
}
.facet-toggle-button {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1rem 1.5rem;
	background: #f5f5f5;
	border: none;
	cursor: pointer;
	font-size: .9rem;
	font-weight: 600;
	text-align: left;
	transition: background-color 0.2s ease;
}
.facet-toggle-button:hover, .facet-toggle-button:focus {
	background: #e8e8e8;
	outline: 2px solid #0066cc;
	outline-offset: -2px;
}
.facet-toggle-button[aria-expanded="true"] {
	box-shadow: none;
}
.facet-toggle-label {
	flex: 1;
	font-family: var(--heading-semibold);
	font-size: 1.1rem;
	letter-spacing: 2px;
	transform: scaleY(1.1);
	transform-origin: 0 0;
	text-transform: uppercase;
	text-decoration: none;
}
.facet-toggle-icon {
	transition: transform 0.2s ease;
	font-size: 0.8em;
}
.facet-toggle-button[aria-expanded="true"] .facet-toggle-icon {
	transform: rotate(180deg);
}
.facet-toggle-content {
	padding: 1.5rem;
}
.facet-toggle-content[hidden] {
	display: none;
}
/* Ensure FacetWP checkboxes are accessible */
.facet-toggle-content .facetwp-checkbox {
	margin-bottom: 0.5rem;
}
.facet-toggle-content .facetwp-checkbox:focus-within {
	outline: 2px solid #0066cc;
	outline-offset: 2px;
}
.facetwp-display-value, .facetwp-counter, .facetwp-expand {
	font-size: 1.05rem;
}

@media screen and (min-width: 1230px) {
   .facetwp-facet-oregon_counties.facetwp-type-checkboxes {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-column-gap: 20px;
   }
}
@media screen and (min-width: 480px) and (max-width: 767px) {
	.facetwp-facet-oregon_counties.facetwp-type-checkboxes {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-column-gap: 20px;
   }
	.facet-toggle-wrapper.small-third, .facet-toggle-wrapper.large-third {
		width: 100%;
	}
}
@media screen and (max-width: 479px) {
    .facetwp-facet-oregon_counties.facetwp-type-checkboxes {
        display: grid;
        grid-template-columns: 1fr;
        grid-column-gap: 20px;
    }
}
.page-template-page-member-directory-map .facetwp-facet.facetwp-facet-oregon_counties.facetwp-type-checkboxes {
	display: none;
}
/*closable category bubbles*/
.facetwp-selections .facetwp-selection-value {
	background-color: var(--sage-light) !important;
	background-position-x: calc(100% - 8px) !important;
	background-position-y: 50% !important;
	background-repeat: no-repeat !important;
	background-size: 12px 12px !important;
	border-radius: 25px !important;
	box-shadow: 0px 1px 2px var(--slate) !important;
	color: var(--gray-dark);
	cursor: pointer !important;
	display: inline-block !important;
	font-size: 1rem !important;
	margin-bottom: 10px !important;
	margin-right: 10px !important;
	padding-right: 0px !important;
	padding: 5px 28px 5px 16px !important;
}
.facetwp-selections ul li {
	margin-left: 0;
}

/*=============================== PAGE STYLES ================================*/


/*------------------------ HOME PAGE STYLES ------------------------*/
.header-home-cont nav ul {
	background: transparent;
}

.header-inner {
	position: relative;
	width: 100%;
}
.header-img-cont {
	width: 100%;
}
.home .header-img-cont img {
	height: 90vh;
	margin-top: -160px;
	min-height: 570px;
	object-fit: cover;
	object-position: left 10%;
	opacity: 70%;
	width: 100%;
}
.logo-mobile {
	min-width: 190px;
	width: 21vw;
}
.header-home-inner-tagline {
	left: 50%;
	max-width: 1200px;
	position: absolute;
	top: 40%;
	transform: translate(-50%,-50%);
	width: 100%;
}
.header-home-inner-tagline h1, .header-home-inner-tagline p {
   text-wrap-style: balance;
}
.header-home-inner-tagline p {
	font-size: clamp(1.1rem, 2vw, 1.8rem);
	line-height: 1.3;
	margin-left: auto;
	margin-right: auto;
	max-width: 779px;
	padding-top: 20px;
}
.home-find-support-filters {
   margin-top: 50px;
}
@media screen and (min-width: 779px) {
   .header-home-inner-tagline h1, .header-home-inner-tagline p {
		text-align: center;
   }
	.home-find-support-filters {
      margin-top: 0;
   }
}
.home-mission-cont, .about-mission-cont, .ask-a-doula-cont {
	background-color: var(--sage);
   background-image: url('/wp-content/uploads/logo-icon-peaceful-presence-medium-gray.svg');
   background-repeat: no-repeat;
   background-size: 15vw;
   background-position: 105% 50%;
	margin-top: -6px;
}
@media screen and (max-width: 1399px) {
   .home-mission-cont, .about-mission-cont, .ask-a-doula-cont {
      background-image: url('/wp-content/uploads/logo-icon-peaceful-presence-medium-gray.svg');
		background-blend-mode: screen;
      background-repeat: no-repeat;
      background-size: 25vw;
      background-position: 120% 50%;
      margin-top: -6px;
   }
}
.about-mission-cont, .ask-a-doula-cont {
	background-color: var(--sage-light);
}
.home-find-support-map-heading img, .home-find-support-filters-heading img {
	padding-bottom: .75rem;
}
.stay-in-touch {
	background-color: var(--blush);
	background-image: url('/wp-content/uploads/photo-newsletter-signup-box-blossoms.png');
   background-repeat: no-repeat;
   background-size: 50vw;
   background-position: 100% 25%;
}
@media screen and (max-width: 899px) {
	.stay-in-touch {
      background-size: 120vw;
   }
}
@media screen and (max-width: 599px) {
	.stay-in-touch {
      background-image: none;
   }
}


/*------------------------ ABOUT PAGE STYLES ------------------------*/

.photo-block-cont {
   display: grid;
   grid-template-columns: 1fr;
}
.photo-block-cont .photo-block-text {
   background-color: var(--blush);
   margin-top: 3vw;
   margin-bottom: 3vw;
   order: 1;
}
.photo-block-cont .photo-block {
   order: 2;
}
.photo-block-text {
	background-blend-mode: hard-light;
	background-image: url('/wp-content/uploads/logo-icon-peaceful-presence-medium-gray.svg');
   background-repeat: no-repeat;
   background-position: 120% center;
   background-size: 35%;
   padding: 30px;
}
.photo-block-text h2, .photo-block-text p {
   color: var(--slate);
}
@media all and (min-width: 800px) {
   .photo-block-cont div:first-child {
      visibility: hidden;
      order: 1;
   }
   .photo-block-cont .photo-block-text {
      order: 2;
   }
   .photo-block-cont {
      background-image: url('/wp-content/uploads/photo-about-compassionate-care.jpg');
      background-repeat: no-repeat;
      background-position: 30px center;
      background-size: 55vw;
      grid-template-columns: 1fr 1.2fr;
   }
   .photo-block-text {
      padding: 4vw;
   }
}

.partner-item {
	box-shadow: 0px 0px 3px var(--slate);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 20px;
}
.partner-item a {
	text-decoration: none;
}
.partner-logo, .partner-title {
	text-align: center;
}
.partner-title {
	border-bottom: 1px solid var(--slate);
	margin-bottom: 20px;
}
.partner-title p {
	font-family: var(--semibold);
	padding-top: 10px;
	text-wrap: balance;
}
@media screen and (max-width: 599px) {
	.partner-title p {
      font-size: 1.5rem;
   }
}



/*------------------------ MEMBER BIO PAGE STYLES ------------------------*/

.member-profile-photo img {
	aspect-ratio: 1 / 1; 
	display: block;
  height: auto;
  object-fit: cover;         
  width: 100%;
}
.member-profile-website {
	border-bottom: 1px dashed var(--sage-dark);
}
.member-profile-services h2, .member-profile-counties h2 {
	display: flex;
	align-items: flex-start;
}
@media screen and (min-width: 960px) {
   .member-profile-services h2 img {
      margin-top: 3px;
   }
}

/*----------------------- MEMBER DIRECTORY, STATEWIDE RESOURCES PAGE STYLES  -----------------------*/

.card-cont:not(:last-child) {
	border-bottom: 1px dashed var(--sage);
}
.card-image {
	margin-right: 30px;
	width: 150px;
}

body:not(.page-template-page-resources) .card-image img {
	aspect-ratio: 1;
   object-fit: cover;
	margin-bottom: 20px;
	width: 100%;
}
.card-text-cont {
	width: calc(100% - 180px);
}
@media screen and (max-width: 479px) {
	.card-text-cont {
      width: 100%;
   }
}
@media screen and (min-width: 800px) {
	.card-image {
      width: 170px;
   }
	.card-text-cont {
      width: calc(100% - 200px);
   }
}
.members .card-meta {
	padding-top: 10px;
}
.members .card-meta-services p, .member-profile-services h2 {
    padding-left: 35px;
    background-image: url("/wp-content/uploads/icon-checkmark.svg");
	background-position: left 3px;
    background-repeat: no-repeat;
	background-size: 23px;
}

.members .card-meta-counties p, .member-profile-counties h2 {
    padding-left: 35px;
    background-image: url("/wp-content/uploads/icon-map-pin.svg");
	background-position: left 1px;
    background-repeat: no-repeat;
	background-size: 27px;
}
.member-profile-services p, .member-profile-counties p {
	padding-left: 35px;
}
.back-to-search {
	border-top: 1px dashed var(--sage);
}
.find-by-map-cont {
	border-top: 1px dashed var(--sage);
}
@media screen and (min-width: 600px) {
   .directory-map-svg-cont {
		width: 80%;
   }
}

/*------------------------------- CSS for the SHOW MORE Member Directory --------------------------------*/
.members-container {
   position: relative;
}

.member-card.hidden-card {
   display: none;
}

.members-gradient {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   height: 150px;
   background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 1) 100%);
   pointer-events: none;
   transition: opacity 0.3s ease;
}

.members-gradient.hidden {
   opacity: 0;
}
.show-more-container.hidden {
   display: none;
}



/*------------------------------- Payment Form --------------------------------*/
.p-Input input.Input:focus, .p-Input--focused {
    outline: 2px dashed var(--gray-dark) !important;
   outline-offset: -2px !important;
   box-shadow: 0 0 0 2px var(--white) inset !important;
    border-color: transparent !important;
    color: var(--gray-dark) !important;
}
.p-Field--labelFloating .p-Input .p-Input-input:not(.p-Input--matchFloatingLabelHeight):not(.p-PhoneInput), .p-Field--labelResting .p-Input .p-Input-input:not(.p-Input--matchFloatingLabelHeight):not(.p-PhoneInput), .p-Select select.Input, .page-template-page-payment #Field-numberInput {
	box-shadow: 0px 1px 3px var(--slate) !important;
	border-color: transparent !important;
	color: var(--gray-dark) !important;
}


/*------------------------ ASK A DOULA PAGE STYLES ------------------------*/

.ask-intro-cont p {
	padding-bottom: 0px;
}

.ask-photo-block-cont {
   display: grid;
   grid-template-columns: 1fr;
}
.ask-photo-block-cont .ask-photo-block-text {
   background-color: var(--blush);
   margin-bottom: 3vw;
   order: 1;
}
.ask-photo-block-cont .ask-photo-block {
   order: 2;
}
.ask-photo-block-text {
	background-blend-mode: hard-light;
	background-image: url('/wp-content/uploads/icon-quote.svg');
   background-repeat: no-repeat;
   background-position: 95% 95%;
   background-size: 25%;
   padding: 30px;
}
.ask-photo-block-text h2, .ask-photo-block-text p {
   color: var(--slate);
}
@media all and (min-width: 800px) {
   .ask-photo-block-cont div:first-child {
      visibility: hidden;
      order: 1;
   }
   .ask-photo-block-cont .ask-photo-block-text {
		margin-top: 3vw;
      order: 2;
   }
   .ask-photo-block-cont {
      background-image: url('/wp-content/uploads/photo-ask-doula.jpg');
      background-repeat: no-repeat;
      background-position: 30px center;
      background-size: 55vw;
      grid-template-columns: 1fr 1.2fr;
   }
   .ask-photo-block-text {
      padding: 4vw;
   }
	
}
@media all and (min-width: 1200px) {
	.ask-photo-block-text p {
		font-size: 1.4rem;
	}
}
.doula-help-image {
	margin-right: 30px;
	width: 200px;
}
.doula-help-image img {
	margin-bottom: 20px;
	width: 100%;
}
.doula-help-text-cont {
	width: calc(100% - 230px);
}
@media screen and (max-width: 479px) {
	.doula-help-image {
		margin-right: 0px;
		width: 100%;
	}
	.doula-help-text-cont {
      width: 100%;
   }
}
@media screen and (min-width: 480px) and (max-width: 799px) {
	.doula-help-image {
		margin-right: 0px;
		width: 30%;
	}
	.doula-help-text-cont {
      width: 65%;
   }
}
.interviewing-doula-cont > .flex-cont {
	padding-bottom: .85em;
}

.interviewing-doula-cont .flex-cont p, .interviewing-doula-cont em {
	padding-bottom: 0px;
}


/*------------------------ EDIT MY LISTING PAGE STYLES ------------------------*/
#onsis-subscription-section {

}
.subscription-status {
   padding: 30px;
   margin: 20px 0;
   border-radius: 8px;
   border: 2px solid;
}
.subscription-status.active {
   background: var(--sage-light);
   border-color: rgb(140, 187, 145);
}
.subscription-status.pending {
   background: var(--gold);
   border-color: #ffc107;
}
.subscription-status.unknown {
   background: var(--blush);
   border-color: #dc3545;
}
.subscription-status h3 {
   margin-top: 0;
}
#onsis-subscription-section .button {
   background-color: var(--sage-dark) !important;
   border: 0px !important;
   border-radius: 2px !important;
   box-shadow: 0px 1px 3px var(--slate) !important;
	color: var(--white) !important;
   display: block !important;
	font-family: var(--heading-semibold) !important;
	font-size: .9rem !important;
	letter-spacing: 2px !important;
	max-width: 100% !important;
	padding-bottom: 10px !important;
   padding-top: 10px !important;
    transform: scaleY(1.1) !important;
    transform-origin: 0 0 !important;
    text-transform: uppercase !important;
	text-decoration: none !important;
   width: 300px !important;
}
#onsis-subscription-section .button:hover {
   opacity: .7;
}
#onsis-subscription-section .button:disabled {
   background: #ccc;
   cursor: not-allowed;
}
#onsis-subscription-section .button-primary {
	color: var(--white);
   background: var(--sage-dark);
	text-align: center;
}
#onsis-subscription-section .button-primary:hover {
   opacity: .7;
}
#onsis-subscription-section .subscription-status.pending img.emoji {
	display: none !important;
}




/*=============================== FOOTER STYLES ================================*/

.footer {
	background-color: var(--slate-dark);
}
.footer p, .footer a {
   font-size: 1rem;
}
.top-footer-cont {
	align-items: center;
   display: flex;
   flex-direction: column;
   gap: 25px;
   justify-content: space-between;
	text-align: center;
}
.top-footer-cont > div {
	width: 100%;
}
.footer-title p {
	color: var(--gold);
	font-family: var(--heading-semibold);
	font-size: clamp(1rem, 2vw, 1.5rem);
    letter-spacing: 2px;
    transform: scaleY(1.1);
    transform-origin: 0 0;
    text-transform: uppercase;
	text-wrap: balance;
}
.footer-logo {
	text-align: center;
}
.footer-logo img {
	max-width: 360px;
}
.footer-bottom-cont {
	border-top: 1px dashed var(--gold);
	background-color: var(--slate-dark);
}
.footer-bottom-cont .footer-icons {
	max-width: 260px;
	width: 100%;
}
.footer-bottom-cont .footer-icons img {
	max-width: 60px;
	min-width: 40px;
	width: 4vw;
}
.footer-bottom-cont p, .footer-bottom-cont p a {
	color: var(--gold);
}
.footer-menu {
	color: var(--gold);
	display: flex;
	gap: 30px;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 400px;
}
.footer-column {
   display: flex;
   flex-direction: column;
   justify-content: flex-start;
   gap: 10px; /* Space between links */
}

.footer-column a, .footer-bottom-cont a {
	color: var(--gold);
	font-weight: 400;
	padding-bottom: 1rem;
	text-decoration: underline;
	text-transform: none;
}

@media screen and (min-width: 800px) {
   .footer p, .footer a {
      font-size: clamp(1rem, 2vw, 1.25rem);
      line-height: 1.3;
   }
   .top-footer-cont {
      flex-direction: row;
		text-align: left;
   }
	.top-footer-cont > div {
		width: 31%;
	}
	.footer-title p {
		font-size: clamp(1.25rem, 2vw, 1.5rem);
	}
   .footer-menu {
      gap: 50px;
		margin: 0;
      padding-top: 0px;
   }
}



/*hide google captcha badge*/
.grecaptcha-badge { 
	visibility: hidden; 
}




/*=============================== PRINT STYLES ================================*/
@media print {
    /* Apply to both page ID 46 and 98 */
    body.page-id-46 *,
    body.page-id-98 * {
        visibility: hidden;
    }
    
    /* Show only #print-me (page 46) and #results (page 98) and their children */
    body.page-id-46 #print-me,
    body.page-id-46 #print-me *,
    body.page-id-98 #results,
    body.page-id-98 #results * {
        visibility: visible;
    }
    
    /* Position sections at top of page */
    body.page-id-46 #print-me,
    body.page-id-98 #results {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
    }
    
    /* Hide ONLY the print button and show more elements */
    body.page-id-46 #print-me button[onclick*="print"],
    body.page-id-98 #results button[onclick*="print"],
    body.page-id-46 .members-gradient,
    body.page-id-98 .members-gradient,
    body.page-id-46 .show-more-container,
    body.page-id-98 .show-more-container,
	 body.page-id-46 .find-by-map-cont,
    body.page-id-98 .find-by-map-cont,	
	 body.page-id-46 .become-member,
    body.page-id-98 .become-member,
	 body.page-id-46 .stay-in-touch,
    body.page-id-98 .stay-in-touch,
	 body.page-id-46 footer,
    body.page-id-98 footer {
        display: none !important;

    }
    
    /* Hide the facet controls but keep the selections text visible */
    body.page-id-46 .facetwp-facet:not(.facetwp-selections),
    body.page-id-98 .facetwp-facet:not(.facetwp-selections) {
        display: none !important;

    }
    @media print {
  [style*="position:fixed"], .fixed, .sticky, .modal, .overlay, .cookie, .chat {
    display: none !important;
  }
}
    /* Keep member cards together on pages */
    body.page-id-46 .member-card,
    body.page-id-98 .member-card {
        page-break-inside: avoid;
        margin-bottom: 20px;
    }
    
    /* Remove padding/margins for better print layout */
    body.page-id-46 #print-me,
    body.page-id-98 #results {
        padding: 10px;
        margin: 10px;
    }
}