/* 
*  CSS TABLE OF CONTENTS
*   
*  1.0 - Reset
*  2.0 - Fonts
*  3.0 - Custom Properties
*  4.0 - General Typography
*  5.0 - Areas
*    5.1 - Header
*    5.2 - Entry Content
* 6.0 - Utilities
*  7.0 - Buttons
*  8.0 - Gutenberg Conditionals
*/

/* ------------------------------------------------- 
1.0 Reset
------------------------------------------------- */
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Add default focus style */
*:focus {
  outline: 2px solid var(--primary-200);
}

/* Remove default padding */
ul,
ol {
  padding: 0;
  padding-left: 1.5rem;
  /* list-style-position: inside; */
}
ul {
  padding-left: 1.25rem;
}
/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
}

/* style child lists */
ul > li > ul > * + * {
  margin-top: 1.5rem;
}

ul > li > ul {
  padding-left: 2.5rem;
  margin-top: 1.5rem;
  border-left: 1px solid var(--primary-500);
}

/* Make images easier to work with */
html div.coffee-inner img {
  height: 100%;
  object-fit: cover;
  opacity: 1 !important;
}

img {
  width: 100%;
  height: auto;
  background: var(--gray-100);
  opacity: 0;
  transition: opacity 0.9s;
}

img.loaded,
.search-filter-results img {
  opacity: 1;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

button {
  padding: 0;
  cursor: pointer;
  border: none;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ------------------------------------------------- 
End Reset 
------------------------------------------------- */

/* ------------------------------------------------- 
2.0 Font Imports 
------------------------------------------------- */
@font-face {
  font-family: "OpenSans";
  src: local("OpenSans Light"), local("OpenSans-Light"),
    url("./fonts/OpenSans-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "OpenSans";
  src: local("OpenSans Bold"), local("OpenSans-Bold"),
    url("./fonts/OpenSans-Bold.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "OpenSans";
  src: local("OpenSans ExtraBold"), local("OpenSans-ExtraBold"),
    url("./fonts/OpenSans-ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "OpenSans";
  src: local("OpenSans Regular"), local("OpenSans-Regular"),
    url("./fonts/OpenSans-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* ------------------------------------------------- 
End Font Imports 
------------------------------------------------- */

/* ------------------------------------------------- 
3.0 Custom Properties
------------------------------------------------- */
:root {
  --heading-font: "OpenSans", sans-serif;
  --body-font: "OpenSans", sans-serif;
  --gray-50: #f5f5f5;
  --gray-100: #ddd;
  --gray-200: #bebebe;
  --gray-300: #9d9d9d;
  --gray-400: #858585;
  --gray-500: #6a6a6a;
  --gray-600: #413d3d; /*primary gray*/
  --gray-700: #383838;
  --gray-800: #1e1e1e;
  --gray-900: #141414;
  --primary-50: #f4f8ed;
  --primary-100: #dee9c9;
  --primary-200: #c8daa5;
  --primary-300: #b2cb81;
  --primary-400: #9cbc5d;
  --primary-500: #9aba59; /*primary-green*/
  --primary-600: #667e34;
  --primary-700: #495a25;
  --primary-800: #2c3616;
  --primary-900: #0f1207;
  --secondary-50: #f4f8ed;
  --secondary-100: #dee9c9;
  --secondary-200: #c8daa5;
  --secondary-300: #b2cb81;
  --secondary-400: #9cbc5d;
  --secondary-500: #9aba59; /*secondary-green*/
  --secondary-600: #667e34;
  --secondary-700: #495a25;
  --secondary-800: #2c3616;
  --secondary-900: #0f1207;
  --content-width: 87.5vw;
  --width-small: 36rem;
  --width-medium: 48rem;
  --width-large: 60rem;
  --width-xlarge: 80rem;
  --width-full: 100vw;
  --spacing: 1rem;
  font-family: var(--body-font);
}
/* ------------------------------------------------- 
End Custom Properties
------------------------------------------------- */

/* ------------------------------------------------- 
4.0 General Typography
------------------------------------------------- */
h1,
h2 {
  font-family: var(--heading-font);
  font-weight: 900;
}

h3,
h4,
h5,
h6 {
  font-family: var(--heading-font);
  font-weight: 700;
}

h1,
.font-xxl {
  font-size: clamp(2.25rem, 1.6vw + 1.75rem, 3.625rem);
}

h2,
.font-xl {
  font-size: clamp(1.75rem, 1.3vw + 1.3rem, 2.5rem);
}

h3,
.font-lg {
  font-size: clamp(1.4rem, 1.2vw + 1rem, 2rem);
}

h4,
.font-md {
  font-size: clamp(1rem, 1.1vw + 1rem, 1.625rem);
}
.font-sm {
  font-size: 0.875rem;
}
.font-base {
  font-size: 1rem;
  line-height: 1.9;
  letter-spacing: 0.085em;
}
.section_title {
  letter-spacing: 0.085em;
  font-weight: 300;
  /* position: relative; */
}
.section_title span {
  font-weight: bold;
}
/* .section_title:after {
  content: "";
  width: 40%;
  height: 0.3125rem;
  position: absolute;
  bottom: -10px;
  left: 0;
  background-color: var(--primary-500);
} */
p,
ul,
ol {
  line-height: 1.9;
  font-weight: 400;
  letter-spacing: 0.085em;
}
.light {
  font-weight: 300;
}
.bold {
  font-weight: 700;
}
.black {
  font-weight: 900;
}
.flex {
  display: flex;
}
/* ------------------------------------------------- 
End General Typography
------------------------------------------------- */

/* ------------------------------------------------- 
5.0 Areas
------------------------------------------------- */
/* --------
5.1 Header
-------- */
.theme-header {
  color: white;
  display: grid;
  justify-content: center;
}
.header-content {
  width: var(--content-width);
  padding: 1.5rem 0;
}
.theme-header {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  z-index: 10;
}
.theme-header.white,
.error404 .theme-header {
  background: white;
  color: #000;
  position: relative;
}
.theme-header.white .sub-menu li a {
  color: #fff;
}
.theme-header.white .header-content {
  padding: 0.25rem 0;
}
.header-content {
  max-width: var(--width-xlarge);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.brand {
  color: white;
  text-decoration: none;
  display: flex;
  align-items: center;
}

.brand:hover,
.brand:active {
  color: var(--primary-200);
}
header .brand img {
  width: auto;
  max-height: 75px;
  background: transparent;
  object-fit: contain;
}
.brand > span {
  margin-left: 0.2rem;
  font-size: 1.5rem;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 0.35em;
}
.uppercase {
  text-transform: uppercase;
}
.curtain-menu-button {
  display: flex;
  padding: 0.25rem;
}

#curtain-menu {
  visibility: hidden;
  position: fixed;
  z-index: 10001;
  background: var(--primary-800);
  color: white;
  height: 100vh;
  width: 0;
  transition: visibility, width 0.3s ease-out;
  overflow-y: scroll;
}
.theme-header.white #open-curtain-button {
  background: var(--primary-600);
}
.curtain-button-placer {
  max-width: var(--width-xlarge);
  width: var(--content-width);
  position: relative;
  display: flex;
  justify-content: flex-end;
  margin: auto;
  z-index: 10002;
  top: 1.6em;
  right: 0.45rem;
}

#close-curtain-button {
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

#curtain-menu-container {
  opacity: 0;
  width: var(--content-width);
  /* max-width: var(--width-medium); */
  margin: auto;
  padding: 3rem 0;
  transition: opacity 0.3s ease;
}

#curtain-menu-container ul {
  font-size: 1.25rem;
}

#curtain-menu-container ul > * + * {
  margin-top: 0.6rem;
}

.menu-item {
  list-style: none;
  position: relative;
}

.menu-item a {
  text-decoration: none;
  color: white;
}
.theme-header.white .menu-item a,
.error404 .theme-header .menu-item a {
  color: #000;
}
.menu-item > a:hover,
a:active {
  text-decoration: underline 1px solid var(--primary-200);
}

#curtain-menu-container .sub-menu {
  margin-left: 1rem;
  margin-top: 0.6rem;
  padding-left: 0.75rem;
  border-left: 2px solid var(--secondary-300);
}

.navigation-items {
  display: flex;
  align-items: center;
}

.desktop-nav {
  margin-right: 1rem;
  display: none;
}

.desktop-nav > div > ul {
  display: flex;
  align-items: center;
}

.desktop-nav > div > ul > * + * {
  margin-left: 1.5rem;
}

.desktop-nav .menu-item a {
  font-weight: 400;
  letter-spacing: 0.05em;
  font-size: clamp(0.875rem, 1.5vw, 1.05rem);
}

.desktop-nav .sub-menu {
  display: none;
  position: absolute;
  z-index: 11;
  background: var(--primary-800);
  margin-top: 0;
  padding: 1.25rem;
  min-width: 18rem;
  border-left: 6px solid var(--primary-200);
}

.desktop-nav .sub-menu a {
  color: white;
}

.desktop-nav .menu-item-has-children:hover > .sub-menu,
.desktop-nav .menu-item-has-children:focus-within > .sub-menu {
  display: block;
}

@media screen and (min-width: 1280px) {
  .desktop-nav {
    display: block;
  }
  #open-curtain-button {
    display: none;
  }
}

.header-buttons {
  display: flex;
  align-items: center;
}

.header-buttons > * + * {
  margin-left: 1rem;
}

.desktop-nav .menu-item-has-children {
  margin-right: 1rem;
}

.desktop-nav .menu-item-has-children::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 0.35rem solid transparent;
  border-right: 0.35rem solid transparent;
  border-top: 0.5rem solid var(--secondary-200);
  background-image: url(/wp-content/uploads/2021/08/chevron-down.svg);
  margin-left: 0.25rem;
  position: absolute;
  top: 0.5rem;
  right: -1rem;
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform 0.2s;
}

.desktop-nav .menu-item-has-children:hover::after,
.desktop-nav .menu-item-has-children:active::after,
.desktop-nav .menu-item-has-children:focus-within::after {
  transform: rotate(180deg);
}

/* --------
End Header
-------- */
/* --------
5.2 Entry Content
-------- */
.entry-content {
  /* padding: 4rem 0 6rem; */
}

.entry-content > * {
  max-width: var(--width-medium);
  width: var(--content-width);
  margin-left: auto;
  margin-right: auto;
}
.entry-content > .section_title {
  width: 100%;
  max-width: var(--content-width);
  margin-top: 6rem;
  margin-left: auto;
  margin-right: inherit;
}
.entry-content > .section_title.has-text-align-center {
  margin-right: auto;
}
.entry-content > ul {
  /* width: 80%; */
  /* list-style-position: inside; */
}
.person-bio:after {
  content: "";
  display: block;
  clear: both;
}
.entry-content .person-bio .full-bio ul {
  /* list-style-position: inside; */
}
.entry-content .person-bio .full-bio ul > * + * {
  margin-top: 1.25rem;
}
.entry-content > ul > * + *,
.entry-content > ol > * + * {
  margin-top: var(--flow, 1.25rem);
}

.block-entry-content > * {
  max-width: var(--width-medium);
  width: var(--content-width);
  margin-left: auto;
  margin-right: auto;
}

.block-entry-content > ul {
  width: 80%;
}

.block-entry-content > ul > * + * {
  margin-top: var(--flow, 1.25rem);
}

p > a,
p > em > a,
p a {
  color: var(--primary-700);
  transition: color 0.3s;
  cursor: pointer;
}
p.has-white-color a,
p.has-white-color > a {
  color: #fff;
  cursor: pointer;
}
p.has-text-color a,
p.has-text-color > a,
p > a:hover,
p > a:focus,
p a:hover,
p.has-white-color a:hover,
p.has-white-color > a:hover {
  color: var(--primary-500);
}
p.has-text-color a:hover,
p.has-text-color > a:hover {
  color: var(--primary-200);
}
/* --------
End Entry Content
-------- */
/* --------
5.3 Footer
-------- */
.theme-footer {
  background: var(--gray-600);
  color: white;
}

.footer-content {
  display: grid;
  padding: 6rem 1rem;
  padding-bottom: 2rem;
  margin: auto;
  max-width: var(--width-xlarge);
  gap: 2rem;
}
.footer-content .section_title {
  font-size: 20px;
}
.theme-footer .nf-form-fields-required {
  display: none;
}
.footer-content > .flow ul > * + * {
  margin-top: 0.75rem;
}

.footer-content a {
  color: white;
}
.footer-content a,
.footer-content p {
  font-weight: 300;
  text-decoration: none;
  letter-spacing: 0.085em;
}
@media screen and (min-width: 64rem) {
  .footer-contact {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
.contact-details {
  background: var(--primary-500);
  display: grid;
  align-items: center;
}
.grid-wrapper {
  padding: 3rem 1rem;
}
.contact-details .email,
.contact-details .phone,
.contact-details .address {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.contact-details .email h4,
.contact-details .phone h4,
.contact-details .address h4 {
  text-decoration: underline;
  text-decoration-thickness: 4px;
  text-underline-offset: 1rem;
  text-transform: uppercase;
}
.contact-details .email div > a,
.contact-details .phone div > a,
.contact-details .address div > p,
.contact-details .address div > p > a {
  color: #fff;
  text-decoration: none;
  display: block;
  font-size: 1rem;
  line-height: 1.25;
  font-weight: 400;
}
.footer-about-us {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 3rem 2rem;
  text-align: center;
}
.footer-about-us img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: 39% 33%;
  margin-right: -100%;
  background-color: var(--gray-600);
  mix-blend-mode: multiply;
}
.footer-about-us .about-content {
  z-index: 3;
}

.theme-footer .nf-form-content {
  max-width: 100%;
  padding: 0;
}
.contact-form {
  padding: 3rem 1.5rem;
}
.footer-about-grid {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4rem;
  /* padding: 2rem;
  padding-bottom: 0; */
  flex-wrap: wrap;
}
.footer-about-grid .icon p {
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: 0.085em;
}
.footer-content form .form-group {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  row-gap: 1rem;
}
.footer-content form#mc-embedded-subscribe-form .form-group input.form-control {
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--primary-500);
  height: 47px;

  color: #fff;
}
.footer-content form .form-group input.form-control::placeholder {
  color: #fff;
  font-size: 1.125rem;
  font-weight: 300;
  letter-spacing: 0.085em;
}
.copyright {
  max-width: 1280px;
  margin: auto;
  padding: 1rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #e1d4d4;
}

.copyright a {
  color: white;
}
.copyright a {
  font-weight: 300;
  text-decoration: none;
  letter-spacing: 0.085em;
}

.social ul {
  display: flex;
  gap: 1rem;
  list-style-type: none;
  justify-content: end;
}

@media screen and (min-width: 36rem) {
  .footer-content {
    grid-template-columns: 1.75fr 1fr;
    max-width: 1280px;
    margin: auto;
  }
  .contact-form {
    padding: 3rem 6rem;
  }
  .grid-wrapper {
    min-width: 80%;
    justify-self: end;
  }
  .contact-details .email,
  .contact-details .phone,
  .contact-details .address {
    flex-direction: row;
    text-align: left;
    gap: 4rem;
  }
  .footer-content div.flow:nth-child(3) {
    grid-column-start: 1;
    grid-column-end: 3;
  }
}

@media screen and (min-width: 60rem) {
  .footer-content {
    grid-template-columns: 1fr 0.5fr 1.75fr;
    gap: 3rem;
  }
  .footer-content div.flow:nth-child(3) {
    grid-column-start: 3;
    grid-column-end: 4;
  }
}

footer {
  font-size: 0.875rem;
}
footer .brand {
  align-items: inherit;
}
footer .brand img {
  max-height: 75px;
  width: auto;
  background: transparent;
  padding-right: 1rem;
}

/* --------
Emd Footer
-------- */
/* ------------------------------------------------- 
End Areas
------------------------------------------------- */
/* ------------------------------------------------- 
6.0 Utilities
------------------------------------------------- */
.flow > * + * {
  margin-top: var(--flow, 2rem);
}

.flow-xs > * + * {
  --flow: 0.5rem;
}

.flow-sm > * + * {
  --flow: 1rem;
}

.flow-md > * + * {
  --flow: 1.5rem;
}

.flow-lg > * + * {
  --flow: 2rem;
}

.flow-xl > * + * {
  --flow: 2.5rem;
}

.flow-xxl > * + * {
  --flow: 3rem;
}
.flow-xxxl > * + * {
  --flow: 6rem;
}
.flow-space-sm {
  margin-top: (var(--spacing));
  margin-bottom: (var(--spacing));
}

.flow-space-lg {
  margin-top: calc(var(--spacing) * 4);
  margin-bottom: calc(var(--spacing) * 4);
}

.flow-space-xl {
  margin-top: calc(var(--spacing) * 6);
  margin-bottom: calc(var(--spacing) * 6);
}

.flow-space-none {
  margin-top: 0;
  margin-bottom: 0;
}

.flow-top-sm {
  margin-top: (var(--spacing));
}

.flow-top-lg {
  margin-top: calc(var(--spacing) * 4);
}

.flow-top-xl {
  margin-top: calc(var(--spacing) * 6);
}

.flow-top-none {
  margin-top: (var(--spacing));
}

.flow-bottom-sm {
  margin-bottom: (var(--spacing));
}

.flow-bottom-lg {
  margin-bottom: calc(var(--spacing) * 4);
}

.flow-bottom-xl {
  margin-bottom: calc(var(--spacing) * 6);
}

.flow-bottom-none {
  margin-bottom: (var(--spacing));
}

.alignsmall {
  max-width: var(--width-small);
  width: var(--content-width);
}

.alignmedium {
  max-width: var(--width-medium);
  width: var(--content-width);
}

.alignlarge {
  max-width: var(--width-large);
  width: var(--content-width);
}

.alignwide {
  max-width: var(--width-xlarge);
  width: var(--content-width);
}

.alignfull {
  max-width: var(--width-full);
  width: 100%;
}

.has-text-align-center {
  text-align: center;
}

.has-text-align-right {
  text-align: right;
}

.afterline::after {
  content: "";
  display: block;
  margin: 1rem auto 0;
  width: 12.5rem;
  height: 0.25rem;
  background: var(--secondary-400);
}

/* ------------------------------------------------- 
End Utilities
------------------------------------------------- */

/* ------------------------------------------------- 
7.0 Buttons
------------------------------------------------- */
.btn,
.header-content .navigation-items li.nav-btn a,
.theme-footer .submit-wrap input[type="button"],
.has_btn a {
  --scheme: var(--primary-500);
  --text: white;
  display: inline-flex;
  padding: 0.75rem 2rem;
  background: var(--scheme);
  color: var(--text);
  width: max-content;
  text-decoration: none;
  font-weight: 700;
  transition: background 0.3s;
  letter-spacing: 0.05em;
  border: 2px solid var(--primary-500);
  text-transform: uppercase;
}
.btn-lg {
  padding: 1.5rem 5rem;
  font-size: 1.5rem;
}
.btn-load-more {
  display: block;
  margin: 5rem auto;
  margin-bottom: 0;
  max-width: var(--content-width);
}
.secondary {
  --scheme: var(--secondary-600);
  --text: white;
}

.secondary:active,
.secondary:hover,
.secondary:focus {
  --scheme: var(--secondary-500);
  --text: white;
}

.btn-outline {
  background: none;
  color: #fff;
  border: 2px solid #fff;
}

.btn-outline-green,
.has_btn_outline a {
  background: none;
  color: #fff;
  border: 2px solid var(--primary-500);
}
.btn:active,
.btn:hover,
.btn:focus,
.has_btn a:hover,
.has_btn a:focus,
.has_btn a:active,
.theme-footer .submit-wrap input[type="button"]:hover,
.header-content .navigation-items li:last-child a:hover {
  color: var(--primary-500);
  border: 2px solid var(--primary-500);
  background: none;
  cursor: pointer;
}
footer ul.sub-menu {
  padding-left: 0.5rem;
  display: none;
}
.header-content .navigation-items ul.sub-menu li:last-child a {
  border: none;
  padding: 0;
  background: transparent;
  font-weight: 400;
  color: #fff;
}
.btn-outline:hover,
.btn-outline:active,
.btn-outline:focus {
  border: 2px solid var(--primary-500);
  background: var(--primary-500);
  color: #fff;
}
.btn-outline-green:hover,
.btn-outline-green:focus,
.btn-outline-green:active,
.has_btn_outline a:hover,
.has_btn_outline a:active,
.has_btn_outline a:focus {
  background: var(--primary-500);
  border: 2px solid var(--primary-500);
  color: #fff;
}
.btn-outline:active,
.btn-outline:hover,
.btn-outline:focus {
  --scheme: var(--primary-500);
  --text: var(--primary-500);
}

.btn-outline.invert {
  --scheme: white;
  --text: white;
}

.btn-outline.invert:active,
.btn-outline.invert:hover,
.btn-outline.invert:focus {
  --scheme: var(--gray-500);
  --text: var(--gray-500);
}

.btn-outline.secondary:active,
.btn-outline.secondary:hover,
.btn-outline.secondary:focus {
  --scheme: var(--secondary-500);
  --text: var(--secondary-500);
}

.curtain-menu-button {
  padding: 0.25rem;
  background: transparent;
  border: none;
  padding: 0;
}

/* .curtain-menu-button:active,
.curtain-menu-button:hover,
.curtain-menu-button:focus {
    background: var(--primary-600);
} */

#close-curtain-button {
  color: var(--primary-800);
  background: white;
}

#close-curtain-button:active,
#close-curtain-button:hover,
#close-curtain-button:focus {
  background: var(--secondary-50);
}

/* ------------------------------------------------- 
End Buttons
------------------------------------------------- */

/* ------------------------------------------------- 
8.0 Gutenberg Conditionals
------------------------------------------------- */
.wp-block-separator {
  margin-top: 4rem;
  margin-bottom: 4rem;
}

/* Top of Page Blocks */
.entry-content > .first-block-negative-margin:first-child {
  margin-top: -4rem;
}
/* ------------------------------------------------- 
End Gutenberg Conditionals
------------------------------------------------- */
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

/* what_we_do */
.what_we_do .wp-block-kd-flow-inner-content {
  background: var(--gray-600);
  color: white;
  padding: 1.5rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.what_we_do .wp-block-kd-flow-inner-content > * {
  width: 100%;
}
.what_we_do .wp-block-kd-flow-inner-content h2 {
  text-decoration: underline;
  text-decoration-color: var(--primary-500);
  text-decoration-thickness: 0.25rem;
  text-underline-offset: 1rem;
  margin-bottom: 2rem;
}
.what_we_do .wp-block-kd-flow-inner-content p {
  margin-bottom: auto;
  margin-top: 0;
}
.what_we_do .wp-block-kd-flow-inner-content p:last-child {
  margin-bottom: 0;
  margin-top: var(--flow, 2rem);
}
.what_we_do .wp-block-kd-flow-inner-content p a {
  --scheme: var(--primary-500);
  --text: white;
  display: inline-flex;
  padding: 0.25rem 2rem;
  background: var(--scheme);
  color: var(--text);
  width: max-content;
  text-decoration: none;
  font-weight: 700;
  transition: background 0.3s;
  letter-spacing: 0.05em;
  border: 2px solid var(--scheme);
  text-transform: uppercase;
}

.what_we_do .wp-block-kd-flow-inner-content p a:active,
.what_we_do .wp-block-kd-flow-inner-content p a:hover,
.what_we_do .wp-block-kd-flow-inner-content p a:focus {
  background: none;
  color: #fff;
  border: 2px solid #fff;
}
.what_we_do .albatross > * {
  flex-grow: 0;
}
@media screen and (max-width: 36rem) {
  .albatross {
    margin: auto !important;
  }
}

/* //underline */
.section_title {
  position: relative;
  text-transform: uppercase;
}
/* footer .section_title {
  position: relative;
  display: inline;
} */
footer .section_title:after,
.section_title:after {
  content: "";
  width: 7rem;
  height: 0.25rem;
  background: var(--primary-500);
  position: absolute;
  left: 0;
  top: inherit;
  bottom: -0.5rem;
}
.has-text-align-center.section_title:after {
  left: 50%;
  margin-left: -3.5rem;
}

/* ninja form labels  */
.nf-form-content .label-above .nf-field-label {
  width: 100%;
  display: block;
  margin-bottom: 0 !important;
}
.nf-form-content label {
  background: #eee;
  color: #000;
  width: 100%;
  padding: 0.5rem !important;
  display: block;
}
.nf-form-content .list-select-wrap .nf-field-element > div,
.nf-form-content input:not([type="button"]),
.nf-form-content textarea {
  border: none !important;
}
.nf-form-content .list-select-wrap .nf-field-element > div:focus,
.nf-form-content input:not([type="button"]):focus,
.nf-form-content textarea:focus {
  border: 1px solid var(--primary-500) !important;
}
.nf-input-limit {
  margin-top: 0 !important;
}
/* blogs and posts add margin before footer */
.single.single-post footer,
.single.single-insight footer,
.single.single-team footer,
.single.single-experiences footer {
  margin-top: 4rem;
}
#page {
  padding-top: 4rem;
}

/* single teams page */
@media screen and (min-width: 48rem) {
  .single-team .person-image-avatar {
    /* display: grid; */
    /* grid-template-columns: 1fr 1fr; */
    /* gap: 2rem; */
    float: right;
    padding: 0 2rem 2.5rem 2rem;
  }
}
.single-team .person-image-avatar {
  justify-content: center;
  max-width: 50%;
}
.single-team .full-bio {
  /* text-align: justify;
  text-justify: inter-word; */
}
.single-team .person-image-avatar .person-avatar {
  margin-top: -100%;
}
.single-team .person-image img,
.single-team .person-avatar img {
  display: block;
}
.single-team .person-avatar,
.single-team .page-img:hover .person-image {
  /* display: none; */
  opacity: 0;
  -webkit-transition: opacity 200ms ease-in-out;
  -moz-transition: opacity 200ms ease-in-out;
  -o-transition: opacity 200ms ease-in-out;
  -ms-transition: opacity 200ms ease-in-out;
  transition: opacity 200ms ease-in-out;
}
.single-team .page-img:hover .person-avatar {
  /* display: block; */
  opacity: 1;
  -webkit-transition: opacity 200ms ease-in-out;
  -moz-transition: opacity 200ms ease-in-out;
  -o-transition: opacity 200ms ease-in-out;
  -ms-transition: opacity 200ms ease-in-out;
  transition: opacity 200ms ease-in-out;
}
.single-team .person-image-avatar .person-intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/**search and filter css for team-member filtering */
.search-filter-results {
  max-width: var(--width-xlarge);
  width: var(--content-width);
  margin: 0 auto;
}
form.searchandfilter {
  max-width: var(--width-xlarge);
  width: var(--content-width);
  margin: 0 auto;
  margin-top: 6rem;
}
br {
  display: none;
}
form.searchandfilter ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  /* display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(auto-fit, minmax(20rem, 25rem));
  justify-content: center; */
}
form.searchandfilter ul li {
  padding: 0;
  display: flex;
}
/* form.searchandfilter ul li,
form.searchandfilter ul select,
form.searchandfilter ul label {
  width: 100%;
} */
/* form.searchandfilter ul li.sf-field-taxonomy-team_member_taxonomy {
  align-items: center;
  gap: 2rem;
}
form.searchandfilter ul li.sf-field-taxonomy-team_member_taxonomy h4 {
  padding: 0;
} */
form.searchandfilter ul li select {
  padding: 0.75rem 1rem;
  border: 2px solid var(--primary-500);
  background: transparent;
  cursor: pointer;
}
form.searchandfilter ul li input {
  font-size: 1.125rem;
  background: transparent;
  padding: 0;
  color: #9d9d9d;
  border: none;
  cursor: pointer;
}

.search-filter-results .post_teams {
  max-width: var(--width-xlarge);
  margin: 0 auto;
  width: var(--content-width);
  margin-bottom: 6rem;
  margin-top: 3rem;
}
.search-filter-results .post_teams ul {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  /* justify-content: center; */
}
.search-filter-results .post_teams ul li.person-grid:only-child {
  max-width: 18rem;
}

.search-filter-results .post_teams ul li {
  list-style: none;
  margin-top: 0;
  display: flex;
  flex-direction: column;
  border: 2px solid var(--primary-500);
}

@media screen and (min-width: 64rem) {
  .search-filter-results .post_teams ul {
    /* justify-content: start; */
  }
}
.search-filter-results .post_teams ul li .person-image,
.search-filter-results .post_teams ul li .person-avatar {
  position: relative;
  box-shadow: 0px 4px 4px rgb(0 0 0 / 25%);
}
.search-filter-results .post_teams ul li .person-image,
.search-filter-results .post_teams ul li .person-avatar {
  display: flex;
  align-items: center;
}
.search-filter-results .post_teams ul li .post-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 1.5rem;
  line-height: 1.9;
  padding: 1.5rem;
}
.search-filter-results .post_teams ul li .post-content a {
  margin-top: auto;
}
.search-filter-results .post_teams ul li .post-content .member-role {
  font-weight: lighter;
}
.custom-search-filter-results .person-image-avatar {
  display: flex;
  flex-direction: column;
}
.custom-search-filter-results .person-image-avatar .person-avatar {
  margin-top: -100%;
}
.custom-search-filter-results .person-image,
.custom-search-filter-results .person-avatar {
  display: block;
}
.custom-search-filter-results .person-avatar,
.custom-search-filter-results .person-grid:hover .person-image {
  /* display: none; */
  opacity: 0;
  -webkit-transition: opacity 200ms ease-in-out;
  -moz-transition: opacity 200ms ease-in-out;
  -o-transition: opacity 200ms ease-in-out;
  -ms-transition: opacity 200ms ease-in-out;
  transition: opacity 200ms ease-in-out;
}
.custom-search-filter-results .person-grid:hover .person-avatar {
  /* display: block; */
  opacity: 1;
  -webkit-transition: opacity 200ms ease-in-out;
  -moz-transition: opacity 200ms ease-in-out;
  -o-transition: opacity 200ms ease-in-out;
  -ms-transition: opacity 200ms ease-in-out;
  transition: opacity 200ms ease-in-out;
}
.back-to-teams {
  color: var(--primary-500);
  text-decoration: none;
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
}
.back-to-teams:hover {
  color: var(--primary-700);
  text-decoration: underline;
}

div[class^="wp-block-lazy"] {
  width: 100%;
  max-width: 100%;
}

.buttons-block {
  display: flex;
  width: 100%;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: center;
}

.buttons-left {
  justify-content: start;
}

.buttons-right {
  justify-content: end;
}

/* Coffee */
.footer-contact.not-contact {
  grid-template-columns: 1fr;
}

.coffee-container {
  display: grid;
  grid-template-areas: "stack";
  place-items: center;
  position: relative;
}

.coffee-container > img {
  height: 100%;
  object-fit: cover;
  position: absolute;
  object-position: 50% 42%;
}

.coffee-container > .overlay {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.35);
}

.coffee-container > * {
  grid-area: stack;
  position: relative;
}

.coffee-container {
  z-index: 0;
}

.coffee-inner {
  width: 87%;
  margin-inline: auto;
  max-width: 48rem;
  text-align: center;
  height: max-content;
  padding: clamp(3.5rem, 2vh + 6vw, 6.5rem) 0;
}

.coffee-inner .btn {
  font-size: 1.5rem;
}

/* two-column-text-with-image */
@media screen and (min-width: 48rem) {
  .split-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    margin-top: 0;
  }
  .split-section .split-inner-content {
    max-width: min-content;
    min-width: clamp(10rem, 5rem + 30vw, var(--width-small));
    margin-left: auto;
    margin-right: auto;
    padding: 1rem;
  }
}
.split-inner-content h2 {
  position: relative;
}
.split-inner-content h2:after {
  content: "";
  width: 7rem;
  height: 0.25rem;
  background: var(--primary-500);
  position: absolute;
  left: 0;
  top: inherit;
  bottom: -0.5rem;
}
.split-section .split-inner-content {
  padding: 1rem;
}
.split-section > * {
  width: 100%;
}
.split-section .split-img img {
  display: block;
}
.split-section.image_right .split-img {
  order: 2;
}
.split-section .split-content {
  padding: clamp(1.5rem, 0.875rem + 3vw, 3rem);
}
.split-section.image_right .split-content {
  order: 1;
}
@media screen and (min-width: 48rem) {
}

.split-section .btn {
  width: unset;
}
.wp-block-kd-flow-inner-content {
  position: relative;
}
.kd-card a {
  text-decoration: none;
  color: inherit;
  display: block;
}
.kd-card a svg {
  margin-top: 0;
}
.kd-card a .link-icon {
  position: absolute;
  right: 0;
  top: 0;
  height: 5rem;
  width: 5rem;
  transition: opacity 300ms;
  opacity: 1;
}
.kd-card a:hover .link-icon {
  opacity: 0.8;
  transition: opacity 300ms;
}
