/* 
	Brand Colors
	---------------------------------------------
*/
@font-face {
  font-family: "GT-Walsheim-Regular";
  src: url("../../fonts/gt-walsheim/GT-Walsheim-Regular.eot");
  src: url("../../fonts/gt-walsheim/GT-Walsheim-Regular.eot?#iefix") format("embedded-opentype"), url("../../fonts/gt-walsheim/GT-Walsheim-Regular.woff2") format("woff2"), url("../../fonts/gt-walsheim/GT-Walsheim-Regular.woff") format("woff"), url("../../fonts/gt-walsheim/GT-Walsheim-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "GT-Walsheim-Regular-Oblique";
  src: url("../../fonts/gt-walsheim/GT-Walsheim-Regular-Oblique.eot");
  src: url("../../fonts/gt-walsheim/GT-Walsheim-Regular-Oblique.eot?#iefix") format("embedded-opentype"), url("../../fonts/gt-walsheim/GT-Walsheim-Regular-Oblique.woff2") format("woff2"), url("../../fonts/gt-walsheim/GT-Walsheim-Regular-Oblique.woff") format("woff"), url("../../fonts/gt-walsheim/GT-Walsheim-Regular-Oblique.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "GT-Walsheim-Medium";
  src: url("../../fonts/gt-walsheim/GT-Walsheim-Pro-Medium.eot");
  src: url("../../fonts/gt-walsheim/GT-Walsheim-Pro-Medium.eot?#iefix") format("embedded-opentype"), url("../../fonts/gt-walsheim/GT-Walsheim-Medium.woff2") format("woff2"), url("../../fonts/gt-walsheim/GT-Walsheim-Medium.woff") format("woff"), url("../../fonts/gt-walsheim/GT-Walsheim-Medium.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "GT-Walsheim-Medium-Oblique";
  src: url("../../fonts/gt-walsheim/GT-Walsheim-Medium-Oblique.eot");
  src: url("../../fonts/gt-walsheim/GT-Walsheim-Medium-Oblique.eot?#iefix") format("embedded-opentype"), url("../../fonts/gt-walsheim/GT-Walsheim-Medium-Oblique.woff2") format("woff2"), url("../../fonts/gt-walsheim/GT-Walsheim-Medium-Oblique.woff") format("woff"), url("../../fonts/gt-walsheim/GT-Walsheim-Medium-Oblique.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "GT-Walsheim-Bold";
  src: url("../../fonts/gt-walsheim/GT-Walsheim-Bold.eot");
  src: url("../../fonts/gt-walsheim/GT-Walsheim-Bold.eot?#iefix") format("embedded-opentype"), url("../../fonts/gt-walsheim/GT-Walsheim-Bold.woff2") format("woff2"), url("../../fonts/gt-walsheim/GT-Walsheim-Bold.woff") format("woff"), url("../../fonts/gt-walsheim/GT-Walsheim-Bold.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "GT-Walsheim-Bold-Oblique";
  src: url("../../fonts/gt-walsheim/GT-Walsheim-Bold-Oblique.eot");
  src: url("../../fonts/gt-walsheim/GT-Walsheim-Bold-Oblique.eot?#iefix") format("embedded-opentype"), url("../../fonts/gt-walsheim/GT-Walsheim-Bold-Oblique.woff2") format("woff2"), url("../../fonts/gt-walsheim/GT-Walsheim-Bold-Oblique.woff") format("woff"), url("../../fonts/gt-walsheim/GT-Walsheim-Bold-Oblique.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Milton";
  font-weight: normal;
  font-style: normal;
  src: url("../../fonts/milton/milton-bold.eot");
  src: url("../../fonts/milton/milton-bold.eot?#iefix") format("embedded-opentype"), url("../../fonts/milton/milton-bold.woff2") format("woff2"), url("../../fonts/milton/milton-bold.woff") format("woff"), url("../../fonts/milton/milton.ttf") format("truetype"), url("../../fonts/milton/milton.svg") format("svg");
}
@font-face {
  font-family: "Gazpacho";
  src: url("../../fonts/gazpacho/Gazpacho_normal_normal_900.woff2") format("woff2"), url("../../fonts/gazpacho/Gazpacho_normal_normal_900.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "TTNormsPro-Regular";
  src: url("../../fonts/ttnormspro/TTNormsPro_normal_normal_400.woff2") format("woff2"), url("../../fonts/ttnormspro/TTNormsPro_normal_normal_400.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "TTNormsPro-Medium";
  src: url("../../fonts/ttnormspro/TTNormsPro_normal_normal_600.woff2") format("woff2"), url("../../fonts/ttnormspro/TTNormsPro_normal_normal_600.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "TTNormsPro-Bold";
  src: url("../../fonts/ttnormspro/TTNormsPro_normal_normal_700.woff2") format("woff2"), url("../../fonts/ttnormspro/TTNormsPro_normal_normal_700.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
/* COLOR PALETTE COMPONENT
	-------------------------------------------------------------------------------------
	The purpose of this component is to manage the brand colors, palettes, and schemes 
	used throughout the site. The 'makeColorClasses' mixin generates predefined utility 
	classes by looping through maps to retrieve the color and class prefix values. To 
	add new color palettes add new 'key (palette name) | value (color value list)' pairs 
	to the maps below to expose them to the 'getColor' function as well as through their 
	respective utility classes.

	TODO: 
	-- Update component to expand range of use (classes, properties, functions)




/* 	-------------------------------------------------------------
	DEFAULT COLORS/PALETTES
	-------------------------------------------------------------
*/
/* 	-------------------------------------------------------------
	CUSTOM COLORS/PALETTES 
	-------------------------------------------------------------
*/
/*	---------------------------------------------------------------
	COLOR PROPERTIES FOR UTILITY CLASSES
	---------------------------------------------------------------
*/
/* 	----------------------------------------------------------------
	BUILD UTILITY CLASSES FOR ALL EXISTING PALETTE COLORS
	----------------------------------------------------------------
	TODO: 
	-- Modify mixin to accept infinite args
*/
.background-color-white {
  background-color: #fff !important;
}

.border-color-white {
  border-color: #fff !important;
}

.text-color-white {
  color: #fff !important;
}

.background-color-black {
  background-color: #000 !important;
}

.border-color-black {
  border-color: #000 !important;
}

.text-color-black {
  color: #000 !important;
}

.background-color-red {
  background-color: #c00 !important;
}

.border-color-red {
  border-color: #c00 !important;
}

.text-color-red {
  color: #c00 !important;
}

.background-color-green {
  background-color: #008827 !important;
}

.border-color-green {
  border-color: #008827 !important;
}

.text-color-green {
  color: #008827 !important;
}

.background-color-blue-1 {
  background-color: #0070d2 !important;
}

.border-color-blue-1 {
  border-color: #0070d2 !important;
}

.text-color-blue-1 {
  color: #0070d2 !important;
}

.background-color-blue-2 {
  background-color: #7ed0ee !important;
}

.border-color-blue-2 {
  border-color: #7ed0ee !important;
}

.text-color-blue-2 {
  color: #7ed0ee !important;
}

.background-color-gray-1 {
  background-color: #f9f9f9 !important;
}

.border-color-gray-1 {
  border-color: #f9f9f9 !important;
}

.text-color-gray-1 {
  color: #f9f9f9 !important;
}

.background-color-gray-2 {
  background-color: #eee !important;
}

.border-color-gray-2 {
  border-color: #eee !important;
}

.text-color-gray-2 {
  color: #eee !important;
}

.background-color-gray-3 {
  background-color: #ccc !important;
}

.border-color-gray-3 {
  border-color: #ccc !important;
}

.text-color-gray-3 {
  color: #ccc !important;
}

.background-color-gray-4 {
  background-color: #999 !important;
}

.border-color-gray-4 {
  border-color: #999 !important;
}

.text-color-gray-4 {
  color: #999 !important;
}

.background-color-gray-5 {
  background-color: #666 !important;
}

.border-color-gray-5 {
  border-color: #666 !important;
}

.text-color-gray-5 {
  color: #666 !important;
}

.background-color-gray-6 {
  background-color: #444 !important;
}

.border-color-gray-6 {
  border-color: #444 !important;
}

.text-color-gray-6 {
  color: #444 !important;
}

.background-color-gray-7 {
  background-color: #222 !important;
}

.border-color-gray-7 {
  border-color: #222 !important;
}

.text-color-gray-7 {
  color: #222 !important;
}

.background-color-gray-8 {
  background-color: #333 !important;
}

.border-color-gray-8 {
  border-color: #333 !important;
}

.text-color-gray-8 {
  color: #333 !important;
}

.background-color-transparent-gray-1 {
  background-color: rgba(0, 0, 0, 0.65) !important;
}

.border-color-transparent-gray-1 {
  border-color: rgba(0, 0, 0, 0.65) !important;
}

.text-color-transparent-gray-1 {
  color: rgba(0, 0, 0, 0.65) !important;
}

.background-color-transparent-gray-2 {
  background-color: rgba(0, 0, 0, 0.25) !important;
}

.border-color-transparent-gray-2 {
  border-color: rgba(0, 0, 0, 0.25) !important;
}

.text-color-transparent-gray-2 {
  color: rgba(0, 0, 0, 0.25) !important;
}

.background-color-hersheys-1 {
  background-color: #3F000B !important;
}

.border-color-hersheys-1 {
  border-color: #3F000B !important;
}

.text-color-hersheys-1 {
  color: #3F000B !important;
}

.background-color-hersheys-2 {
  background-color: #523131 !important;
}

.border-color-hersheys-2 {
  border-color: #523131 !important;
}

.text-color-hersheys-2 {
  color: #523131 !important;
}

.background-color-hersheys-3 {
  background-color: #FFF9E9 !important;
}

.border-color-hersheys-3 {
  border-color: #FFF9E9 !important;
}

.text-color-hersheys-3 {
  color: #FFF9E9 !important;
}

.background-color-hersheys-4 {
  background-color: #e03c31 !important;
}

.border-color-hersheys-4 {
  border-color: #e03c31 !important;
}

.text-color-hersheys-4 {
  color: #e03c31 !important;
}

.background-color-hersheys-5 {
  background-color: #8b8d8d !important;
}

.border-color-hersheys-5 {
  border-color: #8b8d8d !important;
}

.text-color-hersheys-5 {
  color: #8b8d8d !important;
}

.background-color-hersheys-6 {
  background-color: #dbf0f6 !important;
}

.border-color-hersheys-6 {
  border-color: #dbf0f6 !important;
}

.text-color-hersheys-6 {
  color: #dbf0f6 !important;
}

.background-color-reeses-1 {
  background-color: #ff5101 !important;
}

.border-color-reeses-1 {
  border-color: #ff5101 !important;
}

.text-color-reeses-1 {
  color: #ff5101 !important;
}

.background-color-reeses-2 {
  background-color: #461e1c !important;
}

.border-color-reeses-2 {
  border-color: #461e1c !important;
}

.text-color-reeses-2 {
  color: #461e1c !important;
}

.background-color-reeses-3 {
  background-color: #fdee14 !important;
}

.border-color-reeses-3 {
  border-color: #fdee14 !important;
}

.text-color-reeses-3 {
  color: #fdee14 !important;
}

.background-color-spring-1 {
  background-color: #f6d258 !important;
}

.border-color-spring-1 {
  border-color: #f6d258 !important;
}

.text-color-spring-1 {
  color: #f6d258 !important;
}

.background-color-spring-2 {
  background-color: #88b14b !important;
}

.border-color-spring-2 {
  border-color: #88b14b !important;
}

.text-color-spring-2 {
  color: #88b14b !important;
}

.background-color-spring-3 {
  background-color: #d13076 !important;
}

.border-color-spring-3 {
  border-color: #d13076 !important;
}

.text-color-spring-3 {
  color: #d13076 !important;
}

.background-color-summer-1 {
  background-color: #fca900 !important;
}

.border-color-summer-1 {
  border-color: #fca900 !important;
}

.text-color-summer-1 {
  color: #fca900 !important;
}

.background-color-summer-2 {
  background-color: #c1c70f !important;
}

.border-color-summer-2 {
  border-color: #c1c70f !important;
}

.text-color-summer-2 {
  color: #c1c70f !important;
}

.background-color-summer-3 {
  background-color: #97d4d7 !important;
}

.border-color-summer-3 {
  border-color: #97d4d7 !important;
}

.text-color-summer-3 {
  color: #97d4d7 !important;
}

.background-color-fall-1 {
  background-color: #e26910 !important;
}

.border-color-fall-1 {
  border-color: #e26910 !important;
}

.text-color-fall-1 {
  color: #e26910 !important;
}

.background-color-fall-2 {
  background-color: #ffb307 !important;
}

.border-color-fall-2 {
  border-color: #ffb307 !important;
}

.text-color-fall-2 {
  color: #ffb307 !important;
}

.background-color-fall-3 {
  background-color: #e03c31 !important;
}

.border-color-fall-3 {
  border-color: #e03c31 !important;
}

.text-color-fall-3 {
  color: #e03c31 !important;
}

.background-color-winter-1 {
  background-color: #e03c31 !important;
}

.border-color-winter-1 {
  border-color: #e03c31 !important;
}

.text-color-winter-1 {
  color: #e03c31 !important;
}

.background-color-winter-2 {
  background-color: #cdecfe !important;
}

.border-color-winter-2 {
  border-color: #cdecfe !important;
}

.text-color-winter-2 {
  color: #cdecfe !important;
}

.background-color-winter-3 {
  background-color: #66cbff !important;
}

.border-color-winter-3 {
  border-color: #66cbff !important;
}

.text-color-winter-3 {
  color: #66cbff !important;
}

/*	----------------------------------------------------------------------------------------------
	GET COLOR VALUE FROM PALETTE GROUP / PALETTE COLOR LIST - Ex: getColor($brands, "reeses", 1)
	----------------------------------------------------------------------------------------------
*/
/**************************/
/***** RETINA DISPLAY *****/
/**************************/
.category-tile {
  position: relative;
}
.category-tile h3 {
  position: absolute;
  bottom: 1.875rem;
  left: 1.875rem;
  color: #fff;
}
.category-tile::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), to(rgba(0, 0, 0, 0.5)));
  background-image: linear-gradient(to bottom, transparent 60%, rgba(0, 0, 0, 0.5) 100%);
}

.hp-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.875rem 0;
  width: 100%;
  text-align: center;
}
@media (min-width: 768px) {
  .hp-heading {
    padding: 3.4375rem 0;
  }
}
.hp-heading .hp-heading__title {
  margin-bottom: 0.75rem;
}
@media (min-width: 768px) {
  .hp-heading .hp-heading__title {
    line-height: 2.8125rem;
    margin-bottom: 1.375rem;
  }
}
.hp-heading .hp-heading__link {
  font-family: "TTNormsPro-Bold", sans-serif;
  font-size: 1.5625rem;
  letter-spacing: 0.1rem;
  color: #523131;
  text-decoration: underline;
  line-height: 1;
}
@media (min-width: 768px) {
  .hp-heading .hp-heading__link {
    font-size: 1.875rem;
    line-height: 2rem;
  }
}

.homepage-main .content-slider:not(.slick-initialized) .content-slider__slide:not(:first-of-type) {
  display: none;
}
.homepage-main .slick-dotted.slick-slider {
  margin-bottom: 0;
}
.homepage-main .slick-prev {
  left: 1.5625rem;
}
.homepage-main .slick-next {
  right: 1.5625rem;
}
.homepage-main .slick-dots {
  bottom: 0;
  height: 3rem;
}
@supports (-webkit-touch-callout: none) {
  .homepage-main .slick-track {
    margin-top: -15px;
  }
}

.hp-category-message,
.hp-promotion-message {
  position: absolute;
  bottom: 0.9375em;
  left: 1.875em;
}
.hp-category-message a,
.hp-promotion-message a {
  color: #fff;
}
.hp-category-message a.hp-promotion-message1,
.hp-promotion-message a.hp-promotion-message1 {
  font-size: 0.75em;
}

@media (min-width: 768px) {
  .homepage-brand-links {
    padding-bottom: 3.4375rem;
  }
}
.homepage-brand-links .hp-brand__row {
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
}
@media (min-width: 768px) {
  .homepage-brand-links .hp-brand__row {
    margin: 0;
  }
}
.homepage-brand-links .hp-brand__tile {
  width: 20%;
  height: 11.875rem;
}
@media (min-width: 1025px) {
  .homepage-brand-links .hp-brand__tile {
    height: 18rem;
  }
}
.homepage-brand-links .hp-brand__tile {
  padding: 0.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.homepage-brand-links .hp-brand__tile.hersheys {
  background-color: #480007;
}
.homepage-brand-links .hp-brand__tile.hersheys .brand-logo img {
  max-width: 6.75rem;
}
@media (min-width: 768px) {
  .homepage-brand-links .hp-brand__tile.hersheys .brand-logo img {
    max-width: 10.9375rem;
  }
}
.homepage-brand-links .hp-brand__tile.kisses {
  background-color: #9ecfec;
}
.homepage-brand-links .hp-brand__tile.kisses .brand-logo {
  margin-bottom: 0.5rem;
}
@media (min-width: 768px) {
  .homepage-brand-links .hp-brand__tile.kisses .brand-logo {
    margin-bottom: 0.75rem;
  }
}
.homepage-brand-links .hp-brand__tile.kisses .brand-logo img {
  max-width: 8.75rem;
}
@media (min-width: 768px) {
  .homepage-brand-links .hp-brand__tile.kisses .brand-logo img {
    max-width: 14.375rem;
  }
}
.homepage-brand-links .hp-brand__tile.reeses {
  background-color: #ff5100;
}
.homepage-brand-links .hp-brand__tile.reeses .brand-logo img {
  max-width: 8.5rem;
}
@media (min-width: 768px) {
  .homepage-brand-links .hp-brand__tile.reeses .brand-logo img {
    max-width: 12.25rem;
  }
}
.homepage-brand-links .hp-brand__tile.kitkat {
  background-color: #fa1515;
}
.homepage-brand-links .hp-brand__tile.kitkat .brand-logo img {
  max-width: 6.875rem;
}
@media (min-width: 768px) {
  .homepage-brand-links .hp-brand__tile.kitkat .brand-logo img {
    max-width: 8.625rem;
  }
}
.homepage-brand-links .hp-brand__tile.twizzlers {
  background-color: #0033a0;
}
.homepage-brand-links .hp-brand__tile.twizzlers .brand-logo img {
  max-width: 8.125rem;
}
@media (min-width: 768px) {
  .homepage-brand-links .hp-brand__tile.twizzlers .brand-logo img {
    max-width: 13.25rem;
  }
}
.homepage-brand-links .hp-brand__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -ms-flex-line-pack: distribute;
      align-content: space-around;
  width: 100%;
  height: 100%;
}
.homepage-brand-links .hp-brand__link:active, .homepage-brand-links .hp-brand__link:focus {
  outline: none;
}
.homepage-brand-links .brand-candy {
  width: 100%;
  text-align: center;
}
.homepage-brand-links .brand-candy img {
  width: 100%;
  max-width: 10.25rem;
  display: inline;
}
@media (min-width: 768px) {
  .homepage-brand-links .brand-candy img {
    max-width: 18rem;
  }
}
.homepage-brand-links .brand-logo {
  width: 100%;
  text-align: center;
  font-family: "TTNormsPro-Regular", sans-serif;
}
.homepage-brand-links .brand-logo img {
  display: inline;
}

.homepage-featured-prods {
  float: left;
  width: 100%;
  background-color: #dbf0f6;
}
.homepage-featured-prods .hp-heading__title {
  margin-bottom: 0;
}

.homepage-promotions .promo-grid--row1 .content__text .content__headline {
  color: #fff;
  font-size: 1.75rem;
  margin-bottom: 0.75rem;
}
@media (min-width: 1025px) {
  .homepage-promotions .promo-grid--row1 .content__text .content__headline {
    font-size: 3.125rem;
    margin-bottom: 1.25rem;
  }
}
.homepage-promotions .promo-grid--row1 .content__text .content__subline {
  color: #fff;
  font-size: 0.9375rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 1025px) {
  .homepage-promotions .promo-grid--row1 .content__text .content__subline {
    font-size: 1.25rem;
    margin-bottom: 2.375rem;
  }
}
.homepage-promotions .promo-grid--row2 .content__zone {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  height: 23.4375rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (min-width: 1025px) {
  .homepage-promotions .promo-grid--row2 .content__zone {
    height: 30rem;
  }
}
.homepage-promotions .promo-grid--row2 .content__text {
  width: 100%;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.homepage-promotions .promo-grid--row2 .content__text .content__headline {
  color: #fff;
  font-size: 1.75rem;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}
@media (min-width: 1025px) {
  .homepage-promotions .promo-grid--row2 .content__text .content__headline {
    font-size: 2.25rem;
    margin-bottom: 1.125rem;
  }
}
.homepage-promotions .promo-grid--row2 .content__text .content__subline {
  color: #fff;
  font-size: 0.9375rem;
  font-family: "TTNormsPro-Medium", sans-serif;
  margin-bottom: 1.5rem;
}
@media (min-width: 1025px) {
  .homepage-promotions .promo-grid--row2 .content__text .content__subline {
    font-size: 1.25rem;
    margin-bottom: 1.875rem;
  }
}

.homepage-recommended-prods {
  float: left;
  width: 100%;
}
