diff --git a/.gitignore b/.gitignore index 4aa8977..02c3fa5 100644 --- a/.gitignore +++ b/.gitignore @@ -491,3 +491,5 @@ FodyWeavers.xsd # Built Visual Studio Code Extensions *.vsix + +src/Otchinslator/wwwroot/css/styles.css diff --git a/src/Otchinslator/Components/Layout/NavMenu.razor b/src/Otchinslator/Components/Layout/NavMenu.razor index 9fd0058..4c81d4b 100644 --- a/src/Otchinslator/Components/Layout/NavMenu.razor +++ b/src/Otchinslator/Components/Layout/NavMenu.razor @@ -1,9 +1,17 @@ @inject NavigationManager Navigation @code { - private static string _returnClass = "step-primary"; private int _lvl = 0; + private Dictionary _links = new() + { + { "Анкета", "/otchislenie/questionnaire" }, + { "Заявление", "/otchislenie/statement" }, + { "Отправка", "/otchislenie/result" }, + { "Свобода", "/otchislenie/congratulation" } + }; + + // TODO: Упростить это protected override void OnInitialized() { base.OnInitialized(); @@ -16,9 +24,12 @@ case "otchislenie/statement": _lvl = 2; break; - case "otchislenie/congratulation": + case "otchislenie/result": _lvl = 3; break; + case "otchislenie/congratulation": + _lvl = 4; + break; } } } @@ -26,10 +37,28 @@ \ No newline at end of file diff --git a/src/Otchinslator/Components/Layout/OtchislenieLayout.razor b/src/Otchinslator/Components/Layout/OtchislenieLayout.razor index e9144b3..3039ccb 100644 --- a/src/Otchinslator/Components/Layout/OtchislenieLayout.razor +++ b/src/Otchinslator/Components/Layout/OtchislenieLayout.razor @@ -1,6 +1,6 @@ @using Microsoft.AspNetCore.Authorization @inherits LayoutComponentBase -@attribute [Authorize] // НЕ РАБОТАЕТ +@attribute [Authorize]
diff --git a/src/Otchinslator/Components/Pages/Congratulation.razor b/src/Otchinslator/Components/Pages/Congratulation.razor index bb9a6ef..14f71cb 100644 --- a/src/Otchinslator/Components/Pages/Congratulation.razor +++ b/src/Otchinslator/Components/Pages/Congratulation.razor @@ -6,7 +6,7 @@
Поздравляем!
- + Назад diff --git a/src/Otchinslator/Components/Pages/Questionnaire.razor b/src/Otchinslator/Components/Pages/Questionnaire.razor index 4250573..97ab90d 100644 --- a/src/Otchinslator/Components/Pages/Questionnaire.razor +++ b/src/Otchinslator/Components/Pages/Questionnaire.razor @@ -2,7 +2,7 @@ @page "/otchislenie/questionnaire" @using Otchinslator.Components.Layout @layout OtchislenieLayout -

questionnaire

+
questionnaire @code { diff --git a/src/Otchinslator/Components/Pages/Result.razor b/src/Otchinslator/Components/Pages/Result.razor new file mode 100644 index 0000000..275d549 --- /dev/null +++ b/src/Otchinslator/Components/Pages/Result.razor @@ -0,0 +1,42 @@ +@page "/otchislenie/result" +@using Otchinslator.Components.Layout +@layout OtchislenieLayout + + + +
+
+
+
+ + +
+
+
+ @* TODO: Сделать адаптив *@ + @* \ No newline at end of file diff --git a/src/Otchinslator/Components/Pages/Statement.razor b/src/Otchinslator/Components/Pages/Statement.razor index 31ad2aa..83cd629 100644 --- a/src/Otchinslator/Components/Pages/Statement.razor +++ b/src/Otchinslator/Components/Pages/Statement.razor @@ -1,7 +1,7 @@ @page "/otchislenie/statement" @using Otchinslator.Components.Layout @layout OtchislenieLayout -

Statement

+Statement @code { diff --git a/src/Otchinslator/Components/Pages/Weather.razor b/src/Otchinslator/Components/Pages/Weather.razor deleted file mode 100644 index f31f2ee..0000000 --- a/src/Otchinslator/Components/Pages/Weather.razor +++ /dev/null @@ -1,67 +0,0 @@ -@page "/weather" -@attribute [StreamRendering] - -Weather - -

Weather

- -

This component demonstrates showing data.

- -@if (forecasts == null) -{ -

- Loading... -

-} -else -{ - - - - - - - - - - - @foreach (var forecast in forecasts) - { - - - - - - - } - -
DateTemp. (C)Temp. (F)Summary
@forecast.Date.ToShortDateString()@forecast.TemperatureC@forecast.TemperatureF@forecast.Summary
-} - -@code { - private WeatherForecast[]? forecasts; - - protected override async Task OnInitializedAsync() - { - // Simulate asynchronous loading to demonstrate streaming rendering - await Task.Delay(500); - - var startDate = DateOnly.FromDateTime(DateTime.Now); - var summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" }; - forecasts = Enumerable.Range(1, 5).Select(index => new WeatherForecast - { - Date = startDate.AddDays(index), - TemperatureC = Random.Shared.Next(-20, 55), - Summary = summaries[Random.Shared.Next(summaries.Length)] - }).ToArray(); - } - - private class WeatherForecast - { - public DateOnly Date { get; set; } - public int TemperatureC { get; set; } - public string? Summary { get; set; } - public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); - } - -} \ No newline at end of file diff --git a/src/Otchinslator/wwwroot/css/site.css b/src/Otchinslator/wwwroot/css/site.css index 46e6f77..ffa2c22 100644 --- a/src/Otchinslator/wwwroot/css/site.css +++ b/src/Otchinslator/wwwroot/css/site.css @@ -2,21 +2,14 @@ @tailwind components; @tailwind utilities; -a.active { - @apply step-primary; -} - -a.active + a.active:before { - --tw-bg-opacity: 1; - background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity))); - --tw-text-opacity: 1; - color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); -} - ::-webkit-scrollbar { display: none; } html { scrollbar-width: none; /* Firefox */ +} + +.w-192 { + width: 48rem; } \ No newline at end of file diff --git a/src/Otchinslator/wwwroot/css/styles.css b/src/Otchinslator/wwwroot/css/styles.css deleted file mode 100644 index 8938d03..0000000 --- a/src/Otchinslator/wwwroot/css/styles.css +++ /dev/null @@ -1,2010 +0,0 @@ -*, ::before, ::after { - --tw-border-spacing-x: 0; - --tw-border-spacing-y: 0; - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; - --tw-pan-x: ; - --tw-pan-y: ; - --tw-pinch-zoom: ; - --tw-scroll-snap-strictness: proximity; - --tw-gradient-from-position: ; - --tw-gradient-via-position: ; - --tw-gradient-to-position: ; - --tw-ordinal: ; - --tw-slashed-zero: ; - --tw-numeric-figure: ; - --tw-numeric-spacing: ; - --tw-numeric-fraction: ; - --tw-ring-inset: ; - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: rgb(59 130 246 / 0.5); - --tw-ring-offset-shadow: 0 0 #0000; - --tw-ring-shadow: 0 0 #0000; - --tw-shadow: 0 0 #0000; - --tw-shadow-colored: 0 0 #0000; - --tw-blur: ; - --tw-brightness: ; - --tw-contrast: ; - --tw-grayscale: ; - --tw-hue-rotate: ; - --tw-invert: ; - --tw-saturate: ; - --tw-sepia: ; - --tw-drop-shadow: ; - --tw-backdrop-blur: ; - --tw-backdrop-brightness: ; - --tw-backdrop-contrast: ; - --tw-backdrop-grayscale: ; - --tw-backdrop-hue-rotate: ; - --tw-backdrop-invert: ; - --tw-backdrop-opacity: ; - --tw-backdrop-saturate: ; - --tw-backdrop-sepia: ; - --tw-contain-size: ; - --tw-contain-layout: ; - --tw-contain-paint: ; - --tw-contain-style: ; -} - -::backdrop { - --tw-border-spacing-x: 0; - --tw-border-spacing-y: 0; - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; - --tw-pan-x: ; - --tw-pan-y: ; - --tw-pinch-zoom: ; - --tw-scroll-snap-strictness: proximity; - --tw-gradient-from-position: ; - --tw-gradient-via-position: ; - --tw-gradient-to-position: ; - --tw-ordinal: ; - --tw-slashed-zero: ; - --tw-numeric-figure: ; - --tw-numeric-spacing: ; - --tw-numeric-fraction: ; - --tw-ring-inset: ; - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: rgb(59 130 246 / 0.5); - --tw-ring-offset-shadow: 0 0 #0000; - --tw-ring-shadow: 0 0 #0000; - --tw-shadow: 0 0 #0000; - --tw-shadow-colored: 0 0 #0000; - --tw-blur: ; - --tw-brightness: ; - --tw-contrast: ; - --tw-grayscale: ; - --tw-hue-rotate: ; - --tw-invert: ; - --tw-saturate: ; - --tw-sepia: ; - --tw-drop-shadow: ; - --tw-backdrop-blur: ; - --tw-backdrop-brightness: ; - --tw-backdrop-contrast: ; - --tw-backdrop-grayscale: ; - --tw-backdrop-hue-rotate: ; - --tw-backdrop-invert: ; - --tw-backdrop-opacity: ; - --tw-backdrop-saturate: ; - --tw-backdrop-sepia: ; - --tw-contain-size: ; - --tw-contain-layout: ; - --tw-contain-paint: ; - --tw-contain-style: ; -} - -/* -! tailwindcss v3.4.14 | MIT License | https://tailwindcss.com -*/ - -/* -1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) -2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) -*/ - -*, -::before, -::after { - box-sizing: border-box; - /* 1 */ - border-width: 0; - /* 2 */ - border-style: solid; - /* 2 */ - border-color: #e5e7eb; - /* 2 */ -} - -::before, -::after { - --tw-content: ''; -} - -/* -1. Use a consistent sensible line-height in all browsers. -2. Prevent adjustments of font size after orientation changes in iOS. -3. Use a more readable tab size. -4. Use the user's configured `sans` font-family by default. -5. Use the user's configured `sans` font-feature-settings by default. -6. Use the user's configured `sans` font-variation-settings by default. -7. Disable tap highlights on iOS -*/ - -html, -:host { - line-height: 1.5; - /* 1 */ - -webkit-text-size-adjust: 100%; - /* 2 */ - -moz-tab-size: 4; - /* 3 */ - -o-tab-size: 4; - tab-size: 4; - /* 3 */ - font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - /* 4 */ - font-feature-settings: normal; - /* 5 */ - font-variation-settings: normal; - /* 6 */ - -webkit-tap-highlight-color: transparent; - /* 7 */ -} - -/* -1. Remove the margin in all browsers. -2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. -*/ - -body { - margin: 0; - /* 1 */ - line-height: inherit; - /* 2 */ -} - -/* -1. Add the correct height in Firefox. -2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) -3. Ensure horizontal rules are visible by default. -*/ - -hr { - height: 0; - /* 1 */ - color: inherit; - /* 2 */ - border-top-width: 1px; - /* 3 */ -} - -/* -Add the correct text decoration in Chrome, Edge, and Safari. -*/ - -abbr:where([title]) { - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; -} - -/* -Remove the default font size and weight for headings. -*/ - -h1, -h2, -h3, -h4, -h5, -h6 { - font-size: inherit; - font-weight: inherit; -} - -/* -Reset links to optimize for opt-in styling instead of opt-out. -*/ - -a { - color: inherit; - text-decoration: inherit; -} - -/* -Add the correct font weight in Edge and Safari. -*/ - -b, -strong { - font-weight: bolder; -} - -/* -1. Use the user's configured `mono` font-family by default. -2. Use the user's configured `mono` font-feature-settings by default. -3. Use the user's configured `mono` font-variation-settings by default. -4. Correct the odd `em` font sizing in all browsers. -*/ - -code, -kbd, -samp, -pre { - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - /* 1 */ - font-feature-settings: normal; - /* 2 */ - font-variation-settings: normal; - /* 3 */ - font-size: 1em; - /* 4 */ -} - -/* -Add the correct font size in all browsers. -*/ - -small { - font-size: 80%; -} - -/* -Prevent `sub` and `sup` elements from affecting the line height in all browsers. -*/ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* -1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) -2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) -3. Remove gaps between table borders by default. -*/ - -table { - text-indent: 0; - /* 1 */ - border-color: inherit; - /* 2 */ - border-collapse: collapse; - /* 3 */ -} - -/* -1. Change the font styles in all browsers. -2. Remove the margin in Firefox and Safari. -3. Remove default padding in all browsers. -*/ - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; - /* 1 */ - font-feature-settings: inherit; - /* 1 */ - font-variation-settings: inherit; - /* 1 */ - font-size: 100%; - /* 1 */ - font-weight: inherit; - /* 1 */ - line-height: inherit; - /* 1 */ - letter-spacing: inherit; - /* 1 */ - color: inherit; - /* 1 */ - margin: 0; - /* 2 */ - padding: 0; - /* 3 */ -} - -/* -Remove the inheritance of text transform in Edge and Firefox. -*/ - -button, -select { - text-transform: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Remove default button styles. -*/ - -button, -input:where([type='button']), -input:where([type='reset']), -input:where([type='submit']) { - -webkit-appearance: button; - /* 1 */ - background-color: transparent; - /* 2 */ - background-image: none; - /* 2 */ -} - -/* -Use the modern Firefox focus style for all focusable elements. -*/ - -:-moz-focusring { - outline: auto; -} - -/* -Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) -*/ - -:-moz-ui-invalid { - box-shadow: none; -} - -/* -Add the correct vertical alignment in Chrome and Firefox. -*/ - -progress { - vertical-align: baseline; -} - -/* -Correct the cursor style of increment and decrement buttons in Safari. -*/ - -::-webkit-inner-spin-button, -::-webkit-outer-spin-button { - height: auto; -} - -/* -1. Correct the odd appearance in Chrome and Safari. -2. Correct the outline style in Safari. -*/ - -[type='search'] { - -webkit-appearance: textfield; - /* 1 */ - outline-offset: -2px; - /* 2 */ -} - -/* -Remove the inner padding in Chrome and Safari on macOS. -*/ - -::-webkit-search-decoration { - -webkit-appearance: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Change font properties to `inherit` in Safari. -*/ - -::-webkit-file-upload-button { - -webkit-appearance: button; - /* 1 */ - font: inherit; - /* 2 */ -} - -/* -Add the correct display in Chrome and Safari. -*/ - -summary { - display: list-item; -} - -/* -Removes the default spacing and border for appropriate elements. -*/ - -blockquote, -dl, -dd, -h1, -h2, -h3, -h4, -h5, -h6, -hr, -figure, -p, -pre { - margin: 0; -} - -fieldset { - margin: 0; - padding: 0; -} - -legend { - padding: 0; -} - -ol, -ul, -menu { - list-style: none; - margin: 0; - padding: 0; -} - -/* -Reset default styling for dialogs. -*/ - -dialog { - padding: 0; -} - -/* -Prevent resizing textareas horizontally by default. -*/ - -textarea { - resize: vertical; -} - -/* -1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) -2. Set the default placeholder color to the user's configured gray 400 color. -*/ - -input::-moz-placeholder, textarea::-moz-placeholder { - opacity: 1; - /* 1 */ - color: #9ca3af; - /* 2 */ -} - -input::placeholder, -textarea::placeholder { - opacity: 1; - /* 1 */ - color: #9ca3af; - /* 2 */ -} - -/* -Set the default cursor for buttons. -*/ - -button, -[role="button"] { - cursor: pointer; -} - -/* -Make sure disabled buttons don't get the pointer cursor. -*/ - -:disabled { - cursor: default; -} - -/* -1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) -2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) - This can trigger a poorly considered lint error in some tools but is included by design. -*/ - -img, -svg, -video, -canvas, -audio, -iframe, -embed, -object { - display: block; - /* 1 */ - vertical-align: middle; - /* 2 */ -} - -/* -Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) -*/ - -img, -video { - max-width: 100%; - height: auto; -} - -/* Make elements with the HTML hidden attribute stay hidden by default */ - -[hidden]:where(:not([hidden="until-found"])) { - display: none; -} - -:root, -[data-theme] { - background-color: var(--fallback-b1,oklch(var(--b1)/1)); - color: var(--fallback-bc,oklch(var(--bc)/1)); -} - -@supports not (color: oklch(0% 0 0)) { - :root { - color-scheme: light; - --fallback-p: #491eff; - --fallback-pc: #d4dbff; - --fallback-s: #ff41c7; - --fallback-sc: #fff9fc; - --fallback-a: #00cfbd; - --fallback-ac: #00100d; - --fallback-n: #2b3440; - --fallback-nc: #d7dde4; - --fallback-b1: #ffffff; - --fallback-b2: #e5e6e6; - --fallback-b3: #e5e6e6; - --fallback-bc: #1f2937; - --fallback-in: #00b3f0; - --fallback-inc: #000000; - --fallback-su: #00ca92; - --fallback-suc: #000000; - --fallback-wa: #ffc22d; - --fallback-wac: #000000; - --fallback-er: #ff6f70; - --fallback-erc: #000000; - } - - @media (prefers-color-scheme: dark) { - :root { - color-scheme: dark; - --fallback-p: #7582ff; - --fallback-pc: #050617; - --fallback-s: #ff71cf; - --fallback-sc: #190211; - --fallback-a: #00c7b5; - --fallback-ac: #000e0c; - --fallback-n: #2a323c; - --fallback-nc: #a6adbb; - --fallback-b1: #1d232a; - --fallback-b2: #191e24; - --fallback-b3: #15191e; - --fallback-bc: #a6adbb; - --fallback-in: #00b3f0; - --fallback-inc: #000000; - --fallback-su: #00ca92; - --fallback-suc: #000000; - --fallback-wa: #ffc22d; - --fallback-wac: #000000; - --fallback-er: #ff6f70; - --fallback-erc: #000000; - } - } -} - -html { - -webkit-tap-highlight-color: transparent; -} - -* { - scrollbar-color: color-mix(in oklch, currentColor 35%, transparent) transparent; -} - -*:hover { - scrollbar-color: color-mix(in oklch, currentColor 60%, transparent) transparent; -} - -:root { - --b1: 94.6163% 0.025427 268.845897; - --b3: 85.4573% 0.036004 267.962458; - --in: 72.06% 0.191 231.6; - --su: 64.8% 0.150 160; - --wa: 84.71% 0.199 83.87; - --er: 71.76% 0.221 22.18; - --bc: 18.9233% 0.005085 268.845897; - --inc: 0% 0 0; - --suc: 0% 0 0; - --wac: 0% 0 0; - --erc: 0% 0 0; - --rounded-box: 1rem; - --rounded-btn: 0.5rem; - --rounded-badge: 1.9rem; - --animation-btn: 0.25s; - --animation-input: .2s; - --btn-focus-scale: 0.95; - --border-btn: 1px; - --tab-border: 1px; - --tab-radius: 0.5rem; - --b2: 91.8896% 0.038714 267.962458; - --p: 81.3339% 0.09294 266.158507; - --pc: 22.6234% 0.075405 255.341926; - text-content: #001b3e; -} - -@media (hover:hover) { - .table tr.hover:hover, - .table tr.hover:nth-child(even):hover { - --tw-bg-opacity: 1; - background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); - } -} - -.btn { - display: inline-flex; - height: 3rem; - min-height: 3rem; - flex-shrink: 0; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - flex-wrap: wrap; - align-items: center; - justify-content: center; - border-radius: var(--rounded-btn, 0.5rem); - border-color: transparent; - border-color: oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity)); - padding-left: 1rem; - padding-right: 1rem; - text-align: center; - font-size: 0.875rem; - line-height: 1em; - gap: 0.5rem; - font-weight: 600; - text-decoration-line: none; - transition-duration: 200ms; - transition-timing-function: cubic-bezier(0, 0, 0.2, 1); - border-width: var(--border-btn, 1px); - transition-property: color, background-color, border-color, opacity, box-shadow, transform; - --tw-text-opacity: 1; - color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); - --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); - --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); - outline-color: var(--fallback-bc,oklch(var(--bc)/1)); - background-color: oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity)); - --tw-bg-opacity: 1; - --tw-border-opacity: 1; -} - -.btn-disabled, - .btn[disabled], - .btn:disabled { - pointer-events: none; -} - -:where(.btn:is(input[type="checkbox"])), -:where(.btn:is(input[type="radio"])) { - width: auto; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -.btn:is(input[type="checkbox"]):after, -.btn:is(input[type="radio"]):after { - --tw-content: attr(aria-label); - content: var(--tw-content); -} - -.card { - position: relative; - display: flex; - flex-direction: column; - border-radius: var(--rounded-box, 1rem); -} - -.card:focus { - outline: 2px solid transparent; - outline-offset: 2px; -} - -.card figure { - display: flex; - align-items: center; - justify-content: center; -} - -.card.image-full { - display: grid; -} - -.card.image-full:before { - position: relative; - content: ""; - z-index: 10; - border-radius: var(--rounded-box, 1rem); - --tw-bg-opacity: 1; - background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); - opacity: 0.75; -} - -.card.image-full:before, - .card.image-full > * { - grid-column-start: 1; - grid-row-start: 1; -} - -.card.image-full > figure img { - height: 100%; - -o-object-fit: cover; - object-fit: cover; -} - -.card.image-full > .card-body { - position: relative; - z-index: 20; - --tw-text-opacity: 1; - color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))); -} - -.divider { - display: flex; - flex-direction: row; - align-items: center; - align-self: stretch; - margin-top: 1rem; - margin-bottom: 1rem; - height: 1rem; - white-space: nowrap; -} - -.divider:before, - .divider:after { - height: 0.125rem; - width: 100%; - flex-grow: 1; - --tw-content: ''; - content: var(--tw-content); - background-color: var(--fallback-bc,oklch(var(--bc)/0.1)); -} - -@media (hover: hover) { - .btn:hover { - --tw-border-opacity: 1; - border-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-border-opacity))); - --tw-bg-opacity: 1; - background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); - } - - @supports (color: color-mix(in oklab, black, black)) { - .btn:hover { - background-color: color-mix( - in oklab, - oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity, 1)) 90%, - black - ); - border-color: color-mix( - in oklab, - oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity, 1)) 90%, - black - ); - } - } - - @supports not (color: oklch(0% 0 0)) { - .btn:hover { - background-color: var(--btn-color, var(--fallback-b2)); - border-color: var(--btn-color, var(--fallback-b2)); - } - } - - .btn.glass:hover { - --glass-opacity: 25%; - --glass-border-opacity: 15%; - } - - .btn-outline.btn-primary:hover { - --tw-text-opacity: 1; - color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); - } - - @supports (color: color-mix(in oklab, black, black)) { - .btn-outline.btn-primary:hover { - background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); - border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); - } - } - - .btn-disabled:hover, - .btn[disabled]:hover, - .btn:disabled:hover { - --tw-border-opacity: 0; - background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); - --tw-bg-opacity: 0.2; - color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); - --tw-text-opacity: 0.2; - } - - @supports (color: color-mix(in oklab, black, black)) { - .btn:is(input[type="checkbox"]:checked):hover, .btn:is(input[type="radio"]:checked):hover { - background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); - border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); - } - } -} - -.footer { - display: grid; - width: 100%; - grid-auto-flow: row; - place-items: start; - -moz-column-gap: 1rem; - column-gap: 1rem; - row-gap: 2.5rem; - font-size: 0.875rem; - line-height: 1.25rem; -} - -.footer > * { - display: grid; - place-items: start; - gap: 0.5rem; -} - -@media (min-width: 48rem) { - .footer { - grid-auto-flow: column; - } - - .footer-center { - grid-auto-flow: row dense; - } -} - -.link { - cursor: pointer; - text-decoration-line: underline; -} - -.modal { - pointer-events: none; - position: fixed; - inset: 0px; - margin: 0px; - display: grid; - height: 100%; - max-height: none; - width: 100%; - max-width: none; - justify-items: center; - padding: 0px; - opacity: 0; - overscroll-behavior: contain; - z-index: 999; - background-color: transparent; - color: inherit; - transition-duration: 200ms; - transition-timing-function: cubic-bezier(0, 0, 0.2, 1); - transition-property: transform, opacity, visibility; - overflow-y: hidden; -} - -:where(.modal) { - align-items: center; -} - -.modal-box { - max-height: calc(100vh - 5em); - grid-column-start: 1; - grid-row-start: 1; - width: 91.666667%; - max-width: 32rem; - --tw-scale-x: .9; - --tw-scale-y: .9; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - border-bottom-right-radius: var(--rounded-box, 1rem); - border-bottom-left-radius: var(--rounded-box, 1rem); - border-top-left-radius: var(--rounded-box, 1rem); - border-top-right-radius: var(--rounded-box, 1rem); - --tw-bg-opacity: 1; - background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); - padding: 1.5rem; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-timing-function: cubic-bezier(0, 0, 0.2, 1); - transition-duration: 200ms; - box-shadow: rgba(0, 0, 0, 0.25) 0px 25px 50px -12px; - overflow-y: auto; - overscroll-behavior: contain; -} - -.modal-open, -.modal:target, -.modal-toggle:checked + .modal, -.modal[open] { - pointer-events: auto; - visibility: visible; - opacity: 1; -} - -.modal-action { - display: flex; - margin-top: 1.5rem; - justify-content: flex-end; -} - -:root:has(:is(.modal-open, .modal:target, .modal-toggle:checked + .modal, .modal[open])) { - overflow: hidden; - scrollbar-gutter: stable; -} - -.steps { - display: inline-grid; - grid-auto-flow: column; - overflow: hidden; - overflow-x: auto; - counter-reset: step; - grid-auto-columns: 1fr; -} - -.steps .step { - display: grid; - grid-template-columns: repeat(1, minmax(0, 1fr)); - grid-template-columns: auto; - grid-template-rows: repeat(2, minmax(0, 1fr)); - grid-template-rows: 40px 1fr; - place-items: center; - text-align: center; - min-width: 4rem; -} - -.swap { - position: relative; - display: inline-grid; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - place-content: center; - cursor: pointer; -} - -.swap > * { - grid-column-start: 1; - grid-row-start: 1; - transition-duration: 300ms; - transition-timing-function: cubic-bezier(0, 0, 0.2, 1); - transition-property: transform, opacity; -} - -.swap input { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -.swap .swap-on, -.swap .swap-indeterminate, -.swap input:indeterminate ~ .swap-on { - opacity: 0; -} - -.swap input:checked ~ .swap-off, -.swap-active .swap-off, -.swap input:indeterminate ~ .swap-off { - opacity: 0; -} - -.swap input:checked ~ .swap-on, -.swap-active .swap-on, -.swap input:indeterminate ~ .swap-indeterminate { - opacity: 1; -} - -.table { - position: relative; - width: 100%; - border-radius: var(--rounded-box, 1rem); - text-align: left; - font-size: 0.875rem; - line-height: 1.25rem; -} - -.table :where(.table-pin-rows thead tr) { - position: sticky; - top: 0px; - z-index: 1; - --tw-bg-opacity: 1; - background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); -} - -.table :where(.table-pin-rows tfoot tr) { - position: sticky; - bottom: 0px; - z-index: 1; - --tw-bg-opacity: 1; - background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); -} - -.table :where(.table-pin-cols tr th) { - position: sticky; - left: 0px; - right: 0px; - --tw-bg-opacity: 1; - background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); -} - -@media (prefers-reduced-motion: no-preference) { - .btn { - animation: button-pop var(--animation-btn, 0.25s) ease-out; - } -} - -.btn:active:hover, - .btn:active:focus { - animation: button-pop 0s ease-out; - transform: scale(var(--btn-focus-scale, 0.97)); -} - -@supports not (color: oklch(0% 0 0)) { - .btn { - background-color: var(--btn-color, var(--fallback-b2)); - border-color: var(--btn-color, var(--fallback-b2)); - } - - .btn-primary { - --btn-color: var(--fallback-p); - } -} - -@supports (color: color-mix(in oklab, black, black)) { - .btn-outline.btn-primary.btn-active { - background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); - border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); - } -} - -.btn:focus-visible { - outline-style: solid; - outline-width: 2px; - outline-offset: 2px; -} - -.btn-primary { - --tw-text-opacity: 1; - color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); - outline-color: var(--fallback-p,oklch(var(--p)/1)); -} - -@supports (color: oklch(0% 0 0)) { - .btn-primary { - --btn-color: var(--p); - } -} - -.btn.glass { - --tw-shadow: 0 0 #0000; - --tw-shadow-colored: 0 0 #0000; - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); - outline-color: currentColor; -} - -.btn.glass.btn-active { - --glass-opacity: 25%; - --glass-border-opacity: 15%; -} - -.btn-outline.btn-primary { - --tw-text-opacity: 1; - color: var(--fallback-p,oklch(var(--p)/var(--tw-text-opacity))); -} - -.btn-outline.btn-primary.btn-active { - --tw-text-opacity: 1; - color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); -} - -.btn.btn-disabled, - .btn[disabled], - .btn:disabled { - --tw-border-opacity: 0; - background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); - --tw-bg-opacity: 0.2; - color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); - --tw-text-opacity: 0.2; -} - -.btn:is(input[type="checkbox"]:checked), -.btn:is(input[type="radio"]:checked) { - --tw-border-opacity: 1; - border-color: var(--fallback-p,oklch(var(--p)/var(--tw-border-opacity))); - --tw-bg-opacity: 1; - background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity))); - --tw-text-opacity: 1; - color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); -} - -.btn:is(input[type="checkbox"]:checked):focus-visible, .btn:is(input[type="radio"]:checked):focus-visible { - outline-color: var(--fallback-p,oklch(var(--p)/1)); -} - -@keyframes button-pop { - 0% { - transform: scale(var(--btn-focus-scale, 0.98)); - } - - 40% { - transform: scale(1.02); - } - - 100% { - transform: scale(1); - } -} - -.card :where(figure:first-child) { - overflow: hidden; - border-start-start-radius: inherit; - border-start-end-radius: inherit; - border-end-start-radius: unset; - border-end-end-radius: unset; -} - -.card :where(figure:last-child) { - overflow: hidden; - border-start-start-radius: unset; - border-start-end-radius: unset; - border-end-start-radius: inherit; - border-end-end-radius: inherit; -} - -.card:focus-visible { - outline: 2px solid currentColor; - outline-offset: 2px; -} - -.card.bordered { - border-width: 1px; - --tw-border-opacity: 1; - border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); -} - -.card.compact .card-body { - padding: 1rem; - font-size: 0.875rem; - line-height: 1.25rem; -} - -.card-title { - display: flex; - align-items: center; - gap: 0.5rem; - font-size: 1.25rem; - line-height: 1.75rem; - font-weight: 600; -} - -.card.image-full :where(figure) { - overflow: hidden; - border-radius: inherit; -} - -@keyframes checkmark { - 0% { - background-position-y: 5px; - } - - 50% { - background-position-y: -2px; - } - - 100% { - background-position-y: 0; - } -} - -.divider:not(:empty) { - gap: 1rem; -} - -.join > :where(*:not(:first-child)):is(.btn) { - margin-inline-start: calc(var(--border-btn) * -1); -} - -.link:focus { - outline: 2px solid transparent; - outline-offset: 2px; -} - -.link:focus-visible { - outline: 2px solid currentColor; - outline-offset: 2px; -} - -.loading { - pointer-events: none; - display: inline-block; - aspect-ratio: 1 / 1; - width: 1.5rem; - background-color: currentColor; - -webkit-mask-size: 100%; - mask-size: 100%; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E"); - mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} - -.mockup-phone .display { - overflow: hidden; - border-radius: 40px; - margin-top: -25px; -} - -.modal:not(dialog:not(.modal-open)), - .modal::backdrop { - background-color: #0006; - animation: modal-pop 0.2s ease-out; -} - -.modal-open .modal-box, -.modal-toggle:checked + .modal .modal-box, -.modal:target .modal-box, -.modal[open] .modal-box { - --tw-translate-y: 0px; - --tw-scale-x: 1; - --tw-scale-y: 1; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.modal-action > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(0.5rem * var(--tw-space-x-reverse)); - margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); -} - -@keyframes modal-pop { - 0% { - opacity: 0; - } -} - -@keyframes progress-loading { - 50% { - background-position-x: -115%; - } -} - -@keyframes radiomark { - 0% { - box-shadow: 0 0 0 12px var(--fallback-b1,oklch(var(--b1)/1)) inset, - 0 0 0 12px var(--fallback-b1,oklch(var(--b1)/1)) inset; - } - - 50% { - box-shadow: 0 0 0 3px var(--fallback-b1,oklch(var(--b1)/1)) inset, - 0 0 0 3px var(--fallback-b1,oklch(var(--b1)/1)) inset; - } - - 100% { - box-shadow: 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset, - 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset; - } -} - -@keyframes rating-pop { - 0% { - transform: translateY(-0.125em); - } - - 40% { - transform: translateY(-0.125em); - } - - 100% { - transform: translateY(0); - } -} - -@keyframes skeleton { - from { - background-position: 150%; - } - - to { - background-position: -50%; - } -} - -.steps .step:before { - top: 0px; - grid-column-start: 1; - grid-row-start: 1; - height: 0.5rem; - width: 100%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - --tw-bg-opacity: 1; - background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); - --tw-text-opacity: 1; - color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); - content: ""; - margin-inline-start: -100%; -} - -.steps .step:after { - content: counter(step); - counter-increment: step; - z-index: 1; - position: relative; - grid-column-start: 1; - grid-row-start: 1; - display: grid; - height: 2rem; - width: 2rem; - place-items: center; - place-self: center; - border-radius: 9999px; - --tw-bg-opacity: 1; - background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); - --tw-text-opacity: 1; - color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); -} - -.steps .step:first-child:before { - content: none; -} - -.steps .step[data-content]:after { - content: attr(data-content); -} - -.steps .step-neutral + .step-neutral:before, - .steps .step-neutral:after { - --tw-bg-opacity: 1; - background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); - --tw-text-opacity: 1; - color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))); -} - -.steps .step-primary + .step-primary:before, - .steps .step-primary:after { - --tw-bg-opacity: 1; - background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity))); - --tw-text-opacity: 1; - color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); -} - -.steps .step-secondary + .step-secondary:before, - .steps .step-secondary:after { - --tw-bg-opacity: 1; - background-color: var(--fallback-s,oklch(var(--s)/var(--tw-bg-opacity))); - --tw-text-opacity: 1; - color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity))); -} - -.steps .step-accent + .step-accent:before, - .steps .step-accent:after { - --tw-bg-opacity: 1; - background-color: var(--fallback-a,oklch(var(--a)/var(--tw-bg-opacity))); - --tw-text-opacity: 1; - color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity))); -} - -.steps .step-info + .step-info:before { - --tw-bg-opacity: 1; - background-color: var(--fallback-in,oklch(var(--in)/var(--tw-bg-opacity))); -} - -.steps .step-info:after { - --tw-bg-opacity: 1; - background-color: var(--fallback-in,oklch(var(--in)/var(--tw-bg-opacity))); - --tw-text-opacity: 1; - color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity))); -} - -.steps .step-success + .step-success:before { - --tw-bg-opacity: 1; - background-color: var(--fallback-su,oklch(var(--su)/var(--tw-bg-opacity))); -} - -.steps .step-success:after { - --tw-bg-opacity: 1; - background-color: var(--fallback-su,oklch(var(--su)/var(--tw-bg-opacity))); - --tw-text-opacity: 1; - color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity))); -} - -.steps .step-warning + .step-warning:before { - --tw-bg-opacity: 1; - background-color: var(--fallback-wa,oklch(var(--wa)/var(--tw-bg-opacity))); -} - -.steps .step-warning:after { - --tw-bg-opacity: 1; - background-color: var(--fallback-wa,oklch(var(--wa)/var(--tw-bg-opacity))); - --tw-text-opacity: 1; - color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity))); -} - -.steps .step-error + .step-error:before { - --tw-bg-opacity: 1; - background-color: var(--fallback-er,oklch(var(--er)/var(--tw-bg-opacity))); -} - -.steps .step-error:after { - --tw-bg-opacity: 1; - background-color: var(--fallback-er,oklch(var(--er)/var(--tw-bg-opacity))); - --tw-text-opacity: 1; - color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity))); -} - -.table:where([dir="rtl"], [dir="rtl"] *) { - text-align: right; -} - -.table :where(th, td) { - padding-left: 1rem; - padding-right: 1rem; - padding-top: 0.75rem; - padding-bottom: 0.75rem; - vertical-align: middle; -} - -.table tr.active, - .table tr.active:nth-child(even), - .table-zebra tbody tr:nth-child(even) { - --tw-bg-opacity: 1; - background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); -} - -.table :where(thead tr, tbody tr:not(:last-child), tbody tr:first-child:last-child) { - border-bottom-width: 1px; - --tw-border-opacity: 1; - border-bottom-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); -} - -.table :where(thead, tfoot) { - white-space: nowrap; - font-size: 0.75rem; - line-height: 1rem; - font-weight: 700; - color: var(--fallback-bc,oklch(var(--bc)/0.6)); -} - -.table :where(tfoot) { - border-top-width: 1px; - --tw-border-opacity: 1; - border-top-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); -} - -@keyframes toast-pop { - 0% { - transform: scale(0.9); - opacity: 0; - } - - 100% { - transform: scale(1); - opacity: 1; - } -} - -.btn-sm { - height: 2rem; - min-height: 2rem; - padding-left: 0.75rem; - padding-right: 0.75rem; - font-size: 0.875rem; -} - -.btn-lg { - height: 4rem; - min-height: 4rem; - padding-left: 1.5rem; - padding-right: 1.5rem; - font-size: 1.125rem; -} - -.btn-wide { - width: 16rem; -} - -.btn-square:where(.btn-sm) { - height: 2rem; - width: 2rem; - padding: 0px; -} - -.btn-square:where(.btn-lg) { - height: 4rem; - width: 4rem; - padding: 0px; -} - -.btn-circle:where(.btn-sm) { - height: 2rem; - width: 2rem; - border-radius: 9999px; - padding: 0px; -} - -.btn-circle:where(.btn-lg) { - height: 4rem; - width: 4rem; - border-radius: 9999px; - padding: 0px; -} - -.modal-bottom { - place-items: end; -} - -.steps-horizontal .step { - display: grid; - grid-template-columns: repeat(1, minmax(0, 1fr)); - grid-template-rows: repeat(2, minmax(0, 1fr)); - place-items: center; - text-align: center; -} - -.steps-vertical .step { - display: grid; - grid-template-columns: repeat(2, minmax(0, 1fr)); - grid-template-rows: repeat(1, minmax(0, 1fr)); -} - -.card-compact .card-title { - margin-bottom: 0.25rem; -} - -.card-normal .card-title { - margin-bottom: 0.75rem; -} - -.join.join-vertical > :where(*:not(:first-child)):is(.btn) { - margin-top: calc(var(--border-btn) * -1); -} - -.join.join-horizontal > :where(*:not(:first-child)):is(.btn) { - margin-inline-start: calc(var(--border-btn) * -1); - margin-top: 0px; -} - -.modal-top :where(.modal-box) { - width: 100%; - max-width: none; - --tw-translate-y: -2.5rem; - --tw-scale-x: 1; - --tw-scale-y: 1; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - border-bottom-right-radius: var(--rounded-box, 1rem); - border-bottom-left-radius: var(--rounded-box, 1rem); - border-top-left-radius: 0px; - border-top-right-radius: 0px; -} - -.modal-middle :where(.modal-box) { - width: 91.666667%; - max-width: 32rem; - --tw-translate-y: 0px; - --tw-scale-x: .9; - --tw-scale-y: .9; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - border-top-left-radius: var(--rounded-box, 1rem); - border-top-right-radius: var(--rounded-box, 1rem); - border-bottom-right-radius: var(--rounded-box, 1rem); - border-bottom-left-radius: var(--rounded-box, 1rem); -} - -.modal-bottom :where(.modal-box) { - width: 100%; - max-width: none; - --tw-translate-y: 2.5rem; - --tw-scale-x: 1; - --tw-scale-y: 1; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - border-top-left-radius: var(--rounded-box, 1rem); - border-top-right-radius: var(--rounded-box, 1rem); - border-bottom-right-radius: 0px; - border-bottom-left-radius: 0px; -} - -.steps-horizontal .step { - grid-template-rows: 40px 1fr; - grid-template-columns: auto; - min-width: 4rem; -} - -.steps-horizontal .step:before { - height: 0.5rem; - width: 100%; - --tw-translate-x: 0px; - --tw-translate-y: 0px; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - content: ""; - margin-inline-start: -100%; -} - -.steps-horizontal .step:where([dir="rtl"], [dir="rtl"] *):before { - --tw-translate-x: 0px; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.steps-vertical .step { - gap: 0.5rem; - grid-template-columns: 40px 1fr; - grid-template-rows: auto; - min-height: 4rem; - justify-items: start; -} - -.steps-vertical .step:before { - height: 100%; - width: 0.5rem; - --tw-translate-x: -50%; - --tw-translate-y: -50%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - margin-inline-start: 50%; -} - -.steps-vertical .step:where([dir="rtl"], [dir="rtl"] *):before { - --tw-translate-x: 50%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.static { - position: static; -} - -.fixed { - position: fixed; -} - -.absolute { - position: absolute; -} - -.relative { - position: relative; -} - -.-top-1\/3 { - top: -33.333333%; -} - -.bottom-0 { - bottom: 0px; -} - -.left-1\/2 { - left: 50%; -} - -.right-1 { - right: 0.25rem; -} - -.mx-auto { - margin-left: auto; - margin-right: auto; -} - -.my-4 { - margin-top: 1rem; - margin-bottom: 1rem; -} - -.mb-3 { - margin-bottom: 0.75rem; -} - -.mt-1 { - margin-top: 0.25rem; -} - -.mt-4 { - margin-top: 1rem; -} - -.mb-4 { - margin-bottom: 1rem; -} - -.flex { - display: flex; -} - -.table { - display: table; -} - -.h-14 { - height: 3.5rem; -} - -.h-16 { - height: 4rem; -} - -.h-20 { - height: 5rem; -} - -.h-96 { - height: 24rem; -} - -.h-12 { - height: 3rem; -} - -.min-h-screen { - min-height: 100vh; -} - -.w-14 { - width: 3.5rem; -} - -.w-96 { - width: 24rem; -} - -.w-max { - width: -moz-max-content; - width: max-content; -} - -.w-full { - width: 100%; -} - -.-translate-x-1\/2 { - --tw-translate-x: -50%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.transform { - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.flex-row { - flex-direction: row; -} - -.flex-col { - flex-direction: column; -} - -.items-center { - align-items: center; -} - -.justify-center { - justify-content: center; -} - -.justify-items-center { - justify-items: center; -} - -.space-x-4 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(1rem * var(--tw-space-x-reverse)); - margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); -} - -.space-y-4 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(1rem * var(--tw-space-y-reverse)); -} - -.rounded-badge { - border-radius: var(--rounded-badge, 1.9rem); -} - -.rounded-full { - border-radius: 9999px; -} - -.bg-base-200 { - --tw-bg-opacity: 1; - background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); -} - -.bg-green-300 { - --tw-bg-opacity: 1; - background-color: rgb(134 239 172 / var(--tw-bg-opacity)); -} - -.p-0 { - padding: 0px; -} - -.p-2 { - padding: 0.5rem; -} - -.p-3 { - padding: 0.75rem; -} - -.p-4 { - padding: 1rem; -} - -.px-4 { - padding-left: 1rem; - padding-right: 1rem; -} - -.py-4 { - padding-top: 1rem; - padding-bottom: 1rem; -} - -.text-center { - text-align: center; -} - -.font-roboto { - font-family: Roboto, roboto; -} - -.text-2xl { - font-size: 1.5rem; - line-height: 2rem; -} - -.text-3xl { - font-size: 1.875rem; - line-height: 2.25rem; -} - -.text-4xl { - font-size: 2.25rem; - line-height: 2.5rem; -} - -.text-lg { - font-size: 1.125rem; - line-height: 1.75rem; -} - -.text-sm { - font-size: 0.875rem; - line-height: 1.25rem; -} - -.font-bold { - font-weight: 700; -} - -.font-medium { - font-weight: 500; -} - -.italic { - font-style: italic; -} - -.text-base-200 { - --tw-text-opacity: 1; - color: var(--fallback-b2,oklch(var(--b2)/var(--tw-text-opacity))); -} - -.text-primary-content { - --tw-text-opacity: 1; - color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); -} - -.accent-error { - accent-color: var(--fallback-er,oklch(var(--er)/1)); -} - -.steps a.active + .step-primary:before, - .steps a.active:after { - --tw-bg-opacity: 1; - background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity))); - --tw-text-opacity: 1; - color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); -} - -a.active + a.active:before { - --tw-bg-opacity: 1; - background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity))); - --tw-text-opacity: 1; - color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); -} - -@media (min-width: 640px) { - .sm\:modal-middle { - place-items: center; - } - - .sm\:modal-middle :where(.modal-box) { - width: 91.666667%; - max-width: 32rem; - --tw-translate-y: 0px; - --tw-scale-x: .9; - --tw-scale-y: .9; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - border-top-left-radius: var(--rounded-box, 1rem); - border-top-right-radius: var(--rounded-box, 1rem); - border-bottom-right-radius: var(--rounded-box, 1rem); - border-bottom-left-radius: var(--rounded-box, 1rem); - } - - .sm\:flex-col { - flex-direction: column; - } - - .sm\:space-y-4 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(1rem * var(--tw-space-y-reverse)); - } -} - -@media (min-width: 768px) { - .md\:flex-row { - flex-direction: row; - } - - .md\:text-5xl { - font-size: 3rem; - line-height: 1; - } -} - -@media (min-width: 1024px) { - .lg\:w-max { - width: -moz-max-content; - width: max-content; - } - - .lg\:w-48 { - width: 12rem; - } - - .lg\:flex-row { - flex-direction: row; - } - - .lg\:space-x-4 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(1rem * var(--tw-space-x-reverse)); - margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); - } - - .lg\:space-y-0 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(0px * var(--tw-space-y-reverse)); - } -} diff --git a/src/Otchinslator/wwwroot/img/pdf.svg b/src/Otchinslator/wwwroot/img/pdf.svg new file mode 100644 index 0000000..50db969 --- /dev/null +++ b/src/Otchinslator/wwwroot/img/pdf.svg @@ -0,0 +1,26 @@ + + + + + + + + + + \ No newline at end of file