/**
 * TABLE OF CONTENTS
 *
 * SETTINGS
 * Global..................Globally-available variables and config.
 *
 * TOOLS
 * Mixins..................Useful mixins.
 *
 * COMPONENTS
 *
 *
 * MODULES
 *
 */
/*------------------------------------*\
  #SETTINGS
\*------------------------------------*/
/**
 * Returns the value of the `$key` value of a provided `$map`.
 */
/**
 * Uses `getProperty()` to return a value from the `$colors` map.
 */
/**
 * Uses `getProperty()` to return a value from the `$breakpoints` map.
 */
/*------------------------------------*\
  #TYPOGRAPHY
\*------------------------------------*/
/*------------------------------------*\
  #COLORS
\*------------------------------------*/
/*------------------------------------*\
  #ELEMENT-DEFAULTS
\*------------------------------------*/
/*------------------------------------*\
  #HEADER-DEFAULTS
\*------------------------------------*/
/*------------------------------------*\
  #HORIZONTAL-SPACING
\*------------------------------------*/
/*------------------------------------*\
  #BREAKPOINTS
\*------------------------------------*/
/*------------------------------------*\
  #TRANSITIONS
\*------------------------------------*/
/*------------------------------------*\
  #TOOLS
\*------------------------------------*/
/**
 * Responsive Mixin
 * This mixin is designed for a _cleaner_ first approach
 * This means that css isn't overridden but rather replaced for
 * different viewport widths; making it easier to inspect/debug css
 *
 * Usage:
 * @include media-query(exclude-medium)    { ... }
 * @include media-query(medium-up-to-site) 	   { ... }
 * ... etc
 */
/**
 * [Adds styles to allow an element's height scale proportionatelly]
 * @param  {[Number]} $width
 * @param  {[Number]} $height
 */
/**
 * [Calculates the percentage aspect ratio (what % height is compared to the width)]
 * @param  {[Number]} $width
 * @param  {[Number]} $height
 * @return {[Number(%)]}
 */
/**
 * *****REMEMBER TO USE MARGIN OR PADDING AND NOT TOP/BOTTOM******
 * [Calculates the center of an element in relation to a provided width and height.
 * Useful to place an absolute element at the center of another when
 * the positioned element cannot be the target's child ]
 * @param  {[Number]} $width
 * @param  {[Number]} $height
 * @return {[Number(%)]}
 */
/**
 * [In the  awful case you can't use Flexbox to vertically align something]
 * @param  {[type]} $transform:       false         [Use transforms to align instead of the absolute trick]
 * @param  {[type]} $pos:             absolute      [position type]
 * @param  {[type]} $posAdj:          0             [position adjustment. If $transform is true, this value only affects the 'top' property.]
 * @param  {[type]} $alignHorizontal: false         [Includes horizontal alignment]
 */
/**
 * Generate Enumerated Class
 * Iterates from 0 to the specified length and generates classes that set the specified property
 * @param  {[String]} $classname:       required      [Required: Specify the class name]
 * @param  {[String]} $property:        $classname    [Optional: Specify the enumerated property (if it's different from the name of the class)]
 * @param  {[Number]} $length:          10            [Optional: Specify the end of the loop]
 * @param  {[String]} $units:           null          [Optional: specify units to append to the enumerated property]
 */
/**
 * [Strip the pesky units from values]
 * @param  {[Number]} $value
 */
/**
 * [Fluid Type]
 */
/*------------------------------------*\
  #COMPONENTS
\*------------------------------------*/
.store-locator__head {
  margin-bottom: 1.25rem;
  font-size: 18px;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  letter-spacing: 0.03em; }
  @media (max-width: 47.9375rem) {
    .store-locator__head {
      font-size: 12px; } }

.store-locator .input-null-error {
  color: #b60000;
  font-size: 12px;
  padding-top: 5px; }

.store-count {
  text-align: center;
  border-bottom: 1px solid #dfdfdf;
  padding-bottom: 15px; }

@media (min-width: 48rem) {
  .store-locator {
    padding-top: 4rem;
    padding-bottom: 8rem; } }

@media (max-width: 47.9375rem) {
  .store-locator {
    padding-top: 3rem;
    padding-bottom: 4rem; } }

.find-store-locator-container .store-search-icon {
  position: absolute;
  top: 6px;
  left: 5px;
  margin-right: 20px;
  scale: 0.7; }

@media (max-width: 47.9375rem) {
  .find-store-locator-container .form-group {
    margin-bottom: 30px; } }

.find-store-locator-container .find-store-input-field {
  border: 1px solid #c3c3c3;
  padding-left: 40px;
  font-size: 14px;
  color: #231f20;
  height: 40px;
  /* Firefox */ }
  .find-store-locator-container .find-store-input-field ::-webkit-input-placeholder {
    color: #F6F6F8;
    font-size: 12px; }
  .find-store-locator-container .find-store-input-field.error-input {
    border: 1px solid #b60000 !important; }
  .find-store-locator-container .find-store-input-field::-webkit-outer-spin-button, .find-store-locator-container .find-store-input-field::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0; }
  .find-store-locator-container .find-store-input-field[type=number] {
    -moz-appearance: textfield; }

.find-store-locator-container .search-store-btn {
  height: 40px;
  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; }

.find-store-locator-container .store-data-results {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.find-store-locator-container address {
  padding-left: 40px; }

.find-store-locator-container .svg-sprite {
  scale: 0.7; }

label.store-locator__result-content a.link.link--underline-hover.store-hours {
  text-decoration: underline; }

.store-locator__detect-location {
  margin-top: 2rem;
  margin-bottom: 2rem; }

.store-locator__result-check:checked + .store-locator__result-content {
  background-color: #E6E9ED; }

.store-locator__result-content {
  display: block;
  padding: 1.25rem 0; }
  .store-locator__result-content:hover {
    cursor: pointer;
    background-color: #F6F6F8; }

.store-locator__results {
  overflow: auto; }
  .store-locator__results::-webkit-scrollbar {
    width: 8px;
    background-color: #f0f0f0;
    border-radius: 2px; }
  .store-locator__results::-webkit-scrollbar-thumb {
    width: 8px;
    background-color: #d5d5d5;
    border-radius: 2px; }

.store-locator__result-item {
  position: relative;
  border-bottom: solid 0.0625rem #E6E9ED; }

.store-locator__no-results {
  margin: auto; }

.store-locator__actions {
  padding-top: 1rem;
  padding-bottom: 1rem; }

.store-locator__container .product-pickup__selected {
  padding-left: 0; }

@media (min-width: 48rem) {
  .store-locator__results {
    max-height: 30rem; } }

@media (max-width: 47.9375rem) {
  .store-locator--modal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: inherit; }
    .store-locator--modal .store-locator__form {
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .store-locator--modal .store-locator__results {
      -ms-flex-negative: 1;
          flex-shrink: 1;
      max-height: none; }
    .store-locator--modal .store-locator__actions {
      margin-top: auto; }
  .store-locator__results {
    max-height: 22rem; } }

@media (min-width: 64.0625rem) {
  .store-locator__map {
    position: relative;
    height: 575px; }
    .store-locator__map:before {
      display: block;
      content: '';
      padding-bottom: 52.96804%;
      width: 100%; } }

@media (min-width: 48rem) and (max-width: 64rem) {
  .store-locator__map {
    position: relative; }
    .store-locator__map:before {
      display: block;
      content: '';
      padding-bottom: 75%;
      width: 100%; } }

@media (min-width: 48rem) {
  .store-locator__map-results {
    position: relative; }
    .store-locator__map-results .store-locator__results {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      max-height: 100%; } }

@media (max-width: 47.9375rem) {
  .store-locator__map {
    position: relative; }
    .store-locator__map:before {
      display: block;
      content: '';
      padding-bottom: 115.15152%;
      width: 100%; }
    .store-locator__map .store-locator__results {
      margin-bottom: 2rem; }
  .store-locator__results {
    max-height: 22rem; } }


/*# sourceMappingURL=storeLocatorMain.css.map*/