/* ==========================================================================
   Project Detail — /project-details/{slug}
   Loaded only by resources/views/home/project-detail.blade.php. The card grid in the
   Similar Projects row comes from projects-shared.css, which that view loads too.
   ClickUp: 86ey7ftf4
   ==========================================================================

   Headings on this page are Open Sans, not the site's default "Roboto Slab" — the approved
   design sets the whole Projects section in Open Sans, matching the Projects Overview. Each
   heading rule therefore restates font-family rather than inheriting it.
   ========================================================================== */


/* Breadcrumb
   ========================================================================== */

.project-breadcrumb {
    background-color: #f1f1f1;
    border-bottom: 1px solid #e4e4e4;
    padding: 15px 0;
    width: 100%;
}

.project-breadcrumb-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.project-breadcrumb-list li {
    color: #8c8c8c;
    display: inline-block;
    font-family: "Open Sans", Verdana, Geneva, sans-serif;
    font-size: 12px;
    letter-spacing: 1px;
    line-height: 19px;
    text-transform: uppercase;
}

/* Separator on the pseudo-element rather than in the markup, so it is never selected
   when the trail is copied and never read out as content. */
.project-breadcrumb-list li + li:before {
    color: #c4c4c4;
    content: '/';
    display: inline-block;
    padding: 0 9px;
}

.project-breadcrumb-list a {
    color: #8c8c8c;
    text-decoration: none;
}

.project-breadcrumb-list a:hover,
.project-breadcrumb-list a:focus {
    color: #f87836;
    text-decoration: none;
}

.project-breadcrumb-list .is-current {
    color: #2a2a2a;
    font-weight: 600;
}


/* Title
   ========================================================================== */

.project-detail-head .project-title-block {
    background-color: #ffffff;
    padding: 66px 0 62px;
    text-align: center;
    width: 100%;
}

/* Wins over .project-detail-style h1 in page.css on specificity, not just load order. */
.project-detail-head .project-title-block h1 {
    color: #1a1a1a;
    font-family: "Open Sans", Verdana, Geneva, sans-serif;
    font-size: 90px;
    font-weight: 700;
    letter-spacing: -1px;
    line-height: 95px;
    margin: 0;
    text-transform: uppercase;
}


/* Banner
   ==========================================================================
   Full-bleed, with the orange rule from the design as its top border. Cropped by
   background-size rather than given an aspect-ratio box: the banners on file range from
   500x333 to 3264x1200, and a fixed band is the only way they read consistently. */

.project-detail-head .project-hero {
    background-color: #8c8c8c; /* shows through if the banner is missing from upload/ */
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border-top: 10px solid #f87836;
    height: 610px;
    width: 100%;
}


/* Description and specifications
   ========================================================================== */

.project-detail-body {
    padding-bottom: 10px;
    padding-top: 78px;
}

.project-detail-cols:after {
    clear: both;
    content: '';
    display: table;
}

.project-detail-main {
    float: left;
    width: 53.6%;
}

.project-detail-specs {
    float: right;
    width: 27.7%;
}

/* With no specs on file the column is not rendered at all, so let the copy use the width
   instead of leaving a 46% gutter. */
.project-detail-cols .project-detail-main:only-child {
    float: none;
    width: 100%;
}

.project-detail-eyebrow {
    color: #f87836;
    font-family: "Open Sans", Verdana, Geneva, sans-serif;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.3px;
    line-height: 34px;
    margin: 0 0 12px;
    text-transform: uppercase;
}

.project-detail-meta {
    border-bottom: 1px solid #d9d9d9;
    color: #464646;
    font-family: "Open Sans", Verdana, Geneva, sans-serif;
    font-size: 18px;
    font-style: italic;
    line-height: 26px;
    margin: 0;
    padding-bottom: 30px;
}

.project-detail-copy {
    color: #464646;
    font-family: "Open Sans", Verdana, Geneva, sans-serif;
    font-size: 18px;
    line-height: 30px;
    padding-top: 34px;
}

.project-detail-copy p {
    margin: 0 0 26px;
}

.project-detail-copy p:last-child {
    margin-bottom: 0;
}

/* The client's copy opens with a bold one-line summary inside the description field.
   It reads as a lead-in, so give it its own colour and spacing. */
.project-detail-copy strong,
.project-detail-copy b {
    color: #1a1a1a;
    font-weight: 700;
}

.project-detail-copy a {
    color: #f87836;
}


/* Specification list
   ========================================================================== */

.project-specs {
    margin: 0;
}

.project-specs-item {
    border-bottom: 1px solid #d9d9d9;
    margin-bottom: 17px;
    padding-bottom: 16px;
}

.project-specs-item:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.project-specs-label {
    color: #f87836;
    font-family: "Open Sans", Verdana, Geneva, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;
    line-height: 16px;
    margin: 0 0 5px;
    text-transform: uppercase;
}

.project-specs-value {
    color: #2a2a2a;
    font-family: "Open Sans", Verdana, Geneva, sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 24px;
    margin: 0;
}

/* Scope arrives as one entry per line and is rendered as a span each, so the values
   stack the way the design shows them instead of running together. */
.project-specs-value span {
    display: block;
}


/* Photo gallery
   ==========================================================================
   Natural aspect ratio, stacked. The uploader only derives a 75px thumb, so these are the
   originals; width:100% stops an oversized file from breaking the container. */

.project-gallery {
    padding-bottom: 10px;
    padding-top: 66px;
}

.project-gallery-item {
    margin: 0 0 32px;
    padding: 0;
}

.project-gallery-item:last-child {
    margin-bottom: 0;
}

.project-gallery-item img {
    display: block;
    height: auto;
    width: 100%;
}


/* Decorative divider
   ========================================================================== */

.project-divider {
    padding: 54px 0;
    text-align: center;
    width: 100%;
}

.project-divider svg {
    display: inline-block;
    height: 12px;
    max-width: 90%;
    vertical-align: middle;
    width: 656px;
}


/* Similar projects
   ========================================================================== */

.project-similar {
    padding-top: 22px;
}

.project-similar-eyebrow {
    color: #f87836;
    font-family: "Open Sans", Verdana, Geneva, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2.4px;
    line-height: 18px;
    margin: 0 0 14px;
    text-align: center;
    text-transform: uppercase;
}

.project-similar-heading {
    color: #1a1a1a;
    font-family: "Open Sans", Verdana, Geneva, sans-serif;
    font-size: 60px;
    font-weight: 700;
    letter-spacing: -0.5px;
    line-height: 66px;
    margin: 0 0 40px;
    text-align: center;
    /* page.css sets `h2 { text-transform: uppercase }` site-wide; the design sets this one
       heading in title case, and it is the only h2 on the page that is not uppercase. */
    text-transform: none;
}


/* Breakpoints
   ========================================================================== */

@media only screen and (max-width: 1219px) {
    .project-detail-head .project-title-block h1 {
        font-size: 72px;
        line-height: 78px;
    }

    .project-detail-head .project-hero {
        height: 500px;
    }
}

@media only screen and (max-width: 959px) {
    .project-detail-head .project-title-block {
        padding: 48px 0 44px;
    }

    .project-detail-head .project-title-block h1 {
        font-size: 54px;
        line-height: 60px;
    }

    .project-detail-head .project-hero {
        height: 400px;
    }

    /* 27.7% of a tablet viewport is too narrow for values like "Multi-Family
       Residential", which would break onto three lines. Rebalance rather than stack. */
    .project-detail-main {
        width: 57%;
    }

    .project-detail-specs {
        width: 37%;
    }

    .project-detail-body {
        padding-top: 55px;
    }

    .project-detail-eyebrow {
        font-size: 24px;
        line-height: 30px;
    }

    .project-gallery {
        padding-top: 50px;
    }

    .project-gallery-item {
        margin-bottom: 22px;
    }

    .project-divider {
        padding: 42px 0;
    }

    .project-similar-heading {
        font-size: 44px;
        line-height: 50px;
        margin-bottom: 32px;
    }
}

@media only screen and (max-width: 767px) {
    .project-breadcrumb {
        padding: 12px 0;
    }

    .project-breadcrumb-list li {
        font-size: 11px;
        letter-spacing: 0.6px;
    }

    .project-breadcrumb-list li + li:before {
        padding: 0 6px;
    }

    .project-detail-head .project-title-block {
        padding: 34px 0 30px;
    }

    .project-detail-head .project-title-block h1 {
        font-size: 38px;
        letter-spacing: 0;
        line-height: 44px;
    }

    .project-detail-head .project-hero {
        border-top-width: 6px;
        height: 280px;
    }

    /* Stacked below tablet. The specs keep a rule above them so the two blocks stay
       visually separate now that they are no longer side by side. */
    .project-detail-main,
    .project-detail-specs {
        float: none;
        width: 100%;
    }

    .project-detail-specs {
        border-top: 1px solid #d9d9d9;
        margin-top: 34px;
        padding-top: 30px;
    }

    .project-detail-body {
        padding-top: 40px;
    }

    .project-detail-eyebrow {
        font-size: 21px;
        line-height: 27px;
    }

    .project-detail-meta {
        font-size: 16px;
        line-height: 24px;
        padding-bottom: 22px;
    }

    .project-detail-copy {
        font-size: 16px;
        line-height: 27px;
        padding-top: 24px;
    }

    .project-gallery {
        padding-top: 38px;
    }

    .project-divider {
        padding: 32px 0;
    }

    .project-similar-eyebrow {
        font-size: 12px;
        letter-spacing: 1.8px;
    }

    .project-similar-heading {
        font-size: 32px;
        letter-spacing: 0;
        line-height: 38px;
        margin-bottom: 24px;
    }
}

@media only screen and (max-width: 479px) {
    .project-detail-head .project-title-block h1 {
        font-size: 29px;
        line-height: 35px;
    }

    .project-detail-head .project-hero {
        height: 210px;
    }

    .project-similar-heading {
        font-size: 27px;
        line-height: 33px;
    }
}
