├── .gitignore ├── css └── main.css ├── img ├── avatar-ali.png ├── avatar-anisha.png ├── avatar-richard.png ├── avatar-shanai.png ├── bg-simplify-section-desktop.svg ├── bg-simplify-section-mobile.svg ├── bg-tablet-pattern.svg ├── favicon-32x32.png ├── icon-close.svg ├── icon-facebook.svg ├── icon-hamburger.svg ├── icon-instagram.svg ├── icon-pinterest.svg ├── icon-twitter.svg ├── icon-youtube.svg ├── illustration-intro.svg ├── logo-white.svg ├── logo.svg └── screen.png ├── index.html ├── input.css ├── js └── script.js ├── package-lock.json ├── package.json ├── readme.md └── tailwind.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store -------------------------------------------------------------------------------- /css/main.css: -------------------------------------------------------------------------------- 1 | /* 2 | ! tailwindcss v3.0.23 | MIT License | https://tailwindcss.com 3 | */ 4 | 5 | /* 6 | 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) 7 | 2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) 8 | */ 9 | 10 | *, 11 | ::before, 12 | ::after { 13 | box-sizing: border-box; 14 | /* 1 */ 15 | border-width: 0; 16 | /* 2 */ 17 | border-style: solid; 18 | /* 2 */ 19 | border-color: #e5e7eb; 20 | /* 2 */ 21 | } 22 | 23 | ::before, 24 | ::after { 25 | --tw-content: ''; 26 | } 27 | 28 | /* 29 | 1. Use a consistent sensible line-height in all browsers. 30 | 2. Prevent adjustments of font size after orientation changes in iOS. 31 | 3. Use a more readable tab size. 32 | 4. Use the user's configured `sans` font-family by default. 33 | */ 34 | 35 | html { 36 | line-height: 1.5; 37 | /* 1 */ 38 | -webkit-text-size-adjust: 100%; 39 | /* 2 */ 40 | -moz-tab-size: 4; 41 | /* 3 */ 42 | -o-tab-size: 4; 43 | tab-size: 4; 44 | /* 3 */ 45 | font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; 46 | /* 4 */ 47 | } 48 | 49 | /* 50 | 1. Remove the margin in all browsers. 51 | 2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. 52 | */ 53 | 54 | body { 55 | margin: 0; 56 | /* 1 */ 57 | line-height: inherit; 58 | /* 2 */ 59 | } 60 | 61 | /* 62 | 1. Add the correct height in Firefox. 63 | 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) 64 | 3. Ensure horizontal rules are visible by default. 65 | */ 66 | 67 | hr { 68 | height: 0; 69 | /* 1 */ 70 | color: inherit; 71 | /* 2 */ 72 | border-top-width: 1px; 73 | /* 3 */ 74 | } 75 | 76 | /* 77 | Add the correct text decoration in Chrome, Edge, and Safari. 78 | */ 79 | 80 | abbr:where([title]) { 81 | -webkit-text-decoration: underline dotted; 82 | text-decoration: underline dotted; 83 | } 84 | 85 | /* 86 | Remove the default font size and weight for headings. 87 | */ 88 | 89 | h1, 90 | h2, 91 | h3, 92 | h4, 93 | h5, 94 | h6 { 95 | font-size: inherit; 96 | font-weight: inherit; 97 | } 98 | 99 | /* 100 | Reset links to optimize for opt-in styling instead of opt-out. 101 | */ 102 | 103 | a { 104 | color: inherit; 105 | text-decoration: inherit; 106 | } 107 | 108 | /* 109 | Add the correct font weight in Edge and Safari. 110 | */ 111 | 112 | b, 113 | strong { 114 | font-weight: bolder; 115 | } 116 | 117 | /* 118 | 1. Use the user's configured `mono` font family by default. 119 | 2. Correct the odd `em` font sizing in all browsers. 120 | */ 121 | 122 | code, 123 | kbd, 124 | samp, 125 | pre { 126 | font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; 127 | /* 1 */ 128 | font-size: 1em; 129 | /* 2 */ 130 | } 131 | 132 | /* 133 | Add the correct font size in all browsers. 134 | */ 135 | 136 | small { 137 | font-size: 80%; 138 | } 139 | 140 | /* 141 | Prevent `sub` and `sup` elements from affecting the line height in all browsers. 142 | */ 143 | 144 | sub, 145 | sup { 146 | font-size: 75%; 147 | line-height: 0; 148 | position: relative; 149 | vertical-align: baseline; 150 | } 151 | 152 | sub { 153 | bottom: -0.25em; 154 | } 155 | 156 | sup { 157 | top: -0.5em; 158 | } 159 | 160 | /* 161 | 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) 162 | 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) 163 | 3. Remove gaps between table borders by default. 164 | */ 165 | 166 | table { 167 | text-indent: 0; 168 | /* 1 */ 169 | border-color: inherit; 170 | /* 2 */ 171 | border-collapse: collapse; 172 | /* 3 */ 173 | } 174 | 175 | /* 176 | 1. Change the font styles in all browsers. 177 | 2. Remove the margin in Firefox and Safari. 178 | 3. Remove default padding in all browsers. 179 | */ 180 | 181 | button, 182 | input, 183 | optgroup, 184 | select, 185 | textarea { 186 | font-family: inherit; 187 | /* 1 */ 188 | font-size: 100%; 189 | /* 1 */ 190 | line-height: inherit; 191 | /* 1 */ 192 | color: inherit; 193 | /* 1 */ 194 | margin: 0; 195 | /* 2 */ 196 | padding: 0; 197 | /* 3 */ 198 | } 199 | 200 | /* 201 | Remove the inheritance of text transform in Edge and Firefox. 202 | */ 203 | 204 | button, 205 | select { 206 | text-transform: none; 207 | } 208 | 209 | /* 210 | 1. Correct the inability to style clickable types in iOS and Safari. 211 | 2. Remove default button styles. 212 | */ 213 | 214 | button, 215 | [type='button'], 216 | [type='reset'], 217 | [type='submit'] { 218 | -webkit-appearance: button; 219 | /* 1 */ 220 | background-color: transparent; 221 | /* 2 */ 222 | background-image: none; 223 | /* 2 */ 224 | } 225 | 226 | /* 227 | Use the modern Firefox focus style for all focusable elements. 228 | */ 229 | 230 | :-moz-focusring { 231 | outline: auto; 232 | } 233 | 234 | /* 235 | Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) 236 | */ 237 | 238 | :-moz-ui-invalid { 239 | box-shadow: none; 240 | } 241 | 242 | /* 243 | Add the correct vertical alignment in Chrome and Firefox. 244 | */ 245 | 246 | progress { 247 | vertical-align: baseline; 248 | } 249 | 250 | /* 251 | Correct the cursor style of increment and decrement buttons in Safari. 252 | */ 253 | 254 | ::-webkit-inner-spin-button, 255 | ::-webkit-outer-spin-button { 256 | height: auto; 257 | } 258 | 259 | /* 260 | 1. Correct the odd appearance in Chrome and Safari. 261 | 2. Correct the outline style in Safari. 262 | */ 263 | 264 | [type='search'] { 265 | -webkit-appearance: textfield; 266 | /* 1 */ 267 | outline-offset: -2px; 268 | /* 2 */ 269 | } 270 | 271 | /* 272 | Remove the inner padding in Chrome and Safari on macOS. 273 | */ 274 | 275 | ::-webkit-search-decoration { 276 | -webkit-appearance: none; 277 | } 278 | 279 | /* 280 | 1. Correct the inability to style clickable types in iOS and Safari. 281 | 2. Change font properties to `inherit` in Safari. 282 | */ 283 | 284 | ::-webkit-file-upload-button { 285 | -webkit-appearance: button; 286 | /* 1 */ 287 | font: inherit; 288 | /* 2 */ 289 | } 290 | 291 | /* 292 | Add the correct display in Chrome and Safari. 293 | */ 294 | 295 | summary { 296 | display: list-item; 297 | } 298 | 299 | /* 300 | Removes the default spacing and border for appropriate elements. 301 | */ 302 | 303 | blockquote, 304 | dl, 305 | dd, 306 | h1, 307 | h2, 308 | h3, 309 | h4, 310 | h5, 311 | h6, 312 | hr, 313 | figure, 314 | p, 315 | pre { 316 | margin: 0; 317 | } 318 | 319 | fieldset { 320 | margin: 0; 321 | padding: 0; 322 | } 323 | 324 | legend { 325 | padding: 0; 326 | } 327 | 328 | ol, 329 | ul, 330 | menu { 331 | list-style: none; 332 | margin: 0; 333 | padding: 0; 334 | } 335 | 336 | /* 337 | Prevent resizing textareas horizontally by default. 338 | */ 339 | 340 | textarea { 341 | resize: vertical; 342 | } 343 | 344 | /* 345 | 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) 346 | 2. Set the default placeholder color to the user's configured gray 400 color. 347 | */ 348 | 349 | input::-moz-placeholder, textarea::-moz-placeholder { 350 | opacity: 1; 351 | /* 1 */ 352 | color: #9ca3af; 353 | /* 2 */ 354 | } 355 | 356 | input:-ms-input-placeholder, textarea:-ms-input-placeholder { 357 | opacity: 1; 358 | /* 1 */ 359 | color: #9ca3af; 360 | /* 2 */ 361 | } 362 | 363 | input::placeholder, 364 | textarea::placeholder { 365 | opacity: 1; 366 | /* 1 */ 367 | color: #9ca3af; 368 | /* 2 */ 369 | } 370 | 371 | /* 372 | Set the default cursor for buttons. 373 | */ 374 | 375 | button, 376 | [role="button"] { 377 | cursor: pointer; 378 | } 379 | 380 | /* 381 | Make sure disabled buttons don't get the pointer cursor. 382 | */ 383 | 384 | :disabled { 385 | cursor: default; 386 | } 387 | 388 | /* 389 | 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) 390 | 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) 391 | This can trigger a poorly considered lint error in some tools but is included by design. 392 | */ 393 | 394 | img, 395 | svg, 396 | video, 397 | canvas, 398 | audio, 399 | iframe, 400 | embed, 401 | object { 402 | display: block; 403 | /* 1 */ 404 | vertical-align: middle; 405 | /* 2 */ 406 | } 407 | 408 | /* 409 | Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) 410 | */ 411 | 412 | img, 413 | video { 414 | max-width: 100%; 415 | height: auto; 416 | } 417 | 418 | /* 419 | Ensure the default browser behavior of the `hidden` attribute. 420 | */ 421 | 422 | [hidden] { 423 | display: none; 424 | } 425 | 426 | *, ::before, ::after { 427 | --tw-translate-x: 0; 428 | --tw-translate-y: 0; 429 | --tw-rotate: 0; 430 | --tw-skew-x: 0; 431 | --tw-skew-y: 0; 432 | --tw-scale-x: 1; 433 | --tw-scale-y: 1; 434 | --tw-pan-x: ; 435 | --tw-pan-y: ; 436 | --tw-pinch-zoom: ; 437 | --tw-scroll-snap-strictness: proximity; 438 | --tw-ordinal: ; 439 | --tw-slashed-zero: ; 440 | --tw-numeric-figure: ; 441 | --tw-numeric-spacing: ; 442 | --tw-numeric-fraction: ; 443 | --tw-ring-inset: ; 444 | --tw-ring-offset-width: 0px; 445 | --tw-ring-offset-color: #fff; 446 | --tw-ring-color: rgb(59 130 246 / 0.5); 447 | --tw-ring-offset-shadow: 0 0 #0000; 448 | --tw-ring-shadow: 0 0 #0000; 449 | --tw-shadow: 0 0 #0000; 450 | --tw-shadow-colored: 0 0 #0000; 451 | --tw-blur: ; 452 | --tw-brightness: ; 453 | --tw-contrast: ; 454 | --tw-grayscale: ; 455 | --tw-hue-rotate: ; 456 | --tw-invert: ; 457 | --tw-saturate: ; 458 | --tw-sepia: ; 459 | --tw-drop-shadow: ; 460 | --tw-backdrop-blur: ; 461 | --tw-backdrop-brightness: ; 462 | --tw-backdrop-contrast: ; 463 | --tw-backdrop-grayscale: ; 464 | --tw-backdrop-hue-rotate: ; 465 | --tw-backdrop-invert: ; 466 | --tw-backdrop-opacity: ; 467 | --tw-backdrop-saturate: ; 468 | --tw-backdrop-sepia: ; 469 | } 470 | 471 | .container { 472 | width: 100%; 473 | } 474 | 475 | @media (min-width: 480px) { 476 | .container { 477 | max-width: 480px; 478 | } 479 | } 480 | 481 | @media (min-width: 768px) { 482 | .container { 483 | max-width: 768px; 484 | } 485 | } 486 | 487 | @media (min-width: 976px) { 488 | .container { 489 | max-width: 976px; 490 | } 491 | } 492 | 493 | @media (min-width: 1440px) { 494 | .container { 495 | max-width: 1440px; 496 | } 497 | } 498 | 499 | .absolute { 500 | position: absolute; 501 | } 502 | 503 | .relative { 504 | position: relative; 505 | } 506 | 507 | .left-6 { 508 | left: 1.5rem; 509 | } 510 | 511 | .right-6 { 512 | right: 1.5rem; 513 | } 514 | 515 | .mx-auto { 516 | margin-left: auto; 517 | margin-right: auto; 518 | } 519 | 520 | .my-16 { 521 | margin-top: 4rem; 522 | margin-bottom: 4rem; 523 | } 524 | 525 | .my-6 { 526 | margin-top: 1.5rem; 527 | margin-bottom: 1.5rem; 528 | } 529 | 530 | .mt-10 { 531 | margin-top: 2.5rem; 532 | } 533 | 534 | .mb-32 { 535 | margin-bottom: 8rem; 536 | } 537 | 538 | .mb-4 { 539 | margin-bottom: 1rem; 540 | } 541 | 542 | .mt-32 { 543 | margin-top: 8rem; 544 | } 545 | 546 | .mt-24 { 547 | margin-top: 6rem; 548 | } 549 | 550 | .-mt-14 { 551 | margin-top: -3.5rem; 552 | } 553 | 554 | .block { 555 | display: block; 556 | } 557 | 558 | .flex { 559 | display: flex; 560 | } 561 | 562 | .hidden { 563 | display: none; 564 | } 565 | 566 | .h-8 { 567 | height: 2rem; 568 | } 569 | 570 | .w-16 { 571 | width: 4rem; 572 | } 573 | 574 | .max-w-md { 575 | max-width: 28rem; 576 | } 577 | 578 | .max-w-sm { 579 | max-width: 24rem; 580 | } 581 | 582 | .max-w-6xl { 583 | max-width: 72rem; 584 | } 585 | 586 | .flex-1 { 587 | flex: 1 1 0%; 588 | } 589 | 590 | .flex-col { 591 | flex-direction: column; 592 | } 593 | 594 | .flex-col-reverse { 595 | flex-direction: column-reverse; 596 | } 597 | 598 | .items-center { 599 | align-items: center; 600 | } 601 | 602 | .justify-center { 603 | justify-content: center; 604 | } 605 | 606 | .justify-between { 607 | justify-content: space-between; 608 | } 609 | 610 | .justify-around { 611 | justify-content: space-around; 612 | } 613 | 614 | .space-x-6 > :not([hidden]) ~ :not([hidden]) { 615 | --tw-space-x-reverse: 0; 616 | margin-right: calc(1.5rem * var(--tw-space-x-reverse)); 617 | margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse))); 618 | } 619 | 620 | .space-y-6 > :not([hidden]) ~ :not([hidden]) { 621 | --tw-space-y-reverse: 0; 622 | margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))); 623 | margin-bottom: calc(1.5rem * var(--tw-space-y-reverse)); 624 | } 625 | 626 | .space-y-0 > :not([hidden]) ~ :not([hidden]) { 627 | --tw-space-y-reverse: 0; 628 | margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))); 629 | margin-bottom: calc(0px * var(--tw-space-y-reverse)); 630 | } 631 | 632 | .space-y-12 > :not([hidden]) ~ :not([hidden]) { 633 | --tw-space-y-reverse: 0; 634 | margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse))); 635 | margin-bottom: calc(3rem * var(--tw-space-y-reverse)); 636 | } 637 | 638 | .space-y-8 > :not([hidden]) ~ :not([hidden]) { 639 | --tw-space-y-reverse: 0; 640 | margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse))); 641 | margin-bottom: calc(2rem * var(--tw-space-y-reverse)); 642 | } 643 | 644 | .space-y-3 > :not([hidden]) ~ :not([hidden]) { 645 | --tw-space-y-reverse: 0; 646 | margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse))); 647 | margin-bottom: calc(0.75rem * var(--tw-space-y-reverse)); 648 | } 649 | 650 | .space-x-2 > :not([hidden]) ~ :not([hidden]) { 651 | --tw-space-x-reverse: 0; 652 | margin-right: calc(0.5rem * var(--tw-space-x-reverse)); 653 | margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); 654 | } 655 | 656 | .space-x-4 > :not([hidden]) ~ :not([hidden]) { 657 | --tw-space-x-reverse: 0; 658 | margin-right: calc(1rem * var(--tw-space-x-reverse)); 659 | margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); 660 | } 661 | 662 | .space-x-32 > :not([hidden]) ~ :not([hidden]) { 663 | --tw-space-x-reverse: 0; 664 | margin-right: calc(8rem * var(--tw-space-x-reverse)); 665 | margin-left: calc(8rem * calc(1 - var(--tw-space-x-reverse))); 666 | } 667 | 668 | .space-x-3 > :not([hidden]) ~ :not([hidden]) { 669 | --tw-space-x-reverse: 0; 670 | margin-right: calc(0.75rem * var(--tw-space-x-reverse)); 671 | margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse))); 672 | } 673 | 674 | .self-end { 675 | align-self: flex-end; 676 | } 677 | 678 | .rounded-full { 679 | border-radius: 9999px; 680 | } 681 | 682 | .rounded-lg { 683 | border-radius: 0.5rem; 684 | } 685 | 686 | .rounded-l-full { 687 | border-top-left-radius: 9999px; 688 | border-bottom-left-radius: 9999px; 689 | } 690 | 691 | .bg-brightRed { 692 | --tw-bg-opacity: 1; 693 | background-color: hsl(12 88% 59% / var(--tw-bg-opacity)); 694 | } 695 | 696 | .bg-white { 697 | --tw-bg-opacity: 1; 698 | background-color: rgb(255 255 255 / var(--tw-bg-opacity)); 699 | } 700 | 701 | .bg-brightRedSupLight { 702 | --tw-bg-opacity: 1; 703 | background-color: hsl(12 88% 95% / var(--tw-bg-opacity)); 704 | } 705 | 706 | .bg-veryLightGray { 707 | --tw-bg-opacity: 1; 708 | background-color: hsl(0 0% 98% / var(--tw-bg-opacity)); 709 | } 710 | 711 | .bg-veryDarkBlue { 712 | --tw-bg-opacity: 1; 713 | background-color: hsl(233 12% 13% / var(--tw-bg-opacity)); 714 | } 715 | 716 | .p-6 { 717 | padding: 1.5rem; 718 | } 719 | 720 | .p-3 { 721 | padding: 0.75rem; 722 | } 723 | 724 | .px-6 { 725 | padding-left: 1.5rem; 726 | padding-right: 1.5rem; 727 | } 728 | 729 | .py-8 { 730 | padding-top: 2rem; 731 | padding-bottom: 2rem; 732 | } 733 | 734 | .px-4 { 735 | padding-left: 1rem; 736 | padding-right: 1rem; 737 | } 738 | 739 | .py-2 { 740 | padding-top: 0.5rem; 741 | padding-bottom: 0.5rem; 742 | } 743 | 744 | .px-5 { 745 | padding-left: 1.25rem; 746 | padding-right: 1.25rem; 747 | } 748 | 749 | .py-24 { 750 | padding-top: 6rem; 751 | padding-bottom: 6rem; 752 | } 753 | 754 | .py-10 { 755 | padding-top: 2.5rem; 756 | padding-bottom: 2.5rem; 757 | } 758 | 759 | .pt-2 { 760 | padding-top: 0.5rem; 761 | } 762 | 763 | .text-center { 764 | text-align: center; 765 | } 766 | 767 | .text-4xl { 768 | font-size: 2.25rem; 769 | line-height: 2.5rem; 770 | } 771 | 772 | .text-base { 773 | font-size: 1rem; 774 | line-height: 1.5rem; 775 | } 776 | 777 | .text-lg { 778 | font-size: 1.125rem; 779 | line-height: 1.75rem; 780 | } 781 | 782 | .text-sm { 783 | font-size: 0.875rem; 784 | line-height: 1.25rem; 785 | } 786 | 787 | .text-5xl { 788 | font-size: 3rem; 789 | line-height: 1; 790 | } 791 | 792 | .font-bold { 793 | font-weight: 700; 794 | } 795 | 796 | .leading-tight { 797 | line-height: 1.25; 798 | } 799 | 800 | .text-white { 801 | --tw-text-opacity: 1; 802 | color: rgb(255 255 255 / var(--tw-text-opacity)); 803 | } 804 | 805 | .text-darkGrayishBlue { 806 | --tw-text-opacity: 1; 807 | color: hsl(227 12% 61% / var(--tw-text-opacity)); 808 | } 809 | 810 | .text-brightRed { 811 | --tw-text-opacity: 1; 812 | color: hsl(12 88% 59% / var(--tw-text-opacity)); 813 | } 814 | 815 | .shadow-2xl { 816 | --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25); 817 | --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color); 818 | box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); 819 | } 820 | 821 | .drop-shadow-md { 822 | --tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06)); 823 | filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); 824 | } 825 | 826 | body { 827 | background-image: url('../img/bg-tablet-pattern.svg'); 828 | background-repeat: no-repeat; 829 | background-size: 800px; 830 | background-position: 90% -25%; 831 | } 832 | 833 | #cta { 834 | background-image: url('../img/bg-simplify-section-desktop.svg'); 835 | background-repeat: no-repeat; 836 | } 837 | 838 | @media (max-width: 576px) { 839 | body { 840 | background-position: 50px -50px; 841 | background-size: 500px; 842 | } 843 | 844 | #cta { 845 | background-image: url('../img/bg-simplify-section-mobile.svg'); 846 | } 847 | } 848 | 849 | /* Hamburger Menu */ 850 | 851 | .hamburger { 852 | cursor: pointer; 853 | width: 24px; 854 | height: 24px; 855 | transition: all 0.25s; 856 | position: relative; 857 | } 858 | 859 | .hamburger-top, 860 | .hamburger-middle, 861 | .hamburger-bottom { 862 | position: absolute; 863 | top: 0; 864 | left: 0; 865 | width: 24px; 866 | height: 2px; 867 | background: #000; 868 | transform: rotate(0); 869 | transition: all 0.5s; 870 | } 871 | 872 | .hamburger-middle { 873 | transform: translateY(7px); 874 | } 875 | 876 | .hamburger-bottom { 877 | transform: translateY(14px); 878 | } 879 | 880 | .open { 881 | transform: rotate(90deg); 882 | transform: translateY(0px); 883 | } 884 | 885 | .open .hamburger-top { 886 | transform: rotate(45deg) translateY(6px) translate(6px); 887 | } 888 | 889 | .open .hamburger-middle { 890 | display: none; 891 | } 892 | 893 | .open .hamburger-bottom { 894 | transform: rotate(-45deg) translateY(6px) translate(-6px); 895 | } 896 | 897 | .hover\:bg-brightRedLight:hover { 898 | --tw-bg-opacity: 1; 899 | background-color: hsl(12 88% 69% / var(--tw-bg-opacity)); 900 | } 901 | 902 | .hover\:bg-gray-900:hover { 903 | --tw-bg-opacity: 1; 904 | background-color: rgb(17 24 39 / var(--tw-bg-opacity)); 905 | } 906 | 907 | .hover\:text-darkGrayishBlue:hover { 908 | --tw-text-opacity: 1; 909 | color: hsl(227 12% 61% / var(--tw-text-opacity)); 910 | } 911 | 912 | .hover\:text-brightRed:hover { 913 | --tw-text-opacity: 1; 914 | color: hsl(12 88% 59% / var(--tw-text-opacity)); 915 | } 916 | 917 | .focus\:outline-none:focus { 918 | outline: 2px solid transparent; 919 | outline-offset: 2px; 920 | } 921 | 922 | @media (min-width: 480px) { 923 | .sm\:w-auto { 924 | width: auto; 925 | } 926 | 927 | .sm\:self-center { 928 | align-self: center; 929 | } 930 | } 931 | 932 | @media (min-width: 768px) { 933 | .md\:mb-4 { 934 | margin-bottom: 1rem; 935 | } 936 | 937 | .md\:block { 938 | display: block; 939 | } 940 | 941 | .md\:flex { 942 | display: flex; 943 | } 944 | 945 | .md\:hidden { 946 | display: none; 947 | } 948 | 949 | .md\:w-1\/2 { 950 | width: 50%; 951 | } 952 | 953 | .md\:w-1\/3 { 954 | width: 33.333333%; 955 | } 956 | 957 | .md\:max-w-xl { 958 | max-width: 36rem; 959 | } 960 | 961 | .md\:flex-row { 962 | flex-direction: row; 963 | } 964 | 965 | .md\:flex-col { 966 | flex-direction: column; 967 | } 968 | 969 | .md\:items-start { 970 | align-items: flex-start; 971 | } 972 | 973 | .md\:justify-start { 974 | justify-content: flex-start; 975 | } 976 | 977 | .md\:space-y-0 > :not([hidden]) ~ :not([hidden]) { 978 | --tw-space-y-reverse: 0; 979 | margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))); 980 | margin-bottom: calc(0px * var(--tw-space-y-reverse)); 981 | } 982 | 983 | .md\:space-x-6 > :not([hidden]) ~ :not([hidden]) { 984 | --tw-space-x-reverse: 0; 985 | margin-right: calc(1.5rem * var(--tw-space-x-reverse)); 986 | margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse))); 987 | } 988 | 989 | .md\:bg-transparent { 990 | background-color: transparent; 991 | } 992 | 993 | .md\:py-1 { 994 | padding-top: 0.25rem; 995 | padding-bottom: 0.25rem; 996 | } 997 | 998 | .md\:py-12 { 999 | padding-top: 3rem; 1000 | padding-bottom: 3rem; 1001 | } 1002 | 1003 | .md\:text-left { 1004 | text-align: left; 1005 | } 1006 | 1007 | .md\:text-5xl { 1008 | font-size: 3rem; 1009 | line-height: 1; 1010 | } 1011 | 1012 | .md\:text-4xl { 1013 | font-size: 2.25rem; 1014 | line-height: 2.5rem; 1015 | } 1016 | } 1017 | -------------------------------------------------------------------------------- /img/avatar-ali.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradtraversy/tailwind-landing-page/249d73eaa143aa213a5d56de2b2a941f68b20a7a/img/avatar-ali.png -------------------------------------------------------------------------------- /img/avatar-anisha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradtraversy/tailwind-landing-page/249d73eaa143aa213a5d56de2b2a941f68b20a7a/img/avatar-anisha.png -------------------------------------------------------------------------------- /img/avatar-richard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradtraversy/tailwind-landing-page/249d73eaa143aa213a5d56de2b2a941f68b20a7a/img/avatar-richard.png -------------------------------------------------------------------------------- /img/avatar-shanai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradtraversy/tailwind-landing-page/249d73eaa143aa213a5d56de2b2a941f68b20a7a/img/avatar-shanai.png -------------------------------------------------------------------------------- /img/bg-simplify-section-desktop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /img/bg-simplify-section-mobile.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /img/bg-tablet-pattern.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /img/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradtraversy/tailwind-landing-page/249d73eaa143aa213a5d56de2b2a941f68b20a7a/img/favicon-32x32.png -------------------------------------------------------------------------------- /img/icon-close.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /img/icon-facebook.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /img/icon-hamburger.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /img/icon-instagram.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /img/icon-pinterest.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /img/icon-twitter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /img/icon-youtube.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /img/illustration-intro.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /img/logo-white.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /img/logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /img/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradtraversy/tailwind-landing-page/249d73eaa143aa213a5d56de2b2a941f68b20a7a/img/screen.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Manage Landing Page 9 | 10 | 11 | 12 | 59 | 60 | 61 |
62 | 63 |
66 | 67 |
68 |

71 | Bring everyone together to build better products 72 |

73 |

74 | Manage makes it simple for software teams to plan day-to-day tasks 75 | while keeping the larger team goals in view. 76 |

77 |
78 | Get Started 83 |
84 |
85 | 86 |
87 | 88 |
89 |
90 |
91 | 92 | 93 |
94 | 95 |
98 | 99 |
100 |

101 | What's different about Manage? 102 |

103 |

104 | Manage provides all the functionality your team needs, without the 105 | complexity. Our software is tailor-made for modern digital product 106 | teams. 107 |

108 |
109 | 110 | 111 |
112 | 113 |
116 | 117 |
118 |
119 |
122 | 01 123 |
124 |

125 | Track company-wide progress 126 |

127 |
128 |
129 | 130 |
131 | 134 |

135 | See how your day-to-day tasks fit into the wider vision. Go from 136 | tracking progress at the milestone level all the way down to the 137 | smallest of details. Never lose sight of the bigger picture 138 | again. 139 |

140 |
141 |
142 | 143 | 144 |
147 | 148 |
149 |
150 |
153 | 02 154 |
155 |

156 | Advanced built-in reports 157 |

158 |
159 |
160 | 161 |
162 | 165 |

166 | Set internal delivery estimates and track progress toward 167 | company goals. Our customisable dashboard helps you build out 168 | the reports you need to keep key stakeholders informed. 169 |

170 |
171 |
172 | 173 | 174 |
177 | 178 |
179 |
180 |
183 | 03 184 |
185 |

186 | Everything you need in one place 187 |

188 |
189 |
190 | 191 |
192 | 195 |

196 | Stop jumping from one service to another to communicate, store 197 | files, track tasks and share documents. Manage offers an 198 | all-in-one team productivity solution. 199 |

200 |
201 |
202 |
203 |
204 |
205 | 206 | 207 |
208 | 209 |
210 | 211 |

212 | What's Different About Manage? 213 |

214 | 215 |
216 | 217 |
220 | 221 |
Anisha Li
222 |

223 | “Manage has supercharged our team’s workflow. The ability to 224 | maintain visibility on larger milestones at all times keeps 225 | everyone motivated.” 226 |

227 |
228 | 229 | 230 | 241 | 242 | 243 | 254 |
255 | 256 |
257 | Get Started 262 |
263 |
264 |
265 | 266 | 267 |
268 | 269 |
272 | 273 |

276 | Simplify how your team works today 277 |

278 | 279 |
280 | Get Started 285 |
286 |
287 |
288 | 289 | 290 | 367 | 368 | 369 | 370 | 371 | -------------------------------------------------------------------------------- /input.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | body { 6 | background-image: url('../img/bg-tablet-pattern.svg'); 7 | background-repeat: no-repeat; 8 | background-size: 800px; 9 | background-position: 90% -25%; 10 | } 11 | 12 | #cta { 13 | background-image: url('../img/bg-simplify-section-desktop.svg'); 14 | background-repeat: no-repeat; 15 | } 16 | 17 | @media (max-width: 576px) { 18 | body { 19 | background-position: 50px -50px; 20 | background-size: 500px; 21 | } 22 | 23 | #cta { 24 | background-image: url('../img/bg-simplify-section-mobile.svg'); 25 | } 26 | } 27 | 28 | /* Hamburger Menu */ 29 | .hamburger { 30 | cursor: pointer; 31 | width: 24px; 32 | height: 24px; 33 | transition: all 0.25s; 34 | position: relative; 35 | } 36 | 37 | .hamburger-top, 38 | .hamburger-middle, 39 | .hamburger-bottom { 40 | position: absolute; 41 | top: 0; 42 | left: 0; 43 | width: 24px; 44 | height: 2px; 45 | background: #000; 46 | transform: rotate(0); 47 | transition: all 0.5s; 48 | } 49 | 50 | .hamburger-middle { 51 | transform: translateY(7px); 52 | } 53 | 54 | .hamburger-bottom { 55 | transform: translateY(14px); 56 | } 57 | 58 | .open { 59 | transform: rotate(90deg); 60 | transform: translateY(0px); 61 | } 62 | 63 | .open .hamburger-top { 64 | transform: rotate(45deg) translateY(6px) translate(6px); 65 | } 66 | 67 | .open .hamburger-middle { 68 | display: none; 69 | } 70 | 71 | .open .hamburger-bottom { 72 | transform: rotate(-45deg) translateY(6px) translate(-6px); 73 | } 74 | -------------------------------------------------------------------------------- /js/script.js: -------------------------------------------------------------------------------- 1 | const btn = document.getElementById('menu-btn') 2 | const nav = document.getElementById('menu') 3 | 4 | btn.addEventListener('click', () => { 5 | btn.classList.toggle('open') 6 | nav.classList.toggle('flex') 7 | nav.classList.toggle('hidden') 8 | }) 9 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tailwind-manage-landing", 3 | "version": "1.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "tailwind-manage-landing", 9 | "version": "1.0.0", 10 | "license": "ISC", 11 | "devDependencies": { 12 | "tailwindcss": "^3.0.23" 13 | } 14 | }, 15 | "node_modules/@babel/code-frame": { 16 | "version": "7.16.7", 17 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", 18 | "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", 19 | "dev": true, 20 | "dependencies": { 21 | "@babel/highlight": "^7.16.7" 22 | }, 23 | "engines": { 24 | "node": ">=6.9.0" 25 | } 26 | }, 27 | "node_modules/@babel/helper-validator-identifier": { 28 | "version": "7.16.7", 29 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", 30 | "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", 31 | "dev": true, 32 | "engines": { 33 | "node": ">=6.9.0" 34 | } 35 | }, 36 | "node_modules/@babel/highlight": { 37 | "version": "7.16.10", 38 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", 39 | "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", 40 | "dev": true, 41 | "dependencies": { 42 | "@babel/helper-validator-identifier": "^7.16.7", 43 | "chalk": "^2.0.0", 44 | "js-tokens": "^4.0.0" 45 | }, 46 | "engines": { 47 | "node": ">=6.9.0" 48 | } 49 | }, 50 | "node_modules/@babel/highlight/node_modules/ansi-styles": { 51 | "version": "3.2.1", 52 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 53 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 54 | "dev": true, 55 | "dependencies": { 56 | "color-convert": "^1.9.0" 57 | }, 58 | "engines": { 59 | "node": ">=4" 60 | } 61 | }, 62 | "node_modules/@babel/highlight/node_modules/chalk": { 63 | "version": "2.4.2", 64 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 65 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 66 | "dev": true, 67 | "dependencies": { 68 | "ansi-styles": "^3.2.1", 69 | "escape-string-regexp": "^1.0.5", 70 | "supports-color": "^5.3.0" 71 | }, 72 | "engines": { 73 | "node": ">=4" 74 | } 75 | }, 76 | "node_modules/@babel/highlight/node_modules/color-convert": { 77 | "version": "1.9.3", 78 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 79 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 80 | "dev": true, 81 | "dependencies": { 82 | "color-name": "1.1.3" 83 | } 84 | }, 85 | "node_modules/@babel/highlight/node_modules/color-name": { 86 | "version": "1.1.3", 87 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 88 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 89 | "dev": true 90 | }, 91 | "node_modules/@babel/highlight/node_modules/has-flag": { 92 | "version": "3.0.0", 93 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 94 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 95 | "dev": true, 96 | "engines": { 97 | "node": ">=4" 98 | } 99 | }, 100 | "node_modules/@babel/highlight/node_modules/supports-color": { 101 | "version": "5.5.0", 102 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 103 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 104 | "dev": true, 105 | "dependencies": { 106 | "has-flag": "^3.0.0" 107 | }, 108 | "engines": { 109 | "node": ">=4" 110 | } 111 | }, 112 | "node_modules/@nodelib/fs.scandir": { 113 | "version": "2.1.5", 114 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 115 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 116 | "dev": true, 117 | "dependencies": { 118 | "@nodelib/fs.stat": "2.0.5", 119 | "run-parallel": "^1.1.9" 120 | }, 121 | "engines": { 122 | "node": ">= 8" 123 | } 124 | }, 125 | "node_modules/@nodelib/fs.stat": { 126 | "version": "2.0.5", 127 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 128 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 129 | "dev": true, 130 | "engines": { 131 | "node": ">= 8" 132 | } 133 | }, 134 | "node_modules/@nodelib/fs.walk": { 135 | "version": "1.2.8", 136 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 137 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 138 | "dev": true, 139 | "dependencies": { 140 | "@nodelib/fs.scandir": "2.1.5", 141 | "fastq": "^1.6.0" 142 | }, 143 | "engines": { 144 | "node": ">= 8" 145 | } 146 | }, 147 | "node_modules/@types/parse-json": { 148 | "version": "4.0.0", 149 | "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", 150 | "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", 151 | "dev": true 152 | }, 153 | "node_modules/acorn": { 154 | "version": "7.4.1", 155 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", 156 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", 157 | "dev": true, 158 | "bin": { 159 | "acorn": "bin/acorn" 160 | }, 161 | "engines": { 162 | "node": ">=0.4.0" 163 | } 164 | }, 165 | "node_modules/acorn-node": { 166 | "version": "1.8.2", 167 | "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", 168 | "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", 169 | "dev": true, 170 | "dependencies": { 171 | "acorn": "^7.0.0", 172 | "acorn-walk": "^7.0.0", 173 | "xtend": "^4.0.2" 174 | } 175 | }, 176 | "node_modules/acorn-walk": { 177 | "version": "7.2.0", 178 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", 179 | "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", 180 | "dev": true, 181 | "engines": { 182 | "node": ">=0.4.0" 183 | } 184 | }, 185 | "node_modules/ansi-styles": { 186 | "version": "4.3.0", 187 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 188 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 189 | "dev": true, 190 | "dependencies": { 191 | "color-convert": "^2.0.1" 192 | }, 193 | "engines": { 194 | "node": ">=8" 195 | }, 196 | "funding": { 197 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 198 | } 199 | }, 200 | "node_modules/anymatch": { 201 | "version": "3.1.2", 202 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", 203 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", 204 | "dev": true, 205 | "dependencies": { 206 | "normalize-path": "^3.0.0", 207 | "picomatch": "^2.0.4" 208 | }, 209 | "engines": { 210 | "node": ">= 8" 211 | } 212 | }, 213 | "node_modules/arg": { 214 | "version": "5.0.1", 215 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", 216 | "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==", 217 | "dev": true 218 | }, 219 | "node_modules/autoprefixer": { 220 | "version": "10.4.4", 221 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz", 222 | "integrity": "sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==", 223 | "dev": true, 224 | "funding": [ 225 | { 226 | "type": "opencollective", 227 | "url": "https://opencollective.com/postcss/" 228 | }, 229 | { 230 | "type": "tidelift", 231 | "url": "https://tidelift.com/funding/github/npm/autoprefixer" 232 | } 233 | ], 234 | "peer": true, 235 | "dependencies": { 236 | "browserslist": "^4.20.2", 237 | "caniuse-lite": "^1.0.30001317", 238 | "fraction.js": "^4.2.0", 239 | "normalize-range": "^0.1.2", 240 | "picocolors": "^1.0.0", 241 | "postcss-value-parser": "^4.2.0" 242 | }, 243 | "bin": { 244 | "autoprefixer": "bin/autoprefixer" 245 | }, 246 | "engines": { 247 | "node": "^10 || ^12 || >=14" 248 | }, 249 | "peerDependencies": { 250 | "postcss": "^8.1.0" 251 | } 252 | }, 253 | "node_modules/binary-extensions": { 254 | "version": "2.2.0", 255 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 256 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 257 | "dev": true, 258 | "engines": { 259 | "node": ">=8" 260 | } 261 | }, 262 | "node_modules/braces": { 263 | "version": "3.0.2", 264 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 265 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 266 | "dev": true, 267 | "dependencies": { 268 | "fill-range": "^7.0.1" 269 | }, 270 | "engines": { 271 | "node": ">=8" 272 | } 273 | }, 274 | "node_modules/browserslist": { 275 | "version": "4.20.2", 276 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", 277 | "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", 278 | "dev": true, 279 | "funding": [ 280 | { 281 | "type": "opencollective", 282 | "url": "https://opencollective.com/browserslist" 283 | }, 284 | { 285 | "type": "tidelift", 286 | "url": "https://tidelift.com/funding/github/npm/browserslist" 287 | } 288 | ], 289 | "peer": true, 290 | "dependencies": { 291 | "caniuse-lite": "^1.0.30001317", 292 | "electron-to-chromium": "^1.4.84", 293 | "escalade": "^3.1.1", 294 | "node-releases": "^2.0.2", 295 | "picocolors": "^1.0.0" 296 | }, 297 | "bin": { 298 | "browserslist": "cli.js" 299 | }, 300 | "engines": { 301 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 302 | } 303 | }, 304 | "node_modules/callsites": { 305 | "version": "3.1.0", 306 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 307 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 308 | "dev": true, 309 | "engines": { 310 | "node": ">=6" 311 | } 312 | }, 313 | "node_modules/camelcase-css": { 314 | "version": "2.0.1", 315 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 316 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 317 | "dev": true, 318 | "engines": { 319 | "node": ">= 6" 320 | } 321 | }, 322 | "node_modules/caniuse-lite": { 323 | "version": "1.0.30001324", 324 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001324.tgz", 325 | "integrity": "sha512-/eYp1J6zYh1alySQB4uzYFkLmxxI8tk0kxldbNHXp8+v+rdMKdUBNjRLz7T7fz6Iox+1lIdYpc7rq6ZcXfTukg==", 326 | "dev": true, 327 | "funding": [ 328 | { 329 | "type": "opencollective", 330 | "url": "https://opencollective.com/browserslist" 331 | }, 332 | { 333 | "type": "tidelift", 334 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 335 | } 336 | ], 337 | "peer": true 338 | }, 339 | "node_modules/chalk": { 340 | "version": "4.1.2", 341 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 342 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 343 | "dev": true, 344 | "dependencies": { 345 | "ansi-styles": "^4.1.0", 346 | "supports-color": "^7.1.0" 347 | }, 348 | "engines": { 349 | "node": ">=10" 350 | }, 351 | "funding": { 352 | "url": "https://github.com/chalk/chalk?sponsor=1" 353 | } 354 | }, 355 | "node_modules/chokidar": { 356 | "version": "3.5.3", 357 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 358 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 359 | "dev": true, 360 | "funding": [ 361 | { 362 | "type": "individual", 363 | "url": "https://paulmillr.com/funding/" 364 | } 365 | ], 366 | "dependencies": { 367 | "anymatch": "~3.1.2", 368 | "braces": "~3.0.2", 369 | "glob-parent": "~5.1.2", 370 | "is-binary-path": "~2.1.0", 371 | "is-glob": "~4.0.1", 372 | "normalize-path": "~3.0.0", 373 | "readdirp": "~3.6.0" 374 | }, 375 | "engines": { 376 | "node": ">= 8.10.0" 377 | }, 378 | "optionalDependencies": { 379 | "fsevents": "~2.3.2" 380 | } 381 | }, 382 | "node_modules/chokidar/node_modules/glob-parent": { 383 | "version": "5.1.2", 384 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 385 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 386 | "dev": true, 387 | "dependencies": { 388 | "is-glob": "^4.0.1" 389 | }, 390 | "engines": { 391 | "node": ">= 6" 392 | } 393 | }, 394 | "node_modules/color-convert": { 395 | "version": "2.0.1", 396 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 397 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 398 | "dev": true, 399 | "dependencies": { 400 | "color-name": "~1.1.4" 401 | }, 402 | "engines": { 403 | "node": ">=7.0.0" 404 | } 405 | }, 406 | "node_modules/color-name": { 407 | "version": "1.1.4", 408 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 409 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 410 | "dev": true 411 | }, 412 | "node_modules/cosmiconfig": { 413 | "version": "7.0.1", 414 | "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", 415 | "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", 416 | "dev": true, 417 | "dependencies": { 418 | "@types/parse-json": "^4.0.0", 419 | "import-fresh": "^3.2.1", 420 | "parse-json": "^5.0.0", 421 | "path-type": "^4.0.0", 422 | "yaml": "^1.10.0" 423 | }, 424 | "engines": { 425 | "node": ">=10" 426 | } 427 | }, 428 | "node_modules/cssesc": { 429 | "version": "3.0.0", 430 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 431 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 432 | "dev": true, 433 | "bin": { 434 | "cssesc": "bin/cssesc" 435 | }, 436 | "engines": { 437 | "node": ">=4" 438 | } 439 | }, 440 | "node_modules/defined": { 441 | "version": "1.0.0", 442 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", 443 | "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", 444 | "dev": true 445 | }, 446 | "node_modules/detective": { 447 | "version": "5.2.0", 448 | "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", 449 | "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", 450 | "dev": true, 451 | "dependencies": { 452 | "acorn-node": "^1.6.1", 453 | "defined": "^1.0.0", 454 | "minimist": "^1.1.1" 455 | }, 456 | "bin": { 457 | "detective": "bin/detective.js" 458 | }, 459 | "engines": { 460 | "node": ">=0.8.0" 461 | } 462 | }, 463 | "node_modules/didyoumean": { 464 | "version": "1.2.2", 465 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 466 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", 467 | "dev": true 468 | }, 469 | "node_modules/dlv": { 470 | "version": "1.1.3", 471 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 472 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", 473 | "dev": true 474 | }, 475 | "node_modules/electron-to-chromium": { 476 | "version": "1.4.103", 477 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.103.tgz", 478 | "integrity": "sha512-c/uKWR1Z/W30Wy/sx3dkZoj4BijbXX85QKWu9jJfjho3LBAXNEGAEW3oWiGb+dotA6C6BzCTxL2/aLes7jlUeg==", 479 | "dev": true, 480 | "peer": true 481 | }, 482 | "node_modules/error-ex": { 483 | "version": "1.3.2", 484 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 485 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 486 | "dev": true, 487 | "dependencies": { 488 | "is-arrayish": "^0.2.1" 489 | } 490 | }, 491 | "node_modules/escalade": { 492 | "version": "3.1.1", 493 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 494 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 495 | "dev": true, 496 | "peer": true, 497 | "engines": { 498 | "node": ">=6" 499 | } 500 | }, 501 | "node_modules/escape-string-regexp": { 502 | "version": "1.0.5", 503 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 504 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 505 | "dev": true, 506 | "engines": { 507 | "node": ">=0.8.0" 508 | } 509 | }, 510 | "node_modules/fast-glob": { 511 | "version": "3.2.11", 512 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", 513 | "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", 514 | "dev": true, 515 | "dependencies": { 516 | "@nodelib/fs.stat": "^2.0.2", 517 | "@nodelib/fs.walk": "^1.2.3", 518 | "glob-parent": "^5.1.2", 519 | "merge2": "^1.3.0", 520 | "micromatch": "^4.0.4" 521 | }, 522 | "engines": { 523 | "node": ">=8.6.0" 524 | } 525 | }, 526 | "node_modules/fast-glob/node_modules/glob-parent": { 527 | "version": "5.1.2", 528 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 529 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 530 | "dev": true, 531 | "dependencies": { 532 | "is-glob": "^4.0.1" 533 | }, 534 | "engines": { 535 | "node": ">= 6" 536 | } 537 | }, 538 | "node_modules/fastq": { 539 | "version": "1.13.0", 540 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 541 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 542 | "dev": true, 543 | "dependencies": { 544 | "reusify": "^1.0.4" 545 | } 546 | }, 547 | "node_modules/fill-range": { 548 | "version": "7.0.1", 549 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 550 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 551 | "dev": true, 552 | "dependencies": { 553 | "to-regex-range": "^5.0.1" 554 | }, 555 | "engines": { 556 | "node": ">=8" 557 | } 558 | }, 559 | "node_modules/fraction.js": { 560 | "version": "4.2.0", 561 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", 562 | "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", 563 | "dev": true, 564 | "peer": true, 565 | "engines": { 566 | "node": "*" 567 | }, 568 | "funding": { 569 | "type": "patreon", 570 | "url": "https://www.patreon.com/infusion" 571 | } 572 | }, 573 | "node_modules/fsevents": { 574 | "version": "2.3.2", 575 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 576 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 577 | "dev": true, 578 | "hasInstallScript": true, 579 | "optional": true, 580 | "os": [ 581 | "darwin" 582 | ], 583 | "engines": { 584 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 585 | } 586 | }, 587 | "node_modules/function-bind": { 588 | "version": "1.1.1", 589 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 590 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 591 | "dev": true 592 | }, 593 | "node_modules/glob-parent": { 594 | "version": "6.0.2", 595 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 596 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 597 | "dev": true, 598 | "dependencies": { 599 | "is-glob": "^4.0.3" 600 | }, 601 | "engines": { 602 | "node": ">=10.13.0" 603 | } 604 | }, 605 | "node_modules/has": { 606 | "version": "1.0.3", 607 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 608 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 609 | "dev": true, 610 | "dependencies": { 611 | "function-bind": "^1.1.1" 612 | }, 613 | "engines": { 614 | "node": ">= 0.4.0" 615 | } 616 | }, 617 | "node_modules/has-flag": { 618 | "version": "4.0.0", 619 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 620 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 621 | "dev": true, 622 | "engines": { 623 | "node": ">=8" 624 | } 625 | }, 626 | "node_modules/import-fresh": { 627 | "version": "3.3.0", 628 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 629 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 630 | "dev": true, 631 | "dependencies": { 632 | "parent-module": "^1.0.0", 633 | "resolve-from": "^4.0.0" 634 | }, 635 | "engines": { 636 | "node": ">=6" 637 | }, 638 | "funding": { 639 | "url": "https://github.com/sponsors/sindresorhus" 640 | } 641 | }, 642 | "node_modules/is-arrayish": { 643 | "version": "0.2.1", 644 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 645 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 646 | "dev": true 647 | }, 648 | "node_modules/is-binary-path": { 649 | "version": "2.1.0", 650 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 651 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 652 | "dev": true, 653 | "dependencies": { 654 | "binary-extensions": "^2.0.0" 655 | }, 656 | "engines": { 657 | "node": ">=8" 658 | } 659 | }, 660 | "node_modules/is-core-module": { 661 | "version": "2.8.1", 662 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", 663 | "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", 664 | "dev": true, 665 | "dependencies": { 666 | "has": "^1.0.3" 667 | }, 668 | "funding": { 669 | "url": "https://github.com/sponsors/ljharb" 670 | } 671 | }, 672 | "node_modules/is-extglob": { 673 | "version": "2.1.1", 674 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 675 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 676 | "dev": true, 677 | "engines": { 678 | "node": ">=0.10.0" 679 | } 680 | }, 681 | "node_modules/is-glob": { 682 | "version": "4.0.3", 683 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 684 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 685 | "dev": true, 686 | "dependencies": { 687 | "is-extglob": "^2.1.1" 688 | }, 689 | "engines": { 690 | "node": ">=0.10.0" 691 | } 692 | }, 693 | "node_modules/is-number": { 694 | "version": "7.0.0", 695 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 696 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 697 | "dev": true, 698 | "engines": { 699 | "node": ">=0.12.0" 700 | } 701 | }, 702 | "node_modules/js-tokens": { 703 | "version": "4.0.0", 704 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 705 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 706 | "dev": true 707 | }, 708 | "node_modules/json-parse-even-better-errors": { 709 | "version": "2.3.1", 710 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", 711 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", 712 | "dev": true 713 | }, 714 | "node_modules/lilconfig": { 715 | "version": "2.0.5", 716 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", 717 | "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", 718 | "dev": true, 719 | "engines": { 720 | "node": ">=10" 721 | } 722 | }, 723 | "node_modules/lines-and-columns": { 724 | "version": "1.2.4", 725 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 726 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 727 | "dev": true 728 | }, 729 | "node_modules/merge2": { 730 | "version": "1.4.1", 731 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 732 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 733 | "dev": true, 734 | "engines": { 735 | "node": ">= 8" 736 | } 737 | }, 738 | "node_modules/micromatch": { 739 | "version": "4.0.5", 740 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 741 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 742 | "dev": true, 743 | "dependencies": { 744 | "braces": "^3.0.2", 745 | "picomatch": "^2.3.1" 746 | }, 747 | "engines": { 748 | "node": ">=8.6" 749 | } 750 | }, 751 | "node_modules/minimist": { 752 | "version": "1.2.6", 753 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", 754 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", 755 | "dev": true 756 | }, 757 | "node_modules/nanoid": { 758 | "version": "3.3.2", 759 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz", 760 | "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==", 761 | "dev": true, 762 | "bin": { 763 | "nanoid": "bin/nanoid.cjs" 764 | }, 765 | "engines": { 766 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 767 | } 768 | }, 769 | "node_modules/node-releases": { 770 | "version": "2.0.2", 771 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", 772 | "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==", 773 | "dev": true, 774 | "peer": true 775 | }, 776 | "node_modules/normalize-path": { 777 | "version": "3.0.0", 778 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 779 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 780 | "dev": true, 781 | "engines": { 782 | "node": ">=0.10.0" 783 | } 784 | }, 785 | "node_modules/normalize-range": { 786 | "version": "0.1.2", 787 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 788 | "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", 789 | "dev": true, 790 | "peer": true, 791 | "engines": { 792 | "node": ">=0.10.0" 793 | } 794 | }, 795 | "node_modules/object-hash": { 796 | "version": "2.2.0", 797 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", 798 | "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", 799 | "dev": true, 800 | "engines": { 801 | "node": ">= 6" 802 | } 803 | }, 804 | "node_modules/parent-module": { 805 | "version": "1.0.1", 806 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 807 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 808 | "dev": true, 809 | "dependencies": { 810 | "callsites": "^3.0.0" 811 | }, 812 | "engines": { 813 | "node": ">=6" 814 | } 815 | }, 816 | "node_modules/parse-json": { 817 | "version": "5.2.0", 818 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", 819 | "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", 820 | "dev": true, 821 | "dependencies": { 822 | "@babel/code-frame": "^7.0.0", 823 | "error-ex": "^1.3.1", 824 | "json-parse-even-better-errors": "^2.3.0", 825 | "lines-and-columns": "^1.1.6" 826 | }, 827 | "engines": { 828 | "node": ">=8" 829 | }, 830 | "funding": { 831 | "url": "https://github.com/sponsors/sindresorhus" 832 | } 833 | }, 834 | "node_modules/path-parse": { 835 | "version": "1.0.7", 836 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 837 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 838 | "dev": true 839 | }, 840 | "node_modules/path-type": { 841 | "version": "4.0.0", 842 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 843 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 844 | "dev": true, 845 | "engines": { 846 | "node": ">=8" 847 | } 848 | }, 849 | "node_modules/picocolors": { 850 | "version": "1.0.0", 851 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 852 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 853 | "dev": true 854 | }, 855 | "node_modules/picomatch": { 856 | "version": "2.3.1", 857 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 858 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 859 | "dev": true, 860 | "engines": { 861 | "node": ">=8.6" 862 | }, 863 | "funding": { 864 | "url": "https://github.com/sponsors/jonschlinkert" 865 | } 866 | }, 867 | "node_modules/postcss": { 868 | "version": "8.4.12", 869 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", 870 | "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", 871 | "dev": true, 872 | "funding": [ 873 | { 874 | "type": "opencollective", 875 | "url": "https://opencollective.com/postcss/" 876 | }, 877 | { 878 | "type": "tidelift", 879 | "url": "https://tidelift.com/funding/github/npm/postcss" 880 | } 881 | ], 882 | "dependencies": { 883 | "nanoid": "^3.3.1", 884 | "picocolors": "^1.0.0", 885 | "source-map-js": "^1.0.2" 886 | }, 887 | "engines": { 888 | "node": "^10 || ^12 || >=14" 889 | } 890 | }, 891 | "node_modules/postcss-js": { 892 | "version": "4.0.0", 893 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", 894 | "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", 895 | "dev": true, 896 | "dependencies": { 897 | "camelcase-css": "^2.0.1" 898 | }, 899 | "engines": { 900 | "node": "^12 || ^14 || >= 16" 901 | }, 902 | "funding": { 903 | "type": "opencollective", 904 | "url": "https://opencollective.com/postcss/" 905 | }, 906 | "peerDependencies": { 907 | "postcss": "^8.3.3" 908 | } 909 | }, 910 | "node_modules/postcss-load-config": { 911 | "version": "3.1.4", 912 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", 913 | "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", 914 | "dev": true, 915 | "dependencies": { 916 | "lilconfig": "^2.0.5", 917 | "yaml": "^1.10.2" 918 | }, 919 | "engines": { 920 | "node": ">= 10" 921 | }, 922 | "funding": { 923 | "type": "opencollective", 924 | "url": "https://opencollective.com/postcss/" 925 | }, 926 | "peerDependencies": { 927 | "postcss": ">=8.0.9", 928 | "ts-node": ">=9.0.0" 929 | }, 930 | "peerDependenciesMeta": { 931 | "postcss": { 932 | "optional": true 933 | }, 934 | "ts-node": { 935 | "optional": true 936 | } 937 | } 938 | }, 939 | "node_modules/postcss-nested": { 940 | "version": "5.0.6", 941 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", 942 | "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", 943 | "dev": true, 944 | "dependencies": { 945 | "postcss-selector-parser": "^6.0.6" 946 | }, 947 | "engines": { 948 | "node": ">=12.0" 949 | }, 950 | "funding": { 951 | "type": "opencollective", 952 | "url": "https://opencollective.com/postcss/" 953 | }, 954 | "peerDependencies": { 955 | "postcss": "^8.2.14" 956 | } 957 | }, 958 | "node_modules/postcss-selector-parser": { 959 | "version": "6.0.10", 960 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", 961 | "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", 962 | "dev": true, 963 | "dependencies": { 964 | "cssesc": "^3.0.0", 965 | "util-deprecate": "^1.0.2" 966 | }, 967 | "engines": { 968 | "node": ">=4" 969 | } 970 | }, 971 | "node_modules/postcss-value-parser": { 972 | "version": "4.2.0", 973 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 974 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 975 | "dev": true 976 | }, 977 | "node_modules/queue-microtask": { 978 | "version": "1.2.3", 979 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 980 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 981 | "dev": true, 982 | "funding": [ 983 | { 984 | "type": "github", 985 | "url": "https://github.com/sponsors/feross" 986 | }, 987 | { 988 | "type": "patreon", 989 | "url": "https://www.patreon.com/feross" 990 | }, 991 | { 992 | "type": "consulting", 993 | "url": "https://feross.org/support" 994 | } 995 | ] 996 | }, 997 | "node_modules/quick-lru": { 998 | "version": "5.1.1", 999 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", 1000 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", 1001 | "dev": true, 1002 | "engines": { 1003 | "node": ">=10" 1004 | }, 1005 | "funding": { 1006 | "url": "https://github.com/sponsors/sindresorhus" 1007 | } 1008 | }, 1009 | "node_modules/readdirp": { 1010 | "version": "3.6.0", 1011 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1012 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1013 | "dev": true, 1014 | "dependencies": { 1015 | "picomatch": "^2.2.1" 1016 | }, 1017 | "engines": { 1018 | "node": ">=8.10.0" 1019 | } 1020 | }, 1021 | "node_modules/resolve": { 1022 | "version": "1.22.0", 1023 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", 1024 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", 1025 | "dev": true, 1026 | "dependencies": { 1027 | "is-core-module": "^2.8.1", 1028 | "path-parse": "^1.0.7", 1029 | "supports-preserve-symlinks-flag": "^1.0.0" 1030 | }, 1031 | "bin": { 1032 | "resolve": "bin/resolve" 1033 | }, 1034 | "funding": { 1035 | "url": "https://github.com/sponsors/ljharb" 1036 | } 1037 | }, 1038 | "node_modules/resolve-from": { 1039 | "version": "4.0.0", 1040 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 1041 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1042 | "dev": true, 1043 | "engines": { 1044 | "node": ">=4" 1045 | } 1046 | }, 1047 | "node_modules/reusify": { 1048 | "version": "1.0.4", 1049 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1050 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1051 | "dev": true, 1052 | "engines": { 1053 | "iojs": ">=1.0.0", 1054 | "node": ">=0.10.0" 1055 | } 1056 | }, 1057 | "node_modules/run-parallel": { 1058 | "version": "1.2.0", 1059 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1060 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1061 | "dev": true, 1062 | "funding": [ 1063 | { 1064 | "type": "github", 1065 | "url": "https://github.com/sponsors/feross" 1066 | }, 1067 | { 1068 | "type": "patreon", 1069 | "url": "https://www.patreon.com/feross" 1070 | }, 1071 | { 1072 | "type": "consulting", 1073 | "url": "https://feross.org/support" 1074 | } 1075 | ], 1076 | "dependencies": { 1077 | "queue-microtask": "^1.2.2" 1078 | } 1079 | }, 1080 | "node_modules/source-map-js": { 1081 | "version": "1.0.2", 1082 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 1083 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 1084 | "dev": true, 1085 | "engines": { 1086 | "node": ">=0.10.0" 1087 | } 1088 | }, 1089 | "node_modules/supports-color": { 1090 | "version": "7.2.0", 1091 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 1092 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 1093 | "dev": true, 1094 | "dependencies": { 1095 | "has-flag": "^4.0.0" 1096 | }, 1097 | "engines": { 1098 | "node": ">=8" 1099 | } 1100 | }, 1101 | "node_modules/supports-preserve-symlinks-flag": { 1102 | "version": "1.0.0", 1103 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1104 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1105 | "dev": true, 1106 | "engines": { 1107 | "node": ">= 0.4" 1108 | }, 1109 | "funding": { 1110 | "url": "https://github.com/sponsors/ljharb" 1111 | } 1112 | }, 1113 | "node_modules/tailwindcss": { 1114 | "version": "3.0.23", 1115 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.23.tgz", 1116 | "integrity": "sha512-+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA==", 1117 | "dev": true, 1118 | "dependencies": { 1119 | "arg": "^5.0.1", 1120 | "chalk": "^4.1.2", 1121 | "chokidar": "^3.5.3", 1122 | "color-name": "^1.1.4", 1123 | "cosmiconfig": "^7.0.1", 1124 | "detective": "^5.2.0", 1125 | "didyoumean": "^1.2.2", 1126 | "dlv": "^1.1.3", 1127 | "fast-glob": "^3.2.11", 1128 | "glob-parent": "^6.0.2", 1129 | "is-glob": "^4.0.3", 1130 | "normalize-path": "^3.0.0", 1131 | "object-hash": "^2.2.0", 1132 | "postcss": "^8.4.6", 1133 | "postcss-js": "^4.0.0", 1134 | "postcss-load-config": "^3.1.0", 1135 | "postcss-nested": "5.0.6", 1136 | "postcss-selector-parser": "^6.0.9", 1137 | "postcss-value-parser": "^4.2.0", 1138 | "quick-lru": "^5.1.1", 1139 | "resolve": "^1.22.0" 1140 | }, 1141 | "bin": { 1142 | "tailwind": "lib/cli.js", 1143 | "tailwindcss": "lib/cli.js" 1144 | }, 1145 | "engines": { 1146 | "node": ">=12.13.0" 1147 | }, 1148 | "peerDependencies": { 1149 | "autoprefixer": "^10.0.2", 1150 | "postcss": "^8.0.9" 1151 | } 1152 | }, 1153 | "node_modules/to-regex-range": { 1154 | "version": "5.0.1", 1155 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1156 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1157 | "dev": true, 1158 | "dependencies": { 1159 | "is-number": "^7.0.0" 1160 | }, 1161 | "engines": { 1162 | "node": ">=8.0" 1163 | } 1164 | }, 1165 | "node_modules/util-deprecate": { 1166 | "version": "1.0.2", 1167 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1168 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 1169 | "dev": true 1170 | }, 1171 | "node_modules/xtend": { 1172 | "version": "4.0.2", 1173 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 1174 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", 1175 | "dev": true, 1176 | "engines": { 1177 | "node": ">=0.4" 1178 | } 1179 | }, 1180 | "node_modules/yaml": { 1181 | "version": "1.10.2", 1182 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 1183 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 1184 | "dev": true, 1185 | "engines": { 1186 | "node": ">= 6" 1187 | } 1188 | } 1189 | }, 1190 | "dependencies": { 1191 | "@babel/code-frame": { 1192 | "version": "7.16.7", 1193 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", 1194 | "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", 1195 | "dev": true, 1196 | "requires": { 1197 | "@babel/highlight": "^7.16.7" 1198 | } 1199 | }, 1200 | "@babel/helper-validator-identifier": { 1201 | "version": "7.16.7", 1202 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", 1203 | "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", 1204 | "dev": true 1205 | }, 1206 | "@babel/highlight": { 1207 | "version": "7.16.10", 1208 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", 1209 | "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", 1210 | "dev": true, 1211 | "requires": { 1212 | "@babel/helper-validator-identifier": "^7.16.7", 1213 | "chalk": "^2.0.0", 1214 | "js-tokens": "^4.0.0" 1215 | }, 1216 | "dependencies": { 1217 | "ansi-styles": { 1218 | "version": "3.2.1", 1219 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 1220 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 1221 | "dev": true, 1222 | "requires": { 1223 | "color-convert": "^1.9.0" 1224 | } 1225 | }, 1226 | "chalk": { 1227 | "version": "2.4.2", 1228 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 1229 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 1230 | "dev": true, 1231 | "requires": { 1232 | "ansi-styles": "^3.2.1", 1233 | "escape-string-regexp": "^1.0.5", 1234 | "supports-color": "^5.3.0" 1235 | } 1236 | }, 1237 | "color-convert": { 1238 | "version": "1.9.3", 1239 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 1240 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 1241 | "dev": true, 1242 | "requires": { 1243 | "color-name": "1.1.3" 1244 | } 1245 | }, 1246 | "color-name": { 1247 | "version": "1.1.3", 1248 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 1249 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 1250 | "dev": true 1251 | }, 1252 | "has-flag": { 1253 | "version": "3.0.0", 1254 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1255 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 1256 | "dev": true 1257 | }, 1258 | "supports-color": { 1259 | "version": "5.5.0", 1260 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1261 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1262 | "dev": true, 1263 | "requires": { 1264 | "has-flag": "^3.0.0" 1265 | } 1266 | } 1267 | } 1268 | }, 1269 | "@nodelib/fs.scandir": { 1270 | "version": "2.1.5", 1271 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 1272 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 1273 | "dev": true, 1274 | "requires": { 1275 | "@nodelib/fs.stat": "2.0.5", 1276 | "run-parallel": "^1.1.9" 1277 | } 1278 | }, 1279 | "@nodelib/fs.stat": { 1280 | "version": "2.0.5", 1281 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 1282 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 1283 | "dev": true 1284 | }, 1285 | "@nodelib/fs.walk": { 1286 | "version": "1.2.8", 1287 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 1288 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 1289 | "dev": true, 1290 | "requires": { 1291 | "@nodelib/fs.scandir": "2.1.5", 1292 | "fastq": "^1.6.0" 1293 | } 1294 | }, 1295 | "@types/parse-json": { 1296 | "version": "4.0.0", 1297 | "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", 1298 | "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", 1299 | "dev": true 1300 | }, 1301 | "acorn": { 1302 | "version": "7.4.1", 1303 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", 1304 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", 1305 | "dev": true 1306 | }, 1307 | "acorn-node": { 1308 | "version": "1.8.2", 1309 | "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", 1310 | "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", 1311 | "dev": true, 1312 | "requires": { 1313 | "acorn": "^7.0.0", 1314 | "acorn-walk": "^7.0.0", 1315 | "xtend": "^4.0.2" 1316 | } 1317 | }, 1318 | "acorn-walk": { 1319 | "version": "7.2.0", 1320 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", 1321 | "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", 1322 | "dev": true 1323 | }, 1324 | "ansi-styles": { 1325 | "version": "4.3.0", 1326 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1327 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1328 | "dev": true, 1329 | "requires": { 1330 | "color-convert": "^2.0.1" 1331 | } 1332 | }, 1333 | "anymatch": { 1334 | "version": "3.1.2", 1335 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", 1336 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", 1337 | "dev": true, 1338 | "requires": { 1339 | "normalize-path": "^3.0.0", 1340 | "picomatch": "^2.0.4" 1341 | } 1342 | }, 1343 | "arg": { 1344 | "version": "5.0.1", 1345 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", 1346 | "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==", 1347 | "dev": true 1348 | }, 1349 | "autoprefixer": { 1350 | "version": "10.4.4", 1351 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz", 1352 | "integrity": "sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==", 1353 | "dev": true, 1354 | "peer": true, 1355 | "requires": { 1356 | "browserslist": "^4.20.2", 1357 | "caniuse-lite": "^1.0.30001317", 1358 | "fraction.js": "^4.2.0", 1359 | "normalize-range": "^0.1.2", 1360 | "picocolors": "^1.0.0", 1361 | "postcss-value-parser": "^4.2.0" 1362 | } 1363 | }, 1364 | "binary-extensions": { 1365 | "version": "2.2.0", 1366 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 1367 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 1368 | "dev": true 1369 | }, 1370 | "braces": { 1371 | "version": "3.0.2", 1372 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 1373 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 1374 | "dev": true, 1375 | "requires": { 1376 | "fill-range": "^7.0.1" 1377 | } 1378 | }, 1379 | "browserslist": { 1380 | "version": "4.20.2", 1381 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", 1382 | "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", 1383 | "dev": true, 1384 | "peer": true, 1385 | "requires": { 1386 | "caniuse-lite": "^1.0.30001317", 1387 | "electron-to-chromium": "^1.4.84", 1388 | "escalade": "^3.1.1", 1389 | "node-releases": "^2.0.2", 1390 | "picocolors": "^1.0.0" 1391 | } 1392 | }, 1393 | "callsites": { 1394 | "version": "3.1.0", 1395 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 1396 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 1397 | "dev": true 1398 | }, 1399 | "camelcase-css": { 1400 | "version": "2.0.1", 1401 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 1402 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 1403 | "dev": true 1404 | }, 1405 | "caniuse-lite": { 1406 | "version": "1.0.30001324", 1407 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001324.tgz", 1408 | "integrity": "sha512-/eYp1J6zYh1alySQB4uzYFkLmxxI8tk0kxldbNHXp8+v+rdMKdUBNjRLz7T7fz6Iox+1lIdYpc7rq6ZcXfTukg==", 1409 | "dev": true, 1410 | "peer": true 1411 | }, 1412 | "chalk": { 1413 | "version": "4.1.2", 1414 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 1415 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 1416 | "dev": true, 1417 | "requires": { 1418 | "ansi-styles": "^4.1.0", 1419 | "supports-color": "^7.1.0" 1420 | } 1421 | }, 1422 | "chokidar": { 1423 | "version": "3.5.3", 1424 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 1425 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 1426 | "dev": true, 1427 | "requires": { 1428 | "anymatch": "~3.1.2", 1429 | "braces": "~3.0.2", 1430 | "fsevents": "~2.3.2", 1431 | "glob-parent": "~5.1.2", 1432 | "is-binary-path": "~2.1.0", 1433 | "is-glob": "~4.0.1", 1434 | "normalize-path": "~3.0.0", 1435 | "readdirp": "~3.6.0" 1436 | }, 1437 | "dependencies": { 1438 | "glob-parent": { 1439 | "version": "5.1.2", 1440 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1441 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1442 | "dev": true, 1443 | "requires": { 1444 | "is-glob": "^4.0.1" 1445 | } 1446 | } 1447 | } 1448 | }, 1449 | "color-convert": { 1450 | "version": "2.0.1", 1451 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1452 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1453 | "dev": true, 1454 | "requires": { 1455 | "color-name": "~1.1.4" 1456 | } 1457 | }, 1458 | "color-name": { 1459 | "version": "1.1.4", 1460 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1461 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1462 | "dev": true 1463 | }, 1464 | "cosmiconfig": { 1465 | "version": "7.0.1", 1466 | "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", 1467 | "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", 1468 | "dev": true, 1469 | "requires": { 1470 | "@types/parse-json": "^4.0.0", 1471 | "import-fresh": "^3.2.1", 1472 | "parse-json": "^5.0.0", 1473 | "path-type": "^4.0.0", 1474 | "yaml": "^1.10.0" 1475 | } 1476 | }, 1477 | "cssesc": { 1478 | "version": "3.0.0", 1479 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 1480 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 1481 | "dev": true 1482 | }, 1483 | "defined": { 1484 | "version": "1.0.0", 1485 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", 1486 | "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", 1487 | "dev": true 1488 | }, 1489 | "detective": { 1490 | "version": "5.2.0", 1491 | "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", 1492 | "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", 1493 | "dev": true, 1494 | "requires": { 1495 | "acorn-node": "^1.6.1", 1496 | "defined": "^1.0.0", 1497 | "minimist": "^1.1.1" 1498 | } 1499 | }, 1500 | "didyoumean": { 1501 | "version": "1.2.2", 1502 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 1503 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", 1504 | "dev": true 1505 | }, 1506 | "dlv": { 1507 | "version": "1.1.3", 1508 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 1509 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", 1510 | "dev": true 1511 | }, 1512 | "electron-to-chromium": { 1513 | "version": "1.4.103", 1514 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.103.tgz", 1515 | "integrity": "sha512-c/uKWR1Z/W30Wy/sx3dkZoj4BijbXX85QKWu9jJfjho3LBAXNEGAEW3oWiGb+dotA6C6BzCTxL2/aLes7jlUeg==", 1516 | "dev": true, 1517 | "peer": true 1518 | }, 1519 | "error-ex": { 1520 | "version": "1.3.2", 1521 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 1522 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 1523 | "dev": true, 1524 | "requires": { 1525 | "is-arrayish": "^0.2.1" 1526 | } 1527 | }, 1528 | "escalade": { 1529 | "version": "3.1.1", 1530 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 1531 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 1532 | "dev": true, 1533 | "peer": true 1534 | }, 1535 | "escape-string-regexp": { 1536 | "version": "1.0.5", 1537 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1538 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 1539 | "dev": true 1540 | }, 1541 | "fast-glob": { 1542 | "version": "3.2.11", 1543 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", 1544 | "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", 1545 | "dev": true, 1546 | "requires": { 1547 | "@nodelib/fs.stat": "^2.0.2", 1548 | "@nodelib/fs.walk": "^1.2.3", 1549 | "glob-parent": "^5.1.2", 1550 | "merge2": "^1.3.0", 1551 | "micromatch": "^4.0.4" 1552 | }, 1553 | "dependencies": { 1554 | "glob-parent": { 1555 | "version": "5.1.2", 1556 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1557 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1558 | "dev": true, 1559 | "requires": { 1560 | "is-glob": "^4.0.1" 1561 | } 1562 | } 1563 | } 1564 | }, 1565 | "fastq": { 1566 | "version": "1.13.0", 1567 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 1568 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 1569 | "dev": true, 1570 | "requires": { 1571 | "reusify": "^1.0.4" 1572 | } 1573 | }, 1574 | "fill-range": { 1575 | "version": "7.0.1", 1576 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1577 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1578 | "dev": true, 1579 | "requires": { 1580 | "to-regex-range": "^5.0.1" 1581 | } 1582 | }, 1583 | "fraction.js": { 1584 | "version": "4.2.0", 1585 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", 1586 | "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", 1587 | "dev": true, 1588 | "peer": true 1589 | }, 1590 | "fsevents": { 1591 | "version": "2.3.2", 1592 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 1593 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 1594 | "dev": true, 1595 | "optional": true 1596 | }, 1597 | "function-bind": { 1598 | "version": "1.1.1", 1599 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1600 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 1601 | "dev": true 1602 | }, 1603 | "glob-parent": { 1604 | "version": "6.0.2", 1605 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 1606 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 1607 | "dev": true, 1608 | "requires": { 1609 | "is-glob": "^4.0.3" 1610 | } 1611 | }, 1612 | "has": { 1613 | "version": "1.0.3", 1614 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1615 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1616 | "dev": true, 1617 | "requires": { 1618 | "function-bind": "^1.1.1" 1619 | } 1620 | }, 1621 | "has-flag": { 1622 | "version": "4.0.0", 1623 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1624 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1625 | "dev": true 1626 | }, 1627 | "import-fresh": { 1628 | "version": "3.3.0", 1629 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 1630 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 1631 | "dev": true, 1632 | "requires": { 1633 | "parent-module": "^1.0.0", 1634 | "resolve-from": "^4.0.0" 1635 | } 1636 | }, 1637 | "is-arrayish": { 1638 | "version": "0.2.1", 1639 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 1640 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 1641 | "dev": true 1642 | }, 1643 | "is-binary-path": { 1644 | "version": "2.1.0", 1645 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 1646 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 1647 | "dev": true, 1648 | "requires": { 1649 | "binary-extensions": "^2.0.0" 1650 | } 1651 | }, 1652 | "is-core-module": { 1653 | "version": "2.8.1", 1654 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", 1655 | "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", 1656 | "dev": true, 1657 | "requires": { 1658 | "has": "^1.0.3" 1659 | } 1660 | }, 1661 | "is-extglob": { 1662 | "version": "2.1.1", 1663 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1664 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 1665 | "dev": true 1666 | }, 1667 | "is-glob": { 1668 | "version": "4.0.3", 1669 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1670 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1671 | "dev": true, 1672 | "requires": { 1673 | "is-extglob": "^2.1.1" 1674 | } 1675 | }, 1676 | "is-number": { 1677 | "version": "7.0.0", 1678 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1679 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1680 | "dev": true 1681 | }, 1682 | "js-tokens": { 1683 | "version": "4.0.0", 1684 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1685 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 1686 | "dev": true 1687 | }, 1688 | "json-parse-even-better-errors": { 1689 | "version": "2.3.1", 1690 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", 1691 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", 1692 | "dev": true 1693 | }, 1694 | "lilconfig": { 1695 | "version": "2.0.5", 1696 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", 1697 | "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", 1698 | "dev": true 1699 | }, 1700 | "lines-and-columns": { 1701 | "version": "1.2.4", 1702 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 1703 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 1704 | "dev": true 1705 | }, 1706 | "merge2": { 1707 | "version": "1.4.1", 1708 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1709 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1710 | "dev": true 1711 | }, 1712 | "micromatch": { 1713 | "version": "4.0.5", 1714 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 1715 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 1716 | "dev": true, 1717 | "requires": { 1718 | "braces": "^3.0.2", 1719 | "picomatch": "^2.3.1" 1720 | } 1721 | }, 1722 | "minimist": { 1723 | "version": "1.2.6", 1724 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", 1725 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", 1726 | "dev": true 1727 | }, 1728 | "nanoid": { 1729 | "version": "3.3.2", 1730 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz", 1731 | "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==", 1732 | "dev": true 1733 | }, 1734 | "node-releases": { 1735 | "version": "2.0.2", 1736 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", 1737 | "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==", 1738 | "dev": true, 1739 | "peer": true 1740 | }, 1741 | "normalize-path": { 1742 | "version": "3.0.0", 1743 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1744 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1745 | "dev": true 1746 | }, 1747 | "normalize-range": { 1748 | "version": "0.1.2", 1749 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 1750 | "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", 1751 | "dev": true, 1752 | "peer": true 1753 | }, 1754 | "object-hash": { 1755 | "version": "2.2.0", 1756 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", 1757 | "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", 1758 | "dev": true 1759 | }, 1760 | "parent-module": { 1761 | "version": "1.0.1", 1762 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 1763 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 1764 | "dev": true, 1765 | "requires": { 1766 | "callsites": "^3.0.0" 1767 | } 1768 | }, 1769 | "parse-json": { 1770 | "version": "5.2.0", 1771 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", 1772 | "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", 1773 | "dev": true, 1774 | "requires": { 1775 | "@babel/code-frame": "^7.0.0", 1776 | "error-ex": "^1.3.1", 1777 | "json-parse-even-better-errors": "^2.3.0", 1778 | "lines-and-columns": "^1.1.6" 1779 | } 1780 | }, 1781 | "path-parse": { 1782 | "version": "1.0.7", 1783 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1784 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 1785 | "dev": true 1786 | }, 1787 | "path-type": { 1788 | "version": "4.0.0", 1789 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 1790 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 1791 | "dev": true 1792 | }, 1793 | "picocolors": { 1794 | "version": "1.0.0", 1795 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1796 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 1797 | "dev": true 1798 | }, 1799 | "picomatch": { 1800 | "version": "2.3.1", 1801 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1802 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1803 | "dev": true 1804 | }, 1805 | "postcss": { 1806 | "version": "8.4.12", 1807 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", 1808 | "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", 1809 | "dev": true, 1810 | "requires": { 1811 | "nanoid": "^3.3.1", 1812 | "picocolors": "^1.0.0", 1813 | "source-map-js": "^1.0.2" 1814 | } 1815 | }, 1816 | "postcss-js": { 1817 | "version": "4.0.0", 1818 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", 1819 | "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", 1820 | "dev": true, 1821 | "requires": { 1822 | "camelcase-css": "^2.0.1" 1823 | } 1824 | }, 1825 | "postcss-load-config": { 1826 | "version": "3.1.4", 1827 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", 1828 | "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", 1829 | "dev": true, 1830 | "requires": { 1831 | "lilconfig": "^2.0.5", 1832 | "yaml": "^1.10.2" 1833 | } 1834 | }, 1835 | "postcss-nested": { 1836 | "version": "5.0.6", 1837 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", 1838 | "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", 1839 | "dev": true, 1840 | "requires": { 1841 | "postcss-selector-parser": "^6.0.6" 1842 | } 1843 | }, 1844 | "postcss-selector-parser": { 1845 | "version": "6.0.10", 1846 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", 1847 | "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", 1848 | "dev": true, 1849 | "requires": { 1850 | "cssesc": "^3.0.0", 1851 | "util-deprecate": "^1.0.2" 1852 | } 1853 | }, 1854 | "postcss-value-parser": { 1855 | "version": "4.2.0", 1856 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 1857 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 1858 | "dev": true 1859 | }, 1860 | "queue-microtask": { 1861 | "version": "1.2.3", 1862 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1863 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1864 | "dev": true 1865 | }, 1866 | "quick-lru": { 1867 | "version": "5.1.1", 1868 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", 1869 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", 1870 | "dev": true 1871 | }, 1872 | "readdirp": { 1873 | "version": "3.6.0", 1874 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1875 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1876 | "dev": true, 1877 | "requires": { 1878 | "picomatch": "^2.2.1" 1879 | } 1880 | }, 1881 | "resolve": { 1882 | "version": "1.22.0", 1883 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", 1884 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", 1885 | "dev": true, 1886 | "requires": { 1887 | "is-core-module": "^2.8.1", 1888 | "path-parse": "^1.0.7", 1889 | "supports-preserve-symlinks-flag": "^1.0.0" 1890 | } 1891 | }, 1892 | "resolve-from": { 1893 | "version": "4.0.0", 1894 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 1895 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1896 | "dev": true 1897 | }, 1898 | "reusify": { 1899 | "version": "1.0.4", 1900 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1901 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1902 | "dev": true 1903 | }, 1904 | "run-parallel": { 1905 | "version": "1.2.0", 1906 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1907 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1908 | "dev": true, 1909 | "requires": { 1910 | "queue-microtask": "^1.2.2" 1911 | } 1912 | }, 1913 | "source-map-js": { 1914 | "version": "1.0.2", 1915 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 1916 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 1917 | "dev": true 1918 | }, 1919 | "supports-color": { 1920 | "version": "7.2.0", 1921 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 1922 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 1923 | "dev": true, 1924 | "requires": { 1925 | "has-flag": "^4.0.0" 1926 | } 1927 | }, 1928 | "supports-preserve-symlinks-flag": { 1929 | "version": "1.0.0", 1930 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1931 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1932 | "dev": true 1933 | }, 1934 | "tailwindcss": { 1935 | "version": "3.0.23", 1936 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.23.tgz", 1937 | "integrity": "sha512-+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA==", 1938 | "dev": true, 1939 | "requires": { 1940 | "arg": "^5.0.1", 1941 | "chalk": "^4.1.2", 1942 | "chokidar": "^3.5.3", 1943 | "color-name": "^1.1.4", 1944 | "cosmiconfig": "^7.0.1", 1945 | "detective": "^5.2.0", 1946 | "didyoumean": "^1.2.2", 1947 | "dlv": "^1.1.3", 1948 | "fast-glob": "^3.2.11", 1949 | "glob-parent": "^6.0.2", 1950 | "is-glob": "^4.0.3", 1951 | "normalize-path": "^3.0.0", 1952 | "object-hash": "^2.2.0", 1953 | "postcss": "^8.4.6", 1954 | "postcss-js": "^4.0.0", 1955 | "postcss-load-config": "^3.1.0", 1956 | "postcss-nested": "5.0.6", 1957 | "postcss-selector-parser": "^6.0.9", 1958 | "postcss-value-parser": "^4.2.0", 1959 | "quick-lru": "^5.1.1", 1960 | "resolve": "^1.22.0" 1961 | } 1962 | }, 1963 | "to-regex-range": { 1964 | "version": "5.0.1", 1965 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1966 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1967 | "dev": true, 1968 | "requires": { 1969 | "is-number": "^7.0.0" 1970 | } 1971 | }, 1972 | "util-deprecate": { 1973 | "version": "1.0.2", 1974 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1975 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 1976 | "dev": true 1977 | }, 1978 | "xtend": { 1979 | "version": "4.0.2", 1980 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 1981 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", 1982 | "dev": true 1983 | }, 1984 | "yaml": { 1985 | "version": "1.10.2", 1986 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 1987 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 1988 | "dev": true 1989 | } 1990 | } 1991 | } 1992 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tailwind-manage-landing", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "build": "tailwindcss -i ./input.css -o ./css/main.css", 8 | "watch": "tailwindcss -i ./input.css -o ./css/main.css --watch" 9 | }, 10 | "keywords": [], 11 | "author": "", 12 | "license": "ISC", 13 | "devDependencies": { 14 | "tailwindcss": "^3.0.23" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Tailwind Manage Landing Page 2 | 3 | This is the project from my 2022 Tailwind Crash Course on YouTube. 4 | 5 | ![Alt text](/img/screen.png?raw=true) 6 | 7 | # Usage 8 | 9 | Install dependencies (Tailwind) 10 | 11 | ``` 12 | npm install 13 | ``` 14 | 15 | Run the Tailwind CLI to compile the **input.css** during development. The output file is **css/main.css** 16 | 17 | ``` 18 | npm run watch 19 | ``` 20 | 21 | To build once run... 22 | 23 | ``` 24 | npm run build 25 | ``` 26 | 27 | You can edit the scripts in package.json and the tailwind.config.js file to change input/output locations 28 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | content: ['./*.html'], 3 | theme: { 4 | screens: { 5 | sm: '480px', 6 | md: '768px', 7 | lg: '976px', 8 | xl: '1440px', 9 | }, 10 | extend: { 11 | colors: { 12 | brightRed: 'hsl(12, 88%, 59%)', 13 | brightRedLight: 'hsl(12, 88%, 69%)', 14 | brightRedSupLight: 'hsl(12, 88%, 95%)', 15 | darkBlue: 'hsl(228, 39%, 23%)', 16 | darkGrayishBlue: 'hsl(227, 12%, 61%)', 17 | veryDarkBlue: 'hsl(233, 12%, 13%)', 18 | veryPaleRed: 'hsl(13, 100%, 96%)', 19 | veryLightGray: 'hsl(0, 0%, 98%)', 20 | }, 21 | }, 22 | }, 23 | plugins: [], 24 | } 25 | --------------------------------------------------------------------------------