#l-hero {
  width: 100vw;
  max-width: 100%;
  overflow: hidden;
}

.hero-slider {
  display: block;
  width: 100vw;
  max-width: 100%;
  height: 400px;
  overflow: hidden;
}
.hero-slider .hero_slide {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
  transition: opacity 1s ease;
  z-index: 1;
}
.hero-slider .hero_slide.active {
  opacity: 1;
  transition: opacity 1s ease;
  z-index: 2;
}
.hero-slider .hero_slide img {
  width: 100%;
  height: auto;
}
.hero-slider .nav_con {
  display: none;
}
.hero-slider .slide_browse {
  position: absolute;
  top: 50%;
  right: 20px;
  left: 20px;
  transform: translateY(-50%);
  z-index: 5;
}
.hero-slider .slide_browse .browse {
  height: 16px;
  width: 26px;
  position: absolute;
  top: 0;
}
.hero-slider .slide_browse .browse.prev {
  display: block;
  left: 0;
  background-image: url(//www-stonestrong-com-files.s3.amazonaws.com/2bf3-00573657-down-arrow.png?pfvId=19169o.iuy3kmh3);
  background-size: contain;
  background-repeat: no-repeat;
  transform: rotate(90deg);
}
.hero-slider .slide_browse .browse.next {
  display: block;
  right: 0;
  background-image: url(//www-stonestrong-com-files.s3.amazonaws.com/2bf3-00573657-down-arrow.png?pfvId=19169o.iuy3kmh3);
  background-size: contain;
  background-repeat: no-repeat;
  transform: rotate(-90deg);
}

.hero_slide .inner {
  position: relative;
  display: block;
  max-width: 100vw;
}
.hero_slide .hero_vid,
.hero_slide .hero_con {
  max-height: 425px;
  width: calc(100vw - 100px);
  overflow: hidden;
  margin: 0 auto;
}
.hero_slide .hero_vid .video-poster {
  background-color: transparent;
}
.hero_slide .video-poster,
.hero_slide .hero_con {
  height: 400px;
}
.hero_slide .video-poster img,
.hero_slide .hero_con img {
  max-width: 100%;
  max-height: 95%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.hero_slide .hero_con {
  display: flex;
  flex-flow: row nowrap;
}
.hero_slide .hero_con img {
  z-index: 1;
}
.hero_slide .hero_con .content {
  flex: 0 0 100%;
  justify-self: center;
  align-self: center;
  text-align: center;
  padding: 25px;
  z-index: 2;
}
.hero_slide .hero_con .content h1,
.hero_slide .hero_con .content h2,
.hero_slide .hero_con .content h3,
.hero_slide .hero_con .content h4,
.hero_slide .hero_con .content h5,
.hero_slide .hero_con .content p,
.hero_slide .hero_con .content a {
  text-align: unset;
}
.hero_slide .hero_con .content.color-light h1,
.hero_slide .hero_con .content.color-light h2,
.hero_slide .hero_con .content.color-light h3,
.hero_slide .hero_con .content.color-light h4,
.hero_slide .hero_con .content.color-light h5,
.hero_slide .hero_con .content.color-light p,
.hero_slide .hero_con .content.color-light a {
  color: #fff;
}
.hero_slide .video-poster::before {
  content: " ";
  display: block;
  position: absolute;
  width: 50px;
  height: 50px;
  background: url("//www-stonestrong-com-files.s3.amazonaws.com/6da0-35793657-play-icon.png?pfvId=191809.iuzrh6k6") center no-repeat;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
@media (min-width: 768px) {
  .hero_slide .hero_con .content.align-center {
    justify-self: center;
    align-self: center;
    text-align: center;
  }
  .hero_slide .hero_con .content.align-tleft {
    justify-self: left;
    align-self: flex-start;
    text-align: left;
  }
  .hero_slide .hero_con .content.align-tcenter {
    justify-self: center;
    align-self: flex-start;
    text-align: center;
  }
  .hero_slide .hero_con .content.align-tright {
    justify-self: right;
    align-self: flex-start;
    text-align: right;
  }
  .hero_slide .hero_con .content.align-bleft {
    justify-self: left;
    align-self: flex-end;
    text-align: left;
  }
  .hero_slide .hero_con .content.align-bcenter {
    justify-self: center;
    align-self: flex-end;
    text-align: center;
  }
  .hero_slide .hero_con .content.align-bright {
    justify-self: right;
    align-self: flex-end;
    text-align: right;
  }
  .hero_slide .video-poster img {
    display: block;
    max-height: 425px;
    height: auto;
    width: auto;
    margin: 0 auto;
    position: relative;
    top: auto;
    left: auto;
    transform: translate(0, 0);
  }
}

.hero_vid {
  max-height: 425px;
  overflow: hidden;
}
.hero_vid .video-poster {
  min-height: 400px;
  width: 100%;
  background-size: cover;
  background-position: center center;
  background-color: #ececec;
}
.hero_vid .video-poster::before {
  content: " ";
  display: block;
  position: absolute;
  width: 50px;
  height: 50px;
  background: url("//www-stonestrong-com-files.s3.amazonaws.com/6da0-35793657-play-icon.png?pfvId=191809.iuzrh6k6") center no-repeat;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.hero_vid .video-poster img {
  max-width: 100%;
  max-height: 95%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.l-hero {
  position: relative;
}

.more-content-arrow {
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -17.5px;
  background: transparent;
}

@media (min-width: 768px) {
  .hero_vid .video-poster img {
    display: block;
    max-height: 425px;
    height: auto;
    width: auto;
    margin: 0 auto;
    position: relative;
    top: auto;
    left: auto;
    transform: translate(0, 0);
  }
}
html {
  height: unset;
  min-height: 100%;
}

.lp-renders-con {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  padding: 0.5rem 0 0;
}
@media (min-width: 768px) {
  .lp-renders-con {
    width: calc(100vw - 1rem);
    margin: -40px calc((100% + 1rem - 100vw) / 2) 0;
    flex-flow: row nowrap;
    justify-content: space-between;
    padding: 0.5rem;
  }
  .lp-renders-con .clear-float {
    display: none;
  }
}
.lp-renders-con .lp_render {
  flex: 0 0 calc(100% - 0.5rem);
  margin-bottom: 0.5rem;
  cursor: pointer;
}
@media (min-width: 768px) {
  .lp-renders-con .lp_render {
    flex: 0 0 calc(33.333333% - 0.35rem);
    margin-bottom: 0;
  }
}
.lp-renders-con .lp_render .title {
  background-color: #2e2e2e;
  text-align: center;
  color: #fff;
  text-transform: uppercase;
  padding: 0.5rem;
}
.lp-renders-con .lp_render .image {
  line-height: 0;
}
.lp-renders-con .lp_render img {
  width: 100%;
  aspect-ratio: 16/11;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.fancybox-title {
  font-size: 1rem;
  font-weight: normal;
  text-transform: none;
  text-decoration: inherit;
  color: unset;
}
.fancybox-title p {
  font-size: 0.875rem;
}
.fancybox-title a:hover {
  text-decoration: underline;
}

.capabilities-con {
  display: block;
  position: relative;
}

.capability {
  padding: 0 0 20px;
  margin: 40px 0;
}
.capability h3 {
  font-weight: 700;
  font-size: 28px;
  text-transform: uppercase;
  text-align: center;
  margin: 14px 0;
  font-weight: 700;
}
@media (min-width: 768px) {
  .capability h3 {
    font-size: 42px;
  }
}
.capability.default {
  display: none;
}
.capability .icon {
  display: block;
  position: relative;
  margin: 0 auto;
  height: 112px;
  width: 85px;
  background-size: 85px 112px;
  background-repeat: no-repeat;
  background-position: center center;
}
.capability .icon.active-icon {
  display: none;
}
.capability .content {
  margin: 0 auto;
  text-align: center;
}

@media (max-width: 1023px) {
  .capability .content p:first-child {
    margin-top: 0;
  }
}
@media (min-width: 768px) {
  .capabilities-title {
    display: none;
  }
  .capabilities {
    display: block;
    max-width: 800px;
    height: 380px;
    margin: 20px auto;
    text-align: center;
  }
  .capabilities .capability {
    display: inline-block;
    padding: 0 30px;
    margin: 0;
  }
  .capabilities .capability.default {
    display: inline-block;
  }
  .capabilities .capability.default .control {
    display: none;
  }
  .capabilities .capability .icon {
    background-size: 52px 70px;
  }
  .capabilities .capability:hover .icon, .capabilities .capability.active .icon {
    display: none;
  }
  .capabilities .capability:hover .icon.active-icon, .capabilities .capability.active .icon.active-icon {
    display: block;
    height: 112px;
    width: 85px;
    background-size: contain;
  }
  .capabilities .capability .content {
    display: none;
  }
  .capabilities .capability.active .content {
    display: block;
    position: absolute;
    top: 100px;
    right: 0;
    left: 0;
    width: 100%;
    max-width: 625px;
    text-align: left;
  }
}
.strategic-partners-con {
  margin: 5rem 0 3rem;
  position: relative;
  z-index: 0;
  color: black;
}
.strategic-partners-con:before {
  content: "";
  display: block;
  position: absolute;
  width: 100vw;
  top: -3rem;
  bottom: -3rem;
  left: calc((100% - (100vw + 1rem)) / 2);
  background-color: white;
  z-index: -1;
}

.strategic-partners-list {
  text-align: center;
}

.strategic-partners-list .strat_partner {
  display: inline-block;
  vertical-align: bottom;
  width: 100%;
  padding: 20px;
  text-align: center;
  font-size: 0.9em;
  font-weight: 700;
  color: #555;
}
.strategic-partners-list .strat_partner a {
  color: #555;
}
.strategic-partners-list .strat_partner a:hover {
  color: #f38a00;
}
.strategic-partners-list .strat_partner .image {
  margin: 10px 0;
}
.strategic-partners-list .strat_partner:hover {
  color: #f38a00;
}
@media (min-width: 480px) {
  .strategic-partners-list .strat_partner {
    width: 48%;
  }
}
@media (min-width: 1024px) {
  .strategic-partners-list .strat_partner {
    width: auto;
    padding: 0;
    margin: 0 20px;
  }
}

/* gallery features */
.gallery_feature {
  display: block;
  background-color: #000;
  width: 100%;
  position: relative;
}
.gallery_feature .title {
  padding: 10px;
  background-color: #fff;
  color: #f38a00;
  font-weight: 700;
  font-size: 1.25em;
  text-transform: uppercase;
  text-align: center;
}
.gallery_feature .thumbnail {
  line-height: 0;
  margin-bottom: 4px;
  position: relative;
}
.gallery_feature .thumbnail img {
  width: 100%;
  height: auto;
}
.gallery_feature .thumbnail .title {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  line-height: 1.75;
}
.gallery_feature .image-slide {
  display: none;
}

@media (min-width: 480px) {
  .gallery_feature {
    display: inline-block;
    vertical-align: top;
    width: 50%;
  }
  .gallery_feature .thumbnail .title {
    padding: 8px 10px;
    background-color: #fff;
    color: #f38a00;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
  }
  .gallery_feature:nth-child(odd) .thumbnail {
    margin-right: 2px;
  }
  .gallery_feature:nth-child(even) .thumbnail {
    margin-left: 2px;
  }
}
@media (min-width: 768px) {
  .gallery_feature {
    width: 25%;
  }
  .gallery_feature .thumbnail .title {
    display: none;
  }
  .gallery_feature .thumbnail .thumbnail-image {
    position: relative;
  }
  .gallery_feature .thumbnail .thumbnail-image:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.5);
  }
  .gallery_feature .thumbnail:hover .title {
    display: block;
  }
  .gallery_feature .thumbnail:hover .thumbnail-image {
    position: relative;
  }
  .gallery_feature .thumbnail:hover .thumbnail-image:after {
    background-color: transparent;
  }
  .gallery_feature:nth-child(odd) .thumbnail, .gallery_feature:nth-child(even) .thumbnail {
    margin: 0;
  }
}
/* home-page specific intro styles */
.l-intro .intro {
  max-width: 925px;
}
.l-intro .intro h1 {
  color: #fff;
}

@media (min-width: 768px) {
  .l-intro .intro {
    text-align: justify;
  }
  .l-intro .intro h1 strong {
    display: inline;
  }
}
/* setting the capabilities column so that it'll work properly at desktop */
.l-column1 .box-wc {
  position: relative;
}/* filter styles */
.filter {
  font-weight: 700;
  margin: 0 auto;
  text-align: center;
  text-transform: uppercase;
  position: relative;
}

.filter ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.filter ul li {
  display: block;
  border-top: 1px solid #f38a00;
  padding: 1em;
  text-align: left;
}

.filter ul li a {
  color: #fff;
  display: block;
}

.filter-label {
  color: #f38a00;
  cursor: pointer;
}

.filter-label .indicator {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.5em;
  width: 0;
  height: 0;
  border-left: 0.5em solid transparent;
  border-right: 0.5em  solid transparent;
  border-top: 0.5em solid #f38a00;
}

.filter-list {
  display: none;
  position: absolute;
  top: 39px;
  right: -20px;
  left: -20px;
  background-color: #000;
}

.filter.open .filter-list {
  display: block;
}

@media (min-width: 1024px) {
  .filter .filter-label,
  .filter.open .filter-label {
    padding-bottom: 0;
    margin-right: 1.5em;
    cursor: auto;
  }
  .filter .filter-label .indicator,
  .filter.open .filter-label .indicator {
    display: none;
  }
  .filter .filter-label,
  .filter .filter-list,
  .filter.open .filter-label,
  .filter.open .filter-list {
    display: inline-block;
    vertical-align: middle;
  }
  .filter .filter-list,
  .filter.open .filter-list {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
  }
  .filter ul li,
  .filter.open ul li {
    display: inline-block;
    border-top: 0 none;
    padding: 0;
    vertical-align: middle;
    text-align: center;
  }
  .filter ul li:after,
  .filter.open ul li:after {
    content: "|";
    padding: 0 1em 0 1.5em;
    display: inline;
    color: #f38a00;
  }
  .filter ul li:last-child:after,
  .filter.open ul li:last-child:after {
    content: "";
    padding: 0;
  }
  .filter ul li a,
  .filter.open ul li a {
    display: inline-block;
  }
}

.back-to-galleries, .case-study-link {
  font-weight: 700;
  text-transform: uppercase;
  margin: 0;
  text-align: center;
  display: block;
}

.fancybox-skin .fancybox-title-float-wrap {
  left: 0;
  right: 0;
  text-align: left;
}

.fancybox-skin .fancybox-title-float-wrap .child {
  margin-right: 0;
  white-space: normal;
  color: #f38a00;
  background-color: transparent;
  text-transform: none;
  font-weight: normal;
  text-shadow: none;
}

.fancybox-skin .fancybox-prev span {
  left: 7px;
}

.galleries-copy {
  margin-bottom: 40px;
  text-align: center;
}

.galleries-copy p {
  margin: 0;
}

@media (min-width: 480px) {
  .back-to-galleries, .case-study-link {
    display: inline-block;
    width: 50%;
    text-align: left;
  }
  .case-study-link {
    text-align: right;
  }
}

.freemarker:has(.gallery) {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 1px;
}

.gallery {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  position: relative;
  cursor: pointer;
  line-height: 0;
  margin-bottom: 5px;
  max-height: 450px;
  overflow: hidden;
}

.gallery .image {
  width: 100%;
  height: auto;
}

.gallery .title {
  text-align: center;
  background-color: #fff;
  color: #f38a00;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  text-transform: uppercase;
  font-weight: 700;
  padding: 8px 10px;
  display: block;
  z-index: 1;
  line-height: 1.5em;
}

@media (min-width: 480px) {
  .gallery {
    float: left;
    height: 30vw;
    width: calc(49.5% - 1px);
    margin-right: 1%;
  }
  .gallery:nth-child(2n) {
    margin-right: 0;
  }
}

@media (min-width: 1024px) {
  .gallery {
    width: calc(25% - 1px);
    justify-content: center;
    height: 18.5vw;
    margin-right: 0;
    margin-bottom: 0;
  }
  .gallery .title {
    display: block;
  }
  .gallery:after {
    background-color: transparent;
  }
  .gallery .image {
    width: 110%;
  }
  /*
  // Disabled Gallery Pre-hover styles
  .gallery .title {
    display: none;
  }
  .gallery.overlay:after {
    content: "";
  }
  .gallery:after {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
  }
  */
  .gallery.landscape-gallery .image {
    height: 100%;
    width: auto;
  }
  .gallery.portrait-gallery .image {
    width: 100%;
    height: auto;
  }
}

@media (min-width: 1280px) {
  .gallery {
    height: 290px;
  }
  .gallery .image {
    height: auto;
    width: auto;
  }
}
/* HORIZONTAL / HORIZ. PERSISTENT CSS --------------- */
ul.menubeanh,
ul.menubeanh-persistent {
  list-style: none;
  position: relative;
  overflow: visible;
}
ul.menubeanh,
ul.menubeanh ul,
ul.menubeanh-persistent,
ul.menubeanh-persistent ul {
  padding: 0;
  margin: 0;
  list-style: none;
  /* background-color: #fff;  IE Requires a background color. */
}
ul.menubeanh li,
ul.menubeanh-persistent li {
  float: left;
  position: relative;
  list-style: none;
  /*
  	width: 8em;
	overflow: visible;
	*/
}
ul.menubeanh li ul,
ul.menubeanh-persistent li ul {
  display: none;
  position: absolute;
  top: 1.2em; /* IE */
  left: 0; /* IE */ /* background-color: #fff;  IE Requires a background color. */
}
ul.menubeanh > li > ul,
ul.menubeanh-persistent > li > ul {
  top: auto; /* Non-IE */
  left: auto; /* Non-IE */
}
/* (sub-)submenus */
ul.menubeanh ul,
ul.menubeanh ul ul,
ul.menubeanh ul ul ul,
ul.menubeanh-persistent ul,
ul.menubeanh-persistent ul ul,
ul.menubeanh-persistent ul ul ul {
  position: absolute;
  top: 0;
  left: 95%;
}
/* Interactive lines: show/hide menus */
ul.menubeanh li.over ul ul,
ul.menubeanh li.over ul ul ul,
ul.menubeanh-persistent li.over ul ul,
ul.menubeanh-persistent li.over ul ul ul {
  display: none;
}
ul.menubeanh li.over ul,
ul.menubeanh ul li.over ul,
ul.menubeanh ul ul li.over ul,
ul.menubeanh-persistent li.over ul,
ul.menubeanh-persistent ul li.over ul,
ul.menubeanh-persistent ul ul li.over ul {
  display: block;
}

/* VERTICAL CSS --------------- */
ul.menubeanv,
ul.menubeanv-persistent,
ul.menubeanv ul,
ul.menubeanv-persistent, ul {
  /* background-color: #fff;  IE requires a background color. */
}
ul.menubeanv li,
ul.menubeanv-persistent li {
  position: relative;
  /* background-color: #fff;  IE requires a background color. */
}
ul.menubeanv li ul {
  display: none;
  position: absolute;
  top: 2px; /* IE */
  left: 6em; /* IE */ 
  /* background-color: #fff;  IE requires a background color. */
}
ul.menubeanv li:hover ul,
ul.menubeanv li.over ul {
  display: block;
}

ul.menubeanv-persistent li.mi-parent {
  cursor: pointer;
}
ul.menubeanv-persistent li ul {
  display: none;
}
ul.menubeanv-persistent li.over ul {
  display: block;
}
