img, iframe {max-width: 100%; height: auto} html,body{-webkit-text-size-adjust:100%;text-size-adjust:100%} html { --12px: .75rem; --14px: 0.875rem; --15px: 0.9375rem; --16px: 1rem; --17px: 1.0625rem; --18px: 1.125rem; --19px: 1.1875rem; --20px: 1.25rem; --24px: 1.5rem; --32px: 2rem; --50px: 3.125rem; }*:focus-visible, *:focus, input[type=submit]:focus-visible { outline-style: solid; outline-width: 2px; outline-color: #000; outline-offset: 4px; border-radius: 3px; transition: all .3s linear .01s; }:is(nav a, h1):focus-visible, .hero .btn, .bg-primary a { outline-color: #fff; box-shadow: unset }.jump { text-decoration-line: underline; text-decoration-color: var(--accent); text-underline-offset: 3px; position: absolute; background: #fff; left: 200px; top: 0; padding: 10px; color: var(--primary); border-width: 2px; border-color: var(--secondary); border-style: none solid solid; transform: translateY(-100%); font-weight: bold; font-size: var(--16px); outline-offset: 0 !important }.jump:focus { transform: translateY(0%); } a[target="_blank"] { position: relative }a[target="_blank"] i { padding: 4px; border: 1px solid black; color: #000; background-color: #fff; text-decoration: none; position: absolute; left: 0; top: -30px; z-index: 999; width: 140px; display: none; font-size: var(--12px); font-style: normal; font-weight: 400; font-family: sans-serif; text-align: center !important; text-transform: none }a[target="_blank"]:is(:hover, :focus) i { display: block }header a[onclick="target='_blank'"] i, header a[target="_blank"] i { left: 0; }.ccpaNotice a:focus-visible { outline-color: #000 }.ccpaNotice a i { bottom: unset !important; top: -30px; }.a8bmark[target="_blank"] i { right: 0; left: unset } html { font-size: 1rem; scroll-padding-top: 150px; scroll-padding-bottom: 100px }:root { --main-bg: #fff; --light: #b5c3b2; --light-comp: #000; --main-comp: #333; --dark: #333; --dark-comp: #fff; --primary: #42534d; --primary-comp: #fff; --secondary: #657E51; --secondary-comp: #fff; }* { box-sizing: border-box; scroll-behavior: smooth }body, button, form * { font-family: 'Nunito', Arial, Helvetica, sans-serif; font-size: var(--18px); line-height: 1.5 }body { text-align: center; min-width: 320px }body, footer a:hover, button:hover { color: var(--main-comp); }body, header ul, .location iframe { padding: 0; margin: 0; }h1, h2, h3, h4, h5, h6, p, th, td, dd, dt, li, blockquote { text-align: left; }h1, h2, h3, h4, h5, h6, strong, bold { font-weight: 600 }h1, h2 { line-height: 1.2 }img, iframe, video { max-width: 100%; height: auto; display: block; margin: 0 auto }iframe, video { aspect-ratio: auto 16 / 9; width: 100%; margin: 1em auto; }a img, iframe { border: none; }a, nav li, main a, main a:is(:hover,:focus), .location a:hover, .homeblog span { color: #298550; transition: ease-in-out .3s; }a { text-underline-offset: 4px; text-decoration-thickness: 1px }a:hover, .menu a:hover { text-decoration: underline; }hr { border-width: 1px; border-color: #eee; border-style: none none solid; margin: 40px 0; }.imgLeft, .imgRight { max-width: 45%; }.imgLeft { float: left; margin: 10px 4% 2% 0; }.imgRight { float: right; margin: 10px 0 2% 4%; }.clear { clear: both; }.nowrap, a[href^=tel], .subfoot .address span { white-space: nowrap; }sup { line-height: 0; }.hide { display: none !important; }.center, .hero h1, .hero p, .row1 h2, .row1 p, .row2 h2, .row2 p, .row3 h2, .row3 p, .row4 h2, .row4 p, .solutions .grid h3, .solutions .grid p { text-align: center; }.wrap { display: block; max-width: 1100px; margin: 0 auto; position: relative; }.bg-dark, .bg-primary, footer p, footer a, footer button { color: var(--dark-comp); }.bg-dark { background-color: var(--dark); }.bg-primary { background-color: var(--primary); }.bg-secondary { background-color: var(--secondary); color: var(--light-comp) }.bg-light { background-color: var(--light); color: var(--dark); }.mid { align-items: center; align-self: center; }.grid { display: grid; grid-gap: 10px 40px; }.grid.half { grid-template-columns: repeat(2, 1fr); }.grid.third { grid-template-columns: repeat(3, 1fr); }.grid.fourth { grid-template-columns: repeat(4, 1fr); }.grid.fullimg > img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30% }.col2 { column-count: 2 }.col2 > li { margin: 0 25px 5px 0 }button { border: none; background: none; margin: 0; padding: 0; transition: ease-in-out .3s; }button:is(:hover, :focus) { cursor: pointer; outline-offset: 4px; }.bgimg { position: relative }.bgimg > img:first-of-type, .hero div[role=complementary] img { position: absolute; width: 100%; height: 100%; inset: 0; object-fit: cover; z-index: 0 }.bgimg .wrap { z-index: 2 } header, .hero, .education { position: relative; }header .grid { grid-template-columns: 200px 1fr; grid-gap: 0 }header .grid div { font-size: 16px; font-weight: 500; text-align: right }header .grid li a { width: 260px; margin: 5px; display: inline-block; min-width: 150px; text-align: center; text-transform: uppercase; background-color: var(--primary); color: var(--primary-comp) !important; padding: 10px; border: 1px solid var(--primary); border-radius: 5px; transition: ease-in-out .3s; text-decoration: none }header .grid li a:is(:hover,:focus) { background-color: var(--secondary); color: var(--light-comp); text-decoration: none }header li, footer li, .conditions li { display: inline-block }nav li { position: relative }header a { margin: 5px; padding: 5px }header form#language { width: 260px; margin: 0 5px 5px auto }header select, header option { font-size: 14px; }#logo { display: inline-block; margin: 10px auto }nav a { display: block; font-size: 18px; color: var(--secondary-comp); margin: 5px; padding: 5px 10px; border-bottom: 2px solid transparent }nav a, nav a:is(:hover, :focus), .menu a { text-decoration: none }nav a:is(:hover, :focus) { color: var(--primary-comp); border-color: var(--primary-comp); outline: none }nav ul ul { display: none; min-width: 220px; max-width: min(400px, calc(100vw - 20px)); background-color: var(--secondary); box-shadow: 0 0 10px rgba(0, 0, 0, .1); position: absolute; left: 0; z-index: 9 }nav ul ul :is(li,a), nav li:hover > ul{display:block}nav ul ul a{font-size:16px}nav svg { vertical-align: middle } .hero { position: relative; background-color: var(--secondary); color: #fff }.hero { width: 100%; height: 400px }.hero > .wrap { top: 50%; transform: translateY(-50%); }.hero :is(h1,p) { max-width: 750px; margin: 0 auto; padding: 0 10px; text-shadow: 0 0 10px rgba(0, 0, 0, .5),0 0px 2px #000; text-wrap: balance }.hero h1, .hero .bloghero { font-size: 48px; font-weight: 700 }.hero p { font-size: 24px; margin: 40px auto; }.hero .bloghero { margin: 0 auto } .home > div .wrap { padding: 40px 10px 50px }.home h2, .home h3, .welcome h1, .homeblog p, .education h2, .education p, footer li, footer p { text-align: center }.home h2, .education h2 { font-size: 40px; text-transform: uppercase }.home img { object-fit: cover }.home > div:not(.homeblog) a { text-decoration: none; color: var(--main-comp) }.home .bg-light a:is(:hover,:focus), .hero h1, .hero p { color: var(--dark-comp) }.home .welcome .wrap { padding: 5px 15px }.welcome h1 { font-size: 48px; color: var(--dark-comp); text-shadow: 0 2px #000;text-wrap:balance }.comments { background-color: #edd7c7 }.comments blockquote { font-size: 24px; text-align: center; padding: 0; margin: 0 }.comments blockquote strong { display: block; text-transform: uppercase; margin-top: 10px }.intro .grid { grid-template-columns: 400px 1fr }.intro img { object-fit: cover; height: 350px; width: auto; }.conditions .grid, .services .grid, .homeblog .grid { grid-gap: 10px }.conditions img, .providers img { border-radius: 50%; box-shadow: 0 0 10px rgba(0, 0, 0, .1) }.conditions img { height: 250px; width: 250px }.conditions h3 { margin: 10px; }.services img, .homeblog img { width: 100%; height: 200px }.providers span { display: block }.providers img { width: 100%; max-width: 320px; max-height: 320px }.location .grid { grid-template-columns: 300px 1fr }.location ul { margin-top: 50px }.location iframe { height: 350px }.education, .education img { height: 600px }.education img { object-fit: cover; object-position: top; opacity: 50%; width: 100%; position: absolute; top: 0; left: 0 } fieldset { border: none; margin: 0; padding: 0 }legend { display: block; padding: 20px 0 10px; color: var(--primary); font-weight: bold; font-size: var(--20px) }form { text-align: left; margin: 0 0 40px; }form .grid { grid-gap: 0 10px; }form label { margin-bottom: 15px }form :is(label, input, textarea, select) { display: block; width: 100%; }form :is(input, textarea, select) { border: 1px solid #ddd; padding: 10px; background-color: var(--main-bg, #fff); }form input[type=file] { margin-left: 10px; border-radius: 0; }form textarea { height: 100px; }form input[type=submit], .btn { display: inline-block; min-width: 150px; text-align: center; text-transform: uppercase; background-color: var(--primary); color: var(--primary-comp) !important; padding: 10px 40px; margin: 10px 0; border: 1px solid var(--primary); border-radius: 5px; transition: ease-in-out .3s; text-decoration: none }form input[type=submit] { width: auto; min-width: 250px; }:is(form input[type=submit], .btn):is(:hover, :focus) { cursor: pointer; background-color: var(--secondary); color: var(--light-comp); text-decoration: none } .radio-group { border: none; margin: 20px 0; padding: 0; }.radio-options { display: flex; gap: 15px; flex-wrap: wrap; }.radio-option { display: flex; align-items: center; width: auto; margin-bottom: 0; cursor: pointer; }.radio-option input[type="radio"] { width: auto; margin-right: 10px; margin-bottom: 0; cursor: pointer; accent-color: var(--primary); }.radio-option span { font-size: var(--16px); font-weight: 400; color: var(--primary); user-select: none; }.radio-option input[type="radio"]:hover { transform: scale(1.1); }.radio-option input[type="radio"]:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; } .review-ribbon { text-align: center; padding: 20px 10px }.review-ribbon .btn { margin: 8px 10px; min-width: 200px; background-color: var(--secondary); color: #fff !important }.review-ribbon .btn:is(:hover, :focus) { background-color: #fff; color: var(--primary) !important }footer .wrap { padding: 20px 10px 50px }footer .subfoot .grid.mid { grid-template-columns: 1fr 150px }footer .bg-light a { text-decoration: none }footer .bg-light a:is(:hover, :focus) { text-decoration: underline var(--secondary); }footer button, .wcag a { text-decoration: underline; text-underline-offset: 4px }:is(footer button, .wcag a):is(:hover, :focus) { text-decoration-color: var(--secondary) }footer .grid { margin-bottom: 10px }footer li { margin: 5px 10px }footer a { display: block; }footer p { margin: 5px 0 }footer .small { text-wrap: balance }.subfoot ul { text-wrap: balance }.subfoot li { margin: 0 }.subfoot ul a { padding: 5px; margin: 5px 10px; }.back, .copy, .blog .grid p { text-align: left }.address { margin: 40px 0; }.copy, .small, .blog .grid p { font-size: 16px }.small { margin-top: 50px }.ccpaNotice { text-align: center !important; }.wcag { text-align: right }img[src*=a8bmark] { filter: invert(1) } main { padding: 40px 10px 50px; }main h1, main h2, .row2 h3, .about h3, .solutions h3 { font-size: 30px; }main h3 { font-size: 20px; }main h4 { font-size: 18px; }main ul, main ol { padding-left: 25px; }main li { margin: 5px 0; }.nolist, header ul, footer ul, .location ul, .contact ul { list-style: none; padding-left: 0; }.conditions-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; margin: 30px 0; padding: 20px; background-color: #f9f9f9; border-radius: 8px; list-style: none }.conditions-list li { background-color: #fff; border-radius: 6px; border: 1px solid #e0e0e0; transition: all 0.3s ease; font-weight: 500; color: var(--primary); }.conditions-list li a { padding: 15px 20px; color: var(--primary); text-decoration: none; display: block; height: 100%; box-sizing: border-box }.conditions-list li a:is(:hover,:focus) { background-color: var(--secondary); color: #fff; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); transform: translateY(-2px); }.contact summary { font-size: 20px; font-weight: 600; text-align: left; background-color: var(--primary); color: var(--primary-comp); padding: 15px clamp(10px, 3vw, 40px); margin-top: 10px }.contact summary:focus, .contact summary:hover { background-color: var(--secondary) }.contact details { background-color: #f5f5f5 }.contact details p { padding: 10px 20px; margin: 0 }.contact details p:first-of-type { padding-top: 20px }.contact details p:last-of-type { padding-bottom: 40px } .disclaimer { font-size: 0.85em; color: #666; border-top: 1px solid #e0e0e0; margin-top: 40px; padding-top: 15px; font-style: italic; } details.collapsible { margin: 20px 0; padding: 0; border: 1px solid #e0e0e0; border-radius: 5px; background-color: #f9f9f9; }details.collapsible summary { cursor: pointer; font-weight: 600; font-size: 1.1em; background-color: var(--primary); color: var(--primary-comp); padding: 15px; margin: 0; text-align: left; border-radius: 5px 5px 0 0; }details.collapsible summary:is(:hover,:focus) { background-color: var(--secondary); outline: none }details.collapsible p { margin-top: 0; margin-bottom: 0; padding: 15px; } .team-intro { max-width: 900px; margin: 0 auto 40px; }.grid.half .team-member { border: 1px solid #ddd; border-radius: 8px; padding: 25px; background-color: #fafafa; transition: all 0.3s ease; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); }.grid.half .team-member:hover { box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); border-color: var(--secondary); }.member-content { display: flex; flex-direction: column; gap: 20px; }.member-image { width: 250px; height: 250px; object-fit: cover; border-radius: 6px; margin: 0 auto 10px; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); }.member-info h2 { font-size: 22px; margin: 0 0 10px 0; color: var(--primary); }.member-info p { margin: 10px 0; font-size: 16px; }.member-info p strong { color: var(--secondary); }.homeblog > div > p { text-wrap: balance }.homeblog .posts { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 20px }.homeblog img { object-position: 50% 30%; margin: 0 }.homeblog .posttags, .homeblog .postcats { display: none; }.homeblog .post { display: grid; grid-template-areas: "img" "h" "p" }.homeblog .post h3 { grid-area: h; margin: 5px 0 }.homeblog .post .postThumbnail { grid-area: img }.homeblog .post p:nth-of-type(2) { grid-area: p; display: block; text-align: left }.homeblog .post p { display: none }.homeblogblog span { font-weight: 600 }.homeblog a:hover, .education p { color: var(--main-comp) } .video-grid { display: flex; gap: 20px; margin-bottom: 20px; }.video-grid > div { flex: 1; }.video-single { max-width: 640px; margin: 0 auto; } .testimonials .grid { grid-gap: 20px; margin: 30px 0 }.grid:has(.testimonial-card) { grid-gap: 30px }.testimonial-card { background-color: #f9f9f9; padding: 25px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0, 0, 0, .1); display: flex; flex-direction: column; justify-content: space-between; min-height: 200px }.testimonial-card p { margin: 0 0 15px 0; font-size: 16px; color: var(--main-comp) }.testimonial-card strong { color: var(--primary); font-weight: 600; text-align: left } details.more-testimonials { margin: 40px 0; }details.more-testimonials summary { cursor: pointer; display: inline-block; background-color: var(--primary); color: var(--primary-comp); padding: 12px 30px; border-radius: 5px; font-weight: 600; text-transform: uppercase; transition: ease-in-out .3s; user-select: none; }details.more-testimonials summary:hover { background-color: var(--secondary); color: var(--light-comp); }details.more-testimonials[open] summary { margin-bottom: 20px; } @media(prefers-reduced-motion:reduce) { * { transition: all 0s !important; scroll-behavior: unset; animation: none !important }} @media(forced-colors:active) { img[src*=a8bmark] { filter: unset } details.collapsible summary { border-radius: 5px } nav a:is(:hover, :focus), details.collapsible summary:is(:focus) { outline: 2px solid #000 }} @media(max-width:62.5rem) { .grid.fourth { grid-template-columns: 1fr 1fr } nav ul ul { display: none !important } nav li svg { display: none }} @media(max-width:47.999rem) { .grid.third, header .grid { grid-template-columns: 1fr 1fr } .grid.third > *:last-child:nth-of-type(odd) { grid-column: 1 / -1 } .contact .grid, .intro .grid { grid-template-columns: 1fr } .contact .grid > div { display: inline-block; margin: 0 auto } .jump { left: unset; right: 50%; transform: translate(50%, -100%) } .jump:focus { transform: translate(50%, 0) } #logo { margin: 5px auto } header :is(form#language, ul) { margin: 5px auto 0; text-align: center } .video-single { max-width: 100% } .video-grid { flex-direction: column; }} @media(max-width:43.75rem) { header .grids { grid-template-columns: 1fr } nav ul { text-align: center } nav a { padding: 5px 10px } .hero { height: auto !important } .hero > .wrap { padding: 80px 0; top: unset; transform: none } .blogintro h1 { text-align: center; text-wrap: balance } main.posts { padding-top: 0 }} @media(max-width:37.5rem) { .grid.half, .grid.third, .grid.fourth, .row2 .grid, footer .subfoot .grid.mid, .homeblog .posts { grid-template-columns: 1fr } .col2 { column-count: 1 } .col2 > li { margin: 0 0 5px } .subfoot p, .row2 h2, .row2 h3, .homeblog .post p:nth-of-type(2) { text-align: center } .imgRight { float: none; margin: 0 auto; max-width: 100%; } .row1 .grid > div:nth-of-type(2) { border: none } main { margin-bottom: 0; padding-bottom: 50px } .about .grid:nth-of-type(even) > img:first-of-type { order: unset; } .about .grid p:last-of-type { margin: 1em 0; } .about .grid :is(h3, p) { padding: 0 }} @media(max-width:31.25rem) { header .grid { grid-template-columns: 1fr } nav ul { display: grid; grid-template-columns: 1fr 1fr } nav li:last-of-type:nth-of-type(odd) { grid-column: 1 / -1 } nav a { text-align: center } .welcome h1 { font-size: min(10.5vw, 48px) }} @media(max-width:25rem) { form input[type=submit] { max-width: unset; display: block; width: 100% } nav a { font-size: 5vw } .subfoot ul { display: grid; grid-template-columns: 1fr 1fr; align-items: center } .subfoot .address span { display: block } .subfoot ul a { margin: 5px } .subfoot ul li:last-of-type:nth-of-type(odd) { grid-column: 1 / -1 }}