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

#reusable{
    overflow:hidden;
}

#reusable img {
    width: 100%;
}

.r-hr {
    margin: 0 auto;
    max-width: 50%;
    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);
}

.r-container {
    max-width: 1400px;
    padding-inline: 2%;
    margin: 0 auto;
}

.r-header {
    max-width: 1000px;
    padding: 2%;
    margin: 0 auto;
    text-align: center;
    overflow:hidden;
    position: relative;
}
.left{
    text-align: left;
    padding:0;
}

.r-center-content{
    padding-inline:2%;
    margin:0 auto;
    text-align: center;
}

#reusable h1{
    font-size:clamp(24px, 4vw, 60px);

}

#reusable h2{
    font-size:clamp(22px, 3.5vw, 52px);
    font-weight:600;
}

#reusable h3{
    font-size:clamp(20px, 3vw, 42px);
    font-weight:200;
    font-style: italic;
    margin-top:10px;
}

#reusable h4{
    font-size:clamp(18px, 2vw, 32px);
    font-weight:600;
    margin-top:10px;
}

/* .docs{
    white-space: nowrap;
} */

.ital-text{
    display:block;
    font-size:clamp(22px, 3vw, 32px);
    font-style: italic;
    z-index:10;
    position: relative;
}

.subtitle{
    text-transform: uppercase;
    font-size:22px;
    font-weight:600;
}

.r-fadein-up{
    transform:translateY(150%);
    opacity:0;
}
.r-fadein{
    opacity:0;
    transform:translateY(50px);
}
.r-hero{
    background-color:#f5f5f5;
    height:clamp(225px, 40vw, 750px);
    clip-path: polygon(0% 0%, 100% 0%, 100% 87%, 19% 100%, 0% 92%);
    position: relative;
    overflow:hidden;
}
.r-hero svg{
    position:absolute;
    top:0;
}
.r-hero-wrapper{
    background-repeat: no-repeat;
    height:100%;
    z-index:20;
    display:grid;
    grid-template-columns: 1/2;
    grid-template-rows: 1/2;
    position: relative;
}
.background{
    grid-column:1/2;
    grid-row:1/2;
    background-image: url('/imageserver/Reusable/storm-damage/full-min.png');
    background-size: 100%;
    background-repeat: no-repeat;
}
.trees{
    background-image: url('/imageserver/Reusable/storm-damage/trees2-min.png');
    background-size: 100%;
    background-repeat: no-repeat;
    grid-column:1/2;
    grid-row:1/2;
    filter: url("#turbulence"); 
 }
.rain{
    opacity:.15;
    background-size: 100%;
    background-repeat: no-repeat;
    grid-column:1/2;
    grid-row:1/2;
    filter: url("#turbulence"); 
    animation: rain 1s linear  infinite ;
 }

@keyframes rain {
    from {
      transform:translateY(-1080px) translateX(25px);
    }
    to {
        transform:translateY(0) ;
        
    }
  } 
  #hero-text{
    grid-column:1/2;
    grid-row:1/2;
    /* align-self:center; */
    height:75%;
    text-align: center;
    align-self:center;
    position: relative;
    z-index: 100;
    color:#fff;
  }

.section1{
    margin-top:-80px;
}

.sec1-r-underline{
    max-width:60%;
    margin:0 auto;
    grid-column:1/2;
    grid-row:1/2;
}

.white-overlay{
    grid-column:1/2;
    grid-row:1/2;
    background-color: #fff;
}

.animate-underline{
    display:grid;
}

.r-center-content{
    overflow:hidden;
}
.design-bg{
    background-image: url('/imageserver/Reusable/storm-damage/design-bg.png');
    background-position: center;
    background-size: cover;
    padding-bottom:50px;
}
.grid-col6-6{
    display:grid;
    grid-template-columns: 48% 4% 48%;
    margin:0 auto;
}

.grid-col3-image{
    grid-column:1/2;
    text-align: center;
}
.grid-col6-text{
    padding:12% 2% 6%;
    background-color:#f5f5f5;
}

.grid-col6-image{
    background-image: url('/imageserver/Reusable/storm-damage/house-main.webp');
    background-position: center;
    background-size: cover;
}

.grid-col2-10{
    display:grid;
    grid-template-columns: 20% 80%;
    margin:50px auto 0;
}

.grid-col10-text{
    width:100%;
    height:100%;
    display:grid;
    align-items: center;
}
#insurance-banner{
    text-align: center;
    padding-block:2%;
    border: 2px solid #AB976C;
    border-radius: 5px;
    background-color: #6B81AA;
    color:#fff;
}

.cta{
    background-color:#AB976C;
    display:inline-block;
    padding:14px 24px;
    border-radius:5px;
    border:1px solid #000;
    color:#fff;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.5);
}
.docs{
    color:#fff;
}  


/* ========== Section2 ============== */
.section2{
    background-color:#f5f5f5;
    padding-bottom:50px;
}
.flex-group{
    display:flex;
    flex-direction: row;
    justify-content: space-evenly;
    flex-wrap:wrap;
}

.flex-item{
    max-width:280px;
    height:250px;
    text-align: center;
    border:2px solid #6B81AA;
    border-radius:40px;
    box-shadow:0px 0px 10px rgba(0,0,0,0.3);
    padding:0 20px;
    overflow:hidden;
    margin-block:5px;
}

.single-card{
    opacity:0;
    transform: translateY();
}

.single-card:hover .card-front{
    transform: translateY(-250px);
    transition:.5s;
}
.single-card:hover .card-back{
    transform: translateY(-250px);
    transition:.5s;
}

.process-card-image-box img{
    max-width:150px;
}


.card-front{
    height:250px;
    display:grid;
    align-content:space-evenly;
    transition:.5s;
}
.card-back{
    height:250px;
    display: grid;
    align-content: center;
    transition:.5s;
}

.process-text{
    font-size: 16px;
    line-height: 18px;
}

/* ============== faq ==================== */

  .faq{
    background-image: url('/imageserver/Reusable/storm-damage/house-roof--full.jpg');
    background-position: center;
    background-size: cover;
    min-height:100vh;
  }

  .grid-col8-4{
    display:grid;
    grid-template-columns: 60% 40%;
  }

  .accordion {
    width: 100%;
    box-shadow: 0 8px 17px rgba(0,0,0,.2);
    background:#fff;
    padding:0 3%;
  }
  
  .accordion-menu {
    font-size: 22px;
    color: #000;
    padding:20px 10px;
    cursor: pointer;
    user-select: none;
    position:relative;
    border-top:1px solid #000;
    font-weight:600;
  }
  
  .accordion-content {
    height: 0;
    overflow: hidden;
  }
  
  .accordion-content.expanded {
    height: 0;
    overflow: hidden;
  }
  .accordion-plus,
  .accordion-minus{
    position:absolute;
    top:7px;
    right:8px;
    font-size:24px;
    border:1px solid #970714;
    border-radius:50%;
    color:#970714;
    height:36px;
    width:36px;
    text-align: center;
  }
  .accordion p {
    margin: 10px;
  }
  .modal-dialog{
    width:80%;
    margin:0 auto;
  }
  .modal-title{
    text-align: center;
  }
  .image-grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    justify-items:center;
  }
  .image-grid-item{
    position: relative;
    max-width:400px;
    overflow:hidden;
    border:1px solid #000;
    margin-block:10px;
  }
  .image-grid-item img{
    max-width:400px;
  }
  .roof-damage-title{
    position: absolute;
    bottom:0;
    left:0;
    width:100%;
    text-align: center;
    font-size:21px;
    font-weight:500;
    background-color:#fff;
    opacity:0;
    transform:translateY(100%);
    transition:.3s;
    padding:10px 0;
  }
  .image-grid-item:hover .roof-damage-title{
    opacity:1;
    transform:translateY(0);
    transition:.3s;
  }
/* =============== Media Queries =========== */
@media screen and (max-width:992px) {
    .grid-col6-6{
        display:block;
    }
    .grid-col6-image{
        height:50vh;
    }
    body,
html {
    font-size: 16px;
}
.grid-col8-4{
    display:block;
    grid-template-columns: 60% 40%;
  }
  .left{
    text-align: center;
  }
  .grid-col6-text{
    padding:6% 2% 6%;
}
.grid-col6-image{
    padding-top:5%;
}
}

@media screen and (max-width:800px) {
    body,
html {
    font-size: 14px;
}
.subtitle{
    font-size:18px;
}
}
@media screen and (max-width:500px) {
    #hero-text{
        max-width:60%;
        margin:0 auto;
        height:85%;
    }
    #hero-text h1{
        font-size:18px;
    }
    #hero-text h2{
        font-size:16px;
        margin-top:0;
    }
}
@media screen and (max-width:400px) {
    .grid-col2-10{
        display:block;
        text-align: center;
    }
}