/*
Theme Name: HSR Associates
Version: 1.0
Description: Custom theme
Author: DigiSage, Inc.
Author URI: https://digisage.com
template: bb-theme
*/

:root {
   --hsr-pagewidth: 1200px; /* must match global settings */
   --hsr-red: #ed1c24;
   --hsr-very-light-gray: #e2e1e2;
   --hsr-light-gray: #706F73;
   --hsr-dark-gray: #393738;
   --hsr-logo-full: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 169.016 69.846'><g transform='translate(84.508 34.923)'><g transform='translate(-84.508 -34.923)'><g transform='translate(114.88 0.179)'><path d='M142.556.142V25.649c-2.871,0-5.68-.177-8.461.031a21.418,21.418,0,0,0-19.88,21.466q0,10.337,0,20.672V69.8H88.532V67.85c0-9.073-.29-18.156.064-27.215.616-15.783,8.148-27.58,21.7-35.56A37.542,37.542,0,0,1,123.65.363a28.887,28.887,0,0,1,4.285-.212C132.752.128,137.569.142,142.556.142Z' transform='translate(-88.42 -0.138)' fill='%23ffffff'></path></g><g transform='translate(56.013 0.179)'><path d='M73.938,69.8c-.538-3.574-.781-7.082-1.631-10.437a36.1,36.1,0,0,0-13.4-20.021,40.34,40.34,0,0,1-15.392-25.1C42.694,9.7,43.378,4.883,43.378.138H68.7c.513,3.312.874,6.553,1.537,9.733A36.643,36.643,0,0,0,81.408,29.58c1.94,1.8,4.541,2.871,6.607,4.559A30.19,30.19,0,0,1,99.4,57.295c.164,4.123.027,8.255.027,12.509Z' transform='translate(-43.112 -0.138)' fill='%23ffffff'></path></g><g><path d='M0,69.845V0H25.556V69.845Z' fill='%23ffffff'></path></g><g transform='translate(27.94)'><path d='M21.5,69.845V0H47.06V69.845Z' transform='translate(-21.505)' fill='%23ffffff'></path></g></g></g></svg>");
   --hsr-logo-r: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1064 1368'><path d='M1063.038.087V500.953c-56.388,0-111.544-3.462-166.148.605-221.931,16.566-390.363,199.631-390.373,421.53V1368H2.188v-38.357c0-178.159-5.681-356.54,1.264-534.423,12.1-309.943,159.968-541.591,426.086-698.3C510.615,49.18,598.819,18.947,691.811,4.43,719.411.119,747.87.405,775.947.267,870.533-.2,965.108.087,1063.038.087' style='fill:%23ed1c24;'/></svg>");
   --hsr-logo-s: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1013 1252'><path d='M553.939,1251.832c-9.688-64.213-14.032-127.26-29.308-187.537-37.412-147.608-119.777-265.5-240.76-359.76C136.312,589.568,40.6,437.179,7.293,253.47-7.506,171.824,4.8,85.261,4.8,0H459.787c9.232,59.51,15.713,117.766,27.636,174.885C516.449,314,584.481,432.728,688.157,529.067c34.837,32.379,81.578,51.58,118.708,81.909,131.147,107.135,197.964,247.678,204.63,416.092,2.935,74.057.5,148.337.5,224.765Z' style='fill:%23ed1c24;'/></svg>");
   --hsr-icon-search: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M15.775,14.682l-3.4-3.4a6.953,6.953,0,1,0-1.091,1.091l3.4,3.4a.772.772,0,0,0,1.091-1.091M3.127,10.767a5.4,5.4,0,1,1,7.64,0,5.368,5.368,0,0,1-7.64,0' style='fill:%23706f73;'/></svg>");
}

/* general */

.pagewidth-bidding {
   width: 1160px;
   margin: 0 auto;
}
@media(max-width:1200px) {
   .pagewidth-bidding {
      width: 100%;
      margin: 0;
      padding: 0 20px;
   }
}

/* full-row padding to equalize content width */
.pad-left-pagewidth > .fl-col-content {
   padding-left: calc((100vw - var(--hsr-pagewidth)) / 2);
}
.pad-right-pagewidth > .fl-col-content {
   padding-right: calc((100vw - var(--hsr-pagewidth)) / 2);
}
@media(max-width:1340px) {
   .pad-left-pagewidth > .fl-col-content {
      padding-left: 0px;
   }
   .pad-right-pagewidth > .fl-col-content {
      padding-right: 0px;
   }
}

/* layering helpers */
.z-index-1 {
   position: relative;
   z-index: 1;
}
.z-index-5 {
   position: relative;
   z-index: 5;
}
.z-index-10 {
   position: relative;
   z-index: 10;
}

/* button (with hover effect to fill background color) */
.backfill-button a.fl-button {
   position: relative;
}
.backfill-button a.fl-button::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 0;
   left: 0;
   width: 10px;
   height: 100%;
   background: var(--hsr-red);
   transition: .3s;
}
.backfill-button a.fl-button span.fl-button-text {
   position: relative;
   z-index: 5;
}
.backfill-button a.fl-button:hover::before {
   width: 100%;
}
/* back-fill button with arrow on left side */
.backfill-button.arrow-left a.fl-button::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 7px;
   left: 15px;
   width: 0;
   height: 0;
   border-right: 10px solid var(--hsr-red);
   border-top: 10px solid transparent;
   border-bottom: 10px solid transparent;
   transition: .3s;
}
.backfill-button.arrow-left a.fl-button:hover::after {
   border-right-color: #fff;
}

/* button with bottom border that animates to full width */
.underline-button a.fl-button {
   position: relative;
}
.underline-button a.fl-button::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   bottom: 0;
   left: 0;
   width: 30px;
   height: 1px;
   background: var(--hsr-red);
   transition: .3s;
}
.underline-button a.fl-button:hover::after {
   width: 100%;
}


/* top row */

/* search (needs to be a menu so we can use the drop search feature) */
#top-row ul li.menu-item-object-page {
   display: none;
}
#top-row ul li.pp-menu-search-item a {
   position: relative;
   top: 9px;
   width: 20px;
   height: 20px;
   background-color: var(--hsr-light-gray) !important;
   mask-size: 16px auto;
   mask-repeat: no-repeat;
   mask-image: var(--hsr-icon-search);
   -webkit-mask-size: 16px auto;
   -webkit-mask-repeat: no-repeat;
   -webkit-mask-image: var(--hsr-icon-search);
}
#top-row ul li.pp-menu-search-item a span {
   display: none;
}
#top-row ul li.pp-menu-search-item a:hover {
   background-color: var(--hsr-red) !important;
}
#top-row .pp-search-form-wrap {
   transform: translateY(10px);
}
#top-row .pp-search-form-wrap label {
   display: none;
}
#top-row .pp-search-form-wrap input {
   font-size: 18px;
}

/* mobile search */
#masthead .mobile-search-col {
   display: none;
   position: absolute;
   z-index: 15;
   top: 0;
   right: 70px;
}
body.fl-builder-edit #masthead .mobile-search-col {
   display: block;
   position: static;
}
#masthead .mobile-search-col a.fl-button:hover {
   background: none !important;
}

@media(max-width:768px) {
   #top-row ul li.pp-menu-search-item a {
      top: 17px;
   }
}
@media(max-width:450px) {
   #top-row {
      display: none;
   }
   #masthead .mobile-search-col {
      display: block;
   }
}

/* masthead row */

/* create overhang of logo */
#masthead .logo-col .fl-module-photo {
   position: relative;
   z-index: 10;
}
#masthead .logo-col a {
   display: block;
   position: absolute;
   top: -30px;
   left: 0;
}
#masthead button.hamburger {
   border: none !important;
}
@media(max-width:450px) {
   #masthead .logo-col a {
      top: -20px;
   }
   #masthead .logo-col a img {
      width: 120px;
   }
   #masthead button.pp-advanced-menu-mobile-toggle {
      transform: translateY(5px);
   }
}

/* menu lines */
#masthead ul > li {
   position: relative;
}
#masthead nav > ul > li.menu-item-has-children:hover ul.sub-menu::before {
   content: '';
   display: block !important;
   position: absolute;
   z-index: 1;
   top: -32px;
   left: 18px;
   width: 2px;
   height: 0;
   background: var(--hsr-red);
   transition: .5s;
   animation: menuSidebar .4s;
   animation-fill-mode: forwards; /* keeps line visible on last frame */
}
#masthead ul li ul.sub-menu {
   padding-top: 20px;
   padding-bottom: 20px;
}
@keyframes menuSidebar {
   0% {
      height: 0px;
   }
   100% {
      height: calc(100% + 18px);
   }
}

/* flyout */
.pp-advanced-menu.off-canvas .pp-toggle-none .pp-menu-toggle:before {
   border-color: #fff !important;
}

/* team page (mostly trying to equalize the heights) */
body:not(.fl-builder-edit) .team-col > .fl-col-content {
   min-height: 100%;
   display: block !important;
}
body:not(.fl-builder-edit) .team-col > .fl-col-content .pp-member-wrapper {
   height: 100%;
   position: relative;
}
/* white space after team module */
.team-col > .fl-col-content .pp-member-wrapper::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   bottom: 1px;
   left: 0;
   width: 100%;
   height: 10px;
   background: #fff;
}
body:not(.fl-builder-edit) .team-col .team-module {
   height: 100%;
}
body:not(.fl-builder-edit) .team-col .team-module .fl-module-content {
   height: 100%;
}

/* pillar page */
.pillar-page-title-row {
   position: relative;
   z-index: 5;
}
.pillar-page-title-row .title-in-red {
   width: calc(100% - 380px) !important;
}
.pillar-page-title-row .title-col .fl-col-content {
   background-position: top 0px right 370px; /* adjust the red "R" in background */
}
.service-image .fl-photo-content {
   position: relative;
}
/* info box shadow */
.service-image .fl-photo-content::after {
   content: '';
   display: block;
   position: absolute;
   top: 0px;
   left: 50px;
   width: calc(100% - 80px);
   height: 160px;
   background: rgba(0,0,0,0.5);
}
/* this hides the SVG hairline space that show a slice of the bg image */
.services-conclusion .photo-with-mask .fl-module-box {
   background-position: left -1px center;
}
/* super large screens */
@media(min-width:2000px) {
   .pillar-page-title-row .title-col .fl-module-rich-text {
      padding-left: 4vw;
   }
}
/* normal breakpoints */
@media(max-width:1100px) {
   .pillar-page-title-row .title-in-red {
      width: calc(100% - 280px) !important;
   }
   .pillar-page-title-row .title-col .fl-col-content {
      background-position: top 0px right 270px;
   }
}
@media(max-width:900px) {
   .pillar-page-title-row .title-in-red {
      width: calc(100% - 180px) !important;
   }
   .pillar-page-title-row .title-col .fl-col-content {
      background-position: top 0px right 170px;
   }
}
@media(max-width:768px) {
   .pillar-page-title-row .title-in-red {
      width: 300px !important;
      float: left;
   }
   .pillar-page-title-row .title-spacer-col {
      width: 60% !important;
   }
   .pillar-page-title-row .title-col .fl-col-content {
      background-position: top 0px left -240px;
      background-size: 550px auto;
   }
   .service-image .fl-photo-content::after {
      left: 30px;
      width: calc(100% - 40px);
      height: 150px;
   }
   .services-conclusion .photo-with-mask .fl-module-box {
      background: none, inherit !important;
   }
}

/* careers page logos */
.career-icon img {
   height: 120px !important;
   width: auto !important;
}


/* blog section */

/* archive page - recent post short-code */
.recent-blog-post {
   display: flex;
   column-gap: 50px;
   align-items: center;
}
.recent-blog-post .thumb {
   position: relative;
   width: 50%;
   height: 350px;
}
/* faux shadow box */
.recent-blog-post .thumb::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 30px;
   left: calc(20% + 15px);
   width: 80%;
   height: calc(100% - 15px);
   background: var(--hsr-very-light-gray);
}
.recent-blog-post .thumb a {
   display: block;
   height: 100%;
   position: relative;
   z-index: 4;
   background-repeat: no-repeat;
   background-size: cover;
   background-position: center;
}
.recent-blog-post .article-intro {
   width: 50%;
}
.recent-blog-post .article-intro h2 {
   font-size: 28px;
   margin: 0 0 3px 0;
   padding: 0 0 15px 0;
   border-bottom: 1px solid var(--hsr-red);
}
.recent-blog-post .article-intro h2 a {
   color: var(--hsr-dark-gray);
   transition: .3s;
}
.recent-blog-post .article-intro h2 a:hover {
   color: var(--hsr-red);
}
.recent-blog-post .article-intro .post-date {
   color: #989898;
   font-size: 16px;
   margin-bottom: 30px;
}
.recent-blog-post .article-intro .post-excerpt {
   margin-bottom: 30px;
   color: var(--hsr-dark-gray);
}
.recent-blog-post .article-intro a.fl-button {
   font-size: 22px;
   padding: 12px 0 12px 0;
   color: #706F73;
   border: none;
   text-transform: none;
}
.recent-blog-post .article-intro a.fl-button:hover {
   background: none;
}
.recent-blog-post .article-intro a.fl-button:hover span {
   color: var(--hsr-red);
}
@media(max-width:768px) {
   .recent-blog-post {
      display: block;
      margin: 0 0 20px 0;
   }
   .recent-blog-post .thumb {
      width: 100%;
      height: auto;
      aspect-ratio: 5 / 3;
      margin: 0 0 20px 0;
   }
   .recent-blog-post .article-intro {
      width: 100%;
   }
   .recent-blog-post .article-intro .post-date {
      margin-bottom: 5px;
   }
   .recent-blog-post .article-intro .post-excerpt {
      margin-bottom: 0px;
   }
}

/* all blog posts loop */
.blog-insights-loop {
   position: relative;
}
.blog-insights-loop.with-bg-gray-box::after {
   content: '';
   display: block !important;
   position: absolute;
   z-index: 1;
   top: -40px;
   left: 70px;
   width: 100%;
   height: calc(100% + 80px);
   background: #f1f0f1;
}
.blog-insights-loop ul.fl-loop-grid {
   position: relative;
   z-index: 5;
}
.blog-insights-loop .fl-module-box .fl-module-html {
   width: 100%;
}
.blog-insights-loop .fl-module-box a.post-thumb {
   display: block;
   width: 100%;
   height: 100%;
   background-repeat: no-repeat;
   background-position: center;
   background-size: cover;
}
.blog-insights-loop .fl-module-box h3 a {
   transition: .2s;
}
.blog-insights-loop .fl-module-box h3 a:hover {
   color: var(--hsr-red);
}
@media(max-width: 768px) {
   .blog-insights-loop.with-bg-gray-box::after {
      display: none;
      background: #f1f0f1;
   }
   .blog-insights-loop .fl-module-box a.post-thumb {
      height: 250px;
   }
}

/* blog single */
/* this adjustment is to accommodate for extra padding that the Post Content module adds
   this allows the author to use either the back end OR BB on front end*/
body.single-post.fl-builder .blog-post-content > .fl-module-content {
   margin: 0 !important;
}
body.single-post.fl-builder .blog-post-content .fl-row-content-wrap {
   padding: 0 !important;
}

/* homepage */

#home-hero {
   position: relative;
}
#home-hero::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 100px;
   right: 0;
   width: 85px;
   height: 100%;
   background: var(--hsr-red);
}
#home-hero .hero-content-col {
   position: relative;
   z-index: 5;
}
@media(max-width:768px) {
   #home-hero .hero-content-col > .fl-col-content {
      display: flex;
      flex-direction: row;
   }
   #home-hero .hero-content-col > .fl-col-content .fl-module-box {
      display: block;
   }
   #home-hero .hero-content-col .fl-module-photo {
      width: 50%;
   }
   #home-hero .hero-content-col .fl-module-photo .fl-photo-content {
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      width: 100%;
      height: 100%;
      padding-bottom: 20px;
      align-items: flex-end;
   }
}
@media(max-width:480px) {
   #home-hero .hero-content-col .fl-module-box {
      width: 70%;
   }
   #home-hero .hero-content-col .fl-module-box h2 {
      margin-bottom: 0 !important;
   }
   #home-hero .hero-content-col .fl-module-photo {
      width: 30%;
   }
}

#excellence {
   position: relative;
}
#excellence::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 0px;
   right: 0;
   width: 85px;
   height: 100%;
   background: var(--hsr-red);
}
#excellence .highlight-text-onscroll {
   transition: .6s;
}
#excellence .highlight-text-onscroll.active {
   color: rgba(255,255,255,1);
}
#excellence .photo-col img {
   transform: translate(-40px,40px);
}
@media(max-width:580px) {
   #excellence .fl-col-group {
      display: block;
   }
   #excellence .text-col {
      width: 100% !important;
   }
   #excellence .text-col > .fl-col-content {
      padding-top: 40px;
      padding-bottom: 40px;
   }
   #excellence .photo-col {
      width: 100% !important;
   }
   #excellence .photo-col .fl-photo-content {
      height: 250px;
      overflow: hidden;
      width: 100%;
   }
   #excellence .photo-col img {
      transform: translate(0);
      object-fit: cover;
      width: 100%;
      height: 100%;
   }
}

#seventy-years > .fl-row-content-wrap {
   background-size: auto calc(100% - 100px);
}

/* projects */
/* big red S in background */
#projects > .fl-row-content-wrap::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 100px;
   left: calc(50% - 1100px);
   width: 100%;
   height: 100%;
   background: var(--hsr-logo-s);
   background-size: auto calc(100% + 50px);
   background-repeat: no-repeat;
   background-position: 0 0;
}
/* latest articles (archive filter row) */
#markets-filter {
   position: relative;
   z-index: 20;
}
#markets-filter button.toggle {
   position: relative;
   width: 200px;
   color: var(--hsr-light-gray);
   font-size: 18px;
   text-transform: uppercase;
   background: none;
   text-align: left;
   padding: 0 0 12px 0;
   border: none;
   border-bottom: 1px solid var(--hsr-red);
}
#markets-filter button.toggle::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 5px;
   right: 5px;
   width: 0px;
   height: 0px;
   border-left: 12px solid transparent;
   border-right: 12px solid transparent;
   border-top: 12px solid var(--hsr-red);
   transition: .4s;
}
#markets-filter button.toggle.active::after {
   transform: rotate(180deg);
   transform-origin: center;
}
#markets-filter .terms-select {
   position: absolute;
   display: none;
   width: 260px;
   background: #fff;
   top: 100%;
   left: 0;
   padding: 10px;
}
#markets-filter .terms-select button {
   line-height: 1;
   display: block;
   padding: 6px 0;
   font-size: 18px;
   text-align: left;
   text-transform: none;
   background: none;
   border: none;
   outline: none;
}
#markets-filter .terms-select button:hover {
   color: var(--hsr-red);
   text-decoration: none;
}

/* project grid */
.project-grid {
   position: relative;
   z-index: 10;
   display: grid;
   grid-template-columns: repeat(3,1fr);
   grid-auto-flow: row;
   row-gap: 20px;
   column-gap: 20px;
}
.project-grid.loading-ajax {
   background: url(assets/images/loading.gif) no-repeat center center;
}
.project-grid .grid-item a {
   display: flex;
   flex-direction: column;
   justify-content: center;
   padding: 20px 60px 20px 60px;
   width: 100%;
   height: 100%;
   aspect-ratio: 1 / 1;
   position: relative;
   overflow: hidden;
   background-repeat: no-repeat;
   background-position: center;
   background-size: cover;
}
.project-grid .grid-item a h3 {
   position: relative;
   font-size: 34px;
   line-height: 1.2;
   color: var(--hsr-dark-gray);
   z-index: 5;
   opacity: 0;
   transition: .8s;
   margin: 0;
   padding: 0 0 30px 0;
}
/* animated red line under heading in each box */
.project-grid .grid-item a h3::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 5;
   top: 100%;
   left: -50px;
   width: 100%;
   height: 1px;
   background: var(--hsr-red);
   opacity: 0;
   transition: 1.2s;
}
/* overlay big white "s" that fills background on hover */
body:not(.fl-builder-edit) .project-grid .grid-item a::after {
   content: '';
   display: block;
   position: absolute;
   opacity: 0.8;
   z-index: 1;
   top: -1px;
   left: -800px;
   width: 1300px;
   height: 1000px;
   background-color: #fff;
   mask-size: 100% auto;
   mask-repeat: no-repeat;
   mask-image: var(--hsr-logo-s);
   -webkit-mask-size: 100% auto;
   -webkit-mask-repeat: no-repeat;
   -webkit-mask-image: var(--hsr-logo-s);
   transition: .9s;
}
.project-grid .grid-item a:hover {
   text-decoration: none;
}
.project-grid .grid-item a:hover h3 {
   opacity: 1;
   text-decoration: none;
}
.project-grid .grid-item a:hover h3::after {
   left: 0;
   opacity: 1;
}
body:not(.fl-builder-edit) .project-grid .grid-item a:hover::after {
   left: -50px;
}
@media(max-width:992px) {
   .project-grid .grid-item a {
      padding: 20px;
   }
   .project-grid .grid-item a::after {
      display: none !important;
   }
   .project-grid .grid-item a h3 {
      position: absolute;
      width: 100%;
      left: 0;
      bottom: 0;
      background: rgba(255,255,255,0.8);
      font-size: 18px;
      font-weight: 400;
      padding: 10px;
      opacity: 1;
   }
   #projects > .fl-row-content-wrap::after {
      display: none;
   }
}
@media(max-width:800px) {
   .project-grid {
      grid-template-columns: repeat(2,1fr);
   }
}
@media(max-width:550px) {
   .project-grid {
      display: block;
   }
   .project-grid .grid-item {
      margin-bottom: 20px;
   }
}

/* testimonial */
.random-testimonial {
   position: relative;
   background-repeat: no-repeat;
   background-size: cover;
   background-position: center;
   color: #fff;
}
.random-testimonial .mobile-img {
   display: none;
   height: 300px;
   background-repeat: no-repeat;
   background-size: cover;
   background-position: center;
}
.random-testimonial .quote-overlay {
   position: relative;
   width: 1000px;
   transform: translateX(-900px);
   color: #fff;
   background: rgba(0,0,0,0.8);
   padding-top: 60px;
   padding-right: 100px;
   padding-bottom: 120px;
   padding-left: calc((100vw - var(--hsr-pagewidth)) / 2);
   transition: .4s;
}
.random-testimonial .quote-overlay blockquote {
   font-size: 18px;
   margin: 0 0 50px 0;
   padding: 0;
   border: none;
   line-height: 1.6;
}
.random-testimonial .quote-overlay cite {
   font-weight: 500;
   font-style: normal;
}
.random-testimonial .quote-overlay a.more {
   display: block;
   position: absolute;
   opacity: 0;
   width: 250px;
   right: 40px;
   bottom: 40px;
   padding: 0 0 15px 0;
   text-transform: uppercase;
   font-weight: 200;
   color: var(--hsr-light-gray);
   transition: 1s;
}
.random-testimonial .quote-overlay a.more::after {
   content: '';
   display: block;
   position: absolute;
   opacity: 0.5;
   z-index: 1;
   bottom: 0;
   right: 0;
   width: 0;
   height: 0;
   border-bottom: 40px solid var(--hsr-red);
   border-left: 40px solid transparent;
   transition: .3s;
}
.random-testimonial:hover .quote-overlay {
   transform: translateX(0);
}
.random-testimonial:hover .quote-overlay a.more {
   opacity: 1;
}
.random-testimonial .quote-overlay a.more:hover {
   color: #fff;
   text-decoration: none;
}
.random-testimonial .quote-overlay a.more:hover::after {
   opacity: 1;
}
@media(max-width:992px) {
   .random-testimonial {
      padding: 0;
      background: none !important;
   }
   .random-testimonial .mobile-img {
      display: block;
   }
   .random-testimonial .quote-overlay {
      width: 100%;
      transform: translateX(0);
      padding: 20px;
      background: #111;
   }
   .random-testimonial .quote-overlay blockquote {
      margin-bottom: 20px;
   }
   .random-testimonial .quote-overlay a.more {
      color: #fff;
      opacity: 1 !important;
   }
}
@media(max-width:768px) {
   .random-testimonial .quote-overlay a.more {
      margin-top: 40px;
      position: relative;
      bottom: auto;
      right: auto;
   }
}

#culture {
   overflow: hidden;
}
#culture > .fl-row-content-wrap::after {
   content: '';
   display: block;
   position: absolute;
   opacity: 0.8;
   z-index: 1;
   top: 0;
   left: calc(50% + 400px);
   width: 900px;
   height: 900px;
   background-image: var(--hsr-logo-r);
   background-repeat: no-repeat;
   backround-position: 0 0;
   backgrond-size: 100% auto;
   transition: .6s;
}
#culture > .fl-row-content-wrap .fl-row-content {
   position: relative;
   z-index: 5;
}

.home-insights-loop ul li > .fl-module-box {
   position: relative;
}
/* separator line */
.home-insights-loop ul li:not(:last-child) > .fl-module-box::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   bottom: 0;
   left: 100px;
   width: calc(100% - 200px);
   height: 1px;
   opacity: 0.7;
   background-color: var(--hsr-dark-gray);
}
.home-insights-loop .fl-module-box .fl-module-html {
   width: 100%;
}
.home-insights-loop .fl-module-box a.post-thumb {
   display: block;
   width: 100%;
   height: 100%;
   background-repeat: no-repeat;
   background-position: center;
   background-size: cover;
}
.home-insights-loop .fl-module-box h3 a:hover {
   color: var(--hsr-red);
}
.home-insights-loop .fl-module-rich-text a:hover {
   text-decoration: none;
}
@media(max-width:1200px) {
   .home-insights-loop ul li:not(:last-child) > .fl-module-box::after {
      width: calc(100% - 100px);
      left: 50px;
   }
}
@media(max-width:992px) {
   .home-insights-loop ul li:not(:last-child) > .fl-module-box::after {
      width: calc(100% - 40px);
      left: 20px;
   }
}
@media(max-width:768px) {
   .home-insights-loop .post-box {
      display: block;
   }
   .home-insights-loop .post-box .img-col {
      width: 100%;
      height: 40vw;
   }
   .home-insights-loop .post-box .text-col {
      width: 100%;
   }
}


/* markets - archive template for Portfolio */
a.market-box {
   display: block;
}
a.market-box .market-intro {
   min-height: 140px;
   text-align: center;
   background: linear-gradient(to bottom, var(--hsr-very-light-gray) 50%, #fff 50%);
   background-size: 100% 200%;
   background-position: 0% 0%;
   transition: background-position 0.3s ease-in-out;
}
a.market-box .market-intro .underline span {
   position: relative;
   display: inline-block;
   background: none;
   padding: 0 0 5px 0;
   font-size: 22px;
   text-transform: none;
   color: #706F73;
   border: none !important;
}
a.market-box .market-intro .underline span::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   bottom: 0;
   left: 0;
   width: 30px;
   height: 1px;
   background: var(--hsr-red);
   transition: .3s;
}
/* all hover effects */
a.market-box:hover {
   text-decoration: none;
}
a.market-box:hover .market-intro {
   background-position: 0% calc(-100% - 3px);
}
a.market-box:hover .market-intro .underline span {
   color: var(--hsr-red);
}
a.market-box:hover .market-intro .underline span::after {
   width: 100%;
}


/* portfolio category archive template */
.portfolio-cat-desc-row {
   position: relative;
}
.portfolio-cat-desc-row > .fl-row-content-wrap::before {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   top: 0px;
   left: -30px;
   width: calc((100vw - var(--hsr-pagewidth)) / 2);
   height: 180px;
   background: var(--hsr-red);
}

/* portfolio category project grid loop */
.project-grid-item > a {
   display: block;
}
.project-grid-item > a::after {
   content: '';
   display: block;
   margin-top: 10px;
   width: 100%;
   height: 1px;
   background: var(--hsr-red);
}
.project-grid-item .project-thumb {
   height: 380px;
   margin-bottom: 10px;
}
.project-grid-item .project-thumb img {
   display: block;
   object-fit: cover;
   width: 100%;
   height: 100%;
}
.project-grid-item .project-intro {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   min-height: 140px;
   padding: 10px 20px;
   text-align: center;
   background: linear-gradient(to bottom, var(--hsr-very-light-gray) 50%, #fff 50%);
   background-size: 100% 200%;
   background-position: 0% 0%;
   transition: background-position 0.3s ease-in-out;
}
.project-grid-item .project-intro h3 {
   margin: 0;
   text-align: center;
   font-size: 20px;
   text-transform: uppercase;
   color: var(--hsr-dark-gray);
}
.project-grid-item .project-intro .underline span {
   position: relative;
   display: inline-block;
   background: none;
   padding: 0 0 5px 0;
   font-size: 22px;
   text-transform: none;
   color: #706F73;
   border: none !important;
}
.project-grid-item .project-intro .underline span::after {
   content: '';
   display: block;
   position: absolute;
   z-index: 1;
   bottom: 0;
   left: 0;
   width: 30px;
   height: 1px;
   background: var(--hsr-red);
   transition: .3s;
}
/* all hover effects */
.project-grid-item:hover a {
   text-decoration: none;
}
.project-grid-item:hover .project-intro {
   background-position: 0% calc(-100% - 3px);
}
.project-grid-item:hover .project-intro .underline span {
   color: var(--hsr-red);
}
.project-grid-item:hover .project-intro .underline span::after {
   width: 100%;
}


/* single project entry */

/* red box with overview */
.project-overview-box {
   padding-left: calc((100vw - var(--hsr-pagewidth)) / 2) !important;
}
.pp-image-carousel {
   padding-bottom: 50px !important;
}
/* arrows */
.project-gallery button.pp-swiper-button {
   border-radius: 50px !important;
   border: none !important;
   transition: .3s;
}
.project-gallery button.pp-swiper-button:hover {
   background: rgba(255,255,255,0.9) !important;
}
.project-gallery button.pp-swiper-button svg {
   width: auto;
   height: 65px !important;
}
.project-gallery button.pp-swiper-button.swiper-button-prev svg {
   transform: translateX(-3px);
}
.project-gallery button.pp-swiper-button.swiper-button-next svg {
   transform: translateX(3px);
}
/* paging */
.project-gallery .swiper-pagination {
   margin-top: 10px;
}
.project-gallery .swiper-pagination {
   color: var(--hsr-very-light-gray);
   font-size: 22px;
   font-weight: 500;
}


/* footer */

#contact-cta .logo-img-mask > .fl-col-content {
   background-color: #fff;
   background-position: -500px center;
   mask-size: 100% auto;
   mask-repeat: no-repeat;
   mask-image: var(--hsr-logo-full);
   -webkit-mask-size: 100% auto;
   -webkit-mask-repeat: no-repeat;
   -webkit-mask-image: var(--hsr-logo-full);
   transition-duration: 2s;
   transition-timing-function: cubic-bezier(0.2, 0.9, 0.4, 1);
}
#contact-cta.in-view .logo-img-mask > .fl-col-content {
   background-position: center center;
}
@media(max-width:768px) {
   #contact-cta .logo-img-mask > .fl-col-content {
      mask-size: 30% auto;
      -webkit-mask-size: 300px auto;
      background-position: -400px center;
   }
   #contact-cta .text-col p {
      color: #333;
   }
}

#footer .footer-col-last .fl-photo-content img {
   opacity: .4;
}
#footer .footer-col-last .fl-col-content::after {
   mix-blend-mode: multiply;
}










