@import 'tailwindcss' source(none); @import 'flatpickr/dist/flatpickr.min.css' layer(components); @import './modal.css' layer(components); @import './loader.css' layer(components); @import './tooltip.css' layer(components); @import './flatpickr-colors.css' layer(components); @plugin "@tailwindcss/forms"; @source "../css"; @source "../js"; @source "../../lib/plausible_web"; @source "../../extra/lib/plausible_web"; /* Tailwind v3 compatibility: restore v3 default border and ring styling */ @layer base { *, ::after, ::before, ::backdrop, ::file-selector-button { border-color: var(--color-gray-200, currentColor); } button:not(:disabled), [role='button']:not(:disabled) { cursor: pointer; } *:focus-visible { @apply ring-2 ring-indigo-500 ring-offset-2 dark:ring-offset-gray-900 outline-none; } } @layer components { /* Replace Tailwind form plugin's focus with focus-visible */ [type='checkbox']:focus, [type='radio']:focus { outline: none; box-shadow: none; } [type='checkbox']:focus-visible, [type='radio']:focus-visible { @apply ring-2 ring-indigo-500 ring-offset-2 outline-none; } } @theme { /* Color aliases from tailwind.config.js */ /* yellow: colors.amber - Map yellow to amber colors */ --color-yellow-50: var(--color-amber-50); --color-yellow-100: var(--color-amber-100); --color-yellow-200: var(--color-amber-200); --color-yellow-300: var(--color-amber-300); --color-yellow-400: var(--color-amber-400); --color-yellow-500: var(--color-amber-500); --color-yellow-600: var(--color-amber-600); --color-yellow-700: var(--color-amber-700); --color-yellow-800: var(--color-amber-800); --color-yellow-900: var(--color-amber-900); --color-yellow-950: var(--color-amber-950); --color-green-50: var(--color-emerald-50); --color-green-100: var(--color-emerald-100); --color-green-200: var(--color-emerald-200); --color-green-300: var(--color-emerald-300); --color-green-400: var(--color-emerald-400); --color-green-500: var(--color-emerald-500); --color-green-600: var(--color-emerald-600); --color-green-700: var(--color-emerald-700); --color-green-800: var(--color-emerald-800); --color-green-900: var(--color-emerald-900); --color-green-950: var(--color-emerald-950); /* gray: colors.slate - Map gray to slate colors */ --color-gray-50: var(--color-zinc-50); --color-gray-100: var(--color-zinc-100); --color-gray-200: var(--color-zinc-200); --color-gray-300: var(--color-zinc-300); --color-gray-400: var(--color-zinc-400); --color-gray-500: var(--color-zinc-500); --color-gray-600: var(--color-zinc-600); --color-gray-700: var(--color-zinc-700); --color-gray-800: var(--color-zinc-800); --color-gray-900: var(--color-zinc-900); --color-gray-950: var(--color-zinc-950); /* Custom gray shades from config (override some slate values) */ --color-gray-150: rgb(236 236 238); --color-gray-750: rgb(50 50 54); --color-gray-825: rgb(35 35 38); --color-gray-850: rgb(34 34 38); /* Set v3 default ring behavior */ --default-ring-width: 2px; --default-ring-color: var(--color-indigo-500); } @media print { canvas { width: 100% !important; height: auto !important; } } @utility container { margin-inline: auto; padding-inline: 1rem; } @custom-variant dark (&:where(.dark, .dark *)); @custom-variant phx-click-loading (.phx-click-loading&, .phx-click-loading &); @custom-variant phx-submit-loading (.phx-submit-loading&, .phx-submit-loading &); @custom-variant phx-change-loading (.phx-change-loading&, .phx-change-loading &); [x-cloak] { display: none; } .button { @apply inline-flex justify-center px-3.5 py-2 text-sm font-medium text-white bg-indigo-600 border border-transparent rounded-md leading-5 transition hover:bg-indigo-700; } .button[disabled] { @apply bg-gray-400 dark:bg-gray-600; } .button-outline { @apply text-indigo-600 bg-transparent border border-gray-300 dark:border-gray-600 dark:text-gray-100 hover:bg-transparent hover:text-indigo-700 dark:hover:text-white hover:border-gray-400/70 dark:hover:border-gray-500 transition-all duration-150; } .button-sm { @apply px-4 py-2 text-sm; } .button-md { @apply px-4 py-2; } html { @apply text-gray-800; } body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; width: 100vw; /* Prevents content from jumping when scrollbar is added/removed due to vertical overflow */ overflow-x: hidden; } blockquote { @apply px-4 py-2 my-4 border-l-4 border-gray-500; } @media (width >= 1280px) { .container { max-width: 70rem; } } .pricing-table { height: 920px; } @media (width >= 768px) { .pricing-table { height: auto; } } .light-text { color: #f0f4f8; } .transition { transition: all 0.1s ease-in; } .pulsating-circle { position: absolute; width: 10px; height: 10px; } .pulsating-circle::before { content: ''; position: relative; display: block; width: 300%; height: 300%; box-sizing: border-box; margin-left: -100%; margin-top: -100%; border-radius: 45px; background-color: #9ae6b4; animation: pulse-ring 3s cubic-bezier(0.215, 0.61, 0.355, 1) infinite; @apply bg-green-500; } .pulsating-circle::after { content: ''; position: absolute; left: 0; top: 0; display: block; width: 100%; height: 100%; background-color: white; border-radius: 15px; animation: pulse-dot 3s cubic-bezier(0.455, 0.03, 0.515, 0.955) -0.4s infinite; @apply bg-green-500; } @keyframes pulse-ring { 0% { transform: scale(0.33); } 50% { transform: scale(1); } 40%, 100% { opacity: 0; } } @keyframes pulse-dot { 0% { transform: scale(0.8); } 25% { transform: scale(1); } 50%, 100% { transform: scale(0.8); } } .just-text h1, .just-text h2, .just-text h3 { margin-top: 1em; margin-bottom: 0.5em; } .just-text p { margin-top: 0; margin-bottom: 1rem; } .dropdown-content::before { top: -16px; right: 8px; left: auto; border: 8px solid transparent; border-bottom-color: rgb(27 31 35 / 15%); } .dropdown-content::before, .dropdown-content::after { position: absolute; display: inline-block; content: ''; } .dropdown-content::after { top: -14px; right: 9px; left: auto; border: 7px solid transparent; border-bottom-color: #fff; } .feather { height: 1em; width: 1em; overflow: visible; display: inline; } .feather-sm { height: 1em; width: 1em; overflow: visible; display: inline; } .table-striped tbody tr:nth-child(odd) { background-color: var(--color-gray-100); } .dark .table-striped tbody tr:nth-child(odd) { background-color: var(--color-gray-800); } .dark .table-striped tbody tr:nth-child(even) { background-color: var(--color-gray-900); } .fade-enter { opacity: 0; } .fade-enter-active { opacity: 1; transition: opacity 100ms ease-in; } .datamaps-subunit { cursor: pointer; } .fullwidth-shadow::before { @apply absolute top-0 w-screen h-full bg-gray-50 dark:bg-gray-850; box-shadow: 0 4px 2px -2px rgb(0 0 0 / 6%); content: ''; z-index: -1; left: calc(-1 * calc(50vw - 50%)); background-color: inherit; } iframe[hidden] { display: none; } .pagination-link[disabled] { @apply cursor-default bg-gray-100 dark:bg-gray-300 pointer-events-none; } /* This class is used for styling embedded dashboards. Do not remove. */ /* stylelint-disable */ /* prettier-ignore */ .date-option-group { } /* stylelint-enable */ .tooltip-arrow, .tooltip-arrow::before { position: absolute; width: 10px; height: 10px; background: inherit; } .tooltip-arrow { visibility: hidden; } .tooltip-arrow::before { visibility: visible; content: ''; transform: rotate(45deg) translateY(1px); }