/* custom.css */
:root {
  --colab-color-base: #04163B;
  --colab-color-contrast: #ffffff;
  --colab-color-primary: #F1E35F;
  --colab-color-primary-alt: #057C4E;
  --colab-color-primary-opacity: rgba(241, 227, 95, 0.10);
  --colab-color-primary-opacity-alt: rgba(5, 124, 78, 0.10);
  --colab-color-light-border: rgba(32, 48, 82, 1);
  --colab-color-light-border-alt: rgba(241, 227, 95, .5);
  /* redeclare --wp--preset variables: fallback for browsers without light-dark() support, default dark  */
  --wp--preset--color--base: var(--colab-color-base); 
  --wp--preset--color--contrast: var(--colab-color-contrast);
  --wp--preset--color--primary: var(--colab-color-primary);
  --wp--preset--color--primary-opacity: var(--colab-color-primary-opacity);
  @supports ( background-color: light-dark(var(--colab-color-contrast), var(--colab-color-base) ) ) {
    color-scheme: dark;
    --wp--preset--color--base: light-dark(var(--colab-color-contrast), var(--colab-color-base));
    --wp--preset--color--contrast: light-dark(var(--colab-color-base), var(--colab-color-contrast));
    --wp--preset--color--primary: light-dark(var(--colab-color-primary-alt), var(--colab-color-primary));
    --wp--preset--color--primary-opacity: light-dark(var(--colab-color-primary-opacity-alt), var(--colab-color-primary-opacity));
    --wp--preset--color--light-border: light-dark(var(--colab-color-light-border-alt), var(--colab-color-light-border));
  }
}

/* site-logo */
.wp-block-site-logo {
  z-index: 1001;
  /* z-index: 100001; visibility over mobile menu modal */
}

/* navigation */
.wp-block-navigation__responsive-container.is-menu-open {
  z-index: 1000;
}
.wp-block-navigation .wp-block-navigation__responsive-container {
  /* position: relative; */
}
.colab-header-menu.wp-block-navigation .wp-block-navigation__responsive-container-open,
.wp-block-navigation .wp-block-navigation__responsive-container-close {
  padding: .25rem .5rem;
  border-radius: 7px;
  align-items: center;
  font-size: large;
  border: 1px solid var(--wp--preset--color--contrast)
  /* top: 0.75rem; */
}
.wp-block-navigation .wp-block-navigation__responsive-container-close {
  top: 0.75rem;
}
.colab-header-menu.wp-block-navigation .wp-block-navigation__responsive-container-open::after {
  content: 'Menu';
}
@media screen and (max-width: 599px) {
  .colab-header-menu.wp-block-navigation {
    gap: 2rem;
  }
  .colab-header-menu.wp-block-navigation .wp-block-navigation-item__content {
    font-size: var(--wp--preset--font-size--medium-large);
  }
  .colab-header-menu.wp-block-navigation .wp-block-navigation__responsive-container.has-base-background-color.is-menu-open {
    background-color: #04163B !important;
  }
}
@media screen and (min-width: 600px) {
  html.has-modal-open {
      overflow: auto;
  }
  .colab-header.is-position-sticky {
    height: 84px;
  }

  .colab-header.is-position-sticky .wp-block-site-logo {
    position: fixed;
    /* top: 52px; */
  }
  .colab-header-menu.wp-block-navigation .wp-block-navigation__responsive-container.has-base-background-color.is-menu-open {
    /* background-color: transparent !important; */
    /* background-color: var(--wp--preset--color--base) !important; */
    /* top: 0.75rem; */
    background-color: #0D1F43 !important;
    padding-top: 0.75rem;
    bottom: inherit;
  }
  .colab-header-menu.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    flex-direction: row;
    justify-content: space-around;
    /* background-color: #0D1F43 !important; */
  }
  .colab-header-menu.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    align-items: stretch;
    padding-top: 6rem;
  }
  .colab-header-menu.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
    flex-direction: row;
  }
  .colab-header-menu .wp-block-navigation__responsive-container-open:has(+ .is-menu-open) {
    opacity: 0;
  }
  .colab-header-menu .wp-block-navigation-item__content {
    text-transform: uppercase;
    font-weight: 700;
    border-radius: 5px;
  }
}
/* Alternate navigation (yellow) */
.wp-site-blocks > .alternate-nav a {
  outline-color: var(--wp--preset--color--base);
}
.wp-site-blocks > .people-menu .wp-block-navigation a[aria-current='page'] {
  text-decoration: underline;
}

/* Home page */
body { background: rgb(9, 27, 63); }
body.home .wp-site-blocks > main {
  background: rgb(9, 27, 63);
  background-color: rgb(9, 27, 63);
  background-image: linear-gradient(30deg, rgba(4, 22, 59, 1) 12%, transparent 12.5%, transparent 87%, rgba(4, 22, 59, 1) 87.5%, rgba(4, 22, 59, 1)), linear-gradient(150deg, rgba(4, 22, 59, 1) 12%, transparent 12.5%, transparent 87%, rgba(4, 22, 59, 1) 87.5%, rgba(4, 22, 59, 1)), linear-gradient(30deg, rgba(4, 22, 59, 1) 12%, transparent 12.5%, transparent 87%, rgba(4, 22, 59, 1) 87.5%, rgba(4, 22, 59, 1)), linear-gradient(150deg, rgba(4, 22, 59, 1) 12%, transparent 12.5%, transparent 87%, rgba(4, 22, 59, 1) 87.5%, rgba(4, 22, 59, 1)), linear-gradient(60deg, rgb(13, 31, 67) 25%, transparent 25.5%, transparent 75%, rgb(13, 31, 67) 75%, rgb(13, 31, 67)), linear-gradient(60deg, rgb(13, 31, 67) 25%, transparent 25.5%, transparent 75%, rgb(13, 31, 67) 75%, rgb(13, 31, 67));
  background-size: 320px 550px;
  background-position: 
    0 0,
    0 0,
    160px 280px,
    160px 280px,
    0 0,
    160px 280px;
}
.home h1 {
  margin-top: var(--wp--preset--spacing--60);
}
.home .featured-case-study .wp-block-media-text__content {
  background: var(--wp--preset--color--base);
  border-radius: 7px;
  padding-top: 40px;
  padding-bottom: 40px;
}
.home .featured-services .wp-block-column:nth-child(1) .wp-block-group.featured-text-background {
  background: var(--wp--preset--color--base);
  border-radius: 7px;
  padding: 40px;
}
.home .wp-block-columns .wp-block-column:nth-child(2):has(.featured-text-background)  {
  background: var(--wp--preset--color--base);
  border-radius: 7px;
  padding: 40px;
}

/* Footer */
footer .has-large-font-size {
  font-weight: 300;
}
@media screen and (max-width: 781px) {
  footer .wp-block-column:not(:first-child) h3 {
    padding-top: 2.5rem;
  }
}

/* Newsletter */
footer .wpcf7 .newsletter p:nth-child(1) {
  font-size: 1.125rem;
}
footer .wpcf7 .newsletter p {
  margin: 0;
  text-align: left;
}
footer .wpcf7 .wpcf7-form-control-wrap {
  display: block;
  margin-bottom: 10px;
}
footer .wpcf7 .wpcf7-form-control-wrap + br {
  display: none;
}
footer .wpcf7 .newsletter p > label {
  font-size: var(--wp--preset--font-size--small);
}
footer .wpcf7 .newsletter .wpcf7-email {
  width: 70%;
  background: var(--wp--preset--color--light);
  border: 1px solid var(--wp--preset--color--contrast);
  border-radius: .5rem;
  height: 44px;
  color: var(--wp--preset--color--light-border);
  font-size: var(--wp--preset--font-size--medium);
  padding: .5rem;
  box-sizing: border-box;
}
footer .wpcf7 .newsletter .wpcf7-submit{
    width: 70%;
    background: transparent;
    border: 2px solid var(--wp--preset--color--contrast);
    border-radius: .5rem;
    color: var(--wp--preset--color--contrast);
    padding: .25rem;
    height: 44px;
    font-size: var(--wp--preset--font-size--medium-large);
    font-weight: 700;
}
footer .wpcf7 .wpcf7-response-output {
  font-size: var(--wp--preset--font-size--medium);
}
footer .wp-block-separator {
  border-width: 0 0 4px 0;
}

/* 
  Global content spacing
*/
.page-template .entry-content > h2.wp-block-heading:not(:first-child) {
  margin-top: 40px;
}
.page-template .entry-content > h3.wp-block-heading {
  margin-top: 40px;
}
.entry-content a {
  overflow-wrap: break-word;
  word-wrap: break-word;
  hyphens: auto;
}
@media screen and (max-width: 781px) {
  h1 {
    font-size: 3.15rem;
    font-size: var(--wp--preset--font-size--xx-large);
  }
}
/* 
  Block styles
*/
/* Focus style */
:where(.wp-site-blocks *:focus) {
  outline-color: var(--wp--preset--color--golden-kiwi);
}
/* Button styles  */
.wp-block-buttons-is-layout-flex {
  gap: 40px;
}
.wp-block-button.is-style-plain .wp-block-button__link {
  background: linear-gradient(
      to bottom,
      var(--wp--preset--color--primary) 0%,
      var(--wp--preset--color--primary) 100%
    );
  background-position: right center;
  background-repeat: no-repeat;
  background-size: 0 100%;
  transition: background-size .2s;
}
.wp-block-button.is-style-plain .wp-block-button__link:hover {
  background-size: 100% 100%;
  background-position: left center;
  color: var(--wp--preset--color--base);
}
.wp-block-button.is-style-plain .wp-block-button__link::after {
  content: '';
  background-image: url(../img/link-arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  padding: 0 1rem;
  margin-left: 0.875rem;
}
.wp-block-social-links.is-style-colab-social-links .wp-block-social-link {
  border-radius: 5px;
}

/* Separator styles  */
.wp-block-separator.is-style-colab-dot::after {
  content: '·';
  font-size: 1.25rem;
  line-height: .5rem;
}

/* Spacer block */
.wp-block-spacer {
  height: 50px !important;
}

/* Image block */
.wp-block-image.is-style-rounded img {
  border-radius: 1rem;
}

/* List block */
.wp-block-list {
  padding-left: 1.5rem;
}

/* Details block */
.wp-block-details {
  padding: 12px;
  border: 2px solid var(--wp--preset--color--light-border);
  border-radius: 10px;
}
.wp-block-details summary {
  list-style: none;
  padding: 4px;
  border-radius: 7px;
}
.wp-block-details summary::marker,
.wp-block-details summary::-webkit-details-marker {
  display: none;
}
.wp-block-details summary::after {
  float: right;
  content: '';
  background-image: url(../img/chevron.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  height: 2rem;
  width: 1rem;
  transition: 0.2s;
}
.wp-block-details[open] summary::after {
  transform: rotate(-180deg);
}

/* Columns global - post-content */
.wp-block-post-content .wp-block-columns .wp-block-column {
  /* margin-bottom: 1rem; */
}
@media screen and (max-width: 781px) {
  .wp-block-post-content .wp-block-columns {
      gap: 1.2rem;
    }
  /* .wp-block-post-content .wp-block-columns .wp-block-column {
    margin-bottom: 3rem;
  } */
}

/* 
  Block Patterns
*/
.mission-pattern .wp-block-image img {
  aspect-ratio: 3/4;
  object-fit: cover;
  filter: grayscale(1);
}
@media (prefers-color-scheme: dark) {
  .mission-pattern .member-portraits {
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(4, 22, 59, 1)), to(rgba(4, 22, 59, 0.4)));
    mask-image: gradient(linear, left top, left bottom, from(rgba(4, 22, 59, 1)), to(rgba(4, 22, 59, 0.4)));
  }
  .mission-pattern .wp-block-image img {
    filter: var(--wp--preset--duotone--members-duotone);
  }
}

/*  Our Work page */
body.work .wp-block-post-template .wp-block-post-featured-image img {
  border-radius: 4px;
  margin-bottom: 32px;
}
body.work .wp-block-post-template .wp-block-post-featured-image img {
  border-radius: 4px;
  margin-bottom: 32px;
}
body.work .wp-block-post-template .wp-block-post-title {
  line-height: 1.3;
}
.single-work .entry-content > *:not(:first-child) {
  margin-top: 80px;
}
.single-work .entry-content > *:last-child {
  margin-bottom: 80px;
}
.wp-block-post.type-work .wp-block-post-featured-image {
  margin-bottom: 16px;
}
.taxonomy-work-type span {
  font-weight: 300;
  letter-spacing: 2px;
  font-size: var(--wp--preset--font-size--medium);
}
.wp-block-post.type-work .wp-block-post-terms {
  display: inline-block;
  margin: 0;
}
.wp-block-post.type-work .wp-block-post-title {
  font-weight: 800;
  letter-spacing: 1px;
}
.wp-block-post.type-work .wp-block-post-excerpt {
  font-weight: 300;
  letter-spacing: 1px;
  margin-bottom: 16px;
}
.wp-block-post.type-work .taxonomy-people span, 
.wp-block-post.type-work .taxonomy-technology span {
  border-radius: 2px;
  padding: 8px;
  margin: 4px 2px;
  display: inline-block;
  color: var(--wp--preset--color--light);
  background-color: var(--wp--preset--color--christmas-blue);
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 400;
  line-height: 1;
}
.wp-block-query span.wp-block-post-terms__separator {
  background: transparent;
  padding: 0;
}
.wp-block-quote.is-style-colab-work-quote {
  padding: 2.5rem 0;
}
.wp-block-quote.is-style-colab-work-quote figure.has-custom-border img {
  border-color: light-dark(#057C4E, #F1E35F);
  border-radius: 50%;
  aspect-ratio: 1;
  object-fit: cover;
  width: 90px !important;
}

.wp-block-quote.is-style-colab-work-quote .wp-block-columns .wp-block-column:first-child::before {
  content: '“';
  font-size: 5rem;
  font-family: sans-serif;
  font-weight: 700;
  position: absolute;
  top: 0rem;
}
@media screen and (min-width: 782px) {
  .wp-block-quote.is-style-colab-work-quote {
    /* padding: 0; */
  }
  .wp-block-quote.is-style-colab-work-quote .wp-block-columns .wp-block-column:first-child::before {
    font-size: 10rem;
    position: relative;
    
  }
}

.single-work .wp-block-group.navigation-project:has(a) {
  margin-top: 3rem;
  padding: 3rem;
  background: var(--wp--preset--color--primary);
}
.single-work .wp-block-group.navigation-project a {
  font-size: var(--wp--preset--font-size--large);
  font-weight: 700;
  color: var(--wp--preset--color--base);
  text-decoration: none;
}
.single-work .wp-block-group.navigation-project a::after {
  content: '\003e \003e';
  display: inline-block;
  margin-left: 0.5rem;
  line-height: 1;
}
.single-work .wp-block-group.navigation-project a:hover {
  text-decoration: underline;
}
.single-work .wp-block-group.navigation-project a::after:hover {
  text-decoration: none !important;
}
.single-work .wp-block-post-excerpt__excerpt {
  font-size: var(--wp--preset--font-size--large);
  line-height: 1.4;
}
.single-work .wp-block-image img {
  border-radius: 7px;
}
@media screen and (min-width: 782px) {
  .single-work .wp-block-post-excerpt__excerpt {
    font-size: var(--wp--preset--font-size--x-large);
  }
}

/* Members pages */
.members-template-default .member-type.members {
  text-transform: lowercase;
}
.taxonomy-member-type.wp-block-post-terms {
  line-height: 1.125;
}
.members-template-default .wp-block-post-excerpt__excerpt {
  font-weight: 700;
}
.colab-badge-row .wp-block-image img {
  max-width: 60px;
}
.member-meta {
  margin-bottom: 3rem;
}
@media screen and (max-width: 781px) {
  .is-style-colab-member-header .wp-block-column:nth-child(1) {
    order: 2;
  }
  .is-style-colab-member-header .wp-block-column:nth-child(2) {
    order: 1;
  }
}

/* About page */
@media screen and (max-width: 599px) {
  .wp-block-columns:has(.colab-values-box) {
    gap: 1.2rem;
  }
}
.about-page-content {
  display: flex;
  flex-direction: column;
  margin-top: var(--wp--preset--spacing--60);
}
.about-page-content > div:nth-child(1) {
  order: 2;
}
.about-page-content>div:nth-child(2) {
  order: 1;
  margin-top: 0 !important;
}
.about-page-content>div:nth-child(3) {
  order: 3;
}
.wp-block-group.colab-values-box {
  padding: 12px;
  border: 2px solid var(--wp--preset--color--light-border);
  border-radius: 10px;
  background-color: #1C2E4F;
}

.wp-block-group.colab-values-box h3 {
  font-size: var(--wp--preset--font-size--medium-large);
  font-weight: 400;
}

.wp-block-group.colab-values-box p {
  font-size: var(--wp--preset--font-size--medium);
}

#about-members.wp-block-gallery.about-members-gallery .blocks-gallery-caption {
  /* visually-hidden */
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

#about-members.wp-block-gallery.about-members-gallery figure:nth-child(2n + 1) {
  margin-top: 5rem;
}

#about-members.wp-block-gallery.about-members-gallery figure:nth-child(2n) {
  margin-bottom: 5rem;
}

@media screen and (max-width: 599px) {
  #about-members.wp-block-gallery.about-members-gallery figure:nth-child(2n + 1) {
    margin-top: 3rem;
  }

  #about-members.wp-block-gallery.about-members-gallery figure:nth-child(2n) {
    margin-bottom: 3rem;
  }
}
.wp-block-columns .wp-block-column:has(.wp-block-quote.is-style-colab-about-quote) {
  background-color: var(--wp--preset--color--blarney);
  border-radius: 5px;
  border-color: transparent;
  border-width: 0;
}

.wp-block-quote.is-style-colab-about-quote .wp-block-group-is-layout-flex.is-vertical:first-child::before {
  content: '“';
  font-size: 5rem;
  font-family: sans-serif;
  font-weight: 700;
  display: inline-block;
  height: 10px;
  position: relative;
  top: -30px;
  left: -5px;
}

@media screen and (min-width: 782px) {
  .wp-block-quote.is-style-colab-about-quote .wp-block-group-is-layout-flex.is-vertical:first-child::before {
    content: '“';
    font-size: 5rem;
    font-family: sans-serif;
    font-weight: 700;
    display: inline-block;
    height: 10px;
    position: relative;
    top: -30px;
    left: -5px;
  }
  .wp-block-quote.is-style-colab-about-quote figure.has-custom-border img {
    border-radius: 50%;
    object-fit: cover;
    width: 90px !important;
    height: auto;
  }
}

/* About - Careers page */
.page-template-page-about iframe {
  border-radius: 1rem;
}

/* Services */
.wp-block-group.kube .services-kube-logo {
  margin: 0.78125rem 0;
}
.wp-block-buttons.services-cta {
  margin: 6rem auto;
}

/* Contact page */
.wp-block-heading.contact-talk {
  font-size: var(--wp--preset--font-size--x-large);
}
.the-basics {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: space-between;
  gap: 0 2rem;
}
.the-basics p {
  flex: auto;
}
.the-basics p:has(.message) {
  display: block;
}
.wpcf7-form-control-wrap .wpcf7-acceptance .wpcf7-list-item-label {
  font-size: 1rem;
}
.wp-block-details .wpcf7-textarea,
.wpcf7-form-control-wrap .wpcf7-textarea,
.wpcf7-form-control-wrap .wpcf7-text {
  background: rgba(52, 66, 96, 1);
  border: 1px solid rgba(217, 217, 217, 1);
  border-radius: 7px;
  padding: 4px;
  box-sizing: border-box;
  font-family: var(--wp--preset--font-family--poppins);
  font-size: var(--wp--preset--font-size--medium-large);
  line-height: 1.4;
  width: 100%;
  margin-top: 6px;
}
@media screen and (min-width: 768px) {
  .wpcf7-form-control-wrap .wpcf7-text {
      max-width: 329px; 
  }
}
.wpcf7-form-control-wrap .wpcf7-text {
  height: 50px;
}
.wpcf7-form h3.contact-needs {
  font-size: var(--wp--preset--font-size--medium-large);
  text-align: center;
} 
.wp-block-details .wpcf7-textarea {
  margin-top: 4px;
}
.wpcf7-acceptance .wpcf7-list-item  {
  display: block;
  text-align: center;
  margin: 0;
}
.wpcf7-acceptance input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  /* margin: 1rem; */
  display: inline-grid;
  place-content: center;
  border: 1px solid var(--wp--preset--color--contrast);
  border-radius: 4px;
  vertical-align: middle;
}
.wpcf7-acceptance input[type="checkbox"]:checked::before {
  transform: scale(1);
  transform-origin: bottom left;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}
.wpcf7-acceptance input[type="checkbox"]::before {
  content: " ";
  width: 0.875rem;
  height: 0.875rem;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  background-color: CanvasText;
}
p:has(.wpcf7-submit) {
  text-align: center;
}
.wpcf7-form-control.wpcf7-submit {
  background-color: var(--wp--preset--color--brand);
  border: 0;
  border-radius: 7px;
  font-size: 1.25rem;
  padding: 11px 0;
  width: 128px;
}
.wpcf7-form-control.wpcf7-submit.has-spinner + .wpcf7-spinner {
  position: absolute;
  margin: 10.5px 24px;
  background-color: #acc6e1;
}
.wpcf7-form-control.wpcf7-submit.has-spinner + .wpcf7-spinner::before {
  background-color: var(--wp--preset--color--base);
}
.wpcf7 form .wpcf7-response-output {
  border-radius: 7px;
}
.wpcf7 .wpcf7-not-valid-tip {
  color: var(--wp--preset--color--error-text);
}
.wpcf7 .wpcf7-form-control-wrap {
  display: grid;
}
.wpcf7 .wpcf7-form-control-wrap > *:nth-child(1) {
  order: 2;
}

/* Blog Post */
.single-post.blog .wp-block-post-author__avatar {
  margin-right: .5em;
}
.single-post.blog .wp-block-post-author__avatar img {
  width: 28px;
  height: auto;
  border-radius: 50%;
}
.single-post.blog .blog-back a::before {
  content: '\003c \003c';
  display: inline-block;
  margin-right: 0.5rem;
  line-height: 1;
}
.blog .wp-block-columns.is-style-colab-blog-columns > .wp-block-column {
  flex: auto;
}

/* Search / 404 */
.wp-block-search .wp-block-search__input {
  padding: 0.5rem;
}
.wp-block-search .wp-block-search__inside-wrapper > * {
  border-radius: 7px;
}
.search-results .wp-block-cross-media-cloud-post-type-name {
  display: inline-block;
  color: var(--wp--preset--color--light);
  background-color: var(--wp--preset--color--primary-green);
  border-radius: 20px;
  padding: 4px 10px;
  margin: 2px 0;
  font-size: small;
  font-weight: 400;
  line-height: 1;
}

@media (prefers-reduced-motion) {
  .wp-block-details summary::after {
    transition: none;
  }
  .wp-block-details[open] summary::after {
    transition: none;
  }
  .wpcf7-acceptance input[type="checkbox"]::before {
    transition: none;
  }
  .wp-block-button.is-style-plain .wp-block-button__link {
    transition: none;
  }
}

/* visually hidden, screen reader accessibility */
.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}