@charset "UTF-8";
/* Weaver Platform  */
/* Weaver Platform - Globals */
/* Weaver Construction - Override - Globals */
/* Weaver Platform - Layout - Website */
/* Weaver Platform - Website - Artciles */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;800&display=swap");
.title-area {
  display: block;
  margin: 0 15px;
  padding: 0; }

div.title-wrapper {
  display: flex;
  flex-direction: row;
  align-self: center;
  align-items: center;
  align-content: center; }
  div.title-wrapper .title-with-subtitle {
    width: 100%; }

div.gallery-carousel-body div.title-with-subtitle {
  margin: auto; }

div.title-with-subtitle > .h2base > h2 {
  margin: 0 0 0 0; }

div.title-with-subtitle > .h2base > h3 {
  margin: 0 0 10px 0;
  opacity: 0.8;
  color: color-mix(in srgb, #2f4d30, var(--color-foreground) 5%) !important; }

div.title-with-subtitle > .h3base h3 {
  margin: 0 0 0 0; }

div.title-with-subtitle > .h3base h4 {
  margin: 0 0 10px 0;
  opacity: 0.8;
  color: color-mix(in srgb, #2f4d30, var(--color-foreground) 28%) !important; }

.title-block h2,
.title-block h3,
.title-block h4 {
  display: block;
  width: 100%;
  border: 1px transparent solid; }

.title-block .counter-box {
  margin-right: 10px;
  background: #2f4d30;
  border: 3px color-mix(in srgb, #2f4d30, var(--color-background) 85%) double;
  color: color-mix(in srgb, #2f4d30, var(--color-background) 85%);
  font-size: 5rem;
  line-height: 4rem;
  font-weight: 800;
  padding: 2px 10px; }

.title-block a .icon,
.title-block .icon {
  color: color-mix(in srgb, #2f4d30, var(--color-background) 70%) !important;
  float: right;
  margin: 0 0 10px 5px; }

ul.summary-subpages {
  display: flex;
  flex-wrap: wrap; }
  ul.summary-subpages li {
    flex: 1;
    flex-flow: row wrap;
    max-width: 20%; }
    ul.summary-subpages li.featured {
      min-width: 400px;
      max-width: 40%;
      flex: 2; }

ul.articles.no-subtitle .h2base h3 {
  display: none; }

ul.articles.no-subtitle .h3base h4 {
  display: none; }

ul.articles.summary-no-descrption div.title div.description,
ul.articles.summary-no-descrption div.description,
ul.articles.summary-no-descrption div.description p,
ul.articles.summary-no-descrptions div.title div.description,
ul.articles.summary-no-descrptions div.description,
ul.articles.summary-no-descrptions div.description p,
ul.articles.no-description div.title div.description,
ul.articles.no-description div.description,
ul.articles.no-description div.description p,
ul.articles.no-descriptions div.title div.description,
ul.articles.no-descriptions div.description,
ul.articles.no-descriptions div.description p {
  display: none !important;
  opacity: 0 !important; }

ul.articles.small-description div.title div.description,
ul.articles.small-description div.description,
ul.articles.small-description div.description p {
  font-size: 1.5rem;
  font-weight: 600;
  font-style: italic;
  opacity: 0.75 !important; }

ul.articles.summary-no-icons .icons,
ul.articles.summary-no-icons .icon,
ul.articles.no-icons .icons,
ul.articles.no-icons .icon {
  display: none; }

ul.articles.no-image img,
ul.articles.no-image .thumb-container,
ul.articles.no-image .thumb-container-image,
ul.articles.no-image .article-summary-image-container,
ul.articles.mini img,
ul.articles.mini .thumb-container,
ul.articles.mini .thumb-container-image,
ul.articles.mini .article-summary-image-container,
ul.articles.summary-mini img,
ul.articles.summary-mini .thumb-container,
ul.articles.summary-mini .thumb-container-image,
ul.articles.summary-mini .article-summary-image-container {
  display: none !important; }

ul.articles.summary-tiny .description {
  display: none; }

ul.articles.summary-tiny img {
  display: none; }

ul.articles.summary-links,
ul.articles.summary-icons {
  display: inline-block;
  margin-bottom: 40px;
  vertical-align: middle; }
  ul.articles.summary-links .icon,
  ul.articles.summary-icons .icon {
    display: none; }
  ul.articles.summary-links.summary-icons .icon,
  ul.articles.summary-icons.summary-icons .icon {
    display: block; }
  ul.articles.summary-links > li,
  ul.articles.summary-icons > li {
    gap: 20px;
    vertical-align: middle;
    flex-wrap: nowrap;
    max-width: 100%;
    background: none;
    width: auto;
    text-align: center; }
    ul.articles.summary-links > li .article-summary-container,
    ul.articles.summary-icons > li .article-summary-container {
      max-width: 100%;
      width: auto;
      text-align: center; }
    ul.articles.summary-links > li h4,
    ul.articles.summary-links > li .text,
    ul.articles.summary-icons > li h4,
    ul.articles.summary-icons > li .text {
      text-wrap: nowrap;
      text-align: center;
      vertical-align: middle;
      padding-top: 3px; }
    ul.articles.summary-links > li .thumb-container,
    ul.articles.summary-icons > li .thumb-container {
      display: none; }
    ul.articles.summary-links > li .icon,
    ul.articles.summary-icons > li .icon {
      color: var(--color-foreground) !important;
      opacity: 0.3; }
    ul.articles.summary-links > li .description,
    ul.articles.summary-icons > li .description {
      display: none; }
  ul.articles.summary-links li:last-child:after,
  ul.articles.summary-icons li:last-child:after {
    content: ""; }

@media (min-width: 300px) {
  main.subpage .photos,
  main.taxonomy .photos,
  main.term .photos {
    display: none; }
  main.subpage hr,
  main.taxonomy hr,
  main.term hr {
    clear: both;
    border: none;
    color: color-mix(in srgb, #2f4d30, var(--color-background) 90%);
    background: color-mix(in srgb, #2f4d30, var(--color-background) 90%) !important;
    height: 1px;
    margin: 10px 0 50px 0; }
  ul.articles > li h4,
  ul.articles > li h5,
  ul.articles.summary-blocks ul.articles.summary-default > li h4,
  ul.articles.summary-blocks ul.articles.summary-default > li h5 {
    opacity: 0.6 !important; }
  ul.articles > li.featured,
  ul.articles.summary-blocks ul.articles.summary-default > li.featured {
    min-width: 30% !important; }
  ul.articles ul.articles,
  ul.articles ul.articles.summary-default,
  ul.articles.summary-blocks ul.articles.summary-default ul.articles,
  ul.articles.summary-blocks ul.articles.summary-default ul.articles.summary-default {
    display: block; }
    ul.articles ul.articles > li,
    ul.articles ul.articles.summary-default > li,
    ul.articles.summary-blocks ul.articles.summary-default ul.articles > li,
    ul.articles.summary-blocks ul.articles.summary-default ul.articles.summary-default > li {
      width: 100% !important;
      max-width: 100% !important; } }

@media (min-width: 600px) {
  main.taxonomy .photos,
  main.term .photos {
    display: none; }
  ul.articles,
  ul.articles.summary-default {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    align-items: stretch;
    align-self: stretch;
    align-items: stretch;
    align-content: stretch;
    justify-content: stretch;
    justify-items: stretch;
    justify-self: stretch;
    flex-flow: row wrap;
    list-style: none;
    justify-content: last baseline; }
    ul.articles > li,
    ul.articles.summary-default > li {
      width: 45% !important;
      min-width: 45% !important;
      max-width: 45% !important; } }

@media (min-width: 1200px) {
  main.taxonomy .photos,
  main.term .photos {
    display: block;
    float: right;
    padding: 0 0 100px 100px;
    display: block;
    overflow: hidden;
    max-width: calc(max(28%, 42vw, 630px)); }
    main.taxonomy .photos img,
    main.term .photos img {
      float: right;
      max-width: calc(max(25%, 40vw, 600px));
      object-fit: cover;
      object-position: center center; }
  ul.articles > li,
  ul.articles.summary-default > li {
    width: 33%;
    min-width: clamp(250px, 12%, 25%);
    max-width: clamp(250px, 25%, 33%); } }

main.subpage h1 {
  padding: 30px 0 0 0 !important;
  font-size: 1.8rem;
  margin: 0; }

main.subpage h2 {
  font-size: 2.2rem;
  font-weight: 200;
  color: #000; }

main.subpage h1,
main.subpage h2,
main.subpage h3,
main.subpage h4,
main.subpage h5 {
  margin: 0 0 5px 0; }

main.subpage .two-column {
  max-width: clamp(200px, 49%, 600px) !important; }

main.subpage .three-column {
  max-width: clamp(200px, 31%, 300px) !important; }

main.subpage .responsive-row {
  margin-top: 25px;
  display: flex;
  gap: 30px;
  flex-wrap: wrap; }
  main.subpage .responsive-row .responsive-column {
    margin-left: 0;
    min-width: 300px;
    max-width: clamp(200px, 49%, 600px); }

main.subpage article {
  max-width: 1200px;
  margin: 0 auto; }

.subpages .title-block h4 {
  margin: 0 0 10px 0 !important; }

.subpages .title-wrapper,
.subpages .article-summary-text span,
.subpages .article-summary-description {
  padding: 0 10px; }

ul.articles.fade li {
  background: linear-gradient(0deg, color-mix(in srgb, #2f4d30, var(--color-background) 99%), color-mix(in srgb, #2f4d30, var(--color-background) 77%)); }

ul.articles.caption li {
  border-left: 25px solid #2f4d30; }

ul.articles.wide {
  display: block !important;
  width: 100% !important; }
  ul.articles.wide li {
    width: 100% !important;
    max-width: 100% !important; }

ul.articles {
  margin: 0;
  padding: 0; }
  ul.articles li .article-summary-image-container {
    aspect-ratio: 16 / 9; }
  ul.articles li.featured {
    min-height: 400px; }
    ul.articles li.featured .article-summary-image-container {
      max-height: 400px; }
    ul.articles li.featured .thumb-container-image {
      height: auto; }
      ul.articles li.featured .thumb-container-image img {
        width: 100%;
        height: 100%;
        object-position: center;
        object-fit: cover;
        aspect-ratio: 16 / 9;
        overflow: hidden; }
  ul.articles li {
    color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%);
    font-size: 2.1rem;
    font-weight: 500;
    padding: 0;
    flex: 1;
    flex-flow: row wrap;
    min-width: calc(min(250px, 25%));
    max-width: 100%;
    overflow: hidden; }
    ul.articles li .article-summary-image-container {
      max-height: 400px; }
    ul.articles li span {
      color: #080e09;
      font-weight: 800; }
    ul.articles li .article-summary-container {
      overflow: hidden;
      width: 100%;
      max-height: 800px;
      padding: 0; }
      ul.articles li .article-summary-container div.icon {
        color: var(--color-foreground);
        float: right;
        font-size: 3.5rem;
        padding: 5px 0 5px 10px; }
      ul.articles li .article-summary-container .article-summary-image-container {
        display: block;
        border: 10px transparent solid; }
        ul.articles li .article-summary-container .article-summary-image-container:hover {
          color: #568c57 !important;
          border-color: #568c57 !important; }
        ul.articles li .article-summary-container .article-summary-image-container .thumb-container a .thumb-container-image {
          overflow: hidden; }
          ul.articles li .article-summary-container .article-summary-image-container .thumb-container a .thumb-container-image img {
            transition: all 12s;
            width: 100%;
            height: 100%;
            aspect-ratio: 16 / 9;
            object-position: center center;
            object-fit: cover;
            transform: scale(1.6); }
            ul.articles li .article-summary-container .article-summary-image-container .thumb-container a .thumb-container-image img:hover {
              transform: scale(1.4);
              filter: grayscale(0%); }
    ul.articles li .article-summary-container[data-links-count="0"] a {
      color: #000; }
    ul.articles li li:last-child {
      border-right: 1px solid #2f4d30; }
    ul.articles li.featured {
      min-width: 400px;
      max-width: 100%;
      flex: 2; }
    ul.articles li .article-draft {
      float: right;
      font-size: 4.0rem;
      padding: 0 10px 10px 10px; }
    ul.articles li .article-summary-count h2 {
      font-size: 6.2rem;
      color: #2f4d30; }
    ul.articles li .article-summary-count.show {
      display: block; }
    ul.articles li .article-summary-count.hide {
      display: none; }
    ul.articles li .article-summary-pages {
      float: display none; }
      ul.articles li .article-summary-pages a,
      ul.articles li .article-summary-pages a div {
        color: #909090 !important; }
    ul.articles li .article-summary-text:hover .article-summary-image-container {
      border-color: #2f4d30; }
    ul.articles li .article-summary-text:hover .article-summary-text-title {
      transition: all 300ms;
      background: linear-gradient(color-mix(in srgb, #2f4d30, var(--color-background) 65%), color-mix(in srgb, #2f4d30, transparent 97%)); }
      ul.articles li .article-summary-text:hover .article-summary-text-title a {
        font-size: 2rem;
        transition: all 300ms; }
        ul.articles li .article-summary-text:hover .article-summary-text-title a h3 {
          transition: all 300ms;
          color: black !important; }
    ul.articles li .article-summary-text .article-summary-text-title {
      display: block;
      padding: 5px 10px; }
      ul.articles li .article-summary-text .article-summary-text-title a {
        font-size: 2rem; }
        ul.articles li .article-summary-text .article-summary-text-title a h3 {
          color: #2f4d30 !important; }
    ul.articles li .article-summary-text .article-summary-image-container {
      border: 10px transparent solid; }
  ul.articles a {
    font-size: 2.5rem; }
  ul.articles .featured .article-summary-image-container {
    max-height: 240px; }
  ul.articles .article-summary-image-container {
    margin: auto;
    aspect-ratio: 16 / 9;
    max-height: 200px;
    width: 100%;
    overflow: hidden; }
    ul.articles .article-summary-image-container img {
      display: block;
      width: 100%;
      aspect-ratio: 16 / 9;
      object-position: center;
      object-fit: cover; }

.primary ul.articles li {
  background: linear-gradient(0deg, color-mix(in srgb, #2f4d30, var(--color-background) 15%), color-mix(in srgb, #2f4d30, var(--color-background) 30%));
  color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%);
  padding: 10px; }
  .primary ul.articles li .icon {
    color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%) !important; }
  .primary ul.articles li h4 {
    color: #080e09 !important; }

.alternative ul.articles li {
  background: linear-gradient(0deg, color-mix(in srgb, #2f4d30, var(--color-background) 15%), color-mix(in srgb, #2f4d30, var(--color-background) 30%));
  color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%);
  padding: 10px; }
  .alternative ul.articles li .icon {
    color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%) !important; }
  .alternative ul.articles li h4 {
    color: #080e09 !important; }

.summary-nav li {
  border-radius: 20px; }
  .summary-nav li a {
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    color: black;
    padding: 20px; }
  .summary-nav li span.icon {
    display: block;
    position: relative; }
    .summary-nav li span.icon span {
      display: block;
      position: absolute;
      top: -130px;
      text-align: center;
      width: 100%;
      font-size: 18rem;
      opacity: 0.1; }
  .summary-nav li span.title {
    display: block;
    font-size: 3rem;
    line-height: 2rem;
    margin: 0;
    padding: 0; }
  .summary-nav li span.number {
    display: block;
    font-size: 8rem;
    line-height: 6rem;
    margin: 0 0 30px 0;
    padding: 0; }
  .summary-nav li.current span {
    color: #8eba8f; }
  .summary-nav li.current a {
    background: #2f4d30;
    color: #8eba8f; }

.photos aside img {
  float: right;
  width: calc(max(25%, 350px)); }

main.taxonomy section:first-child article:first-child > div > .thumb-container .thumb-container-image {
  overflow: hidden; }
  main.taxonomy section:first-child article:first-child > div > .thumb-container .thumb-container-image img {
    float: right;
    max-width: 50%;
    padding: 0 35px 35px 35px; }

.gallery-carousel-body {
  margin: 0 auto;
  max-width: 1800px; }

.carousel-pagination {
  position: relative;
  padding: 5px 0 0 0 !important; }

.gallery-carousel-body li .thumb-container,
.gallery-carousel-item .thumb-container {
  height: 100%;
  width: 100%;
  border: 4px transparent solid;
  text-align: center; }
  .gallery-carousel-body li .thumb-container img,
  .gallery-carousel-item .thumb-container img {
    object-position: center;
    object-fit: cover; }
  .gallery-carousel-body li .thumb-container:hover,
  .gallery-carousel-item .thumb-container:hover {
    border-color: #568c57; }

.gallery-carousel-body li .title-block .title-with-subtitle div,
.gallery-carousel-item .title-block .title-with-subtitle div {
  margin: 0 auto;
  padding: 0 10px;
  text-align: center; }

.primary .gallery-carousel-body li .thumb-container:hover,
.primary .gallery-carousel-item .thumb-container:hover {
  border-color: #8eba8f; }

.gallery-carousel-footer {
  margin-top: 20px; }

/* Weaver Platform - Website - Breadcrumb */
.breadcrumb {
  padding-top: 30px;
  background: transparent;
  font-size: 1.2em;
  margin-bottom: 25px; }
  .breadcrumb ol,
  .breadcrumb ul {
    background: transparent;
    padding-left: 0;
    margin: 0; }
    .breadcrumb ol > li,
    .breadcrumb ul > li {
      display: inline; }
    .breadcrumb ol > li:not(:last-child)::after,
    .breadcrumb ul > li:not(:last-child)::after {
      content: "»"; }

.subpage .breadcrumb {
  padding-top: 20px; }

.terms-list {
  display: block; }
  .terms-list .title-block .icon {
    padding: 0 10px 10px 10px !important; }
  .terms-list ul.articles {
    display: flex;
    flex-wrap: wrap; }
    .terms-list ul.articles li {
      min-width: clamp(300px, 25%, 50%) !important; }
    .terms-list ul.articles li.featured {
      min-width: clamp(300px, 25%, 50%) !important; }
  .terms-list ul.articles {
    display: flex;
    flex-wrap: wrap;
    width: 100% !important;
    justify-content: stretch !important;
    justify-items: stretch !important;
    justify-self: stretch !important; }
    .terms-list ul.articles .article-summary-item {
      max-width: 100% !important;
      min-width: calc(max(24%, 300px)) !important; }
  .terms-list .term-title {
    width: 95%;
    padding: 0 0 10px 10px;
    overflow: hidden; }
  .terms-list .featured .icon.icon-size-2 i {
    font-size: 15.5rem !important; }
  .terms-list .featured .icon.icon-size-3 i {
    font-size: 10.5rem !important; }
  .terms-list > div.title > div > .icon {
    float: right;
    opacity: 0.2;
    clear: both; }
    .terms-list > div.title > div > .icon.icon-size-2 {
      font-size: 3.7rem; }
  .terms-list .thumb-container:first-child {
    overflow: hidden;
    display: block !important; }
  .terms-list .thumb-container {
    display: none !important;
    height: 100%;
    width: 100%; }
  .terms-list .thumb-container-image {
    vertical-align: middle;
    height: 100%;
    width: 100%;
    overflow: hidden; }
    .terms-list .thumb-container-image img {
      opacity: 1.0;
      transition: all 6.9s ease-in-out;
      overflow: hidden;
      height: 100%;
      width: 100%;
      object-position: center;
      object-fit: cover;
      transform: scale(1.2); }
    .terms-list .thumb-container-image:hover {
      padding: 0; }
      .terms-list .thumb-container-image:hover img {
        filter: grayscale(0%);
        transform: scale(1); }
  .terms-list.terms-list-logos ul > li:last-child {
    margin-right: 0; }
  .terms-list.terms-list-logos ul > li .thumb-container-image {
    display: inline-block;
    vertical-align: middle;
    height: 75px;
    padding: 10px;
    overflow: hidden; }
    .terms-list.terms-list-logos ul > li .thumb-container-image:hover {
      padding: 0;
      border: none !important; }
      .terms-list.terms-list-logos ul > li .thumb-container-image:hover img {
        opacity: 1.0;
        filter: grayscale(0%);
        transform: scale(1.2) !important;
        aspect-ratio: auto !important; }
    .terms-list.terms-list-logos ul > li .thumb-container-image img {
      border: none !important;
      object-position: center;
      object-fit: contain;
      filter: grayscale(100%);
      opacity: 0.8;
      transform: scale(1) !important;
      aspect-ratio: auto !important; }
  .terms-list.terms-list-logos ul > li .icon,
  .terms-list.terms-list-logos ul > li .description,
  .terms-list.terms-list-logos ul > li h4 {
    display: none; }

.panel.responsive-row.responsive-row-links,
.terms-list-links {
  display: inline-block; }
  .panel.responsive-row.responsive-row-links > ul,
  .terms-list-links > ul {
    display: inline-block; }
  .panel.responsive-row.responsive-row-links .icon,
  .terms-list-links .icon {
    display: block; }
  .panel.responsive-row.responsive-row-links div.responsive-column, .panel.responsive-row.responsive-row-links > ul > .article-summary-item,
  .terms-list-links div.responsive-column,
  .terms-list-links > ul > .article-summary-item {
    display: inline-block;
    vertical-align: middle;
    width: inherit !important; }
    .panel.responsive-row.responsive-row-links div.responsive-column h4, .panel.responsive-row.responsive-row-links > ul > .article-summary-item h4,
    .terms-list-links div.responsive-column h4,
    .terms-list-links > ul > .article-summary-item h4 {
      font-size: 1.8rem;
      font-weight: 500; }

.panel.responsive-row.responsive-row-cards div.responsive-column, .panel.responsive-row.responsive-row-cards > ul > .article-summary-item,
.terms-list-cards div.responsive-column,
.terms-list-cards > ul > .article-summary-item {
  padding: 20px 40px;
  border: 5px #2f4d30 solid;
  border-radius: 10px; }

.panel.responsive-row.responsive-row-cards img,
.terms-list-cards img {
  aspect-ratio: 9 / 3; }

.light .panel.responsive-row.responsive-row-blocks div.responsive-column, .light .panel.responsive-row.responsive-row-blocks > ul > .article-summary-item,
.light .terms-list-blocks div.responsive-column,
.light .terms-list-blocks > ul > .article-summary-item {
  padding: 10px;
  background: linear-gradient(0deg, color-mix(in srgb, #2f4d30, var(--color-background) 99%), color-mix(in srgb, #2f4d30, var(--color-background) 92%)) !important; }

.dark .panel.responsive-row.responsive-row-blocks div.responsive-column, .dark .panel.responsive-row.responsive-row-blocks > ul > .article-summary-item,
.dark .terms-list-blocks div.responsive-column,
.dark .terms-list-blocks > ul > .article-summary-item {
  padding: 10px;
  background: linear-gradient(0deg, color-mix(in srgb, #2f4d30, var(--color-background) 99%), color-mix(in srgb, #2f4d30, var(--color-background) 74%)) !important; }
  .dark .panel.responsive-row.responsive-row-blocks div.responsive-column img, .dark .panel.responsive-row.responsive-row-blocks > ul > .article-summary-item img,
  .dark .terms-list-blocks div.responsive-column img,
  .dark .terms-list-blocks > ul > .article-summary-item img {
    aspect-ratio: 9 / 8; }

@media (min-width: 300px) {
  /* portrait tablets, portrait iPad, e-readers (Nook/Kindle), landscape 1000x480 phones (Android) */
  .responsive-row {
    display: block;
    margin: none; }
    .responsive-row .responsive-column {
      margin: none;
      max-width: 100%; }
      .responsive-row .responsive-column p,
      .responsive-row .responsive-column h2,
      .responsive-row .responsive-column h3,
      .responsive-row .responsive-column h4 {
        display: block; } }

@media (min-width: 1200px) {
  .responsive-row {
    display: flex;
    flex-direction: row;
    gap: calc(clamp(25px, 3.5%, 125px));
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: stretch;
    max-width: 3500px;
    margin: auto; } }

.responsive-row .responsive-column {
  flex: 1 2 500px;
  font-size: 1.8rem; }
  .responsive-row .responsive-column .responsive-column-inner {
    color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%); }
    .responsive-row .responsive-column .responsive-column-inner .photo-credit {
      max-width: 100%; }

.contact-company {
  display: flex;
  background: #253d26;
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px; }
  .contact-company ul {
    list-style: none; }
    .contact-company ul > li.contact-legal-name {
      color: #fff; }
      .contact-company ul > li.contact-legal-name p {
        color: #fff;
        font-weight: 500 !important;
        margin: 0 !important;
        padding: 0 !important; }
        .contact-company ul > li.contact-legal-name p a {
          color: #5f9c61; }
          .contact-company ul > li.contact-legal-name p a:hover {
            color: black; }
    .contact-company ul > li a {
      color: #8eba8f; }
      .contact-company ul > li a:hover {
        color: white; }

.contact-info {
  flex: 1; }

.footer-social {
  width: 100% !important; }
  .footer-social .contact-social p {
    width: 100% !important;
    margin: 0 auto 30px auto !important; }
  .footer-social .contact-social .contact-social-icons {
    flex: 1;
    display: flex;
    margin: 0;
    padding: 30px;
    list-style: none;
    align-items: center;
    align-self: center;
    align-content: center;
    justify-content: center;
    justify-items: center;
    justify-self: center;
    height: 100px;
    min-height: 120px;
    font-size: 4.0rem; }
    .footer-social .contact-social .contact-social-icons li {
      font-size: 6rem;
      text-align: center;
      padding: 0 20px; }
      .footer-social .contact-social .contact-social-icons li a {
        color: #6ea770; }
        .footer-social .contact-social .contact-social-icons li a:hover {
          color: white; }
      .footer-social .contact-social .contact-social-icons li span.title {
        margin: 10px 0 0 0;
        display: block;
        font-size: 1.8rem;
        text-align: center; }
    .footer-social .contact-social .contact-social-icons span {
      display: none; }

.warning {
  display: flex;
  padding: 0 15px 15px 15px; }
  .warning h2,
  .warning p {
    margin: 0;
    padding: 0;
    color: red; }
  .warning p {
    padding: 5px 0 0 5px; }

.footer-social .contact-social {
  display: block; }
  .footer-social .contact-social p {
    margin: 10px 0 0 0;
    padding: 0;
    display: block;
    height: 15px;
    font-size: 1.5rem;
    text-align: center;
    color: #6ea770;
    letter-spacing: 3px; }

form fieldset {
  margin: 10px;
  padding: 25px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 15px; }
  form fieldset .field-control {
    display: flex;
    flex-direction: row;
    margin-bottom: 15px; }
    form fieldset .field-control legend {
      padding: 0 25px; }
    form fieldset .field-control label {
      padding: 2px 25px; }
    form fieldset .field-control.wide {
      flex: 1 1 100%; }

form input[type="text"],
form input[type="email"],
form input[type="tel"],
form input[type="url"],
form textarea {
  padding: 10px;
  border-radius: 10px; }

form input[type="submit"] {
  float: right;
  text-align: right;
  margin-top: 25px;
  padding: 10px 25px;
  border-radius: 15px;
  border: none;
  background: #2f4d30;
  color: #fff; }

.light form fieldset {
  border-color: #2f4d30; }

.light form input[type="text"],
.light form input[type="email"],
.light form input[type="tel"],
.light form input[type="url"],
.light form textarea {
  background: black;
  color: #2f4d30;
  background: #ddeade;
  border: 1px #8eba8f solid; }
  .light form input[type="text"]:focus,
  .light form input[type="email"]:focus,
  .light form input[type="tel"]:focus,
  .light form input[type="url"]:focus,
  .light form textarea:focus {
    background: #426d44;
    border: #bdd7be;
    outline-color: #5f9c61;
    color: #fff; }

.light form input[type="submit"] {
  background: #2f4d30;
  color: #fff; }

@media (min-device-width: 320px) and (max-device-width: 800px) {
  body > main.contact-us article > .responsive-row {
    flex-direction: column-reverse !important; } }

/* Weaver Platform - Website - Container */
.container > img {
  width: 100%; }

article > blockquote,
.review > blockquote {
  display: flex;
  height: auto;
  min-height: 150px;
  max-height: 0;
  margin: 0;
  padding: 0; }

.debug {
  display: none;
  opacity: 0.02;
  width: 100%;
  position: fixed;
  bottom: 0;
  transition: all 0.5s ease-in-out;
  text-shadow: -1px -1px 0 #253d26, 1px -1px 0 #253d26, -1px 1px 0 #253d26, 1px 1px 0 #253d26;
  color: white;
  padding: 5px;
  font-size: 3.5rem;
  font-weight: 800;
  text-align: right; }
  .debug:hover {
    opacity: 0.5;
    color: #6ea770; }

.page .photos,
.kind-page .photos {
  display: none; }

/* Weaver Platform - Website - Effects */
header div.top-nav {
  transition: all 1.5s;
  z-index: 13000;
  background: transparent;
  color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%);
  border-color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%);
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important; }
  header div.top-nav a {
    transition: all 0.2s;
    color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%);
    border-color: transparent; }
    header div.top-nav a .current {
      border-color: contrastText(#2f4d30, 25%, 75%); }
    header div.top-nav a:hover {
      color: contrastText(#2f4d30, 25%, 75%);
      border-color: contrastText(#2f4d30, 25%, 75%); }
    header div.top-nav a.button {
      border-color: contrastText(#2f4d30, 25%, 75%); }
    header div.top-nav a.button:active {
      margin-top: 1px;
      border-color: contrastText(#2f4d30, 25%, 75%); }
  header div.top-nav.highlight {
    background: contrastText(#2f4d30, 25%, 75%);
    color: contrastText(#2f4d30, 25%, 75%);
    border-color: transparent; }
    header div.top-nav.highlight a {
      color: contrastText(#2f4d30, 25%, 75%); }
      header div.top-nav.highlight a .current {
        border-color: contrastText(#2f4d30, 25%, 75%); }
  header div.top-nav.footer {
    background: white;
    color: #a6c3c3; }
    header div.top-nav.footer a {
      color: #a6c3c3; }
      header div.top-nav.footer a .current {
        border-color: #281904; }
  header div.top-nav.black {
    background: contrastText(#2f4d30, 25%, 75%);
    color: #568c57; }
    header div.top-nav.black a {
      color: #568c57; }
      header div.top-nav.black a .current {
        border-color: black; }
      header div.top-nav.black a.button {
        border-bottom: 2px black solid; }
      header div.top-nav.black a.button:hover {
        cursor: hand;
        background: rgba(0, 0, 0, 0.1); }
      header div.top-nav.black a.button:active {
        margin-top: 1px;
        border-bottom: 1px black solid; }
  header div.top-nav.frosted-glass {
    background: linear-gradient(white, rgba(255, 255, 255, 0.8)); }
    header div.top-nav.frosted-glass a {
      color: #080e09; }
      header div.top-nav.frosted-glass a.current {
        color: black !important;
        border-color: black !important; }
      header div.top-nav.frosted-glass a:hover {
        color: black;
        border-color: black; }
      header div.top-nav.frosted-glass a.button {
        border-bottom: 2px black solid; }
      header div.top-nav.frosted-glass a.button:hover {
        cursor: hand;
        background: rgba(0, 0, 0, 0.1); }
      header div.top-nav.frosted-glass a.button:active {
        margin-top: 1px;
        border-bottom: 1px black solid; }
  header div.top-nav.dark-glass-off {
    background: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)); }
  header div.top-nav.dark-glass {
    background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)); }
    header div.top-nav.dark-glass ul.sub-menu {
      background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.6)) !important;
      backdrop-filter: blur(8px) !important;
      -webkit-backdrop-filter: blur(8px) !important; }
      header div.top-nav.dark-glass ul.sub-menu > li {
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important; }
        header div.top-nav.dark-glass ul.sub-menu > li:hover {
          background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)) !important; }
    header div.top-nav.dark-glass a {
      font-weight: 400;
      text-shadow: 1px 1px 2px rgba(133, 203, 245, 0.4);
      color: #bdd7be !important; }
      header div.top-nav.dark-glass a.current {
        color: #bdd7be !important;
        border-color: ligten(#2f4d30, 55%) !important; }
      header div.top-nav.dark-glass a:hover {
        color: #bdd7be;
        border-color: #7eb080; }
      header div.top-nav.dark-glass a.button {
        color: ligten(#2f4d30, 55%) !important;
        border: 1px rgba(0, 0, 0, 0.5) solid !important;
        border-bottom: 2px rgba(0, 0, 0, 0.5) solid !important; }
      header div.top-nav.dark-glass a.button:hover {
        cursor: hand;
        background: rgba(0, 0, 0, 0.1); }
      header div.top-nav.dark-glass a.button:active {
        margin-top: 1px;
        border: 1px rgba(0, 0, 0, 0.5) solid !important;
        border-bottom: 1px rgba(0, 0, 0, 0.5) solid !important; }

/* Weaver Platform - Website - Footer */
footer {
  border-top: 3px solid transparent;
  background: contrastText(#e3ecec, 10%);
  color: contrastText(#e3ecec);
  padding: 0; }
  footer .footer-logo {
    text-align: center;
    padding: 30px;
    font-size: 20px;
    color: #e3ecec; }
  footer .footer-copyright {
    margin: 0;
    padding: 0 0 0 0;
    text-align: center;
    font-size: 1.4rem;
    background: transparent;
    color: white; }
  footer .footer-sitemap {
    margin: 0;
    padding: 0 0 30px 0;
    text-align: center;
    font-size: 1.4rem; }
    footer .footer-sitemap a {
      color: contrastText(#e3ecec);
      text-transform: uppercase;
      font-size: 1.4rem; }
      footer .footer-sitemap a:hover {
        color: contrastText(#e3ecec); }
  footer .footer-links-container {
    margin: auto;
    margin: 0; }
    footer .footer-links-container nav {
      margin: auto;
      width: 100%; }
      footer .footer-links-container nav ul {
        margin: auto;
        width: 40%; }
        footer .footer-links-container nav ul li a {
          font-weight: bold; }
    footer .footer-links-container .footer-flex {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap; }
      footer .footer-links-container .footer-flex .footer-column {
        flex: 1;
        flex-basis: 30%;
        margin: 0 0 20px 0;
        text-align: center; }
        footer .footer-links-container .footer-flex .footer-column .footer-links {
          margin: 0;
          text-align: center; }
  footer p {
    color: #a6c3c3; }
  footer ul {
    margin: 0;
    padding: 0; }
    footer ul li {
      list-style-type: none;
      margin: 10px 0;
      line-height: 1.8rem; }
      footer ul li a {
        font-size: 1.3rem;
        text-decoration: none;
        color: #a6c3c3; }
        footer ul li a:hover {
          color: #a6c3c3; }
          footer ul li a:hover[href] {
            text-decoration: underline; }
  footer a {
    color: contrastText(#e3ecec); }
    footer a:hover {
      color: contrastText(#e3ecec, 35%); }
    footer a.term {
      text-transform: capitalize;
      color: #97b8b8 !important; }
  footer .footer-container {
    min-height: 200px; }
  footer .footer-social {
    margin: 90px 0; }
    footer .footer-social p {
      color: #8eba8f;
      font-weight: 600;
      font-size: 1.84rem !important;
      margin: 0 auto; }
    footer .footer-social ul.contact-social-icons li a {
      color: #aecdaf;
      font-size: 4.8rem !important; }
      footer .footer-social ul.contact-social-icons li a:hover {
        color: white; }

.dark footer .footer-search {
  margin: 30px 0 0 0;
  text-align: center;
  padding: 30px;
  font-size: 20px;
  color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important; }
  .dark footer .footer-search input {
    width: 60%;
    padding: 5px;
    border: 2px color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) solid !important;
    background: color-mix(in srgb, #2f4d30, var(--color-background) 50%) !important;
    color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important;
    outline: transparent !important; }
    .dark footer .footer-search input:hover {
      border-color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important;
      background: color-mix(in srgb, #2f4d30, var(--color-background) 50%) !important;
      color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important; }
    .dark footer .footer-search input:focus {
      color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important;
      outline: 2px color-mix(in srgb, #2f4d30, var(--color-background) 50%) solid !important;
      border: 2px color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) solid !important;
      background: color-mix(in srgb, #2f4d30, var(--color-background) 50%) !important; }
      .dark footer .footer-search input:focus::placeholder {
        color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important; }
    .dark footer .footer-search input::placeholder {
      color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important; }

.light footer .footer-search {
  margin: 30px 0 0 0;
  text-align: center;
  padding: 30px;
  font-size: 20px;
  color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important; }
  .light footer .footer-search input {
    width: 60%;
    padding: 5px;
    border: 2px color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) solid !important;
    background: color-mix(in srgb, #2f4d30, var(--color-background) 60%) !important;
    color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important;
    outline: transparent !important; }
    .light footer .footer-search input:hover {
      border-color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important;
      background: color-mix(in srgb, #2f4d30, var(--color-background) 50%) !important;
      color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important; }
    .light footer .footer-search input:focus {
      color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important;
      outline: 2px color-mix(in srgb, #2f4d30, var(--color-background) 50%) solid !important;
      border: 2px color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) solid !important;
      background: color-mix(in srgb, #2f4d30, var(--color-background) 50%) !important; }
      .light footer .footer-search input:focus::placeholder {
        color: color-mix(in srgb, #2f4d30, var(--color-foreground) 80%) !important; }
    .light footer .footer-search input::placeholder {
      color: color-mix(in srgb, #2f4d30, var(--color-foreground) 80%) !important; }

.physical-map {
  background: #ccc url("/images/map.png");
  background-size: cover;
  height: 275px;
  border-top-left-radius: 25px;
  border-top-right-radius: 25px;
  overflow: hidden; }
  .physical-map div {
    border-top-left-radius: 25px;
    border-top-right-radius: 25px;
    overflow: hidden;
    backdrop-filter: sepia(60%);
    height: 275px;
    width: 100%; }

/* Weaver Platform - Website - Header */
.logo-wrapper {
  position: relative;
  z-index: 12000; }

.logo-wrapper:after {
  height: 10px;
  width: 10px; }

main {
  margin: 0 0 0 0;
  min-height: 50vh;
  max-width: 100vw;
  overflow: hidden; }

header {
  margin: 0 0 0 0;
  max-width: 100vw;
  overflow: hidden; }

main.kind-taxonomy article,
main.kind-taxonomy .for-more,
main.kind-term article,
main.kind-term .for-more {
  max-width: clamp(70%, 1600px, 90%);
  margin: 0 auto; }

/* Weaver Platform - Layout - Website - Links */
a {
  text-decoration: none;
  color: color-mix(in srgb, #ca7f15, var(--color-foreground) 15%); }
  a.primary {
    font-weight: bold;
    color: color-mix(in srgb, #2f4d30, var(--color-foreground) 15%); }
    a.primary:hover {
      color: color-mix(in srgb, #2f4d30, var(--color-background) 0%); }
  a.alternative {
    font-style: italic;
    color: color-mix(in srgb, #2f4d30, var(--color-foreground) 15%); }
    a.alternative:hover {
      color: color-mix(in srgb, #2f4d30, var(--color-background) 0%); }
  a:hover {
    color: color-mix(in srgb, #ca7f15, var(--color-background) 0%); }
    a:hover[href] {
      text-decoration: underline; }
    a:hover.h3base {
      text-decoration: none; }

nav a,
header a,
footer a {
  text-decoration: none !important; }
  nav a:hover,
  header a:hover,
  footer a:hover {
    text-decoration: none !important; }

a.button {
  text-decoration: none !important; }
  a.button:hover {
    text-decoration: none !important; }

/* Weaver Platform - Layout - Website - Modal */
#modal {
  display: none; }
  #modal.active {
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100vh;
    width: 100vw;
    z-index: 1000000;
    background: #000; }
    #modal.active div.logo {
      animation: fadeIn 2s;
      animation-delay: 1s;
      animation-timing-function: ease-in-out;
      animation-fill-mode: forwards; }
      #modal.active div.logo div.logo-inner img {
        max-width: 25%; }
    #modal.active > div {
      text-align: center;
      width: 100vw;
      height: 100vh;
      transform: translate(0%, 25%); }

/* Weaver Platform - Layout - Website - Navigation */
header.nav-darken {
  background: #000; }
  header.nav-darken .grid {
    background: rgba(0, 0, 0, 0.9); }

@media (min-width: 320px) {
  body {
    overflow-x: hidden; }
  .top-nav {
    height: 0px; }
  li.mobile-nav {
    text-decoration: none !important; }
    li.mobile-nav:hover {
      text-decoration: none !important; }
    li.mobile-nav a {
      padding: 15px 25px !important;
      font-size: 5rem !important;
      text-decoration: none !important;
      color: rgba(0, 0, 0, 0.8) !important;
      border-bottom: none;
      border-color: transparent; }
      li.mobile-nav a:hover {
        text-decoration: none !important;
        border-bottom: none;
        border-color: transparent !important;
        color: black !important; }
  main section > article {
    width: 100%; }
  /* smartphones, portrait iPhone, portrait 480x320 phones (Android) */
  header ul.mobile-nav-container {
    display: block !important; }
  header ul.website-nav-container {
    display: none !important; } }

@media (min-width: 480px) {
  /* smartphones, Android phones, landscape iPhone */
  main section > div {
    max-width: 95%;
    margin-left: auto;
    margin-right: auto; }
  body {
    width: 100%; } }

@media (min-width: 600px) {
  /* portrait tablets, portrait iPad, e-readers (Nook/Kindle), landscape 1000x480 phones (Android) */
  body {
    width: 100%; } }

@media (min-width: 801px) {
  /* tablet, landscape iPad, lo-res laptops ands desktops */ }

@media (min-width: 1025px) {
  /* big landscape tablets, laptops, and desktops */
  header div.mobile div.top-nav {
    display: none !important; }
  header ul.mobile-nav-container {
    display: none !important; }
  header ul.website-nav-container {
    display: block !important; }
  header .top-nav {
    height: auto; } }

@media (min-width: 1281px) {
  /* hi-res laptops and desktops */
  body h1 {
    max-width: 65%;
    margin-right: 10px; }
  body main section article {
    padding: 0 60px; } }

@media (min-width: 1500px) {
  body h1 {
    max-width: 50%;
    margin-right: 10px; } }

@media (min-width: 1800px) {
  /* hi-res laptops and desktops */
  body {
    width: 100%; }
    body h1 {
      max-width: 45%; }
    body.mode-dark > main, body.mode-dark > header, body.mode-light > main, body.mode-light > header {
      transition: color 2s ease-in-out, background-color 2s ease-in-out; }
    body > main, body > header {
      background: var(--color-background);
      color: var(--color-foreground); }
    body > main, body > header, body > footer, body > div.debug, body > div.foo {
      display: block;
      margin-left: auto;
      margin-right: auto; }
      body > main > section, body > header > section, body > footer > section, body > div.debug > section, body > div.foo > section {
        max-width: 100%;
        margin: auto; }
    body div.grid-container {
      width: 100%;
      margin-left: auto;
      margin-right: auto; }
      body div.grid-container > div.grid {
        max-width: 1800px !important;
        margin-left: auto;
        margin-right: auto; } }

div.hero-outer {
  max-width: 100%;
  overflow: hidden; }

div.hero-outer.subpage.gallery,
header.gallery div.hero-outer.subpage {
  height: 60px;
  overflow: hidden; }

header div.top-nav nav,
footer nav {
  display: inline-block; }
  header div.top-nav nav ol, header div.top-nav nav ul,
  footer nav ol,
  footer nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0; }
    header div.top-nav nav ol .children a, header div.top-nav nav ul .children a,
    footer nav ol .children a,
    footer nav ul .children a {
      color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%); }
      header div.top-nav nav ol .children a:hover, header div.top-nav nav ul .children a:hover,
      footer nav ol .children a:hover,
      footer nav ul .children a:hover {
        color: color-mix(in srgb, #2f4d30, var(--color-background) 85%);
        background: #2f4d30; }
    header div.top-nav nav ol li, header div.top-nav nav ul li,
    footer nav ol li,
    footer nav ul li {
      display: inline-block;
      vertical-align: middle;
      padding: 0;
      margin: 0 0 0 0;
      background: transparent; }
      header div.top-nav nav ol li a, header div.top-nav nav ul li a,
      footer nav ol li a,
      footer nav ul li a {
        display: inline-block;
        text-transform: uppercase;
        font-size: 1.45rem;
        border-bottom: 5px transparent solid;
        border-color: transparent; }
        header div.top-nav nav ol li a:hover, header div.top-nav nav ul li a:hover,
        footer nav ol li a:hover,
        footer nav ul li a:hover {
          color: contrastText(#2f4d30, 50%, 50%);
          border-color: contrastText(#2f4d30, 50%, 50%); }
        header div.top-nav nav ol li a.current, header div.top-nav nav ul li a.current,
        footer nav ol li a.current,
        footer nav ul li a.current {
          color: contrastText(#2f4d30, 20%, 50%);
          border-color: contrastText(#2f4d30, 20%, 50%); }
        header div.top-nav nav ol li a.button, header div.top-nav nav ul li a.button,
        footer nav ol li a.button,
        footer nav ul li a.button {
          font-size: 1.3rem;
          color: black;
          border: 1px black solid;
          border-radius: 4px;
          padding: 5px 15px 5px 15px; }
          header div.top-nav nav ol li a.button.hover, header div.top-nav nav ul li a.button.hover,
          footer nav ol li a.button.hover,
          footer nav ul li a.button.hover {
            background-color: #6e450b !important;
            border-color: #6e450b !important;
            color: #fcf1e2 !important; }

header div.top-nav nav.fat, header div.top-nav nav.dropdown,
footer nav.fat,
footer nav.dropdown {
  position: relative;
  z-index: 200000; }
  header div.top-nav nav.fat a, header div.top-nav nav.dropdown a,
  footer nav.fat a,
  footer nav.dropdown a {
    margin: 0 6px;
    padding: 15px 0; }
  header div.top-nav nav.fat ul > li, header div.top-nav nav.dropdown ul > li,
  footer nav.fat ul > li,
  footer nav.dropdown ul > li {
    padding: 0; }
  header div.top-nav nav.fat > ul > li > div.children, header div.top-nav nav.dropdown > ul > li > div.children,
  footer nav.fat > ul > li > div.children,
  footer nav.dropdown > ul > li > div.children {
    position: absolute;
    top: 0px !important;
    display: none; }
  header div.top-nav nav.fat > ul > li:hover > div.children, header div.top-nav nav.dropdown > ul > li:hover > div.children,
  footer nav.fat > ul > li:hover > div.children,
  footer nav.dropdown > ul > li:hover > div.children {
    display: block; }
  header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu,
  footer nav.fat > ul > li > div.children > ul.sub-menu,
  footer nav.dropdown > ul > li > div.children > ul.sub-menu {
    padding: 0;
    margin: 0;
    width: 250px;
    position: absolute;
    top: 56px;
    left: 0px;
    transition: color 2s ease-in-out, background-color 2s ease-in-out;
    background: color-mix(in srgb, #2f4d30, var(--color-background) 18%);
    color: var(--color-foreground);
    border: 1px #000 solid;
    z-index: 10000; }
    header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li,
    footer nav.fat > ul > li > div.children > ul.sub-menu > li,
    footer nav.dropdown > ul > li > div.children > ul.sub-menu > li {
      width: 100%; }
      header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > div.call-to-action-nav, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > div.call-to-action-nav,
      footer nav.fat > ul > li > div.children > ul.sub-menu > li > div.call-to-action-nav,
      footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > div.call-to-action-nav {
        margin: 0;
        padding: 0; }
        header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > div.call-to-action-nav > a, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > div.call-to-action-nav > a,
        footer nav.fat > ul > li > div.children > ul.sub-menu > li > div.call-to-action-nav > a,
        footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > div.call-to-action-nav > a {
          display: block;
          margin: 0;
          width: 100%;
          text-align: center; }
      header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li .children, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li .children,
      footer nav.fat > ul > li > div.children > ul.sub-menu > li .children,
      footer nav.dropdown > ul > li > div.children > ul.sub-menu > li .children {
        display: none; }
      header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li:hover > .children, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li:hover > .children,
      footer nav.fat > ul > li > div.children > ul.sub-menu > li:hover > .children,
      footer nav.dropdown > ul > li > div.children > ul.sub-menu > li:hover > .children {
        display: block; }
      header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li.current, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li.current,
      footer nav.fat > ul > li > div.children > ul.sub-menu > li.current,
      footer nav.dropdown > ul > li > div.children > ul.sub-menu > li.current {
        border-color: #f2c586;
        color: #ca7f15; }
      header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > .children, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children,
      footer nav.fat > ul > li > div.children > ul.sub-menu > li > .children,
      footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children {
        display: none;
        display: block;
        position: relative;
        top: -30px;
        left: 250px;
        transition: color 2s ease-in-out, background-color 2s ease-in-out;
        background: var(--color-background);
        color: var(--color-foreground);
        width: 100%;
        z-index: 200; }
        header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu,
        footer nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu,
        footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu {
          position: absolute;
          top: 0;
          left: -25px;
          transition: color 2s ease-in-out, background-color 2s ease-in-out;
          background: var(--color-background);
          color: var(--color-foreground);
          border: 1px black solid;
          padding: 0; }
          header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li,
          footer nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li,
          footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li {
            display: block;
            padding: 5px 15px; }
            header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li:hover > .children, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li:hover > .children,
            footer nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li:hover > .children,
            footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li:hover > .children {
              display: block; }
            header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li.current, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li.current,
            footer nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li.current,
            footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li.current {
              border-color: #f2c586 !important;
              color: #ca7f15 !important; }
            header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children,
            footer nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children,
            footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children {
              display: none;
              position: relative;
              top: -35px;
              left: 250px;
              transition: color 2s ease-in-out, background-color 2s ease-in-out;
              background: var(--color-background);
              color: var(--color-foreground);
              width: 100%;
              z-index: 200; }
              header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children > ul.sub-menu, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children > ul.sub-menu,
              footer nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children > ul.sub-menu,
              footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children > ul.sub-menu {
                position: absolute;
                top: 0;
                left: 0px; }
                header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children > ul.sub-menu > li > div.call-to-action-nav > a, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children > ul.sub-menu > li > div.call-to-action-nav > a,
                footer nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children > ul.sub-menu > li > div.call-to-action-nav > a,
                footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children > ul.sub-menu > li > div.call-to-action-nav > a {
                  color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%); }

section .breadcrumbs ol,
section .breadcrumbs ul {
  margin: 25px 0 0 0;
  padding: 0; }

section .breadcrumbs .breadcrumb-length-0 {
  display: none; }

#hamburger-menu {
  transition: 1s all;
  display: none;
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.925);
  overflow: hidden;
  padding: 0 10px 0 0;
  z-index: 100000;
  color: #fff;
  text-align: right;
  font-size: 6rem; }
  #hamburger-menu.show {
    display: block; }
  #hamburger-menu .footer-logo {
    position: absolute;
    top: 90px;
    left: 0;
    z-index: 100000000000; }
    #hamburger-menu .footer-logo a {
      display: block;
      margin: 0 0 0 40px;
      min-width: 80px;
      max-width: 50%;
      text-decoration: none; }
  #hamburger-menu .children ul {
    padding: 0 0 15px 0; }
    #hamburger-menu .children ul li a {
      display: block;
      padding: 5px 15px 10px 0;
      font-size: 2rem; }
  #hamburger-menu ul {
    list-style: none;
    margin: 0;
    padding: 2px 0 0 0; }
    #hamburger-menu ul li {
      padding: 2px; }
      #hamburger-menu ul li a {
        display: block;
        padding: 13px;
        color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%);
        font-size: 4rem; }
        #hamburger-menu ul li a:hover {
          color: color-mix(in srgb, #2f4d30, var(--color-foreground) 55%); }
  #hamburger-menu a {
    color: rgba(57, 93, 58, 0.8); }
    #hamburger-menu a:hover {
      color: rgba(76, 125, 78, 0.9); }

header.hero div.logo-wrapper {
  aspect-ratio: 16 / 8; }

header.kind-section {
  margin: 420px 0 0 0; }
  header.kind-section div.hero-outer {
    max-height: 420px !important; }

div.logo-wrapper {
  aspect-ratio: 16 / 10;
  height: 100%; }
  div.logo-wrapper > div.logo {
    height: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    align-self: flex-end;
    align-content: flex-end; }
    div.logo-wrapper > div.logo > div.logo-inner {
      flex: 1;
      align-items: flex-end;
      align-self: flex-end;
      align-content: flex-end;
      aspect-ratio: 16 / 5;
      max-width: 80vw; }

/* Weaver Platform - Layout - Website - Section */
main.kind-term.reviews > section > article > div > p {
  display: block;
  clear: both; }
  main.kind-term.reviews > section > article > div > p:before {
    content: '“';
    float: left;
    font-size: 22rem;
    padding: 68px 5px 0 0;
    height: 40px;
    color: #2f4d30; }
  main.kind-term.reviews > section > article > div > p:after {
    content: '';
    clear: both; }

main.kind-term.reviews > section > article > div {
  clear: both; }

main.home-list > section h1 {
  color: color-mix(in srgb, #ca7f15, var(--color-foreground) 20%);
  padding-bottom: 25px; }

h1.taxonomy-list,
h1.taxonomy-term {
  color: #2f4d30; }

div.title {
  margin: 0 10px; }

div.title-with-icon {
  display: flex; }
  div.title-with-icon a {
    padding: 0 0px 0 5px; }

main > section.sitemap {
  margin: 0 0 60px 0; }
  main > section.sitemap .sitemap-section.hide,
  main > section.sitemap .sitemap-section-page.hide {
    display: none; }
  main > section.sitemap .sitemap-section.show,
  main > section.sitemap .sitemap-section-page.show,
  main > section.sitemap .sitemap-section.desc-show,
  main > section.sitemap .sitemap-section-page.desc-show {
    display: block; }
  main > section.sitemap .sitemap-search {
    position: relative;
    top: -80px;
    width: 100%; }
    main > section.sitemap .sitemap-search fieldset {
      border: none;
      margin: auto;
      width: 500px; }
      main > section.sitemap .sitemap-search fieldset input {
        background: rgba(0, 0, 0, 0.5);
        color: #5f9c61 !important;
        border: 1px #5f9c61 solid;
        padding: 10px;
        font-size: 2.5rem;
        width: 100%; }
      main > section.sitemap .sitemap-search fieldset label {
        display: block;
        color: #5f9c61;
        font-size: 1.2rem;
        text-align: center;
        text-transform: uppercase;
        width: 100%;
        background: rgba(0, 0, 0, 0.5); }
  main > section.sitemap div.icon {
    display: inline-block;
    width: 35px;
    padding-right: 5px;
    text-align: right;
    color: #2f4d30; }
  main > section.sitemap div.title {
    color: #2f4d30; }
  main > section.sitemap p {
    color: #121d12; }
  main > section.sitemap article.sitemap > ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 0 0px;
    padding: 0;
    list-style: none;
    border-left: 1px #2f4d30 solid;
    border-top: 1px #2f4d30 solid; }
    main > section.sitemap article.sitemap > ul:first-child {
      border-top: 1px #2f4d30 solid; }
    main > section.sitemap article.sitemap > ul > li {
      flex-grow: 4;
      flex-shrink: 1;
      min-width: 17%;
      max-width: 50%;
      font-size: 2.8rem;
      border-right: 1px #2f4d30 solid;
      border-bottom: 1px #2f4d30 solid;
      padding: 15px; }
      main > section.sitemap article.sitemap > ul > li a {
        color: #2f4d30; }
        main > section.sitemap article.sitemap > ul > li a[href] {
          text-decoration: underline; }
        main > section.sitemap article.sitemap > ul > li a.primary {
          font-weight: bold; }
        main > section.sitemap article.sitemap > ul > li a.alternative {
          font-style: italic; }
      main > section.sitemap article.sitemap > ul > li > ul {
        margin: 0 0 0 0px;
        padding: 0;
        list-style: none;
        display: flex;
        flex-wrap: wrap; }
        main > section.sitemap article.sitemap > ul > li > ul > li {
          font-size: 2.2rem;
          flex: 1;
          min-width: 50%;
          max-width: 100%; }
          main > section.sitemap article.sitemap > ul > li > ul > li a {
            transition: color 2s ease-in-out, background-color 2s ease-in-out;
            color: var(--color-foreground); }
            main > section.sitemap article.sitemap > ul > li > ul > li a.primary {
              font-weight: bold; }
            main > section.sitemap article.sitemap > ul > li > ul > li a.alternative {
              font-style: italic; }
          main > section.sitemap article.sitemap > ul > li > ul > li > ul {
            margin: 0 0 0 30px;
            padding: 0;
            list-style: none; }
            main > section.sitemap article.sitemap > ul > li > ul > li > ul > li {
              font-size: 1.6rem; }
              main > section.sitemap article.sitemap > ul > li > ul > li > ul > li:last-child {
                margin-bottom: 10px; }
              main > section.sitemap article.sitemap > ul > li > ul > li > ul > li a,
              main > section.sitemap article.sitemap > ul > li > ul > li > ul > li div.icon {
                color: #999; }

main > section {
  margin: 0 0 0 0;
  padding: 0; }
  main > section.section h1 {
    color: var(--color-foreground); }
  main > section h1.taxonomy-list,
  main > section .taxonomy-term {
    color: #2f4d30; }
  main > section:first-child {
    padding-top: 0;
    padding-bottom: 0; }

h1,
h2 {
  color: #2f4d30; }

h3,
h4,
h5 {
  color: #2f4d30; }

section.primary a {
  color: #5f9c61;
  text-decoration: none;
  font-weight: bold; }
  section.primary a h4 {
    color: #5f9c61 !important; }
  section.primary a:hover {
    color: #9ec49f; }
    section.primary a:hover[href] {
      text-decoration: underline; }
    section.primary a:hover h4 {
      color: #bdd7be !important; }

section.primary h1,
section.primary h2 {
  color: contrastText(#2f4d30, 25%, 75%); }

section.primary h3,
section.primary h4 {
  color: contrastText(#2f4d30, 45%, 95%); }

section.primary h5 {
  color: contrastText(#2f4d30, 45%, 95%); }

section.alternative {
  background: #2f4d30;
  color: black; }
  section.alternative a {
    color: #5f9c61;
    text-decoration: none;
    font-weight: bold; }
    section.alternative a h4 {
      color: #5f9c61 !important; }
    section.alternative a:hover {
      color: #9ec49f; }
      section.alternative a:hover[href] {
        text-decoration: underline; }
      section.alternative a:hover h4 {
        color: #bdd7be !important; }
  section.alternative h1,
  section.alternative h2 {
    color: contrastText(#2f4d30, 25%, 75%); }
  section.alternative h3,
  section.alternative h4,
  section.alternative h5 {
    color: contrastText(#2f4d30, 25%, 95%); }

section.primary p, section.primary li,
section.alternative p,
section.alternative li {
  font-weight: 300; }

section.primary p,
section.primary li {
  color: #281904; }

section.alternative p,
section.alternative li {
  color: #6e450b; }

section.tertiary p,
section.tertiary li {
  color: #6e450b; }

section.tertiary p,
section.quadinary li {
  color: #85530e; }

body.light section.primary {
  background: color-mix(in srgb, #2f4d30, var(--color-background) 5%); }
  body.light section.primary h1 {
    color: color-mix(in srgb, #2f4d30, var(--color-background) 85%) !important; }
  body.light section.primary h4 {
    color: color-mix(in srgb, #2f4d30, var(--color-background) 85%) !important; }
  body.light section.primary h5 {
    color: color-mix(in srgb, #2f4d30, var(--color-background) 85%) !important; }

body.light section.alternative {
  background: color-mix(in srgb, #2f4d30, var(--color-background) 5%);
  color: #121d12; }
  body.light section.alternative h4 {
    color: color-mix(in srgb, #2f4d30, var(--color-background) 85%) !important; }

body.light .section.subtile {
  background: color-mix(in srgb, var(--color-foreground), var(--color-background) 50%) !important; }

body.dark section.primary {
  background: color-mix(in srgb, #2f4d30, var(--color-foreground) 20%); }
  body.dark section.primary h1 {
    color: color-mix(in srgb, #2f4d30, var(--color-background) 85%) !important; }

body.dark section.alternative {
  background: #121d12;
  color: #4c7d4e; }

section.subtle {
  background: color-mix(in srgb, #62401f, var(--color-background) 85%); }

section.highlight {
  background: #bfbfbf; }

section.footer {
  background: #e3ecec; }

.container.icons > div {
  margin: auto;
  width: 70%;
  padding: 0 !important; }
  .container.icons > div .icon {
    text-align: left;
    border-radius: 25px;
    width: 50px;
    height: 50px;
    font-size: 50px;
    margin: 0 5px;
    background: #c5d7d7; }
    .container.icons > div .icon:hover {
      background: #a6c3c3; }
    .container.icons > div .icon span {
      position: relative;
      top: -10px;
      left: 10px; }
      .container.icons > div .icon span a {
        color: white; }
        .container.icons > div .icon span a.primary {
          font-weight: bold; }
        .container.icons > div .icon span a.alternative {
          font-style: italic; }

.music-container {
  color: var(--color-foreground);
  transition: color 2s ease-in-out, background-color 2s ease-in-out; }
  .music-container .music-line {
    margin: 30px 0 30px 0; }
    .music-container .music-line:hover .music-note {
      cursor: help; }
      .music-container .music-line:hover .music-note > div {
        display: block !important; }
    .music-container .music-line .music-note {
      color: var(--color-foreground);
      transition: color 2s ease-in-out, background-color 2s ease-in-out;
      font-size: 1.4rem; }
      .music-container .music-line .music-note p {
        color: var(--color-foreground);
        transition: color 2s ease-in-out, background-color 2s ease-in-out;
        transition: color 2s ease-in-out, background-color 2s ease-in-out;
        font-size: 1.4rem; }
      .music-container .music-line .music-note > div {
        position: relative;
        top: 0;
        left: 0;
        z-index: 100000;
        display: none !important;
        padding-top: 5px;
        color: #7eb080;
        background: #000 !important;
        font-size: 1.7rem;
        font-weight: 300;
        padding: 5px;
        width: 250px; }
    .music-container .music-line .music-vocal {
      position: relative !important;
      top: 0 !important;
      left: 0 !important; }
      .music-container .music-line .music-vocal > div {
        position: absolute !important;
        top: -60px !important;
        left: 0;
        width: auto;
        display: flex !important; }
        .music-container .music-line .music-vocal > div:hover {
          cursor: help; }
          .music-container .music-line .music-vocal > div:hover > div.icon {
            display: block; }
          .music-container .music-line .music-vocal > div:hover > div.words {
            display: block;
            color: #2f4d30; }
        .music-container .music-line .music-vocal > div > div.icon {
          padding-top: 5px;
          color: #2f4d30;
          font-size: 3.0rem;
          font-weight: 100;
          width: 50px; }
        .music-container .music-line .music-vocal > div > div.words {
          position: relative;
          top: -35px;
          display: none;
          padding-top: 10px;
          border: 1px #2f4d30 solid;
          background: black;
          color: #2f4d30;
          border-radius: 8px;
          font-size: 2.0rem;
          font-weight: 700;
          width: 250px;
          text-align: center;
          padding: 10px; }
          .music-container .music-line .music-vocal > div > div.words:before, .music-container .music-line .music-vocal > div > div.words:after {
            content: '“'; }
    .music-container .music-line .music-chord {
      font-size: 1.4rem; }
      .music-container .music-line .music-chord p {
        font-size: 2.2rem; }
      .music-container .music-line .music-chord > div {
        color: #2f4d30;
        text-shadow: -1px -1px 10px black, -1px -1px 10px black;
        font-size: 2.2rem;
        font-weight: 800; }
    .music-container .music-line .music-icon {
      color: var(--color-foreground);
      transition: color 2s ease-in-out, background-color 2s ease-in-out;
      font-size: 1.4rem;
      width: 70px; }
      .music-container .music-line .music-icon > p {
        color: var(--color-foreground);
        transition: color 2s ease-in-out, background-color 2s ease-in-out;
        font-size: 1.4rem; }
      .music-container .music-line .music-icon > div {
        color: #2f4d30 !important;
        font-size: 2.5rem;
        font-weight: 600; }
    .music-container .music-line .music-chord,
    .music-container .music-line .music-note,
    .music-container .music-line .music-icon,
    .music-container .music-line .music-vocal {
      display: inline-block;
      position: relative;
      top: 0;
      left: 0; }
      .music-container .music-line .music-chord > div,
      .music-container .music-line .music-note > div,
      .music-container .music-line .music-icon > div,
      .music-container .music-line .music-vocal > div {
        position: absolute;
        top: -50px;
        left: 0;
        display: inline-block;
        z-index: 1000; }

.music-line {
  min-height: 30px; }

.music-section {
  width: 180px;
  text-align: center;
  border: 1px #2f4d30 solid;
  color: #2f4d30;
  background: rgba(0, 0, 0, 0.5);
  font-size: 2rem;
  font-weight: 800; }

header.subpage {
  margin-top: 420px; }
  header.subpage .hero-outer {
    max-height: 420px !important; }

header.kind-taxonomy,
header.kind-term {
  margin-top: 420px; }
  header.kind-taxonomy .hero-outer,
  header.kind-term .hero-outer {
    max-height: 420px !important; }

header.kind-taxonomy.gallery {
  height: 50px !important;
  max-height: 50px !important; }

.gallery .hero-outer {
  height: 20px !important; }

.gallery .logo-container {
  display: none; }

header.kind-taxonomy.gallery,
header.kind-term.gallery {
  height: 50px !important;
  min-height: 0px !important;
  max-height: 50px !important;
  margin-top: 50px !important; }
  header.kind-taxonomy.gallery .hero-outer,
  header.kind-term.gallery .hero-outer {
    max-height: 50px !important; }

.photo-credit {
  float: right;
  max-width: 1200px; }
  .photo-credit p {
    display: block;
    min-width: 50%;
    overflow: hidden; }
  .photo-credit .photo-credit-image img {
    aspect-ratio: 16 / 12 !important;
    object-position: center;
    object-fit: cover; }
  .photo-credit .photo-credit-image a img {
    border: 10px transparent solid;
    overflow: hidden; }
  .photo-credit .photo-credit-image a:hover img {
    border-color: #2f4d30; }

main.kind-taxonomy .thumb-container img,
main.kind-term .thumb-container img {
  object-fit: contain;
  object-position: center;
  max-height: 600px; }

section.image-panel {
  height: 450px;
  max-height: 450px;
  overflow: hidden;
  object-position: bottom;
  object-fit: cover; }
  section.image-panel.image-panel-align-top img {
    object-position: top; }
  section.image-panel.image-panel-align-bottom img {
    object-position: bottom; }
  section.image-panel img {
    object-position: center;
    object-fit: cover;
    height: 450px;
    width: 100%; }

ul.columns {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0; }
  ul.columns > li {
    list-style: none;
    flex: 1;
    min-width: 25%;
    padding: 0 10px; }
    ul.columns > li a {
      color: #000; }
      ul.columns > li a:hover {
        color: #2f4d30;
        font-weight: bold; }
        ul.columns > li a:hover[href] {
          text-decoration: underline; }

i.fa-bug {
  color: red;
  text-shadow: rgba(0, 0, 0, 0.2) 4px 4px 4px; }

.light-dark-switch {
  position: fixed;
  bottom: 0;
  left: 15px;
  z-index: 100000;
  overflow: hidden;
  height: 100px;
  color: rgba(47, 77, 48, 0.8); }
  .light-dark-switch:hover {
    color: #080e09; }
  .light-dark-switch.mode-light > .light-side {
    top: -80px;
    opacity: 1;
    color: transparent;
    transition: color 0.5s ease-in-out; }
    .light-dark-switch.mode-light > .light-side:hover {
      color: #000; }
  .light-dark-switch.mode-dark > .dark-side {
    top: 0;
    opacity: 1;
    color: transparent;
    transition: color 0.5s ease-in-out; }
    .light-dark-switch.mode-dark > .dark-side:hover {
      color: #fff; }
  .light-dark-switch > .dark-side, .light-dark-switch > .light-side {
    transition: all 1.5s ease-in-out;
    padding-top: 15px;
    position: relative;
    top: 80px;
    width: 40px;
    height: 80px;
    font-size: 3rem;
    text-align: center;
    opacity: 0;
    cursor: pointer; }
    .light-dark-switch > .dark-side .text, .light-dark-switch > .light-side .text {
      font-size: 1.2rem;
      display: block; }

/* Weaver Platform - Core */
html {
  background-color: var(--color-background); }

body {
  background: var(--color-background);
  color: var(--color-foreground);
  font-size: 1.8rem;
  margin: 0px; }
  body.mode-dark, body.mode-light {
    transition: color 2s ease-in-out, background-color 2s ease-in-out; }

/* Weaver Platform - Core - Color */
/* Weaver Platform - Layout */
/* Weaver Platform - Core */
html {
  background-color: var(--color-background); }

body {
  background: var(--color-background);
  color: var(--color-foreground);
  font-size: 1.8rem;
  margin: 0px; }
  body.mode-dark, body.mode-light {
    transition: color 2s ease-in-out, background-color 2s ease-in-out; }

/* Weaver Platform - Core - Color */
/* Weaver Platform - Layout - Website */
/* Weaver Platform - Website - Artciles */
.title-area {
  display: block;
  margin: 0 15px;
  padding: 0; }

div.title-wrapper {
  display: flex;
  flex-direction: row;
  align-self: center;
  align-items: center;
  align-content: center; }
  div.title-wrapper .title-with-subtitle {
    width: 100%; }

div.gallery-carousel-body div.title-with-subtitle {
  margin: auto; }

div.title-with-subtitle > .h2base > h2 {
  margin: 0 0 0 0; }

div.title-with-subtitle > .h2base > h3 {
  margin: 0 0 10px 0;
  opacity: 0.8;
  color: color-mix(in srgb, #2f4d30, var(--color-foreground) 5%) !important; }

div.title-with-subtitle > .h3base h3 {
  margin: 0 0 0 0; }

div.title-with-subtitle > .h3base h4 {
  margin: 0 0 10px 0;
  opacity: 0.8;
  color: color-mix(in srgb, #2f4d30, var(--color-foreground) 28%) !important; }

.title-block h2,
.title-block h3,
.title-block h4 {
  display: block;
  width: 100%;
  border: 1px transparent solid; }

.title-block .counter-box {
  margin-right: 10px;
  background: #2f4d30;
  border: 3px color-mix(in srgb, #2f4d30, var(--color-background) 85%) double;
  color: color-mix(in srgb, #2f4d30, var(--color-background) 85%);
  font-size: 5rem;
  line-height: 4rem;
  font-weight: 800;
  padding: 2px 10px; }

.title-block a .icon,
.title-block .icon {
  color: color-mix(in srgb, #2f4d30, var(--color-background) 70%) !important;
  float: right;
  margin: 0 0 10px 5px; }

ul.summary-subpages {
  display: flex;
  flex-wrap: wrap; }
  ul.summary-subpages li {
    flex: 1;
    flex-flow: row wrap;
    max-width: 20%; }
    ul.summary-subpages li.featured {
      min-width: 400px;
      max-width: 40%;
      flex: 2; }

ul.articles.no-subtitle .h2base h3 {
  display: none; }

ul.articles.no-subtitle .h3base h4 {
  display: none; }

ul.articles.summary-no-descrption div.title div.description,
ul.articles.summary-no-descrption div.description,
ul.articles.summary-no-descrption div.description p,
ul.articles.summary-no-descrptions div.title div.description,
ul.articles.summary-no-descrptions div.description,
ul.articles.summary-no-descrptions div.description p,
ul.articles.no-description div.title div.description,
ul.articles.no-description div.description,
ul.articles.no-description div.description p,
ul.articles.no-descriptions div.title div.description,
ul.articles.no-descriptions div.description,
ul.articles.no-descriptions div.description p {
  display: none !important;
  opacity: 0 !important; }

ul.articles.small-description div.title div.description,
ul.articles.small-description div.description,
ul.articles.small-description div.description p {
  font-size: 1.5rem;
  font-weight: 600;
  font-style: italic;
  opacity: 0.75 !important; }

ul.articles.summary-no-icons .icons,
ul.articles.summary-no-icons .icon,
ul.articles.no-icons .icons,
ul.articles.no-icons .icon {
  display: none; }

ul.articles.no-image img,
ul.articles.no-image .thumb-container,
ul.articles.no-image .thumb-container-image,
ul.articles.no-image .article-summary-image-container,
ul.articles.mini img,
ul.articles.mini .thumb-container,
ul.articles.mini .thumb-container-image,
ul.articles.mini .article-summary-image-container,
ul.articles.summary-mini img,
ul.articles.summary-mini .thumb-container,
ul.articles.summary-mini .thumb-container-image,
ul.articles.summary-mini .article-summary-image-container {
  display: none !important; }

ul.articles.summary-tiny .description {
  display: none; }

ul.articles.summary-tiny img {
  display: none; }

ul.articles.summary-links,
ul.articles.summary-icons {
  display: inline-block;
  margin-bottom: 40px;
  vertical-align: middle; }
  ul.articles.summary-links .icon,
  ul.articles.summary-icons .icon {
    display: none; }
  ul.articles.summary-links.summary-icons .icon,
  ul.articles.summary-icons.summary-icons .icon {
    display: block; }
  ul.articles.summary-links > li,
  ul.articles.summary-icons > li {
    gap: 20px;
    vertical-align: middle;
    flex-wrap: nowrap;
    max-width: 100%;
    background: none;
    width: auto;
    text-align: center; }
    ul.articles.summary-links > li .article-summary-container,
    ul.articles.summary-icons > li .article-summary-container {
      max-width: 100%;
      width: auto;
      text-align: center; }
    ul.articles.summary-links > li h4,
    ul.articles.summary-links > li .text,
    ul.articles.summary-icons > li h4,
    ul.articles.summary-icons > li .text {
      text-wrap: nowrap;
      text-align: center;
      vertical-align: middle;
      padding-top: 3px; }
    ul.articles.summary-links > li .thumb-container,
    ul.articles.summary-icons > li .thumb-container {
      display: none; }
    ul.articles.summary-links > li .icon,
    ul.articles.summary-icons > li .icon {
      color: var(--color-foreground) !important;
      opacity: 0.3; }
    ul.articles.summary-links > li .description,
    ul.articles.summary-icons > li .description {
      display: none; }
  ul.articles.summary-links li:last-child:after,
  ul.articles.summary-icons li:last-child:after {
    content: ""; }

@media (min-width: 300px) {
  main.subpage .photos,
  main.taxonomy .photos,
  main.term .photos {
    display: none; }
  main.subpage hr,
  main.taxonomy hr,
  main.term hr {
    clear: both;
    border: none;
    color: color-mix(in srgb, #2f4d30, var(--color-background) 90%);
    background: color-mix(in srgb, #2f4d30, var(--color-background) 90%) !important;
    height: 1px;
    margin: 10px 0 50px 0; }
  ul.articles > li h4,
  ul.articles > li h5,
  ul.articles.summary-blocks ul.articles.summary-default > li h4,
  ul.articles.summary-blocks ul.articles.summary-default > li h5 {
    opacity: 0.6 !important; }
  ul.articles > li.featured,
  ul.articles.summary-blocks ul.articles.summary-default > li.featured {
    min-width: 30% !important; }
  ul.articles ul.articles,
  ul.articles ul.articles.summary-default,
  ul.articles.summary-blocks ul.articles.summary-default ul.articles,
  ul.articles.summary-blocks ul.articles.summary-default ul.articles.summary-default {
    display: block; }
    ul.articles ul.articles > li,
    ul.articles ul.articles.summary-default > li,
    ul.articles.summary-blocks ul.articles.summary-default ul.articles > li,
    ul.articles.summary-blocks ul.articles.summary-default ul.articles.summary-default > li {
      width: 100% !important;
      max-width: 100% !important; } }

@media (min-width: 600px) {
  main.taxonomy .photos,
  main.term .photos {
    display: none; }
  ul.articles,
  ul.articles.summary-default {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    align-items: stretch;
    align-self: stretch;
    align-items: stretch;
    align-content: stretch;
    justify-content: stretch;
    justify-items: stretch;
    justify-self: stretch;
    flex-flow: row wrap;
    list-style: none;
    justify-content: last baseline; }
    ul.articles > li,
    ul.articles.summary-default > li {
      width: 45% !important;
      min-width: 45% !important;
      max-width: 45% !important; } }

@media (min-width: 1200px) {
  main.taxonomy .photos,
  main.term .photos {
    display: block;
    float: right;
    padding: 0 0 100px 100px;
    display: block;
    overflow: hidden;
    max-width: calc(max(28%, 42vw, 630px)); }
    main.taxonomy .photos img,
    main.term .photos img {
      float: right;
      max-width: calc(max(25%, 40vw, 600px));
      object-fit: cover;
      object-position: center center; }
  ul.articles > li,
  ul.articles.summary-default > li {
    width: 33%;
    min-width: clamp(250px, 12%, 25%);
    max-width: clamp(250px, 25%, 33%); } }

main.subpage h1 {
  padding: 30px 0 0 0 !important;
  font-size: 1.8rem;
  margin: 0; }

main.subpage h2 {
  font-size: 2.2rem;
  font-weight: 200;
  color: #000; }

main.subpage h1,
main.subpage h2,
main.subpage h3,
main.subpage h4,
main.subpage h5 {
  margin: 0 0 5px 0; }

main.subpage .two-column {
  max-width: clamp(200px, 49%, 600px) !important; }

main.subpage .three-column {
  max-width: clamp(200px, 31%, 300px) !important; }

main.subpage .responsive-row {
  margin-top: 25px;
  display: flex;
  gap: 30px;
  flex-wrap: wrap; }
  main.subpage .responsive-row .responsive-column {
    margin-left: 0;
    min-width: 300px;
    max-width: clamp(200px, 49%, 600px); }

main.subpage article {
  max-width: 1200px;
  margin: 0 auto; }

.subpages .title-block h4 {
  margin: 0 0 10px 0 !important; }

.subpages .title-wrapper,
.subpages .article-summary-text span,
.subpages .article-summary-description {
  padding: 0 10px; }

ul.articles.fade li {
  background: linear-gradient(0deg, color-mix(in srgb, #2f4d30, var(--color-background) 99%), color-mix(in srgb, #2f4d30, var(--color-background) 77%)); }

ul.articles.caption li {
  border-left: 25px solid #2f4d30; }

ul.articles.wide {
  display: block !important;
  width: 100% !important; }
  ul.articles.wide li {
    width: 100% !important;
    max-width: 100% !important; }

ul.articles {
  margin: 0;
  padding: 0; }
  ul.articles li .article-summary-image-container {
    aspect-ratio: 16 / 9; }
  ul.articles li.featured {
    min-height: 400px; }
    ul.articles li.featured .article-summary-image-container {
      max-height: 400px; }
    ul.articles li.featured .thumb-container-image {
      height: auto; }
      ul.articles li.featured .thumb-container-image img {
        width: 100%;
        height: 100%;
        object-position: center;
        object-fit: cover;
        aspect-ratio: 16 / 9;
        overflow: hidden; }
  ul.articles li {
    color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%);
    font-size: 2.1rem;
    font-weight: 500;
    padding: 0;
    flex: 1;
    flex-flow: row wrap;
    min-width: calc(min(250px, 25%));
    max-width: 100%;
    overflow: hidden; }
    ul.articles li .article-summary-image-container {
      max-height: 400px; }
    ul.articles li span {
      color: #080e09;
      font-weight: 800; }
    ul.articles li .article-summary-container {
      overflow: hidden;
      width: 100%;
      max-height: 800px;
      padding: 0; }
      ul.articles li .article-summary-container div.icon {
        color: var(--color-foreground);
        float: right;
        font-size: 3.5rem;
        padding: 5px 0 5px 10px; }
      ul.articles li .article-summary-container .article-summary-image-container {
        display: block;
        border: 10px transparent solid; }
        ul.articles li .article-summary-container .article-summary-image-container:hover {
          color: #568c57 !important;
          border-color: #568c57 !important; }
        ul.articles li .article-summary-container .article-summary-image-container .thumb-container a .thumb-container-image {
          overflow: hidden; }
          ul.articles li .article-summary-container .article-summary-image-container .thumb-container a .thumb-container-image img {
            transition: all 12s;
            width: 100%;
            height: 100%;
            aspect-ratio: 16 / 9;
            object-position: center center;
            object-fit: cover;
            transform: scale(1.6); }
            ul.articles li .article-summary-container .article-summary-image-container .thumb-container a .thumb-container-image img:hover {
              transform: scale(1.4);
              filter: grayscale(0%); }
    ul.articles li .article-summary-container[data-links-count="0"] a {
      color: #000; }
    ul.articles li li:last-child {
      border-right: 1px solid #2f4d30; }
    ul.articles li.featured {
      min-width: 400px;
      max-width: 100%;
      flex: 2; }
    ul.articles li .article-draft {
      float: right;
      font-size: 4.0rem;
      padding: 0 10px 10px 10px; }
    ul.articles li .article-summary-count h2 {
      font-size: 6.2rem;
      color: #2f4d30; }
    ul.articles li .article-summary-count.show {
      display: block; }
    ul.articles li .article-summary-count.hide {
      display: none; }
    ul.articles li .article-summary-pages {
      float: display none; }
      ul.articles li .article-summary-pages a,
      ul.articles li .article-summary-pages a div {
        color: #909090 !important; }
    ul.articles li .article-summary-text:hover .article-summary-image-container {
      border-color: #2f4d30; }
    ul.articles li .article-summary-text:hover .article-summary-text-title {
      transition: all 300ms;
      background: linear-gradient(color-mix(in srgb, #2f4d30, var(--color-background) 65%), color-mix(in srgb, #2f4d30, transparent 97%)); }
      ul.articles li .article-summary-text:hover .article-summary-text-title a {
        font-size: 2rem;
        transition: all 300ms; }
        ul.articles li .article-summary-text:hover .article-summary-text-title a h3 {
          transition: all 300ms;
          color: black !important; }
    ul.articles li .article-summary-text .article-summary-text-title {
      display: block;
      padding: 5px 10px; }
      ul.articles li .article-summary-text .article-summary-text-title a {
        font-size: 2rem; }
        ul.articles li .article-summary-text .article-summary-text-title a h3 {
          color: #2f4d30 !important; }
    ul.articles li .article-summary-text .article-summary-image-container {
      border: 10px transparent solid; }
  ul.articles a {
    font-size: 2.5rem; }
  ul.articles .featured .article-summary-image-container {
    max-height: 240px; }
  ul.articles .article-summary-image-container {
    margin: auto;
    aspect-ratio: 16 / 9;
    max-height: 200px;
    width: 100%;
    overflow: hidden; }
    ul.articles .article-summary-image-container img {
      display: block;
      width: 100%;
      aspect-ratio: 16 / 9;
      object-position: center;
      object-fit: cover; }

.primary ul.articles li {
  background: linear-gradient(0deg, color-mix(in srgb, #2f4d30, var(--color-background) 15%), color-mix(in srgb, #2f4d30, var(--color-background) 30%));
  color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%);
  padding: 10px; }
  .primary ul.articles li .icon {
    color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%) !important; }
  .primary ul.articles li h4 {
    color: #080e09 !important; }

.alternative ul.articles li {
  background: linear-gradient(0deg, color-mix(in srgb, #2f4d30, var(--color-background) 15%), color-mix(in srgb, #2f4d30, var(--color-background) 30%));
  color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%);
  padding: 10px; }
  .alternative ul.articles li .icon {
    color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%) !important; }
  .alternative ul.articles li h4 {
    color: #080e09 !important; }

.summary-nav li {
  border-radius: 20px; }
  .summary-nav li a {
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    color: black;
    padding: 20px; }
  .summary-nav li span.icon {
    display: block;
    position: relative; }
    .summary-nav li span.icon span {
      display: block;
      position: absolute;
      top: -130px;
      text-align: center;
      width: 100%;
      font-size: 18rem;
      opacity: 0.1; }
  .summary-nav li span.title {
    display: block;
    font-size: 3rem;
    line-height: 2rem;
    margin: 0;
    padding: 0; }
  .summary-nav li span.number {
    display: block;
    font-size: 8rem;
    line-height: 6rem;
    margin: 0 0 30px 0;
    padding: 0; }
  .summary-nav li.current span {
    color: #8eba8f; }
  .summary-nav li.current a {
    background: #2f4d30;
    color: #8eba8f; }

.photos aside img {
  float: right;
  width: calc(max(25%, 350px)); }

main.taxonomy section:first-child article:first-child > div > .thumb-container .thumb-container-image {
  overflow: hidden; }
  main.taxonomy section:first-child article:first-child > div > .thumb-container .thumb-container-image img {
    float: right;
    max-width: 50%;
    padding: 0 35px 35px 35px; }

.gallery-carousel-body {
  margin: 0 auto;
  max-width: 1800px; }

.carousel-pagination {
  position: relative;
  padding: 5px 0 0 0 !important; }

.gallery-carousel-body li .thumb-container,
.gallery-carousel-item .thumb-container {
  height: 100%;
  width: 100%;
  border: 4px transparent solid;
  text-align: center; }
  .gallery-carousel-body li .thumb-container img,
  .gallery-carousel-item .thumb-container img {
    object-position: center;
    object-fit: cover; }
  .gallery-carousel-body li .thumb-container:hover,
  .gallery-carousel-item .thumb-container:hover {
    border-color: #568c57; }

.gallery-carousel-body li .title-block .title-with-subtitle div,
.gallery-carousel-item .title-block .title-with-subtitle div {
  margin: 0 auto;
  padding: 0 10px;
  text-align: center; }

.primary .gallery-carousel-body li .thumb-container:hover,
.primary .gallery-carousel-item .thumb-container:hover {
  border-color: #8eba8f; }

.gallery-carousel-footer {
  margin-top: 20px; }

/* Weaver Platform - Website - Breadcrumb */
.breadcrumb {
  padding-top: 30px;
  background: transparent;
  font-size: 1.2em;
  margin-bottom: 25px; }
  .breadcrumb ol,
  .breadcrumb ul {
    background: transparent;
    padding-left: 0;
    margin: 0; }
    .breadcrumb ol > li,
    .breadcrumb ul > li {
      display: inline; }
    .breadcrumb ol > li:not(:last-child)::after,
    .breadcrumb ul > li:not(:last-child)::after {
      content: "»"; }

.subpage .breadcrumb {
  padding-top: 20px; }

.terms-list {
  display: block; }
  .terms-list .title-block .icon {
    padding: 0 10px 10px 10px !important; }
  .terms-list ul.articles {
    display: flex;
    flex-wrap: wrap; }
    .terms-list ul.articles li {
      min-width: clamp(300px, 25%, 50%) !important; }
    .terms-list ul.articles li.featured {
      min-width: clamp(300px, 25%, 50%) !important; }
  .terms-list ul.articles {
    display: flex;
    flex-wrap: wrap;
    width: 100% !important;
    justify-content: stretch !important;
    justify-items: stretch !important;
    justify-self: stretch !important; }
    .terms-list ul.articles .article-summary-item {
      max-width: 100% !important;
      min-width: calc(max(24%, 300px)) !important; }
  .terms-list .term-title {
    width: 95%;
    padding: 0 0 10px 10px;
    overflow: hidden; }
  .terms-list .featured .icon.icon-size-2 i {
    font-size: 15.5rem !important; }
  .terms-list .featured .icon.icon-size-3 i {
    font-size: 10.5rem !important; }
  .terms-list > div.title > div > .icon {
    float: right;
    opacity: 0.2;
    clear: both; }
    .terms-list > div.title > div > .icon.icon-size-2 {
      font-size: 3.7rem; }
  .terms-list .thumb-container:first-child {
    overflow: hidden;
    display: block !important; }
  .terms-list .thumb-container {
    display: none !important;
    height: 100%;
    width: 100%; }
  .terms-list .thumb-container-image {
    vertical-align: middle;
    height: 100%;
    width: 100%;
    overflow: hidden; }
    .terms-list .thumb-container-image img {
      opacity: 1.0;
      transition: all 6.9s ease-in-out;
      overflow: hidden;
      height: 100%;
      width: 100%;
      object-position: center;
      object-fit: cover;
      transform: scale(1.2); }
    .terms-list .thumb-container-image:hover {
      padding: 0; }
      .terms-list .thumb-container-image:hover img {
        filter: grayscale(0%);
        transform: scale(1); }
  .terms-list.terms-list-logos ul > li:last-child {
    margin-right: 0; }
  .terms-list.terms-list-logos ul > li .thumb-container-image {
    display: inline-block;
    vertical-align: middle;
    height: 75px;
    padding: 10px;
    overflow: hidden; }
    .terms-list.terms-list-logos ul > li .thumb-container-image:hover {
      padding: 0;
      border: none !important; }
      .terms-list.terms-list-logos ul > li .thumb-container-image:hover img {
        opacity: 1.0;
        filter: grayscale(0%);
        transform: scale(1.2) !important;
        aspect-ratio: auto !important; }
    .terms-list.terms-list-logos ul > li .thumb-container-image img {
      border: none !important;
      object-position: center;
      object-fit: contain;
      filter: grayscale(100%);
      opacity: 0.8;
      transform: scale(1) !important;
      aspect-ratio: auto !important; }
  .terms-list.terms-list-logos ul > li .icon,
  .terms-list.terms-list-logos ul > li .description,
  .terms-list.terms-list-logos ul > li h4 {
    display: none; }

.panel.responsive-row.responsive-row-links,
.terms-list-links {
  display: inline-block; }
  .panel.responsive-row.responsive-row-links > ul,
  .terms-list-links > ul {
    display: inline-block; }
  .panel.responsive-row.responsive-row-links .icon,
  .terms-list-links .icon {
    display: block; }
  .panel.responsive-row.responsive-row-links div.responsive-column, .panel.responsive-row.responsive-row-links > ul > .article-summary-item,
  .terms-list-links div.responsive-column,
  .terms-list-links > ul > .article-summary-item {
    display: inline-block;
    vertical-align: middle;
    width: inherit !important; }
    .panel.responsive-row.responsive-row-links div.responsive-column h4, .panel.responsive-row.responsive-row-links > ul > .article-summary-item h4,
    .terms-list-links div.responsive-column h4,
    .terms-list-links > ul > .article-summary-item h4 {
      font-size: 1.8rem;
      font-weight: 500; }

.panel.responsive-row.responsive-row-cards div.responsive-column, .panel.responsive-row.responsive-row-cards > ul > .article-summary-item,
.terms-list-cards div.responsive-column,
.terms-list-cards > ul > .article-summary-item {
  padding: 20px 40px;
  border: 5px #2f4d30 solid;
  border-radius: 10px; }

.panel.responsive-row.responsive-row-cards img,
.terms-list-cards img {
  aspect-ratio: 9 / 3; }

.light .panel.responsive-row.responsive-row-blocks div.responsive-column, .light .panel.responsive-row.responsive-row-blocks > ul > .article-summary-item,
.light .terms-list-blocks div.responsive-column,
.light .terms-list-blocks > ul > .article-summary-item {
  padding: 10px;
  background: linear-gradient(0deg, color-mix(in srgb, #2f4d30, var(--color-background) 99%), color-mix(in srgb, #2f4d30, var(--color-background) 92%)) !important; }

.dark .panel.responsive-row.responsive-row-blocks div.responsive-column, .dark .panel.responsive-row.responsive-row-blocks > ul > .article-summary-item,
.dark .terms-list-blocks div.responsive-column,
.dark .terms-list-blocks > ul > .article-summary-item {
  padding: 10px;
  background: linear-gradient(0deg, color-mix(in srgb, #2f4d30, var(--color-background) 99%), color-mix(in srgb, #2f4d30, var(--color-background) 74%)) !important; }
  .dark .panel.responsive-row.responsive-row-blocks div.responsive-column img, .dark .panel.responsive-row.responsive-row-blocks > ul > .article-summary-item img,
  .dark .terms-list-blocks div.responsive-column img,
  .dark .terms-list-blocks > ul > .article-summary-item img {
    aspect-ratio: 9 / 8; }

@media (min-width: 300px) {
  /* portrait tablets, portrait iPad, e-readers (Nook/Kindle), landscape 1000x480 phones (Android) */
  .responsive-row {
    display: block;
    margin: none; }
    .responsive-row .responsive-column {
      margin: none;
      max-width: 100%; }
      .responsive-row .responsive-column p,
      .responsive-row .responsive-column h2,
      .responsive-row .responsive-column h3,
      .responsive-row .responsive-column h4 {
        display: block; } }

@media (min-width: 1200px) {
  .responsive-row {
    display: flex;
    flex-direction: row;
    gap: calc(clamp(25px, 3.5%, 125px));
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: stretch;
    max-width: 3500px;
    margin: auto; } }

.responsive-row .responsive-column {
  flex: 1 2 500px;
  font-size: 1.8rem; }
  .responsive-row .responsive-column .responsive-column-inner {
    color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%); }
    .responsive-row .responsive-column .responsive-column-inner .photo-credit {
      max-width: 100%; }

.contact-company {
  display: flex;
  background: #253d26;
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px; }
  .contact-company ul {
    list-style: none; }
    .contact-company ul > li.contact-legal-name {
      color: #fff; }
      .contact-company ul > li.contact-legal-name p {
        color: #fff;
        font-weight: 500 !important;
        margin: 0 !important;
        padding: 0 !important; }
        .contact-company ul > li.contact-legal-name p a {
          color: #5f9c61; }
          .contact-company ul > li.contact-legal-name p a:hover {
            color: black; }
    .contact-company ul > li a {
      color: #8eba8f; }
      .contact-company ul > li a:hover {
        color: white; }

.contact-info {
  flex: 1; }

.footer-social {
  width: 100% !important; }
  .footer-social .contact-social p {
    width: 100% !important;
    margin: 0 auto 30px auto !important; }
  .footer-social .contact-social .contact-social-icons {
    flex: 1;
    display: flex;
    margin: 0;
    padding: 30px;
    list-style: none;
    align-items: center;
    align-self: center;
    align-content: center;
    justify-content: center;
    justify-items: center;
    justify-self: center;
    height: 100px;
    min-height: 120px;
    font-size: 4.0rem; }
    .footer-social .contact-social .contact-social-icons li {
      font-size: 6rem;
      text-align: center;
      padding: 0 20px; }
      .footer-social .contact-social .contact-social-icons li a {
        color: #6ea770; }
        .footer-social .contact-social .contact-social-icons li a:hover {
          color: white; }
      .footer-social .contact-social .contact-social-icons li span.title {
        margin: 10px 0 0 0;
        display: block;
        font-size: 1.8rem;
        text-align: center; }
    .footer-social .contact-social .contact-social-icons span {
      display: none; }

.warning {
  display: flex;
  padding: 0 15px 15px 15px; }
  .warning h2,
  .warning p {
    margin: 0;
    padding: 0;
    color: red; }
  .warning p {
    padding: 5px 0 0 5px; }

.footer-social .contact-social {
  display: block; }
  .footer-social .contact-social p {
    margin: 10px 0 0 0;
    padding: 0;
    display: block;
    height: 15px;
    font-size: 1.5rem;
    text-align: center;
    color: #6ea770;
    letter-spacing: 3px; }

form fieldset {
  margin: 10px;
  padding: 25px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 15px; }
  form fieldset .field-control {
    display: flex;
    flex-direction: row;
    margin-bottom: 15px; }
    form fieldset .field-control legend {
      padding: 0 25px; }
    form fieldset .field-control label {
      padding: 2px 25px; }
    form fieldset .field-control.wide {
      flex: 1 1 100%; }

form input[type="text"],
form input[type="email"],
form input[type="tel"],
form input[type="url"],
form textarea {
  padding: 10px;
  border-radius: 10px; }

form input[type="submit"] {
  float: right;
  text-align: right;
  margin-top: 25px;
  padding: 10px 25px;
  border-radius: 15px;
  border: none;
  background: #2f4d30;
  color: #fff; }

.light form fieldset {
  border-color: #2f4d30; }

.light form input[type="text"],
.light form input[type="email"],
.light form input[type="tel"],
.light form input[type="url"],
.light form textarea {
  background: black;
  color: #2f4d30;
  background: #ddeade;
  border: 1px #8eba8f solid; }
  .light form input[type="text"]:focus,
  .light form input[type="email"]:focus,
  .light form input[type="tel"]:focus,
  .light form input[type="url"]:focus,
  .light form textarea:focus {
    background: #426d44;
    border: #bdd7be;
    outline-color: #5f9c61;
    color: #fff; }

.light form input[type="submit"] {
  background: #2f4d30;
  color: #fff; }

@media (min-device-width: 320px) and (max-device-width: 800px) {
  body > main.contact-us article > .responsive-row {
    flex-direction: column-reverse !important; } }

/* Weaver Platform - Website - Container */
.container > img {
  width: 100%; }

article > blockquote,
.review > blockquote {
  display: flex;
  height: auto;
  min-height: 150px;
  max-height: 0;
  margin: 0;
  padding: 0; }

.debug {
  display: none;
  opacity: 0.02;
  width: 100%;
  position: fixed;
  bottom: 0;
  transition: all 0.5s ease-in-out;
  text-shadow: -1px -1px 0 #253d26, 1px -1px 0 #253d26, -1px 1px 0 #253d26, 1px 1px 0 #253d26;
  color: white;
  padding: 5px;
  font-size: 3.5rem;
  font-weight: 800;
  text-align: right; }
  .debug:hover {
    opacity: 0.5;
    color: #6ea770; }

.page .photos,
.kind-page .photos {
  display: none; }

/* Weaver Platform - Website - Effects */
header div.top-nav {
  transition: all 1.5s;
  z-index: 13000;
  background: transparent;
  color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%);
  border-color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%);
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important; }
  header div.top-nav a {
    transition: all 0.2s;
    color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%);
    border-color: transparent; }
    header div.top-nav a .current {
      border-color: #5f9c61; }
    header div.top-nav a:hover {
      color: #5f9c61;
      border-color: #5f9c61; }
    header div.top-nav a.button {
      border-color: #5f9c61; }
    header div.top-nav a.button:active {
      margin-top: 1px;
      border-color: #5f9c61; }
  header div.top-nav.highlight {
    background: #5f9c61;
    color: #5f9c61;
    border-color: transparent; }
    header div.top-nav.highlight a {
      color: #5f9c61; }
      header div.top-nav.highlight a .current {
        border-color: #5f9c61; }
  header div.top-nav.footer {
    background: white;
    color: #a6c3c3; }
    header div.top-nav.footer a {
      color: #a6c3c3; }
      header div.top-nav.footer a .current {
        border-color: #281904; }
  header div.top-nav.black {
    background: #5f9c61;
    color: #568c57; }
    header div.top-nav.black a {
      color: #568c57; }
      header div.top-nav.black a .current {
        border-color: black; }
      header div.top-nav.black a.button {
        border-bottom: 2px black solid; }
      header div.top-nav.black a.button:hover {
        cursor: hand;
        background: rgba(0, 0, 0, 0.1); }
      header div.top-nav.black a.button:active {
        margin-top: 1px;
        border-bottom: 1px black solid; }
  header div.top-nav.frosted-glass {
    background: linear-gradient(white, rgba(255, 255, 255, 0.8)); }
    header div.top-nav.frosted-glass a {
      color: #080e09; }
      header div.top-nav.frosted-glass a.current {
        color: black !important;
        border-color: black !important; }
      header div.top-nav.frosted-glass a:hover {
        color: black;
        border-color: black; }
      header div.top-nav.frosted-glass a.button {
        border-bottom: 2px black solid; }
      header div.top-nav.frosted-glass a.button:hover {
        cursor: hand;
        background: rgba(0, 0, 0, 0.1); }
      header div.top-nav.frosted-glass a.button:active {
        margin-top: 1px;
        border-bottom: 1px black solid; }
  header div.top-nav.dark-glass-off {
    background: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)); }
  header div.top-nav.dark-glass {
    background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)); }
    header div.top-nav.dark-glass ul.sub-menu {
      background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.6)) !important;
      backdrop-filter: blur(8px) !important;
      -webkit-backdrop-filter: blur(8px) !important; }
      header div.top-nav.dark-glass ul.sub-menu > li {
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important; }
        header div.top-nav.dark-glass ul.sub-menu > li:hover {
          background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)) !important; }
    header div.top-nav.dark-glass a {
      font-weight: 400;
      text-shadow: 1px 1px 2px rgba(133, 203, 245, 0.4);
      color: #bdd7be !important; }
      header div.top-nav.dark-glass a.current {
        color: #bdd7be !important;
        border-color: ligten(#2f4d30, 55%) !important; }
      header div.top-nav.dark-glass a:hover {
        color: #bdd7be;
        border-color: #7eb080; }
      header div.top-nav.dark-glass a.button {
        color: ligten(#2f4d30, 55%) !important;
        border: 1px rgba(0, 0, 0, 0.5) solid !important;
        border-bottom: 2px rgba(0, 0, 0, 0.5) solid !important; }
      header div.top-nav.dark-glass a.button:hover {
        cursor: hand;
        background: rgba(0, 0, 0, 0.1); }
      header div.top-nav.dark-glass a.button:active {
        margin-top: 1px;
        border: 1px rgba(0, 0, 0, 0.5) solid !important;
        border-bottom: 1px rgba(0, 0, 0, 0.5) solid !important; }

/* Weaver Platform - Website - Footer */
footer {
  border-top: 3px solid transparent;
  background: #c5d7d7;
  color: #97b8b8;
  padding: 0; }
  footer .footer-logo {
    text-align: center;
    padding: 30px;
    font-size: 20px;
    color: #e3ecec; }
  footer .footer-copyright {
    margin: 0;
    padding: 0 0 0 0;
    text-align: center;
    font-size: 1.4rem;
    background: transparent;
    color: white; }
  footer .footer-sitemap {
    margin: 0;
    padding: 0 0 30px 0;
    text-align: center;
    font-size: 1.4rem; }
    footer .footer-sitemap a {
      color: #97b8b8;
      text-transform: uppercase;
      font-size: 1.4rem; }
      footer .footer-sitemap a:hover {
        color: #97b8b8; }
  footer .footer-links-container {
    margin: auto;
    margin: 0; }
    footer .footer-links-container nav {
      margin: auto;
      width: 100%; }
      footer .footer-links-container nav ul {
        margin: auto;
        width: 40%; }
        footer .footer-links-container nav ul li a {
          font-weight: bold; }
    footer .footer-links-container .footer-flex {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap; }
      footer .footer-links-container .footer-flex .footer-column {
        flex: 1;
        flex-basis: 30%;
        margin: 0 0 20px 0;
        text-align: center; }
        footer .footer-links-container .footer-flex .footer-column .footer-links {
          margin: 0;
          text-align: center; }
  footer p {
    color: #a6c3c3; }
  footer ul {
    margin: 0;
    padding: 0; }
    footer ul li {
      list-style-type: none;
      margin: 10px 0;
      line-height: 1.8rem; }
      footer ul li a {
        font-size: 1.3rem;
        text-decoration: none;
        color: #a6c3c3; }
        footer ul li a:hover {
          color: #a6c3c3; }
          footer ul li a:hover[href] {
            text-decoration: underline; }
  footer a {
    color: #97b8b8; }
    footer a:hover {
      color: #79a4a4; }
    footer a.term {
      text-transform: capitalize;
      color: #97b8b8 !important; }
  footer .footer-container {
    min-height: 200px; }
  footer .footer-social {
    margin: 90px 0; }
    footer .footer-social p {
      color: #8eba8f;
      font-weight: 600;
      font-size: 1.84rem !important;
      margin: 0 auto; }
    footer .footer-social ul.contact-social-icons li a {
      color: #aecdaf;
      font-size: 4.8rem !important; }
      footer .footer-social ul.contact-social-icons li a:hover {
        color: white; }

.dark footer .footer-search {
  margin: 30px 0 0 0;
  text-align: center;
  padding: 30px;
  font-size: 20px;
  color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important; }
  .dark footer .footer-search input {
    width: 60%;
    padding: 5px;
    border: 2px color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) solid !important;
    background: color-mix(in srgb, #2f4d30, var(--color-background) 50%) !important;
    color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important;
    outline: transparent !important; }
    .dark footer .footer-search input:hover {
      border-color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important;
      background: color-mix(in srgb, #2f4d30, var(--color-background) 50%) !important;
      color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important; }
    .dark footer .footer-search input:focus {
      color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important;
      outline: 2px color-mix(in srgb, #2f4d30, var(--color-background) 50%) solid !important;
      border: 2px color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) solid !important;
      background: color-mix(in srgb, #2f4d30, var(--color-background) 50%) !important; }
      .dark footer .footer-search input:focus::placeholder {
        color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important; }
    .dark footer .footer-search input::placeholder {
      color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important; }

.light footer .footer-search {
  margin: 30px 0 0 0;
  text-align: center;
  padding: 30px;
  font-size: 20px;
  color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important; }
  .light footer .footer-search input {
    width: 60%;
    padding: 5px;
    border: 2px color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) solid !important;
    background: color-mix(in srgb, #2f4d30, var(--color-background) 60%) !important;
    color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important;
    outline: transparent !important; }
    .light footer .footer-search input:hover {
      border-color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important;
      background: color-mix(in srgb, #2f4d30, var(--color-background) 50%) !important;
      color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important; }
    .light footer .footer-search input:focus {
      color: color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) !important;
      outline: 2px color-mix(in srgb, #2f4d30, var(--color-background) 50%) solid !important;
      border: 2px color-mix(in srgb, #2f4d30, var(--color-foreground) 50%) solid !important;
      background: color-mix(in srgb, #2f4d30, var(--color-background) 50%) !important; }
      .light footer .footer-search input:focus::placeholder {
        color: color-mix(in srgb, #2f4d30, var(--color-foreground) 80%) !important; }
    .light footer .footer-search input::placeholder {
      color: color-mix(in srgb, #2f4d30, var(--color-foreground) 80%) !important; }

.physical-map {
  background: #ccc url("/images/map.png");
  background-size: cover;
  height: 275px;
  border-top-left-radius: 25px;
  border-top-right-radius: 25px;
  overflow: hidden; }
  .physical-map div {
    border-top-left-radius: 25px;
    border-top-right-radius: 25px;
    overflow: hidden;
    backdrop-filter: sepia(60%);
    height: 275px;
    width: 100%; }

/* Weaver Platform - Website - Header */
.logo-wrapper {
  position: relative;
  z-index: 12000; }

.logo-wrapper:after {
  height: 10px;
  width: 10px; }

main {
  margin: 0 0 0 0;
  min-height: 50vh;
  max-width: 100vw;
  overflow: hidden; }

header {
  margin: 0 0 0 0;
  max-width: 100vw;
  overflow: hidden; }

main.kind-taxonomy article,
main.kind-taxonomy .for-more,
main.kind-term article,
main.kind-term .for-more {
  max-width: clamp(70%, 1600px, 90%);
  margin: 0 auto; }

/* Weaver Platform - Layout - Website - Links */
a {
  text-decoration: none;
  color: color-mix(in srgb, #ca7f15, var(--color-foreground) 15%); }
  a.primary {
    font-weight: bold;
    color: color-mix(in srgb, #2f4d30, var(--color-foreground) 15%); }
    a.primary:hover {
      color: color-mix(in srgb, #2f4d30, var(--color-background) 0%); }
  a.alternative {
    font-style: italic;
    color: color-mix(in srgb, #2f4d30, var(--color-foreground) 15%); }
    a.alternative:hover {
      color: color-mix(in srgb, #2f4d30, var(--color-background) 0%); }
  a:hover {
    color: color-mix(in srgb, #ca7f15, var(--color-background) 0%); }
    a:hover[href] {
      text-decoration: underline; }
    a:hover.h3base {
      text-decoration: none; }

nav a,
header a,
footer a {
  text-decoration: none !important; }
  nav a:hover,
  header a:hover,
  footer a:hover {
    text-decoration: none !important; }

a.button {
  text-decoration: none !important; }
  a.button:hover {
    text-decoration: none !important; }

/* Weaver Platform - Layout - Website - Modal */
#modal {
  display: none; }
  #modal.active {
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100vh;
    width: 100vw;
    z-index: 1000000;
    background: #000; }
    #modal.active div.logo {
      animation: fadeIn 2s;
      animation-delay: 1s;
      animation-timing-function: ease-in-out;
      animation-fill-mode: forwards; }
      #modal.active div.logo div.logo-inner img {
        max-width: 25%; }
    #modal.active > div {
      text-align: center;
      width: 100vw;
      height: 100vh;
      transform: translate(0%, 25%); }

/* Weaver Platform - Layout - Website - Navigation */
header.nav-darken {
  background: #000; }
  header.nav-darken .grid {
    background: rgba(0, 0, 0, 0.9); }

@media (min-width: 320px) {
  body {
    overflow-x: hidden; }
  .top-nav {
    height: 0px; }
  li.mobile-nav {
    text-decoration: none !important; }
    li.mobile-nav:hover {
      text-decoration: none !important; }
    li.mobile-nav a {
      padding: 15px 25px !important;
      font-size: 5rem !important;
      text-decoration: none !important;
      color: rgba(0, 0, 0, 0.8) !important;
      border-bottom: none;
      border-color: transparent; }
      li.mobile-nav a:hover {
        text-decoration: none !important;
        border-bottom: none;
        border-color: transparent !important;
        color: black !important; }
  main section > article {
    width: 100%; }
  /* smartphones, portrait iPhone, portrait 480x320 phones (Android) */
  header ul.mobile-nav-container {
    display: block !important; }
  header ul.website-nav-container {
    display: none !important; } }

@media (min-width: 480px) {
  /* smartphones, Android phones, landscape iPhone */
  main section > div {
    max-width: 95%;
    margin-left: auto;
    margin-right: auto; }
  body {
    width: 100%; } }

@media (min-width: 600px) {
  /* portrait tablets, portrait iPad, e-readers (Nook/Kindle), landscape 1000x480 phones (Android) */
  body {
    width: 100%; } }

@media (min-width: 801px) {
  /* tablet, landscape iPad, lo-res laptops ands desktops */ }

@media (min-width: 1025px) {
  /* big landscape tablets, laptops, and desktops */
  header div.mobile div.top-nav {
    display: none !important; }
  header ul.mobile-nav-container {
    display: none !important; }
  header ul.website-nav-container {
    display: block !important; }
  header .top-nav {
    height: auto; } }

@media (min-width: 1281px) {
  /* hi-res laptops and desktops */
  body h1 {
    max-width: 65%;
    margin-right: 10px; }
  body main section article {
    padding: 0 60px; } }

@media (min-width: 1500px) {
  body h1 {
    max-width: 50%;
    margin-right: 10px; } }

@media (min-width: 1800px) {
  /* hi-res laptops and desktops */
  body {
    width: 100%; }
    body h1 {
      max-width: 45%; }
    body.mode-dark > main, body.mode-dark > header, body.mode-light > main, body.mode-light > header {
      transition: color 2s ease-in-out, background-color 2s ease-in-out; }
    body > main, body > header {
      background: var(--color-background);
      color: var(--color-foreground); }
    body > main, body > header, body > footer, body > div.debug, body > div.foo {
      display: block;
      margin-left: auto;
      margin-right: auto; }
      body > main > section, body > header > section, body > footer > section, body > div.debug > section, body > div.foo > section {
        max-width: 100%;
        margin: auto; }
    body div.grid-container {
      width: 100%;
      margin-left: auto;
      margin-right: auto; }
      body div.grid-container > div.grid {
        max-width: 1800px !important;
        margin-left: auto;
        margin-right: auto; } }

div.hero-outer {
  max-width: 100%;
  overflow: hidden; }

div.hero-outer.subpage.gallery,
header.gallery div.hero-outer.subpage {
  height: 60px;
  overflow: hidden; }

header div.top-nav nav,
footer nav {
  display: inline-block; }
  header div.top-nav nav ol, header div.top-nav nav ul,
  footer nav ol,
  footer nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0; }
    header div.top-nav nav ol .children a, header div.top-nav nav ul .children a,
    footer nav ol .children a,
    footer nav ul .children a {
      color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%); }
      header div.top-nav nav ol .children a:hover, header div.top-nav nav ul .children a:hover,
      footer nav ol .children a:hover,
      footer nav ul .children a:hover {
        color: color-mix(in srgb, #2f4d30, var(--color-background) 85%);
        background: #2f4d30; }
    header div.top-nav nav ol li, header div.top-nav nav ul li,
    footer nav ol li,
    footer nav ul li {
      display: inline-block;
      vertical-align: middle;
      padding: 0;
      margin: 0 0 0 0;
      background: transparent; }
      header div.top-nav nav ol li a, header div.top-nav nav ul li a,
      footer nav ol li a,
      footer nav ul li a {
        display: inline-block;
        text-transform: uppercase;
        font-size: 1.45rem;
        border-bottom: 5px transparent solid;
        border-color: transparent; }
        header div.top-nav nav ol li a:hover, header div.top-nav nav ul li a:hover,
        footer nav ol li a:hover,
        footer nav ul li a:hover {
          color: #aecdaf;
          border-color: #aecdaf; }
        header div.top-nav nav ol li a.current, header div.top-nav nav ul li a.current,
        footer nav ol li a.current,
        footer nav ul li a.current {
          color: #568c57;
          border-color: #568c57; }
        header div.top-nav nav ol li a.button, header div.top-nav nav ul li a.button,
        footer nav ol li a.button,
        footer nav ul li a.button {
          font-size: 1.3rem;
          color: black;
          border: 1px black solid;
          border-radius: 4px;
          padding: 5px 15px 5px 15px; }
          header div.top-nav nav ol li a.button.hover, header div.top-nav nav ul li a.button.hover,
          footer nav ol li a.button.hover,
          footer nav ul li a.button.hover {
            background-color: #6e450b !important;
            border-color: #6e450b !important;
            color: #fcf1e2 !important; }

header div.top-nav nav.fat, header div.top-nav nav.dropdown,
footer nav.fat,
footer nav.dropdown {
  position: relative;
  z-index: 200000; }
  header div.top-nav nav.fat a, header div.top-nav nav.dropdown a,
  footer nav.fat a,
  footer nav.dropdown a {
    margin: 0 6px;
    padding: 15px 0; }
  header div.top-nav nav.fat ul > li, header div.top-nav nav.dropdown ul > li,
  footer nav.fat ul > li,
  footer nav.dropdown ul > li {
    padding: 0; }
  header div.top-nav nav.fat > ul > li > div.children, header div.top-nav nav.dropdown > ul > li > div.children,
  footer nav.fat > ul > li > div.children,
  footer nav.dropdown > ul > li > div.children {
    position: absolute;
    top: 0px !important;
    display: none; }
  header div.top-nav nav.fat > ul > li:hover > div.children, header div.top-nav nav.dropdown > ul > li:hover > div.children,
  footer nav.fat > ul > li:hover > div.children,
  footer nav.dropdown > ul > li:hover > div.children {
    display: block; }
  header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu,
  footer nav.fat > ul > li > div.children > ul.sub-menu,
  footer nav.dropdown > ul > li > div.children > ul.sub-menu {
    padding: 0;
    margin: 0;
    width: 250px;
    position: absolute;
    top: 56px;
    left: 0px;
    transition: color 2s ease-in-out, background-color 2s ease-in-out;
    background: color-mix(in srgb, #2f4d30, var(--color-background) 18%);
    color: var(--color-foreground);
    border: 1px #000 solid;
    z-index: 10000; }
    header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li,
    footer nav.fat > ul > li > div.children > ul.sub-menu > li,
    footer nav.dropdown > ul > li > div.children > ul.sub-menu > li {
      width: 100%; }
      header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > div.call-to-action-nav, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > div.call-to-action-nav,
      footer nav.fat > ul > li > div.children > ul.sub-menu > li > div.call-to-action-nav,
      footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > div.call-to-action-nav {
        margin: 0;
        padding: 0; }
        header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > div.call-to-action-nav > a, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > div.call-to-action-nav > a,
        footer nav.fat > ul > li > div.children > ul.sub-menu > li > div.call-to-action-nav > a,
        footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > div.call-to-action-nav > a {
          display: block;
          margin: 0;
          width: 100%;
          text-align: center; }
      header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li .children, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li .children,
      footer nav.fat > ul > li > div.children > ul.sub-menu > li .children,
      footer nav.dropdown > ul > li > div.children > ul.sub-menu > li .children {
        display: none; }
      header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li:hover > .children, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li:hover > .children,
      footer nav.fat > ul > li > div.children > ul.sub-menu > li:hover > .children,
      footer nav.dropdown > ul > li > div.children > ul.sub-menu > li:hover > .children {
        display: block; }
      header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li.current, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li.current,
      footer nav.fat > ul > li > div.children > ul.sub-menu > li.current,
      footer nav.dropdown > ul > li > div.children > ul.sub-menu > li.current {
        border-color: #f2c586;
        color: #ca7f15; }
      header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > .children, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children,
      footer nav.fat > ul > li > div.children > ul.sub-menu > li > .children,
      footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children {
        display: none;
        display: block;
        position: relative;
        top: -30px;
        left: 250px;
        transition: color 2s ease-in-out, background-color 2s ease-in-out;
        background: var(--color-background);
        color: var(--color-foreground);
        width: 100%;
        z-index: 200; }
        header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu,
        footer nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu,
        footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu {
          position: absolute;
          top: 0;
          left: -25px;
          transition: color 2s ease-in-out, background-color 2s ease-in-out;
          background: var(--color-background);
          color: var(--color-foreground);
          border: 1px black solid;
          padding: 0; }
          header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li,
          footer nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li,
          footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li {
            display: block;
            padding: 5px 15px; }
            header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li:hover > .children, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li:hover > .children,
            footer nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li:hover > .children,
            footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li:hover > .children {
              display: block; }
            header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li.current, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li.current,
            footer nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li.current,
            footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li.current {
              border-color: #f2c586 !important;
              color: #ca7f15 !important; }
            header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children,
            footer nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children,
            footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children {
              display: none;
              position: relative;
              top: -35px;
              left: 250px;
              transition: color 2s ease-in-out, background-color 2s ease-in-out;
              background: var(--color-background);
              color: var(--color-foreground);
              width: 100%;
              z-index: 200; }
              header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children > ul.sub-menu, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children > ul.sub-menu,
              footer nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children > ul.sub-menu,
              footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children > ul.sub-menu {
                position: absolute;
                top: 0;
                left: 0px; }
                header div.top-nav nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children > ul.sub-menu > li > div.call-to-action-nav > a, header div.top-nav nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children > ul.sub-menu > li > div.call-to-action-nav > a,
                footer nav.fat > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children > ul.sub-menu > li > div.call-to-action-nav > a,
                footer nav.dropdown > ul > li > div.children > ul.sub-menu > li > .children > ul.sub-menu > li > .children > ul.sub-menu > li > div.call-to-action-nav > a {
                  color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%); }

section .breadcrumbs ol,
section .breadcrumbs ul {
  margin: 25px 0 0 0;
  padding: 0; }

section .breadcrumbs .breadcrumb-length-0 {
  display: none; }

#hamburger-menu {
  transition: 1s all;
  display: none;
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.925);
  overflow: hidden;
  padding: 0 10px 0 0;
  z-index: 100000;
  color: #fff;
  text-align: right;
  font-size: 6rem; }
  #hamburger-menu.show {
    display: block; }
  #hamburger-menu .footer-logo {
    position: absolute;
    top: 90px;
    left: 0;
    z-index: 100000000000; }
    #hamburger-menu .footer-logo a {
      display: block;
      margin: 0 0 0 40px;
      min-width: 80px;
      max-width: 50%;
      text-decoration: none; }
  #hamburger-menu .children ul {
    padding: 0 0 15px 0; }
    #hamburger-menu .children ul li a {
      display: block;
      padding: 5px 15px 10px 0;
      font-size: 2rem; }
  #hamburger-menu ul {
    list-style: none;
    margin: 0;
    padding: 2px 0 0 0; }
    #hamburger-menu ul li {
      padding: 2px; }
      #hamburger-menu ul li a {
        display: block;
        padding: 13px;
        color: color-mix(in srgb, #2f4d30, var(--color-foreground) 85%);
        font-size: 4rem; }
        #hamburger-menu ul li a:hover {
          color: color-mix(in srgb, #2f4d30, var(--color-foreground) 55%); }
  #hamburger-menu a {
    color: rgba(57, 93, 58, 0.8); }
    #hamburger-menu a:hover {
      color: rgba(76, 125, 78, 0.9); }

header.hero div.logo-wrapper {
  aspect-ratio: 16 / 8; }

header.kind-section {
  margin: 420px 0 0 0; }
  header.kind-section div.hero-outer {
    max-height: 420px !important; }

div.logo-wrapper {
  aspect-ratio: 16 / 10;
  height: 100%; }
  div.logo-wrapper > div.logo {
    height: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    align-self: flex-end;
    align-content: flex-end; }
    div.logo-wrapper > div.logo > div.logo-inner {
      flex: 1;
      align-items: flex-end;
      align-self: flex-end;
      align-content: flex-end;
      aspect-ratio: 16 / 5;
      max-width: 80vw; }

/* Weaver Platform - Layout - Website - Section */
main.kind-term.reviews > section > article > div > p {
  display: block;
  clear: both; }
  main.kind-term.reviews > section > article > div > p:before {
    content: '“';
    float: left;
    font-size: 22rem;
    padding: 68px 5px 0 0;
    height: 40px;
    color: #2f4d30; }
  main.kind-term.reviews > section > article > div > p:after {
    content: '';
    clear: both; }

main.kind-term.reviews > section > article > div {
  clear: both; }

main.home-list > section h1 {
  color: color-mix(in srgb, #ca7f15, var(--color-foreground) 20%);
  padding-bottom: 25px; }

h1.taxonomy-list,
h1.taxonomy-term {
  color: #2f4d30; }

div.title {
  margin: 0 10px; }

div.title-with-icon {
  display: flex; }
  div.title-with-icon a {
    padding: 0 0px 0 5px; }

main > section.sitemap {
  margin: 0 0 60px 0; }
  main > section.sitemap .sitemap-section.hide,
  main > section.sitemap .sitemap-section-page.hide {
    display: none; }
  main > section.sitemap .sitemap-section.show,
  main > section.sitemap .sitemap-section-page.show,
  main > section.sitemap .sitemap-section.desc-show,
  main > section.sitemap .sitemap-section-page.desc-show {
    display: block; }
  main > section.sitemap .sitemap-search {
    position: relative;
    top: -80px;
    width: 100%; }
    main > section.sitemap .sitemap-search fieldset {
      border: none;
      margin: auto;
      width: 500px; }
      main > section.sitemap .sitemap-search fieldset input {
        background: rgba(0, 0, 0, 0.5);
        color: #5f9c61 !important;
        border: 1px #5f9c61 solid;
        padding: 10px;
        font-size: 2.5rem;
        width: 100%; }
      main > section.sitemap .sitemap-search fieldset label {
        display: block;
        color: #5f9c61;
        font-size: 1.2rem;
        text-align: center;
        text-transform: uppercase;
        width: 100%;
        background: rgba(0, 0, 0, 0.5); }
  main > section.sitemap div.icon {
    display: inline-block;
    width: 35px;
    padding-right: 5px;
    text-align: right;
    color: #2f4d30; }
  main > section.sitemap div.title {
    color: #2f4d30; }
  main > section.sitemap p {
    color: #121d12; }
  main > section.sitemap article.sitemap > ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 0 0px;
    padding: 0;
    list-style: none;
    border-left: 1px #2f4d30 solid;
    border-top: 1px #2f4d30 solid; }
    main > section.sitemap article.sitemap > ul:first-child {
      border-top: 1px #2f4d30 solid; }
    main > section.sitemap article.sitemap > ul > li {
      flex-grow: 4;
      flex-shrink: 1;
      min-width: 17%;
      max-width: 50%;
      font-size: 2.8rem;
      border-right: 1px #2f4d30 solid;
      border-bottom: 1px #2f4d30 solid;
      padding: 15px; }
      main > section.sitemap article.sitemap > ul > li a {
        color: #2f4d30; }
        main > section.sitemap article.sitemap > ul > li a[href] {
          text-decoration: underline; }
        main > section.sitemap article.sitemap > ul > li a.primary {
          font-weight: bold; }
        main > section.sitemap article.sitemap > ul > li a.alternative {
          font-style: italic; }
      main > section.sitemap article.sitemap > ul > li > ul {
        margin: 0 0 0 0px;
        padding: 0;
        list-style: none;
        display: flex;
        flex-wrap: wrap; }
        main > section.sitemap article.sitemap > ul > li > ul > li {
          font-size: 2.2rem;
          flex: 1;
          min-width: 50%;
          max-width: 100%; }
          main > section.sitemap article.sitemap > ul > li > ul > li a {
            transition: color 2s ease-in-out, background-color 2s ease-in-out;
            color: var(--color-foreground); }
            main > section.sitemap article.sitemap > ul > li > ul > li a.primary {
              font-weight: bold; }
            main > section.sitemap article.sitemap > ul > li > ul > li a.alternative {
              font-style: italic; }
          main > section.sitemap article.sitemap > ul > li > ul > li > ul {
            margin: 0 0 0 30px;
            padding: 0;
            list-style: none; }
            main > section.sitemap article.sitemap > ul > li > ul > li > ul > li {
              font-size: 1.6rem; }
              main > section.sitemap article.sitemap > ul > li > ul > li > ul > li:last-child {
                margin-bottom: 10px; }
              main > section.sitemap article.sitemap > ul > li > ul > li > ul > li a,
              main > section.sitemap article.sitemap > ul > li > ul > li > ul > li div.icon {
                color: #999; }

main > section {
  margin: 0 0 0 0;
  padding: 0; }
  main > section.section h1 {
    color: var(--color-foreground); }
  main > section h1.taxonomy-list,
  main > section .taxonomy-term {
    color: #2f4d30; }
  main > section:first-child {
    padding-top: 0;
    padding-bottom: 0; }

h1,
h2 {
  color: #2f4d30; }

h3,
h4,
h5 {
  color: #2f4d30; }

section.primary a {
  color: #5f9c61;
  text-decoration: none;
  font-weight: bold; }
  section.primary a h4 {
    color: #5f9c61 !important; }
  section.primary a:hover {
    color: #9ec49f; }
    section.primary a:hover[href] {
      text-decoration: underline; }
    section.primary a:hover h4 {
      color: #bdd7be !important; }

section.primary h1,
section.primary h2 {
  color: #5f9c61; }

section.primary h3,
section.primary h4 {
  color: #9ec49f; }

section.primary h5 {
  color: #9ec49f; }

section.alternative {
  background: #2f4d30;
  color: black; }
  section.alternative a {
    color: #5f9c61;
    text-decoration: none;
    font-weight: bold; }
    section.alternative a h4 {
      color: #5f9c61 !important; }
    section.alternative a:hover {
      color: #9ec49f; }
      section.alternative a:hover[href] {
        text-decoration: underline; }
      section.alternative a:hover h4 {
        color: #bdd7be !important; }
  section.alternative h1,
  section.alternative h2 {
    color: #5f9c61; }
  section.alternative h3,
  section.alternative h4,
  section.alternative h5 {
    color: #5f9c61; }

section.primary p, section.primary li,
section.alternative p,
section.alternative li {
  font-weight: 300; }

section.primary p,
section.primary li {
  color: #281904; }

section.alternative p,
section.alternative li {
  color: #6e450b; }

section.tertiary p,
section.tertiary li {
  color: #6e450b; }

section.tertiary p,
section.quadinary li {
  color: #85530e; }

body.light section.primary {
  background: color-mix(in srgb, #2f4d30, var(--color-background) 5%); }
  body.light section.primary h1 {
    color: color-mix(in srgb, #2f4d30, var(--color-background) 85%) !important; }
  body.light section.primary h4 {
    color: color-mix(in srgb, #2f4d30, var(--color-background) 85%) !important; }
  body.light section.primary h5 {
    color: color-mix(in srgb, #2f4d30, var(--color-background) 85%) !important; }

body.light section.alternative {
  background: color-mix(in srgb, #2f4d30, var(--color-background) 5%);
  color: #121d12; }
  body.light section.alternative h4 {
    color: color-mix(in srgb, #2f4d30, var(--color-background) 85%) !important; }

body.light .section.subtile {
  background: color-mix(in srgb, var(--color-foreground), var(--color-background) 50%) !important; }

body.dark section.primary {
  background: color-mix(in srgb, #2f4d30, var(--color-foreground) 20%); }
  body.dark section.primary h1 {
    color: color-mix(in srgb, #2f4d30, var(--color-background) 85%) !important; }

body.dark section.alternative {
  background: #121d12;
  color: #4c7d4e; }

section.subtle {
  background: color-mix(in srgb, #62401f, var(--color-background) 85%); }

section.highlight {
  background: #bfbfbf; }

section.footer {
  background: #e3ecec; }

.container.icons > div {
  margin: auto;
  width: 70%;
  padding: 0 !important; }
  .container.icons > div .icon {
    text-align: left;
    border-radius: 25px;
    width: 50px;
    height: 50px;
    font-size: 50px;
    margin: 0 5px;
    background: #c5d7d7; }
    .container.icons > div .icon:hover {
      background: #a6c3c3; }
    .container.icons > div .icon span {
      position: relative;
      top: -10px;
      left: 10px; }
      .container.icons > div .icon span a {
        color: white; }
        .container.icons > div .icon span a.primary {
          font-weight: bold; }
        .container.icons > div .icon span a.alternative {
          font-style: italic; }

.music-container {
  color: var(--color-foreground);
  transition: color 2s ease-in-out, background-color 2s ease-in-out; }
  .music-container .music-line {
    margin: 30px 0 30px 0; }
    .music-container .music-line:hover .music-note {
      cursor: help; }
      .music-container .music-line:hover .music-note > div {
        display: block !important; }
    .music-container .music-line .music-note {
      color: var(--color-foreground);
      transition: color 2s ease-in-out, background-color 2s ease-in-out;
      font-size: 1.4rem; }
      .music-container .music-line .music-note p {
        color: var(--color-foreground);
        transition: color 2s ease-in-out, background-color 2s ease-in-out;
        transition: color 2s ease-in-out, background-color 2s ease-in-out;
        font-size: 1.4rem; }
      .music-container .music-line .music-note > div {
        position: relative;
        top: 0;
        left: 0;
        z-index: 100000;
        display: none !important;
        padding-top: 5px;
        color: #7eb080;
        background: #000 !important;
        font-size: 1.7rem;
        font-weight: 300;
        padding: 5px;
        width: 250px; }
    .music-container .music-line .music-vocal {
      position: relative !important;
      top: 0 !important;
      left: 0 !important; }
      .music-container .music-line .music-vocal > div {
        position: absolute !important;
        top: -60px !important;
        left: 0;
        width: auto;
        display: flex !important; }
        .music-container .music-line .music-vocal > div:hover {
          cursor: help; }
          .music-container .music-line .music-vocal > div:hover > div.icon {
            display: block; }
          .music-container .music-line .music-vocal > div:hover > div.words {
            display: block;
            color: #2f4d30; }
        .music-container .music-line .music-vocal > div > div.icon {
          padding-top: 5px;
          color: #2f4d30;
          font-size: 3.0rem;
          font-weight: 100;
          width: 50px; }
        .music-container .music-line .music-vocal > div > div.words {
          position: relative;
          top: -35px;
          display: none;
          padding-top: 10px;
          border: 1px #2f4d30 solid;
          background: black;
          color: #2f4d30;
          border-radius: 8px;
          font-size: 2.0rem;
          font-weight: 700;
          width: 250px;
          text-align: center;
          padding: 10px; }
          .music-container .music-line .music-vocal > div > div.words:before, .music-container .music-line .music-vocal > div > div.words:after {
            content: '“'; }
    .music-container .music-line .music-chord {
      font-size: 1.4rem; }
      .music-container .music-line .music-chord p {
        font-size: 2.2rem; }
      .music-container .music-line .music-chord > div {
        color: #2f4d30;
        text-shadow: -1px -1px 10px black, -1px -1px 10px black;
        font-size: 2.2rem;
        font-weight: 800; }
    .music-container .music-line .music-icon {
      color: var(--color-foreground);
      transition: color 2s ease-in-out, background-color 2s ease-in-out;
      font-size: 1.4rem;
      width: 70px; }
      .music-container .music-line .music-icon > p {
        color: var(--color-foreground);
        transition: color 2s ease-in-out, background-color 2s ease-in-out;
        font-size: 1.4rem; }
      .music-container .music-line .music-icon > div {
        color: #2f4d30 !important;
        font-size: 2.5rem;
        font-weight: 600; }
    .music-container .music-line .music-chord,
    .music-container .music-line .music-note,
    .music-container .music-line .music-icon,
    .music-container .music-line .music-vocal {
      display: inline-block;
      position: relative;
      top: 0;
      left: 0; }
      .music-container .music-line .music-chord > div,
      .music-container .music-line .music-note > div,
      .music-container .music-line .music-icon > div,
      .music-container .music-line .music-vocal > div {
        position: absolute;
        top: -50px;
        left: 0;
        display: inline-block;
        z-index: 1000; }

.music-line {
  min-height: 30px; }

.music-section {
  width: 180px;
  text-align: center;
  border: 1px #2f4d30 solid;
  color: #2f4d30;
  background: rgba(0, 0, 0, 0.5);
  font-size: 2rem;
  font-weight: 800; }

header.subpage {
  margin-top: 420px; }
  header.subpage .hero-outer {
    max-height: 420px !important; }

header.kind-taxonomy,
header.kind-term {
  margin-top: 420px; }
  header.kind-taxonomy .hero-outer,
  header.kind-term .hero-outer {
    max-height: 420px !important; }

header.kind-taxonomy.gallery {
  height: 50px !important;
  max-height: 50px !important; }

.gallery .hero-outer {
  height: 20px !important; }

.gallery .logo-container {
  display: none; }

header.kind-taxonomy.gallery,
header.kind-term.gallery {
  height: 50px !important;
  min-height: 0px !important;
  max-height: 50px !important;
  margin-top: 50px !important; }
  header.kind-taxonomy.gallery .hero-outer,
  header.kind-term.gallery .hero-outer {
    max-height: 50px !important; }

.photo-credit {
  float: right;
  max-width: 1200px; }
  .photo-credit p {
    display: block;
    min-width: 50%;
    overflow: hidden; }
  .photo-credit .photo-credit-image img {
    aspect-ratio: 16 / 12 !important;
    object-position: center;
    object-fit: cover; }
  .photo-credit .photo-credit-image a img {
    border: 10px transparent solid;
    overflow: hidden; }
  .photo-credit .photo-credit-image a:hover img {
    border-color: #2f4d30; }

main.kind-taxonomy .thumb-container img,
main.kind-term .thumb-container img {
  object-fit: contain;
  object-position: center;
  max-height: 600px; }

section.image-panel {
  height: 450px;
  max-height: 450px;
  overflow: hidden;
  object-position: bottom;
  object-fit: cover; }
  section.image-panel.image-panel-align-top img {
    object-position: top; }
  section.image-panel.image-panel-align-bottom img {
    object-position: bottom; }
  section.image-panel img {
    object-position: center;
    object-fit: cover;
    height: 450px;
    width: 100%; }

ul.columns {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0; }
  ul.columns > li {
    list-style: none;
    flex: 1;
    min-width: 25%;
    padding: 0 10px; }
    ul.columns > li a {
      color: #000; }
      ul.columns > li a:hover {
        color: #2f4d30;
        font-weight: bold; }
        ul.columns > li a:hover[href] {
          text-decoration: underline; }

i.fa-bug {
  color: red;
  text-shadow: rgba(0, 0, 0, 0.2) 4px 4px 4px; }

.light-dark-switch {
  position: fixed;
  bottom: 0;
  left: 15px;
  z-index: 100000;
  overflow: hidden;
  height: 100px;
  color: rgba(47, 77, 48, 0.8); }
  .light-dark-switch:hover {
    color: #080e09; }
  .light-dark-switch.mode-light > .light-side {
    top: -80px;
    opacity: 1;
    color: transparent;
    transition: color 0.5s ease-in-out; }
    .light-dark-switch.mode-light > .light-side:hover {
      color: #000; }
  .light-dark-switch.mode-dark > .dark-side {
    top: 0;
    opacity: 1;
    color: transparent;
    transition: color 0.5s ease-in-out; }
    .light-dark-switch.mode-dark > .dark-side:hover {
      color: #fff; }
  .light-dark-switch > .dark-side, .light-dark-switch > .light-side {
    transition: all 1.5s ease-in-out;
    padding-top: 15px;
    position: relative;
    top: 80px;
    width: 40px;
    height: 80px;
    font-size: 3rem;
    text-align: center;
    opacity: 0;
    cursor: pointer; }
    .light-dark-switch > .dark-side .text, .light-dark-switch > .light-side .text {
      font-size: 1.2rem;
      display: block; }

/* Weaver Platform - Layout - Mobile */
@media (min-width: 320px) {
  /* smartphones, portrait iPhone, portrait 480x320 phones (Android) */ }

@media (min-width: 480px) {
  /* smartphones, Android phones, landscape iPhone */ }

@media (min-width: 600px) {
  /* portrait tablets, portrait iPad, e-readers (Nook/Kindle), landscape 1000x480 phones (Android) */ }

@media (min-width: 801px) {
  /* tablet, landscape iPad, lo-res laptops ands desktops */ }

@media (min-width: 1025px) {
  /* big landscape tablets, laptops, and desktops */ }

@media (min-width: 1281px) {
  /* hi-res laptops and desktops */ }

.badges ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  max-width: 1000px; }
  .badges ul li {
    flex: 1;
    border: 3px transparent solid;
    display: block;
    text-align: center; }

.badges .badge-outer {
  border: 3px color-mix(in srgb, #000, var(--color-background) 20%) double;
  border-radius: 135px;
  width: 135px;
  height: 135px;
  margin: auto; }

.badges .badge {
  cursor: pointer;
  border: 20px color-mix(in srgb, #2f4d30, var(--color-background) 55%) solid;
  background: color-mix(in srgb, #2f4d30, var(--color-foreground) 10%);
  color: color-mix(in srgb, #2f4d30, var(--color-background) 45%);
  border-radius: 125px;
  height: 125px;
  width: 125px;
  margin: 50px 0 25px 0;
  text-align: center;
  margin: auto; }
  .badges .badge:hover {
    border-color: color-mix(in srgb, #2f4d30, var(--color-background) 45%);
    background: color-mix(in srgb, #2f4d30, var(--color-foreground) 20%);
    color: color-mix(in srgb, #2f4d30, var(--color-foreground) 45%); }
  .badges .badge span.icon {
    display: block;
    width: 125px;
    height: 125px;
    position: relative;
    top: 45%;
    left: 22%; }
    .badges .badge span.icon i {
      display: block;
      margin: auto;
      position: absolute;
      top: -25%;
      left: 0;
      font-size: 4rem; }
  .badges .badge span.text {
    display: block;
    position: relative;
    top: -90%;
    left: 25%; }
    .badges .badge span.text span {
      display: block;
      margin: auto;
      position: absolute;
      top: -25%;
      left: -25%;
      width: 100%;
      padding: 0 20%;
      font-size: 1.1rem;
      line-height: 1.0rem; }
  .badges .badge .band {
    display: block;
    position: relative;
    top: -140px;
    left: -13px;
    width: 125px;
    height: 125px; }
    .badges .badge .band text,
    .badges .badge .band textPath {
      fill: #ca7f15; }

section.primary .badges .badge-outer {
  border: 3px color-mix(in srgb, #2f4d30, var(--color-background) 20%) double;
  border-radius: 135px;
  width: 135px;
  height: 135px;
  margin: auto; }

section.primary .badges .badge {
  border-color: color-mix(in srgb, #2f4d30, var(--color-background) 80%) !important;
  background: color-mix(in srgb, #2f4d30, var(--color-foreground) 20%) !important;
  color: color-mix(in srgb, #2f4d30, var(--color-background) 60%) !important; }
  section.primary .badges .badge:hover {
    border-color: color-mix(in srgb, #2f4d30, var(--color-background) 80%) !important;
    background: color-mix(in srgb, #2f4d30, var(--color-foreground) 20%) !important;
    color: color-mix(in srgb, #2f4d30, var(--color-background) 60%) !important; }
  section.primary .badges .badge text,
  section.primary .badges .badge textPath {
    fill: #1c2d1c; }

section.alternative .badges .badge-outer {
  border: 3px color-mix(in srgb, #2f4d30, var(--color-background) 20%) double;
  border-radius: 135px;
  width: 135px;
  height: 135px;
  margin: auto; }

section.alternative .badges .badge {
  border-color: color-mix(in srgb, #2f4d30, var(--color-background) 80%) !important;
  background: color-mix(in srgb, #2f4d30, var(--color-foreground) 20%) !important;
  color: color-mix(in srgb, #2f4d30, var(--color-background) 60%) !important; }
  section.alternative .badges .badge:hover {
    border-color: color-mix(in srgb, #2f4d30, var(--color-background) 60%) !important;
    background: color-mix(in srgb, #2f4d30, var(--color-foreground) 0%) !important;
    color: color-mix(in srgb, #2f4d30, var(--color-background) 40%) !important; }
  section.alternative .badges .badge text,
  section.alternative .badges .badge textPath {
    fill: #1c2d1c; }

section.subtle .badges .badge {
  border-color: color-mix(in srgb, #62401f, var(--color-background) 80%) !important;
  background: color-mix(in srgb, #62401f, var(--color-foreground) 20%) !important;
  color: color-mix(in srgb, #62401f, var(--color-background) 60%) !important; }
  section.subtle .badges .badge:hover {
    border-color: color-mix(in srgb, #62401f, var(--color-background) 80%) !important;
    background: color-mix(in srgb, #62401f, var(--color-foreground) 20%) !important;
    color: color-mix(in srgb, #62401f, var(--color-background) 60%) !important; }
  section.subtle .badges .badge text,
  section.subtle .badges .badge textPath {
    fill: #1c2d1c; }

button {
  font-size: 2.0rem;
  font-weight: 100;
  letter-spacing: 1.02px;
  font-size: 1.75rem;
  font-weight: 300;
  transition: color 2s ease-in-out, background-color 2s ease-in-out;
  background: var(--color-background);
  color: var(--color-foreground);
  margin: 0;
  font-size: 1.3rem;
  color: #ca7f15;
  border: 1px #ca7f15 solid;
  border-color: #ca7f15;
  border-radius: 8px;
  padding: 10px 15px; }
  button strong {
    color: #e99929;
    font-size: 1.8rem; }
  button:hover {
    border: 1px #ca7f15 solid;
    background: #ca7f15;
    color: #f2c586; }
    button:hover strong {
      color: #f7dbb4; }
  button .arrow {
    font-size: 1.2rem;
    font-weight: 800; }

div.call-to-action-container {
  display: block;
  height: 40px;
  font-size: 2.0rem;
  padding-right: 5px;
  text-align: right;
  margin: 30px 0 50px 0; }
  div.call-to-action-container a.caption {
    border-left: 5px solid #ca7f15;
    padding-left: 15px;
    width: auto; }
  div.call-to-action-container a.button {
    font-weight: 100;
    letter-spacing: 1.02px;
    transition: all 0.4s !important; }
    div.call-to-action-container a.button.primary {
      font-weight: bold; }
    div.call-to-action-container a.button.alternative {
      font-style: italic; }
    div.call-to-action-container a.button strong {
      transition: all 0.4s !important;
      font-weight: 900; }
    div.call-to-action-container a.button:hover {
      color: var(--color-foreground); }
      div.call-to-action-container a.button:hover strong {
        color: var(--color-foreground); }
    div.call-to-action-container a.button .arrow {
      font-size: 1.2rem;
      font-weight: 800; }
    div.call-to-action-container a.button.button {
      font-size: 1.75rem;
      font-weight: 300;
      border: 1px #ca7f15 solid;
      border-radius: 8px;
      padding: 5px 15px;
      color: #eba440; }
      div.call-to-action-container a.button.button strong {
        color: #e99929; }
      div.call-to-action-container a.button.button:hover {
        border: 1px #ca7f15 solid;
        background: #ca7f15;
        color: #f2c586; }
        div.call-to-action-container a.button.button:hover strong {
          color: #f7dbb4; }
    div.call-to-action-container a.button.link {
      text-decoration: underline;
      text-decoration-color: #fcf1e2;
      font-size: 1.8rem; }
      div.call-to-action-container a.button.link strong {
        font-size: 2.25rem; }
      div.call-to-action-container a.button.link.arrow {
        color: #900, 80%; }
      div.call-to-action-container a.button.link:hover {
        text-decoration-color: #f2c586;
        font-size: 2.15rem; }
        div.call-to-action-container a.button.link:hover.arrow {
          color: #900; }
        div.call-to-action-container a.button.link:hover strong {
          font-size: 2.4rem; }

div.alternative {
  background: #2f4d30 !important; }

div.tertiary {
  background: #ca7f15 !important; }

figure figcaption {
  width: 66%;
  margin: auto;
  text-align: justify;
  text-justify: inter-word; }

@media (min-width: 320px) {
  .photo-credit-source {
    float: none;
    text-align: left; }
    .photo-credit-source .photo-credit-source-title .photo-credit-source-info,
    .photo-credit-source .photo-credit-copyright {
      float: none;
      text-align: left; }
  .photo-credit-description {
    margin: 15px 0 0 0;
    width: 98%;
    float: none;
    text-align: left;
    font-size: 0.8em; } }

/* smartphones, portrait iPhone, portrait 480x320 phones (Android) */
@media (min-width: 800px) {
  .photo-credit-text-container .photo-credit-source {
    width: 40%;
    float: right;
    margin: 0; }
  .photo-credit-text-container .photo-credit-description {
    width: 55%;
    float: left; } }

.photo-credit {
  width: 100%;
  min-width: clamp(100px, 50%, 1000px);
  color: var(--color-foreground);
  transition: color 2s ease-in-out, background-color 2s ease-in-out; }
  .photo-credit.photo {
    border: 1px rgba(0, 0, 0, 0.25) solid;
    transition: color 2s ease-in-out, background-color 2s ease-in-out;
    background: var(--color-background);
    color: var(--color-foreground);
    margin: 0 0 25px 0;
    padding: 15px; }
  .photo-credit .photo-credit-image {
    margin: 0;
    padding: 0; }
    .photo-credit .photo-credit-image img {
      width: 100% !important;
      height: 100% !important;
      margin: 0;
      padding: 0;
      border: none; }
  .photo-credit .photo-credit-source {
    margin: 15px 20px 0 0; }
    .photo-credit .photo-credit-source .photo-credit-source-info {
      font-size: 0.9em;
      opacity: 0.4; }
    .photo-credit .photo-credit-source .photo-credit-copyright {
      transition: 1s all;
      opacity: 0;
      font-size: 0.8em; }
  .photo-credit .photo-credit-description {
    margin-top: 15px 0 0 0 !important;
    text-align: left;
    border-left: 15px #2f4d30 solid;
    opacity: 0.6; }
    .photo-credit .photo-credit-description div {
      padding-left: 10px;
      text-wrap: break-word;
      word-wrap: break-word; }
  .photo-credit .photo-credit-people {
    transition: 1s all;
    opacity: 0;
    margin: 20px 0 0 0;
    display: flex;
    font-size: 0.8em; }
    .photo-credit .photo-credit-people .photo-credit-people-label {
      text-wrap: none;
      word-wrap: none;
      width: 170px; }
  .photo-credit .photo-credit-source {
    text-align: right;
    font-weight: bold; }
  .photo-credit .photo-credit-source-title {
    display: none;
    opacity: 0.9;
    font-size: 1.1em;
    padding-bottom: 3px; }
  .photo-credit .photo-credit-source-info {
    font-weight: none; }
  .photo-credit .photo-credit-copyright {
    font-weight: none; }
  .photo-credit:hover .photo-credit-source .photo-credit-copyright {
    opacity: 1; }
  .photo-credit:hover .photo-credit-people {
    opacity: 1; }

@media (min-width: 800px) {
  .photo-credit-source-title {
    display: block !important; } }

/* Weaver Platform - Shortcode - Gallery */
/* Weaver Platform - Shortcode - Gallery  - Carousel*/
.spotlight .gallery-feature-body {
  justify-content: center; }

.gallery-feature {
  padding: 0px 0 10px 0;
  overflow: hidden; }
  .gallery-feature .gallery-feature-header {
    display: none; }
  .gallery-feature .gallery-feature-body {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    overflow: auto;
    margin: 0 20px;
    padding: 0 !important; }
    .gallery-feature .gallery-feature-body .gallery-feature-item {
      text-align: center;
      min-width: 75px;
      max-width: 100%; }
      .gallery-feature .gallery-feature-body .gallery-feature-item .carousel-item-image {
        flex: 1;
        flex-grow: 1;
        max-height: 250px;
        overflow: hidden;
        border: 4px solid transparent; }
        .gallery-feature .gallery-feature-body .gallery-feature-item .carousel-item-image img {
          transition: transform 15s ease, top 15s ease !important;
          transform: scale(1.2); }
        .gallery-feature .gallery-feature-body .gallery-feature-item .carousel-item-image:hover {
          border: 4px solid #2f4d30; }
          .gallery-feature .gallery-feature-body .gallery-feature-item .carousel-item-image:hover img {
            transform: scale(1); }
        .gallery-feature .gallery-feature-body .gallery-feature-item .carousel-item-image img {
          transition: all 400ms;
          width: 100%;
          filter: saturate(100%); }
      .gallery-feature .gallery-feature-body .gallery-feature-item:hover img {
        opacity: 1.0;
        filter: saturate(100%); }
      .gallery-feature .gallery-feature-body .gallery-feature-item .gallery-feature-item-title {
        margin: 0 10px; }
        .gallery-feature .gallery-feature-body .gallery-feature-item .gallery-feature-item-title h3 {
          color: #2f4d30; }
        .gallery-feature .gallery-feature-body .gallery-feature-item .gallery-feature-item-title h4 {
          color: #2f4d30 !important;
          opacity: 0.7; }
        .gallery-feature .gallery-feature-body .gallery-feature-item .gallery-feature-item-title .icon {
          float: right;
          text-align: right;
          padding-left: 15px; }
  .gallery-feature .gallery-feature-header,
  .gallery-feature .gallery-feature-footer {
    margin: 0 30px; }
    .gallery-feature .gallery-feature-header .gallery-feature-header-description,
    .gallery-feature .gallery-feature-footer .gallery-feature-header-description {
      text-align: center; }
      .gallery-feature .gallery-feature-header .gallery-feature-header-description h3,
      .gallery-feature .gallery-feature-header .gallery-feature-header-description h4,
      .gallery-feature .gallery-feature-footer .gallery-feature-header-description h3,
      .gallery-feature .gallery-feature-footer .gallery-feature-header-description h4 {
        max-width: 100%; }
    .gallery-feature .gallery-feature-header .gallery-feature-header-button,
    .gallery-feature .gallery-feature-header .gallery-feature-footer-button,
    .gallery-feature .gallery-feature-footer .gallery-feature-header-button,
    .gallery-feature .gallery-feature-footer .gallery-feature-footer-button {
      float: right; }

.gallery-carousel-item {
  padding-bottom: 15px; }

.splide__pagination__page {
  margin: 5px 5px;
  border: 4px #080e09 solid; }
  .splide__pagination__page.is-active {
    border: 4px #2f4d30 solid; }

/* Weaver Platform - Shortcode - Gallery - Tile */
.icon-bar.icon-modern {
  color: #5f9c61; }
  .icon-bar.icon-modern .category {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; }
    .icon-bar.icon-modern .category .icon-title {
      width: 100%;
      border: none; }
      .icon-bar.icon-modern .category .icon-title > h5 {
        color: #253d26;
        border-bottom: 2px black solid !important;
        margin: 5px !important; }
    .icon-bar.icon-modern .category.show > .icon-row {
      display: flex;
      flex-direction: row;
      align-items: stretch;
      justify-content: stretch;
      width: 100%; }
    .icon-bar.icon-modern .category .icon-row {
      display: none;
      color: #1c2d1c; }
      .icon-bar.icon-modern .category .icon-row > .icon-item {
        border-color: rgba(255, 255, 255, 0.5);
        border-color: rgba(255, 255, 255, 0.5);
        flex: 1 2 auto;
        border: 1px #395d3a dashed;
        margin: 2px; }
        .icon-bar.icon-modern .category .icon-row > .icon-item > a > .icon-item-inner {
          text-align: center;
          padding: 10px; }
        .icon-bar.icon-modern .category .icon-row > .icon-item.selected {
          background: #2f4d30; }
          .icon-bar.icon-modern .category .icon-row > .icon-item.selected i,
          .icon-bar.icon-modern .category .icon-row > .icon-item.selected p,
          .icon-bar.icon-modern .category .icon-row > .icon-item.selected a {
            color: #5f9c61; }
            .icon-bar.icon-modern .category .icon-row > .icon-item.selected i.primary,
            .icon-bar.icon-modern .category .icon-row > .icon-item.selected p.primary,
            .icon-bar.icon-modern .category .icon-row > .icon-item.selected a.primary {
              font-weight: bold; }
            .icon-bar.icon-modern .category .icon-row > .icon-item.selected i.alternative,
            .icon-bar.icon-modern .category .icon-row > .icon-item.selected p.alternative,
            .icon-bar.icon-modern .category .icon-row > .icon-item.selected a.alternative {
              font-style: italic; }
        .icon-bar.icon-modern .category .icon-row > .icon-item:hover {
          background: #4c7d4e; }
          .icon-bar.icon-modern .category .icon-row > .icon-item:hover i,
          .icon-bar.icon-modern .category .icon-row > .icon-item:hover p,
          .icon-bar.icon-modern .category .icon-row > .icon-item:hover a {
            transition: 0.3s all;
            color: white;
            font-weight: bold; }
            .icon-bar.icon-modern .category .icon-row > .icon-item:hover i.primary,
            .icon-bar.icon-modern .category .icon-row > .icon-item:hover p.primary,
            .icon-bar.icon-modern .category .icon-row > .icon-item:hover a.primary {
              font-weight: bold;
              color: black; }
            .icon-bar.icon-modern .category .icon-row > .icon-item:hover i.alternative,
            .icon-bar.icon-modern .category .icon-row > .icon-item:hover p.alternative,
            .icon-bar.icon-modern .category .icon-row > .icon-item:hover a.alternative {
              font-style: italic;
              color: black; }
        .icon-bar.icon-modern .category .icon-row > .icon-item i {
          color: #395d3a;
          font-size: 3.0rem; }
        .icon-bar.icon-modern .category .icon-row > .icon-item p,
        .icon-bar.icon-modern .category .icon-row > .icon-item a {
          transition: 0.3s all;
          font-weight: bold;
          color: #395d3a;
          margin: 5px 0;
          font-size: 1.1rem !important;
          line-height: 1.1rem; }
          .icon-bar.icon-modern .category .icon-row > .icon-item p.primary,
          .icon-bar.icon-modern .category .icon-row > .icon-item a.primary {
            font-weight: bold; }
          .icon-bar.icon-modern .category .icon-row > .icon-item p.alternative,
          .icon-bar.icon-modern .category .icon-row > .icon-item a.alternative {
            font-style: italic; }

.icon-bar.icon-panel {
  color: #5f9c61; }
  .icon-bar.icon-panel .icon-title {
    border-color: rgba(255, 255, 255, 0.5); }
    .icon-bar.icon-panel .icon-title h5 {
      color: rgba(255, 255, 255, 0.8); }
  .icon-bar.icon-panel .icon-row > .icon-item {
    border-color: rgba(255, 255, 255, 0.5);
    border-color: rgba(255, 255, 255, 0.5); }
    .icon-bar.icon-panel .icon-row > .icon-item.selected {
      background: #ca7f15; }
      .icon-bar.icon-panel .icon-row > .icon-item.selected a,
      .icon-bar.icon-panel .icon-row > .icon-item.selected i,
      .icon-bar.icon-panel .icon-row > .icon-item.selected p {
        color: #f7dbb4; }
    .icon-bar.icon-panel .icon-row > .icon-item:hover {
      background: #4c7d4e; }
      .icon-bar.icon-panel .icon-row > .icon-item:hover a,
      .icon-bar.icon-panel .icon-row > .icon-item:hover i,
      .icon-bar.icon-panel .icon-row > .icon-item:hover p {
        color: #1c2d1c; }
    .icon-bar.icon-panel .icon-row > .icon-item a,
    .icon-bar.icon-panel .icon-row > .icon-item i {
      color: #1c2d1c; }
    .icon-bar.icon-panel .icon-row > .icon-item p {
      color: #5d995f; }

.chevron {
  position: relative;
  text-align: center;
  padding: 12px;
  margin-bottom: 6px;
  height: 60px;
  width: 200px; }

.next-page-in-section {
  padding: 60px 0; }

div.review {
  background: #b9d3d6;
  padding: 15px 25px 50px 25px;
  border: 7px #8eaeb4 double; }
  div.review .review-icon {
    display: none; }
  div.review blockquote {
    margin: 0 !important;
    font-size: 1.55rem; }
    div.review blockquote p {
      font-size: 1.55rem !important;
      line-height: 2.05rem !important; }
    div.review blockquote blockquote p {
      text-align: right !important;
      font-family: 'Sail', cursive !important;
      font-size: 2.25rem !important;
      line-height: 2.25rem !important; }
    div.review blockquote blockquote blockquote {
      top: 0;
      left: 0;
      height: 0px; }
      div.review blockquote blockquote blockquote p {
        position: relative;
        top: -100px !important;
        font-family: 'Sail', cursive !important;
        font-size: 12.25rem !important;
        line-height: 12.25rem !important;
        opacity: 0.1; }

.icon-bar {
  margin: 0 0 30px 0;
  color: #5f9c61; }
  .icon-bar .icon-title {
    padding: 5px;
    width: 240px;
    border-radius: 0 12px 0 0;
    border-bottom: 1px rgba(255, 255, 255, 0.5) solid; }
  .icon-bar .icon-row {
    width: 100%;
    border-radius: 0 12px 12px 12px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 10px 0; }
    .icon-bar .icon-row > .icon-item {
      border-radius: 12px;
      text-align: center; }
      .icon-bar .icon-row > .icon-item a > .icon-item-inner {
        text-align: center; }
      .icon-bar .icon-row > .icon-item:last-child {
        border-right: none; }
      .icon-bar .icon-row > .icon-item:hover {
        cursor: pointer; }
      .icon-bar .icon-row > .icon-item i {
        font-size: 3.0rem; }
      .icon-bar .icon-row > .icon-item p {
        font-size: 3.0rem;
        text-overflow: ellipsis; }

@media (min-width: 320px) {
  /* smartphones, portrait iPhone, portrait 480x320 phones (Android) */
  .masonry-gallery {
    width: 90% !important;
    overflow: hidden; }
    .masonry-gallery .tiny.use-grid,
    .masonry-gallery .small.use-grid,
    .masonry-gallery .panorama-wide.use-grid,
    .masonry-gallery .panorama-tall.use-grid,
    .masonry-gallery .featured.use-grid {
      grid-column: span 3;
      grid-row: span 2; }
    .masonry-gallery .tiny h3,
    .masonry-gallery .small h3,
    .masonry-gallery .panorama-wide h3,
    .masonry-gallery .panorama-tall h3,
    .masonry-gallery .featured h3 {
      margin-left: 25px; }
    .masonry-gallery .tiny h4,
    .masonry-gallery .small h4,
    .masonry-gallery .panorama-wide h4,
    .masonry-gallery .panorama-tall h4,
    .masonry-gallery .featured h4 {
      margin-left: 25px; }
    .masonry-gallery .masonry-gallery-sidebar {
      display: none; }
    .masonry-gallery > .masonry-grid.use-grid {
      grid-template-columns: repeat(5, 1fr) !important; } }

@media (min-width: 480px) {
  /* smartphones, Android phones, landscape iPhone */
  .masonry-gallery {
    width: 90% !important;
    overflow: hidden; }
    .masonry-gallery > .masonry-grid {
      grid-template-columns: repeat(6, 1fr) !important; } }

@media (min-width: 1025px) {
  /* big landscape tablets, laptops, and desktops */
  .masonry-gallery > .masonry-grid.use-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr) !important; }
  .masonry-gallery > .masonry-grid.use-flex {
    overflow: hidden; }
  .masonry-gallery > .masonry-grid .masonry-tile.featured.use-grid {
    grid-column: span 3;
    grid-row: span 2; }
  .masonry-gallery > .masonry-grid .masonry-tile.featured.use-flex {
    max-height: 350px;
    overflow: hidden;
    flex: 1 1 100%;
    min-width: 32.5%;
    max-width: 32.5%; }
  .masonry-gallery > .masonry-grid .masonry-tile.featured img {
    object-position: center;
    object-fit: cover; }
  .masonry-gallery > .masonry-grid .masonry-tile.panorama-wide {
    width: 100%; }
    .masonry-gallery > .masonry-grid .masonry-tile.panorama-wide.use-grid {
      grid-column: span 3;
      grid-row: span 1; }
    .masonry-gallery > .masonry-grid .masonry-tile.panorama-wide.use-flex {
      flex: 1 1 100%;
      max-width: 65.5%; }
    .masonry-gallery > .masonry-grid .masonry-tile.panorama-wide img {
      object-position: center;
      object-fit: cover; }
  .masonry-gallery > .masonry-grid .masonry-tile.panorama-tall {
    width: 100%; }
    .masonry-gallery > .masonry-grid .masonry-tile.panorama-tall.use-grid {
      grid-column: span 1;
      grid-row: span 3; }
    .masonry-gallery > .masonry-grid .masonry-tile.panorama-tall.use-flex {
      flex: 1 1 100%;
      max-width: 25%; }
    .masonry-gallery > .masonry-grid .masonry-tile.panorama-tall img {
      object-position: center;
      object-fit: cover; }
  .masonry-gallery > .masonry-grid .masonry-tile.small.use-grid {
    grid-column: span 1;
    grid-row: span 1; }
  .masonry-gallery > .masonry-grid .masonry-tile.small.use-flex {
    flex: 1 1 100%;
    max-width: 25%; }
  .masonry-gallery > .masonry-grid .masonry-tile.small img {
    object-position: center;
    object-fit: cover;
    width: 100%;
    height: 100%; }
  .masonry-gallery > .masonry-grid .masonry-tile.tiny {
    opacity: 0.95;
    border: 4px #333 solid; }
    .masonry-gallery > .masonry-grid .masonry-tile.tiny.use-grid {
      grid-column: span 1;
      grid-row: span 1; }
    .masonry-gallery > .masonry-grid .masonry-tile.tiny.use-flex {
      flex: 1 1 100%;
      max-width: 12%; }
    .masonry-gallery > .masonry-grid .masonry-tile.tiny img {
      object-position: center;
      object-fit: cover;
      width: 100%;
      height: 100%; } }

@media (max-width: 800px) {
  .masonry-gallery {
    display: flex !important;
    flex-direction: column-reverse !important; }
    .masonry-gallery > .masonry-grid.use-flex .masonry-tile {
      min-width: 50% !important; }
    .masonry-gallery > .masonry-gallery-sidebar {
      width: 100% !important; }
  main .panel.responsive-row .responsive-column {
    max-width: 100% !important; } }

@media (min-width: 766px) {
  /* hi-res laptops and desktops */
  .masonry-gallery {
    border: none;
    width: 100%; }
    .masonry-gallery > .masonry-grid.use-grid {
      display: grid;
      grid-template-columns: repeat(7, 1fr) !important; } }

@media (min-width: 1400px) {
  /* hi-res laptops and desktops */
  .masonry-gallery {
    width: 100% !important; }
    .masonry-gallery .masonry-gallery-sidebar {
      display: block;
      min-width: 350px; }
    .masonry-gallery > .masonry-grid.use-grid {
      display: grid;
      grid-template-columns: repeat(7, 1fr) !important; } }

@media (min-width: 1600px) {
  /* wow hi-res laptops and desktops */
  .masonry-gallery > .masonry-grid {
    grid-template-columns: repeat(6, 1fr) !important; } }

@media (min-width: 1800px) {
  /* wow hi-res laptops and desktops */
  .masonry-gallery > .masonry-grid {
    grid-template-columns: repeat(6, 1fr) !important; } }

@media (min-width: 2000px) {
  /* wow hi-res laptops and desktops */
  .masonry-gallery > .masonry-grid {
    grid-template-columns: repeat(6, 1fr) !important; } }

.masonry-gallery {
  display: flex;
  gap: 0%;
  max-width: 100%;
  width: 100%; }
  .masonry-gallery > .masonry-grid {
    flex: 1 1 100%;
    flex-wrap: wrap;
    width: 100%; }
    .masonry-gallery > .masonry-grid .masonry-tile-title {
      opacity: 0; }
    .masonry-gallery > .masonry-grid:hover .masonry-tile-title {
      opacity: 1.0; }
    .masonry-gallery > .masonry-grid.use-grid {
      display: grid;
      grid-gap: 5px;
      grid-template-columns: repeat(6, 1fr); }
    .masonry-gallery > .masonry-grid.use-flex {
      display: flex;
      gap: 15px;
      flex-wrap: wrap;
      align-items: flex-start;
      align-content: flex-start;
      align-self: stretch;
      justify-content: stretch;
      justify-items: stretch;
      justify-self: stretch; }
    .masonry-gallery > .masonry-grid > .masonry-tile {
      transition: 1.3s all;
      border: 5px transparent solid;
      align-items: stretch;
      align-content: stretch;
      align-self: stretch;
      justify-content: stretch;
      justify-items: stretch;
      justify-self: stretch;
      overflow: hidden; }
      .masonry-gallery > .masonry-grid > .masonry-tile.use-grid {
        grid-column: span 2;
        grid-row: span 1;
        max-height: 300px; }
      .masonry-gallery > .masonry-grid > .masonry-tile.use-flex {
        max-height: 350px;
        flex: 1 1 20%;
        min-width: 12%;
        max-width: 100%; }
      .masonry-gallery > .masonry-grid > .masonry-tile > .masonry-tile-inner1 {
        overflow: hidden;
        height: 100%; }
        .masonry-gallery > .masonry-grid > .masonry-tile > .masonry-tile-inner1 > .masonry-tile-inner2 {
          overflow: hidden;
          height: 100%; }
          .masonry-gallery > .masonry-grid > .masonry-tile > .masonry-tile-inner1 > .masonry-tile-inner2 figure, .masonry-gallery > .masonry-grid > .masonry-tile > .masonry-tile-inner1 > .masonry-tile-inner2 {
            margin: 0;
            padding: 0;
            height: 100%;
            width: 100%; }
            .masonry-gallery > .masonry-grid > .masonry-tile > .masonry-tile-inner1 > .masonry-tile-inner2 figure > .thumb-container, .masonry-gallery > .masonry-grid > .masonry-tile > .masonry-tile-inner1 > .masonry-tile-inner2 > .thumb-container {
              overflow: hidden;
              height: 100%;
              display: none;
              border: 2px color-mix(in srgb, #2f4d30, var(--color-background) 50%) solid; }
              .masonry-gallery > .masonry-grid > .masonry-tile > .masonry-tile-inner1 > .masonry-tile-inner2 figure > .thumb-container.show, .masonry-gallery > .masonry-grid > .masonry-tile > .masonry-tile-inner1 > .masonry-tile-inner2 > .thumb-container.show {
                display: block; }
              .masonry-gallery > .masonry-grid > .masonry-tile > .masonry-tile-inner1 > .masonry-tile-inner2 figure > .thumb-container > a > .thumb-container-image, .masonry-gallery > .masonry-grid > .masonry-tile > .masonry-tile-inner1 > .masonry-tile-inner2 > .thumb-container > a > .thumb-container-image {
                overflow: hidden;
                height: 100%;
                width: 100%; }
                .masonry-gallery > .masonry-grid > .masonry-tile > .masonry-tile-inner1 > .masonry-tile-inner2 figure > .thumb-container > a > .thumb-container-image > img, .masonry-gallery > .masonry-grid > .masonry-tile > .masonry-tile-inner1 > .masonry-tile-inner2 > .thumb-container > a > .thumb-container-image > img {
                  transition: 12.0s all !important;
                  transform: scale(1.2);
                  height: 100%;
                  width: 100%;
                  object-position: center;
                  object-fit: cover; }
                  .masonry-gallery > .masonry-grid > .masonry-tile > .masonry-tile-inner1 > .masonry-tile-inner2 figure > .thumb-container > a > .thumb-container-image > img:hover, .masonry-gallery > .masonry-grid > .masonry-tile > .masonry-tile-inner1 > .masonry-tile-inner2 > .thumb-container > a > .thumb-container-image > img:hover {
                    filter: grayscale(0%) !important;
                    transform: scale(1) !important; }
      .masonry-gallery > .masonry-grid > .masonry-tile:hover .masonry-tile-title {
        opacity: 1.0 !important; }
      .masonry-gallery > .masonry-grid > .masonry-tile .masonry-tile-title {
        transition: 0.2s all;
        position: relative;
        top: -65px;
        padding: 10px;
        text-shadow: none;
        color: rgba(255, 255, 255, 0.8);
        background: rgba(0, 0, 0, 0.6);
        height: 75px;
        width: 100%;
        font-size: 1.8rem;
        font-weight: 600; }
        .masonry-gallery > .masonry-grid > .masonry-tile .masonry-tile-title .tile-title {
          font-size: 2.2rem; }
        .masonry-gallery > .masonry-grid > .masonry-tile .masonry-tile-title .tile-subtitle {
          font-size: 1.8rem; }
      .masonry-gallery > .masonry-grid > .masonry-tile:hover {
        border: 5px #2f4d30 solid; }
        .masonry-gallery > .masonry-grid > .masonry-tile:hover img {
          filter: grayscale(0%) !important;
          transform: scale(1) !important; }
        .masonry-gallery > .masonry-grid > .masonry-tile:hover .masonry-tile-title {
          color: black;
          background: #6ea770; }
      .masonry-gallery > .masonry-grid > .masonry-tile img {
        object-position: center;
        object-fit: cover; }
  .masonry-gallery > .masonry-gallery-sidebar {
    padding: 0 0 0 50px;
    width: 35%;
    height: 100%; }
    .masonry-gallery > .masonry-gallery-sidebar.show {
      display: block; }
    .masonry-gallery > .masonry-gallery-sidebar .masonry-gallery-sidebar-sticky {
      position: sticky;
      top: 0; }
    .masonry-gallery > .masonry-gallery-sidebar.show-sidebar {
      display: block;
      width: 35%; }
    .masonry-gallery > .masonry-gallery-sidebar .education {
      margin: 25px 0 0 0;
      display: flex; }
      .masonry-gallery > .masonry-gallery-sidebar .education .eduction-icon {
        color: #2f4d30;
        font-size: 4.5rem;
        padding: 0 10px 0 0; }
      .masonry-gallery > .masonry-gallery-sidebar .education:hover a {
        color: #ca7f15; }
        .masonry-gallery > .masonry-gallery-sidebar .education:hover a:hover[href] {
          text-decoration: underline; }
    .masonry-gallery > .masonry-gallery-sidebar > .masonry-gallery-sidebar-floating {
      top: 90px;
      right: 50px;
      bottom: 10px;
      z-index: 20000;
      overflow: scroll; }
    .masonry-gallery > .masonry-gallery-sidebar .description p {
      font-size: 2.3rem;
      line-height: 2.4rem;
      color: #2f4d30; }
    .masonry-gallery > .masonry-gallery-sidebar .review {
      margin: 30px 0; }
      .masonry-gallery > .masonry-gallery-sidebar .review blockquote {
        color: #2f4d30;
        margin-right: 50px; }
    .masonry-gallery > .masonry-gallery-sidebar .icon-bar {
      width: 100%;
      overflow: hidden; }
      .masonry-gallery > .masonry-gallery-sidebar .icon-bar h5 {
        font-size: 1.8rem;
        margin: 0;
        padding: 0; }
      .masonry-gallery > .masonry-gallery-sidebar .icon-bar p {
        margin: 0;
        padding: 0;
        text-transform: uppercase;
        font-size: 1.1rem; }
    .masonry-gallery > .masonry-gallery-sidebar > div.old {
      display: none; }

#map {
  height: 400px;
  /* The height is 400 pixels */
  width: 100%;
  /* The width is the width of the web page */ }

/* Weaver Platform - Shortcode - Gallery - Thumb */
/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */
.pswp {
  --pswp-bg: #000;
  --pswp-placeholder-bg: #222;
  --pswp-root-z-index: 10000000;
  --pswp-preloader-color: rgba(79, 79, 79, 0.4);
  --pswp-preloader-color-secondary: rgba(255, 255, 255, 0.9);
  /* defined via js:
  --pswp-transition-duration: 333ms; */
  --pswp-icon-color: #fff;
  --pswp-icon-color-secondary: #4f4f4f;
  --pswp-icon-stroke-color: #4f4f4f;
  --pswp-icon-stroke-width: 2px;
  --pswp-error-text-color: var(--pswp-icon-color); }

/*
	Styles for basic PhotoSwipe (pswp) functionality (sliding area, open/close transitions)
*/
.pswp {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: var(--pswp-root-z-index);
  display: none;
  touch-action: none;
  outline: 0;
  opacity: 0.003;
  contain: layout style size;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

/* Prevents focus outline on the root element,
  (it may be focused initially) */
.pswp:focus {
  outline: 0; }

.pswp * {
  box-sizing: border-box; }

.pswp img {
  max-width: none; }

.pswp--open {
  display: block; }

.pswp,
.pswp__bg {
  transform: translateZ(0);
  will-change: opacity; }

.pswp__bg {
  opacity: 0.005;
  background: var(--pswp-bg); }

.pswp,
.pswp__scroll-wrap {
  overflow: hidden; }

.pswp__scroll-wrap,
.pswp__bg,
.pswp__container,
.pswp__item,
.pswp__content,
.pswp__img,
.pswp__zoom-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.pswp__img,
.pswp__zoom-wrap {
  width: auto;
  height: auto; }

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
  cursor: move;
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab; }

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing; }

/* :active to override grabbing cursor */
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img {
  cursor: -webkit-zoom-out;
  cursor: -moz-zoom-out;
  cursor: zoom-out; }

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img,
.pswp__button,
.pswp__counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.pswp__item {
  /* z-index for fade transition */
  z-index: 1;
  overflow: hidden; }

.pswp__hidden {
  display: none !important; }

/* Allow to click through pswp__content element, but not its children */
.pswp__content {
  pointer-events: none; }

.pswp__content > * {
  pointer-events: auto; }

/*

  PhotoSwipe UI

*/
/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg-container {
  display: grid; }

.pswp__error-msg {
  margin: auto;
  font-size: 1em;
  line-height: 1;
  color: var(--pswp-error-text-color); }

/*
class pswp__hide-on-close is applied to elements that
should hide (for example fade out) when PhotoSwipe is closed
and show (for example fade in) when PhotoSwipe is opened
 */
.pswp .pswp__hide-on-close {
  opacity: 0.005;
  will-change: opacity;
  transition: opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1);
  z-index: 10;
  /* always overlap slide content */
  pointer-events: none;
  /* hidden elements should not be clickable */ }

/* class pswp--ui-visible is added when opening or closing transition starts */
.pswp--ui-visible .pswp__hide-on-close {
  opacity: 1;
  pointer-events: auto; }

/* <button> styles, including css reset */
.pswp__button {
  position: relative;
  display: block;
  width: 50px;
  height: 60px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  cursor: pointer;
  background: none;
  border: 0;
  box-shadow: none;
  opacity: 0.85;
  -webkit-appearance: none;
  -webkit-touch-callout: none; }

.pswp__button:hover,
.pswp__button:active,
.pswp__button:focus {
  transition: none;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  opacity: 1; }

.pswp__button:disabled {
  opacity: 0.3;
  cursor: auto; }

.pswp__icn {
  fill: var(--pswp-icon-color);
  color: var(--pswp-icon-color-secondary); }

.pswp__icn {
  position: absolute;
  top: 14px;
  left: 9px;
  width: 32px;
  height: 32px;
  overflow: hidden;
  pointer-events: none; }

.pswp__icn-shadow {
  stroke: var(--pswp-icon-stroke-color);
  stroke-width: var(--pswp-icon-stroke-width);
  fill: none; }

.pswp__icn:focus {
  outline: 0; }

/*
	div element that matches size of large image,
	large image loads on top of it,
	used when msrc is not provided
*/
div.pswp__img--placeholder,
.pswp__img--with-bg {
  background: var(--pswp-placeholder-bg); }

.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 60px;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  z-index: 10;
  /* allow events to pass through top bar itself */
  pointer-events: none !important; }

.pswp__top-bar > * {
  pointer-events: auto;
  /* this makes transition significantly more smooth,
     even though inner elements are not animated */
  will-change: opacity; }

/*

  Close button

*/
.pswp__button--close {
  margin-right: 6px; }

/*

  Arrow buttons

*/
.pswp__button--arrow {
  position: absolute;
  top: 0;
  width: 75px;
  height: 100px;
  top: 50%;
  margin-top: -50px; }

.pswp__button--arrow:disabled {
  display: none;
  cursor: default; }

.pswp__button--arrow .pswp__icn {
  top: 50%;
  margin-top: -30px;
  width: 60px;
  height: 60px;
  background: none;
  border-radius: 0; }

.pswp--one-slide .pswp__button--arrow {
  display: none; }

/* hide arrows on touch screens */
.pswp--touch .pswp__button--arrow {
  visibility: hidden; }

/* show arrows only after mouse was used */
.pswp--has_mouse .pswp__button--arrow {
  visibility: visible; }

.pswp__button--arrow--prev {
  right: auto;
  left: 0px; }

.pswp__button--arrow--next {
  right: 0px; }

.pswp__button--arrow--next .pswp__icn {
  left: auto;
  right: 14px;
  /* flip horizontally */
  transform: scale(-1, 1); }

/*

  Zoom button

*/
.pswp__button--zoom {
  display: none; }

.pswp--zoom-allowed .pswp__button--zoom {
  display: block; }

/* "+" => "-" */
.pswp--zoomed-in .pswp__zoom-icn-bar-v {
  display: none; }

/*

  Loading indicator

*/
.pswp__preloader {
  position: relative;
  overflow: hidden;
  width: 50px;
  height: 60px;
  margin-right: auto; }

.pswp__preloader .pswp__icn {
  opacity: 0;
  transition: opacity 0.2s linear;
  animation: pswp-clockwise 600ms linear infinite; }

.pswp__preloader--active .pswp__icn {
  opacity: 0.85; }

@keyframes pswp-clockwise {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

/*

  "1 of 10" counter

*/
.pswp__counter {
  height: 30px;
  margin-top: 15px;
  margin-inline-start: 20px;
  font-size: 14px;
  line-height: 30px;
  color: var(--pswp-icon-color);
  text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary);
  opacity: 0.85; }

.pswp--one-slide .pswp__counter {
  display: none; }

.rich-link-container .rich-link-wrapper {
  aspect-ratio: 16 / 9;
  height: 160px;
  overflow: hidden;
  margin-bottom: 25px; }
  .rich-link-container .rich-link-wrapper img {
    display: block;
    object-fit: cover;
    aspect-ratio: 16 / 9;
    max-height: 160px; }

.rich-link-container a .arrow {
  margin-left: 5px;
  font-size: 1.8rem; }

.rich-link-container a > span.text:hover[href] {
  text-decoration: underline; }
