:root{
    --tline-blue:#18346A;
    --gaf-red:#D71921;
  }
  
  body,html{
    box-sizing: border-box;
    margin:0;
    padding:0;
    font-size:18px;
    font-family: 'Poppins', sans-serif;
  
  }
  .maincontent{
    max-width:100%;
    padding:0;
    margin:0;
  }
  .maincontent_wrapper{
    padding-top:0;
  }
  h1{
    font-size:2.5rem;
  }
  h2{
    font-size:2rem;
  }
  h3{
    font-size:1.5rem;
  }
  h4{
    font-size:1.3rem;
  }
  img{
    width:100%;
  }
  .title{
    font-weight:300;
  }
  .subtitle{
    max-width:800px;

  }
  .highlight{
    font-weight:600;
  }
  .p-link{
    font-weight:600;
    text-transform: uppercase;
    white-space: nowrap;
    color:#fff;
    border:1px solid var(--tline-blue);
    border-radius:5px;
    padding:10px 15px;
    margin-top:10px;
    display:inline-block;
    text-decoration: none;
    background-color:var(--gaf-red)
  }
  .p-link:hover{
    text-decoration: none;
    box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.15);
    color:#fff;
    transform:scale(.99);
  }
.overlay {
  position: relative;
  width:100%;
  display:grid;
}

.image {
    grid-column: 1/2;
    grid-row:1/2;
  opacity: 1;
  display: block;
  width: 100%;
  height: auto;
  transition: .5s ease;
  backface-visibility: hidden;
  display:grid;
}

.image img{
    grid-column: 1/2;
    grid-row:1/2;
}


.middle {
  transition: .5s ease;
  opacity: 0;
  grid-column: 1/2;
  grid-row:1/2;
  display:flex;
  flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
    height:auto;
  text-align: center;
  padding:0 5%;
  z-index:10;
}

.middle img{
    max-width:175px;
}

.overlay:hover .image {
  opacity: 0.1;
}

.overlay:hover .middle {
  opacity: 1;
}

input {
    display: none;
}

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

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: 10px 25px;
    margin: 0 auto;
    border-radius: 3px;
    max-width:800px;
}

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

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

@media only screen and (max-width: 768px) {
  .btn{
     display:block;
 
  }
}

/* ============ New CSS ============== */
.warranty-section{
    padding:3% 10%;
}

#warranty-img{
    float:right;
    width:clamp(300px, 40vw, 600px);
}

.warranty-section-header{
    margin-bottom:25px;
    font-size: 2.5rem;
    font-weight:300;
}

hr{ 
        border: 0; 
        height: 1px; 
        background-image: -webkit-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
        background-image: -moz-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
        background-image: -ms-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
        background-image: -o-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0); 
      }



  .video-bg{
    height:300px;
    width:800px;
    margin:20px 0 0 5vw;
}

  .roofing-system-section{
    /* margin-top:100px; */
    padding:3% 10%;
    background-color:#ececec;
  }
  .header{
      text-align: center;
  }
.grid-60-40{
    display:grid;
    grid-template-columns: 60% 40%;
}

.roof-system-grid{
    display:grid;
    
}
.roof-system-item{
    grid-column: 1/2;
    grid-row: 1/2;
}
.grid-col40{
    align-self: center;
}

.roof-system-item img{
    margin:0 auto;
    max-width:700px;
}

.middle{
    padding:0 50px;
}

.image{
    max-width:500px;
    margin:0 auto;
    text-align: center;
}

.roofItemAnim{
    position: relative;
    transform:perspective(200px) translateZ(50px);
    opacity:1!important;
    transition:.5s;
    z-index:5;
    pointer-events: none;
}
.roofItemAnim1{
    position: relative;
    transform:perspective(200px) translateY(75px) translateZ(50px);
    opacity:1!important;
    transition:.5s;
    z-index:5;
}

.remodeler{
    padding:100px 5%;
}
.remodeler-grid{
    display:grid;
    grid-template-columns: 50% 50%;
    gap:30px;
}
.remodeler-left{
    padding:2% 3%;
}

@media screen and (max-width:1050px) {
    .video-bg{
        height:250px;
        width:100%;
        margin:30px auto;
    }
}

@media screen and (max-width:992px) {
    .grid-60-40{
        display:block;
    }
    .myButton{
        float:none;
        padding:20px 40px;
    }
    .warranty-section-wrapper{
        position: relative;
        display:block;
        text-align: center;
        margin:0 auto;
    }
    #warranty-img{
        float:none;
    }
    .remodeler-grid{
        display:block;
        text-align: center;
        gap:30px;
    }
}
@media screen and (max-width:400px) {
    #warranty-img{
        float:none;
        text-align: center;
        width:clamp(300px, 40vw, 600px);
      
    }
}