/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* Display logic for empty state placeholders */
.empty-state--only-child {
    display: none;
}
.empty-state--only-child:only-child {
    display: revert;
}

.spinner-grow-slow {
  animation-duration: 3s !important;
}

/* Animated ellipses on loading text */
.loading:after {
  display: inline-block;
  animation: dotty steps(1,end) 3s infinite;
  content: '';
}
@keyframes dotty {
  0%   { content: '\2008\2008\2008'; }
  25%  { content: '.\2008\2008'; }
  50%  { content: '..\2008'; }
  75%  { content: '...'; }
  100% { content: '\2008\2008\2008'; }
}

.icon-link-fix {
  height: 1.43em !important;
}

.flash__message {
  animation: appear-then-fade 8s both;
}

@keyframes appear-then-fade {
  0%, 100% {
    opacity:0
  }
  5%, 60% {
    opacity:1
  }
}

/* Fix for button state getting stuck as depressed on mobile when using browser back button */
body.hotwire-native .btn:focus, body.hotwire-native .btn:hover {
  background-image: linear-gradient(#44494d,#3a3f44 20%,#2e3236) !important;
  text-shadow: 1px 1px 1px rgba(0,0,0,.3) !important;
  border-color: rgba(0,0,0,.6) !important;
}

body.hotwire-native .hotwire-native-hidden {
  display: none;
}

body.hotwire-native .hotwire-native-only {
  display: block;
}

body:not(.hotwire-native) .hotwire-native-only {
  display: none
}
