@charset "UTF-8";
/*
* Theme Name: FACT
* Author: The Graphic Element
* Author URI: https://www.thegraphicelement.com
* Copyright: 2024, The Graphic Element. All rights reserved.
*/
body {
  --wp--preset--color--white: #fff;
  --wp--preset--color--black: #000000;
  --wp--preset--color--primary: #7382be;
  --wp--preset--color--primary-light: #e3e6f2;
  --wp--preset--color--primary-dark: #626fa2;
  --wp--preset--color--secondary: #9fcf67;
  --wp--preset--color--secondary-light: #ecf5e1;
  --wp--preset--color--secondary-dark: #8fba5d;
  --wp--preset--color--red: #cf2e2e;
  --wp--preset--spacing--xs: calc(calc(3vw + 2rem) * .3);
  --wp--preset--spacing--sm: calc(calc(3vw + 2rem) * .6);
  --wp--preset--spacing--md: calc(3vw + 2rem);
  --wp--preset--spacing--lg: calc(calc(3vw + 2rem) * 1.2);
  --wp--preset--spacing--xl: calc(calc(3vw + 2rem) * 1.8);
  --wp--preset--font-size--x-small: 0.84375em;
  --font-size-x-small: 0.84375em;
  --wp--preset--font-size--small: 0.95625em;
  --font-size-small: 0.95625em;
  --wp--preset--font-size--medium: 1.125em;
  --font-size-medium: 1.125em;
  --wp--preset--font-size--large: 1.4625em;
  --font-size-large: 1.4625em;
  --wp--preset--font-size--x-large: 1.6875em;
  --font-size-x-large: 1.6875em;
  --font-size-h1: 2.8em;
  --font-size-h2: 2.2em;
  --font-size-h3: 1.6em;
  --font-size-h4: 1.25em;
  --font-size-h5: 1.125em;
}

/* reset */
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, font, 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 {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-family: inherit;
  border: 0;
  vertical-align: top;
}

/* normalize */
html {
  font-size: 16px;
  overflow-y: scroll;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

article,
aside,
footer,
header,
nav,
section {
  display: block;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

blockquote::before,
blockquote::after,
q::before,
q::after {
  content: "";
  content: none;
}

blockquote, q {
  quotes: none;
}

a:hover, a:active {
  outline: 0;
}

a img {
  border: 0;
}

embed, iframe, object {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}

mark {
  padding: 0 0.2em;
  background: #c9eba1;
}

hr {
  margin: 2em 0;
  height: 0;
  border: 0;
  border-top: 3px double #ddd;
}

hr + h1, hr + h2, hr + h3,
h1 + hr, h2 + hr, h3 + hr {
  margin-top: 0;
}

body:not(.is-tabbing) section:focus,
body:not(.is-tabbing) main:focus,
body:not(.is-tabbing) article:focus {
  outline: none;
}

::-moz-selection {
  background: #f1f8e8;
}

::selection {
  background: #f1f8e8;
}

/* ---------------------------------------------
# general styling
--------------------------------------------- */
html {
  font-size: 16px;
}

body {
  color: #424242;
  font: 1em/1 "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  -webkit-font-smoothing: antialiased;
  background: #fff;
}

/* colors */
.has-white-color {
  color: #fff;
}

.has-white-background-color {
  background-color: #fff;
}

.has-black-color {
  color: #000000;
}

.has-black-background-color {
  background-color: #000000;
}

.has-primary-color {
  color: #7382be;
}

.has-primary-background-color {
  background-color: #7382be;
}

.has-primary-light-color {
  color: #e3e6f2;
}

.has-primary-light-background-color {
  background-color: #e3e6f2;
}

.has-primary-dark-color {
  color: #626fa2;
}

.has-primary-dark-background-color {
  background-color: #626fa2;
}

.has-secondary-color {
  color: #9fcf67;
}

.has-secondary-background-color {
  background-color: #9fcf67;
}

.has-secondary-light-color {
  color: #ecf5e1;
}

.has-secondary-light-background-color {
  background-color: #ecf5e1;
}

.has-secondary-dark-color {
  color: #8fba5d;
}

.has-secondary-dark-background-color {
  background-color: #8fba5d;
}

.has-red-color {
  color: #cf2e2e;
}

.has-red-background-color {
  background-color: #cf2e2e;
}

/* headings */
h1, h2, h3, h4, h5, h6 {
  line-height: 1.2;
  font-family: "Fira Sans", "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3,
h2 strong,
h3 strong {
  font-weight: 500;
}

h1 {
  margin-bottom: 1.2em;
  color: #9fcf67;
  text-transform: uppercase;
  border-bottom: 1px solid #ddd;
}

h2 {
  margin: 2em 0 0.4em;
  color: #424242;
}

h3 {
  margin: 1.6em 0 0.6em;
  color: #8fba5d;
}

h4 {
  margin: 1.4em 0 0.8em;
}

h5 {
  margin: 0;
}

h1 {
  font-size: var(--font-size-h1);
}

h2 {
  font-size: var(--font-size-h2);
}

h3 {
  font-size: var(--font-size-h3);
}

h4 {
  font-size: var(--font-size-h4);
}

h5 {
  font-size: var(--font-size-h5);
}

/* text */
p {
  margin-bottom: 1.2em;
  font-size: 1.125em;
  line-height: 1.55;
}

/* links */
a {
  color: #7382be;
  text-decoration: none;
  outline: none;
  transition: color 300ms ease;
}

a:hover, a:active {
  color: #5e6b9c;
}

a.btn, p a[href*=product] {
  display: inline-block;
  padding: 0.6em 1em;
  height: auto;
  color: #fff;
  font: 500 1em/1 "Fira Sans", "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: #7382be;
  border: none;
  border-radius: 4px;
  vertical-align: middle;
  transition: background 200ms ease;
}
a.btn:hover, a.btn:focus, p a[href*=product]:hover, p a[href*=product]:focus {
  background: #626fa2;
}

/* lists */
.site-content ul {
  margin: 0 0 1.2em 3em;
  list-style: disc;
}
.site-content ul ul {
  margin: 0.25em 0 0.8em 1.6em;
  list-style: circle;
}

.site-content ol {
  margin: 0 0 1.2em 3em;
  list-style: decimal;
}

.site-content p + ul,
.site-content p + ol {
  margin-top: -0.5em;
}

.site-content li {
  margin: 0 0 0.5em;
  font-size: 1.125em;
  line-height: 1.4;
}
.site-content li li {
  font-size: 1em;
}

dt {
  margin: 0.9em 0 0.3em;
  font-weight: bold;
}

dd {
  margin: 0.3em 0 0.7em 15px;
  margin-left: 15px;
}

/* images */
img {
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}
img[width][height] {
  height: auto;
}

/* .alignleft {
	float: left;
	margin: 0 2.5em 2em 0;
}
.alignright {
	float: right;
	margin: 0 0 2em 2.5em;
}
.aligncenter {
	clear: both;
	display: block;
	margin: 2em auto;
} */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*=wp-image-] {
  display: block;
  margin: 0 auto;
}

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

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

embed, iframe, object {
  max-width: 100%;
}

.responsive-iframe {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 56.25%;
  width: 100%;
  height: 0;
  overflow: hidden;
}
.responsive-iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

figure {
  margin: 0;
}

/* tables */
table {
  margin: 0 0 1.5em;
  width: 100%;
}

/* form elements */
input,
textarea,
select,
button {
  margin: 0;
  padding: 0.6em;
  width: auto;
  color: #333;
  font: 1em/1.2 "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-align: left;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 0;
  vertical-align: middle;
  box-sizing: border-box;
}
input:focus,
textarea:focus,
select:focus,
button:focus {
  outline-color: transparent;
  outline-style: none;
  border-color: #9fcf67;
}

.btn,
.wp-block-button .wp-block-button__link,
.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-file .wp-block-file__button,
.submit-wrap .nf-element,
.woocommerce-page #enews input.btn {
  display: inline-block;
  padding: 0.6em 1em;
  height: auto;
  color: #fff;
  font: 500 1em/1.2 "Fira Sans", "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: 0.1em;
  text-align: center;
  text-transform: uppercase;
  background: #7382be;
  border: none;
  border-radius: 4px;
  transition: background 200ms ease;
}
.btn:hover, .btn:focus,
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus,
.is-style-outline .wp-block-button__link:hover,
.is-style-outline .wp-block-button__link:focus,
.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:focus,
.wp-block-file .wp-block-file__button:hover,
.wp-block-file .wp-block-file__button:focus,
.submit-wrap .nf-element:hover,
.submit-wrap .nf-element:focus,
.woocommerce-page #enews input.btn:hover,
.woocommerce-page #enews input.btn:focus {
  color: #fff;
  background: #626fa2;
}

textarea {
  overflow: auto;
}

input[type=search] {
  -webkit-appearance: textfield;
}

input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

input[type=checkbox], input[type=radio] {
  padding: 0;
}

select:not([multiple]) {
  padding: 0.7em 1.6em 0.7em 0.6em;
  background-image: linear-gradient(45deg, transparent 50%, #000000 50%), linear-gradient(135deg, #000000 50%, transparent 50%);
  background-position: calc(100% - 16px) 1.2em, calc(100% - 10px) 1.2em;
  background-size: 6px 6px, 6px 6px, 2px 1.6em;
  background-repeat: no-repeat;
  -webkit-appearance: none;
  -moz-appearance: none;
  outline-color: transparent;
  outline-style: none;
}

label.screen-reader-text {
  display: none;
}

::-webkit-input-placeholder {
  padding-top: 0.05em;
}

:-moz-placeholder {
  padding-top: 0.05em;
}

::-moz-placeholder {
  padding-top: 0.05em;
}

:-ms-input-placeholder {
  padding-top: 0.05em;
}

.wp-block-button .has-white-color {
  color: #fff;
}

.is-style-outline.wp-block-button .has-white-color {
  border-color: #fff;
}

.wp-block-button .has-white-background-color {
  background-color: #fff;
  border-color: #fff;
}

.wp-block-button .has-black-color {
  color: #000000;
}

.is-style-outline.wp-block-button .has-black-color {
  border-color: #000000;
}

.wp-block-button .has-black-background-color {
  background-color: #000000;
  border-color: #000000;
}

.wp-block-button .has-primary-color {
  color: #7382be;
}

.is-style-outline.wp-block-button .has-primary-color {
  border-color: #7382be;
}

.wp-block-button .has-primary-background-color {
  background-color: #7382be;
  border-color: #7382be;
}

.wp-block-button .has-primary-light-color {
  color: #e3e6f2;
}

.is-style-outline.wp-block-button .has-primary-light-color {
  border-color: #e3e6f2;
}

.wp-block-button .has-primary-light-background-color {
  background-color: #e3e6f2;
  border-color: #e3e6f2;
}

.wp-block-button .has-primary-dark-color {
  color: #626fa2;
}

.is-style-outline.wp-block-button .has-primary-dark-color {
  border-color: #626fa2;
}

.wp-block-button .has-primary-dark-background-color {
  background-color: #626fa2;
  border-color: #626fa2;
}

.wp-block-button .has-secondary-color {
  color: #9fcf67;
}

.is-style-outline.wp-block-button .has-secondary-color {
  border-color: #9fcf67;
}

.wp-block-button .has-secondary-background-color {
  background-color: #9fcf67;
  border-color: #9fcf67;
}

.wp-block-button .has-secondary-light-color {
  color: #ecf5e1;
}

.is-style-outline.wp-block-button .has-secondary-light-color {
  border-color: #ecf5e1;
}

.wp-block-button .has-secondary-light-background-color {
  background-color: #ecf5e1;
  border-color: #ecf5e1;
}

.wp-block-button .has-secondary-dark-color {
  color: #8fba5d;
}

.is-style-outline.wp-block-button .has-secondary-dark-color {
  border-color: #8fba5d;
}

.wp-block-button .has-secondary-dark-background-color {
  background-color: #8fba5d;
  border-color: #8fba5d;
}

.wp-block-button .has-red-color {
  color: #cf2e2e;
}

.is-style-outline.wp-block-button .has-red-color {
  border-color: #cf2e2e;
}

.wp-block-button .has-red-background-color {
  background-color: #cf2e2e;
  border-color: #cf2e2e;
}

.is-style-outline.wp-block-button .wp-block-button__link:not(:hover):not(:focus) {
  color: #000000;
}

/* screen readers */
.screen-reader-text {
  position: absolute;
  top: -999em;
  left: -999em;
  display: block;
  padding: 0;
  width: 1px;
  height: 1px;
  border: 0;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(1px);
  white-space: nowrap;
  word-wrap: normal;
  overflow: hidden;
}

/* skip link */
.skip {
  z-index: 100000;
  top: -2em;
  color: #fff;
  font-weight: bold;
  font-size: 0.8em;
  letter-spacing: 0.1em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  background: #fff;
  border-radius: 0 0 4px 0;
  transition: top 300ms ease, background 300ms ease;
}
.skip:focus, .skip:active, .skip:hover {
  top: 0;
  left: 0;
  padding: 0.6em 1em;
  color: #fff;
  width: auto;
  height: auto;
  background: #9fcf67;
  overflow: visible;
}

/* ---------------------------------------------
# page structure
--------------------------------------------- */
.master-wrapper {
  max-width: 100%;
  overflow: hidden;
}

.site-content {
  padding-top: calc(3vw + 2rem);
  padding-bottom: calc(3vw + 2rem);
}
.site-content a {
  font-weight: bold;
}

/*
* layout
*/
.container {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  padding-right: 6vw;
  padding-left: 6vw;
  max-width: 68rem;
}
.container-wide {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  padding-right: 6vw;
  padding-left: 6vw;
  max-width: calc(68rem + ((100vw - 68rem) / 2));
}
.container-narrow {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  padding-right: 6vw;
  padding-left: 6vw;
  max-width: 50rem;
}

/* ---------------------------------------------
# menus
--------------------------------------------- */
/*
* main menu
*/
.main-nav ul.main-nav-menu {
  position: relative;
  text-align: right;
}
.main-nav ul.main-nav-menu > li {
  position: relative;
  display: inline-block;
  margin: 0;
  font: 400 1.1em/1 "Fira Sans", "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  text-align: left;
  text-transform: uppercase;
  /* hover arrows */
}
@media only screen and (min-width: 1200px) {
  .main-nav ul.main-nav-menu > li {
    font-size: 1.1875em;
  }
}
.main-nav ul.main-nav-menu > li.mega {
  position: static;
}
.main-nav ul.main-nav-menu > li > a {
  position: relative;
  display: block;
  margin: 0;
  padding: 1.5em 0.5em;
  color: #424242;
}
.main-nav ul.main-nav-menu > li:hover > a,
.main-nav ul.main-nav-menu > li > a:focus {
  color: #87b058;
}
.main-nav ul.main-nav-menu > li.menu-item-has-children > a::after,
.main-nav ul.main-nav-menu > li.menu-item-has-children > a::before {
  z-index: 101;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -10px;
  margin-bottom: 0;
  content: "";
  width: 0;
  height: 0;
  border-top: 10px solid #fff;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  transition: bottom 200ms ease;
}
.main-nav ul.main-nav-menu > li.menu-item-has-children > a:before {
  bottom: -1px;
  border-top: 10px solid #ccc;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  opacity: 0;
  transition: bottom 200ms ease, opacity 300ms ease;
}
.main-nav ul.main-nav-menu > li.menu-item-has-children:hover > a:after {
  bottom: -9px;
}
.main-nav ul.main-nav-menu > li.menu-item-has-children:hover > a:before {
  bottom: -10px;
  opacity: 1;
}

/* level 2 */
.main-nav ul.main-nav-menu > li > ul {
  z-index: 100;
  position: absolute;
  left: -0.6em;
  padding: 1.2em 0 1em;
  width: 220px;
  background: #e2f1d1;
  border-top: 1px solid #ccc;
  border-bottom: 10px solid #9fcf67;
  overflow: hidden;
}
.main-nav ul.main-nav-menu li li {
  position: relative;
  margin: 0.2em 0;
  font: normal 0.8em/1.2 "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-transform: none;
}
.main-nav ul.main-nav-menu li li a {
  display: block;
  padding: 0.25em 1.4em;
  transition: color 300ms ease;
}
.main-nav ul.main-nav-menu li li a,
.main-nav ul.main-nav-menu li:hover li a,
.main-nav ul.main-nav-menu li:hover li li a,
.main-nav ul.main-nav-menu li li a:focus,
.main-nav ul.main-nav-menu li li li a:focus {
  color: #678743;
}
.main-nav ul.main-nav-menu li li:hover a,
.main-nav ul.main-nav-menu li li li:hover a,
.main-nav ul.main-nav-menu li li a:focus,
.main-nav ul.main-nav-menu li li li a:focus {
  color: #333;
}

/* level 3 */
.main-nav ul.main-nav-menu ul ul {
  top: -1.4em;
  left: 0;
  margin-left: 100%;
  border-top: none;
  border-left: 1px solid #fff;
}
.main-nav ul.main-nav-menu li li li {
  font-size: 100%;
}

/* MEGA ITEM: 1st Level */
.main-nav ul.main-nav-menu > li.mega > ul {
  left: 0;
  transform: translate(0, 0);
  padding: 0;
  width: 100%;
}
.main-nav ul.main-nav-menu > li.mega > ul > li {
  position: relative;
  float: left;
  margin: 0;
  padding: 2em 1.5%;
  width: 25%;
  color: #424242;
  font: bold 1em/1.2 "Helvetica Neue", Helvetica, Arial, sans-serif;
  box-sizing: border-box;
}
.main-nav ul.main-nav-menu > li.mega > ul > li:after {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  content: "";
  width: 1px;
  height: 100vh;
  border-right: 1px solid #fff;
}
.main-nav ul.main-nav-menu > li.mega > ul > li:last-of-type:after {
  border: 0;
}
.main-nav ul.main-nav-menu > li.mega > ul > li a {
  display: block;
  margin: 0;
  padding: 0;
  width: auto;
}
.main-nav ul.main-nav-menu > li.mega > ul > li:last-of-type {
  border: 0;
}
.main-nav ul.main-nav-menu > li.mega > ul > li a, .main-nav ul.main-nav-menu > li.mega:hover > ul > li a,
.main-nav ul.main-nav-menu > li.mega > ul > li a:focus {
  color: #424242;
}
.main-nav ul.main-nav-menu > li.mega > ul > li > a:hover, .main-nav ul.main-nav-menu > li.mega:hover > ul > li > a:hover,
.main-nav ul.main-nav-menu > li.mega > ul > li > a:focus {
  color: #000000;
}

/* MEGA ITEM: 2nd Level */
.main-nav ul.main-nav-menu > li.mega > ul ul {
  position: static;
  margin: 0.5rem 0 0;
  border: none;
}
.main-nav ul.main-nav-menu > li.mega > ul > li li {
  margin: 0.2em 0;
  font-weight: normal;
  font-size: 0.8em;
}

/* MEGA ITEM: 3rd Level */
.main-nav ul.main-nav-menu > li.mega > ul ul ul {
  margin: 0 0 0 1em;
}
.main-nav ul.main-nav-menu > li.mega > ul > li li li {
  position: relative;
  margin: 0.1em 0;
  font-size: 1em;
  /* &:before {
  	position: absolute;
  	top: 50%;
  	left: -.66em;
  	display: inline-block;
  	content: "\2022";
  	color: shade($color-secondary, 35%);
  	@include transform(translateY(-50%));
  } */
}
.main-nav ul.main-nav-menu > li.mega > ul > li li li:before {
  position: absolute;
  top: 50%;
  left: -0.66em;
  display: inline-block;
  width: 6px;
  height: 2px;
  content: "";
  background: #7fa652;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.main-nav ul.main-nav-menu > li.mega > ul > li li a, .main-nav ul.main-nav-menu > li.mega:hover > ul > li li a {
  padding: 0.2em 0;
  color: #678743;
  transition: color 300ms ease;
}
.main-nav ul.main-nav-menu > li.mega > ul > li li a:hover,
.main-nav ul.main-nav-menu > li.mega > ul > li li a:focus {
  color: #333;
}

/* Hide & Reveal */
.main-nav ul.main-nav-menu ul {
  display: none;
}

.main-nav > ul.main-nav-menu > li.parent:hover > ul,
.main-nav.main-nav ul.main-nav-menu li li.parent:hover ul {
  display: block;
}

/*
 * mobile menu
 */
.js .is-desktop-nav {
  display: none;
}

.js .is-mobile-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: flex-end;
  -ms-flex-pack: flex-end;
  justify-content: flex-end;
  width: 100%;
}

@media only screen and (min-width: 992px) {
  .is-desktop-nav,
  .js .is-desktop-nav {
    display: block;
  }
  .is-mobile-nav,
  .js .is-mobile-nav {
    display: none;
  }
}
.slicknav_menu {
  margin: 0;
  text-align: right;
}
@media only screen and (min-width: 480px) {
  .slicknav_menu {
    margin: 0 -50px;
  }
}
.slicknav_menu .slicknav_btn {
  margin: 0.5em -0.8em 0.5em 0 !important;
  color: #424242;
  font-size: 1.25em;
  font: 400 1.25em/1 "Fira Sans", "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
@media only screen and (min-width: 480px) {
  .slicknav_menu .slicknav_btn {
    margin: 0.5em calc(50px - 0.8em) 0.5em 0 !important;
  }
}
.slicknav_menu .slicknav_nav {
  font-size: 1.2em;
  background: #e7f3d9;
  border-top: 1px solid #ccc;
  border-bottom: 10px solid #9fcf67;
}
.slicknav_menu .slicknav_nav .slicknav_arrow::before {
  color: #424242;
}
.slicknav_menu .slicknav_nav .slicknav_row:hover .slicknav_arrow::before {
  color: #9fcf67;
}
.slicknav_menu .slicknav_nav a {
  color: #424242;
  font-family: "Fira Sans", "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  transition: none;
}
.slicknav_menu .slicknav_nav a:hover, .slicknav_menu .slicknav_nav a:focus {
  color: #5f7c3e;
}

/*
* sub menu
*/
.secondary-nav-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.8em;
}
.secondary-nav-menu li {
  margin: 0;
}
.secondary-nav-menu li a {
  padding: 0.65em 1em;
  display: inline-block;
  color: #fff;
  font: 500 0.95em/1 "Fira Sans", "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: #424242;
  border-radius: 5px;
  transition: background 300ms ease;
}
.secondary-nav-menu li a:hover, .secondary-nav-menu li a:focus {
  background: #000000;
}
.secondary-nav-menu li a[href*=donate] {
  background: #7382be;
}
.secondary-nav-menu li a[href*=donate]:hover, .secondary-nav-menu li a[href*=donate]:focus {
  background: #5c6898;
}
.secondary-nav-menu li a[href*=services] {
  background: #9fcf67;
}
.secondary-nav-menu li a[href*=services]:hover, .secondary-nav-menu li a[href*=services]:focus {
  background: #7fa652;
}

/* ---------------------------------------------
# header
--------------------------------------------- */
.site-header {
  position: relative;
  z-index: 10;
  padding-top: calc(calc(3vw + 2rem) * .3);
  background: #fff;
  border-bottom: 1px solid #ccc;
}
.site-header .container {
  position: relative;
}
@media only screen and (max-width: 479px) {
  .site-header .container {
    padding: 0;
  }
}
@media only screen and (max-width: 1059px) {
  .site-header-spacer, .site-header-spacer[style] {
    height: auto !important;
  }
}

.site-header.anchor {
  padding-top: 0;
}
@media only screen and (min-width: 1060px) {
  .site-header.anchor {
    position: fixed;
    z-index: 101;
    left: 0;
    right: 0;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
    animation: header 1s -400ms ease forwards;
  }
}

@keyframes header {
  from {
    top: -100%;
  }
  to {
    top: 0;
  }
}
.top-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1.2rem;
  margin-bottom: 1rem;
  width: 100%;
  font-size: 0.9em;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .top-bar {
    -webkit-box-pack: flex-end;
    -ms-flex-pack: flex-end;
    justify-content: flex-end;
    gap: 2rem;
    font-size: 1em;
  }
}
.site-header.anchor .top-bar {
  display: none;
}
.top-bar .donate-btn {
  margin: calc(calc(calc(3vw + 2rem) * .3) * -1) 0 0;
  padding: 1.2em 0.9em 0.6em;
  display: inline-block;
  color: #fff;
  font: 500 1.15em/1 "Fira Sans", "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: #7382be;
  border-radius: 0 0 5px 5px;
  transition: background 300ms ease;
}
@media only screen and (min-width: 992px) {
  .top-bar .donate-btn {
    font-size: 1.25em;
  }
}
.top-bar .donate-btn:hover {
  background: #626fa2;
}

.logo {
  position: absolute;
  z-index: 999;
  top: auto;
  bottom: 15px;
  left: calc(6vw * .7);
  display: block;
  width: 180px;
}
@media only screen and (min-width: 768px) {
  .logo {
    top: 50%;
    bottom: auto;
    width: 240px;
    -webkit-transform: translateY(-62%);
    -ms-transform: translateY(-62%);
    transform: translateY(-62%);
  }
}
@media only screen and (min-width: 1200px) {
  .logo {
    width: 310px;
  }
}
.logo-image {
  display: block;
  width: 100%;
  height: auto;
}

.site-header.anchor .logo {
  left: -55px;
  width: 250px;
  clip-path: inset(25px 0 18px 107px);
  -webkit-transform: translateY(22%);
  -ms-transform: translateY(22%);
  transform: translateY(22%);
}
@media only screen and (min-width: 1200px) {
  .site-header.anchor .logo {
    left: -75px;
    width: 300px;
    clip-path: inset(30px 0 20px 128px);
    -webkit-transform: translateY(-54%);
    -ms-transform: translateY(-54%);
    transform: translateY(-54%);
  }
}
.site-header.anchor .logo .icon {
  display: none;
}

.site-desc {
  position: absolute;
  top: -999em;
  left: -999em;
}

/* ---------------------------------------------
# footer
--------------------------------------------- */
.site-footer {
  position: relative;
  clear: both;
  padding: 2.8em 0 1.5em;
  color: #ddd;
  background: #797979;
}
.site-footer .footer-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-between;
  -ms-flex-pack: space-between;
  justify-content: space-between;
  gap: 1.5em;
  padding-bottom: 2.5em;
}
@media only screen and (max-width: 799px) {
  .site-footer .footer-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.site-footer h3 {
  margin: 0 0 0.4em;
  color: #a2d369;
  font-weight: 500;
  font-size: 1.25em;
  text-transform: uppercase;
}
.site-footer p {
  font-size: 0.9375em;
  line-height: 1.4;
}
.site-footer strong {
  color: #fff;
}
.site-footer a {
  color: #fff;
}
.site-footer a:hover, .site-footer a:focus {
  color: #333;
}
@media only screen and (min-width: 1200px) {
  .site-footer .cinfo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 3rem;
  }
}
@media only screen and (min-width: 1200px) {
  .site-footer .cinfo p {
    margin-bottom: 0;
  }
}
.site-footer .guidestar {
  margin-left: 0;
  margin-right: 0;
  max-width: 160px;
}
.site-footer .site-info {
  clear: both;
  color: #333;
  text-align: center;
}
.site-footer .site-info p {
  margin: 0;
  font-size: 0.8125em;
}
.site-footer .site-info ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-top: 1.5em;
  border-top: 1px solid #666;
}
.site-footer .site-info ul + p {
  margin-top: 0.6rem;
}
.site-footer .site-info li {
  font-size: 0.8125em;
  line-height: 1.25;
}
.site-footer .site-info li::after {
  margin: 0 0.5em;
  content: "•";
}
.site-footer .site-info li:last-of-type::after {
  margin-right: 0;
  content: "";
}
@media screen and (max-width: 799px) {
  .site-footer .site-info li.legal-item--copyright {
    width: 100%;
  }
}
@media screen and (max-width: 799px) {
  .site-footer .site-info li.legal-item--copyright::after {
    margin-right: 0;
    content: "";
  }
}
.site-footer .site-info a {
  color: #333;
}
.site-footer .site-info a:hover, .site-footer .site-info a:focus {
  color: #ddd;
}

#enews {
  padding: 1.8em 0;
  text-align: center;
  background: #454545;
}
@media only screen and (max-width: 860px) {
  #enews {
    padding: 1.8em 0 2.2em;
  }
}
@media only screen and (max-width: 568px) {
  #enews {
    padding: 1em 0 1.8em;
  }
}
@media only screen and (min-width: 992px) {
  #enews .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 2em;
  }
}
#enews h3 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin: 0 0 1rem 0;
  color: #fff;
  font-weight: normal;
  font-size: 1.5em;
  vertical-align: middle;
}
@media only screen and (min-width: 992px) {
  #enews h3 {
    margin-bottom: 0;
  }
}
#enews form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.4em;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  #enews form {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
@media only screen and (min-width: 768px) {
  #enews form {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
#enews form input.textbox,
#enews form input[type=text] input[type=email] {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  margin: 0;
  width: 100%;
  max-width: 20rem;
  color: #aaa;
  background: #555;
  border-color: #555;
}
#enews form input.textbox:focus {
  border-color: #9fcf67;
}
#enews form input[type=submit] {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

#totop {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  padding: 0.4em;
  width: 1em;
  height: 1em;
  color: #ebebeb;
  font-size: 1.8em;
  text-align: center;
  background: #797979;
  border-radius: 1em;
  transform: translate(-50%, -28%);
  overflow: hidden;
}

#totop:hover, #totop:focus {
  color: #a2d369;
}

#totop i {
  position: relative;
  top: -0.2em;
  margin-bottom: 999em;
}

/* search */
.widget_search {
  width: 100%;
  max-width: 300px;
}
.social + .widget_search {
  margin-top: 2rem;
}
.widget_search h3 {
  margin: 0 auto 0.2em;
  padding: 0;
  border-bottom: 0;
}
.widget_search .searchform {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.4rem;
  width: 100%;
}
.widget_search .searchform input {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  color: #ddd;
  background: #555;
  border: 0;
}
.widget_search .searchform button {
  padding: 0 !important;
  width: 2.2em;
  height: 2.35em !important;
  text-align: center;
  background: #9fcf67 !important;
  overflow: hidden;
}
.widget_search .searchform button:hover, .widget_search .searchform button:focus {
  background: #7382be !important;
}
.widget_search .searchform button span {
  margin-bottom: 999em;
  font-size: 1.25em;
  transform: translate(5%, 38%);
}

/* ---------------------------------------------
# blog pages
--------------------------------------------- */
/*
* post meta
*/
.post-meta small {
  margin-right: 1em;
  color: #aaa;
  font-size: 0.9em;
}

.post-meta a {
  color: #aaa;
  text-decoration: none;
}

.post-meta a:hover, .post-meta a:focus {
  color: #626fa2;
}

.post-meta i {
  margin-right: 0.4em;
  color: #aaa;
  font-size: 1em !important;
  vertical-align: top;
}

/*
* pagination
*/
ul.post-nav {
  clear: both;
  margin: 6em 0 0;
  padding-top: 2em;
  text-align: center;
  list-style: none;
  border-top: 1px solid #ddd;
}

ul.post-nav li {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 0 5% 0 1.8em;
  width: 49%;
  font-size: 1.2em;
  line-height: 1.25;
  text-align: left;
  box-sizing: border-box;
}

ul.post-nav li.next {
  padding: 0 1.8em 0 5%;
  text-align: right;
}

ul.post-nav li.empty {
  opacity: 0.3;
}

ul.post-nav em {
  display: block;
  font-weight: normal;
  font-size: 0.75em;
}

ul.post-nav li i {
  position: absolute;
  top: 0;
  left: 0.1em;
  display: block;
  font-size: 1.4em;
}

ul.post-nav li.next i {
  right: 0.1em;
  left: auto;
}

ul.blog-nav {
  margin: 2em 0 0;
  padding: 0;
  text-align: center;
  border: none;
}

/*
* posts archive
*/
.wall article {
  position: relative;
  padding: 2em 0 0.5em;
  border-bottom: 1px solid #ddd;
  overflow: auto;
}

.wall article:first-of-type {
  padding-top: 0;
}

.wall article header {
  margin-bottom: 1em;
}

.wall article h2 {
  margin: 0 0 0.25em;
  font-size: 1.8em;
}

.wall article h2 a {
  text-decoration: none;
}

.wall article p {
  font-size: 1em;
}

.wall article .post-thumb img {
  float: right;
  margin: 1em 0 1em 2em;
}

.wall article .readmore {
  display: inline-block;
  margin-top: 1em;
  font-weight: normal;
  font-style: italic;
  font-size: 0.9em;
  vertical-align: baseline;
}

.wall article .readmore i {
  font-size: 0.85em;
}

.category .site-content > header {
  margin-bottom: 2.5em;
}

article .post-thumb img {
  display: block;
  margin: 0 auto;
  border: 1px solid #ddd;
}

article .empty img {
  border-color: #aaa;
  opacity: 0.5;
}

/*
* posts
*/
.single-post article h1 {
  margin-bottom: 0.4em;
}

.single-post article header {
  margin-bottom: 2.5em;
}

.single-post article .post-thumb {
  float: none;
  margin-bottom: 2em;
  width: auto;
  height: auto;
}

.single-post article .post-thumb img {
  width: auto;
  max-height: 500px;
}

/* ---------------------------------------------
# pages
--------------------------------------------- */
.page .post-thumb {
  margin-top: calc(calc(3vw + 2rem) * .6);
  margin-bottom: calc(calc(3vw + 2rem) * .6);
}
.page .post-thumb img {
  aspect-ratio: 5/2;
  object-fit: cover;
  object-position: 50% 50%;
}

/*
* front static page
*/
.home article h1 {
  display: none;
}
.home article p {
  text-align: center;
}
.home article p:first-of-type {
  color: #9fcf67;
  font: 700 1.625em/1.23 "Fira Sans", "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.home article p:nth-of-type(2) {
  color: #666;
  font: normal 1.5em/1.33 "Fira Sans", "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

/* slider */
.slider {
  margin-top: calc(calc(3vw + 2rem) * -1);
  margin-left: 50%;
  width: calc(100vw - var(--scrollbar-width));
  min-width: calc(100vw - var(--scrollbar-width));
  min-height: 500px;
  visibility: hidden;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}
.slider.slick-initialized {
  visibility: visible;
}
.slider .slide {
  position: relative;
}
.slider img {
  min-width: 100%;
  min-height: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
}
@media screen and (min-width: 800px) {
  .slider img {
    aspect-ratio: 22/9;
  }
}
.slider .slide-content {
  position: absolute;
  right: 0;
  bottom: 8%;
  left: 0;
  width: auto;
  margin: 0 auto;
  max-width: 70%;
  text-align: center;
}
@media screen and (min-width: 800px) {
  .slider .slide-content {
    bottom: 14%;
    max-width: 85%;
  }
}
.slider h3 {
  margin: 0 auto 0.25em;
  color: #fff;
  font-size: 1.6em;
  line-height: 1.1;
  letter-spacing: normal;
  text-transform: none;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.7);
}
@media screen and (min-width: 800px) {
  .slider h3 {
    font-size: 3em;
  }
}
.slider p {
  color: #fff;
  font-size: 0.9em;
  line-height: 1.2;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
}
@media screen and (min-width: 800px) {
  .slider p {
    font-size: 1.2em;
  }
}
.slider h3,
.slider p {
  position: relative;
  top: -2.4em;
  opacity: 0;
}
.slider .slick-current h3,
.slider .slick-current p {
  animation: slidetext 1000ms 200ms ease forwards;
}
@keyframes slidetext {
  to {
    top: 0;
    opacity: 1;
  }
}
.slider .slide-btn {
  margin-top: 0.5em;
  font-size: 1em;
  position: relative;
  bottom: -4.4em;
  opacity: 0;
}
@media screen and (min-width: 800px) {
  .slider .slide-btn {
    margin-top: 1em;
    font-size: 1.2em;
  }
}
.slider .slick-current .slide-btn {
  animation: slidebtn 1000ms 400ms ease forwards;
}
@keyframes slidebtn {
  to {
    bottom: 0;
    opacity: 1;
  }
}

.slider .slick-arrow {
  position: absolute;
  z-index: 1;
  top: 50%;
  padding: 0;
  width: 25px;
  height: 25px;
  text-align: center;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  background: none;
  border: none;
  transform: translateY(-50%);
  overflow: hidden;
}
@media screen and (min-width: 800px) {
  .slider .slick-arrow {
    width: 50px;
    height: 50px;
  }
}
.slider .slick-arrow::before {
  display: block;
  margin-bottom: 10em;
  color: #fff;
  font: 300 25px/1 "Font Awesome 5 Pro";
}
@media screen and (min-width: 800px) {
  .slider .slick-arrow::before {
    font-size: 50px;
  }
}
.slider .slick-arrow.slick-prev {
  left: 15px;
}
.slider .slick-arrow.slick-prev::before {
  content: "\f053";
}
.slider .slick-arrow.slick-next {
  right: 15px;
}
.slider .slick-arrow.slick-next::before {
  content: "\f054";
}

/* quick links */
.cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  margin-bottom: 3.6em;
  text-align: center;
}
@media only screen and (max-width: 840px) {
  .cards {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1rem;
  }
}
.slider + .cards {
  margin-top: calc(3vw + 2rem);
}
.cards div {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  position: relative;
  padding: 1.6em 2em 3.4em;
  color: #424242;
  text-align: center;
  background: #eee;
  border-top: 10px solid #9fcf67;
  box-sizing: border-box;
}
@media only screen and (min-width: 841px) {
  .cards div {
    padding: 2em 1.5em 4em;
    text-align: left;
  }
}
.cards div:nth-of-type(2) {
  -webkit-animation-delay: 200ms;
  animation-delay: 200ms;
}
.cards div:nth-of-type(3) {
  -webkit-animation-delay: 400ms;
  animation-delay: 400ms;
}
.cards h3 {
  margin: 0 0 0.6em;
  font-size: var(--font-size-h3);
}
.cards h3 span {
  margin-right: 0.25em;
  font-size: 1.25em !important;
  vertical-align: bottom;
}
@media only screen and (min-width: 841px) {
  .cards h3 span {
    font-size: 1.5em !important;
  }
}
.cards p {
  margin: 0;
  font-size: 1em;
  line-height: 1.375;
}
.cards a.more {
  position: absolute;
  right: 2.5em;
  bottom: 1.6em;
  color: #999;
  font-weight: normal;
  font-size: 0.9375em;
}
@media only screen and (max-width: 840px) {
  .cards a.more {
    right: 50%;
    bottom: 1.4em;
    -webkit-transform: translate(50%, 0);
    -ms-transform: translate(50%, 0);
    transform: translate(50%, 0);
  }
}
.cards a.more:hover {
  color: #666;
}

/* donate btn */
.wp-block-buttons.donate-btn {
  margin-top: 5em;
}
.wp-block-buttons.donate-btn .wp-block-button__link {
  padding: 1em 2.2em;
  font-size: 1.4em;
}

/*
* board
*/
.board .site-content ul {
  margin-left: 0;
  list-style: none;
  -webkit-column-count: 2;
  -moz-column-count: 2;
  column-count: 2;
  -webkit-column-gap: 2em;
  -moz-column-gap: 2em;
  column-gap: 2em;
}

/*
* staff
*/
.staff .wp-block-column h3 {
  margin-top: 0;
}
.staff .wp-block-column .wp-block-image {
  margin-top: 0;
  margin-bottom: 0.8rem;
}
.staff .wp-block-column img {
  max-width: 200px;
}
@media only screen and (min-width: 800px) {
  .staff .wp-block-column img {
    margin-top: 1em;
  }
}
.staff .wp-block-column p {
  margin-bottom: 0;
}
.staff .wp-block-column p strong {
  font-size: 1.125em;
}

/*
 * college + employment
 */
.wp-block-gallery.partners {
  --wp--style--unstable-gallery-gap: 2.5rem !important;
  gap: var(--wp--style--unstable-gallery-gap) !important;
}
.wp-block-gallery.partners .wp-block-image {
  margin-top: auto !important;
  margin-bottom: auto !important;
  width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px) / 2) !important;
}
@media only screen and (min-width: 768px) {
  .wp-block-gallery.partners .wp-block-image {
    width: calc(20% - var(--wp--style--unstable-gallery-gap, 16px) * 0.8) !important;
  }
}
.wp-block-gallery.partners img {
  max-height: 90px;
}
@media only screen and (min-width: 768px) {
  .wp-block-gallery.partners img {
    max-height: 110px;
  }
}

/*
 * contact
 */
.contact-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: calc(calc(3vw + 2rem) * -1);
  margin-bottom: calc(3vw + 2rem);
  margin-left: 50%;
  width: calc(100vw - var(--scrollbar-width));
  min-width: calc(100vw - var(--scrollbar-width));
  background: #e3e6f2;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media only screen and (max-width: 767px) {
  .contact-block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.contact-block .map {
  position: relative;
  width: 100%;
  min-height: 56vw;
}
@media only screen and (min-width: 768px) {
  .contact-block .map {
    width: 50%;
    min-height: 100%;
  }
}
@media only screen and (min-width: 1200px) {
  .contact-block .map {
    min-height: 26vw;
  }
}
.contact-block .map-image {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100% !important;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
}
.contact-block .map iframe {
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 767px) {
  .contact-block .map iframe {
    height: 30vh;
  }
}
.contact-block .widget {
  padding: calc(3vw + 2rem);
  width: 100%;
  font-size: var(--font-size-small);
  box-sizing: border-box;
}
@media only screen and (min-width: 768px) {
  .contact-block .widget {
    width: 50%;
  }
}
@media only screen and (min-width: 1200px) {
  .contact-block .widget {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
  }
}
.contact-block .widget p:last-of-type {
  margin-bottom: 0;
}
.contact-block .widget span[itemprop=name] br {
  display: none;
}

/*
 * search results
 */
.search-results h1 strong {
  color: #424242;
  font-weight: 500;
  text-transform: none;
}

/* ---------------------------------------------
# asides
--------------------------------------------- */
/*
 * social icons
 */
.social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.6em;
}
.social a {
  position: relative;
  display: block;
  margin: 0;
  width: 1em;
  height: 1em;
  color: #fff;
  font-size: 1.25em;
  text-align: center;
  overflow: hidden;
  transition: color 300ms ease;
}
.social a:hover, .social a:focus {
  color: #000000;
}
.social span {
  margin-bottom: 999em;
}

/*
 * pages list buttons
 */
.wp-block-buttons.pages-list {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  gap: 0.5em;
  margin: 4rem auto 0;
  list-style: none;
}
@media only screen and (min-width: 1200px) {
  .wp-block-buttons.pages-list {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 1em;
  }
}
@media only screen and (max-width: 799px) {
  .wp-block-buttons.pages-list .wp-block-button {
    width: 100%;
  }
}
.wp-block-buttons.pages-list .wp-block-button__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  display: block;
  box-sizing: border-box;
  padding: 1em;
  width: 100%;
  height: 100%;
  color: #7382be;
  font: bold 1.125em/1.4 "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: 0;
  text-align: center;
  text-transform: none;
  background: #f1f3f9;
  border: 1px solid #e3e6f2;
  border-radius: 4px;
  -webkit-transition: color 0.2s ease, background 0.2s ease, border 0.2s ease;
  -o-transition: color 0.2s ease, background 0.2s ease, border 0.2s ease;
  transition: color 0.2s ease, background 0.2s ease, border 0.2s ease;
}
@media only screen and (min-width: 1200px) {
  .wp-block-buttons.pages-list .wp-block-button__link {
    padding: 1.6em 1.25em;
  }
}
.wp-block-buttons.pages-list .wp-block-button__link:hover, .wp-block-buttons.pages-list .wp-block-button__link:focus {
  color: #7fa652;
  background: #f5faf0;
  border: 1px solid #e7f3d9;
}

/* ---------------------------------------------
# blocks
--------------------------------------------- */
*[class*=block-].alignwide {
  margin-left: 50%;
  width: 100%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media (min-width: 768px) {
  *[class*=block-].alignwide {
    width: calc(68rem + ((100vw - 68rem) / 2));
  }
}
*[class*=block-].alignfull {
  margin-left: 50%;
  width: calc(100vw - var(--scrollbar-width));
  min-width: calc(100vw - var(--scrollbar-width));
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}
*[class*=block-].alignfull:last-child {
  margin-bottom: calc(calc(3vw + 2rem) * -1);
}
*[class*=block-].alignfull:not(.has-background) {
  padding-left: calc(3vw + 2rem);
  padding-right: calc(3vw + 2rem);
}
*[class*=block-].is-layout-constrained.alignfull {
  --wp--style--global--content-size: calc(68rem + ((100vw - 68rem) / 2));
}
*[class*=block-] > .alignwide, *[class*=block-] > .alignfull {
  margin-left: auto;
  margin-right: auto;
  width: auto;
  min-width: 0;
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  transform: translate(0);
}
*[class*=block-] *:first-child {
  margin-top: 0;
}
*[class*=block-]:last-child,
*[class*=block-] *:last-child {
  margin-bottom: 0;
}

.wp-block-columns,
.wp-block-gallery,
.wp-block-group,
.wp-block-image,
.wp-block-media-text,
.wp-block-video,
.wp-block-embed,
.block-staff-card {
  margin-top: calc(3vw + 2rem);
  margin-bottom: calc(3vw + 2rem);
}

.wp-block-image img, .wp-block-media-text__media img, .wp-block-media-text__media video {
  height: auto;
}

/*
 * buttons
 */
.wp-block-buttons {
  margin-top: calc(calc(3vw + 2rem) * .3);
  margin-bottom: calc(calc(3vw + 2rem) * .6);
}

/* columns */
.wp-block-columns {
  gap: calc(calc(3vw + 2rem) * .3);
}
@media (min-width: 768px) {
  .wp-block-columns {
    gap: calc(calc(3vw + 2rem) * .6);
  }
}
.wp-block-columns .wp-block-column.has-background {
  padding: calc(calc(3vw + 2rem) * .3);
}

/* group */
.wp-block-group.has-background {
  padding-top: calc(calc(3vw + 2rem) * .6);
  padding-bottom: calc(calc(3vw + 2rem) * .6);
  padding-left: calc(3vw + 2rem);
  padding-right: calc(3vw + 2rem);
}
.wp-block-group.padding-xs {
  padding-top: calc(calc(3vw + 2rem) * .3);
  padding-bottom: calc(calc(3vw + 2rem) * .3);
  padding-left: calc(calc(3vw + 2rem) * .3);
  padding-right: calc(calc(3vw + 2rem) * .3);
}
.wp-block-group.padding-sm {
  padding-top: calc(calc(3vw + 2rem) * .6);
  padding-bottom: calc(calc(3vw + 2rem) * .6);
  padding-left: calc(calc(3vw + 2rem) * .6);
  padding-right: calc(calc(3vw + 2rem) * .6);
}
.wp-block-group.padding-md {
  padding-top: calc(3vw + 2rem);
  padding-bottom: calc(3vw + 2rem);
  padding-left: calc(3vw + 2rem);
  padding-right: calc(3vw + 2rem);
}
.wp-block-group.padding-lg {
  padding-top: calc(calc(3vw + 2rem) * 1.2);
  padding-bottom: calc(calc(3vw + 2rem) * 1.2);
  padding-left: calc(calc(3vw + 2rem) * 1.2);
  padding-right: calc(calc(3vw + 2rem) * 1.2);
}
.wp-block-group.padding-xl {
  padding-top: calc(calc(3vw + 2rem) * 1.8);
  padding-bottom: calc(calc(3vw + 2rem) * 1.8);
  padding-left: calc(calc(3vw + 2rem) * 1.8);
  padding-right: calc(calc(3vw + 2rem) * 1.8);
}

/* image */
.wp-block-image {
  text-align: center;
}
.wp-block-image figure[class*=align] {
  clear: both;
  float: none;
  margin: calc(3vw + 2rem) auto;
}
@media (min-width: 768px) {
  .wp-block-image figure[class*=align].alignleft {
    clear: none;
    float: left;
    margin: 0.5rem calc(3vw + 2rem) 1.5rem 0;
  }
  .wp-block-image figure[class*=align].alignright {
    clear: none;
    float: right;
    margin: 0.5rem 0 1.5rem calc(3vw + 2rem);
  }
}

/* learn more */
.learn-more-block {
  margin: calc(calc(3vw + 2rem) * 1.2) auto 0;
  max-width: 50rem;
  border-top: 10px solid #9fcf67;
}
.learn-more-block h2 {
  font-size: var(--font-size-h1);
}
.learn-more-block ul {
  display: inline-block;
  margin: 1rem 0 0;
  list-style: none;
}
.learn-more-block ul li {
  margin-bottom: 0.25em;
}
.learn-more-block ul li::before {
  position: relative;
  top: -0.1em;
  display: inline-block;
  margin-right: 0.5em;
  content: "\f138";
  color: #9fcf67;
  font: 700 0.8em/1 "Font Awesome 5 Pro";
}
.learn-more-block h3 {
  color: #424242;
}
.learn-more-block h3 + .learn-more-contact {
  margin-top: -0.4em;
}

/* staff card */
.block-staff-card {
  --staff-card-padding: calc(calc(calc(3vw + 2rem) * .3) * .8);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: calc(var(--staff-card-padding) * 0.4);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.block-staff-card * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.block-staff-card + .block-staff-card {
  margin-top: calc(calc(3vw + 2rem) * .6) !important;
}

.staff-card {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  padding: calc(var(--staff-card-padding) * 1.6) var(--staff-card-padding) calc(var(--staff-card-padding) * 1.4);
  width: calc((100% - var(--staff-card-padding)) / 2);
  max-width: calc((100% - var(--staff-card-padding)) / 2);
  text-align: center;
  background: #fff;
  background: #f9f9f9;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
}
@media (min-width: 768px) {
  .staff-card {
    width: calc((100% - var(--staff-card-padding) * 3) / 4);
    max-width: calc((100% - var(--staff-card-padding) * 3) / 4);
  }
}
@media (min-width: 1200px) {
  .staff-card {
    width: calc((100% - var(--staff-card-padding) * 4) / 5);
    max-width: calc((100% - var(--staff-card-padding) * 4) / 5);
  }
}
@media (min-width: 768px) {
  .page-id-25 .staff-card {
    width: calc((100% - var(--staff-card-padding) * 3) / 4);
    max-width: calc((100% - var(--staff-card-padding) * 3) / 4);
  }
}
.staff-card-block-title {
  margin-bottom: 0.6rem;
  width: 100%;
  text-align: center;
}
.staff-card-photo {
  width: 100%;
  aspect-ratio: 1/1.2;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: 50% 0;
  max-width: 85%;
  border-radius: 50%;
}
.staff-card-name {
  margin: 1.2rem 0 0;
  color: #7382be;
  font-size: var(--font-size-medium);
}
.staff-card-title {
  margin: 0.2rem 0 0;
  font-size: var(--font-size-x-small);
  line-height: 1.3;
}

/* ---------------------------------------------
# misc
--------------------------------------------- */
/* gallery */
.gallery {
  margin-bottom: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}

.gallery-columns-2 .gallery-item {
  max-width: 50%;
}

.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
  max-width: 25%;
}

.gallery-columns-5 .gallery-item {
  max-width: 20%;
}

.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}

.gallery-caption {
  display: block;
}

/* ---------------------------------------------
# plugins
--------------------------------------------- */
body {
  --wp--preset--color--white: #fff;
  --wp--preset--color--black: #000000;
  --wp--preset--color--primary: #7382be;
  --wp--preset--color--primary-light: #e3e6f2;
  --wp--preset--color--primary-dark: #626fa2;
  --wp--preset--color--secondary: #9fcf67;
  --wp--preset--color--secondary-light: #ecf5e1;
  --wp--preset--color--secondary-dark: #8fba5d;
  --wp--preset--color--red: #cf2e2e;
  --wp--preset--spacing--xs: calc(calc(3vw + 2rem) * .3);
  --wp--preset--spacing--sm: calc(calc(3vw + 2rem) * .6);
  --wp--preset--spacing--md: calc(3vw + 2rem);
  --wp--preset--spacing--lg: calc(calc(3vw + 2rem) * 1.2);
  --wp--preset--spacing--xl: calc(calc(3vw + 2rem) * 1.8);
  --wp--preset--font-size--x-small: 0.84375em;
  --font-size-x-small: 0.84375em;
  --wp--preset--font-size--small: 0.95625em;
  --font-size-small: 0.95625em;
  --wp--preset--font-size--medium: 1.125em;
  --font-size-medium: 1.125em;
  --wp--preset--font-size--large: 1.4625em;
  --font-size-large: 1.4625em;
  --wp--preset--font-size--x-large: 1.6875em;
  --font-size-x-large: 1.6875em;
  --font-size-h1: 2.8em;
  --font-size-h2: 2.2em;
  --font-size-h3: 1.6em;
  --font-size-h4: 1.25em;
  --font-size-h5: 1.125em;
}

.nf-form-cont {
  margin-top: 2.5rem;
}

.nf-form-fields-required {
  margin-bottom: calc(calc(3vw + 2rem) * .3);
  font-style: italic;
  font-size: 0.9em;
}

.ninja-forms-req-symbol {
  color: #b52a26 !important;
  font-weight: bold;
  font-size: 1em;
}

.hr-container div {
  width: 100%;
}

.html-wrap .nf-field-element h2 {
  margin-top: 1em;
  padding: 0.6em 0.8em 0.4em;
  color: #fff;
  font-size: 1.68em;
  line-height: 1;
  text-transform: uppercase;
  background: #7382be;
}

/* fields */
.nf-field-container {
  margin-bottom: 2rem;
}

.field-wrap .nf-field-label label {
  color: #000000;
  font-weight: bold !important;
  text-align: left !important;
}

.label-above .nf-field-label,
.nf-field-description {
  margin-bottom: 0.4em !important;
}

.nf-field-description {
  margin-top: -0.2em;
  color: #737373;
}
.nf-field-description p {
  font-size: 0.85em;
}

.field-wrap textarea {
  max-width: 100% !important;
}

.list-wrap li {
  line-height: 1.26;
}

.list-checkbox-wrap .nf-field-element li input,
.list-radio-wrap .nf-field-element li input {
  margin-top: 0.3em !important;
}

.label-right .checkbox-wrap .nf-field-label {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  padding-left: 0.2em;
}

/* submit button */
.submit-container {
  margin-top: 3rem;
}

.submit-container.label-above {
  text-align: center;
}

/* error msg */
.nf-form-content .nf-error .nf-error-msg {
  color: #b52a26;
  font-size: 0.85em;
}
.nf-form-content .nf-error.listimage-wrap .nf-field-element ul,
.nf-form-content .nf-error .ninja-forms-field {
  border-color: #b52a26;
}

.nf-form-errors .nf-error-msg {
  margin-top: 2.5rem;
  padding: 1em;
  color: #fff;
  text-align: center;
  background: #b52a26;
  border-radius: 4px;
}

/* success msg */
.nf-response-msg {
  margin: 3rem auto 0;
  padding: 2rem;
  font-size: 1.1em;
  text-align: center;
  background: #f5faf0;
  border-radius: 4px;
}
.nf-response-msg h2 {
  margin-top: 0;
}

/* smaller screens */
@media (max-width: 767px) {
  .nf-field-container {
    margin-right: 0 !important;
    margin-left: 0 !important;
    width: 100% !important;
  }
  .label-left .nf-field-label,
  .label-left .nf-field-element,
  .label-left .nf-field-description,
  .label-left .nf-after-field {
    margin-left: 0 !important;
    width: 100% !important;
  }
  .label-left .nf-field-description {
    -webkit-box-ordinal-group: 7;
    -ms-flex-order: 6;
    order: 6;
  }
  .submit-container {
    margin-top: 2rem;
    text-align: center;
  }
  .nf-form-errors .nf-error-msg {
    margin-top: 1.8rem;
  }
}
body {
  --wp--preset--color--white: #fff;
  --wp--preset--color--black: #000000;
  --wp--preset--color--primary: #7382be;
  --wp--preset--color--primary-light: #e3e6f2;
  --wp--preset--color--primary-dark: #626fa2;
  --wp--preset--color--secondary: #9fcf67;
  --wp--preset--color--secondary-light: #ecf5e1;
  --wp--preset--color--secondary-dark: #8fba5d;
  --wp--preset--color--red: #cf2e2e;
  --wp--preset--spacing--xs: calc(calc(3vw + 2rem) * .3);
  --wp--preset--spacing--sm: calc(calc(3vw + 2rem) * .6);
  --wp--preset--spacing--md: calc(3vw + 2rem);
  --wp--preset--spacing--lg: calc(calc(3vw + 2rem) * 1.2);
  --wp--preset--spacing--xl: calc(calc(3vw + 2rem) * 1.8);
  --wp--preset--font-size--x-small: 0.84375em;
  --font-size-x-small: 0.84375em;
  --wp--preset--font-size--small: 0.95625em;
  --font-size-small: 0.95625em;
  --wp--preset--font-size--medium: 1.125em;
  --font-size-medium: 1.125em;
  --wp--preset--font-size--large: 1.4625em;
  --font-size-large: 1.4625em;
  --wp--preset--font-size--x-large: 1.6875em;
  --font-size-x-large: 1.6875em;
  --font-size-h1: 2.8em;
  --font-size-h2: 2.2em;
  --font-size-h3: 1.6em;
  --font-size-h4: 1.25em;
  --font-size-h5: 1.125em;
}

/* ---------------------------------------------
# general stying
--------------------------------------------- */
/* shop menu */
.site-content .shopnav {
  margin: calc((calc(3vw + 2rem) * .8) * -1) 0 calc(calc(3vw + 2rem) * .6);
  padding: 0.5em;
  text-align: center;
  list-style: none;
}
@media only screen and (min-width: 768px) {
  .site-content .shopnav {
    text-align: right;
  }
}
.site-content .shopnav li {
  display: inline-block;
  margin: 0 -0.2em 0 0;
  padding: 0 0.4em;
  font-size: 0.9em;
  font-family: "Fira Sans", Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  border-right: 1px solid #ccc;
}
@media only screen and (min-width: 768px) {
  .site-content .shopnav li {
    font-size: 1em;
  }
}
.site-content .shopnav li:last-of-type {
  border: none;
}
.site-content .shopnav li a {
  font-weight: normal;
  text-decoration: none;
}

/* form elements + buttons */
body.woocommerce-page main input.button,
body.woocommerce-page main div.woocommerce input.button,
body.woocommerce-page main .summary form button.button,
body.woocommerce-page main a.button,
body.woocommerce-page main div.woocommerce a.button,
body.woocommerce-page main div.woocommerce-message a.button,
body.woocommerce-page main button.button {
  display: inline-block;
  padding: 0.6em 0.8em !important;
  width: auto;
  color: #fff !important;
  font: 500 1.1em/1 "Fira Sans", Helvetica, Arial, sans-serif !important;
  letter-spacing: 0 !important;
  text-decoration: none;
  text-shadow: none !important;
  text-transform: uppercase;
  background: #7382be !important;
  border: none !important;
  box-border-radius: 4px !important;
  box-shadow: none !important;
  transition: background 200ms ease !important;
}
body.woocommerce-page main input.button:hover,
body.woocommerce-page main div.woocommerce input.button:hover,
body.woocommerce-page main .summary form button.button:hover,
body.woocommerce-page main a.button:hover,
body.woocommerce-page main div.woocommerce a.button:hover,
body.woocommerce-page main div.woocommerce-message a.button:hover,
body.woocommerce-page main button.button:hover {
  background: #626fa2 !important;
}
body.woocommerce-page main div.woocommerce input.checkout-button,
body.woocommerce-page main .summary form button.button {
  color: #fff !important;
  background: #7382be !important;
}
body.woocommerce-page main div.woocommerce input.checkout-button:hover,
body.woocommerce-page main .summary form button.button:hover {
  background: #626fa2 !important;
}

/* messages */
body.woocommerce-page .woocommerce-error, body.woocommerce-page .woocommerce-message, body.woocommerce-page .woocommerce-info {
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 1.4em 2em 1.4em 3.5em;
  max-width: 95% !important;
  word-wrap: break-word;
  background: #f2f2f2 !important;
  overflow: hidden;
  border-radius: none !important;
  border: 1px solid #cccccc;
  box-shadow: none !important;
  boz-sizing: border-box;
}
body.woocommerce-page .woocommerce-error::before, body.woocommerce-page .woocommerce-message::before, body.woocommerce-page .woocommerce-info::before {
  top: 1.4em;
}
body.woocommerce-page .woocommerce-message {
  background: #fafdf7 !important;
  border-color: #d9ecc2 !important;
}
body.woocommerce-page .woocommerce-message::before {
  color: #9fcf67 !important;
}
body.woocommerce-page .woocommerce-message a.button {
  display: none !important;
}
body.woocommerce-page .woocommerce-info {
  background: #f8f9fc !important;
  border-color: #e3e6f2 !important;
}
body.woocommerce-page .woocommerce-info::before {
  color: #7382be !important;
}
body.woocommerce-page .woocommerce-error {
  background: #fbf4f4 !important;
  border-color: #edcac9 !important;
}
body.woocommerce-page .woocommerce-error::before {
  color: #b52a26 !important;
}

/* ---------------------------------------------
# pages
--------------------------------------------- */
body.woocommerce-page .site-content::after {
  content: "";
  display: table;
  clear: both;
}

/*
 * main shop page
 */
body.woocommerce-page .woocommerce-ordering {
  margin: -1em 0 2em;
  font-size: 0.9em;
}

body.woocommerce-page ul.products li.product .onsale {
  z-index: 2;
}
body.woocommerce-page ul.products li.product a h2 {
  margin-bottom: 0.2em;
  padding: 0;
  font-size: 1em;
  line-height: 1.2;
  transition: color 300ms ease;
}
body.woocommerce-page ul.products li.product a:hover h2 {
  color: #626fa2;
}
body.woocommerce-page ul.products li.product .price {
  margin: 0;
  color: #424242;
  font-size: 0.9em;
}
body.woocommerce-page ul.products li.product a.button {
  font-size: 0.8em !important;
}

body.woocommerce-page a.added_to_cart {
  display: none !important;
}

/*
* product page
*/
@media only screen and (min-width: 768px) {
  .woocommerce-page div.product div.images {
    width: 40%;
  }
}
@media only screen and (min-width: 768px) {
  .woocommerce-page div.product div.summary {
    width: 56%;
  }
}
.woocommerce-page div.product .images a img {
  border: 1px solid #e6e6e6;
  box-shadow: none !important;
}
.woocommerce-page div.product h1 {
  margin-bottom: 0.8em;
  color: #424242;
  font-weight: normal;
  font-size: 1.8em;
  text-transform: none;
  border: none;
}
.woocommerce-page div.product p.price {
  color: #424242;
}
.woocommerce-page div.product form.cart .variations td,
.woocommerce-page div.product form.cart .variations th {
  text-align: left !important;
}
.woocommerce-page div.product form.cart .woocommerce-variation-add-to-cart {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
  margin-top: 3em;
}
.woocommerce-page div.product form.cart .woocommerce-variation-add-to-cart .quantity .qty {
  padding: 0.6em 0.25em;
  width: 4em;
}

.woocommerce-page div.product.product_cat-payments div.summary {
  width: 100%;
}

/* custom payments */
.pyp_number_or_text_container {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  float: none;
}
.pyp_number_or_text_container label {
  margin-right: 0.2em;
}

.cart .payyourprice_message {
  color: #b52a26;
  font-style: italic;
  font-weight: bold;
  font-size: 0.9em;
}

@media only screen and (max-width: 991px) {
  .alg-product-input-fields-table {
    display: block;
    table-layout: auto;
  }
}
@media only screen and (max-width: 991px) {
  .alg-product-input-fields-table thead,
  .alg-product-input-fields-table tbody,
  .alg-product-input-fields-table th,
  .alg-product-input-fields-table td,
  .alg-product-input-fields-table tr {
    display: block;
  }
}
@media only screen and (max-width: 991px) {
  .alg-product-input-fields-table tr {
    padding-top: 15px;
  }
}
.alg-product-input-fields-table td {
  padding-top: 8px;
  vertical-align: middle;
}
.alg-product-input-fields-table td:first-of-type {
  padding-right: 1em;
  width: 13em;
}
@media only screen and (max-width: 991px) {
  .alg-product-input-fields-table td:first-of-type {
    width: 100%;
  }
}
.alg-product-input-fields-table label abbr[title] {
  text-decoration: none;
}
.alg-product-input-fields-table input,
.alg-product-input-fields-table textarea,
.alg-product-input-fields-table select {
  width: 100%;
}

/*
 * cart
 */
body.cart .return-to-shop {
  display: none !important;
}

body.cart div.woocommerce,
body.woocommerce-page table.cart {
  margin: 0 auto;
  max-width: 98% !important;
}

body.woocommerce-page .woocommerce table.cart a.remove,
body.woocommerce-page .woocommerce #content table.cart a.remove,
body.woocommerce-page .woocommerce-page table.cart a.remove,
body.woocommerce-page .woocommerce-page #content table.cart a.remove {
  color: #fff !important;
  line-height: 0.9 !important;
  background-color: #7382be !important;
}

body.woocommerce-page .woocommerce table.cart a.remove:hover,
body.woocommerce-page .woocommerce #content table.cart a.remove:hover,
body.woocommerce-page .woocommerce-page table.cart a.remove:hover,
body.woocommerce-page .woocommerce-page #content table.cart a.remove:hover {
  color: #fff !important;
  background-color: #626fa2 !important;
}

body.woocommerce-page div.woocommerce td.product-thumbnail img {
  width: 98% !important;
  max-width: 120px;
  height: auto;
  border: 1px solid #e6e6e6;
}

body.woocommerce-page div.woocommerce td.product-name a {
  font-size: 1.125em;
  text-decoration: none !important;
}

body.woocommerce-page div.woocommerce dt,
body.woocommerce-page div.woocommerce dd {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.9em !important;
  line-height: 1.4 !important;
}
body.woocommerce-page div.woocommerce dt {
  margin-right: 0.4em !important;
}
body.woocommerce-page div.woocommerce dl p {
  font-size: 1em !important;
  line-height: 1.4 !important;
}

body.woocommerce-page div.woocommerce div.cart_totals {
  margin-top: 2em;
}

body.woocommerce-page div.woocommerce div.cart_totals p {
  line-height: 1.3;
}

body.woocommerce-page div.coupon input.input-text {
  padding: 0.5em !important;
  width: 150px !important;
}

body.woocommerce-page form input.shipping_method {
  width: auto !important;
}

body.woocommerce-page form .shipping label {
  font-weight: normal !important;
}

/*
 * checkout
 */
body.woocommerce-page .woocommerce-terms-and-conditions {
  max-height: none !important;
  overflow: visible !important;
}

/* lightbox */
div.pp_woocommerce div.ppt,
div.pp_woocommerce div.pp_nav,
div.pp_woocommerce p.pp_description,
div.pp_woocommerce p.pp_description[style] {
  display: none !important;
}

div.pp_woocommerce .pp_content_container {
  padding-bottom: 0 !important;
}

/*
 * order confirmation
 */
body.woocommerce-page table.order_details td span,
body.woocommerce-page table.order_details td small,
body.woocommerce-page table.order_details td strong {
  vertical-align: bottom;
}

/*
 * account
 */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  margin: 0 2em 0 0;
  padding: 1.5em 2em;
  list-style: none;
  background: #f1f3f9;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0;
  padding: 0.5em 0.2em;
  font-size: 1em;
  border-bottom: 1px solid #dce0ef;
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-of-type {
  border-bottom-width: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
  border: none !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
  color: #424242;
}

.woocommerce-account table.shop_table {
  border-radius: 0;
}
.woocommerce-account table.shop_table thead th {
  padding: 6px 12px;
  color: #fff;
  background: #424242;
}
.woocommerce-account table.shop_table.account-orders-table td {
  padding: 8px 12px;
}
.woocommerce-account table.shop_table.account-orders-table td .button {
  padding: calc(0.2em + 0.1vw) calc(0.5em + 0.6vw);
  font-size: 0.75rem;
}

.woocommerce-account .addresses .woocommerce-Address,
.woocommerce-account .woocommerce-customer-details .woocommerce-column {
  float: none;
  padding: 1.2em !important;
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  border-radius: 0 !important;
}
.woocommerce-account .addresses .woocommerce-Address h2,
.woocommerce-account .woocommerce-customer-details .woocommerce-column h2 {
  margin-top: 0;
}
.woocommerce-account .addresses .woocommerce-Address address,
.woocommerce-account .woocommerce-customer-details .woocommerce-column address {
  padding: 0 !important;
  border: 0 !important;
}
.woocommerce-account .addresses .woocommerce-Address address p,
.woocommerce-account .woocommerce-customer-details .woocommerce-column address p {
  margin-top: 1rem;
  padding: 0 !important;
}
.woocommerce-account .addresses .woocommerce-Address address p + p,
.woocommerce-account .woocommerce-customer-details .woocommerce-column address p + p {
  margin-top: 0;
}
.woocommerce-account .addresses .woocommerce-Address address p::before,
.woocommerce-account .woocommerce-customer-details .woocommerce-column address p::before {
  display: none;
  content: none;
}

.woocommerce-account .addresses .woocommerce-Address + .woocommerce-Address,
.woocommerce-account .woocommerce-customer-details .woocommerce-column + .woocommerce-column {
  margin-top: 1em;
}

.woocommerce-account fieldset {
  margin: 3rem 0 2rem;
  padding: 1.5em 2em 1.8em;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.woocommerce-account fieldset legend {
  padding: 0 0.68em;
  font-weight: bold;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body {
  --wp--preset--color--white: #fff;
  --wp--preset--color--black: #000000;
  --wp--preset--color--primary: #7382be;
  --wp--preset--color--primary-light: #e3e6f2;
  --wp--preset--color--primary-dark: #626fa2;
  --wp--preset--color--secondary: #9fcf67;
  --wp--preset--color--secondary-light: #ecf5e1;
  --wp--preset--color--secondary-dark: #8fba5d;
  --wp--preset--color--red: #cf2e2e;
  --wp--preset--spacing--xs: calc(calc(3vw + 2rem) * .3);
  --wp--preset--spacing--sm: calc(calc(3vw + 2rem) * .6);
  --wp--preset--spacing--md: calc(3vw + 2rem);
  --wp--preset--spacing--lg: calc(calc(3vw + 2rem) * 1.2);
  --wp--preset--spacing--xl: calc(calc(3vw + 2rem) * 1.8);
  --wp--preset--font-size--x-small: 0.84375em;
  --font-size-x-small: 0.84375em;
  --wp--preset--font-size--small: 0.95625em;
  --font-size-small: 0.95625em;
  --wp--preset--font-size--medium: 1.125em;
  --font-size-medium: 1.125em;
  --wp--preset--font-size--large: 1.4625em;
  --font-size-large: 1.4625em;
  --wp--preset--font-size--x-large: 1.6875em;
  --font-size-x-large: 1.6875em;
  --font-size-h1: 2.8em;
  --font-size-h2: 2.2em;
  --font-size-h3: 1.6em;
  --font-size-h4: 1.25em;
  --font-size-h5: 1.125em;
}

:root {
  --tec-color-accent-primary: #7382be !important;
}

:root {
  --tec-color-accent-secondary: #9fcf67 !important;
}

:root {
  --tec-color-background-primary-multiday: tint(#7382be, 80%) !important;
}

:root {
  --tec-color-background-primary-multiday-hover: tint(#9fcf67, 80%) !important;
}

:root {
  --tec-color-background-secondary-datepicker: tint(#9fcf67, 80%) !important;
}

:root {
  --tec-color-button-primary: #7382be !important;
}

:root {
  --tec-color-background-events-bar-submit-button: #7382be !important;
}

:root {
  --tec-color-button-primary-hover: #9fcf67 !important;
}

:root {
  --tec-color-day-marker-month: #424242 !important;
}

:root {
  --tec-color-day-marker-current-month: #7382be !important;
}

:root {
  --tec-color-link-accent: #7382be !important;
}

:root {
  --tec-color-link-accent-hover: #9fcf67 !important;
}

:root {
  --tec-color-text-event-date: #7382be !important;
}

:root {
  --tec-color-text-events-title: #424242 !important;
}

:root {
  --tec-color-text-primary: #424242 !important;
}

h2.tribe-events-page-title,
.tribe-bar-is-disabled h2.tribe-events-page-title {
  font: 500 2em/1.2 "Fira Sans", Helvetica, Arial, sans-serif;
  text-align: center;
}

/* 
 * monthly view
 */
.tribe-events .tribe-events-l-container {
  padding: 0 !important;
}
.tribe-events .tribe-events-header ul {
  margin: 0;
  list-style: none;
}
.tribe-events .tribe-events-header ul li {
  margin: 0;
}
.tribe-events .tribe-events-calendar-month__day--current {
  background: #f5f6fa;
}
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-daynum {
  color: var(--tec-color-day-marker-current-month);
}
.tribe-events .tribe-events-calendar-series-archive__container {
  display: none;
}
.tribe-events .tribe-events-calendar-month__calendar-event-title {
  font-size: 1.2em !important;
  line-height: 1.2;
}

/*
 * single view
 */
.single-tribe_events .tribe-events-series-relationship-single-marker {
  display: none;
}
.single-tribe_events h1.tribe-events-single-event-title {
  margin-bottom: 1em;
  padding-bottom: 0.5em;
  color: #9fcf67;
  text-transform: none;
}
.single-tribe_events .tribe-events-schedule__datetime span[class*=tribe-events-schedule] {
  color: inherit;
  font-weight: normal;
  font-size: 19px;
}
.single-tribe_events .tribe-events-schedule__datetime .tribe-events-schedule__date {
  font-weight: bold !important;
}
.single-tribe_events #tribe-events-footer {
  display: none;
}
