@media all, bookshop {

.contact-form-component {
  padding-top: 0;
  padding-bottom: calc(5 * var(--bulma-column-gap));
  /* Override Bulma */
}
.contact-form-component .columns {
  background-color: #f1f1f1;
}
.contact-form-component .column.form-wrapper {
  align-content: center;
}
.contact-form-component form {
  max-width: 500px;
  margin: 4rem auto;
  padding-left: 20px;
  padding-right: 20px;
}
.contact-form-component form .column {
  padding: calc(0.75 * var(--bulma-column-gap));
}
.contact-form-component form * {
  font-size: 0.9rem;
}
.contact-form-component button {
  padding-top: 13px;
  padding-bottom: 13px;
  background: #aaa !important;
  color: #fff !important;
  border: 0 !important;
}
.contact-form-component input,
.contact-form-component select,
.contact-form-component option,
.contact-form-component textarea {
  border-radius: 0;
  border: 0;
}
.contact-form-component input {
  padding: 26px 22px;
}
.contact-form-component text-area {
  padding: 13px 22px;
}
.contact-form-component .control:has(.select) {
  padding-top: 6.5px;
  padding-bottom: 6.5px;
  background: #fff;
}
.contact-form-component select {
  padding-left: 22px;
  padding-right: 22px;
  background: transparent;
}
.contact-form-component .select select:focus,
.contact-form-component .input:focus,
.contact-form-component .textarea:focus,
.contact-form-component .select select:focus-within,
.contact-form-component .input:focus-within,
.contact-form-component .textarea:focus-within,
.contact-form-component .select select.is-focused,
.contact-form-component .is-focused.input,
.contact-form-component .is-focused.textarea {
  box-shadow: none;
}
.contact-form-component input::placeholder,
.contact-form-component textarea::placeholder,
.contact-form-component select:invalid,
.contact-form-component select option[value=""] {
  color: #999;
  /* opacity: 0.5; */
}
.contact-form-component .fa-brands {
  font-size: 2rem;
}
.contact-form-component .checkbox,
.contact-form-component .radio {
  display: block;
  margin-bottom: 0.75rem;
}
.contact-form-component .checkbox input,
.contact-form-component .radio input {
  margin-right: 5px;
}
.contact-form-component .radio + .radio {
  margin-left: 0;
}
.contact-form-component .select,
.contact-form-component select {
  width: 100%;
}
.contact-form-component label.label {
  font-weight: 600;
}
.contact-form-component .other-option-wrapper {
  display: none;
}
.contact-form-component .column.contact-info {
  display: flex;
  justify-content: center;
  align-content: center;
  flex-wrap: wrap;
  background: #222;
}
.contact-form-component .contact-info * {
  color: #fff !important;
}
.contact-form-component .contact-info .content {
  margin: 3rem 0;
}
.contact-form-component .fa-check {
  font-size: 4rem;
  color: green;
  margin-bottom: 2rem;
}

.cms-editor-active .projects-summary-component .filter-item .content {
  opacity: 1;
  scale: 1;
}
.cms-editor-active .projects-summary-component .summary-item {
  opacity: 1;
  scale: 1;
}

.projects-summary-component {
  --projects-summary-item-padding: 5px;
  padding-top: 0;
  padding-bottom: calc(5 * var(--bulma-column-gap));
  /* GSAP Stagger batched stagger function will schange these values. */
}
.projects-summary-component .projects-title {
  text-transform: uppercase;
}
.projects-summary-component .columns.is-gapless {
  margin-inline-start: calc(-1 * var(--projects-summary-item-padding));
  margin-inline-end: calc(-1 * var(--projects-summary-item-padding));
  margin-top: calc(-1 * var(--projects-summary-item-padding));
  margin-bottom: calc(-1 * var(--projects-summary-item-padding));
}
.projects-summary-component .filter-button-group .button.selected {
  /* A way to darken up the background but keeping the original background colour value
  (so doesn't matter what that button colour is). Helps keep it transferable between
  whatever the button colour is. Nice :) */
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.55));
}
.projects-summary-component .filter-item .content,
.projects-summary-component .summary-item {
  opacity: 0;
  scale: 0.9;
  margin: var(--projects-summary-item-padding);
  background: #f1f1f1;
}
.projects-summary-component .cover-mask {
  position: absolute;
  z-index: 10000;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  background-color: #ffffff;
  transition: 0.35s ease-in-out opacity;
  opacity: 0;
}
.projects-summary-component .cover-mask.opaque {
  opacity: 1;
  /* By adding 'transition: none' below, it means the transition will only work one way.
  That is, it will go fully opaque as soon as this class is added BUT when the class is removed
  it will be the slow transition. */
  transition: none;
}
.projects-summary-component .summary-item p {
  margin-bottom: 0;
}
.projects-summary-component .gallery-title {
  padding: 1rem 1.25rem;
  margin-top: 0 !important;
  margin-bottom: 0;
  text-align: right;
  font-size: 1.35rem;
}
.projects-summary-component .gallery-title a {
  display: block;
}
.projects-summary-component .gallery-year {
  position: absolute;
  top: 5px;
  left: 5px;
  margin: 0 !important;
  padding: 5px 8px;
  background-color: rgba(255, 255, 255, 0.65);
  font-size: 1.25rem;
  font-weight: 400;
}

.error-component {
  padding-top: calc(3 * var(--bulma-column-gap));
  padding-bottom: calc(3 * var(--bulma-column-gap));
}
.error-component img {
  max-width: 450px;
}

.cms-editor-active .carousel-component .carousel-slide {
  opacity: 1;
}

.cms-editor-active .carousel-component .preloader-section-mask,
.cms-editor-active .carousel-component .carousel-gradient {
  opacity: 0;
  pointer-events: none;
}

.cms-editor-active .carousel-component .content * {
  opacity: 1 !important;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/* Overidde the normal padding for the first section item */
/* so that the top of the carousel image is tucked under the nav bar on larger screens and no-gap with nav-bar on mobile. */
.section.carousel-component:first-of-type .first-of-type-section-spacer {
  padding-top: 60px !important;
}

@media screen and (max-width: 1024px) {
  .section.carousel-component:first-of-type .first-of-type-section-spacer {
    padding-top: 0 !important;
  }
}
/* If this is the first section component on the page (eg. home page), then a page-title component will be underneath.
   To keep vertical spacing of the page-title consistent, remove the bottom padding of the carousel component. */
main:first-of-type .section.carousel-component {
  padding-bottom: 0 !important;
}

.carousel-component {
  position: relative;
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: calc(5 * var(--bulma-column-gap));
  /* Override the constraint to container width and go full screen width. */
  /* --- SLIDE FADE IN --- */
  /* if SLIDING option is on, then can keep all individual slides visible --- */
  /* --- OVERLAY TEXT --- */
}
.carousel-component .container.outer {
  max-width: 100% !important;
}
.carousel-component .carousel-outer {
  position: relative;
  /* Height can be set wihin admin */
}
.carousel-component .carousel-middle {
  position: relative;
  display: flex;
  overflow: hidden;
  height: 100%;
}
.carousel-component .carousel-inner {
  display: flex;
  position: relative;
  left: 0;
  height: 100%;
  width: 100%;
}
.carousel-component .carousel-inner.carousel-slide-on {
  -webkit-transition: left 0.3s ease-out;
  transition: left 0.3s ease-out;
}
.carousel-component .carousel-slide {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  opacity: 0;
}
.carousel-component .carousel-slide img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.carousel-component .carousel-slide .container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.carousel-component .carousel-slide .container,
.carousel-component .carousel-slide .columns,
.carousel-component .carousel-slide .column,
.carousel-component .carousel-slide .content {
  height: 100%;
}
.carousel-component .carousel-slide .columns {
  margin-top: 0;
}
.carousel-component .carousel-slide .column {
  padding-top: 0;
  padding-bottom: 0;
}
.carousel-component .carousel-slide .content {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
  padding: 40px 0;
}
.carousel-component .carousel-slide .content.top-left {
  justify-content: start;
  margin-top: 50px;
}
.carousel-component .carousel-slide .content.center-left {
  justify-content: center;
}
.carousel-component .carousel-slide .content.bottom-left {
  justify-content: end;
}
.carousel-component .carousel-slide .content.top-right {
  justify-content: start;
  text-align: right;
  margin-top: 50px;
}
.carousel-component .carousel-slide .content.center-right {
  justify-content: center;
  text-align: right;
}
.carousel-component .carousel-slide .content.bottom-right {
  justify-content: end;
  text-align: right;
}
.carousel-component .carousel-slide .content.top-center {
  justify-content: start;
  text-align: center;
  margin-top: 50px;
}
.carousel-component .carousel-slide .content.center-center {
  justify-content: center;
  text-align: center;
}
.carousel-component .carousel-slide .content.bottom-center {
  justify-content: end;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .carousel-component .carousel-slide .content.top-left {
    margin-top: 100px;
  }
  .carousel-component .carousel-slide .content.top-right {
    margin-top: 100px;
  }
  .carousel-component .carousel-slide .content.top-center {
    margin-top: 100px;
  }
}
.carousel-component .carousel-nav-container {
  position: absolute;
  z-index: 3;
  bottom: 10px;
  width: 100%;
  text-align: center;
}
.carousel-component .carousel-prev, .carousel-component .carousel-next {
  position: absolute;
  z-index: 4;
  top: 50%;
  cursor: pointer;
  width: auto;
  margin-top: -22px;
  padding: 16px;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  transition: 0.4s background-color ease;
  border-radius: 3px;
  user-select: none;
  background-color: rgba(0, 0, 0, 0.2);
}
.carousel-component .carousel-next {
  right: 0;
}
.carousel-component .carousel-prev:hover, .carousel-component .carousel-next:hover {
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
}
.carousel-component .carousel-nav-dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}
.carousel-component .carousel-active, .carousel-component .carousel-nav-dot:hover {
  background-color: #717171;
}
.carousel-component .carousel-fade-in {
  animation-name: carousel-fade-in;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}
@keyframes carousel-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.carousel-component .carousel-slide-on .carousel-slide {
  opacity: 1;
}
.carousel-component .carousel-slide-on .carousel-slide.carousel-fade-in {
  animation: none;
  opacity: 1;
}
.carousel-component .carousel-title {
  color: #fff;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
  padding: 0 20px;
  opacity: 0;
  -webkit-transform: translateY(-10px);
  transform: translateY(-10px);
  -webkit-transition: opacity 800ms, -webkit-transform 600ms;
  transition: transform 800ms, opacity 600ms;
  -webkit-transition-delay: 0.75s; /* Safari */
  transition-delay: 0.75s;
}
.carousel-component .carousel-sub-title {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  padding: 0 20px;
  opacity: 0;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: opacity 800ms, -webkit-transform 600ms;
  transition: transform 800ms, opacity 600ms;
  -webkit-transition-delay: 1.15s; /* Safari */
  transition-delay: 1.15s;
}
@media screen and (min-width: 769px) {
  .carousel-component .carousel-title {
    font-size: 2.5rem;
  }
  .carousel-component .carousel-sub-title {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1024px) {
  .carousel-component .carousel-title {
    font-size: 4rem;
  }
  .carousel-component .carousel-sub-title {
    font-size: 2rem;
  }
}
.carousel-component .carousel-fade-in .carousel-title {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}
.carousel-component .carousel-fade-in .carousel-sub-title {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}
.carousel-component .carousel-gradient {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  opacity: 0;
}
.carousel-component .carousel-gradient.top-left {
  background: linear-gradient(315deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 100%);
}
.carousel-component .carousel-gradient.center-left {
  background: linear-gradient(270deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 100%);
}
.carousel-component .carousel-gradient.bottom-left {
  background: linear-gradient(225deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 100%);
}
.carousel-component .carousel-gradient.top-right {
  background: linear-gradient(45deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 100%);
}
.carousel-component .carousel-gradient.center-right {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 100%);
}
.carousel-component .carousel-gradient.bottom-right {
  background: linear-gradient(135deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 100%);
}
.carousel-component .carousel-gradient.top-center {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 100%);
}
.carousel-component .carousel-gradient.center-center {
  background: radial-gradient(circle, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0) 100%);
}
.carousel-component .carousel-gradient.bottom-center {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 100%);
}
.carousel-component .carousel-gradient-fade-in {
  animation-name: carousel-fade-in;
  animation-duration: 3s;
  animation-delay: 1s;
  animation-fill-mode: forwards;
}
@media screen and (max-width: 768px) {
  .carousel-component .small-vh-100 {
    height: 100vh;
  }
  .carousel-component .small-vh-95 {
    height: 95vh;
  }
  .carousel-component .small-vh-85 {
    height: 85vh;
  }
  .carousel-component .small-vh-75 {
    height: 75vh;
  }
  .carousel-component .small-vh-65 {
    height: 65vh;
  }
  .carousel-component .small-vh-55 {
    height: 55vh;
  }
  .carousel-component .small-vh-50 {
    height: 50vh;
  }
  .carousel-component .small-vh-45 {
    height: 45vh;
  }
  .carousel-component .small-vh-40 {
    height: 40vh;
  }
  .carousel-component .small-px-1000 {
    height: 1000px;
  }
  .carousel-component .small-px-950 {
    height: 950px;
  }
  .carousel-component .small-px-850 {
    height: 850px;
  }
  .carousel-component .small-px-750 {
    height: 750px;
  }
  .carousel-component .small-px-650 {
    height: 650px;
  }
  .carousel-component .small-px-550 {
    height: 550px;
  }
  .carousel-component .small-px-500 {
    height: 500px;
  }
  .carousel-component .small-px-450 {
    height: 450px;
  }
  .carousel-component .small-px-400 {
    height: 400px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .carousel-component .medium-vh-100 {
    height: 100vh;
  }
  .carousel-component .medium-vh-95 {
    height: 95vh;
  }
  .carousel-component .medium-vh-85 {
    height: 85vh;
  }
  .carousel-component .medium-vh-75 {
    height: 75vh;
  }
  .carousel-component .medium-vh-65 {
    height: 65vh;
  }
  .carousel-component .medium-vh-55 {
    height: 55vh;
  }
  .carousel-component .medium-vh-50 {
    height: 50vh;
  }
  .carousel-component .medium-vh-45 {
    height: 45vh;
  }
  .carousel-component .medium-vh-40 {
    height: 40vh;
  }
  .carousel-component .medium-px-1000 {
    height: 1000px;
  }
  .carousel-component .medium-px-950 {
    height: 950px;
  }
  .carousel-component .medium-px-850 {
    height: 850px;
  }
  .carousel-component .medium-px-750 {
    height: 750px;
  }
  .carousel-component .medium-px-650 {
    height: 650px;
  }
  .carousel-component .medium-px-550 {
    height: 550px;
  }
  .carousel-component .medium-px-500 {
    height: 500px;
  }
  .carousel-component .medium-px-450 {
    height: 450px;
  }
  .carousel-component .medium-px-400 {
    height: 400px;
  }
}
@media screen and (min-width: 1024px) {
  .carousel-component .large-vh-100 {
    /* height: 100vh; */
    height: calc(100vh - var(--main-container-top-padding));
  }
  .carousel-component .large-vh-95 {
    /* height: 95vh; */
    height: calc(95vh - var(--main-container-top-padding));
  }
  .carousel-component .large-vh-85 {
    height: 85vh;
  }
  .carousel-component .large-vh-75 {
    height: 75vh;
  }
  .carousel-component .large-vh-65 {
    height: 65vh;
  }
  .carousel-component .large-vh-55 {
    height: 55vh;
  }
  .carousel-component .large-vh-50 {
    height: 50vh;
  }
  .carousel-component .large-vh-45 {
    height: 45vh;
  }
  .carousel-component .large-vh-40 {
    height: 40vh;
  }
  .carousel-component .large-px-1000 {
    height: 1000px;
  }
  .carousel-component .large-px-950 {
    height: 950px;
  }
  .carousel-component .large-px-850 {
    height: 850px;
  }
  .carousel-component .large-px-750 {
    height: 750px;
  }
  .carousel-component .large-px-650 {
    height: 650px;
  }
  .carousel-component .large-px-550 {
    height: 550px;
  }
  .carousel-component .large-px-500 {
    height: 500px;
  }
  .carousel-component .large-px-450 {
    height: 450px;
  }
  .carousel-component .large-px-400 {
    height: 400px;
  }
}

.double-column-component {
  padding-top: 0;
  padding-bottom: calc(5 * var(--bulma-column-gap));
}
.double-column-component .use-background {
  background-color: #f1f1f1;
}
.double-column-component .content {
  max-width: 850px;
  margin: 0 auto;
  padding: 35px 50px 25px 50px;
}
.double-column-component .content.center-content-vertically {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.feature-vertical-component {
  /* Override the '.section' Bulma defaults */
  padding-top: 0;
  /* Removing the padding left and right pushes the image and content container out to the edge of the smaller screen. */
  padding-left: 0;
  padding-right: 0;
  padding-bottom: calc(5 * var(--bulma-column-gap));
  background-color: #fff;
}
.feature-vertical-component .columns {
  /*margin-inline-start: 0;
  margin-inline-end: 0;*/
  flex-direction: column;
  margin-top: 0;
}
.feature-vertical-component .columns:last-child {
  margin-bottom: 0;
}
.feature-vertical-component .image-wrapper {
  display: flex;
  line-height: 0;
  padding: 0;
}
.feature-vertical-component .image-wrapper .content {
  /* Add sizes so object-fit and aspect ratio applied to the image will work. */
  width: 100%;
  height: 100%;
}
.feature-vertical-component .image-wrapper img {
  object-fit: cover;
}
.feature-vertical-component .text-wrapper {
  background: #f1f1f1;
}
.feature-vertical-component .text-wrapper .content {
  max-width: 900px;
  padding: 50px 70px;
  margin-top: calc(2 * var(--bulma-column-gap));
  margin-bottom: calc(2 * var(--bulma-column-gap));
  margin-left: auto;
  margin-right: auto;
}
.feature-vertical-component .text-wrapper .content strong {
  font-weight: 700;
}
.feature-vertical-component .text-wrapper .content h4 strong {
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .feature-vertical-component .text-wrapper .content {
    padding-top: 50px;
    padding-bottom: 50px;
    padding-left: calc(3 * var(--bulma-column-gap));
    padding-right: calc(3 * var(--bulma-column-gap));
  }
}
@media screen and (max-width: 1023px) {
  .feature-vertical-component .text-wrapper .fancy-corner-box.top-left {
    margin-left: var(--bulma-column-gap);
  }
  .feature-vertical-component .text-wrapper .fancy-corner-box.bottom-right {
    margin-right: var(--bulma-column-gap);
  }
}

.feature-component {
  padding-top: 0;
  padding-bottom: calc(5 * var(--bulma-column-gap));
}
.feature-component .columns.is-gapless {
  background-color: #f1f1f1;
}
.feature-component .columns.is-gapless .fancy-corner-box {
  margin: var(--bulma-column-gap);
}
.feature-component .columns.is-gapless .fancy-corner-box span {
  border-color: #ccc;
}
.feature-component .feature-content-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  max-width: 700px;
  min-height: 400px;
}
.feature-component .content strong {
  font-weight: 700;
}
.feature-component .content h4 strong {
  font-weight: 500;
}
.feature-component .feature-title {
  margin-bottom: 2rem;
}
.feature-component .feature-subtitle {
  margin-top: -1.25rem !important;
  margin-bottom: 2rem;
}
.feature-component .feature-button {
  margin-top: 2rem;
}
.feature-component .feature-image-wrapper {
  width: 100%;
  height: 100%;
  /* max-width: 600px; */
  line-height: 0;
}
.feature-component .feature-image-wrapper.use-original {
  height: auto;
}
.feature-component .feature-image-wrapper img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  object-position: center center; /* default */
}
.feature-component .sp-non-parallax-wrapper,
.feature-component .sp-parallax-wrapper {
  overflow: hidden;
  /* 'aspect-ratio' is set in the template. */
}
@media screen and (max-width: 768px) {
  .feature-component {
    padding-left: 0;
    padding-right: 0;
  }
  .feature-component .feature-content-wrapper {
    padding-left: calc(4 * var(--bulma-column-gap));
    padding-right: calc(4 * var(--bulma-column-gap));
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .feature-component .fancy-corner-box.bottom-right,
  .feature-component .fancy-corner-box.bottom-left {
    display: none;
  }
  .feature-component .fancy-corner-box.large.top-left {
    margin-left: var(--bulma-column-gap);
  }
  .feature-component .fancy-corner-box.large.top-right {
    margin-right: var(--bulma-column-gap);
  }
}
@media screen and (min-width: 769px) {
  .feature-component .feature-content-wrapper {
    padding-left: calc(2 * var(--bulma-column-gap));
    padding-right: calc(2 * var(--bulma-column-gap));
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .feature-component .is-gapless .feature-content-wrapper {
    padding-top: var(--bulma-column-gap);
    padding-bottom: var(--bulma-column-gap);
    padding-left: calc(3 * var(--bulma-column-gap));
    padding-right: calc(3 * var(--bulma-column-gap));
  }
  .feature-component .fancy-corner-box.top-left,
  .feature-component .fancy-corner-box.bottom-left {
    display: block;
  }
  .feature-component .fancy-corner-box.top-right,
  .feature-component .fancy-corner-box.bottom-right {
    display: none;
  }
  .feature-component .fancy-corner-box.top-left.reversed,
  .feature-component .fancy-corner-box.bottom-left.reversed {
    display: none;
  }
  .feature-component .fancy-corner-box.top-right.reversed,
  .feature-component .fancy-corner-box.bottom-right.reversed {
    display: block;
  }
}

/* Make sure link to full image is deactivated in the editor */
.cms-editor-active .lightgallery .column a {
  pointer-events: none;
}

.cms-editor-active .gallery-component .lightgallery .gallery-thumbnail-link {
  opacity: 1;
  scale: 1;
}

.gallery-component {
  padding-top: 0;
  padding-bottom: calc(5 * var(--bulma-column-gap));
  --vb-gallery-column-spacing: 2px;
  background-color: #fff;
  /* If multiple galleries, need some padding so the title isn't too vertically cramped. */
}
.gallery-component .gallery-title {
  text-transform: uppercase;
}
.gallery-component .gallery-title:not(.index-1) {
  padding-top: calc(5 * var(--bulma-column-gap));
}
.gallery-component .masonry-container {
  display: flex;
  flex-wrap: wrap;
  /* expandout to border of the container div, so acts like bulma .columns div. */
  /* The column spacing on the margins just pulls the column right out to the edge of the continaer div. */
  margin: calc(-1 * var(--vb-gallery-column-spacing));
}
.gallery-component .masonry-column {
  flex: 0 0 auto;
}
@media (max-width: 999px) {
  .gallery-component .masonry-column {
    width: 50%;
  }
  .gallery-component .masonry-column.column-order-3 {
    order: 4 !important;
  }
  .gallery-component .masonry-column.column-order-7 {
    order: 8 !important;
  }
  .gallery-component .masonry-column.column-order-11 {
    order: 12 !important;
  }
  .gallery-component .masonry-column.column-order-15 {
    order: 16 !important;
  }
  .gallery-component .masonry-column.column-order-19 {
    order: 20 !important;
  }
  .gallery-component .masonry-column.column-order-23 {
    order: 24 !important;
  }
  .gallery-component .masonry-column.column-order-27 {
    order: 28 !important;
  }
  .gallery-component .masonry-column.column-order-31 {
    order: 32 !important;
  }
  .gallery-component .masonry-column.column-order-35 {
    order: 36 !important;
  }
  .gallery-component .masonry-column.column-order-39 {
    order: 40 !important;
  }
  .gallery-component .masonry-column.column-order-43 {
    order: 44 !important;
  }
  .gallery-component .masonry-column.column-order-47 {
    order: 48 !important;
  }
  .gallery-component .masonry-column.column-order-51 {
    order: 52 !important;
  }
  .gallery-component .masonry-column.column-order-55 {
    order: 56 !important;
  }
  .gallery-component .masonry-column.column-order-59 {
    order: 60 !important;
  }
  .gallery-component .masonry-column.column-order-63 {
    order: 64 !important;
  }
  .gallery-component .masonry-column.column-order-67 {
    order: 68 !important;
  }
  .gallery-component .masonry-column.column-order-71 {
    order: 72 !important;
  }
  .gallery-component .masonry-column.column-order-75 {
    order: 76 !important;
  }
  .gallery-component .masonry-column.column-order-79 {
    order: 80 !important;
  }
  .gallery-component .masonry-column.column-order-83 {
    order: 84 !important;
  }
  .gallery-component .masonry-column.column-order-87 {
    order: 88 !important;
  }
  .gallery-component .masonry-column.column-order-91 {
    order: 92 !important;
  }
  .gallery-component .masonry-column.column-order-95 {
    order: 96 !important;
  }
  .gallery-component .masonry-column.column-order-99 {
    order: 100 !important;
  }
  .gallery-component .masonry-column.column-order-4 {
    order: 3 !important;
  }
  .gallery-component .masonry-column.column-order-8 {
    order: 7 !important;
  }
  .gallery-component .masonry-column.column-order-12 {
    order: 11 !important;
  }
  .gallery-component .masonry-column.column-order-16 {
    order: 15 !important;
  }
  .gallery-component .masonry-column.column-order-20 {
    order: 19 !important;
  }
  .gallery-component .masonry-column.column-order-24 {
    order: 23 !important;
  }
  .gallery-component .masonry-column.column-order-28 {
    order: 27 !important;
  }
  .gallery-component .masonry-column.column-order-32 {
    order: 31 !important;
  }
  .gallery-component .masonry-column.column-order-36 {
    order: 35 !important;
  }
  .gallery-component .masonry-column.column-order-40 {
    order: 39 !important;
  }
  .gallery-component .masonry-column.column-order-44 {
    order: 43 !important;
  }
  .gallery-component .masonry-column.column-order-48 {
    order: 47 !important;
  }
  .gallery-component .masonry-column.column-order-52 {
    order: 51 !important;
  }
  .gallery-component .masonry-column.column-order-56 {
    order: 55 !important;
  }
  .gallery-component .masonry-column.column-order-60 {
    order: 59 !important;
  }
  .gallery-component .masonry-column.column-order-64 {
    order: 63 !important;
  }
  .gallery-component .masonry-column.column-order-68 {
    order: 67 !important;
  }
  .gallery-component .masonry-column.column-order-72 {
    order: 71 !important;
  }
  .gallery-component .masonry-column.column-order-76 {
    order: 75 !important;
  }
  .gallery-component .masonry-column.column-order-80 {
    order: 79 !important;
  }
  .gallery-component .masonry-column.column-order-84 {
    order: 83 !important;
  }
  .gallery-component .masonry-column.column-order-88 {
    order: 87 !important;
  }
  .gallery-component .masonry-column.column-order-92 {
    order: 91 !important;
  }
  .gallery-component .masonry-column.column-order-96 {
    order: 95 !important;
  }
  .gallery-component .masonry-column.column-order-100 {
    order: 99 !important;
  }
}
@media (min-width: 1000px) and (max-width: 1599px) {
  .gallery-component .masonry-column {
    width: 33.333%;
  }
}
@media (min-width: 1600px) {
  .gallery-component .masonry-column {
    width: 25%;
  }
  .gallery-component .masonry-column.column-order-5 {
    order: 6 !important;
  }
  .gallery-component .masonry-column.column-order-7 {
    order: 8 !important;
  }
  .gallery-component .masonry-column.column-order-13 {
    order: 14 !important;
  }
  .gallery-component .masonry-column.column-order-15 {
    order: 16 !important;
  }
  .gallery-component .masonry-column.column-order-21 {
    order: 22 !important;
  }
  .gallery-component .masonry-column.column-order-23 {
    order: 24 !important;
  }
  .gallery-component .masonry-column.column-order-29 {
    order: 30 !important;
  }
  .gallery-component .masonry-column.column-order-31 {
    order: 32 !important;
  }
  .gallery-component .masonry-column.column-order-37 {
    order: 38 !important;
  }
  .gallery-component .masonry-column.column-order-39 {
    order: 40 !important;
  }
  .gallery-component .masonry-column.column-order-45 {
    order: 46 !important;
  }
  .gallery-component .masonry-column.column-order-47 {
    order: 48 !important;
  }
  .gallery-component .masonry-column.column-order-53 {
    order: 54 !important;
  }
  .gallery-component .masonry-column.column-order-55 {
    order: 56 !important;
  }
  .gallery-component .masonry-column.column-order-61 {
    order: 62 !important;
  }
  .gallery-component .masonry-column.column-order-63 {
    order: 64 !important;
  }
  .gallery-component .masonry-column.column-order-69 {
    order: 70 !important;
  }
  .gallery-component .masonry-column.column-order-71 {
    order: 72 !important;
  }
  .gallery-component .masonry-column.column-order-77 {
    order: 78 !important;
  }
  .gallery-component .masonry-column.column-order-79 {
    order: 80 !important;
  }
  .gallery-component .masonry-column.column-order-85 {
    order: 86 !important;
  }
  .gallery-component .masonry-column.column-order-87 {
    order: 88 !important;
  }
  .gallery-component .masonry-column.column-order-93 {
    order: 94 !important;
  }
  .gallery-component .masonry-column.column-order-97 {
    order: 98 !important;
  }
  .gallery-component .masonry-column.column-order-101 {
    order: 102 !important;
  }
  .gallery-component .masonry-column.column-order-103 {
    order: 104 !important;
  }
  .gallery-component .masonry-column.column-order-6 {
    order: 5 !important;
  }
  .gallery-component .masonry-column.column-order-8 {
    order: 7 !important;
  }
  .gallery-component .masonry-column.column-order-14 {
    order: 13 !important;
  }
  .gallery-component .masonry-column.column-order-16 {
    order: 15 !important;
  }
  .gallery-component .masonry-column.column-order-22 {
    order: 21 !important;
  }
  .gallery-component .masonry-column.column-order-24 {
    order: 23 !important;
  }
  .gallery-component .masonry-column.column-order-30 {
    order: 29 !important;
  }
  .gallery-component .masonry-column.column-order-32 {
    order: 31 !important;
  }
  .gallery-component .masonry-column.column-order-38 {
    order: 37 !important;
  }
  .gallery-component .masonry-column.column-order-40 {
    order: 39 !important;
  }
  .gallery-component .masonry-column.column-order-46 {
    order: 45 !important;
  }
  .gallery-component .masonry-column.column-order-48 {
    order: 47 !important;
  }
  .gallery-component .masonry-column.column-order-54 {
    order: 53 !important;
  }
  .gallery-component .masonry-column.column-order-56 {
    order: 55 !important;
  }
  .gallery-component .masonry-column.column-order-62 {
    order: 61 !important;
  }
  .gallery-component .masonry-column.column-order-64 {
    order: 63 !important;
  }
  .gallery-component .masonry-column.column-order-70 {
    order: 69 !important;
  }
  .gallery-component .masonry-column.column-order-72 {
    order: 71 !important;
  }
  .gallery-component .masonry-column.column-order-78 {
    order: 77 !important;
  }
  .gallery-component .masonry-column.column-order-80 {
    order: 79 !important;
  }
  .gallery-component .masonry-column.column-order-86 {
    order: 85 !important;
  }
  .gallery-component .masonry-column.column-order-88 {
    order: 87 !important;
  }
  .gallery-component .masonry-column.column-order-94 {
    order: 93 !important;
  }
  .gallery-component .masonry-column.column-order-98 {
    order: 97 !important;
  }
  .gallery-component .masonry-column.column-order-102 {
    order: 101 !important;
  }
  .gallery-component .masonry-column.column-order-104 {
    order: 103 !important;
  }
}
.gallery-component .masonry-column .masonry-image-wrapper {
  position: relative;
  display: block;
  padding: var(--vb-gallery-column-spacing);
  height: 400px;
}
.gallery-component .masonry-column .masonry-image-wrapper img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  border: 0;
  transition: transform 0.2s ease-in-out; /* Animation */
}
.gallery-component .masonry-column .masonry-image-wrapper img:hover {
  transform: scale(0.9);
}
.gallery-component .masonry-column.half-height .masonry-image-wrapper {
  height: 200px;
}
.gallery-component .lightgallery .gallery-thumbnail-link {
  opacity: 0;
  scale: 0.9;
  line-height: 0;
}
.gallery-component i.fa-magnifying-glass {
  position: absolute;
  bottom: 20px;
  right: 20px;
  color: #fff;
  font-size: 18px;
  text-shadow: 2px 2px #333;
}
.gallery-component .number {
  position: absolute;
  z-index: 1000;
  top: 7px;
  left: 7px;
  color: #fff;
  padding: 10px;
  background: rgba(0, 0, 0, 0.4);
}

:root {
  --bulma-body-line-height: 1.7;
  --bulma-family-primary: "Nunito Sans", sans-serif;
  --bulma-family-secondary: "Nunito Sans", sans-serif;
  --bulma-body-color: #333333;
  --bulma-link: #333333;
  --bulma-body-background-color: #ffffff;
}

.cms-editor-active .hero-wrapper .hero-mask,
.cms-editor-active .hero-wrapper .preloader-section-mask {
  opacity: 0;
  pointer-events: none;
}

.cms-editor-active .hero-wrapper .content * {
  opacity: 1 !important;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/* Overidde the normal padding for the first section item */
/* so that the top of the carousel image is tucked under the nav bar on larger screens and no-gap with nav-bar on mobile. */
.section.hero-component:first-of-type .first-of-type-section-spacer {
  padding-top: 60px !important;
}

@media screen and (max-width: 1024px) {
  .section.hero-component:first-of-type .first-of-type-section-spacer {
    padding-top: 0 !important;
  }
}
/* If this is the first section component on the page (eg. home page), then a page-title component will be underneath.
   To keep vertical spacing of the page-title consistent, remove the bottom padding of the carousel component. */
main:first-of-type .section.hero-component {
  padding-bottom: 0 !important;
}

.hero-component {
  position: relative;
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: calc(5 * var(--bulma-column-gap));
}
.hero-component .overflow-mask,
.hero-component .sp-parallax-wrapper {
  overflow: hidden;
}
.hero-component .hero-image,
.hero-component .feature-image-wrapper {
  width: 100%;
  height: 100%;
  line-height: 0;
}
.hero-component .hero-image img,
.hero-component .feature-image-wrapper img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.hero-component .container {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
}
.hero-component .columns,
.hero-component .column,
.hero-component .content {
  height: 100%;
}
.hero-component .columns {
  margin-top: 0;
  width: 100%;
}
.hero-component .column {
  padding-top: 0;
  padding-bottom: 0;
}
.hero-component .content {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
  padding: 40px 0 60px 0;
}
@media screen and (max-width: 768px) {
  .hero-component .small-vh-100 {
    height: 100vh;
  }
  .hero-component .small-vh-95 {
    height: 95vh;
  }
  .hero-component .small-vh-85 {
    height: 85vh;
  }
  .hero-component .small-vh-75 {
    height: 75vh;
  }
  .hero-component .small-vh-65 {
    height: 65vh;
  }
  .hero-component .small-vh-55 {
    height: 55vh;
  }
  .hero-component .small-vh-50 {
    height: 50vh;
  }
  .hero-component .small-vh-45 {
    height: 45vh;
  }
  .hero-component .small-vh-40 {
    height: 40vh;
  }
  .hero-component .small-px-1000 {
    height: 1000px;
  }
  .hero-component .small-px-950 {
    height: 950px;
  }
  .hero-component .small-px-850 {
    height: 850px;
  }
  .hero-component .small-px-750 {
    height: 750px;
  }
  .hero-component .small-px-650 {
    height: 650px;
  }
  .hero-component .small-px-550 {
    height: 550px;
  }
  .hero-component .small-px-500 {
    height: 500px;
  }
  .hero-component .small-px-450 {
    height: 450px;
  }
  .hero-component .small-px-400 {
    height: 400px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .hero-component .medium-vh-100 {
    height: 100vh;
  }
  .hero-component .medium-vh-95 {
    height: 95vh;
  }
  .hero-component .medium-vh-85 {
    height: 85vh;
  }
  .hero-component .medium-vh-75 {
    height: 75vh;
  }
  .hero-component .medium-vh-65 {
    height: 65vh;
  }
  .hero-component .medium-vh-55 {
    height: 55vh;
  }
  .hero-component .medium-vh-50 {
    height: 50vh;
  }
  .hero-component .medium-vh-45 {
    height: 45vh;
  }
  .hero-component .medium-vh-40 {
    height: 40vh;
  }
  .hero-component .medium-px-1000 {
    height: 1000px;
  }
  .hero-component .medium-px-950 {
    height: 950px;
  }
  .hero-component .medium-px-850 {
    height: 850px;
  }
  .hero-component .medium-px-750 {
    height: 750px;
  }
  .hero-component .medium-px-650 {
    height: 650px;
  }
  .hero-component .medium-px-550 {
    height: 550px;
  }
  .hero-component .medium-px-500 {
    height: 500px;
  }
  .hero-component .medium-px-450 {
    height: 450px;
  }
  .hero-component .medium-px-400 {
    height: 400px;
  }
}
@media screen and (min-width: 1024px) {
  .hero-component .large-vh-100 {
    height: calc(100vh - var(--main-container-top-padding));
  }
  .hero-component .large-vh-95 {
    height: calc(95vh - var(--main-container-top-padding));
  }
  .hero-component .large-vh-85 {
    height: 85vh;
  }
  .hero-component .large-vh-75 {
    height: 75vh;
  }
  .hero-component .large-vh-65 {
    height: 65vh;
  }
  .hero-component .large-vh-55 {
    height: 55vh;
  }
  .hero-component .large-vh-50 {
    height: 50vh;
  }
  .hero-component .large-vh-45 {
    height: 45vh;
  }
  .hero-component .large-vh-40 {
    height: 40vh;
  }
  .hero-component .large-px-1000 {
    height: 1000px;
  }
  .hero-component .large-px-950 {
    height: 950px;
  }
  .hero-component .large-px-850 {
    height: 850px;
  }
  .hero-component .large-px-750 {
    height: 750px;
  }
  .hero-component .large-px-650 {
    height: 650px;
  }
  .hero-component .large-px-550 {
    height: 550px;
  }
  .hero-component .large-px-500 {
    height: 500px;
  }
  .hero-component .large-px-450 {
    height: 450px;
  }
  .hero-component .large-px-400 {
    height: 400px;
  }
}

.hero-component-constrained {
  position: relative;
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: calc(3 * var(--bulma-column-gap));
  /* Adjust so the semi-opaque mask fits perfectly over the image (img) */
}
.hero-component-constrained .oveflow-mask,
.hero-component-constrained .sp-parallax-wrapper {
  overflow: hidden;
}
.hero-component-constrained .hero-image-wrapper {
  position: relative;
}
.hero-component-constrained .hero-image-wrapper .column {
  padding-top: 0;
  padding-bottom: 0;
}
.hero-component-constrained .hero-image,
.hero-component-constrained .feature-image-wrapper {
  width: 100%;
  height: 100%;
  line-height: 0;
}
.hero-component-constrained .hero-image img,
.hero-component-constrained .feature-image-wrapper img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.hero-component-constrained .text-wrapper {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.hero-component-constrained .content {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
  padding: 60px 40px;
  height: 100%;
}

.hero-wrapper {
  /* --- SLIDE FADE IN --- */
  /* --- OVERLAY TEXT --- */
}
.hero-wrapper .content.top-left {
  justify-content: start;
}
.hero-wrapper .content.center-left {
  justify-content: center;
}
.hero-wrapper .content.bottom-left {
  justify-content: end;
}
.hero-wrapper .content.top-right {
  justify-content: start;
  text-align: right;
}
.hero-wrapper .content.center-right {
  justify-content: center;
  text-align: right;
}
.hero-wrapper .content.bottom-right {
  justify-content: end;
  text-align: right;
}
.hero-wrapper .content.top-center {
  justify-content: start;
  text-align: center;
}
.hero-wrapper .content.center-center {
  justify-content: center;
  text-align: center;
}
.hero-wrapper .content.bottom-center {
  justify-content: end;
  text-align: center;
}
.hero-wrapper .hero-fade-in {
  animation-name: hero-fade-in;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}
@keyframes hero-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.hero-wrapper .hero-title {
  color: #fff;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
  padding: 0 20px;
  opacity: 0;
  -webkit-transform: translateY(-10px);
  transform: translateY(-10px);
  -webkit-transition: opacity 800ms, -webkit-transform 600ms;
  transition: transform 800ms, opacity 600ms;
  -webkit-transition-delay: 1s; /* Safari */
  transition-delay: 1s;
  font-family: "Nunito", sans-serif;
  text-transform: uppercase;
}
.hero-wrapper .hero-sub-title {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  padding: 0 20px;
  opacity: 0;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: opacity 800ms, -webkit-transform 600ms;
  transition: transform 800ms, opacity 600ms;
  -webkit-transition-delay: 1.45s; /* Safari */
  transition-delay: 1.45s;
  font-family: "Nunito", sans-serif;
}
@media screen and (min-width: 769px) {
  .hero-wrapper .hero-title {
    font-size: 2.5rem;
  }
  .hero-wrapper .hero-sub-title {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1024px) {
  .hero-wrapper .hero-title {
    font-size: 4rem;
  }
  .hero-wrapper .hero-sub-title {
    font-size: 2rem;
  }
}
.hero-wrapper .hero-fade-in .hero-title {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}
.hero-wrapper .hero-fade-in .hero-sub-title {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}
.hero-wrapper .hero-gradient {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.hero-wrapper .hero-gradient.top-left {
  background: linear-gradient(315deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 100%);
}
.hero-wrapper .hero-gradient.center-left {
  background: linear-gradient(270deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 100%);
}
.hero-wrapper .hero-gradient.bottom-left {
  background: linear-gradient(225deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 100%);
}
.hero-wrapper .hero-gradient.top-right {
  background: linear-gradient(45deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 100%);
}
.hero-wrapper .hero-gradient.center-right {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 100%);
}
.hero-wrapper .hero-gradient.bottom-right {
  background: linear-gradient(135deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 100%);
}
.hero-wrapper .hero-gradient.top-center {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 100%);
}
.hero-wrapper .hero-gradient.center-center {
  background: radial-gradient(circle, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0) 100%);
}
.hero-wrapper .hero-gradient.bottom-center {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 100%);
}
.hero-wrapper .hero-grid {
  background: url(/uploads/theme/grid-overlay.png);
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  opacity: 0;
}
.hero-wrapper .hero-grid-fade-in {
  animation-name: hero-fade-in;
  animation-duration: 2s;
  animation-delay: 0.5s;
  animation-fill-mode: forwards;
}

.page-title-component {
  padding-top: calc(4 * var(--bulma-column-gap));
  padding-bottom: calc(4 * var(--bulma-column-gap));
}
.page-title-component h1 {
  margin: 0;
  padding: 0;
}
.page-title-component h4 a {
  color: #006eb9;
}
.page-title-component h3.project-year {
  margin-top: 0.6em !important;
  margin-bottom: 0 !important;
}

.single-column-component {
  padding-top: 0;
  padding-bottom: calc(5 * var(--bulma-column-gap));
}
.single-column-component .use-background {
  background-color: #f1f1f1;
}
.single-column-component .content {
  max-width: 850px;
  margin: 0 auto;
  padding: 35px 50px 25px 50px;
}
.single-column-component .content strong {
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .single-column-component {
    padding-left: var(--bulma-column-gap);
    padding-right: var(--bulma-column-gap);
  }
}

.team-component {
  /* this should give spacing of 2 x coumn gaps between the component items */
  padding-top: calc(2 * var(--bulma-column-gap));
}
.team-component .columns {
  background-color: #f1f1f1;
  margin-inline-start: 0; /*calc(-1 * var(--bulma-column-gap)) */
  margin-inline-end: 0; /* calc(-1 * var(--bulma-column-gap)); */
  margin-top: 0; /* calc(-1 * var(--bulma-column-gap)); */
  margin-bottom: 0; /* calc(-1 * var(--bulma-column-gap)); */
}
.team-component .column {
  padding: calc(2 * var(--bulma-column-gap));
}
.team-component .member-text-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: calc(2 * var(--bulma-column-gap));
  max-width: 650px;
}
.team-component .team-name {
  margin-top: 0 !important;
}
.team-component .team-title {
  margin-top: 0 !important;
  margin-bottom: 2rem;
  font-size: 130%;
}
.team-component .image-wrapper {
  width: 100%;
  max-width: 600px;
  line-height: 0;
}
.team-component .image-wrapper img {
  object-position: center center; /* The default */
}

}