:root {
  --header-menu-color-hover: #fff;
}
.hidden {
  display: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Futura LT W01 Medium Condensed", arial;
}
body {
  font-family: "Open Sans", arial, sans-serif;
}
.fa-w-10,
.fa-w-16,
.fa-w-18 {
  width: 1rem;
}

[id^="sub_error"],
[id^="error"] {
  color: red;
  font-size: 12px;
}
.gallery {
  margin-bottom: 1.5em;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
}
.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
  padding: 0.1%;
  vertical-align: middle;
  margin: 0;
}
.gallery-columns-5 .gallery-item {
  max-width: calc(20% - 15px);
}
.gallery-item img {
  max-width: 100%;
  height: auto;
}
.pull-right {
  float: right;
}

.section-search-form {
  padding: 24px 0;
}

@media (min-width: 992px) {
  .section-search-form {
    padding: 48px 0;
  }
}

.section-search-form .search-bar {
  padding: 0;
}

.section-sort .sort-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 0;
  border-top: 1px solid #a3a3a3;
}

.search-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 12px 0;
}

.search-bar__input {
  position: relative;
  max-width: 460px;
  width: 100%;
}

.search-bar__input input {
  height: 40px;
  line-height: 40px;
  width: 100%;
  padding: 9.5px 12px 9.5px 40px;
  border: 1px solid #404040;
}

.search-bar__input input:focus,
.search-bar__input input:active,
.search-bar__input input:focus-visible {
  outline: none;
}

.search-bar__input__icon {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
}

.search-bar__button {
  -webkit-flex-shrink: 0;
  -ms-flex: 0 0 auto;
  flex-shrink: 0;
}

.search-bar__button .btn {
  min-width: 95px;
  height: 40px;
}

.grecaptcha-badge {
  display: none;
}

@media screen and (min-width: 768px) {
  .footer__main .contact-info {
    text-align: right;
  }
}
.footer {
  font-size: 14px;
}
.footer a {
  color: var(--footer_color, #0060a9);
}
.footer a:hover {
  color: var(--footer_color_hover, #e2b820);
}
.footer-links span,
.footer-links a {
  margin: 0 5px 0 5px;
  font-size: 12px;
}
.footer-links a {
  color: var(--footer_color, #0060a9);
}
.footer-links a:hover {
  color: var(--footer_color_hover, #e2b820);
}

.footer .contact-info address {
  color: #363636;
  line-height: 2em;
}
.footer .contact-info h3 {
  color: #0060a9;
}
.section-hop_tac__content__title {
  font-size: 37px;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media (max-width: 767px) {
  .section-hop_tac__content__title {
    font-size: 28px;
  }
}

.social-icons .social {
  color: #fff;
  background-color: #0060a9;
  height: 35px;
  width: 35px;
  padding: 10px;
  font-size: 1.25em;
  margin-right: 5px;
  display: inline-block;
  text-align: center;
}
.social-icons .social:hover {
  background-color: #e2b820;
}
#copyright {
  margin-top: 10px;
  display: block;
}
@media (max-width: 991px) {
  .header__menu .header__main__logo {
    position: absolute;
    width: 70px;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
  }
  .header__main .logo,
  .header__main.sticky .logo {
    padding: 0;
  }
  .header__main.sticky {
    height: 70px;
  }
}
@media (min-width: 992px) {
  .header__menu {
    display: flex;
    align-items: center;
    gap: 48px;
  }
  .header__main .logo,
  .header__main.sticky .logo {
    width: 100px;
    padding: 0;
  }
  .header__main .logo img {
    box-shadow: 0px 0px 5px #333333;
    padding: 8px 12px;
    background: #fff;
  }
  .header .main-header .main-menu li .childMenu li a:hover {
    --header-menu-color-hover: #e2b820;
  }
}
.header .main-header .main-menu li .fa {
  margin-left: 8px;
}
.header__main .logo {
  position: relative;
  z-index: 9999;
}

.hero-wrapper {
  width: 100%;
  position: relative;
  z-index: 1;
}
/* line 7, ../sass/_hero.scss */
.hero-wrapper .hero-center {
  display: block;
  width: 100%;
  height: 60vh;
  overflow: hidden;
}
/* line 13, ../sass/_hero.scss */
.hero-wrapper .project-spotlight {
  height: 187px;
  width: 100%;
}
/* line 17, ../sass/_hero.scss */
.hero-wrapper #hero-img,
.hero-wrapper #front-hero-img {
  position: relative;
  top: -20px;
  height: 100%;
  /*Force uploaded hero images to be the full width of the container 
  when they're naturally smaller without programing in functions to 
  overwrite default featured image srcset behavior*/
}
/* line 24, ../sass/_hero.scss */
.hero-wrapper #hero-img img,
.hero-wrapper #front-hero-img img {
  min-width: 100% !important;
}
/* line 28, ../sass/_hero.scss */
.hero-wrapper .hero-images-top-shadow {
  width: 100%;
  height: 20px;
  z-index: 2;
  position: relative;
}
/* line 34, ../sass/_hero.scss */
.hero-wrapper .wooslider {
  margin: 0;
  border: 0;
  height: 100%;
  box-shadow: none;
}
/* line 39, ../sass/_hero.scss */
.hero-wrapper .wooslider .slides {
  height: 100%;
}
/* line 41, ../sass/_hero.scss */
.hero-wrapper .wooslider .slides > li {
  width: 100%;
  height: 100%;
}
/* line 46, ../sass/_hero.scss */
.hero-wrapper .wooslider .slide-content {
  margin: 0;
  height: 100%;
}
/* line 49, ../sass/_hero.scss */
.hero-wrapper .wooslider .slide-content > p {
  margin-bottom: 0;
  height: 100%;
  text-align: center;
}
/* line 53, ../sass/_hero.scss */
.hero-wrapper .wooslider .slide-content > p img {
  height: 100%;
  width: auto;
  max-width: none;
}
@media screen and (max-width: 768px) {
  /* line 62, ../sass/_hero.scss */
  .hero-wrapper .home .hero-center {
    height: 50vh;
  }
}
@media screen and (min-width: 767px) {
  /* line 69, ../sass/_hero.scss */
  .hero-wrapper .left-tiles,
  .hero-wrapper .right-tiles,
  .hero-wrapper .hero-images-top-shadow {
    box-shadow: inset 0px 7px 3px -3px rgba(0, 0, 0, 0.35);
  }
}
@media screen and (max-width: 1139px) {
  /* line 75, ../sass/_hero.scss */
  .hero-wrapper .left-tiles,
  .hero-wrapper .right-tiles {
    display: none;
  }
  /* line 78, ../sass/_hero.scss */
  .hero-wrapper .hero-center {
    height: 64vw;
  }
}
@media screen and (min-width: 1140px) {
  /* line 85, ../sass/_hero.scss */
  .hero-wrapper .hero-center {
    width: 1140px;
    margin: 0 auto;
    position: relative;
    z-index: 3;
    height: 742px;
  }
  /* line 91, ../sass/_hero.scss */
  .hero-wrapper .hero-center img {
    min-height: 742px;
  }
  /* line 95, ../sass/_hero.scss */
  .hero-wrapper .left-tiles,
  .hero-wrapper .right-tiles {
    position: absolute;
    z-index: 2;
    top: 0;
    height: 742px;
    background-repeat: repeat-x;
    width: 50%;
  }
  /* line 104, ../sass/_hero.scss */
  .hero-wrapper .left-tiles {
    background-image: url(../img/bkg-tiles-left.jpg);
    background-position: right center;
    background-repeat: no-repeat;
    left: 0;
  }
  /* line 110, ../sass/_hero.scss */
  .hero-wrapper .right-tiles {
    right: 0;
    background-image: url(../img/bkg-tiles-right.jpg);
    background-position: left center;
    background-repeat: no-repeat;
  }
}
.post-title {
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 500;
  color: #13181c;
}

.featured-projects-wrapper h2 {
  color: #fff;
  text-transform: uppercase;
  font-size: 3.35rem;
  margin: 2rem 0 1.25rem;
  font-weight: 500;
}
.project-image + h3 {
  margin-top: 20px;
  margin-bottom: 10px;
}
