/* Bootstrap Overrides */
.container {
  max-width: 1320px; }

.btn {
  border-radius: 1.25rem; }

.btn-primary {
  background-color: #f5f88c;
  border-color: #f5f88c;
  color: #222231; }

.btn-check:active + .btn-primary,
.btn-check:checked + .btn-primary,
.btn-primary.active,
.btn-primary:active,
.show > .btn-primary.dropdown-toggle,
.btn-check:focus + .btn-primary,
.btn-primary:focus,
.btn-primary:hover {
  background-color: #FFF;
  border-color: #FFF;
  color: #222231; }

.btn-outline-primary {
  border-color: #222231;
  color: #222231; }

.btn-outline-primary:hover,
.btn-check:active + .btn-outline-primary,
.btn-check:checked + .btn-outline-primary,
.btn-outline-primary.active,
.btn-outline-primary.dropdown-toggle.show,
.btn-outline-primary:active {
  border-color: #222231;
  background-color: #222231;
  color: #f5f88c; }

.btn-outline-secondary {
  border-color: #f5f88c;
  color: #f5f88c; }
  .btn-outline-secondary:hover {
    background-color: #f5f88c;
    border-color: #333646;
    color: #333646; }

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  font-weight: 600; }

/* Bootstrap Extensions */
.bg-mid-blue {
  background-color: #333646; }

.bg-dark-blue {
  background-color: #222231; }

.bg-yellow {
  background-color: #f5f88c; }

.bg-pink {
  background-color: #f48eb5; }

.bg-light-blue {
  background-color: #8fe7f2; }

.bg-light-green {
  background-color: #97ed8e; }

.bg-hover-white {
  transition-property: background-color;
  transition-duration: 0.2s; }

a:hover .bg-hover-white {
  background-color: white; }

.grayscale {
  mix-blend-mode: multiply;
  filter: grayscale(100%);
  transition-property: all;
  transition-duration: 0.2s; }

a:hover .grayscale {
  filter: grayscale(0);
  background-color: #FFF; }

.links-white a,
a.links-white {
  color: #FFF; }
  .links-white a:hover,
  a.links-white:hover {
    color: #f5f88c; }
  .links-white a .btn-outline-secondary,
  a.links-white .btn-outline-secondary {
    color: #f5f88c; }
    .links-white a .btn-outline-secondary:hover,
    a.links-white .btn-outline-secondary:hover {
      color: #333646; }

.text-yellow {
  color: #f5f88c; }

.links-yellow a,
a.links-yellow {
  color: #f5f88c;
  border-bottom: 1px dashed #f5f88c;
  text-decoration: none; }
  .links-yellow a:hover,
  a.links-yellow:hover {
    color: #FFF;
    border-bottom-color: #FFF; }

a.links-hover-pink:hover,
.links-hover-pink a:hover {
  color: #f48eb5; }

a.links-hover-green:hover,
.links-hover-green a:hover {
  color: #97ed8e; }

a.links-hover-blue:hover,
.links-hover-blue a:hover {
  color: #8fe7f2; }

.links-hover-rise a {
  transition-property: transform;
  transition-duration: 0.2s; }
  .links-hover-rise a:hover {
    transform: translateY(-1rem); }

/* WordPress Selectors */
/* Custom Styles */
body {
  text-rendering: optimizeLegibility;
  font-family: sofia-pro, sans-serif;
  color: #222231; }

a {
  transition-property: color border-color background-color;
  transition-duration: 0.2s;
  color: #333646;
  text-decoration: none;
  border-bottom: 1px dashed #333646; }
  a:hover {
    color: #222231; }

hr.small {
  width: 40px;
  height: 4px;
  opacity: 1;
  display: inline-block;
  transition-property: color border-color;
  transition-duration: 0.2s; }

@media screen and (min-width: 576px) {
  .awaken {
    transform: translateY(100px);
    opacity: 0;
    transition-property: all;
    transition-duration: 1s; }
    .awaken.in-viewport {
      transform: translateY(0);
      opacity: 1; } }

header {
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1000;
  transition-property: background-color;
  transition-duration: 0.2s; }
  header a {
    border: none; }
  header:hover {
    background-color: #333646; }

#mobile-menu-open {
  color: #f5f88c; }

#mobile-menu-wrap {
  position: fixed;
  z-index: 10;
  width: 100%;
  max-width: 250px;
  top: 0;
  right: 0;
  height: 100vh;
  transform: translateX(100%);
  transition-property: transform;
  transition-duration: 0.2s;
  color: #f5f88c; }
  #mobile-menu-wrap #mobile-menu-close {
    position: absolute;
    top: 0.8rem;
    right: 1.2rem; }
  #mobile-menu-wrap a {
    color: #f5f88c;
    text-decoration: none; }

body.mobile-menu-active #mobile-menu-wrap {
  transform: translateX(0); }

#desktop-menu-wrap {
  display: flex;
  align-items: center; }
  #desktop-menu-wrap #desktop-menu {
    display: flex;
    align-items: center; }
    #desktop-menu-wrap #desktop-menu .sub-menu {
      display: none;
      position: absolute;
      top: 100%;
      left: 0;
      background-color: #333646; }
    #desktop-menu-wrap #desktop-menu > li {
      margin-left: 1rem; }
      #desktop-menu-wrap #desktop-menu > li > a {
        text-decoration: none;
        color: #f5f88c;
        padding: 31px 0.5rem; }
      #desktop-menu-wrap #desktop-menu > li:hover > a {
        color: #FFF;
        background-color: #222231; }
      #desktop-menu-wrap #desktop-menu > li:hover > .sub-menu {
        display: flex; }
      #desktop-menu-wrap #desktop-menu > li .sub-menu {
        position: absolute;
        top: 100%;
        left: 0;
        background-color: #222231; }
      #desktop-menu-wrap #desktop-menu > li li {
        display: none; }

section.banner_rotator .overlay-text-wrap {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  z-index: 100; }
  @media screen and (min-width: 992px) {
    section.banner_rotator .overlay-text-wrap {
      position: absolute; } }
  section.banner_rotator .overlay-text-wrap .overlay-text {
    font-weight: 400; }
    @media screen and (min-width: 992px) {
      section.banner_rotator .overlay-text-wrap .overlay-text {
        max-width: 470px; } }
    section.banner_rotator .overlay-text-wrap .overlay-text a {
      font-weight: bold;
      text-decoration: none;
      border-bottom: 1px dotted #FFF; }
      section.banner_rotator .overlay-text-wrap .overlay-text a:hover {
        color: #f5f88c;
        border-color: #f5f88c; }
      section.banner_rotator .overlay-text-wrap .overlay-text a[href^="/projects/healthcare"].focus {
        border-color: #f5f88c; }
      section.banner_rotator .overlay-text-wrap .overlay-text a[href^="/projects/healthcare"]:hover {
        border-color: #f5f88c;
        color: #f5f88c; }
      section.banner_rotator .overlay-text-wrap .overlay-text a[href^="/projects/residential"].focus {
        border-color: #f48eb5; }
      section.banner_rotator .overlay-text-wrap .overlay-text a[href^="/projects/residential"]:hover {
        border-color: #f48eb5;
        color: #f48eb5; }
      section.banner_rotator .overlay-text-wrap .overlay-text a[href^="/projects/commercial"].focus {
        border-color: #97ed8e; }
      section.banner_rotator .overlay-text-wrap .overlay-text a[href^="/projects/commercial"]:hover {
        border-color: #97ed8e;
        color: #97ed8e; }
      section.banner_rotator .overlay-text-wrap .overlay-text a[href^="/projects/leisure"].focus {
        border-color: #8fe7f2; }
      section.banner_rotator .overlay-text-wrap .overlay-text a[href^="/projects/leisure"]:hover {
        border-color: #8fe7f2;
        color: #8fe7f2; }
section.yellow_image_text .responsive-bg {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: right top;
  opacity: 0.3; }
  @media screen and (min-width: 992px) {
    section.yellow_image_text .responsive-bg {
      opacity: 1; } }

footer {
  font-size: 0.8rem; }
