/* 
Theme Name: Seris
Template: twentytwentyfive
Author: ox.Solution.Development
*/
:root {
  font-family: Inter, sans-serif;
  font-feature-settings: "liga" 1, "calt" 1; /* fix for Chrome */
}

@supports (font-variation-settings: normal) {
  :root {
    font-family: InterVariable, sans-serif;
  }
}
html {
  scroll-behavior: smooth;
}

a {
  color: #136967;
}
a:visited {
  color: #136967;
}
a:hover {
  color: #e7c235;
}

@keyframes seris-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
body {
  margin: 0;
}
body > .wp-site-blocks {
  display: grid;
  grid-template-rows: max-content 1fr max-content;
  min-height: 100vh;
}

header {
  display: grid;
  grid-template-columns: max-content 1fr max-content;
  gap: 1rem;
  padding: 1rem;
}
header figure {
  margin: 0;
}
header .wp-block-site-title {
  font-size: clamp(1.5rem, 4vw, 2rem);
  margin-block: auto;
}
header nav {
  margin-top: auto;
}

@media screen and (min-width: 601px) and (max-width: 1024px) {
  header {
    grid-template-columns: max-content 1fr;
  }
  header .wp-block-navigation {
    grid-column: span 2;
  }
  .wp-block-navigation.items-justified-right {
    --navigation-layout-justify: center;
  }
}
@media screen and (max-width: 600px) {
  .wp-block-navigation.items-justified-right {
    --navigation-layout-justification-setting: center;
  }
  .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
    background-color: transparent;
  }
  .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    background-color: white;
    padding-bottom: 2rem;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    gap: 1rem;
    padding-right: 1rem;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item a {
    font-size: 1.75rem;
    font-weight: 700;
    color: #136967;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item a:visited {
    color: #136967;
  }
}
@media screen and (max-width: 600px) {
  footer {
    text-align: center;
  }
}
footer {
  display: grid;
  grid-template-rows: max-content max-content;
  padding: 1rem;
  background-color: #136967;
  color: white;
}
footer .seris-footer__main {
  display: grid;
  grid-template-columns: 1fr max-content;
}
@media screen and (max-width: 600px) {
  footer .seris-footer__main {
    grid-template-columns: 1fr;
  }
}
footer .seris-footer__main {
  padding-block: 3rem;
  padding-inline: 2rem;
}
footer .seris-footer__main .wp-block-site-title {
  font-size: 2rem;
  margin-block: 0;
}
footer .seris-footer__main .wp-block-site-title :where(a) {
  color: #e7c235;
}
footer .seris-footer__main .wp-block-site-tagline {
  margin-block: 0;
  font-size: 0.8rem;
}
footer .seris-footer__copyright {
  text-align: center;
  font-size: 0.75rem;
}
footer .seris-footer__copyright p {
  margin-block: 0;
}
footer .seris-footer__contact_link {
  font-size: 1.75rem;
}
footer .seris-footer__contact_link a {
  text-decoration: none;
  color: #e7c235;
}
footer .seris-footer__contact_link a:visited {
  color: #e7c235;
}
footer .seris-footer__contact_link a:hover {
  color: white;
}

.seris-section {
  clear: both;
  padding: 3rem;
  padding-inline: 20vw;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .seris-section {
    padding-inline: 10vw;
  }
}
@media screen and (max-width: 600px) {
  .seris-section {
    padding-inline: 2rem;
  }
}
.seris-section h2 {
  margin-top: 0;
  text-align: center;
  font-size: clamp(2rem, 6vw, 3rem);
  font-weight: 500;
  color: #136967;
}
.seris-section--no-padding {
  padding-inline: 2rem;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .seris-section--no-padding {
    padding-inline: 2rem;
  }
}
@media screen and (max-width: 600px) {
  .seris-section--no-padding {
    padding-inline: 2rem;
  }
}
.seris-section--green {
  background-color: #136967;
  color: white;
}
.seris-section--green h2 {
  color: white;
}
.seris-section--gray {
  background-color: #f0f0f0;
}
.seris-section--intro {
  padding-top: 0;
  padding-bottom: 2rem;
  font-size: 1.25rem;
  text-align: justify;
  background-color: #136967;
  color: white;
}
.seris-section--intro p {
  margin-block: 0;
}
.seris-section--intro a {
  color: #e7c235;
  text-decoration: none;
}
.seris-section--intro a:visited {
  color: #e7c235;
}
.seris-section--intro a:hover {
  text-decoration: underline;
}
.seris-section--cta {
  text-align: center;
}
.seris-section--cta p {
  font-size: clamp(1rem, 3vw, 2rem);
}
.seris-section--cta .wp-block-button {
  font-size: clamp(1rem, 3vw, 2rem);
}

.wp-block-post-title {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 700;
}

.wp-block-navigation__responsive-container .wp-block-navigation__container {
  gap: 1.5rem;
}
.wp-block-navigation__responsive-container .wp-block-navigation__container .wp-block-navigation-link {
  color: #136967;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: transparent;
}
.wp-block-navigation__responsive-container .wp-block-navigation__container .wp-block-navigation-link:hover {
  border-bottom-color: #e7c235;
}

.wp-block-button {
  background-color: #136967;
  border-radius: 9999px;
}
.wp-block-button__link {
  color: #e7c235;
}
.wp-block-button__link:visited {
  color: #e7c235;
}

.wp-block-site-title {
  color: #136967;
  font-family: "Poppins", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.seris-site-title {
  font-family: "Poppins", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.wpcf7 input:not([type=submit]),
.wpcf7 textarea {
  width: 100%;
  font-size: 1.25rem;
  border-radius: 1rem;
  border-color: #aaa;
  padding: 1rem;
  box-sizing: border-box;
}
.wpcf7 input[type=submit] {
  background-color: #136967;
  border-radius: 9999px;
  color: #e7c235;
  padding: 1rem;
  font-size: 1rem;
}
.wpcf7 .seris-contact-field__label {
  margin-left: 0.5rem;
}
.wpcf7 .seris-contact-field__label--required::after {
  content: " *";
  color: red;
}
.wpcf7 .wpcf7-not-valid-tip {
  margin-left: 0.5rem;
  font-style: italic;
}

.seris-affiliate-consultant {
  padding: 1rem;
  border-radius: 0.5rem;
  background-color: white;
  box-shadow: 3px 3px rgba(0, 0, 0, 0.25);
  display: grid;
  gap: 1rem;
  grid-template-rows: max-content 1fr;
  font-size: 1.15rem;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .seris-affiliate-consultant {
    font-size: 1rem;
  }
}
@media screen and (max-width: 600px) {
  .seris-affiliate-consultant {
    font-size: 0.9rem;
  }
}
.seris-affiliate-consultant__header {
  text-align: center;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #136967;
  padding-bottom: 1rem;
}
.seris-affiliate-consultant__name {
  color: #136967;
  font-size: 1.75rem;
}
.seris-affiliate-consultant__org {
  font-size: 1.25rem;
}
.seris-affiliate-consultant__body {
  display: grid;
  gap: 1rem;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 600px) {
  .seris-affiliate-consultant__body {
    grid-template-rows: max-content 1fr;
    grid-template-columns: 1fr;
  }
}
.seris-affiliate-consultant__headshot img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}
.seris-affiliate-consultant__bio p:first-child {
  margin-top: 0;
}
.seris-affiliate-consultant__bio p:last-child {
  margin-bottom: 0;
}

.seris-project {
  border-bottom-style: solid;
  border-bottom-color: #136967;
  border-bottom-width: 2px;
  padding-block-end: 1rem;
  margin-block-end: 2rem;
}
.seris-project__title {
  text-align: center;
  color: #136967;
  font-weight: 700;
  font-size: 2.5rem;
  padding-block: 0.5rem;
}
.seris-project__partners {
  text-align: center;
}
.seris-project__partners-value {
  font-weight: 700;
}
.seris-project__url {
  text-align: center;
}

.seris-publication {
  margin-block-end: 1rem;
}
.seris-publication__title {
  font-weight: 700;
  font-size: 1.2rem;
  padding-bottom: 0.25rem;
}
.seris-publication__citation {
  margin-left: 2rem;
  padding-bottom: 0.25rem;
}
.seris-publication__citation p {
  margin-block: 0;
}
.seris-publication__url {
  margin-left: 2rem;
  word-break: break-all;
}

.seris-scidel {
  margin-block-end: 1rem;
}
.seris-scidel__title {
  font-weight: 700;
  font-size: 1.2rem;
  padding-bottom: 0.25rem;
}
.seris-scidel__url {
  margin-left: 2rem;
  word-break: break-all;
}

.seris-service {
  background-color: white;
  color: black;
  padding: 1rem;
  border-radius: 0.25rem;
  box-shadow: 5px 5px rgba(0, 0, 0, 0.25);
}
.seris-service__title {
  text-align: center;
  font-size: clamp(1.5rem, 4vw, 1.75rem);
  color: #136967;
}
.seris-service__description {
  font-size: clamp(1rem, 2vw, 1.25rem);
}

.seris-testimonial {
  display: flex;
  flex-direction: column;
  flex: 1;
  background-color: white;
  padding: 1rem;
  border-radius: 0.5rem;
  box-shadow: 5px 5px rgba(0, 0, 0, 0.25);
  font-size: 1.15rem;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .seris-testimonial {
    font-size: 1rem;
  }
}
@media screen and (max-width: 600px) {
  .seris-testimonial {
    font-size: 0.9rem;
  }
}
.seris-testimonial__quote {
  flex-grow: 1;
  padding-block-end: 1rem;
}
.seris-testimonial__quote p {
  margin-block: 0;
}
.seris-testimonial__person {
  padding-top: 1.25rem;
  border-top-color: #136967;
  border-top-width: 1px;
  border-top-style: solid;
  color: #136967;
}

.seris-page .wp-block-post-title {
  background-color: #136967;
  color: white;
  font-weight: 500;
  margin-block: 0;
  padding-block: 2rem;
  font-size: clamp(2.25rem, 7vw, 4rem);
}

.seris-page--home .seris-splash {
  background-color: #777;
}
.seris-page--home .seris-splash__content {
  border-radius: 0.25rem;
  background-color: transparent;
  color: white;
  margin-inline: auto;
  text-align: center;
  padding: 2rem;
}
.seris-page--home .seris-splash__content h1 {
  font-size: clamp(3.5rem, 7vw, 5.5rem);
  line-height: 1;
  text-shadow: 0 0 0.75rem white;
  color: #136967;
  animation: seris-fade-in 1s ease-in-out forwards;
}
.seris-page--home .seris-splash__content .wp-block-site-tagline {
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  text-shadow: 0 0 0.5rem #136967;
  margin-inline: auto;
  margin-bottom: clamp(1.5rem, 6vw, 4rem);
  animation: seris-fade-in 2s ease-in-out forwards;
}
@media screen and (min-width: 1025px) {
  .seris-page--home .seris-splash__content .wp-block-site-tagline {
    max-width: 65%;
  }
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .seris-page--home .seris-splash__content .wp-block-site-tagline {
    max-width: 80%;
  }
}
.seris-page--home .seris-splash__content .wp-block-buttons {
  padding-top: 1rem;
}
.seris-page--home .seris-splash__content .wp-block-button {
  font-size: clamp(1rem, 3vw, 2rem);
  box-shadow: 0 0 0.25rem #e7c235;
  animation: seris-fade-in 3s ease-in-out forwards;
}
.seris-page--home .seris-splash__content .wp-block-button a {
  color: #e7c235;
}
.seris-page--home .seris-splash__content .wp-block-button a:visited {
  color: #e7c235;
}
.seris-page--home .seris-section--mission {
  font-size: clamp(1rem, 3vw, 2.5rem);
  text-align: justify;
  color: #136967;
}
.seris-page--home .seris-section--services h2 {
  font-size: clamp(2.5rem, 6vw, 4rem);
}
.seris-page--home .seris-section--services .seris-service-list {
  gap: 2rem;
}
.seris-page--home .seris-section--case-studies {
  text-align: center;
  background-position: center;
}
.seris-page--home .seris-section--case-studies__content {
  background-color: white;
  padding: 2rem;
  margin-inline: auto;
  border-radius: 2rem;
}
.seris-page--home .seris-section--case-studies p {
  font-size: clamp(1.25rem, 4vw, 2.5rem);
}
.seris-page--home .seris-section--case-studies .wp-block-button {
  font-size: clamp(1rem, 3vw, 2rem);
}
.seris-page--home .seris-section--testimonials .seris-testimonial-list {
  gap: 2rem;
}

.seris-page--case-studies .seris-section--jump-links .seris-project-jump-links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.seris-page--case-studies .seris-section--jump-links .seris-project-jump-links .seris-project-jump-link {
  font-size: 1.25rem;
  color: #136967;
  text-decoration: none;
}
.seris-page--case-studies .seris-section--jump-links .seris-project-jump-links .seris-project-jump-link:visited {
  color: #136967;
}
.seris-page--case-studies .seris-section--jump-links .seris-project-jump-links .seris-project-jump-link:hover {
  color: #e7c235;
}

.seris-page--contact .seris-section--intro {
  padding-bottom: 2rem;
}
.seris-page--contact .seris-section--main {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 1rem;
}
@media screen and (max-width: 1024px) {
  .seris-page--contact .seris-section--main {
    grid-template-columns: 1fr;
  }
}
.seris-page--contact .seris-contact-info {
  padding: 2rem;
  border-bottom-right-radius: 1rem;
  white-space: nowrap;
  display: grid;
  gap: 1rem;
  grid-template-columns: max-content 1fr;
  font-size: 1.5rem;
}
@media screen and (max-width: 1024px) {
  .seris-page--contact .seris-contact-info {
    margin-inline: auto;
    max-width: max-content;
  }
}
.seris-page--contact .seris-contact-info p {
  margin-block: 0;
}
.seris-page--contact .seris-contact-info a {
  text-decoration: none;
}
.seris-page--contact .seris-contact-info a:hover {
  color: #e7c235;
}

.seris-page--about .seris-section--lara {
  margin-bottom: 3rem;
}
.seris-page--about .seris-section--lara .wp-block-image {
  margin-inline: 0;
}
@media screen and (min-width: 601px) {
  .seris-page--about .seris-section--lara .wp-block-image {
    float: left;
    max-width: 50%;
    margin-block: 0;
    margin-right: 1rem;
    margin-bottom: 1rem;
  }
}
.seris-page--about .seris-section--affiliate-consultants .seris-affiliate-consultant-list {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
  margin-top: 2rem;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .seris-page--about .seris-section--affiliate-consultants .seris-affiliate-consultant-list {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 600px) {
  .seris-page--about .seris-section--affiliate-consultants .seris-affiliate-consultant-list {
    grid-template-columns: 1fr;
  }
}

.seris-grid--1col {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}
.seris-grid--2col {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 600px) {
  .seris-grid--2col {
    grid-template-columns: 1fr;
  }
}
.seris-grid--3col {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .seris-grid--3col {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 600px) {
  .seris-grid--3col {
    grid-template-columns: 1fr;
  }
}
.seris-grid--4col {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 600px) {
  .seris-grid--4col {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .seris-grid--4col {
    grid-template-columns: repeat(2, 1fr);
  }
}
.seris-grid--5col {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(5, 1fr);
}
@media screen and (max-width: 600px) {
  .seris-grid--5col {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .seris-grid--5col {
    grid-template-columns: repeat(2, 1fr);
  }
}
