Create new app for homepage
This commit is contained in:
@@ -1,877 +0,0 @@
|
|||||||
/*! tailwindcss v4.0.4 | MIT License | https://tailwindcss.com */
|
|
||||||
@layer theme, base, components, utilities;
|
|
||||||
@layer theme {
|
|
||||||
:root, :host {
|
|
||||||
--font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
|
|
||||||
'Segoe UI Symbol', 'Noto Color Emoji';
|
|
||||||
--font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
|
|
||||||
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',
|
|
||||||
'Courier New', monospace;
|
|
||||||
--color-red-50: oklch(0.971 0.013 17.38);
|
|
||||||
--color-red-100: oklch(0.936 0.032 17.717);
|
|
||||||
--color-red-200: oklch(0.885 0.062 18.334);
|
|
||||||
--color-red-300: oklch(0.808 0.114 19.571);
|
|
||||||
--color-red-400: oklch(0.704 0.191 22.216);
|
|
||||||
--color-red-500: oklch(0.637 0.237 25.331);
|
|
||||||
--color-red-600: oklch(0.577 0.245 27.325);
|
|
||||||
--color-red-700: oklch(0.505 0.213 27.518);
|
|
||||||
--color-red-800: oklch(0.444 0.177 26.899);
|
|
||||||
--color-red-900: oklch(0.396 0.141 25.723);
|
|
||||||
--color-red-950: oklch(0.258 0.092 26.042);
|
|
||||||
--color-orange-50: oklch(0.98 0.016 73.684);
|
|
||||||
--color-orange-100: oklch(0.954 0.038 75.164);
|
|
||||||
--color-orange-200: oklch(0.901 0.076 70.697);
|
|
||||||
--color-orange-300: oklch(0.837 0.128 66.29);
|
|
||||||
--color-orange-400: oklch(0.75 0.183 55.934);
|
|
||||||
--color-orange-500: oklch(0.705 0.213 47.604);
|
|
||||||
--color-orange-600: oklch(0.646 0.222 41.116);
|
|
||||||
--color-orange-700: oklch(0.553 0.195 38.402);
|
|
||||||
--color-orange-800: oklch(0.47 0.157 37.304);
|
|
||||||
--color-orange-900: oklch(0.408 0.123 38.172);
|
|
||||||
--color-orange-950: oklch(0.266 0.079 36.259);
|
|
||||||
--color-amber-50: oklch(0.987 0.022 95.277);
|
|
||||||
--color-amber-100: oklch(0.962 0.059 95.617);
|
|
||||||
--color-amber-200: oklch(0.924 0.12 95.746);
|
|
||||||
--color-amber-300: oklch(0.879 0.169 91.605);
|
|
||||||
--color-amber-400: oklch(0.828 0.189 84.429);
|
|
||||||
--color-amber-500: oklch(0.769 0.188 70.08);
|
|
||||||
--color-amber-600: oklch(0.666 0.179 58.318);
|
|
||||||
--color-amber-700: oklch(0.555 0.163 48.998);
|
|
||||||
--color-amber-800: oklch(0.473 0.137 46.201);
|
|
||||||
--color-amber-900: oklch(0.414 0.112 45.904);
|
|
||||||
--color-amber-950: oklch(0.279 0.077 45.635);
|
|
||||||
--color-yellow-50: oklch(0.987 0.026 102.212);
|
|
||||||
--color-yellow-100: oklch(0.973 0.071 103.193);
|
|
||||||
--color-yellow-200: oklch(0.945 0.129 101.54);
|
|
||||||
--color-yellow-300: oklch(0.905 0.182 98.111);
|
|
||||||
--color-yellow-400: oklch(0.852 0.199 91.936);
|
|
||||||
--color-yellow-500: oklch(0.795 0.184 86.047);
|
|
||||||
--color-yellow-600: oklch(0.681 0.162 75.834);
|
|
||||||
--color-yellow-700: oklch(0.554 0.135 66.442);
|
|
||||||
--color-yellow-800: oklch(0.476 0.114 61.907);
|
|
||||||
--color-yellow-900: oklch(0.421 0.095 57.708);
|
|
||||||
--color-yellow-950: oklch(0.286 0.066 53.813);
|
|
||||||
--color-lime-50: oklch(0.986 0.031 120.757);
|
|
||||||
--color-lime-100: oklch(0.967 0.067 122.328);
|
|
||||||
--color-lime-200: oklch(0.938 0.127 124.321);
|
|
||||||
--color-lime-300: oklch(0.897 0.196 126.665);
|
|
||||||
--color-lime-400: oklch(0.841 0.238 128.85);
|
|
||||||
--color-lime-500: oklch(0.768 0.233 130.85);
|
|
||||||
--color-lime-600: oklch(0.648 0.2 131.684);
|
|
||||||
--color-lime-700: oklch(0.532 0.157 131.589);
|
|
||||||
--color-lime-800: oklch(0.453 0.124 130.933);
|
|
||||||
--color-lime-900: oklch(0.405 0.101 131.063);
|
|
||||||
--color-lime-950: oklch(0.274 0.072 132.109);
|
|
||||||
--color-green-50: oklch(0.982 0.018 155.826);
|
|
||||||
--color-green-100: oklch(0.962 0.044 156.743);
|
|
||||||
--color-green-200: oklch(0.925 0.084 155.995);
|
|
||||||
--color-green-300: oklch(0.871 0.15 154.449);
|
|
||||||
--color-green-400: oklch(0.792 0.209 151.711);
|
|
||||||
--color-green-500: oklch(0.723 0.219 149.579);
|
|
||||||
--color-green-600: oklch(0.627 0.194 149.214);
|
|
||||||
--color-green-700: oklch(0.527 0.154 150.069);
|
|
||||||
--color-green-800: oklch(0.448 0.119 151.328);
|
|
||||||
--color-green-900: oklch(0.393 0.095 152.535);
|
|
||||||
--color-green-950: oklch(0.266 0.065 152.934);
|
|
||||||
--color-emerald-50: oklch(0.979 0.021 166.113);
|
|
||||||
--color-emerald-100: oklch(0.95 0.052 163.051);
|
|
||||||
--color-emerald-200: oklch(0.905 0.093 164.15);
|
|
||||||
--color-emerald-300: oklch(0.845 0.143 164.978);
|
|
||||||
--color-emerald-400: oklch(0.765 0.177 163.223);
|
|
||||||
--color-emerald-500: oklch(0.696 0.17 162.48);
|
|
||||||
--color-emerald-600: oklch(0.596 0.145 163.225);
|
|
||||||
--color-emerald-700: oklch(0.508 0.118 165.612);
|
|
||||||
--color-emerald-800: oklch(0.432 0.095 166.913);
|
|
||||||
--color-emerald-900: oklch(0.378 0.077 168.94);
|
|
||||||
--color-emerald-950: oklch(0.262 0.051 172.552);
|
|
||||||
--color-teal-50: oklch(0.984 0.014 180.72);
|
|
||||||
--color-teal-100: oklch(0.953 0.051 180.801);
|
|
||||||
--color-teal-200: oklch(0.91 0.096 180.426);
|
|
||||||
--color-teal-300: oklch(0.855 0.138 181.071);
|
|
||||||
--color-teal-400: oklch(0.777 0.152 181.912);
|
|
||||||
--color-teal-500: oklch(0.704 0.14 182.503);
|
|
||||||
--color-teal-600: oklch(0.6 0.118 184.704);
|
|
||||||
--color-teal-700: oklch(0.511 0.096 186.391);
|
|
||||||
--color-teal-800: oklch(0.437 0.078 188.216);
|
|
||||||
--color-teal-900: oklch(0.386 0.063 188.416);
|
|
||||||
--color-teal-950: oklch(0.277 0.046 192.524);
|
|
||||||
--color-cyan-50: oklch(0.984 0.019 200.873);
|
|
||||||
--color-cyan-100: oklch(0.956 0.045 203.388);
|
|
||||||
--color-cyan-200: oklch(0.917 0.08 205.041);
|
|
||||||
--color-cyan-300: oklch(0.865 0.127 207.078);
|
|
||||||
--color-cyan-400: oklch(0.789 0.154 211.53);
|
|
||||||
--color-cyan-500: oklch(0.715 0.143 215.221);
|
|
||||||
--color-cyan-600: oklch(0.609 0.126 221.723);
|
|
||||||
--color-cyan-700: oklch(0.52 0.105 223.128);
|
|
||||||
--color-cyan-800: oklch(0.45 0.085 224.283);
|
|
||||||
--color-cyan-900: oklch(0.398 0.07 227.392);
|
|
||||||
--color-cyan-950: oklch(0.302 0.056 229.695);
|
|
||||||
--color-sky-50: oklch(0.977 0.013 236.62);
|
|
||||||
--color-sky-100: oklch(0.951 0.026 236.824);
|
|
||||||
--color-sky-200: oklch(0.901 0.058 230.902);
|
|
||||||
--color-sky-300: oklch(0.828 0.111 230.318);
|
|
||||||
--color-sky-400: oklch(0.746 0.16 232.661);
|
|
||||||
--color-sky-500: oklch(0.685 0.169 237.323);
|
|
||||||
--color-sky-600: oklch(0.588 0.158 241.966);
|
|
||||||
--color-sky-700: oklch(0.5 0.134 242.749);
|
|
||||||
--color-sky-800: oklch(0.443 0.11 240.79);
|
|
||||||
--color-sky-900: oklch(0.391 0.09 240.876);
|
|
||||||
--color-sky-950: oklch(0.293 0.066 243.157);
|
|
||||||
--color-blue-50: oklch(0.97 0.014 254.604);
|
|
||||||
--color-blue-100: oklch(0.932 0.032 255.585);
|
|
||||||
--color-blue-200: oklch(0.882 0.059 254.128);
|
|
||||||
--color-blue-300: oklch(0.809 0.105 251.813);
|
|
||||||
--color-blue-400: oklch(0.707 0.165 254.624);
|
|
||||||
--color-blue-500: oklch(0.623 0.214 259.815);
|
|
||||||
--color-blue-600: oklch(0.546 0.245 262.881);
|
|
||||||
--color-blue-700: oklch(0.488 0.243 264.376);
|
|
||||||
--color-blue-800: oklch(0.424 0.199 265.638);
|
|
||||||
--color-blue-900: oklch(0.379 0.146 265.522);
|
|
||||||
--color-blue-950: oklch(0.282 0.091 267.935);
|
|
||||||
--color-indigo-50: oklch(0.962 0.018 272.314);
|
|
||||||
--color-indigo-100: oklch(0.93 0.034 272.788);
|
|
||||||
--color-indigo-200: oklch(0.87 0.065 274.039);
|
|
||||||
--color-indigo-300: oklch(0.785 0.115 274.713);
|
|
||||||
--color-indigo-400: oklch(0.673 0.182 276.935);
|
|
||||||
--color-indigo-500: oklch(0.585 0.233 277.117);
|
|
||||||
--color-indigo-600: oklch(0.511 0.262 276.966);
|
|
||||||
--color-indigo-700: oklch(0.457 0.24 277.023);
|
|
||||||
--color-indigo-800: oklch(0.398 0.195 277.366);
|
|
||||||
--color-indigo-900: oklch(0.359 0.144 278.697);
|
|
||||||
--color-indigo-950: oklch(0.257 0.09 281.288);
|
|
||||||
--color-violet-50: oklch(0.969 0.016 293.756);
|
|
||||||
--color-violet-100: oklch(0.943 0.029 294.588);
|
|
||||||
--color-violet-200: oklch(0.894 0.057 293.283);
|
|
||||||
--color-violet-300: oklch(0.811 0.111 293.571);
|
|
||||||
--color-violet-400: oklch(0.702 0.183 293.541);
|
|
||||||
--color-violet-500: oklch(0.606 0.25 292.717);
|
|
||||||
--color-violet-600: oklch(0.541 0.281 293.009);
|
|
||||||
--color-violet-700: oklch(0.491 0.27 292.581);
|
|
||||||
--color-violet-800: oklch(0.432 0.232 292.759);
|
|
||||||
--color-violet-900: oklch(0.38 0.189 293.745);
|
|
||||||
--color-violet-950: oklch(0.283 0.141 291.089);
|
|
||||||
--color-purple-50: oklch(0.977 0.014 308.299);
|
|
||||||
--color-purple-100: oklch(0.946 0.033 307.174);
|
|
||||||
--color-purple-200: oklch(0.902 0.063 306.703);
|
|
||||||
--color-purple-300: oklch(0.827 0.119 306.383);
|
|
||||||
--color-purple-400: oklch(0.714 0.203 305.504);
|
|
||||||
--color-purple-500: oklch(0.627 0.265 303.9);
|
|
||||||
--color-purple-600: oklch(0.558 0.288 302.321);
|
|
||||||
--color-purple-700: oklch(0.496 0.265 301.924);
|
|
||||||
--color-purple-800: oklch(0.438 0.218 303.724);
|
|
||||||
--color-purple-900: oklch(0.381 0.176 304.987);
|
|
||||||
--color-purple-950: oklch(0.291 0.149 302.717);
|
|
||||||
--color-fuchsia-50: oklch(0.977 0.017 320.058);
|
|
||||||
--color-fuchsia-100: oklch(0.952 0.037 318.852);
|
|
||||||
--color-fuchsia-200: oklch(0.903 0.076 319.62);
|
|
||||||
--color-fuchsia-300: oklch(0.833 0.145 321.434);
|
|
||||||
--color-fuchsia-400: oklch(0.74 0.238 322.16);
|
|
||||||
--color-fuchsia-500: oklch(0.667 0.295 322.15);
|
|
||||||
--color-fuchsia-600: oklch(0.591 0.293 322.896);
|
|
||||||
--color-fuchsia-700: oklch(0.518 0.253 323.949);
|
|
||||||
--color-fuchsia-800: oklch(0.452 0.211 324.591);
|
|
||||||
--color-fuchsia-900: oklch(0.401 0.17 325.612);
|
|
||||||
--color-fuchsia-950: oklch(0.293 0.136 325.661);
|
|
||||||
--color-pink-50: oklch(0.971 0.014 343.198);
|
|
||||||
--color-pink-100: oklch(0.948 0.028 342.258);
|
|
||||||
--color-pink-200: oklch(0.899 0.061 343.231);
|
|
||||||
--color-pink-300: oklch(0.823 0.12 346.018);
|
|
||||||
--color-pink-400: oklch(0.718 0.202 349.761);
|
|
||||||
--color-pink-500: oklch(0.656 0.241 354.308);
|
|
||||||
--color-pink-600: oklch(0.592 0.249 0.584);
|
|
||||||
--color-pink-700: oklch(0.525 0.223 3.958);
|
|
||||||
--color-pink-800: oklch(0.459 0.187 3.815);
|
|
||||||
--color-pink-900: oklch(0.408 0.153 2.432);
|
|
||||||
--color-pink-950: oklch(0.284 0.109 3.907);
|
|
||||||
--color-rose-50: oklch(0.969 0.015 12.422);
|
|
||||||
--color-rose-100: oklch(0.941 0.03 12.58);
|
|
||||||
--color-rose-200: oklch(0.892 0.058 10.001);
|
|
||||||
--color-rose-300: oklch(0.81 0.117 11.638);
|
|
||||||
--color-rose-400: oklch(0.712 0.194 13.428);
|
|
||||||
--color-rose-500: oklch(0.645 0.246 16.439);
|
|
||||||
--color-rose-600: oklch(0.586 0.253 17.585);
|
|
||||||
--color-rose-700: oklch(0.514 0.222 16.935);
|
|
||||||
--color-rose-800: oklch(0.455 0.188 13.697);
|
|
||||||
--color-rose-900: oklch(0.41 0.159 10.272);
|
|
||||||
--color-rose-950: oklch(0.271 0.105 12.094);
|
|
||||||
--color-slate-50: oklch(0.984 0.003 247.858);
|
|
||||||
--color-slate-100: oklch(0.968 0.007 247.896);
|
|
||||||
--color-slate-200: oklch(0.929 0.013 255.508);
|
|
||||||
--color-slate-300: oklch(0.869 0.022 252.894);
|
|
||||||
--color-slate-400: oklch(0.704 0.04 256.788);
|
|
||||||
--color-slate-500: oklch(0.554 0.046 257.417);
|
|
||||||
--color-slate-600: oklch(0.446 0.043 257.281);
|
|
||||||
--color-slate-700: oklch(0.372 0.044 257.287);
|
|
||||||
--color-slate-800: oklch(0.279 0.041 260.031);
|
|
||||||
--color-slate-900: oklch(0.208 0.042 265.755);
|
|
||||||
--color-slate-950: oklch(0.129 0.042 264.695);
|
|
||||||
--color-gray-50: oklch(0.985 0.002 247.839);
|
|
||||||
--color-gray-100: oklch(0.967 0.003 264.542);
|
|
||||||
--color-gray-200: oklch(0.928 0.006 264.531);
|
|
||||||
--color-gray-300: oklch(0.872 0.01 258.338);
|
|
||||||
--color-gray-400: oklch(0.707 0.022 261.325);
|
|
||||||
--color-gray-500: oklch(0.551 0.027 264.364);
|
|
||||||
--color-gray-600: oklch(0.446 0.03 256.802);
|
|
||||||
--color-gray-700: oklch(0.373 0.034 259.733);
|
|
||||||
--color-gray-800: oklch(0.278 0.033 256.848);
|
|
||||||
--color-gray-900: oklch(0.21 0.034 264.665);
|
|
||||||
--color-gray-950: oklch(0.13 0.028 261.692);
|
|
||||||
--color-zinc-50: oklch(0.985 0 0);
|
|
||||||
--color-zinc-100: oklch(0.967 0.001 286.375);
|
|
||||||
--color-zinc-200: oklch(0.92 0.004 286.32);
|
|
||||||
--color-zinc-300: oklch(0.871 0.006 286.286);
|
|
||||||
--color-zinc-400: oklch(0.705 0.015 286.067);
|
|
||||||
--color-zinc-500: oklch(0.552 0.016 285.938);
|
|
||||||
--color-zinc-600: oklch(0.442 0.017 285.786);
|
|
||||||
--color-zinc-700: oklch(0.37 0.013 285.805);
|
|
||||||
--color-zinc-800: oklch(0.274 0.006 286.033);
|
|
||||||
--color-zinc-900: oklch(0.21 0.006 285.885);
|
|
||||||
--color-zinc-950: oklch(0.141 0.005 285.823);
|
|
||||||
--color-neutral-50: oklch(0.985 0 0);
|
|
||||||
--color-neutral-100: oklch(0.97 0 0);
|
|
||||||
--color-neutral-200: oklch(0.922 0 0);
|
|
||||||
--color-neutral-300: oklch(0.87 0 0);
|
|
||||||
--color-neutral-400: oklch(0.708 0 0);
|
|
||||||
--color-neutral-500: oklch(0.556 0 0);
|
|
||||||
--color-neutral-600: oklch(0.439 0 0);
|
|
||||||
--color-neutral-700: oklch(0.371 0 0);
|
|
||||||
--color-neutral-800: oklch(0.269 0 0);
|
|
||||||
--color-neutral-900: oklch(0.205 0 0);
|
|
||||||
--color-neutral-950: oklch(0.145 0 0);
|
|
||||||
--color-stone-50: oklch(0.985 0.001 106.423);
|
|
||||||
--color-stone-100: oklch(0.97 0.001 106.424);
|
|
||||||
--color-stone-200: oklch(0.923 0.003 48.717);
|
|
||||||
--color-stone-300: oklch(0.869 0.005 56.366);
|
|
||||||
--color-stone-400: oklch(0.709 0.01 56.259);
|
|
||||||
--color-stone-500: oklch(0.553 0.013 58.071);
|
|
||||||
--color-stone-600: oklch(0.444 0.011 73.639);
|
|
||||||
--color-stone-700: oklch(0.374 0.01 67.558);
|
|
||||||
--color-stone-800: oklch(0.268 0.007 34.298);
|
|
||||||
--color-stone-900: oklch(0.216 0.006 56.043);
|
|
||||||
--color-stone-950: oklch(0.147 0.004 49.25);
|
|
||||||
--color-black: #000;
|
|
||||||
--color-white: #fff;
|
|
||||||
--spacing: 0.25rem;
|
|
||||||
--breakpoint-sm: 40rem;
|
|
||||||
--breakpoint-md: 48rem;
|
|
||||||
--breakpoint-lg: 64rem;
|
|
||||||
--breakpoint-xl: 80rem;
|
|
||||||
--breakpoint-2xl: 96rem;
|
|
||||||
--container-3xs: 16rem;
|
|
||||||
--container-2xs: 18rem;
|
|
||||||
--container-xs: 20rem;
|
|
||||||
--container-sm: 24rem;
|
|
||||||
--container-md: 28rem;
|
|
||||||
--container-lg: 32rem;
|
|
||||||
--container-xl: 36rem;
|
|
||||||
--container-2xl: 42rem;
|
|
||||||
--container-3xl: 48rem;
|
|
||||||
--container-4xl: 56rem;
|
|
||||||
--container-5xl: 64rem;
|
|
||||||
--container-6xl: 72rem;
|
|
||||||
--container-7xl: 80rem;
|
|
||||||
--text-xs: 0.75rem;
|
|
||||||
--text-xs--line-height: calc(1 / 0.75);
|
|
||||||
--text-sm: 0.875rem;
|
|
||||||
--text-sm--line-height: calc(1.25 / 0.875);
|
|
||||||
--text-base: 1rem;
|
|
||||||
--text-base--line-height: calc(1.5 / 1);
|
|
||||||
--text-lg: 1.125rem;
|
|
||||||
--text-lg--line-height: calc(1.75 / 1.125);
|
|
||||||
--text-xl: 1.25rem;
|
|
||||||
--text-xl--line-height: calc(1.75 / 1.25);
|
|
||||||
--text-2xl: 1.5rem;
|
|
||||||
--text-2xl--line-height: calc(2 / 1.5);
|
|
||||||
--text-3xl: 1.875rem;
|
|
||||||
--text-3xl--line-height: calc(2.25 / 1.875);
|
|
||||||
--text-4xl: 2.25rem;
|
|
||||||
--text-4xl--line-height: calc(2.5 / 2.25);
|
|
||||||
--text-5xl: 3rem;
|
|
||||||
--text-5xl--line-height: 1;
|
|
||||||
--text-6xl: 3.75rem;
|
|
||||||
--text-6xl--line-height: 1;
|
|
||||||
--text-7xl: 4.5rem;
|
|
||||||
--text-7xl--line-height: 1;
|
|
||||||
--text-8xl: 6rem;
|
|
||||||
--text-8xl--line-height: 1;
|
|
||||||
--text-9xl: 8rem;
|
|
||||||
--text-9xl--line-height: 1;
|
|
||||||
--font-weight-thin: 100;
|
|
||||||
--font-weight-extralight: 200;
|
|
||||||
--font-weight-light: 300;
|
|
||||||
--font-weight-normal: 400;
|
|
||||||
--font-weight-medium: 500;
|
|
||||||
--font-weight-semibold: 600;
|
|
||||||
--font-weight-bold: 700;
|
|
||||||
--font-weight-extrabold: 800;
|
|
||||||
--font-weight-black: 900;
|
|
||||||
--tracking-tighter: -0.05em;
|
|
||||||
--tracking-tight: -0.025em;
|
|
||||||
--tracking-normal: 0em;
|
|
||||||
--tracking-wide: 0.025em;
|
|
||||||
--tracking-wider: 0.05em;
|
|
||||||
--tracking-widest: 0.1em;
|
|
||||||
--leading-tight: 1.25;
|
|
||||||
--leading-snug: 1.375;
|
|
||||||
--leading-normal: 1.5;
|
|
||||||
--leading-relaxed: 1.625;
|
|
||||||
--leading-loose: 2;
|
|
||||||
--radius-xs: 0.125rem;
|
|
||||||
--radius-sm: 0.25rem;
|
|
||||||
--radius-md: 0.375rem;
|
|
||||||
--radius-lg: 0.5rem;
|
|
||||||
--radius-xl: 0.75rem;
|
|
||||||
--radius-2xl: 1rem;
|
|
||||||
--radius-3xl: 1.5rem;
|
|
||||||
--radius-4xl: 2rem;
|
|
||||||
--shadow-2xs: 0 1px rgb(0 0 0 / 0.05);
|
|
||||||
--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
||||||
--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
|
|
||||||
--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
|
||||||
--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
||||||
--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
|
|
||||||
--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
|
|
||||||
--inset-shadow-2xs: inset 0 1px rgb(0 0 0 / 0.05);
|
|
||||||
--inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / 0.05);
|
|
||||||
--inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / 0.05);
|
|
||||||
--drop-shadow-xs: 0 1px 1px rgb(0 0 0 / 0.05);
|
|
||||||
--drop-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.15);
|
|
||||||
--drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);
|
|
||||||
--drop-shadow-lg: 0 4px 4px rgb(0 0 0 / 0.15);
|
|
||||||
--drop-shadow-xl: 0 9px 7px rgb(0 0 0 / 0.1);
|
|
||||||
--drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / 0.15);
|
|
||||||
--ease-in: cubic-bezier(0.4, 0, 1, 1);
|
|
||||||
--ease-out: cubic-bezier(0, 0, 0.2, 1);
|
|
||||||
--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
|
|
||||||
--animate-spin: spin 1s linear infinite;
|
|
||||||
--animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
|
|
||||||
--animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
||||||
--animate-bounce: bounce 1s infinite;
|
|
||||||
--blur-xs: 4px;
|
|
||||||
--blur-sm: 8px;
|
|
||||||
--blur-md: 12px;
|
|
||||||
--blur-lg: 16px;
|
|
||||||
--blur-xl: 24px;
|
|
||||||
--blur-2xl: 40px;
|
|
||||||
--blur-3xl: 64px;
|
|
||||||
--perspective-dramatic: 100px;
|
|
||||||
--perspective-near: 300px;
|
|
||||||
--perspective-normal: 500px;
|
|
||||||
--perspective-midrange: 800px;
|
|
||||||
--perspective-distant: 1200px;
|
|
||||||
--aspect-video: 16 / 9;
|
|
||||||
--default-transition-duration: 150ms;
|
|
||||||
--default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
||||||
--default-font-family: var(--font-sans);
|
|
||||||
--default-font-feature-settings: var(--font-sans--font-feature-settings);
|
|
||||||
--default-font-variation-settings: var(--font-sans--font-variation-settings);
|
|
||||||
--default-mono-font-family: var(--font-mono);
|
|
||||||
--default-mono-font-feature-settings: var(--font-mono--font-feature-settings);
|
|
||||||
--default-mono-font-variation-settings: var(--font-mono--font-variation-settings);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@layer base {
|
|
||||||
*, ::after, ::before, ::backdrop, ::file-selector-button {
|
|
||||||
box-sizing: border-box;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
border: 0 solid;
|
|
||||||
}
|
|
||||||
html, :host {
|
|
||||||
line-height: 1.5;
|
|
||||||
-webkit-text-size-adjust: 100%;
|
|
||||||
tab-size: 4;
|
|
||||||
font-family: var( --default-font-family, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji' );
|
|
||||||
font-feature-settings: var(--default-font-feature-settings, normal);
|
|
||||||
font-variation-settings: var(--default-font-variation-settings, normal);
|
|
||||||
-webkit-tap-highlight-color: transparent;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
line-height: inherit;
|
|
||||||
}
|
|
||||||
hr {
|
|
||||||
height: 0;
|
|
||||||
color: inherit;
|
|
||||||
border-top-width: 1px;
|
|
||||||
}
|
|
||||||
abbr:where([title]) {
|
|
||||||
-webkit-text-decoration: underline dotted;
|
|
||||||
text-decoration: underline dotted;
|
|
||||||
}
|
|
||||||
h1, h2, h3, h4, h5, h6 {
|
|
||||||
font-size: inherit;
|
|
||||||
font-weight: inherit;
|
|
||||||
}
|
|
||||||
a {
|
|
||||||
color: inherit;
|
|
||||||
-webkit-text-decoration: inherit;
|
|
||||||
text-decoration: inherit;
|
|
||||||
}
|
|
||||||
b, strong {
|
|
||||||
font-weight: bolder;
|
|
||||||
}
|
|
||||||
code, kbd, samp, pre {
|
|
||||||
font-family: var( --default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace );
|
|
||||||
font-feature-settings: var(--default-mono-font-feature-settings, normal);
|
|
||||||
font-variation-settings: var(--default-mono-font-variation-settings, normal);
|
|
||||||
font-size: 1em;
|
|
||||||
}
|
|
||||||
small {
|
|
||||||
font-size: 80%;
|
|
||||||
}
|
|
||||||
sub, sup {
|
|
||||||
font-size: 75%;
|
|
||||||
line-height: 0;
|
|
||||||
position: relative;
|
|
||||||
vertical-align: baseline;
|
|
||||||
}
|
|
||||||
sub {
|
|
||||||
bottom: -0.25em;
|
|
||||||
}
|
|
||||||
sup {
|
|
||||||
top: -0.5em;
|
|
||||||
}
|
|
||||||
table {
|
|
||||||
text-indent: 0;
|
|
||||||
border-color: inherit;
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
:-moz-focusring {
|
|
||||||
outline: auto;
|
|
||||||
}
|
|
||||||
progress {
|
|
||||||
vertical-align: baseline;
|
|
||||||
}
|
|
||||||
summary {
|
|
||||||
display: list-item;
|
|
||||||
}
|
|
||||||
ol, ul, menu {
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
img, svg, video, canvas, audio, iframe, embed, object {
|
|
||||||
display: block;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
img, video {
|
|
||||||
max-width: 100%;
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
button, input, select, optgroup, textarea, ::file-selector-button {
|
|
||||||
font: inherit;
|
|
||||||
font-feature-settings: inherit;
|
|
||||||
font-variation-settings: inherit;
|
|
||||||
letter-spacing: inherit;
|
|
||||||
color: inherit;
|
|
||||||
border-radius: 0;
|
|
||||||
background-color: transparent;
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
:where(select:is([multiple], [size])) optgroup {
|
|
||||||
font-weight: bolder;
|
|
||||||
}
|
|
||||||
:where(select:is([multiple], [size])) optgroup option {
|
|
||||||
padding-inline-start: 20px;
|
|
||||||
}
|
|
||||||
::file-selector-button {
|
|
||||||
margin-inline-end: 4px;
|
|
||||||
}
|
|
||||||
::placeholder {
|
|
||||||
opacity: 1;
|
|
||||||
color: color-mix(in oklab, currentColor 50%, transparent);
|
|
||||||
}
|
|
||||||
textarea {
|
|
||||||
resize: vertical;
|
|
||||||
}
|
|
||||||
::-webkit-search-decoration {
|
|
||||||
-webkit-appearance: none;
|
|
||||||
}
|
|
||||||
::-webkit-date-and-time-value {
|
|
||||||
min-height: 1lh;
|
|
||||||
text-align: inherit;
|
|
||||||
}
|
|
||||||
::-webkit-datetime-edit {
|
|
||||||
display: inline-flex;
|
|
||||||
}
|
|
||||||
::-webkit-datetime-edit-fields-wrapper {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
|
|
||||||
padding-block: 0;
|
|
||||||
}
|
|
||||||
:-moz-ui-invalid {
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
button, input:where([type='button'], [type='reset'], [type='submit']), ::file-selector-button {
|
|
||||||
appearance: button;
|
|
||||||
}
|
|
||||||
::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
[hidden]:where(:not([hidden='until-found'])) {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@layer utilities {
|
|
||||||
.absolute {
|
|
||||||
position: absolute;
|
|
||||||
}
|
|
||||||
.static {
|
|
||||||
position: static;
|
|
||||||
}
|
|
||||||
.top-0 {
|
|
||||||
top: calc(var(--spacing) * 0);
|
|
||||||
}
|
|
||||||
.bottom-0 {
|
|
||||||
bottom: calc(var(--spacing) * 0);
|
|
||||||
}
|
|
||||||
.-z-50 {
|
|
||||||
z-index: calc(50 * -1);
|
|
||||||
}
|
|
||||||
.m-2 {
|
|
||||||
margin: calc(var(--spacing) * 2);
|
|
||||||
}
|
|
||||||
.mt-8 {
|
|
||||||
margin-top: calc(var(--spacing) * 8);
|
|
||||||
}
|
|
||||||
.block {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
.flex {
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
.grid {
|
|
||||||
display: grid;
|
|
||||||
}
|
|
||||||
.h-12 {
|
|
||||||
height: calc(var(--spacing) * 12);
|
|
||||||
}
|
|
||||||
.h-150 {
|
|
||||||
height: calc(var(--spacing) * 150);
|
|
||||||
}
|
|
||||||
.w-full {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.place-content-center {
|
|
||||||
place-content: center;
|
|
||||||
}
|
|
||||||
.place-items-stretch {
|
|
||||||
place-items: stretch;
|
|
||||||
}
|
|
||||||
.items-center {
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
.justify-between {
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
.gap-2 {
|
|
||||||
gap: calc(var(--spacing) * 2);
|
|
||||||
}
|
|
||||||
.gap-4 {
|
|
||||||
gap: calc(var(--spacing) * 4);
|
|
||||||
}
|
|
||||||
.space-x-2 {
|
|
||||||
:where(& > :not(:last-child)) {
|
|
||||||
--tw-space-x-reverse: 0;
|
|
||||||
margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
|
|
||||||
margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.space-x-4 {
|
|
||||||
:where(& > :not(:last-child)) {
|
|
||||||
--tw-space-x-reverse: 0;
|
|
||||||
margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
|
|
||||||
margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.rounded-lg {
|
|
||||||
border-radius: var(--radius-lg);
|
|
||||||
}
|
|
||||||
.rounded-md {
|
|
||||||
border-radius: var(--radius-md);
|
|
||||||
}
|
|
||||||
.border-3 {
|
|
||||||
border-style: var(--tw-border-style);
|
|
||||||
border-width: 3px;
|
|
||||||
}
|
|
||||||
.border-blue-100 {
|
|
||||||
border-color: var(--color-blue-100);
|
|
||||||
}
|
|
||||||
.bg-blue-100 {
|
|
||||||
background-color: var(--color-blue-100);
|
|
||||||
}
|
|
||||||
.bg-blue-600 {
|
|
||||||
background-color: var(--color-blue-600);
|
|
||||||
}
|
|
||||||
.bg-green-500 {
|
|
||||||
background-color: var(--color-green-500);
|
|
||||||
}
|
|
||||||
.bg-indigo-500 {
|
|
||||||
background-color: var(--color-indigo-500);
|
|
||||||
}
|
|
||||||
.bg-purple-500 {
|
|
||||||
background-color: var(--color-purple-500);
|
|
||||||
}
|
|
||||||
.p-4 {
|
|
||||||
padding: calc(var(--spacing) * 4);
|
|
||||||
}
|
|
||||||
.px-4 {
|
|
||||||
padding-inline: calc(var(--spacing) * 4);
|
|
||||||
}
|
|
||||||
.pb-4 {
|
|
||||||
padding-bottom: calc(var(--spacing) * 4);
|
|
||||||
}
|
|
||||||
.text-center {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.text-6xl {
|
|
||||||
font-size: var(--text-6xl);
|
|
||||||
line-height: var(--tw-leading, var(--text-6xl--line-height));
|
|
||||||
}
|
|
||||||
.text-sm {
|
|
||||||
font-size: var(--text-sm);
|
|
||||||
line-height: var(--tw-leading, var(--text-sm--line-height));
|
|
||||||
}
|
|
||||||
.text-xl {
|
|
||||||
font-size: var(--text-xl);
|
|
||||||
line-height: var(--tw-leading, var(--text-xl--line-height));
|
|
||||||
}
|
|
||||||
.font-bold {
|
|
||||||
--tw-font-weight: var(--font-weight-bold);
|
|
||||||
font-weight: var(--font-weight-bold);
|
|
||||||
}
|
|
||||||
.font-extralight {
|
|
||||||
--tw-font-weight: var(--font-weight-extralight);
|
|
||||||
font-weight: var(--font-weight-extralight);
|
|
||||||
}
|
|
||||||
.text-blue-600 {
|
|
||||||
color: var(--color-blue-600);
|
|
||||||
}
|
|
||||||
.text-white {
|
|
||||||
color: var(--color-white);
|
|
||||||
}
|
|
||||||
.italic {
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
.shadow-md {
|
|
||||||
--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
|
|
||||||
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
||||||
}
|
|
||||||
.transition {
|
|
||||||
transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;
|
|
||||||
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
||||||
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
||||||
}
|
|
||||||
.duration-200 {
|
|
||||||
--tw-duration: 200ms;
|
|
||||||
transition-duration: 200ms;
|
|
||||||
}
|
|
||||||
.hover\:scale-110 {
|
|
||||||
&:hover {
|
|
||||||
@media (hover: hover) {
|
|
||||||
--tw-scale-x: 110%;
|
|
||||||
--tw-scale-y: 110%;
|
|
||||||
--tw-scale-z: 110%;
|
|
||||||
scale: var(--tw-scale-x) var(--tw-scale-y);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.sm\:grid-cols-3 {
|
|
||||||
@media (width >= 40rem) {
|
|
||||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.sm\:px-6 {
|
|
||||||
@media (width >= 40rem) {
|
|
||||||
padding-inline: calc(var(--spacing) * 6);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.sm\:text-2xl {
|
|
||||||
@media (width >= 40rem) {
|
|
||||||
font-size: var(--text-2xl);
|
|
||||||
line-height: var(--tw-leading, var(--text-2xl--line-height));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.md\:mb-8 {
|
|
||||||
@media (width >= 48rem) {
|
|
||||||
margin-bottom: calc(var(--spacing) * 8);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.md\:h-screen {
|
|
||||||
@media (width >= 48rem) {
|
|
||||||
height: 100vh;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.md\:text-8xl {
|
|
||||||
@media (width >= 48rem) {
|
|
||||||
font-size: var(--text-8xl);
|
|
||||||
line-height: var(--tw-leading, var(--text-8xl--line-height));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.lg\:px-8 {
|
|
||||||
@media (width >= 64rem) {
|
|
||||||
padding-inline: calc(var(--spacing) * 8);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
nav div ul.qp-nav-list li {
|
|
||||||
color: var(--color-white);
|
|
||||||
transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;
|
|
||||||
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
||||||
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
||||||
--tw-duration: 200ms;
|
|
||||||
transition-duration: 200ms;
|
|
||||||
&:hover {
|
|
||||||
@media (hover: hover) {
|
|
||||||
--tw-scale-x: 110%;
|
|
||||||
--tw-scale-y: 110%;
|
|
||||||
--tw-scale-z: 110%;
|
|
||||||
scale: var(--tw-scale-x) var(--tw-scale-y);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&:hover {
|
|
||||||
@media (hover: hover) {
|
|
||||||
border-bottom-style: var(--tw-border-style);
|
|
||||||
border-bottom-width: 2px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&:hover {
|
|
||||||
@media (hover: hover) {
|
|
||||||
border-color: var(--color-white);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
a.qp-a-button {
|
|
||||||
border-radius: var(--radius-md);
|
|
||||||
padding: calc(var(--spacing) * 6);
|
|
||||||
--tw-font-weight: var(--font-weight-extrabold);
|
|
||||||
font-weight: var(--font-weight-extrabold);
|
|
||||||
--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
|
|
||||||
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
||||||
transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;
|
|
||||||
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
||||||
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
||||||
--tw-duration: 300ms;
|
|
||||||
transition-duration: 300ms;
|
|
||||||
&:hover {
|
|
||||||
@media (hover: hover) {
|
|
||||||
--tw-scale-x: 105%;
|
|
||||||
--tw-scale-y: 105%;
|
|
||||||
--tw-scale-z: 105%;
|
|
||||||
scale: var(--tw-scale-x) var(--tw-scale-y);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes spin {
|
|
||||||
to {
|
|
||||||
transform: rotate(360deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes ping {
|
|
||||||
75%, 100% {
|
|
||||||
transform: scale(2);
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes pulse {
|
|
||||||
50% {
|
|
||||||
opacity: 0.5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes bounce {
|
|
||||||
0%, 100% {
|
|
||||||
transform: translateY(-25%);
|
|
||||||
animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
|
|
||||||
}
|
|
||||||
50% {
|
|
||||||
transform: none;
|
|
||||||
animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@property --tw-space-x-reverse {
|
|
||||||
syntax: "*";
|
|
||||||
inherits: false;
|
|
||||||
initial-value: 0;
|
|
||||||
}
|
|
||||||
@property --tw-border-style {
|
|
||||||
syntax: "*";
|
|
||||||
inherits: false;
|
|
||||||
initial-value: solid;
|
|
||||||
}
|
|
||||||
@property --tw-font-weight {
|
|
||||||
syntax: "*";
|
|
||||||
inherits: false;
|
|
||||||
}
|
|
||||||
@property --tw-shadow {
|
|
||||||
syntax: "*";
|
|
||||||
inherits: false;
|
|
||||||
initial-value: 0 0 #0000;
|
|
||||||
}
|
|
||||||
@property --tw-shadow-color {
|
|
||||||
syntax: "*";
|
|
||||||
inherits: false;
|
|
||||||
}
|
|
||||||
@property --tw-inset-shadow {
|
|
||||||
syntax: "*";
|
|
||||||
inherits: false;
|
|
||||||
initial-value: 0 0 #0000;
|
|
||||||
}
|
|
||||||
@property --tw-inset-shadow-color {
|
|
||||||
syntax: "*";
|
|
||||||
inherits: false;
|
|
||||||
}
|
|
||||||
@property --tw-ring-color {
|
|
||||||
syntax: "*";
|
|
||||||
inherits: false;
|
|
||||||
}
|
|
||||||
@property --tw-ring-shadow {
|
|
||||||
syntax: "*";
|
|
||||||
inherits: false;
|
|
||||||
initial-value: 0 0 #0000;
|
|
||||||
}
|
|
||||||
@property --tw-inset-ring-color {
|
|
||||||
syntax: "*";
|
|
||||||
inherits: false;
|
|
||||||
}
|
|
||||||
@property --tw-inset-ring-shadow {
|
|
||||||
syntax: "*";
|
|
||||||
inherits: false;
|
|
||||||
initial-value: 0 0 #0000;
|
|
||||||
}
|
|
||||||
@property --tw-ring-inset {
|
|
||||||
syntax: "*";
|
|
||||||
inherits: false;
|
|
||||||
}
|
|
||||||
@property --tw-ring-offset-width {
|
|
||||||
syntax: "<length>";
|
|
||||||
inherits: false;
|
|
||||||
initial-value: 0px;
|
|
||||||
}
|
|
||||||
@property --tw-ring-offset-color {
|
|
||||||
syntax: "*";
|
|
||||||
inherits: false;
|
|
||||||
initial-value: #fff;
|
|
||||||
}
|
|
||||||
@property --tw-ring-offset-shadow {
|
|
||||||
syntax: "*";
|
|
||||||
inherits: false;
|
|
||||||
initial-value: 0 0 #0000;
|
|
||||||
}
|
|
||||||
@property --tw-duration {
|
|
||||||
syntax: "*";
|
|
||||||
inherits: false;
|
|
||||||
}
|
|
||||||
@property --tw-scale-x {
|
|
||||||
syntax: "*";
|
|
||||||
inherits: false;
|
|
||||||
initial-value: 1;
|
|
||||||
}
|
|
||||||
@property --tw-scale-y {
|
|
||||||
syntax: "*";
|
|
||||||
inherits: false;
|
|
||||||
initial-value: 1;
|
|
||||||
}
|
|
||||||
@property --tw-scale-z {
|
|
||||||
syntax: "*";
|
|
||||||
inherits: false;
|
|
||||||
initial-value: 1;
|
|
||||||
}
|
|
||||||
@@ -5,11 +5,12 @@
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>{% block title %}{% endblock %}</title>
|
<title>{% block title %}{% endblock %}</title>
|
||||||
<link rel="stylesheet" href="{% static 'accounts/css/base.css' %}">
|
<link rel="stylesheet" href="{% static 'homepage/t-style.css' %}">
|
||||||
<link rel="stylesheet" href="{% block stylesheet_path %}{% endblock %}">
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
{% include 'homepage/partials/_nav.html' %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
{% include 'homepage/partials/_footer.html' %}
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -1,9 +1,11 @@
|
|||||||
{% extends 'accounts/base.html'%}
|
{% extends 'accounts/base.html'%}
|
||||||
{% block title %}Home{% endblock %}
|
{% block title %}Home{% endblock %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>Moin moin!</h1>
|
<div class="grid place-content-center h-120">
|
||||||
<form action="{% url 'logout' %}" method="post">
|
<h1 class="text-center m-4 text-6xl">Moin moin!</h1>
|
||||||
|
<form action="{% url 'accounts:logout' %}" method="post">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<button type="submit">Abmelden</button>
|
<button class="bg-red-600 text-white p-3 rounded-full font-black" type="submit">Abmelden</button>
|
||||||
</form>
|
</form>
|
||||||
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@@ -1,20 +1,21 @@
|
|||||||
{% extends 'accounts/base.html' %}
|
{% extends 'accounts/base.html' %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
{% block title %}Login{% endblock %}
|
{% block title %}Anmeldung{% endblock %}
|
||||||
{% block stylesheet_path %}{% static 'accounts/css/login.css' %}{% endblock %}
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="login-container">
|
<div class="grid place-content-center h-120">
|
||||||
<h2>Anmeldung</h2>
|
<div class="p-4 m-2 border-blue-600 border-2 rounded-xl shadow-md">
|
||||||
<form method="post">
|
<h2 class="text-2xl text-center p-4 font-black">Anmeldung</h2>
|
||||||
|
<form class="space-y-4" method="post">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="input-group">
|
<div class="">
|
||||||
<input type="text" name="username" id="username" required placeholder="BENUTZERNAME">
|
<input class="p-3 rounded-full bg-gray-200 focus:scale-105 transition duration-200 font-black" type="text" name="username" id="username" required placeholder="BENUTZERNAME">
|
||||||
</div>
|
</div>
|
||||||
<div class="input-group">
|
<div class="">
|
||||||
<input type="password" name="password" id="password" required placeholder="PASSWORT">
|
<input class="p-3 rounded-full bg-gray-200 focus:scale-105 transition duration-200 font-black" type="password" name="password" id="password" required placeholder="PASSWORT">
|
||||||
</div>
|
</div>
|
||||||
<button type="submit" class="login-button">Anmelden</button>
|
<button class="w-full p-3 rounded-full bg-blue-600 text-white font-black hover:scale-105 transition duration-200" type="submit" class="login-button">Anmelden</button>
|
||||||
</form>
|
</form>
|
||||||
<button class="register_button"><a href="{% url 'register' %}" class="register_link">Noch kein Konto?</a></button>
|
<button class="text-center text-sm w-full mt-2 font-light text-blue-600"><a href="{% url 'accounts:register' %}" class="register_link">Noch kein Konto?</a></button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@@ -3,9 +3,14 @@ from . import views
|
|||||||
from django.contrib.auth.views import LogoutView
|
from django.contrib.auth.views import LogoutView
|
||||||
from django.contrib.auth.views import LoginView
|
from django.contrib.auth.views import LoginView
|
||||||
|
|
||||||
|
app_name = 'accounts' # Namensraum zum verhindern von Konflikten zwischen Apps
|
||||||
|
#
|
||||||
|
# Wichtig: Damit Links funktionieren müssen diese so eingebunden werden: {% url 'accounts:login' %} statt {% url 'login' %}
|
||||||
|
#
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', views.home, name='home'),
|
path('', views.home, name='home'),
|
||||||
path('logout/', LogoutView.as_view(next_page='login'), name='logout'),
|
path('logout/', LogoutView.as_view(next_page='accounts:login'), name='logout'),
|
||||||
path('login/', LoginView.as_view(template_name='accounts/login.html', next_page='home'), name='login'),
|
path('login/', LoginView.as_view(template_name='accounts/login.html', next_page='accounts:home'), name='login'),
|
||||||
path('register/', views.register, name='register'),
|
path('register/', views.register, name='register'),
|
||||||
]
|
]
|
||||||
@@ -25,12 +25,13 @@ SECRET_KEY = 'django-insecure-#+s307$rxkts=8@+_^i)8)n1b4*y4za1xz!mvv(h@!+n9!mp9)
|
|||||||
# SECURITY WARNING: don't run with debug turned on in production!
|
# SECURITY WARNING: don't run with debug turned on in production!
|
||||||
DEBUG = True
|
DEBUG = True
|
||||||
|
|
||||||
ALLOWED_HOSTS = ['127.0.0.1', 'localhost']
|
ALLOWED_HOSTS = ['127.0.0.1', 'localhost', '*']
|
||||||
|
|
||||||
|
|
||||||
# Application definition
|
# Application definition
|
||||||
|
|
||||||
INSTALLED_APPS = [
|
INSTALLED_APPS = [
|
||||||
|
'homepage.apps.HomepageConfig',
|
||||||
'accounts.apps.AccountsConfig',
|
'accounts.apps.AccountsConfig',
|
||||||
'django.contrib.admin',
|
'django.contrib.admin',
|
||||||
'django.contrib.auth',
|
'django.contrib.auth',
|
||||||
|
|||||||
@@ -16,10 +16,9 @@ Including another URLconf
|
|||||||
"""
|
"""
|
||||||
from django.contrib import admin # type: ignore
|
from django.contrib import admin # type: ignore
|
||||||
from django.urls import path, include
|
from django.urls import path, include
|
||||||
from . import views
|
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('admin/', admin.site.urls),
|
path('admin/', admin.site.urls),
|
||||||
path('account/', include('accounts.urls')),
|
path('account/', include('accounts.urls')),
|
||||||
path('', views.home, name="core_home"),
|
path('', include('homepage.urls')),
|
||||||
]
|
]
|
||||||
|
|||||||
0
core/homepage/__init__.py
Normal file
0
core/homepage/__init__.py
Normal file
3
core/homepage/admin.py
Normal file
3
core/homepage/admin.py
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
from django.contrib import admin
|
||||||
|
|
||||||
|
# Register your models here.
|
||||||
6
core/homepage/apps.py
Normal file
6
core/homepage/apps.py
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
from django.apps import AppConfig
|
||||||
|
|
||||||
|
|
||||||
|
class HomepageConfig(AppConfig):
|
||||||
|
default_auto_field = 'django.db.models.BigAutoField'
|
||||||
|
name = 'homepage'
|
||||||
0
core/homepage/migrations/__init__.py
Normal file
0
core/homepage/migrations/__init__.py
Normal file
3
core/homepage/models.py
Normal file
3
core/homepage/models.py
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
from django.db import models
|
||||||
|
|
||||||
|
# Create your models here.
|
||||||
2
core/homepage/static/homepage/t-style.css
Normal file
2
core/homepage/static/homepage/t-style.css
Normal file
File diff suppressed because one or more lines are too long
@@ -4,12 +4,12 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<link rel="stylesheet" href="{% static 'core/t-base-style.css' %}">
|
<link rel="stylesheet" href="{% static 'homepage/t-style.css' %}">
|
||||||
<title>qivip</title>
|
<title>qivip</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
{% include 'core/partials/_nav.html' %}
|
{% include 'homepage/partials/_nav.html' %}
|
||||||
{% block content%}{% endblock %}
|
{% block content%}{% endblock %}
|
||||||
{% include 'core/partials/_footer.html' %}
|
{% include 'homepage/partials/_footer.html' %}
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
{% extends 'core/base.html' %}
|
{% extends 'homepage/base.html' %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="absolute grid place-content-center md:h-screen h-150 w-full -z-50 top-0 p-4">
|
<div class="absolute grid place-content-center md:h-screen h-150 w-full -z-50 top-0 p-4">
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<h2 class="font-bold md:text-8xl text-6xl md:mb-8 text-blue-600">qivip </h2>
|
<h2 class="font-bold md:text-8xl text-6xl md:mb-8 text-blue-600">qivip</h2>
|
||||||
<h3 class="italic font-extralight sm:text-2xl text-md">Interaktives Lernen neu definiert.</h3>
|
<h3 class="italic font-extralight sm:text-2xl text-md">Interaktives Lernen neu definiert.</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid sm:grid-cols-3 place-items-stretch text-center mt-8 gap-4 p-4 border-3 bg-blue-100 border-blue-100 rounded-md">
|
<div class="grid sm:grid-cols-3 place-items-stretch text-center mt-8 gap-4 p-4 border-3 bg-blue-100 border-blue-100 rounded-md">
|
||||||
<a class="qp-a-button bg-green-500 text-white" href="#">Teilnehmen</a>
|
<a class="qp-a-button bg-green-500 text-white" href="#">Teilnehmen</a>
|
||||||
<a class="qp-a-button bg-indigo-500 text-white" href="#">Erstellen</a>
|
<a class="qp-a-button bg-indigo-500 text-white" href="#">Eröffnen</a>
|
||||||
<a class="qp-a-button bg-purple-500 text-white" href="#">Verwalten</a>
|
<a class="qp-a-button bg-purple-500 text-white" href="#">Verwalten</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -4,5 +4,4 @@
|
|||||||
<p class="text-sm font-extralight"><a href="#">Datenschutz</a></p>
|
<p class="text-sm font-extralight"><a href="#">Datenschutz</a></p>
|
||||||
<p class="text-sm font-extralight"><a href="#">Repository</a></p>
|
<p class="text-sm font-extralight"><a href="#">Repository</a></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
15
core/homepage/templates/homepage/partials/_nav.html
Normal file
15
core/homepage/templates/homepage/partials/_nav.html
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<nav class="flex justify-between bg-blue-600 h-12 px-4 sm:px-6 lg:px-8 rounded-lg m-2 shadow-md">
|
||||||
|
<div class="flex items-center">
|
||||||
|
<h2 class="text-xl font-bold text-white hover:scale-110 transition duration-200"><a href="{% url 'homepage:home' %}">qivip</a></h2>
|
||||||
|
</div>
|
||||||
|
<div class="flex items-center">
|
||||||
|
<ul class="flex space-x-4 qp-nav-list">
|
||||||
|
<li><a href="#">Bibliothek</a></li>
|
||||||
|
{% if user.is_authenticated %}
|
||||||
|
<li><a href="{% url 'accounts:home' %}">Konto</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="{% url 'accounts:login' %}">Anmelden</a></li>
|
||||||
|
{% endif %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
3
core/homepage/tests.py
Normal file
3
core/homepage/tests.py
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
from django.test import TestCase
|
||||||
|
|
||||||
|
# Create your tests here.
|
||||||
8
core/homepage/urls.py
Normal file
8
core/homepage/urls.py
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
from django.urls import path
|
||||||
|
from . import views
|
||||||
|
|
||||||
|
app_name = 'homepage' # Verhindert Konflikt mit anderen Apps
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
path('', views.home, name="home"),
|
||||||
|
]
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
from django.shortcuts import render, redirect
|
from django.shortcuts import render, redirect
|
||||||
|
|
||||||
def home(request):
|
def home(request):
|
||||||
return render(request, 'core/home.html')
|
return render(request, 'homepage/home.html')
|
||||||
Reference in New Issue
Block a user