[x-cloak] { display: none !important; }

.turbo-progress-bar,
.turbolinks-progress-bar {
    background-color: #FF0000;
    height: 4px;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
}

img {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  user-drag: none;
  -webkit-touch-callout: none;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

.jump-shaking {
  animation: jump-shaking 0.73s;
}

.vertical-shaking {
  animation: vertical-shaking 0.35s;
}

.horizontal-shaking {
  animation: horizontal-shaking 0.35s;
}

@keyframes jump-shaking {
  0% { transform: translateX(0) }
  25% { transform: translateY(-9px) }
  35% { transform: translateY(-9px) rotate(17deg) }
  55% { transform: translateY(-9px) rotate(-17deg) }
  65% { transform: translateY(-9px) rotate(17deg) }
  75% { transform: translateY(-9px) rotate(-17deg) }
  100% { transform: translateY(0) rotate(0) }
}

@keyframes vertical-shaking {
  0% { transform: translateY(0) }
  25% { transform: translateY(5px) }
  50% { transform: translateY(-5px) }
  75% { transform: translateY(5px) }
  100% { transform: translateY(0) }
}

@keyframes horizontal-shaking {
 0% { transform: translateX(0) }
 25% { transform: translateX(5px) }
 50% { transform: translateX(-5px) }
 75% { transform: translateX(5px) }
 100% { transform: translateX(0) }
}


input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
textarea {
  font-size: 16px; /* Prevents iOS zoom */
}
