/** !
Theme Name: Track Team
Theme URI: https://trackteam.co.uk/
Description: Bespoke Theme for Track Team using WordPress. Gutenberg compatible. Using Bootstrap 4 and Font Awesome 5.
Author: Elms Creative
Author URI: https://www.elmscreative.com/
Version: 1.0
Text Domain: elmscreative
*/

/* ==========================================================================
    Elements
   ========================================================================== */

html,
body {
    height: 100%;
}
html {
    background: #f6f7fb;
    overflow: auto;
}
body {
    background: none;
    color: #1a1a1a;
    font-family: "Roboto", Arial, Helvetica, sans-serif;
    padding: 0;
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0 auto 0.5em;
    color: #1a1a1a;
    text-transform: capitalize;
    font-family: "Roboto", Arial, Helvetica, sans-serif !important;
    font-weight: 900;
}
h1 > svg,
h2 > svg,
h3 > svg,
h4 > svg,
h5 > svg,
h6 > svg {
    color: #0597f2;
}
p {
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 400;
}
ul > li,
ol > li {
    font-size: 1rem;
    font-weight: 400;
}

label {
    color: #1a1a1a !important;
    font-weight: 700;
    font-size: 0.9rem;
}
input[type="text"],
input[type="url"],
input[type="email"],
input[type="tel"],
input[type="password"],
textarea {
    width: 100% !important;
    height: auto !important;
    padding: 0.75em 1.2em !important;
    color: #1a1a1a !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    background-color: #f5f5f5 !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    -webkit-border-radius: 4px !important;
    -moz-border-radius: 4px !important;
    border-radius: 4px !important;
    font-family: "Roboto", Arial, Helvetica, sans-serif !important;
}
input[type="file"] {
    color: #1a1a1a !important;
}
select {
    color: #1a1a1a !important;
    font-family: "Roboto", Arial, Helvetica, sans-serif !important;
    height: 45px !important;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none !important;
    background-color: #f5f5f5 !important;
    -webkit-border-radius: 4px !important;
    -moz-border-radius: 4px !important;
    border-radius: 4px !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
}
textarea {
    min-height: 175px !important;
    max-height: 175px !important;
    padding: 0.75em 1.2em !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    background-color: #f5f5f5 !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    -webkit-border-radius: 4px !important;
    -moz-border-radius: 4px !important;
    border-radius: 4px !important;
    font-family: "Roboto", Arial, Helvetica, sans-serif !important;
}

input[type="submit"] {
    width: auto;
    padding: 0.55em 1.25em;
    font-size: 1rem;
    position: relative;
    text-decoration: none;
    font-weight: 600;
    color: #fff !important;
    text-align: center;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    border: #0597f2 1px solid;
    -moz-transition: color 0s linear 0s;
    -webkit-transition: color 0s linear 0s;
    -o-transition: color 0s linear 0s;
    transition: color 0s linear 0s;
    background: #0597f2;
}
input[type="submit"]:hover {
    color: #fff !important;
    text-decoration: none;
    background-color: #084372;
    border: #084372 1px solid;
}

.btn {
    width: auto;
    padding: 0.55em 1.25em;
    font-size: 1rem;
    position: relative;
    text-decoration: none;
    font-weight: 600;
    color: #fff !important;
    text-align: center;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    border: #0597f2 1px solid;
    -moz-transition: color 0s linear 0s;
    -webkit-transition: color 0s linear 0s;
    -o-transition: color 0s linear 0s;
    transition: color 0s linear 0s;
    background: #0597f2;
}
.btn > svg {
    margin-right: 8px;
    color: #fff;
}
.btn:hover {
    color: #fff !important;
    text-decoration: none;
    background-color: #084372;
    border: #084372 1px solid;
}
.btn:hover > svg {
    color: #fff;
}

.btn-invert {
    width: auto;
    padding: 0.55em 1.25em;
    font-size: 1rem;
    position: relative;
    text-decoration: none;
    font-weight: 600;
    color: #fff !important;
    text-align: center;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    border: #1a1a1a 1px solid;
    -moz-transition: color 0s linear 0s;
    -webkit-transition: color 0s linear 0s;
    -o-transition: color 0s linear 0s;
    transition: color 0s linear 0s;
    background: #1a1a1a;
}
.btn-invert > svg {
    margin-right: 8px;
    color: #fff;
}
.btn-invert:hover {
    color: #fff !important;
    text-decoration: none;
    background-color: #555;
    border: #555 1px solid;
}
.btn-invert:hover > svg {
    color: #fff;
}

.forminator-ui.forminator-design--flat .forminator-button-submit {
    width: auto !important;
    padding: 0.55em 1.25em !important;
    margin: 0 auto !important;
    display: block !important;
    font-size: 1rem !important;
    position: relative !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    color: #fff !important;
    text-align: center !important;
    -webkit-border-radius: 6px !important;
    -moz-border-radius: 6px !important;
    border-radius: 6px !important;
    border: #0597f2 1px solid !important;
    -moz-transition: color 0s linear 0s !important;
    -webkit-transition: color 0s linear 0s !important;
    -o-transition: color 0s linear 0s !important;
    transition: color 0s linear 0s !important;
    background: #0597f2 !important;
    -webkit-box-shadow: 0 0 0 0 rgba(50, 50, 50, 0) !important;
    -moz-box-shadow: 0 0 0 0 rgba(50, 50, 50, 0) !important;
    box-shadow: 0 0 0 0 rgba(50, 50, 50, 0) !important;
}
.forminator-ui.forminator-design--flat .forminator-button-submit:hover {
    color: #fff !important;
    text-decoration: none !important;
    background-color: #084372 !important;
    border: #084372 1px solid !important;
}

/* ==========================================================================
       Structure
      ========================================================================== */

nav.navbar {
    padding: 0.75em 2em;
}
nav.navbar .img-logo {
    max-width: 225px;
}

section#hero {
    padding: 5em 0;
}
section#hero h1 {
    font-size: 4.5rem;
}
section#hero p {
    font-size: 1.1rem;
    margin-bottom: 0;
    color: #676769;
}

body.page-template-page-map main#content {
    margin-bottom: -88px;
}

#curvedblock {
    width: 88px;
    height: 88px;
    background: #1e1e1e;
}
#curvedblock-inner {
    width: 88px;
    height: 88px;
    background: #f6f7fb;
    -webkit-border-bottom-left-radius: 75px;
    -moz-border-radius-bottomleft: 75px;
    border-bottom-left-radius: 75px;
}

footer#details {
    padding: 3em 2em 2em;
    background: #1e1e1e;
    -webkit-border-top-right-radius: 100px;
    -moz-border-radius-topright: 100px;
    border-top-right-radius: 100px;
    border-top: #1e1e1e 24px solid;
}
footer p {
    color: #fff;
    font-size: 0.9rem;
}
footer h5 {
    margin-bottom: 0.4em;
    color: #fff;
    font-weight: 700;
    font-size: 1.1rem;
    text-transform: capitalize;
}
footer a:active,
footer a:visited,
footer a:link,
footer a[href^="tel"] {
    color: #fff;
}
footer a:hover,
footer a[href^="tel"]:hover {
    text-decoration: none;
    color: #0597f2;
}
footer .img-trustpilot {
    max-width: 200px;
}

footer#break {
    padding: 1em 2em;
    background: #1e1e1e;
    -webkit-border-top-right-radius: 0;
    -moz-border-radius-topright: 0;
    border-top-right-radius: 0;
}
footer#break hr {
    border-bottom: #0597f2 1px solid;
}
footer#ext {
    padding: 0 2em 2em;
    background: #1e1e1e;
    -webkit-border-top-right-radius: 0;
    -moz-border-radius-topright: 0;
    border-top-right-radius: 0;
}
footer#ext .powered {
    justify-content: space-between;
}
footer#ext .powered > div > p {
    margin-bottom: 0;
    font-size: 0.9rem;
}

footer .branding {
    margin-bottom: 1.5em;
}
footer .branding > div {
    padding: 0 1em 0 0;
}
footer .branding > div > img {
    max-width: 110px;
}
footer .branding > div > h5 {
    margin-bottom: 0;
    font-size: 2rem;
    font-weight: 900;
    line-height: 0.65;
}
footer .branding > div > h5 > small {
    font-size: 0.95rem;
    font-weight: normal;
}

footer .navvy > div {
    padding: 0 4.5em;
}
footer .social {
    padding: 0.25em 0 0;
}
footer .social > div {
    padding: 0 0 0 0.25em;
}
footer .social > div > a > svg {
    color: #fff;
    font-size: 1.25rem;
}
footer .social > div > a > svg:hover {
    color: #0597f2;
}

/* ==========================================================================
       Links and Navigation
      ========================================================================== */

a {
    font-weight: 600;
    text-decoration: none;
    -moz-transition: color 0.1s linear 0.1s;
    -webkit-transition: color 0.1s linear 0.1s;
    -o-transition: color 0.1s linear 0.1s;
    transition: color 0.1s linear 0.1s;
}
a:active,
a:visited,
a:link,
a[href^="tel"] {
    color: #1a1a1a;
}
a:hover,
a[href^="tel"]:hover {
    text-decoration: none;
    color: #084372;
}
a.nostyle:active,
a.nostyle:visited,
a.nostyle:link {
    color: inherit;
    text-decoration: none;
}
.nostyle:hover {
    color: inherit;
    text-decoration: none;
}
.btn-link:hover {
    color: #084372;
}

.navbar-toggler {
    margin: 1.5em 0;
    text-align: right;
    display: block;
    position: relative;
    z-index: 35;
}
.navbar-toggler > svg {
    color: #1a1a1a;
}
.navbar-toggler > svg:hover {
    color: #084372;
}

#primary.navbar-nav,
#secondary.navbar-nav {
    margin: 0;
    padding: 0;
    text-align: right;
    list-style: none;
    border-left: #fff 0 solid;
}
#primary.navbar-nav > li,
#secondary.navbar-nav > li {
    padding: 0.5em 1em;
    margin: 0;
}
#primary.navbar-nav > li:hover,
#secondary.navbar-nav > li:hover {
    background: none;
}
#primary.navbar-nav > li:hover > a,
#secondary.navbar-nav > li:hover > a {
    color: #676769;
    border-bottom: #0597f2 1px solid;
}
#primary.navbar-nav > li > a,
#secondary.navbar-nav > li > a {
    padding: 0;
    margin: 0;
    color: #1a1a1a;
    font-size: 1rem;
    font-weight: normal;
    text-transform: capitalize;
    border-bottom: transparent 1px solid;
}
#primary.navbar-nav > li.active > a,
#secondary.navbar-nav > li.active > a {
    color: #1a1a1a;
    border-bottom: #0597f2 0 solid;
}

.dropdown-item {
    padding: 0.4em 1.75em;
    font-size: 1rem;
}
.dropdown-item:active,
.dropdown-item:visited,
.dropdown-item:link {
    color: #1a1a1a;
}
.dropdown-item:hover {
    color: #ea2086;
    background-color: transparent;
}
.dropdown-item.active,
.dropdown-item:active {
    background-color: transparent;
}

#nav-right .navbar-nav > li > a {
    width: auto;
    padding: 0.55em 1.25em;
    font-size: 1rem;
    position: relative;
    text-decoration: none;
    font-weight: 600;
    color: #fff !important;
    text-align: center;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    border: #0597f2 1px solid;
    -moz-transition: color 0s linear 0s;
    -webkit-transition: color 0s linear 0s;
    -o-transition: color 0s linear 0s;
    transition: color 0s linear 0s;
    background: #0597f2;
}
#nav-right .navbar-nav > li > a > svg {
    margin-right: 8px;
    color: #fff;
}
#nav-right .navbar-nav > li > a:hover {
    color: #fff !important;
    text-decoration: none;
    background-color: #084372;
    border: #084372 1px solid;
}

#sitemap,
#myaccount {
    text-align: left;
}
#sitemap > li,
#myaccount > li {
    padding: 0.35em 0;
    margin: 0;
}
#sitemap > li > a,
#myaccount > li > a {
    padding: 0;
    margin: 0;
    font-size: 0.95rem;
    font-weight: normal;
    color: #fff;
}
#sitemap > li > a:hover,
#myaccount > li > a:hover {
    color: #0597f2;
}

#legal > li {
    padding: 0 0 0 1em;
    margin: 0;
}
#legal > li > a {
    padding: 0;
    margin: 0;
    font-size: 0.9rem;
}
#legal > li > a:hover {
    color: #0597f2;
}

/* ==========================================================================
       Misc
      ========================================================================== */

.section {
    padding: 4.25em 0;
    position: relative;
    z-index: 5;
}
.section-mini {
    padding: 2.25em 0;
    position: relative;
    z-index: 5;
}
.section-very-mini {
    padding: 1.25em 0;
    position: relative;
    z-index: 5;
}
.section-none {
    padding: 0;
    position: relative;
    z-index: 5;
}

.card.card-form {
    margin: 0 2em 0 0;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
}
.card.card-form > .card-body {
    padding: 2em;
}

.media {
    padding: 2em 1em 2em 0;
    border-bottom: #d1d1d5 1px solid;
}
.media svg {
    margin-right: 0.5em;
    color: #0597f2;
    font-size: 2rem;
}
.media h5 {
    font-size: 1.2rem;
}
.media p {
    font-size: 0.9rem;
}

.wpum-action-links {
    padding: 0 2.25em !important;
}
.fieldset-user_cover {
    display: none !important;
}
li.tab-view {
    display: none !important;
}

.wrap {
    width: 45em;
    margin-top: 55%;
    position: absolute;
    z-index: 5;
}
.img-homepage-hero {
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px;
}

.sub-title {
    font-size: 1.1rem;
    margin-bottom: 0;
    color: #676769;
}
.select-title {
    font-size: 2.25rem;
}
.select-sub-title {
    font-size: 1.15rem;
    margin-bottom: 0;
    color: #676769;
}

blockquote {
    margin: 3em 2.5em !important;
}
blockquote > p {
    font-size: 1.45rem;
    font-weight: 400;
}

.map-wrap {
    margin-top: 1em;
}

.map-list-container {
    width: 100%;
    min-height: 80vh;
    display: flex;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}
#mapCanvas {
    width: 100%;
    min-height: 100%;
}

.map-list-container.map-only #mapCanvas {
    width: 100%;
}
.map-list-container.map-only .list-view-panel {
    display: none;
}
.map-list-container.split-view #mapCanvas {
    width: 50%;
}
.map-list-container.split-view .list-view-panel {
    width: 50%;
    display: block;
}

.list-view-panel {
    background: #f8f9fa;
    overflow-y: auto;
    border-left: 1px solid #dee2e6;
    display: none;
}
.list-view-header {
    padding: 0 1em;
    position: sticky;
    top: 0;
    z-index: 10;
}
.list-view-header h5 {
    margin: 0;
    color: #333;
}

.driver-list {
    padding: 15px;
}
.driver-card {
    background: white;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 15px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: all 0.3s;
    cursor: pointer;
}
.driver-card:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}
.driver-card.unavailable {
    opacity: 0.7;
    cursor: not-allowed;
}
.driver-card.unavailable:hover {
    transform: none;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.driver-header {
    display: flex;
    justify-content: space-between;
    align-items: start;
    margin-bottom: 10px;
}
.driver-name {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin: 0;
}
.driver-status {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
}
.driver-status.available {
    background: #d4edda;
    color: #22c55e;
}
.driver-status.busy {
    background: #f8d7da;
    color: #721c24;
}
.driver-info {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin: 10px 0;
    font-size: 14px;
    color: #0597f2;
}
.driver-info-item {
    display: flex;
    align-items: center;
    gap: 5px;
}
.driver-info-item > span {
    color: #1a1a1a;
}
.driver-info-item i {
    color: #0597f2;
    width: 16px;
}
.driver-rating {
    display: flex;
    gap: 2px;
}
.driver-rating i {
    color: #ffc107;
    font-size: 14px;
}
.driver-pricing {
    padding: 8px 10px;
    margin: 10px 0;
    display: flex;
    gap: 15px;
    font-size: 13px;
    flex-wrap: wrap;
    justify-content: space-between;
    border-radius: 6px;
}
.driver-pricing-row {
    display: flex;
    justify-content: space-between;
    padding: 3px 0;
    font-size: 13px;
}
.driver-pricing-label {
    color: #1a1a1a;
}
.driver-pricing-label > span {
    color: #1a1a1a;
}
.driver-pricing-value {
    font-weight: 600;
    color: #1a1a1a;
}
.driver-select-btn {
    width: 100%;
    padding: 10px;
    background: #0597f2;
    color: white;
    border: none;
    border-radius: 6px;
    font-weight: 500;
    transition: all 0.3s;
    cursor: pointer;
}
.driver-select-btn:hover {
    background: #0478c5;
}
.driver-select-btn:disabled {
    background: #6c757d;
    cursor: not-allowed;
}
.no-drivers-message {
    text-align: center;
    padding: 40px 20px;
    color: #0597f2;
}

@media (max-width: 768px) {
    .driver-pricing {
        padding: 8px 0;
    }
    .map-list-container {
        min-height: 68vh;
    }
    .map-list-container.split-view {
        flex-direction: column;
    }
    .map-list-container.split-view #mapCanvas,
    .map-list-container.split-view .list-view-panel {
        width: 100%;
    }
    .list-view-panel {
        border-left: none;
    }
    .view-toggle-buttons {
        top: 25px;
        left: 25px;
    }
    .view-toggle-buttons .btn {
        padding: 6px 12px;
        font-size: 12px;
    }
    .map-list-container.split-view #mapCanvas {
        height: 300px;
        margin-bottom: 1em;
    }
}

body.page-template-page-payment #mapCanvas {
    min-height: 52vh;
}
body.page-template-page-job #mapCanvas {
    min-height: 52vh;
}
body.page-template-page-payment #mapError,
body.page-template-page-job #mapError {
    min-height: 50px;
}

.accordion .card.card-faq {
    border: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}
.accordion .card.card-faq .card-header {
    padding: 0.75rem 0.5em;
    border-left: none;
    border-right: none;
    border-top: 1px solid rgba(0, 0, 0, 0.125);
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}
.accordion .card.card-faq:last-child .card-header {
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}
.accordion .card.card-faq .card-header > h6 > a {
    padding-right: 40px;
}
.accordion .card.card-faq .card-body {
    background-color: #f6f7fb;
}
.collapsible-link::before {
    content: "";
    width: 14px;
    height: 2px;
    background: #0597f2;
    position: absolute;
    top: calc(50% - 1px);
    right: 1rem;
    display: block;
    transition: all 0.3s;
}
.collapsible-link::after {
    content: "";
    width: 2px;
    height: 14px;
    background: #0597f2;
    position: absolute;
    top: calc(50% - 7px);
    right: calc(1rem + 6px);
    display: block;
    transition: all 0.3s;
}
.collapsible-link[aria-expanded="true"]::after {
    transform: rotate(90deg) translateX(-1px);
}
.collapsible-link[aria-expanded="true"]::before {
    transform: rotate(180deg);
}

.homepage-tab,
.homepage-tab-alt,
.homepage-tab-alt-2 {
    position: relative;
    display: inline-block;
    overflow: hidden;
    margin: 0;
    width: 100%;
    color: #000;
    text-align: left;
    background-color: transparent;
    border-radius: 14px;
    border: none;
}
.homepage-tab-alt,
.homepage-tab-alt-2 {
    text-align: center;
}
.homepage-tab *,
.homepage-tab-alt *,
.homepage-tab-alt-2 * {
    transition: all 0.35s;
    box-sizing: border-box;
}
.homepage-tab img,
.homepage-tab-alt img,
.homepage-tab-alt-2 img {
    max-width: 100%;
    border-radius: 10px;
    display: block;
}
.homepage-tab::after,
.homepage-tab-alt::after,
.homepage-tab-alt-2::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.45) 0%,
        transparent 100%
    );
    z-index: 1;
    pointer-events: none;
}
.homepage-tab-alt::after,
.homepage-tab-alt-2::after {
    background-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 0%,
        transparent 100%
    );
}
.homepage-tab figcaption,
.homepage-tab-alt figcaption,
.homepage-tab-alt-2 figcaption {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    z-index: 2;
}
.homepage-tab-alt-2 figcaption {
    bottom: auto;
}
.homepage-tab-alt figcaption,
.homepage-tab-alt-2 figcaption {
    padding: 30px;
}

.homepage-tab h3,
.homepage-tab-alt h3,
.homepage-tab-alt-2 h3 {
    margin: 0 0.25em 0.25em;
    text-transform: capitalize;
    line-height: 1;
    color: #fff;
}

.homepage-tab .title1,
.homepage-tab-alt .title1,
.homepage-tab-alt-2 .title1 {
    font-size: 1.45rem;
    font-weight: 700;
}
.homepage-tab-alt .title1,
.homepage-tab-alt-2 .title1 {
    font-size: 1.15rem;
    color: #000;
}
.homepage-tab-alt p,
.homepage-tab-alt p.longer,
.homepage-tab-alt-2 p {
    margin: 0 0.25em 0.25em;
    text-transform: none;
    line-height: 1;
    color: #000;
    font-size: 0.9rem;
    font-weight: normal;
}
.homepage-tab-alt p.longer {
    max-width: 35em;
    margin: 0 auto;
}
.homepage-tab a,
.homepage-tab-alt a,
.homepage-tab-alt-2 a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.homepage-tab:hover img,
.homepage-tab.hover img,
.homepage-tab-alt:hover img,
.homepage-tab-alt.hover img,
.homepage-tab-alt-2:hover img,
.homepage-tab-alt-2.hover img {
    transform: scale(1.3) rotate(5deg);
}
.homepage-tab:hover figcaption,
.homepage-tab-alt:hover figcaption,
.homepage-tab-alt-2:hover figcaption {
    background-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.8) 0%,
        transparent 100%
    );
}
.homepage-tab-alt:hover figcaption,
.homepage-tab-alt-2:hover figcaption {
    background-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 0%,
        transparent 100%
    );
}

.wpum_one_third {
    width: 20%;
}
.wpum_two_third {
    width: 76%;
}

.card.card-dashboard {
    text-align: center;
}
.card.card-dashboard > .card-body {
    padding: 1.5em;
}
.card.card-dashboard > .card-body > .card-title {
    font-size: 1.25rem;
}
.card.card-dashboard > .card-body > a > .img-icon {
    margin-bottom: 1em;
}

.card.card-account {
    text-align: left;
}
.card.card-account > .card-body {
    padding: 1.5em;
}
.card.card-account > .card-body > .card-title {
    font-size: 1.25rem;
}

#wpum-account-forms-tabs ul li.tab-availability,
#wpum-account-forms-tabs ul li.tab-services,
#wpum-account-forms-tabs ul li.tab-password,
#wpum-account-forms-tabs ul li.tab-settings,
#wpum-account-forms-tabs ul li.tab-delete-account {
    display: none !important;
}

.fieldset-wpum_recoverer_temp_location_address,
.fieldset-wpum_recoverer_temp_location_timestamp {
    display: none !important;
}

.availability-toggle {
    justify-content: space-between;
}
.availability-switch {
    border: none;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 125px;
}

.custom-checkbox-slider {
    position: relative;
    margin-right: 40px;
}
.custom-checkbox-slider:checked::before {
    transform: translateX(150%);
}
.custom-checkbox-slider:checked::after {
    background: #0597f2;
}
.custom-checkbox-slider::after,
.custom-checkbox-slider::before {
    content: "";
    top: -2px;
    left: -2px;
    position: absolute;
    transition: all 0.3s ease-in-out;
}
.custom-checkbox-slider::after {
    background: #b1b1b1;
    width: 46px;
    height: 20px;
    border-radius: 10px;
    outline: none;
}
.custom-checkbox-slider::before {
    width: 16px;
    height: 16px;
    left: 1px;
    top: 0px;
    border-radius: 50%;
    background: #fff;
    z-index: 1;
    outline: none;
}

.job-row {
    justify-content: space-between;
}
.job-row > div {
    padding: 0 1em;
}
.job-row > div .badge {
    padding: 0.75em 1.5em;
    font-size: 0.9rem;
}
.job-row > div .btn {
    padding: 0.75em 1.5em;
    font-size: 0.9rem;
    border: none;
}
.job-row > div .btn.btn-accept {
    background-color: green;
    border: none;
}
.job-row > div .btn.btn-decline {
    background-color: red;
    border: none;
}
.btn.btn-accept {
    background-color: green;
    border: none;
}
.btn.btn-accept:hover {
    background-color: #004d00;
}

.badge-primary {
    background-color: #0597f2;
}

#wpum-account-forms-tabs ul li:hover {
    background: #fff;
}
#wpum-account-forms-tabs ul li:hover > a {
    color: #084372;
}

.emoji {
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: 0.3s;
}
.emoji > svg {
    margin: 15px 0;
    width: 95px;
    height: 95px;
    flex-shrink: 0;
}

#chat-messages {
    height: 300px;
    overflow-y: auto;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    padding: 1rem;
    margin-bottom: 1rem;
}
.message {
    margin-bottom: 0.5rem;
}
.message p {
    margin-bottom: 0;
    word-break: break-word;
}

.bg-primary {
    background-color: #0597f2 !important;
}
.job-padding {
    padding: 0 2em;
}
.message .bg-success {
    background-color: #28a745 !important;
}

.rating {
    width: 100%;
    margin-bottom: 0.5em;
    display: flex;
    justify-content: center;
    overflow: hidden;
    flex-direction: row-reverse;
    position: relative;
}
.rating > div > svg {
    color: #0597f2;
    font-size: 2rem;
}
.rating-score {
    margin-bottom: 0;
    font-size: 1.1rem;
    text-align: center;
}

/* Hide Map/Satellite toggle */
.gm-style .gm-style-mtc {
    display: none !important;
}

.card-recoverer-selection {
    padding: 0;
    min-width: 320px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    border: none;
    -webkit-border-top-right-radius: 20px;
    -moz-border-radius-topright: 20px;
    border-top-right-radius: 20px;
}
.card-recoverer-selection > .card-body {
    padding: 1em;
}
.card.card-recoverer-selection > .card-footer {
    padding: 0;
    -webkit-border-bottom-left-radius: 20px;
    -moz-border-radius-bottomleft: 20px;
    border-bottom-left-radius: 20px;
}
.card.card-recoverer-selection > .card-footer button {
    width: 100%;
    padding: 0.55em 1.25em;
    font-size: 1rem;
    position: relative;
    display: block;
    text-decoration: none;
    font-weight: 600;
    color: #fff !important;
    text-align: center;
    -webkit-border-bottom-left-radius: 20px;
    -moz-border-radius-bottomleft: 20px;
    border-bottom-left-radius: 20px;
    border: #0597f2 1px solid;
    -moz-transition: color 0s linear 0s;
    -webkit-transition: color 0s linear 0s;
    -o-transition: color 0s linear 0s;
    transition: color 0s linear 0s;
    background: #0597f2;
}
.card.card-recoverer-selection > .card-footer button:hover {
    color: #fff !important;
    text-decoration: none;
    background-color: #084372;
    border: #084372 1px solid;
}

.name-rating {
    margin-bottom: 0;
    font-size: 0.9em;
    justify-content: space-evenly;
}
.name-rating > div {
    width: 50%;
    padding: 0.5em;
}
.nav-rating > div:first-child {
    text-align: left;
}
.nav-rating > div:last-child {
    text-align: right;
}

.rating-stars {
    gap: 2px;
    justify-content: end;
}
.rating-stars .fa-star,
.card-recoverer-selection .fa-star {
    color: #0597f2;
    font-size: 0.95rem;
}

.status-indicators {
    margin-bottom: 0;
    font-size: 0.9em;
    justify-content: space-evenly;
}
.status-indicators > span {
    padding: 0.5em;
    font-weight: 500;
}
.status-indicators > span > svg {
    color: #0597f2;
}
.status-available {
    color: #22c55e;
}
.status-indicators > span.status-available > svg {
    color: #22c55e;
}
.status-available i {
    font-size: 0.8em;
}
.status-indicators > span.status-busy > svg {
    color: #ff4444;
}
.status-busy {
    color: #ff4444;
}
.btn-unavailable {
    background-color: #1a1a1a !important;
    color: #fff !important;
    cursor: not-allowed !important;
    border: #1a1a1a 1px solid !important;
}

.gm-style-iw {
    padding: 0 !important;
    -webkit-border-bottom-left-radius: 20px !important;
    -moz-border-radius-bottomleft: 20px !important;
    border-bottom-left-radius: 20px !important;
}
.gm-style-iw-d {
    padding: 0 !important;
    -webkit-border-bottom-left-radius: 20px !important;
    -moz-border-radius-bottomleft: 20px !important;
    border-bottom-left-radius: 20px !important;
}
.gm-style .gm-style-iw-c {
    padding: 0 !important;
    border-radius: 8px !important;
    -webkit-border-bottom-left-radius: 20px !important;
    -moz-border-radius-bottomleft: 20px !important;
    border-bottom-left-radius: 20px !important;
}
.gm-style .gm-style-iw-d {
    overflow: hidden !important;
    padding: 0 !important;
    -webkit-border-bottom-left-radius: 20px !important;
    -moz-border-radius-bottomleft: 20px !important;
    border-bottom-left-radius: 20px !important;
}
.gm-style-iw-chr > div,
.gm-style-iw-chr > button {
    display: none !important;
}
.gm-style .gm-style-iw-tc {
    -webkit-filter: drop-shadow(0 4px 2px rgba(5, 151, 242, 0.4)) !important;
    filter: drop-shadow(0 4px 2px rgba(5, 151, 242, 0.4)) !important;
}
.gm-style .gm-style-iw-tc::after {
    background: #0597f2 !important;
}

.table-request-assistance th,
.table-request-assistance td {
    padding: 0.5em 0;
    font-size: 0.9rem;
}

span.required {
    color: red;
}

.name-rating {
    justify-content: space-around;
}
.name-rating > div > svg {
    font-size: 1.1rem;
    color: #0597f2;
}

#selectedDriverPanel {
    text-align: right;
}

.middle-column {
    padding: 0 2em 0 0;
    border-right: 1px solid rgba(0, 0, 0, 0.1);
}

.garage-suggestion {
    justify-content: space-between;
}
.garage-suggestion > h6 {
    margin: 0;
}

.payment-form-container {
    padding: 20px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.input-icon-wrapper {
    position: relative;
}
.input-icon-wrapper i {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #6c757d;
}
.error-message {
    color: #dc3545;
    display: none;
    margin-top: 5px;
}
.is-invalid {
    border-color: #dc3545;
}
.payment-success {
    background-color: #28a745;
    border-color: #28a745;
}
.payment-error {
    background-color: #dc3545;
    border-color: #dc3545;
}
#paymentButton {
    position: relative;
    transition: all 0.3s ease;
}
#paymentButton.processing {
    background-color: #6c757d;
    border-color: #6c757d;
    pointer-events: none;
}
.button-text {
    display: inline-block;
    vertical-align: middle;
}

#form-status {
    margin: 0 2em 2em 0;
}

#garage-suggestions .list-group-item-action:focus,
#garage-suggestions .list-group-item-action:hover {
    color: #fff;
    background-color: #0597f2;
}
#garage-suggestions .list-group-item-action:focus h6,
#garage-suggestions .list-group-item-action:hover h6,
#garage-suggestions .list-group-item-action:focus small.text-muted,
#garage-suggestions .list-group-item-action:hover small.text-muted {
    color: #fff !important;
}

.close-info-window {
    position: absolute;
    top: 5px;
    right: 8px;
    background: none;
    border: none;
    font-size: 16px;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    color: #dc3545;
}

.close-info-window:hover {
    color: #000;
}

.checklist {
    list-style-type: none;
    padding-left: 0;
}

.checklist li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 10px;
}

.checklist li:before {
    content: "\2610";
    position: absolute;
    left: 0;
    top: 0;
    font-size: 1.2em;
}

.checklist li.completed {
    text-decoration: line-through;
}

.checklist li.completed:before {
    content: "\2611";
    color: green;
}

.checklist li a {
    color: inherit;
    text-decoration: none;
}

.rating-form {
    margin: auto;
}
.rating__display {
    font-size: 2.25rem;
    font-weight: 500;
    min-height: 1.25em;
    position: absolute;
    top: 100%;
    width: 100%;
    text-align: center;
}
.rating__stars {
    margin-bottom: 5.5em;
    display: flex;
    padding-bottom: 0.375em;
    position: relative;
    justify-content: center;
}
.rating__star {
    display: block;
    overflow: visible;
    pointer-events: none;
    width: 2em;
    height: 2em;
}
.rating__star-ring,
.rating__star-fill,
.rating__star-line,
.rating__star-stroke {
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
}
.rating__star-ring,
.rating__star-fill,
.rating__star-line {
    stroke: var(--yellow);
}
.rating__star-fill {
    fill: var(--yellow);
    transform: scale(0);
    transition:
        fill var(--trans-dur) var(--bezier),
        transform var(--trans-dur) var(--bezier);
}
.rating__star-line {
    stroke-dasharray: 12 13;
    stroke-dashoffset: -13;
}
.rating__star-stroke {
    stroke: #c7cad1;
    transition: stroke var(--trans-dur);
}
.rating__label {
    cursor: pointer;
    padding: 0.125em;
    font-size: 2.75rem;
}
.rating__label--delay1 .rating__star-ring,
.rating__label--delay1 .rating__star-fill,
.rating__label--delay1 .rating__star-line,
.rating__label--delay1 .rating__star-stroke {
    animation-delay: 0.05s;
}
.rating__label--delay2 .rating__star-ring,
.rating__label--delay2 .rating__star-fill,
.rating__label--delay2 .rating__star-line,
.rating__label--delay2 .rating__star-stroke {
    animation-delay: 0.1s;
}
.rating__label--delay3 .rating__star-ring,
.rating__label--delay3 .rating__star-fill,
.rating__label--delay3 .rating__star-line,
.rating__label--delay3 .rating__star-stroke {
    animation-delay: 0.15s;
}
.rating__label--delay4 .rating__star-ring,
.rating__label--delay4 .rating__star-fill,
.rating__label--delay4 .rating__star-line,
.rating__label--delay4 .rating__star-stroke {
    animation-delay: 0.2s;
}
.rating__input {
    position: absolute;
    -webkit-appearance: none;
    appearance: none;
}
.rating__input:hover ~ [data-rating]:not([hidden]) {
    display: none;
}
.rating__input-1:hover ~ [data-rating="1"][hidden],
.rating__input-2:hover ~ [data-rating="2"][hidden],
.rating__input-3:hover ~ [data-rating="3"][hidden],
.rating__input-4:hover ~ [data-rating="4"][hidden],
.rating__input-5:hover ~ [data-rating="5"][hidden],
.rating__input:checked:hover ~ [data-rating]:not([hidden]) {
    display: block;
}
.rating__input-1:hover ~ .rating__label:first-of-type .rating__star-stroke,
.rating__input-2:hover
    ~ .rating__label:nth-of-type(-n + 2)
    .rating__star-stroke,
.rating__input-3:hover
    ~ .rating__label:nth-of-type(-n + 3)
    .rating__star-stroke,
.rating__input-4:hover
    ~ .rating__label:nth-of-type(-n + 4)
    .rating__star-stroke,
.rating__input-5:hover
    ~ .rating__label:nth-of-type(-n + 5)
    .rating__star-stroke {
    stroke: var(--yellow);
    transform: scale(1);
}
.rating__input-1:checked ~ .rating__label:first-of-type .rating__star-ring,
.rating__input-2:checked
    ~ .rating__label:nth-of-type(-n + 2)
    .rating__star-ring,
.rating__input-3:checked
    ~ .rating__label:nth-of-type(-n + 3)
    .rating__star-ring,
.rating__input-4:checked
    ~ .rating__label:nth-of-type(-n + 4)
    .rating__star-ring,
.rating__input-5:checked
    ~ .rating__label:nth-of-type(-n + 5)
    .rating__star-ring {
    animation-name: starRing;
}
.rating__input-1:checked ~ .rating__label:first-of-type .rating__star-stroke,
.rating__input-2:checked
    ~ .rating__label:nth-of-type(-n + 2)
    .rating__star-stroke,
.rating__input-3:checked
    ~ .rating__label:nth-of-type(-n + 3)
    .rating__star-stroke,
.rating__input-4:checked
    ~ .rating__label:nth-of-type(-n + 4)
    .rating__star-stroke,
.rating__input-5:checked
    ~ .rating__label:nth-of-type(-n + 5)
    .rating__star-stroke {
    animation-name: starStroke;
}
.rating__input-1:checked ~ .rating__label:first-of-type .rating__star-line,
.rating__input-2:checked
    ~ .rating__label:nth-of-type(-n + 2)
    .rating__star-line,
.rating__input-3:checked
    ~ .rating__label:nth-of-type(-n + 3)
    .rating__star-line,
.rating__input-4:checked
    ~ .rating__label:nth-of-type(-n + 4)
    .rating__star-line,
.rating__input-5:checked
    ~ .rating__label:nth-of-type(-n + 5)
    .rating__star-line {
    animation-name: starLine;
}
.rating__input-1:checked ~ .rating__label:first-of-type .rating__star-fill,
.rating__input-2:checked
    ~ .rating__label:nth-of-type(-n + 2)
    .rating__star-fill,
.rating__input-3:checked
    ~ .rating__label:nth-of-type(-n + 3)
    .rating__star-fill,
.rating__input-4:checked
    ~ .rating__label:nth-of-type(-n + 4)
    .rating__star-fill,
.rating__input-5:checked
    ~ .rating__label:nth-of-type(-n + 5)
    .rating__star-fill {
    animation-name: starFill;
}
.rating__input-1:not(:checked):hover
    ~ .rating__label:first-of-type
    .rating__star-fill,
.rating__input-2:not(:checked):hover
    ~ .rating__label:nth-of-type(2)
    .rating__star-fill,
.rating__input-3:not(:checked):hover
    ~ .rating__label:nth-of-type(3)
    .rating__star-fill,
.rating__input-4:not(:checked):hover
    ~ .rating__label:nth-of-type(4)
    .rating__star-fill,
.rating__input-5:not(:checked):hover
    ~ .rating__label:nth-of-type(5)
    .rating__star-fill {
    fill: var(--yellow-t);
}
.rating__sr {
    clip: rect(1px, 1px, 1px, 1px);
    overflow: hidden;
    position: absolute;
    width: 1px;
    height: 1px;
}

@media (prefers-color-scheme: dark) {
    :root {
        --bg: #17181c;
        --fg: #e3e4e8;
    }

    .rating {
        margin: auto;
    }
    .rating__star-stroke {
        stroke: #454954;
    }
}
@keyframes starRing {
    from,
    20% {
        animation-timing-function: ease-in;
        opacity: 1;
        r: 8px;
        stroke-width: 16px;
        transform: scale(0);
    }
    35% {
        animation-timing-function: ease-out;
        opacity: 0.5;
        r: 8px;
        stroke-width: 16px;
        transform: scale(1);
    }
    50%,
    to {
        opacity: 0;
        r: 16px;
        stroke-width: 0;
        transform: scale(1);
    }
}
@keyframes starFill {
    from,
    40% {
        animation-timing-function: ease-out;
        transform: scale(0);
    }
    60% {
        animation-timing-function: ease-in-out;
        transform: scale(1.2);
    }
    80% {
        transform: scale(0.9);
    }
    to {
        transform: scale(1);
    }
}
@keyframes starStroke {
    from {
        transform: scale(1);
    }
    20%,
    to {
        transform: scale(0);
    }
}
@keyframes starLine {
    from,
    40% {
        animation-timing-function: ease-out;
        stroke-dasharray: 1 23;
        stroke-dashoffset: 1;
    }
    60%,
    to {
        stroke-dasharray: 12 13;
        stroke-dashoffset: -13;
    }
}

.fieldset-terms input[type="checkbox"],
.fieldset-privacy input[type="checkbox"] {
    margin-right: 0.5em !important;
    position: relative;
    top: 2px !important;
}

#back-to-top {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 99;
    border: none;
    outline: none;
    padding: 0.05em 0.35em 0.15em;
    background-color: #fff;
    color: #0597f2;
    cursor: pointer;
    border-radius: 50%;
    font-size: 1.25rem;
    transition: background-color 0.3s;
}
#back-to-top > svg {
    position: relative;
    top: 2px;
}

#back-to-top:hover {
    color: #fff;
    background-color: #0597f2;
}

.blog-categories-select {
    justify-content: space-between;
}

.blog-category-tabs {
    background: white;
    border-bottom: 1px solid #eee;
    padding: 0;
}

.blog-nav-tabs {
    border-bottom: none;
    justify-content: center;
}

.blog-nav-tabs .nav-link {
    border: none;
    padding: 0.5em 1.25em;
    margin: 0 0.25em;
    font-weight: 500;
    color: #1a1a1a;
    background: transparent;
    border-radius: 0;
    border-bottom: 3px solid transparent;
    transition: all 0.3s ease;
}

.blog-nav-tabs .nav-link:hover {
    cursor: pointer;
    border-color: transparent;
    color: #0597f2;
    border-bottom-color: #0597f2;
}

.blog-nav-tabs .nav-link.active {
    background: transparent;
    border-color: transparent;
    color: #0597f2;
    border-bottom-color: #0597f2;
}

.blog-content-wrapper {
    padding: 60px 0;
}

.blog-post-card {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
    margin-bottom: 30px;
    cursor: pointer;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.blog-post-card:hover {
    transform: translateY(-5px);
}

.blog-post-image {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.blog-post-content {
    padding: 25px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.blog-post-category {
    display: inline-block;
    background: #0597f2;
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 15px;
}

.blog-post-title {
    font-size: 1.4rem;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 12px;
    line-height: 1.4;
}

.blog-post-excerpt {
    color: #1a1a1a;
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 20px;
    flex-grow: 1;
}

.blog-post-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 15px;
    border-top: 1px solid #eee;
    margin-top: auto;
}

.blog-post-date {
    color: #1a1a1a;
    font-size: 0.85rem;
}
.blog-post-date > svg {
    color: #0597f2;
}

.blog-read-more {
    color: #0597f2 !important;
    font-weight: 500;
    text-decoration: none;
    font-size: 0.9rem;
}

.blog-read-more:hover {
    color: #084372 !important;
    text-decoration: none;
}

.blog-no-posts {
    text-align: center;
    padding: 80px 20px;
    color: rgb(103, 103, 105);
}

.blog-no-posts i {
    font-size: 4rem;
    margin-bottom: 20px;
    opacity: 0.5;
}

.blog-loading {
    text-align: center;
    padding: 60px;
}

.blog-loading .spinner-border {
    color: #0597f2;
}

@media (max-width: 768px) {
    .blog-page-title {
        font-size: 2rem;
    }

    .blog-nav-tabs .nav-link {
        padding: 15px 20px;
        font-size: 0.9rem;
    }

    .blog-content-wrapper {
        padding: 40px 0;
    }
}

.blog-single-category {
    display: inline-block;
    background: #0597f2;
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
}

.blog-single-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 20px;
    line-height: 1.3;
}

.blog-single-meta {
    color: rgb(103, 103, 105);
    font-size: 1rem;
    margin-bottom: 0;
}
.blog-single-meta svg {
    color: #0597f2;
}

.blog-single-content {
    padding: 60px 0;
}

.blog-single-image {
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    margin-bottom: 40px;
}

.blog-single-text {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #1a1a1a;
}

.blog-single-text h2,
.blog-single-text h3,
.blog-single-text h4 {
    margin-top: 2rem;
    margin-bottom: 1rem;
    font-weight: 600;
}

.blog-single-text p {
    margin-bottom: 1.5rem;
}

.blog-back-section {
    text-align: center;
    padding: 40px 0;
    border-top: 1px solid #eee;
    background: #f8f9fa;
}

.blog-back-btn {
    background: #0597f2;
    color: white;
    padding: 12px 30px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 500;
    transition: background-color 0.3s ease;
}

.blog-back-btn:hover {
    background: #084372;
    color: white;
    text-decoration: none;
}

@media (max-width: 768px) {
    .blog-single-title {
        font-size: 2rem;
    }

    .blog-single-content {
        padding: 40px 0;
    }
}

.countdown-container {
    max-width: 350px;
    padding: 1em;
    margin: 0 auto;
}
.countdown-item {
    margin: 0 1em;
    padding: 20px 30px;
    background: #0597f2;
    border-radius: 10px;
}
.countdown-value {
    font-size: 3.5rem;
    font-weight: bold;
    color: #fff;
    line-height: 1;
}
.countdown-label {
    font-size: 0.9rem;
    font-weight: 600;
    color: #fff;
    margin-top: 5px;
}

.current-location {
    flex-wrap: wrap;
}

.fieldset-user_description {
    display: none !important;
}

/* ==========================================================================
   Homepage Map — styling to match original map page (content-request.php)
   Add these rules to your theme's style.css, replacing the existing
   "Homepage Map" / "booking-card" / "#map .view-toggle-buttons" blocks.
   ========================================================================== */

/* ── View toggle — matches original: white pill, shadow, black text ────── */
.view-toggle-buttons {
    position: absolute;
    top: 30px;
    left: 30px;
    z-index: 1000;
    background: white;
    border-radius: 4px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    display: flex;
    overflow: hidden;
}
.view-toggle-buttons .btn {
    border-radius: 0;
    padding: 8px 16px;
    border: none;
    color: #000 !important;
    background: white;
    font-size: 14px;
    transition: all 0.3s;
}
.view-toggle-buttons .btn > i,
.view-toggle-buttons .btn > svg {
    color: #000;
}
.view-toggle-buttons .btn.active {
    color: white !important;
    background: #0597f2;
}
.view-toggle-buttons .btn.active > i,
.view-toggle-buttons .btn.active > svg {
    color: white;
}
.view-toggle-buttons .btn:hover:not(.active) {
    background: #f5f5f5;
    color: #000 !important;
}

/* ── Map wrap / canvas ─────────────────────────────────────────────────── */
.map-wrap {
    margin-top: 1em;
    position: relative;
}

.map-list-container {
    width: 100%;
    min-height: 80vh;
    display: flex;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}

#mapCanvas {
    width: 100%;
    min-height: 100%;
}

.map-list-container.map-only #mapCanvas {
    width: 100%;
}
.map-list-container.map-only .list-view-panel {
    display: none;
}
.map-list-container.split-view #mapCanvas {
    width: 50%;
}
.map-list-container.split-view .list-view-panel {
    width: 50%;
    display: block;
}

/* ── List view panel ───────────────────────────────────────────────────── */
.list-view-panel {
    background: #f8f9fa;
    overflow-y: auto;
    border-left: 1px solid #dee2e6;
    display: none;
}
.list-view-header {
    padding: 0.75em 1em;
    position: sticky;
    top: 0;
    z-index: 10;
    background: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.list-view-header h5 {
    margin: 0;
    color: #333;
    font-size: 0.95rem;
}

/* ── Driver cards in list panel — matches original .driver-card ────────── */
.driver-list {
    padding: 15px;
}

.driver-card-list {
    background: white;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 15px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: all 0.3s;
    cursor: pointer;
}
.driver-card-list:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}
.driver-card-list.is-busy {
    opacity: 0.7;
    cursor: not-allowed;
}
.driver-card-list.is-busy:hover {
    transform: none;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.driver-card-list.is-selected {
    border-left: 3px solid #0597f2;
    background: #f0f8ff;
}

.driver-card-list--header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 10px;
}
.driver-card-list--name {
    font-size: 1rem;
    font-weight: 600;
    color: #333;
    margin: 0;
}
.driver-card-list--status {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
}
.driver-card-list--status.available {
    background: #d4edda;
    color: #22c55e;
}
.driver-card-list--status.busy {
    background: #f8d7da;
    color: #721c24;
}
.driver-card-list--meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 8px 0;
    font-size: 13px;
    color: #0597f2;
}
.driver-card-list--meta > span {
    color: #1a1a1a;
}
.driver-card-list--meta > span > i {
    color: #0597f2;
}
.driver-card-list--fare {
    font-size: 13px;
    font-weight: 600;
    color: #0597f2;
    margin-top: 4px;
}

/* ── Booking card overlay — matches original card-recoverer-selection ──── */
/* 
   IMPORTANT: The new homepage uses a floating .booking-card div.
   The original used markers + InfoWindows only (no floating card).
   This styles the booking card to feel native to the original aesthetic.
*/
.booking-card {
    position: absolute;
    top: 90px;
    left: 30px;
    z-index: 10;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    padding: 1em;
    width: 300px;
    max-height: calc(100% - 80px);
    overflow-y: auto;
}

.booking-card-title {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 12px;
    color: #1a1a1a;
    display: flex;
    align-items: center;
    gap: 7px;
    text-transform: capitalize;
}
.booking-card-title i {
    color: #0597f2;
}

/* Field groups inside booking card */
.field-group {
    position: relative;
    margin-bottom: 10px;
}
.field-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
    font-weight: 700;
    color: #1a1a1a !important;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.field-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    flex-shrink: 0;
}
.dot-green {
    background: #18cc29;
}
.dot-blue {
    background: #0597f2;
}

.field-input-wrap {
    position: relative;
}
.field-input {
    width: 100% !important;
    padding: 0.6em 2em 0.6em 0.75em !important;
    color: #1a1a1a !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    background-color: #f5f5f5 !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    border-radius: 4px !important;
    font-family: "Roboto", Arial, Helvetica, sans-serif !important;
    box-sizing: border-box;
}
.field-input:focus {
    outline: none;
    border-color: #0597f2 !important;
    background: #fff !important;
}

/* Select arrow */
.field-select {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    height: auto !important;
    padding-right: 28px !important;
}

/* Locate me button */
.locate-btn {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #0597f2;
    font-size: 0.95rem;
    cursor: pointer;
    padding: 2px;
    line-height: 1;
}
.locate-btn:hover {
    color: #0472c4;
}

/* Half-width field row */
.field-row {
    display: flex;
    gap: 8px;
}
.field-group--half {
    flex: 1;
    min-width: 0;
}

/* When toggle — Now / Schedule — matches original toggle-pill feel */
.when-toggle {
    display: flex;
    gap: 6px;
}
.when-option {
    flex: 1;
    margin: 0;
    cursor: pointer;
}
.when-option input[type="radio"] {
    display: none;
}
.when-option span {
    display: block;
    text-align: center;
    padding: 6px 4px;
    border: 2px solid rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #666;
    transition:
        border-color 0.15s,
        background 0.15s,
        color 0.15s;
    white-space: nowrap;
}
.when-option input:checked + span {
    border-color: #0597f2;
    background: #e8f4fd;
    color: #0597f2;
}

/* Surcharge toggles */
.surcharge-toggles {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 10px;
}
.toggle-pill {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 0.78rem;
    cursor: pointer;
    color: #1a1a1a;
    font-weight: 700;
}
.toggle-pill input[type="checkbox"] {
    width: 14px !important;
    height: 14px !important;
    accent-color: #0597f2;
    flex-shrink: 0;
}

/* Surcharge notice */
.surcharge-notice {
    margin-top: 8px;
    padding: 6px 10px;
    background: #fff8e1;
    border-left: 3px solid #ffc107;
    border-radius: 4px;
    font-size: 0.75rem;
    color: #555;
}

/* Find Drivers button — matches original card-footer button */
.find-drivers-btn {
    width: 100%;
    padding: 0.55em 1.25em;
    background: #0597f2;
    color: #fff;
    border: #0597f2 1px solid;
    border-radius: 6px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition:
        background 0.2s,
        border-color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 6px;
    font-family: "Roboto", Arial, Helvetica, sans-serif;
}
.find-drivers-btn:hover {
    background: #084372;
    border-color: #084372;
}
.find-drivers-btn:disabled {
    background: #90caf9;
    border-color: #90caf9;
    cursor: not-allowed;
}

/* ── Map loading overlay ────────────────────────────────────────────────── */
.map-loading {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 20;
    backdrop-filter: blur(2px);
}
.map-loading-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    font-size: 1rem;
    color: #0597f2;
    font-weight: 600;
}
.map-loading-inner i {
    font-size: 1.8rem;
}

/* ── Google Maps InfoWindow — matches original gm-style overrides ───────── */
.gm-style-iw {
    padding: 0 !important;
    border-bottom-left-radius: 20px !important;
}
.gm-style-iw-d {
    padding: 0 !important;
    overflow: hidden !important;
    border-bottom-left-radius: 20px !important;
}
.gm-style .gm-style-iw-c {
    padding: 0 !important;
    border-radius: 8px !important;
    border-bottom-left-radius: 20px !important;
}
.gm-style-iw-chr > div,
.gm-style-iw-chr > button {
    display: none !important;
}
.gm-style .gm-style-iw-tc {
    filter: drop-shadow(0 4px 2px rgba(5, 151, 242, 0.4)) !important;
}
.gm-style .gm-style-iw-tc::after {
    background: #0597f2 !important;
}
.gm-style .gm-style-mtc {
    display: none !important;
}

/* InfoWindow card — matches original .card-recoverer-selection */
.card-driver-iw {
    padding: 0;
    min-width: 260px;
    max-width: 300px;
}
.card-driver-iw .iw-body {
    padding: 1em;
}
.card-driver-iw .iw-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}
.card-driver-iw .iw-name {
    font-weight: 700;
    font-size: 1.05rem;
    margin: 0;
    color: #1a1a1a;
    text-transform: capitalize;
}
/* Stars row */
.card-driver-iw .iw-stars {
    display: flex;
    gap: 2px;
}
.card-driver-iw .iw-stars i {
    color: #0597f2;
    font-size: 0.9rem;
}
/* Status + meta row — matches .status-indicators */
.card-driver-iw .iw-indicators {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 0;
    font-size: 0.8rem;
    font-weight: 500;
}
.card-driver-iw .iw-indicators > span {
    padding: 0.5em 0.25em;
}
.card-driver-iw .iw-indicators > span > i {
    color: #0597f2;
    margin-right: 3px;
}
.card-driver-iw .status-available {
    color: #22c55e;
}
.card-driver-iw .status-available > i {
    color: #22c55e !important;
}
.card-driver-iw .status-busy {
    color: #ff4444;
}
.card-driver-iw .status-busy > i {
    color: #ff4444 !important;
}

/* Select button — matches original card-footer button */
.iw-select-btn {
    width: 100%;
    padding: 0.55em 1.25em;
    font-size: 1rem;
    font-weight: 600;
    color: #fff !important;
    text-align: center;
    border-bottom-left-radius: 20px;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: #0597f2 1px solid;
    transition:
        background 0.2s,
        border-color 0.2s;
    background: #0597f2;
    cursor: pointer;
    display: block;
    font-family: "Roboto", Arial, Helvetica, sans-serif;
}
.iw-select-btn:hover {
    background: #084372;
    border-color: #084372;
}
.iw-select-btn:disabled,
.iw-select-btn.btn-unavailable {
    background: #1a1a1a !important;
    border-color: #1a1a1a !important;
    cursor: not-allowed !important;
}

/* ── Select driver strip ───────────────────────────────────────────────── */
#select-driver-strip {
    background: #f6f7fb;
}

/* ── Booking form section ──────────────────────────────────────────────── */
.journey-summary-readonly {
    background: #f6f7fb;
    border-radius: 8px;
    padding: 0.5em 0;
    margin-bottom: 16px;
}
.journey-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 5px 0;
    font-size: 0.9rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    gap: 8px;
}
.journey-summary-row:last-child {
    border-bottom: none;
}
.journey-summary-row span:first-child {
    white-space: nowrap;
}
.journey-summary-row span:last-child {
    font-weight: 600;
    text-align: right;
}

/* Middle column — matches original: left+right border */
.middle-column {
    padding: 0 1.5em;
    border-left: 1px solid rgba(0, 0, 0, 0.1);
    border-right: 1px solid rgba(0, 0, 0, 0.1);
}

/* Fare table */
.fare-total th,
.fare-total td {
    font-weight: 700;
    font-size: 1.05rem;
    border-top: 2px solid #dee2e6;
    padding-top: 8px;
}
.fare-surcharge td,
.fare-surcharge th {
    color: #e67e22;
    font-size: 0.85rem;
}

/* ── Selected driver panel (left column of booking form) ───────────────── */
/* Matches original col-lg-3 left column from content-request.php          */
#selectedDriverPanel {
    text-align: left; /* left-aligned, unlike the old right-aligned version */
}
#selectedDriverPanel .name-rating {
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0;
}
#selectedDriverPanel h4 {
    font-size: 1.1rem;
    margin-bottom: 0;
}
#selectedDriverPanel .rating-stars i {
    color: #0597f2;
    font-size: 0.95rem;
}
#selectedDriverPanel h5 {
    font-size: 1rem;
    margin-bottom: 0.5em;
}

/* Inline coloured dots used in journey summary */
.dot-green-inline {
    color: #18cc29;
    font-size: 0.65em;
    vertical-align: middle;
    margin-right: 3px;
}
.dot-blue-inline {
    color: #0597f2;
    font-size: 0.65em;
    vertical-align: middle;
    margin-right: 3px;
}

/* List view card — stars on their own row, no fare row */
.driver-card-list--stars {
    display: flex;
    gap: 2px;
    margin-bottom: 10px;
}
.driver-card-list--stars i {
    color: #ffc107;
    font-size: 13px;
}

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    /* Booking card goes full-width below map on mobile */
    .booking-card {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        border-radius: 0;
        box-shadow: none;
        max-height: none;
        margin-top: 0;
    }

    .map-list-container {
        min-height: 500px;
    }
    .map-list-container.split-view {
        flex-direction: column;
    }
    .map-list-container.split-view #mapCanvas,
    .map-list-container.split-view .list-view-panel {
        width: 100%;
    }
    .map-list-container.split-view #mapCanvas {
        height: 500px;
    }
    .list-view-panel {
        border-left: none;
    }

    .view-toggle-buttons {
        top: 10px;
        left: 10px;
    }
    .view-toggle-buttons .btn {
        padding: 6px 12px;
        font-size: 12px;
    }

    .field-row {
        flex-direction: column;
        gap: 0;
    }

    .middle-column {
        padding: 1.5em 0;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        border-left: 0;
        border-right: 0;
    }
}

@media (max-width: 575.98px) {
    .middle-column {
        padding: 1.5em 0;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        border-left: 0;
        border-right: 0;
    }
}

/* ==========================================================================
       Cookie Consent
      ========================================================================== */

.cc-window {
    opacity: 1;
    transition: opacity 1s ease;
}
.cc-window.cc-invisible {
    opacity: 0;
}
.cc-animate.cc-revoke {
    transition: transform 1s ease;
}
.cc-animate.cc-revoke.cc-top {
    transform: translateY(-2em);
}
.cc-animate.cc-revoke.cc-bottom {
    transform: translateY(2em);
}
.cc-animate.cc-revoke.cc-active.cc-bottom,
.cc-animate.cc-revoke.cc-active.cc-top,
.cc-revoke:hover {
    transform: translateY(0);
}
.cc-grower {
    max-height: 0;
    overflow: hidden;
    transition: max-height 1s;
}
.cc-link,
.cc-revoke:hover {
    text-decoration: underline;
}
.cc-revoke,
.cc-window {
    position: fixed;
    overflow: hidden;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.5em;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    z-index: 9999;
}
.cc-window.cc-static {
    position: static;
}
.cc-window.cc-floating {
    padding: 2em;
    max-width: 24em;
    -ms-flex-direction: column;
    flex-direction: column;
}
.cc-window.cc-banner {
    padding: 1em 1.8em;
    width: 100%;
    -ms-flex-direction: row;
    flex-direction: row;
}
.cc-revoke {
    padding: 0.5em;
}
.cc-header {
    font-size: 18px;
    font-weight: 700;
}
.cc-btn,
.cc-close,
.cc-link,
.cc-revoke {
    cursor: pointer;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}
.cc-link {
    opacity: 0.8;
    display: inline-block;
    padding: 0.2em;
}
.cc-link:hover {
    opacity: 1;
}
.cc-link:active,
.cc-link:visited {
    color: initial;
}
.cc-btn {
    display: block;
    padding: 0.4em 1.1em;
    font-size: 0.9em;
    font-weight: 600;
    border-width: 2px;
    border-style: solid;
    text-align: center;
    white-space: nowrap;
}
.cc-banner .cc-btn:last-child {
    min-width: 140px;
}
.cc-highlight .cc-btn:first-child {
    background-color: transparent;
    border-color: transparent;
}
.cc-highlight .cc-btn:first-child:focus,
.cc-highlight .cc-btn:first-child:hover {
    background-color: transparent;
    text-decoration: underline;
}
.cc-close {
    display: block;
    position: absolute;
    top: 0.5em;
    right: 0.5em;
    font-size: 1.6em;
    opacity: 0.9;
    line-height: 0.75;
}
.cc-close:focus,
.cc-close:hover {
    opacity: 1;
}
.cc-revoke.cc-top {
    top: 0;
    left: 3em;
    border-bottom-left-radius: 0.5em;
    border-bottom-right-radius: 0.5em;
}
.cc-revoke.cc-bottom {
    bottom: 0;
    left: 3em;
    border-top-left-radius: 0.5em;
    border-top-right-radius: 0.5em;
}
.cc-revoke.cc-left {
    left: 3em;
    right: unset;
}
.cc-revoke.cc-right {
    right: 3em;
    left: unset;
}
.cc-top {
    top: 1em;
}
.cc-left {
    left: 1em;
}
.cc-right {
    right: 1em;
}
.cc-bottom {
    bottom: 0;
}
.cc-floating > .cc-link {
    margin-bottom: 1em;
}
.cc-floating .cc-message {
    display: block;
    margin-bottom: 1em;
}
.cc-window.cc-floating .cc-compliance {
    -ms-flex: 1;
    flex: 1;
}
.cc-window.cc-banner {
    -ms-flex-align: center;
    align-items: center;
}
.cc-banner.cc-top {
    left: 0;
    right: 0;
    top: 0;
}
.cc-banner.cc-bottom {
    left: 0;
    right: 0;
    bottom: 0;
}
.cc-banner .cc-message {
    -ms-flex: 1;
    flex: 1;
    font-size: 0.9em;
}
.cc-compliance {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: justify;
    align-content: space-between;
}
.cc-compliance > .cc-btn {
    -ms-flex: 1;
    flex: 1;
}
.cc-btn + .cc-btn {
    margin-left: 0.5em;
}
.cc-message {
    color: #1a1a1a;
}
.cc-btn {
    color: #fff !important;
    -webkit-border-radius: 6px !important;
    -moz-border-radius: 6px !important;
    border-radius: 6px !important;
}
.cc-btn:hover {
    color: #fff !important;
    text-decoration: none !important;
    background-color: #084372 !important;
    border: #084372 1px solid !important;
}
.cc-btn > svg {
    display: none;
}

.cc-floating.cc-theme-classic {
    padding: 1.2em;
    border-radius: 5px;
}
.cc-floating.cc-type-info.cc-theme-classic .cc-compliance {
    text-align: center;
    display: inline;
    -ms-flex: none;
    flex: none;
}
.cc-theme-classic .cc-btn {
    border-radius: 5px;
}
.cc-theme-classic .cc-btn:last-child {
    min-width: 140px;
}
.cc-floating.cc-type-info.cc-theme-classic .cc-btn {
    display: inline-block;
}
.cc-theme-edgeless.cc-window {
    padding: 0;
}
.cc-floating.cc-theme-edgeless .cc-message {
    margin: 2em 2em 1.5em;
}
.cc-banner.cc-theme-edgeless .cc-btn {
    margin: 0;
    padding: 0.8em 1.8em;
    height: 100%;
}
.cc-banner.cc-theme-edgeless .cc-message {
    margin-left: 1em;
}
.cc-floating.cc-theme-edgeless .cc-btn + .cc-btn {
    margin-left: 0;
}

/* ==========================================================================
       Google Recapatcha V3
      ========================================================================== */

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

/* ==========================================================================
       WP Page Navi
      ========================================================================== */

.wp-pagenavi {
    width: 100%;
    height: auto;
    margin: 1rem auto;
    text-align: center;
    clear: both;
}
.wp-pagenavi a,
.wp-pagenavi span {
    font-size: 0.9rem;
    font-weight: 400;
    text-decoration: none;
    color: #5d5d5d;
    border: 0px solid #029bab;
    padding: 3px 5px;
    margin: 2px;
}
.wp-pagenavi a:hover,
.wp-pagenavi span.current {
    border-color: #4c99ab;
}
.wp-pagenavi span.current {
    color: #5d5d5d;
    font-weight: 600;
}

/* ==========================================================================
       Media Queries: iPad
      ========================================================================== */

/* iPad [landscape] */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
}

/* iPad [portrait] */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
}

/* iPad 3/4 [landscape] */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2) {
}

/* iPad 3/4 [portrait] */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 2) {
}

/* ==========================================================================
       Bootstrap Queries
      ========================================================================== */

@media (max-width: 575.98px) {
    .section {
        padding: 2.25em 1em;
    }
    nav.navbar .img-logo {
        max-width: 90px;
        position: absolute;
        top: 30px;
        z-index: 5;
    }
    #primary.navbar-nav,
    #secondary.navbar-nav {
        width: 100%;
    }
    #primary.navbar-nav > li,
    #secondary.navbar-nav > li {
        padding: 0.5em 0;
    }
    footer#details {
        padding: 3em 0.5em 0;
    }
    footer#break {
        padding: 0.5em;
    }
    footer#ext {
        padding: 0 0.5em 0.5em;
    }
    footer .branding {
        flex-wrap: wrap;
    }
    footer .branding > div {
        width: 100%;
    }
    footer .branding > div > h5 {
        line-height: 0.95;
    }
    footer h5 {
        font-size: 0.9rem;
    }
    footer .img-trustpilot {
        margin-bottom: 1em;
    }
    footer#ext .powered {
        flex-wrap: wrap;
    }
    footer#ext .powered > div {
        width: 100%;
    }
    footer#ext .powered > div > p {
        font-size: 0.8rem;
    }
    footer .navvy {
        margin-top: 1em;
    }
    footer .navvy > div:first-child {
        padding-left: 0;
    }
    footer .navvy > div:nth-child(2) {
        padding-right: 0;
    }
    footer .navvy > div:last-child {
        padding-right: 0;
    }
    footer .navvy > div {
        padding: 0 0.85em;
    }
    footer .branding > div > h5 {
        margin-top: 0.5em;
        font-size: 2.25rem;
    }
    #sitemap > li > a,
    #myaccount > li > a,
    #legal > li > a {
        font-size: 0.9rem;
    }
    #legal > li {
        padding: 0.35em 0;
        margin: 0;
    }
    #legal > li > a {
        padding: 0;
        margin: 0;
        font-size: 0.95rem;
        font-weight: normal;
        color: #fff;
    }
    .wpum_one_third,
    .wpum_two_third {
        width: 100%;
    }
    .job-row {
        flex-wrap: wrap;
    }
    .job-row > div {
        padding: 0.5em 0;
    }
    .job-row > div,
    .job-row > div > *,
    .job-row > div .btn {
        width: 100%;
    }
    .middle-column {
        padding: 1.5em 0;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        border-left: 0 solid rgba(0, 0, 0, 0.1);
        border-right: 0 solid rgba(0, 0, 0, 0.1);
    }
    .wrap {
        width: 100%;
        margin-top: 50px;
        position: relative;
        left: 0;
    }
    .wrap h1 {
        font-size: 2rem;
    }
    section#hero h1 {
        font-size: 2.5rem;
    }
    section#hero p {
        font-size: 1rem;
    }
    section#hero {
        padding: 3em 0;
    }
    .wpum-action-links {
        padding: 0 0.5em !important;
    }
    .availability-toggle {
        flex-wrap: wrap;
        justify-content: center;
    }
    .availability-toggle > div {
        margin: 0.5em;
    }
    #helpForm .btn {
        width: 100%;
        margin-top: 0.5em;
        display: block;
    }
    .status-indicators {
        flex-wrap: wrap;
    }
    .status-indicators > span {
        width: 100%;
    }
    .card-recoverer-selection {
        min-width: 100%;
    }
    .ratings-group {
        text-align: center;
    }
    .ratings-group > .form-check {
        width: 100%;
        display: block;
        text-align: center;
    }
    .rating__label {
        font-size: 1.75rem;
    }
    .rating__display {
        font-size: 2rem;
    }
    .current-location {
        text-align: center;
        justify-content: center;
    }
    .current-location > div {
        width: 100%;
    }
    .current-location > div:first-child {
        padding: 0.5em 0;
    }
}

@media (min-width: 576px) and (max-width: 767.98px) {
    .section {
        padding: 2.25em 1em;
    }
    nav.navbar .img-logo {
        max-width: 90px;
        position: absolute;
        top: 30px;
        z-index: 5;
    }
    #primary.navbar-nav,
    #secondary.navbar-nav {
        width: 100%;
    }
    #primary.navbar-nav > li,
    #secondary.navbar-nav > li {
        padding: 0.5em 0;
    }
    footer#details {
        padding: 3em 0.5em 0;
    }
    footer#break {
        padding: 0.5em;
    }
    footer#ext {
        padding: 0 0.5em 0.5em;
    }
    footer .branding {
        flex-wrap: wrap;
    }
    footer .branding > div {
        width: 100%;
    }
    footer .branding > div > h5 {
        line-height: 0.95;
    }
    footer h5 {
        font-size: 0.9rem;
    }
    footer .img-trustpilot {
        margin-bottom: 1em;
    }
    footer#ext .powered {
        flex-wrap: wrap;
    }
    footer#ext .powered > div {
        width: 100%;
    }
    footer#ext .powered > div > p {
        font-size: 0.8rem;
    }
    footer .navvy {
        margin-top: 1em;
    }
    footer .navvy > div:first-child {
        padding-left: 0;
    }
    footer .navvy > div:nth-child(2) {
        padding-right: 0;
    }
    footer .navvy > div:last-child {
        padding-right: 0;
    }
    footer .navvy > div {
        padding: 0 0.85em;
    }
    footer .branding > div > h5 {
        margin-top: 0.5em;
        font-size: 2.25rem;
    }
    #sitemap > li > a,
    #myaccount > li > a,
    #legal > li > a {
        font-size: 0.9rem;
    }
    #legal > li {
        padding: 0.35em 0;
        margin: 0;
    }
    #legal > li > a {
        padding: 0;
        margin: 0;
        font-size: 0.95rem;
        font-weight: normal;
        color: #fff;
    }
    .wpum_one_third,
    .wpum_two_third {
        width: 100%;
    }
    .job-row {
        flex-wrap: wrap;
    }
    .job-row > div {
        padding: 0.5em 0;
    }
    .job-row > div,
    .job-row > div > *,
    .job-row > div .btn {
        width: 100%;
    }
    .middle-column {
        padding: 1.5em 0;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        border-left: 0 solid rgba(0, 0, 0, 0.1);
        border-right: 0 solid rgba(0, 0, 0, 0.1);
    }
    .wrap {
        width: 100%;
        margin-top: 50px;
        position: relative;
        left: 0;
    }
    .wrap h1 {
        font-size: 2rem;
    }
    section#hero h1 {
        font-size: 2.5rem;
    }
    section#hero p {
        font-size: 1rem;
    }
    section#hero {
        padding: 3em 0;
    }
    .wpum-action-links {
        padding: 0 0.5em !important;
    }
    .availability-toggle {
        flex-wrap: wrap;
        justify-content: center;
    }
    .availability-toggle > div {
        margin: 0.5em;
    }
    #helpForm .btn {
        width: 100%;
        margin-top: 0.5em;
        display: block;
    }
    .status-indicators {
        flex-wrap: wrap;
    }
    .status-indicators > span {
        width: 100%;
    }
    .card-recoverer-selection {
        min-width: 100%;
    }
    .ratings-group {
        text-align: center;
    }
    .ratings-group > .form-check {
        width: 100%;
        display: block;
        text-align: center;
    }
    .rating__label {
        font-size: 1.75rem;
    }
    .rating__display {
        font-size: 2rem;
    }
    .card.card-form {
        margin: 0;
    }
    .card.card-form > .card-body {
        padding: 1.5em;
    }
    .current-location {
        text-align: center;
        justify-content: center;
    }
    .current-location > div {
        width: 100%;
    }
    .current-location > div:first-child {
        padding: 0.5em 0;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    nav.navbar .img-logo {
        max-width: 100px;
    }
    .wrap {
        width: 88%;
        margin-top: 0;
        left: 0;
        position: absolute;
        top: -20em;
    }
    #primary.navbar-nav,
    #secondary.navbar-nav {
        width: 100%;
    }
    #primary.navbar-nav > li,
    #secondary.navbar-nav > li {
        padding: 0.5em 0;
    }
    .wpum_one_third,
    .wpum_two_third {
        width: 100%;
    }
    .middle-column {
        padding: 1.5em 0;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        border-left: 0 solid rgba(0, 0, 0, 0.1);
        border-right: 0 solid rgba(0, 0, 0, 0.1);
    }
    footer .navvy {
        margin-top: 1em;
    }
    footer .navvy > div:first-child {
        padding-left: 0;
    }
    homepage-tab img,
    .homepage-tab-alt img,
    .homepage-tab-alt-2 img {
        width: 100%;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
}

@media (min-width: 1400px) {
}

/* ==========================================================================
       WP Admin
      ========================================================================== */

#wpadminbar
    > #wp-toolbar
    > #wp-admin-bar-top-secondary
    > #wp-admin-bar-search
    #adminbarsearch
    input.adminbar-input {
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: inherit !important;
    font-weight: normal !important;
    background-color: transparent !important;
    border: 0 solid rgba(0, 0, 0, 0.1) !important;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    border-radius: 0 !important;
    font-family: "Roboto", Arial, Helvetica, sans-serif !important;
}

/* ==========================================================================
       Print
      ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #1a1a1a !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
    a,
    a:visited {
        text-decoration: underline;
    }
    a[href]:after {
        content: " (" attr(href) ")";
    }
    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }
    thead {
        display: table-header-group;
    }
    tr,
    img {
        page-break-inside: avoid;
    }
    img {
        max-width: 100% !important;
    }
    @page {
        margin: 0.5cm;
    }
    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }
    h2,
    h3 {
        page-break-after: avoid;
    }
}
