body{
    font-family: "Montserrat", sans-serif;
    overflow-x: hidden !important;
    background: #fff;
}
.container{
    max-width: 1140px;
}
.header{
    padding: 10px 0px;
}

/* Text-based logo (no image asset for the new brand look) */
.logo_site a{
    text-decoration: none;
    display: inline-block;
}
.logo_drn{
    text-align: left;
    display: inline-block;
}
.logo_drn h4{
    font-weight: 800;
    font-size: 1.9rem;
    color: #5b2d8e;
    margin: 0;
    letter-spacing: 1px;
}
.logo_drn h4 span{
    color: #9257d1;
}
.logo_drn p{
    margin: 0;
    color: #4d4d4d;
    font-size: 0.78rem;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    font-weight: 600;
}

.new_header ul {
    padding: 0px;
    margin: 0px;
    position: relative;
}

.new_header li {
    list-style: none;
    display: inline-block;
    padding: 0px 18px;
    vertical-align: middle;
}

.new_header span {
    position: absolute;
    height: 70px;
    width: 0.5px;
    background: #ccc;
    text-indent: -9999px;
}

.new_header li a {
    text-decoration: none;
    color: #5b2d8e;
    font-weight: 500;
}

    .new_header li a:hover {
        color: #9257d1;
    }

.menu_mob {
    display: none;
}
.sidenav {
      height: 100%;
      width: 0;
      position: fixed;
      z-index: 1;
      top: 0;
      left: 0;
      background-color: #fff;
      overflow-x: hidden;
      transition: 0.5s;
      padding-top: 60px;
      z-index: 9999;
    }

    .sidenav a {
     padding: 7px 15px;
    text-decoration: none;
    font-size: 16px;
    color: #5b2d8e;
    display: block;
    transition: 0.3s;
    font-weight: 500;
    }

    .sidenav a:hover {
      color: #9257d1;
    }

    .sidenav .closebtn {
        position: absolute;
        top: -10px;
        right: 25px;
        font-size: 50px;
        margin-left: 50px;
        color: #000;
        font-weight: 300;
    }

    /* Overlay background */
    .overlay {
      height: 100%;
      width: 0;
      position: fixed;
      z-index: 0;
      top: 0;
      left: 0;
      background-color:#00000061;
      overflow-x: hidden;
      transition: 0.5s;
      display: none;
      z-index: 999;
    }

    .overlay.active {
      width: 100%;
      display: block;
    }
    .logins{
      font-size: 30px;
    }
    .logins a{
        text-decoration: none;
        font-weight: bold;
    }
    .logins i{
        font-size: 22px;
        vertical-align: middle;
    }
    .login_btn a, .login_btn i{
        color: #9257d1;
    }
    .login_number a, .login_number i{
        color: #5b2d8e;
    }
    .header .logins a{
        font-size: 22px;
    }
    .header .p-2 {
        padding: 0.3rem !important;
    }

    /* Hero banner — deep purple gradient, no photo needed */
    .banners{
        background: linear-gradient(135deg, #241040 0%, #5b2d8e 55%, #8757c9 100%);
        padding-top: 220px;
        padding-bottom: 120px;
    }
    .banner_court{
        background: #f4edfb;
        padding: 10px 18px;
        color: #9257d1;
    }
    .banner_court h3{
        font-weight: 700;
        font-size: 2.6rem;
        margin: 0;
    }
    .banner_court span{
        color: #5b2d8e;
    }
    .banners h1{
        font-size: 3rem;
        font-weight: 700;
        color: #fff;
    }
    .banners h2{
        font-size: 3rem;
        font-weight: 700;
        color: #fff;
    }
    .outsource_work{
        padding-top: 70px;
    }
    .outsource_work h3{
        font-size: 3rem;
        font-weight: 700;
        color: #5b2d8e;
        padding-bottom:0px;
    }
    .outsource_work h2{
        font-size: 3rem;
        font-weight: 700;
        color: #5b2d8e;
        padding-bottom:0px;
    }
    .outsource_work p{
        font-weight: 400;
        font-size: 1.25rem;
    }
    .outsource_work_det{
        padding-top: 30px;
    }
    .court_stret{
        color: #111111;
        background-color: #ddc8f2;
        padding: 60px;
        margin-top: -50px;
    }
    .court_stret h5{
        line-height: 200%;
        font-size: 1.5rem;
    }
    .blocks{
        background: #7a5ca8;
        padding: 50px;
        border-radius: 50%;
        margin: 30px 17%;
    }
    .blocks_four .blocks i{
        color: #5b2d8e;
    background: #f4edfb;
    font-size: 40px;
    padding: 15px 20px;
    border-radius: 50%;
    }
    .blocks_four .blocks h3{
            letter-spacing: normal;
    text-transform: none;
    font-weight: 700;
    font-size: 1.5rem;
    padding: 25px 0px;
    color: #fff;
    display: block;
    padding-bottom: 15px;
    }
    .blocks_four .blocks h3 a{
        color: #fff;
        text-decoration: none;
    }
    .blocks_four .blocks p{
        color: #fff;
    }
    .blocks_green{
        background: #5b2d8e;
    }
    .member_area{
        padding: 50px 0px;
    }
    .ban_title h5{
        font-weight: 700;
        font-size: 3rem;
    }

/* Coverage tiles — solid brand gradients instead of photos */
.ser_block {
    background: linear-gradient(160deg, #5b2d8e, #241040);
    padding: 140px 0px 50px 0px;
    background-size: cover !important;
    background-position: 50%;
}

.ser_block_1 {
    background: linear-gradient(160deg, #7a3fc0, #3d1b66);
}

.ser_block_2 {
    background: linear-gradient(160deg, #8757c9, #4a2378);
}
    .ser_block h3{
        font-weight: 700;
    font-size: 2.2rem;
    text-align: center;
    padding: 0px 15px;
    color: #fff;
    }
    .ser_block p{
        text-align: center;
        color: #e9dcf8;
        font-weight: 600;
        letter-spacing: 1px;
        text-transform: uppercase;
        font-size: 0.9rem;
    }
    .srvice_area h2{
        font-weight: 700;
        font-size: 3rem;
        color: #5b2d8e;
    }
    .srvice_area p{
            font-weight: 400;
    font-size: 1.25rem;
    }

/* State coverage pills */
.states_row{
    padding: 20px 0px 0px 0px;
}
.state_pill{
    display: inline-block;
    background: #f4edfb;
    color: #5b2d8e;
    font-weight: 700;
    border: 1px solid #ddc8f2;
    border-radius: 50px;
    padding: 12px 26px;
    margin: 6px;
    font-size: 1.1rem;
}

    .quote_need{
        background: #5b2d8e;
        color: #fff;
        padding: 50px 0px;
        padding-bottom: 70px;
    }
    .quote_need h5{
        font-weight: 700;
        font-size: 3rem;
    }
    .quote_need a{
        text-transform: uppercase;
        font-size: 1.125rem;
        letter-spacing: 2px;
        margin: 49px auto -18px;
        padding: 16px 51px 16px 49px;
        background: #a678e2;
        color: #fff;
        text-decoration: none;
        border-radius: 50px;
        display: table;
    }
    .weare{
        padding: 100px 0px;
    }
    .service_details{
        padding-top: 50px;
    }
    .srvice_area .row{
        margin: 0px;
    }
    .weare_ti{
        font-size: 3rem;
        font-weight: 700;
        color: #fff;
    }
    .blocks_cou{
        background: #f4edfb;
        padding: 30px;
    }
    .blocks_cou h2{
        font-weight: 700;
        font-size: 2.25rem;
        color: #5b2d8e;
    }
    .blocks_cou .green_col{
        color: #9257d1;
    }

/* Footer — richer than CSA's: nav columns + legal line (SEO crawl paths) */
.footer{
    padding: 50px 0px 30px 0px;
    color: #fff;
    background: #3d1b66;
}
.footer a{
    color: #e9dcf8;
    text-decoration: none;
}
.footer a:hover{
    color: #fff;
    text-decoration: underline;
}
.footer h6{
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 0.95rem;
    padding-bottom: 10px;
    color: #c9a7ef;
}
.footer ul{
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer ul li{
    padding: 3px 0px;
    font-size: 0.95rem;
}
.footer .footer_legal{
    border-top: 1px solid #5b2d8e;
    margin-top: 30px;
    padding-top: 20px;
    font-size: 0.9rem;
    color: #c9a7ef;
}
.members {
    background: linear-gradient(120deg, #241040, #5b2d8e);
    color: #fff;
    padding: 110px 0px;
}

.weare {
    background: linear-gradient(120deg, #4a2378, #241040);
}
.blocks_four{
    padding-bottom: 50px;
}
.therole{
    padding: 70px 0px;
}
.therole h2{
    color: #4d4d4d;
    font-size: 1.875rem;
    font-weight: 700;
    padding-bottom: 20px;
}
.therole p{
    font-weight: 400;
    font-size: 1.25rem;
}
.therole h6{
    font-weight: 400;
    font-size: 1.5rem;
    padding-top: 40px;
    padding-bottom: 20px;
}
.therole ul{
    padding: 0px;

}
.therole ul li{
        list-style: none;
    font-size: 1.25rem;
    position: relative;
    padding-left: 30px;
    padding-bottom: 10px;
}
.therole ul li:before{
    content: "\f138";
    font-family: bootstrap-icons !important;
    color: #5b2d8e;
    font-weight: 700;
    position: absolute;
    left: 0px;
    top: 0px;
}

/* Inner page banner */
.page_banner {
    background: linear-gradient(135deg, #241040 0%, #5b2d8e 60%, #8757c9 100%);
    padding: 110px 0px;
}
.page_banner h1{
    color: #fff;
    font-weight: 700;
    font-size: 3rem;
    text-align: center;
    margin: 0;
}
.content_area{
    padding: 50px 0px;
}
.content_area p{
    font-size: 1.25rem;
}
.page_title{
    font-size: 3rem;
    font-weight: 700;
    color: #5b2d8e;
    padding-bottom: 30px;
}
.page_title_2{
    font-size: 1.5rem;
    font-weight: 700;
    color: #5b2d8e;
    padding-bottom: 30px;
}
.content_inner h3{
    color: #9257d1;
    font-weight: 400;
    font-size: 1.875rem;
}
.content_inner h4{
    font-weight: 400;
    font-size: 1.5rem;
    font-style: italic;
}
.addpadings{
    padding-top: 50px;
    padding-bottom: 50px;
}
.content_inner ul{
    padding: 0px;
}
.content_inner ul li{
    font-size: 1.25rem;
    list-style: none;
     position: relative;
    padding-left: 30px;
    padding-bottom: 10px;
}
.content_inner ul li:before{
    content: "\f26a";
    font-family: bootstrap-icons !important;
    color: #9257d1;
    font-weight: 700;
    position: absolute;
    left: 0px;
    top: 0px;
}

/* About page */
.about_photo{
    border: 1px solid #a0a0a0;
    padding: 4px;
    background: #fff;
    max-width: 100%;
    height: auto;
}
.about_caption{
    color: #4d4d4d;
    font-size: 0.95rem;
    padding-top: 8px;
    font-style: italic;
}

/* Testimonials */
.testi_block{
    background: #f4edfb;
    border-left: 5px solid #9257d1;
    padding: 25px 30px;
    margin-bottom: 25px;
    font-size: 1.15rem;
}
.testi_block .testi_sig{
    display: block;
    padding-top: 10px;
    color: #5b2d8e;
    font-weight: 600;
    font-size: 1rem;
}

/* Contact + forms */
.contact_main{
        background-image: linear-gradient(#f4edfb, #ddc8f2);
        padding: 50px 0px;
}
.form_block{
       background: #fff;
    box-shadow: 5px 5px 20px 0 rgba(0,0,0,0.4);
    padding: 70px;
}
.form_block h2.siteTitles{
    font-size: 1rem;
    font-weight: 600;
    color: #333;
    padding: 12px 0px 4px 0px;
    margin: 0;
}
.fixcon{
    width: 75%;
    margin: auto;
    text-align: center;
    display: block;
}
.contact_details ul{
    padding: 0px;
    margin: 0px;
    position: relative;
    left: -79px;
    bottom: -50px;
    width: 450px;
}
.contact_details ul li{
    background: #5b2d8e;
    padding: 20px;
    color: #fff;
    list-style: none;
    border-bottom: 1px solid #fff;
}
.contact_details ul li h6{
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: underline;
        font-size: 1.25rem;
}
.contact_details ul li p{
    font-size: 1.5rem;
    margin: 20px 2px 0 0;
}
.contact_details ul li a{
    color: #fff;
    text-decoration: none;
}
.form_block h3{
    font-weight: 400;
    font-size: 1.125rem;
    padding-bottom: 20px;
}
.form_block .submit_btn {
    background: #4a2378;
    color: #fff;
    text-transform: uppercase;
    font-size: 18px;
}

    .form_block .submit_btn:hover {
        background: #8757c9;
    }
.bottom_con{
    font-size: 1.875rem;
    color: #5b2d8e;
    padding-top: 100px;
}
.form_block input, .form_block select, .form_block textarea, .submit_btn {
    background-color: #ffffff;
    color: #000000;
    width: 90%;
    box-shadow: none;
    border: 1px solid #b3b3b3;
    padding: 10px;
}
.form_block input[type="submit"], .signin_block input[type="submit"] {
    background: #4a2378;
    color: #fff;
    text-transform: uppercase;
    font-size: 18px;
    border: none;
    cursor: pointer;
}
    .form_block input[type="submit"]:hover, .signin_block input[type="submit"]:hover {
        background: #8757c9;
    }
.form_block .notes{
    display: none;
}
.border_red{
    border: 1px solid #d9232e !important;
}
.errorLbl, .signInErrorLbl{
    color: #d9232e;
    font-weight: 600;
}

/* Sign-in page */
.signin_main{
    background-image: linear-gradient(#f4edfb, #ddc8f2);
    padding: 80px 0px;
}
.signin_block{
    background: #fff;
    box-shadow: 5px 5px 20px 0 rgba(0,0,0,0.4);
    padding: 50px 60px;
    max-width: 480px;
    margin: auto;
}
.signin_block h1{
    font-size: 2rem;
    font-weight: 700;
    color: #5b2d8e;
    padding-bottom: 20px;
}
.signin_block h2.siteTitles{
    font-size: 1rem;
    font-weight: 600;
    color: #333;
    padding: 12px 0px 4px 0px;
    margin: 0;
}
.signin_block input[type="text"], .signin_block input[type="password"]{
    width: 100%;
    border: 1px solid #b3b3b3;
    padding: 10px;
}
.signin_block .forgotPass{
    display: block;
    text-align: right;
    padding-top: 8px;
    color: #5b2d8e;
    font-size: 0.95rem;
}
.signin_block .signup_line{
    padding-top: 25px;
    border-top: 1px solid #e5e5e5;
    margin-top: 25px;
    text-align: center;
    font-size: 1rem;
}
.signin_block .signup_line a{
    color: #9257d1;
    font-weight: 700;
    text-decoration: none;
}

.errorpage {
    background: linear-gradient(#ddc8f2, #faf7fe);
}

/* jQuery UI dialog button visibility (used by ShowDialogBox) */
.hidecss{
    display: none !important;
}
.showcss{
    display: inline-block;
}

@media(max-width: 1140px){
    .banners h2 {
    font-size: 3rem;
    }
    .banner_court h3 {
        font-size: 2.2rem;
    }
    .contact_details ul{
        width: 100%;
    }

}
@media(max-width: 990px){
    .blocks{
      margin: 30px 5%;
    }
    .banners h2 {
    font-size: 2rem;
    }
    .banner_court h3 {
        font-size: 1.6rem;
    }
    .header .logins {
        font-size: 22px;
    }
    .ban_title h5 br{
        display: none;
    }
    .new_header li {
        padding: 0px 12px;
    }

        .new_header li a {
            font-size: 14px;
        }

    .header .logins a {
        font-size: 16px;
    }
    .logo_drn h4{
        font-size: 1.4rem;
    }
    .logo_drn p{
        font-size: 0.62rem;
        letter-spacing: 1.8px;
    }
}
@media(max-width: 800px){
    .errorpage .d-flex{
        display: block !important;
    }
    .errorpage{
        display: block !important;
        width: 100%;
        height: 100%;
        text-align: center;
    }
}
@media(max-width: 768px){
    .blocks{
    margin: 30px auto;
    padding: 30px;
    width: 300px;
    }
    .new_header {
        display: none;
    }

    .menu_mob {
        display: block;

    }
    .blocks_four{
        padding: 20px;
    }
    .banners .logins{
        display: block !important;
    }
    .banner_court{
        display: inline-block;
    }
    .banners h2 br{
        display: none;
    }
    .banners{
        padding-top: 140px;
        padding-bottom: 80px;
    }
    .banners h1 {
        font-size: 1.9rem;
    }
    .outsource_work h3 {
        font-size: 2rem;
    }
    .outsource_work h2 {
        font-size: 2rem;
    }
    .outsource_work p{
        font-size: 1rem;
    }
    .court_stret{
        margin-top: 0px;
    }
    .ban_title h5{
        font-size: 2rem;
    }
    .srvice_area h2 {
        font-size: 2.5rem;
    }
    .quote_need h5 {
        font-size: 2rem;
    }
    .weare_ti {
        font-size: 2rem;
    }
    .sm-menu{
        width: 15%;
        position:absolute;
        left:5px;
    }
    .sm-login {
        width: 56%;
        order: 1;
        padding-left: 75px;
    }
    .logo_site{
        width: 44%;
        padding:0px;
    }
    .sm-login .logins {
        font-size: 25px;
    }
    .sm-menu{
        order: 2;
    }
    .srvice_area p{
        font-size: 1rem;
    }
    .therole p{
        font-size: 1rem;
    }
    .therole ul li{
       font-size: 1rem;
    }
    .ordering1{
        order: 1;
        padding: 0px;
    }
    .ordering2{
        order: 2;
    }
    .ordering3{
        order: 3;
    }
    .court_stret{
        padding: 30px;
    }
    .addmargins{
        padding-top: 30px;
    }
    .content_area p {
       font-size: 1rem;
    }
    .content_inner ul li {
        font-size: 1rem;
    }
    .contact_details ul{
        bottom: 0px;
        left: 0px;
    }
    .fixcon {
       width: 300px;
    }
    .form_block{
        padding: 30px;
    }
    .signin_block{
        padding: 30px;
    }
    .bottom_con br{
        display: none;
    }

    .header .logins a {
        font-size: 18px;
    }

    .header .container {padding:0 5px;
    }

    .page_banner h1{
        font-size: 2rem;
    }
    .page_title{
        font-size: 2rem;
    }
    .footer .col-md-3, .footer .col-md-4{
        padding-bottom: 25px;
    }

}
@media (max-width:580px){
.sm-login .logins {
    font-size: 14px;
}
.header .logins a {
    font-size: 14px;
}
.header .logins i {
    font-size: 16px;
}

    .sm-menu {
        left: 42%;
    }

    .sm-login {
        padding-left: 60px;
    }

    .logo_site {
        width: 44%;
        padding: 0px;
    }
    .logo_drn h4{
        font-size: 1.1rem;
    }
    .logo_drn p{
        display: none;
    }
}
