ClientKit

Styleguide

Colors

#333
primary
body
heading
link
input-border
icons
#fff
heading-light
white
background-default
input-background
button-primary-color
#666
secondary
link-hover
orange
accent
rgb(95, 95, 95)
background-alt
blue
input-border-focus
rgb(241,241,241)
input-group-background
gray
input-label
input-disabled
red
input-error
text-color-error
rgba(75, 157, 249, 1)
button-primary-bg
#ccc
border
rgba(17,17,17,.9)
tooltip-bg
#f0f0f0
message-info
#dff0d8
message-success
#f2dede
message-error

Helpers

Grid

Variables

  grid-columns: 12
  grid-gutters: 15px

Breakpoints

  desktop-wide:
    max-width: 100vw
    min-width: 1440px
    content: 1440px
    col: xl
    default: '{{!core.mobileFirst}}'
    bleed: 1600px
  desktop:
    max-width: 1439px
    min-width: 1024px
    content: 1024px
    col: lg
  tablet:
    max-width: 1023px
    min-width: 768px
    content: 768px
    col: md
  mobile:
    max-width: 767px
    min-width: 320px
    content: 100%
    col: sm

Quick Start

<div class="container">
  <div class="row">
    <div class="col-4">1/3 column</div>
    <div class="col-4">1/3 column</div>
    <div class="col-4">1/3 column</div>
  </div>
</div>

Grid Options

Default Small Medium Large Extra large
Container width None (auto) 320px - 767px 768px - 1023px 1024px - 1439px 1440px - 100vw
Class prefix .col- .col-sm- .col-md- .col-lg- .col-xl-
# of columns 12 12 12 12 12
Gutter width 15px on each side 15px on each side 15px on each side 15px on each side 15px on each side
Nestable Yes Yes Yes Yes Yes
Offsets Yes Yes Yes Yes Yes
Column ordering Yes Yes Yes Yes Yes

Tabs


<div class="tabs">

  <!-- active tab on page load gets checked attribute -->
  <input type="radio" id="tab1" name="tabGroup1" class="tab" checked>
  <label for="tab1">Short</label>

  <input type="radio" id="tab2" name="tabGroup1" class="tab">
  <label for="tab2">Medium</label>

  <input type="radio" id="tab3" name="tabGroup1" class="tab">
  <label for="tab3">Long</label>

  <div class="tab-content">
    <h3>Short Section</h3>
    <p>Praesent nonummy mi in odio. Nullam accumsan lorem in dui. Vestibulum turpis sem, aliquet eget, lobortis pellentesque, rutrum eu, nisl. Nullam accumsan lorem in dui. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu.</p>
  </div>

  <div class="tab-content">
    <h3>Medium Section</h3>
    <p>Praesent nonummy mi in odio. Nullam accumsan lorem in dui. Vestibulum turpis sem, aliquet eget, lobortis pellentesque, rutrum eu, nisl. Nullam accumsan lorem in dui. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu.</p>

    <p>In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Morbi mattis ullamcorper velit. Pellentesque posuere. Etiam ut purus mattis mauris sodales aliquam. Praesent nec nisl a purus blandit viverra.</p>
  </div>

  <div class="tab-content">
    <h3>Long Section</h3>
    <p>Praesent nonummy mi in odio. Nullam accumsan lorem in dui. Vestibulum turpis sem, aliquet eget, lobortis pellentesque, rutrum eu, nisl. Nullam accumsan lorem in dui. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu.</p>

    <p>In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Morbi mattis ullamcorper velit. Pellentesque posuere. Etiam ut purus mattis mauris sodales aliquam. Praesent nec nisl a purus blandit viverra.</p>

    <p>Praesent nonummy mi in odio. Nullam accumsan lorem in dui. Vestibulum turpis sem, aliquet eget, lobortis pellentesque, rutrum eu, nisl. Nullam accumsan lorem in dui. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu.</p>

    <p>In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Morbi mattis ullamcorper velit. Pellentesque posuere. Etiam ut purus mattis mauris sodales aliquam. Praesent nec nisl a purus blandit viverra.</p>
  </div>

</div>

Flexbox Grid

Quick Start

<div class="container">
  <div class="flex-row">
    <div class="flex-4">1/3 column</div>
    <div class="flex-4">1/3 column</div>
    <div class="flex-4">1/3 column</div>
  </div>
</div>

Auto Sizing

Add as many to this example and they will size accordingly

<div class="container">
  <div class="flex-row">
    <div class="flex-grow flex-no-shrink">1/3 column</div>
    <div class="flex-grow flex-no-shrink">1/3 column</div>
    <div class="flex-grow flex-no-shrink">1/3 column</div>
  </div>
</div>

Grid Options

Default Small Medium Large Extra large
Container width None (auto) 320px - 767px 768px - 1023px 1024px - 1439px 1440px - 100vw
Class prefix .flex- .flex-sm- .flex-md- .flex-lg- .flex-xl-
# of columns 12 12 12 12 12
Gutter width 15px on each side 15px on each side 15px on each side 15px on each side 15px on each side
Nestable Yes Yes Yes Yes Yes
Offsets Yes Yes Yes Yes Yes
Column ordering Yes Yes Yes Yes Yes

Spacing

The spacing defaults below allow for the various combinations listed below. Essentially every possible combination of margin and padding can be combined with top, right, bottom or left and the defaults to acheive anything. There are special keywords (xaxis and yaxis) you can use, in lieu of individual directional attributes when you want spacing options on two different sizes.

Defaults

  none: 0
  xl: 80px
  lg: 50px
  md: 30px
  sm: 20px
  xs: 10px

Example

.margin-none { margin: 0; }
.margin-xl { margin: 80px; }
.margin-lg { margin: 50px; }
.margin-md { margin: 30px; }
.margin-sm { margin: 20px; }
.margin-xs { margin: 10px; }

.margin-top-none { margin-top: 0; }
.margin-top-xl { margin-top: 80px; }
.margin-top-lg { margin-top: 50px; }
.margin-top-md { margin-top: 30px; }
.margin-top-sm { margin-top: 20px; }
.margin-top-xs { margin-top: 10px; }

.margin-left-none { margin-left: 0; }
.margin-left-xl { margin-left: 80px; }
.margin-left-lg { margin-left: 50px; }
.margin-left-md { margin-left: 30px; }
.margin-left-sm { margin-left: 20px; }
.margin-left-xs { margin-left: 10px; }

.margin-right-none { margin-right: 0; }
.margin-right-xl { margin-right: 80px; }
.margin-right-lg { margin-right: 50px; }
.margin-right-md { margin-right: 30px; }
.margin-right-sm { margin-right: 20px; }
.margin-right-xs { margin-right: 10px; }

.margin-bottom-none { margin-bottom: 0; }
.margin-bottom-xl { margin-bottom: 80px; }
.margin-bottom-lg { margin-bottom: 50px; }
.margin-bottom-md { margin-bottom: 30px; }
.margin-bottom-sm { margin-bottom: 20px; }
.margin-bottom-xs { margin-bottom: 10px; }

.margin-xaxis-none { margin-left: 0; margin-right: 0; }
.margin-xaxis-xl { margin-left: 80px; margin-right: 80px; }
.margin-xaxis-lg { margin-left: 50px; margin-right: 50px; }
.margin-xaxis-md { margin-left: 30px; margin-right: 30px; }
.margin-xaxis-sm { margin-left: 20px; margin-right: 20px; }
.margin-xaxis-xs { margin-left: 10px; margin-right: 10px; }

.margin-yaxis-none { margin-top: 0; margin-bottom: 0; }
.margin-yaxis-xl { margin-top: 80px; margin-bottom: 80px; }
.margin-yaxis-lg { margin-top: 50px; margin-bottom: 50px; }
.margin-yaxis-md { margin-top: 30px; margin-bottom: 30px; }
.margin-yaxis-sm { margin-top: 20px; margin-bottom: 20px; }
.margin-yaxis-xs { margin-top: 10px; margin-bottom: 10px; }

.padding-none { padding: 0; }
.padding-xl { padding: 80px; }
.padding-lg { padding: 50px; }
.padding-md { padding: 30px; }
.padding-sm { padding: 20px; }
.padding-xs { padding: 10px; }

.padding-top-none { padding-top: 0; }
.padding-top-xl { padding-top: 80px; }
.padding-top-lg { padding-top: 50px; }
.padding-top-md { padding-top: 30px; }
.padding-top-sm { padding-top: 20px; }
.padding-top-xs { padding-top: 10px; }

.padding-left-none { padding-left: 0; }
.padding-left-xl { padding-left: 80px; }
.padding-left-lg { padding-left: 50px; }
.padding-left-md { padding-left: 30px; }
.padding-left-sm { padding-left: 20px; }
.padding-left-xs { padding-left: 10px; }

.padding-right-none { padding-right: 0; }
.padding-right-xl { padding-right: 80px; }
.padding-right-lg { padding-right: 50px; }
.padding-right-md { padding-right: 30px; }
.padding-right-sm { padding-right: 20px; }
.padding-right-xs { padding-right: 10px; }

.padding-bottom-none { padding-bottom: 0; }
.padding-bottom-xl { padding-bottom: 80px; }
.padding-bottom-lg { padding-bottom: 50px; }
.padding-bottom-md { padding-bottom: 30px; }
.padding-bottom-sm { padding-bottom: 20px; }
.padding-bottom-xs { padding-bottom: 10px; }

.padding-xaxis-none { padding-left: 0; padding-right: 0; }
.padding-xaxis-xl { padding-left: 80px; padding-right: 80px; }
.padding-xaxis-lg { padding-left: 50px; padding-right: 50px; }
.padding-xaxis-md { padding-left: 30px; padding-right: 30px; }
.padding-xaxis-sm { padding-left: 20px; padding-right: 20px; }
.padding-xaxis-xs { padding-left: 10px; padding-right: 10px; }

.padding-yaxis-none { padding-top: 0; padding-bottom: 0; }
.padding-yaxis-xl { padding-top: 80px; padding-bottom: 80px; }
.padding-yaxis-lg { padding-top: 50px; padding-bottom: 50px; }
.padding-yaxis-md { padding-top: 30px; padding-bottom: 30px; }
.padding-yaxis-sm { padding-top: 20px; padding-bottom: 20px; }
.padding-yaxis-xs { padding-top: 10px; padding-bottom: 10px; }

.spacing-xl { margin-bottom: 80px; }
.spacing-lg { margin-bottom: 50px; }
.spacing-md { margin-bottom: 30px; }
.spacing-sm { margin-bottom: 20px; }
.spacing-xs { margin-bottom: 10px; }

Triangle

<b class="triangle-up"></b>
<b class="triangle-right"></b>
<b class="triangle-down"></b>
<b class="triangle-left"></b>

Lists

Lists

Unstyled

<ul class="list-unstyled">
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
</ul>

Inline

<ul class="list-inline">
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
</ul>

Forms

Forms and Inputs

Form

<form class="form">
</form>

Labels

  <form class="form">
    <label class="spacing-xs">Example Input</label>
    <input id="exampleInput" type="text" placeholder="Example">
  </form>

Inputs

  <form class="form">
    <label class="spacing-xs">Text</label>
    <input class="spacing-sm" type="text" placeholder="Text">
    <label class="spacing-xs">Email</label>
    <input class="spacing-sm" type="email" placeholder="Email">
    <label class="spacing-xs">Password</label>
    <input class="spacing-sm" type="password" placeholder="Password">
    <label class="spacing-xs">Url</label>
    <input class="spacing-sm" type="url" placeholder="Url">
    <label class="spacing-xs">Telephone</label>
    <input class="spacing-sm" type="tel" placeholder="Telephone">
    <label class="spacing-xs">Search</label>
    <input class="spacing-sm" type="search" placeholder="Search">
    <label class="spacing-xs">Number</label>
    <input class="spacing-sm" type="number" placeholder="Number">
    <label class="spacing-xs">Date</label>
    <input class="spacing-sm" type="date" placeholder="Date">
    <label class="spacing-xs">Date Time</label>
    <input class="spacing-sm" type="datetime" placeholder="Date Time">
    <label class="spacing-xs">Date Time Local</label>
    <input class="spacing-sm" type="datetime-local" placeholder="Date Time Local">
    <label class="spacing-xs">Month</label>
    <input class="spacing-sm" type="month" placeholder="Month">
    <label class="spacing-xs">Week</label>
    <input class="spacing-sm" type="week" placeholder="Week">
    <label class="spacing-xs">Time</label>
    <input class="spacing-sm" type="time" placeholder="Time">
    <label class="spacing-xs">Textarea</label>
    <textarea class="spacing-sm" placeholder="Textarea"></textarea>
    <label class="spacing-xs">Select</label>
    <select>
      <option>Option 1</option>
      <option>Option 2</option>
      <option>Option 3</option>
    </select>
  </form>

Error Text

  <form class="form">
    <div class="error">
      <label class="spacing-xs">Some input</label>
      <input class="spacing-xs" type="text" placeholder="Error">
      <small>This field is required</small>
    </div>
  </form>

Input group

  <form class="form">
    <div class="input-group">
      <input type="text" placeholder="Enter your email">
      <button class="input-group-btn button">Sign Up</button>
    </div>
  </form>

Tables

Tables

Basic

<table class="table">
  <thead>
    <tr>
      <th>Header 1</th>
      <th>Header 2</th>
      <th>Header 3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Item 1</td>
      <td>Item 2</td>
      <td>Item 3</td>
    </tr>
  </tbody>
</table>

Condensed with half padding

<table class="table table-sm">
  <thead>
    <tr>
      <th>Header 1</th>
      <th>Header 2</th>
      <th>Header 3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Item 1</td>
      <td>Item 2</td>
      <td>Item 3</td>
    </tr>
  </tbody>
</table>

Bordered version

Add borders all around the table and between all the columns.

<table class="table table-bordered">
  <thead>
    <tr>
      <th>Header 1</th>
      <th>Header 2</th>
      <th>Header 3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Item 1</td>
      <td>Item 2</td>
      <td>Item 3</td>
    </tr>
  </tbody>
</table>

Zebra-striping

Default zebra-stripe styles (alternating gray and transparent backgrounds)

<table class="table table-striped">
  <thead>
    <tr>
      <th>Header 1</th>
      <th>Header 2</th>
      <th>Header 3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Item 1</td>
      <td>Item 2</td>
      <td>Item 3</td>
    </tr>
  </tbody>
</table>

Hover effect

Placed here since it has to come after the potential zebra striping

<table class="table table-hover">
  <thead>
    <tr>
      <th>Header 1</th>
      <th>Header 2</th>
      <th>Header 3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Item 1</td>
      <td>Item 2</td>
      <td>Item 3</td>
    </tr>
  </tbody>
</table>

Responsive tables

Wrap your tables in .table-responsive and we'll make them mobile friendly by enabling horizontal scrolling. Only applies <768px. Everything above that will display normally.

min-height: 0.01% is a workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)

<div class-"table-responsive">
<table class="table">
  <thead>
    <tr>
      <th>Header 1</th>
      <th>Header 2</th>
      <th>Header 3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Item 1</td>
      <td>Item 2</td>
      <td>Item 3</td>
    </tr>
  </tbody>
</table>
</div>

Here live helpers

Clearfix

<div class="clearfix">
  <div class="pull-left">...</div>
  <div class="pull-left">...</div>
</div>
<p>Some text below</p>

UGC

<div class="ugc">
  <h1>Heading 1</h1>
  <h2>Heading 2</h2>
  <h3>Heading 3</h3>
  <h4>Heading 4</h4>
  <h5>Heading 5</h5>
  <p>Default body font</p>
  <ul>
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
  </ul>
  <ol>
    <li>Ordered Item 1</li>
    <li>Ordered Item 2</li>
    <li>Ordered Item 3</li>
  </ol>
  <table>
    <thead>
      <tr>
        <th>Table Header 1</th>
        <th>Table Header 2</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Table Header 1</td>
        <td>Table Header 2</td>
      </tr>
    </tbody>
  </table>
</div>

Tooltip

<div class="padding-top-md">
  <button class="btn tooltip tooltip-up" data-tooltip-title="Whats up!">Tooltip Up</button>
  <button class="btn tooltip tooltip-right" data-tooltip-title="Whats up!">Tooltip Right</button>
  <button class="btn tooltip tooltip-down" data-tooltip-title="Whats up!">Tooltip Down</button>
  <button class="btn tooltip tooltip-left" data-tooltip-title="Whats up!">Tooltip Left</button>
</div>

Print

Printing with Clientkit takes some basic reset from HTML5 Boilerplate. All elements are stripped of color styling, while text links and abbr have their attributes printed alongside. Other than a few more elements that get reset, there are a few helpers added to allow you to chose which elements are printed and which are not.

Example

<p class="show-print-block">print only as block level, won't show on any other media type</p>
<p class="show-print-inline">print only as inline level, won't show on any other media type</p>
<p class="show-print-inline-block">print only as inline-block level, won't show on any other media type</p>
<p class="hide-print">hides print only, will show on any other media type</p>

Messages

<div class="message-info margin-bottom-sm">This is an info message</div>
<div class="message-success margin-bottom-sm">This is an success message</div>
<div class="message-error margin-bottom-sm">This is an error message</div>
<div class="message-error">
  This is multiple error messages
  <ul>
    <li>Error message 1</li>
    <li>Error message 2</li>
  </ul>
</div>

Borders

Variables

  border-size: 1px
  border-radius-default: 3px
  color-border: '#ccc'

Example

<div class="border-all padding-sm margin-sm">Border around everything</div>
<div class="border-right padding-sm margin-sm">Border on right</div>
<div class="border-left padding-sm margin-sm">Border on left</div>
<div class="border-top padding-sm margin-sm">Border on top</div>
<div class="border-bottom padding-sm margin-sm">Border on bottom</div>

Typography

Welcome to typography

Headings

<div class="heading-1">Heading 1</div>
<div class="heading-2">Heading 2</div>
<div class="heading-3">Heading 3</div>
<div class="heading-4">Heading 4</div>
<div class="heading-5">Heading 5</div>
<div class="heading-6">Heading 6</div>

Fonts

<p>Body Style</p>
<p class="font-primary">Primary Style</p>
<p class="font-secondary">Secondary Font Style</p>

Alignment

<p class="text-left">Some Text</p>
<p class="text-center">Some Text</p>
<p class="text-right">Some Text</p>
<p class="text-justify">Curabitur a fusce hendrerit potenti mi vestibulum volutpat ullamcorper ac mollis ad nunc condimentum dolor a a suscipit ad vestibulum erat netus est id a condimentum vestibulum phasellus. Vestibulum litora lacus ante vitae non scelerisque vivamus facilisi curabitur in feugiat volutpat mus ut suspendisse nostra commodo elementum a fames augue libero mi bibendum. Mattis auctor a facilisi tristique dui class parturient faucibus sagittis consequat volutpat condimentum elit enim at primis condimentum torquent a in. A imperdiet vestibulum condimentum a quis nam mi vel hendrerit sem cubilia justo condimentum consectetur adipiscing. Facilisis lacinia ultrices etiam sociosqu ad a parturient ac leo class et potenti volutpat nostra pharetra semper parturient sociosqu suspendisse felis ac adipiscing. Sed commodo venenatis scelerisque a vehicula risus nullam dictumst et cras a suspendisse fusce adipiscing quisque dignissim quis lacinia suspendisse condimentum est mi augue a.</p>

Transform

<p class="text-lowercase">Some Text</p>
<p class="text-uppercase">Some Text</p>
<p class="text-capitalize">some text</p>

Weight

<p class="font-light">Some Text</p>
<strong class="font-regular">Some Text</strong>
<p class="font-semibold">Some Text</p>
<strong>Some Text</strong>
<p class="font-bold">Some Text</p>
<p class="font-xbold">Some Text</p>

Size

<p class="font-large">Some Text</p>
<p class="font-small">Some Text</p>
<p class="font-body">Some Text</p>

Colors

<div style="background: #000" class="heading--light">Light Text</div>
<p class="text-color-body">Some Text</p>
<p class="text-color-heading">Some Text</p>
<p style="background: #000" class="text-color-light">Some Text</p>

Stretch

<div class="text-stretch">Text Stretch</div>

hr

Variables

  hr-max-width: 3.5em
  hr-height: 3px
  hr-color: #333
<hr />

Buttons

Site Buttons

Primary Button

<button class="button">Primary Button</button>
<a class="button">Primary Link Button</a>

Outline Button

<button class="button-outline">Primary Button</button>
<a class="button-outline">Primary Link Button</a>

Button sizes

<button class="button button-lg">Large Button</button>
<button class="button button-sm">Small Button</button>
<button class="button-outline button-lg">Large Button</button>
<button class="button-outline button-sm">Small Button</button>

Variables

CSS

color-primary: #333
color-body: #333
color-heading: #333
color-heading-light: #fff
color-secondary: #666
color-white: #fff
color-accent: orange
color-background-default: #fff
color-background-alt: rgb(95, 95, 95)
color-link: #333
color-link-hover: #666
color-input-background: #fff
color-input-border: #333
color-input-border-focus: blue
color-input-group-background: rgb(241,241,241)
color-input-label: gray
color-input-error: red
color-input-disabled: gray
color-button-primary-bg: rgba(75, 157, 249, 1)
color-button-primary-color: #fff
color-border: #ccc
color-tooltip-bg: rgba(17,17,17,.9)
color-icons: #333
color-message-info: #f0f0f0
color-message-success: #dff0d8
color-message-error: #f2dede
color-text-color-error: red
spacing-none: 0
spacing-xl: 80px
spacing-lg: 50px
spacing-md: 30px
spacing-sm: 20px
spacing-xs: 10px
grid-columns: 12
grid-gutters: 15px
font-primary: sans-serif
font-secondary: serif
font-heading: serif
font-light: 300
font-regular: 400
font-semibold: 600
font-bold: 700
font-xbold: 800
font-size-body: 14px
font-size-large: 16px
font-size-small: 12px
line-height: 1.1
line-height-large: 1.5
heading-line-height: 1.2
heading-font-weight: bold
heading-1-size: 45px
heading-1-mobile-size: 30px
heading-2-size: 30px
heading-2-mobile-size: 25px
heading-3-size: 25px
heading-3-mobile-size: 20px
heading-4-size: 20px
heading-4-mobile-size: 16px
heading-5-size: 16px
heading-5-mobile-size: 14px
heading-6-size: 14px
heading-6-mobile-size: 12px
stretch-spacing: 2px
table-cell-padding: 10px
table-sm-cell-padding: 5px
table-bg: transparent
table-bg-accent: #f9f9f9
table-bg-hover: #f5f5f5
table-bg-active: #f5f5f5
table-border-width: 1px
table-border-color: #eceeef
border-size: 1px
border-radius-default: 3px
border-radius-lg: 5px
border-radius-sm: 2px
button-radius-default: 3px
button-radius-lg: 5px
button-radius-sm: 2px
hr-max-width: 3.5em
hr-height: 3px
hr-color: #333
message-border-radius: 2px
dropdown-bg: #fff
easing-out: cubic-bezier(0.35, 0.97, 0.57, 0.99)
easing-in-out: ease-in-out
breakpoint-desktop-wide: 100vw
breakpoint-desktop: 1439px
breakpoint-tablet: 1023px
breakpoint-mobile: 767px

Development

Mixins

Mixins yo!

Clearfix

@mixin clearfix;

Outputs

&::after {
  content: '';
  display: table;
  clear: both;
}

Button

@mixin button backgroundColor, fontColor, borderColor, borderRadius, hoverBackground, hoverColor;

Button size

@mixin button-size paddingY, paddingX, fontSize, borderRadius;

Heading

@mixin heading $size, $mobileSize;
@mixin heading var(--heading-1-size), var(--heading-1-mobile-size);

Outputs

.heading-1 {
  font-family: serif;
  color: #333;
  line-height: 120%;
  font-size: 45px;
}
@media (--mobile) {
  .heading-1 {
    font-size: 30px;
  }
}

Message

@mixin message red;

Input

@mixin input $background, $color, $colorDisabled, $border, $borderFocus, $borderDisabled;

Slide Out Menu

@mixin menu-slide $menuColor, $closeColor

Right Side (default)

<div class="col-9"><h1>ClientKit</h1></div>
<div class="col-3">
  <div class="menu-slide">
    <input id="header-menu" class="menu-btn" type="checkbox" />
    <label for="header-menu"></label>
    <div class="menu-container text-right">
      <nav class="menu-header-container">
        <a href="">Menu 1</a>
        <a href="">Menu 2</a>
        <a href="">Menu 3</a>
        <a href="">Menu 4</a>
      </nav>
    </div>
  </div>
</div>

Left Side

<div class="col-plain">
  <div class="menu-slide menu-left">
    <input id="header-menu" class="menu-btn" type="checkbox" />
    <label for="header-menu"></label>
    <div class="menu-container">
      <nav class="menu-header-container">
        <a href="">Menu 1</a>
        <a href="">Menu 2</a>
        <a href="">Menu 3</a>
        <a href="">Menu 4</a>
      </nav>
    </div>
  </div>
</div>
<div class="col-11"><h1>ClientKit</h1></div>