@import "tailwindcss" source("../.."); @theme { --color-primary-50: oklch(0.985 0 0); --color-primary-100: oklch(0.967 0.001 286.375); --color-primary-200: oklch(0.92 0.004 286.32); --color-primary-300: oklch(0.871 0.006 286.286); --color-primary-400: oklch(0.705 0.015 286.067); --color-primary-500: oklch(0.552 0.016 285.938); --color-primary-600: oklch(0.442 0.017 285.786); --color-primary-700: oklch(0.37 0.013 285.805); --color-primary-800: oklch(0.274 0.006 286.033); --color-primary-900: oklch(0.21 0.006 285.885); --color-primary-950: oklch(0.141 0.005 285.823); --font-display: "Nunito Sans", sans-serif; } @import "@fortawesome/fontawesome-free/css/fontawesome" source("../.."); @import "@fortawesome/fontawesome-free/css/regular" source("../.."); @import "@fortawesome/fontawesome-free/css/solid" source("../.."); @import "@fortawesome/fontawesome-free/css/brands" source("../.."); /* fix firefox scrollbars */ * { scrollbar-width: auto; scrollbar-color: rgba(161, 161, 170, var(--tw-bg-opacity)) white; } .fa-fade { animation: pulse 1s ease-in-out 0s infinite alternate; } @keyframes pulse { 0% { scale: 0.95; opacity: 0.5; } 100% { scale: 1.0; opacity: 1; } } /* disconnect toast */ .phx-connected > #disconnect { opacity: 0 !important; pointer-events: none; } .phx-error > #disconnect { opacity: 0.95 !important; } .invalid-feedback { color: #f36c69; display: block; margin: -1rem 0 2rem; } /* 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: rgba(0,0,0,0.4); } .phx-modal-content { background-color: #fefefe; margin: 15vh auto; padding: 20px; border: 1px solid #888; width: 80%; } .phx-modal-close { color: #aaa; float: right; font-size: 28px; font-weight: bold; } .phx-modal-close:hover, .phx-modal-close:focus { color: black; text-decoration: none; cursor: pointer; } .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.0; opacity: 1; } } @keyframes fade-out-scale-keys{ 0% { scale: 1.0; 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; } } /* components */ .input { @apply px-4 py-2 rounded-lg border focus:outline-hidden; @apply shadow-sm focus:shadow-lg; } .input-primary { @apply bg-primary-900; @apply border-primary-900 hover:border-primary-800 active:border-primary-700; @apply text-primary-400 placeholder-primary-600; } .checkbox { @apply bg-primary-900; -ms-transform: scale(1.5); -moz-transform: scale(1.5); -webkit-transform: scale(1.5); -o-transform: scale(1.5); transform: scale(1.5); padding: 10px; margin: 1em auto; } .title { @apply tracking-wide leading-5; } .btn { @apply px-4 py-2 rounded-lg focus:outline-hidden; @apply shadow-sm active:shadow-lg; @apply border; @apply transition-all duration-300 ease-in-out; } .btn-primary { @apply bg-primary-900 active:bg-primary-800; @apply border-primary-900 hover:border-primary-800 active:border-primary-700; @apply text-primary-400; } .btn-secondary { @apply bg-primary-800 active:bg-primary-700; @apply border-primary-800 hover:border-primary-700 active:border-primary-600; @apply text-primary-400; } .btn-alert { @apply bg-rose-800 active:bg-rose-900; @apply border-rose-800 active:border-rose-900; @apply text-primary-300; } .hr { @apply mx-auto w-full max-w-3xl border border-primary-600; } .link { @apply hover:underline; @apply transition-colors duration-500 ease-in-out; } .alert { @apply bg-primary-900; @apply text-primary-400; padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; } .alert-info { @apply text-primary-400; } .alert-warning { color: #8a6d3b; } .alert-danger { color: #a94442; } .alert p { @apply mb-0; } .alert:empty { @apply hidden; }