body,
html {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-size: 18px;
    /* font-family: "Poppins", sans-serif; */
    font-family: 'Montserrat', 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("storm-damage-overview.css"); 
 }
.rain{
    opacity:.15;
    background-size: 100%;
    background-repeat: no-repeat;
    grid-column:1/2;
    grid-row:1/2;
    filter: url("storm-damage-overview.css"); 
    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;
  }


  /* Contact Form Section */
.contact-form-section {
    padding: 64px 0; /* Emulates Tailwind's py-16 (16 * 4px = 64px) */
    background-color: #fff; /* bg-white */
}

.contact-form-container {
    max-width: 768px; /* Emulates Tailwind's max-w-3xl (approx 48rem = 768px) */
    margin: 0 auto;
    padding: 0 16px; /* Emulates px-4 (4 * 4px = 16px) */
}

.form-header {
    text-align: center;
    margin-bottom: 48px; /* Emulates mb-12 (12 * 4px = 48px) */
}

.form-header h2 {
    font-size: clamp(24px, 3vw, 36px); /* Emulates text-3xl (approx 1.875rem = 30px) with responsiveness */
    font-weight: bold;
    color: #1f2937; /* Emulates text-gray-900 */
    margin-bottom: 16px; /* Emulates mb-4 */
}

.form-header p {
    color: #6b7280; /* Emulates text-gray-600 */
    font-size: 16px;
}

#home-page-form {
    display: grid;
    gap: 24px; /* Emulates space-y-6 (6 * 4px = 24px) between direct children */
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr; /* Emulates grid-cols-1 */
    gap: 24px; /* Emulates gap-6 */
}

.form-label {
    display: block;
    font-size: 14px; /* Emulates text-sm */
    font-weight: 500; /* Emulates font-medium */
    color: #374151; /* Emulates text-gray-700 */
    margin-bottom: 4px; /* Slight spacing below label */
}

.form-input,
.form-textarea {
    width: 100%;
    padding: 8px; /* Emulates p-2 (2 * 4px = 8px) */
    border: 1px solid #d1d5db; /* Emulates border-gray-300 */
    border-radius: 4px; /* Emulates rounded-md */
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); /* Emulates shadow-sm */
    font-size: 16px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-input:focus,
.form-textarea:focus {
    outline: none;
    border-color: #3b82f6; /* Emulates focus:border-blue-500 */
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.5); /* Emulates focus:ring-blue-500 */
}

.form-textarea {
    min-height: 96px; /* Emulates rows="4" (approx 24px per row) */
}

.form-submit {
    text-align: center;
}

.btn-primary {
    background-color: #6B81AA; /* Match your storm-damage theme */
    color: #fff;
    padding: 12px 24px;
    border-radius: 4px; /* Emulates rounded-md */
    border: 1px solid #000; /* Consistent with your .cta */
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5); /* Match your .cta */
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.btn-primary:hover {
    background-color: #5a6e94; /* Darker shade for hover */
}

.form-message {
    padding: 10px;
    margin: 10px 0;
    border-radius: 4px;
    text-align: center;
    display: none;
}

.form-message.success {
    background-color: #d4edda; /* Emulates Tailwind’s success bg */
    color: #155724;
}

.form-message.error {
    background-color: #f8d7da; /* Emulates Tailwind’s error bg */
    color: #721c24;
}

/* Honeypot (already hidden, just ensuring consistency) */
.honeypot {
    display: none;
}

/* Responsive Adjustments */
@media screen and (min-width: 768px) { /* Emulates md: breakpoint in Tailwind */
    .form-grid {
        grid-template-columns: repeat(2, 1fr); /* Emulates md:grid-cols-2 */
    }

    .form-grid.full-width {
        grid-column: 1 / -1; /* Emulates md:col-span-2 */
    }
}

@media screen and (max-width: 992px) {
    .contact-form-container {
        padding: 0 8px; /* Slightly tighter on smaller screens */
    }

    .form-header h2 {
        font-size: clamp(20px, 3vw, 30px); /* Slightly smaller */
    }
}

@media screen and (max-width: 500px) {
    .form-input,
    .form-textarea {
        font-size: 14px; /* Adjust for smaller screens */
    }

    .btn-primary {
        padding: 10px 20px; /* Slightly smaller button */
    }
}
/* =============== 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;
    }
}