Juice Design system

Juice Design system

Version 1.0

Colors

Background Colors

bg-color-white
#fff
bg-color-black
#000
bg-color-1
#889e77
bg-color-2
#9e7777

Text Colors

text-color-black
This is some text inside of a div block.
text-color-white
This is some text inside of a div block.
text-color-1
This is some text inside of a div block.

Typography

Explanations

No Class Name

all H1 Headings

Heading 1

all H2 Headings

Heading 2

all H3 Headings

Heading 3

all H4 Headings

Heading 4

all H5 Headings
Heading 5
all H6 Headings
Heading 6
all Pharagraphs

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

With Class Name

heading-2xl

heading-2xl

heading-xl

heading-xl

heading-l

heading-l

heading-m

heading-m

heading-s
heading-s
heading-xs
heading-xs
text-small

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

text

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

text-medium

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Text style

caps

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

italic

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

text-center

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique.

text-left

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

text-right

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique.

tablet-text-left
tablet-text-center

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique.

landscape-text-left
landscape-text-center

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique.

portrait-text-left
portrait-text-center

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique.

text-weight-100

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

text-weight-200

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

text-weight-300

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

text-weight-400

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

text-weight-500

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

text-weight-600

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

text-weight-700

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

text-weight-800

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

text-weight-900

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

rich-text

What’s a Rich Text element?

What’s a Rich Text element?

What’s a Rich Text element?

What’s a Rich Text element?

What’s a Rich Text element?
What’s a Rich Text element?

Text link

The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.

Unordered List

  • List item
  • List item

Ordered List

  1. List item
  2. List item
Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

Spacing

Explanations

Spacing

Desktop
0.25
0.5
0.75
1
1.5
2
3
4
6
8
12
16
Tablet
0.25
0.5
0.75
1
1.5
2
2.5
3.5
4.5
5.5
7.5
9.5
Mobile
0.25
0.5
0.75
1
1.5
2
2.5
3
4
5
6
7

Margin class names

Margin bottom

.margin-bottom-0
no space to the bottom direction
.margin-bottom-3xs
0.25rem | 4px
.margin-bottom-2xs
0.5rem | 8px
.margin-bottom-xs
0.75rem | 12px
.margin-bottom-small
1rem | 16px
.margin-bottom-medium
1.5rem | 24px
.margin-bottom-large
2rem | 32px
.margin-bottom-xl
3rem | 48px
.margin-bottom-2xl
4rem | 64px
.margin-bottom-3xl
6rem | 96px
.margin-bottom-4xl
8rem | 128px
.margin-bottom-5xl
12rem | 192px
.margin-bottom-6xl
16rem | 256px

Margin right

.margin-right-0
no space to the right direction
.margin-right-3xs
0.25rem | 4px
.margin-right-2xs
0.5rem | 8px
.margin-right-xs
0.75rem | 12px
.margin-right-small
1rem | 16px
.margin-right-medium
1.5rem | 24px
.margin-right-large
2rem | 32px
.margin-right-xl
3rem | 48px
.margin-right-2xl
4rem | 64px
.margin-right-3xl
6rem | 96px
.margin-right-4xl
8rem | 128px
.margin-right-5xl
12rem | 192px
.margin-right-6xl
16rem | 256px

Max Width

48rem | 768px
max-width-small
64rem | 1024px
max-width-medium
80rem | 1280px
max-width-large
90rem | 1440px
max-width-xlarge

containers

68.5rem | 1096px
container-small
80rem | 1280px
container-medium
82.5rem | 1320px
container

Buttons

button
button
is-reverse

icons

footer-soc-link

Form

All elements for the form must be in the main states

Normal state

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Error state

Success state

Form with custom validation

Error message
Error message
Error message
Submit form
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Other

Set here the rest of the UI elements used in your design.

For Developers

Here are collected all the rules and principles that are important for developers and which are not included in the general framework

Structure

The page structure is shown in the image.

All elements must be wrapped in a .page-wrapper class. Inside it there are css properties, navbar, main-wrapper and footer.

  • .navbar - tag "Navbar".
  • .main-wrapper - has a tag name "Main" and contains all sections of the page (except the Hero Section).
  • .section - tag "Section", padding right and padding left are 40px, position is Relative.


Classes that you can add as a combo-class to the .section:
 .bg-color-[number]
 .overflow-hidden

  • .container -
        width 100%,
        margin left and right are auto,
        padding top and bottom are 80px and
        max-width 1180px.
    Paddings and max-width can be changed depending on the design.
    Container has one Heading 2 as a main title and subtitles Heading 3, 4, 5, 6.
  • you can add combo-classes for .container to change padding-top and padding-bottom
  • .footer - has a tag "Footer".

Always save as a symbol:

  1. Navbar
  2. Footer
  3. Buttons
  4. CSS

Class names

Use the names of the classes & animations without abbreviations so that the client / other developer can immediately understand what this element / animation is doing in the project.

Class Names

  1. All classes must be written with a small letter separated by a dash.
  2. Never use webflow generated classes. Ex. Div Block 28, Heading 12… etc.
  3. Each element should have a class name.
  4. Avoid more than 3 classes on 1 element. Use custom classes or nesting of one element in another instead.

Remove unused Classes.

Animation Names

Use clear animation names

Common title | Trigger | Breakpoint (if this animation is different from the desktop one).

Common title can contain page name for better navigation among animations.

Remove unused animations.

Standard animations

From bottom

trigger-bottom-a
trigger-bottom-b
trigger-bottom-c
trigger-bottom-d
trigger-bottom-e
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

From left

trigger-left-a
trigger-left-b
trigger-left-c
trigger-left-d
trigger-left-e
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

From right

trigger-right-a
trigger-right-b
trigger-right-c
trigger-right-d
trigger-right-e
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

Fonts

  1. The main font should be connected to the Body (All pages).
  2. Use .woff2 font files.

Images

  1. Type: WEBP. SVG is possible too. It's better to upload all images in the Webflow assets panel and then convert them inside Webflow (how-to video)
  2. Image File Recommendations

Full width images:

size: 3500px x 1969px

maximum weight: ~700kb

Other images:

size: 2x from the image size on the website (design)

maximum weight: ~250kb

3. All images have to set alt tag from the Assets panel.

4. Some images can be set load as a "Lazy load on scroll".

Lang attribute

Specify the Lang attribute in the project settings

Useful classes

Visibility control

desktop-block
desktop-hide
desktop-hide
tablet-block
tablet-hide
landscape-block
landscape-hide
portrait-block
portrait-hide
.visibility-hidden
visibility-hidden
overflow-hidden

Explanations

Juice custom form validation

  1. Add validation JS code to the page where form will be placed. Place code before
    closing </body> tag. By default code stored on this Styleguide page
  2. Build the form, using structure where each input and corresponding label wrapped into parent element
  3. Include error message text element to each wrapper with input
  4. Provide styling for input parent element separately for Success and Error states of the input and error text message, using .success and .error comboclasses. Example of the styling provided on this page Inside <head> tag
  5. Apply custom attribute juice-custom-validation='message' to each message element
  6. Apply custom attribute juice-custom-validation='form' to the Form element,
    but NOT to the Form block.
  7. Replace native Form Submit button with a regular button. It's important! If we'll
    use native Submit button, browser will show standard validation messages,
    we don't need them
  8. Apply custom attribute juice-custom-validation='submit' to the new button
  9. Set required checkbox for all inputs which you want to validate as required inside input settings. Please note, at least one
  10. Set type of input to email if you want to validate inserted email info