Components

Accordions

Accordions

Hides or shows information based on user action.

Examples

Code
					
<h3>
	<button type="button" class="accordionHeader displayFlex flexNoWrap flexAlignItemsCenter flexSpaceBetween text18 textSemiBold padding10 bkgdLtGray fullWidth darkestLink pointer" aria-expanded="false" aria-controls="SaleSection">
		<span class="marginRight15">Accordion Header Text</span>
		<svg class="arrowIcon" height="20px" width="20px" aria-hidden="true" focusable="false"><use xlink:href="#svgIcon-arrowSolid"></use></svg>
	</button>
</h3>
<div id="SaleSection" class="accordionPanel" aria-hidden="true">
	<div class="borderMdGray padding10">
		<p>Here is some content in my accordion - Whoop! Whoop!</p>
	</div>
</div>        			
					
				
Notes

Please feel free to change the color of your accordion header.

Resources

Sass File(s)/sass/components/_accordion.scss
JS File(s)/library/accordions2021.js
JS FunctionsAccordion Javascript
Locale KeysNone

Accessibility

None at this time.

Alerts

Alert Boxes

Alert boxes have a yellow warning background with text and an icon that help the customer see specific information.

Examples

Your order is not complete until you click the 'Place Order' button.
Once you've completed checking out, an option is provided to upload your art file(s). Remember, your Customer Service Representative will always contact you to confirm your order details before it goes into production.

You are editing a reorder.
Making changes to imprint color(s) or location(s) may incur extra charges.
Extra Charges $445.00

Code
					
<div class="alertBoxFlex displayFlex flexNoWrap">
	<svg class="alertBulb" height="25px" width="25px" aria-hidden="true"><use xlink:href="#svgIcon-hint"></use></svg>
	<p class="alertText">
		<span class="textSemiBold">Your order is not complete until you click the 'Place Order' button.</span><br />
		Once you've completed checking out, an option is provided to upload your art file(s).
		Remember, your Customer Service Representative will always contact you to confirm your order details before it goes into production.<br />
	</p>
</div>
					
				
Notes

To make your alert box have red text & icon add the alertWarning class to the alertBoxFlex div and follow the accessibility rules below.

Resources

Sass File(s)/sass/components/_alertbox.scss
JS File(s)None Required
JS FunctionsNone
Locale KeysNone

Accessibility

If adding the alertWarning class, you must also add the following to ensure the warning text is read immediately to the user via screen reader:

  • aria-role="alert"
  • aria-atomic="true"

Mall/Super Group Banners

Malls/Super Groups have 3 different options that can include a photo, h2 and paragraphs.

Examples

Apparel

Outfit your team with custom imprinted apparel!

Promotional Clothing that includes, tshirts, fleece jackets, polos and dress shirts

Business Gifts

Show your appreciation for a job well done!

Business Gifts that includes a wireless speaker, blanket, tumbler and playing cards

Thank them for a job well done!

Human Resources

Promotional products that includes a backpack, notebook, pen and mug

Custom human resources gifts can welcome, thank, reward or show appreciation to your employees or prospective hires! You’ll find thoughtfully selected, time-tested HR gifts they’ll love, at prices YOU’LL love!

Lg Photo Code
					
<div class="textDarkestGray tinySpace" aria-labelledby="apparelHdr">
	<div class="displayFlex flexSpaceBetween flexAlignItemsCenter">
		<h1 id="apparelHdr" class="text30 textNormal c-sm-quarter-2 c-xs-full">Apparel</h1>
		<p class="text20 c-sm-quarter-2 c-xs-full"><span class="textBold">Outfit your team</span> with custom imprinted apparel!</p>
	</div>
	<picture>
		<source srcset="//cdn.4imprint.com/qtz/headers/supergroups/1/img/apparel23.webp" type="image/webp">
		<source srcset="//cdn.4imprint.com/qtz/headers/supergroups/1/img/apparel23.jpg" type="image/jpeg">
		<img class="responsiveImg layoutCenter" src="//cdn.4imprint.com/qtz/headers/supergroups/1/img/apparel23.jpg" alt="Promotional Clothing that includes, tshirts, fleece jackets, polos and dress shirts" width="1100" height="270">
	</picture>
</div>
					
				
Headline Code
					
<div class="textDarkestGray tinySpace" aria-labelledby="giftsHdr">
	<div class="displayFlex flexSpaceBetween flexAlignItemsCenter">
		<h1 id="giftsHdr" class="text30 textNormal c-sm-quarter-2 c-xs-full">Business Gifts</h1>
		<p class="text20 c-sm-quarter-2 c-xs-full"><span class="textBold">Show your appreciation</span> job well done!</p>
	</div>
	<div class="displayFlex flexNoWrap flexAlignItemsCenter">
		<img src="//cdn.4imprint.com/qtz/headers/supergroups/123/img/usbusgifts082521v2.jpg" alt="Business Gifts that includes a tote, wine tumbler and cheese set" class="responsiveImg" />
		<p class="text25 hideOnMedium margin40">Thank them for a job well done!</p>
	</div>
</div>	
					
				
Paragraph Code
					
<div class="layoutCenter1500 textDarkestGray tinySpace" aria-labelledby="humanresourcesHdr">
	<h1 id="humanresourcesHdr" class="text30 textNormal">Human Resources</h1>
	<div class="displayFlex flexNoWrap flexAlignItemsCenter">
		<img src="//cdn.4imprint.com/qtz/headers/supergroups/203/img/hr1021v2.jpg" alt="Promotional products that includes a backpack, notebook, pen and mug" class="responsiveImg" />
		<p class="text20 hideOnMedium marginLeft40 marginRight40">Custom human resources gifts can welcome, thank, reward or show appreciation to your employees or prospective hires! You’ll find thoughtfully selected, time-tested HR gifts they’ll love, at prices YOU’LL love!</p>
	</div>
</div>
					
				

Resources

Sass File(s)/sass/components/_banners2022.scss
JS File(s)None Required
JS FunctionsNone
Locale KeysNone

Accessibility

Images need descriptive alt text. Example: "Six 4imprint employees wearing various apparel items such as jackets and vests".

Tag Banners

Tag pages have 4 different options that can include a photo, employees, logos and paragraphs.

Examples

Beth

Beth
with 4imprint
8 years

T-Shirts

Come to us and make your T-shirt design ideas a reality! Personalized tshirts are one of our specialties, so when you want the best selection and quality printing, order from us!

Responsible Forestry

With our Responsible Forestry selection, you can select promotional products certified by the Forest Stewardship Council (FSC) and Sustainable Forestry Initiative (SFI). Both organizations committed to taking care of our forests across the globe. Click on the Better Choices Heart/Leaf Icon to get a quick glance a the Better Choices attributes for each product.

Quench your thirst with Refresh products

RefreshRefresh Brand Products

A cool way to invigorate your brand, Refresh® water bottles and cooler bags are a healthy addition to your marketing lineup! These products are exclusive only to 4imprint customers!

4imprint employees holding our exclusive products

Briana  with
4imprint 6 years

Felma  with
4imprint 3 years

Daniel  with
4imprint 5 years

Exclusive brands, noteworthy designs and trending products you won't find anywhere else.

Only at 4imprint.

Code
					
<#head#>
	<#h1tagname#>T-Shirts<#/h1tagname#>
	<#bannerparagraph#>
		Come to us and make your T-shirt design ideas a reality! Personalized tshirts are one of our specialties, so when you want the best selection and quality printing, order from us!
	<#/bannerparagraph#>
<#/head#>
<#below#>
	<#lowerSeoCopy#>
	<#/lowerSeoCopy#>
	<#empTipCopy#>
		When you want to design and make your own shirt for your business or group, 4imprint is the place to come! No matter what logo or design you want to put on a T-shirt, we are going to make sure that it's perfect! We make it so easy to create your own promotional tshirts, because they are still one of the most effective advertising tools (whether you are promoting your band at a concert, handing out printed tees at a charity run/walk event or having a fundraiser for your athletic booster club). We take pride in our bulk or wholesale T-shirt printing, and since we have been doing it for so long, we are darned good at it! We have dozens of artists in our Art Department who stand ready to take your design ideas and turn them into beautiful logos or messages for your business, class reunion, humane society--the sky's the limit! Our certainty guarantee means that if you are not satisfied for any reason, we'll make it right! With our bulk t shirt printing prices, the more you order, the lower your price per shirt, so plan ahead and order plenty for your future needs in order to save money in the long run! And our patented Glide™ pricing tool allows you to select the exact quantity of branded tshirts you want for the best deals around!
	<#/empTipCopy#>
<#/below#>
					
				
Notes

To show tag links, "Show on Header" must be checked in Muse Menu Manager.

If there is no paragraph text, empty bannerparagraph tag must still exist in file (keep opening and closing tag on seperate lines).

DO NOT use <span> within the h1.

There is no need to use heading and <p> tags.

If the h1 tag contains a logo, the employee tip area will need to contain hard code instead of the template (Example: Tag 6657)

Logo Code (Tag 7247)
					
<#head#>
<div id="flexBanner" class="displayFlex slantRight">
	<div class="flexBannerLeft bcLogo">		
		<svg height="45px" width="150px" role="img" aria-label="Better Choices"><title>Better Choices</title><use xlink:href="#svgLogo-betterChoices"></use></svg>
	</div>
	<div class="flexBannerMid displayFlex">
		<h1 class="text30 textNormal displayFlex flexAlignItemsCenter">Responsible Forestry</h1>
		<p class="bcIcon text16">With our Responsible Forestry selection, you can select promotional products certified by the Forest Stewardship Council (FSC) and Sustainable Forestry Initiative (SFI). Both organizations committed to taking care of our forests across the globe. Click on the <svg class="inlineMiddle" height="25px" width="25px" role="img" aria-label="Better Choices Heart/Leaf Icon"><title>Better Choices Heart/Leaf Icon</title><use xlink:href="#svgIcon-betterChoices"></use></svg> to get a quick glance a the Better Choices attributes for each product.</p>
	</div>
	<#categorymenu#><#/categorymenu#>
</div>
<#/head#>
					
				

Custom Photo Code

					
<div id="flexBanner" class="displayFlex slantRight">
	<div class="flexBannerLeft bkgdImage">
		<picture>
			<source srcset="//cdn.4imprint.com/qtz/headers/tags/6658/images/refreshbkgd2019.webp" type="image/webp">
			<source srcset="//cdn.4imprint.com/qtz/headers/tags/6658/images/refreshbkgd2019.jpg" type="image/jpeg">
			<img class="show" src="//cdn.4imprint.com/qtz/headers/tags/6658/images/refreshbkgd2019.jpg" alt="Quench your thirst with Refresh products" width="600" height="180">
		</picture>
	</div>
	<div class="flexBannerMid displayFlex">
		<h1 class="text30 textNormal displayFlex flexAlignItemsCenter"><span class="visually-hidden">Refresh</span><img class="marginRight10" src="//cdn.4imprint.com/qtz/logos/svg/brands/nobkgd/refresh.svg" alt="Refresh" width="125" height="26" /> Brand Products</h1>
		<p class="text16">A cool way to invigorate your brand, Refresh<sup>®</sup> water bottles and cooler bags are a healthy addition to your marketing lineup! These products are exclusive only to 4imprint customers!</p>
	</div>
</div>
					
				
Custom Emp Code
					
<div id="flexBanner" class="displayFlex slantRight">
	<div class="flexBannerLeft">
		<div class="flexAlignItemsFlexEnd flexNoWrap hideOnMedFlex text16"> 
			<picture>
				<source srcset="//cdn.4imprint.com/qtz/headers/tags/3/img/exclusive2022.webp" type="image/webp">
				<source srcset="//cdn.4imprint.com/qtz/headers/tags/3/img/exclusive2022.png" type="image/png"> 
				<img class="show" src="//cdn.4imprint.com/qtz/headers/tags/3/img/exclusive2022.png" alt="4imprint employees holding our exclusive products" width="" height="180">
			</picture>
		</div>
		<p class="text14">
			<span class="text20 scriptFont">Briana</span>  with<br />4imprint 6 years<br/><br/>
			<span class="text20 scriptFont">Felma</span>  with<br />4imprint 3 year<br/><br/>
			<span class="text20 scriptFont">Daniel</span>  with<br />4imprint 5 years
		</p>
	</div>
	<div class="flexBannerMid displayFlex">
		<h1 class="text20 textNormal marginBtm5"><span class="textSemiBold">Exclusive</span> brands, noteworthy designs and trending products you won't find anywhere else.</h1>
		<p class="text30 textSemiBold">Only at 4imprint.</p>
	</div>
</div>
					
				

Resources

Sass File(s)/sass/components/_banners2022.scss
JS File(s)None Required
JS FunctionsNone
Locale KeysNone

Accessibility

Images need descriptive alt text. Example: "Six 4imprint employees wearing various apparel items such as jackets and vests".

Brand Banner

Used for brands such as North Face and Under Armour.

Example

The North Face

Your logo on The North Face Branded Apparel

Code
					
<div class="displayFlex textDarkestGray bkgdLtGray paddingTop10 paddingBtm10 marginTop10 marginBtm10">
	<div class="displayFlex flexRow flexNoWrap flexAlignItemsCenter layoutCenter">
		<img src="//cdn.4imprint.com/qtz/headers/tags/6736/images/the_north_face_logo.svg" height="80" width="80" class="hideOnMedium margin20" alt="The North Face">
		<h1 class="textNormal text25">Your logo on The North Face Branded Apparel</span></h1>
	</div>	
</div>
					
				
Notes

MUST get pre-approval from merchandising.

Resources

Sass File(s)/sass/components/_banners2022.scss
JS File(s)None Required
JS FunctionsNone
Locale KeysNone

Accessibility

None at this time

Holiday Deadline Banner

Only added below the 24 hour tag banners during the holidays to highlight shipping deadlines.

Example

HOLIDAY INFO:

Due to shipping volumes during the holiday season, to ensure delivery by December 22, we highly recommend placing your order on or by Tuesday, December 19, 2023, using Next Day Air shipping. If you need assistance or have any questions about delivery for the holidays, please call customer service.

Note: Some 24-hour store items may not be available from December 21 to January 3. For assistance with orders in this period, please call customer service.

Code
					
<section aria-labelledby="holidayHdr" class="layoutCenter1500 flexAlignItemsCenter borderDkRed textDarkestGray displayFlex padding10 margin10 roundCorners3">
	<div class="padding5 text16">
		<h2 id="holidayHdr" class="textDkRed">HOLIDAY INFO:</h2>
	</div>
	<p>Due to shipping volumes during the holiday season, to ensure <span class="textSemiBold">delivery by December 22</span>, we highly recommend placing your order on or by Tuesday, December 19, 2023, using Next Day Air shipping. If you need assistance or have any questions about delivery for the holidays, please call customer service.</p>
	<p class="marginTop10">Note: Some <span class="textSemiBold">24-hour store items may not be available from December 21 to January 3</span>. For assistance with orders in this period, please call customer service.</p>
</section>
					
				
Notes

Marketing will let us know when to place this banner and what info needs updating.

Resources

Sass File(s)/sass/components/_banners2022.scss
JS File(s)None Required
JS FunctionsNone
Locale KeysNone

Accessibility

None at this time

SEO & Tips

SEO text and the tips appear at the bottom of tag/supergroup/taggroup pages to support search results.

Examples

Single Tip Template

24-Hour Promotional Products

If you need branded promo items and accessories in a hurry, 4imprint is here to help! We offer thousands of 24-hour-turnaround promotional items that can be shipped the next day after art approval (excluding weekends and holidays). Overnight promotional items are a sure way to get brand-building products fast, whether it’s because an event was added on short notice, you realized you don’t have enough giveaways for an upcoming trade show, or another plan fell through at the last minute.

Whatever the reason for your emergency needs, we can ease your mind and make sure your event is a success just in the nick of time. For an added $40 fee, we’ll send your order through our priority art design and approval processes with the same high-quality result as a regular order. You get the same professional imprinting work as well for impressive messaging that is artfully applied. There are no hidden charges and no corners cut — just a quicker turnaround so your organization can put its best foot forward.

When you “needed it yesterday,” order it today and get it shipped tomorrow with our 24-hour service! Not all promotional items we sell offer this service — look for products that list "24 hr" in the product name or check out the items on this page. While we can produce these items with your logo professionally printed in one day, shipping services are beyond our control. But we will make every effort possible to meet your tight deadlines and get your branded mugs, totes, pens, notebooks and other eye-catching promo swag to you at lightning speed and on time for your event!

Code
					
<#below#>
	<#lowerSeoCopy#>
		<h2 class="marginTop10">Additional Copy Heading</h2>
		<p>Additional Copy. Enter copy here if there is additional seo copy beyond the tips. This will appear above the tips at the bottom of the page. You can include any html here (h2, p, span).</p>
	<#/lowerSeoCopy#>
	<#empTipCopy#>
		 Single tip copy here. Tip copy section is already pre-styled within template/css. Can include additional spans for styling but only if needed.
	<#/empTipCopy#>
<#/below#>
					
				
Notes

None.

Multi Tip Template
Documentation on templating the word doc from Marketing

Examples:
Templatable file: tag/110
Untemplatable file: sgroup/4

Ready to serve up a memorable impression? Custom drinkware keeps your brand piping hot or completely cool, based on the medium, beverage and occasion.

Hikes requiring hydration, sipping a fine wine and waking up with a cup of coffee all have one thing in common: a place and occasion for introducing your brand with customized drinkware.

  • Drinkware is one of the most popular promotional products, especially among Gen Z consumers wanting to reduce waste and make more environmentally friendly choices.
  • They’re made for everyday use: from getting in eight glasses of water daily, to coffee at the office, on long trips and at after-work gym sessions
  • Great for giveaways, including contests, community events and employee appreciation
  • Accessories are available to round out the gift, including coasters to barware

“[Custom drinkware] will fit whatever thirst that you throw at them. They are the perfect stocking stuffers, so you will be ready for the next outdoor event.”

“For the Tritan® plastic water bottles, tumblers, and travel mugs groups, we selected products made with BPA-free plastic and that are easy to recycle.”

“High-end custom drinkware works for just about every occasion. It makes a special gift for an employee’s anniversary or an impressive thank-you for a valued customer.”

Free samples. A stainless steel water bottle or ceramic coffee mug? What about a tumbler or cups with straws? You know your audience, from where they go to the beverages they enjoy, and free samples ignite your brainstorming efforts.

Complimentary art assistance. What’s the best location for your logo, and what might it look like? We’ll help your brand make a splash, from reworking your ideas to designing your artwork before it’s printed onto mugs, tumblers, cups or bottles.

Products from the world’s most beloved brands. Brand association matters. Couple your logo with drinkware from some of the most highly regarded hydration brands, including CamelBak®, Contigo®, Hydro Flask®, Kleen Kanteen®, Koozie®, Stanley® and more.

Personal, expert service on every order. Whether you're on the web or over the phone, we’re here to help! Every order is cared for by people who will make sure every detail is as you wish. This includes an experienced promotional product expert who will work with you personally on your order and our team of professional artists. It’s like having additional members of your own marketing team whenever you need them! And your artwork is always created at no extra charge!

360° Guarantee®. Ordering is easy, and we help you every step of the way. We’ve got you covered from every angle—from orders and delivery to pricing and customer satisfaction. 4imprint for certain means certain delivery, certain value, certain happiness, certain service—every time!

Start to think about where and how your logo could be displayed. Explore stainless steel water bottles, acrylic cups with straws, insulated mugs and tumblers, pint glasses, wine glasses, Better Choices® products and more to begin building your promotional campaign, giveaway or branded merchandise. For more inspiration, learn more about customized drinkware as a branding solution opens in new window and why it continues to lead opens in new window all other promotional mediums.

And don’t forget that you can always call or chat with one of our friendly customer service representatives! Call Monday through Saturday toll-free, 1-877-446-7746. We make it easy to get in touch with us.

Our 360° Guarantee® means you’re covered from every angle!

Code
					
<#below#>
	<#lowerSeoCopy#>
		<h2 class="marginTop10">Additional Copy Heading</h2>
		<p>Additional Copy. Enter copy here if there is additional seo copy beyond the tips. This will appear above the tips at the bottom of the page. You can include any html here (h2, p, span).</p>
	<#/lowerSeoCopy#>
	<#empTipCopy#>
		 Single tip copy here. Tip copy section is already pre-styled within template/css. Can include additional spans for styling but only if needed.
	<#/empTipCopy#>
<#/below#>


<#below#>
<#lowerSeoCopy#>
<p class="lowerSeoHeading">Additional Copy Heading, per seo team, leave any headings as paragraph tags not h2</p>
<p>Additional Copy. Enter copy here if there is additional seo copy beyond the tips. This will appear above the tips at the bottom of the page. You can wrap copy in a (span) as needed.</p>
<ul class="c-md-10 c-sm-quarter-4 c-xs-full">
	<li><span class="textSemiBold">Bulletpoint</span>. Additional bullet point copy here.</li>
	<li><span class="textSemiBold">Bulletpoint</span>. Additional bullet point copy here.</li>
	<li><span class="textSemiBold">Bulletpoint</span>. Additional bullet point copy here.</li>
	<li><span class="textSemiBold">Bulletpoint</span>. Additional bullet point copy here.</li>
</ul>
<#/lowerSeoCopy#>

<#empTipFirst#>
First tip copy here.
<#/empTipFirst#>

<#empTipSecond#>
Second tip copy here.
<#/empTipSecond#>

<#empTipThird#>
Third tip copy here.
<#/empTipThird#>

<#whyOrderHeading#>Why Order XXXXXXXXXXXXXXXX Through 4imprint?<#/whyOrderHeading#>
<#whyOrderAccordion#>
<p><span class="textSemiBold">Semi bold text</span> Text here. If copy contains 360&deg; Guarantee<sub>®</sub> text, be sure to mark up using degree and subscript registration mark.</p>
<p><span class="textSemiBold">Semi bold text</span> Text here. This copy can contain hyperlinks to urls within the 4imprint website. If linking to external website, be sure to include target="_blank" rel="noopener" as well as <span class="visually-hidden"> opens in new window</span> on the link.</p>
<p><span class="textSemiBold">Semi bold text</span> Text here.</p>
<p><span class="textSemiBold">Semi bold text</span> Text here.</p>
<p><span class="textSemiBold">Semi bold text</span> Text here.</p>
<#/whyOrderAccordion#>
			
<#discoverAccordion#>
<p>Text here. If copy contains 360&deg; Guarantee<sub>®</sub> text, be sure to mark up using degree and subscript registration mark.</p>
<p>Text here. This copy can contain hyperlinks to urls within the 4imprint website. If linking to external website, be sure to include target="_blank" rel="noopener" as well as <span class="visually-hidden"> opens in new window</span> on the link.</p>
<#/discoverAccordion#>
<#/below#>


					
				
Notes

None.

Resources

Sass File(s)/sass/components/_lowerseocopy.scss
JS File(s)None Required
JS FunctionsNone
Locale KeysNone

Accessibility

None at this time

Active Buttons

Buttons that allow the user to take action on a page.

Examples

button-sm

70px x 45px

button-md

135px x 45px

button-lg

250px x 45px

Code (Colored)
					
<button type="button" class="button-md bkgdBlue text16">Hello</button>					
					
				
Code (White)
					
<button type="button" class="button-md bkgdWhite text16">Hello</button>					
					
				
Notes

Must use title case.

When including an icon, there must be a space between the icon and the text as well as a span wrapping the text.

If centering the button, use displayFlex and flexJustifyCenter classes on the containing element.

Resources

Sass File(s)/sass/components/_buttons.scss
JS File(s)None Required
JS FunctionsNone
Locale KeysNone

Accessibility

Use a button tag (with type="button") when interacting with something on the same page. Use an a tag when moving user to another page.

Disabled Buttons

Buttons that appear inactive but still give error validation when used.

Example

Code
					
<button type="button" class="button-lg text16 disabledBtn">Disabled</button>					
					
				
Notes

Must follow same rules as active buttons.

Uses same sizes as active buttons.

Uses disabledBtn class.

Does not use disabled attribute so we can always provide error feedback if clicked.

Resources

Sass File(s)/sass/core/_buttonsresponsive.scss
JS File(s)None Required
JS FunctionsNone
Locale KeysNone

Accessibility

Use a button tag (with type="button") when interacting with something on the same page. Use an a tag when moving user to another page.

Dialogs

Dialogs

Shows additional content in a modal window when a button is triggered.

Examples

Better Choices Dialog
Notes

None at this time.

Resources

Sass File(s)/sass/components/_dialog4i
JS File(s)/library/dialog4i2022.js or
/modules/library/dialog4i2022.js
JS FunctionsDialog Javascript
Locale KeysNone

Accessibility

None at this time.

Forms

An example of what our forms should look like.

Example

Create Your Account

Email and Password

Starred(*) fields are required.

Password Requirements:

  • Minimum 8 characters
  • Cannot be well-known commonly used password
  • Must meet 3 of the 4 following criteria:
    • At least one lowercase letter [a-z]
    • At least one uppercase letter [A-Z]
    • At least one number [0-9]
    • At least one symbol [!@#^&*()+_,.{}?~]

Contact Information

Starred(*) fields are required.

Please enter an address.
Code
					
        			
					
				
Notes

Add form2018 class to form element.

To make form full width, also add fullForm class.

Include credit card images of accepted payment types on any form asking for credit card information.

Resources

Sass File(s) /sass/components/_flexform2018.scss
JS File(s) /library/forms2021.js
JS Functions Form Javascript
Locale Keys /ecommerce/forms
/secure/registration/creditcard

Accessibility

None at this time.

Form Heading & Sub Headings

Forms need a main heading and some use a sub-heading but is not required.

Example

This is a Form Heading

This is a Sub Heading

Code (Heading)
					
<h2 class="formHeading">Form Heading</h2>
					
				
Code (Sub Heading)
					
<h3 class="formSubHeading" >Email and Password</h3>
					
				
Notes

Main form heading must use the formHeading class.

formHeading class is required for error box addition into the HTML.

Subheadings must use the formSubHeading class.

Resources

Sass File(s)/sass/components/_flexform2018.scss
JS File(s)/library/forms2021.js
JS FunctionsForm Javascript
Locale Keys/ecommerce/forms
/secure/registration/creditcard

Accessibility

Be sure to use proper heading structure for your form.

Inputs & Labels

All inputs on a form will need a label associated with them.

Example

Code
					
<div class="form-group">
	<label for="Email">Email* ([email protected])</label>
	<input id="Email" class="txtReq input-control FormAbandonmnetLog" name="Email" title="Please enter a valid email." autocomplete="email" aria-required="true" type="email" >
	<span class="errorMessage hide"></span>
</div>
					
				
Code
					
<div class="form-group">
	<label for="CardCCV">Security Code*</label>
	<div class="form-input-tip">
		<div>
			<input type="text" id="CardCCV" name="CardCCV" class="txtReq input-control FormAbandonmnetLog txtReq input-control" data-val="true" data-val-required="Please enter a valid security code." aria-required="true" autocomplete="cc-csc" inputmode="numeric" data-val-regex="Please enter a valid security code." data-val-regex-pattern="^\d{3,4}$" title="Please enter a valid security code." value="">
			<span class="errorMessage hide"></span>
		</div>
		<div class="tooltipWrapper inlineMiddle textCenter">
			<button class="tooltipTrigger alignRight btnToHyp darkestLink padding10" aria-expanded="false" aria-describedby="cvvTooltip">
				<svg class="show" height="25px" width="25px" focusable="false" role="img" aria-label="CVV Tooltip"><title>CVV Tooltip</title><use xlink:href="#svgIcon-tooltip"></use></svg>
			</button>
			<div role="tooltip" id="cvvTooltip" aria-hidden="true">
					<p>This is the 3-4 digit number on the back or front of your card.</p>
				</div>
			</div>
	</div>
</div>
					
				
Notes

Left aligned single column unless short and/or logically related.

Wrap label and input in a div with form-group class.

Labels are title case.

Labels should contain tips such as 'Carrier text messaging charges will apply.'

Span element can be left blank; JS will automatically insert the error message based on the data-val* attribute or the input element title

Must specify the correct type attribute on the input (type="email", type="tel").

Numeric inputs without number type (credit card, ccv, zip code[US only]) must have inputmode="numeric".

To log when a user leaves the form add FormAbandonmentLog class to input.

Resources

Sass File(s)/sass/components/_flexform2018.scss
JS File(s)/library/forms2021.js
JS FunctionsForm Javascript
Locale Keys/ecommerce/forms
/secure/registration/creditcard

Accessibility

The input id and label for attributes must match.

Keyboard users must be able to logically tab through the fields in the correct order.

Related labels/fields: wrapper div must have aria-labelledby that matches the id of the heading of the group.

Logically Related Fields

There are times when two fields should be side by side due to their relation to each other.

Example

Code
					
<div class="form-group-multi">
	<div class="form-group">
		<label class="formField-third-2 formFieldLeft" for="State">State*</label>
		<select id="State" class="FormSelect txtReq input-control FormAbandonmnetLog" title="Please select a state." name="State" autocomplete="address-level1" aria-required="true">
	 		<option value="">Select </option>
			<option value="AK">AK </option>
			<option value="AL">AL </option>
		</select>
		<span class="errorMessage hide"></span>
	</div>
	<div class="form-group">
		<label for="ZipCode">Zip Code*</label>
		<input id="ZipCode" class="txtReq input-control FormAbandonmnetLog" title="Please enter a zip code." name="ZipCode" autocomplete="postal-code" type="text" aria-required="true">
		<span class="errorMessage hide"></span>
	</div>
</div>
					
				
Notes

Examples of uses:

  • First Name & Last Name
  • State & Zip Code
  • Phone Number & Extension
  • Credit Card Number & CVV

Wrap fields within a div using form-group-multi class.

Wrap Credit Card Number and CVV fields within a div using form-group-creditcard form-group-multi classes.

Resources

Sass File(s)/sass/components/_flexform2018.scss
JS File(s)/library/forms2021.js
JS FunctionsForm Javascript
Locale Keys/ecommerce/forms
/secure/registration/creditcard

Accessibility

None at this time

Required Fields

When an input is required it will need special markup.

Example

Form Heading

Starred(*) fields are required.

Please enter a valid email.
Code
					
<p class="reqdHint">Starred(*) fields are required.</p>
					
				
Code
					
<div class="form-group">
	<label for="Email">Email* ([email protected])</label>
	<input id="Email" class="txtReq input-control" name="Email" title="Please enter a valid email." autocomplete="email" aria-required="true" type="email" >
	<span class="errorMessage hide"></span>
</div>
					
				
Notes

Must note at top of form that Starred(*) fields are required; Use reqdHint class.

Label must be marked with an asterisk(*).

Input must use txtReq class.

After the input is an empty span element with errorMessage hide classes.

Resources

Sass File(s)/sass/components/_flexform2018.scss
JS File(s)/library/forms2021.js
JS FunctionsForm Javascript
Locale Keys/ecommerce/forms
/secure/registration/creditcard

Accessibility

Input must have aria-required="true"

Optional Fields

When an input is required it will need special markup.

Example

Code
					
<div class="form-group">
	<label for="Notes">Notes (optional)</label>
	<textarea id="Notes" name="Notes"> </textarea>
</div>
					
				
Notes

Label must include "(optional)" text displayed at the end.

Resources

Sass File(s)/sass/components/_flexform2018.scss
JS File(s)/library/forms2021.js
JS FunctionsForm Javascript
Locale Keys/ecommerce/forms
/secure/registration/creditcard

Accessibility

None at this time

Password Fields

Requirements for choosing a password must be clearly communicated.

Example

Password Requirements:

  • Minimum 8 characters
  • Cannot be well-known commonly used password
  • Must meet 3 of the 4 following criteria:
    • At least one lowercase letter [a-z]
    • At least one uppercase letter [A-Z]
    • At least one number [0-9]
    • At least one symbol [!@#^&*()+_,.{}?~]
Please enter a password.
Please confirm your password.
Code
					
<p id="passwordHints" class="textDkGray textSemiBold text14">Password Requirements:</p>
<ul class="paddingLeft15 text14 textDkGray">
	<li>Minimum 8 characters</li>
	<li>Cannot be well-known commonly used password</li>
	<li>Must meet 3 of the 4 following criteria:
		<ul>
			<li>At least one lowercase letter [a-z]</li>
			<li>At least one uppercase letter [A-Z]</li>
			<li>At least one number [0-9]</li>
			<li>At least one symbol [!@#^&*()+_,.{}?~]</li>
		</ul>
	</li>
</ul>
<div class="form-group posRelative">
	<label for="Password">Password* (6 character minimum)</label>
	<input id="Password" class="txtReq input-control FormAbandonmnetLog" name="Password" title="Password must be at least 6 characters long." autocomplete="password" aria-required="true" type="password" data-val-length-max="50" data-val-length-min="6">
	<button type="button" aria-label="Show/Hide Password" aria-pressed="false" toggle="Password" class="pointer eyeIcon field-icon toggle-password"></button>
	<span class="errorMessage hide">Please enter a password.</span>
</div>
<div class="form-group posRelative">
	<label for="ConfirmPassword">Confirm Password*</label>
	<input id="ConfirmPassword" class="txtReq input-control FormAbandonmnetLog" name="ConfirmPassword" title="Please confirm your password." autocomplete="new-password" aria-required="true" type="password" data-val-length-max="50" data-val-length-min="6">
	<button type="button" aria-label="Show/Hide Confirm Password" aria-pressed="false" toggle="ConfirmPassword" class="pointer eyeIcon field-icon toggle-password"></button>
	<span class="errorMessage hide">Please confirm your password.</span>
</div>
					
				
Notes

Toggle button must include toggle attribute, using the id of the input you want to toggle.

Resources

Sass File(s)/sass/components/_flexform2018.scss
JS File(s)/library/forms2021.js
JS FunctionsForm Javascript
Locale Keys/ecommerce/forms
/secure/registration/creditcard

Accessibility

Password requirements must be listed before the password fields.

Toggle button must include aria-pressed="false" aria-label="Show/Hide Password".

Radio Buttons

Used when forcing a singular selection.

Example

Radio Button Options
Disabled Radio Button Options
Code
					
<fieldset class="marginBtm15">
	<legend>Radio Button Options</legend>
	<input class="rdbReq" id="yes" type="radio" name="radioExample" value="Yes">
	<label for="yes">Yes</label>
			
	<input class="rdbReq" id="no" type="radio" name="radioExample" value="No">
	<label for="no">No</label>
</fieldset>
<fieldset class="marginBtm15">
	<legend>Disabled Radio Button Options</legend>
	<input class="rdbReq" id="disabled" type="radio" name="radioExampleDisabled" value="Disabled" disabled>
	<label for="disabled">Disabled</label>
			
	<input class="rdbReq" id="checkDisabled" type="radio" name="radioExampleDisabled" value="Checked and Disabled" disabled checked>
	<label for="checkDisabled">Checked + Disabled</label>
</fieldset>
					
				
Notes

If more than 5 options, display in columns.

Add rdbReq class to input element to make required.

If the label and radio button are not lining up, wrap them in a div with disconnectedLabel class.

Resources

Sass File(s)/sass/components/_flexform2018.scss
JS File(s)/library/forms2021.js
JS FunctionsForm Javascript
Locale Keys/ecommerce/forms
/secure/registration/creditcard

Accessibility

Group related radio buttons within fieldset, using the legend element to set the label.

Checkboxes

Allows users to select more than one option.

Example

Checkbox Options
Disabled Checkbox Options
Code
					
<fieldset class="marginBtm15">
	<legend>Checkbox Options</legend>
	<input id="one" type="checkbox" name="one">
	<label for="one">One</label>
				
	<input id="two" type="checkbox" name="two">
	<label for="two">Two</label>
				
	<input id="three" type="checkbox" name="three">
	<label for="three">Three<label>
</fieldset>
<fieldset class="marginBtm15">
	<legend>Disabled Checkbox Options</legend>
	<input id="disabledCheckBox" type="checkbox" name="disabledCheckBox" disabled>
	<label for="disabledCheckBox">Disabled</label>
				
	<input id="disabledCheckCheckBox" type="checkbox" name="disabledCheckCheckBox" checked disabled>
	<label for="disabledCheckCheckBox">Checked + Disabled</label>
</fieldset>
					
				
Notes

If more than 5 options, display in columns.

Add rdbReq class to input element to make required.

If the label and checkbox are not lining up, try wrapping them in a div with disconnectedLabel class.

Resources

Sass File(s)/sass/components/_flexform2018.scss
JS File(s)/library/forms2021.js
JS FunctionsForm Javascript
Locale Keys/ecommerce/forms
/secure/registration/creditcard

Accessibility

Group related checkboxes within fieldset, using the legend element to set the label.

Form Buttons

This button gives users error feedback and submits the form.

Example

 
Code
					
<button id="btnExample" class="button-lg text16 bkgdBlue" type="button">Create Account</button>
					
				
Notes

Use either button or input element.

To disable the button, add disabledBtn class.

Resources

Sass File(s)/sass/components/_flexform2018.scss
JS File(s)>/library/forms2021.js
JS FunctionsForm Javascript
Locale Keys/ecommerce/forms
/secure/registration/creditcard

Accessibility

Disabled buttons MUST remain clickable and relay any errors when clicked.

Success Message

Always alert users when a form has been submitted successfully.

Example

Code
					
<p role="alert" aria-atomic="true">
	<svg class="textDarkestGray roundCorners5 bkgdGreen inlineMiddle" height="30px" width="30px" aria-hidden="true" focusable="false"><use xlink:href="#svgIcon-checkMark"></use></svg>
	<span class="inlineMiddle textSemiBold textBlue text18">Your form submitted successfully!</span>
</p>
					
				
Notes

When possible, hide the form and insert message via javascript.

Otherwise the message must be inserted after the submit button.

Resources

Sass File(s)/sass/components/_flexform2018.scss
JS File(s)/library/forms2021.js
JS FunctionsForm Javascript
Locale Keys/ecommerce/forms
/secure/registration/creditcard

Accessibility

Must have role="alert" aria-atomic="true" added to the element.

Loading

Loading Image

Communicate that the website is busy gathering data.

Examples

Latest fit comments about this item from our customers:

Ashley from Wichita

Sizes did run a tad large, but shrunk after one or two washes.

fits smallfits slightly smallfits perfectfits slightly largefits large

Linsdey from Easley

True Fit!

fits smallfits slightly smallfits perfectfits slightly largefits large
Code
					
				
Notes

See Form Helpers Javascript

Resources

HTML File(s)/core/loading.htm
JS File(s)None Required
JS FunctionsForm Helpers
Locale KeysNone

Accessibility

None at this time.

4imprint Logo

Approved options for the main 4imprint logo.

Examples

Proper Clearspace Example
Code
					
<a href="/" class="headerLogo noLine inlineMiddle posRelative">
	<svg class="textBlue" height="53px" width="138px" role="img" aria-label="4imprint"><use xlink:href="#svgLogo-4imprint"></use></svg>
	<span class="localeName">USA</span>
</a>
					
				
Notes

The 4imprint logo has been designed to work ideally on a white background

The black or white format may be used on a colored background

The non-svg library version of the logo can be cound here: //4imprintweb.blob.core.windows.net/qtz/images/4imprint.svg

Resources

Sass File(s)/sass/components/_4ilogo.scss
JS File(s)None Required
JS FunctionsNone
Locale Keysecommerce/header/logo2023

Accessibility

None at this time

Deal of the Day Logo

Approved logo for Deal of the Day.

Example

deal of
the day
Code
					
<div class="dotdLogoSm">
	<div class="displayFlex">
		<span class="textDeal textBlue textBold">deal</span>
		<span class="textOf textDarkestGray">of</span>
	</div>
	<div class="displayFlex">
		<span class="textThe textDarkestGray">the</span>
		<span class="textDay textBlue textBold">day</span>
	</div>
</div>
					
				
Notes

For use on www site. For large version, please see deal of the day site.

Resources

Sass File(s)/sass/components/_dotdlogo.scss
JS File(s)None Required
JS FunctionsNone
Locale KeysNone

Accessibility

None at this time

Outlet Logo

Approved logo for the outlet site.

Example

Code
					
<svg class="outletLogo" width="102px" height="55px" focusable="false"><title>4imprint Outlet</title><use xlink:href="#svgLogo-outlet"></use></svg>
					
				
Notes

None at this time.

Resources

Sass File(s)None Required
JS File(s)None Required
JS FunctionsNone
Locale KeysNone

Accessibility

None at this time

Steal a Deal Logo

Approved logo for Steal a Deal.

Example

Outlet Steal a Deal
Code
					
<img loading="lazy" src="//cdn.4imprint.com/qtz/icons/svg/outlet/stealadeal_2020.svg" alt="Outlet Steal a Deal" width="85" height="54" />
					
				
Code
					
<svg height="54px" width="80px" role="img" aria-label="Steal a Deal"><title>Steal a Deal</title><use xlink:href="#svgLogo-sad"></use></svg>
					
				
Notes

SVG img for main site only; SVG from SVG library for outlet only.

Resources

Sass File(s)None Required
JS File(s)None Required
JS FunctionsNone
Locale KeysNone

Accessibility

If adding the alertWarning class, you must also add the following to ensure the warning text is read immediately to the user via screen reader:

Product Image Sizes

The size options for all product images.

Examples

  • 40px x 40px
  • 60px x 60px
  • 80px x 80px
  • 100px x 100px
  • 120px x 120px
  • 150px x 150px
  • 200px x 200px (not available in colorized images)
  • 250px x 250px
  • 300px x 300px
  • 400px x 400px
  • 500px x 500px
  • 700px x 700px
  • 1400px x 1400px
  • 2000px x 2000px
Notes

Product Image Lookup: https://www.4imprint.com/Images/Lookup

Resources

Sass File(s)None Required
JS File(s)None Required
JS FunctionsNone
Locale KeysNone

Accessibility

None at this time

Image Srcset

Serves the correct size image based on viewport size.

Examples

Code
					
<a class="darkestLink show" href="/product/114238/Confetti-Stadium-Cup-17-oz" title="View the Confetti Stadium Cup">
	<img class="responsiveImg" loading="lazy" srcset="//cdna.4imprint.com/prod/250/404183.jpg 250w,
		//cdna.4imprint.com/prod/150/404183.jpg 150w,
		//cdna.4imprint.com/prod/300/404183.jpg 300w"
			sizes="(max-width: 400px) 250px,
				(max-width: 600px) 300px,
				(max-width: 800px) 150px,
				250px"
		src="//cdna.4imprint.com/prod/250/404183.jpg" alt="Confetti Stadium Cup">
	<figcaption class="textCenter">Confetti Stadium Cup<sup>®</sup></figcaption>
</a>
					
				
Code
					
<a class="darkestLink" href="/product/114238/Confetti-Stadium-Cup-17-oz" title="View the Confetti Stadium Cup">
	<picture>
		<img class="responsiveImg" srcset="//cdna.4imprint.com/prod/250/404183.jpg 250w,
			//cdna.4imprint.com/prod/150/404183.jpg 150w,
			//cdna.4imprint.com/prod/300/404183.jpg 300w"
			sizes="(max-width: 400px) 250px,
				(max-width: 600px) 300px,
				(max-width: 800px) 150px,
				250px"
		src="//cdna.4imprint.com/prod/250/404183.jpg" alt="Confetti Stadium Cup"  loading="lazy">
	</picture>
	<figcaption class="textCenter">Confetti Stadium Cup<sup>®</sup></figcaption>
</a>
					
				
Notes

If you are using webp images that need a jpg or png fallback, the picture element must be used.

After the image path is the image's inherent width in pixels: 250w - this uses the w unit, not px; This width should be the images real size.

Sizes defines a set of media conditions (screen widths) and indicates what image size would be best for the browser to choose.

The media condition is when the viewport width is 400 pixels or less (in this example).

After the media condition is the width of the area the image will fill when the media condition is true - 250px (in this example).

The last slot has no media condition. This is the default size that is chosen no other media conditions are true.

Resources

Sass File(s)None Required
JS File(s)None Required
JS FunctionsNone
Locale KeysNone

Accessibility

None at this time.

Product Layout

The layout for every product listed on the site.

Example

Hanes Authentic T-Shirt - Screen - Colors

Hanes Authentic T-Shirt - Screen - Colors

On sale from $4.95 to $9.89

Order as few as 18

Ships within 5 days.*

Item #6729-S-C

Average rating of 4.6 out of 5 stars

(4.6)

Notes

None at this time

Resources

Sass File(s)None Required
JS File(s)None Required
JS FunctionsNone
Locale KeysNone

Accessibility

None at this time

Sale Box

Shown when a product is on sale.

Example

up to 15% off!

Original price normally as low as $33.95

Today's price now as low as $31.25

Code
					
<div class="text16 marginTop10">
	 <fieldset>
        		<legend class="textSemiBold roundCorners3 text16 textWhite bkgdDkRed padding5 marginBtm5">up to 15% off!</legend>
        		<p calss="text14 textSemiBold"><span class="visually-hidden">Original price </span&l\gt;normally as low as $33.95</p>
        		<p class="text14 textSemiBold textDkRed"><span class="visually-hidden">Today's price </span>now as low as $31.25</p>
    	</fieldset>
</div>
					
				
Notes

None at this time.

Resources

Sass File(s)None
JS File(s)None Required
JS FunctionsNone
Locale KeysNone

Accessibility

None at this time

Star Rating

Conveys the rating from customers on the product.

Example

Average rating of 4.7 out of 5 stars

(4.7)

Code
See main site VS file for reusable code snippet
/Views/Shared/_RatingsBarStandard.cshtml
Notes

Outter element must be a block element div.

Do not use a ul li for the stars.

Stars must be wrapped in an inline element; Inline is extremely important to keep the two sets of stars lining up correctly.

Resources

Sass File(s)/sass/components/_ratingstars2024.scss
JS File(s)/views/product/starrating/starrating24.js
JS FunctionsNone
Locale KeysNone

Accessibility

The HTML markup is very important for accessibility success.

The stars each have aria-hidden="true" and focusable="false"applied.

Following outer element, there must be the visually-hidden text that tells the screen reader the average star rating.

Adverts

Site Link Advert Box

A row of boxes that include information about a specific offering.

Examples

Need it Fast?

Put us to the test

View 24-hour Items

Our Story

Who is 4imprint?

Learn More About Us

Art Team

Creativity & talent for you

View Our Artwork

Shop 4imprint

This is the starting point to the 4imprint experience!
Start Shopping

Hottest Items

Want to know what items are popular right now?
Shop Hot Products

Newest Items

View the very latest promotional products right here!
Shop New Products

Items on Sale

Unbelievable promotional products at even more unbelievable prices.
Shop Sale Products
Code
					
<div class="c-sm-third-1 c-xs-full textCenter">
	<div class="borderMdGray padding20">
		<h3 class="textNormal text25 textBlue">Need it Fast?</h3>
		<p class="text16 marginBtm10">Put us to the test</p>
		<a class="text16" href="/tag/1/24-hour">View 24-hour Items</a>
	</div>
</div>
					
				
Notes

Heading is title case & textBlue.

Tagline has no more than 2 lines of text & is textDarkestGray.

3 wide adverts use c-sm-third-1 class.

4 wide adverts use c-sm-quarter-1 class.

Resources

Sass File(s)None Required
JS File(s)None Required
JS FunctionsNone
Locale KeysNone

Accessibility

None at this time.

Scroll to Top

Scroll to Top Button

Button that appears on lower right of view to bring user to the top of the page.

Examples

Scroll to top button
Notes

None at this time.

Resources

Sass File(s)/sass/components/_scrolltotop.scss
JS File(s)/library/scrolltop.js
JS FunctionsNone
Locale Fileecommerce/general

Accessibility

None at this time.

Status Messages

Status Messages

Display success or failure status messages after user actions.

Examples

Your success message here.

Your failure message here.

Code
					
					
				
Notes

See form helpers javascript.

Resources

Sass File(s)/sass/core/_validation.scss
JS File(s)/library/forms/formhelpers.js
JS FunctionsForm Helpers Javascript
Locale KeysNone

Accessibility

Has role="status" already applied.

Tables

Tables

Currently only used on admin sites.

Example

Admin Table
Code
					
<div class="tableContainer">
    <table id="productTable" class="adminTableStyled">
        <thead>
            <tr>
                <th data-filter="Vendor Name">Vendor</th>
                <th>Product Alias</th>
                <th>Product ID</th>
            </tr>
        </thead>
        <tbody></tbody>
    </table>
</div>   			
					
				
Notes

Must have a wrapper with tableContainer class.

Table element must have adminTableStyled class (going away eventually).

If a column is to be filterable, add data-filter attribute to the th element with the name.

Keep the tbody element empty.

Resources

Sass File(s)/sass/components/_tables.scss
JS File(s)table2024js bundle
JS FunctionsTables Javascript
Locale KeysNone

Accessibility

None at this time.

Tabs

Tabs

Save space by offering multiple sections of information in one area.

Examples

First tab content

Code
					
<div id="copyTabs" class="tabs4i fullWidth borderMdGray">
	<div class="tabList displayFlex flexNoWrap flexSpaceBetween" role="tablist" aria-label="Tab Examples">
		<button id="tabOne" class="tabLink active" role="tab" data-content="tabPanelOne" aria-controls="tabPanelOne" aria-selected="true">
			<h2>First Tab Title</h2>
		</button>
		<button id="tabTwo" class="tabLink" tabindex="-1" role="tab" data-content="tabPanelTwo" aria-controls="tabPanelTwo" aria-selected="false">
			<h2>Second Tab Title</h2>
		</button>
	</div>
	<section id="tabPanelOne" role="tabpanel" class="tabContent bkgdWhite" aria-label="Tab Example One" aria-hidden="false">
		<p class="text16">First tab content</p>
	</section>
	<section id="tabPanelTwo" role="tabpanel" class="tabContent bkgdWhite hide" aria-label="Tab Example Two" aria-hidden="true">
		<p class="text16">Second tab content</p>
	</section>
</div>        			
					
				
Notes

None at this time.

Resources

Sass File(s)/sass/components/_tabs.scss
JS File(s)/library/tabs4i.js
JS FunctionsTabs Javascript
Locale KeysNone

Accessibility

Update aria-controls and aria-label.

Tooltips

Tooltips

Provide further feedback for the customer to understand how to use a specific area or element.

Examples

Code
					
<div class="tooltipWrapper">
	<button class="tooltipTrigger alignLeft btnToHyp darkestLink padding10" aria-expanded="false" aria-describedby="colorToolTip">
		<svg height="25px" width="25px" focusable="false" role="img" aria-label="Product Color Tooltip"><title>Product Color Tooltip</title><use xlink:href="#svgIcon-tooltip"></use></svg>
	</button>
	<div role="tooltip" id="colorToolTip" aria-hidden="true">
		<p>Click one of the color choices from the list. Once you're done, scroll down to select the item quantity.</p>
	</div>
</div>        			
					
				
Notes

Tooltip alignment class options: alignLeft | alignMiddle | alignRight

Resources

Sass File(s)/sass/components/_tooltips.scss
JS File(s)/library/tooltips.js
JS FunctionsTooltip Javascript
Locale KeysNone

Accessibility

Update aria-label on SVG.

Update aria-describedby ID.

Videos

Video Player

Azure Media Player is our chosen media player.

Examples

Code
					
<button class="videoLink show noLine pointer" type="button" data-productid="326" aria-expanded="false">
	<svg class="textOrange" height="40px" width="40px" role="img" aria-label="Watch a Video for Bic Clic Stic Pen"><title>Watch a Video for Bic Clic Stic Pen</title> <use xlink:href="#svgIcon-watchVideo"></use> </svg>
</button>       			
					
				
Notes

If using a button to trigger loading of the video, add videoLink class and data-productid attribute to trigger element.

If using in a dialog, add dialog width to stylesheet: .videoDialog { @extend %dialog; max-width: 750px; }.

Resources

Sass File(s)/sass/components/_videoplayer2017.scss
JS File(s)/library/getvideodata.js
JS FunctionsVideo Javascript
Locale KeysNone

Accessibility

Update aria-label on the SVG with product name.

Video trigger element must have aria-expanded="false" attribute added.

File Menu

File Menu (3 dots)

3 dot menu that appears in the right corner of customer art files.

Examples

File menu open
Code
					
<button type="button" id="" class="fileMenuBtn posAbsolute btnToHyp noLine padding10" aria-expanded="false">
	<svg class="show" height="20px" width="20px" focusable="false" role="img" aria-label=""><title></title><use xlink:href="#svgIcon-threeDotMenu"></use></svg>
</button>
<div class="fileMenu posAbsolute">
	<ul class="itemMenuLinks reset resetList textLeft padding5 borderMdGray bkgdWhite dropdownShadow">
		<li>
			<button type="button" id="" aria-pressed="false" class="textLeft noLine btnToHyp text16 darkestLink">Edit Name</button>
		</li>
		<li class="paddingTop5">
			<button type="button" id="" aria-pressed="false" class="textLeft noLine btnToHyp text16 darkestLink">Delete</button>
		</li>
	</ul>
	<svg class="menuTriangle posAbsolute textWhite rotate90" height="15px" width="15px" aria-hidden="true"> <use xlink:href="#svgIcon-arrowSolid"></use> </svg>
</div>
					
				
Notes

Parent element must have class posRelative on it.

If there's only 1 button in the menu, replace ul element with div and remove li elements.

Resources

Sass File(s)/sass/components/_filemenu.scss
JS File(s)None
JS FunctionsNone
Locale FileNone

Accessibility

Update svg aria-label and title.

To Top of page