@font-face {
  font-family: 'Degular'; /* You can name this whatever you want */
  src: url('../font/degular-800.woff2') format('woff2');
  font-weight: 800;       /* Defines this file as the 800 (ExtraBold) weight */
  font-style: normal;
  font-display: swap;     /* Improves loading performance */
}
@font-face {
  font-family: 'Haffer'; /* You can name this whatever you want */
  src: url('../font/haffer.woff2') format('woff2');
  font-style: normal;
  font-display: swap;     /* Improves loading performance */
}

html,
body {
  width: 100vw;
  padding: 0;
  margin: 0;
  background-color: #ffffff;
  font-family:'Haffer',sans-serif;
    -webkit-font-smoothing:antialiased !important;
  font-size: 18px;
  overflow-x: hidden;
  color: #211c23;
  font-weight:400;
}

.splash-page {
  height: 100vh;
}


.main-splash {
  height: 100%;
  position: relative;
  overflow-x: hidden;
}

.top-menu-padding{
    padding-top: 80px;
}


.img,
.img img {
    max-width: 100%;
    height: auto;
}

a{
   color: rgba(96,111,255,1);
   text-decoration:  none; 
   font-weight:bold;
}
a:hover{
   color: rgba(96,111,255,1);
   text-decoration:  underline; 
}
/*TYPOGRAPHY*/
h1,h2,h3,h4,h5,h6,p,strong{
    color: #211c23;
}

h1,h2,h3,h4,h5,h6{
    font-family:'Degular',sans-serif;
    -webkit-font-smoothing:antialiased !important;
    
}

.mega-hero-title{
    font-size:48px;
    font-weight:900;
}

.hero-title{
    font-size: 36px;
    line-height: 36px;
}

.md-hero-title{
    font-size: 24px;
    line-height: 24px;
}

.sml-hero-title{
    font-size: 18px;
}

.hero-copy-size{
    font-size: 30px;
}

.md-copy-size{
    font-size: 18px;
}

.sml-copy-size{
    font-size: 16px;
}
/*CARDS*/

.card {
    background-color: rgba(255,255,255,0.9);
    background-clip: border-box;
    border: none;
    border-radius: 25px;
    
}

.card-header:first-child ,
.card-img-top {
    width: 100%;
    border-radius: 10px;
    height: auto;
}

.card-outline {
    background-color: transparent;
    background-clip: border-box;
    border: 3px solid rgba(255,255,255,1) ;
    border-radius: 25px;
    
}

.card-ghost {
    background-color: rgba(255,255,255,0.1);
    
    
}

.card-white-80 {
    background-color: rgba(255,255,255,0.8);
    
    
}

.card-blue {
    background-color: rgba(4,1,84,1);
    
    
}

.card-light-blue {
    background-color: rgba(202,207,255,0.9);
    
    
}


.card-light-grey {
    background-color: rgba(247,247,246,1);
    
    
}

.card-green {
    background-color: #84b818;
    
    
}

.card-yellow {
    background-color: #f5a623;
    
    
}

.card-grey {
    background-color: #54585b;
    
    
}

.card-footer:last-child {
    border-radius: 25px;
    border-top: none;
}

.floating-card{
    position: absolute;
    top: -200px;
}

/*COLOURS*/
.text-bold{
    font-weight: 900;
}

.text-semi-bold{
    font-weight: 800;
}

.text-outline{
    color: #fff;
  text-shadow:
    3px 3px 0 #000,
    -3px 3px 0 #000,
    -3px -3px 0 #000,
    3px -3px 0 #000;
}

.text-white{
    color: rgba(255,255,255,1);
}

.text-white svg,
.text-white path{
    fill: rgba(255,255,255,1);
}

.text-light-grey{
    color: rgba(195,206,208,1);
}

.text-green{
    color: rgba(132,184,24,1);
}

.text-green svg,
.text-green path{
    fill: rgba(132,184,24,1);
}

.text-dark-green{
    color: rgba(59,133,42,1);
}

.text-dark-green svg,
.text-dark-green path{
    fill: rgba(59,133,42,1);
}

.text-red{
    color: rgba(255,63,63,1);
}

.text-red svg,
.text-red path{
    fill: rgba(255,63,63,1);
}

.text-yellow{
    color: rgba(245,166,35,1);
}

.text-yellow svg,
.text-yellow path{
    fill: rgba(245,166,35,1);
}

.text-blue{
    color: rgba(4,1,84,1);
}

.text-blue svg,
.text-blue path{
    fill: rgba(4,1,84,1);
}

.text-dark{
    color: rgba(78,101,96,1);
}

.border-green{
    border: 3px solid rgba(132,184,24,1) !important;

}


/*Backgrounds*/
.form-card{
    
    background-color:rgba(1,13,31,0.8);
    border:3px solid #ffffff;
}

.mask-section{
    position: absolute;
    bottom: 0;
    width:100%;
}

.bg-footer{
    background: #f8f8f8;
}

.w-plane-header-holder-100{
    top:-2px !important;
    left:-15% !important;
    width:352px !important;
}
.w-plane-header-100{
    
    width:100.1%;
}



.bg-red{
    background: #FF3F3F;
}


.bg-green{
    background: rgba(132,184,24,1);
}

.bg-dark-green{
    background: rgba(89,134,43,1);
}

.bg-blue{
    background: rgba(4,1,84,1);
}

.bg-dark{
    background:#282728;
}

.bg-white{
    background:rgba(255,255,255,1);
}

.bg-light-grey{
    background:rgba(247,247,246,1);
}


.hr-blue {
    border-top: 1px solid rgba(87,196,253,1);
}

.hr-light {
    border-top: 1px solid rgba(201,201,201,1);
}

.hr-green {
    border-top: 1px solid #84b818;
}

/*Styled Lists */
.star-tick-list-white li{
    display: block;
    list-style-type: none;
    line-height: 36px;

}

.star-tick-list-white li:before { 
    position: relative; 
    content:"";
    background: url(../icons/star-tick-white.svg) no-repeat left center;
    padding-right: 24px; 
    margin-right: 10px; 
    margin-left:-34px;
}

.star-tick-list-light-blue li{
    display: block;
    list-style-type: none;

}

.star-tick-list-light-blue li:before { 
    position: relative; 
    content:"";
    background: url(../icons/star-tick-light-blue.svg) no-repeat left center;
    padding-right: 24px; 
    margin-right: 10px; 
    margin-left:-34px;
}

.star-tick-list-blue li{
    display: block;
    list-style-type: none;

}

.star-tick-list-blue li:before { 
    position: relative; 
    content:"";
    background: url(../icons/star-tick-blue.svg) no-repeat left center;
    padding-right: 24px; 
    margin-right: 10px; 
    margin-left:-34px;
}


.question-mark-list-blue li{
    display: block;
    list-style-type: none;
    line-height: 36px;

}

.question-mark-list-blue li:before { 
    position: relative; 
    content:"";
    background: url(../icons/question-mark-blue.svg) no-repeat left center;
    padding-right: 24px; 
    margin-right: 10px; 
    margin-left:-34px;
}


/*FORMS*/
.banner-form input, 
.banner-form select,  
.banner-form textarea,
.banner-form  .input-group-text, 
.banner-form .custom-file-label, 
.banner-form .custom-file-label::after{
    border: 3px solid rgba(204,204,203,1) ;
    border-radius: 10px ;
    padding: 15px 20px;
}

.banner-form  .input-group-text{
    border-right:none;
}

.input-group>.input-group-prepend>.input-group-text{
    border-radius: 10px ;
}

.banner-form .input-group-text, .banner-form .custom-file-label::after {
    color: rgba(4,1,84,1);
    background-color: rgba(255,255,255,0.7);
    fill: rgba(4,1,84,1);
}
/*.banner-form .input-group-text {
    border: 1px solid rgba(255,63,63,1);
    
}*/

/*.banner-form .input-group>.custom-select:nth-child(2), 
.banner-form .input-group>.form-control:nth-child(2) {
    border-left:1px solid rgba(255,63,63,1);
}*/

.banner-form  .input-group-text{
    background: rgba(217,217,224,1);
    border-radius: 10px ;
}

.banner-form  .input-group-text svg{
    fill: rgba(4,1,84,1);
}

.banner-form .form-label{
    font-weight:600;
    color: rgba(127,143,164,1);
}

.webo-email-error svg,
.webo-phone-error svg,
.webo-email-error-base svg,
.webo-phone-error-base svg,
.icon-error svg{
    fill: #e53935 !important;
}

.webo-email-success svg,
.webo-phone-success svg,
.webo-email-success-base svg,
.webo-phone-success-base svg,
.icon-success svg{
    fill: #7cb342 !important;
}

/*BUTONS*/
.btn-cta{
    color:#212121;
    background-color:rgba(255,255,255,1);
    border:3px solid rgba(255,255,255,1) !important;
    -webkit-transition : all 500ms ease-out;
    -moz-transition : all 500ms ease-out;
    -o-transition : all 500ms ease-out;
    transition : all 500ms ease-out;
    border-radius: 10px;
    font-weight: bold;
}

.btn-cta p{
    color:#c9c9c9;
}

.btn-cta svg,
.btn-cta path,
.btn-cta rect{
    fill: rgba(201,201,201,1);
}


.btn-cta:hover, 
.cta .btn:hover,
.btn-cta-active{
    color:#fff;
    background-color:rgba(255,63,63,1) !important;
    border-color:rgba(255,255,255,1)
}

.btn-cta:hover p,
.cta .btn:hover p,
.btn-cta-active p{
    color:#ffffff;
}

.btn-cta:hover svg,
.btn-cta:hover path,
.btn-cta:hover rect,
.cta .btn:hover svg,
.cta .btn:hover path,
.cta .btn:hover rect,
.btn-cta-active svg,
.btn-cta-active path,
.btn-cta-active rect{
    fill: rgba(255,255,255,1);
}
.btn-cta:focus,
.btn-cta.focus, 
.cta .btn:focus, 
.cta .btn.focus{
    box-shadow:0 0 0 .2rem rgba(0,128,128,0.5)
}
.btn-cta.disabled,
.btn-cta:disabled, 
.cta .btn.disabled, 
.cta .btn:disabled{
    color:#fff;
    background-color:rgba(132,184,24,0.2);
    border-color:rgba(27,129,199,0.2)
}
.btn-cta:not(:disabled):not(.disabled):active,
.btn-cta:not(:disabled):not(.disabled).active,
.show>.btn-cta.dropdown-toggle,
.cta .btn:not(:disabled):not(.disabled):active,
.cta .btn:not(:disabled):not(.disabled).active,
.show>.cta .btn.dropdown-toggle{
    color:#fff;
    background-color:#00b3b3;
    border-color:#000
}
.btn-cta:not(:disabled):not(.disabled):active:focus,
.btn-cta:not(:disabled):not(.disabled).active:focus,
.show>.btn-cta.dropdown-toggle:focus,
.cta .btn:not(:disabled):not(.disabled):active:focus,
.cta .btn:not(:disabled):not(.disabled).active:focus,
.show>.cta .btn.dropdown-toggle:focus{
    box-shadow:0 0 0 .2rem rgba(0,90,90,0.5)
}

.btn-yes{
    color:#fff;
    background-color:
    rgba(141,206,70,1);
    border: none;
    -webkit-transition : all 500ms ease-out;
    -moz-transition : all 500ms ease-out;
    -o-transition : all 500ms ease-out;
    transition : all 500ms ease-out;
    border-radius: 10px;
    font-weight: bold;
}

.btn-yes:hover, 
.yes .btn:hover{
    color:#fff;
    background-color:rgba(3,241,187,1);
    border-color:rgba(3,241,187,1)
}
.btn-yes:focus,
.btn-yes.focus, 
.yes .btn:focus, 
.yes .btn.focus{
    box-shadow:0 0 0 .2rem rgba(0,128,128,0.5)
}
.btn-yes.disabled,
.btn-yes:disabled, 
.yes .btn.disabled, 
.yes .btn:disabled{
    color:#fff;
    background-color:rgba(141,206,70,0.2);
    border-color:rgba(27,129,199,0.2)
}
.btn-yes:not(:disabled):not(.disabled):active,
.btn-yes:not(:disabled):not(.disabled).active,
.show>.btn-yes.dropdown-toggle,
.yes .btn:not(:disabled):not(.disabled):active,
.yes .btn:not(:disabled):not(.disabled).active,
.show>.yes .btn.dropdown-toggle{
    color:#fff;
    background-color:#00b3b3;
    border-color:#000
}
.btn-yes:not(:disabled):not(.disabled):active:focus,
.btn-yes:not(:disabled):not(.disabled).active:focus,
.show>.btn-yes.dropdown-toggle:focus,
.yes .btn:not(:disabled):not(.disabled):active:focus,
.yes .btn:not(:disabled):not(.disabled).active:focus,
.show>.yes .btn.dropdown-toggle:focus{
    box-shadow:0 0 0 .2rem rgba(0,90,90,0.5)
}

.btn-white{
    color:rgba(132,184,24,1);
    background-color:
    rgba(255,255,255,1);
    border: none;
    -webkit-transition : all 500ms ease-out;
    -moz-transition : all 500ms ease-out;
    -o-transition : all 500ms ease-out;
    transition : all 500ms ease-out;
    border-radius: 10px;
    font-weight: bold;
}

.btn-white:hover{
    color:rgba(132,184,24,1);
    background-color:rgba(3,241,187,1);
    border-color:rgba(255,255,255,1)
}
.btn-white:focus,
.btn-white.focus{
    box-shadow:0 0 0 .2rem rgba(0,128,128,0.5)
}


.btn-red{
    color:rgba(255,255,255,1);
    background-color: rgba(255,63,63,1);
    border: rgba(255,255,255,1);
    -webkit-transition : all 500ms ease-out;
    -moz-transition : all 500ms ease-out;
    -o-transition : all 500ms ease-out;
    transition : all 500ms ease-out;
    border-radius: 50px;
    font-weight: bold;
}

.btn-red:hover{
    text-decoration:none;
    color:rgba(255,255,255,1);
    background-color:rgba(170,42,42,1);
    border-color:rgba(255,255,255,1)
}
.btn-red:focus,
.btn-red.focus{
    box-shadow:0 0 0 .2rem rgba(0,128,128,0.5)
}

.btn-blue{
    color:rgba(255,255,255,1);
    background-color: rgba(4,1,84,1);
    border: rgba(255,255,255,1);
    -webkit-transition : all 500ms ease-out;
    -moz-transition : all 500ms ease-out;
    -o-transition : all 500ms ease-out;
    transition : all 500ms ease-out;
    border-radius: 50px;
    font-weight: bold;
}

.btn-blue:hover{
    text-decoration:none;
    color:rgba(255,255,255,1);
    background-color:rgba(58,55,135,1);
    border-color:rgba(255,255,255,1)
}
.btn-blue:focus,
.btn-blue.focus{
    box-shadow:0 0 0 .2rem rgba(0,128,128,0.5)
}

.btn-checkbox{
    color:rgba(4,1,84,1);
    background-color:rgba(255,255,255,1);
    border:3px solid rgba(84,88,90,1) !important;
    -webkit-transition : all 500ms ease-out;
    -moz-transition : all 500ms ease-out;
    -o-transition : all 500ms ease-out;
    transition : all 500ms ease-out;
    border-radius: 10px;
    font-weight: bold;
}

/* Force all form elements to be the same height */
.webo-form-step-tradesman-base-form .form-control {
    height: 65px; /* Sets a fixed height for everything */
    
    
    /* Centers content vertically */
    display: flex;
    align-items: center; 
}

.webo-form-step-tradesman-base-form .input-group-text,
.webo-form-step-tradesman-base-form .btn {
    height: 83px; /* Sets a fixed height for everything */
    
    
    /* Centers content vertically */
    display: flex;
    align-items: center; 
}

/* Specific fix for the Select box text alignment */
.webo-form-step-tradesman-base-form select.form-control {
    /* Select boxes don't always use flexbox well, so we use line-height */
    line-height: 65px; 
    padding-top: 0;
    padding-bottom: 0;
}

.webo-form-step-tradesman-base-form .btn{
    color:rgba(255,255,255,1);
    background-color: rgba(255,63,63,1);
    border: 3px solid rgba(255,255,255,1) !important;
    -webkit-transition : all 500ms ease-out;
    -moz-transition : all 500ms ease-out;
    -o-transition : all 500ms ease-out;
    transition : all 500ms ease-out;
    border-radius: 10px;
    font-weight: bold;
}

.webo-form-step-tradesman-base-form .btn:hover{
    color:rgba(255,255,255,1);
    background-color:rgba(170,42,42,1) !important;
    border-color:rgba(255,255,255,1);
}
.webo-form-step-tradesman-base-form .btn:focus,
.webo-form-step-tradesman-base-form .btn.focus{
    box-shadow:0 0 0 .2rem rgba(0,128,128,0.5)
}



.webo-form-step-tradesman-base-form  .input-group-text{
    background: rgba(4,1,84,1);
    border-color:rgba(4,1,84,1);
    border-radius: 10px ;
}

.webo-form-step-tradesman-base-form  .input-group-text svg{
    fill: rgba(255,255,255,1);
}

.btn-checkbox p{
    color:rgba(4,1,84,1);
}

.btn-checkbox svg{
    fill: rgba(4,1,84,1);
}


.btn-checkbox-active{
    color:rgba(255,255,255,1);
    background-color:rgba(245,166,35,1) !important;
    border-color:rgba(245,166,35,1) !important;
}

.btn-checkbox-active p{
    color:rgba(255,255,255,1);
}

.btn-checkbox-active svg{
    fill: rgba(255,255,255,1);
}

.btn-checkbox:hover{
    color:#fff;
    background-color:rgba(4,1,84,1) !important;
}

.btn-checkbox:hover p{
    color:#ffffff;
}

.btn-checkbox:hover svg{
    fill: rgba(255,255,255,1);
}
.btn-checkbox:focus,
.btn-checkbox.focus{
    box-shadow:0 0 0 .2rem rgba(0,128,128,0.5)
}
.btn-checkbox.disabled,
.btn-checkbox:disabled{
    color:#fff;
    background-color:rgba(219,66,116,0.2);
    border-color:rgba(255,255,255,0.2)
}
.btn-checkbox:not(:disabled):not(.disabled):active,
.btn-checkbox:not(:disabled):not(.disabled).active{
    color:#fff;
    background-color:rgba(219,66,116,1);
    border-color:#ffffff;
}
.btn-checkbox:not(:disabled):not(.disabled):active:focus,
.btn-checkbox:not(:disabled):not(.disabled).active:focus{
    box-shadow:0 0 0 .2rem rgba(0,90,90,0.5)
}

/*carousels*/
/* Card Styling */
.trade-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 8px; /* Slightly rounded corners */
    min-height: 180px; /* Adjust this value if you need more space */
    display: flex;
    flex-direction: column;
}
@media (min-width: 1200px) and (max-width: 1399px) {
    .trade-card {
        min-height: 230px; /* Adjust this value if you need more space */
    
    }
}

.trade-card:hover {
    transform: translateY(-5px); /* Lift up effect */
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
    cursor: pointer;
}

/* 2. Set a minimum height for the Titles 
   This ensures the "Get Quotes" buttons always align perfectly 
   at the same vertical position, regardless of title length.
*/
.trade-card .card-title {
    min-height: 3.5rem; /* Accommodates approx 2-3 lines of text */
    display: flex;
    align-items: center; /* Vertically center short titles */
    justify-content: center;
}

.trade-card .card-footer{
    background-color: #FF3F3F;
    border-top: none;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    color:#ffffff;
    font-weight: bold;
    font-size: .875rem;
    padding:5px;
}

}

/* Icons */
.icon-wrapper img {
    /* Ensures generic SVGs can be sized via the HTML height attr */
    max-width: 100%; 
    height: auto;
    max-height: 40px;
}

/* Carousel Control Arrows */
.carousel-control-prev,
.carousel-control-next {
    width: 40px;
    height: 40px;
    background-color: #e9ecef; /* Light grey background */
    border-radius: 50%;
    top: 100%;
    transform: translateY(-50%);
    opacity: 0.8;
}
.carousel-control-prev:hover,
.carousel-control-next:hover {
    background-color: #dee2e6;
    opacity: 1;
}

/* Position arrows outside the grid slightly on desktop */
@media (min-width: 992px) {
    .carousel-control-prev {
        left: 10px;
    }
    .carousel-control-next {
        right: 10px;
    }
}

/* Indicators (Dots) */
.carousel-indicators {
    bottom: -40px; /* Push dots below the cards */
}
.carousel-indicators button {
    width: 10px!important;
    height: 10px!important;
    border-radius: 50%;
    background-color: #dee2e6!important; /* Default grey */
    border: none!important;
    margin: 0 5px!important;
    opacity: 1!important;
}
.carousel-indicators button.active {
    background-color: #493a38!important; /* Dark brown/black active state */
}

#popularCategoriesCarousel .carousel-item {
    padding-top: 15px;  /* Prevents top cut-off on hover */
    padding-bottom: 15px; /* Prevents bottom shadow cut-off */
    padding-left: 5px; /* Prevents side shadow cut-off */
    padding-right: 5px;
}

/* Ensure the row doesn't push the padding out */
#popularCategoriesCarousel .carousel-item .row {
    margin-left: 0;
    margin-right: 0;
}

/*ACCORDION*/
/* Turn the accordion arrow white */
.accordion-button::after {
    filter: brightness(0) invert(1);
}

/* Ensure text remains white when accordion is open */
.accordion-button:not(.collapsed) {
    color: #606FFF !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

/* Turn your tick icons white if they are SVGs/images */
.filter-white {
    filter: brightness(0) invert(1);
}

/* Ensure padding behaves correctly for flush accordion on custom background */
.accordion-flush .accordion-item .accordion-button {
    padding-left: 0;
}
@media (min-width: 992px) {


    /*Layouts*/
    .bottomdiv {
        height: auto;
        width: 100%;
        position:absolute;
        left:0;
        bottom:0;
    }

    /*Typography*/
    .mega-hero-title{
        font-size:100px;
        line-height:100px;
    }
    .hero-title{
        font-size: 60px;
        line-height: 60px;
    }

    .md-hero-title{
        font-size: 36px;
        line-height: 36px;
    }

    .sml-hero-title{
        font-size: 24px;
    }
    /*.carousel-indicators {
      position: absolute;
      right: 60px;
      bottom: 0;
      left: 0;
      z-index: 2;
      display: flex;
      justify-content: right;
      padding: 0;
      list-style: none;
      margin-right:0;
    }
    .carousel-buttons{
        top:27px;
    }*/
}

@media (max-width: 991px) and (min-width: 769px) {
    .mega-hero-title{
        font-size:60px;
    }
    .hero-title{
        font-size: 48px;
        line-height: 48px;
    }

    .md-hero-title{
        font-size: 24px;
        line-height: 24px;
    }

    .sml-hero-title{
        font-size: 18px;
    }
}

