:root{
  --main-color:#215EB8;
  --white-text:#f2f2f2;
} 


.maincontent {
  max-width: 100%;
  padding: 0;
  margin: 0;
}

html, body{
  scroll-behavior: smooth;
}

.reusable h1{
    font-weight: 700;
  }
.reusable h2{
    font-weight:200;
  }
p{
    line-height: 1.6em;
}
.reusable .row{
  margin:0 !important;
  padding:0 !important;
}
 
 .reusable img{
    width:100%;
 }

 .color-item h2{
  margin-top:5px !important
 }

 /* ============ */
 .my-container{
  max-width:90%;
  padding: 2%;
  margin:0 auto;
}
.hero-container{
  max-width:80%;
  padding: 2%;
  margin:0 auto;
}
#hero{
  background-image: url('/imageserver/Reusable/certainteed23-res/pres-shake-hero-min.jpeg');
  background-repeat: no-repeat;
  background-size:cover;
  background-position:center;
  height:clamp(200px, 25vw, 600px);
  position: relative;
}

#hero-container{
  position: relative;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content: center;
  height:clamp(200px, 25vw, 600px);
}
#hero-text{
  max-width:600px;
  color:var(--white-text);
  border:1px solid #fff;
  background-color:rgba(33,94,184,.9);
  padding: 2%;
}

#hero-logo{
  max-width:300px;
  background-color:#fff;
  position: absolute;
  top:1%;
  left:1%;
  padding:8px;
  
}
/* =============== */
 .my-header{
  text-align: center;
  /* max-width:800px; */
 }
 .my-hr{
  max-width:600px;
}
.mt{
  margin-top:15px;
}


 /* ============== Color Picker ================== */
 .color-picker{
    display:grid;
    grid-template-columns: repeat(2,50%);
    gap:1em;
    justify-content: center;
    /* max-width:1400px; */
    margin:0 auto;
    padding-inline:1em;
  }
  #color-picker-house{
    display:grid;
    grid-row:1/2;
    grid-column:1/2;
  }
  #house{
    grid-row:1/2;
    grid-column:1/2;
    z-index:10;
    align-self:flex-start;
  }
  #shingle{
    justify-self:flex-end;
  }
  .box{
    background-color:red;
    height:100px;
    width:100px;
    margin-top:-120px;
  }

 .color-group{
    display:flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    max-width:1400px;
    margin:20px auto;
  }
  .color-box{
    display:inline-block;
    /* height:150px; */
    max-width:300px;
    cursor:pointer;
  }
  .shingle-swatch:hover{
    filter: brightness(1.75);
    transition:.3s;
  }
  .shingle-swatch{
    transition:.3s;
  }
  .color-item{
    margin:15px;
    opacity:0;
  }
  .color-item h4{
    margin-top:5px;
  }
 
  #color-name{
    text-align: center;
  }
  
  .color-picker-shingle{
    text-align: center;
    width:100%;
    grid-row:1/2;
    grid-column:2/3;
    display:flex;
    flex-direction: column;
    justify-content: center;
  }
  #panel-desat{
    align-self:flex-start;
    grid-row:1/2;
    grid-column:1/2;
  }
  #panel-overlay{
    align-self:flex-start;
    width:100%;
    height:100%;
    grid-row:1/2;
    grid-column:1/2;
    mix-blend-mode: overlay;
  }
  .features-container{
    margin:50px 0 20px;
    padding:0 5%;
  }
  .features-header{
    padding-block:10px;
    text-align: center;
    background-color:var(--main-color);
    color:var(--white-text);
  }
  .features-body{
    max-width:1400px;
  }
  .features-body-header{
    border-bottom:1px solid #000;
    max-width:75%;
    margin-block:20px;
  }
  .features-list-title{
    font-size:1.3em;
    font-weight:600;
    margin-right:5px;
  }
  .features-image{
    -webkit-clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
  }
  .download-icon{
    max-width:15px;
    margin-left:3px;
  }
  .docs{
    display:block;
    font-size:1.2em;
    margin-block:5px;
  }
  .white-space{
    white-space: nowrap;
  }
  /* ============ Media Queries ============ */
  @media screen and (max-width:1200px) {
    #hero-text{
      display:none;
    }
    #hero-logo{
      max-width:200px;
    }
  }
  @media screen and (max-width:992px) {
    .color-picker{
        display:block;
    }
    #color-picker-house{
      margin-bottom:10px;
    }
    .features{
      text-align: center;
    }
    .features-body-header{
      margin:20px auto;
    }
  }
  @media screen and (max-width:700px) {
    .color-item{
      text-align: center;
    }
  }
  @media screen and (max-width:600px) {
    .features-container {
      margin: 15px 0 20px;
    }
    #hero-container{
      align-items:flex-end;
      justify-content: center;
      height:clamp(200px, 25vw, 600px);
    }
    .main-image{
      min-width:1px;
    }
    .color-item{
      margin:5px;
    }
  }