.fixedcompile {
  color: white;
}

body {
  background: #F5F1EA;
}

ul {
  margin: 0;
  padding: 0;
  padding-left: 20px;
}

.page {
  margin: 0;
}

.container {
  max-width: calc(1600px + 5%);
  padding: 0 5%;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}

@media screen and (max-width: 1050px) {
  .container {
    padding: 0 3%;
  }
}

.container-sm {
  max-width: calc(1200px + 5rem);
  padding: 0 5rem;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}

@media screen and (max-width: 1050px) {
  .container-sm {
    padding: 0 3%;
  }
}

.section-spacing {
  padding: 7rem 0;
}

@media screen and (max-width: 1050px) {
  .section-spacing {
    padding: 4rem 0;
  }
}

.rounded {
  border-radius: 5px;
  overflow: hidden;
}

.fade {
  opacity: 0;
}

.relative {
  position: relative;
}

.intro-text {
  padding-bottom: 3rem;
}

.intro-text.flex {
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.intro-text.flex .txt-wrp {
  max-width: 70%;
}

@media only screen and (max-width: 900px) {
  .intro-text.flex {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }
  .intro-text.flex .txt-wrp {
    max-width: 100%;
  }
}

.intro-text h2 {
  margin: 0;
}

.intro-text p {
  margin: 0;
}

.center, .centered {
  text-align: center;
}

.center *, .centered * {
  text-align: center;
}

.uppercase {
  text-transform: uppercase;
}

.overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  background: #2F383F;
  opacity: 0.8;
}

.overlay.nav-overlay {
  background: linear-gradient(180deg, #454E54 0%, rgba(153, 173, 186, 0) 100%);
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 300px;
  z-index: 3;
}

.columns {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 2rem;
}

.columns.align-center {
  align-items: center;
}

.columns .col.image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  min-height: 400px;
}

.columns .col.text {
  padding-right: 5rem;
}

.columns.half-cols .col {
  width: calc(50% - 1rem);
}

.columns.half-cols.reverse {
  flex-direction: row-reverse;
}

.columns.half-cols.reverse .col.text {
  padding-right: 0;
  padding-left: 5rem;
}

@media only screen and (max-width: 1050px) {
  .columns.half-cols .col {
    width: 100%;
  }
  .columns.half-cols .col.text {
    padding-right: 0;
    padding-left: 0;
  }
  .columns.half-cols.reverse {
    flex-direction: row;
  }
  .columns.half-cols.reverse .col.text {
    padding-right: 0;
    padding-left: 0;
  }
}

.columns.third-cols .col {
  width: calc(33.33% - 1.5rem);
}

@media only screen and (max-width: 1050px) {
  .columns.third-cols .col {
    width: calc(50% - 1rem);
  }
}

@media only screen and (max-width: 900px) {
  .columns.third-cols .col {
    width: 100%;
  }
}

.columns.quarter-cols .col {
  width: calc(25% - 1.5rem);
}

@media only screen and (max-width: 1050px) {
  .columns.quarter-cols .col {
    width: calc(50% - 1rem);
  }
}

.columns.five-cols .col {
  width: calc(20% - 1.6rem);
}

#team .team-inner .team-members .team-member .team-image {
  position: relative;
  height: 0;
  padding-top: 85%;
}

#team .team-inner .team-members .team-member .team-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  z-index: 2;
}

#team .team-inner .team-members .team-member h2 {
  margin-bottom: 0;
  color: #2F383F !important;
  margin-top: 20px;
}

#team .team-inner .team-members .team-member h3 {
  margin-top: 0;
  padding-bottom: 15px;
  width: 100%;
  border-bottom: 1px solid #e3e3e3;
  font-weight: 600;
}

#team .team-inner .team-members .team-member p {
  margin: 15px 0 20px 0;
}

.dark-sect {
  background: linear-gradient(180deg, #525A60 0%, #303A41 100%);
}

.dark-sect .text-collage-inner .col.text *:not(.small-heading, .custom-button) {
  color: #F5F1EA;
}

.dark-sect #team .team-inner .intro-text .secondary-heading {
  color: #F5F1EA;
}

.dark-sect #team .team-inner .intro-text .custom-button {
  display: none;
}

.dark-sect #team .team-inner .team-members .team-member h2 {
  color: #E1AE7D !important;
}

.dark-sect #team .team-inner .team-members .team-member h3 {
  color: #F5F1EA;
  border-bottom: 1px solid #595959;
  font-weight: 600;
}

.dark-sect #team .team-inner .team-members .team-member p {
  color: #F5F1EA;
}

#page-banner {
  background: linear-gradient(180deg, #525A60 0%, #303A41 100%);
  position: relative;
}

#page-banner .banner-texture {
  position: absolute;
  width: 50%;
  height: 100%;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 2;
}

@media only screen and (max-width: 900px) {
  #page-banner .banner-texture {
    width: 100%;
  }
}

#page-banner .page-banner-inner {
  align-items: stretch;
  justify-content: space-between;
  gap: 0;
}

#page-banner .page-banner-inner .col {
  width: 50%;
}

#page-banner .page-banner-inner .col.text {
  padding-top: 20%;
  padding-bottom: 3rem;
  padding-left: 0;
  padding-right: 5rem;
}

#page-banner .page-banner-inner .col.text .text-content {
  max-width: 700px;
}

#page-banner .page-banner-inner .col.text .text-content *:not(.small-heading, .custom-button) {
  color: #F5F1EA;
}

#page-banner .banner-image {
  position: absolute;
  height: 100%;
  width: 50%;
  top: 0;
  right: 0;
  bottom: 0;
}

#page-banner .banner-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  z-index: 2;
}

@media only screen and (max-width: 900px) {
  #page-banner {
    display: flex;
    flex-direction: column;
  }
  #page-banner .banner-image {
    position: relative;
    height: 300px;
    width: 100%;
    order: 1;
  }
  #page-banner .page-banner-inner {
    display: block;
    order: 2;
  }
  #page-banner .page-banner-inner .col {
    width: 100%;
  }
  #page-banner .page-banner-inner .col.text {
    padding: 5rem 0 3rem 0;
  }
  #page-banner .page-banner-inner .col.text .text-content {
    max-width: 100%;
  }
}

.text-collage .text-collage-inner .col.collage {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(49%, 1fr));
  grid-auto-rows: 265px;
  gap: 2%;
}

@media only screen and (max-width: 900px) {
  .text-collage .text-collage-inner .col.collage {
    grid-auto-rows: 200px;
  }
}

.text-collage .text-collage-inner .col.collage .collage-item {
  position: relative;
  grid-column: span 1;
  grid-row: span 1;
}

.text-collage .text-collage-inner .col.collage .collage-item img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
}

.text-collage .text-collage-inner .col.collage.top-heavy .collage-item:first-of-type {
  grid-column: span 2;
}

.text-collage .text-collage-inner .col.collage.bot-heavy .collage-item:last-of-type {
  grid-column: span 2;
}

.text-collage .text-collage-inner .col img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  z-index: 2;
}

@media screen and (max-width: 900px) {
  .text-collage .text-collage-inner .col.collage {
    grid-template-columns: 1fr;
  }
}

#image-cta {
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  text-align: center;
}

#image-cta .image-cta-inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 10rem 5%;
  position: relative;
  z-index: 4;
}

#image-cta .image-cta-inner * {
  text-align: center;
}

#image-cta .image-cta-inner h1, #image-cta .image-cta-inner h2, #image-cta .image-cta-inner h3, #image-cta .image-cta-inner h4, #image-cta .image-cta-inner p, #image-cta .image-cta-inner span {
  color: #F5F1EA;
}

#contact .contact-inner {
  align-items: stretch;
  gap: 0;
}

#contact .contact-inner .map {
  height: auto;
  min-height: 400px;
  width: 50%;
}

#contact .contact-inner .map #map {
  height: 100%;
  width: 100%;
}

#contact .contact-inner .contact {
  padding: 5rem 3rem;
  width: 50%;
}

#contact .contact-inner .contact .form-wrap {
  padding-top: 3rem;
}

#contact .contact-inner .contact .form-wrap form .gform-body .gform_fields {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

#contact .contact-inner .contact .form-wrap form .gform-body .gfield {
  display: inline-block;
  width: 100%;
}

#contact .contact-inner .contact .form-wrap form .gform-body .gfield.half {
  width: calc(50% - 5px);
}

@media only screen and (max-width: 600px) {
  #contact .contact-inner .contact .form-wrap form .gform-body .gfield.half {
    width: 100%;
  }
}

#contact .contact-inner .contact .form-wrap form .gform-body .gfield input, #contact .contact-inner .contact .form-wrap form .gform-body .gfield textarea, #contact .contact-inner .contact .form-wrap form .gform-body .gfield select {
  background: transparent;
  border: 1px solid #2F383F;
  color: #525A60;
  width: 100%;
}

#contact .contact-inner .contact .form-wrap form #gform_submit_button_1 {
  text-decoration: none;
  padding: 10px 25px;
  background: #3E5E76;
  color: white;
  border-radius: 50px;
  transition: all 300ms ease;
  font-family: "Thasadith", sans-serif;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 15px;
  font-weight: 600;
}

#contact .contact-inner .contact .form-wrap form #gform_submit_button_1:after {
  content: '';
  display: inline-block;
  width: 20px;
  height: 10px;
  background: url("/2025-site/wp-content/themes/Longstone/img/arrow-light.svg") no-repeat;
  background-size: contain;
  margin-left: 15px;
  transition: all 200ms ease;
}

#contact .contact-inner .contact .form-wrap form #gform_submit_button_1:hover {
  background: #E1AE7D;
  color: #F5F1EA;
}

#contact .contact-inner .contact .form-wrap form #gform_submit_button_1:hover:after {
  transform: translateX(4px);
}

@media only screen and (max-width: 1050px) {
  #contact .contact-inner {
    flex-direction: column-reverse;
  }
  #contact .contact-inner .map, #contact .contact-inner .contact {
    width: 100%;
  }
  #contact .contact-inner .contact {
    padding: 5rem 3%;
  }
}
