Hover states for each color can be accessed as @color-hover.
P R I M A R Y
S E C O N D A R Y
// Colors
@brand-highlight: #0099FF;
@brand-affirmative: #159867;
@brand-highlight-hover: lighten(@brand-highlight, 10%);
@brand-affirmative-hover: lighten(@brand-affirmative, 10%);
@gray0: #333333;
@gray1: #4E4E4E;
@gray2: #666666;
@gray3: #A4A4A4;
@gray4: #C1C1C1;
@gray5: #D9D9D9;
@gray6: #E6E6E6;
@gray7: #F1F1F1;
@gray0-hover: lighten(@gray0, 10%);
@gray1-hover: lighten(@gray1, 10%);
@gray2-hover: lighten(@gray2, 10%);
@gray3-hover: lighten(@gray3, 10%);
@gray4-hover: lighten(@gray4, 10%);
@gray5-hover: lighten(@gray5, 10%);
@gray6-hover: lighten(@gray6, 10%);
@gray7-hover: lighten(@gray7, 10%);
// category specific colors
@photography-color: #193b4c;
@photo-color: @photography-color; // Deprecated, use @photography-color
@design-color: #b11b56;
@audio-color: #df7915;
@craft-color: #1f9b97;
@business-color: #619020;
@other-color: #4a4d5b;
// category specific colors lighter version
@photo-color2: #387189;
@design-color2: #dd578d;
@audio-color2: #ea9037;
@craft-color2: #3dc2c1;
@business-color2: #8fba3c;
@other-color2: #73757d;
@alert-info-text: #00a0fe;
@alert-info-bg: #e5f2ff;
@alert-info-close: #c0e2ff;
.brand-highlight {
color: @brand-highlight;
}
.brand-affirmative {
color: @brand-affirmative;
}
.gray0 {
color: @gray0;
}
.gray1 {
color: @gray1;
}
.gray2 {
color: @gray2;
}
.gray3 {
color: @gray3;
}
.gray4 {
color: @gray4;
}
.gray5 {
color: @gray5;
}
.gray6 {
color: @gray6;
}
.gray7 {
color: @gray7;
}
.vertical-bg-photography {
background-color: @photography-color;
}
.vertical-bg-design {
background-color: @design-color;
}
.vertical-bg-audio {
background-color: @audio-color;
}
.vertical-bg-craft {
background-color: @craft-color;
}
.vertical-bg-business {
background-color: @business-color;
}
.vertical-bd-photography {
border-color: @photography-color;
}
.vertical-bd-design {
border-color: @design-color;
}
.vertical-bd-audio {
border-color: @audio-color;
}
.vertical-bd-craft {
border-color: @craft-color;
}
.vertical-bd-business {
border-color: @business-color;
}
We use Gotham for body text and Sacramento as a highlight. Sacramento should be used sparingly as a grace note.
Name | Appearance |
---|---|
h1 | Sample text |
h2 | Sample text |
h3 | Sample text |
h4 | Sample text |
p | Sample text |
.info1 | Sample text |
.info2 | Sample text |
.cta | Sample text |
.cta2 | Sample text |
.smalltext | Sample text |
.tinytext | Sample text |
// Typography
@font-family-brand: 'Gotham SSm A', 'Gotham SSm B', Helvetica;
@font-family-cursive: 'Sacramento', cursive;
@font-family-primary: "Helvetica Neue", Helvetica, Arial, 'Lucida Grande', sans-serif;
@font-family-icon: "cl-font-collection";
@font-size-xxl: 38px;
@font-size-xl: 30px;
@font-size-l: 24px;
@font-size-m: 18px;
@font-size-s: 14px;
@font-size-xs: 12px;
@font-weight-heavy: 700;
@font-weight-medium: 400;
@font-weight-light: 200;
.cl-new {
font-family: @font-family-brand;
font-weight: 300;
font-style: normal;
letter-spacing: 0px;
color: @black;
h1 {
font-family: @font-family-brand;
font-weight: 300;
font-style: normal;
font-size: 35px;
color: @black;
letter-spacing: -1px;
margin-top: 0px;
}
h2 {
font-family: @font-family-brand;
font-weight: 200;
font-style: normal;
font-size: @font-size-xl;
letter-spacing: 0px;
text-transform: lowercase;
margin-top: 0;
color: @gray3;
}
h3 {
font-family: @font-family-brand;
font-weight: 300;
font-style: normal;
font-size: @font-size-l;
color: @black;
letter-spacing: 1px;
text-transform: uppercase;
margin-top: 0px;
}
h4 {
font-family: @font-family-brand;
font-weight: 500;
font-style: normal;
font-size: @font-size-m;
color: @black;
letter-spacing: 0px;
}
h5 {
font-family: @font-family-brand;
font-style: normal;
color: @black;
letter-spacing: 0px;
}
p {
font-family: @font-family-brand;
font-weight: 300;
font-style: normal;
font-size: @font-size-s;
letter-spacing: 0px;
}
div {
font-family: @font-family-brand;
font-weight: 300;
font-style: normal;
letter-spacing: 0px;
}
.info1 {
font-family: @font-family-brand;
font-weight: 300;
font-style: normal;
font-size: @font-size-l;
color: @black;
letter-spacing: 0px;
line-height: 28px;
}
.info2 {
font-family: @font-family-brand;
font-weight: 400;
font-style: normal;
font-size: @font-size-m;
color: @black;
letter-spacing: 0px;
}
.cta {
font-family: @font-family-brand;
font-weight: 500;
font-style: normal;
font-size: @font-size-m;
color: white;
letter-spacing: 1px;
}
.cta2 {
font-family: @font-family-brand;
font-weight: 500;
font-style: normal;
font-size: @font-size-xs;
color: white;
letter-spacing: 1px;
}
.smalltext {
font-family: @font-family-brand;
font-weight: 500;
font-style: normal;
font-size: @font-size-xs;
color: @black;
letter-spacing: 1px;
}
.tinytext {
font-family: @font-family-brand;
font-weight: 300;
font-style: normal;
font-size: 10px;
color: @black;
letter-spacing: 0px;
line-height: 28px;
}
}
.cl-dark {
color: @white;
h1, h3, h4, h5, .info1, .info2, .smalltext, .tinytext {
color: @white;
}
}
.text-uppercase {
text-transform: uppercase;
}
// Import Gotham Font
@import url(//cloud.typography.com/7354872/708964/css/fonts.css);
// Import Sacramento Font.
@import url(//fonts.googleapis.com/css?family=Sacramento);
Consistent spacing gives us lines cleaner than a Lambo.
Spacing of page elements is based primarily upon Bootstrap's grid system. For a thorough description, view the Bootstrap Grid Style Guide.
This example shows a grid adapted for mobile, tablet, and desktop. As you resize your window you will see the columns shift. Additionally, note that the borders of the box extend past the rule of the style guide heading. This is intentional, as cell's within the grid have their content correctly aligned with that rule.
For another example, lets look at a design of the conference page. The columns bump right next to eachother. The columns themselves have 15px padding, which means the empty space between the content will be 30px.
We've got some predefined CSS classes which provide options for moving things around.
// Layout
// Margin center
.margin-0-auto {
margin: 0 auto;
}
// Position helpers
.static {
position: static;
}
.fixed {
position: fixed;
}
.relative {
position: relative;
}
.absolute {
position: absolute;
}
.list-unstyled {
ul {
list-style: none;
}
}
// Container should always max at 1005px, instead of bootstrap default.
@media (min-width: @screen-tablet) {
.container {
max-width: 1005px;
}
}
/*
The following code is used to generate the CSS classes you see
above. Due to a bug in Less which prevents generated classes
from being extended, we must first generate the CSS and then
paste that into our Less file.
.layout(5px, s);
.layout(10px, m);
.layout(15px, l);
.layout(30px, xl);
.layout(0px, none);
.layout(@n, @size) {
.pad-@{size} {padding: @n}
.margin-@{size} {margin: @n}
.sidesLoop(1, @n);
}
.sidesLoop(@i, @n) when (@i =< 4) {
.side(@i);
.sidesLoop(@i + 1, @n);
}
.side(@i) when (@i = 1) {
.pad-top-@{size} {padding-top: @n}
.margin-top-@{size} {margin-top: @n}
}
.side(@i) when (@i = 2) {
.pad-right-@{size} {padding-right: @n}
.margin-right-@{size} {margin-right: @n}
}
.side(@i) when (@i = 3) {
.pad-bottom-@{size} {padding-bottom: @n}
.margin-bottom-@{size} {margin-bottom: @n}
}
.side(@i) when (@i = 4) {
.pad-left-@{size} {padding-left: @n}
.margin-left-@{size} {margin-left: @n}
}
*/
.auto-grid(@class, @columns, @gutter) when (@columns > 1) {
.@{class}:first-child:nth-last-child(@{columns}),
.@{class}:first-child:nth-last-child(@{columns}) ~ .@{class} {
width: 100% / @columns - @gutter;
}
.auto-grid(@class, @columns - 1, @gutter);
}
.auto-grid(@class, @columns, @gutter) when (@columns = 1) {
.@{class}:first-child:nth-last-child(1) {
width: 100% - @gutter;
}
}
Use symbols, not language, to communicate (unlike this sentence).
In order to relay our brand feel we've created an icon set thats unique to CreativeLive. In order to properly include these icons into your page add the css class .cl-icon-font
along with the specific icon class you wish to include.
<i class='cl-icon-font cl-icon-photography'></i>
Supplementally we use Font Awesome to access a rich set of icons that scale well to any screen size, are easily loaded on the page, and decrease page load time. For the complete set of icons, see the Font Awesome Icon Library. We have predefined sizes for these icons.
Use color classes to color an icon to your liking.
Additionally, it is very easy to rotate and flip each icon.
// Icon Font: cl-font-collection
.cl-icon-font {
display: inline-block;
font-family: "cl-font-collection";
-webkit-font-smoothing: antialiased;
font-smoothing: antialiased;
font-style: normal;
font-weight: normal;
line-height: 1;
text-decoration: inherit;
text-rendering: optimizeLegibility;
text-transform: none;
font-variant: normal;
-moz-osx-font-smoothing: grayscale;
}
// Remove user highlighting for icons
i {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none; // IE10+
-o-user-select: none;
user-select: none;
}
// Icons
.cl-icon-chat:before {
content: "\f1ca";
}
.cl-icon-media:before {
content: "\f1cb";
}
.cl-icon-questions:before {
content: "\f1cc";
}
.cl-icon-arrows-left:before {
content: "\f1c6";
}
.cl-icon-arrows-right:before {
content: "\f1c7";
}
.cl-icon-audio:before {
content: "\f1a0";
}
.cl-icon-block-a:before {
content: "\41";
}
.cl-icon-block-c:before {
content: "\43";
}
.cl-icon-block-e:before {
content: "\45";
}
.cl-icon-block-i:before {
content: "\49";
}
.cl-icon-block-l:before {
content: "\4c";
}
.cl-icon-block-logo-horizontal:before {
content: "\f1c3";
}
.cl-icon-block-logo-vertical:before {
content: "\f1c4";
}
.cl-icon-block-quotes-end:before {
content: "\f1b4";
}
.cl-icon-block-quotes-start:before {
content: "\f1b5";
}
.cl-icon-block-r:before {
content: "\52";
}
.cl-icon-block-t:before {
content: "\54";
}
.cl-icon-block-v:before {
content: "\56";
}
.cl-icon-business:before {
content: "\f1b6";
}
.cl-icon-calendar-add:before {
content: "\f1b7";
}
.cl-icon-calendar-date:before {
content: "\f1b8";
}
.cl-icon-calendar-plus:before {
content: "\f1b9";
}
.cl-icon-clock:before {
content: "\f1ba";
}
.cl-icon-cloud:before {
content: "\f1c8";
}
.cl-icon-design:before {
content: "\f1bb";
}
.cl-icon-education:before {
content: "\f1bc";
}
.cl-icon-five-tabs:before {
content: "\f1bd";
}
.cl-icon-grid:before {
content: "\f1c9";
}
.cl-icon-craft:before {
content: "\f1be";
}
.cl-icon-outline-a:before {
content: "\61";
}
.cl-icon-outline-c:before {
content: "\63";
}
.cl-icon-outline-e:before {
content: "\65";
}
.cl-icon-outline-i:before {
content: "\69";
}
.cl-icon-outline-l:before {
content: "\6c";
}
.cl-icon-outline-logo-vertical:before {
content: "\f1c5";
}
.cl-icon-outline-quotes-end:before {
content: "\f1bf";
}
.cl-icon-outline-quotes-start:before {
content: "\f1c0";
}
.cl-icon-outline-r:before {
content: "\72";
}
.cl-icon-outline-t:before {
content: "\74";
}
.cl-icon-outline-v:before {
content: "\76";
}
.cl-icon-photography:before,
.cl-icon-photo:before {
content: "\f1c1";
}
@font-face {
font-family: "cl-font-collection";
src: url("../../font/styles/cl-font-collection6.eot");
src: url("../../font/styles/cl-font-collection6.eot?#iefix") format("embedded-opentype"),
url("../../font/styles/cl-font-collection6.woff") format("woff"),
url("../../font/styles/cl-font-collection6.ttf") format("truetype"),
url("../../font/styles/cl-font-collection6.svg#cl-font-collection") format("svg");
font-weight: normal;
font-style: normal;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
@font-face {
font-family: "cl-font-collection";
src: url("../../font/styles/cl-font-collection6.svg#cl-font-collection") format("svg");
}
}
Here a click, there a click, everywhere a click click
Our pictures are worth two thousand words...
Though its not foolproof, a general rule of thumb is: if an image is a photograph, it should be a jpeg. If an image was created purely on a computer, it should be a png. Using the correct file format can greatly reduce file size, while keeping a high quality image. In nearly every case, you should not need to use a gif.
The correct file size for an image is: as small as the image can be without being detrimental to user experience. For our largest images, a 1600x900 image should be around 350K. A 950x390 image should be around 90K. A 310x175 image should be around 10K.
Note that this only applies to images which are displayed on the site directly. Images which appear in course material can ignore these guidelines.
// Images
img {
max-width: 100%;
height: auto;
}
Links are the life of the web, spiders love 'em too
By default we don't have underlines, and we use two colors to distinguish when hovered over. We use a liberal amount of hot pink to spice things up.
// Links
a {
color: @brand-highlight;
}
a.black {
color: @black;
}
a.anchor, a.anchor:hover {
color: @black;
cursor: default;
}
The credit card box needs to look shiny.
HTML 5 supports many different types of form inputs: text, password, email, etc. And so do we.
<input class="form-control" type='text' placeholder='Username' />
<input class="form-control" type='password' placeholder='Password' />
// Inputs
.form-control {
border-radius: 0;
}