@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,600;0,700;1,300;1,600&display=swap');

/* General */
  html, body{color:#000;font-family:'Montserrat', sans-serif;font-weight:300;}
  body.scroll-lock{overflow:hidden;}


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

  b, strong{font-weight:600;}

  a{color:#B7342D;}
  a:hover{color:#B7342D;}

  address{font-style:normal;}

  a.wp-block-button__link,
  .load-nav a,
  input[type="submit"]{font-size:14px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;background-color:#B7342D;color:#fff;padding:1em 1.5em;white-space:nowrap;display:inline-block;}
  a.wp-block-button__link:hover,
  .load-nav a:hover,
  input[type="submit"]:hover{background-color:#222;}

  .btn{display:inline-block;font-size:14px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:0.5em 0;position:relative;}
  .btn:before{content:'';background-color:currentColor;bottom:0px;height:2px;left:0;position:absolute;width:0px;transition:1s all;}
  .btn:hover:before{width:calc(100% - 0.1em);}
  .btn--red{background-color:#B7342D;color:#fff;padding:1em 1.5em;}
  .btn--red:before{display:none;}
  .btn--red:hover{background-color:#222;color:#fff;}
  .btn-grp{margin:1em 0 1em -10px;}
  .btn-grp .btn{margin-left:10px;margin-bottom:12px;}

  .meta-item{color:#9B9B9B;opacity:0.5;}

  .caps{letter-spacing:0.1em;text-transform:uppercase;}

  label{font-size:14px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;}

  /* global */

    .page-description{font-size:1.5em;max-width:790px;padding-bottom:1em;}

    .covercard{display:block;overflow:hidden;text-align:center;position:relative;text-shadow: 0 0 20px rgba(0,0,0,0.8);}
    .covercard *{transition:1s all;}
    .covercard__bg{background-color:#000;}
    .covercard__bg__img{display:block;opacity:0.8;}
    .covercard__content{bottom:0;color:#fff;display:flex;left:0;padding:20px;position:absolute;right:0;top:0;}
    .covercard__content__center{margin:auto;}
    .covercard__text{font-size:16px;margin-bottom:0;}
    .covercard:hover .covercard__bg__img{opacity:1;transform:scale(1.1);}

    .covercard--ghost{border:1px solid #B7342D;text-shadow:none;}
    .covercard--ghost .covercard__content{color:#B7342D;}
    .covercard--ghost .covercard__bg{opacity:0;}

    .post__meta{font-size:14px;font-weight:700;padding-left:15px;letter-spacing:0.1em;text-transform:uppercase;color:#9B9B9B;}
    .post__meta--small{font-size:12px;}
    .post__title{color:#4A4A4A;margin:15px 0 0;padding-left:15px;}
    .post__thumbnail{overflow:hidden;}
    .post__image{display:block;transition:1s all;width:100%;}
    .post__image:hover{transform:scale(1.1);}
    .post__title:hover{color:#B7342D;}

    .post-box{background-color:#000;display:block;overflow:hidden;position:relative;transition:1s all;text-shadow:0 0 1em rgba(0,0,0,0.2);height:100%;}
    .post-box *{transition:1s all;}
    .post-box__image{background-size:cover;bottom:0;left:0;position:absolute;top:0;opacity:0.9;right:0;width:100%;}
    .post-box:hover{background-color:#B7342D;}
    .post-box:hover .post-box__image{opacity:0.2;transform:scale(1.1);}
    .post-box__title{margin-bottom:0;}
    .post-box__content{color:#fff;padding:30% 20px 20px 20px;position:relative;pointer-events:none;}
    .post-box__content a{color:#fff;pointer-events:auto;}

    .link-box{background-color:#000;color:#fff;display:flex;height:100%;overflow:hidden;padding:30px;position:relative;text-align:center;transition:1s all;text-shadow:0 0 1em rgba(0,0,0,0.2);}
    .link-box *{transition:1s all;}
    .link-box__image{background-size:cover;background-position:50% 50%;opacity:0.8;left:0;right:0;position:absolute;bottom:0;top:0;}
    .link-box:hover{background-color:#B7342D;color:#fff;}
    .link-box:hover .link-box__image{opacity:0.2;transform:scale(1.1);}
    .link-box__content{position:relative;margin:auto;}
    .link-box__text{margin-bottom:0;}

    .link-box--plain{background-color:#fff;color:#000;box-shadow:0 0 0 1px #B7342D;text-shadow:none;}

    .black-box{background-color:#372D2D;color:#fff;padding:30px;}
    .black-box__image{margin:-30px -30px 0 -30px;}
    .black-box__image img{width:100%;}
    .fake-box{padding:30px;}

    .subnav{display:flex;justify-content:space-between;margin-top:calc(-11px - 2%);overflow:hidden;}
    .subnav__left{}
    .subnav__right{}

    .breadcrumb{color:#8A8A8A;font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:7px 0;}
    .breadcrumb__item{display:inline-block;padding:3px 10px;}

    .next-prev{font-size:0;white-space: nowrap;}
    .next-prev a{display:inline-block;font-size:12px;font-weight:700;letter-spacing:0.1em;padding:10px 15px;text-transform:uppercase;}
    .next-prev a:hover{background-color:#B7342D;color:#fff;}


    .hero{display:flex;height:100%;}
    .hero__inner{margin:auto;padding:0 8%;text-align:right;}
    .hero__inner p{font-size:1.5em;}
    .hero__text{font-size:1.5em;max-width:;}
    @media(max-width: 979px){
      .hero__inner{text-align:center !important;}
    }

/* Navbar */
  .navbar{color:#fff;font-size:14px;left:0;padding-bottom:20px;padding-top:20px;position:fixed;right:0;top:0;}
  .navbar a{color:currentColor;}
  .navbar--scrolled:not(.open),
  .navbar--red:not(.open){color:#B7342D;background-color:#fff;}
  .navbar--red-transparent:not(.open){color:#B7342D;background-color:transparent;}
  .navbar--scrolled:not(.open){box-shadow:0 0 10px rgba(0,0,0,0.1);}


  .navbar__menu{font-weight:700;letter-spacing:0.1em;text-transform:uppercase;}
  .navbar__menu a{padding:20px;}

  .navbar__logo{margin:0;float:left;}
  .navbar__logo *{display:block;}

  .tray{background-color:rgba(183,52,45,0.9);backdrop-filter: blur(10px);display:flex;font-size:24px;opacity:0;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0;z-index:5;transition:0.2s all;overflow:scroll;}
  .tray.open{opacity:1;pointer-events:auto;}
  .tray__inner{margin:auto;padding:100px 20px;width:1440px;max-width:100%;}
  .tray__menu{display:flex;list-style-type:none;padding:0;}
  .tray__menu > li{flex:1 0 200px;margin:0 20px;}
  .tray__menu .sub-menu{list-style-type:none;margin:0;padding:0;}
  .tray a{display:block;color:#fff;padding:10px 0;}
  .tray a[href='#']{border-bottom:1px solid rgba(255,255,255,0.5);cursor:pointer;font-size:14px;font-weight:700;opacity:0.5;letter-spacing:0.1em;text-transform:uppercase;}

  .mobile-menu-btn{display:block;margin-left:20px;line-height:38px;}
  .mobile-menu-btn > *{pointer-events:none;}
  .bars-icon{background-color:currentColor;display:inline-block;height:1px;margin:9px 0 13px 0;position:relative;vertical-align:middle;width:30px;}
  .bars-icon:before,
  .bars-icon:after{background-color:currentColor;content:'';height:1px;position:absolute;left:0;width:30px;}
  .bars-icon:before{top:-10px;}
  .bars-icon:after{bottom:-10px;}

  .post-type-archive-studio .navbar{color:#B7342D;}

  @media( max-width: 767px ) {
    .tray{font-size:18px;}
    .tray__menu{display:block;}
    .tray__menu > li{margin-bottom:30px;}
    .tray__menu .sub-menu{columns:2;}
  }

/* Front Page */

/* Single Page */
  .header-banner{background-color:#372D2D;color:#fff;overflow:hidden;padding-bottom:calc(10px + 2%);padding-top:calc(100px + 10%);position:relative;margin-bottom:calc(10px + 2%);}
  .header-banner__bg{background-size:cover;background-position:50% 50%;opacity:0.8;position:absolute;top:0;left:0;right:0;bottom:0;}
  .header-banner__title{letter-spacing:0.1em;text-transform:uppercase;text-shadow:0 0 1em rgba(0,0,0,0.4);max-width:60%;}

  .page__title{letter-spacing:0.1em;text-transform:uppercase;max-width:60%;}

  .floater{position:sticky;top:140px;}

  .tabs{background-color:#fff;text-align:center;margin-bottom:20px;/*position:sticky;top:104px;*/z-index:1;}
  .tabs__inner{border-bottom:1px solid #CCCCCA;}
  .tabs__item{color:#4A4A4A;display:inline-block;font-size:15px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:1em 1.5em;position:relative;}
  .tabs__item:after{background-color:#B7342D;content:'';position:absolute;left:0;right:0;bottom:-1px;height:0;}
  .tabs__item--current{color:#B7342D;}
  .tabs__item--current:after{height:3px;}
  .tabs__item--active{color:#B7342D;}
  .tabs__item--active:after{height:3px;}

  .tabs__panel{display:none;text-align:left;}
  .tabs__panel--active{display:block;}

  .filters{background-color:#fff;margin-bottom:20px;/*position:sticky;top:104px;*/z-index:1;}
  .filters__inner{align-items:flex-end;color:#4A4A4A;border-bottom:1px solid #CCCCCA;display:flex;flex-wrap:wrap;font-size:15px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;justify-content:space-between;width:100%;}
  .filter:first-child{flex:99;}
  .filters__inner > *{position:relative;}
  .filters__input{letter-spacing:0.1em;text-transform:uppercase;margin-bottom:-1px;}
  .filters__input--select{border:none;padding-right:30px;}

  .filter+.filter{margin-left:15px;}
  .filters__inner > * .icon{color:#B7342D;position:absolute;right:10px;top:10px;pointer-events:none;}

  .filters__inner .facetwp-facet{letter-spacing:0.1em;text-transform:uppercase;margin-bottom:-1px;}
  .filters__inner .facetwp-dropdown{letter-spacing:0.1em;text-transform:uppercase;border:none;padding-right:30px;max-width: 175px;text-overflow: ellipsis;}
  .filters__inner .facetwp-type-proximity{display:none;}

  @media( max-width: 979px ) {
    .tabs{top:93px;}
    .filters{top:93px;}
    .filters__inner{font-size:14px;}
    .filters__inner .facetwp-dropdown{max-width: 140px;}
  }
  @media( max-width: 767px ) {
    .filters__inner{font-size:12px;}
    .filters__inner .facetwp-dropdown{max-width: 120px;}
  }

  .checkbox-item{font-size:14px;font-weight:700;letter-spacing:0.1em;margin:1rem 0;position:relative;text-transform:uppercase;}
  .checkbox-item input{opacity:0;position:absolute;}
  .checkbox-item label{color:#9B9B9B;display:block;padding-left:30px;position:relative;line-height:20px;}
  .checkbox-item label:before{box-shadow:inset 0 0 0 1px rgba(0,0,0,0.2);content:'';height:20px;position:absolute;left:0;top:0;width:20px;}

  .checkbox-item input[type="checkbox"]:checked + label{color:#000;}
  .checkbox-item input[type="checkbox"]:checked + label:before{background-color:#B7342D;box-shadow:none;}

  /* Single Project */
    .header-banner--project{padding-top:calc(200px + 20%);}
    .project-title{border-bottom:1px solid rgba(255,255,255,0.1);margin-top:0;padding-bottom:1rem;}
    .project-details th{font-size:14px;font-weight:700;letter-spacing:0.1em;line-height:24px;padding:7px;text-align:right;text-transform:uppercase;vertical-align:top;}
    .project-details td{line-height:24px;padding:5px;vertical-align:top;}

  /* Single Service */
    .greybox{padding:10px 30px;border:1px solid rgba(0,0,0,0.1);}
    .service-item{display:block;margin:1rem 0;}
    .service-item__title{font-size:24px;margin-left:0.5em;}

  /* Single Studio */
    .address{letter-spacing:0.1em;text-transform:uppercase;font-size:15px;font-weight:700;}
    .phone{letter-spacing:0.1em;text-transform:uppercase;font-size:15px;font-weight:700;}

/* Single Post */
  .post-heading{text-align:center;padding-top:60px;}
  .meta{font-size:14px;font-weight:700;opacity:0.5;}

  .share__inner{margin-left:-0.5rem;}
  .share__inner a{padding:0.5rem;}

/* Archive */
  .pagination{letter-spacing:0.1em;text-transform:uppercase;padding:1em 1.5em;font-size:15px;font-weight:700;}

  /* Project Archive */
    .project-grid{display:grid;grid-column-gap:20px;grid-row-gap:20px;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);grid-auto-flow: dense;}
    .project-grid__item:first-child{grid-column: span 2 !important;grid-row: span 2 !important;}
    .project-grid__item:nth-child(5n + 1){grid-row: span 2;grid-column: 3 / span 2}
    .project-grid__item:nth-child(10n + 1){grid-row: span 2;grid-column: 1 / span 2}

    .project-grid__item{display:grid;grid-template-columns:minmax(0, 1fr);grid-template-rows:1fr  auto;}
    .project-grid__item .post__thumbnail{grid-row:1 / 2;}
    .project-grid__item .post__content{grid-row:2 / 3;margin-bottom:10px;}
    .project-grid__item .post__thumbnail img{height:100%;object-fit:cover;}
    .project-grid__item .post__title{font-size:18px}
    .project-grid__item .post__meta{font-size:12px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;}

    @media( max-width: 767px ) {
      .project-grid__item:first-child{grid-column: span 2 !important;grid-row: span 2 !important;}
      .project-grid__item:nth-child(5n + 1){grid-row: span 2;grid-column: 3 / span 2}
      .project-grid__item:nth-child(10n + 1){grid-row: span 2;grid-column: 1 / span 2}
    }

  /* Studio Archive */
    .studio-map{background-color:#EEEEEE;height:calc(100vh - 58px);}
    .marker{background-color:#B7342D;border-radius:100%;cursor:pointer;height:18px;width:18px;position:relative;}
    .marker:hover{box-shadow:0 0 10px #fff;}
    .marker:before{animation:grow 2s infinite;content:'';background-color:#B7342D;border-radius:100%;display:block;height:18px;width:18px;opacity:0.2;position:absolute;top:0;left:0;transform:scale(2.5);pointer-events:none;}
    .marker:after{animation:pulse 2s infinite;content:'';border:1px solid #B7342D;border-radius:100%;display:block;height:34px;width:34px;position:absolute;top:-9px;left:-9px;transform:scale(1.5);pointer-events:none;}
    .post-type-archive-studio .tab{display:inline-block;}
    .post-type-archive-studio .mobile{display:none;}
    .mapboxgl-popup-content{font-family:'Montserrat', sans-serif;font-size:14px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:40px !important;}

    @keyframes grow {
      0%  {transform:scale(1);opacity:0.8;}
      100%{transform:scale(3);opacity:0;}
    }
    @keyframes pulse {
      0%  {transform:scale(.75);}
      50%  {transform:scale(1);}
      100%{transform:scale(.75);}
    }

    @media( max-width: 780px ) {
      .studio-map{height:calc(50vh - 58px);}
      #map{pointer-events:none;}
      .post-type-archive-studio .navbar--white{color:#B7342D;background-color:#fff;}
      .post-type-archive-studio .tab{display:block;margin-top:2em;}
      .post-type-archive-studio .tabs__item{color:#B7342D;}
      .post-type-archive-studio .tabs__item:after{height:3px;}
      .post-type-archive-studio .mobile{display:block;}
      .post-type-archive-studio .mobile address{margin-top:0.5em;}
    }

/* Footer */
  #footer{color:#000;font-size:14px;padding-bottom:25px;}
  .footer__logo{display:inline-block;margin-right:20px;vertical-align:middle;width:50px;height:50px;}
  .footer__copyright{vertical-align:middle;}
  .footer__menu{font-weight:700;letter-spacing:0.1em;list-style-type:none;padding:0;text-align:right;text-transform:uppercase;margin:10px 0;}
  .footer__menu .menu-item{display:inline-block;}
  .footer__menu .menu-item a{color:#000;padding:20px;}

  .footer__menu .menu-item--socials{font-size:18px;margin-right:-5px;padding-left:10px;}
  .footer__menu .menu-item--socials a{padding:10px;}

  @media( max-width: 979px ) {
    #footer{text-align:center;}
    #footer .grid{flex-direction:column-reverse;}
    .footer__menu{text-align:center;}
    .menu-item--socials{padding:20px;}
  }
  @media( max-width: 480px ) {
    .footer__logo{margin-right:0;margin-bottom:20px;}
    .footer__copyright{display:block;}
  }

/* Animations */
  #main .grid__item,
  #main .fade-in
  {opacity:0;transform:translateY(60px);transition:1.5s opacity, 1.5s transform;}
  #main .visible .grid__item,
  #main .visible .fade-in
  {opacity:1;transform:translateY(0px);}
  #main .grid__item + .grid__item{transition-delay:0.3s;}
  #main .grid__item + .grid__item + .grid__item{transition-delay:0.6s;}
  #main .grid__item + .grid__item + .grid__item + .grid__item{transition-delay:0.9s;}
  #main .grid__item + .grid__item + .grid__item + .grid__item + .grid__item{transition-delay:1.2s;}
  #main .grid__item + .grid__item + .grid__item + .grid__item + .grid__item + .grid__item{transition-delay:1.5s;}


/* Grid Grid */
  .gridgrid{display:grid;}
  .gridgrid--3col{grid-template-rows:auto;}

/* !Post Edits 1/24/25 - - - - - */

.post-heading + .wp-block-video { margin-top: 40px;}

/* !Infinite Loading - - - - - */

.load-nav { text-align: center; padding-top: 5px;}

/* !Homepage Header Color Fix - - - - - */

.navbar--scrolled.navbar--red-transparent:not(.open){ background-color: #fff;}

.wp-block-cover__inner-container { padding-top: 30px;}

/* !Contact Page Fixes - - - - - */

.content > .contact-columns { max-width: 1024px;}

.contact-columns .gfield .ginput_container textarea.large { height: 250px; width: 100%;}

.contact-columns .gfield .ginput_container input.large { width: 100%;}

.contact-columns .wp-block-image:first-child { padding-top: 20px;}

.contact-columns .wp-block-image + .wp-block-image { margin-top: 20px;}

/* !Service Fixes - - - - - */

a.service-item { display: grid; grid-template-columns: 20px 1fr; gap: 12px; align-items: start;}

a.service-item { display: block;}

a.service-item svg { position: relative; top: 4px; display: none;}

.service-item__title { line-height: 1.4em; font-size: 20px; margin: 0;}

/* !Mobile Sizing Fixes - - - - - */

@media only screen and (max-width: 1200px) {

.project-details th,
.project-details td
{ display: block; text-align: left;}

}

@media only screen and (max-width: 1023px) {

.contact-images
{ display: none;}

.single-project .grid,
.single-service .grid
{ display: block; }

.single-project .subnav { flex-wrap: wrap;}

.single-project .subnav__left { width: 100%;}

.single-project .next-prev { padding-top: 15px; border-top: 1px solid #8a8a8a; margin-top: 10px; display: flex; justify-content: space-between; width: 100%;}

.tray a { font-size: 22px;}

.contact-form { display: block; flex-basis: 100% !important; padding-top: 0;}

}

@media only screen and (max-width: 900px) {

.tray__menu { display: block;}

.tray__menu .sub-menu { padding: 6px 0 0 0; columns: 1;}

.tray a { padding: 4px 0; font-size: 17px;}

.tray__menu > li { margin-left: 10px; margin-right: 10px; margin-bottom: 20px;}

.contact-form { padding-top: 20px;}

}

@media only screen and (max-width: 768px) {

.header-banner h1.header-banner__title
{ font-size: 2em; max-width: none;}

.single-project h1.header-banner__title
{ font-size: 2.2em; max-width: none;}

.wp-block-cover-image h2.has-large-font-size,
.wp-block-cover h2.has-large-font-size
{ font-size: 2em !important;}

.single-project .black-box { padding: 20px;}

.facetwp-facet input.facetwp-search,
.facetwp-facet input.facetwp-location
{ max-width: none; width: 100%;}

}

@media only screen and (max-width: 767px) {

.footer__menu .menu-item,
.footer__menu .menu-item a
{ display: block;}

.footer__menu .menu-item a { padding-top: 5px; padding-bottom: 5px;}

.footer__menu .menu-item.menu-item--socials { display: flex; justify-content: center; align-items: center; gap: 10px;}

.contact-form { padding-top: 50px;}

.contact-columns .gfield .ginput_container textarea.large { height: 150px;}

.service-item__title { font-size: 20px;}

}