360 lines
7.6 KiB
CSS
360 lines
7.6 KiB
CSS
@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);
|
|
|
|
/* green: colors.emerald - Map green to emerald colors */
|
|
--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.zinc - Map gray to zinc 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 zinc values) */
|
|
--color-gray-75: rgb(247 247 248);
|
|
--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) td {
|
|
background-color: var(--color-gray-75);
|
|
}
|
|
|
|
.dark .table-striped tbody tr:nth-child(odd) td {
|
|
background-color: var(--color-gray-850);
|
|
}
|
|
|
|
.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);
|
|
}
|