Foundations Reference

The Foundations Reference serves as an online version of all the design components to allow both designers and developers to quickly see how a component is made both visually and library-agnostic code.

Formatting Guidelines

Date Formats

The date format is conditional depending on the region you are targeting.
When possible, use the month’s full name, for example, October.If there are space constraints, write dates numerically, for example, 30/09/22.
Names of months and weekdays are written in title case.

U.S.

Friday, September 30, 2024 [day of the week], [Month] [dd], [yyyy]
September 30, 2024 [Month] [dd], [yyyy]
09/30/2024 [mm]/[dd]/[yyyy]

International

Friday, 30 September 2024 [day of the week] [dd] [Month] [yyyy]
30 September 2024 [dd] [Month] [yyyy]
30/09/2024 [dd]/[mm]/[yyyy]

Time Formats

Time is always given in a 24-hour or 12-hour format with a colon as the hour-minute separator. Always put a leading zero for the hour so that there are always two digits for both the hour and minute units.

12-hour format

09:25 p.m. [hh]:[mm] [a.m./p.m.]

24-hour format

21:25 [hh]:[mm]

Number Labels

For label fields referring to numbers, use “#” instead of “No.” or spelling out “number”.

Bin # [Label] #

Colors

Primary Colors

Brand

Costco Blue
#005DAB
Costco Red
#E51937

Blues (Backgrounds & Accents)

Dark Blue
#002242
Costco Blue
#005DAB
Slate
#A7B8CA
Background Blue (100)
#F4F9FF

Blues (Actions)

Primary Default (500)
#3071A9
Primary Hover (700)
#2A6293
Primary Pressed (800)
#16527E

Grays

Text Dark Gray (900)
#313335
Text Gray (700)
#64686C
Disabled Text (650)
#AFAFAF
Light Gray (500)
#CCCCCC
Disabled Gray (300)
#E4E5E6
Fields Gray (150)
#F4F5F5

Whites

White
#FFFFFF
Off-white (Gray 100)
#FAFAFA

Text Colors

Dark Blue
#002242
Text Dark Gray
#313335
Text Gray
#64686C
Disabled Text
#AFAFAF

Other Colors

Success Green
#64C63B
Success Background
#DFF0D8
Error Text
#C00000
Error Background
#E4E5E6
Caution Yellow
#E58A00
Caution Background
#FFF0D2

Gradients

Background Gradient
                                        background: linear-gradient(333deg, #0094D1 -26.41%, #12329A 115.57%);
                                  
                                
Image Overlay Gradient
                                        background: linear-gradient(321deg, #0096D5 13.36%, #12329A 102.5%);
                                  
                                

Typography

Below is a type ramp displaying font sizes, line heights and weights. All of these specifications use the Roboto Font.

Desktop Type Ramp

Headline 1 Font size: 48px
Line height: 52px
Roboto • Regular
Headline 2 Font size: 32px
Line height: 40px
Roboto • Medium
Headline 3 Font size: 24px
Line height: 28px
Roboto • Medium
Headline 4 Font size: 20px
Line height: 24px
Roboto • Medium
Headline 5 Font size: 18px
Line height: 24px
Roboto • Medium
Headline 6 Font size: 16px
Line height: 20px
Roboto • Medium
Subhead 1 Font size: 22x
Line height: 30px
Roboto • Regular
Subhead 2 Font size: 18px
Line height: 22px
Roboto • Regular
Body 1 Font size: 16px
Line height: 22px
Roboto • Regular
Body 2 Font size: 14px
Line height: 20px
Roboto • Regular
Caption Font size: 12px
Line height: 16px
Roboto • Regular
OVERLINE Font size: 12px
Line height: 20px
Roboto • Medium
Button Regular Font size: 16px
Line height: 20px
Roboto • Regular

Icons and Symbols

Material Symbols

Material design system icons are simple, modern, friendly, and sometimes quirky. Each icon is created using our design guidelines to depict in simple and minimal forms the universal concepts used commonly throughout a UI. Ensuring readability and clarity at both large and small sizes, these icons have been optimized for beautiful display on all common platforms and display resolutions.

Get Started

EDS Figma

The Material Icons Library and additional icons custom created for Costco EDS are available in the Figma file and Library.
Google Fonts

See the full set of material design icons in the Material Icons Library (Filled).

Requesting an Icon

To request or submit additional icons not yet available in the design system, please fill out our feedback form and select "Icon Request" under "What is this regarding?". Please describe what you are looking for and the purpose the icon should serve.

Actions

Primary Actions

These buttons are used to house the main call to action of a module. Ideally, there should only be one primary button per module, panel, or overlay. Our buttons are flat and have a rounded corner radius of 3.

Button Base

To display buttons correctly, the Button Base must first be present.

CSS
                                /* Button Base */
.button {
  padding: 10px 40px;
  border: none;
  border-radius: 3px;
  font-family: 'Roboto', Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 125% */
  letter-spacing: 0.1px;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}

.button:hover, .button:active {
    transition: all 0.3s ease-in-out
}
  
@media (prefers-reduced-motion: reduce) {

  .button:hover,
  .button:active,
  .button:focus {
    transition: none
  }
}
                          
                        

Primary (On Light Background)

class="button btn-primary"


CSS
                                        /* Button Primary */
.btn-primary {
color: #FFFFFF;
background: #3071A9;
}
                                            
.btn-primary:hover {
color: #FFFFFF;
background: #2A6293;                                                
}
                                            
.btn-primary:active {
color: #FFFFFF;
background: #16527E;
}
                                            
.btn-primary:disabled {
color: #FFFFFF;
background: #AFAFAF;
}                  

                                

On Dark Background

class="button btn-primary-onDark"


CSS
                                        /* Button Primary on Dark */
.btn-primary-onDark {
  color: #005DAB;
  background: #FFFFFF;
}

.btn-primary-onDark:hover {
  color: #005DAB;
  background: #F9FCFF;
}

.btn-primary-onDark:active {
  color: #005DAB;
  background: #F4F9FF;
}

.btn-primary-onDark:disabled {
  color: #64686C;
  background: #E4E5E6;
}
                                  
                                

Secondary Actions

Secondary actions give users an alternative action to the primary button. They consist of a thin border with no fill (with the exception of the interactive states). There can be multiple secondary buttons within a module, but must be acompanied by a primary button.

Button Base

To display buttons correctly, the Button Base must first be present.

Secondary (On Light Background)

class="button btn-secondary"


CSS
                                        /* Button Secondary */
.btn-secondary {
padding: 10px 32px;
color: #005DAB;
background: none;
border: 2px solid #005DAB;
}
                                            
.btn-secondary:hover {
color: #005DAB;
background: #F4F9FF;                                       
}
                                            
.btn-secondary:active {
color: #005DAB;
background: #E9F1FB;
}
                                            
.btn-secondary:disabled {
color: #AFAFAF;
background: none;
border: 2px solid #AFAFAF;
}

                                

On Dark Background

class="button btn-secondary-onDark"


CSS
                                        /* Button Secondary on Dark */
.btn-secondary-onDark {
padding: 10px 32px;
color: #FFF;
background: none;
border: 2px solid #FFF;
}
                                            
.btn-secondary-onDark:hover {
color: #FFF;
background: rgba(244, 249, 255, 0.20);
}
                                            
.btn-secondary-onDark:active {
color: #FFF;
background: rgba(233, 241, 251, 0.20);
}
                                            
.btn-secondary-onDark:disabled {
color: #AFAFAF;
background: none;
border: 2px solid #AFAFAF;
}
                                  
                                

Brand & Logos

Logo & App Title

App Title

Overview


While you will often see Costco sites and applications bearing just the “Costco Wholesale” logo, as the number of internal and external applications continues to expand, it is important to specify to the user which applications they are currently using. This is done by adding each app title to the logo.

Examples


Sometimes titles need to be specific, like the “Supply Chain Mapping” example. Other times, the name of a department or division will do such as “Depot” or “NEXT”.

Legacy Logos


When transitioning from a legacy platform that uses a custom logo, it may be retained for a period of transition. These are examples of how this should and shouldn’t be done. Costco Blue should be used for for any symbol and text logos. Symbols of legacy logos must remain shorter than the separator. Also note that horizontal margins between the separator and logos should remain equal.

Margins & Sizing


A minimum margin of space equivalent to the height of three blue bars and the white outline (see X) must remain around the logo. To ensure quality reproduction, our logo must be a minimum width. For use on the Web, the logo must be a minimum of 100 pixels wide. This width does not include the white outline.

Preparing an App Logo

There are multiple ways to prepare your app's logo.
Option 1: Export from Figma File
  1. Select the logo with title inside of the Figma file you are working with.
  2. On the right-hand sidebar, expand the 'Export' section, if not already.
  3. Select the appropriate file type, usually SVG.
  4. Click 'Export'
Option 2: Adobe Illustrator
  1. Make sure you have the Roboto Font installed locally on your machine.
  2. Open the logo.svg file in Adobe Illustrator
  3. Using the 'Text' tool, modify the "App Title Here" text to your tool or application name.
  4. Navigate to 'File', 'Save As', give your file a name, ensure "SVG" is the filetype selected, and press 'Save'.
  5. This should trigger the 'SVG Options' dialog (see image above). Under 'Fonts' and 'Type' select "Convert to outline". Click 'OK'.
Option 3: Editing SVG Code
This Option is Experimental
Spacing and rendering bugs have been reported while using this method.
Additional testing across browsers and systems is required when using this option.
  1. Using the text editor of your choice, open logo.svg.
  2. On line 10, under the "EDIT TITLE HERE" comment, you'll find the text "App Title Here".
  3. Replace "App Title Here" with your app or tool's name.
  4. Save.

Favicon



Downloads

Download PNG (256px)
Download ICO (64px)
Download SVG (vector)