From 5e23b097f7cc29bbcd890b4dc7b23421ed204c02 Mon Sep 17 00:00:00 2001 From: Tyler Hilbert Date: Tue, 28 May 2024 11:33:39 -0400 Subject: [PATCH] Removed meme --- all.html | 1159 ------------- index.html | 1573 ++++++++++++----- output.css | 4024 ++------------------------------------------ readme.md | 2 +- sound.mp3 | Bin 59859 -> 0 bytes tailwind.config.js | 1222 +------------- 6 files changed, 1247 insertions(+), 6733 deletions(-) delete mode 100644 all.html delete mode 100644 sound.mp3 diff --git a/all.html b/all.html deleted file mode 100644 index 2619159..0000000 --- a/all.html +++ /dev/null @@ -1,1159 +0,0 @@ - - - - - 3D Printable Guitars (Full Database) - - - - - - - - - - - - - -
-

3D Printed Guitars Guide

-

The largest online directory of 3D printed guitars...

-
- -
- Prusacaster -
-
Prusacaster
-

The Prusacaster – How to Design and 3D Print an Electric Guitar that plays well <$150

-
-
- Pickups: ss - Body: Jaguar - get -
-
- -
- Solstie -
-
Solstie
-

This is a 3D printable guitar! The whole thing is printed. You don't need anything else but some super glue to assemble the guitar. Add some strings and standard guitar tuning machines and you're done! It is about 3/4 scale and is very playable. See a video and hear what it sounds like here: http://youtu.be/_2lzZFKssrQ

-
-
- Size: Travel Size - Instrument: Acoustic Guitar - get -
-
- -
- Black Widow -
-
Black Widow
-

SHOWCASED @ CES 2016!!!

-
-
- Body: LP - Pickups: sss - get -
-
- -
- Printonic M87 -
-
Printonic M87
-

Voor deze gitaar haalden we onze inspiratie uit het eerst gefotografeerde zwarte gat, vandaar de naam: 'M87'. Waarbij onze eerste twee gitaren gebaseerd waren op het welbekende telecaster model, is dit model gebaseerd op de Jazzmaster. Ook is er besloten de body van deze gitaar 2 kleuren te geven om de diepte beter uit te drukken.

-
-
- Pickups: p90 - Body: Jaguar - get -
-
- -
- MrErdreich -
-
MrErdreich
-

-
-
- Body: LP - Pickups: hh - get -
-
- -
- This 3D-printed wood guitar is made from recycled sawdust -
-
This 3D-printed wood guitar is made from recycled sawdust
-

-
-
- Pickups: hh - Body: Strat -
-
- -
- 3D Printing a Guitar -
-
3D Printing a Guitar
-

-
-
- Pickups: sss - Body: Strat - get -
-
- -
- Unboxing a 3D Printed Stratocaster... -
-
Unboxing a 3D Printed Stratocaster...
-

-
-
- Pickups: hh - Body: Strat - get -
-
- -
- I've been wanting to 3D print a guitar body ever since high school. After many years of procrastination, I finally made one. Couldn't be more pleased with the end product. -
-
I've been wanting to 3D print a guitar body ever since high school. After many years of procrastination, I finally made one. Couldn't be more pleased with the end product.
-

-
-
- Pickups: sss - Body: Strat -
-
- -
- Gitaar #002 -
-
Gitaar #002
-

Dit is de tweede gitaar die door ons is ontworpen en gemaakt. Dit model is ontworpen door in de gitaar verschillende vlakken weg te halen waardoor je er bijna volledig doorheen kunt kijken. Deze body is gemaakt met een versie van PLA genaamd PolyTerra PLA, dit is een bioplastic waarin organische materialen zijn gecombineerd met PLA om het plastic gehalte te verminderen en een milieuvriendelijker plastic te ontwikkelen.

-
-
- Pickups: ss - Body: Strat - get -
-
- -
- Honeycomb Stratocaster -
-
Honeycomb Stratocaster
-

-
-
- Pickups: sss - Body: Strat - get -
-
- -
- Citrionyx -
-
Citrionyx
-

3d printed guitar with printed neck and headless tuners

-
-
- Pickups: sss - Body: Strat - Bridge: Headless - get -
-
- -
- Red Raven 4 -
-
Red Raven 4
-

FRX style electric guitar, 7 string multiscale

-
-
- Pickups: hh - Strings: 7 - Body: F - get -
-
- -
- Veronoi -
-
Veronoi
-

The most badass electric guitar body on the internet!

-
-
- Pickups: sss - Body: Strat - get -
-
- -
- EG3D -
-
EG3D
-

A fully-functional guitar body designed based on the B.C. Rich Warlock guitar.

-
-
- Pickups: hh - Body: Warlock - Bridge: Floyd Rose - get -
-
- -
- WIP 3D printable Electric Guitar -
-
WIP 3D printable Electric Guitar
-

This is a work in progress (WIP) 3D printable electric guitar made by a group of design engineers at Trine University

-
-
- Pickups: s - Size: Travel Size - get -
-
- -
- YUK -
-
YUK
-

Headless Electic Guitar. Modular Design. Light weight. Good for Trip. Easy Assembly,

-
-
- Pickups: hh - Bridge: Headless - get -
-
- -
- Psicojimi -
-
Psicojimi
-

Headless electric guitar V3,

-
-
- Pickups: hss - Bridge: Headless - get -
-
- -
- Farki's Sparrow -
-
Farki's Sparrow
-

Sparrow V2 - headless electric travel guitar. V2 of my original design with many requested improvements!

-
-
- Pickups: sss - Bridge: Headless - Body: Travel - Size: Travel Size - get -
-
- -
- Red Raven 1 -
-
Red Raven 1
-

Electric guitar with integrated Mooer PE100 multieffect. Ideal for shredding at home. No cables and amps needed. Plug…

-
-
- Pickups: hh - Body: Strat - get -
-
- -
- Simple Honeycomb -
-
Simple Honeycomb
-

A simple honeycomb Stratocaster-based electric guitar body, sliced into pieces for smaller 3D printers.

-
-
- Pickups: sss - Body: Strat - get -
-
- -
- The Verhoeven -
-
The Verhoeven
-

Bass Guitar Body V2

-
-
- Instrument: Bass Guitar - Strings: 4 - get -
-
- -
- TeleHex -
-
TeleHex
-

This is a 3d printable Telecaster style guitar. The original model for this guitar was measured from an actual Telecaster, however I am unable to find the original source where I found the model file, so credit for that model goes to whoever uploaded it originally. My design changes for this model include adding the hexagon pattern and splitting the body into chunks to fit on my Ender 5.

-
-
- Body: Telecaster - get -
-
- -
- Smadoo -
-
Smadoo
-

This is a light remix of the Honeycomb Stratocaster Body by Conceptor. (https://www.thingiverse.com/thing:3174465) I resliced the body into 9 pieces rather than the original 6 so that there is only 1 seam under the strings where the tension is the highest, there is no longer a seam where the screws for the bridge meet, and the pieces will now fit on a smaller print bed. I also added pegs / holes in the joints to give the body some additional mechanical strength in addition to the glue. The naming convention for the files is this: Each main body piece has a number, 1 through 9, as well as a brief description of what each piece is. Each peg has a pair of numbers to indicate which pieces it connects, as well as a description if there are multiple pegs connecting the same pieces. Edit: 16 July 2021 I have seen comments that 'mid-upper.stl' is corrupted. It looks fine on my end, but if you see the same, try 'mid-upper-reuploaded.stl'

-
-
- Body: Strat - get -
-
- -
- Toaster 117 -
-
Toaster 117
-

This is a remix. The design from Smadoo sadly was to big for my Mini so I redesigned it to fit and went for another look

-
-
- Body: Strat - get -
-
- -
- Leapin Cat Warlock -
-
Leapin Cat Warlock
-

B.C Rich Warlock Guitar Body Remix for Tune o Matic Bridge. A remix of the Rich Warlock guitar body with a few changes to the middle pieces for my preferences.

-
-
- Bridge: Tune o Matic - Body: Warlock - get -
-
- -
- Honeycaster -
-
Honeycaster
-

A 3d-printed guitar body of a Telecaster guitar. Fully working.

-
-
- Body: Telecaster - get -
-
- -
- Modulcaster - Stratocaster -
-
Modulcaster - Stratocaster
-

Modular 3D-printed electric guitar with swappable parts for unlimited customization of visual style.

-
-
- Body: Strat - Pickups: ss - get -
-
- -
- Modulcaster - Les Paul -
-
Modulcaster - Les Paul
-

Modular 3D-printed electric guitar with swappable parts for unlimited customization of visual style.

-
-
- Body: LP - Pickups: ss - get -
-
- -
- Tomecaster -
-
Tomecaster
-

The Tomecaster: a modular 3D printable guitar with a modern design that can be put together cheaply using T-style parts

-
-
- Body: Firebird - Pickups: ss - get -
-
- -
- Shape Optimized Bass Guitar -
-
Shape Optimized Bass Guitar
-

As far as I know this is the only shape optimized bass guitar body out there. Parameters were set to optimize stiffness in the pulling direction of the strings as well as to guarrantee it will not snap if you use it with a strap. As opposed to the strat I also designed I actually finished this build and played it! It works great! You can check the strat here: https://www.printables.com/model/446798-shape-optimized-squier-strat The body was printed in three pieces on my custom delta printer. The pieces were then glued together with high quality epoxy and two M8 threaded rods. 8mm holes are already in place to help alignment. The print will most likely come out a bit rough. You can smooth it with some filler and sand paper. There's no electronics cover since I never designed it. Holes for routing the wires are already in place but you'll need to reopen them with a long drill bit. Hardware: I picked the cheapest bridge I could find on Amazon. I'ts kept in place via 5 wood screws. As for the neck I again went with the cheapest P bass neck I could find online. For pickups I used Seymour Duncan SPB-3 quarter pound, but any P style pickups will work. There's place for two pots, one for volume and one for tone. The output jack is a ¼ barrel style connector. Again I went with the cheapest I could find. If I remember correctly the neck pocket was too deep so I included some printed shims to raise it. It was my first build so don't judge me! Hope you like it!

-
-
- Instrument: Bass Guitar - Strings: 4 - get -
-
- -
- Shape Optimized Strat -
-
Shape Optimized Strat
-

-
-
- Body: Strat - get -
-
- -
- Telecaster guitar with hexagonal holes -
-
Telecaster guitar with hexagonal holes
-

A fully printable Telecaster with a hexagonal pattern in the body. The guitar is the same size as a normal Telecaster, so normal parts fit. All the parts are connected with pegs and glue, so no tools are needed.

-
-
- Body: Telecaster - Pickups: ss - get -
-
- -
- Electric Bass Guitar body with tilted fretboard for left hand comfort -
-
Electric Bass Guitar body with tilted fretboard for left hand comfort
-

This bass body diminishes the chance for RSI (Ger: Sehnenscheidenentzündung) by tilting the fretboard down

-
-
- Instrument: Bass Guitar - Strings: 4 - get -
-
- -
- Playable Ukulele - Printable w/ no Supports -
-
Playable Ukulele - Printable w/ no Supports
-

Full-size Soprano Ukulele which prints with no supports. Now includes files for both smaller and larger printers. Designed to work with standard guitar or ukulele tuning machines and standard ukulele strings. Playable and is full soprano scale.

-
-
- Instrument: Ukulele - Strings: 4 - get -
-
- -
- The Whale Biologist -
-
The Whale Biologist
-

Stratocaster/Les Paul Hybrid Guitar

-
-
- Body: LP - Pickups: sss - get -
-
- -
- Baco PG-2 -
-
Baco PG-2
-

This is our second 3D printed guitar. It's fully printed in black PLA using a low cost 3D printer such as 3DRAG (Velleman K8200) on 200x200x200mm building platform.

-
-
- Body: Telecaster - Pickups: hs - get -
-
- -
- The Tikicaster -
-
The Tikicaster
-

This is my take on the Telecaster Thinline, Fender's brief foray into the world of hollow body electrics. The body is built the same way as the original. The back, middle and front sections stack up, allowing you to print a hollow body with finish surfaces on both the front and back, and no support.

-
-
- Body: Telecaster - Pickups: ss - Instrument: Semi-Acoustic Electric Guitar - get -
-
- -
- Shapespeare -
-
Shapespeare
-

-
-
- Body: ES - Pickups: s - get -
-
- -
- Ergonomic Guitar -
-
Ergonomic Guitar
-

Strandberg Boden guitar, designed by Ola Strandberg

-
-
- Body: Boden - Pickups: hh - get -
-
- -
- Hungry Joe -
-
Hungry Joe
-

3D Printed Electric Ukulele

-
-
- Instrument: Electric Ukulele - Strings: 4 - get -
-
- -
- Balalaika -
-
Balalaika
-

Here is a fully playable Balalaika! Prints without supports! The Balalaika is one of Russia's most popular instruments. This 3 stringed instrument has a characteristic triangular form. Here's a quickie sound test. Some slight improvements to the sound have been make since. https://www.youtube.com/watch?v=akXrIWGhpfE

-
-
- Instrument: Balalaika - Strings: 3 - get -
-
- -
- Electro-Acoustic Banjitar -
-
Electro-Acoustic Banjitar
-

3-string uke banjitar. It really plays (if you set the bridge right) though not very loudly. Designed to easily add a piezo pickup and a 1/4 inch jack.

-
-
- Instrument: Electro-Acoustic Banjitar - Strings: 3 - get -
-
- -
- Bear-u-lele -
-
Bear-u-lele
-

The Ukulele with a Bear Head!

-
-
- Instrument: Ukulele - Strings: 4 - get -
-
- -
- Sergey 225 -
-
Sergey 225
-

3d printed travel guitar

-
-
- Size: Travel Size - get -
-
- -
- AMGP (Adapto Modular Guitar Pro) -
-
AMGP (Adapto Modular Guitar Pro)
-

This is a 3D printable modular guitar system.

-
-
- Body: Modular - get -
-
- -
- Etxaniz -
-
Etxaniz
-

Strandberg ELECTRIC GUITAR

-
-
- Body: Boden - get -
-
- -
- Calgon -
-
Calgon
-

Boden like guitar. I'd modified the Ergonomic Guitar by superwoodle.( thank you !)

-
-
- Body: Boden - Bridge: Headless - Pickups: h - get -
-
- -
- Hexagonal Precision Bass Guitar -
-
Hexagonal Precision Bass Guitar
-

This is a custom precision bass guitar body. After printing a custom stratocaster that I found here, I decided I wanted to try making my own guitar and since there wasn't a bass available to download, I figured I'd give a try at making that.

-
-
- Body: Precision Bass - Instrument: Electric Bass - get -
-
- -
- Honeycomb Guitar Body -
-
Honeycomb Guitar Body
-

-
-
- Body: Boden - Pickups: hh - get -
-
- -
- Ibenez Jem 777 3D Model -
-
Ibenez Jem 777 3D Model
-

$3

-
-
- Body: Jem - Pickups: hsh - get -
-
- -
- Mermaid Guitar Body 3D Model -
-
Mermaid Guitar Body 3D Model
-

$10

-
-
- Body: Strat - Pickups: ss - get -
-
- -
- Dragon Guitar STL 3D Model -
-
Dragon Guitar STL 3D Model
-

$10

-
-
- Body: Strat - Pickups: sss - get -
-
- -
- River -
-
River
-

$4.99 Guitar STL Files, Functional 3D Print, 3D Model, 3D Print Design (RIVER)

-
-
- Body: LP - Pickups: hh - get -
-
- -
- Fire -
-
Fire
-

$4.99 Guitar STL Files, Functional 3D Print, 3D Model, 3D Print Design (FIRE)

-
-
- Body: LP - Pickups: hh - get -
-
- -
- Spider -
-
Spider
-

$4.99 Guitar STL Files, Functional 3D Print, 3D Model, 3D Print Design (SPIDER)

-
-
- Body: LP - Pickups: hh - get -
-
- -
- Stripes -
-
Stripes
-

$4.99 Guitar STL Files, Functional 3D Print, 3D Model, 3D Print Design (STRIPES)

-
-
- Body: LP - Pickups: hh - get -
-
- -
- Checkers -
-
Checkers
-

$4.99 Guitar STL Files, Functional 3D Print, 3D Model, 3D Print Design (CHECKERS)

-
-
- Body: LP - Pickups: hh - get -
-
- -
- Bubbles -
-
Bubbles
-

$4.99 Guitar STL Files, Functional 3D Print, 3D Model, 3D Print Design (BUBBLES)

-
-
- Body: LP - Pickups: hh - get -
-
- -
- Mcorreadesign -
-
Mcorreadesign
-

The Model M Guitar was a personal research project in seeking the feasibility of building the first acoustic guitar totally printed in 3D with almost no support material. The design was inspired by Devin Montes' The Bodysnatcher design, an Australian Youtuber, to make the acoustic body of the guitar independent of the arm, what makes the design modular and allow you to create your own body. The Project was accomplished through the support of MakerLab FACAMP that made available the space and 3D filament for the construction of this project. I would like to thank the support and enthusiasm of my friends Ana Beatriz Linardi and Rafael Coelho who believed and helped in this project.

-
-
- Instrument: Acoustic Guitar - get -
-
- -
- The Lapwing Leftie -
-
The Lapwing Leftie
-

Left Handed version of my previous guitar design.

-
-
- Handed: Left - Pickups: sss - get -
-
- -
- The Lapwing -
-
The Lapwing
-

-
-
- Pickups: sss - get -
-
- -
- Puzzle-Pattern Guitar -
-
Puzzle-Pattern Guitar
-

Xavier Dumont

-
-
- Pickups: sss - Body: Strat - get -
-
- -
- PIXEL GRADIENT GUITAR -
-
PIXEL GRADIENT GUITAR
-

-
-
- Pickups: h - Body: Strat - get -
-
- -
- Dodecahedron -
-
Dodecahedron
-

-
-
- Pickups: h - Body: Strat - get -
-
- -
- KC PLASTICASTER -
-
KC PLASTICASTER
-

-
-
- Pickups: sss - Body: Strat - get -
-
- -
- XDr4g0nX -
-
XDr4g0nX
-

-
-
- Instrument: Electric Bass - get -
-
- -
- Polycaster -
-
Polycaster
-

-
-
- Pickups: sss - get -
-
- -
- Assassin's Creed Flying V Guitar -
-
Assassin's Creed Flying V Guitar
-

I designed this guitar to be a mix between a Flying V and the Assassin's Creed logo. The print is very straightforward. The body parts are printed in white and epoxied together.

-
-
- Pickups: hh - get -
-
- -
- ZeMario88 -
-
ZeMario88
-

Telecaster guitar body for bass, hollow body style for 3D printing, with a wooden log in the center. You may need to use a hand router to build the wooden log in the center. You can glue the top and bottom layer and use it as a template the router. All parts broken down to fit on a 200mm x 200mm bed

-
-
- Body: Cover for telecaster bass -- NOT FULL BODY - Instrument: Electric Bass - get -
-
- -
- Coffin Bass -
-
Coffin Bass
-

converted to an electric guitar

-
-
- get -
-
- -
- Hello Fender -
-
Hello Fender
-

my friend always wanted a pink Hello Kitty guitar with hearts on it

-
-
- Body: Strat - get -
-
- -
- Imprende -
-
Imprende
-

$6.50

-
-
- Body: LP - Pickups: hh - get -
-
- -
- Hex Ukulele -
-
Hex Ukulele
-

Soprano ukulele - No supports, no glue, no hardware required (except strings). Fits on standard 3d printer.

-
-
- Instrument: Ukulele - get -
-
- -
- Steel String Mandolin -
-
Steel String Mandolin
-

The is a real, eight steel string mandolin with a 13.5inch scale. Oh, and all parts fit on a Prusa Mini+!

-
-
- Instrument: Mandolin - get -
-
- -
- Uookulele -
-
Uookulele
-

3d printable bass ukulele with printable tuning pegs (everything is printable except strings)

-
-
- Instrument: Bass Ukulele - get -
-
- -
- Steel String Guitar, Take 2 -
-
Steel String Guitar, Take 2
-

This guitar requires a big printer - at least 14inchx14inch.

-
-
- Instrument: Steel String Guitar - get -
-
- -
- Soprano Ukulele -
-
Soprano Ukulele
-

-
-
- Instrument: Ukulele - get -
-
- -
- Headless Guitar -
-
Headless Guitar
-

I remixed the strandberg style guitar to utilize easily available parts from ebay/Walmart/Ali or other retail places that have cheap prices for parts. This particular remix is modified to utilize the fixed headless bridge that is black with brass parts and has a little crank handle. It also comes with the thing for the top of the Neck.

-
-
- Body: Boden - Pickups: hh - Bridge: Headless - get -
-
- -
- Älgen -
-
Älgen
-

Wood center

-
-
- Body: ES - Pickups: p90 - Bridge: Headless - get -
-
- -
- Soprano Ukulele -
-
Soprano Ukulele
-

Here is my fully functional 3d printed soprano ukulele. I have various top designs and will be making more.

-
-
- Instrument: Ukulele - get -
-
- -
- V-kulele -
-
V-kulele
-

This is a Soprano ukulele I designed to be easy to print and assemble.

-
-
- Instrument: Ukulele - get -
-
- -
- Soprano Ukulele Concealed Worm Gear Tuners -
-
Soprano Ukulele Concealed Worm Gear Tuners
-

Based on my previous headless gourd shape ukuleles, but instead of using off the shelf tuning pegs, I designed these…

-
-
- Instrument: Ukulele - get -
-
- -
- Headless Gourd Shaped Concert Ukulele -
-
Headless Gourd Shaped Concert Ukulele
-

An example of 3D model generated with my Gugulele OpenSCAD script… (see https://github.com/bguan/gugulele). Decorative…

-
-
- Instrument: Ukulele - get -
-
- -
- Soprano Ukulele -
-
Soprano Ukulele
-

Fully functional soprano ukulele designed from scratch for easy printing with manual color changes.

-
-
- Instrument: Ukulele - get -
-
- -
- Acoustic-Electric Tenor PK-ulele -
-
Acoustic-Electric Tenor PK-ulele
-

This is a design for tenor ukulele that includes both an acoustic-electric style body and an acoustic body. PK-ulele is my most stable iteration of a 3D printable tenor ukulele. It includes cutouts for a tuner/preamp/pickup that allows it to be used in both an acoustic situation as well as a plugged in and amplified environment.

-
-
- Instrument: Ukulele - get -
-
- -
- Headless Tenor Ukulele -
-
Headless Tenor Ukulele
-

Fanned fret, compound radius, headless electric ukulele. Strandberg inspired of course.

-
-
- Instrument: Ukulele - get -
-
- -
- Taruke Ukulele -
-
Taruke Ukulele
-

A sopranissimo body spranino length ukulele that's a bit different.

-
-
- Instrument: Ukulele - get -
-
-
-

Built by Tyler Hilbert (TYHSoftware@Gmail.com)

-
- - diff --git a/index.html b/index.html index f7919b0..5b9f94a 100644 --- a/index.html +++ b/index.html @@ -1,450 +1,1159 @@ - + - 3D Printable Guitars + 3D Printable Guitars (Full Database) - - - - - - -
-

- 3D Printable Guitars -

- -
- -
-
-
Prusacaster
-

- The Prusacaster – How to Design and 3D Print an Electric Guitar - that plays well <$150 -

-
-
- Pickups: ss - Body: Jaguar -
-
-
- - -
-
-
3D Printing a Guitar
-

-
-
- Pickups: sss - Body: Strat -
-
-
- - -
-
-
The Tikicaster
-

- This is my take on the Telecaster Thinline, Fender's brief foray - into the world of hollow body electrics. The body is built the - same way as the original. The back, middle and front sections - stack up, allowing you to print a hollow body with finish surfaces - on both the front and back, and no support. -

-
-
- Body: Telecaster - Pickups: ss - Instrument: Semi-Acoustic Electric Guitar -
-
-
- - -
-
-
Shapespeare
-

-
-
- Body: ES - Pickups: s -
-
-
- - -
-
-
Bear-u-lele
-

The Ukulele with a Bear Head!

-
-
- Instrument: Ukulele - Strings: 4 -
-
-
- - -
-
-
- AMGP (Adapto Modular Guitar Pro) -
-

- This is a 3D printable modular guitar system. -

-
-
- Body: Modular -
-
-
- - -
-
-
Etxaniz
-

Strandberg ELECTRIC GUITAR

-
-
- Body: Boden -
-
-
- - -
-
-
Calgon
-

- Boden like guitar. I'd modified the Ergonomic Guitar by - superwoodle.( thank you !) -

-
-
- Body: Boden - Bridge: Headless - Pickups: h -
-
-
- - -
-
-
The Lapwing Leftie
-

- Left Handed version of my previous guitar design. -

-
-
- Handed: Left - Pickups: sss -
-
-
- - -
- XDr4g0nX -
-
XDr4g0nX
-

-
-
- Instrument: Electric Bass -
-
-
- - -
- Polycaster -
-
Polycaster
-

-
-
- Pickups: sss -
-
-
- - -
- Coffin Bass -
-
Coffin Bass
-

- converted to an electric guitar -

-
-
-
-
-
- - -
- Headless Guitar -
-
Headless Guitar
-

- I remixed the strandberg style guitar to utilize easily available - parts from ebay/Walmart/Ali or other retail places that have cheap - prices for parts. This particular remix is modified to utilize the - fixed headless bridge that is black with brass parts and has a - little crank handle. It also comes with the thing for the top of - the Neck. -

-
-
- Body: Boden - Pickups: hh - Bridge: Headless -
-
-
- - -
- Solstie -
-
Solstie
-

- This is a 3D printable guitar! The whole thing is printed. You - don't need anything else but some super glue to assemble the - guitar. Add some strings and standard guitar tuning machines and - you're done! It is about 3/4 scale and is very playable. See a - video and hear what it sounds like here: - http://youtu.be/_2lzZFKssrQ -

-
-
- Size: Travel Size - Instrument: Acoustic Guitar -
-
-
- - -
+ +
+

3D Printed Guitars Guide

+

The largest online directory of 3D printed guitars...

+
+ + + +
+ Solstie +
+
Solstie
+

This is a 3D printable guitar! The whole thing is printed. You don't need anything else but some super glue to assemble the guitar. Add some strings and standard guitar tuning machines and you're done! It is about 3/4 scale and is very playable. See a video and hear what it sounds like here: http://youtu.be/_2lzZFKssrQ

+
+
+ Size: Travel Size + Instrument: Acoustic Guitar + get +
+
+ +
+ Black Widow +
+
Black Widow
+

SHOWCASED @ CES 2016!!!

+
+
+ Body: LP + Pickups: sss + get +
+
+ +
+ Printonic M87 +
+
Printonic M87
+

Voor deze gitaar haalden we onze inspiratie uit het eerst gefotografeerde zwarte gat, vandaar de naam: 'M87'. Waarbij onze eerste twee gitaren gebaseerd waren op het welbekende telecaster model, is dit model gebaseerd op de Jazzmaster. Ook is er besloten de body van deze gitaar 2 kleuren te geven om de diepte beter uit te drukken.

+
+
+ Pickups: p90 + Body: Jaguar + get +
+
- > - Black Widow -
-
Black Widow
-

SHOWCASED @ CES 2016!!!

-
-
- Body: LP - Pickups: sss -
-
- -
-
- - +
+ MrErdreich +
+
MrErdreich
+

+
+
+ Body: LP + Pickups: hh + get +
+
+ +
+ This 3D-printed wood guitar is made from recycled sawdust +
+
This 3D-printed wood guitar is made from recycled sawdust
+

+
+
+ Pickups: hh + Body: Strat +
+
+ +
+ 3D Printing a Guitar +
+
3D Printing a Guitar
+

+
+
+ Pickups: sss + Body: Strat + get +
+
+ +
+ Unboxing a 3D Printed Stratocaster... +
+
Unboxing a 3D Printed Stratocaster...
+

+
+
+ Pickups: hh + Body: Strat + get +
+
+ +
+ I've been wanting to 3D print a guitar body ever since high school. After many years of procrastination, I finally made one. Couldn't be more pleased with the end product. +
+
I've been wanting to 3D print a guitar body ever since high school. After many years of procrastination, I finally made one. Couldn't be more pleased with the end product.
+

+
+
+ Pickups: sss + Body: Strat +
+
+ +
+ Gitaar #002 +
+
Gitaar #002
+

Dit is de tweede gitaar die door ons is ontworpen en gemaakt. Dit model is ontworpen door in de gitaar verschillende vlakken weg te halen waardoor je er bijna volledig doorheen kunt kijken. Deze body is gemaakt met een versie van PLA genaamd PolyTerra PLA, dit is een bioplastic waarin organische materialen zijn gecombineerd met PLA om het plastic gehalte te verminderen en een milieuvriendelijker plastic te ontwikkelen.

+
+
+ Pickups: ss + Body: Strat + get +
+
+ +
+ Honeycomb Stratocaster +
+
Honeycomb Stratocaster
+

+
+
+ Pickups: sss + Body: Strat + get +
+
+ +
+ Citrionyx +
+
Citrionyx
+

3d printed guitar with printed neck and headless tuners

+
+
+ Pickups: sss + Body: Strat + Bridge: Headless + get +
+
+ +
+ Red Raven 4 +
+
Red Raven 4
+

FRX style electric guitar, 7 string multiscale

+
+
+ Pickups: hh + Strings: 7 + Body: F + get +
+
+ +
+ Veronoi +
+
Veronoi
+

The most badass electric guitar body on the internet!

+
+
+ Pickups: sss + Body: Strat + get +
+
+ +
+ EG3D +
+
EG3D
+

A fully-functional guitar body designed based on the B.C. Rich Warlock guitar.

+
+
+ Pickups: hh + Body: Warlock + Bridge: Floyd Rose + get +
+
+ +
+ WIP 3D printable Electric Guitar +
+
WIP 3D printable Electric Guitar
+

This is a work in progress (WIP) 3D printable electric guitar made by a group of design engineers at Trine University

+
+
+ Pickups: s + Size: Travel Size + get +
+
+ +
+ YUK +
+
YUK
+

Headless Electic Guitar. Modular Design. Light weight. Good for Trip. Easy Assembly,

+
+
+ Pickups: hh + Bridge: Headless + get +
+
+ +
+ Psicojimi +
+
Psicojimi
+

Headless electric guitar V3,

+
+
+ Pickups: hss + Bridge: Headless + get +
+
+ +
+ Farki's Sparrow +
+
Farki's Sparrow
+

Sparrow V2 - headless electric travel guitar. V2 of my original design with many requested improvements!

+
+
+ Pickups: sss + Bridge: Headless + Body: Travel + Size: Travel Size + get +
+
+ +
+ Red Raven 1 +
+
Red Raven 1
+

Electric guitar with integrated Mooer PE100 multieffect. Ideal for shredding at home. No cables and amps needed. Plug…

+
+
+ Pickups: hh + Body: Strat + get +
+
+ +
+ Simple Honeycomb +
+
Simple Honeycomb
+

A simple honeycomb Stratocaster-based electric guitar body, sliced into pieces for smaller 3D printers.

+
+
+ Pickups: sss + Body: Strat + get +
+
+ +
+ The Verhoeven +
+
The Verhoeven
+

Bass Guitar Body V2

+
+
+ Instrument: Bass Guitar + Strings: 4 + get +
+
+ +
+ TeleHex +
+
TeleHex
+

This is a 3d printable Telecaster style guitar. The original model for this guitar was measured from an actual Telecaster, however I am unable to find the original source where I found the model file, so credit for that model goes to whoever uploaded it originally. My design changes for this model include adding the hexagon pattern and splitting the body into chunks to fit on my Ender 5.

+
+
+ Body: Telecaster + get +
+
+ +
+ Smadoo +
+
Smadoo
+

This is a light remix of the Honeycomb Stratocaster Body by Conceptor. (https://www.thingiverse.com/thing:3174465) I resliced the body into 9 pieces rather than the original 6 so that there is only 1 seam under the strings where the tension is the highest, there is no longer a seam where the screws for the bridge meet, and the pieces will now fit on a smaller print bed. I also added pegs / holes in the joints to give the body some additional mechanical strength in addition to the glue. The naming convention for the files is this: Each main body piece has a number, 1 through 9, as well as a brief description of what each piece is. Each peg has a pair of numbers to indicate which pieces it connects, as well as a description if there are multiple pegs connecting the same pieces. Edit: 16 July 2021 I have seen comments that 'mid-upper.stl' is corrupted. It looks fine on my end, but if you see the same, try 'mid-upper-reuploaded.stl'

+
+
+ Body: Strat + get +
+
+ +
+ Toaster 117 +
+
Toaster 117
+

This is a remix. The design from Smadoo sadly was to big for my Mini so I redesigned it to fit and went for another look

+
+
+ Body: Strat + get +
+
+ +
+ Leapin Cat Warlock +
+
Leapin Cat Warlock
+

B.C Rich Warlock Guitar Body Remix for Tune o Matic Bridge. A remix of the Rich Warlock guitar body with a few changes to the middle pieces for my preferences.

+
+
+ Bridge: Tune o Matic + Body: Warlock + get +
+
+ +
+ Honeycaster +
+
Honeycaster
+

A 3d-printed guitar body of a Telecaster guitar. Fully working.

+
+
+ Body: Telecaster + get +
+
+ +
+ Modulcaster - Stratocaster +
+
Modulcaster - Stratocaster
+

Modular 3D-printed electric guitar with swappable parts for unlimited customization of visual style.

+
+
+ Body: Strat + Pickups: ss + get +
+
+ +
+ Modulcaster - Les Paul +
+
Modulcaster - Les Paul
+

Modular 3D-printed electric guitar with swappable parts for unlimited customization of visual style.

+
+
+ Body: LP + Pickups: ss + get +
+
+ +
+ Tomecaster +
+
Tomecaster
+

The Tomecaster: a modular 3D printable guitar with a modern design that can be put together cheaply using T-style parts

+
+
+ Body: Firebird + Pickups: ss + get +
+
+ +
+ Shape Optimized Bass Guitar +
+
Shape Optimized Bass Guitar
+

As far as I know this is the only shape optimized bass guitar body out there. Parameters were set to optimize stiffness in the pulling direction of the strings as well as to guarrantee it will not snap if you use it with a strap. As opposed to the strat I also designed I actually finished this build and played it! It works great! You can check the strat here: https://www.printables.com/model/446798-shape-optimized-squier-strat The body was printed in three pieces on my custom delta printer. The pieces were then glued together with high quality epoxy and two M8 threaded rods. 8mm holes are already in place to help alignment. The print will most likely come out a bit rough. You can smooth it with some filler and sand paper. There's no electronics cover since I never designed it. Holes for routing the wires are already in place but you'll need to reopen them with a long drill bit. Hardware: I picked the cheapest bridge I could find on Amazon. I'ts kept in place via 5 wood screws. As for the neck I again went with the cheapest P bass neck I could find online. For pickups I used Seymour Duncan SPB-3 quarter pound, but any P style pickups will work. There's place for two pots, one for volume and one for tone. The output jack is a ¼ barrel style connector. Again I went with the cheapest I could find. If I remember correctly the neck pocket was too deep so I included some printed shims to raise it. It was my first build so don't judge me! Hope you like it!

+
+
+ Instrument: Bass Guitar + Strings: 4 + get +
+
+ +
+ Shape Optimized Strat +
+
Shape Optimized Strat
+

+
+
+ Body: Strat + get +
+
+ +
+ Telecaster guitar with hexagonal holes +
+
Telecaster guitar with hexagonal holes
+

A fully printable Telecaster with a hexagonal pattern in the body. The guitar is the same size as a normal Telecaster, so normal parts fit. All the parts are connected with pegs and glue, so no tools are needed.

+
+
+ Body: Telecaster + Pickups: ss + get +
+
+ +
+ Electric Bass Guitar body with tilted fretboard for left hand comfort +
+
Electric Bass Guitar body with tilted fretboard for left hand comfort
+

This bass body diminishes the chance for RSI (Ger: Sehnenscheidenentzündung) by tilting the fretboard down

+
+
+ Instrument: Bass Guitar + Strings: 4 + get +
+
+ +
+ Playable Ukulele - Printable w/ no Supports +
+
Playable Ukulele - Printable w/ no Supports
+

Full-size Soprano Ukulele which prints with no supports. Now includes files for both smaller and larger printers. Designed to work with standard guitar or ukulele tuning machines and standard ukulele strings. Playable and is full soprano scale.

+
+
+ Instrument: Ukulele + Strings: 4 + get +
+
+ +
+ The Whale Biologist +
+
The Whale Biologist
+

Stratocaster/Les Paul Hybrid Guitar

+
+
+ Body: LP + Pickups: sss + get +
+
+ +
+ Baco PG-2 +
+
Baco PG-2
+

This is our second 3D printed guitar. It's fully printed in black PLA using a low cost 3D printer such as 3DRAG (Velleman K8200) on 200x200x200mm building platform.

+
+
+ Body: Telecaster + Pickups: hs + get +
+
+ +
+ The Tikicaster +
+
The Tikicaster
+

This is my take on the Telecaster Thinline, Fender's brief foray into the world of hollow body electrics. The body is built the same way as the original. The back, middle and front sections stack up, allowing you to print a hollow body with finish surfaces on both the front and back, and no support.

+
+
+ Body: Telecaster + Pickups: ss + Instrument: Semi-Acoustic Electric Guitar + get +
+
+ +
+ Shapespeare +
+
Shapespeare
+

+
+
+ Body: ES + Pickups: s + get +
+
+ +
+ Ergonomic Guitar +
+
Ergonomic Guitar
+

Strandberg Boden guitar, designed by Ola Strandberg

+
+
+ Body: Boden + Pickups: hh + get +
+
+ +
+ Hungry Joe +
+
Hungry Joe
+

3D Printed Electric Ukulele

+
+
+ Instrument: Electric Ukulele + Strings: 4 + get +
+
+ +
+ Balalaika +
+
Balalaika
+

Here is a fully playable Balalaika! Prints without supports! The Balalaika is one of Russia's most popular instruments. This 3 stringed instrument has a characteristic triangular form. Here's a quickie sound test. Some slight improvements to the sound have been make since. https://www.youtube.com/watch?v=akXrIWGhpfE

+
+
+ Instrument: Balalaika + Strings: 3 + get +
+
+ +
+ Electro-Acoustic Banjitar +
+
Electro-Acoustic Banjitar
+

3-string uke banjitar. It really plays (if you set the bridge right) though not very loudly. Designed to easily add a piezo pickup and a 1/4 inch jack.

+
+
+ Instrument: Electro-Acoustic Banjitar + Strings: 3 + get +
+
+ +
+ Bear-u-lele +
+
Bear-u-lele
+

The Ukulele with a Bear Head!

+
+
+ Instrument: Ukulele + Strings: 4 + get +
+
+ +
+ Sergey 225 +
+
Sergey 225
+

3d printed travel guitar

+
+
+ Size: Travel Size + get +
+
+ +
+ AMGP (Adapto Modular Guitar Pro) +
+
AMGP (Adapto Modular Guitar Pro)
+

This is a 3D printable modular guitar system.

+
+
+ Body: Modular + get +
+
+ +
+ Etxaniz +
+
Etxaniz
+

Strandberg ELECTRIC GUITAR

+
+
+ Body: Boden + get +
+
+ +
+ Calgon +
+
Calgon
+

Boden like guitar. I'd modified the Ergonomic Guitar by superwoodle.( thank you !)

+
+
+ Body: Boden + Bridge: Headless + Pickups: h + get +
+
+ +
+ Hexagonal Precision Bass Guitar +
+
Hexagonal Precision Bass Guitar
+

This is a custom precision bass guitar body. After printing a custom stratocaster that I found here, I decided I wanted to try making my own guitar and since there wasn't a bass available to download, I figured I'd give a try at making that.

+
+
+ Body: Precision Bass + Instrument: Electric Bass + get +
+
+ +
+ Honeycomb Guitar Body +
+
Honeycomb Guitar Body
+

+
+
+ Body: Boden + Pickups: hh + get +
+
+ +
+ Ibenez Jem 777 3D Model +
+
Ibenez Jem 777 3D Model
+

$3

+
+
+ Body: Jem + Pickups: hsh + get +
+
+ +
+ Mermaid Guitar Body 3D Model +
+
Mermaid Guitar Body 3D Model
+

$10

+
+
+ Body: Strat + Pickups: ss + get +
+
+ +
+ Dragon Guitar STL 3D Model +
+
Dragon Guitar STL 3D Model
+

$10

+
+
+ Body: Strat + Pickups: sss + get +
+
+ +
+ River +
+
River
+

$4.99 Guitar STL Files, Functional 3D Print, 3D Model, 3D Print Design (RIVER)

+
+
+ Body: LP + Pickups: hh + get +
+
+ +
+ Fire +
+
Fire
+

$4.99 Guitar STL Files, Functional 3D Print, 3D Model, 3D Print Design (FIRE)

+
+
+ Body: LP + Pickups: hh + get +
+
+ +
+ Spider +
+
Spider
+

$4.99 Guitar STL Files, Functional 3D Print, 3D Model, 3D Print Design (SPIDER)

+
+
+ Body: LP + Pickups: hh + get +
+
+ +
+ Stripes +
+
Stripes
+

$4.99 Guitar STL Files, Functional 3D Print, 3D Model, 3D Print Design (STRIPES)

+
+
+ Body: LP + Pickups: hh + get +
+
+ +
+ Checkers +
+
Checkers
+

$4.99 Guitar STL Files, Functional 3D Print, 3D Model, 3D Print Design (CHECKERS)

+
+
+ Body: LP + Pickups: hh + get +
+
+ +
+ Bubbles +
+
Bubbles
+

$4.99 Guitar STL Files, Functional 3D Print, 3D Model, 3D Print Design (BUBBLES)

+
+
+ Body: LP + Pickups: hh + get +
+
+ +
+ Mcorreadesign +
+
Mcorreadesign
+

The Model M Guitar was a personal research project in seeking the feasibility of building the first acoustic guitar totally printed in 3D with almost no support material. The design was inspired by Devin Montes' The Bodysnatcher design, an Australian Youtuber, to make the acoustic body of the guitar independent of the arm, what makes the design modular and allow you to create your own body. The Project was accomplished through the support of MakerLab FACAMP that made available the space and 3D filament for the construction of this project. I would like to thank the support and enthusiasm of my friends Ana Beatriz Linardi and Rafael Coelho who believed and helped in this project.

+
+
+ Instrument: Acoustic Guitar + get +
+
+ +
+ The Lapwing Leftie +
+
The Lapwing Leftie
+

Left Handed version of my previous guitar design.

+
+
+ Handed: Left + Pickups: sss + get +
+
+ +
+ The Lapwing +
+
The Lapwing
+

+
+
+ Pickups: sss + get +
+
+ +
+ Puzzle-Pattern Guitar +
+
Puzzle-Pattern Guitar
+

Xavier Dumont

+
+
+ Pickups: sss + Body: Strat + get +
+
+ +
+ PIXEL GRADIENT GUITAR +
+
PIXEL GRADIENT GUITAR
+

+
+
+ Pickups: h + Body: Strat + get +
+
+ +
+ Dodecahedron +
+
Dodecahedron
+

+
+
+ Pickups: h + Body: Strat + get +
+
+ +
+ KC PLASTICASTER +
+
KC PLASTICASTER
+

+
+
+ Pickups: sss + Body: Strat + get +
+
+ +
+ XDr4g0nX +
+
XDr4g0nX
+

+
+
+ Instrument: Electric Bass + get +
+
+ +
+ Polycaster +
+
Polycaster
+

+
+
+ Pickups: sss + get +
+
+ +
+ Assassin's Creed Flying V Guitar +
+
Assassin's Creed Flying V Guitar
+

I designed this guitar to be a mix between a Flying V and the Assassin's Creed logo. The print is very straightforward. The body parts are printed in white and epoxied together.

+
+
+ Pickups: hh + get +
+
+ +
+ ZeMario88 +
+
ZeMario88
+

Telecaster guitar body for bass, hollow body style for 3D printing, with a wooden log in the center. You may need to use a hand router to build the wooden log in the center. You can glue the top and bottom layer and use it as a template the router. All parts broken down to fit on a 200mm x 200mm bed

+
+
+ Body: Cover for telecaster bass -- NOT FULL BODY + Instrument: Electric Bass + get +
+
+ +
+ Coffin Bass +
+
Coffin Bass
+

converted to an electric guitar

+
+
+ get +
+
+ +
+ Hello Fender +
+
Hello Fender
+

my friend always wanted a pink Hello Kitty guitar with hearts on it

+
+
+ Body: Strat + get +
+
+ +
+ Imprende +
+
Imprende
+

$6.50

+
+
+ Body: LP + Pickups: hh + get +
+
+ +
+ Hex Ukulele +
+
Hex Ukulele
+

Soprano ukulele - No supports, no glue, no hardware required (except strings). Fits on standard 3d printer.

+
+
+ Instrument: Ukulele + get +
+
+ +
+ Steel String Mandolin +
+
Steel String Mandolin
+

The is a real, eight steel string mandolin with a 13.5inch scale. Oh, and all parts fit on a Prusa Mini+!

+
+
+ Instrument: Mandolin + get +
+
+ +
+ Uookulele +
+
Uookulele
+

3d printable bass ukulele with printable tuning pegs (everything is printable except strings)

+
+
+ Instrument: Bass Ukulele + get +
+
+ +
+ Steel String Guitar, Take 2 +
+
Steel String Guitar, Take 2
+

This guitar requires a big printer - at least 14inchx14inch.

+
+
+ Instrument: Steel String Guitar + get +
+
+ +
+ Soprano Ukulele +
+
Soprano Ukulele
+

+
+
+ Instrument: Ukulele + get +
+
+ +
+ Headless Guitar +
+
Headless Guitar
+

I remixed the strandberg style guitar to utilize easily available parts from ebay/Walmart/Ali or other retail places that have cheap prices for parts. This particular remix is modified to utilize the fixed headless bridge that is black with brass parts and has a little crank handle. It also comes with the thing for the top of the Neck.

+
+
+ Body: Boden + Pickups: hh + Bridge: Headless + get +
+
+ +
+ Älgen +
+
Älgen
+

Wood center

+
+
+ Body: ES + Pickups: p90 + Bridge: Headless + get +
+
+ +
+ Soprano Ukulele +
+
Soprano Ukulele
+

Here is my fully functional 3d printed soprano ukulele. I have various top designs and will be making more.

+
+
+ Instrument: Ukulele + get +
+
+ +
+ V-kulele +
+
V-kulele
+

This is a Soprano ukulele I designed to be easy to print and assemble.

+
+
+ Instrument: Ukulele + get +
+
+ +
+ Soprano Ukulele Concealed Worm Gear Tuners +
+
Soprano Ukulele Concealed Worm Gear Tuners
+

Based on my previous headless gourd shape ukuleles, but instead of using off the shelf tuning pegs, I designed these…

+
+
+ Instrument: Ukulele + get +
+
+ +
+ Headless Gourd Shaped Concert Ukulele +
+
Headless Gourd Shaped Concert Ukulele
+

An example of 3D model generated with my Gugulele OpenSCAD script… (see https://github.com/bguan/gugulele). Decorative…

+
+
+ Instrument: Ukulele + get +
+
+ +
+ Soprano Ukulele +
+
Soprano Ukulele
+

Fully functional soprano ukulele designed from scratch for easy printing with manual color changes.

+
+
+ Instrument: Ukulele + get +
+
+ +
+ Acoustic-Electric Tenor PK-ulele +
+
Acoustic-Electric Tenor PK-ulele
+

This is a design for tenor ukulele that includes both an acoustic-electric style body and an acoustic body. PK-ulele is my most stable iteration of a 3D printable tenor ukulele. It includes cutouts for a tuner/preamp/pickup that allows it to be used in both an acoustic situation as well as a plugged in and amplified environment.

+
+
+ Instrument: Ukulele + get +
+
+ +
+ Headless Tenor Ukulele +
+
Headless Tenor Ukulele
+

Fanned fret, compound radius, headless electric ukulele. Strandberg inspired of course.

+
+
+ Instrument: Ukulele + get +
+
+ +
+ Taruke Ukulele +
+
Taruke Ukulele
+

A sopranissimo body spranino length ukulele that's a bit different.

+
+
+ Instrument: Ukulele + get +
+
+
+

Built by Tyler Hilbert (TYHSoftware@Gmail.com)

+
+ + \ No newline at end of file diff --git a/output.css b/output.css index bfd3dcb..ae21201 100644 --- a/output.css +++ b/output.css @@ -1,5 +1,5 @@ /* -! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com +! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com */ /* @@ -46,7 +46,7 @@ html, -o-tab-size: 4; tab-size: 4; /* 3 */ - font-family: Inter, ui-sans-serif, system-ui; + font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */ font-feature-settings: normal; /* 5 */ @@ -211,6 +211,8 @@ textarea { /* 1 */ line-height: inherit; /* 1 */ + letter-spacing: inherit; + /* 1 */ color: inherit; /* 1 */ margin: 0; @@ -234,9 +236,9 @@ select { */ button, -[type='button'], -[type='reset'], -[type='submit'] { +input:where([type='button']), +input:where([type='reset']), +input:where([type='submit']) { -webkit-appearance: button; /* 1 */ background-color: transparent; @@ -444,201 +446,6 @@ video { display: none; } -[type='text'],input:where(:not([type])),[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #fff; - border-color: #6b7280; - border-width: 1px; - border-radius: 0px; - padding-top: 0.5rem; - padding-right: 0.75rem; - padding-bottom: 0.5rem; - padding-left: 0.75rem; - font-size: 1rem; - line-height: 1.5rem; - --tw-shadow: 0 0 #0000; -} - -[type='text']:focus, input:where(:not([type])):focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus { - outline: 2px solid transparent; - outline-offset: 2px; - --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: #2563eb; - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); - border-color: #2563eb; -} - -input::-moz-placeholder, textarea::-moz-placeholder { - color: #6b7280; - opacity: 1; -} - -input::placeholder,textarea::placeholder { - color: #6b7280; - opacity: 1; -} - -::-webkit-datetime-edit-fields-wrapper { - padding: 0; -} - -::-webkit-date-and-time-value { - min-height: 1.5em; - text-align: inherit; -} - -::-webkit-datetime-edit { - display: inline-flex; -} - -::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field { - padding-top: 0; - padding-bottom: 0; -} - -select { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e"); - background-position: right 0.5rem center; - background-repeat: no-repeat; - background-size: 1.5em 1.5em; - padding-right: 2.5rem; - -webkit-print-color-adjust: exact; - print-color-adjust: exact; -} - -[multiple],[size]:where(select:not([size="1"])) { - background-image: initial; - background-position: initial; - background-repeat: unset; - background-size: initial; - padding-right: 0.75rem; - -webkit-print-color-adjust: unset; - print-color-adjust: unset; -} - -[type='checkbox'],[type='radio'] { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - padding: 0; - -webkit-print-color-adjust: exact; - print-color-adjust: exact; - display: inline-block; - vertical-align: middle; - background-origin: border-box; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - flex-shrink: 0; - height: 1rem; - width: 1rem; - color: #2563eb; - background-color: #fff; - border-color: #6b7280; - border-width: 1px; - --tw-shadow: 0 0 #0000; -} - -[type='checkbox'] { - border-radius: 0px; -} - -[type='radio'] { - border-radius: 100%; -} - -[type='checkbox']:focus,[type='radio']:focus { - outline: 2px solid transparent; - outline-offset: 2px; - --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); - --tw-ring-offset-width: 2px; - --tw-ring-offset-color: #fff; - --tw-ring-color: #2563eb; - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); -} - -[type='checkbox']:checked,[type='radio']:checked { - border-color: transparent; - background-color: currentColor; - background-size: 100% 100%; - background-position: center; - background-repeat: no-repeat; -} - -[type='checkbox']:checked { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e"); -} - -@media (forced-colors: active) { - [type='checkbox']:checked { - -webkit-appearance: auto; - -moz-appearance: auto; - appearance: auto; - } -} - -[type='radio']:checked { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e"); -} - -@media (forced-colors: active) { - [type='radio']:checked { - -webkit-appearance: auto; - -moz-appearance: auto; - appearance: auto; - } -} - -[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus { - border-color: transparent; - background-color: currentColor; -} - -[type='checkbox']:indeterminate { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e"); - border-color: transparent; - background-color: currentColor; - background-size: 100% 100%; - background-position: center; - background-repeat: no-repeat; -} - -@media (forced-colors: active) { - [type='checkbox']:indeterminate { - -webkit-appearance: auto; - -moz-appearance: auto; - appearance: auto; - } -} - -[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus { - border-color: transparent; - background-color: currentColor; -} - -[type='file'] { - background: unset; - border-color: inherit; - border-width: 0; - border-radius: 0; - padding: 0; - font-size: unset; - line-height: inherit; -} - -[type='file']:focus { - outline: 1px solid ButtonText; - outline: 1px auto -webkit-focus-ring-color; -} - *, ::before, ::after { --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; @@ -687,6 +494,10 @@ select { --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; + --tw-contain-size: ; + --tw-contain-layout: ; + --tw-contain-paint: ; + --tw-contain-style: ; } ::backdrop { @@ -737,6 +548,10 @@ select { --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; + --tw-contain-size: ; + --tw-contain-layout: ; + --tw-contain-paint: ; + --tw-contain-style: ; } .container { @@ -773,3802 +588,165 @@ select { } } -.form-input,.form-textarea,.form-select,.form-multiselect { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #fff; - border-color: #6b7280; - border-width: 1px; - border-radius: 0px; - padding-top: 0.5rem; - padding-right: 0.75rem; - padding-bottom: 0.5rem; - padding-left: 0.75rem; - font-size: 1rem; - line-height: 1.5rem; - --tw-shadow: 0 0 #0000; -} - -.form-input:focus, .form-textarea:focus, .form-select:focus, .form-multiselect:focus { - outline: 2px solid transparent; - outline-offset: 2px; - --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: #2563eb; - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); - border-color: #2563eb; -} - -.form-input::-moz-placeholder, .form-textarea::-moz-placeholder { - color: #6b7280; - opacity: 1; -} - -.form-input::placeholder,.form-textarea::placeholder { - color: #6b7280; - opacity: 1; -} - -.form-input::-webkit-datetime-edit-fields-wrapper { - padding: 0; -} - -.form-input::-webkit-date-and-time-value { - min-height: 1.5em; - text-align: inherit; +.fixed { + position: fixed; } -.form-input::-webkit-datetime-edit { - display: inline-flex; +.mx-auto { + margin-left: auto; + margin-right: auto; } -.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-year-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-second-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-meridiem-field { - padding-top: 0; - padding-bottom: 0; +.mb-2 { + margin-bottom: 0.5rem; } -.form-select { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e"); - background-position: right 0.5rem center; - background-repeat: no-repeat; - background-size: 1.5em 1.5em; - padding-right: 2.5rem; - -webkit-print-color-adjust: exact; - print-color-adjust: exact; +.mb-4 { + margin-bottom: 1rem; } -.form-select:where([size]:not([size="1"])) { - background-image: initial; - background-position: initial; - background-repeat: unset; - background-size: initial; - padding-right: 0.75rem; - -webkit-print-color-adjust: unset; - print-color-adjust: unset; +.mr-2 { + margin-right: 0.5rem; } -.form-checkbox,.form-radio { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - padding: 0; - -webkit-print-color-adjust: exact; - print-color-adjust: exact; +.inline-block { display: inline-block; - vertical-align: middle; - background-origin: border-box; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - flex-shrink: 0; - height: 1rem; - width: 1rem; - color: #2563eb; - background-color: #fff; - border-color: #6b7280; - border-width: 1px; - --tw-shadow: 0 0 #0000; -} - -.form-checkbox { - border-radius: 0px; -} - -.form-radio { - border-radius: 100%; -} - -.form-checkbox:focus,.form-radio:focus { - outline: 2px solid transparent; - outline-offset: 2px; - --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); - --tw-ring-offset-width: 2px; - --tw-ring-offset-color: #fff; - --tw-ring-color: #2563eb; - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); -} - -.form-checkbox:checked,.form-radio:checked { - border-color: transparent; - background-color: currentColor; - background-size: 100% 100%; - background-position: center; - background-repeat: no-repeat; -} - -.form-checkbox:checked { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e"); -} - -@media (forced-colors: active) { - .form-checkbox:checked { - -webkit-appearance: auto; - -moz-appearance: auto; - appearance: auto; - } } -.form-radio:checked { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e"); -} - -@media (forced-colors: active) { - .form-radio:checked { - -webkit-appearance: auto; - -moz-appearance: auto; - appearance: auto; - } +.grid { + display: grid; } -.form-checkbox:checked:hover,.form-checkbox:checked:focus,.form-radio:checked:hover,.form-radio:checked:focus { - border-color: transparent; - background-color: currentColor; +.w-full { + width: 100%; } -.form-checkbox:indeterminate { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e"); - border-color: transparent; - background-color: currentColor; - background-size: 100% 100%; - background-position: center; - background-repeat: no-repeat; +.max-w-sm { + max-width: 24rem; } -@media (forced-colors: active) { - .form-checkbox:indeterminate { - -webkit-appearance: auto; - -moz-appearance: auto; - appearance: auto; - } +.grid-cols-1 { + grid-template-columns: repeat(1, minmax(0, 1fr)); } -.form-checkbox:indeterminate:hover,.form-checkbox:indeterminate:focus { - border-color: transparent; - background-color: currentColor; +.gap-1 { + gap: 0.25rem; } -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; +.overflow-hidden { overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; -} - -.not-sr-only { - position: static; - width: auto; - height: auto; - padding: 0; - margin: 0; - overflow: visible; - clip: auto; - white-space: normal; -} - -.pointer-events-none { - pointer-events: none; -} - -.pointer-events-auto { - pointer-events: auto; -} - -.\!visible { - visibility: visible !important; } -.visible { - visibility: visible; -} - -.invisible { - visibility: hidden; -} - -.collapse { - visibility: collapse; -} - -.static { - position: static; -} - -.fixed { - position: fixed; -} - -.absolute { - position: absolute; -} - -.relative { - position: relative; -} - -.sticky { - position: sticky; -} - -.-inset-1 { - inset: -0.25rem; -} - -.end-1 { - inset-inline-end: 0.25rem; +.rounded { + border-radius: 0.25rem; } -.isolate { - isolation: isolate; +.rounded-full { + border-radius: 9999px; } -.isolation-auto { - isolation: auto; +.bg-gray-200 { + --tw-bg-opacity: 1; + background-color: rgb(229 231 235 / var(--tw-bg-opacity)); } -.float-start { - float: inline-start; +.p-4 { + padding: 1rem; } -.float-end { - float: inline-end; +.px-3 { + padding-left: 0.75rem; + padding-right: 0.75rem; } -.float-right { - float: right; +.px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; } -.float-left { - float: left; +.py-1 { + padding-top: 0.25rem; + padding-bottom: 0.25rem; } -.float-none { - float: none; +.py-4 { + padding-top: 1rem; + padding-bottom: 1rem; } -.clear-start { - clear: inline-start; +.pb-2 { + padding-bottom: 0.5rem; } -.clear-end { - clear: inline-end; +.pt-4 { + padding-top: 1rem; } -.clear-left { - clear: left; +.text-3xl { + font-size: 1.875rem; + line-height: 2.25rem; } -.clear-right { - clear: right; +.text-base { + font-size: 1rem; + line-height: 1.5rem; } -.clear-both { - clear: both; +.text-sm { + font-size: 0.875rem; + line-height: 1.25rem; } -.clear-none { - clear: none; +.text-xl { + font-size: 1.25rem; + line-height: 1.75rem; } -.mx-auto { - margin-left: auto; - margin-right: auto; +.font-bold { + font-weight: 700; } -.my-2 { - margin-top: 0.5rem; - margin-bottom: 0.5rem; +.font-semibold { + font-weight: 600; } -.mb-16 { - margin-bottom: 4rem; +.leading-relaxed { + line-height: 1.625; } -.mb-2 { - margin-bottom: 0.5rem; +.text-blue-500 { + --tw-text-opacity: 1; + color: rgb(59 130 246 / var(--tw-text-opacity)); } -.mb-4 { - margin-bottom: 1rem; +.text-gray-700 { + --tw-text-opacity: 1; + color: rgb(55 65 81 / var(--tw-text-opacity)); } -.ml-2 { - margin-left: 0.5rem; +.shadow-lg { + --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } -.mr-2 { - margin-right: 0.5rem; +.hover\:underline:hover { + text-decoration-line: underline; } -.mt-0 { - margin-top: 0px; -} +@media (min-width: 768px) { + .md\:grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } -.mt-1 { - margin-top: 0.25rem; -} - -.mt-2 { - margin-top: 0.5rem; -} - -.mt-4 { - margin-top: 1rem; -} - -.mt-8 { - margin-top: 2rem; -} - -.box-border { - box-sizing: border-box; -} - -.box-content { - box-sizing: content-box; -} - -.line-clamp-none { - overflow: visible; - display: block; - -webkit-box-orient: horizontal; - -webkit-line-clamp: none; -} - -.block { - display: block; -} - -.inline-block { - display: inline-block; -} - -.inline { - display: inline; -} - -.flex { - display: flex; -} - -.inline-flex { - display: inline-flex; -} - -.table { - display: table; -} - -.inline-table { - display: inline-table; -} - -.table-caption { - display: table-caption; -} - -.table-cell { - display: table-cell; -} - -.table-column { - display: table-column; -} - -.table-column-group { - display: table-column-group; -} - -.table-footer-group { - display: table-footer-group; -} - -.table-header-group { - display: table-header-group; -} - -.table-row-group { - display: table-row-group; -} - -.table-row { - display: table-row; -} - -.flow-root { - display: flow-root; -} - -.grid { - display: grid; -} - -.inline-grid { - display: inline-grid; -} - -.contents { - display: contents; -} - -.list-item { - display: list-item; -} - -.hidden { - display: none; -} - -.h-24 { - height: 6rem; -} - -.h-full { - height: 100%; -} - -.w-\[this-is\\\\\] { - width: this-is\\; -} - -.w-\[this-is\] { - width: this-is; -} - -.w-\[weird-and-invalid\] { - width: weird-and-invalid; -} - -.w-full { - width: 100%; -} - -.max-w-4xl { - max-width: 56rem; -} - -.max-w-md { - max-width: 28rem; -} - -.max-w-sm { - max-width: 24rem; -} - -.max-w-xl { - max-width: 36rem; -} - -.flex-shrink { - flex-shrink: 1; -} - -.shrink { - flex-shrink: 1; -} - -.flex-grow { - flex-grow: 1; -} - -.grow { - flex-grow: 1; -} - -.table-auto { - table-layout: auto; -} - -.table-fixed { - table-layout: fixed; -} - -.caption-top { - caption-side: top; -} - -.caption-bottom { - caption-side: bottom; -} - -.border-collapse { - border-collapse: collapse; -} - -.border-separate { - border-collapse: separate; -} - -.\!transform { - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; -} - -.transform { - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.transform-cpu { - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.transform-gpu { - transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.transform-none { - transform: none; -} - -@keyframes amethyst-midnight { - 0% { - background: radial-gradient(100% 225% at 0 100%, #3a006b 0, #6c0098 100%), linear-gradient(-100deg, #9c00ff 70%, #7500c4 100%), linear-gradient(200deg, #4c4c4c 0, #9300ff 100%), linear-gradient(-3deg, #6c0098 0, #3a006b 50%); - background-size: 100% 100%; - background-position: 0% 60%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 20% { - background: radial-gradient(100% 225% at 0 100%, #3a006b 0, #6c0098 100%), linear-gradient(-100deg, #9c00ff 70%, #7500c4 100%), linear-gradient(200deg, #4c4c4c 0, #9300ff 100%), linear-gradient(-3deg, #6c0098 0, #3a006b 50%); - background-size: 105% 105%; - background-position: 10% 50%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 40% { - background: radial-gradient(100% 225% at 0 100%, #3a006b 0, #6c0098 100%), linear-gradient(-100deg, #9c00ff 70%, #7500c4 100%), linear-gradient(200deg, #4c4c4c 0, #9300ff 100%), linear-gradient(-3deg, #6c0098 0, #3a006b 50%); - background-size: 110% 300%; - background-position: 20% 40%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 60% { - background: radial-gradient(100% 225% at 0 100%, #3a006b 0, #6c0098 100%), linear-gradient(-100deg, #9c00ff 70%, #7500c4 100%), linear-gradient(200deg, #4c4c4c 0, #9300ff 100%), linear-gradient(-3deg, #6c0098 0, #3a006b 50%); - background-size: 115% 115%; - background-position: 30% 30%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 80% { - background: radial-gradient(100% 225% at 0 100%, #3a006b 0, #6c0098 100%), linear-gradient(-100deg, #9c00ff 70%, #7500c4 100%), linear-gradient(200deg, #4c4c4c 0, #9300ff 100%), linear-gradient(-3deg, #6c0098 0, #3a006b 50%); - background-size: 250% 120%; - background-position: 40% 20%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 100% { - background: radial-gradient(100% 225% at 0 100%, #3a006b 0, #6c0098 100%), linear-gradient(-100deg, #9c00ff 70%, #7500c4 100%), linear-gradient(200deg, #4c4c4c 0, #9300ff 100%), linear-gradient(-3deg, #6c0098 0, #3a006b 50%); - background-size: 100% 100%; - background-position: 0% 60%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } -} - -.animate-amethyst-midnight { - animation: amethyst-midnight 10s ease infinite; -} - -@keyframes black-swoosh { - 0% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(64, 64, 64, 0.8), rgba(128, 128, 128, 0.8), rgba(0, 0, 0, 0.8), rgba(64, 64, 64, 0.8), rgba(128, 128, 128, 0.8), rgba(0, 0, 0, 0.8)); - } - - 50% { - background-size: 600% 100%; - background-position: right center; - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(64, 64, 64, 0.8), rgba(128, 128, 128, 0.8), rgba(0, 0, 0, 0.8), rgba(64, 64, 64, 0.8), rgba(128, 128, 128, 0.8), rgba(0, 0, 0, 0.8)); - } - - 100% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(64, 64, 64, 0.8), rgba(128, 128, 128, 0.8), rgba(0, 0, 0, 0.8), rgba(64, 64, 64, 0.8), rgba(128, 128, 128, 0.8), rgba(0, 0, 0, 0.8)); - } -} - -.animate-black-swoosh { - animation: black-swoosh 10s ease infinite; -} - -@keyframes blue-galaxy { - 0% { - background: radial-gradient(100% 225% at 0 100%, #50009a 0, #001aff 100%), linear-gradient(100deg, #fb00a5 50%, #6900cb 100%), linear-gradient(200deg, #8dada4 0, #12de81 100%), linear-gradient(-3deg, #1dadfe 0, #50009a 50%); - background-size: 100% 100%; - background-position: 0% 100%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 20% { - background: radial-gradient(100% 225% at 0 100%, #50009a 0, #001aff 100%), linear-gradient(100deg, #fb00a5 50%, #6900cb 100%), linear-gradient(200deg, #8dada4 0, #12de81 100%), linear-gradient(-3deg, #1dadfe 0, #50009a 50%); - background-size: 105% 105%; - background-position: 10% 100%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 40% { - background: radial-gradient(100% 225% at 0 100%, #50009a 0, #001aff 100%), linear-gradient(100deg, #fb00a5 50%, #6900cb 100%), linear-gradient(200deg, #8dada4 0, #12de81 100%), linear-gradient(-3deg, #1dadfe 0, #50009a 50%); - background-size: 110% 300%; - background-position: 20% 80%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 60% { - background: radial-gradient(100% 225% at 0 100%, #50009a 0, #001aff 100%), linear-gradient(100deg, #fb00a5 50%, #6900cb 100%), linear-gradient(200deg, #8dada4 0, #12de81 100%), linear-gradient(-3deg, #1dadfe 0, #50009a 50%); - background-size: 115% 115%; - background-position: 30% 70%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 80% { - background: radial-gradient(100% 225% at 0 100%, #50009a 0, #001aff 100%), linear-gradient(100deg, #fb00a5 50%, #6900cb 100%), linear-gradient(200deg, #8dada4 0, #12de81 100%), linear-gradient(-3deg, #1dadfe 0, #50009a 50%); - background-size: 250% 120%; - background-position: 40% 60%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 100% { - background: radial-gradient(100% 225% at 0 100%, #50009a 0, #001aff 100%), linear-gradient(100deg, #fb00a5 50%, #6900cb 100%), linear-gradient(200deg, #8dada4 0, #12de81 100%), linear-gradient(-3deg, #1dadfe 0, #50009a 50%); - background-size: 100% 100%; - background-position: 0% 100%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } -} - -.animate-blue-galaxy { - animation: blue-galaxy 10s ease infinite; -} - -@keyframes cosmic-wave { - 0% { - background: radial-gradient(100% 225% at 0 100%, #0039A6 0, #005EB8 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004785 0, #0039A6 100%), linear-gradient(60deg, #005EB8 0, #0039A6 50%); - background-size: 100% 100%; - background-position: 0% 60%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 20% { - background: radial-gradient(100% 225% at 0 100%, #0039A6 0, #005EB8 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004785 0, #0039A6 100%), linear-gradient(60deg, #005EB8 0, #0039A6 50%); - background-size: 105% 105%; - background-position: 10% 50%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 40% { - background: radial-gradient(100% 225% at 0 100%, #0039A6 0, #005EB8 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004785 0, #0039A6 100%), linear-gradient(60deg, #005EB8 0, #0039A6 50%); - background-size: 110% 300%; - background-position: 20% 40%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 60% { - background: radial-gradient(100% 225% at 0 100%, #0039A6 0, #005EB8 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004785 0, #0039A6 100%), linear-gradient(60deg, #005EB8 0, #0039A6 50%); - background-size: 115% 115%; - background-position: 30% 30%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 80% { - background: radial-gradient(100% 225% at 0 100%, #0039A6 0, #005EB8 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004785 0, #0039A6 100%), linear-gradient(60deg, #005EB8 0, #0039A6 50%); - background-size: 250% 120%; - background-position: 40% 20%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 100% { - background: radial-gradient(100% 225% at 0 100%, #0039A6 0, #005EB8 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004785 0, #0039A6 100%), linear-gradient(60deg, #005EB8 0, #0039A6 50%); - background-size: 100% 100%; - background-position: 0% 60%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } -} - -.animate-cosmic-wave { - animation: cosmic-wave 5s ease infinite; -} - -@keyframes diagonal-rotating-sun { - 0% { - background-size: 200% 200%; - background-position: top left; - background-image: linear-gradient(to bottom right, rgba(128, 0, 128, 0.8), rgba(255, 165, 0, 0.8)); - } - - 50% { - background-size: 200% 200%; - background-position: bottom right; - background-image: linear-gradient(to bottom right, rgba(128, 165, 0, 0.8), rgba(255, 128, 0, 0.8)); - } - - 100% { - transform: rotate(-3600deg); - } -} - -.animate-diagonal-rotating-sun { - animation: diagonal-rotating-sun 2s ease infinite; -} - -@keyframes glow-next-door { - 0% { - background: radial-gradient(100% 225% at 0 100%, #62004F 0, #8C007B 100%), linear-gradient(-135deg, #BF00FF 70%, #9600C9 100%), linear-gradient(45deg, #4C4C4C 0, #BF00FF 100%), linear-gradient(-60deg, #8C007B 0, #62004F 50%); - background-size: 100% 100%; - background-position: 0% 60%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 20% { - background: radial-gradient(100% 225% at 0 100%, #62004F 0, #8C007B 100%), linear-gradient(-135deg, #BF00FF 70%, #9600C9 100%), linear-gradient(45deg, #4C4C4C 0, #BF00FF 100%), linear-gradient(-60deg, #8C007B 0, #62004F 50%); - background-size: 105% 105%; - background-position: 10% 50%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 40% { - background: radial-gradient(100% 225% at 0 100%, #62004F 0, #8C007B 100%), linear-gradient(-135deg, #BF00FF 70%, #9600C9 100%), linear-gradient(45deg, #4C4C4C 0, #BF00FF 100%), linear-gradient(-60deg, #8C007B 0, #62004F 50%); - background-size: 110% 300%; - background-position: 20% 40%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 60% { - background: radial-gradient(100% 225% at 0 100%, #62004F 0, #8C007B 100%), linear-gradient(-135deg, #BF00FF 70%, #9600C9 100%), linear-gradient(45deg, #4C4C4C 0, #BF00FF 100%), linear-gradient(-60deg, #8C007B 0, #62004F 50%); - background-size: 115% 115%; - background-position: 30% 30%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 80% { - background: radial-gradient(100% 225% at 0 100%, #62004F 0, #8C007B 100%), linear-gradient(-135deg, #BF00FF 70%, #9600C9 100%), linear-gradient(45deg, #4C4C4C 0, #BF00FF 100%), linear-gradient(-60deg, #8C007B 0, #62004F 50%); - background-size: 250% 120%; - background-position: 40% 20%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 100% { - background: radial-gradient(100% 225% at 0 100%, #62004F 0, #8C007B 100%), linear-gradient(-135deg, #BF00FF 70%, #9600C9 100%), linear-gradient(45deg, #4C4C4C 0, #BF00FF 100%), linear-gradient(-60deg, #8C007B 0, #62004F 50%); - background-size: 100% 100%; - background-position: 0% 60%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } -} - -.animate-glow-next-door { - animation: glow-next-door 5s ease infinite; -} - -@keyframes golden-horizon { - 0% { - background: linear-gradient(-45deg, #ffd400, #ffad00, #ff6e00, #ff2700); - background-size: 200% 200%; - background-position: 0% 100%; - } - - 50% { - background: linear-gradient(-90deg, #ffd400, #ffad00, #ff6e00, #ff2700); - background-size: 200% 200%; - background-position: 100% 0%; - } - - 100% { - background: linear-gradient(-45deg, #ffd400, #ffad00, #ff6e00, #ff2700); - background-size: 200% 200%; - background-position: 0% 100%; - } -} - -.animate-golden-horizon { - animation: golden-horizon 5s ease infinite; -} - -@keyframes gray-fluff { - 0% { - background-size: 100% 100%; - background-position: left top; - background-image: linear-gradient(to bottom right, rgba(96, 96, 96, 0.8), rgba(0, 0, 0, 0.8)); - } - - 50% { - background-size: 200% 200%; - background-position: right bottom; - background-image: linear-gradient(to bottom right, rgba(96, 96, 96, 0.8), rgba(0, 0, 0, 0.8)); - } - - 100% { - background-size: 100% 100%; - background-position: left top; - background-image: linear-gradient(to bottom right, rgba(96, 96, 96, 0.8), rgba(0, 0, 0, 0.8)); - } -} - -.animate-gray-fluff { - animation: gray-fluff 5s ease infinite; -} - -@keyframes lavender-dream { - 0% { - background: linear-gradient(-45deg, #a96dc5, #8f7fc7, #7091c8, #49a3c9); - background-size: 200% 200%; - background-position: 0% 100%; - } - - 50% { - background: linear-gradient(-90deg, #a96dc5, #8f7fc7, #7091c8, #49a3c9); - background-size: 200% 200%; - background-position: 100% 0%; - } - - 100% { - background: linear-gradient(-45deg, #a96dc5, #8f7fc7, #7091c8, #49a3c9); - background-size: 200% 200%; - background-position: 0% 100%; - } -} - -.animate-lavender-dream { - animation: lavender-dream 5s ease infinite; -} - -@keyframes morphing-rectangle { - 0% { - border-radius: 0%; - transform: scale(1); - background-color: black; - } - - 50% { - border-radius: 20%; - transform: scale(0.75); - background-color: gray; - } - - 100% { - border-radius: 0%; - transform: scale(1); - background-color: black; - } -} - -.animate-morphing-rectangle { - animation: morphing-rectangle 2s ease infinite; -} - -@keyframes pastel-dream { - 0% { - background: linear-gradient(45deg, #ffadc1, #ff9e80, #fcbf49, #a4e057, #64d2ff); - background-size: 200% 200%; - background-position: 0% 100%; - filter: blur(10px); - } - - 50% { - background: linear-gradient(90deg, #ffadc1, #ff9e80, #fcbf49, #a4e057, #64d2ff); - background-size: 200% 200%; - background-position: 100% 0%; - filter: blur(5px); - } - - 100% { - background: linear-gradient(45deg, #ffadc1, #ff9e80, #fcbf49, #a4e057, #64d2ff); - background-size: 200% 200%; - background-position: 0% 100%; - filter: blur(10px); - } -} - -.animate-pastel-dream { - animation: pastel-dream 5s ease infinite; -} - -@keyframes pink-blossom { - 0% { - background: radial-gradient(100% 225% at 0 100%, #FFB6C1 0, #FF69B4 100%), linear-gradient(-100deg, #FFC0CB 70%, #FF1493 100%), linear-gradient(200deg, #FFC0CB 0, #FF69B4 100%), linear-gradient(-3deg, #FF69B4 0, #FFB6C1 50%); - background-size: 100% 100%; - background-position: 0% 60%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 20% { - background: radial-gradient(100% 225% at 0 100%, #FFB6C1 0, #FF69B4 100%), linear-gradient(-100deg, #FFC0CB 70%, #FF1493 100%), linear-gradient(200deg, #FFC0CB 0, #FF69B4 100%), linear-gradient(-3deg, #FF69B4 0, #FFB6C1 50%); - background-size: 105% 105%; - background-position: 10% 50%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 40% { - background: radial-gradient(100% 225% at 0 100%, #FFB6C1 0, #FF69B4 100%), linear-gradient(-100deg, #FFC0CB 70%, #FF1493 100%), linear-gradient(200deg, #FFC0CB 0, #FF69B4 100%), linear-gradient(-3deg, #FF69B4 0, #FFB6C1 50%); - background-size: 110% 300%; - background-position: 20% 40%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 60% { - background: radial-gradient(100% 225% at 0 100%, #FFB6C1 0, #FF69B4 100%), linear-gradient(-100deg, #FFC0CB 70%, #FF1493 100%), linear-gradient(200deg, #FFC0CB 0, #FF69B4 100%), linear-gradient(-3deg, #FF69B4 0, #FFB6C1 50%); - background-size: 115% 115%; - background-position: 30% 30%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 80% { - background: radial-gradient(100% 225% at 0 100%, #FFB6C1 0, #FF69B4 100%), linear-gradient(-100deg, #FFC0CB 70%, #FF1493 100%), linear-gradient(200deg, #FFC0CB 0, #FF69B4 100%), linear-gradient(-3deg, #FF69B4 0, #FFB6C1 50%); - background-size: 250% 120%; - background-position: 40% 20%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } - - 100% { - background: radial-gradient(100% 225% at 0 100%, #FFB6C1 0, #FF69B4 100%), linear-gradient(-100deg, #FFC0CB 70%, #FF1493 100%), linear-gradient(200deg, #FFC0CB 0, #FF69B4 100%), linear-gradient(-3deg, #FF69B4 0, #FFB6C1 50%); - background-size: 100% 100%; - background-position: 0% 60%; - background-blend-mode: color-dodge, color-burn, color-burn, normal; - } -} - -.animate-pink-blossom { - animation: pink-blossom 5s ease infinite; -} - -@keyframes rainbow-river { - 0% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(128, 0, 0, 0.8), rgba(255, 165, 0, 0.8), rgba(255, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8)); - } - - 50% { - background-size: 600% 100%; - background-position: right center; - background-image: linear-gradient(to right, rgba(128, 0, 0, 0.8), rgba(255, 165, 0, 0.8), rgba(255, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8)); - } - - 100% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(128, 0, 0, 0.8), rgba(255, 165, 0, 0.8), rgba(255, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8)); - } -} - -.animate-rainbow-river { - animation: rainbow-river 5s ease infinite; -} - -@keyframes rose-blush { - 0% { - background: linear-gradient(45deg, #ff446b, #ff7b6b, #ffad7b, #ffda8a); - background-size: 200% 200%; - background-position: 0% 100%; - } - - 50% { - background: linear-gradient(90deg, #ff446b, #ff7b6b, #ffad7b, #ffda8a); - background-size: 200% 200%; - background-position: 100% 0%; - } - - 100% { - background: linear-gradient(45deg, #ff446b, #ff7b6b, #ffad7b, #ffda8a); - background-size: 200% 200%; - background-position: 0% 100%; - } -} - -.animate-rose-blush { - animation: rose-blush 10s ease infinite; -} - -@keyframes serene-sunset { - 0% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(255, 111, 97, 0.8), rgba(255, 156, 131, 0.8), rgba(255, 200, 164, 0.8)); - } - - 50% { - background-size: 600% 100%; - background-position: right center; - background-image: linear-gradient(to right, rgba(255, 200, 164, 0.8), rgba(255, 156, 131, 0.8), rgba(255, 111, 97, 0.8)); - } - - 100% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(255, 111, 97, 0.8), rgba(255, 156, 131, 0.8), rgba(255, 200, 164, 0.8)); - } -} - -.animate-serene-sunset { - animation: serene-sunset 2s ease infinite; -} - -@keyframes ski-haze { - 0% { - background: radial-gradient(100% 225% at 0 100%, #008033 0, #00551a 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004D26 0, #003300 100%), linear-gradient(60deg, #00551A 0, #003300 50%); - background-size: 100% 100%; - background-position: 0% 60%; - background-blend-mode: color-dodge, normal, normal, normal; - } - - 20% { - background: radial-gradient(100% 225% at 0 100%, #008033 0, #00551a 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004D26 0, #003300 100%), linear-gradient(60deg, #00551A 0, #003300 50%); - background-size: 105% 105%; - background-position: 10% 50%; - background-blend-mode: color-dodge, normal, normal, normal; - } - - 40% { - background: radial-gradient(100% 225% at 0 100%, #008033 0, #00551a 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004D26 0, #003300 100%), linear-gradient(60deg, #00551A 0, #003300 50%); - background-size: 110% 300%; - background-position: 20% 40%; - background-blend-mode: color-dodge, normal, normal, normal; - } - - 60% { - background: radial-gradient(100% 225% at 0 100%, #008033 0, #00551a 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004D26 0, #003300 100%), linear-gradient(60deg, #00551A 0, #003300 50%); - background-size: 115% 115%; - background-position: 30% 30%; - background-blend-mode: color-dodge, normal, normal, normal; - } - - 80% { - background: radial-gradient(100% 225% at 0 100%, #008033 0, #00551a 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004D26 0, #003300 100%), linear-gradient(60deg, #00551A 0, #003300 50%); - background-size: 250% 120%; - background-position: 40% 20%; - background-blend-mode: color-dodge, normal, normal, normal; - } - - 100% { - background: radial-gradient(100% 225% at 0 100%, #008033 0, #00551a 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004D26 0, #003300 100%), linear-gradient(60deg, #00551A 0, #003300 50%); - background-size: 100% 100%; - background-position: 0% 60%; - background-blend-mode: color-dodge, normal, normal, normal; - } -} - -.animate-ski-haze { - animation: ski-haze 5s ease infinite; -} - -.touch-auto { - touch-action: auto; -} - -.touch-none { - touch-action: none; -} - -.touch-pan-x { - --tw-pan-x: pan-x; - touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); -} - -.touch-pan-left { - --tw-pan-x: pan-left; - touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); -} - -.touch-pan-right { - --tw-pan-x: pan-right; - touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); -} - -.touch-pan-y { - --tw-pan-y: pan-y; - touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); -} - -.touch-pan-up { - --tw-pan-y: pan-up; - touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); -} - -.touch-pan-down { - --tw-pan-y: pan-down; - touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); -} - -.touch-pinch-zoom { - --tw-pinch-zoom: pinch-zoom; - touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); -} - -.touch-manipulation { - touch-action: manipulation; -} - -.select-none { - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} - -.select-text { - -webkit-user-select: text; - -moz-user-select: text; - user-select: text; -} - -.select-all { - -webkit-user-select: all; - -moz-user-select: all; - user-select: all; -} - -.select-auto { - -webkit-user-select: auto; - -moz-user-select: auto; - user-select: auto; -} - -.resize-none { - resize: none; -} - -.resize-y { - resize: vertical; -} - -.resize-x { - resize: horizontal; -} - -.resize { - resize: both; -} - -.snap-none { - scroll-snap-type: none; -} - -.snap-x { - scroll-snap-type: x var(--tw-scroll-snap-strictness); -} - -.snap-y { - scroll-snap-type: y var(--tw-scroll-snap-strictness); -} - -.snap-both { - scroll-snap-type: both var(--tw-scroll-snap-strictness); -} - -.snap-mandatory { - --tw-scroll-snap-strictness: mandatory; -} - -.snap-proximity { - --tw-scroll-snap-strictness: proximity; -} - -.snap-start { - scroll-snap-align: start; -} - -.snap-end { - scroll-snap-align: end; -} - -.snap-center { - scroll-snap-align: center; -} - -.snap-align-none { - scroll-snap-align: none; -} - -.snap-normal { - scroll-snap-stop: normal; -} - -.snap-always { - scroll-snap-stop: always; -} - -.list-inside { - list-style-position: inside; -} - -.list-outside { - list-style-position: outside; -} - -.appearance-none { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -.appearance-auto { - -webkit-appearance: auto; - -moz-appearance: auto; - appearance: auto; -} - -.break-before-auto { - -moz-column-break-before: auto; - break-before: auto; -} - -.break-before-avoid { - -moz-column-break-before: avoid; - break-before: avoid; -} - -.break-before-all { - -moz-column-break-before: all; - break-before: all; -} - -.break-before-avoid-page { - -moz-column-break-before: avoid; - break-before: avoid-page; -} - -.break-before-page { - -moz-column-break-before: page; - break-before: page; -} - -.break-before-left { - -moz-column-break-before: left; - break-before: left; -} - -.break-before-right { - -moz-column-break-before: right; - break-before: right; -} - -.break-before-column { - -moz-column-break-before: column; - break-before: column; -} - -.break-inside-auto { - -moz-column-break-inside: auto; - break-inside: auto; -} - -.break-inside-avoid { - -moz-column-break-inside: avoid; - break-inside: avoid; -} - -.break-inside-avoid-page { - break-inside: avoid-page; -} - -.break-inside-avoid-column { - -moz-column-break-inside: avoid; - break-inside: avoid-column; -} - -.break-after-auto { - -moz-column-break-after: auto; - break-after: auto; -} - -.break-after-avoid { - -moz-column-break-after: avoid; - break-after: avoid; -} - -.break-after-all { - -moz-column-break-after: all; - break-after: all; -} - -.break-after-avoid-page { - -moz-column-break-after: avoid; - break-after: avoid-page; -} - -.break-after-page { - -moz-column-break-after: page; - break-after: page; -} - -.break-after-left { - -moz-column-break-after: left; - break-after: left; -} - -.break-after-right { - -moz-column-break-after: right; - break-after: right; -} - -.break-after-column { - -moz-column-break-after: column; - break-after: column; -} - -.grid-flow-row { - grid-auto-flow: row; -} - -.grid-flow-col { - grid-auto-flow: column; -} - -.grid-flow-dense { - grid-auto-flow: dense; -} - -.grid-flow-row-dense { - grid-auto-flow: row dense; -} - -.grid-flow-col-dense { - grid-auto-flow: column dense; -} - -.grid-cols-1 { - grid-template-columns: repeat(1, minmax(0, 1fr)); -} - -.grid-cols-2 { - grid-template-columns: repeat(2, minmax(0, 1fr)); -} - -.flex-row { - flex-direction: row; -} - -.flex-row-reverse { - flex-direction: row-reverse; -} - -.flex-col { - flex-direction: column; -} - -.flex-col-reverse { - flex-direction: column-reverse; -} - -.flex-wrap { - flex-wrap: wrap; -} - -.flex-wrap-reverse { - flex-wrap: wrap-reverse; -} - -.flex-nowrap { - flex-wrap: nowrap; -} - -.place-content-center { - place-content: center; -} - -.place-content-start { - place-content: start; -} - -.place-content-end { - place-content: end; -} - -.place-content-between { - place-content: space-between; -} - -.place-content-around { - place-content: space-around; -} - -.place-content-evenly { - place-content: space-evenly; -} - -.place-content-baseline { - place-content: baseline; -} - -.place-content-stretch { - place-content: stretch; -} - -.place-items-start { - place-items: start; -} - -.place-items-end { - place-items: end; -} - -.place-items-center { - place-items: center; -} - -.place-items-baseline { - place-items: baseline; -} - -.place-items-stretch { - place-items: stretch; -} - -.content-normal { - align-content: normal; -} - -.content-center { - align-content: center; -} - -.content-start { - align-content: flex-start; -} - -.content-end { - align-content: flex-end; -} - -.content-between { - align-content: space-between; -} - -.content-around { - align-content: space-around; -} - -.content-evenly { - align-content: space-evenly; -} - -.content-baseline { - align-content: baseline; -} - -.content-stretch { - align-content: stretch; -} - -.items-start { - align-items: flex-start; -} - -.items-end { - align-items: flex-end; -} - -.items-center { - align-items: center; -} - -.items-baseline { - align-items: baseline; -} - -.items-stretch { - align-items: stretch; -} - -.justify-normal { - justify-content: normal; -} - -.justify-start { - justify-content: flex-start; -} - -.justify-end { - justify-content: flex-end; -} - -.justify-center { - justify-content: center; -} - -.justify-between { - justify-content: space-between; -} - -.justify-around { - justify-content: space-around; -} - -.justify-evenly { - justify-content: space-evenly; -} - -.justify-stretch { - justify-content: stretch; -} - -.justify-items-start { - justify-items: start; -} - -.justify-items-end { - justify-items: end; -} - -.justify-items-center { - justify-items: center; -} - -.justify-items-stretch { - justify-items: stretch; -} - -.gap-1 { - gap: 0.25rem; -} - -.gap-6 { - gap: 1.5rem; -} - -.space-x-2 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(0.5rem * var(--tw-space-x-reverse)); - margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); -} - -.space-x-4 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(1rem * var(--tw-space-x-reverse)); - margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); -} - -.space-y-reverse > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 1; -} - -.space-x-reverse > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 1; -} - -.divide-x > :not([hidden]) ~ :not([hidden]) { - --tw-divide-x-reverse: 0; - border-right-width: calc(1px * var(--tw-divide-x-reverse)); - border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse))); -} - -.divide-y > :not([hidden]) ~ :not([hidden]) { - --tw-divide-y-reverse: 0; - border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); - border-bottom-width: calc(1px * var(--tw-divide-y-reverse)); -} - -.divide-y-reverse > :not([hidden]) ~ :not([hidden]) { - --tw-divide-y-reverse: 1; -} - -.divide-x-reverse > :not([hidden]) ~ :not([hidden]) { - --tw-divide-x-reverse: 1; -} - -.divide-solid > :not([hidden]) ~ :not([hidden]) { - border-style: solid; -} - -.divide-dashed > :not([hidden]) ~ :not([hidden]) { - border-style: dashed; -} - -.divide-dotted > :not([hidden]) ~ :not([hidden]) { - border-style: dotted; -} - -.divide-double > :not([hidden]) ~ :not([hidden]) { - border-style: double; -} - -.divide-none > :not([hidden]) ~ :not([hidden]) { - border-style: none; -} - -.place-self-auto { - place-self: auto; -} - -.place-self-start { - place-self: start; -} - -.place-self-end { - place-self: end; -} - -.place-self-center { - place-self: center; -} - -.place-self-stretch { - place-self: stretch; -} - -.self-auto { - align-self: auto; -} - -.self-start { - align-self: flex-start; -} - -.self-end { - align-self: flex-end; -} - -.self-center { - align-self: center; -} - -.self-stretch { - align-self: stretch; -} - -.self-baseline { - align-self: baseline; -} - -.justify-self-auto { - justify-self: auto; -} - -.justify-self-start { - justify-self: start; -} - -.justify-self-end { - justify-self: end; -} - -.justify-self-center { - justify-self: center; -} - -.justify-self-stretch { - justify-self: stretch; -} - -.overflow-auto { - overflow: auto; -} - -.overflow-hidden { - overflow: hidden; -} - -.overflow-clip { - overflow: clip; -} - -.overflow-visible { - overflow: visible; -} - -.overflow-scroll { - overflow: scroll; -} - -.overflow-x-auto { - overflow-x: auto; -} - -.overflow-y-auto { - overflow-y: auto; -} - -.overflow-x-hidden { - overflow-x: hidden; -} - -.overflow-y-hidden { - overflow-y: hidden; -} - -.overflow-x-clip { - overflow-x: clip; -} - -.overflow-y-clip { - overflow-y: clip; -} - -.overflow-x-visible { - overflow-x: visible; -} - -.overflow-y-visible { - overflow-y: visible; -} - -.overflow-x-scroll { - overflow-x: scroll; -} - -.overflow-y-scroll { - overflow-y: scroll; -} - -.overscroll-auto { - overscroll-behavior: auto; -} - -.overscroll-contain { - overscroll-behavior: contain; -} - -.overscroll-none { - overscroll-behavior: none; -} - -.overscroll-y-auto { - overscroll-behavior-y: auto; -} - -.overscroll-y-contain { - overscroll-behavior-y: contain; -} - -.overscroll-y-none { - overscroll-behavior-y: none; -} - -.overscroll-x-auto { - overscroll-behavior-x: auto; -} - -.overscroll-x-contain { - overscroll-behavior-x: contain; -} - -.overscroll-x-none { - overscroll-behavior-x: none; -} - -.scroll-auto { - scroll-behavior: auto; -} - -.scroll-smooth { - scroll-behavior: smooth; -} - -.truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.overflow-ellipsis { - text-overflow: ellipsis; -} - -.text-ellipsis { - text-overflow: ellipsis; -} - -.text-clip { - text-overflow: clip; -} - -.hyphens-none { - -webkit-hyphens: none; - hyphens: none; -} - -.hyphens-manual { - -webkit-hyphens: manual; - hyphens: manual; -} - -.hyphens-auto { - -webkit-hyphens: auto; - hyphens: auto; -} - -.whitespace-normal { - white-space: normal; -} - -.whitespace-nowrap { - white-space: nowrap; -} - -.whitespace-pre { - white-space: pre; -} - -.whitespace-pre-line { - white-space: pre-line; -} - -.whitespace-pre-wrap { - white-space: pre-wrap; -} - -.whitespace-break-spaces { - white-space: break-spaces; -} - -.text-wrap { - text-wrap: wrap; -} - -.text-nowrap { - text-wrap: nowrap; -} - -.text-balance { - text-wrap: balance; -} - -.text-pretty { - text-wrap: pretty; -} - -.break-normal { - overflow-wrap: normal; - word-break: normal; -} - -.break-words { - overflow-wrap: break-word; -} - -.break-all { - word-break: break-all; -} - -.break-keep { - word-break: keep-all; -} - -.rounded { - border-radius: 0.25rem; -} - -.rounded-3xl { - border-radius: 1.5rem; -} - -.rounded-full { - border-radius: 9999px; -} - -.rounded-md { - border-radius: 0.375rem; -} - -.rounded-xl { - border-radius: 0.75rem; -} - -.rounded-b { - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.rounded-e { - border-start-end-radius: 0.25rem; - border-end-end-radius: 0.25rem; -} - -.rounded-l { - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.rounded-r { - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; -} - -.rounded-s { - border-start-start-radius: 0.25rem; - border-end-start-radius: 0.25rem; -} - -.rounded-t { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; -} - -.rounded-bl { - border-bottom-left-radius: 0.25rem; -} - -.rounded-br { - border-bottom-right-radius: 0.25rem; -} - -.rounded-ee { - border-end-end-radius: 0.25rem; -} - -.rounded-es { - border-end-start-radius: 0.25rem; -} - -.rounded-se { - border-start-end-radius: 0.25rem; -} - -.rounded-ss { - border-start-start-radius: 0.25rem; -} - -.rounded-tl { - border-top-left-radius: 0.25rem; -} - -.rounded-tr { - border-top-right-radius: 0.25rem; -} - -.border { - border-width: 1px; -} - -.border-0 { - border-width: 0px; -} - -.border-2 { - border-width: 2px; -} - -.border-x { - border-left-width: 1px; - border-right-width: 1px; -} - -.border-y { - border-top-width: 1px; - border-bottom-width: 1px; -} - -.border-b { - border-bottom-width: 1px; -} - -.border-b-2 { - border-bottom-width: 2px; -} - -.border-e { - border-inline-end-width: 1px; -} - -.border-l { - border-left-width: 1px; -} - -.border-r { - border-right-width: 1px; -} - -.border-s { - border-inline-start-width: 1px; -} - -.border-t { - border-top-width: 1px; -} - -.border-solid { - border-style: solid; -} - -.border-dashed { - border-style: dashed; -} - -.border-dotted { - border-style: dotted; -} - -.border-double { - border-style: double; -} - -.border-hidden { - border-style: hidden; -} - -.border-none { - border-style: none; -} - -.border-gray-200 { - --tw-border-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-border-opacity)); -} - -.border-gray-300 { - --tw-border-opacity: 1; - border-color: rgb(209 213 219 / var(--tw-border-opacity)); -} - -.border-transparent { - border-color: transparent; -} - -.bg-\[rgb\(255\2c 0\2c 0\)\] { - --tw-bg-opacity: 1; - background-color: rgb(255 0 0 / var(--tw-bg-opacity)); -} - -.bg-gray-100 { - --tw-bg-opacity: 1; - background-color: rgb(243 244 246 / var(--tw-bg-opacity)); -} - -.bg-gray-200 { - --tw-bg-opacity: 1; - background-color: rgb(229 231 235 / var(--tw-bg-opacity)); -} - -.decoration-slice { - -webkit-box-decoration-break: slice; - box-decoration-break: slice; -} - -.decoration-clone { - -webkit-box-decoration-break: clone; - box-decoration-break: clone; -} - -.box-decoration-slice { - -webkit-box-decoration-break: slice; - box-decoration-break: slice; -} - -.box-decoration-clone { - -webkit-box-decoration-break: clone; - box-decoration-break: clone; -} - -.bg-fixed { - background-attachment: fixed; -} - -.bg-local { - background-attachment: local; -} - -.bg-scroll { - background-attachment: scroll; -} - -.bg-clip-border { - background-clip: border-box; -} - -.bg-clip-padding { - background-clip: padding-box; -} - -.bg-clip-content { - background-clip: content-box; -} - -.bg-clip-text { - -webkit-background-clip: text; - background-clip: text; -} - -.bg-repeat { - background-repeat: repeat; -} - -.bg-no-repeat { - background-repeat: no-repeat; -} - -.bg-repeat-x { - background-repeat: repeat-x; -} - -.bg-repeat-y { - background-repeat: repeat-y; -} - -.bg-repeat-round { - background-repeat: round; -} - -.bg-repeat-space { - background-repeat: space; -} - -.bg-origin-border { - background-origin: border-box; -} - -.bg-origin-padding { - background-origin: padding-box; -} - -.bg-origin-content { - background-origin: content-box; -} - -.object-contain { - -o-object-fit: contain; - object-fit: contain; -} - -.object-cover { - -o-object-fit: cover; - object-fit: cover; -} - -.object-fill { - -o-object-fit: fill; - object-fit: fill; -} - -.object-none { - -o-object-fit: none; - object-fit: none; -} - -.object-scale-down { - -o-object-fit: scale-down; - object-fit: scale-down; -} - -.p-4 { - padding: 1rem; -} - -.px-0 { - padding-left: 0px; - padding-right: 0px; -} - -.px-0\.5 { - padding-left: 0.125rem; - padding-right: 0.125rem; -} - -.px-3 { - padding-left: 0.75rem; - padding-right: 0.75rem; -} - -.px-6 { - padding-left: 1.5rem; - padding-right: 1.5rem; -} - -.py-1 { - padding-top: 0.25rem; - padding-bottom: 0.25rem; -} - -.py-12 { - padding-top: 3rem; - padding-bottom: 3rem; -} - -.py-4 { - padding-top: 1rem; - padding-bottom: 1rem; -} - -.py-8 { - padding-top: 2rem; - padding-bottom: 2rem; -} - -.pb-2 { - padding-bottom: 0.5rem; -} - -.pt-4 { - padding-top: 1rem; -} - -.text-left { - text-align: left; -} - -.text-center { - text-align: center; -} - -.text-right { - text-align: right; -} - -.text-justify { - text-align: justify; -} - -.text-start { - text-align: start; -} - -.text-end { - text-align: end; -} - -.align-baseline { - vertical-align: baseline; -} - -.align-top { - vertical-align: top; -} - -.align-middle { - vertical-align: middle; -} - -.align-bottom { - vertical-align: bottom; -} - -.align-text-top { - vertical-align: text-top; -} - -.align-text-bottom { - vertical-align: text-bottom; -} - -.align-sub { - vertical-align: sub; -} - -.align-super { - vertical-align: super; -} - -.font-cursive { - font-family: Dancing Script, cursive; -} - -.text-2xl { - font-size: 1.5rem; - line-height: 2rem; -} - -.text-3xl { - font-size: 1.875rem; - line-height: 2.25rem; -} - -.text-4xl { - font-size: 2.25rem; - line-height: 2.5rem; -} - -.text-6xl { - font-size: 3.75rem; - line-height: 1; -} - -.text-base { - font-size: 1rem; - line-height: 1.5rem; -} - -.text-lg { - font-size: 1.125rem; - line-height: 1.75rem; -} - -.text-sm { - font-size: 0.875rem; - line-height: 1.25rem; -} - -.text-xl { - font-size: 1.25rem; - line-height: 1.75rem; -} - -.font-bold { - font-weight: 700; -} - -.font-semibold { - font-weight: 600; -} - -.uppercase { - text-transform: uppercase; -} - -.lowercase { - text-transform: lowercase; -} - -.capitalize { - text-transform: capitalize; -} - -.normal-case { - text-transform: none; -} - -.italic { - font-style: italic; -} - -.not-italic { - font-style: normal; -} - -.normal-nums { - font-variant-numeric: normal; -} - -.ordinal { - --tw-ordinal: ordinal; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.slashed-zero { - --tw-slashed-zero: slashed-zero; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.lining-nums { - --tw-numeric-figure: lining-nums; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.oldstyle-nums { - --tw-numeric-figure: oldstyle-nums; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.proportional-nums { - --tw-numeric-spacing: proportional-nums; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.tabular-nums { - --tw-numeric-spacing: tabular-nums; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.diagonal-fractions { - --tw-numeric-fraction: diagonal-fractions; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.stacked-fractions { - --tw-numeric-fraction: stacked-fractions; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.leading-relaxed { - line-height: 1.625; -} - -.text-\[\#336699\]\/\[\.35\] { - color: rgb(51 102 153 / .35); -} - -.text-black { - --tw-text-opacity: 1; - color: rgb(0 0 0 / var(--tw-text-opacity)); -} - -.text-blue-500 { - --tw-text-opacity: 1; - color: rgb(59 130 246 / var(--tw-text-opacity)); -} - -.text-gray-500 { - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity)); -} - -.text-gray-600 { - --tw-text-opacity: 1; - color: rgb(75 85 99 / var(--tw-text-opacity)); -} - -.text-gray-700 { - --tw-text-opacity: 1; - color: rgb(55 65 81 / var(--tw-text-opacity)); -} - -.text-gray-900 { - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity)); -} - -.text-indigo-600 { - --tw-text-opacity: 1; - color: rgb(79 70 229 / var(--tw-text-opacity)); -} - -.underline { - text-decoration-line: underline; -} - -.overline { - text-decoration-line: overline; -} - -.line-through { - text-decoration-line: line-through; -} - -.no-underline { - text-decoration-line: none; -} - -.decoration-solid { - text-decoration-style: solid; -} - -.decoration-double { - text-decoration-style: double; -} - -.decoration-dotted { - text-decoration-style: dotted; -} - -.decoration-dashed { - text-decoration-style: dashed; -} - -.decoration-wavy { - text-decoration-style: wavy; -} - -.antialiased { - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.subpixel-antialiased { - -webkit-font-smoothing: auto; - -moz-osx-font-smoothing: auto; -} - -.bg-blend-normal { - background-blend-mode: normal; -} - -.bg-blend-multiply { - background-blend-mode: multiply; -} - -.bg-blend-screen { - background-blend-mode: screen; -} - -.bg-blend-overlay { - background-blend-mode: overlay; -} - -.bg-blend-darken { - background-blend-mode: darken; -} - -.bg-blend-lighten { - background-blend-mode: lighten; -} - -.bg-blend-color-dodge { - background-blend-mode: color-dodge; -} - -.bg-blend-color-burn { - background-blend-mode: color-burn; -} - -.bg-blend-hard-light { - background-blend-mode: hard-light; -} - -.bg-blend-soft-light { - background-blend-mode: soft-light; -} - -.bg-blend-difference { - background-blend-mode: difference; -} - -.bg-blend-exclusion { - background-blend-mode: exclusion; -} - -.bg-blend-hue { - background-blend-mode: hue; -} - -.bg-blend-saturation { - background-blend-mode: saturation; -} - -.bg-blend-color { - background-blend-mode: color; -} - -.bg-blend-luminosity { - background-blend-mode: luminosity; -} - -.mix-blend-normal { - mix-blend-mode: normal; -} - -.mix-blend-multiply { - mix-blend-mode: multiply; -} - -.mix-blend-screen { - mix-blend-mode: screen; -} - -.mix-blend-overlay { - mix-blend-mode: overlay; -} - -.mix-blend-darken { - mix-blend-mode: darken; -} - -.mix-blend-lighten { - mix-blend-mode: lighten; -} - -.mix-blend-color-dodge { - mix-blend-mode: color-dodge; -} - -.mix-blend-color-burn { - mix-blend-mode: color-burn; -} - -.mix-blend-hard-light { - mix-blend-mode: hard-light; -} - -.mix-blend-soft-light { - mix-blend-mode: soft-light; -} - -.mix-blend-difference { - mix-blend-mode: difference; -} - -.mix-blend-exclusion { - mix-blend-mode: exclusion; -} - -.mix-blend-hue { - mix-blend-mode: hue; -} - -.mix-blend-saturation { - mix-blend-mode: saturation; -} - -.mix-blend-color { - mix-blend-mode: color; -} - -.mix-blend-luminosity { - mix-blend-mode: luminosity; -} - -.mix-blend-plus-lighter { - mix-blend-mode: plus-lighter; -} - -.\!shadow { - --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1) !important; - --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color) !important; - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; -} - -.shadow { - --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-lg { - --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-sm { - --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); - --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.outline-none { - outline: 2px solid transparent; - outline-offset: 2px; -} - -.outline { - outline-style: solid; -} - -.outline-dashed { - outline-style: dashed; -} - -.outline-dotted { - outline-style: dotted; -} - -.outline-double { - outline-style: double; -} - -.ring { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} - -.ring-inset { - --tw-ring-inset: inset; -} - -.blur { - --tw-blur: blur(8px); - 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); -} - -.drop-shadow { - --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06)); - 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); -} - -.grayscale { - --tw-grayscale: grayscale(100%); - 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); -} - -.invert { - --tw-invert: invert(100%); - 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); -} - -.sepia { - --tw-sepia: sepia(100%); - 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); -} - -.\!filter { - 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) !important; -} - -.filter { - 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); -} - -.filter-none { - filter: none; -} - -.backdrop-blur { - --tw-backdrop-blur: blur(8px); - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} - -.backdrop-grayscale { - --tw-backdrop-grayscale: grayscale(100%); - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} - -.backdrop-invert { - --tw-backdrop-invert: invert(100%); - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} - -.backdrop-sepia { - --tw-backdrop-sepia: sepia(100%); - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} - -.backdrop-filter { - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} - -.backdrop-filter-none { - -webkit-backdrop-filter: none; - backdrop-filter: none; -} - -.transition { - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.ease-in { - transition-timing-function: cubic-bezier(0.4, 0, 1, 1); -} - -.ease-in-out { - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); -} - -.ease-out { - transition-timing-function: cubic-bezier(0, 0, 0.2, 1); -} - -.content-\[\'this-is-also-valid\]-weirdly-enough\'\] { - --tw-content: 'this-is-also-valid]-weirdly-enough'; - content: var(--tw-content); -} - -.forced-color-adjust-auto { - forced-color-adjust: auto; -} - -.forced-color-adjust-none { - forced-color-adjust: none; -} - -@media (min-width: 640px) { - .sm\:container { - width: 100%; - } - - @media (min-width: 640px) { - .sm\:container { - max-width: 640px; - } - } - - @media (min-width: 768px) { - .sm\:container { - max-width: 768px; - } - } - - @media (min-width: 1024px) { - .sm\:container { - max-width: 1024px; - } - } - - @media (min-width: 1280px) { - .sm\:container { - max-width: 1280px; - } - } - - @media (min-width: 1536px) { - .sm\:container { - max-width: 1536px; - } - } -} - -@keyframes black-swoosh { - 0% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(64, 64, 64, 0.8), rgba(128, 128, 128, 0.8), rgba(0, 0, 0, 0.8), rgba(64, 64, 64, 0.8), rgba(128, 128, 128, 0.8), rgba(0, 0, 0, 0.8)); - } - - 50% { - background-size: 600% 100%; - background-position: right center; - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(64, 64, 64, 0.8), rgba(128, 128, 128, 0.8), rgba(0, 0, 0, 0.8), rgba(64, 64, 64, 0.8), rgba(128, 128, 128, 0.8), rgba(0, 0, 0, 0.8)); - } - - 100% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(64, 64, 64, 0.8), rgba(128, 128, 128, 0.8), rgba(0, 0, 0, 0.8), rgba(64, 64, 64, 0.8), rgba(128, 128, 128, 0.8), rgba(0, 0, 0, 0.8)); - } -} - -.hover\:animate-black-swoosh:hover { - animation: black-swoosh 10s ease infinite; -} - -@keyframes blurred-swoosh { - 0% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8)); - filter: blur(0); - } - - 50% { - background-size: 600% 100%; - background-position: right center; - background-image: linear-gradient(to right, rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8)); - filter: blur(5px); - } - - 100% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8)); - filter: blur(0); - } -} - -.hover\:animate-blurred-swoosh:hover { - animation: blurred-swoosh 2s ease infinite; -} - -@keyframes breathe { - 0% { - transform: scale(1); - } - - 25% { - transform: scale(1.1); - } - - 50% { - transform: scale(1); - } - - 75% { - transform: scale(0.9); - } - - 100% { - transform: scale(1); - } -} - -.hover\:animate-breathe:hover { - animation: breathe 1s infinite; -} - -@keyframes diagonal-blaze { - 0% { - background-size: 200% 200%; - background-position: top left; - background-image: linear-gradient(to bottom right, rgba(255, 0, 0, 0.8), rgba(255, 165, 0, 0.8)); - } - - 50% { - background-size: 200% 200%; - background-position: bottom right; - background-image: linear-gradient(to bottom right, rgba(255, 165, 0, 0.8), rgba(255, 0, 0, 0.8)); - } - - 100% { - background-size: 200% 200%; - background-position: top left; - background-image: linear-gradient(to bottom right, rgba(255, 0, 0, 0.8), rgba(255, 165, 0, 0.8)); - } -} - -.hover\:animate-diagonal-blaze:hover { - animation: diagonal-blaze 2s ease infinite; -} - -@keyframes diagonal-galaxy { - 0% { - background-size: 200% 200%; - background-position: top left; - background-image: linear-gradient(to bottom right, rgba(0, 0, 0, 0.8), rgba(135, 206, 250, 0.8)); - } - - 50% { - background-size: 200% 200%; - background-position: bottom right; - background-image: linear-gradient(to bottom right, rgba(135, 206, 250, 0.8), rgba(0, 0, 0, 0.8)); - } - - 100% { - background-size: 200% 200%; - background-position: top left; - background-image: linear-gradient(to bottom right, rgba(0, 0, 0, 0.8), rgba(135, 206, 250, 0.8)); - } -} - -.hover\:animate-diagonal-galaxy:hover { - animation: diagonal-galaxy 2s ease infinite; -} - -@keyframes diagonal-ocean-wave { - 0% { - background-size: 200% 200%; - background-position: top left; - background-image: linear-gradient(to bottom right, rgba(0, 128, 128, 0.8), rgba(32, 178, 170, 0.8)); - } - - 50% { - background-size: 200% 200%; - background-position: bottom right; - background-image: linear-gradient(to bottom right, rgba(32, 178, 170, 0.8), rgba(0, 128, 128, 0.8)); - } - - 100% { - background-size: 200% 200%; - background-position: top left; - background-image: linear-gradient(to bottom right, rgba(0, 128, 128, 0.8), rgba(32, 178, 170, 0.8)); - } -} - -.hover\:animate-diagonal-ocean-wave:hover { - animation: diagonal-ocean-wave 2s ease infinite; -} - -@keyframes diagonal-purple-dream { - 0% { - background-size: 200% 200%; - background-position: top left; - background-image: linear-gradient(to bottom right, rgba(128, 0, 128, 0.8), rgba(218, 112, 214, 0.8)); - } - - 50% { - background-size: 200% 200%; - background-position: bottom right; - background-image: linear-gradient(to bottom right, rgba(218, 112, 214, 0.8), rgba(128, 0, 128, 0.8)); - } - - 100% { - background-size: 200% 200%; - background-position: top left; - background-image: linear-gradient(to bottom right, rgba(128, 0, 128, 0.8), rgba(218, 112, 214, 0.8)); - } -} - -.hover\:animate-diagonal-purple-dream:hover { - animation: diagonal-purple-dream 2s ease infinite; -} - -@keyframes diagonal-rotating-sun { - 0% { - background-size: 200% 200%; - background-position: top left; - background-image: linear-gradient(to bottom right, rgba(128, 0, 128, 0.8), rgba(255, 165, 0, 0.8)); - } - - 50% { - background-size: 200% 200%; - background-position: bottom right; - background-image: linear-gradient(to bottom right, rgba(128, 165, 0, 0.8), rgba(255, 128, 0, 0.8)); - } - - 100% { - transform: rotate(-3600deg); - } -} - -.hover\:animate-diagonal-rotating-sun:hover { - animation: diagonal-rotating-sun 2s ease infinite; -} - -@keyframes flip-and-spin { - 0% { - transform: rotateY(0) rotateZ(0); - } - - 20% { - transform: rotateY(1turn) rotateZ(0.5turn); - } - - 40% { - transform: rotateY(2turn) rotateZ(1turn); - } - - 60% { - transform: rotateY(3turn) rotateZ(1.5turn); - } - - 80% { - transform: rotateY(4turn) rotateZ(2turn); - } - - 100% { - transform: rotateY(5turn) rotateZ(2.5turn); - } -} - -.hover\:animate-flip-and-spin:hover { - animation: flip-and-spin 4s infinite; -} - -@keyframes float { - 0% { - transform: translateY(0); - } - - 25% { - transform: translateY(-5px); - } - - 50% { - transform: translateY(0); - } - - 75% { - transform: translateY(5px); - } - - 100% { - transform: translateY(0); - } -} - -.hover\:animate-float:hover { - animation: float 1s infinite; -} - -@keyframes fuzzy-dream { - 0% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(255, 0, 0, 0.8), rgba(255, 255, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8)); - filter: blur(0); - } - - 50% { - background-size: 600% 100%; - background-position: right center; - background-image: linear-gradient(to right, rgba(255, 0, 0, 0.8), rgba(255, 255, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8)); - filter: blur(10px); - } - - 100% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(255, 0, 0, 0.8), rgba(255, 255, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8)); - filter: blur(0); - } -} - -.hover\:animate-fuzzy-dream:hover { - animation: fuzzy-dream 2s ease infinite; -} - -@keyframes green-swoosh { - 0% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8)); - } - - 50% { - background-size: 600% 100%; - background-position: right center; - background-image: linear-gradient(to right, rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8)); - } - - 100% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8)); - } -} - -.hover\:animate-green-swoosh:hover { - animation: green-swoosh 2s ease infinite; -} - -@keyframes hazy-twist { - 0% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8), rgba(0, 0, 255, 0.8)); - filter: blur(0); - } - - 50% { - background-size: 600% 100%; - background-position: right center; - background-image: linear-gradient(to right, rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8), rgba(0, 0, 255, 0.8)); - filter: blur(9px); - } - - 100% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8), rgba(0, 0, 255, 0.8)); - filter: blur(0); - } -} - -.hover\:animate-hazy-twist:hover { - animation: hazy-twist 2s ease infinite; -} - -@keyframes mellow-embers { - 0% { - background-size: 700% 110%; - background-position: left center; - background-image: linear-gradient(to right, rgba(226, 97, 97, 0.8), rgba(239, 131, 131, 0.8), rgba(252, 164, 164, 0.8)); - } - - 50% { - background-size: 700% 110%; - background-position: right center; - background-image: linear-gradient(to right, rgba(252, 164, 164, 0.8), rgba(239, 131, 131, 0.8), rgba(226, 97, 97, 0.8)); - } - - 100% { - background-size: 700% 110%; - background-position: left center; - background-image: linear-gradient(to right, rgba(226, 97, 97, 0.8), rgba(239, 131, 131, 0.8), rgba(252, 164, 164, 0.8)); - } -} - -.hover\:animate-mellow-embers:hover { - animation: mellow-embers 2s ease infinite; -} - -@keyframes melt { - 0% { - transform: scale(1); - } - - 20% { - transform: scale(0.8); - } - - 40% { - transform: scale(1.2); - } - - 60% { - transform: scale(0.9); - } - - 80% { - transform: scale(1.1); - } - - 100% { - transform: scale(1); - } -} - -.hover\:animate-melt:hover { - animation: melt 1s infinite; -} - -@keyframes misty-fade { - 0% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(128, 128, 128, 0.8), rgba(192, 192, 192, 0.8), rgba(224, 224, 224, 0.8), rgba(128, 128, 128, 0.8), rgba(192, 192, 192, 0.8), rgba(224, 224, 224, 0.8), rgba(128, 128, 128, 0.8)); - filter: blur(0); - } - - 50% { - background-size: 600% 100%; - background-position: right center; - background-image: linear-gradient(to right, rgba(128, 128, 128, 0.8), rgba(192, 192, 192, 0.8), rgba(224, 224, 224, 0.8), rgba(128, 128, 128, 0.8), rgba(192, 192, 192, 0.8), rgba(224, 224, 224, 0.8), rgba(128, 128, 128, 0.8)); - filter: blur(7px); - } - - 100% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(128, 128, 128, 0.8), rgba(192, 192, 192, 0.8), rgba(224, 224, 224, 0.8), rgba(128, 128, 128, 0.8), rgba(192, 192, 192, 0.8), rgba(224, 224, 224, 0.8), rgba(128, 128, 128, 0.8)); - filter: blur(0); - } -} - -.hover\:animate-misty-fade:hover { - animation: misty-fade 2s ease infinite; -} - -@keyframes mystic-aura { - 0% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(128, 0, 128, 0.8), rgba(255, 0, 255, 0.8), rgba(128, 0, 128, 0.8), rgba(255, 0, 255, 0.8), rgba(128, 0, 128, 0.8), rgba(255, 0, 255, 0.8), rgba(128, 0, 128, 0.8)); - filter: blur(0); - } - - 50% { - background-size: 600% 100%; - background-position: right center; - background-image: linear-gradient(to right, rgba(128, 0, 128, 0.8), rgba(255, 0, 255, 0.8), rgba(128, 0, 128, 0.8), rgba(255, 0, 255, 0.8), rgba(128, 0, 128, 0.8), rgba(255, 0, 255, 0.8), rgba(128, 0, 128, 0.8)); - filter: blur(8px); - } - - 100% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(128, 0, 128, 0.8), rgba(255, 0, 255, 0.8), rgba(128, 0, 128, 0.8), rgba(255, 0, 255, 0.8), rgba(128, 0, 128, 0.8), rgba(255, 0, 255, 0.8), rgba(128, 0, 128, 0.8)); - filter: blur(0); - } -} - -.hover\:animate-mystic-aura:hover { - animation: mystic-aura 2s ease infinite; -} - -@keyframes pop { - 0% { - transform: scale(1); - } - - 20% { - transform: scale(1.2); - } - - 40% { - transform: scale(0.8); - } - - 60% { - transform: scale(1.1); - } - - 80% { - transform: scale(0.9); - } - - 100% { - transform: scale(1); - } -} - -.hover\:animate-pop:hover { - animation: pop 1s infinite; -} - -@keyframes purple-swoosh { - 0% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(80, 70, 229, 0.8), #5046e5, #5046e5, #5046e5, #5046e5, #5046e5, rgba(0, 0, 0, 0.8)); - } - - 50% { - background-size: 600% 100%; - background-position: right center; - background-image: linear-gradient(to right, rgba(80, 70, 229, 0.8), #5046e5, #5046e5, #5046e5, #5046e5, #5046e5, rgba(0, 0, 0, 0.8)); - } - - 100% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(80, 70, 229, 0.8), #5046e5, #5046e5, #5046e5, #5046e5, #5046e5, rgba(0, 0, 0, 0.8)); - } -} - -.hover\:animate-purple-swoosh:hover { - animation: purple-swoosh 2s ease infinite; -} - -@keyframes rainbow-river { - 0% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(128, 0, 0, 0.8), rgba(255, 165, 0, 0.8), rgba(255, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8)); - } - - 50% { - background-size: 600% 100%; - background-position: right center; - background-image: linear-gradient(to right, rgba(128, 0, 0, 0.8), rgba(255, 165, 0, 0.8), rgba(255, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8)); - } - - 100% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(128, 0, 0, 0.8), rgba(255, 165, 0, 0.8), rgba(255, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8)); - } -} - -.hover\:animate-rainbow-river:hover { - animation: rainbow-river 5s ease infinite; -} - -@keyframes scatter { - 0% { - transform: translate(0); - } - - 20% { - transform: translate(-50px, -50px); - } - - 40% { - transform: translate(50px, -50px); - } - - 60% { - transform: translate(-50px, 50px); - } - - 80% { - transform: translate(50px, 50px); - } - - 100% { - transform: translate(0); - } -} - -.hover\:animate-scatter:hover { - animation: scatter 1s; -} - -@keyframes serene-sunset { - 0% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(255, 111, 97, 0.8), rgba(255, 156, 131, 0.8), rgba(255, 200, 164, 0.8)); - } - - 50% { - background-size: 600% 100%; - background-position: right center; - background-image: linear-gradient(to right, rgba(255, 200, 164, 0.8), rgba(255, 156, 131, 0.8), rgba(255, 111, 97, 0.8)); - } - - 100% { - background-size: 600% 100%; - background-position: left center; - background-image: linear-gradient(to right, rgba(255, 111, 97, 0.8), rgba(255, 156, 131, 0.8), rgba(255, 200, 164, 0.8)); - } -} - -.hover\:animate-serene-sunset:hover { - animation: serene-sunset 2s ease infinite; -} - -@keyframes shifting-triangles { - 0% { - background-image: linear-gradient(60deg, rgba(255, 0, 0, 0.8) 25%, rgba(0, 255, 0, 0.8) 50%, rgba(0, 0, 255, 0.8) 75%); - background-size: 200% 200%; - background-position: top left; - } - - 50% { - background-image: linear-gradient(60deg, rgba(0, 0, 255, 0.8) 25%, rgba(255, 0, 0, 0.8) 50%, rgba(0, 255, 0, 0.8) 75%); - background-size: 200% 200%; - background-position: bottom right; - } - - 100% { - background-image: linear-gradient(60deg, rgba(255, 0, 0, 0.8) 25%, rgba(0, 255, 0, 0.8) 50%, rgba(0, 0, 255, 0.8) 75%); - background-size: 200% 200%; - background-position: top left; - } -} - -.hover\:animate-shifting-triangles:hover { - animation: shifting-triangles 2s ease infinite; -} - -@keyframes squiggle { - 0% { - transform: translateX(0); - } - - 20% { - transform: translateX(-5px); - } - - 40% { - transform: translateX(5px); - } - - 60% { - transform: translateX(-3px); - } - - 80% { - transform: translateX(3px); - } - - 100% { - transform: translateX(0); - } -} - -.hover\:animate-squiggle:hover { - animation: squiggle 1s infinite; -} - -@keyframes tranquil-waters { - 0% { - background-size: 500% 90%; - background-position: left center; - background-image: linear-gradient(to right, rgba(97, 174, 255, 0.8), rgba(131, 192, 255, 0.8), rgba(164, 209, 255, 0.8)); - } - - 50% { - background-size: 500% 90%; - background-position: right center; - background-image: linear-gradient(to right, rgba(164, 209, 255, 0.8), rgba(131, 192, 255, 0.8), rgba(97, 174, 255, 0.8)); - } - - 100% { - background-size: 500% 90%; - background-position: left center; - background-image: linear-gradient(to right, rgba(97, 174, 255, 0.8), rgba(131, 192, 255, 0.8), rgba(164, 209, 255, 0.8)); - } -} - -.hover\:animate-tranquil-waters:hover { - animation: tranquil-waters 5s ease infinite; -} - -@keyframes twist { - 0% { - transform: rotateY(0) skewY(0); - } - - 20% { - transform: rotateY(1turn) skewY(-10deg); - } - - 40% { - transform: rotateY(2turn) skewY(10deg); - } - - 60% { - transform: rotateY(3turn) skewY(-10deg); - } - - 80% { - transform: rotateY(4turn) skewY(10deg); - } - - 100% { - transform: rotateY(5turn) skewY(0); - } -} - -.hover\:animate-twist:hover { - animation: twist 4s infinite; -} - -@keyframes vertical-azure-wave { - 0% { - background-size: 100% 500%; - background-position: center top; - background-image: linear-gradient(to bottom, rgba(97, 174, 255, 0.8), rgba(131, 192, 255, 0.8), rgba(164, 209, 255, 0.8)); - } - - 50% { - background-size: 100% 500%; - background-position: center bottom; - background-image: linear-gradient(to bottom, rgba(164, 209, 255, 0.8), rgba(131, 192, 255, 0.8), rgba(97, 174, 255, 0.8)); - } - - 100% { - background-size: 100% 500%; - background-position: center top; - background-image: linear-gradient(to bottom, rgba(97, 174, 255, 0.8), rgba(131, 192, 255, 0.8), rgba(164, 209, 255, 0.8)); - } -} - -.hover\:animate-vertical-azure-wave:hover { - animation: vertical-azure-wave 2s ease infinite; -} - -@keyframes vertical-bliss { - 0% { - background-size: 100% 600%; - background-position: center top; - background-image: linear-gradient(to bottom, rgba(128, 0, 0, 0.8), rgba(255, 165, 0, 0.8), rgba(255, 255, 0, 0.8)); - } - - 50% { - background-size: 100% 600%; - background-position: center bottom; - background-image: linear-gradient(to bottom, rgba(255, 255, 0, 0.8), rgba(255, 165, 0, 0.8), rgba(128, 0, 0, 0.8)); - } - - 100% { - background-size: 100% 600%; - background-position: center top; - background-image: linear-gradient(to bottom, rgba(128, 0, 0, 0.8), rgba(255, 165, 0, 0.8), rgba(255, 255, 0, 0.8)); - } -} - -.hover\:animate-vertical-bliss:hover { - animation: vertical-bliss 2s ease infinite; -} - -@keyframes vertical-golden-dream { - 0% { - background-size: 100% 600%; - background-position: center top; - background-image: linear-gradient(to bottom, rgba(218, 165, 32, 0.8), rgba(224, 186, 94, 0.8), rgba(232, 207, 157, 0.8)); - } - - 50% { - background-size: 100% 600%; - background-position: center bottom; - background-image: linear-gradient(to bottom, rgba(232, 207, 157, 0.8), rgba(224, 186, 94, 0.8), rgba(218, 165, 32, 0.8)); - } - - 100% { - background-size: 100% 600%; - background-position: center top; - background-image: linear-gradient(to bottom, rgba(218, 165, 32, 0.8), rgba(224, 186, 94, 0.8), rgba(232, 207, 157, 0.8)); - } -} - -.hover\:animate-vertical-golden-dream:hover { - animation: vertical-golden-dream 2s ease infinite; -} - -@keyframes vertical-raindance { - 0% { - background-size: 100% 800%; - background-position: center top; - background-image: linear-gradient(to bottom, rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8)); - } - - 50% { - background-size: 100% 800%; - background-position: center bottom; - background-image: linear-gradient(to bottom, rgba(0, 255, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 128, 0, 0.8)); - } - - 100% { - background-size: 100% 800%; - background-position: center top; - background-image: linear-gradient(to bottom, rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8)); - } -} - -.hover\:animate-vertical-raindance:hover { - animation: vertical-raindance 2s ease infinite; -} - -@keyframes vertical-sunset-tide { - 0% { - background-size: 100% 700%; - background-position: center top; - background-image: linear-gradient(to bottom, rgba(255, 99, 71, 0.8), rgba(255, 140, 71, 0.8), rgba(255, 165, 71, 0.8)); - } - - 50% { - background-size: 100% 700%; - background-position: center bottom; - background-image: linear-gradient(to bottom, rgba(255, 165, 71, 0.8), rgba(255, 140, 71, 0.8), rgba(255, 99, 71, 0.8)); - } - - 100% { - background-size: 100% 700%; - background-position: center top; - background-image: linear-gradient(to bottom, rgba(255, 99, 71, 0.8), rgba(255, 140, 71, 0.8), rgba(255, 165, 71, 0.8)); - } -} - -.hover\:animate-vertical-sunset-tide:hover { - animation: vertical-sunset-tide 2s ease infinite; -} - -@keyframes vibrant-sun { - 0% { - background-image: radial-gradient(circle at 50% 50%, #FF5252, #FFAB40); - background-size: 100% 100%; - } - - 50% { - background-image: radial-gradient(circle at 60% 40%, #FFAB40, #FF5252); - background-size: 110% 110%; - } - - 100% { - background-image: radial-gradient(circle at 50% 50%, #FF5252, #FFAB40); - background-size: 100% 100%; - } -} - -.hover\:animate-vibrant-sun:hover { - animation: vibrant-sun 2s ease infinite; -} - -@keyframes wobble { - 0% { - transform: rotate(-5deg); - } - - 25% { - transform: rotate(5deg); - } - - 50% { - transform: rotate(-5deg); - } - - 75% { - transform: rotate(5deg); - } - - 100% { - transform: rotate(-5deg); - } -} - -.hover\:animate-wobble:hover { - animation: wobble 1s infinite; -} - -.hover\:font-bold:hover { - font-weight: 700; -} - -.hover\:underline:hover { - text-decoration-line: underline; -} - -.before\:hover\:text-center:hover::before { - content: var(--tw-content); - text-align: center; -} - -.hover\:before\:text-center:hover::before { - content: var(--tw-content); - text-align: center; -} - -.focus\:border-black:focus { - --tw-border-opacity: 1; - border-color: rgb(0 0 0 / var(--tw-border-opacity)); -} - -.focus\:border-gray-300:focus { - --tw-border-opacity: 1; - border-color: rgb(209 213 219 / var(--tw-border-opacity)); -} - -.focus\:border-gray-500:focus { - --tw-border-opacity: 1; - border-color: rgb(107 114 128 / var(--tw-border-opacity)); -} - -.focus\:border-indigo-300:focus { - --tw-border-opacity: 1; - border-color: rgb(165 180 252 / var(--tw-border-opacity)); -} - -.focus\:border-transparent:focus { - border-color: transparent; -} - -.focus\:bg-gray-200:focus { - --tw-bg-opacity: 1; - background-color: rgb(229 231 235 / var(--tw-bg-opacity)); -} - -.focus\:bg-white:focus { - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity)); -} - -.focus\:ring:focus { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} - -.focus\:ring-0:focus { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} - -.focus\:ring-1:focus { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} - -.focus\:ring-black:focus { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity)); -} - -.focus\:ring-gray-500:focus { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity)); -} - -.focus\:ring-indigo-200:focus { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(199 210 254 / var(--tw-ring-opacity)); -} - -.focus\:ring-opacity-50:focus { - --tw-ring-opacity: 0.5; -} - -.focus\:ring-offset-0:focus { - --tw-ring-offset-width: 0px; -} - -.focus\:ring-offset-2:focus { - --tw-ring-offset-width: 2px; -} - -.focus\:hover\:text-center:hover:focus { - text-align: center; -} - -.hover\:focus\:text-center:focus:hover { - text-align: center; -} - -@media (min-width: 640px) { - .sm\:underline { - text-decoration-line: underline; - } -} - -@media (min-width: 768px) { - .md\:max-w-4xl { - max-width: 56rem; - } - - .md\:grid-cols-2 { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } - - .md\:text-lg { - font-size: 1.125rem; - line-height: 1.75rem; - } + .md\:text-lg { + font-size: 1.125rem; + line-height: 1.75rem; + } } @media (min-width: 1024px) { .lg\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } -} - -@media (prefers-color-scheme: dark) { - @media (min-width: 1024px) { - .dark\:lg\:hover\:\[paint-order\:markers\]:hover { - paint-order: markers; - } - } } \ No newline at end of file diff --git a/readme.md b/readme.md index cd40fc0..7aaaf27 100644 --- a/readme.md +++ b/readme.md @@ -1,4 +1,4 @@ Database of 3D Printable Guitars 🎸🎸🎸🎸 -Webpage: https://tyler-hilbert.github.io/3D-Printed-Guitars/all.html +Webpage: https://tyler-hilbert.github.io/3D-Printed-Guitars/ [![OSSRank](https://shields.io/endpoint?url=https://ossrank.com/shield/3982)](https://ossrank.com/p/3982) diff --git a/sound.mp3 b/sound.mp3 deleted file mode 100644 index c47f05447b661a565f7869636b7f99ddef81f884..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59859 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%0Ab&PQ&1 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 Gf&T%s96*x* diff --git a/tailwind.config.js b/tailwind.config.js index a11180b..ce1f55f 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,1222 +1,8 @@ /** @type {import('tailwindcss').Config} */ - module.exports = { - safelist: [ - // GRADIENTS - "hover:animate-rainbow-river 5s ease infinite", - "hover:animate-green-swoosh 2s ease infinite", - "hover:animate-serene-sunset 2s ease infinite", - "hover:animate-black-swoosh 2s ease infinite", - "hover:animate-purple-swoosh 2s ease infinite", - "hover:animate-tranquil-waters 5s ease infinite", - "hover:animate-mellow-embers 2s ease infinite", - "hover:animate-vertical-bliss 2s ease infinite", - "hover:animate-vertical-raindance 2s ease infinite", - "hover:animate-vertical-azure-wave 2s ease infinite", - "hover:animate-vertical-sunset-tide 2s ease infinite", - "hover:animate-vertical-golden-dream 2s ease infinite", - "hover:animate-diagonal-blaze 2s ease infinite", - "hover:animate-diagonal-ocean-wave 2s ease infinite", - "hover:animate-diagonal-purple-dream 2s ease infinite", - "hover:animate-diagonal-galaxy 2s ease infinite", - "hover:animate-diagonal-rotating-sun 2s ease infinite", - "hover:animate-blurred-swoosh 2s ease infinite", - "hover:animate-fuzzy-dream 2s ease infinite", - "hover:animate-misty-fade 2s ease infinite", - "hover:animate-hazy-twist 2s ease infinite", - "hover:animate-mystic-aura 2s ease infinite", - "hover:animate-vibrant-sun 2s ease infinite", - "hover:animate-shifting-triangles 2s ease infinite", - - // MOVEMENTS - "animate-morphing-rectangle 2s ease infinite", - - // BACKDROP SPACES - "animate-blue-galaxy 10s ease infinite", - "animate-gray-fluff 5s ease infinite", - "animate-pastel-dream 5s ease infinite", - "animate-golden-horizon 5s ease infinite", - "animate-rose-blush 10s ease infinite", - "animate-lavender-dream 5s ease infinite", - "animate-amethyst-midnight 10s ease infinite", - "animate-pink-blossom 5s ease infinite", - "animate-cosmic-wave 5s ease infinite", - "animate-glow-next-door 5s ease infinite", - "animate-ski-haze 5s ease infinite", - - // CLASSICS - "hover:animate-wobble 1s infinite", - "hover:animate-melt 1s infinite", - "hover:animate-float 1s infinite", - "hover:animate-breathe 1s infinite", - "hover:animate-squiggle 1s infinite", - "hover:animate-flip-and-spin 4s infinite", - "hover:animate-twist 4s infinite", - "hover:animate-pop 1s infinite", - "hover:animate-scatter 1s infinite", - ], - content: ["**/*.{html,js}"], + content: ["*.html"], theme: { - fontFamily: { - sans: ["Inter", "ui-sans-serif", "system-ui"], - cursive: ['Dancing Script', 'cursive'] - }, - extend: { - animation: { - // GRADIENTS - "rainbow-river": "rainbow-river 5s ease infinite", - "green-swoosh": "green-swoosh 2s ease infinite", - "serene-sunset": "serene-sunset 2s ease infinite", - "black-swoosh": "black-swoosh 10s ease infinite", - "purple-swoosh": "purple-swoosh 2s ease infinite", - "tranquil-waters": "tranquil-waters 5s ease infinite", - "mellow-embers": "mellow-embers 2s ease infinite", - "vertical-bliss": "vertical-bliss 2s ease infinite", - "vertical-raindance": "vertical-raindance 2s ease infinite", - "vertical-azure-wave": "vertical-azure-wave 2s ease infinite", - "vertical-sunset-tide": "vertical-sunset-tide 2s ease infinite", - "vertical-golden-dream": "vertical-golden-dream 2s ease infinite", - "diagonal-blaze": "diagonal-blaze 2s ease infinite", - "diagonal-ocean-wave": "diagonal-ocean-wave 2s ease infinite", - "diagonal-purple-dream": "diagonal-purple-dream 2s ease infinite", - "diagonal-galaxy": "diagonal-galaxy 2s ease infinite", - "diagonal-rotating-sun": "diagonal-rotating-sun 2s ease infinite", - "blurred-swoosh": "blurred-swoosh 2s ease infinite", - "fuzzy-dream": "fuzzy-dream 2s ease infinite", - "misty-fade": "misty-fade 2s ease infinite", - "hazy-twist": "hazy-twist 2s ease infinite", - "mystic-aura": "mystic-aura 2s ease infinite", - "vibrant-sun": "vibrant-sun 2s ease infinite", - "shifting-triangles": "shifting-triangles 2s ease infinite", - - // MOVEMENTS - "morphing-rectangle": "morphing-rectangle 2s ease infinite", - - // BACKDROP SPACES - "blue-galaxy": "blue-galaxy 10s ease infinite", - "gray-fluff": "gray-fluff 5s ease infinite", - "earth-light": "earth-light 5s ease infinite", - "pastel-dream": "pastel-dream 5s ease infinite", - "golden-horizon": "golden-horizon 5s ease infinite", - "rose-blush": "rose-blush 10s ease infinite", - "lavender-dream": "lavender-dream 5s ease infinite", - "violet-dusk": "violet-dusk 10s ease infinite", - "amethyst-midnight": "amethyst-midnight 10s ease infinite", - "pink-blossom": "pink-blossom 5s ease infinite", - "cosmic-wave": "cosmic-wave 5s ease infinite", - "glow-next-door": "glow-next-door 5s ease infinite", - "ski-haze": "ski-haze 5s ease infinite", - - // CLASSICS - wobble: "wobble 1s infinite", - melt: "melt 1s infinite", - float: "float 1s infinite", - breathe: "breathe 1s infinite", - squiggle: "squiggle 1s infinite", - "flip-and-spin": "flip-and-spin 4s infinite", - twist: "twist 4s infinite", - pop: "pop 1s infinite", - scatter: "scatter 1s", - }, - keyframes: { - // BUTTONS - glowing: { - "0%": { backgroundPosition: "0 0" }, - "50%": { backgroundPosition: "400% 0" }, - "100%": { backgroundPosition: "0 0" }, - }, - - // GRADIENTS - "rainbow-river": { - "0%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(128, 0, 0, 0.8), rgba(255, 165, 0, 0.8), rgba(255, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8))", - }, - "50%": { - "background-size": "600% 100%", - "background-position": "right center", - "background-image": - "linear-gradient(to right, rgba(128, 0, 0, 0.8), rgba(255, 165, 0, 0.8), rgba(255, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8))", - }, - "100%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(128, 0, 0, 0.8), rgba(255, 165, 0, 0.8), rgba(255, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8))", - }, - }, - - "green-swoosh": { - "0%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8))", - }, - "50%": { - "background-size": "600% 100%", - "background-position": "right center", - "background-image": - "linear-gradient(to right, rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8))", - }, - "100%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8))", - }, - }, - - "serene-sunset": { - "0%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(255, 111, 97, 0.8), rgba(255, 156, 131, 0.8), rgba(255, 200, 164, 0.8))", - }, - "50%": { - "background-size": "600% 100%", - "background-position": "right center", - "background-image": - "linear-gradient(to right, rgba(255, 200, 164, 0.8), rgba(255, 156, 131, 0.8), rgba(255, 111, 97, 0.8))", - }, - "100%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(255, 111, 97, 0.8), rgba(255, 156, 131, 0.8), rgba(255, 200, 164, 0.8))", - }, - }, - - "black-swoosh": { - "0%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(64, 64, 64, 0.8), rgba(128, 128, 128, 0.8), rgba(0, 0, 0, 0.8), rgba(64, 64, 64, 0.8), rgba(128, 128, 128, 0.8), rgba(0, 0, 0, 0.8))", - }, - "50%": { - "background-size": "600% 100%", - "background-position": "right center", - "background-image": - "linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(64, 64, 64, 0.8), rgba(128, 128, 128, 0.8), rgba(0, 0, 0, 0.8), rgba(64, 64, 64, 0.8), rgba(128, 128, 128, 0.8), rgba(0, 0, 0, 0.8))", - }, - "100%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(64, 64, 64, 0.8), rgba(128, 128, 128, 0.8), rgba(0, 0, 0, 0.8), rgba(64, 64, 64, 0.8), rgba(128, 128, 128, 0.8), rgba(0, 0, 0, 0.8))", - }, - }, - - "purple-swoosh": { - "0%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(80, 70, 229, 0.8), #5046e5, #5046e5, #5046e5, #5046e5, #5046e5, rgba(0, 0, 0, 0.8))", - }, - "50%": { - "background-size": "600% 100%", - "background-position": "right center", - "background-image": - "linear-gradient(to right, rgba(80, 70, 229, 0.8), #5046e5, #5046e5, #5046e5, #5046e5, #5046e5, rgba(0, 0, 0, 0.8))", - }, - "100%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(80, 70, 229, 0.8), #5046e5, #5046e5, #5046e5, #5046e5, #5046e5, rgba(0, 0, 0, 0.8))", - }, - }, - - "tranquil-waters": { - "0%": { - "background-size": "500% 90%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(97, 174, 255, 0.8), rgba(131, 192, 255, 0.8), rgba(164, 209, 255, 0.8))", - }, - "50%": { - "background-size": "500% 90%", - "background-position": "right center", - "background-image": - "linear-gradient(to right, rgba(164, 209, 255, 0.8), rgba(131, 192, 255, 0.8), rgba(97, 174, 255, 0.8))", - }, - "100%": { - "background-size": "500% 90%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(97, 174, 255, 0.8), rgba(131, 192, 255, 0.8), rgba(164, 209, 255, 0.8))", - }, - }, - - "mellow-embers": { - "0%": { - "background-size": "700% 110%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(226, 97, 97, 0.8), rgba(239, 131, 131, 0.8), rgba(252, 164, 164, 0.8))", - }, - "50%": { - "background-size": "700% 110%", - "background-position": "right center", - "background-image": - "linear-gradient(to right, rgba(252, 164, 164, 0.8), rgba(239, 131, 131, 0.8), rgba(226, 97, 97, 0.8))", - }, - "100%": { - "background-size": "700% 110%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(226, 97, 97, 0.8), rgba(239, 131, 131, 0.8), rgba(252, 164, 164, 0.8))", - }, - }, - - "vertical-bliss": { - "0%": { - "background-size": "100% 600%", - "background-position": "center top", - "background-image": - "linear-gradient(to bottom, rgba(128, 0, 0, 0.8), rgba(255, 165, 0, 0.8), rgba(255, 255, 0, 0.8))", - }, - "50%": { - "background-size": "100% 600%", - "background-position": "center bottom", - "background-image": - "linear-gradient(to bottom, rgba(255, 255, 0, 0.8), rgba(255, 165, 0, 0.8), rgba(128, 0, 0, 0.8))", - }, - "100%": { - "background-size": "100% 600%", - "background-position": "center top", - "background-image": - "linear-gradient(to bottom, rgba(128, 0, 0, 0.8), rgba(255, 165, 0, 0.8), rgba(255, 255, 0, 0.8))", - }, - }, - - "vertical-raindance": { - "0%": { - "background-size": "100% 800%", - "background-position": "center top", - "background-image": - "linear-gradient(to bottom, rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8))", - }, - "50%": { - "background-size": "100% 800%", - "background-position": "center bottom", - "background-image": - "linear-gradient(to bottom, rgba(0, 255, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 128, 0, 0.8))", - }, - "100%": { - "background-size": "100% 800%", - "background-position": "center top", - "background-image": - "linear-gradient(to bottom, rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8))", - }, - }, - - "vertical-azure-wave": { - "0%": { - "background-size": "100% 500%", - "background-position": "center top", - "background-image": - "linear-gradient(to bottom, rgba(97, 174, 255, 0.8), rgba(131, 192, 255, 0.8), rgba(164, 209, 255, 0.8))", - }, - "50%": { - "background-size": "100% 500%", - "background-position": "center bottom", - "background-image": - "linear-gradient(to bottom, rgba(164, 209, 255, 0.8), rgba(131, 192, 255, 0.8), rgba(97, 174, 255, 0.8))", - }, - "100%": { - "background-size": "100% 500%", - "background-position": "center top", - "background-image": - "linear-gradient(to bottom, rgba(97, 174, 255, 0.8), rgba(131, 192, 255, 0.8), rgba(164, 209, 255, 0.8))", - }, - }, - - "vertical-sunset-tide": { - "0%": { - "background-size": "100% 700%", - "background-position": "center top", - "background-image": - "linear-gradient(to bottom, rgba(255, 99, 71, 0.8), rgba(255, 140, 71, 0.8), rgba(255, 165, 71, 0.8))", - }, - "50%": { - "background-size": "100% 700%", - "background-position": "center bottom", - "background-image": - "linear-gradient(to bottom, rgba(255, 165, 71, 0.8), rgba(255, 140, 71, 0.8), rgba(255, 99, 71, 0.8))", - }, - "100%": { - "background-size": "100% 700%", - "background-position": "center top", - "background-image": - "linear-gradient(to bottom, rgba(255, 99, 71, 0.8), rgba(255, 140, 71, 0.8), rgba(255, 165, 71, 0.8))", - }, - }, - - "vertical-golden-dream": { - "0%": { - "background-size": "100% 600%", - "background-position": "center top", - "background-image": - "linear-gradient(to bottom, rgba(218, 165, 32, 0.8), rgba(224, 186, 94, 0.8), rgba(232, 207, 157, 0.8))", - }, - "50%": { - "background-size": "100% 600%", - "background-position": "center bottom", - "background-image": - "linear-gradient(to bottom, rgba(232, 207, 157, 0.8), rgba(224, 186, 94, 0.8), rgba(218, 165, 32, 0.8))", - }, - "100%": { - "background-size": "100% 600%", - "background-position": "center top", - "background-image": - "linear-gradient(to bottom, rgba(218, 165, 32, 0.8), rgba(224, 186, 94, 0.8), rgba(232, 207, 157, 0.8))", - }, - }, - - "diagonal-blaze": { - "0%": { - "background-size": "200% 200%", - "background-position": "top left", - "background-image": - "linear-gradient(to bottom right, rgba(255, 0, 0, 0.8), rgba(255, 165, 0, 0.8))", - }, - "50%": { - "background-size": "200% 200%", - "background-position": "bottom right", - "background-image": - "linear-gradient(to bottom right, rgba(255, 165, 0, 0.8), rgba(255, 0, 0, 0.8))", - }, - "100%": { - "background-size": "200% 200%", - "background-position": "top left", - "background-image": - "linear-gradient(to bottom right, rgba(255, 0, 0, 0.8), rgba(255, 165, 0, 0.8))", - }, - }, - - "diagonal-ocean-wave": { - "0%": { - "background-size": "200% 200%", - "background-position": "top left", - "background-image": - "linear-gradient(to bottom right, rgba(0, 128, 128, 0.8), rgba(32, 178, 170, 0.8))", - }, - "50%": { - "background-size": "200% 200%", - "background-position": "bottom right", - "background-image": - "linear-gradient(to bottom right, rgba(32, 178, 170, 0.8), rgba(0, 128, 128, 0.8))", - }, - "100%": { - "background-size": "200% 200%", - "background-position": "top left", - "background-image": - "linear-gradient(to bottom right, rgba(0, 128, 128, 0.8), rgba(32, 178, 170, 0.8))", - }, - }, - - "diagonal-purple-dream": { - "0%": { - "background-size": "200% 200%", - "background-position": "top left", - "background-image": - "linear-gradient(to bottom right, rgba(128, 0, 128, 0.8), rgba(218, 112, 214, 0.8))", - }, - "50%": { - "background-size": "200% 200%", - "background-position": "bottom right", - "background-image": - "linear-gradient(to bottom right, rgba(218, 112, 214, 0.8), rgba(128, 0, 128, 0.8))", - }, - "100%": { - "background-size": "200% 200%", - "background-position": "top left", - "background-image": - "linear-gradient(to bottom right, rgba(128, 0, 128, 0.8), rgba(218, 112, 214, 0.8))", - }, - }, - - "diagonal-galaxy": { - "0%": { - "background-size": "200% 200%", - "background-position": "top left", - "background-image": - "linear-gradient(to bottom right, rgba(0, 0, 0, 0.8), rgba(135, 206, 250, 0.8))", - }, - "50%": { - "background-size": "200% 200%", - "background-position": "bottom right", - "background-image": - "linear-gradient(to bottom right, rgba(135, 206, 250, 0.8), rgba(0, 0, 0, 0.8))", - }, - "100%": { - "background-size": "200% 200%", - "background-position": "top left", - "background-image": - "linear-gradient(to bottom right, rgba(0, 0, 0, 0.8), rgba(135, 206, 250, 0.8))", - }, - }, - - "diagonal-rotating-sun": { - "0%": { - "background-size": "200% 200%", - "background-position": "top left", - "background-image": - "linear-gradient(to bottom right, rgba(128, 0, 128, 0.8), rgba(255, 165, 0, 0.8))", - }, - "50%": { - "background-size": "200% 200%", - "background-position": "bottom right", - "background-image": - "linear-gradient(to bottom right, rgba(128, 165, 0, 0.8), rgba(255, 128, 0, 0.8))", - }, - "100%": { - "background-size": "200% 200%", - "background-position": "top left", - "background-image": - "linear-gradient(to bottom right, rgba(128, 255, 0, 0.8), rgba(128, 165, 0, 0.8))", - }, - "100%": { - transform: "rotate(-3600deg)", - }, - }, - - "blurred-swoosh": { - "0%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8))", - filter: "blur(0)", - }, - "50%": { - "background-size": "600% 100%", - "background-position": "right center", - "background-image": - "linear-gradient(to right, rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8))", - filter: "blur(5px)", - }, - "100%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8), rgba(0, 192, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 128, 0, 0.8))", - filter: "blur(0)", - }, - }, - - "fuzzy-dream": { - "0%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(255, 0, 0, 0.8), rgba(255, 255, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8))", - filter: "blur(0)", - }, - "50%": { - "background-size": "600% 100%", - "background-position": "right center", - "background-image": - "linear-gradient(to right, rgba(255, 0, 0, 0.8), rgba(255, 255, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8))", - filter: "blur(10px)", - }, - "100%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(255, 0, 0, 0.8), rgba(255, 255, 0, 0.8), rgba(0, 255, 0, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8))", - filter: "blur(0)", - }, - }, - - "misty-fade": { - "0%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(128, 128, 128, 0.8), rgba(192, 192, 192, 0.8), rgba(224, 224, 224, 0.8), rgba(128, 128, 128, 0.8), rgba(192, 192, 192, 0.8), rgba(224, 224, 224, 0.8), rgba(128, 128, 128, 0.8))", - filter: "blur(0)", - }, - "50%": { - "background-size": "600% 100%", - "background-position": "right center", - "background-image": - "linear-gradient(to right, rgba(128, 128, 128, 0.8), rgba(192, 192, 192, 0.8), rgba(224, 224, 224, 0.8), rgba(128, 128, 128, 0.8), rgba(192, 192, 192, 0.8), rgba(224, 224, 224, 0.8), rgba(128, 128, 128, 0.8))", - filter: "blur(7px)", - }, - "100%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(128, 128, 128, 0.8), rgba(192, 192, 192, 0.8), rgba(224, 224, 224, 0.8), rgba(128, 128, 128, 0.8), rgba(192, 192, 192, 0.8), rgba(224, 224, 224, 0.8), rgba(128, 128, 128, 0.8))", - filter: "blur(0)", - }, - }, - - "hazy-twist": { - "0%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8), rgba(0, 0, 255, 0.8))", - filter: "blur(0)", - }, - "50%": { - "background-size": "600% 100%", - "background-position": "right center", - "background-image": - "linear-gradient(to right, rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8), rgba(0, 0, 255, 0.8))", - filter: "blur(9px)", - }, - "100%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8), rgba(0, 0, 255, 0.8), rgba(75, 0, 130, 0.8), rgba(238, 130, 238, 0.8), rgba(0, 0, 255, 0.8))", - filter: "blur(0)", - }, - }, - "mystic-aura": { - "0%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(128, 0, 128, 0.8), rgba(255, 0, 255, 0.8), rgba(128, 0, 128, 0.8), rgba(255, 0, 255, 0.8), rgba(128, 0, 128, 0.8), rgba(255, 0, 255, 0.8), rgba(128, 0, 128, 0.8))", - filter: "blur(0)", - }, - "50%": { - "background-size": "600% 100%", - "background-position": "right center", - "background-image": - "linear-gradient(to right, rgba(128, 0, 128, 0.8), rgba(255, 0, 255, 0.8), rgba(128, 0, 128, 0.8), rgba(255, 0, 255, 0.8), rgba(128, 0, 128, 0.8), rgba(255, 0, 255, 0.8), rgba(128, 0, 128, 0.8))", - filter: "blur(8px)", - }, - "100%": { - "background-size": "600% 100%", - "background-position": "left center", - "background-image": - "linear-gradient(to right, rgba(128, 0, 128, 0.8), rgba(255, 0, 255, 0.8), rgba(128, 0, 128, 0.8), rgba(255, 0, 255, 0.8), rgba(128, 0, 128, 0.8), rgba(255, 0, 255, 0.8), rgba(128, 0, 128, 0.8))", - filter: "blur(0)", - }, - }, - "vibrant-sun": { - "0%": { - "background-image": - "radial-gradient(circle at 50% 50%, #FF5252, #FFAB40)", - "background-size": "100% 100%", - }, - "50%": { - "background-image": - "radial-gradient(circle at 60% 40%, #FFAB40, #FF5252)", - "background-size": "110% 110%", - }, - "100%": { - "background-image": - "radial-gradient(circle at 50% 50%, #FF5252, #FFAB40)", - "background-size": "100% 100%", - }, - }, - "shifting-triangles": { - "0%": { - "background-image": - "linear-gradient(60deg, rgba(255, 0, 0, 0.8) 25%, rgba(0, 255, 0, 0.8) 50%, rgba(0, 0, 255, 0.8) 75%)", - "background-size": "200% 200%", - "background-position": "top left", - }, - "50%": { - "background-image": - "linear-gradient(60deg, rgba(0, 0, 255, 0.8) 25%, rgba(255, 0, 0, 0.8) 50%, rgba(0, 255, 0, 0.8) 75%)", - "background-size": "200% 200%", - "background-position": "bottom right", - }, - "100%": { - "background-image": - "linear-gradient(60deg, rgba(255, 0, 0, 0.8) 25%, rgba(0, 255, 0, 0.8) 50%, rgba(0, 0, 255, 0.8) 75%)", - "background-size": "200% 200%", - "background-position": "top left", - }, - }, - - // MOVEMENTS - "morphing-rectangle": { - "0%": { - "border-radius": "0%", - transform: "scale(1)", - backgroundColor: "black", - }, - "50%": { - "border-radius": "20%", - transform: "scale(0.75)", - backgroundColor: "gray", - }, - "100%": { - "border-radius": "0%", - transform: "scale(1)", - backgroundColor: "black", - }, - }, - - // BACKDROP SPACES - "blue-galaxy": { - "0%": { - background: - "radial-gradient(100% 225% at 0 100%, #50009a 0, #001aff 100%), linear-gradient(100deg, #fb00a5 50%, #6900cb 100%), linear-gradient(200deg, #8dada4 0, #12de81 100%), linear-gradient(-3deg, #1dadfe 0, #50009a 50%)", - backgroundSize: "100% 100%", - backgroundPosition: "0% 100%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "20%": { - background: - "radial-gradient(100% 225% at 0 100%, #50009a 0, #001aff 100%), linear-gradient(100deg, #fb00a5 50%, #6900cb 100%), linear-gradient(200deg, #8dada4 0, #12de81 100%), linear-gradient(-3deg, #1dadfe 0, #50009a 50%)", - backgroundSize: "105% 105%", - backgroundPosition: "10% 100%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "40%": { - background: - "radial-gradient(100% 225% at 0 100%, #50009a 0, #001aff 100%), linear-gradient(100deg, #fb00a5 50%, #6900cb 100%), linear-gradient(200deg, #8dada4 0, #12de81 100%), linear-gradient(-3deg, #1dadfe 0, #50009a 50%)", - backgroundSize: "110% 300%", - backgroundPosition: "20% 80%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "60%": { - background: - "radial-gradient(100% 225% at 0 100%, #50009a 0, #001aff 100%), linear-gradient(100deg, #fb00a5 50%, #6900cb 100%), linear-gradient(200deg, #8dada4 0, #12de81 100%), linear-gradient(-3deg, #1dadfe 0, #50009a 50%)", - backgroundSize: "115% 115%", - backgroundPosition: "30% 70%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "80%": { - background: - "radial-gradient(100% 225% at 0 100%, #50009a 0, #001aff 100%), linear-gradient(100deg, #fb00a5 50%, #6900cb 100%), linear-gradient(200deg, #8dada4 0, #12de81 100%), linear-gradient(-3deg, #1dadfe 0, #50009a 50%)", - backgroundSize: "250% 120%", - backgroundPosition: "40% 60%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "100%": { - background: - "radial-gradient(100% 225% at 0 100%, #50009a 0, #001aff 100%), linear-gradient(100deg, #fb00a5 50%, #6900cb 100%), linear-gradient(200deg, #8dada4 0, #12de81 100%), linear-gradient(-3deg, #1dadfe 0, #50009a 50%)", - backgroundSize: "100% 100%", - backgroundPosition: "0% 100%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - }, - - "gray-fluff": { - "0%": { - "background-size": "100% 100%", - "background-position": "left top", - "background-image": - "linear-gradient(to bottom right, rgba(96, 96, 96, 0.8), rgba(0, 0, 0, 0.8))", - }, - "50%": { - "background-size": "200% 200%", - "background-position": "right bottom", - "background-image": - "linear-gradient(to bottom right, rgba(96, 96, 96, 0.8), rgba(0, 0, 0, 0.8))", - }, - "100%": { - "background-size": "100% 100%", - "background-position": "left top", - "background-image": - "linear-gradient(to bottom right, rgba(96, 96, 96, 0.8), rgba(0, 0, 0, 0.8))", - }, - }, - - "pastel-dream": { - "0%": { - background: - "linear-gradient(45deg, #ffadc1, #ff9e80, #fcbf49, #a4e057, #64d2ff)", - backgroundSize: "200% 200%", - backgroundPosition: "0% 100%", - filter: "blur(10px)", - }, - "50%": { - background: - "linear-gradient(90deg, #ffadc1, #ff9e80, #fcbf49, #a4e057, #64d2ff)", - backgroundSize: "200% 200%", - backgroundPosition: "100% 0%", - filter: "blur(5px)", - }, - "100%": { - background: - "linear-gradient(45deg, #ffadc1, #ff9e80, #fcbf49, #a4e057, #64d2ff)", - backgroundSize: "200% 200%", - backgroundPosition: "0% 100%", - filter: "blur(10px)", - }, - }, - - "golden-horizon": { - "0%": { - background: - "linear-gradient(-45deg, #ffd400, #ffad00, #ff6e00, #ff2700)", - backgroundSize: "200% 200%", - backgroundPosition: "0% 100%", - }, - "50%": { - background: - "linear-gradient(-90deg, #ffd400, #ffad00, #ff6e00, #ff2700)", - backgroundSize: "200% 200%", - backgroundPosition: "100% 0%", - }, - "100%": { - background: - "linear-gradient(-45deg, #ffd400, #ffad00, #ff6e00, #ff2700)", - backgroundSize: "200% 200%", - backgroundPosition: "0% 100%", - }, - }, - - "rose-blush": { - "0%": { - background: - "linear-gradient(45deg, #ff446b, #ff7b6b, #ffad7b, #ffda8a)", - backgroundSize: "200% 200%", - backgroundPosition: "0% 100%", - }, - "50%": { - background: - "linear-gradient(90deg, #ff446b, #ff7b6b, #ffad7b, #ffda8a)", - backgroundSize: "200% 200%", - backgroundPosition: "100% 0%", - }, - "100%": { - background: - "linear-gradient(45deg, #ff446b, #ff7b6b, #ffad7b, #ffda8a)", - backgroundSize: "200% 200%", - backgroundPosition: "0% 100%", - }, - }, - - "lavender-dream": { - "0%": { - background: - "linear-gradient(-45deg, #a96dc5, #8f7fc7, #7091c8, #49a3c9)", - backgroundSize: "200% 200%", - backgroundPosition: "0% 100%", - }, - "50%": { - background: - "linear-gradient(-90deg, #a96dc5, #8f7fc7, #7091c8, #49a3c9)", - backgroundSize: "200% 200%", - backgroundPosition: "100% 0%", - }, - "100%": { - background: - "linear-gradient(-45deg, #a96dc5, #8f7fc7, #7091c8, #49a3c9)", - backgroundSize: "200% 200%", - backgroundPosition: "0% 100%", - }, - }, - - "amethyst-midnight": { - "0%": { - background: - "radial-gradient(100% 225% at 0 100%, #3a006b 0, #6c0098 100%), linear-gradient(-100deg, #9c00ff 70%, #7500c4 100%), linear-gradient(200deg, #4c4c4c 0, #9300ff 100%), linear-gradient(-3deg, #6c0098 0, #3a006b 50%)", - backgroundSize: "100% 100%", - backgroundPosition: "0% 60%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "20%": { - background: - "radial-gradient(100% 225% at 0 100%, #3a006b 0, #6c0098 100%), linear-gradient(-100deg, #9c00ff 70%, #7500c4 100%), linear-gradient(200deg, #4c4c4c 0, #9300ff 100%), linear-gradient(-3deg, #6c0098 0, #3a006b 50%)", - backgroundSize: "105% 105%", - backgroundPosition: "10% 50%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "40%": { - background: - "radial-gradient(100% 225% at 0 100%, #3a006b 0, #6c0098 100%), linear-gradient(-100deg, #9c00ff 70%, #7500c4 100%), linear-gradient(200deg, #4c4c4c 0, #9300ff 100%), linear-gradient(-3deg, #6c0098 0, #3a006b 50%)", - backgroundSize: "110% 300%", - backgroundPosition: "20% 40%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "60%": { - background: - "radial-gradient(100% 225% at 0 100%, #3a006b 0, #6c0098 100%), linear-gradient(-100deg, #9c00ff 70%, #7500c4 100%), linear-gradient(200deg, #4c4c4c 0, #9300ff 100%), linear-gradient(-3deg, #6c0098 0, #3a006b 50%)", - backgroundSize: "115% 115%", - backgroundPosition: "30% 30%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "80%": { - background: - "radial-gradient(100% 225% at 0 100%, #3a006b 0, #6c0098 100%), linear-gradient(-100deg, #9c00ff 70%, #7500c4 100%), linear-gradient(200deg, #4c4c4c 0, #9300ff 100%), linear-gradient(-3deg, #6c0098 0, #3a006b 50%)", - backgroundSize: "250% 120%", - backgroundPosition: "40% 20%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "100%": { - background: - "radial-gradient(100% 225% at 0 100%, #3a006b 0, #6c0098 100%), linear-gradient(-100deg, #9c00ff 70%, #7500c4 100%), linear-gradient(200deg, #4c4c4c 0, #9300ff 100%), linear-gradient(-3deg, #6c0098 0, #3a006b 50%)", - backgroundSize: "100% 100%", - backgroundPosition: "0% 60%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - }, - - "pink-blossom": { - "0%": { - background: - "radial-gradient(100% 225% at 0 100%, #FFB6C1 0, #FF69B4 100%), linear-gradient(-100deg, #FFC0CB 70%, #FF1493 100%), linear-gradient(200deg, #FFC0CB 0, #FF69B4 100%), linear-gradient(-3deg, #FF69B4 0, #FFB6C1 50%)", - backgroundSize: "100% 100%", - backgroundPosition: "0% 60%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "20%": { - background: - "radial-gradient(100% 225% at 0 100%, #FFB6C1 0, #FF69B4 100%), linear-gradient(-100deg, #FFC0CB 70%, #FF1493 100%), linear-gradient(200deg, #FFC0CB 0, #FF69B4 100%), linear-gradient(-3deg, #FF69B4 0, #FFB6C1 50%)", - backgroundSize: "105% 105%", - backgroundPosition: "10% 50%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "40%": { - background: - "radial-gradient(100% 225% at 0 100%, #FFB6C1 0, #FF69B4 100%), linear-gradient(-100deg, #FFC0CB 70%, #FF1493 100%), linear-gradient(200deg, #FFC0CB 0, #FF69B4 100%), linear-gradient(-3deg, #FF69B4 0, #FFB6C1 50%)", - backgroundSize: "110% 300%", - backgroundPosition: "20% 40%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "60%": { - background: - "radial-gradient(100% 225% at 0 100%, #FFB6C1 0, #FF69B4 100%), linear-gradient(-100deg, #FFC0CB 70%, #FF1493 100%), linear-gradient(200deg, #FFC0CB 0, #FF69B4 100%), linear-gradient(-3deg, #FF69B4 0, #FFB6C1 50%)", - backgroundSize: "115% 115%", - backgroundPosition: "30% 30%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "80%": { - background: - "radial-gradient(100% 225% at 0 100%, #FFB6C1 0, #FF69B4 100%), linear-gradient(-100deg, #FFC0CB 70%, #FF1493 100%), linear-gradient(200deg, #FFC0CB 0, #FF69B4 100%), linear-gradient(-3deg, #FF69B4 0, #FFB6C1 50%)", - backgroundSize: "250% 120%", - backgroundPosition: "40% 20%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "100%": { - background: - "radial-gradient(100% 225% at 0 100%, #FFB6C1 0, #FF69B4 100%), linear-gradient(-100deg, #FFC0CB 70%, #FF1493 100%), linear-gradient(200deg, #FFC0CB 0, #FF69B4 100%), linear-gradient(-3deg, #FF69B4 0, #FFB6C1 50%)", - backgroundSize: "100% 100%", - backgroundPosition: "0% 60%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - }, - - "cosmic-wave": { - "0%": { - background: - "radial-gradient(100% 225% at 0 100%, #0039A6 0, #005EB8 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004785 0, #0039A6 100%), linear-gradient(60deg, #005EB8 0, #0039A6 50%)", - backgroundSize: "100% 100%", - backgroundPosition: "0% 60%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "20%": { - background: - "radial-gradient(100% 225% at 0 100%, #0039A6 0, #005EB8 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004785 0, #0039A6 100%), linear-gradient(60deg, #005EB8 0, #0039A6 50%)", - backgroundSize: "105% 105%", - backgroundPosition: "10% 50%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "40%": { - background: - "radial-gradient(100% 225% at 0 100%, #0039A6 0, #005EB8 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004785 0, #0039A6 100%), linear-gradient(60deg, #005EB8 0, #0039A6 50%)", - backgroundSize: "110% 300%", - backgroundPosition: "20% 40%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "60%": { - background: - "radial-gradient(100% 225% at 0 100%, #0039A6 0, #005EB8 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004785 0, #0039A6 100%), linear-gradient(60deg, #005EB8 0, #0039A6 50%)", - backgroundSize: "115% 115%", - backgroundPosition: "30% 30%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "80%": { - background: - "radial-gradient(100% 225% at 0 100%, #0039A6 0, #005EB8 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004785 0, #0039A6 100%), linear-gradient(60deg, #005EB8 0, #0039A6 50%)", - backgroundSize: "250% 120%", - backgroundPosition: "40% 20%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "100%": { - background: - "radial-gradient(100% 225% at 0 100%, #0039A6 0, #005EB8 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004785 0, #0039A6 100%), linear-gradient(60deg, #005EB8 0, #0039A6 50%)", - backgroundSize: "100% 100%", - backgroundPosition: "0% 60%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - }, - "glow-next-door": { - "0%": { - background: - "radial-gradient(100% 225% at 0 100%, #62004F 0, #8C007B 100%), linear-gradient(-135deg, #BF00FF 70%, #9600C9 100%), linear-gradient(45deg, #4C4C4C 0, #BF00FF 100%), linear-gradient(-60deg, #8C007B 0, #62004F 50%)", - backgroundSize: "100% 100%", - backgroundPosition: "0% 60%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "20%": { - background: - "radial-gradient(100% 225% at 0 100%, #62004F 0, #8C007B 100%), linear-gradient(-135deg, #BF00FF 70%, #9600C9 100%), linear-gradient(45deg, #4C4C4C 0, #BF00FF 100%), linear-gradient(-60deg, #8C007B 0, #62004F 50%)", - backgroundSize: "105% 105%", - backgroundPosition: "10% 50%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "40%": { - background: - "radial-gradient(100% 225% at 0 100%, #62004F 0, #8C007B 100%), linear-gradient(-135deg, #BF00FF 70%, #9600C9 100%), linear-gradient(45deg, #4C4C4C 0, #BF00FF 100%), linear-gradient(-60deg, #8C007B 0, #62004F 50%)", - backgroundSize: "110% 300%", - backgroundPosition: "20% 40%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "60%": { - background: - "radial-gradient(100% 225% at 0 100%, #62004F 0, #8C007B 100%), linear-gradient(-135deg, #BF00FF 70%, #9600C9 100%), linear-gradient(45deg, #4C4C4C 0, #BF00FF 100%), linear-gradient(-60deg, #8C007B 0, #62004F 50%)", - backgroundSize: "115% 115%", - backgroundPosition: "30% 30%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "80%": { - background: - "radial-gradient(100% 225% at 0 100%, #62004F 0, #8C007B 100%), linear-gradient(-135deg, #BF00FF 70%, #9600C9 100%), linear-gradient(45deg, #4C4C4C 0, #BF00FF 100%), linear-gradient(-60deg, #8C007B 0, #62004F 50%)", - backgroundSize: "250% 120%", - backgroundPosition: "40% 20%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - "100%": { - background: - "radial-gradient(100% 225% at 0 100%, #62004F 0, #8C007B 100%), linear-gradient(-135deg, #BF00FF 70%, #9600C9 100%), linear-gradient(45deg, #4C4C4C 0, #BF00FF 100%), linear-gradient(-60deg, #8C007B 0, #62004F 50%)", - backgroundSize: "100% 100%", - backgroundPosition: "0% 60%", - backgroundBlendMode: "color-dodge, color-burn, color-burn, normal", - }, - }, - "ski-haze": { - "0%": { - background: - "radial-gradient(100% 225% at 0 100%, #008033 0, #00551a 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004D26 0, #003300 100%), linear-gradient(60deg, #00551A 0, #003300 50%)", - backgroundSize: "100% 100%", - backgroundPosition: "0% 60%", - backgroundBlendMode: "color-dodge, normal, normal, normal", - }, - "20%": { - background: - "radial-gradient(100% 225% at 0 100%, #008033 0, #00551a 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004D26 0, #003300 100%), linear-gradient(60deg, #00551A 0, #003300 50%)", - backgroundSize: "105% 105%", - backgroundPosition: "10% 50%", - backgroundBlendMode: "color-dodge, normal, normal, normal", - }, - "40%": { - background: - "radial-gradient(100% 225% at 0 100%, #008033 0, #00551a 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004D26 0, #003300 100%), linear-gradient(60deg, #00551A 0, #003300 50%)", - backgroundSize: "110% 300%", - backgroundPosition: "20% 40%", - backgroundBlendMode: "color-dodge, normal, normal, normal", - }, - "60%": { - background: - "radial-gradient(100% 225% at 0 100%, #008033 0, #00551a 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004D26 0, #003300 100%), linear-gradient(60deg, #00551A 0, #003300 50%)", - backgroundSize: "115% 115%", - backgroundPosition: "30% 30%", - backgroundBlendMode: "color-dodge, normal, normal, normal", - }, - "80%": { - background: - "radial-gradient(100% 225% at 0 100%, #008033 0, #00551a 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004D26 0, #003300 100%), linear-gradient(60deg, #00551A 0, #003300 50%)", - backgroundSize: "250% 120%", - backgroundPosition: "40% 20%", - backgroundBlendMode: "color-dodge, normal, normal, normal", - }, - "100%": { - background: - "radial-gradient(100% 225% at 0 100%, #008033 0, #00551a 100%), linear-gradient(-45deg, #007BFF 70%, #005EB8 100%), linear-gradient(135deg, #004D26 0, #003300 100%), linear-gradient(60deg, #00551A 0, #003300 50%)", - backgroundSize: "100% 100%", - backgroundPosition: "0% 60%", - backgroundBlendMode: "color-dodge, normal, normal, normal", - }, - }, - - // CLASSICS - wobble: { - "0%": { transform: "rotate(-5deg)" }, - "25%": { transform: "rotate(5deg)" }, - "50%": { transform: "rotate(-5deg)" }, - "75%": { transform: "rotate(5deg)" }, - "100%": { transform: "rotate(-5deg)" }, - }, - melt: { - "0%": { transform: "scale(1)" }, - "20%": { transform: "scale(0.8)" }, - "40%": { transform: "scale(1.2)" }, - "60%": { transform: "scale(0.9)" }, - "80%": { transform: "scale(1.1)" }, - "100%": { transform: "scale(1)" }, - }, - float: { - "0%": { transform: "translateY(0)" }, - "25%": { transform: "translateY(-5px)" }, - "50%": { transform: "translateY(0)" }, - "75%": { transform: "translateY(5px)" }, - "100%": { transform: "translateY(0)" }, - }, - breathe: { - "0%": { transform: "scale(1)" }, - "25%": { transform: "scale(1.1)" }, - "50%": { transform: "scale(1)" }, - "75%": { transform: "scale(0.9)" }, - "100%": { transform: "scale(1)" }, - }, - squiggle: { - "0%": { transform: "translateX(0)" }, - "20%": { transform: "translateX(-5px)" }, - "40%": { transform: "translateX(5px)" }, - "60%": { transform: "translateX(-3px)" }, - "80%": { transform: "translateX(3px)" }, - "100%": { transform: "translateX(0)" }, - }, - "flip-and-spin": { - "0%": { transform: "rotateY(0) rotateZ(0)" }, - "20%": { transform: "rotateY(1turn) rotateZ(0.5turn)" }, - "40%": { transform: "rotateY(2turn) rotateZ(1turn)" }, - "60%": { transform: "rotateY(3turn) rotateZ(1.5turn)" }, - "80%": { transform: "rotateY(4turn) rotateZ(2turn)" }, - "100%": { transform: "rotateY(5turn) rotateZ(2.5turn)" }, - }, - twist: { - "0%": { transform: "rotateY(0) skewY(0)" }, - "20%": { transform: "rotateY(1turn) skewY(-10deg)" }, - "40%": { transform: "rotateY(2turn) skewY(10deg)" }, - "60%": { transform: "rotateY(3turn) skewY(-10deg)" }, - "80%": { transform: "rotateY(4turn) skewY(10deg)" }, - "100%": { transform: "rotateY(5turn) skewY(0)" }, - }, - pop: { - "0%": { transform: "scale(1)" }, - "20%": { transform: "scale(1.2)" }, - "40%": { transform: "scale(0.8)" }, - "60%": { transform: "scale(1.1)" }, - "80%": { transform: "scale(0.9)" }, - "100%": { transform: "scale(1)" }, - }, - scatter: { - "0%": { transform: "translate(0)" }, - "20%": { transform: "translate(-50px, -50px)" }, - "40%": { transform: "translate(50px, -50px)" }, - "60%": { transform: "translate(-50px, 50px)" }, - "80%": { transform: "translate(50px, 50px)" }, - "100%": { transform: "translate(0)" }, - }, - "morph-colors": { - "0%": { color: "#000" }, - "20%": { color: "#888" }, - "40%": { color: "#555" }, - "60%": { color: "#333" }, - "80%": { color: "#777" }, - "100%": { color: "#000" }, - }, - drift: { - "0%": { transform: "translateX(0)" }, - "20%": { transform: "translateX(50px)" }, - "40%": { transform: "translateX(-50px)" }, - "60%": { transform: "translateX(50px)" }, - "80%": { transform: "translateX(-50px)" }, - "100%": { transform: "translateX(0)" }, - }, - pixelate: { - "0%": { filter: "none" }, - "20%": { filter: "grayscale(1) contrast(0.5)" }, - "40%": { filter: "blur(2px)" }, - "60%": { filter: "grayscale(0) contrast(1)" }, - "80%": { filter: "blur(0px)" }, - "100%": { filter: "none" }, - }, - "rotate-and-scale": { - "0%": { transform: "rotate(0) scale(1)" }, - "20%": { transform: "rotate(90deg) scale(1.2)" }, - "40%": { transform: "rotate(180deg) scale(1.5)" }, - "60%": { transform: "rotate(270deg) scale(1.2)" }, - "80%": { transform: "rotate(360deg) scale(1)" }, - "100%": { transform: "rotate(360deg) scale(1)" }, - }, - disintegrate: { - "0%": { opacity: "1", transform: "scale(1)" }, - "20%": { opacity: "0.8", transform: "scale(0.8)" }, - "40%": { opacity: "0.6", transform: "scale(0.6)" }, - "60%": { opacity: "0.4", transform: "scale(0.4)" }, - "80%": { opacity: "0.2", transform: "scale(0.2)" }, - "100%": { opacity: "0", transform: "scale(0)" }, - }, - shimmer: { - "0%": { opacity: "0.5" }, - "20%": { opacity: "1" }, - "40%": { opacity: "0.5" }, - "60%": { opacity: "1" }, - "80%": { opacity: "0.5" }, - "100%": { opacity: "0.5" }, - }, - " liquid-fill": { - "0%": { transform: "scaleY(0)" }, - "20%": { transform: "scaleY(0.2)" }, - "40%": { transform: "scaleY(0.4)" }, - "60%": { transform: "scaleY(0.6)" }, - "80%": { transform: "scaleY(0.8)" }, - "100%": { transform: "scaleY(1)" }, - }, - " teleport": { - "0%": { opacity: "1", transform: "translate(0)" }, - "20%": { opacity: "0", transform: "translate(-100px, -100px)" }, - "40%": { opacity: "0", transform: "translate(-100px, 100px)" }, - "60%": { opacity: "0", transform: "translate(100px, -100px)" }, - "80%": { opacity: "0", transform: "translate(100px, 100px)" }, - "100%": { opacity: "1", transform: "translate(0)" }, - }, - confetti: { - "0%": { transform: "translate(0)" }, - "20%": { transform: "translate(-20px, -20px)" }, - "40%": { transform: "translate(20px, -20px)" }, - "60%": { transform: "translate(-20px, 20px)" }, - "80%": { transform: "translate(20px, 20px)" }, - "100%": { transform: "translate(0)" }, - }, - " unravel": { - "0%": { transform: "scaleY(0)" }, - "20%": { transform: "scaleY(0.2)" }, - "40%": { transform: "scaleY(0.4)" }, - "60%": { transform: "scaleY(0.6)" }, - "80%": { transform: "scaleY(0.8)" }, - "100%": { transform: "scaleY(1)" }, - }, - " time-warp": { - "0%": { transform: "rotate(0) scale(1)" }, - "20%": { transform: "rotate(-20deg) scale(0.8)" }, - "40%": { transform: "rotate(20deg) scale(1.2)" }, - "60%": { transform: "rotate(-20deg) scale(0.9)" }, - "80%": { transform: "rotate(20deg) scale(1.1)" }, - "100%": { transform: "rotate(0) scale(1)" }, - }, - }, - colors: { - primary: { - light: "#111827", - dark: "#f3f4f6", - }, - secondary: { - light: "f3f4f6", - dark: "#111827", - }, - accent: { - main: "#3730a3", - }, - }, - backgroundImage: { - "gradient-radial": "radial-gradient(var(--tw-gradient-stops))", - "gradient-conic": - "conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))", - }, - }, + extend: {}, }, - plugins: [require("@tailwindcss/forms")], -}; + plugins: [], +} \ No newline at end of file