/* cmsms stylesheet: 1- SDS modified: lundi 24 mars 2025 15:12:02 */
@font-face {
    font-family: 'open-sans';
    src: url('https://safedriveservices.fr//uploads/_interface/polices/OpenSans.woff2') format('woff2');
}

html, body
{
    margin: 0;
    padding: 0;
    font-family: open-sans,Arial,sans-serif;
}

h1, h2, h3
{
    color: #f3961a;
}

h4
{
    text-align: center;
}

a
{
    color: #f3961a;
    text-decoration: none;
    font-weight: bold;
}

img
{
    max-width: 100%;
    max-height: auto;
}

input[type="text"], input[type="email"], input[type="date"], input[type="tel"], input[type="password"], select
{
    width: 100%;
    max-width: 250px;
    height: 30px;
    border: 1px solid black;
}

input[type="number"]
{
    height: 30px;
    border: 1px solid black;
}

@media screen and (max-width: 765px)
{
input[type="number"]
{
    height: 80px;
    width: 125px;
    border: 1px solid black;
}

input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button
{  
    opacity: 1;
    width: 75px!important;
    height: 75px!important;
    cursor: pointer;
}
}

textarea
{
    width: 100%;
    max-width: 295px;
    min-height: 200px;
    border: 1px solid black;
}

input[type='radio']:after, input[type='checkbox']:after
{
    width: 15px;
    height: 15px;
    top: -2px;
    left: -1px;
    position: relative;
    background-color: #cccccc;
    content: '';
    display: inline-block;
    visibility: visible;
    border: 2px solid black;
}

input[type='radio']:checked:after, input[type='checkbox']:checked:after 
{
    width: 15px;
    height: 15px;
    top: -2px;
    left: -1px;
    position: relative;
    background-color: #f3961a;
    content: '';
    display: inline-block;
    visibility: visible;
    border: 2px solid black;
}

input[type='radio']:disabled:after
{

    background-color: #000000;

}

fieldset
{
    border: 1px solid rgb(0,0,0,0.3);
}

legend
{
    text-align: left;
    font-weight: bold;
}

table
{
    border-collapse: collapse;
}

label
{
    font-weight: bold;
}

hr
{
    width: 60%;
    margin: auto;
    background-color: #000000;
    border: 1px solid #000000;
}

.table-ligne:nth-child(odd)
{
    background-color: #fde3d8;
    transition: all 200ms ease-in;
}

.table-ligne:nth-child(odd):hover
{
    background-color: #8aa8bd;
    transition: all 200ms ease-out;
}

.table-ligne:nth-child(even)
{
    background-color: transparent;
    transition: all 200ms ease-in;
}

.table-ligne:nth-child(even):hover
{
    background-color: #8aa8bd;
    transition: all 200ms ease-out;
}

.label
{
    width: 30%;
    font-weight: bold;
}

.input
{
    width: 70%;
}

.bouton, .cms_submit
{
    width: 150px;
    height: 30px;
    background-color: black;
    border: 1px solid black;
    color: white;
    transition: 200ms;
}

.bouton:hover, .cms_submit:hover
{
    width: 150px;
    height: 30px;
    background-color: #f3961a;
    border: 1px solid black;
    color: white;
    transition: 200ms;
}

.bouton-nombre
{
    background-color: transparent;
    border: none;
    color: #f3961a;
    font-weight: bold;
    font-size: 150%;
}

.bouton-scan
{
    width: 300px;
    height: 60px;
    background-color: black;
    border: 1px solid black;
    color: white;
    transition: 200ms;
    font-size: 150%;
}

.bouton-scan:hover
{
    width: 300px;
    height: 60px;
    background-color: #f3961a;
    border: 1px solid black;
    color: white;
    transition: 200ms;
    font-size: 150%;
}

.warning
{
    background: #faf6d4 url(https://safedriveservices.fr/uploads/_interface/images/warning.png) 10px 50% no-repeat;
    border: 1px solid #e6c26e;
    width: auto;
    padding: 5px 5px 5px 40px;
    margin: auto;
    margin-bottom: 5px;
    font-weight: bold;
    display: inline-block;
    font-size: 90%;
}

.information {
    background: #cee6f2 url(https://safedriveservices.fr/uploads/_interface/images/info.png) 10px 50% no-repeat;
    border: 1px solid #058dc7;
    width: auto;
    padding: 5px 5px 5px 40px;
    margin: auto;
    margin-top: 5px;
    margin-bottom: 5px;
    display: inline-block;
    font-size: 90%;
}

.orange
{
    color: #f3961a;
}

.rouge
{
    color: red;
}

.center
{
    text-align: center;
}

.ligne:nth-child(odd)
{
    background-color: #fde3d8;
    transition: all 200ms ease-in;
}

.ligne:nth-child(odd):hover
{
    background-color: #8aa8bd;
    transition: all 200ms ease-out;
}

.ligne:nth-child(even)
{
    background-color: transparent;
    transition: all 200ms ease-in;
}

.ligne:nth-child(even):hover
{
    background-color: #8aa8bd;
    transition: all 200ms ease-out;
}

::-webkit-scrollbar {
  width: 5px;
  height: 3px;
}

::-webkit-scrollbar-track {
  background: #eee;
}

::-webkit-scrollbar-thumb {
  background: #f3961a;
}

::-webkit-scrollbar-thumb:hover {
  background: #f3961a;
}

#header
{
    background-color: #000000;
    text-align: center;
    color: white;
}

#header .logo
{
    width: 20%;
    display: inline-block;
    vertical-align: top;
}

#header .logo img
{
    max-height: 75px;
}

#header .titre
{
    width: 30%;
    display: inline-block;
    vertical-align: top;
    font-size: 80%;
    text-align: left;
}

#header .slogan
{
    width: 40%;
    padding-top: 1%;
    display: inline-block;
    vertical-align: top;
    text-align: left;
    font-style: italic;
}


#menu
{
    text-align: center;
    background-color: #f3961a;
    position: sticky;
    top: 0;
}

#menu a
{
    color: white;
    transition: 400ms;
}

#menu a:hover
{
    color: black;
    transition: 400ms;
}

#menu .lien
{
    width: 12%;
    display: inline-block;
    vertical-align: top;
}

#menu-responsive-show, #menu-responsive-hide
{
    display: none;
}

@media screen and (max-width: 765px)
{
#menu-responsive-show
{
    display: block;
    background-color: #f3961a;
    max-height: 50px;
    padding-left: 5px;
    position: sticky;
    top: 5px;
}

#menu-responsive-hide
{
    display: none;
    background-color: #f3961a;
    max-height: 50px;
    padding-left: 5px;
    position: sticky;
    top: 5px;
}
    
#menu
{
    width: 50%;
    text-align: left;
    display: none;
    top: 50px;
}

#menu .lien
{
    width: 95%;
    padding: 5px;
}
}

#contenu
{
    width: 80%;
    min-height: 600px;
    margin: auto;
}

.contenu
{
    width: 80%;
    min-height: 600px;
    margin: auto;
}

.contenu .block
{
    padding-top: 25px;
}

.back
{
    padding-top: 15px;
    padding-bottom: 15px;
    background-color: #f3961a;
    text-align: center;
}

#flotte .flotte
{
    text-align: center;
}

#flotte .item
{
    width: 45%;
    min-height: 220px;
    display: inline-block;
    vertical-align: top;
    text-align: center;
}

#flotte .item fieldset
{
    border-radius: 5px;
}

#flotte .item .photo
{
    margin: auto;
    max-width: 365px;
    min-height: 220px;
}

#services .services
{
    text-align: center;
}

#services .item
{
    width: 18%;
    min-height: 155px;
    margin: 1%;
    padding: 5px;
    display: inline-block;
    vertical-align: top;
    border: 1px solid rgb(0,0,0,0.1);
    border-radius: 5px;
}

#mesures, #pourquoi-nous
{
    width: 40%;
    display: inline-block;
    vertical-align: top;
    text-align: center;
    color: black;
}



.petit-block
{
    width: 100%;
    max-width: 350px;
    padding: 15px;
    margin: auto;
    border: 1px solid rgb(0,0,0,0.1);
    border-radius: 5px;
    text-align: justify;
    text-align-last: left;
    background-color: white;
}

#paiements .paiement
{
    text-align: center;
}

#paiements .item
{
    width: 10%;
    min-height: 50px;
    margin: 1%;
    padding: 5px;
    display: inline-block;
    vertical-align: top;
}

#paiements .item .logo img
{
    max-height: 50px;
}

/* Gestion des News */
#actualites .news
{
    width: 100%;
    text-align: center;
    overflow-x: auto;
    white-space: nowrap;
}

#actualites .news-items
{
    width: 24%;
    min-height: 325px;
    margin: 0.5%;
    display: inline-block;
    vertical-align: top;
    border: 1px solid rgb(0,0,0,0.1);
    text-align: justify;
    white-space: normal;
}

#actualites .news-items .titre
{
    width: 100%;
    background-color: #f3961a;
    text-align: center;
}

#actualites .news-items .titre h4
{
    margin: 0;
    text-align: center;
}

#actualites .news-items .image
{
    width: 95%;
    margin: auto;
    margin-top: 5px;
    text-align: center;
}

#actualites .news-items .image img
{
    max-width: 100%;
    height: 240px;
}

#actualites .news-items .articles
{
    height: 75px;
    padding-left: 15px;
    padding-right: 15px;
}

#actualites .news-items .more
{
    text-align: right;
    padding-right: 15px;
}

@media screen and (max-width: 780px)
{
#actualites .news-items
{
    width: 100%;

}
}

/* Détails */
#articles-details h2
{
    margin: 0;
}

#articles-details .ligne-info
{
    background-color: #f3961a;
    padding-left: 1%;
    margin-bottom: 5px;
}

#articles-details .ligne-info a
{
    color: #5c5c5c;
}

#articles-details .block .photo
{
    width: 30%;
    display: inline-block;
    vertical-align: top;
}

#articles-details .block .texte
{
    width: 65%;
    padding: 5px;
    display: inline-block;
    vertical-align: top;
    text-align: justify;
}


@media screen and (max-width: 780px)
{
#articles-details .block
{
    width: 100%;
}

#articles-details .block .image
{
    width: 100%;
    padding-left: 1%;
    padding-top: 3%;
}

#articles-details .block .image img
{
    max-height: 300px;
}

#articles-details .block .infos
{
    width: 95%;
    margin: auto;
    text-align: justify;
}

#articles-details .block .photo
{
    width: 100%;

}

#articles-details .block .texte
{
    width: 98%;

}
}
/* Détails */

/* Gestion des news */

#clients .clients
{
    text-align: center;
}

#clients .item
{
    width: 18%;
    min-height: 100px;
    margin: 1%;
    padding: 5px;
    display: inline-block;
    vertical-align: top;
}


#clients .item .logo img
{
    height: 50px;
}

#contact .contact, #contact .formulaire
{
    width: 48.5%;
    display: inline-block;
    vertical-align: top;
    text-align: left;
}

#contact .formulaire .cms_form
{
    max-width: 300px;
    margin: auto;
    text-align: left;
}

#champ-date, #champ-heure
{
    visibility: hidden;
    position: absolute;
}

.champ-site
{
    position: absolute;
    left: -9999px;
}

@media screen and (max-width: 765px)
{
    #contenu
{
    width: 95%;
}

.contenu
{
    width: 95%;
}

#presentation, #flotte p, #clients p, #contact p, #contenu p
{
    text-align: justify;
    text-align-last: left;
}

#flotte .item
{
    width: 100%;
}

#services .services
{
    text-align: center;
}

#services .item
{
    width: 100%;
    min-height: 50px;
    margin: 0%;
}

#services .item img
{
    max-height: 50px;
}

#mesures, #pourquoi-nous
{
    width: 100%;
    margin: auto;
}

.petit-block
{
    max-width: 300px;
    margin-bottom: 5px;
}


#clients .clients
{
    text-align: center;
}

#clients .item
{
    width: 30%;
    min-height: 60px;
}

#clients .item .logo img
{
    height: 50px;
}

#contact .contact, #contact .formulaire
{
    width: 100%;
}

}

/* Réservation VTC */
#reservation-vtc .form-vtc
{
    width: 48.5%;
    display: inline-block;
    vertical-align: top;
}

#reservation-vtc .tarif-vtc
{
    width: 48.5%;
    display: inline-block;
    vertical-align: top;
    text-align: center;
}

@media screen and (max-width: 765px)
{
#reservation-vtc .form-vtc
{
    width: 100%;
}

#reservation-vtc .tarif-vtc
{
    width: 100%;
}
}
/* Réservation VTC */

/* Formulaire réservation shuttle */
.reservation table
{
    width: 100%;
    max-width: 800px;
}

.reservation caption
{
    font-weight: bold;
    color: #f3961a;
}

.reservation hr
{
    margin-top: 5px;
}

.reservation .logos .salon, .reservation .logos .hotel
{
    width: 300px;
    display: inline-block;
    vertical-align: top;
}

.reservation .logos img
{
    max-width: 100%;
}

.reservation .dates-horaires .block
{
    width: 35%;
    margin: 1%;
    display: inline-block;
    vertical-align: top;
    text-align: center;
}

#affichage_1, #affichage_2, #affichage_3, #affichage_4, #affichage_5, #affichage_6, #affichage_7, #affichage_8, #affichage_9, #affichage_10
{
    display: none;
}

.reservation .dates-horaires .block:nth-child(odd) fieldset
{
    background-color: #eeeeee;
}

.reservation .dates-horaires .block .places
{
    margin-top: 5px;
}

.reservation .dates-horaires .block .places input[type="number"]
{
    max-width: 150px;
    height: 50px;
    border: 2px solid red;
}

input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button
{  
    opacity: 1;
    width: 50px;
    height: 50px;
    cursor: pointer;
}

.reservation .total
{
    max-width: 200px;
    min-height: 35px;
    position: sticky;
    top: 0;
    background-color: white;
    z-index: 3;
    text-align: center;
}

.reservation #total
{
    font-size: 150%;
    font-weight: bold;
    color: #f3961a;
}

.reservation .dates .block
{
    width: 25%;
    display: inline-block;
    vertical-align: top;
}

.reservation .boutons div
{
    width: 30%;
    min-width: 300px;
    display: inline-block;
    vertical-align: top;
}

.reservation .recapitulatif hr
{
    margin-top: 15px;
}

.reservation .recapitulatif .boutons
{
    margin-top: 15px;
}

@media screen and (max-width: 765px)
{
    
.reservation .logos .salon, .reservation .logos .hotel
{
    width: 45%;
    display: inline-block;
    vertical-align: top;
}

.reservation .logos img
{
    max-width: 100%;
}
    
    .reservation .dates-horaires .block
{
    width: 100%;
    display: inline-block;
    vertical-align: top;
    text-align: center;
    font-size: 80%;
}

.reservation .dates table {
      border: 0;
    }

    table thead {
      display: none;
    }

    table tr {
      margin-bottom: 10px;
      display: block;
      border-bottom: 2px solid #ddd;
    }

    table td {
      display: block;
      text-align: left;
      font-size: 13px;
      border-bottom: 1px dotted #ccc;
    }

    table td:last-child {
      border-bottom: 0;
    }

    table td:before {
      content: attr(data-label);
      float: left;
      text-transform: uppercase;
      font-weight: bold;
      margin-right: 20px;
    }
    
.reservation .boutons div
{
    width: 30%;
    min-width: 300px;
    margin-top: 20px;
    display: block;
    vertical-align: top;
}

}

.choix-salons
{
    width: 80%;
    margin: auto;
    text-align: center;
}

.choix-salons .block
{
    max-width: 300px;
    display: inline-block;
    vertical-align: top;
}

.choix-salons .block img
{
    max-width: 100%;
}

/* Formulaire réservation shuttle */

#footer
{
    margin-top: 1%;
    padding-top: 1%;
    color: white;
    min-height: 200px;
    background-color: #000000;
    text-align: center;
}

#footer .block
{
    width: 33%;
    display: inline-block;
    vertical-align: top;
}

/* réservation taxi */
#taxi .ajout, #taxi .recherche
{
    width: 40%;
    display: inline-block;
    vertical-align: top;
}


#taxi .liste
{
    width: 100%;
    max-height: 600px;
    display: inline-block;
    vertical-align: top;
    text-align: center;
    overflow: auto;
}

#taxi table
{
    width: 100%;
}

#taxi .td-label
{
	display: none;
}

@media screen and (max-width: 765px)
{
#taxi .ajout, #taxi .recherche
{
    width: 100%;
    display: inline-block;
    vertical-align: top;
}

#taxi .liste
{
    width: 100%;
    max-height: 600px;
    display: inline-block;
    vertical-align: top;
    text-align: center;
    overflow: auto;
}

#taxi .td-label
{
	display: inline;
	font-weight: bold;
}
}
/* réservation taxi */

#reservations table
{
    width: 100%;
}

#reservations .form
{
    width: 48.5%;
    display: inline-block;
    vertical-align: top;
}

#reservations .resume
{
    width: 39%;
    display: inline-block;
    vertical-align: top;
}

#reservations .carte 
{
    width: 60%;
    display: inline-block;
    vertical-align: top;
}

#reservations .infos
{
    width: 100%;
    display: inline-block;
    vertical-align: top;
}


#reservations .map
{
    height: 400px;
}

#reservations .boutons
{
    width: 150px;
    margin-top: 5px;
    margin-right: 5%;
    display: inline-block;
    vertical-align: top;
}

#reservations .form .input-site
{
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    height: 0;
    width: 0;
    z-index: -1;
}

#reservations .paiement
{
    width: 45%;
    display: inline-block;
    vertical-align: top;
}

@media screen and (max-width: 765px)
{

#reservations .form
{
    width: 100%;
}

#reservations .resume
{
    width: 100%;
}

#reservations .carte 
{
    width: 100%;
}

#reservations .infos
{
    width: 100%;
    display: inline-block;
    vertical-align: top;
}


#reservations .map
{
    height: 400px;
}

#reservations .boutons
{
    width: 150px;
    margin-top: 5px;
    margin-right: 5%;
    display: inline-block;
    vertical-align: top;
}

#reservations .form .input-site
{
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    height: 0;
    width: 0;
    z-index: -1;
}
}


/* Réservations des tickets navettes */
#reservation-navettes table
{
    width: 100%;
    max-width: 450px;
}

#reservation-navettes #bouton-commande
{
    display: none;
}

#reservation-navettes .form
{
    width: 40%;
    display: inline-block;
    vertical-align: top;
}

#reservation-navettes #nom, #reservation-navettes #fact_ville, #reservation-navettes #fact_pays, #reservation-navettes #code
{
    text-transform: uppercase;
}

#reservation-navettes #prenom, #reservation-navettes #fact_adresse
{
    text-transform: capitalize;
}

/* Listing */

#gestion-reservations .liste table
{
	width: 100%;

}

#gestion-reservations .td-label
{
	display: none;
}

@media screen and (max-width: 765px)
{
#gestion-reservations table {
      border: 0;
    }

    table thead {
      display: none;
    }
	
#gestion-reservations .td-label
{
	display: inline;
	font-weight: bold;
}

    table tr {
      margin-bottom: 10px;
      display: block;
      border-bottom: 2px solid #ddd;
    }

    table td {
		width: 95%;
      display: block;
      text-align: left;
      font-size: 13px;
      border-bottom: 1px dotted #ccc;
    }

    table td:last-child {
      border-bottom: 0;
    }

    table td:before {
      content: attr(data-label);
      float: left;
      text-transform: uppercase;
      font-weight: bold;
      margin-right: 20px;
    }
}


#gestion-reservations .gestion-horaires input[type="time"], #gestion-reservations .recherche input[type="time"]
{
	width: 80px;
}
/* Listing */

/* Gestion des codes */
#gestion-reservations .gestion-codes table
{
    width: 100%;
    text-align: left;
}

#gestion-reservations .gestion-codes #nom
{
    text-transform: uppercase;
}

#gestion-reservations .gestion-codes #prenom
{
    text-transform: capitalize;
}
/* Gestion des codes */

/* Réservations des tickets navettes */

/* Tomtom */
.mapboxgl-map {
    font: 12px/20px Helvetica Neue, Arial, Helvetica, sans-serif;
    overflow: hidden;
    position: relative;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.mapboxgl-canvas {
    position: absolute;
    left: 0;
    top: 0;
}
.mapboxgl-map:-webkit-full-screen {
    width: 100%;
    height: 100%;
}
.mapboxgl-canary {
    background-color: salmon;
}
.mapboxgl-canvas-container.mapboxgl-interactive,
.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass {
    cursor: -webkit-grab;
    cursor: grab;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer {
    cursor: pointer;
}
.mapboxgl-canvas-container.mapboxgl-interactive:active,
.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active {
    cursor: -webkit-grabbing;
    cursor: grabbing;
}
.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,
.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas {
    touch-action: pan-x pan-y;
}
.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,
.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas {
    touch-action: pinch-zoom;
}
.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,
.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas {
    touch-action: none;
}
.mapboxgl-ctrl-bottom-left,
.mapboxgl-ctrl-bottom-right,
.mapboxgl-ctrl-top-left,
.mapboxgl-ctrl-top-right {
    position: absolute;
    pointer-events: none;
    z-index: 2;
}
.mapboxgl-ctrl-top-left {
    top: 0;
    left: 0;
}
.mapboxgl-ctrl-top-right {
    top: 0;
    right: 0;
}
.mapboxgl-ctrl-bottom-left {
    bottom: 0;
    left: 0;
}
.mapboxgl-ctrl-bottom-right {
    right: 0;
    bottom: 0;
}
.mapboxgl-ctrl {
    clear: both;
    pointer-events: auto;
    transform: translate(0);
}
.mapboxgl-ctrl-top-left .mapboxgl-ctrl {
    margin: 10px 0 0 10px;
    float: left;
}
.mapboxgl-ctrl-top-right .mapboxgl-ctrl {
    margin: 10px 10px 0 0;
    float: right;
}
.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl {
    margin: 0 0 10px 10px;
    float: left;
}
.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl {
    margin: 0 10px 10px 0;
    float: right;
}
.mapboxgl-ctrl-group {
    border-radius: 4px;
    background: #fff;
}
.mapboxgl-ctrl-group:not(:empty) {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
}
@media (-ms-high-contrast: active) {
    .mapboxgl-ctrl-group:not(:empty) {
        box-shadow: 0 0 0 2px ButtonText;
    }
}
.mapboxgl-ctrl-group button {
    width: 29px;
    height: 29px;
    display: block;
    padding: 0;
    outline: none;
    border: 0;
    box-sizing: border-box;
    background-color: transparent;
    cursor: pointer;
}
.mapboxgl-ctrl-group button + button {
    border-top: 1px solid #ddd;
}
.mapboxgl-ctrl button .mapboxgl-ctrl-icon {
    display: block;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: 50%;
}
@media (-ms-high-contrast: active) {
    .mapboxgl-ctrl-icon {
        background-color: transparent;
    }
    .mapboxgl-ctrl-group button + button {
        border-top: 1px solid ButtonText;
    }
}
.mapboxgl-ctrl button::-moz-focus-inner {
    border: 0;
    padding: 0;
}
.mapboxgl-ctrl-attrib-button:focus,
.mapboxgl-ctrl-group button:focus {
    box-shadow: 0 0 2px 2px #0096ff;
}
.mapboxgl-ctrl button:disabled {
    cursor: not-allowed;
}
.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon {
    opacity: 0.25;
}
.mapboxgl-ctrl button:not(:disabled):hover {
    background-color: rgba(0, 0, 0, 0.05);
}
.mapboxgl-ctrl-group button:focus:focus-visible {
    box-shadow: 0 0 2px 2px #0096ff;
}
.mapboxgl-ctrl-group button:focus:not(:focus-visible) {
    box-shadow: none;
}
.mapboxgl-ctrl-group button:focus:first-child {
    border-radius: 4px 4px 0 0;
}
.mapboxgl-ctrl-group button:focus:last-child {
    border-radius: 0 0 4px 4px;
}
.mapboxgl-ctrl-group button:focus:only-child {
    border-radius: inherit;
}
.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E");
}
.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E");
}
@media (-ms-high-contrast: active) {
    .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E");
    }
    .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E");
    }
}
@media (-ms-high-contrast: black-on-white) {
    .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E");
    }
    .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E");
    }
}
.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E");
}
.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E");
}
@media (-ms-high-contrast: active) {
    .mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E");
    }
    .mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E");
    }
}
@media (-ms-high-contrast: black-on-white) {
    .mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E");
    }
    .mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E");
    }
}
.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E");
}
@media (-ms-high-contrast: active) {
    .mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E");
    }
}
@media (-ms-high-contrast: black-on-white) {
    .mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E");
    }
}
.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E");
}
.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='M14 5l1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E");
}
.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E");
}
.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E");
}
.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3C/svg%3E");
}
.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3C/svg%3E");
}
.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon {
    -webkit-animation: mapboxgl-spin 2s linear infinite;
    animation: mapboxgl-spin 2s linear infinite;
}
@media (-ms-high-contrast: active) {
    .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E");
    }
    .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='M14 5l1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E");
    }
    .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E");
    }
    .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E");
    }
    .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3C/svg%3E");
    }
    .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3C/svg%3E");
    }
}
@media (-ms-high-contrast: black-on-white) {
    .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E");
    }
    .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='M14 5l1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E");
    }
}
@-webkit-keyframes mapboxgl-spin {
    0% {
        -webkit-transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(1turn);
    }
}
@keyframes mapboxgl-spin {
    0% {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(1turn);
    }
}
a.mapboxgl-ctrl-logo {
    width: 88px;
    height: 23px;
    margin: 0 0 -4px -4px;
    display: block;
    background-repeat: no-repeat;
    cursor: pointer;
    overflow: hidden;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='88' height='23' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg opacity='.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg opacity='.9' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E");
}
a.mapboxgl-ctrl-logo.mapboxgl-compact {
    width: 23px;
}
@media (-ms-high-contrast: active) {
    a.mapboxgl-ctrl-logo {
        background-color: transparent;
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='88' height='23' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E");
    }
}
@media (-ms-high-contrast: black-on-white) {
    a.mapboxgl-ctrl-logo {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='88' height='23' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/svg%3E");
    }
}
.mapboxgl-ctrl.mapboxgl-ctrl-attrib {
    padding: 0 5px;
    background-color: hsla(0, 0%, 100%, 0.5);
    margin: 0;
}
@media screen {
    .mapboxgl-ctrl-attrib.mapboxgl-compact {
        min-height: 20px;
        padding: 2px 24px 2px 0;
        margin: 10px;
        position: relative;
        background-color: #fff;
        border-radius: 12px;
    }
    .mapboxgl-ctrl-attrib.mapboxgl-compact-show {
        padding: 2px 28px 2px 8px;
        visibility: visible;
    }
    .mapboxgl-ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact-show,
    .mapboxgl-ctrl-top-left > .mapboxgl-ctrl-attrib.mapboxgl-compact-show {
        padding: 2px 8px 2px 28px;
        border-radius: 12px;
    }
    .mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner {
        display: none;
    }
    .mapboxgl-ctrl-attrib-button {
        display: none;
        cursor: pointer;
        position: absolute;
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1012 0 6 6 0 10-12 0m5-3a1 1 0 102 0 1 1 0 10-2 0m0 3a1 1 0 112 0v3a1 1 0 11-2 0'/%3E%3C/svg%3E");
        background-color: hsla(0, 0%, 100%, 0.5);
        width: 24px;
        height: 24px;
        box-sizing: border-box;
        border-radius: 12px;
        outline: none;
        top: 0;
        right: 0;
        border: 0;
    }
    .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,
    .mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button {
        left: 0;
    }
    .mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner,
    .mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button {
        display: block;
    }
    .mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button {
        background-color: rgba(0, 0, 0, 0.05);
    }
    .mapboxgl-ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
        bottom: 0;
        right: 0;
    }
    .mapboxgl-ctrl-top-right > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
        top: 0;
        right: 0;
    }
    .mapboxgl-ctrl-top-left > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
        top: 0;
        left: 0;
    }
    .mapboxgl-ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
        bottom: 0;
        left: 0;
    }
}
@media screen and (-ms-high-contrast: active) {
    .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1012 0 6 6 0 10-12 0m5-3a1 1 0 102 0 1 1 0 10-2 0m0 3a1 1 0 112 0v3a1 1 0 11-2 0'/%3E%3C/svg%3E");
    }
}
@media screen and (-ms-high-contrast: black-on-white) {
    .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1012 0 6 6 0 10-12 0m5-3a1 1 0 102 0 1 1 0 10-2 0m0 3a1 1 0 112 0v3a1 1 0 11-2 0'/%3E%3C/svg%3E");
    }
}
.mapboxgl-ctrl-attrib a {
    color: rgba(0, 0, 0, 0.75);
    text-decoration: none;
}
.mapboxgl-ctrl-attrib a:hover {
    color: inherit;
    text-decoration: underline;
}
.mapboxgl-ctrl-attrib .mapbox-improve-map {
    font-weight: 700;
    margin-left: 2px;
}
.mapboxgl-attrib-empty {
    display: none;
}
.mapboxgl-ctrl-scale {
    background-color: hsla(0, 0%, 100%, 0.75);
    font-size: 10px;
    border: 2px solid #333;
    border-top: #333;
    padding: 0 5px;
    color: #333;
    box-sizing: border-box;
}
.mapboxgl-popup {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    will-change: transform;
    pointer-events: none;
}
.mapboxgl-popup-anchor-top,
.mapboxgl-popup-anchor-top-left,
.mapboxgl-popup-anchor-top-right {
    flex-direction: column;
}
.mapboxgl-popup-anchor-bottom,
.mapboxgl-popup-anchor-bottom-left,
.mapboxgl-popup-anchor-bottom-right {
    flex-direction: column-reverse;
}
.mapboxgl-popup-anchor-left {
    flex-direction: row;
}
.mapboxgl-popup-anchor-right {
    flex-direction: row-reverse;
}
.mapboxgl-popup-tip {
    width: 0;
    height: 0;
    border: 10px solid transparent;
    z-index: 1;
}
.mapboxgl-popup-anchor-top .mapboxgl-popup-tip {
    align-self: center;
    border-top: none;
    border-bottom-color: #fff;
}
.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip {
    align-self: flex-start;
    border-top: none;
    border-left: none;
    border-bottom-color: #fff;
}
.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip {
    align-self: flex-end;
    border-top: none;
    border-right: none;
    border-bottom-color: #fff;
}
.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {
    align-self: center;
    border-bottom: none;
    border-top-color: #fff;
}
.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip {
    align-self: flex-start;
    border-bottom: none;
    border-left: none;
    border-top-color: #fff;
}
.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip {
    align-self: flex-end;
    border-bottom: none;
    border-right: none;
    border-top-color: #fff;
}
.mapboxgl-popup-anchor-left .mapboxgl-popup-tip {
    align-self: center;
    border-left: none;
    border-right-color: #fff;
}
.mapboxgl-popup-anchor-right .mapboxgl-popup-tip {
    align-self: center;
    border-right: none;
    border-left-color: #fff;
}
.mapboxgl-popup-close-button {
    position: absolute;
    right: 0;
    top: 0;
    border: 0;
    border-radius: 0 3px 0 0;
    cursor: pointer;
    background-color: transparent;
}
.mapboxgl-popup-close-button:hover {
    background-color: rgba(0, 0, 0, 0.05);
}
.mapboxgl-popup-content {
    position: relative;
    background: #fff;
    border-radius: 3px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    padding: 10px 10px 15px;
    pointer-events: auto;
}
.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content {
    border-top-left-radius: 0;
}
.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content {
    border-top-right-radius: 0;
}
.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content {
    border-bottom-left-radius: 0;
}
.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content {
    border-bottom-right-radius: 0;
}
.mapboxgl-popup-track-pointer {
    display: none;
}
.mapboxgl-popup-track-pointer * {
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.mapboxgl-map:hover .mapboxgl-popup-track-pointer {
    display: flex;
}
.mapboxgl-map:active .mapboxgl-popup-track-pointer {
    display: none;
}
.mapboxgl-marker {
    position: absolute;
    top: 0;
    left: 0;
    will-change: transform;
}
.mapboxgl-user-location-dot,
.mapboxgl-user-location-dot:before {
    background-color: #1da1f2;
    width: 15px;
    height: 15px;
    border-radius: 50%;
}
.mapboxgl-user-location-dot:before {
    content: "";
    position: absolute;
    -webkit-animation: mapboxgl-user-location-dot-pulse 2s infinite;
    animation: mapboxgl-user-location-dot-pulse 2s infinite;
}
.mapboxgl-user-location-dot:after {
    border-radius: 50%;
    border: 2px solid #fff;
    content: "";
    height: 19px;
    left: -2px;
    position: absolute;
    top: -2px;
    width: 19px;
    box-sizing: border-box;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.35);
}
@-webkit-keyframes mapboxgl-user-location-dot-pulse {
    0% {
        -webkit-transform: scale(1);
        opacity: 1;
    }
    70% {
        -webkit-transform: scale(3);
        opacity: 0;
    }
    to {
        -webkit-transform: scale(1);
        opacity: 0;
    }
}
@keyframes mapboxgl-user-location-dot-pulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    70% {
        transform: scale(3);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 0;
    }
}
.mapboxgl-user-location-dot-stale {
    background-color: #aaa;
}
.mapboxgl-user-location-dot-stale:after {
    display: none;
}
.mapboxgl-user-location-accuracy-circle {
    background-color: rgba(29, 161, 242, 0.2);
    width: 1px;
    height: 1px;
    border-radius: 100%;
}
.mapboxgl-crosshair,
.mapboxgl-crosshair .mapboxgl-interactive,
.mapboxgl-crosshair .mapboxgl-interactive:active {
    cursor: crosshair;
}
.mapboxgl-boxzoom {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    background: #fff;
    border: 2px dotted #202020;
    opacity: 0.5;
}
@media print {
    .mapbox-improve-map {
        display: none;
    }
}
.mapboxgl-ctrl {
    transform: none;
}
.mapboxgl-ctrl.mapboxgl-ctrl-group.extended-navigation-group {
    display: flex;
    flex-direction: row-reverse;
}
.mapboxgl-ctrl.mapboxgl-ctrl-group.extended-navigation-group .navigation-button {
    display: block;
    border-top: none;
    box-shadow: none;
}
.mapboxgl-ctrl.mapboxgl-ctrl-group.extended-navigation-group .navigation-button.-hide {
    display: none;
}
.mapboxgl-ctrl.mapboxgl-ctrl-group.extended-navigation-group .navigation-button.-reset {
    background-color: #f2f2f2;
}
.mapboxgl-ctrl.mapboxgl-ctrl-group.extended-navigation-group .navigation-button svg {
    height: 20px;
    width: 20px;
    margin: auto;
}
.mapboxgl-canvas,
.mapboxgl-popup-close-button {
    outline: none;
}


.icon {
    background-size: cover;
    height: 30px;
    width: 30px;
}
.tt-pop-up-container .pop-up-content.-small {
    padding: 0 4px 2px;
}
.route-marker {
    align-items: center;
    background-color: #4a90e2;
    border: solid 3px #2faaff;
    border-radius: 50%;
    display: flex;
    height: 32px;
    justify-content: center;
    transition: width .1s, height .1s;
    width: 32px;
}

/* Tomtom */

/* Recup QR Code */
#recup_qrcode .block
{
    width: 48%;
    display: inline-block;
    vertical-align: top;
}


@media screen and (max-width: 765px)
{
#recup_qrcode .block
{
    width: 100%;
}
}
/* Recup QR Code */

/* QRCode reader */ 
#validation-qrcode
{
    margin-top: 30%;
    text-align: center;
}

#qrr-overlay {
  position: fixed;
  top: 0;
  left: 0;
  background: black;
  opacity: 0.6;
  width: 100%;
  height: 100%;
  display: none;
  z-index: 20000;
}

#qrr-container {
  font-family: sans-serif;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: white;
  padding: 10px;
  width: 90%;
  height: 90%;
  margin: auto;
  display: none;
  z-index: 20001;
  border-radius: 10px;
}

#qrr-container h1 {
  margin-top: 0;
}

#qrr-close {
  position: absolute;
  right: 0;
  top: 0;
  margin-right: 10px;
  margin-top: -5px;
  font-size: 3em;
  cursor: pointer;
  color: #808080;

}

#qrr-loading-message {
  text-align: center;
  padding: 15px;
  background-color: #eee;
  width: 90%;
  margin: 30px auto 0;
}

#qrr-canvas {
  display: block;
  height: 65%;
  max-width: 90%;
  overflow-x: scroll; 
  cursor: pointer;
  margin: 30px auto 10px;
}

#qrr-canvas.hidden {
  display: none;
}

#qrr-output {
  width: 90%;
  max-height: 15%;
  margin: 20px auto 10px;
  background: #eee;
  padding: 10px;
  overflow-y: auto;
}

#qrr-ok {
  display: none;
  position: absolute;
  right: 10px;
  bottom: 10px;
  padding: 10px 50px;
  cursor: pointer;
  font-weight: bold;
  text-decoration: none;
  background-color: green;
  color: white;
  border-radius: 10px;
}

#qrr-output-data {
  display: none;
}
/* QRCode reader */
