:root{
    --main-color: rgb(210, 47, 37);
    --main-color-hover: rgb(189, 35, 27);
    --sec-color: #f5f5f5;
    --bs-emphasis-color: #000;
    --bs-emphasis-color-rgb: 0, 0, 0;
    --bs-body-bg: #fff;
}

/* Reset some default styles */
body{
    line-height: 1;
}
* {
    margin: 0;
    padding: 0;
    font-family: "poppins", sans-serif;
    box-sizing: border-box;
    color: #464646;
}

/* Detaults */
h1.title , h2.title{
    text-align: center;
    font-size: 33px;
    padding: 20px 0;
    color:var(--main-color);
}
.title-bottom-bar{
    width: 150px;
    margin: auto;
    margin-bottom: 50px;
    height: 2px;
}
/* Header */
.header {
    width: 100%;
    background: #0000008f;
    position: relative;
}

.header  nav.navbar{
    background-color: #000;
    padding: 0;
}
.header .logo{
    max-width: 160px;

}
.header .nav-links {
    margin-bottom: 0;
}
.header .nav-links li{
    display: inline-block;
    margin: 0;
}
.header .nav-links li a{
    text-decoration: none;
    color: #fff;
    padding: 10px 10px;
    position: relative;
}

.btn {
    padding:15px 30px !important;
    background:var(--main-color) !important;
    border-radius: 25px;
    border: 0px solid #fff;
    text-align: center;
    cursor: pointer;
    display: inline-block;
    text-decoration: none;
    font-size: 17px;
    line-height: 1;
    color:#fff!important;
    transition: ease-in-out 300ms;
}
.header .nav-links li.btnhead {
    padding-left: 50px;
}
.header .nav-links li.btn-ph {
    padding-left: 20px;
}
.bg-gradient-main{
    background: linear-gradient(90deg, rgba(77,0,41,1) 0%, var(--main-color) 100%);
}
.bg-gradient-dark {
    background:linear-gradient(90deg, rgb(0, 0, 0) 0%, var(--main-color) 100%);
}
.bg-success {
    background: #059b00;
}
.btn-sec{
    background:var(--sec-color)  !important;
    color: var(--main-color)  !important;
    border: 2px solid var(--main-color);
}
.btn:hover {
    background:var(--sec-color)  !important;
    color: var(--main-color) !important;
    transition: ease-in-out 300ms;
}
.btn-sec:hover{
    background:var(--main-color) !important;
    color:#fff !important;
    transition: ease-in-out 300ms;
}
.bg-gradient-dark:hover {
    color:#fff !important;
    background:linear-gradient(90deg, rgb(36, 36, 36) 0%, var(--main-color) 100%)  !important;
}
.bg-sec{
    background:var(--sec-color)  !important;
}
.btn.bg-success:hover{
    color:#fff !important;
    background: #047400  !important;
}
.hero {
    color: #fff;
    padding-top: 50px;
}
.hero h1,.breadcrub h1{
    font-size: 42px;
    font-weight: 600;
    margin-bottom: 40px;

}
.background-video{
    position: absolute;
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -1;
}
.header-text{
    background-color: var(--main-color);
    text-align: center;
    color: #fff;
    font-size: 16px;
    padding: 5px;
}
.header .menu{
    display: none;
    position: absolute;
    right: 50px;
    z-index: 6;
}

@media screen  and (max-width: 999px) {
    .header .nav-links li.btnhead {
        padding-left: 10px;
    }
    .hero h1{
        font-size: 33px;
    }
    .header .menu{
        display: block;
        transition: ease-in 0.5s;
        font-size: 25px;
    }
    .header .menu:hover{
        transition: ease-in 0.5s;
        color: var(--main-color);
    }
    .header .nav-links.show{
        display: flex;
        transition: ease-in 0.5s;
    }
    .header .nav-links{
        
        display: none;
        flex-direction: column;
        flex-wrap: wrap;
        min-height: 100vh;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        background: #000;
        padding-top: 100px;
        z-index: 5;
        transition: ease-in 0.5s;
    }
    .header .nav-links li{
        display: block;
        width: 90%;
        background: #333333;
        margin-bottom: 10px;
        padding: 8px 10px;
        border-radius: 5px;
        margin: 8px auto;
        transition: ease-in 0.5s;
        font-size: 20px;
    }
    .header .nav-links li:hover{
        transition: ease-in 0.5s;
        background: var(--main-color-hover);
    }
    .header .nav-links li a {
        display: inline-block;
        width: 100%;
    }
    .header .nav-links li .btn{
        width: 100%;
    }

}
/* Quote form*/
.quote form {
    background: #ffffff;
    padding: 20px;
    color: #000;
    border-radius: 8px;
    
}
.quote form h2{
    text-align: center;
    margin-bottom: 20px;
}

.quote form input[type="text"],
.quote form input[type="date"],
.quote form input[type="email"],
.quote form input[type="tel"],
.quote form select, 
.booking-form input[type="text"],
.booking-form input[type="text"],
.booking-form input[type="email"],
.booking-form select,
.booking-form textarea {

    border: 1px solid #333333;
    color: #333333;
    padding: 10px 20px;
    width: 100%;
    font-size: 18px;
    display: block;
    margin-bottom: 20px;
    border-radius: 5px;
    line-height: 1;
}
.quote form button{
    background-color: var(--main-color);
    background: linear-gradient(90deg, rgba(77,0,41,1) 0%, var(--main-color) 100%);
    color:#fff;
    padding: 15px 20px;
    border:none;
    border-radius: 8px;
    font-size: 20px;
    width: 100%;
    transition: all 0.5s;
}
.quote form button:hover {
    
    background: linear-gradient(90deg, rgb(56, 1, 30), var(--main-color-hover) 100%);
    transition: all 0.5s;
}

.quote .step {
    margin-bottom: 20px;
}
.quote .steps .stepsbox div{
    padding: 5px;
}
.quote .steps div span {
    width: 50px;
    height: 50px;
    text-align: center;
    padding: 12px;
    background: #ececec;
    z-index: 2;
    border-radius: 50%;
    line-height: 20px;
    font-size: 20px;
}
.quote .steps .line {
    background: #ececec;
    height: 2px;
    padding: 0;
    width: 100%;
    min-width: 100%;
    position: relative;
    left: 0;
    top: 24px;
    z-index: 0;
}

/* UNTILS By AbdulRehman */
.d-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.justify-bw {
    justify-content: space-between;
}
.justify-center {
    justify-content: center;

}
.col-12,
.col-6,
.col-4,
.col-3{
    padding-left: 0;
    padding-right: 0;
}
.col-12 {
    width: 100%;
}
.col-6{
    width: 50%;
}
.col-4{
    width: 33.333%;
}
.col-3{
    width: 25%;
}
.py-5{
    padding-top: 5rem;
    padding-bottom: 5rem;
}
.py-2{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
.py-1{
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.container{
    width: 90%;
    max-width: 1100px;
    margin: auto;
    padding-left: 0;
    padding-right: 0;
}
.w-100{
    width: 100%;
}
.mb-4 {
    margin-bottom: 4rem;
}
.mb-2 {
    margin-bottom: 2rem;
}
.mb-1 {
    margin-bottom: 1rem;
}
.fw-normal{
    font-weight: 400;
}
.fw-medium{
    font-weight: 600;
}
.fw-bold{
    font-weight: 700;
}
.fs-small {
    font-size:16px !important;
}
.fs-medium {
    font-size:20px;
}
.fs-large {
    font-size:35px;
}
.color-main{
    color: var(--main-color);
}
.color-white{
    color: #fff !important;
}
.color-black{
    color: #000;
}
.text-left{
    text-align: start !important;
}
.text-center {
    text-align: center;
}
.m-0{
    margin: 0!important;
}
.ms-0{
    margin-left: 0;
}
.ms-1{
    margin-left: 1rem;
}
.p-1{
    padding: 0.5rem;
}
.p-2{
    padding: 1rem;
}
.px-2{
    padding-left: 1.5rem!important;
    padding-right: 1.5rem!important;
}
.d-block{
    display: block;
}
.rounded{
    border-radius: 0.5rem;
}
@media(min-aspect-ratio :16/9) {
    .background-video{
        width: 100%;
        height: auto;
    }
}
@media(max-aspect-ratio :16/9) {
    .background-video{
        width: auto;
        height: 100%;
    }
}
@media screen  and (min-width: 480px) {
    .col-md-6{
        width: 50%;
    }
    .col-md-4{
        width: 33.333%;
    }
    .col-md-3{
        width: 25%;
    }
    .col-md-8{
        width: 66.333%;
    }
}

/* Services Section */

section.services {
    background-color: var(--sec-color);
}
section.services .services-item{
    background-color: #fff;
    padding: 20px;
    border-radius: 15px;
    height: 100%;
} 
section.services .services-item h3{
    margin-bottom: 30px;
    color: var(--main-color);
    text-align: center;
}
section.services .services-item h3 i{
    font-size: 50px;
    margin-bottom: 10px;
    display: block;
    color: var(--main-color-hover);
    text-align: center;
}
section.services .services-item p{
    min-height: 100%;
    display: block;
    font-size: 15px;
    min-height: 145px;
    text-align: center;
    color: #6d6d6d;
}
/*Reviews Section*/
section.reviews{
    background: var(--sec-color);
}
.reviews .review-box
{
	width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.reviews .review-box .review-item
{
	padding: 1rem;
    border-radius: 0.8rem;
    color: #000;
    background: #fff;
    width: 30%;
    min-height: 250px;
    margin:10px;
}

.reviews .review-box .userdetails
{
	display: flex;
    margin-bottom: 20px;
}
.reviews .review-box .imgbox
{
	margin-right: 1rem;
}
.reviews .review-box .imgbox img
{
	border-radius: 50%;
	width: 2rem;
	border: 2px solid #cec5c5;
}
.reviews .review-box .detbox
{
	display: flex;
    flex-direction: column;
    justify-content: center;
}
.reviews .review-box .detbox p
{
	margin: 0;
}
.reviews .review-box .detbox .name
{
    font-size: 0.9rem;
    margin-bottom: 0.1rem;
    font-weight: 600;
}

.reviews .review-box .detbox .designation
{
    opacity: 50%;
    font-size: 0.8rem;
}

.reviews .review-box .review p
{
	font-size: 0.95rem;
    font-weight: 500;
    color: #000;
    opacity: 50%;
    line-height: 1.5;
}

@media screen  and (max-width: 999px) {

    .reviews  .review-box .review-item {
        width: 90%;
    }  
}

/* FAQ */
section.faq .faq-box .faq-item {
    margin-bottom: 20px;
    border: 1px solid #fffcfc;
    border-radius: 5px;
    overflow: hidden;
    transition: ease-out 300ms;
}

section.faq .faq-box .faq-item .question {
    background-color: var(--sec-color);
    color: #000;
    padding: 15px;
    cursor: pointer;
    font-weight: 600;
}

section.faq .faq-box .faq-item .answer {
    padding: 15px;
    display: none;
    font-size: 15px;
    transition: ease-out 300ms;
}

section.faq .faq-box .faq-item.active .answer {
    display: block;
    transition: ease-out 300ms;
}

/* CTA Section*/

section.cta {
    background-color: #000000;
    opacity: 1;
    background-image:  linear-gradient(#330000 1.1px, transparent 1.1px), linear-gradient(to right, #330000 1.1px, #000000 1.1px);
    background-size: 22px 22px;
}
section.cta .btn{
    font-size: 17px;
}
@media screen and (max-width: 999px) {
    section.cta .d-flex {
        flex-direction: column;
    }
    section.cta h2 {
        font-size: 27px;
        margin-bottom: 20px;
        text-align: center;
    }
    section.cta .btn {
        width: 100%;
        margin: 0;
        margin-bottom: 15px;
    }
    footer p.text-left {
        text-align: center !important;
    }
}
/* Footer */
footer {
    background-color: #fff;
    color: #222;
    text-align: center;
    padding: 20px 0;
    font-family: Arial, sans-serif;
}

footer p {
    margin: 5px 0;
    font-size: 16px;
}
footer p a{
    text-decoration: none;
}
/* Why Choose Us*/

section.why-choose-us ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

section.why-choose-us ul li {
    margin-bottom: 20px;

}

section.why-choose-us ul li strong {
    font-size: 18px;
    color: #333;
    margin-bottom: 5px;
    display: block;
}
section.why-choose-us .brands{
    max-width: 100px;
    margin-bottom: 10px;
}
/* Contact Us */

.contact-us {
    padding: 40px 0;
    background-color: #f8f9fa;
  }
  
  .contact-us h2 {
    font-size: 28px;
    margin-bottom: 20px;
    color: #343a40;
  }
  
  .contact-us p {
    color: #6c757d;
    font-size: 16px;
  }
  
  .contact-us .form-group label {
    font-weight: bold;
    color: #495057;
  }
  
  .contact-us .form-control {
    border-radius: 5px;
    border: 1px solid #ced4da;
    padding: 10px;
    font-size: 16px;
    color: #495057;
    display: block;
    width: 100%;
    margin-bottom: 10px;
  }
  
  .contact-us .form-control:focus {
    border-color: var(--main-color);
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.25);
  }
  
  .contact-us .btn-primary {
    background-color: var(--main-color);
    border-color: var(--main-color);
    padding: 10px 20px;
    font-size: 16px;
    border-radius: 5px;
    transition: background-color 0.3s ease;
  }
  
  .contact-us .btn-primary:hover {
    background-color: #0056b3;
    border-color: #0056b3;
  }
  
  .contact-us .hours-list {
    list-style: none;
    padding-left: 0;
  }
  
  .contact-us .hours-list li {
    margin-bottom: 5px;
    color: #495057;
  }
  
  .contact-us .hours-list strong {
    font-weight: bold;
  }
  
  .contact-us a {
    color: var(--main-color);
    text-decoration: none;
    display: block;
  }
  
  .contact-us a:hover {
    color: var(--main-color-hover);
  }
  
  @media (max-width: 767.98px) {
    .contact-us {
      padding: 20px 0;
    }
  
    .contact-us h2 {
      font-size: 24px;
    }
  
    .contact-us .btn-primary {
      width: 100%;
    }
    .why-choose-us .text-left {
        text-align: center !important;
    }
    .why-choose-us .ms-0 {
        margin-left: auto !important;
    }
    .why-choose-us .brands-box{
        flex-direction: column;
    }
    .breadcrub h1 {
        font-size: 23px;
    }
    .quote-calc h2.title {

        font-size: 28px;
    }
    .quote-calc .trusted-box{
        flex-direction: column;
    }
  }

.nice-select{
    width: 100%;
}
section.how-it-works{
    padding: 30px 0px;
    line-height: 1.3;
}
section.how-it-works i{
    color: var(--main-color);
    font-size: 60px;
    padding: 5px;
}
section.how-it-works h3{
    color:#000;
    margin-top:30px;
    margin-bottom:20px;
    font-size: 20px;
}
section.how-it-works .d-flex div{
    margin-bottom: 10px;
}
/*Quote Calculation*/
table {
    caption-side: bottom;
    border-collapse: collapse;
}
.table {
    --bs-table-color-type: initial;
    --bs-table-bg-type: initial;
    --bs-table-color-state: initial;
    --bs-table-bg-state: initial;
    --bs-table-color: var(--bs-emphasis-color);
    --bs-table-bg: var(--bs-body-bg);
    --bs-table-border-color: var(--bs-border-color);
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: var(--bs-emphasis-color);
    --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
    --bs-table-active-color: var(--bs-emphasis-color);
    --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
    --bs-table-hover-color: var(--bs-emphasis-color);
    --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
    width: 100%;
    margin-bottom: 1rem;
    vertical-align: top;
    border-color: var(--bs-table-border-color);
}
.table > :not(caption) > * > * {
    padding: 0.5rem 0.5rem;
    color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
    background-color: var(--bs-table-bg);
    border-bottom-width: var(--bs-border-width);
    box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}
.table > tbody {
    vertical-align: inherit;
}
.table > thead {
    vertical-align: bottom;
}
  
.table-group-divider {
    border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
}
.quote-calc .upfront, .totalpayable_amount{
    background: rgba(55, 175, 0, 0.219);
    padding: 25px 10px;
    font-size: 25px;
    color: rgb(55, 175, 0);
    font-weight: 600;
    margin-top: 20px;
    margin-bottom: 20px;
}
.quote-calc .trusted-box img.brands{
    width: 60px;
    margin-bottom: 10px;
}
.quote-calc table.table{
    box-shadow: 0px 0px 10px 5px var(--sec-color);
    padding: 10px;
    border-radius: 10px;
    width: 100%;
    margin-top: 20px;
    margin-bottom: 20px;
}
.booking-form .group{
    box-shadow: 0px 0px 10px 8px var(--sec-color);
    padding: 20px 10px;
    border-radius: 10px;
    margin-bottom: 20px;
}
.booking-form h3{
    background-color: #000;
    color: #fff;
    border-radius: 0.5rem;
    font-size: 20px;
    padding: 15px 20px;
    margin: 10px auto;

}
input:read-only {
    background-color: rgb(194, 194, 194) !important;
}
/*Affiliate Section*/
.affiliate-program-section {
    padding: 60px 0;
    background-color: #f8f9fa;
}

.affiliate-program-section .container {
    max-width: 1100px;
    margin: 0 auto;
}

.affiliate-program-section h2 {
    font-size: 2.5rem;
    margin-bottom: 20px;
    color: #333;
}

.affiliate-program-section p {
    font-size: 1.2rem;
    margin-bottom: 20px;
    color: #555;
}

.affiliate-program-section ul {
    list-style-type: none;
    padding-left: 0;
    margin-bottom: 30px;
}

.affiliate-program-section ul li {
    font-size: 1.1rem;
    margin-bottom: 10px;
    color: #666;
    position: relative;
    padding-left: 25px;
}

.affiliate-program-section ul li::before {
    content: '\2714'; /* Checkmark */
    position: absolute;
    left: 0;
    top: 0;
    color: #007bff;
    font-size: 1.2rem;
}

.affiliate-program-section .img-fluid {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}
