@tailwind base;
@tailwind components;
@tailwind utilities;

= require("admin/base.css")
= require("darkmode")
= require("axel")
= require("components/turbo_progress_bar")
= require("flatpicker_brainbustr.css")
= requite("leaflet.css")
/* app/assets/stylesheets/admin/base.css
   Contient UNIQUEMENT les styles qui ne peuvent pas être exprimés
   avec des classes Tailwind inline (animations, overrides, prose) */

/* Sidebar mobile — transition impossible en inline */
#admin-sidebar {
  transition: transform 0.2s ease;
}
@media (max-width: 1023px) {
  #admin-sidebar {
    transform: translateX(-100%);
    position: fixed;
    z-index: 40;
    height: 100vh;
  }
  #admin-sidebar.open {
    transform: translateX(0);
  }
}

/* Flash — disparition animée */
.flash-dismissing {
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

/* Tag input — le champ texte invisible dans le conteneur */
.tag-text-input {
  outline: none;
  border: none;
  background: transparent;
  min-width: 120px;
  font-size: 0.8125rem;
  color: inherit;
}
.tag-text-input::placeholder {
  color: #d1d5db;
}

/* Markdown preview — rendu du HTML généré par marked.js */
.prose-preview p    { margin-bottom: 0.75rem; }
.prose-preview p:last-child { margin-bottom: 0; }
.prose-preview strong { font-weight: 600; }
.prose-preview em     { font-style: italic; }
.prose-preview ul  { list-style: disc; padding-left: 1.25rem; margin-bottom: 0.75rem; }
.prose-preview li  { margin-bottom: 0.25rem; }

/* Dot animé "non sauvegardé" */
@keyframes pulse-dot {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.4; }
}
.dot-unsaved {
  animation: pulse-dot 1.5s ease-in-out infinite;
  background-color: #60a5fa; /* blue-400 */
}

/* Barre de progression — largeur dynamique via style= */
.progress-fill {
  height: 100%;
  border-radius: 9999px;
  background-color: #4ade80; /* green-400 */
  transition: width 0.3s ease;
}


/* filter controller */
.filter--notFound {
  display: none;
}

label[class="filter--notFound"] {
  display:none!important
}

.filter-p:checked + .l-filter-p { background-color: #0d9488; color:white}
:hover.filter-p:checked + .l-filter-p { background-color: #ccfbf1; color:gray}

.filter-stipu:checked + .l-filter-stipu { background-color: #db2777; color:white}
:hover.filter-stipu:checked + .l-filter-stipu { background-color: #fbcfe8; color:gray}

.filter-wrestlers:checked + .l-filter-wrestlers { background-color: #ea580c; color:white}
:hover.filter-wrestlers:checked + .l-filter-wrestlers { background-color: #fed7aa; color:gray}
/* ── Gimmick tags ────────────────────────────────────────── */
.gimmick-list      { @apply flex flex-wrap gap-1; }
.tag-chip-active   { @apply text-xs bg-indigo-100 text-indigo-800 border border-indigo-200 px-2 py-0.5 rounded font-semibold; }

/* ── Fight list (show event) ─────────────────────────────── */
.fight-list        { @apply flex flex-col divide-y divide-gray-50; }
.fight-row {
  @apply flex items-start gap-3 py-3;
}
.fight-row--preshow { @apply bg-gray-50/60; }

.fight-pos {
  @apply text-xs font-mono text-gray-400 w-6 shrink-0 pt-0.5 text-right;
}
.fight-info        { @apply flex-1 min-w-0; }
.fight-name        { @apply text-sm text-gray-800 leading-snug; }
.fight-stips       { @apply flex flex-wrap gap-1 mt-1.5; }
.fight-rating      { @apply text-right shrink-0 flex flex-col items-end; }
.fight-rating-num  { @apply text-sm font-semibold text-gray-900; }
.fight-rating-count{ @apply text-xs text-gray-400; }

/*
  app/assets/stylesheets/admin/editorial.css
  ou app/assets/stylesheets/components/_editorial_admin.css

  Complète Tailwind CSS v3 pour les composants spécifiques
  qui seraient trop verbeux en classes utilitaires inline.
  Le reste de la mise en page est géré via les classes Tailwind
  dans les vues ERB (voir edit.html.erb).
*/

/* ── Page layout ──────────────────────────────────────────── */
.admin-page       { @apply max-w-6xl mx-auto px-6 py-8; }
.edit-layout      { @apply grid gap-6 mt-6; grid-template-columns: 1fr 260px; }
.edit-main        { @apply flex flex-col gap-5; }
.edit-sidebar     { @apply flex flex-col gap-4; }

/* ── Header ──────────────────────────────────────────────── */
.page-header      { @apply flex items-center justify-between mb-6; }
.page-breadcrumb  { @apply flex items-center gap-2 text-sm text-gray-500; }
.breadcrumb-link  { @apply hover:text-gray-900 transition-colors; }
.breadcrumb-sep   { @apply text-gray-300; }
.breadcrumb-current { @apply text-gray-900 font-medium; }
.page-header-right { @apply flex items-center gap-3; }

/* ── Flash ───────────────────────────────────────────────── */
.flash            { @apply flex items-center gap-2 px-4 py-3 rounded-lg text-sm mb-4; }
.flash-success    { @apply bg-green-50 text-green-800 border border-green-200; }
.flash-error      { @apply bg-red-50 text-red-800 border border-red-200; }
.flash-icon       { @apply font-bold; }

/* ── Subject card ────────────────────────────────────────── */
.subject-card     { @apply flex items-center gap-4 p-4 bg-white border border-gray-100 rounded-xl; }
.subject-avatar   { @apply w-12 h-12 rounded-lg bg-gray-100 flex items-center justify-center text-base font-medium text-gray-500 shrink-0; }
.subject-name     { @apply text-base font-medium text-gray-900; }
.subject-meta     { @apply text-sm text-gray-500 mt-0.5; }

/* ── Language tabs ───────────────────────────────────────── */
.lang-tabs-bar    { @apply flex gap-1 bg-gray-50 p-1 rounded-lg border border-gray-100; }

.lang-tab {
  @apply flex items-center gap-1.5 px-3 py-1.5 rounded-md text-xs font-medium
         text-gray-500 border border-transparent transition-all cursor-pointer;
}
.lang-tab:hover   { @apply bg-white text-gray-800; }

/* État actif (onglet sélectionné) */
.lang-tab[aria-selected="true"],
.lang-tab.lang-tab--active {
  @apply bg-white text-gray-900 border-gray-200 shadow-sm;
}

/* Dots d'état */
.tab-dot { @apply w-1.5 h-1.5 rounded-full bg-gray-300 transition-colors; }
.lang-tab--published .tab-dot { @apply bg-green-500; }
.lang-tab--draft     .tab-dot { @apply bg-amber-400; }
.lang-tab--empty     .tab-dot { @apply bg-gray-300; }
.tab-dot.dot-dirty   { @apply bg-blue-400 animate-pulse; }

/* Légende */
.tabs-legend { @apply flex items-center gap-4 text-xs text-gray-400 mt-1 mb-2; }
.legend-item { @apply flex items-center gap-1; }
.dot         { @apply w-2 h-2 rounded-full; }
.dot-published { @apply bg-green-500; }
.dot-draft     { @apply bg-amber-400; }
.dot-empty     { @apply bg-gray-300; }
.dot-dirty     { @apply bg-blue-400; }

/* ── Form sections ───────────────────────────────────────── */
.form-section     { @apply flex flex-col gap-1.5; }
.field-header     { @apply flex items-center justify-between; }
.field-label      { @apply text-sm font-medium text-gray-700; }
.field-hint       { @apply text-xs text-gray-400 font-normal ml-2; }
.field-hint-block { @apply text-xs text-gray-400; }

.field-input {
  @apply w-full border border-gray-200 rounded-lg px-3 py-2 text-sm
         text-gray-900 bg-white
         focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent
         placeholder:text-gray-300 transition;
}
.field-textarea {
  @apply w-full border border-gray-200 rounded-lg px-3 py-2 text-sm
         text-gray-900 bg-white font-mono leading-relaxed
         focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent
         placeholder:text-gray-300 resize-y transition;
}

/* ── Mode switcher (Éditer / Aperçu) ─────────────────────── */
.mode-switcher  { @apply flex gap-0.5 bg-gray-100 p-0.5 rounded-md; }
.btn-mode {
  @apply px-3 py-1 text-xs rounded text-gray-500
         transition-all cursor-pointer border-0 bg-transparent;
}
.btn-mode.btn-mode-active { @apply bg-white text-gray-900 shadow-sm; }

/* ── Markdown preview ────────────────────────────────────── */
.prose-preview {
  @apply border border-gray-200 rounded-lg p-3 text-sm
         leading-relaxed text-gray-800 bg-gray-50 min-h-28;
}
.prose-preview p    { @apply mb-3 last:mb-0; }
.prose-preview em   { @apply italic; }
.prose-preview strong { @apply font-semibold; }

/* ── SEO card ────────────────────────────────────────────── */
.seo-card {
  @apply border border-gray-100 rounded-lg p-3 bg-gray-50 mt-2;
}
.seo-url          { @apply text-xs text-green-700 mb-1 truncate; }
.seo-title        { @apply text-sm text-blue-700 font-medium leading-snug mb-1; }
.seo-desc         { @apply text-xs text-gray-600 leading-relaxed; }
.seo-chars        { @apply text-xs text-gray-400 mt-1.5; }

/* ── Tag input ───────────────────────────────────────────── */
.tag-container {
  @apply flex flex-wrap items-center gap-1.5 p-2 min-h-10
         border border-gray-200 rounded-lg bg-white
         focus-within:ring-2 focus-within:ring-indigo-500 focus-within:border-transparent;
}
.tag-chip {
  @apply flex items-center gap-1 bg-gray-100 border border-gray-200
         rounded px-2 py-0.5 text-xs text-gray-700;
}
.tag-label   { @apply leading-none; }
.tag-remove  {
  @apply text-gray-400 hover:text-gray-700 font-bold text-sm
         cursor-pointer border-0 bg-transparent leading-none p-0 ml-0.5;
}
.tag-text-input {
  @apply border-0 outline-none text-sm text-gray-800 bg-transparent
         placeholder:text-gray-300 flex-1 min-w-24 py-0.5;
}

/* ── Status radios ───────────────────────────────────────── */
.status-radios    { @apply flex gap-3; }
.status-option    { @apply flex items-start gap-2 cursor-pointer flex-1; }
.status-option input[type="radio"] { @apply mt-0.5; }
.status-label     { @apply text-sm font-medium block; }
.status-draft     { @apply text-amber-700; }
.status-published { @apply text-green-700; }
.status-desc      { @apply text-xs text-gray-400 mt-0.5 block; }

/* ── Buttons ─────────────────────────────────────────────── */
.form-actions     { @apply flex items-center gap-3 pt-4 border-t border-gray-100; }
.btn-primary {
  @apply inline-flex items-center px-5 py-2.5 bg-gray-900 text-white
         text-sm font-medium rounded-lg
         hover:bg-gray-700 active:scale-[.98]
         transition-all cursor-pointer border-0;
}
.btn-ghost {
  @apply inline-flex items-center px-4 py-2 text-sm text-gray-600
         border border-gray-200 rounded-lg bg-white
         hover:bg-gray-50 transition-colors;
}
.btn-cancel       { @apply text-sm text-gray-500 hover:text-gray-800 transition-colors; }

/* ── Sidebar cards ───────────────────────────────────────── */
.sidebar-card {
  @apply bg-white border border-gray-100 rounded-xl p-4 text-sm;
}
.sidebar-card--tips { @apply bg-amber-50 border-amber-100; }
.sidebar-card-title { @apply text-xs font-semibold text-gray-400 uppercase tracking-wide mb-3; }

/* Badges */
.badge      { @apply text-xs font-medium px-2 py-0.5 rounded; }
.badge-green  { @apply bg-green-100 text-green-800; }
.badge-amber  { @apply bg-amber-100 text-amber-800; }
.badge-gray   { @apply bg-gray-100 text-gray-500; }

/* Translation list */
.trans-list { @apply flex flex-col gap-2; }
.trans-row  { @apply flex items-center justify-between; }
.trans-locale { @apply text-sm text-gray-700 font-medium; }

/* Tips */
.tips-list  { @apply flex flex-col gap-2 text-xs text-amber-800 list-none; }
.tips-list li { @apply leading-relaxed; }

/* History */
.history-line { @apply text-sm text-gray-600 leading-relaxed; }
.text-muted   { @apply text-gray-400; }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 768px) {
  .edit-layout { grid-template-columns: 1fr; }
  .edit-sidebar { order: -1; }
  .lang-tabs-bar { flex-wrap: wrap; }
}
/*
  app/assets/stylesheets/admin/layout.css

  Structure globale de l'interface d'administration Brainbustr.
  Couvre : sidebar, topbar, pages ressources, tables, filtres,
  boutons, états vides, résultats de recherche, show/edit layout.

  Complète :
    - admin/core.css           (gimmicks, fight list, helpers)
    - admin/editorial_admin.css (onglets langues, formulaire éditorial)

  Stack : Tailwind CSS v3 via @apply
*/

/* ══════════════════════════════════════════════════════════
   1. STRUCTURE GLOBALE (body → sidebar + main)
   ══════════════════════════════════════════════════════════ */

.admin-body {
  @apply flex h-screen overflow-hidden bg-gray-50 text-gray-900;
  font-family: ui-sans-serif, system-ui, -apple-system, sans-serif;
}

/* ── Sidebar ─────────────────────────────────────────────── */
.admin-sidebar {
  @apply w-60 shrink-0 flex flex-col bg-white border-r border-gray-100
         overflow-y-auto z-30;
  /* Sur mobile : drawer hors-écran, togglé via JS */
  @apply fixed inset-y-0 left-0
         -translate-x-full transition-transform duration-200 ease-in-out;
  /* Sur desktop : toujours visible */
  @apply lg:relative lg:translate-x-0;
}

/* Overlay mobile (à ajouter en JS quand sidebar ouverte) */
.admin-sidebar-overlay {
  @apply fixed inset-0 bg-black/30 z-20 lg:hidden;
}

/* Sidebar ouverte sur mobile */
.admin-sidebar.is-open {
  @apply translate-x-0;
}

/* ── Header sidebar ──────────────────────────────────────── */
.sidebar-header {
  @apply flex items-center justify-between px-4 py-4 border-b border-gray-50;
}
.sidebar-logo {
  @apply flex items-center gap-3;
}
.logo-mark {
  @apply w-8 h-8 rounded-lg bg-gray-900 text-white
         text-xs font-bold flex items-center justify-center shrink-0;
}
.logo-name {
  @apply text-sm font-semibold text-gray-900 leading-tight;
}
.logo-sub {
  @apply text-xs text-gray-400 leading-tight;
}
.sidebar-close {
  @apply text-gray-400 hover:text-gray-700 text-xs
         cursor-pointer border-0 bg-transparent lg:hidden;
}

/* ── Recherche sidebar ───────────────────────────────────── */
.sidebar-search {
  @apply relative px-3 py-3;
}
.search-input-wrap {
  @apply flex items-center gap-2 bg-gray-50 border border-gray-100
         rounded-lg px-3 py-2;
}
.search-icon {
  @apply text-gray-400 text-base leading-none shrink-0;
}
.search-input {
  @apply flex-1 bg-transparent border-0 outline-none text-sm
         text-gray-800 placeholder:text-gray-400;
}
.search-dropdown {
  @apply absolute left-3 right-3 top-full mt-1 bg-white border border-gray-100
         rounded-xl shadow-lg z-50 overflow-hidden;
}

/* ── Navigation sidebar ──────────────────────────────────── */
.sidebar-nav {
  @apply flex flex-col gap-1 px-3 py-3 flex-1;
}
.nav-group {
  @apply flex flex-col gap-0.5 mb-3;
}
.nav-group-label {
  @apply text-xs font-semibold text-gray-400 uppercase tracking-wider
         px-2 py-1 mt-1;
}

/* nav links — générés par admin_nav_link helper */
.nav-link {
  @apply flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-sm
         text-gray-600 font-medium transition-colors cursor-pointer;
}
.nav-link:hover { @apply bg-gray-50 text-gray-900; }
.nav-link.nav-link--active {
  @apply bg-gray-100 text-gray-900;
}
.nav-link-icon  { @apply text-base leading-none w-5 text-center; }
.nav-link-label { @apply flex-1; }
.nav-link-count {
  @apply text-xs text-gray-400 tabular-nums bg-gray-100 px-1.5 py-0.5 rounded;
}
.nav-link--active .nav-link-count { @apply bg-gray-200; }

/* ── Footer sidebar ──────────────────────────────────────── */
.sidebar-footer {
  @apply px-3 py-4 border-t border-gray-50;
}
.sidebar-footer-link {
  @apply text-xs text-gray-400 hover:text-gray-700 transition-colors;
}

/* ── Zone principale ─────────────────────────────────────── */
.admin-main {
  @apply flex-1 flex flex-col min-w-0 overflow-y-auto;
}

/* ── Topbar mobile ───────────────────────────────────────── */
.admin-topbar {
  @apply flex items-center justify-between px-4 py-3 bg-white
         border-b border-gray-100 sticky top-0 z-10 lg:hidden;
}
.topbar-menu-btn {
  @apply text-gray-500 hover:text-gray-900 text-lg
         cursor-pointer border-0 bg-transparent;
}
.topbar-title {
  @apply text-sm font-semibold text-gray-900;
}

/* ── Contenu ─────────────────────────────────────────────── */
.admin-content {
  @apply flex-1 p-6;
}

/* flash-close (complète .flash de editorial_admin.css) */
.flash-close {
  @apply ml-auto text-current opacity-50 hover:opacity-100
         cursor-pointer border-0 bg-transparent text-sm;
}

/* ══════════════════════════════════════════════════════════
   2. PAGES RESSOURCES (index / show / edit)
   ══════════════════════════════════════════════════════════ */

.resource-page { @apply max-w-6xl mx-auto; }

/* ── Header de page ──────────────────────────────────────── */
.resource-header {
  @apply flex items-center justify-between mb-6 flex-wrap gap-3;
}
.resource-breadcrumb {
  @apply flex items-center gap-2 text-sm text-gray-500;
}
.resource-title    { @apply text-xl font-semibold text-gray-900; }
.resource-subtitle { @apply text-sm text-gray-400 mt-0.5; }
.resource-header-actions { @apply flex items-center gap-3; }

/* ── Layout show / edit (main + sidebar) ─────────────────── */
.show-layout {
  @apply grid gap-5;
  grid-template-columns: 1fr 260px;
}
@media (max-width: 900px) {
  .show-layout { grid-template-columns: 1fr; }
  .show-sidebar { order: -1; }
}

.show-main    { @apply flex flex-col gap-4; }
.show-sidebar { @apply flex flex-col gap-4; }

/* ── Cards ───────────────────────────────────────────────── */
.show-card {
  @apply bg-white border border-gray-100 rounded-xl p-5;
}
.show-card-header {
  @apply flex items-center gap-4 mb-4;
}
.show-avatar {
  @apply w-14 h-14 rounded-xl bg-gray-100 flex items-center justify-center
         font-semibold text-gray-500 shrink-0;
}
.show-name { @apply text-lg font-semibold text-gray-900; }
.show-meta { @apply text-sm text-gray-500 mt-0.5; }

.card-section-title {
  @apply flex items-center text-xs font-semibold text-gray-400
         uppercase tracking-wider mb-4;
}

/* ── Info list (dl) ──────────────────────────────────────── */
.info-list {
  @apply grid gap-y-2;
  grid-template-columns: max-content 1fr;
}
.info-list dt {
  @apply text-xs text-gray-400 font-medium pr-4 py-0.5 leading-relaxed;
}
.info-list dd {
  @apply text-sm text-gray-800 py-0.5 leading-relaxed;
}

/* ── Statuts locale (grille 7 flags) ─────────────────────── */
.locale-status-grid {
  @apply grid grid-cols-7 gap-2;
}
.locale-status-cell {
  @apply flex flex-col items-center gap-1;
}
.locale-name {
  @apply text-xs font-mono text-gray-500 font-medium;
}

/* ── Editorial bio preview ───────────────────────────────── */
.editorial-bio-preview {
  @apply text-sm text-gray-700 leading-relaxed line-clamp-4;
}

/* ── Match mini list (événements dans show promoter) ─────── */
.match-mini-list { @apply flex flex-col divide-y divide-gray-50; }
.match-mini-row {
  @apply flex items-center justify-between gap-4 py-3;
}
.match-mini-info  { @apply flex-1 min-w-0; }
.match-mini-name  { @apply text-sm font-medium text-gray-800 truncate; }
.match-mini-event { @apply text-xs text-gray-400 mt-0.5; }

/* ── Quick links (sidebar actions) ──────────────────────── */
.quick-links { @apply flex flex-col gap-1; }
.quick-link {
  @apply text-sm text-gray-600 hover:text-gray-900 py-1.5
         flex items-center gap-2 transition-colors;
}

/* ══════════════════════════════════════════════════════════
   3. FILTRES ET BARRE DE RECHERCHE
   ══════════════════════════════════════════════════════════ */

.filter-bar {
  @apply flex flex-wrap items-center gap-3 mb-4;
}

/* Champ de recherche texte */
.search-field {
  @apply relative flex items-center flex-1 min-w-48;
}
.search-field-icon {
  @apply absolute left-3 text-gray-400 text-base leading-none pointer-events-none;
}
.search-field-input {
  @apply w-full pl-9 pr-8 py-2 bg-white border border-gray-200 rounded-lg
         text-sm text-gray-800 placeholder:text-gray-400
         focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent
         transition;
}
.search-field-clear {
  @apply absolute right-2.5 text-gray-400 hover:text-gray-700 text-xs;
}

/* Select filtre */
.filter-select {
  @apply bg-white border border-gray-200 rounded-lg px-3 py-2
         text-sm text-gray-700
         focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent
         transition cursor-pointer;
}

/* ══════════════════════════════════════════════════════════
   4. TABLEAU ADMIN
   ══════════════════════════════════════════════════════════ */

.table-wrap {
  @apply bg-white border border-gray-100 rounded-xl overflow-hidden mb-4;
}
.admin-table {
  @apply w-full text-sm border-collapse;
}
.admin-table thead {
  @apply bg-gray-50 border-b border-gray-100;
}
.admin-table th {
  @apply text-left text-xs font-semibold text-gray-400 uppercase tracking-wide
         px-4 py-3 whitespace-nowrap;
}
.admin-table tbody tr { @apply border-b border-gray-50 last:border-0; }
.admin-table td { @apply px-4 py-3 text-gray-700 align-middle; }

.table-row { @apply hover:bg-gray-50/70 transition-colors; }

/* Colonne avec avatar + texte */
.cell-with-avatar { @apply flex items-center gap-3; }
.row-avatar {
  @apply w-8 h-8 rounded-lg bg-gray-100 flex items-center justify-center
         text-xs font-semibold text-gray-500 shrink-0 uppercase;
}
.row-name { @apply text-sm font-medium text-gray-900; }
.row-meta { @apply text-xs text-gray-400 mt-0.5; }

/* Colonnes spéciales */
.th-actions { @apply text-right !important; }
.td-actions {
  @apply text-right whitespace-nowrap;
  @apply flex items-center justify-end gap-1.5;
}
.td-number  { @apply text-sm tabular-nums text-gray-600 text-center; }

/* ── Pagination ──────────────────────────────────────────── */
.pagination-wrap {
  @apply flex justify-center py-4;
}

/* ══════════════════════════════════════════════════════════
   5. BOUTONS SUPPLÉMENTAIRES
   ══════════════════════════════════════════════════════════ */

/* Petit bouton (tableaux, cards) */
.btn-xs {
  @apply inline-flex items-center px-2.5 py-1 text-xs font-medium
         rounded-md border transition-all cursor-pointer;
}
.btn-xs.btn-ghost {
  @apply border-gray-200 text-gray-600 bg-white hover:bg-gray-50;
  /* surcharge les padding de .btn-ghost */
  @apply px-2.5 py-1;
}
.btn-xs.btn-primary {
  @apply border-transparent text-white bg-gray-900 hover:bg-gray-700;
  @apply px-2.5 py-1;
}

/* ══════════════════════════════════════════════════════════
   6. ÉTAT VIDE
   ══════════════════════════════════════════════════════════ */

.empty-state {
  @apply flex flex-col items-center justify-center text-center;
}
.empty-state--page {
  @apply py-20 text-gray-400;
}
.empty-state--inline {
  @apply py-8 text-sm text-gray-400 bg-gray-50/60 rounded-lg;
}
.empty-icon  { @apply text-4xl mb-3; }
.empty-title { @apply text-base font-medium text-gray-500 mb-1; }
.empty-link  {
  @apply text-indigo-600 hover:text-indigo-800 underline
         underline-offset-2 transition-colors;
}

/* ══════════════════════════════════════════════════════════
   7. RÉSULTATS RECHERCHE GLOBALE (sidebar dropdown)
   ══════════════════════════════════════════════════════════ */

.search-result-list { @apply list-none m-0 p-0 divide-y divide-gray-50; }
.search-result-item { }
.search-result-link {
  @apply flex items-center gap-3 px-3 py-2.5
         hover:bg-gray-50 transition-colors;
}
.search-result-avatar {
  @apply w-8 h-8 rounded-lg bg-gray-100 flex items-center justify-center
         text-xs font-bold text-gray-500 shrink-0 uppercase;
}
.search-result-name {
  @apply text-sm font-medium text-gray-900 leading-tight;
}
.search-result-type {
  @apply text-xs text-gray-400 mt-0.5;
}
.search-no-result {
  @apply px-4 py-5 text-sm text-gray-400 text-center;
}
@tailwind base;
@tailwind components;
@tailwind utilities;

/*

@layer components {
  .btn-primary {
    @apply py-2 px-4 bg-blue-200;
  }
}

*/

@font-face {
  font-family: 'TiemposText-Bold';
  src: url(/assets/TiemposText-Bold-147e4d222e2f30e9ceb25d9c99a59eba3f6bd77487bc6a906eeb2564709cb0cd.woff) format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'TiemposText-BoldItalic';
  src: url(/assets/TiemposText-BoldItalic-a00ce473a340476ac243cf2d4443017c8af004c9a2677555e83677b750d6ef7b.woff) format('woff');
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'TiemposText-Regular';
  src: url(/assets/TiemposText-Regular-3009ba76408ede23ce35a0c81f95625f30701e0a08045a09f61bf780661ace98.woff) format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@layer base {
  @font-face {
    font-family: 'Roboto';
    src: url(/assets/NotoSerif-Medium-ff09956a4d2065abbd18f8209864bad13d2557f2b0e1be18c77a0a928fbf020c.ttf) format('truetype');
    font-weight: normal;
    font-style: normal;
  font-display: swap;
  }
}

.pagy {
  @apply w-full mt-4 mb-2 mx-auto flex justify-around text-sm md:text-base text-zinc-600 dark:text-zinc-400 border-t border-zinc-100 dark:border-gray-700;
  a:not(.gap) {
    @apply block border-t-2 border-zinc-100 dark:border-zinc-700 px-4 py-1 -mt-px;
    &:hover {
      @apply border-t-2 border-pink-600 dark:border-pink-600 text-zinc-900 dark:text-zinc-100 transition duration-300 ease-in-out;
    }
    &:not([href]) { /* disabled links */
      @apply text-zinc-300 dark:text-zinc-700 cursor-default;
    }
    &:not([href]):hover { /* disabled links */
      @apply border-zinc-100 dark:border-zinc-700;
    }
    &.current {
      @apply text-pink-600 border-t-2 border-pink-600;
    }
  }
  label {
    @apply inline-block whitespace-nowrap bg-zinc-200 rounded-md px-4 py-0.5;
    input {
      @apply bg-zinc-100 border-none rounded-md;
    }
  }
}

.form-control {
  @apply bg-transparent text-sm font-light w-full focus:ring-0 active:ring-0 cursor-default opacity-0 hidden;
}

.form-control input {
  @apply hidden;
}

.flatpickr-calendar {
  /*@apply bg-zinc-100 dark:bg-zinc-700 border border-zinc-200 dark:border-zinc-700 shadow-lg rounded-xl overflow-hidden	capitalize  m-auto;*/
  @apply rounded-xl overflow-hidden	capitalize rounded-xl m-auto;
}

.flatpickr-months {
  @apply bg-gray-50 dark:bg-[#1b1c22] border-b border-zinc-200 dark:border-zinc-800 font-light text-base text-zinc-800 dark:text-zinc-300;
}

.flatpickr-monthDropdown-months {
  @apply bg-gray-50 dark:bg-[#1b1c22] hover:bg-zinc-100 hover:dark:bg-gray-800 rounded-md hover:text-white pr-10 border border-zinc-300 dark:border-zinc-800 pb-2;
 }

.flatpickr-current-month select {
  @apply focus:ring-0 active:ring-0 capitalize;
}

.flatpickr-monthDropdown-month {
  @apply text-sm;
}

.flatpickr-current-month input.cur-year {
  @apply focus:ring-0;
}

.numInputWrapper {
  @apply text-zinc-700 dark:text-zinc-400 w-8;
}
.numInputWrapper:hover {
  @apply fill-zinc-700 dark:fill-zinc-400 border-b-2 border-pink-600;
}

.arrowUp, .arrowDown {
  @apply opacity-100;
}

.numInputWrapper span.arrowUp, .numInputWrapper span.arrowDown {
  @apply opacity-10;
}
.numInputWrapper span.arrowUp:hover, .numInputWrapper span.arrowDown:hover {
  @apply opacity-100;
}
.flatpickr-weekdaycontainer {
  @apply text-zinc-200;
 }
.flatpickr-weekday {
  @apply text-zinc-400 font-light text-xs;
}

.flatpickr-prev-month, .flatpickr-next-month {
  @apply fill-zinc-300 dark:fill-zinc-700 border-b border-zinc-200 dark:border-zinc-800;
}

.flatpickr-prev-month:hover, .flatpickr-next-month:hover {
  @apply fill-zinc-700 dark:fill-zinc-400 border-b-2 border-pink-600;
}

.flatpickr-day {
  @apply text-sm text-zinc-700 dark:text-zinc-400;
}

.flatpickr-day.today {
  @apply border border-pink-400/70;
}


.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
  @apply bg-pink-400/20 text-zinc-800 dark:text-zinc-200;
}

.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover {
  @apply bg-pink-400 text-white;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
  @apply text-zinc-300 dark:text-zinc-600;
}

.fp .form-control { @apply: hidden}
:hover#brainbustr-logo g g path.brbst-1 {
  fill: #18181b;
  stroke: #f5f5f4;
  stroke-width: 3px;
  transition: fill 5000ms;
  transition: stroke 5000ms;
}
:hover#brainbustr-logo g g path.brbst-2 {
  fill: #18181b;
  transition: fill 3000ms;
}

:hover.menu-trigger { stroke: white}

.npt-noborder {border:none!important}

#checkbox:checked + label svg { stroke: #9ca3af}
:hover#checkbox:checked + label svg { stroke: white}

.ax-shadow {text-shadow: 2px 1px 0px rgb(15 15 15 / 30%); }
.ax-bg { background-color:rgba(0, 0, 0, 1); }

/* haut droit bas gauche */
.clip-25 {clip-path: inset(0 74% 0 0);}
.clip-50 {clip-path: inset(0 48% 0 25%);  margin-left: -12px;}
.clip-75 {clip-path: inset(0 22% 0 50%);  margin-left: -24px;}
.clip-100{clip-path: inset(0 0 0 75%);    margin-left: -36px;}

.review-rating {height:34px; width:9px; cursor:    pointer; background-repeat: no-repeat;  ;}
.user-rate-25 {background-image: url(/assets/user_rate/vide_25-79a21f79e7a435d71c25ef3c1991e7ab4e22005c34991a3da435e5c2824e43e6.png);	}
.user-rate-50 {background-image: url(/assets/user_rate/vide_50-6817290615a18705dc8e5d1453d12948baaa017370f557176d580a6fe665d7c3.png);	}
.user-rate-75 {background-image: url(/assets/user_rate/vide_75-2a819ee7d773c930e2c7a830168f26d087cb84ea9926462b1b78db1f67e8a319.png);	}
.user-rate-100 {background-image: url(/assets/user_rate/vide_100-01dcac2f00c7334a722c42aaf3ee5fae433a29555f4dcc951367e2dfe13b8bcf.png);}

.user-rate-25-f {	background-image: url(/assets/user_rate/plein_25-74f16c53f4f9920930be4e43ba79844dd3f6cabcd38b93e81fd496a6b771224f.png);	}
.user-rate-50-f {	background-image: url(/assets/user_rate/plein_50-956f422b01ebf634557111c2ddf266fcf605509c820f74a94ffa5ba95f141bdd.png);	}
.user-rate-75-f {	background-image: url(/assets/user_rate/plein_75-2bcce6249628c70cd661ebee4e9892e5080d2bd0f0697b9e30e701157e8f8d67.png);	}
.user-rate-100-f {	background-image: url(/assets/user_rate/plein_100-f65e43af06bdb3c02ef2a3c2f4c7c0bdf8064ac268b1b15c88b77e5f50f40f9c.png);	}

.rt-0 { fill: url(#grad-0); }
.rt-1 { fill: url(#grad-1); }
.rt-2 { fill: url(#grad-2); }
.rt-3 { fill: url(#grad-3); }
.rt-4 { fill: url(#grad-4); }

.pt-9p5{padding-top: 9.5px}
.pt-9p4{padding-top: 9.4px}
.pt-9p3{padding-top: 9.3px}

/* fight to fav */
.heart-bg:after  {
  width: 100%;
  height: 100%;
  display: inline-block;
  content: '';
  -webkit-mask: url(/heart-solid.svg) no-repeat 50% 50%;
  mask: url(/heart-solid.svg) no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.heart-loved:after {  background-color: #10b981; }
:hover.heart-loved:after {   background-color: #dc2626; }
.heart-unloved:after {  background-color: #fafaf9; }
:hover.heart-unloved:after {   background-color: #fbbf24; }

/* fight to wl */
.wl-bg:after  {
  width: 100%;
  height: 100%;
  display: inline-block;
  content: '';
  -webkit-mask: url(/bookmark-solid.svg) no-repeat 50% 50%;
  mask: url(/bookmark-solid.svg) no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
}
.wl-loved:after {  background-color: #10b981; }
:hover.wl-loved:after {   background-color: #dc2626; }
.wl-loved-listpage:after {  background-color: #d1d5db }
:hover.wl-loved-listpage:after {   background-color: #dc2626; }
.wl-unloved:after {  background-color: #fafaf9; }
:hover.wl-unloved:after {   background-color: #fbbf24; }

/* rates */
.rate-strs {margin:0; padding: 0}
.rate-strs-d input { display: none}
div.rate-strs > .rate-strs-d > label > svg { transition: fill 250ms;}
div.rate-strs > .rate-strs-d > label:hover > svg,
div.rate-strs > .rate-strs-d:hover ~ .rate-strs-d > label > svg {
    fill: #fbbf24;
}

/* rates v2 */
div.rate-strs-2 > .rate-strs-2-d > label > svg { transition: fill 250ms;}
div.rate-strs-2 > .rate-strs-2-d > label:hover > svg,
div.rate-strs-2 > .rate-strs-2-d:hover ~ .rate-strs-2-d > label >  svg {
  fill: #f59e0b;
  filter: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
}

/* tooltip */
.tooltip:hover .tooltiptext {  visibility: visible; }

.tooltip {
  position: relative;
  display: inline-block;
}

/* Tooltip text */
.tooltip .tooltiptext {
  visibility: hidden;
  width: 120px;
  background-color: #18181b;
  color: #d1d5db;
  text-align: center;
  padding: 5px 0;
  border-radius: 6px;

  /* Position the tooltip */
  position: absolute;
  z-index: 1;
  top: 120%;
  left: 50%;
  margin-left: -60px;
}

.tooltip-long .tooltiptext-long {  width: 120px;}

/* show hide spoiler */
#show_spoiler,
#show_f_p,
#show_f_d,
#show_f_place,
#show_f_stipu,
#show_f_wrestlers,
#show_top-menu,
#show_worldwide {
   display: none
 }

#toggle-spoiler:checked ~ #show_spoiler,
#toggle-f-p:checked ~ #show_f_p,
#toggle-f-d:checked ~ #show_f_d,
#toggle-f-place:checked ~ #show_f_place,
#toggle-f-stipu:checked ~ #show_f_stipu,
#toggle-f-wrestlers:checked ~ #show_f_wrestlers,
#toggle-top-menu:checked ~ #show_top-menu,
#toggle-worldwide:checked ~ #show_worldwide {
   display: block;
 }

#toggle-spoiler,
#toggle-f-p,
#toggle-f-d,
#toggle-f-place,
#toggle-f-stipu,
#toggle-f-wrestlers,
#toggle-top-menu,
#toggle-worldwide {
   position: absolute;
   top: -9999px;
   left: -9999px;
}

.filter-p:checked + .l-filter-p { background-color: #0d9488; color:white}
:hover.filter-p:checked + .l-filter-p { background-color: #ccfbf1; color:gray}

.filter-stipu:checked + .l-filter-stipu { background-color: #db2777; color:white}
:hover.filter-stipu:checked + .l-filter-stipu { background-color: #fbcfe8; color:gray}

.filter-wrestlers:checked + .l-filter-wrestlers { background-color: #ea580c; color:white}
:hover.filter-wrestlers:checked + .l-filter-wrestlers { background-color: #fed7aa; color:gray}


/* form css */
 input[type=text], input[type=number], select, button{
  padding: 4px 10px;
  margin-bottom: 2px;
  display: inline-block;
  border: 1px solid #ccc;
  border:none;
  /*border-radius: 18px;
  box-sizing: border-box;*/
}
textarea{
  display: inline-block;
  border: 1px solid #ccc;
  border-radius: 18px; }

.searchbar { background-image: url(/assets/magnifying-glass-solid-ebb72d18739d6bfd760297f0bde40450f1a50116ee7339d34ec482fb1038d84c.svg); background-position: 10px 12px; background-size: 14px; background-repeat: no-repeat;padding-left:34px!important}
.searchbar2 { background-image: url(/assets/magnifying-glass-solid-ebb72d18739d6bfd760297f0bde40450f1a50116ee7339d34ec482fb1038d84c.svg); background-position: 0.5% 50%; background-size: 14px; background-repeat: no-repeat;padding-left:40px!important}

/* scollbar */
/* width */
.perso_sb::-webkit-scrollbar, .perso_sb_dark::-webkit-scrollbar {
  width: 5px;
  border-radius: 0.25rem!important
}

/* Track */
.perso_sb::-webkit-scrollbar-track {
  background: #cbd5e1;
  border-radius: 0.25rem!important;
}

.dark .perso_sb::-webkit-scrollbar-track {
  background: #1f2937;
  border-radius: 0.25rem!important;
}

/* Handle */
.perso_sb::-webkit-scrollbar-thumb {
  background: #9ca3af;
  border-radius: 0.25rem!important;
}

.dark .perso_sb::-webkit-scrollbar-thumb {
  background: #475569;
  border-radius: 0.25rem!important;
}

/* Handle on hover */
.perso_sb::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.dark.perso_sb::-webkit-scrollbar-thumb:hover {
  background: #475569;
}

.perso_sb_b::-webkit-scrollbar { height: 3px}

/* scollbar */
/* width */
.perso_sb_v::-webkit-scrollbar {
  height: 0.15rem;
  width: 5px;
  border-radius: 0.25rem!important
}

/* Track */
.perso_sb_v::-webkit-scrollbar-track {
  background: #e2e8f0;
  border-radius: 0.25rem!important;
}

/* Handle */
.perso_sb_v::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 0.25rem!important;
}

/* Handle on hover */
.perso_sb_v::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.perso_sb_b_v::-webkit-scrollbar { height: 3px}

/*
.perso_sb label {
    display: block;
}
*/

.perso_sb input[type=checkbox], .perso_sb_dark input[type=checkbox] {
    height: 12px;
    width: 12px;
    border-radius: 0.15em;
    font: inherit;
}

/* filter controller */
.filter--notFound {
  display: none;
}

label[class="filter--notFound"] {
  display:none!important
}

label input.check_boxes ~ label { color: red}


.box-rate-p1 {
  clip-path: polygon(0 0, 100% 0, 75% 100%, 0 100%);
}

.box-rate-p2 {
  clip-path: polygon(0 0, 75% 0, 71% 100%, 0 100%);
}

/* fight poster */
.box-mr-4 { margin-right: -4% }
.box-mr-5 { margin-right: -5% }
.box-ml-5 { margin-left: -5% }
.box-mr-6 { margin-right: -6% }
.box-ml-6 { margin-left: -6% }
.box-ml-7 { margin-left: -7% }
.box-mr-12 { margin-right: -12% }
.box-ml-12 { margin-left: -12% }
.box-mr-13 { margin-right: -13% }

.box-left {
  flex: 1;
  /*margin-right: -4%;*/
  clip-path: polygon(0 0, 98% 0, 90% 100%, 0 100%);
  background-position: unset;
}

.box-right {
  flex: 1;
  /*margin-left: -7%;*/
  clip-path: polygon(10% 0, 100% 0, 100% 100%, 2% 100%);
  background-position: unset;
}

.box-right-noml {
  flex: 1;
  clip-path: polygon(10% 0, 100% 0, 100% 100%, 2% 100%);
  background-position: unset;
}

.box-middle {
  flex: 1;
  /*margin-right: -3%;*/
  clip-path: polygon(10% 0, 98% 0, 90% 100%, 2% 100%);
  background-position: unset;
}

.new-gradient {
      background: linear-gradient(
        to bottom,
        transparent 30%,
        rgba(0,0,0,0.15) 60%,
        rgba(0,0,0,0.75) 100%
      );
      transition: opacity 300ms ease;
    }
.group:hover .new-gradient { opacity: 0.6; }

.vs-badge {
      font-family: 'Roboto', sans-serif;
      font-style: italic;
      font-weight: 900;
      letter-spacing: 0.05em;
      text-shadow: 0 2px 12px rgba(0,0,0,0.8);
      transition: all 300ms ease;
    }
.group:hover .vs-badge {
  text-shadow: 0 0 20px rgba(219,39,119,0.8), 0 2px 8px rgba(0,0,0,0.9);
  color: #f9a8d4;
}

.info-bar {
      background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, transparent 100%);
      transition: all 300ms ease;
    }
.group:hover .info-bar {
  background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, transparent 100%);
}

.rating-pill {
      backdrop-filter: blur(6px);
      background: rgba(0,0,0,0.55);
      border: 1px solid rgba(255,255,255,0.1);
      transition: all 300ms ease;
    }
    .group:hover .rating-pill {
      background: rgba(219,39,119,0.85);
      border-color: rgba(219,39,119,0.6);
    }
    
.stipu-pill {
  backdrop-filter: blur(6px);
  background: rgba(0,0,0,0.45);
  border: 1px solid rgba(255,255,255,0.08);
  transition: all 300ms ease;
}

.accent-line {
      height: 2px;
      background: linear-gradient(to right, transparent, #db2777, transparent);
      transform: scaleX(0);
      transition: transform 350ms ease;
    }
.group:hover .accent-line { transform: scaleX(1); }

.shimmer::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,0.04) 50%, transparent 60%);
  transform: translateX(-100%);
  transition: transform 600ms ease;
}
.group:hover .shimmer::after { transform: translateX(100%); }

.fight-meta { transition: all 300ms ease; }
    
:root {
  --angle: -8deg;
  /*-----------------tan(11°) / 2-*/
  --magic-number: 3.3998;
  --bottom-nav-height: 3.6rem;
}

.diagonal-text {
  transform: skewY(var(--angle));
}

.intro {
/*  transform: skewY(var(--angle));*/
    clip-path: polygon(0px 0px, 100% 0px, 100% 80%, 0px 100%);
}


.scrollbar-container::-webkit-scrollbar {
  height: 6px;
}
.scrollbar-container::-webkit-scrollbar-thumb {
  background: #999;
  border-radius: 3px;
}
.scrollbar-container::-webkit-scrollbar-track {
  background: transparent;
}

/* Pour Firefox */
.scrollbar-container {
  scrollbar-width: thin;
  scrollbar-color: #999 transparent;
}

/* Styles pour les éléments glisser-déposer */

.dragging {
  opacity: 0.5; /* Rend l'élément glissé semi-transparent */
  border: 2px dashed #a0aec0; /* Ajoute une bordure en pointillés */
  background-color: #edf2f7; /* Change la couleur de fond */
}

.dark .dragging {
  background-color: #2d3748; /* Dark mode */
  border-color: #4a5568;
}

.drag-over {
  box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.6); /* Ajoute une ombre bleue lumineuse sur la zone de dépôt */
  transform: scale(1.01); /* Légère animation d'échelle */
  transition: transform 0.1s ease-in-out;
}

.dark .drag-over {
  box-shadow: 0 0 0 3px rgba(99, 179, 237, 0.6);
}

/* Optionnel : Rendre le curseur plus intuitif */
[draggable="true"] {
  cursor: grab;
}

[draggable="true"]:active {
  cursor: grabbing;
}

/* Dans votre CSS */
.drag-placeholder {
  background-color: #e2e8f0; /* Couleur pour le placeholder */
  border: 1px dashed #cbd5e0; /* Bordure en pointillés */
  margin-bottom: 8px; /* Correspond au gap des éléments */
  transition: all 0.1s ease-in-out;
}

.dark .drag-placeholder {
  background-color: #2d3748;
  border-color: #4a5568;
}

/* Switch stylisé */
.toggle-checkbox:checked + .toggle-label {
  background-color: #2563eb; /* blue-600 */
}

.toggle-checkbox:checked + .toggle-label span {
  transform: translateX(24px);
}

input.highlight-if-filled[type="text"]:not(:placeholder-shown), input.highlight-if-filled[type="number"]:not(:placeholder-shown)  {
  background-color: #dcfce7; /* fond quand il y a du texte */
}
.turbo-progress-bar {
  background: linear-gradient(to right, #f472b6, #c026d3);
}


/* Skeleton pendant les rechargements internes d'un turbo-frame (pagination,
   filtres...) : Turbo pose nativement l'attribut [busy] sur le <turbo-frame>
   pendant le fetch, on s'en sert pour basculer vers le skeleton sans JS.
   Voir shared/_skeleton_loader.html.erb pour l'usage. */
turbo-frame.skeleton-on-busy { display: block; position: relative; }
turbo-frame.skeleton-on-busy .skeleton-overlay { display: none; }
turbo-frame.skeleton-on-busy[busy] .skeleton-overlay {
  display: block;
  position: absolute;
  inset: 0;
  z-index: 1;
}
turbo-frame.skeleton-on-busy[busy] > *:not(.skeleton-overlay) {
  visibility: hidden;
}

@keyframes badge-toast-in  { from { opacity:0; transform: translateX(20px) scale(.95);} to { opacity:1; transform:none; } }
@keyframes badge-toast-out { from { opacity:1; } to { opacity:0; transform: translateX(20px) scale(.95);} }
.badge-toast-enter { animation: badge-toast-in .25s ease-out; }
.badge-toast-exit  { animation: badge-toast-out .2s ease-in forwards; }
 #checkbox:checked + label .switch-ball{
      background-color: purple;
      transform: translateX(24px);
      transition: transform 0.3s linear;
    }
	
.flatpickr-calendar {
  opacity: 0;
  display: none;
  text-align: center;
  visibility: hidden;
  -webkit-animation: none;
          animation: none;
  direction: ltr;
  position: absolute;
  width: 307.875px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}
.flatpickr-calendar.open,
.flatpickr-calendar.inline {
  opacity: 1;
  max-height: 640px;
  visibility: visible;
}
.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999;
}
.flatpickr-calendar.animate.open {
  -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
          animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.flatpickr-calendar.inline {
  display: block;
  position: relative;
}
.flatpickr-calendar.static {
  position: absolute;
  top: calc(100% + 2px);
}
.flatpickr-calendar.static.open {
  z-index: 999;
  display: block;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {

}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {

}
.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {

}
.flatpickr-calendar .hasWeeks .dayContainer {

}
.flatpickr-calendar.hasTime .flatpickr-time {
  height: 40px;
}
.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto;
}
.flatpickr-calendar:before,
.flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  left: 22px;
}
.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.arrowRight:before,
.flatpickr-calendar.rightMost:after,
.flatpickr-calendar.arrowRight:after {
  left: auto;
  right: 22px;
}
.flatpickr-calendar.arrowCenter:before,
.flatpickr-calendar.arrowCenter:after {
  left: 50%;
  right: 50%;
}
.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px;
}
.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px;
}
.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
  bottom: 100%;
}
.flatpickr-calendar.arrowTop:before {

}
.flatpickr-calendar.arrowTop:after {

}
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  top: 100%;
}
.flatpickr-calendar.arrowBottom:before {

}
.flatpickr-calendar.arrowBottom:after {

}
.flatpickr-calendar:focus {
  outline: 0;
}
.flatpickr-wrapper {
  position: relative;
  display: inline-block;
}
.flatpickr-months {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-months .flatpickr-month {
  fill: #fff;
  height: 34px;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  overflow: hidden;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  height: 34px;
  padding: 10px;
  z-index: 3;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
  display: none;
}
.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
  position: relative;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
/*
      /*rtl:begin:ignore*/
/*
      */
  left: 0;
/*
      /*rtl:end:ignore*/
/*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
/*
      /*rtl:begin:ignore*/
/*
      */
  right: 0;
/*
      /*rtl:end:ignore*/
/*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {

}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {

}
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  width: 14px;
  height: 14px;
}
.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
  -webkit-transition: fill 0.1s;
  transition: fill 0.1s;
  fill: inherit;
}
.numInputWrapper {
  position: relative;
  height: auto;
}
.numInputWrapper input,
.numInputWrapper span {
  display: inline-block;
}
.numInputWrapper input {

}
.numInputWrapper input::-ms-clear {
  display: none;
}
.numInputWrapper input::-webkit-outer-spin-button,
.numInputWrapper input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}
.numInputWrapper span {
  position: absolute;
  right: -14px;
  width: 14px;
  padding: 0 4px 0 2px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.numInputWrapper span:hover {
  background: rgba(192,187,167,0.1);
}
.numInputWrapper span:active {
}
.numInputWrapper span:after {
  display: block;
  content: "";
  position: absolute;
}
.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0;
}
.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(255,255,255,0.6);
  top: 26%;
}
.numInputWrapper span.arrowDown {
  top: 50%;
}
.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(255,255,255,0.6);
  top: 40%;
}
.numInputWrapper span svg {
  width: inherit;
  height: auto;
}
.numInputWrapper span svg path {
  fill: rgba(255,255,255,0.5);
}

.flatpickr-current-month {
  line-height: inherit;
  color: inherit;
  position: absolute;
  width: 75%;
  left: 12.5%;
  padding: 0 0 0 0;
  display: inline-block;
  text-align: center;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
}
.flatpickr-current-month span.cur-month {
  font-weight: 700;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0;
}
.flatpickr-current-month span.cur-month:hover {
}
.flatpickr-current-month .numInputWrapper {
  width: 6ch;
  width: 7ch\0;
  display: inline-block;
}
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
border-bottom-color: #eee;
}
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
border-top-color: #eee;
}
.flatpickr-current-month input.cur-year {
  background: transparent;
  color: inherit;
  cursor: text;
  display: inline-block;
  font-size: inherit;
  line-height: inherit;
  border: 0;
  border-radius: 0;
  vertical-align: initial;
  width: 55px;
}
.flatpickr-current-month input.cur-year:focus {
  outline: 0;
}
.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
  background: transparent;
  pointer-events: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
  box-sizing: border-box;
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  line-height: inherit;
  outline: none;
  position: relative;
  vertical-align: initial;
  -webkit-box-sizing: border-box;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
  outline: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  outline: none;
}
.flatpickr-weekdays {
  background: transparent;
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 28px;
}
.flatpickr-weekdays .flatpickr-weekdaycontainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
span.flatpickr-weekday {
  cursor: default;
  margin: 0;
  text-align: center;
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.dayContainer,
.flatpickr-weeks {
}
.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 307.875px;
}
.flatpickr-days:focus {
  outline: 0;
}
.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 307.875px;
  min-width: 307.875px;
  max-width: 307.875px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-around;
          justify-content: space-around;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
}
.dayContainer + .dayContainer {
  -webkit-box-shadow: -1px 0 0 #20222c;
          box-shadow: -1px 0 0 #20222c;
}
.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  -webkit-flex-basis: 14.2857143%;
      -ms-flex-preferred-size: 14.2857143%;
          flex-basis: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 39px;
  margin: 0;
  display: inline-block;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
  cursor: pointer;
  outline: 0;
}
.flatpickr-day.today {
}
.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
  border-color: #f472b6;
  background: #f472b6;
  color: white;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: #f472b6;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #fff;
  border-color: #f472b6;
}

.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
  border-radius: 50px 0 0 50px;
}
.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
  border-radius: 0 50px 50px 0;
}
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  -webkit-box-shadow: -10px 0 0 rgba(244, 114, 182, 0.1);
          box-shadow: -10px 0 0 rgba(244, 114, 182, 0.1);
}
.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
  border-radius: 50px;
}
.flatpickr-day.inRange {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 rgba(244, 114, 182, 0.1), 5px 0 0 rgba(244, 114, 182, 0.1);
          box-shadow: -5px 0 0 rgba(244, 114, 182, 0.1), 5px 0 0 rgba(244, 114, 182, 0.1);
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
  background: transparent;
  border-color: transparent;
  cursor: default;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  cursor: not-allowed;
  color: rgba(255,255,255,0.1);
}
.flatpickr-day.week.selected {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 rgba(244, 114, 182, 0.1), 5px 0 0 rgba(244, 114, 182, 0.1);
          box-shadow: -5px 0 0 rgba(244, 114, 182, 0.1), 5px 0 0 rgba(244, 114, 182, 0.1);
}
.flatpickr-day.hidden {
  visibility: hidden;
}
.rangeMode .flatpickr-day {
  margin-top: 1px;
}
.flatpickr-weekwrapper {
  float: left;
}
.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px;
  -webkit-box-shadow: 1px 0 0 #20222c;
          box-shadow: 1px 0 0 #20222c;
}
.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%;
  line-height: 28px;
}
.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
  display: block;
  width: 100%;
  max-width: none;
  color: rgba(255,255,255,0.3);
  background: transparent;
  cursor: default;
  border: none;
}
.flatpickr-innerContainer {
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
}
.flatpickr-rContainer {
  display: inline-block;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.flatpickr-time {
  text-align: center;
  outline: 0;
  display: block;
  height: 0;
  line-height: 40px;
  max-height: 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-time:after {
  content: "";
  display: table;
  clear: both;
}
.flatpickr-time .numInputWrapper {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 40%;
  height: 40px;
  float: left;
}
.flatpickr-time .numInputWrapper span.arrowUp:after {
border-top-color: #fff;
}
.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #fff;
}
.flatpickr-time.hasSeconds .numInputWrapper {
  width: 26%;
}
.flatpickr-time.time24hr .numInputWrapper {
  width: 49%;
}
.flatpickr-time input {
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 0;
  border-radius: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  height: inherit;
  line-height: inherit;
  color: rgba(255,255,255,0.95);

  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}
.flatpickr-time input.flatpickr-hour {
  font-weight: bold;
}
.flatpickr-time input.flatpickr-minute,
.flatpickr-time input.flatpickr-second {
  font-weight: 400;
}
.flatpickr-time input:focus {
  outline: 0;
  border: 0;
}
.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
  height: inherit;
  float: left;
  line-height: inherit;
  color: rgba(255,255,255,0.95);
  font-weight: bold;
  width: 2%;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}
.flatpickr-time .flatpickr-am-pm {
  outline: 0;
  width: 18%;
  cursor: pointer;
  text-align: center;
  font-weight: 400;
}
.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
  background: #6a7395;
}
.flatpickr-input[readonly] {
  cursor: pointer;
}
@-webkit-keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

.formControl { display: none!important;}
/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(/layers.png);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(/layers-2x.png);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url("https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon.png");
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */

= require("darkmode")
= require("axel")
= require("components/turbo_progress_bar")
= require("flatpicker_brainbustr.css")
= requite("leaflet.css")
