/* This file is for your main application CSS */
@import "tailwindcss/base";
@import "tailwindcss/components";
@import "tailwindcss/utilities";

::selection {
  background: #4338ca;
  color: #fff;
}

@layer base {
  :root {
    --radius: 0.5rem;
  }
  * {
    @apply border-gray-800;
  }
  body {
    @apply bg-gray-950 text-white;
  }
}

.font-display {
  font-family: "Space Grotesk", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.scrollbar-thin::-webkit-scrollbar {
  width: 0.25em;
  height: 0.25em;
}

/* animations */
.fade-in-scale {
  animation: 0.2s ease-in 0s normal forwards 1 fade-in-scale-keys;
}

.fade-out-scale {
  animation: 0.2s ease-out 0s normal forwards 1 fade-out-scale-keys;
}

.fade-in {
  animation: 0.2s ease-out 0s normal forwards 1 fade-in-keys;
}
.fade-out {
  animation: 0.2s ease-out 0s normal forwards 1 fade-out-keys;
}

@keyframes fade-in-scale-keys {
  0% {
    scale: 0.95;
    opacity: 0;
  }
  100% {
    scale: 1;
    opacity: 1;
  }
}

@keyframes fade-out-scale-keys {
  0% {
    scale: 1;
    opacity: 1;
  }
  100% {
    scale: 0.95;
    opacity: 0;
  }
}

@keyframes fade-in-keys {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fade-out-keys {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes slide-in-right-keys {
  100% {
    transform: translateX(0%);
  }
}

/* Alerts and form errors used by phx.new */
.alert {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 4px;
}
.alert-info {
  @apply text-blue-300 bg-blue-950/50 border-blue-500;
}
.alert-warning {
  @apply text-yellow-300 bg-yellow-950/50 border-yellow-500;
}
.alert-danger {
  @apply text-red-300 bg-red-950/50 border-red-500;
}
.alert p {
  margin-bottom: 0;
}
.alert:empty {
  display: none;
}
.invalid-feedback {
  display: inline-block;
}

/* LiveView specific classes for your customization */
.phx-no-feedback.invalid-feedback,
.phx-no-feedback .invalid-feedback {
  display: none;
}

.phx-click-loading {
  opacity: 0.5;
  transition: opacity 1s ease-out;
}

.phx-loading {
  cursor: wait;
}

.phx-modal {
  opacity: 1 !important;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(255, 255, 255);
  background-color: rgba(255, 255, 255, 0.4);
}

.phx-modal-content {
  background-color: #000;
  margin: 15vh auto;
  padding: 20px;
  border: 1px solid #94a3b8;
  width: 80%;
}

.phx-modal-close {
  color: #64748b;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.phx-modal-close:hover,
.phx-modal-close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}
