/*
Theme Name: Comfort Rides
Theme URI: https://www.comfortrides.com.au
Description: Comfort Rides Theme
Author: unwittinglyrad
Author URI: http://unwittinglyrad.com/
Template: wp-bootstrap-starter
Version: 1.0
*/


/****************************************
*** Theme customization starts below ***
*****************************************/

/* Margins and Padding */

/* Margin-Top Classes */
.mg-t-0 { margin-top: 0; }
.mg-t-1 { margin-top: 10px; }
.mg-t-2 { margin-top: 20px; }
.mg-t-3 { margin-top: 30px; }
.mg-t-4 { margin-top: 40px; }
.mg-t-5 { margin-top: 50px; }
.mg-t-6 { margin-top: 60px; }
.mg-t-7 { margin-top: 70px; }
.mg-t-8 { margin-top: 80px; }
.mg-t-9 { margin-top: 90px; }
.mg-t-10 { margin-top: 100px; }

/* Margin-Bottom Classes */
.mg-b-0 { margin-bottom: 0; }
.mg-b-1 { margin-bottom: 10px; }
.mg-b-2 { margin-bottom: 20px; }
.mg-b-3 { margin-bottom: 30px; }
.mg-b-4 { margin-bottom: 40px; }
.mg-b-5 { margin-bottom: 50px; }
.mg-b-6 { margin-bottom: 60px; }
.mg-b-7 { margin-bottom: 70px; }
.mg-b-8 { margin-bottom: 80px; }
.mg-b-9 { margin-bottom: 90px; }
.mg-b-10 { margin-bottom: 100px; }

/* Padding-Top Classes */
.pd-t-1 { padding-top: 10px; }
.pd-t-2 { padding-top: 20px; }
.pd-t-3 { padding-top: 30px; }
.pd-t-4 { padding-top: 40px; }
.pd-t-5 { padding-top: 50px; }
.pd-t-6 { padding-top: 60px; }
.pd-t-7 { padding-top: 70px; }
.pd-t-8 { padding-top: 80px; }
.pd-t-9 { padding-top: 90px; }
.pd-t-10 { padding-top: 100px; }

/* Padding-Bottom Classes */
.pd-b-1 { padding-bottom: 10px; }
.pd-b-2 { padding-bottom: 20px; }
.pd-b-3 { padding-bottom: 30px; }
.pd-b-4 { padding-bottom: 40px; }
.pd-b-5 { padding-bottom: 50px; }
.pd-b-6 { padding-bottom: 60px; }
.pd-b-7 { padding-bottom: 70px; }
.pd-b-8 { padding-bottom: 80px; }
.pd-b-9 { padding-bottom: 90px; }
.pd-b-10 { padding-bottom: 100px; }


.cr .site-footer {
   background: #f8f8f8;
   padding: 40px 20px;
}

.cr .container {
   display: flex;
   flex-wrap: wrap;
   gap: 20px;
   max-width: 1200px;
   margin: 0 auto;
}

.cr .footer-column {
   flex: 1 1 200px;
   padding-top: 30px;
}

.cr .footer-column h4 {
   font-size: 16px;
   margin-bottom: 10px;
   font-weight: bold;
   color: #0380C4;
}

.cr .footer-column ul {
   list-style: none;
   padding: 0;
   margin: 0;
}

.cr .footer-column ul li {
   margin-bottom: 6px;
}

.cr .footer-column ul li a {
   text-decoration: none;
   color: #929aa0;
   font-size: 15px;
}

.cr .footer-column ul li a:hover {
   text-decoration: underline;
}

.cr .payment-icons {
   display: flex;
   gap: 10px;
   align-items: centre;
}

.cr .payment-icons img {
   height: 50px;
   width: auto;
}

/* Responsive */
@media (max-width: 768px) {
   .cr .footer-column {
      flex: 1 1 100%;
   }
}

.page-heading {
   font-size: 3rem;
   background: #0380C4;
   color: #fff;
   display: flex;
   justify-content: center;
   align-items: center;
   padding: 100px 0;
   text-align: center;
   margin-bottom: 100px;
}

.grecaptcha-badge {
   display: none !important;
}

.wpcf7 label {
   font-weight: bold;
   color: #0380C4;
}

.wpcf7-form-control-wrap {
   position: relative;
   display: block;
   padding-top: 10px;
}

body {
   font-family: system-ui, -apple-system, BlinkMacSystemFont, Helvetica Neue, Helvetica, Arial, sans-serif;
   text-rendering: geometricPrecision;
}

body.home .site-content {
   background: #0380C4;
   padding-top: 70px !important;
}

a {
   color: #0580c4;
   text-decoration: underline;
   background-color: transparent;
}

.wp-caption {
   background: #E5F7FF none repeat scroll 0 0 !important;
   border: 0 !important;
   max-width: 99% !important;
}

.wp-caption .wp-caption-text {
   font-size: 0.75rem;
   line-height: 1.2;
   color: #0580c4;
   font-weight: 500;
}

.slick-slide img {
   display: block;
   object-fit: cover;
   width: 100%;
}

input[type=checkbox],
input[type=radio] {
   width: 15px;
   height: 15px;
   position: relative;
   top: 2px;
   margin-right: 2px;
}

#treatment-required {
   height: 100%;
}

.wpcf7-list-item.first {
   display: inline-block;
   margin: 0;
}

#treatment-required .wpcf7-list-item {
   margin: 0 1em 0 0;
}

.gg-blue-normal {
   color: #0580c4 !important;
}

.gg-blue-dark {
   color: #0580c4 !important;
}

body:not(.theme-preset-active) #page-sub-header h1,
body:not(.theme-preset-active) #page-sub-header p {
   color: #fff;
}

body:not(.theme-preset-active) #page-sub-header h1 {
   text-shadow: 0 0 20px rgba(0, 0, 0, 0.25);
}

body:not(.theme-preset-active) #page-sub-header p {
   text-shadow: 0 0 10px rgba(0, 0, 0, 0.75);
}

header#pre-masthead {
   background-color: #0580c4;
   min-height: 40px;
   position: fixed;
   width: 100%;
   z-index: 1;
   display: none;
}

header#pre-masthead a {
   color: #fff;
   line-height: 20px;
   text-decoration: none;
}

header#pre-masthead .container {
   display: flex;
   align-items: center;
   justify-content: center;
   min-height: 40px;
   color: #fff;

}

header#masthead {
   border-bottom: 5px solid #0980C4;
   /* border-top: 4px solid #00A4F4; */
   background: #fff;
   /* background: linear-gradient(90deg, rgba(5, 128, 196, 1) 0%, rgba(55, 75, 159, 1) 100%); */
   position: fixed;
   -webkit-box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.1);
   -moz-box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.1);
   box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.1);
   top: 0;
   left: 0;
   right: 0;
   z-index: 99;
   height: 85px;
   padding: 0 !important;
}

.navbar-brand img {
   height: 70px;
}

.navbar-brand {
   position: relative;
   max-width: 300px;
   left: 20px;
}

/* .navbar-toggler {
cursor: pointer;
} */

.navbar-toggler {
   display: flex;
   gap: 12px;
   /* space between buttons */
}

.navbar-toggler .btn {
   padding: 10px 20px;
   border-radius: 25px;
   text-decoration: none;
   font-weight: 600;
   display: inline-block;
   transition: background 0.3s ease, color 0.3s ease;
   border: none;
   text-align: center;
}



/* Individual button colours */
.hp .btn {
   padding: 10px 20px;
   border-radius: 25px;
   text-decoration: none;
   font-weight: 600;
   display: inline-block;
   transition: background 0.3s ease, color 0.3s ease;
   border: none;
   text-align: center;
}

.hp .btn-white {
   background-color: #fff;
   color: #000;
}

.navbar-toggler .btn-white {
   background-color: #fff;
   color: #000;
   border: 2px solid #000 !important;
}

.navbar-toggler .btn-blue {
   background-color: #0380C4;
   color: #fff;
}

.navbar-toggler .btn-black {
   background-color: #000;
   color: #fff;
}

/* Optional: hover effect */
.navbar-toggler .btn:hover {
   opacity: 0.9;
}

.navbar-light .navbar-toggler {
   border: 0;
   color: #fff;
   font-weight: 700;
   font-size: 16px;
}

.dropdown-nav {
   background: #fff;
   padding: 14px;
}

.dropdown-nav .menu {
   list-style: none;
   display: flex;
   gap: 20px;
   margin: 0;
   padding: 0;
}

.dropdown-nav .menu>.menu-item>a .mdi {
   font-size: 1rem;
   transition: transform 0.3s ease;
}

.dropdown-nav .menu-item:hover>a .mdi {
   transform: rotate(180deg);
   /* optional: rotate on hover */
}

.dropdown-nav .menu-item {
   position: relative;
}

.dropdown-nav .menu-item::after {
   content: '';
   position: absolute;
   left: 0;
   right: 0;
   top: 100%;
   height: 40px;
   /* the gap you want to bridge */
   background: transparent;
   pointer-events: none;
   /* ensures no click blocking */
}

.dropdown-nav .menu>.menu-item>a {
   text-decoration: none;
   color: #000;
   font-weight: normal;
   display: block;
}

.dropdown-nav .submenu {
   list-style: none;
   position: absolute;
   top: 100%;
   left: 0;
   background: #fff;
   border-radius: 0;
   display: none;
   flex-direction: column;
   min-width: 350px;
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
   z-index: 1000;
   padding-inline-start: 0 !important;
}

.dropdown-nav .menu-item::after {
   content: '';
   position: absolute;
   left: 0;
   right: 0;
   top: 100%;
   height: 20px;
   /* the gap you want to bridge */
   background: transparent;
   pointer-events: none;
   /* ensures no click blocking */
}

.dropdown-nav .submenu li a {
   padding: 20px;
   display: block;
   text-decoration: none;
   color: #000;
}

.dropdown-nav .submenu li a:hover {
   background-color: #f0f0f0;
}

.dropdown-nav .menu-item:hover>.submenu {
   display: flex;
}

/* @media (max-width: 768px) {
.dropdown-nav .menu {
flex-direction: column;
}
} */


#content.site-content {
   padding-top: 85px;
}

body:not(.theme-preset-active) footer#colophon {
   color: #99979c;
   background-color: #fff;
}

/* Rollout Menu Styling */
.rollout-menu {
   background-color: #fff;
   border-radius: 0;
   position: fixed;
   top: 85px;
   width: 100%;
   z-index: 99;
   -webkit-box-shadow: 0px 20px 20px 0px rgba(0, 0, 0, 0.1);
   -moz-box-shadow: 0px 20px 20px 0px rgba(0, 0, 0, 0.1);
   box-shadow: 0px 20px 20px 0px rgba(0, 0, 0, 0.1);
   -webkit-transition: all 0.75s 0s ease;
   -moz-transition: all 0.75s 0s ease;
   transition: all 0.75s 0s ease;
}

/*
.rollout-menu a {
font-size: 1.2rem;
color: #0580c4;
transition: all 0.5s linear;
-webkit-transition: all 0.5s linear;
-moz-transition: all 0.5s linear;
display: inline-block;
line-height: 2.25rem;
text-decoration: none;
} */


.rollout-menu p {
   color: #fff !important;
}

.rollout-menu-inner {
   padding: 40px 0;
   background-color: #fff;
   justify-content: center;
}

.rollout-menu-title {
   font-size: 1.5rem;
   font-weight: 700;
   color: #0580c4;
   display: inline-block;
   margin-bottom: 10px;
}

.rollout-menu-subtitle {
   font-size: 1.4rem;
   color: #fff;
}

#rollout-menu-widget-b {
   margin-top: 40px;
}

/* Body Content */
.h1,
h1 {
   font-size: 2.25rem;
   color: #0580c4;
   font-weight: 700;
   font-family: Lora;
}

.h2,
h2 {
   font-size: 1.75rem;
   color: #000;
   font-weight: 700;
   font-family: Lora;
}

.h3,
h3 {
   font-size: 1.25rem;
   color: #000;
   font-weight: 700;
   font-family: Lora;
}

.form-label {
   color: #0580c4;
   font-weight: 700;
}

.entry-content p {
   font-size: 16px;
   line-height: 1.6rem;
   color: #000;
}

div {
   font-size: 16px;
}

/* .h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
line-height: 3rem;
}

.entry-title {
display: none !important;
}

.site-info {
font-size: 13px;
font-weight: 500;
}

/* Footer */
#footer-widget p {
   font-size: 16px;
}

h3.widget-title {

   font-weight: normal !important;
   color: #999;
   font-size: 1.25rem;
}

.footer-subtitle {
   color: #0062cc;
   font-size: 18px;
   border-bottom: 2px solid #e96469;
   line-height: 40px;
}

/* General Adjustments */
sup {
   top: -1px;
}

.nav-link {
   padding: 0;
}

.text-center {
   text-align: center !important;
}

/* Buttons */
.btn {
   color: #fff;
   background: #0580c4;
   border-radius: 30px;
   padding: 10px 20px;
   text-decoration: none;
}

.btn-black {
   color: #fff;
   background: #000;
}

.btn-white {
   background: #fff;
   color: #000;
   border: 2px solid #000;
}

.btn:hover {
   color: #fff;
   background: #061c43;
   text-decoration: none;
}

/* #page-sub-header {
background: url("/wp-content/uploads/2025/04/comfortrides-header-r1.jpg") !important;
background-size: cover !important;
min-height: 600px;
position: relative;
top: 98px;
} */


#floating-contact-wrapper {
   position: fixed;
   bottom: 20px;
   right: 20px;
   z-index: 9999;
   display: flex;
   flex-direction: column;
   align-items: flex-end;
   gap: 10px;
}

#contact-toggle {
   width: 60px;
   height: 60px;
   background: #000;
   border: none;
   border-radius: 50%;
   color: white;
   font-size: 22px;
   cursor: pointer;
   box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
   transition: background 0.3s ease;
}

#contact-toggle:hover {
   background: #0073aa;
}

#contact-buttons {
   display: none;
   flex-direction: column;
   gap: 10px;
   margin-top: 5px;
}

.contact-btn {
   width: 60px;
   height: 60px;
   border-radius: 50%;
   background: #0073aa;
   display: flex;
   align-items: center;
   justify-content: center;
   color: white;
   text-decoration: none;
   font-size: 20px;
   box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
   transition: background 0.3s ease;
}

.contact-btn:hover {
   background: #005a93;
   text-decoration: none;
}

.contact-btn.whatsapp {
   background: #25D366;
}

.contact-btn.whatsapp:hover {
   background: #1DA851;
}

.contact-btn.phone {
   background-color: #34b7f1;
   /* Light blue – change if you like */
}

.contact-btn.phone:hover {
   background-color: #1a9bdc;
}

/* Media Queries */
@media screen and (max-width:767px) {

   .navbar-brand {
      max-width: 250px;
   }

   #page-sub-header {
      padding-top: 85px;
   }

   .rollout-menu-inner {
      padding: 20px 0px;
   }

   .rollout-menu a {
      font-size: 1.35rem;
      margin-top: 3px;
   }

   .rollout-menu-title {
      font-size: 1.5rem;
   }
}

/* Slick */
.hero-slider .slide {
   display: flex;
   width: 100%;
}

.slide-content {
   display: flex;
   width: 100%;
}

.slide-image,
.slide-text {
   width: 50%;
}

.slide-image img {
   width: 100%;
   height: auto;
}

.slide-text {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   text-align: center;
}

.slide-text h3 {
   color: #fff;
   font-family: system-ui, -apple-system, BlinkMacSystemFont, Helvetica Neue, Helvetica, Arial, sans-serif;
   font-weight: 900;
   font-size: 2.5rem;
}

.slide {
   background-color: #000;
}

/* .slide:nth-child(even) {
   background-color: #005ca3;
} */

@media (max-width: 768px) {
   .slide-content {
      flex-direction: column;
   }

   .slide-image,
   .slide-text {
      width: 100%;
   }

   .slide-text {
      position: absolute;
      bottom: 0;
      background: rgba(0, 0, 0, 0.65);
      color: #fff;
      width: 100%;
      padding: 30px 0;
   }

   .slide {
      position: relative;
   }
}