:root{
  --main-color:#194E91;
}

 body, html{
    box-sizing: border-box;
    margin:0;
    padding:0;
    font-size:18px;
font-family: 'Montserrat', sans-serif;
  }
  .maincontent{
    max-width:100%;
    padding:0;
    margin:0;
  }
  .maincontent_wrapper{
    padding-top:0;
  }
  
  .row {
    margin: 0 !important;
  }
  
  img {
    width: 100%;
  }
  
  h1 {
    font-size: clamp(28px, 3vw, 60px);
  }

 

  .hero{
    background-image: url('/imageserver/Reusable/john-manville-roof23/hero-min.jpg');
    background-size: cover;
    min-height:50vh;
    color:#fff;
  }
  #header-logo {
    margin: 5% 0 0 5%;
    position: relative;
    padding:8px;
    max-width:300px;
  }
  .hero-content{
    background-color: var(--main-color);
    max-width:40vw;
    min-height:50vh;
  }
  /* ---------------------------------------- Section 2 -------------------------------- */
  
  .section2 {
    padding: 0 5%;
  }
  .sec2-grid{
    display:grid;
    grid-template-columns: .75fr 1fr;
  }
  .section2-collage-grid {
    position: relative;
    text-align: center;
  }
  
  .section2-collage-grid img {
    /* border: 4px solid #424E63; */
  }
  .section2-left-text{
    align-self:center;
  }
 
  
  .collage-top {
    grid-column: 4 /8;
    grid-row: 1/6;
  }
  
  .collage-bottom {
    grid-column: 3 / 8;
    grid-row: 7 / 12;
    position: relative;
  
  }
  #product-list{
    margin-top:1em;
    background-color:#f7f7f7;
    padding:3%;
  }
  .list-grid{
    display:grid;
    grid-template-columns: 15% 85%;
  }
  
  .list-menu{
    background-color:#fff;

  }
  .menu-item {
   padding:2%;
  border:1px solid var(--main-color);
  text-align: center;
 }
 .list-content{
  max-height: 100vh;
    overflow-x:scroll;
 }

 #list-bg{
  height:100%;
  width:100%;
  background-image: url('/imageserver/Reusable/john-manville-roof23/logo-full-white.png'),url('/imageserver/Reusable/john-manville-roof23/Skyline.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size:cover, ;
 }

 .header-top{
  text-align: center;
 }
 
  /* ========== Products ================ */
.flex-group{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  justify-content: space-evenly;
}
.flex-item{
  width:300px;
  margin:0 .5em .5em;
  border:1px solid black;
  background-color:#fff;
}
.flex-item img{
  max-width:300px;
  height:200px;
}
.product-content{
  padding:2%;
  display:flex;
  flex-direction: column;
  height:250px;
}
.tall{
  height:300px;
}
.flex-item h3{
  /* text-decoration: underline; */
  /* flex-grow:1; */
}
.flex-item p{
  font-size:.8rem;
  flex-grow:2;
}

.doc-link{
  margin-top:auto;
  justify-self: flex-end;
}

label {
  display: block;    
  padding: 8px 22px;
  margin: 0 0 1px 0;
  cursor: pointer;
  background: #fff;
  border-radius: 3px;
  border-bottom:1px solid black;
  transition: ease .5s;
  font-size:20px;
  position: relative; /* ADDING THIS IS REQUIRED */
}

input {
  display: none;
}

.btn{
  display:none;
}

label:hover {
  background: #f2f2f2;
}

label::after {
  content: '+';
  font-size: 22px;
  font-weight: bold;
  position: absolute;
  right: 10px;
  top: 2px;
}

input:checked + label::after {
  content: '-';
  right: 14px;
  top: 3px;
}

.content {
  background: white;
  padding: 0 25px;
  margin: 0 0 1px 0;
  border-radius: 3px;
}


input + label + .content {
  display: none;
}

input:checked + label + .content {
  display: block;
}

input + label + .content-sub3500 {
  display: none;
}

input:checked + label + .content-sub3500 {
  display: block;
}

.content-sub3400 {
  background: white;
  padding: 10px 25px;
  margin: 0 0 1px 0;
  border-radius: 3px;
}

input + label + .content-sub3400 {
  display: none;
}

input:checked + label + .content-sub3400 {
  display: block;
}

.content-sub3500 {
  background: white;
  padding: 0 25px 10px;
  margin: 0 0 1px 0;
  border-radius: 3px;
}


  /* ---------------------------- Hero Text -------------------------------- */
  

  
  .call-collage-top{
    transform: translate(30px,142px) scale(0);
 
  }

  .call-collage-bottom{
    transform: translate(0px,-266px) scale(0);
   
  }
 

  .play-collage-top{  
    animation:collage-anim 1s  linear  forwards;
  }
  
  .play-collage-bottom{
    animation:collage-anim 1s linear forwards;  
  }
  
  
  .hero-header{
    opacity:0;
    animation: slidein 2s ease-out 1s forwards;
  }
  
  @keyframes slidein {
    0% {
      margin-left: -5%;
      width: 100%;
      opacity:.7;
     transform:scale(0.8)
    }
    100% {
      margin-left: 0%;
      width: 100%;
      opacity:1;
    }
  }
  
  @keyframes collage-anim {
    from {      
    }
    to {
        transform: translate(0px, 0px) scale(1); 
    }
  }
  

  
  /* ================= Media Queries ================== */
  
  @media screen and (max-width:1200px) {
    .sec2-grid{
      display:block;
      text-align:center;
    }
    .section2-collage-grid{
      display:flex;
      margin:0 auto;
      justify-content:space-around;
      flex-wrap:wrap;
    }
    .section2-collage-grid img{
      max-height:175px;
      margin:10px 0;
    }
  }
  @media screen and (max-width:1100px) {
    .hr{
      margin:15px auto;
    }
    .call-collage-top{
      transform: translate(0,0) scale(1);
    }
  
    .call-collage-bottom{
      transform: translate(0, 0) scale(1);
     
    }
   
    .play-collage-top{  
      animation:collage-anim 1s  linear  forwards;
    }
    
    .play-collage-bottom{
      animation:collage-anim 1s linear forwards;  
    }
    
    

  }

  @media screen and (max-width:768px) {
    .hero-content{
      background-color: var(--main-color);
      max-width:100%;
      min-height:0;
      text-align: center;
      color:#fff;
    }
    .list-grid{
      display:block;
    }
    
    .list-menu{
      background-color:#fff;
  
    }
    .menu-item {
     padding:.5%;
    border:none;
    text-align: center;
    display:inline-block;
   }
   .menu-item h2{
    font-size:18px;
   }
  }


 
  @media screen and (max-width:300px){
    .flex-item {
      width:100%;
      height:100%;
    }
    .flex-item img{
      max-width:100%;
      height:100%;
    }
    .product-content{
      height:100%;
    }
    .tall{
      height:100%;
    }
  }