    /* Common */
    :root {
        --text-gray: #444444;
        --bg-light-gray: #d9d9d933;
        --transition: transition: all 0.3s ease-in-out 0.1s;
    }

    body {
        overflow-x: hidden;
    }

    .img-fluid {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .object-fit-contain {
        object-fit: contain;
    }

    .unset-property {
        display: block;
        padding: 0;
    }

    .bg-light-gray {
        background-color: var(--bg-light-gray);
    }

    .align-start {
        align-items: flex-start !important;
    }

    .bg {
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .d-none {
        display: none !important;
    }

    /* Spacing */
    .p-0 {
        padding: 0 !important;
    }

    .m-0 {
        margin: 0 !important;
    }

    .mb-15 {
        margin-bottom: 15px;
    }

    .mt-0 {
        margin-top: 0px !important;
    }
    
    .mt-20 {
        margin-top: 20px !important;
    }

    .py-80 {
        padding-top: calc(65px + (80 - 65) * ((100vw - 320px) / (1920 - 320)));
        padding-bottom: calc(65px + (80 - 65) * ((100vw - 320px) / (1920 - 320)));
    }

    .py-100 {
        padding-top: calc(65px + (100 - 65) * ((100vw - 320px) / (1920 - 320)));
        padding-bottom: calc(65px + (100 - 65) * ((100vw - 320px) / (1920 - 320)));
    }

    .inr-pg-bnr {
        padding-top: 140px;
    }

    /* Typography */
    .gray-text {
        color: var(--text-gray);
    }

    .secondry-text {
        color: var(--secondary);
    }

    .font-text {
        font-family: var(--font);
    }

    .fw-regular {
        font-weight: 400;
    }

    .fw-medium {
        font-weight: 500;
    }

    .fw-semibold {
        font-weight: 600;
    }

    .fw-bold {
        font-weight: 700;
    }

    .fz-14 {
        font-size: 14px;
        line-height: 21px;
    }

    .fz-18 {
        font-size: calc(16px + (18 - 16) * ((100vw - 320px) / (1920 - 320)));
        line-height: calc(24px + (28 - 24) * ((100vw - 320px) / (1920 - 320)));
    }

    .fz-20 {
        font-size: calc(18px + (20 - 18) * ((100vw - 320px) / (1920 - 320)));
        line-height: calc(28px + (30 - 28) * ((100vw - 320px) / (1920 - 320)));
    }

    .fz-24 {
        font-size: calc(20px + (24 - 20) * ((100vw - 320px) / (1920 - 320)));
        line-height: calc(30px + (36 - 30) * ((100vw - 320px) / (1920 - 320)));
    }

    .fz-32 {
        font-size: calc(24px + (32 - 24) * ((100vw - 320px) / (1920 - 320)));
        line-height: calc(36px + (48 - 36) * ((100vw - 320px) / (1920 - 320)));
    }

    .btn-center {
        display: flex;
        justify-content: center;
    }

    /* heading style */
    .hightlight-hdg {
        font-size: 14px;
        text-transform: uppercase;
        font-weight: 700;
        color: var(--secondary);
        display: flex;
        align-items: center;
        gap: 14px;
        margin-bottom: 8px;
    }

    .hdg-line {
        width: 50px;
        height: 3px;
        background: var(--secondary);
        display: inline-block;
    }

    .hdg-group h2 {
        margin-bottom: 10px;
    }

    .hdg-group.center {
        max-width: 850px;
        margin: 0 auto;
        text-align: center;
    }

    .hdg-group.center .hightlight-hdg {
        justify-content: center;
    }

    /* Header */
    header.pc.main-hdr {
        position: fixed;
        width: 100%;
        border: 0;
        left: 0;
        top: 20px;
        height: unset !important;
        background-color: unset;
    }

    .main-hdr * {
        font-family: var(--font) !important;
    }

    .menu-btn {
        display: none;
    }

    header.pc.main-hdr .hdr-inner {
        display: flex;
        align-items: center;
        max-width: 1340px;
        width: 100%;
        margin: 0 auto;
        padding: 12px 16px 12px 38px;
        background: #ffffff3d;
        border-radius: 60px;
        gap: 40px;
        backdrop-filter: blur(4px);
    }

    header.pc.main-hdr.active .hdr-inner {
        background: #000000a1;
    }

    .service-nav .sub-menu li a:hover {
        color: #fff !important;
    }

    .logo {
        max-width: 150px;
        outline: 0;
        border: 0;
    }

    .pc-menu {
        flex-grow: 1;
    }

    #menu-main-menu {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 16px;
    }

    #menu-main-menu>li {
        flex: unset !important;
        padding: 0;
    }

    #menu-main-menu li a {
        text-transform: capitalize;
    }

    .icon-btn {
        display: inline-flex;
        flex-shrink: 0;
        gap: 10px;
        white-space: nowrap;
        padding: 7px 22px 7px 7px;
        background: var(--secondary);
        border-radius: 40px;
        color: #fff;
        align-items: center;
        font-weight: 600;
        transition: all 0.3s ease-in-out 0.1s;
    }

    .icon-btn:hover {
        background: var(--primary);
    }

    .icon-btn:hover span {
        color: #fff;
    }

    .icon-btn.right-icon.sm {
        padding: 5px 4px 5px 20px;
        gap: 8px;
    }

    .icon-btn.right-icon {
        padding: 7px 7px 7px 22px;
    }

    .icon-btn span,
    .icon-wpr {
        width: 35px;
        /* min-width: 35px; */
        height: 35px;
        background: #fff;
        padding: 7px;
        border-radius: 30px;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: var(--transition);
    }

    .icon-btn span {
        min-width: 35px;
    }

    .icon-wpr {
        background-color: #fff;
        box-shadow: 0 0 10px rgba(241 90 41 / 12%);
        border: 1px solid rgba(241 90 41 / 12%);
        margin-left: auto;
    }

    .icon-btn.right-icon.sm span,
    .icon-wpr.sm {
        min-width: 25px;
        width: 25px;
        height: 25px;
    }

    /* Banner Section */
    .banner-sec {
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        position: relative;
        padding: 180px 0 90px;
        overflow-y: hidden;
    }

    .banner-sec:after {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: #000;
        opacity: 0.40;
        left: 0;
        top: 0;
        z-index: -1;
    }

    /*  */

    .zoom-out-slider {
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        z-index: -1;
    }

    .zoom-out-slider .swiper-slide {
        background-size: cover;
        background-position: center;
        transition: transform 2s ease-out;
        transform: scale(1.2);
    }

    .zoom-out-slider .swiper-slide.swiper-slide-active {
        transform: scale(1);
    }

    /*  */

    .bnr-inr {
        display: flex;
        gap: 80px;
        align-items: center;
    }

    .bnr-inr>div {
        flex: 0 0 calc(50% - 40px);
        max-width: calc(50% - 40px);
    }

    .bnr-left {
        max-width: 570px;
        width: 100%;
    }

    .bnr-right {
        flex-grow: 1;
    }

    .bg-badge {
        display: inline-flex;
        padding: 6px 38px 6px 16px;
        background: var(--black);
        border-radius: 0 20px 20px 0;
        color: var(--secondary);
        font-weight: 500;
    }

    .bnr-ctnt h1 {
        font-size: calc(30px + (48 - 30) * ((100vw - 320px) / (1920 - 320)));
        line-height: 1.5em;
        margin: 5px 0 15px;
        font-family: var(--font);
        font-weight: 700;
        text-transform: capitalize;
    }

    .bnr-ctnt p {
        margin: 10px 0 35px;
    }

    .bnr-form {
        max-width: 490px;
        width: 100%;
        margin: 0 auto;
        background: #00000085;
        padding: 17px 27px 50px 27px;
        box-shadow: 0 0 10px rgba(255 255 255 / 12%);
        border-radius: 20px;
    }

    .bnr-form .fz-32 {
        line-height: 40px !important;
        font-family: var(--font);
        font-weight: 500;
    }

    .bnr-form .fz-32 span {
        font-family: var(--font);
    }


    /* Quick Key Section */
    .quick-keys-inr {
        display: flex;
        background: #f1f1f1;
        max-width: calc(100% - 14%);
        width: 100%;
        margin-left: auto;
        margin-top: -20px;
        position: relative;
        z-index: 9;
        box-shadow: 0 0 15px rgba(0 0 0 / 12%);
    }

    .video-card {
        position: relative;
        max-width: 340px;
        height: 200px;
        width: 100%;
        z-index: 1;
    }

    .video-card:after {
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        content: "";
        background-color: var(--secondary);
        opacity: 60%;
        z-index: 0;
    }

    .video-card .bg-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .video-card .play-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 1;
    }

    .quick-key-card:not(:first-child) {
        padding: 24px;
        max-width: calc(100% / 4 - 30px);
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
        width: 100%;
    }

    .quick-key-card:nth-child(2) {
        max-width: 100%;
        flex-grow: 1;
    }

    .quick-key-card:not(:first-child)>img {
        height: 54px;
        max-width: 74px;
        object-fit: contain;
    }

    /* About Section */
    .about-sec {
        background-image: url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/07/city.png');
        background-size: contain;
        background-position: bottom center;
        padding-bottom: 200px;
    }

    .about-inr-wpr {
        display: flex;
        gap: 30px;
    }

    .about-left-ctnt {
        display: flex;
        flex-direction: column;
        gap: 15px;
        align-items: start;
        padding-bottom: 130px;
    }

    .about-right-ctnt {
        max-width: 100%;
        width: 100%;
        padding: 30px;
        background-image: url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/10/Rectangle-13-1.jpg');
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        border-radius: 30px;
        color: #fff;
        display: flex;
        gap: 20px;
        margin-top: 24px;
        background-color: var(--secondary);
    }

    .about-details-wpr {
        display: flex;
        gap: 35px;
        margin-bottom: 24px;
    }

    .designation {
        margin-bottom: 10px;
    }

    .about-key-list {
        display: flex;
        flex-direction: column;
        gap: 10px;
        min-width: 40%;
    }

    .about-key-item {
        display: flex;
        align-items: center;
        gap: 20px;
    }

    .about-key-item span {
        width: 48px;
        min-width: 48px;
        height: 48px;
        border-radius: 50%;
        padding: 2px;
        background: #fff;
        overflow: hidden;
    }

    .about-key-item span img {
        filter: hue-rotate(214deg);
    }

    .about-img {
        position: relative;
    }

    .about-img>img {
        width: 96px;
        height: 96px;
        object-fit: contain;
    }


    .about-img .badge {
        position: absolute;
        right: -16px;
        bottom: -5px;
    }

    .about-img .badge img {
        width: 40px;
        height: 40px;
        object-fit: contain;
    }

    .link-btn-margin {
        margin-top: 40px;
    }

    .about-bottom-city {
        display: flex;
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        overflow: hidden;
    }

    .truck-wrap {
        display: flex;
        align-items: flex-end;
    }

    .truck-wrap img {
        width: 240px;
        object-fit: contain;
    }

    .company-year {
        width: 100%;
        position: relative;
    }

    .year {
        font-size: calc(80px + (195 - 80) * ((100vw - 320px) / (1920 - 320)));
        font-weight: 700;
        color: transparent;
        -webkit-text-stroke: 2px black;
        opacity: 15%;
        line-height: 165px;
        padding-left: 30px;
        letter-spacing: 5px;
        width: 100%;
    }

    .logo-symbol {
        display: inline-block;
        position: absolute;
        top: 50%;
        left: 25.4%;
        display: none;
        transform: translateY(-50%);
    }



    /* Testimonial Sec */
    .testimonial-sec {
        background-image: url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/07/tetimonial-bg.png');
        background-repeat: no-repeat;
        background-size: cover;
        background-position: right 98%;
    }

    .twoColumn-bx-hdg {
        display: flex;
        gap: 50px;
    }

    .twoColumn-bx-hdg .hdg-group {
        max-width: 660px;
        width: 100%;
        flex-shrink: 0;
    }

    .twoColumn-bx-hdg .hdg-group.lg {
        max-width: 850px;
    }

    .review-box {
        width: 100%;
    }

    .review-no-wpr {
        display: flex;
        gap: 20px;
        align-items: center;
        font-size: 14px;
    }

    .review-no {
        align-items: center;
        font-size: 70px;
        font-weight: 600;
        display: flex;
        color: var(--secondary);
    }

    .review-no span {
        font-weight: 300;
        font-family: 'poppins';
        font-size: 50px;
    }

    #material-carousel .swiper-slide .review-card {
        max-width: 540px !important;
        padding: 24px;
        display: flex;
        flex-direction: row;
        gap: 20px;
        align-items: center;
        margin: 8px 0;
        position: relative;
        z-index: 0;
    }

    #material-carousel .swiper-slide .review-card:after {
        position: absolute;
        content: "";
        left: 50px;
        top: 50%;
        transform: translateY(-50%);
        width: 2px;
        height: 80%;
        background-color: #444444;
        z-index: -1;
        opacity: 0.2;
    }

    .service-card.review-card span {
        width: 55px;
        height: 55px;
        flex: 0 0 55px;
        background: var(--secondary);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .review-ctnt p {
        height: 160px;
        overflow-y: auto;
        font-weight: 400;
    }

    .review-text {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 8px;
    }

    .review-fallback {
        width: 50px;
        height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #444;
        color: #fff;
        border-radius: 50%;
        font-size: 16px;
        font-weight: 500;
    }

    .testimial-sec-slider .swiper-pagination {
        display: none !important;
    }

    .testimial-sec-slider #material-carousel {
        padding-bottom: 0 !important;
    }

    /* Partner Section */
    .partner-sec {
        background-color: #d9d9d933;
    }

    .partner-sliders,
    .left-gap-ctnr {
        max-width: calc(100% - (100% - 1200px) / 2 - 15px);
        width: 100%;
        overflow-x: hidden;
        margin-top: 50px;
        margin-left: auto;
    }

    .partner-sliders .swiper {
        margin-bottom: 12px;
    }

    .partner-sliders .swiper img,
    .partner-sliders .swiper2 img {
        width: 215px;
        height: 215px;
        border-radius: 10px;
    }

    .partner-sliders .swiper-slide {
        width: auto;
        min-width: 162px;
        flex-shrink: 0;
    }

    .partner-sliders .swiper-slide {
        background-color: #fff;
        min-height: 200px;
        max-width: 215px;
        width: 100%;
        height: 100%;
        padding: 20px;
        border-radius: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .partner-sliders .swiper-slide img {
        object-fit: contain;
        width: 180px;
        height: 100%;
    }


    /* Service Section */
    .service-sec {
        background-size: 150%;
        background-image: url(https://www.roperroofingandsolar.com/wp-content/uploads/2025/08/download.gif), url(https://www.roperroofingandsolar.com/wp-content/uploads/2025/08/animated-background-wave-gray.svg);
    }

    .service-row {
        display: flex;
        gap: 36px;
    }

    .serive-ctnt-col {
        width: 100%;
    }


    .ser-key-list {
        margin-top: 24px;
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .ser-key-list ul {
        display: flex;
        gap: 15px;
        flex-wrap: wrap;
    }

    .ser-key-list-item {
        max-width: calc(100% / 2 - 10px);
        width: 100%;
        display: inline-flex;
        align-items: start;
        gap: 6px;
        font-size: 16px;
        font-weight: 600;
    }

    .mat-key-list .ser-key-list-item a {
        width: 100%;
        display: flex;
        align-items: center;
        padding: 12px 12px 12px 20px;
        border-radius: 10px;
        gap: 10px;
        box-shadow: 0 0 10px rgba(0 0 0 / 10%);
        transition: var(--transition);
        z-index: 0;
        position: relative;
        background-color: #fff;
    }

    .mat-key-list .ser-key-list-item a:hover::after {
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        background-color: var(--black);
        opacity: 0.6;
        z-index: -1;
        left: 0;
        top: 0;
        border-radius: 10px;
    }

    .mat-key-list .ser-key-list-item a:hover {
        background-image: url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/07/bg-home.png');
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        color: var(--secondary);
    }

    .mat-key-list .ser-key-list-item a>img {
        width: 56px;
    }

    .mat-key-list .ser-key-list-item a:hover .icon-wpr {
        transform: rotate(315deg);
        background-color: var(--black);
    }

    .serive-img-col {
        max-width: 490px;
        width: 100%;
    }

    .ser-collage {
        position: relative;
        z-index: 1;
    }

    .ser-collage:after {
        background-image: url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/07/dots.png');
        background-repeat: repeat;
        background-size: contain;
        width: 100px;
        height: 100px;
        content: "";
        position: absolute;
        z-index: -1;
        top: 30%;
        left: 70%;
    }

    .ser-collage-1 img {
        max-width: 360px;
        width: 100%;
        height: 450px;
        object-fit: cover;
    }

    .ser-collage-2 {
        margin-top: -181px;
        display: flex;
        align-items: flex-end;
        gap: 15px;
    }

    .ser-collage-2 img {
        max-width: 266px;
        width: 100%;
        height: 205px;
        object-fit: contain;
    }

    .ser-collage-2 img+img {
        width: 100%;
        height: 394px;
        object-fit: cover;
    }

    .com-ser .ser-collage-2 img+img {
        object-fit: contain;
        object-position: bottom;
    }

    .res-ser {
        display: block;
    }

    #material-carousel {
        margin-top: 50px;
        padding-bottom: 60px;
    }

    #material-carousel .swiper-pagination,
    .common-pagination {
        display: flex;
        justify-content: center;
        gap: 8px;
        width: 100%;
        margin-top: 30px;
    }

    #material-carousel .swiper-pagination span,
    .common-pagination span {
        margin: 0;
        width: 14px;
        height: 14px;
        border-radius: 10px;
        background-color: #D9D9D9;
        opacity: 1;
        transform: scale(1);
        transition: width 0.3s ease-in-out 0.1s;
    }

    #material-carousel .swiper-pagination span.swiper-pagination-bullet-active,
    #material-carousel .swiper-pagination span[aria-current="true"],
    .common-pagination span.swiper-pagination-bullet-active,
    .common-pagination span[aria-current="true"]{
        width: 74px;
        border: 2px solid #fff;
        background-color: var(--secondary);
        box-shadow: 0 0 2px var(--secondary);
    }

    /* Service Area Section */
    .service-card-list {
        display: flex;
        justify-content: center;
        margin-top: 40px;
        gap: 30px;
        flex-wrap: wrap;
    }

    .service-card {
        display: flex;
        flex-direction: column;
        max-width: calc(100% / 3 - 20px);
        width: 100%;
        border-radius: 12px;
        background-color: #fff;
        box-shadow: 0 0 15px rgba(0 0 0 / 12%);
    }

    .service-card-img {
        display: flex;
    }

    .service-card-img img {
        width: 100%;
        height: 200px;
        max-width: 375px;
        object-fit: cover;
        border-radius: 12px;
        box-shadow: 0 0 10px rgba(0 0 0 / 10%);
        line-height: 1;
    }

    .service-card-ctnt {
        display: flex;
        flex-direction: column;
        flex-grow: 1;
        gap: 10px;
        padding: 24px 22px;
        border-radius: 0 0 12px 12px;
    }

    .service-card p {
        max-width: 330px;
        height: 150px;
        overflow-y: auto;
        padding: 0;
    }

    .dot-list {
        max-width: 330px;
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .dot-list li {
        position: relative;
        font-size: 14px;
        font-weight: 600;
        padding-left: 22px;
    }

    .dot-list li:after {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 10px;
        height: 10px;
        background-color: var(--secondary);
        border-radius: 50%;
    }

    .service-card-ctnt a,
    .simple-link {
        display: inline-flex;
        font-size: 16px;
        font-weight: 600;
        gap: 10px;
        align-items: center;
        margin-top: 10px;
    }

    .service-card-ctnt a span img {
        width: 10px;
        height: 10px;
        object-fit: contain;
    }


    /* Solar Section */
    .solar-sec {
        background-image: url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/07/solar-vector.png');
        background-position: right bottom;
        background-repeat: no-repeat;
        background-size: 800px;
        position: relative;
    }

    .solar-sec-img img {
        height: 300px;
        width: 100%;
        object-fit: cover;
        object-position: bottom;
        border-radius: 20px;
        box-shadow: 0 0 10px rgba(0 0 0 / 20%);
    }

    .solar-img {
        position: absolute;
        left: 0;
        bottom: 50px;
        width: 100%;

    }

    .solar-img img {
        max-width: 40%;
    }

    .icon-bx-wpr {
        display: flex;
        gap: 30px;
        flex-wrap: wrap;
        margin: 50px 0 0;
    }

    .solar-sec .icon-bx-wpr {
        margin: 0 !important;
    }

    .solar-sec .row {
        margin-top: 50px;
        align-items: stretch;
    }

    .solar-sec-img-left {
        height: 100%;
        max-height: 550px;
    }

    .solar-sec-img-left img {
        width: 100%;
        object-fit: cover;
        height: 100%;
        border-radius: 20px;
        box-shadow: 0 0 10px rgba(0 0 0 / 20%);
    }



    .icon-bx {
        max-width: calc(100% / 2 - 15px);
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: start;
        gap: 8px;
    }

    .solar-sec .icon-bx {
        align-items: center;
        text-align: center;
        padding: 24px 20px;
        border-radius: 10px;
        box-shadow: 0 0 10px rgba(0 0 0 / 20%);
        background-color: #fff;
    }

    .icon-bx img {
        width: 60px;
        height: 60px;
        object-fit: contain;
        transition: all 0.3s ease-in-out 0.1s;
    }

    .icon-bx:hover img {
        transform: rotate(360deg);
    }

    /* Finance Section */
    .finance-img {
        max-width: 380px;
        position: relative;
        width: 100%;
        display: flex;
        align-items: flex-end;
    }

    .small-img {
        position: relative;
        bottom: 20px;
        right: 50px;
    }

    .award-img {
        position: absolute;
        bottom: -20px;
        left: 50%;
        transform: translateX(-50%);
    }


    /* Emergency Section */
    .emergency-sec {
        background-color: var(--bg-light-gray);
    }

    .emergency-ctnt {
        padding: 60px 60px 60px calc((100vw - 1200px) / 2);
    }

    .emr-phone {
        display: flex;
        margin-top: 30px;
    }

    .emr-phone img {
        width: 65px;
        height: 65px;
    }

    .emr-phone-no {
        display: flex;
        flex-direction: column;
        gap: 12px;
        justify-content: center;
        padding-left: 10px;
        margin-left: 10px;
        border-left: 2px solid var(--secondary);
    }

    .emg-img-right {
        background-image: url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/07/emr-img.jpg');
        background-size: cover;
        height: 450px;
        position: relative;
    }

    .emg-img-right>img {
        position: absolute;
        bottom: 0;
        left: -100px;
    }


    .emer-icon-list {
        display: flex;
        flex-direction: column;
        gap: 20px;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        background: linear-gradient(to bottom, #F15A29, #fff);
        padding: 20px;
        border-radius: 10px 0 0 10px;
    }

    .emer-icon-list-item a {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        font-size: 12px;
        font-weight: 700;
        max-width: 52px;
        text-align: center;
    }

    .emer-icon-list-item a img {
        transition: all 0.3s ease-in-out 0.1s;
    }

    .emer-icon-list-item a:hover img {
        transform: scale(0.9);
    }

    .call-btn {
        font-family: var(--heading-font);
        font-size: 22px;
        line-height: 41px;
        color: #fff;
        display: flex;
        gap: 22px;
        align-items: center;
        background: var(--secondary);
        display: inline-flex;
        padding: 10px 24px 10px 14px;
        border-radius: 40px;
        margin-top: 35px;
        transition: all 0.3s ease-in-out 0.1s;
    }

    .call-btn:hover {
        transform: scale(0.98);
        opacity: 0.8;
    }

    .call-btn .container {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        top: 0;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
    }

    .call-btn .c-white {
        color: #001c0a !important;
        background: radial-gradient(50% 50% at 50% 50%, #fff 0%, #fff 99.99%, #fff 100%);
    }

    .call-btn .bgc-blue {
        background-color: #000 !important;
    }

    .call-btn .circle {
        border-radius: 50%;
    }

    .call-btn .icon:after {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        top: 0;
        content: "";
        background-color: transparent;
        border-radius: 50%;
        border: 1px solid #fff;
        opacity: 0.5;
        animation: ring-circle-anim 1.2s infinite ease-in-out;
        transition: all 0.5s;
        transform-origin: 50% 50%;
    }

    .call-btn .icon:before {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        top: 0;
        content: "";
        background-color: rgba(#fff, 0.5);
        border-radius: 50%;
        border: none;
        animation: ring-circle-fill-anim 2.3s infinite ease-in-out;
        transition: all 0.5s;
        transform-origin: 50% 50%;
    }

    .call-btn .osc-rotation {
        box-sizing: border-box;
        animation: oscillate-rotation 1s infinite ease-in-out;
        transform-origin: 50% 50%;
    }

    .call-btn .icon {
        font-family: "Material Icons";
        font-size: 21px;
        line-height: 1;
        text-rendering: optimizeLegibility;
        position: relative;
        padding: 6px;
    }

    @keyframes ring-circle-anim {
        0% {
            transform: rotate(0) scale(1.1) skew(0deg);
            opacity: 0;
        }

        30% {
            transform: rotate(0) scale(1.5) skew(0deg);
            opacity: 0.5;
        }

        100% {
            transform: rotate(0) scale(1.7) skew(0deg);
            opacity: 0.1;
        }
    }

    @keyframes ring-circle-fill-anim {
        0% {
            transform: rotate(0) scale(1) skew(0deg);
            opacity: 0.2;
        }

        50% {
            transform: rotate(0) scale(1.4) skew(0deg);
            opacity: 0.2;
        }

        100% {
            transform: rotate(0) scale(1.1) skew(0deg);
            opacity: 0.2;
        }
    }

    @keyframes oscillate-rotation {
        0% {
            transform: rotate(0) scale(1) skew(0deg);
        }

        10% {
            transform: rotate(-25deg) scale(1) skew(0deg);
        }

        20% {
            transform: rotate(25deg) scale(1) skew(0deg);
        }

        30% {
            transform: rotate(-25deg) scale(1) skew(0deg);
        }

        40% {
            transform: rotate(25deg) scale(1) skew(0deg);
        }

        50% {
            transform: rotate(0) scale(1) skew(0deg);
        }

        100% {
            transform: rotate(0) scale(1) skew(0deg);
        }
    }

    /* Gallery Section */
    #gallerySlider .swiper-carousel {
        position: relative;
        margin: 0 auto;
        max-width: 100%;
        overflow: hidden
    }

    #gallerySlider .swiper-carousel .swiper-slide,
    #gallerySlider .swiper-carousel swiper-slide {
        position: relative
    }

    #gallerySlider {
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 50px;
    }

    #gallerySlider .swiper-carousel {
        max-width: 1200px;
    }

    #gallerySlider .swiper-carousel .swiper-slide {
        width: 520px;
        height: 380px;
        border-radius: 8px;
        background: #18212b;
        max-width: calc(100% - 48px);
    }

    #gallerySlider .swiper-carousel .swiper-carousel-animate-opacity {
        height: 100%;
    }

    #gallerySlider .swiper-carousel .swiper-pagination-bullets {
        bottom: 0;
    }

    #gallerySlider .swiper-carousel img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        border-radius: 8px;
    }

    #gallerySlider .swiper-carousel .slide-content {
        position: absolute;
        left: 0;
        width: 100%;
        bottom: 0;
        padding: 88px 16px 24px;
        box-sizing: border-box;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75));
        border-radius: 0 0 8px 8px;
    }

    #gallerySlider .swiper-carousel .slide-content h4 {
        color: var(--secondary);
    }

    #gallerySlider .swiper-carousel .slide-content a {
        color: #fff;
        font-weight: 400;
    }

    @media (max-width: 640px) {

        #gallerySlider .swiper-carousel .swiper-button-next,
        #gallerySlider .swiper-carousel .swiper-button-prev {
            display: none !important;
        }
    }


    /* Contact Form Section */
    .contact-sec {
        background-image: url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/08/bg-1.png');
        background-repeat: no-repeat;
        background-size: cover;
    }

    .contact-sec:after {
        /* content: ""; */
        position: absolute;
        width: 30%;
        height: 60%;
        right: 0;
        bottom: 0;
        z-index: -1;
        background-position: right bottom;
        background-repeat: no-repeat;
        background-image: url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/07/contact-bg.png');
    }

    .icon-bx-wpr.style2 {
        gap: 20px;
        margin: 30px 0 0;
    }

    .icon-bx-wpr.style2 .icon-bx {
        flex: 0 0 100%;
        max-width: 100%;
        flex-direction: row;
        gap: 18px;
    }

    .icon-bx-wpr.style2 .icon-bx img {
        width: 50px;
        height: 50px;
        object-fit: contain;
    }

    .contact-main-form {
        width: 100%;
        margin: 0 auto;
        box-shadow: 0 0 15px rgba(0 0 0 / 15%);
    }

    .contact-main-form.style2 {
        border-radius: 20px;
        max-width: 530px;
        padding: 50px 46px;
        background: #fff;
    }

    .contact-main-form h2 {
        text-align: center;
        margin-bottom: 24px;
    }

    .contact-main-form .ginput_container input,
    .contact-main-form .ginput_container select,
    .contact-main-form .ginput_container textarea {
        background-color: #F9F7F7 !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        border-radius: 40px !important;
        border: 0 !important;
        height: 50px !important;
        color: #444444bd !important;
        padding: 9px 40px 9px 18px !important;
        display: flex;
        align-items: center;
    }

    .contact-main-form .ginput_container {
        position: relative;
    }

    .contact-main-form .ginput_container:after {
        position: absolute;
        width: 18px;
        height: 18px;
        background: #f9f7f7 url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/07/user-4.png') no-repeat center center;
        top: 16px;
        right: 12px;
    }

    .contact-main-form .gfield:first-child .ginput_container:after {
        background-image: url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/07/user-1.png');
        content: "";
    }

    .contact-main-form .gfield:nth-child(4) .ginput_container:after {
        background-image: url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/07/user-2.png');
        content: "";
    }

    .contact-main-form .gfield:nth-child(3) .ginput_container:after {
        content: "";
        background-image: url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/07/user-3.png');
    }

    .contact-main-form .gfield:nth-child(5) .ginput_container:after {
        content: "";
    }

    .contact-main-form .gfield:nth-child(7) .ginput_container:after {
        content: "";
        background-image: url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/07/user-5.png');
    }

    .contact-main-form .ginput_container select {
        appearance: none !important;
        -webkit-appearance: none !important;
        -moz-appearance: none !important;
    }

    .contact-main-form .ginput_container textarea {
        border-radius: 20px !important;
        height: 155px !important;
        resize: none;
    }

    .contact-main-form .gform_fields {
        gap: 15px !important;
    }

    .contact-main-form .gform-footer {
        margin-top: 15px !important;
    }

    .contact-main-form input[type=submit] {
        width: 100% !important;
        padding: 15px 20px !important;
        font-size: 18px !important;
        text-transform: capitalize;
        border-radius: 40px !important;
        background: var(--secondary) !important;
        transition: all 0.3s ease-in-out 0.1s;
    }

    .contact-main-form input[type=submit]:hover {
        opacity: 0.7;
        transform: scale(0.95);
    }

    /* Footer Sec */
    .footer-sec {
        background-color: var(--black);
        background-image: url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/07/image.png');
        background-size: cover;
        background-repeat: no-repeat;
    }

    .footer-sec .inner {
        display: flex;
        padding: 80px 0;
        color: #fff;
        gap: 80px;
    }

    .footer-sec .inner .item {
        max-width: calc(100% / 4 - 40px);
        width: 100%;
    }

    .footer-sec .inner .item:first-child {
        width: 30%;
        flex-shrink: 0;
    }

    .footer-sec .inner .item:first-child p {
        margin: 18px 0 0;
    }

    .footer-sec .inner .item:first-child a {
        margin-top: 24px;
    }

    .footer-sec a:hover {
        color: var(--secondary);
    }

    .footer-sec .inner .item ul {
        font-size: 16px;
        font-weight: 500;
        display: flex;
        flex-direction: column;
        gap: 12px;
        margin-top: 20px;
    }

    .footer-sec .inner .item .box-part a {
        display: flex;
        align-items: start;
        gap: 15px;
        margin-top: 20px;
        word-break: break-word;
    }

    .copyright {
        background: #1D1D1D;
        color: #fff;
        padding: 15px 0;
    }

    .copyright-inr {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .footer-sec .social-icon {
        display: flex;
        align-items: center;
        gap: 15px;
    }

    .footer-sec .social-icon a {
        width: 32px;
        height: 32px;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
    }

    .footer-sec .social-icon a img {
        width: 22px;
        height: 22px;
        object-fit: contain;
    }


    /* Service area */
    .service-map-bg {
        background: url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/08/texture-hex-grid-small-black.svg');
        background-position: center;
        background-size: 75px;
        position: absolute;
        width: 100%;
        height: 100%;
        background: #e4e4e4;
        clip-path: polygon(0 3%, 100% 0%, 100% 97%, 0% 100%);
    }

    .service-map-sec .container {
        position: relative;
        z-index: 9;
    }

    .map-area-item img {
        filter: drop-shadow(2px 4px 6px rgba(0 0 0 / 21%)) !important;
    }

    .map-area {
        position: relative;
        max-width: 460px;
        height: 460px;
        width: 100%;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
    }

    .map-row {
        display: flex;
        align-items: center;
        gap: 20px;
        margin-top: 20px;
    }

    .map-area-outer,
    .map-ctnt {
        max-width: 50%;
        flex: 0 0 calc(100% / 2 - 10px);
    }

    .map-area-item {
        cursor: pointer;
        font-size: 15px;
        font-weight: 700;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
    }

    .map-area-item img {
        filter: brightness(0) !important;
        opacity: 0.2;
    }

    .map-area-item.active img {
        filter: unset !important;
        opacity: 1;
        display: block;
    }

    .map-area-item.active div {
        color: #fff;
    }

    .map-area-item.active div img {
        filter: brightness(50) !important;
    }

    .map-area-item:first-child {
        position: absolute;
        left: 102px;
        top: 30px;
    }

    .map-area-item:nth-child(2) {
        position: absolute;
        right: 46px;
        bottom: -10px;
    }

    .map-area-item>div {
        position: absolute;
        max-width: 100px;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .map-area-item:nth-child(3) {
        position: absolute;
        left: 0;
        bottom: 33px;
    }

    .map-area-item:nth-child(4) {
        position: absolute;
        left: 136px;
        bottom: -1px;
    }

    .map-area-item:nth-child(5) {
        position: absolute;
        right: 3px;
        top: 26px;
    }

    .map-area-item:nth-child(6) {
        position: absolute;
        left: 0;
        top: 0;
    }

    .map-area-item>div img {
        display: none;
    }


    /* Map List */
    .map-ctnt {
        position: relative;
    }

    .map-list {
        display: none;
    }

    .map-list.active {
        display: flex;
        flex-wrap: wrap;
        align-items: start;
        align-content: flex-start;
        justify-content: center;
        gap: 18px;
        height: 360px;
        overflow-y: scroll;
        padding-top: 1px;
    }

    .map-list::-webkit-scrollbar {
        display: none;
    }

    .map-list-item {
        max-width: calc(100% / 2 - 12px);
        width: 100%;
        flex: 0 0 calc(100% / 2 - 12px);
        padding: 15px 12px;
        background: #fff;
        border-radius: 8px;
        display: flex;
        color: #000;
        align-items: center;
        box-shadow: 0 0 10px rgba(0 0 0 / 15%);
        overflow: hidden;
        background-image: url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/07/logo-icon.png');
        background-repeat: no-repeat;
        background-position: 108% 130%;
        transition: all 0.3s ease-in-out 0.1s;
    }

    .map-list-item:hover {
        background-image:
            url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/07/logo-icon.png'),
            linear-gradient(270deg, rgba(255, 255, 255, 1) 0%, var(--secondary) 70%);
    }

    .map-list-item:hover img {
        display: none;
    }

    .map-list-item:hover img+img {
        display: block;
    }

    .map-list-item-inr {
        display: flex;
        align-items: center;
        gap: 7px;
        font-size: 17px;
    }

    .map-list-item-inr img {
        width: 30px;
        height: 40px;
        object-fit: contain;
    }

    .map-list-item-inr img+img {
        display: none;
    }


    .down-arw {
        max-width: 50px;
        width: 100%;
        height: 50px;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        padding: 8px 4px 4px 4px;
        margin: -20px auto 0;
        position: relative;
        box-shadow: 0 0 10px rgba(0 0 0 / 15%);
        animation: upDown 1.5s ease-in-out infinite;
    }

    @keyframes upDown {

        0%,
        100% {
            transform: translateY(0);
        }

        50% {
            transform: translateY(-10px);
        }
    }

    .out-serv-ara {
        margin-top: -32px;
    }

    .area-icon-bx {
        display: flex;
        align-items: center;
        gap: 16px;
        font-size: 14px;
        white-space: nowrap;
        background: #fff;
        box-shadow: 0 0 10px rgba(0 0 0 / 5%);
        border-radius: 110px;
        padding: 12px 28px 12px 12px;
        overflow: hidden;
        position: relative;
        min-height: 50px;
        font-weight: 700;
        transition: all 0.3s ease-in-out 0.1s;
        cursor: pointer;
    }

    .area-icon-bx.active {
        background: linear-gradient(90deg, var(--secondary) 0%, rgba(255, 255, 255, 1) 100%);
        overflow: unset;
        padding-right: 40px;
    }

    .area-icon-bx span {
        position: absolute;
        right: -16px;
        max-width: 34px;
        /* display: none; */
        max-height: 34px;
        border: 3px solid #b1b1b1;
        border-radius: 50%;
        transition: all 0.3s ease-in-out 0.1s;
        opacity: 0.3;
    }

    .area-icon-bx.active span {
        border-color: #000;
        opacity: 1;
        right: 3px;
    }

    .area-icon-bx span img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        border-radius: 50%;
    }

    .select-area-box-heading {
        padding: 19px 18px;
        background-color: var(--secondary);
        display: flex;
        align-items: center;
        justify-content: space-evenly;
        font-size: 20px;
        font-weight: 600;
        border-radius: 12px;
        max-width: 60%;
        margin: 0 auto -30px;
        color: #fff;
        position: relative;
        z-index: 9;
    }


    .select-area-box {
        clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 50% 92.75%, 0% 100%);
        background-color: #fff;
        padding: 50px 20px 40px 20px;
        position: relative;
        border-radius: 15px;
    }

    .slider-one .swiper-button-prev {
        display: none;
    }

    .slider-one {
        padding: 0 20px;
        margin: 40px 0 60px;
    }

    .slider-two .swiper-slide {
        display: flex;
        flex-direction: column;
        height: auto;
    }

    .slider-two .swiper-slide .select-area-box {
        flex-grow: 1;
    }

    .county-tab-list {
        display: flex;
        margin: 30px auto 50px;
        flex-wrap: wrap;
        justify-content: center;
        max-width: 100%;
        gap: 10px;
    }

    .sldr-icon {
        width: 40px !important;
        height: 40px !important;
        background: #ffffff;
        padding: 6px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 0 10px rgba(0 0 0 / 10%);
    }

    .sldr-icon::after {
        font-size: 22px !important;
        line-height: 1 !important;
        font-weight: 600 !important;
        left: 8px;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        color: var(--secondary);
    }

    .map-ctnt .sldr-icon {
        background: var(--secondary) !important;
    }

    .map-ctnt .sldr-icon:after {
        color: #fff !important;
    }

    .btn-wpr.center {
        display: flex;
    }

    .btn-wpr.center {
        justify-content: center;
    }

    .d-none {
        display: none !important;
    }

    .service-areas-outer-two .service-map-sec {
        padding: 50px 0;
    }

    .service-areas-outer-two .service-map-sec .service-map-bg {
        background: #0000 !important;
    }

    @media(min-width: 992px) {
        .mobile-svg {
            display: none;
        }
    }

    @media(max-width: 1024px) {
        .service-areas-outer-two {
            padding-bottom: 30px;
        }
    }

    @media(max-width: 991px) {
        .desktop-svg {
            display: none;
        }

        .map-area-outer.mobile-svg {
            margin: 30px auto 50px;
        }

        .county-tab-list {
            max-width: 100%;
            padding: 0;
        }

        .area-icon-bx {
            margin: 0px;
            padding: 12px 48px 12px 16px;
            min-height: 44px;
            font-size: 14px;
        }

        .area-icon-bx.active {
            padding-right: 50px;
        }

        .area-icon-bx span {
            max-width: 40px;
            max-height: 40px;
            border: 4px solid #b1b1b1;
        }
    }

    @media(max-width:767px) {
        .service-map-sec .container {
            z-index: 9;
            max-width: 100%;
        }

        .select-area-box-heading {
            max-width: 88%;
        }
    }

    @media(max-width:575px) {
        .county-tab-list {
            gap: 12px;
            height: 180px;
            overflow-y: scroll;
            overflow-x: hidden;
        }

        .map-area-outer.mobile-svg {
            margin: 0 auto;
        }

        .area-icon-bx {
            white-space: normal;
            margin: 0px;
            max-width: calc(100% / 2 - 6px);
            width: 100%;
            font-size: 14px;
            padding-right: 0;
        }

        .area-icon-bx span {
            opacity: 0.2;
        }
    }

    /* Exterior Section */
    .exterior-sec {
        padding: 50px 0;
        background-image: url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/08/tshape-2.png');
        background-repeat: no-repeat;
        background-size: cover;
        background-position: top center;
    }

    .exterior-img {
        position: relative;
    }

    .points {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .point {
        position: absolute;
        width: 30px;
        height: 30px;
        background: var(--secondary);
        color: #fff;
        text-align: center;
        line-height: 30px;
        border-radius: 50%;
        cursor: pointer;
        font-weight: bold;
        transition: background 0.3s;
    }

    .point:hover,
    .point.active {
        background: #000;
    }

    .point[data-point="1"] {
        left: 66%;
        bottom: 22%;
    }

    .point[data-point="2"] {
        top: 58%;
        left: 95%;
    }

    .point[data-point="3"] {
        top: 52%;
        left: 14%;
    }

    .point[data-point="4"] {
        top: 40%;
        left: 70%;
    }

    .point[data-point="5"] {
        top: 15%;
        left: 20%;
    }

    #point-content {
        position: relative;
        min-height: 180px;
    }

    .content-box {
        margin-top: 20px;
        padding: 15px;
        border: 2px solid var(--secondary);
        background: #f9f9f9;
        border-radius: 8px;
        opacity: 0;
        transform: translateY(10px);
        transition: opacity 0.4s ease, transform 0.4s ease;
        position: absolute;
        width: 100%;
        left: 0;
        top: 0;
    }

    .content-box.show {
        opacity: 1;
        transform: translateY(0);
    }

    .point.active {
        background-color: #000;
        -webkit-animation: grow .4s 1 linear;
        animation: grow .4s 1 linear;
    }

    .point.active:before {
        position: absolute;
        content: "";
        height: 2em;
        width: 2em;
        left: 0;
        top: 0;
        background-color: transparent;
        border-radius: 50%;
        box-shadow: 0px 0px 2px 2px #000;
        -webkit-animation: active 2s infinite linear;
        animation: active 2s infinite linear;
    }

    @-webkit-keyframes grow {
        0% {
            -webkit-transform: scale(.1);
        }

        100% {
            -webkit-transform: scale(1);
        }
    }

    @keyframes grow {
        0% {
            transform: scale(.1);
        }

        100% {
            transform: scale(1);
        }
    }

    @-webkit-keyframes active {
        0% {
            -webkit-transform: scale(.1);
            opacity: 1;
        }

        70% {
            -webkit-transform: scale(2.5);
            opacity: 0;
        }

        100% {
            opacity: 0;
        }
    }

    @keyframes active {
        0% {
            transform: scale(.1);
            opacity: 1;
        }

        70% {
            transform: scale(2.5);
            opacity: 0;
        }

        100% {
            opacity: 0;
        }
    }

    /* media query */
    @media(min-width: 1680px) {
        .quick-keys-inr {
            max-width: calc(100% - 30%);
        }


        .video-card {
            max-width: 30%;
            height: 240px;
        }
    }

    @media(min-width: 1441px) {
        .container.lg {
            max-width: 1200px !important;
            width: 100%;
        }
    }

    @media(min-width: 415px) {
        #material-carousel .swiper-slide {
            width: auto !important;
            margin-right: 30px;
        }

        #material-carousel .swiper-slide .service-card {
            flex: 0 0 100%;
            max-width: 100%;
        }
    }

    @media(max-width: 1440px) {
        header.pc.main-hdr {
            padding: 0 15px;
        }

        .logo {
            min-width: 140px;
            padding: 5px 10px;
        }

        header.pc.main-hdr .hdr-inner {
            max-width: 1280px;
            gap: 30px;
            padding: 10px 20px 10px 30px;
            justify-content: space-between;
        }

        #menu-main-menu li a {
            white-space: nowrap;
        }

        .right .icon-btn {
            font-size: 0;
            gap: 0;
            padding: 6px;
        }

        /* Banner Sec */
        .banner-sec {
            padding: 140px 0 80px;
        }

        /* Key Sec */
        .quick-key-card a,
        .quick-key-card p {
            font-size: 14px;
        }

        .video-card {
            height: unset;
        }

        /* Partner Section */
        .partner-sliders,
        .left-gap-ctnr {
            max-width: calc(100% - (100% - 1150px) / 2 - 15px);
        }
    }

    @media(max-width: 1240px) {

        /* Keys Section */
        .quick-keys-inr {
            max-width: 90%;
            margin: -20px auto;
            justify-content: center;
            flex-wrap: wrap;
        }

        .video-card {
            width: 100%;
            max-width: 100%;
            height: 200px;
        }

        .quick-key-card:not(:first-child) {
            flex: 0 0 calc(100% / 3 - 20px);
            max-width: calc(100% / 3 - 20px);
            width: 100%;
            align-items: center;
            text-align: center;
        }

        /* Solar Section */
        .solar-img {
            bottom: 100px;
        }
    }

    @media(max-width:1199px) {

        /* About Section */
        .about-sec {
            padding-top: 60px;
            padding-bottom: 100px;
        }

        /* .about-left-ctnt,
        .about-right-ctnt {
            max-width: calc(100% / 2);
        } */

        .year {
            font-size: calc(50px + (195 - 50) * ((100vw - 320px) / (1920 - 320)));
            line-height: 1;
        }

        /* Partner Section */
        .partner-sliders,
        .left-gap-ctnr {
            max-width: calc(100% - (100% - 960px) / 2 - 15px);
        }

        /* Service Section */
        .service-row {
            flex-direction: column;
            gap: 50px;
        }

        .ser-key-list {
            max-width: 800px;
        }

        .serive-img-col {
            margin: 0 auto;
        }

        /* Emergency Section */
        .emergency-ctnt {
            padding: 60px;
        }

        /* Gallery Section */
        #gallerySlider .swiper-carousel {
            max-width: calc(100vw - 100px);
        }

        /* Footer Section */
        .footer-sec .inner {
            gap: 40px;
            justify-content: space-between;
        }
    }

    @media(max-width: 1140px) {
        .pc-menu {
            display: none;
        }

        #mySidenav {
            position: fixed;
            width: 300px;
            height: 100vh;
            left: -100%;
            opacity: 0;
            visibility: hidden;
            top: -20px;
            transition: all 0.3s ease-in-out 0.1s;
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 30px 10px;
            gap: 20px;
        }

        #mySidenav.active {
            visibility: visible;
            left: -15px;
            opacity: 1;
            top: -20px !important;
        }

        #mySidenav nav {
            width: 100%;
        }

        header .mobile-nav li.current-menu-item>a {
            border-radius: 20px;
        }

        header .mobile-nav li.menu-item-has-children .next {
            border-radius: 50%;
        }

        .logo {
            padding: 0px 10px;
        }

        header.pc.main-hdr .hdr-inner {
            max-width: 1280px;
            gap: 30px;
            padding: 10px 10px 10px 30px;
            justify-content: space-between;
        }

        .menu-btn {
            display: flex;
        }

        .right .icon-btn {
            gap: 10px;
            padding: 7px 22px 7px 7px;
            font-size: 16px;
        }

        header .icon-btn span {
            width: 40px;
            height: 40px;
        }


        header .right {
            display: flex;
            align-items: center;
            gap: 15px;
        }

        /* Testimonial Sec */
        .testimonial-sec .twoColumn-bx-hdg {
            flex-direction: column;
            gap: 20px;
            align-items: center;
        }

        .testimonial-sec .twoColumn-bx-hdg>div {
            align-items: center;
            display: flex;
            flex-direction: column;
            text-align: center;
        }

        .testimonial-sec .btn-group {
            display: flex;
            justify-content: center;
        }

        .review-no-wpr {
            gap: 0;
            flex-direction: column;
            margin-bottom: 10px;
        }

        /* Exterior Sec */
        .exterior-sec .row {
            display: flex;
            flex-direction: column;
        }

        #point-content {
            min-height: 220px;
        }

        .exterior-img {
            max-width: 400px;
        }
    }

    @media(max-width: 1024px) {
        .col-md-6 {
            grid-column: span 12;
        }
        /* Banner */
        .bnr-inr {
            display: flex;
            gap: 40px;
            align-items: center;
        }

        .contact-main-form .ginput_container input,
        .contact-main-form .ginput_container select,
        .contact-main-form .ginput_container textarea {
            font-size: 14px !important;
            height: 44px !important;
            padding: 9px 40px 9px 18px !important;
        }

        .contact-main-form .ginput_container:after {
            width: 18px;
            height: 16px;
            top: 13px;
            background-size: contain;
        }

        header .icon-btn span {
            width: 35px;
            height: 35px;
        }

        .hamburger {
            width: 49px;
            height: 49px;
        }

        /* Emergency Section */
        .emergency-ctnt {
            padding: 40px 80px 40px 40px;
        }

        /* Finance Section */
        .finance-sec .row {
            display: flex;
            flex-direction: column;
            max-width: 750px;
            width: 100%;
            margin: 50px auto 0;
        }

        .finance-sec .btn-group {
            display: flex;
            justify-content: center;
        }

        .finance-sec .icon-bx {
            align-items: center;
            text-align: center;
        }

        /* Contact Section */
        .contact-sec .row {
            display: flex;
            flex-direction: column-reverse;
            gap: 50px;
            justify-content: center;
            max-width: 750px;
            margin: 0 auto;
            align-items: center !important;
        }
    }

    @media(max-width: 991px) {
        .bnr-inr {
            flex-direction: column;
        }

        .bnr-inr>div {
            flex: 100%;
            max-width: 100%;
        }

        .bnr-ctnt {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            max-width: 560px;
            margin: 0 auto;
        }

        .bg-badge {
            padding: 6px 30px;
            border-radius: 20px;
            text-align: center;
        }

        /* About Section */
        .about-inr-wpr {
            flex-direction: column;
            gap: 60px;
        }

        .about-left-ctnt {
            align-items: center;
            text-align: center;
        }

        .about-sec .hightlight-hdg {
            justify-content: center;
        }

        .about-left-ctnt,
        .about-right-ctnt {
            max-width: 100%;
        }

        /* .about-right-ctnt {
            max-width: 500px;
            margin: 0 auto;
            padding: 24px 24px 80px
        } */

        .year {
            display: none;
        }

        /* Partner Section */
        .partner-sliders,
        .left-gap-ctnr {
            max-width: 100%;
        }

        .partner-sec .hdg-group {
            text-align: center;
        }

        .partner-sec .hightlight-hdg {
            justify-content: center;
        }

        /* Service section */
        .service-card-list {
            gap: 20px;
        }

        .service-card {
            max-width: calc(100% / 2 - 10px);
        }


        /* Solar Section */

        .solar-sec .col-md-5,
        .solar-sec .col-md-7 {
            grid-column: span 12;
        }

        .solar-sec .col-md-5 {
            padding-top: 20px;
        }

        .solar-sec .icon-bx {
            align-items: center;
            text-align: center;
        }

        .solar-sec .btn-group {
            width: 100%;
            display: flex;
            justify-content: center;
            /* margin-top: 40px; */
        }

        .solar-sec .row {
            margin-top: 24px;
        }

        .solar-sec-img-left img {
            height: 260px;
        }

        .solar-sec .icon-bx-wpr {
            margin: 20px 0 0 !important;
        }

        .about-left-ctnt {
            padding-bottom: 0;
        }

        /* Service Map Section */
        .map-row {
            flex-direction: column;
            gap: 50px;
            margin-top: 40px;
        }

        .map-area-outer {
            max-width: 470px;
            flex: 0 0 100%;
            width: 100%;
        }

        .map-ctnt {
            max-width: 100%;
            flex: 0 0 100%;
            padding: 0 10px;
        }

        .map-list.active {
            justify-content: center;
            padding-bottom: 10px;
            height: unset;
        }

        /* Finance Section */
        .finance-img {
            padding-left: 50px;
        }

        .finance-img img {
            max-height: 380px;
        }

        .finance-img img.small-img {
            max-height: 300px;
        }

        .award-img {
            max-width: 120px;
        }


        /* Footer Section */
        .footer-sec .inner {
            flex-wrap: wrap;
            padding: 60px 0;
        }

        .footer-sec .inner .item {
            max-width: calc(100% / 2 - 20px);
            flex-shrink: 0;
            width: 100% !important;
        }

        .service-map-bg {
            clip-path: polygon(0 1%, 100% 0%, 100% 99%, 0% 100%);
        }

        .map-area {
            max-width: 300px;
            height: 100%;
        }
    }


    @media(max-width: 767px) {
        .banner-sec {
            padding: 135px 0 60px;
        }

        /* Key Section */
        .quick-keys {
            padding-bottom: 20px;
        }

        .quick-keys-inr {
            max-width: 60%;
            min-width: 280px;
        }

        .quick-key-card:not(:first-child) {
            flex: 0 0 100%;
            max-width: 100%;
        }


        /* About */
        .about-right-ctnt {
            max-width: 440px;
            flex-direction: column;
            margin: 24px auto 0;
        }

        /* Service Section */
        .ser-collage-1 img {
            height: 350px;
        }

        .ser-collage:after {
            top: 20%;
        }

        /* Emergency Section */
        .emergency-sec .row {
            display: flex;
            flex-direction: column;
            gap: 0;
        }

        .emergency-ctnt {
            padding: 60px 40px;
        }

        .emg-img-right {
            width: 100%;
        }

        .emg-img-right>img {
            left: 40%;
            transform: translateX(-50%);
        }

        /* Gallery Section */
        #gallerySlider .swiper-carousel {
            max-width: calc(100vw - 60px);
        }

        /* Solar Sec */
        #material-carousel {
            padding-bottom: 0;
        }

        #material-carousel .swiper-pagination {
            display: none;
        }

        /* Footer Section */
        .copyright-inr {
            flex-direction: column;
            gap: 10px;
            text-align: center;
        }

        /* Exterior Sec */
        .exterior-img {
            padding: 0 10px;
        }

        .point[data-point="2"] {
            left: 86%;
        }

        /*  */
        .ser-collage-2 img+img {
            max-width: 46%;
        }

    }

    @media(max-width: 575px) {
        header.pc.main-hdr {
            top: 15px;
        }

        header.pc.main-hdr .hdr-inner {
            padding: 10px 10px 10px 20px;
        }

        header .right {
            gap: 10px;
        }

        .right .icon-btn {
            font-size: 0;
            gap: 0;
            padding: 6px;
        }

        .logo {
            min-width: 130px;
            max-width: 130px;
            padding: 0 8px !important;
        }

        div#mySidenav {
            top: -15px !important;
        }

        .hamburger {
            width: 47px;
            height: 47px;
        }


        /* Banner */
        .contact-main-form {
            padding: 24px 16px;
        }

        /* About Section */
        .link-btn-margin {
            margin-top: 20px;
            white-space: normal;
        }

        .about-right-ctnt {
            padding: 24px 16px 60px;
        }

        .about-details-wpr {
            gap: 24px;
            margin-bottom: 14px;
        }

        .hdg-line {
            width: 25px;
            height: 25px;
            min-width: 25px;
            border-radius: 50%;
            background-image: url('https://www.roperroofingandsolar.com/wp-content/uploads/2025/07/logo-icon.png');
            background-size: contain;
        }

        .hdg-line:nth-child(2) {
            display: none;
        }

        /* Partner Section */
        .partner-sliders {
            margin-top: 30px;
        }

        .partner-sliders .swiper-slide {
            min-width: 124px;
            min-height: 185px;
        }

        .partner-sliders .swiper img,
        .partner-sliders .swiper2 img {
            width: 124px;
            height: 124px;
        }

        /* Service Sevtion */
        .serive-img-col {
            position: relative;
            height: 460px;
            overflow: hidden;
        }

        .ser-collage {
            transform: scale(0.8);
            position: absolute;
            top: -50px;
            left: -20px;
        }

        .service-card {
            max-width: 380px;
            box-shadow: none;
            border: 2px solid #e4e4e4;
        }

        /* Contact Section Bottom */
        .contact-main-form.style2 {
            max-width: 400px;
            padding: 24px;
        }

        /* Footer Section */
        .footer-sec .inner .item {
            max-width: 100%;
            width: 100%;
        }

        /* Testimonial Sec */
        #material-carousel .swiper-slide .review-card {
            max-width: 400px !important;
        }

        #material-carousel .swiper-slide .review-card:after {
            display: none;
        }

        .service-card.review-card span {
            display: none;
        }

        /* .service-map-bg {
            mask-image: linear-gradient(0deg, rgb(255 255 255 / 4%), rgb(255 255 255 / 0%));
        } */



        /* Exterior Sec */
        #point-content {
            min-height: 260px;
        }
    }

    @media(max-width: 481px) {

        /* Service Section */
        .ser-key-list-item {
            max-width: 100%;
        }

        .serive-img-col {
            height: 460px;
        }

        /* Solar Section */
        .solar-sec .icon-bx {
            max-width: 300px;
            margin: 0 auto;
        }

        /* Service Map Section */
        .map-list-item {
            max-width: 100%;
            flex: 0 0 100%;
            max-width: 99%;
        }

        .map-list-item {
            max-width: 100%;
            flex: 0 0 100%;
            max-width: 99%;
        }

        .map-area {
            max-width: 306px;
            height: 370px;
        }

        .map-area-item:nth-child(6) img {
            width: 130px;
        }

        .map-area-item img {
            max-width: 130px;
        }

        .map-area-item:first-child {
            left: 74px;
        }

        .map-area-item:first-child div {
            padding-left: 15px;
        }

        .map-area-item:nth-child(5) img {
            max-width: 100px;
        }

        .map-area-item:nth-child(3) {
            bottom: 56px;
        }

        .map-area-item:nth-child(4) {
            left: 107px;
            bottom: 53px;
        }

        .map-area-item:nth-child(2) {
            right: 0;
            bottom: 7px;
        }

        .map-area-item:nth-child(2) img {
            max-width: 90px;
        }

        .map-area-item.active div img {
            width: 22px;
            margin-bottom: 6px;
        }

        /* Finance Section */
        .finance-sec .icon-bx {
            max-width: 320px;
            width: 100%;
            margin: 0 auto;
        }

        .finance-sec .col-md-5 {
            display: flex;
            width: 100%;
            justify-content: center;
        }

        .finance-img {
            max-width: 290px;
            padding: 0;
        }

        /* Testimonial */
        #material-carousel .swiper-slide .review-card {
            max-width: 300px !important;
        }

        /* Gallery */
        #gallerySlider .swiper-carousel {
            max-width: 340px;
        }


    }

    @media(max-width: 414px) {
        .serive-img-col {
            position: relative;
            height: 400px;
            overflow: hidden;
        }

        .ser-collage {
            transform: scale(0.7);
            position: absolute;
            top: -80px;
            left: -50px;
        }

        /* Residental Slider */
        #material-carousel .swiper-slide {
            display: flex;
            justify-content: center;
            /* padding: 20px 0; */
            padding: 0;
        }

        #material-carousel {
            padding-bottom: 0;
        }

        #material-carousel .swiper-slide .service-card {
            max-width: 95%;
        }

        #material-carousel .swiper-pagination {
            display: none;
        }

        #gallerySlider .swiper-carousel {
            max-width: 320px;
        }

        /* Service area */
        .select-area-box {
            clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 50% 97.75%, 0% 100%);
        }
    }

    @media(max-width: 374px) {
        .logo {
            min-width: 110px;
            max-width: 110px;
        }

        header .right {
            gap: 10px;
        }

        /* Gallery */
        #gallerySlider .swiper-carousel {
            max-width: 260px;
        }
    }



    /* Inner Pages */
    .service-area-outer-one {
        padding: 140px 0 280px;
    }

    .financing-one {
        padding-top: 140px;
    }


    @media (max-width: 1140px) {
        header .mobile-nav li a[href="#"] {
            display: block !important;
        }

        header .mobile-nav li.current-menu-item>a,
        .service-nav>.sub-menu>li.service-inner-nav:hover,
        header .mobile-nav li.current-menu-item>a {
            background-color: unset !important;
        }

        header .service-nav>.sub-menu>li:hover ul.sub-menu {
            position: static !important;
            background: unset !important;
        }

        header .service-nav>.sub-menu>li ul.sub-menu .service-inner-nav-child:hover .sub-menu {
            padding-left: 18px !important;
        }

        header .service-inner-nav-child {
            padding-top: 10px;
        }
    }


    /* Form Page */

    .form-page input,
    .form-page textarea {
        border: 0 !important;
        padding: 24px 20px !important;
        box-shadow: 0 0 10px rgba(0 0 0 / 13%) !important;
        border-radius: 10px !important;
    }

    .form-page input#gform_submit_button_4 {
        width: 100%;
        padding: 20px;
        font-size: 18px;
        text-transform: uppercase;
        font-weight: 600;
        background-color: var(--secondary);
        border-radius: 50px;
    }

    .form-page input#gform_submit_button_4:hover {
        background-color: var(--primary);
    }