/* ==========================================================================
   Project Developers Page Styles
   Replicates heatreduction.com structural layout fixes for the hero image.
   Scoped to .lp-project-developers.
   ========================================================================== */

/* Fix Background Image Container */
.lp-project-developers.background-image {
    background-repeat: no-repeat;
    background-position: 0 -140px;
    background-size: 100%;
}

.lp-project-developers .bg-image {
    position: relative; /* RESTORED TO NORMAL FLOW! This stops it from covering the header */
    width: 100%;
    height: 550px !important; /* Huge height guarantees it extends far behind the white section below */
    overflow: hidden;
    z-index: 0;
}

/* Fix Image Sizing for picture and inner img */
.lp-project-developers .bg-image > div,
.lp-project-developers .bg-image picture {
    height: 100%;
    display: block;
}

.lp-project-developers .bg-image img {
    width: 100%;
    height: 100% !important; /* Force image to stretch into the 550px container */
    object-fit: cover;
    margin-top: -10%; /* Visual tuning for focal point */
}

/* Make sure the title has space since the image is now overlapping */
.lp-project-developers .section-first {
    margin-top: -550px; /* Physically pull the text container UP so it perfectly overlaps the normal-flow background image! */
    position: relative;
    z-index: 10;
    min-height: 350px; /* Fluid height allows container to expand if text wraps */
    height: auto;
}

.lp-project-developers .section-first section {
    padding-top: 0px;
}

.lp-project-developers .section-first .section-header {
    padding-top: clamp(60px, 8vw + 20px, 130px) !important; /* Fluid top padding scales down on smaller screens */
    text-align: left;
}

.lp-project-developers .section-first .section-header h1 {
    position: relative;
    color: #323232;
    font-size: clamp(22px, 3vw + 10px, 43px) !important; /* Fluid heading font-size scales gradually */
    line-height: 1.2 !important;
}

.lp-project-developers .section-first .section-header .body-content p {
    line-height: normal;
    color: #323232;
    text-align: left;
}

.lp-project-developers .section-first .section-header .body-content .button {
    float: none !important; /* Remove float so it contributes to container height */
    display: inline-block;
    margin-bottom: 30px; /* Add space below the button before the curve starts */
    text-align: left;
}

/* Clearfix to absolutely guarantee the section-first expands */
.lp-project-developers .section-first .section-header .body-content::after {
    content: "";
    display: table;
    clear: both;
}

.lp-project-developers .section-first .section-fade {
    background-image: linear-gradient(#FFFFFF, transparent);
    background-size: 100%;
    width: 100%;
    height: 500px;
    position: absolute;
    top: 0; /* Starts at top of section-first, header z-index ensures it paints above */
    z-index: -1;
}

/* Responsiveness */
@media only screen and (max-width: 1500px) {
    .lp-project-developers .bg-image img {
        margin-top: -7%;
    }
}

@media only screen and (max-width: 885px) {
    .lp-project-developers.background-image {
        background-size: auto 42%;
        background-position: center top;
    }
    
    .lp-project-developers .section-first {
        height: auto !important;
        min-height: 260px;
    }
    .lp-project-developers .section-first section {
        padding-top: 0;
    }
    .lp-project-developers .section-first .section-header {
        max-width: 100%;
        padding-top: 100px; /* Push text down on smaller screens too */
    }
}



/* Add vertical spacing above the first box's heading to align the text block lower */
.lp-project-developers section.visual-chart-list .section-columns > li:first-child .chart-content h4 {
    margin-top: 24px;
}

/* Apply border styling to custom uploaded chart images that don't have it embedded */
.lp-project-developers section.visual-chart-list .section-columns > li .chart-image img{
    border: 3px solid #414141;
    border-radius: 28px;
    box-sizing: border-box;
}

/* Tweaks to match Science page chart layout */
.lp-project-developers section.visual-chart-list .section-columns > li .column-content > div .chart-content {
    max-width: 465px;
    padding-left: 14px;
}
.lp-project-developers section.visual-chart-list .section-columns > li:nth-child(even) .column-content > div .chart-content {
    padding-left: 0;
    padding-right: 2%;
}
.lp-project-developers section.visual-chart-list .section-columns > li .column-content > div h4 {
    font-size: 24px;
}

