Variables

Variables are defined in _variables.scss in the cgu-core root directory. While not all of them will be documented here, below are some of the more important/far-reaching ones:

Structure

$max-width: rem(1040) !global;
// Defines max-width of page content. Used by .u-container utility class.

$grid-columns: 12 !global;
// Total number of grid columns. 
// This is an override to Neat's grid system which defaults to 8.

$container_padding: 20px;
// The left and right padding for page containers. 
// Used primarily by .u-container utility class.

$sm: 500px;
$md: 768px;
$lg: 1000px;
$xl: 1500px;
// Shorthand for the most common breakpoints of the site.

$xl-multiplier: 1.125;
// At the $xl breakpoint, content is scaled up according to this number.
// To see how this works, refer to the html{...} declaration in /base/typography.scss.

Available Colors

// Primary
$red: #af1e27;
$dark_red: darken( $red, 15% );

// Neutrals
$dark_gray: #5D615A;
$alt_gray: #58585A;
$medium_gray: #767676;
$light_gray: #D7D3CD;
$lighter_gray: #E0E0DF;
$lightest_gray: tint( $light_gray, 80% );

// Warms
$yellow: #F3C108;
$light_yellow: tint( $yellow, 70% );
$green: #ADC32B;
$light_green: tint( $green, 70% );
$dark_green: #5C6E0E;

// Neutrals
$tan: #9F9371;

// Cools
$navy: #041E4F;
$blue: #004675;
$light_blue: #00A7CE;
$lightest_blue: tint( $light_blue, 80% );
$teal: #3F8892;
$light_teal: tint( $teal, 50% );
$dark_teal: #0D474F;

Typography

$gotham: "Gotham SSm A", "Gotham SSm B", "Gotham", "Arial", sans-serif;
$gotham_narrow: "Gotham Narrow SSm A", "Gotham Narrow SSm B", "GothamNarrow-Book", "Arial", sans-serif;
$mercury: "Mercury SSm A", "Mercury SSm B", "Mercury", "Georgia", serif;
$font_code: "Menlo", monospace;
$font_pre: "Menlo", monospace;
$leading: 1.5rem;
$font_line_height_pre: 1.6rem;

 

Mixins

Mixins are defined in _mixins.scss in the cgu-core root directory.

Media Queries

// Media Queries
// Shorthand for media queries. Specify $size in px or em units.
@mixin media($size) {
  @media screen and (min-width: $size) {
    @content;
  }
}

Overlays

// Overlays
// Uses the :before pseudo element to darken a container.
// Usually used in instances where there is text over image.
@mixin overlay-shaded {
  &:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background-color: rgba(black, 0.45);
  @include transition(all 300ms ease);
 }

Buttons

// Buttons
// Provides button styles to an element.
@mixin button {
  border: 1px solid $color_button_default;
  border-radius: 0;
  background-color: rgba( white, 0.25 );
  box-shadow: none;
  color: $color_button_default;
  display: inline-block;
  font-family: $gotham;
  font-weight: 500;
  font-size: rem(14);
  padding: 1.25em 2.5em;
  line-height: 1em;
  text-shadow: none;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  @include appearance(none);
  @include transition(all 300ms ease);
  &:hover, &:focus {
    border-color: $color_button_hover;
    background-color: $color_button_hover;
    color: white;
  }
  &:focus {
    outline: none;
  }
}

Inverse Buttons

// Inverse Buttons
// Inverse colors for use on darker backgrounds
@mixin button--inverse {
 @include button;
 border-color: white;
 color: white;
 background-color: rgba( black, 0.5 );
 &:hover, &:focus {
 border-color: $color_button_hover;
 color: white;
 background-color: $color_button_hover;
 }
}

Reset Omega

// Reset last child in grid
// $i: specify a child (e.g. 3) or a function (3n).
@mixin reset-omega($i) {
 &:nth-child( #{$i} ) { margin-right: flex-gutter($grid-columns); }
 &:nth-child( #{$i}+1) { clear: none; }
}
// For use with Neat column mixins. Resets the margin-right property for specified elements.
// This is particularly handy when you are changing the number of items per row at a 
// certain breakpoint. See the Neat docs for information on their grid mixins.
// http://neat.bourbon.io

 

Functions

Functions are defined in _functions.scss. There are a number of functions found in this file but they all support the color_contrast() function, which compares two hex values and returns a color contrast number according to the WCAG specificiation. This is useful in making sure that text and backgrounds have enough contrast to fulfill accessibility standards.

Color Contrast

@function color_contrast($color1, $color2) {
 $luminance1: color_luminance($color1) + .05;
 $luminance2: color_luminance($color2) + .05;
 $ratio: $luminance1 / $luminance2;

 @if $luminance2 > $luminance1 {
 $ratio: 1 / $ratio;
 }

 $ratio: round($ratio * 10) / 10;

 @return $ratio;
}