@charset "UTF-8";
/*
Theme Name: Web Solutions Original
Theme URI: https://www.websolutions.com/
Author: Web Solutions
Author URI: https://www.websolutions.com/
Description: WordPress wpCode
Requires at least: 6.1.1
Tested up to: 6.1.1
Requires PHP: 8.0
Version: 2.0.0
Text Domain: wpcodev2

*/



:root {
  --ws-gap: 1.5em;
  --ws-transition: all .3s ease;

	--ws-color-primary: #064973;
	--ws-color-accent: #D9ECDD;
	--ws-color-tertiery: #AC1361;
	--ws-color-shade: #80BF8E;
	--ws-color-shade-2: #E8F4EB;
	--ws-color-font: #4a4a4a;
	--ws-color-bg: #ffffff;

  --ws-green-on-blue: #A8D8B3; /* 4.78:1 on darkest point of testimonial photo overlay (WCAG 1.4.3) */

  --ws-font-1: "Roboto", sans-serif;
  --ws-font-2: "Neuton", serif;
}


/* neuton-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Neuton';
  font-style: normal;
  font-weight: 400;
  src: url('./fonts/neuton-v24-latin-regular.woff2') format('woff2');
}
/* neuton-italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Neuton';
  font-style: italic;
  font-weight: 400;
  src: url('./fonts/neuton-v24-latin-italic.woff2') format('woff2');
}
/* neuton-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Neuton';
  font-style: normal;
  font-weight: 700;
  src: url('./fonts/neuton-v24-latin-700.woff2') format('woff2');
}

/* roboto-300 - latin */
@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: url('./fonts/roboto-v51-latin-300.woff2') format('woff2');
}
/* roboto-300italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 300;
  src: url('./fonts/roboto-v51-latin-300italic.woff2') format('woff2');
}
/* roboto-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('./fonts/roboto-v51-latin-regular.woff2') format('woff2');
}
/* roboto-italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: url('./fonts/roboto-v51-latin-italic.woff2') format('woff2');
}
/* roboto-500 - latin */
@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  src: url('./fonts/roboto-v51-latin-500.woff2') format('woff2');
}
/* roboto-600 - latin */
@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 600;
  src: url('./fonts/roboto-v51-latin-600.woff2') format('woff2');
}
/* roboto-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('./fonts/roboto-v51-latin-700.woff2') format('woff2');
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*, *:before, *:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

body {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

ul {
  padding-left: 0;
}

ul li {
  list-style: none;
}

html, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address,
big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd,
ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, hr {
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit
}

table {
  border-collapse: collapse;
}

td, th {
  empty-cells: show;
  vertical-align: top;
  text-align: left;
}

body {
  background: #FFF;
}

#skipNavigation {
  background: #FFF;
  color: #000;
  left: 0;
  padding: .5em;
  position: absolute;
  top: -1000px;
  z-index: 1000;
}

#skipNavigation:is(:focus, :active) {
  top: 0;
}

.admin-bar #skipNavigation:is(:focus, :active) {
  top: 32px;
}


/* text */
body, .text, input, button, select, textarea {
  color: #000;
  font-family: var(--ws-font-1);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#content :where(p, ol, ul),
#content .highlight :where(p, ol, ul) {
    font-size: 1.125rem;
    font-weight: 300;
}

.text {
  font-size: 1em;
}

a, a * {
  color: var(--ws-color-tertiery);
  text-decoration: none;
  font-weight: 500;
}

a:is(:hover, :focus),
a:is(:hover, :focus) * {
  text-decoration: underline;
}


p, h1, h2, h3, h4, h5, h6, hr, blockquote, dd, ol {
  margin-block: 0 1rem;
}

h1, h2, h3, h4, h5, h6, th {
  line-height: 1.2;
}

h1, h3 {
  font-family: var(--ws-font-2);
}

h1, h2, h3 {
  font-weight: 700;
}

h4 {
  font-weight: 600;
}

.pageHeader h1 {
  position: relative;
  color: #fff;
  text-align: center;
}

:is(p, ul, ol, .wp-block-buttons, aside, div, section) + :is(h2, h3, h4, h5, h6) {
  margin-top: 2rem;
}

.textColor, h1, h2, h3, h4, h5, h6, th, dt {
  color: var(--ws-color-primary);
}

em, i, q, cite, .italic {
  font-style: italic;
}

b, strong {
  font-weight: 700;
}

hr,
.wp-block-separator {
  border: 0;
  border-top: 2px solid #80BF8E;;
  clear: both;
  margin: 3em 0;
  padding-top: 1px;
}

sup, sub {
  font-size: .6em;
  line-height: .6em;
  vertical-align: baseline;
  position: relative;
}

sup {
  bottom: 1ex;
}

sub {
  top: .5ex;
}

p {
  font-size: 1em;
}

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  padding: 0;
  width: 1px;
}

blockquote {
  background-color: var(--ws-color-accent);
  line-height: 1.1;
  margin: 1em 0 1.5em;
  padding: 1.875em 3.125em;
  border-radius: 8px;
}

blockquote p {
  position: relative;
  font-weight: 700;
  color: var(--ws-color-primary);
  font-family: var(--ws-font-2);
}

#content blockquote p {
  font-size: 1.375em;
}

blockquote p:last-of-type {
  margin: 0 0 .5em;
}

blockquote :is(footer, cite) {
  color: var(--ws-color-primary);
  font-size: 1rem;
  font-style: normal;
  text-align: right;
  font-weight: 300;
}

blockquote cite::before,
blockquote footer::before {
  content: '- ';
}

blockquote p {
  quotes: '\201c' '\201d';
}

blockquote p:first-of-type::before,
blockquote p:last-of-type::after {
  font-style: italic;
  font-weight: 400;
}

blockquote p:first-of-type::before {
  content: open-quote;
  position: absolute;
  left: -.75rem;
}

blockquote p:last-of-type::after {
  content: close-quote;
}

.styled-table-container table {font-size: 20px;}
.styled-table-container table td:first-child {text-align: left;}
.styled-table-container table td {text-align: right;font-family: var(--ws-font-2);color: var(--ws-color-primary);border: none!important;line-height: 1.2;}
.styled-table-container table tr:nth-child(odd) {background-color: #D9ECDD; border-bottom: 2px solid #80BF8E; border-top: 2px solid #80BF8E;}

.shaded-3-col div {background-color: var(--ws-color-accent); border-radius: 0.625em;padding: 1.5em .5em .5em .5em;}

#content .staff img {margin-bottom: 1em;}
#content .staff p {font-family: var(--ws-font-2); color: var(--ws-color-primary);font-weight: 700;font-size: 20px;line-height: 1.2;}
#content .staff p a {font-family: var(--ws-font-1); font-size: 1rem;}
/* WRAP ------------------------------ */
.wrap,
body>footer .fatFooter {
  margin-inline: auto;
  max-width: calc(74em + 2 * var(--ws-gap));
  padding-inline: var(--ws-gap);
  width: 100%;
}



/* MAIN ------------------------------ */

/* t1 */
#sidenav {
  margin: 0 0 40px;
  padding: 0.625rem;
  overflow: hidden;

}

#sidenav ul {
  padding: 0;
}

#sidenav ul:empty {
  display: none;
}

#sidenav li {
  height: 1%;
  overflow: hidden;
  margin-bottom: 1px;
}

#sidenav ul button {
  all: unset;
  cursor: pointer;
  transition: var(--ws-transition);
  width: calc(100% - 20px);
}

#sidenav li :is(a, button) {
  position: relative;
  display: block;
  line-height: 1;
  padding: 0.5em 10px;
  border-radius: 5px;
  color: #000;
  font-weight: 300;
}

#sidenav > ul > li > :is(a, button) {
  font-family: var(--ws-font-2);
  font-weight: 700;
  font-size: 20px;
  color: var(--ws-color-primary);
}

#sidenav li :is(a, button):is(:active, .active, :hover, :focus) {
  background-color: var(--ws-color-tertiery);
  color: #fff;
  text-decoration: none;
}

/* #sidenav > ul > li.current_page_item.page_item_has_children > a::after, */
#sidenav > ul > li.page_item_has_children > a::after {
  background: var(--ws-color-primary);
  content: "";
  height: 0.9375em;
  inset: 0.625em 0.75em auto auto;
  mask: url(./images/icons/caret-down-solid-full.svg) no-repeat center / contain;
  position: absolute;
  transition: var(--ws-transition);
  width: 0.9375em;
}

#sidenav strong::after {
  top: 0.375rem;
}

/* t2 */
#sidenav li.current_page_ancestor ul {
  padding-bottom: 0.5em;
}

#sidenav > ul > li.current_page_ancestor > ul > li.current_page_ancestor,
#sidenav
  > ul
  > li.current_page_ancestor
  > ul
  > li.current_page_item.page_item_has_children,
#sidenav > div > ul {
  background-color: #fff;
  border-radius: 0.3125em;
  margin-bottom: 0.625rem;
  padding-top: 0.3125rem;

  padding-inline: 0.3125em;
}

#sidenav > ul > li.current_page_ancestor,
#sidenav > ul > li.current_page_parent,
#sidenav > ul > li.current_page_item,
#sidenav.category-filter > div {
  background-color: var(--ws-color-accent);
  border-radius: 0.1875em;
}

#sidenav > ul > li.current_page_item > ul,
#sidenav > ul > li.current_page_ancestor > ul {
  margin-inline: 0.4375em;
}

#sidenav li ul li a {
  padding-left: 0.625rem;
}

#sidenav li.current_page_ancestor > ul > li {
  /* border-bottom: 1px solid rgba(0,0,0,.15); */
}

#sidenav li.current_page_item ul li a,
#sidenav li.current_page_ancestor ul li a,
#sidenav li ul.children li a {
  font-size: 0.9375em;
  padding: 0.375rem 0.3125rem;
}

#sidenav
  > ul
  > li:is(
    .current_page_item.page_item_has_children,
    .current_page_ancestor.page_item_has_children
  )
  > a:is(:hover, :focus):after,
#sidenav > ul > li.page_item_has_children.current_page_item > a:after {
  background-color: #fff;
}

#sidenav li.current_page_ancestor ul {
  border-radius: 5px;
}

/* t3 */
#sidenav li ul li ul a {
  position: relative;
}

#sidenav li ul li.current_page_ancestor ul {
  border: 0;
  padding-inline: 0.3125em;
  padding-bottom: 0.5em;
}

#sidenav li ul li.current_page_ancestor ul li {
  border: 0;
}

#sidenav li ul li.current_page_ancestor ul li a,
#sidenav li ul li ul.children li a {
  color: #333333;
  display: block;
  padding-left: 20px;
}

#sidenav li ul li ul li a:is(:hover, :focus) {
  color: #fff;
}

#sidenav li ul li ul li a:is(:hover, :focus)::before {
  background-color: #fff;
}

#sidenav li ul li ul li.current_page_item > a,
#sidenav li ul li ul li.current_page_ancestor > a {
  /* background: #e5e5e5;
  color: #000; */
}

/* t4 */
#sidenav li ul li ul li.current_page_ancestor ul li a {
  color: #666;
  font-size: 0.7em;
  padding-left: 3.125em;
}

#sidenav li ul li ul li ul li a:hover,
#sidenav li ul li ul li a:active {
  background: #fff;
}

#sidenav li ul li.current_page_item > a,
#sidenav li ul li ul li.current_page_item > a {
  background: var(--ws-color-tertiery);
  color: #fff;
}

#sidenav li ul li ul li.current_page_item > a:before {
  background-color: #fff;
}

/* hide children that arent yours */
#sidenav ul.children {
  display: none;
}

#sidenav li.current_page_ancestor > ul,
#sidenav li.current_page_item > ul {
  display: block;
}

/* breadcrumb */
.breadcrumb {
  margin-bottom: 1em;
}

.breadcrumb a::after {
  content: "\00A0\00A0\203A\00A0";
}

.content {
  word-wrap: break-word;
}

.content :is(.alignright, .alignleft) {
  height: auto;
  max-width: min(50%, 21em);
}

.content .alignright img {
  float: none;
  height: auto;
  margin: 0;
  max-width: 100%;
}

.content img.phototreatment {
  height: auto;
  max-width: 50%;
}

.content figure.phototreatment {
  text-align: center;
  width: 100%;
}

.content figure.phototreatment img {
  height: auto;
  max-width: 100%;
  width: auto;
}

img.phototreatment,
img.alignright,
.alignright img {
  height: auto;
  max-width: 100%;
  width: auto;
}

.alignright {
  clear: right;
  float: right;
}

.muted {
  opacity: 0.5;
}

.highlight,
.content .highlight {
  background-color: rgba(6, 73, 115, 0.1);;
  clear: both;
  margin: 2em 0;
  padding: 0.8125em 0.625em 0.625em;
  border-radius: 0.5em;
}

.highlight :is(h2, h3) {
  font-family: var(--ws-font-2);
  padding-left: 0.5rem;
}

.highlight :first-child {
  margin-top: 0;
}

.highlight :last-child,
.highlight ul:last-child li:last-child {
  margin-bottom: 0;
}

.highlight-2,
.content .highlight-2 {
  background-color: transparent;
  padding: 0;
}

.highlight-content {
  background-color: #fff;
  border-radius: 0.375em;
  padding: 1.25em;
}

.highlight-2 .highlight-content {
  background-color: #E6EDF1;
}

.highlight-2 :is(h2, h3) {
  background-color: var(--ws-color-tertiery);
  color: #fff;
  border-radius: 0.5rem;
  padding-block: 0.25rem 0.625rem;
  padding-inline: 1.25rem;
  margin-bottom: 0.3125rem;
}

.content .highlight-2 ul li::before {
  background-color: var(--ws-color-primary);
}

small {
  font-size: .8em;
}

.content table {
  width: 100%;
}

.aligncenter {
  clear: both;
  display: block;
  margin-inline: auto;
}

figcaption {
  font-style: italic;
  font-weight: 300;
  text-align: right;
}

/* blog */
span.posted-on {
  font-size: .85em;
}

span.byline {
  display: block;
  font-size: .85em;
}

article .entry-content {
  padding: 1em 0;
}

.blogThumb {
  width: 100%;
}

.blogThumb img, .attachment-post-thumbnail.size-post-thumbnail.wp-post-image {
  height: auto;
  max-width: 100%;
}

.updated {
  display: none;
}

/* list */
#content ol {
  margin: 1.5em 0 1em 1.875em;
}

#content ol li {
  margin: 0 0 1em;
}

#content ol ol li {
  list-style: lower-alpha;
}

#content ul {
  margin: 1.5em 0 1em 0;
}

#content ul li {
  margin: 0 0 1em;
  padding-left: 1.875em;
  position: relative;
}

#content :is(ol, ul) li li {
  font-size: 1em;
}

#content ul li::before {
  background-color: var(--ws-color-tertiery);
  content: '';
  left: .875rem;
  position: absolute;
  top: 0.25rem;
  mask: url(./images/icons/caret-down-solid-full.svg);
  width: 1.25rem;
  height: 1.25rem;
  transform: rotate(-90deg);
}

#content ul li ul li::before {
  opacity: .75;
}

#content :is(ul ul, ol ol) {
  margin-top: 1em;
}

/* addon classes */
.clearFloats {
  clear: both;
}

.nobr {
  white-space: nowrap;
}

.twoCol, .threeCol, .resCol {
  column-gap: 2em;
  /* column-rule: 1px outset rgba(0,0,0,.15); */
}

:is(.twoCol, .threeCol, .resCol) li {
	break-inside: avoid-column;
}

.resCol {
  columns: auto;
}

.req, .required {
  color: #C00;
}

.clearfix::after {
  clear: both;
  content: '';
  display: table;
}

.videoContainer {
  height: 0;
  line-height: 0;
  padding-top: 56.25%; /* 16:9 */
  position: relative;
  width: 100%;
}

.videoContainer.ratio-4-3 {
  padding-top: 75%; /* 4:3 full-frame */
}

.videoContainer iframe {
  border: 0;
  bottom: 0;
  height: 100%;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

figure div.wp-block-embed__wrapper {
  position: static;
}

/* forms */
input, button, select {
  line-height: 1.2;
}

input[type="text"], input[type="password"], input[type="tel"], input[type="number"], input[type="email"],
input[type="url"], input[type="search"], textarea, select, input[type="button"], input[type="submit"], input[type="reset"] {
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
}

input[type="text"], input[type="password"], input[type="tel"], input[type="number"], input[type="email"],
input[type="url"], input[type="search"], textarea, select {
  background-color: rgba(6, 73, 115, .01);
  border: 1px solid #6A92AB;
  border-radius: .25em;
  padding: .625em 1em;
  width: 100%;
}

input[type="text"]:focus, input[type="password"]:focus, input[type="tel"]:focus, input[type="number"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="search"]:focus, textarea:focus, select:focus {
  background: #FFF;
  border-color: var(--ws-color-primary);
  box-shadow: inset 0 0 0 1px var(--ws-color-primary);
}

textarea {
  display: block;
  resize: vertical;
}

select option {
  padding: 0 .2em;
}

input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

.wp-block-button {
  border-radius: 5px;
}

.button, button, input[type="button"], input[type="submit"], input[type="reset"], .wp-block-button__link, .frm_style_formidable-style.with_frm_style .frm_submit button {
  background: var(--ws-color-tertiery);
  border: 0;
  color: #FFF;
  cursor: pointer;
  font-size: 1em;
  line-height: 1;
  padding: 1.0625rem 1rem;
  border-radius: 5px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
}

:is(.button, button, input[type="button"], input[type="submit"], input[type="reset"], .wp-block-button__link, .frm_style_formidable-style.with_frm_style .frm_submit button):is(:hover, :focus) {
  background-color: var(--ws-color-primary);
  color: #FFF;
  text-decoration: none;
}

:is(.button-blue, .button-blue a) {
  background-color: var(--ws-color-primary);
}

:is(.button-blue, .button-blue a):is(:hover, :focus) {
  background-color: var(--ws-color-tertiery);
}

:is(.button-teal, .button-teal a) {
  background-color: var(--ws-color-accent);
  color: var(--ws-color-primary);
}

:is(.button-teal, .button-teal a):is(:hover, :focus) {
  background-color: var(--ws-color-tertiery);
}

.button {
  display: inline-block;
}

td.right, th.right {
  text-align: right;
}





/* FORMIDABLE FORM STYLING ------------------------------ */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

.frm_primary_label {
  display: block;
  font-size: 1em;
  margin: .75em 0 0;
}

.frm_full textarea {
  margin: 0;
}

.frm_dropzone svg {
  display: block;
  height: 24px;
  margin: 0 auto 1em;
  width: 24px;
}

.frm_button_submit {
  margin: 1.5em 0 0;
}

.frm_required, .frm_error, .frm_error_style {
  color: #EE0000;
}

.frm_error {
  font-size: 1em;
}





/* PAGEHEADER ------------------------------ */
.pageHeader {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  clear: both;
  width: 100%;
  max-height: 15.625em;
}

.pageHeader::before {
  content: '';
  display: block;
  padding: 0 0 50%;
}


.pageHeader-mask {
  position: absolute;
  inset: 0;
  mask: url(./images/hero-outter-shape.svg) bottom / cover no-repeat;
  background: linear-gradient(136deg, rgba(217, 236, 221, 1) 0%, rgba(238, 247, 240, 1) 100%);
}

.pageHeader-mask::before {
    content: "";
    position: absolute;
    inset: 0;
    bottom: 20px;
    mask: url(./images/hero-outter-shape.svg) bottom/cover no-repeat;
    background: var(--ws-color-primary) linear-gradient( 165deg , rgba(6, 73, 115, 0.9) 0% , rgba(6, 73, 115, 0.1) 100% );;
    /* z-index: 1;
    opacity: .1; */
}
.pageHeader-mask::after {
    content: "";
    position: absolute;
    inset: 0;
    bottom: 20px;
    mask: url(./images/hero-outter-shape.svg) bottom/cover no-repeat;
    background: url(./images/pageheader.webp) center/cover no-repeat;

    z-index: 0;
    opacity: .1;
    mix-blend-mode: luminosity;
}



#ancillary a::after {
  display: inline-block;
  content: '';
  width: 1em;
  height: 1em;
  mask: url(./images/icons/caret-down-solid-full.svg);
  background-color: var(--ws-color-primary);
  transform: rotate(-90deg) translate(1px);
  vertical-align: middle;
}

#ancillary a:is(:hover, :focus, :focus-visible)::after {
  background-color: #fff;
}

/* FOOTER ------------------------------ */
body>footer {
  position: relative;
  background: var(--ws-color-primary);
  clear: both;
  color: #FFF;
  padding-block: 3em 1em;
}

body>footer a {
  color: var(--ws-green-on-blue);
  font-weight: 500;
}

body>footer :is(a.on, .on>a) {
  color: #FFF;
  text-decoration: none;
}

.footer-copywrite {
  font-weight: 300;
}

.footer-note {
  font-style: italic;
}

.fatFooter h2 {
  color: #fff;
  font-family: var(--ws-font-2);
  font-size: 1.5em;
  line-height: .9;
}

body>footer>.wrap {
  overflow: visible;
  padding-top: 1em;
}

body>footer>.wrap nav {
  display: inline;
}

.social-icons {
  text-align: right;
}

.social-icons a {
  display: inline-block;
  margin-bottom: 1em;
}

.social-icons li:last-child a {
  margin-bottom: 0;
}

.footer-contact address {
  font-weight: 300;
  line-height: 1.5;
}

.social-icons a::before {
  content: '';
  background-color: var(--ws-color-shade);
  width: 1.5em;
  height: 1.5em;
  display: block;
}

.social-icons a:is(:hover, :focus-visible)::before {
  background-color: #fff;
}

.fb-link::before {
  mask: url(./images/icons/facebook-f-brands-solid-full.svg) center/contain no-repeat;
}

.youtube-link::before {
  mask: url(./images/icons/youtube-brands-solid-full.svg) center/contain no-repeat;
}

.linkedin-link::before {
  mask: url(./images/icons/linkedin-in-brands-solid-full.svg) center/contain no-repeat;
}

.footer-nav {
  margin-top: 2em;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.footer-nav a {
  color: #fff;
  font-weight: 300;
}

.footer-nav .current-menu-item a {
  text-decoration: underline;
}

.external-link::after,
#content a:not(.button)[target="_blank"]:after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 1em;
  height: 1em;
  mask: url(./images/icons/square-arrow-up-right-regular-full.svg) center/contain no-repeat;
  background-color: currentColor;
}

.external-link:is(:hover, :focus-visible)::after {
  background-color: #fff;
}

/* Homepage Hero ------------------------------ */
.home main {
  padding-inline: 0;
  overflow: hidden;
}

.ribbon-hero {
  position: relative;
}

.ribbon-hero-mask {
  position: absolute;
  inset: 0;
  mask: url(./images/hero-outter-shape.svg) bottom/cover no-repeat;
  background: linear-gradient(136deg, rgba(217, 236, 221, 1) 0%, rgba(238, 247, 240, 1) 100%);
}

.ribbon-hero-mask::before {
    content: "";
    position: absolute;
    inset: 0;
    bottom: 20px;
    mask: url(./images/hero-outter-shape.svg) bottom / cover no-repeat;
    background: #fff;
}

.ribbon-hero h1 {
  position: relative;
  z-index: 1;
  text-shadow: 0 4px 8px rgba(255, 255, 255, 0.45);
  font-weight: 700;
  font-style: bold;
  max-width: 240px;
  line-height: .9;
}

.ribbon-hero h1 em {
  display: block;
  font-style: normal;
  font-family: var(--ws-font-1);
  font-weight: 400;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-top: 20px;
}

.ribbon-hero h1::before {
  content: '';
  position: absolute;
  height: 100%;
  width: 100%;
  background-color: rgba(226, 232, 236, 1);
  filter: blur( 100px );
  z-index: -1;
  left: 50%;
  transform: translateX(-50%);
}

.ribbon-hero .wrap {
  height: 100%;
  display: flex;
  /* align-items: center; */
}

[class*=hero-image-] {
  content: '';
  position: absolute;
  bottom: 0;
  background: linear-gradient( 180deg , rgba(255, 255, 255, 1) 0% , rgba(237, 246, 239, 1) 100% );
  border-radius: 100%;
  transition: var(--ws-transition);
}

[class*=hero-image-] img {
  position: absolute;
  inset: 10px;
  border-radius: 100%;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  object-fit: cover;
}

[class*=hero-image-2] {
  z-index: 1;
}

/* Home Hero ------------------------------ */

.ribbon-hero h1 {
  font-size: 2em;
}

.ribbon-hero h1 em {
  font-size: 1rem;
}

.ribbon-hero {
  height: auto;
  /* padding-block: 6.25em; */
  padding-block: 5em 7.5em;
}

.ribbon-hero .wrap {
  justify-content: center;
  text-align: center;
}

[class*=hero-image-3] {
  right: -3.125em;
  width: 9.375em;
  height: 9.375em;
  z-index: 1;
}

[class*=hero-image-2] {
  right: 3.75em;
  width: 6.25em;
  height: 6.25em;
  z-index: 2;
}

[class*=hero-image-1] {
  left: 0;
  width: 7.5em;
  height: 7.5em;
}


/* Spaces ------------------------------ */

.ribbon-spaces {
  padding-block: 1.875em 4.375em;
}

.ribbon-spaces h2 {
  font-size: 1.25em;
  font-weight: 400;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.ribbon-spaces h2 em {
  display: block;
  font-family: var(--ws-font-2);
  font-size: 2.5rem;
  font-weight: 700;
  font-style: normal;
  text-transform: none;
  letter-spacing: normal;
}

.ribbon-spaces h2 em::after {
  display: inline-block;
  content: '';
  width: 90px;
  height: 2px;
  background-color: var(--ws-color-shade);
  vertical-align: middle;
  margin-left: 5px;
}

[class*=staging-image-] {
  content: '';
  position: relative;
  background: linear-gradient( 180deg , rgba(183, 225, 193, 0.25) 0% , rgba(128, 191, 142, 0.25) 100% );

  border-radius: 100%;
}

[class*=staging-image-] img {
  position: absolute;
  inset: 10px 15px 20px;
  border-radius: 100%;
  width: calc(100% - 30px);
  height: calc(100% - 30px);
  object-fit: cover;
}

.staging-image-1 {
  background: rgba(128, 191, 142, 0.25);
  width: 20.625em;
  height: 20.625em;
}

.staging-image-2 {
  position: absolute;
  bottom: -1.875em;
  left: -1.875em;
  width: 8.125em;
  height: 8.125em;
  z-index: 1;
  background: #fff;
}

.staging-image-2 img {
  inset: 7px;
  border-radius: 100%;
  width: calc(100% - 14px);
  height: calc(100% - 14px);
}

.staging-image-3 {
  /* right: -80px; */
  width: 19.25em;
  height: 19.25em;
}

.spaces-right {
  position: relative;
}

.spaces-content p {
  font-size: 1.125em;
  font-weight: 300;
  line-height: 1.875rem;
}


/* Icon Ribbons ------------------------------ */

.icon-ribbon {
  background: var(--ws-color-shade-2);
  text-align: center;
  padding-block: 3.75em;
  border-top: 3px solid rgba(128, 191, 142, 1);

}

.icon-ribbon h2 {
  font-family: var(--ws-font-2);
  font-size: 40px;
  line-height: 1.6;
  font-weight: 700;
  margin-bottom: 1.5625rem;
}

.icon-ribbon h2 span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3125em;
  font-family: var(--ws-font-1);
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 3px;
  line-height: 1;
  text-transform: uppercase;
}

.icon-ribbon h2 span::before,
.icon-ribbon h2 span::after {
  content: '';
  height: 0.125rem;
  width: 3.75rem;
  background-color: var(--ws-color-shade);
  vertical-align: middle;
}

.icon-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1em;
}

.icon-list li {
  width: calc(33.33% - 1em);
}

.icon-list li:not(:has(a)) {
  padding: 1.875rem 10px;
  height: 100%;
  color: var(--ws-color-primary);
  font-weight: 400;
  font-size: 1.125em;
  line-height: 1.1;
}

.icon-list li:not(:has(a)):before {
  display: block;
}

.icon-list a {
  display: block;
  color: var(--ws-color-primary);
  font-weight: 400;
  font-size: 1.125em;
  line-height: 1.1;
  border: 2px solid transparent;
  border-radius: 10px;
  padding: 1.875rem 10px;
  height: 100%;
}

.icon-list a::after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: .75rem;
  height: .75rem;
  mask: url(./images/icons/chevron-down.svg) center/contain no-repeat;
  background-color: var(--ws-color-primary);
  transform: translate(3px, 5px) rotate(-90deg);
  position: absolute;
}

.icon-list a::before {
  display: block;
  transition: var(--ws-transition);
}

.icon-list a:is(:hover, :focus) {
  border-color: rgba(128, 191, 142, 1);
  background-color: rgba(255, 255, 255, 1);
  text-decoration: none;
}

.icon-list li:first-child a::before {
  content: url(./images/icons/house-chimney-heart.svg);
}

.icon-list li:nth-child(2)::before {
  content: url(./images/icons/briefcase-medical.svg);
}

.icon-list li:nth-child(3) a::before {
  content: url(./images/icons/money-check-dollar.svg);
}

.icon-list li:nth-child(4) a::before {
  content: url(./images/icons/carrot.svg);
}

.icon-list li:nth-child(5)::before {
  content: url(./images/icons/calendar.svg);
}

.icon-list li:nth-child(6) a::before {
  content: url(./images/icons/people-arrows.svg);
}

.icon-list li:nth-child(7) a::before {
  content: url(./images/icons/hand-heart.svg);
}

.icon-list li:nth-child(8) a::before {
  content: url(./images/icons/pace-logo.svg);
}


/* testimonials ------------------------------ */

.ribbon-testimonials {
  position: relative;
  padding-block: 4.375em;
}

.ribbon-testimonials h2 {
  position: relative;
  color: var(--ws-green-on-blue);
  font-size: 1.25em;
  font-weight: 400;
  letter-spacing: 3px;
  text-align: center;
  text-transform: uppercase;
}

.ribbon-testimonials h2::after {
  display: block;
  content: '';
  height: 0.125em;
  width: 3.125rem;
  background-color: rgba(247, 247, 247, 0.5);
  margin-inline: auto;
  margin-top: 1.25rem;
}

.ribbon-mask {
  position: absolute;
  inset: 0;
  mask: url(./images/hero-outter-shape.svg) bottom/cover no-repeat;
  background: linear-gradient(136deg, rgba(217, 236, 221, 1) 0%, rgba(238, 247, 240, 1) 100%);
}

.ribbon-mask::before {
    content: "";
    position: absolute;
    inset: 0;
    bottom: 20px;
    mask: url(./images/hero-outter-shape.svg) bottom/cover no-repeat;
    background: var(--ws-color-primary) linear-gradient( 165deg , rgba(6, 73, 115, 0.9) 0% , rgba(6, 73, 115, 0.1) 100% );;
    /* z-index: 1;
    opacity: .1; */
}
.ribbon-mask::after {
    content: "";
    position: absolute;
    inset: 0;
    bottom: 20px;
    mask: url(./images/hero-outter-shape.svg) bottom/cover no-repeat;
    background: url(./images/testimonials.webp) center/cover no-repeat;

    z-index: 0;
    opacity: .1;
    mix-blend-mode: luminosity;
}

.ribbon-logo {
  position: absolute;
  top: -3.75em;
  left: 50%;
  transform: translateX(-50%);
  width: 6.125em;
  height: 6.125em;
  z-index: 1;
  padding: 0.6875em;
  background-color: var(--ws-color-shade-2);
  border-radius: 100%;
}

.testimonial blockquote {
  background-color: transparent;
  text-align: center;
  max-width: 57.5rem;
  margin-inline: auto;
}

.testimonial blockquote p {
  color: #fff;
  font-weight: 400;
  font-style: italic;
  quotes: none;
}

.testimonial blockquote cite {
  font-size: 20px;
  font-weight: 300;
  font-style: light;
  color: #fff;
}

.testimonial blockquote cite::before {
  display: none;
}

.testimonial-slider .slick-arrow {
  all: unset;
  position: absolute;
  top: 50%;
  transform: translateY(-200%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3.0625em;
  height: 3.0625em;
  border-radius: 100%;
  background-color: var(--ws-color-shade);
  cursor: pointer;
  z-index: 1;
}

.testimonial-slider button.slick-arrow:is(:hover, :focus) {
  background-color: var(--ws-color-tertiery) !important;
}

.testimonial-slider .slick-arrow:is(:hover, :focus)::before {
  background-color: #fff;
}

.testimonial-slider .slick-next {
  right: 0;
}

.testimonial-slider .slick-next::before {
  transform: translateX(3px) rotate(-90deg);
}

.testimonial-slider .slick-prev::before {
  transform: rotate(90deg);
}

.testimonial-slider .slick-arrow::before {
  content: '';
  display: block;
  mask: url(./images/icons/chevron-down.svg) center/contain no-repeat;
  background-color: var(--ws-color-primary);
  width: 1em;
  height: 1em;
}

/* Home CTA ------------------------------ */

.ribbon-home-cta {
  background: url(./images/welcome-left-curve.svg) bottom left no-repeat;
  padding-block: 1.25em 3.75em;
}

[class*=cta-image-] {
  content: '';
  position: relative;
  background: linear-gradient( 180deg , rgba(183, 225, 193, 0.25) 0% , rgba(128, 191, 142, 0.25) 100% );

  border-radius: 100%;
}

[class*=cta-image-] img {
  position: absolute;
  inset: 10px 15px 20px;
  border-radius: 100%;
  width: calc(100% - 30px);
  height: calc(100% - 30px);
  object-fit: cover;
}

.cta-image-1 {
  background: rgba(128, 191, 142, 0.25);
  width: 29.125em;
  height: 29.125em;
}

.cta-image-2 {
  position: absolute;
  bottom: 0;
  left: calc(50% - 200px);
  width: 12.6875em;
  height: 12.6875em;
  z-index: 1;
  background: #fff;
}

.cta-image-2 img {
  inset: 7px;
  border-radius: 100%;
  width: calc(100% - 14px);
  height: calc(100% - 14px);
}


.home-cta-right {
  position: relative;
  display: flex;
  justify-content: center;
  margin-top: 1em;
}

.home-cta-content h2 {
  font-family: var(--ws-font-2);
  font-size: 2.5em;
  font-weight: 700;
  line-height: 1;
}

.home-cta-content h2 em {
  display: block;
  font-family: var(--ws-font-1);
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-style: normal;
  margin-top: 1rem;
}

.home-cta-content p {
  font-size: 1.125em;
  font-weight: 300;
}

.button-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625em;
  margin-top: 1.875em;
}
/* TRANSITIONS ------------------------------ */

a, a *, button, .button, input:is([type="button"], [type="submit"], [type="reset"]),
:is(input, select, textarea):focus, #alertApp, #alertApp span, #alertDesc {
  transition: var(--ws-transition);
}

.stop-transitions * {
  transition: none !important;
}



/* ANIMATIONS ------------------------------ */

@media screen and (prefers-reduced-motion: no-preference) {

  .translate-up,
  .translate-down,
  .translate-left,
  .translate-right {
    opacity: 0;
    transition: all 1s ease;
  }

  .translate-up {
    transform: translate(0,3rem);
  }

  .translate-down {
    transform: translate(0,-3rem);
  }

  .translate-left {
    transform: translate(3rem,0);
  }

  .translate-right {
    transform: translate(-3rem,0);
  }

  :is(.translate-up, .translate-down, .translate-left, .translate-right).animated {
    opacity: 1;
    transform: translate(0,0);
  }

}

/* SEARCH ------------------------------ */
.search-results article{
	border-top: 1px dashed #D4D9E1;
	padding: 1em 0;
}

.search-results .pagination {
	border-top: 1px dashed #D4D9E1;
	display: flex;
	flex-wrap: nowrap;
	gap:0.125rem;
	justify-content: center;
	margin-top: 3.125em;
	padding-top: 1.5625em;
}

.search-results .pagination .off {
	opacity: 0.5;
	pointer-events: none;
}

.search-results .pagination .prev {
}

.search-results .pagination .next {
}

.search-results .pagination ol {
	display: flex;
	flex-wrap: wrap;
	gap:0.125rem;
	justify-content: center;
	margin:0;
	padding:0;
}

.search-results .pagination li {
	list-style: none;
}

.search-results .pagination a,
.search-results .pagination span{
	align-content: center;
	align-items: center;
	border-radius: var(--border-radius);
	color: var(--ws-color-font);
	display: flex;
	font-weight: var(--bold);
	height: 2.3125rem;
	justify-content: center;
	width: 2.3125rem;
}

.search-results .pagination li.on a,
.search-results .pagination span.current {
  background: var(--ws-color-accent);
	box-shadow: inset 0 0 0 2px var(--ws-color-accent);
	font-weight: bold;
	color: var(--ws-color-primary);
}

.entry-header a>h2.entry-title {
	color: var(--ws-color-tertiery);
}

.entry-header .posted-on .date-updated{
	display: none;
}

/* Image Galleries ------------------------------ */

.wp-block-gallery.wp-block-gallery-1 {
    --wp--style--gallery-gap-default: 1em;
}

figure.wp-block-gallery.has-nested-images {
  margin-block: 3em;
}

.wp-block-gallery.has-nested-images figure.wp-block-image img {
  aspect-ratio: 5/4;
}

.mobile-stacked.wp-block-gallery.has-nested-images figure.wp-block-image img {
  aspect-ratio: revert-layer;
}

#content {
    container: content / inline-size;
}

/* 450px */
@container content (max-width: 28.125em) {
  .mobile-stacked.wp-block-gallery.has-nested-images {
    flex-direction: column;
    align-items: center;
  }
}

/* 600px */
@container content (max-width: 37.5em) {

  .wp-block-columns.shaded-3-col {
    flex-wrap: wrap !important;
  }

  .shaded-3-col.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
    flex: auto;
    width: calc(50% - 2em);
  }
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  background-color: var(--ws-color-primary);
}

#content .wp-block-gallery.has-nested-images figure.wp-block-image a:not(.button)[target="_blank"]:after {
  color: #fff;
  z-index: 1;
  margin: 0.3125rem;
}

/* override three col for checkboxes https://www.heathergardensv1.wp/about-us/contact/ */

.frm_form_field.frm_three_col .frm_opt_container {
  grid-template-columns: repeat(auto-fit, minmax(6.25rem, 1fr));
}

.with_frm_style .frm_checkbox label {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

.wp-block-image img {
  border-radius: 0.625em;
}

.intro {
  color: var(--ws-color-primary);
  font-weight: 300;
  line-height: 1.25;
  font-size: 1.5em !important;
  margin-bottom: 1rem;
}

/* FAQS BLOCK ----------------------------- /
* - Standard Interior pages
*/

.faqs {
  padding-block: 2em;
}

h2 + .faqs {
  margin-top: -1.5em;
  padding-top: 0;
}

.faqs__heading {
  font-family: var(--ws-font-2);
}

details {
  border-bottom: 2px solid var(--ws-color-medium-gray);
  margin-bottom: 0.4375em;
  position: relative;
  transition: var(--ws-transition);
}

details:first-of-type {
  border-top: 2px solid var(--ws-color-medium-gray);
}

details:last-of-type {
  margin-bottom: 0;
}

details[open] {
  background: var(--ws-color-light-gray);
}

details summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-family: var(--ws-font-2);
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.2;
  list-style: none;
  padding: 10px 1.125rem 16px;
  position: relative;
  transition: var(--ws-transition);
  -webkit-appearance: none;
  color: var(--ws-color-primary);
  border-radius: 8px;
  background-color: rgba(6, 73, 115, 0.1);
}

details[open] summary {
  color: #fff;
  border-radius: 8px 8px 0 0;
  background-color: var(--ws-color-tertiery);
}

details summary::-webkit-details-marker {
  display: none;
}

details summary::after {
  aspect-ratio: 1;
  background-color: #80BF8E;
  content: "";
  mask-image: url('./images/icons/plus-solid-full.svg');
  transition: var(--ws-transition);
  width: 1.25rem;
  height: 1.25rem;
  transform: translateY(3px);
}

details[open] summary::after {
  mask-image: url('./images/icons/minus-solid-full.svg');
  background-color: #fff;
}

details summary + div {
  padding: 20px 40px;
  border: 2px solid rgba(238, 240, 242, 1);
  border-top: 0;
  border-radius: 0 0 8px 8px;
}

details summary + div p {
  font-size: 1.125em;
  font-weight: 300;
}


.wp-lightbox-overlay :is(.wp-lightbox-navigation-button, .wp-lightbox-close-button):is(:hover, :focus) {
  fill: #fff !important;
  background-color: var(--ws-color-primary) !important;
}
