:root {
    --color-gray-50: oklch(98.5% .002 247.839);
}

/* Le thème ne fixe jamais de background-color sur body : en dark mode navigateur/OS,
   le fond par défaut devient noir et se voit dans tout espace entre éléments (gap
   flex/grid, marges) qui n'est pas lui-même couvert par une carte blanche. Un gris très
   clair (plutôt que blanc) fait ressortir les cartes blanches des pages Tailwind. */
body {
    background-color: var(--color-gray-50);
}

.easy-autocomplete-container ul li div span {
    font-size: 12px;
    color: grey;
}

.section.bg-gray.center {
    padding: 25px 0;
}

.fill-img {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden
}

.fill-img img {
    flex-shrink: 0;
    min-width: 100%;
    height: 250px;
    padding-top: 15px;
}

.product-details .content {
    padding-top: 0 !important;
}

.center-description ul {
    list-style: initial;
    padding-left: 25px;
}

.hidden {
    display: none;
}

.search-input {
    border: 1px solid #ebebeb;
    margin-right: 15px;
    border-radius: 8px;
    margin-left: 0px;
    outline: none;
    text-decoration: none;
    height: 48px;
    line-height: 48px;
    width: 100%;
    padding: 0 20px;
    transition: all 0.4s ease;
    font-size: 15px;
    margin-bottom: 10px;
    background: white !important;
}

.hp-6 .rld-main-search {
    padding: 20px !important;
}

.width-100 {
    width: 100% !important;
}

.background {
    background-image: url("../images/bg/bg-2.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    padding-bottom: 100px;
    padding-top: 50px;
}

button.login {
    background: 0;
    border: 0;
}

button.login i {
    font-size: 28px;
}

.width-x {
    width: initial !important;
}

.p-top-150 {
    padding-top: 150px;
}

.height-x {
    height: initial !important;
}

.driving-item {
    padding-bottom: 20px;
}

.sorted-list {
    min-width: 240px;
    float: right;
}

.search-title {
    font-size: 20px !important;
}

.dashboard-bd.hd-white a.button.border, .dashboard-bd.hd-white a.button {
    background: #3e4452 !important;
}

.half-map-view .btn.btn-yellow {
    background: #3e4452 !important;
}

li.product {
    width: 100% !important;
    line-height: 24px !important;
    margin-bottom: 20px;
}

.product-price {
    margin-right: 10px;
    font-weight: bold;
}

.btn-product {
    color: #171724 !important;
    border-color: #171724 !important;
    background-color: transparent !important;
    border-radius: 0.375rem;
    border: solid;
    padding: 5px;
}

.btn-product:hover {
    color: #fff !important;
    background-color: #171724 !important;
    text-decoration: none !important;
}

.btn-rdv {
    border-radius: 0.375rem;
    float: right;
    padding: 10px;
    color: white !important;
}

.inner-pages .properties-right.list .project-single {
    height: 100%;
}

.portfolio .project-head {
    height: 100%;
}

.homes, .homes-img {
    height: 100%;
}

.inner-pages .properties-right.list .homes-img img {
    height: 70% !important;
    background-color: white;
    width: 70% !important;
    margin: auto !important;
    z-index: 0 !important;
}

.first-footer {
    position: relative;
}

.dashboard-bd .second-footer {
    margin-top: 0 !important;
}

@media screen and (max-width: 991px) {
    .google-maps-right {
        margin-top: 0px !important;
        padding-bottom: 350px;
    }
}

@media screen and (max-width: 1024px) {
    .half-map-view .project-single.ps-1 {
        margin-top: 0px !important;
    }
}

#logo img {
    width: 90px !important;
}

.loop {
    padding: 0px !important;
    font-size: 20px !important;
}

.loop .fa {
    color: white !important;
}

.schedules {
    padding-bottom: 5px;
}

li.center-product {
    list-style-type: none;
    padding: 10px 0;
    border-bottom: dotted;
    border-color: #ddd;
}

.center-reservations > ul {
    padding-left: 10px;
}

span.price {
    margin-right: 10px;
    font-weight: bold;
}

ul.head-user {
    left: -105px !important
}

ul.head-login {
    left: -110px !important;
}

.h-30p {
    height: 30px !important;
}

.ta-r {
    text-align: right !important;
}

.mt-100 {
    margin-top: 100px !important;
}

.second-footer .container p {
    text-align: center;
    width: 100%;
}

.mt-90 {
    margin-top: 90px !important;
}

.m-dash {
    margin-left: 20px !important;
    margin-right: 20px !important;
}

@media screen and (min-width: 1025px) {
    .widget-box {
        margin-left: 305px !important;
    }
}

@media screen and (min-width: 1025px) {
    .agent-contact-form-sidebar .multiple-send-message {
        float: right !important;
        width: 25% !important;
    }
}

form label.error {
    padding-top: 10px !important;
}

form {
    width: 100% !important;
}

span.search-error {
    color: #ff0000;
    font-size: 13px;
    margin-top: -5px;
    display: none;
    margin-left: 5px;
}

.item-c {
    min-height: 100px;
}

.item-d {
    min-height: 55px;
}

.btn-d {
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    text-decoration: none !important;
}

@media screen and (max-width: 575px) {
    .btn-d {
        position: relative !important;
        top: 0 !important;
        right: 0 !important;
    }
}

.homes {
    max-height: 195px;
    background-color: white;
}

.no-image {
    color: #3e4452 !important;
    font-size: 60px !important;
    margin: 100px !important;
}

.homes-img {
    display: flex !important;
    margin: auto;
    min-height: 175px;
}

.portfolio .project-head {
    background-color: white;
}

.a-error {
    color: #f50057 !important;
}

h4 {
    color: #222 !important;
}

.mr-100 {
    margin-right: 100px !important;
}

.max-width-95 {
    max-width: 95% !important;
}

.loader-car {
    height: 20vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.car__body {
    animation: shake 0s ease-in-out infinite alternate;
}

.car__line {
    transform-origin: center;
    stroke-dasharray: 22;
    animation: line 0.8s ease-in-out infinite;
    animation-fill-mode: both;
}

.car__line--top {
    animation-delay: 0s;
}

.car__line--middle {
    animation-delay: 0.2s;
}

.car__line--bottom {
    animation-delay: 0.4s;
}

@keyframes shake {
    0% {
        transform: translateY(-1%);
    }
    100% {
        transform: translateY(3%);
    }
}

@keyframes line {
    0% {
        stroke-dashoffset: 22;
    }
    25% {
        stroke-dashoffset: 22;
    }
    50% {
        stroke-dashoffset: 0;
    }
    51% {
        stroke-dashoffset: 0;
    }
    80% {
        stroke-dashoffset: -22;
    }
    100% {
        stroke-dashoffset: -22;
    }
}

.geoloc {
    position: relative;
}

.geoloc button {
    border: none;
    background: white;
    color: #555;
    position: absolute;
    top: 5px;
    right: 20px;
    font-size: 25px;
}

.geoloc button:focus {
    outline: none !important;
}

.btn-black {
    background: #3e4452 !important;
}

.btn-black:hover {
    color: #3e4452 !important;
    background: white !important;
    border: 1px solid #3e4452 !important;
}

.btn-rdv:hover {
    color: #3e4452 !important;
    background: white !important;
    border: 1px solid #3e4452 !important;
}

.easyPaginateNav {
    display: flex;
    padding-bottom: 15px;
}

a.page, a.next, a.last, a.first, a.prev {
    position: relative;
    display: block;
    padding: 0.5rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #121B22;
    background-color: #fff;
    border: 1px solid #dee2e6;
    text-decoration: none !important;
    cursor: pointer;
}

a.page:hover, a.next:hover, a.last:hover, a.first:hover, a.prev:hover {
    background: #3e4452;
    color: #fff;
}

a.page.current {
    background: #3e4452;
    border-color: #3e4452;
    z-index: 3;
    color: #fff;
}

.pagination {
    padding-bottom: 15px !important;
}

.easyPaginate {
    padding: 0 10px;
}

.cb {
    clear: both;
}

.pt-2-5 {
    padding-top: 0.6rem !important;
}

.table-responsive .pagination {
    margin-top: 15px;
}

.error {
    color: #ff0000;
}

.edit-span {
    float: right;
    text-decoration: underline;
    display: block;
    cursor: pointer;
}

.fs-15 {
    font-size: 15px !important;
}

.manager-register {
    margin-top: 100px;
}

.features h3::after {
    display: block;
    height: 3px;
    font-weight: bold;
    background-color: #3e4452;
    content: " ";
    width: 50px;
    margin-top: .5rem;
    margin-bottom: 1.5rem;
}

.pd {
    padding: 1.5rem !important;
}

.manager-img {
    width: 50% !important;
}

.manager-img img {
    width: 100% !important
}

.manager-login .btn_1.full-width {
    display: block;
    width: 100%;
    text-decoration: none;
    text-align: center;
    margin-bottom: 5px;
    border-radius: 25px !important;
    background: #3e4452;
    border: none;
    cursor: pointer;
    padding: 15px 30px;
    color: #fff;
    transition: all .3s ease-in-out;
}

.form-control.file {
    width: 100% !important;
    height: 100% !important;
}

.thanks {
    text-align: center;
}

.jq-toast-wrap {
    width: 400px !important;
    font-family: 'Lato', sans-serif !important;
}

@media screen and (max-width: 575px) {
    .jq-toast-wrap.top-right {
        right: 5px !important;
    }
}

@media screen and (max-width: 575px) {
    .jq-toast-wrap {
        width: 280px !important;
    }
}

.jq-toast-single {
    font-size: 16px !important;
}

@media screen and (max-width: 575px) {
    .jq-toast-single {
        font-size: 14px !important;
    }
}

.leaflet-div-icon, .leaflet-div-icon:after {
    background-color: transparent !important;
}

.leaflet-div-icon {
    border: none !important;
}

.leaflet-div-icon:before {
    border: none !important;
    content: none !important;
}

.leaflet-div-icon:after {
    content: none !important;
}

.leaflet-div-icon img {
    width: 35px !important;
    margin-top: 15px !important;
    margin-left: 5px !important;
}

.appointments-modal .fa.fa-times {
    padding-left: 12px !important;
}

.appointments-modal .content {
    padding: 0 15px;
    margin-bottom: 15px;
}

.appointments-modal .main {
    padding: 0 !important;
}

#profile_form_avatar img {
    max-width: 20%;
}

.reset {
    text-align: center;
    line-height: 50px;
}

.homepage-5 .parallax-searchs.home17 {
    background-image: url("../images/bg/bg-2.jpg");
    z-index: 0;
    height: 95vh;
}

.homepage-5 .rld-main-search {
    padding: 10px 20px 10px 20px;
}

ul.netsocials li {
    border-bottom: none;
}

.first-footer .netsocials a .fa-facebook {
    background: #3b5998;
    color: #fff;
}

.first-footer .netsocials a .fa-twitter {
    background: #1da1f2;
    color: #fff;
}

.first-footer .netsocials a .fa-instagram {
    background: #E1306C;
    color: #fff;
}

.slick-slide img.img-responsive {
    max-height: 200px;
}

.dashboard-bd.hd-white .left-side {
    width: 100% !important;
}

.gallery-a {
    margin-top: 50px;
    margin-bottom: 20px;
    background: white;
    border-radius: 15px;
}

.no-gallery {
    margin-top: 70px;
}

.nGY2GThumbnail {
    border-radius: 10px !important;
}

.rate {
    float: left;
    height: 46px;
    padding: 0 10px;
    clear: both;
}

.rate:not(:checked) > input {
    position: absolute;
    top: -9999px;
}

.rate:not(:checked) > label {
    float: right;
    width: 1em;
    overflow: hidden;
    white-space: nowrap;
    cursor: pointer;
    font-size: 30px;
    color: #ccc;
}

.rate:not(:checked) > label:before {
    content: '★ ';
}

.rate > input:checked ~ label {
    color: #ffc700;
}

.rate:not(:checked) > label:hover,
.rate:not(:checked) > label:hover ~ label {
    color: #deb217;
}

.rate > input:checked + label:hover,
.rate > input:checked + label:hover ~ label,
.rate > input:checked ~ label:hover,
.rate > input:checked ~ label:hover ~ label,
.rate > label:hover ~ input:checked ~ label {
    color: #c59b08;
}

.td-rate {
    padding-top: 5px;
    vertical-align: top;
    min-width: 150px;
}

.td-rate-star {
    min-width: 175px;
}

.my-rates {
    background: #FFFFFF;
    box-shadow: 0 0 20px rgba(38, 38, 38, 0.2);
    padding: 20px 20PX;
}

.h5-rates {
    font-weight: bold;
    margin: 15px 0;
}

.dash {
    padding: 20px 20px 100px 20px;
}

.btn-rate {
    margin-top: 15px;
    float: right;
}

.font-14 {
    font-size: 14px;
}

.font-12 {
    font-size: 12px;
}

.font-10 {
    font-size: 10px;
}

.p-top-15 {
    padding-top: 15px;
}

.drop-m {
    width: initial !important;
    border: 1px solid;
    height: 40px;
}

#reservation_form_instructor {
    display: flex;
    flex-direction: row;
}

#reservation_form_instructor div.form-check {
    border: 1px solid #ddd;
    padding: 10px;
    margin-right: 20px;
    border-radius: 10px;
}

#reservation_form_instructor div.form-check input {
    margin-left: 0;
}

#reservation_form_instructor div.form-check label {
    text-align: right;
    margin-left: 2em;
}

.img-label {
    width: 35px !important;
    height: 35px !important;
    margin-right: 10px;
}

.flex {
    display: flex;
}

.new-size {
    height: 150px !important;
}

.nowrap p{
    white-space: normal !important;
}

@media only screen and (min-width: 1025px) {
    .dashxl {
        display: none !important;
    }
}