: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);
    
  }
}