/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./node_modules/string-replace-loader/index.js??ruleSet[1].rules[3]!./cartridges/plugin_storelocator/cartridge/client/default/scss/store_locator.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*md
@no-stat

# Breakpoints

## Birkenstock breakpoints

Read more about [supported devices] https://confluence.birkenstock.com/display/LP/09.05+-+Test+Plan - iPhone 12, Samsung Galaxy S22 , IPad Air, iPad Pro 11'', 13'', Samsung Galaxy Tab A9 11'', Samsung Galaxy Tab S9+ 12.4', MS Windows desktop , Macbook Pro/ Macbook Air retina

** Please not iPad landscape - is LG breakpoint **

## Supported screen resolutions

Launch 360 is come "Retina ready". It supports MDPI and XHDPI pixel density across all site.

| Device             | Screen Resolution, CSS pixels | Pixel density |
|--------------------|-------------------------------|---------------|
| Desktop Windows PC                  | 1920x1080                     | MDPI          |
| Macbook pro 13                      | 1280x800 / 1440x900           | XHDPI         |
| Samsung Galaxy Tab S9 12.4'         | 1024x768                      | XHDPI         |
| iPad Pro 13''                       | 1366x1024                     | XHDPI         |
| iPad Pro 11''                       | 1194x834                      | XHDPI         |
| iPad Air 2                          | 1024x768                      | XHDPI         |
| iPhone 12                           | 390x844                       | XHDPI         |
| Samsung Galaxy S22                  | 360x780                       | XHDPI         |

## Supported screen scaling

Launch 360 comes with support of 1:1, 1:1.25, 1.5, 1:2 screen scaling. To do so you need
to take care not only by whole pixel but pixel fractions that is used.

*/
/*md
@no-stat

# Media queries (breakpoints)

We have a `media` mixin for make it easier to implement responsive styling via media queries.

You can nest them right within other blocks of CSS,which puts the properties and values you are changing right next
to each other.
That creates an obvious connection between them, which is a much nicer authoring experience than trying to maintain
those changes separated by tons of other code or in a different file.

## Configuration

**Site Layout Conception** details with examples you can find [here](https://confluence.ontrq.com/display/RSB/SFRA+-+Site+Layout+Conception)

`media` mixin works with `$media` map where `media-name: media query`

This is how `$media` map looks:

```scss
$media: (
	sm: 'screen and (max-width: 767px)',
	md: 'screen and (min-width: 768px) and (max-width: 1179px)',
	lg: 'screen and (min-width: 1180px) and (max-width: 1439px)',
	xl: 'screen and (min-width: 1440px)',
	md-up: 'screen and (min-width: 768px)',
	md-down: 'screen and (max-width: 1179px)',
	lg-up: 'screen and (min-width: 1180px)',
	lg-down: 'screen and (max-width: 1439px)'
);
```

## Usage

Here is how to use `media()` mixin:

```scss
.b-block {
	// styles outside of a media query

	@include media(md-up) {
		// styles for "m" and "l" viewports
	};

	@include media(sm) {
		// styles for "s" viewports
	};
}
```

Simply edit this file and add your own media queries to `$media` map.

*/
/*md
@no-stat

# Palette

This is palette settings for project/brand.
It divided into 2 main categories - palette and applied color.

* Palette is general set of colors. It could be used directly if you do not have themes.
* Applied colors designed as layer of abstraction to have ability to overwrite it on brand level.

All themes have individual logic so it almost impossible to implement some single
universal approach. Launch 360 provide basic tools for further customization
depending of your requirements.

Please see _colors.md for more information about themes.

*/
/*md
@no-stat

# Globals variables

This variables are set of different global settings that is used across sets of components.

It include:

* globals
* depth of components (box-shadow)
* motion of components

*/
/*md
@no-stat

# Z-indexes

Z-index is an inherently tricky thing, and maintaining z-index order in a complex layout is difficult.
With different stacking orders and contexts, keeping track of them as their numbers increase can be hard.
<br />
<br />
We use sass function to help manage z-indexes from single place.
The most important requirement of this technique is sticking to it.
Any rogue hard-coded z-index values could compromise the integrity of those derived from your list.

## Usage

**We don't use hardcoded integer `z-index` values. Instead, we use indexes from the map `$z-indexes`**

### 1. Set up `$z-indexes` map
```scss
$z-indexes: (
    components: (
        component_name: (),
        checkbox: (
            before: (),
            after: (),
            icon: (),
        )
    ),
    content: (),
    popup-menu: ()
);
```

### 2. Add values in SCSS classes using `z()` function

#### Global components
```scss
.b-components { z-index: z(components); }
.b-content { z-index: z(content); }
.b-pop_up-menu { z-index: z(popup-menu); }
```

#### Inside a component
```scss
.b-component_name { z-index: z(components, component_name); }
.b-checkbox {
    &-before { z-index: z(components, checkbox, before); }
    &-after { z-index: z(components, checkbox, after); }
    &-icon { z-index: z(components, checkbox, icon); }
}
```

### 3. Get resulting CSS
```scss
.b-components { z-index: 1; }
.b-content { z-index: 2; }
.b-pop_up-menu { z-index: 3; }

.b-component_name { z-index: 1; }
.b-checkbox-before { z-index: 1; }
.b-checkbox-after { z-index: 2; }
.b-checkbox-icon { z-index: 3; }
```

*/
/*md
@no-stat

# Grids

## How to setup grids config for project

### Several grid configs for project

We can use several grid configs per project. To do this, we need to add a new grid name to the `$grids` map with settings.

```scss
$grids: (
	default: (
		//...
	),
	altered: (
		//...
	)
);
```

### Gaps / margin / column span configuration:

```scss
$grids: (
	default: (
		grid-columns: ('xl': 12,   'lg': 12,   'md': 12,   'sm': 6),
		grid-gutter:  ('xl': 20px, 'lg': 20px, 'md': 16px, 'sm': 9px),
		grid-margin:  ('xl': 88px, 'lg': 60px, 'md': 32px, 'sm': 15px),
	)
);
```

## Working with grids

### Development approaches

#### 1. Using `g-grid` mixin when css grid is applicable.

With features of `display: grid`. Please see [g-grid](02-components-g-grid.html) details.

#### 2. Using `grid-span` function to create custom layout based on (flex, float, inline-block, table etc.)

Could be used in conjunction with different display properties while maintaining their common features(floating, centering, etc.).
Please see [grid-span](01-core-functions-grid-span.html) details.

As example please see [flex based non semantic grid](05-blocks-guide-l-cols.html) like you could see before CSS grid era (Foundation, Bootstrap etc.).

#### 3. Get gaps / margin / column span to create your own grid layout system.

For that we have the next grid functions in `_grids_tools.scss`:
- grid-gutter
- grid-margin
- grid-columns

Please see [grid functions](00-configuration-grids_tools.html) details with usage examples.
*/
/*md
@no-stat

# grid-* (grid config get functions)

This functions designed to get data from grid configuration config and
use it for creating grids or reuse grid configuration into different components.

* `grid-gutter`
* `grid-columns`
* `grid-margin`

## Usage

```scss

// Configuration:

$grids: (
	default: (
		grid-columns: ('xl': 12,   'lg': 12,   'md': 12,   'sm': 6),
		grid-gutter:  ('xl': 20px, 'lg': 20px, 'md': 16px, 'sm': 9px),
		grid-margin:  ('xl': 88px, 'lg': 60px, 'md': 32px, 'sm': 15px),
	),
	altered: (
		grid-columns: ('xl': 10,   'lg': 10,   'md': 10,   'sm': 6),
		grid-gutter:  ('xl': 10px, 'lg': 10px, 'md': 10px, 'sm': 10px),
		grid-margin:  ('xl': 40px, 'lg': 30px, 'md': 30px, 'sm': 20px),
	)
);

// Usage:

.component {
	padding: grid-gutter('lg'); // => grids -> 'default' -> grid-gutter -> lg = 20px
	padding: grid-gutter('lg', 'altered'); // => => grids -> 'altered' -> grid-gutter -> lg = 10px
}

.component-b {
	margin: grid-margin('lg');
	margin: grid-margin('lg', 'altered');

	@include media(sm) {
		margin: grid-margin('sm');
	}
}

.component-c {
	width: percentage(grid-columns('lg') / 4);

	@include media(sm) {
		width: percentage(grid-columns('sm') / 2);
	}
}
```
*/
/*md
@no-stat

# adjust-color-to-bg

This function used to adjust color of some element depending on provided background color.
As basis function using luminance with human-perceived criteria as breakpoint for colors
[See more details](http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef).

It is especially useful for crating flexible themes.

## Arguments

```
$backgroundColor - bg color
$colorInverse - color if bg is dark. If not provided would return $color-white
$colorNormal - color if bg is light. If not provided would return $color-text

adjust-color-to-bg($backgroundColor, $colorInverse, $colorNormal)
```

## Usage

```scss
.component {
	color: adjust-color-to-bg($color-bg-header-line-1);

	// => results default 'white' if background dark
	// => results default 'black' if background is light
}

.component-custom-inverse-color {
	color: adjust-color-to-bg($color-bg-footer, grey);

	// => results 'grey' if background dark
	// => results default 'black' if background is light
}

.component-all-custom-colors {
	color: adjust-color-to-bg($color-bg-footer, green, red);

	// => result 'green' if background dark
	// => result 'red' if background is light
}
```

Based on Hugo Giraudel [work](https://css-tricks.com/snippets/sass/luminance-color-function/)
*/
/*md
@no-stat

# grid-span

`grid-span` function returns the width which 1 or several columns are takes (including inner gutters).

It returns value in percents.

This could be used for direct set to **width, max-width, flex-basis, etc.** to create
custom grid layout.

### Parameters

```scss
@function grid-span($column: 1, $break: 'lg', $with-gutter: false, $grid: 'default')
```

## Examples

### Flex-basis example

```scss
.b-grid {
	display: flex;

	.b-grid__item {
		flex-basis: grid-span($column: 3);
	}
}
```

### Floated items example

```scss
.b-grid {
	.b-grid__item {
		float: left;
		width: grid-span($column: 2);
	}
}
```

### Inline-block items example

```scss
.b-grid {
	.b-grid__item {
		display: inline-block;
		max-width: grid-span($column: 2);
	}
}
```

Please see [grid](00-configuration-grids.html) for more grid usage examples.

*/
/*md
@no-stat

# aspect-ratio

This function used to get percentage value of aspect ratio color to use in `padding` to
create container for images.

This technique used to prevent content bouncing during load and create layout shifts.

Calculation. 16:9 Aspect Ratio would result `(9 / 16) * 100 = 0.5625%`.

See proposed [specs](https://drafts.csswg.org/css-sizing-4/#aspect-ratio)

## Arguments

```
$width - width of element
$height - height of element

=> percentage

aspect-ratio($width, $height)
```

## Usage

```scss
.component {
	padding-bottom: aspect-ratio(16, 9);
	padding-bottom: aspect-ratio(1920, 1080);
	padding-bottom: aspect-ratio(1920px, 1080px);
}

.b-suggestions-item_image {
	@include g-image_container(_container, aspect-ratio(16, 9));

	img {
		@include g-image_container(_img);
	}
}
```

*/
/*md

# opposite-position

This function returns the opposite direction of each direction in a list
$directions - List of initial directions

 ```scss
.b-component {
	border-opposite-position(top): $size solid $color;

	// ...
}
```

*/
/*md
@no-stat

# Hide

This mixin is especially useful for hiding text
or visually hide needed elements

Here is a list of parameters you can use:

* text - helps to hide text without losing visibility for parsers
* visually - like for text but for the whole element

## Usage

```scss
.component {
	@include hide(visually);
}

.h-hide_vis {
	@include hide(visually, true);
}
```
*/
/*md
@no-stat

# Hover-supported

This mixin is designed to address iOS standard behavior of first tap - hover,
second tap - click that is engaged when control has hover styles applied.

This is critical for functionality like back-top-button. If we apply hover styles as is.
It would be activated only after second tap.

If rules are wrapped into this media it applied only in case if device have fine
pointer mechanism. [See more info](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/pointer).

Please note about mixed input devices - touch screen + mouse + touchpad,
touchpad + trackpoint, touch screen + stylus ("apple pencil") etc. -
sometimes browser do not report it properly, so logic should be builded around
exclusions.

## Usage

```scss
.component {
	@include hover-supported {
		&:hover {
			// Hover styles that should not be applied to touch
		}
	};
}
```
*/
/*md
@no-stat

# RTL selector

This mixin is designed to alter styles for RTL languages.

It mostly needed for alter position:absolute left|right coords, but could be used
as facade for different selectors.

## Usage

```scss
.component {
	left: 0;
	@include rtl {
		left: initial;
		right: 0;
	};
}
```
*/
/*md

# Triangle helper mixin

$direction - Triangle direction, either `top`, `right`, `bottom` or `left`
$color - Triangle color
$size - Triangle size

 ```scss
.b-component {
	@include triangle(top, $color-primary, 12px);

	// ...
}
```

*/
/*md

# Shorthand mixin for offset positioning

$position - Either `relative`, `absolute` or `fixed`
$top - Top offset
$right - Right offset
$bottom - Bottom offset
$left - Left offset

 ```scss
.b-component {
	@include position(absolute, -8px, null, null, 12px);

	// ...
}
```

*/
/*md

# text_overflow

This is global mixin designed to reduce text lines and add "..." in the end.

## Usage

```scss
.component-link {
	@include text_overflow;
}

.component-link {
	@include text_overflow(2);
}
```

*/
/*md

# g-button

This component is designed to provide same styles of buttons
across different components.

## Usage

```scss
// for regular cases
.b-user_content-btn {
	@include g-button(primary_inverted);
}
```

*/
/*md

# g-button_icon_only

Designed to provide same styles of buttons that contain only icon (without any text)
across different components without explicit CSS class.

It is used for header menubar icons, hamburger menu items and dialog close button.

```scss
.b-dialog {
	// ...
	&-close {
		@include g-button_icon_only;
	}
}
```
*/
/*md

# g-radio

## Usage

Only one g-radio in a given group can be selected at the same time.

If user selects one option in the list that other options come to unselected.

`g-radio` has states: unchecked, checked, hover, disabled and invalid.

*/
/*md

# g-checkbox

This component is designed to provide same styles of checkboxes across different components.

## Usage

A `g-checkbox` is used for select or unselect action items.

It is always tied to `<label>` that describes two opposite states.

The component usually points to choose settings or preferences.

`g-checkbox` has states (unchecked, checked, hover, disabled and invalid).

```
*/
/*md

# g-spinner

Global spinner component applied to different blocks that fetch data.

Designed to use same style of spinner in different components and on particular breakpoints.
Ex: `b-minicart_popup`, `b-suggestions`, `b-plp_grid`, `b-product_details`, `b-cart` etc.

```scss
.b-product_gallery {
	&.m-loading_long::after {
		@include g-spinner();
	}
	// ...
}
```
*/
/*md

# g-text*

Some basic simple typography applied to different UI components.

This covers only very basic cases and could be extended.

```scss
.b-cart {
	// ...

	&-description {
		@include g-text_state;
	}
}
```
*/
/*md

# g-link

This component is designed to provide same styles of text-type links (hyperlinks)
across different components.

## Usage

```scss
// for regular cases
.b-user_content-link {
	@include g-link;
}
```

*/
/*md

# g-link_ui

This component is designed to provide consistent styles of UI-type links across
different UI components. For example links in header or footer, that expected to be more
like buttons and do not have attributes that expected for text links (hyperlinks) -
to be underlined, have visited state etc.

## Usage

```scss
// for regular cases
.b-menu_bar-item {
	@include g-link_ui;
}

// for cases when text color is inverted (white, red etc) and action color will not
// be good (ex blue hover state on red alert banner)
.b-component-link {
	@include g-link_ui(inherit);
}
```

*/
/*md

# g-link_hamburger

Hamburger menu generic link that used in several component.

Designed to use same style of hamburger link in different components
ex: menu, account link, language switcher etc.

```scss
.b-menu {
	// ...
	&-item {
		@include media(sm) {
			@include g-link_hamburger;
		}
	}
}
```
*/
/*md

# g-image_container

This is global component designed to hold image in place and preventing from layout bouncing during page load.

It based on `padding-bottom` trick. `padding-bottom` and `padding-top` relative units are based
on parent element `width`. So if you had an element that is 500px wide, and padding-top of 100%,
the padding-top would be 500px. [More info](https://css-tricks.com/aspect-ratio-boxes/)

```scss
.b-image_example {
	&.m-1-1 {
		@include g-image_container(_container, 100%);
	}

	img {
		@include g-image_container(_img);
	}
}
```

You could change aspect ration in mixin:

```scss
@include g-image_container(_container, 100%);   // 1:1
@include g-image_container(_container, 150%);   // 2:3
@include g-image_container(_container, 133%);   // 3:4
@include g-image_container(_container, 125%);   // 5:4
@include g-image_container(_container, 75%);    // 4:3
@include g-image_container(_container, 66.6%);  // 3:2
@include g-image_container(_container, 56.25%); // 16:9
```

But it is preferable to define only one aspect ration through all images and not change it.

Example of usage:
## 1:1

```html_example
<div style="width: 500px">
	<picture class="b-image_example m-1-1">
		<img
			loading="lazy"
			src="../images/guide/examples/guide_image_example.jpg?$staticlink$"
			alt="Some dummy alternative text for image."
		/>
	</picture>
</div>
```

## 4:3

```html_example
<div style="width: 500px">
	<picture class="b-image_example m-4-3">
		<img
			loading="lazy"
			src="../images/guide/examples/guide_image_example.jpg?$staticlink$"
			alt="Some dummy alternative text for image."
		/>
	</picture>
</div>
```

## 3:4

```html_example
<div style="width: 500px">
	<picture class="b-image_example m-3-4">
		<img
			loading="lazy"
			src="../images/guide/examples/guide_image_example.jpg?$staticlink$"
			alt="Some dummy alternative text for image."
		/>
	</picture>
</div>
```

## 3:2

```html_example
<div style="width: 500px">
	<picture class="b-image_example m-3-2">
		<img
			loading="lazy"
			src="../images/guide/examples/guide_image_example.jpg?$staticlink$"
			alt="Some dummy alternative text for image."
		/>
	</picture>
</div>
```

## 2:3

```html_example
<div style="width: 500px">
	<picture class="b-image_example m-2-3">
		<img
			loading="lazy"
			src="../images/guide/examples/guide_image_example.jpg?$staticlink$"
			alt="Some dummy alternative text for image."
		/>
	</picture>
</div>
```
*/
.b-image_example.m-1-1 {
  display: block;
  overflow: hidden;
  padding-bottom: 100%;
  position: relative;
  width: 100%;
}
.b-image_example.m-4-3 {
  display: block;
  overflow: hidden;
  padding-bottom: 75%;
  position: relative;
  width: 100%;
}
.b-image_example.m-3-4 {
  display: block;
  overflow: hidden;
  padding-bottom: 133%;
  position: relative;
  width: 100%;
}
.b-image_example.m-3-2 {
  display: block;
  overflow: hidden;
  padding-bottom: 66.6%;
  position: relative;
  width: 100%;
}
.b-image_example.m-2-3 {
  display: block;
  overflow: hidden;
  padding-bottom: 150%;
  position: relative;
  width: 100%;
}
.b-image_example img {
  border: none;
  bottom: 0;
  color: #ebebea;
  display: block;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}

/*md

# g-snap_scroll

Components that apply snap scroll CSS rules to different components and cases.

Designed to use same snap scroll functionality in different components and/or on
particular breakpoints.
Ex: b-carousel, b-product_gallery, .b-product_slider etc.

```scss
.b-product_gallery {
	&-thumbs_track {
		@include g-snap_scroll($direction: y);
	}
	// ...
}
```

[Snap scroll MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Scroll_Snap)

*/
/*md

# g-backdrop_dialog

Dialog window backdrop styles that used in several components and particular breakpoints.

Serve as overlay and container to hold dialog box inside + provide scroll on overflow.
This is solution for large dialogs that scrolled inside viewport.

```scss
.b-menu_panel {
	@include media(sm) {
		@include g-backdrop_dialog;
	}
	// ...
}
```
*/
/*md

# g-backdrop_panel

Backdrop (overlay) for panels designed to handle swipe-to-close animation.

Serve as regular overlay.

```scss
.b-menu_panel {
	@include media(sm) {
		@include g-backdrop_dialog;
	}
	// ...
}
```
*/
/*md

# g-section_holder

This is global component designed to hold some standalone section of the site
in the manner as it would be just wrapped into main container.

It could be used not only for standalone blocks, but also for page layouts.

```scss
.b-section {
	background: green;

	&-inner {
		@include g-section_holder;
	}
}
```
*/
/*md

# g-section_holder_narrow

Expected to use on checkout and shopping cart.
Need update in future.
Differs from other container (g-section_holder)
we need special component with different `max-width` and `margin` than
`section_holder`.

This is global component designed to hold narrow content of the site.

It could be removed and changed to `section_holder`.

```scss
.l-header-inner {
	background: green;

	&-inner {
		@include g-section_holder_narrow;
	}
}
```
*/
/*md

# g-heading_*

Basic simple typography styles applied to different UI components.

This covers only very basic cases and should be extended on project.

```scss
.b-cart_empty {
	// ...

	&-title {
		@include g-heading_1;

		margin-bottom: 32px;
	}
}
```
*/
/*md

# g-accordion

Global accordion component

*/
/*md

# g-grid

g-grid is layout component based on CSS grid.

It is designed to use project defined grid (see _grids.scss) into components where CSS grid is
applicable.

As the result this component declare CSS grid configuration. Ex:

```
// scss
@include g-grid();
// css
grid-gap: 20px;
grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
```

And that it could be used to place items inside this declared grid. Ex:

```scss
.b-grid {
	@include g-grid();

	.b-columns__item {
		@include media(lg-up) {
			grid-column: 2 / span 4;
			grid-row: 1 / 2;
		}

		@include media(md-down) {
			grid-column: grid-start / span 7;
		}
	}
}
```

Please see [grid](00-configuration-grids.html) for more grid usage examples.

*/
/*md

# g-drawer

This component is designed to provide same styles of popup(drawer)

*/
/*md

# g-scrollbar

Designed to modify the look of the browser's scrollbar.
Customization applies for Chrome, Edge, Safari and Opera browsers.
Firefox doesn't support full customization.

On storefront you can see the result on the minicart.

```scss
.b-components {
	@include g-scrollbar;
}
```
*/
.l-storelocator {
  margin: 0 auto;
  padding-left: 40px;
  padding-right: 40px;
  max-width: 1210px;
  padding-bottom: 48px;
}
@media screen and (min-width: 1180px) and (max-width: 1439.9px) {
  .l-storelocator {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1179.9px) {
  .l-storelocator {
    padding-left: 32px;
    padding-right: 32px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-storelocator {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.l-storelocator .l-storelocator {
  padding: 0;
}
.l-storelocator.m-store_list {
  max-width: 900px;
}
.l-storelocator-results {
  display: grid;
  margin-top: 48px;
}
@media screen and (min-width: 1440px) {
  .l-storelocator-results {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 1180px) and (max-width: 1439.9px) {
  .l-storelocator-results {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 768px) and (max-width: 1179.9px) {
  .l-storelocator-results {
    grid-gap: 16px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (max-width: 767.9px) {
  .l-storelocator-results {
    grid-gap: 10px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
  }
}
@media screen and (max-width: 1179.9px) {
  .l-storelocator-results {
    display: flex;
    flex-flow: column-reverse;
    grid-gap: 0;
    margin-top: 32px;
    position: relative;
  }
  .l-storelocator-results:has(.b-storelocator_results-filters) {
    padding-top: 48px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-storelocator-results:has(.b-storelocator_results-filters) {
    padding-top: 92px;
  }
}
@media screen and (min-width: 768px) {
  .l-storelocator-results_content {
    grid-column: span 6;
  }
}
@media screen and (min-width: 1180px) {
  .l-storelocator-results_content {
    position: relative;
  }
}
.l-storelocator-details {
  margin-top: 60px;
}
.l-storelocator-details_info {
  display: grid;
  margin-top: 32px;
}
@media screen and (min-width: 1440px) {
  .l-storelocator-details_info {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 1180px) and (max-width: 1439.9px) {
  .l-storelocator-details_info {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 768px) and (max-width: 1179.9px) {
  .l-storelocator-details_info {
    grid-gap: 16px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (max-width: 767.9px) {
  .l-storelocator-details_info {
    grid-gap: 10px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
    display: flex;
    flex-flow: column;
    grid-gap: 0;
    margin-top: 0;
  }
}
@media screen and (min-width: 1180px) {
  .l-storelocator-details_info.m-bottom {
    margin-top: 68px;
  }
}
@media screen and (min-width: 768px) {
  .l-storelocator-details_info.m-bottom {
    margin-top: 56px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-storelocator-details_info_content {
    margin-top: 40px;
  }
}
@media screen and (min-width: 768px) {
  .l-storelocator-details_info_content {
    grid-column: span 6;
  }
}
.l-storelocator-details_info_content.m-width_full {
  grid-column: span 12;
}
.l-storelocator-nearest_stores {
  margin: 36px 0;
}
@media screen and (min-width: 1180px) {
  .l-storelocator-nearest_stores {
    margin: 56px 0 40px;
  }
}

/*md

# Form

Form component designed to style basic form elements.

## Form elements

Form have 3 basic elements:

* title
* description
* message

```
form.b-form
	div.b-form-title
	div.b-form-description
	div.b-form-message

	// fields here

	// actions here
```

```html_example
<form
	class="b-form"
	action="/endpoint"
>
	<div class="b-form-title">
		Contact us
	</div>

	<div class="b-form-description">
		Customer service is available on 1-888-222-3380, via email $tools.sitePref.getValue('customerServiceEmail') or you can send us a message using the form
	</div>

	<div class="b-form-message b-message m-error" role="alert">
		Form error message here
	</div>
</form>
```

## Form structure

### Form fields (`b-form_field`)

Forms are built with a combination of standard form elements (b-input, b-select etc)
within `.b-form_field` wrapper that holds label, errors and caption for each field.

```
form.b-form
	div.b-form-title

	div.b-form_field
		label.b-form_field-label
		input.b-input
```

```html_example
<form
	class="b-form"
	action="/endpoint"
>
	<div class="b-form-title">Form title</div>

	<div class="b-form_field" data-widget="inputText">
		<label class="b-form_field-label" data-ref="label" for="input-1-example-1">
			Form section label
		</label>
		<input class="b-input" data-ref="field" type="text" id="input-1-example-1" />
	</div>
</form>
```

### Form actions (`b-form_actions`)

Form action represented as separate component that could hold one or several buttons.
And could provide different layouts for it.

```
form.b-form
	div.b-form-title

	div.b-form_field
		label.b-form_field-label
		input.b-input

	div.b-form_actions
		button.b-form_actions-button_first
```

```html_example
<form
	class="b-form"
	action="/endpoint"
>
	<div class="b-form-title">Form title</div>

	<div class="b-form_field" data-widget="inputText">
		<label class="b-form_field-label" data-ref="label" for="input-1-example-1">
			Form section label
		</label>
		<input class="b-input" data-ref="field" type="text" id="input-1-example-1" />
	</div>

	<div class="b-form_actions">
        <button
            type="submit"
            class="b-form_actions-button_first b-button"
        >
            Submit
        </button>
    </div>
</form>
```

### Form sets (`b-form_set`)

Form fields could be organized to set. Please see [appropriate doc](05-blocks-common-forms-b-form_set.html).

### Form group (`b-form_group_date`)

Form fields could be organized to groups. Please see [appropriate doc](05-blocks-common-forms-b-form_group_date.html).

### Form full structure

```html_example
<form
	class="b-form"
	id="shipping"
	style="border: 3px solid #5dcc25; padding: 40px 10px 10px; position: relative;"
>
	<span style="position: absolute;top: 0;right: 4px;color: #5dcc25;font-weight: bold;font-size: 17px;">b-form</span>

	<div class="b-form-title">Form title</div>

	<div class="b-form-description">Form description text</div>

	<div class="b-form-message b-message m-error" role="alert">
		Form level error message
	</div>

	<div style="border: 3px solid #af98ec; padding: 40px 10px 10px; position: relative;">
		<span style="position: absolute; top: 0; right: 4px; color: #af98ec; font-weight: bold; font-size: 17px;">b-form_set</span>

		<fieldset class="b-form_set">
			<legend class="b-form_set-label">
				Form set label
			</legend>

			<div
				class="b-form_field"
				style="border: 3px solid #fd2263; padding: 40px 10px 10px; position: relative;"
			>
				<span style="position: absolute; top: 0; right: 4px; color: #fd2263; font-weight: bold; font-size: 17px;">b-form_field</span>
				<label class="b-form_field-label" data-ref="label" for="form-full-input-1">
					Form field label
				</label>
				<input class="b-input" data-ref="field" type="text" id="form-full-input-1">
			</div>

			<div
				class="b-form_field"
				style="border: 3px solid #fd2263; padding: 40px 10px 10px; position: relative;"
			>
				<span style="position: absolute; top: 0; right: 4px; color: #fd2263; font-weight: bold; font-size: 17px;">b-form_field</span>
				<label class="b-form_field-label" data-ref="label" for="form-full-input-2">
					Form field label
				</label>
				<input class="b-input" data-ref="field" type="text"  id="form-full-input-2">
			</div>
		</fieldset>
	</div>
</form>
```

*/
.b-form {
  position: relative;
}
.b-form[aria-busy=true]::after {
  background-color: #ffffff;
  bottom: 0;
  content: "";
  cursor: wait;
  left: 0;
  opacity: 0.5;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}
.b-form.m-contact_us .b-form_actions-button_first {
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  height: 48px;
  justify-content: center;
  max-width: 100%;
  text-decoration: none;
  text-transform: uppercase;
  transition: ease-out 150ms;
  transition-property: background-color, color, border;
  -webkit-user-select: none;
          user-select: none;
  vertical-align: top;
  white-space: nowrap;
  background: #282727;
  border-color: #ffffff;
  color: #ffffff;
}
@media not all and (pointer: coarse) {
  .b-form.m-contact_us .b-form_actions-button_first:hover {
    background: transparent;
    border-color: #282727;
    color: #282727;
  }
}
.b-form.m-contact_us .b-form_actions-button_first:active {
  background: transparent;
  border-color: #282727;
  color: #282727;
}
.b-form-title {
  font-family: var(--care-essentials-font, "DIN Next CYR", "Arial", "Helvetica", sans-serif);
  font-size: 40px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 0.96;
  margin-bottom: 32px;
}
@media screen and (max-width: 1179.9px) {
  .b-form-title {
    font-size: 32px;
    line-height: 0.98;
  }
}
html[dir=rtl] .b-form-title {
  letter-spacing: 0;
}
.b-form-title.m-sub_section {
  margin-bottom: 0;
  margin-top: 20px;
}
.b-form-description {
  margin-bottom: 20px;
  padding: 8px 0;
}
.b-form-message {
  margin-bottom: 20px;
}
.b-form-message.m-highlighted {
  font-weight: 700;
}
.b-form-message.m-payment_restrictions {
  margin-bottom: 24px;
}
.b-checkout_step-content .b-shipping_method-radio_selector .b-form-message.m-error {
  margin-bottom: 0;
}
.b-form-message_container {
  margin: 0 auto;
  max-width: 1920px;
  padding-left: 40px;
  padding-right: 40px;
  margin: 36px auto 20px;
}
@media screen and (min-width: 1180px) and (max-width: 1439.9px) {
  .b-form-message_container {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1179.9px) {
  .b-form-message_container {
    padding-left: 32px;
    padding-right: 32px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-form-message_container {
    padding-left: 16px;
    padding-right: 16px;
    margin: 32px auto 0;
  }
}

.b-checkout_step .b-form.m-login .b-form-message {
  margin-top: 32px;
}

.b-form.m-set_password {
  width: 100%;
}

.b-form.m-reset_password .b-form_title {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 14px;
  margin-bottom: 20px;
}
html[dir=rtl] .b-form.m-reset_password .b-form_title {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-form.m-reset_password .b-form_title, .b-dialog.m-care_essentials-product .b-form.m-reset_password .b-form_title {
  letter-spacing: normal;
}

/*md

# b-promo_caption

Promo caption is the content of promo components.

## Structure

`b-promo_caption` consist from 3 main elements:

* title
* subtitle
* actions container

All of this elements are optional.

## Variation

For sake of simpleness and robustness Launch 360 do not provide predefined sizes and styles
variations.

## Examples

### All elements

```html_example
<div class="b-promo_caption">
	<h2 class="b-promo_caption-title">
		Shop Now. Pay Later.
		Exclusively for Members
	</h2>
	<p class="b-promo_caption-subtitle">
		Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
	</p>
	<div class="b-promo_caption-actions">
		<a
			class="b-button m-outline"
			href="$url('Search-Show', 'cgid', 'category-2')$"
		>
			Activate
		</a>
	</div>
</div>
```

### Different order

```html_example
<div class="b-promo_caption">
	<p class="b-promo_caption-subtitle">
		Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
	</p>
	<h2 class="b-promo_caption-title">
		Shop Now. Pay Later.
		Exclusively for Members
	</h2>
	<div class="b-promo_caption-actions">
		<a
			class="b-button m-outline"
			href="$url('Search-Show', 'cgid', 'category-2')$"
		>
			Activate
		</a>
	</div>
</div>
```

### Only title and CTA

```html_example
<div class="b-promo_caption">
	<h2 class="b-promo_caption-title">
		Shop Now. Pay Later.
	</h2>
	<div class="b-promo_caption-actions">
		<a
			class="b-button m-outline"
			href="$url('Search-Show', 'cgid', 'category-2')$"
		>
			Join
		</a>
	</div>
</div>
```

### 2 CTA

```html_example
<div class="b-promo_caption">
	<h2 class="b-promo_caption-title">
		New spring collections
	</h2>
	<div class="b-promo_caption-actions">
		<a
			class="b-button m-outline"
			href="$url('Search-Show', 'cgid', 'category-2')$"
		>
			Men
		</a>
		<a
			class="b-button m-outline"
			href="$url('Search-Show', 'cgid', 'category-2')$"
		>
			Woman
		</a>
	</div>
</div>
```

### 3 CTA

```html_example
<div class="b-promo_caption">
	<h2 class="b-promo_caption-title">
		New spring collections
	</h2>
	<div class="b-promo_caption-actions">
		<a
			class="b-button m-outline"
			href="$url('Search-Show', 'cgid', 'category-2')$"
		>
			Men
		</a>
		<a
			class="b-button"
			href="$url('Search-Show', 'cgid', 'category-2')$"
		>
			Woman
		</a>
		<a
			class="b-button m-link"
			href="$url('Search-Show', 'cgid', 'category-2')$"
		>
			Kids
		</a>
	</div>
</div>
```

### Without CTA

```html_example
<a
	class="b-promo_caption"
	href="$url('Search-Show', 'cgid', 'category-2')$"
>
	<h2 class="b-promo_caption-title">
		New spring collections
	</h2>
	<p class="b-promo_caption-subtitle">
		Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
	</p>
</a>
```

## Example in component

### b-promo_info_box

```html_example
<div class="b-promo_info_box">
	<div class="b-promo_info_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Shop Now. Pay Later. <br/>
			Exclusively for Members
		</h2>
		<p class="b-promo_caption-subtitle">
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
		</p>
		<div class="b-promo_caption-actions">
			<a class="m-outline b-button" href="$url('Search-Show', 'cgid', 'category-2')$">
				Join today
			</a>
		</div>
	</div>
</div>
```

### b-promo-box

```html_example
<figure class="b-promo_box">
	<picture class="b-promo_box-picture">
		<source type="image/jpeg" media="(max-width: 767px)"
				srcset="../images/guide/examples/banner-16x9-sm.jpg?$staticlink$, ../images/guide/examples/banner-16x9-sm@2x.jpg?$staticlink$ 2x" />
		<source type="image/jpeg" media="(min-width: 768px) and (max-width: 1024px)"
				srcset="../images/guide/examples/banner-16x9-md.jpg?$staticlink$, ../images/guide/examples/banner-16x9-md@2x.jpg?$staticlink$ 2x" />
		<source type="image/jpeg" media="(min-width: 1025px)"
				srcset="../images/guide/examples/banner-16x9-lg.jpg?$staticlink$, ../images/guide/examples/banner-16x9-lg@2x.jpg?$staticlink$2x" />
		<img
			loading="lazy"
			src="../images/guide/examples/banner-16x9-lg.jpg?$staticlink$"
			alt="Some dummy alternative text for image."
			width="1600"
			height="800"
		/>
	</picture>
	<figcaption class="b-promo_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Explore More Possibilities
		</h2>
		<p class="b-promo_caption-subtitle">
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
		</p>
		<div class="b-promo_caption-actions">
			<a
				class="b-button"
				href="$url('Search-Show', 'cgid', 'category-2')$"
			>
				Shop Now
			</a>
		</div>
	</figcaption>
</figure>
```

*/
.b-promo_caption {
  align-self: center;
}
.b-promo_caption-title {
  font-family: var(--care-essentials-font, "DIN Next CYR", "Arial", "Helvetica", sans-serif);
  font-size: 48px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 0.92;
  margin: 0 0 20px;
}
@media screen and (max-width: 1179.9px) {
  .b-promo_caption-title {
    font-size: 40px;
    line-height: 0.96;
  }
}
html[dir=rtl] .b-promo_caption-title {
  letter-spacing: 0;
}
.b-promo_caption-subtitle {
  font-weight: 500;
  margin: 0 0 20px;
}
.b-promo_caption-actions {
  align-items: baseline;
  display: inline-flex;
  flex-wrap: wrap;
  margin: 24px -16px 0;
}
.b-promo_caption-actions a {
  margin: 0 16px 12px;
}

/*md

# b-promo_info_box

This is type of container for banners that hold only text content. It do not have aspect ratio holder
and it stretched/pulled by text content.

So it could easily hold any amount of text content without issues on any breakpoints.

```html_example
<div class="b-promo_info_box">
	<div class="b-promo_info_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Shop Now. Pay Later. <br/>
			Exclusively for Members
		</h2>
		<p class="b-promo_caption-subtitle">
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
		</p>
		<div class="b-promo_caption-actions">
			<a class="m-outline b-button" href="$url('Search-Show', 'cgid', 'category-2')$">
				Join
			</a>
		</div>
	</div>
</div>
```

## Big amount of text

```html_example
<div class="b-promo_info_box">
	<div class="b-promo_info_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Shop Now. Pay Later. <br/>
			Exclusively for Members <br/>
			But not
		</h2>
		<p class="b-promo_caption-subtitle">
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
			<br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
			<br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
		</p>
		<div class="b-promo_caption-actions">
			<a class="m-outline b-button" href="$url('Search-Show', 'cgid', 'category-2')$">
				Join
			</a>
		</div>
	</div>
</div>
```

## Small amount of text

```html_example
<div class="b-promo_info_box">
	<div class="b-promo_info_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Shop Now. Pay Later.
		</h2>
		<p class="b-promo_caption-subtitle">
			Join our Loyalty Program and try before you buy.
		</p>
		<div class="b-promo_caption-actions">
			<a class="m-outline b-button" href="$url('Search-Show', 'cgid', 'category-2')$">
				Join
			</a>
		</div>
	</div>
</div>
```

*/
.b-promo_info_box {
  display: grid;
  background: #ebedf6;
  color: #001489;
}
@media screen and (min-width: 1440px) {
  .b-promo_info_box {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 1180px) and (max-width: 1439.9px) {
  .b-promo_info_box {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 768px) and (max-width: 1179.9px) {
  .b-promo_info_box {
    grid-gap: 16px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (max-width: 767.9px) {
  .b-promo_info_box {
    grid-gap: 10px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
  }
}
.b-promo_info_box-caption {
  grid-column: 1/grid-end;
  grid-row: 1/2;
  padding: 48px 16px;
  text-align: center;
}

.b-load_progress {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 60px;
}
@media screen and (max-width: 767.9px) {
  .b-load_progress {
    margin-top: 46px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1179.9px) {
  .l-page.m-care_essentials .b-load_progress {
    margin-top: 64px;
  }
}
.b-load_progress.m-store_list {
  margin: 32px 0;
  width: 100%;
}
.b-load_progress-description {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 14px;
  margin-bottom: 10px;
}
html[dir=rtl] .b-load_progress-description {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-load_progress-description, .b-dialog.m-care_essentials-product .b-load_progress-description {
  letter-spacing: normal;
}
.b-load_progress-indicator {
  background-color: #ebebea;
  border-radius: 6px;
  height: 3px;
  overflow: hidden;
  width: 100%;
}
.b-load_progress-value {
  background-color: #282727;
  height: 100%;
}

.b-storelocator_search {
  margin: 24px 0 32px;
}
@media screen and (max-width: 1179.9px) {
  .b-storelocator_search {
    margin-bottom: 0;
  }
}
.b-storelocator_search-top {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767.9px) {
  .b-storelocator_search-top {
    align-items: flex-start;
    flex-flow: column;
  }
}
.b-storelocator_search-search_again {
  font-family: var(--care-essentials-font, "DIN Next CYR", "Arial", "Helvetica", sans-serif);
  font-size: 72px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 0.9;
  text-transform: capitalize;
}
@media screen and (max-width: 1179.9px) {
  .b-storelocator_search-search_again {
    font-size: 48px;
    line-height: 0.92;
  }
}
html[dir=rtl] .b-storelocator_search-search_again {
  letter-spacing: 0;
}
.b-storelocator_search-link {
  align-items: center;
  display: flex;
  margin-inline-start: 28px;
}
.b-storelocator_search-link_icon {
  display: inline-block;
  inset-inline-start: 0;
  padding-inline-end: 8px;
  position: absolute;
  transform: translateX(-100%);
}
html[dir=rtl] .b-storelocator_search-link_icon {
  transform: translateX(100%);
}
.b-storelocator_search-link_icon svg {
  height: 20px;
  width: 20px;
}
.b-storelocator_search-link_text {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 14px;
}
html[dir=rtl] .b-storelocator_search-link_text {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_search-link_text, .b-dialog.m-care_essentials-product .b-storelocator_search-link_text {
  letter-spacing: normal;
}
.b-storelocator_search-icon {
  color: #001489;
  text-align: center;
}
.b-storelocator_search-title {
  font-family: var(--care-essentials-font, "DIN Next CYR", "Arial", "Helvetica", sans-serif);
  font-size: 40px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 0.96;
  margin: 12px 0 16px;
  text-align: center;
}
@media screen and (max-width: 1179.9px) {
  .b-storelocator_search-title {
    font-size: 32px;
    line-height: 0.98;
  }
}
html[dir=rtl] .b-storelocator_search-title {
  letter-spacing: 0;
}
@media screen and (max-width: 767.9px) {
  .b-storelocator_search-title {
    margin: 16px 0 28px;
  }
}
.b-storelocator_search-input_wrap {
  display: flex;
  position: relative;
}
.b-storelocator_search-input_wrap .b-form_field {
  margin-bottom: 16px;
}
.b-storelocator_search-input_wrap .b-form_field-required_mark {
  display: none;
}
.b-storelocator_search-input_wrap .b-input {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-inline-end: 90px;
}
.b-storelocator_search-input_wrap .b-input.m-valid {
  background: none;
  padding-inline-end: 90px;
}
.b-storelocator_search-error {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 14px;
  background-color: #ebedf6;
  border: 1px solid #001489;
  border-radius: 4px;
  margin: 0 auto;
  align-items: center;
  color: #282727;
  cursor: default;
  display: flex;
  background-color: #fbeded;
  border-color: #d01d1b;
  visibility: visible;
  margin-top: 16px;
  padding: 16px;
}
html[dir=rtl] .b-storelocator_search-error {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_search-error, .b-dialog.m-care_essentials-product .b-storelocator_search-error {
  letter-spacing: normal;
}
.b-storelocator_search-error::before {
  content: url("./images/icons/info.svg");
  height: 24px;
  margin-bottom: auto;
  margin-inline-end: 12px;
  width: 24px;
  content: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12.0002 2.79995C6.91918 2.79995 2.8002 6.91893 2.8002 12C2.8002 17.081 6.91918 21.2 12.0002 21.2C17.0812 21.2 21.2002 17.081 21.2002 12C21.2002 6.91893 17.0812 2.79995 12.0002 2.79995ZM1.2002 12C1.2002 6.03528 6.03552 1.19995 12.0002 1.19995C17.9649 1.19995 22.8002 6.03528 22.8002 12C22.8002 17.9646 17.9649 22.7999 12.0002 22.7999C6.03552 22.7999 1.2002 17.9646 1.2002 12Z' fill='%23d01d1b'/%3E%3Cpath d='M12.025 18.65C11.45 18.65 11 18.2 11 17.625C11 17.05 11.45 16.6 12.025 16.6C12.575 16.6 13.05 17.083 13.05 17.625C13.05 18.192 12.6 18.65 12.025 18.65Z' fill='%23d01d1b'/%3E%3Cpath d='M11.9932 14.317C11.5352 14.317 11.1602 13.942 11.1602 13.484V5.63403C11.1602 5.17603 11.5352 4.80103 11.9932 4.80103C12.4512 4.80103 12.8262 5.17603 12.8262 5.63403V13.484C12.8262 13.942 12.4512 14.317 11.9932 14.317Z' fill='%23d01d1b'/%3E%3C/svg%3E%0A");
}
.b-storelocator_search-clear {
  inset-inline-end: 54px;
}
.b-storelocator_search-submit {
  inset-inline-end: 16px;
}
.b-storelocator_search-clear, .b-storelocator_search-submit {
  top: 11px;
}
.b-storelocator_search-clear::after, .b-storelocator_search-submit::after {
  display: none;
}
.b-storelocator_search-clear.m-link, .b-storelocator_search-submit.m-link {
  position: absolute;
}

.b-storelocator_content-top + .b-storelocator_top {
  margin: 32px 0 0;
}
@media screen and (min-width: 1180px) {
  .b-storelocator_content-top + .b-storelocator_top {
    margin-top: 64px;
  }
}
.b-storelocator_content-bottom {
  margin-top: 48px;
}
@media screen and (min-width: 1180px) {
  .b-storelocator_content-bottom {
    margin-top: 80px;
  }
}

.b-storelocator_top {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
  margin: 24px 0 0;
}
@media screen and (max-width: 1179.9px) {
  .l-storelocator-details .b-storelocator_top {
    margin-top: 28px;
  }
}
.b-storelocator_top-info {
  width: 100%;
}
.b-storelocator_top-title {
  font-family: var(--care-essentials-font, "DIN Next CYR", "Arial", "Helvetica", sans-serif);
  font-size: 48px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 0.92;
}
@media screen and (max-width: 1179.9px) {
  .b-storelocator_top-title {
    font-size: 40px;
    line-height: 0.96;
  }
}
html[dir=rtl] .b-storelocator_top-title {
  letter-spacing: 0;
}
.b-storelocator_top-subtitle {
  display: flex;
  font-size: 16px;
  font-weight: 300;
  justify-content: space-between;
  margin-top: 24px;
}
@media screen and (max-width: 767.9px) {
  .b-storelocator_top-subtitle {
    display: block;
    margin-bottom: 16px;
  }
}
.b-storelocator_top-address {
  font-weight: 600;
}
@media screen and (max-width: 767.9px) {
  .b-storelocator_top-actions {
    display: flex;
    flex-direction: column;
    margin-top: 16px;
  }
}
.b-storelocator_top-link {
  position: relative;
  align-items: center;
  border-radius: 4px;
  cursor: pointer;
  display: inline-flex;
  text-decoration: none;
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  font-weight: 400;
  line-height: 1.4;
  font-size: 14px;
}
.b-storelocator_top-link.m-disabled::after, .b-storelocator_top-link:disabled::after, .b-storelocator_top-link[disabled]::after {
  background: #898992;
}
.b-storelocator_top-link::after {
  background: currentcolor;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  right: 0;
  transition: transform ease-out 150ms;
  width: 100%;
  transform: scaleX(1);
}
.b-storelocator_top-link:hover::after, .b-storelocator_top-link:active::after {
  transform: scaleX(0);
}
.b-storelocator_top-link.m-disabled, .b-storelocator_top-link:disabled, .b-storelocator_top-link[disabled] {
  color: #898992;
  pointer-events: none;
}
html[dir=rtl] .b-storelocator_top-link {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_top-link, .b-dialog.m-care_essentials-product .b-storelocator_top-link {
  letter-spacing: normal;
}

@media screen and (min-width: 768px) and (max-width: 1179.9px) {
  .b-storelocator_map {
    margin-left: -32px;
    margin-right: -32px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-storelocator_map {
    margin-left: -16px;
    margin-right: -16px;
  }
}
.b-storelocator_map-content {
  display: block;
  overflow: hidden;
  padding-bottom: 40%;
  position: relative;
  width: 100%;
  height: 240px;
  padding: 0;
  transition: height cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.2s;
}
@media screen and (min-width: 1180px) {
  .b-storelocator_map-content {
    height: 90vh;
  }
}
.b-storelocator_map-content.m-expanded {
  height: 500px;
}
.b-storelocator_map-expand {
  position: relative;
  text-align: center;
  top: -24px;
}
@media screen and (min-width: 1180px) {
  .b-storelocator_map-expand {
    display: none;
  }
}
.b-storelocator_map-expand .b-storelocator_map-expand_btn {
  border-color: #282727;
}

.b-storelocator_banner {
  display: flex;
}
.b-storelocator_banner-img {
  width: 100%;
}

.b-storelocator_results {
  margin-top: 8px;
}
@media screen and (min-width: 1180px) {
  .b-storelocator_results {
    display: flex;
    flex-direction: column;
    margin-inline-end: 44px;
    margin-top: 0;
    max-height: 100%;
    position: relative;
  }
}
.b-storelocator_results-filters {
  display: flex;
  gap: 20px;
  padding-bottom: 20px;
}
@media screen and (max-width: 767.9px) {
  .b-storelocator_results-filters {
    flex-direction: column;
  }
}
@media screen and (min-width: 1180px) {
  .b-storelocator_results-filters {
    align-items: center;
    justify-content: space-between;
  }
}
@media screen and (max-width: 1179.9px) {
  .b-storelocator_results-filters {
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }
}
@media screen and (min-width: 1180px) {
  .b-storelocator_results-filters .b-checkbox {
    align-items: center;
    flex: auto;
  }
}
.b-storelocator_results-filters .b-checkbox-label {
  align-items: center;
  display: flex;
  gap: 6px;
}
.b-storelocator_results-filters .b-checkbox-label::before {
  background: url("./images/icons/bs-store-pin.svg") no-repeat center;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 20px;
  margin-inline-end: 3px;
  width: 20px;
}
.b-storelocator_results-filters .b-checkbox-label.m-store_type-2::before {
  background-image: url("./images/icons/partner-store-pin.svg");
}
.b-storelocator_results-filter_item.m-disabled {
  color: #898992;
  pointer-events: none;
}
.b-storelocator_results-list {
  margin-bottom: calc(48px + 35px);
}
.b-storelocator_results-list::-webkit-scrollbar {
  height: 4px;
  width: 4px;
}
.b-storelocator_results-list::-webkit-scrollbar-thumb {
  background: #282727;
  border-radius: 11px;
}
.b-storelocator_results-list::-webkit-scrollbar-track {
  background: #ebebea;
  border-radius: 11px;
}
@media screen and (min-width: 1180px) {
  .b-storelocator_results-list {
    flex-basis: 0;
    flex-grow: 1;
    margin-bottom: calc(48px + 20px);
    overflow-y: auto;
    padding-inline-end: 24px;
  }
}
.b-storelocator_results-list.m-full_list {
  margin-bottom: 0;
}
@media screen and (min-width: 1180px) {
  .l-storelocator-nearest_stores .b-storelocator_results-list {
    display: grid;
  }
}
@media screen and (min-width: 1180px) and (min-width: 1440px) {
  .l-storelocator-nearest_stores .b-storelocator_results-list {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 1180px) and (min-width: 1180px) and (max-width: 1439.9px) {
  .l-storelocator-nearest_stores .b-storelocator_results-list {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 1180px) and (min-width: 768px) and (max-width: 1179.9px) {
  .l-storelocator-nearest_stores .b-storelocator_results-list {
    grid-gap: 16px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 1180px) and (max-width: 767.9px) {
  .l-storelocator-nearest_stores .b-storelocator_results-list {
    grid-gap: 10px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
  }
}
@media screen and (max-width: 767.9px) {
  .l-storelocator-nearest_stores .b-storelocator_results-list {
    box-shadow: none;
    padding: 0;
  }
}
.b-storelocator_results-list_title {
  font-family: var(--care-essentials-font, "DIN Next CYR", "Arial", "Helvetica", sans-serif);
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 0.98;
  margin: 12px 0 24px;
}
@media screen and (max-width: 1179.9px) {
  .b-storelocator_results-list_title {
    font-size: 24px;
    line-height: 1.02;
  }
}
html[dir=rtl] .b-storelocator_results-list_title {
  letter-spacing: 0;
}
.b-storelocator_results-load_more {
  bottom: 0;
  left: 0;
  margin-top: 32px;
  position: absolute;
  text-align: center;
  width: 100%;
}
.l-storelocator-nearest_stores .b-storelocator_results-load_more {
  display: none;
}
.b-storelocator_results-load_more_btn {
  width: 100%;
}
@media screen and (min-width: 768px) and (max-width: 1179.9px) {
  .b-storelocator_results-load_more_btn {
    width: auto;
  }
}
.b-storelocator_results .b-load_progress {
  margin-top: 12px;
}
@media screen and (min-width: 1180px) {
  .b-storelocator_results .b-load_progress {
    display: none;
  }
}

.b-storelocator_no_results {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.4;
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 40px;
  text-align: center;
}
html[dir=rtl] .b-storelocator_no_results {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_no_results, .b-dialog.m-care_essentials-product .b-storelocator_no_results {
  letter-spacing: normal;
}
@media screen and (min-width: 768px) and (max-width: 1179.9px) {
  .b-storelocator_no_results {
    margin-top: 48px;
  }
}
@media screen and (min-width: 1180px) {
  .b-storelocator_no_results {
    margin-top: 24px;
  }
}
.b-storelocator_no_results-icon {
  height: 40px;
  width: 40px;
}
.b-storelocator_no_results-title {
  font-family: var(--care-essentials-font, "DIN Next CYR", "Arial", "Helvetica", sans-serif);
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 0.98;
}
@media screen and (max-width: 1179.9px) {
  .b-storelocator_no_results-title {
    font-size: 24px;
    line-height: 1.02;
  }
}
html[dir=rtl] .b-storelocator_no_results-title {
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .b-storelocator_no_results-title {
    display: flex;
    flex-flow: column;
  }
}
.b-storelocator_no_results-link {
  position: relative;
  align-items: center;
  border-radius: 4px;
  cursor: pointer;
  display: inline-flex;
  text-decoration: none;
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  display: inline-block;
  margin-top: 16px;
}
.b-storelocator_no_results-link.m-disabled::after, .b-storelocator_no_results-link:disabled::after, .b-storelocator_no_results-link[disabled]::after {
  background: #898992;
}
.b-storelocator_no_results-link::after {
  background: currentcolor;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  right: 0;
  transition: transform ease-out 150ms;
  width: 100%;
  transform: scaleX(1);
}
.b-storelocator_no_results-link:hover::after, .b-storelocator_no_results-link:active::after {
  transform: scaleX(0);
}
.b-storelocator_no_results-link.m-disabled, .b-storelocator_no_results-link:disabled, .b-storelocator_no_results-link[disabled] {
  color: #898992;
  pointer-events: none;
}
html[dir=rtl] .b-storelocator_no_results-link {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_no_results-link, .b-dialog.m-care_essentials-product .b-storelocator_no_results-link {
  letter-spacing: normal;
}

.b-storelocator_result {
  border-top: 1px solid #d2d1d4;
  padding: 20px 0;
}
@media screen and (min-width: 1180px) {
  .b-storelocator_result.m-selected .b-storelocator_result-inner {
    border: 2px solid #282727;
    border-radius: 4px;
  }
}
.l-storelocator-details .b-storelocator_result {
  box-shadow: none;
  padding: 0;
}
@media screen and (min-width: 1180px) {
  .b-storelocator_result-inner {
    padding: 16px;
  }
}
.b-storelocator_result-top {
  align-items: baseline;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}
.b-storelocator_result-title {
  font-family: var(--care-essentials-font, "DIN Next CYR", "Arial", "Helvetica", sans-serif);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.03;
}
html[dir=rtl] .b-storelocator_result-title {
  letter-spacing: 0;
}
.b-storelocator_result-distance {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 14px;
  color: #60606a;
  white-space: nowrap;
}
html[dir=rtl] .b-storelocator_result-distance {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_result-distance, .b-dialog.m-care_essentials-product .b-storelocator_result-distance {
  letter-spacing: normal;
}
.b-storelocator_result-type {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 14px;
  align-items: center;
  display: flex;
  gap: 6px;
  margin-top: 2px;
}
html[dir=rtl] .b-storelocator_result-type {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_result-type, .b-dialog.m-care_essentials-product .b-storelocator_result-type {
  letter-spacing: normal;
}
.b-storelocator_result-type::before {
  background: url("./images/icons/bs-store-pin.svg") no-repeat center;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 16px;
  width: 16px;
}
.b-storelocator_result-type.m-store_type-2::before, .b-storelocator_result-type.m-store_type-3::before {
  background-image: url("./images/icons/partner-store-pin.svg");
}
.b-storelocator_result-address {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 14px;
  margin-top: 16px;
}
html[dir=rtl] .b-storelocator_result-address {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_result-address, .b-dialog.m-care_essentials-product .b-storelocator_result-address {
  letter-spacing: normal;
}
.b-storelocator_result-address:not(:has(*)) {
  margin: 0;
}
.b-storelocator_result-contacts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
@media screen and (max-width: 767.9px) {
  .b-storelocator_result-contacts {
    flex-direction: column;
    gap: 12px;
  }
}
.b-storelocator_result-contacts:not(:has(*)) {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .b-storelocator_result-contacts:has(.b-link_email) .b-storelocator_result-phone {
    font-size: 0;
    margin-inline-end: 14px;
  }
  .b-storelocator_result-contacts:has(.b-link_email) .b-storelocator_result-phone::after {
    background-color: #d2d1d4;
    content: "";
    display: inline-block;
    height: 21px;
    margin-inline-start: 24px;
    vertical-align: top;
    width: 1px;
  }
}
.b-storelocator_result-contacts .b-link_phone,
.b-storelocator_result-contacts .b-link_email {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 14px;
}
html[dir=rtl] .b-storelocator_result-contacts .b-link_phone,
html[dir=rtl] .b-storelocator_result-contacts .b-link_email {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_result-contacts .b-link_phone, .b-dialog.m-care_essentials-product .b-storelocator_result-contacts .b-link_phone,
.l-page.m-care_essentials .b-storelocator_result-contacts .b-link_email,
.b-dialog.m-care_essentials-product .b-storelocator_result-contacts .b-link_email {
  letter-spacing: normal;
}
.b-storelocator_result-schedule {
  box-shadow: none;
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .b-storelocator_result-schedule {
    min-width: 324px;
  }
}
@media screen and (max-width: 1179.9px) {
  .b-storelocator_result-schedule {
    width: 100%;
  }
}
.b-storelocator_result-schedule.m-empty {
  display: none;
}
.b-storelocator_result-schedule .b-accordion-content_inner {
  padding: 16px 0 0;
}
@media screen and (min-width: 768px) and (max-width: 1179.9px) {
  .b-storelocator_result-schedule .b-accordion-content_inner {
    display: flex;
  }
}
.b-storelocator_result-schedule td:first-child {
  padding-right: 24px;
}
.b-storelocator_result-schedule br {
  display: none;
}
.b-storelocator_result-schedule_inner {
  box-shadow: none;
}
.b-storelocator_result-schedule_title {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 8px;
}
.b-storelocator_result-schedule_btn {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 14px;
  padding: 0;
  width: auto;
}
html[dir=rtl] .b-storelocator_result-schedule_btn {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_result-schedule_btn, .b-dialog.m-care_essentials-product .b-storelocator_result-schedule_btn {
  letter-spacing: normal;
}
.b-storelocator_result-schedule_btn .b-storelocator_result-schedule_link_text {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 14px;
}
html[dir=rtl] .b-storelocator_result-schedule_btn .b-storelocator_result-schedule_link_text {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_result-schedule_btn .b-storelocator_result-schedule_link_text, .b-dialog.m-care_essentials-product .b-storelocator_result-schedule_btn .b-storelocator_result-schedule_link_text {
  letter-spacing: normal;
}
.b-storelocator_result-schedule_link_icon {
  margin-inline-start: 8px;
}
.b-storelocator_result-schedule_hours {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 768px) and (max-width: 1179.9px) {
  .b-storelocator_result-schedule_hours {
    flex: 1;
  }
}
.b-storelocator_result-schedule_hours:not(:has(*)) {
  flex: none;
  margin-top: -20px;
}
.b-storelocator_result-schedule_hours:has(a) {
  display: block;
}
.b-storelocator_result-schedule_hours a {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 14px;
  background-image: linear-gradient(to right, currentcolor, currentcolor);
  background-position: bottom center;
  background-repeat: no-repeat;
  display: inline;
  position: relative;
  text-decoration: none;
  transition: background-size ease-out 150ms;
  background-size: 100% 1px;
}
html[dir=rtl] .b-storelocator_result-schedule_hours a {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_result-schedule_hours a, .b-dialog.m-care_essentials-product .b-storelocator_result-schedule_hours a {
  letter-spacing: normal;
}
.b-storelocator_result-schedule_hours a.m-disabled, .b-storelocator_result-schedule_hours a:disabled, .b-storelocator_result-schedule_hours a[disabled] {
  background-image: linear-gradient(to right, #898992, #898992);
}
.b-storelocator_result-schedule_hours a::after {
  display: none;
}
.b-storelocator_result-schedule_hours a:active, .b-storelocator_result-schedule_hours a:hover {
  background-size: 0% 1px;
}
.b-storelocator_result-schedule_hours ul {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 14px;
  flex: 1;
}
html[dir=rtl] .b-storelocator_result-schedule_hours ul {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_result-schedule_hours ul, .b-dialog.m-care_essentials-product .b-storelocator_result-schedule_hours ul {
  letter-spacing: normal;
}
.b-storelocator_result-schedule_hours ul:first-of-type {
  color: #60606a;
  margin-inline-end: 24px;
  max-width: 30%;
}
@media screen and (min-width: 768px) and (max-width: 1179.9px) {
  .b-storelocator_result-schedule_hours ul:first-of-type {
    max-width: 40%;
  }
}
.b-storelocator_result-schedule_hours ul:only-of-type {
  margin: 0;
  max-width: 100%;
}
.b-storelocator_result-schedule_hours ul li {
  margin-top: 8px;
}
.b-storelocator_result-schedule_hours ul li:first-child {
  margin-top: 0;
}
.b-storelocator_result-full_list {
  position: relative;
  align-items: center;
  border-radius: 4px;
  cursor: pointer;
  display: inline-flex;
  text-decoration: none;
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
}
.b-storelocator_result-full_list.m-disabled::after, .b-storelocator_result-full_list:disabled::after, .b-storelocator_result-full_list[disabled]::after {
  background: #898992;
}
.b-storelocator_result-full_list::after {
  background: currentcolor;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  right: 0;
  transition: transform ease-out 150ms;
  width: 100%;
  transform: scaleX(1);
}
.b-storelocator_result-full_list:hover::after, .b-storelocator_result-full_list:active::after {
  transform: scaleX(0);
}
.b-storelocator_result-full_list.m-disabled, .b-storelocator_result-full_list:disabled, .b-storelocator_result-full_list[disabled] {
  color: #898992;
  pointer-events: none;
}
html[dir=rtl] .b-storelocator_result-full_list {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_result-full_list, .b-dialog.m-care_essentials-product .b-storelocator_result-full_list {
  letter-spacing: normal;
}
.b-storelocator_result-actions {
  display: flex;
  margin-top: 24px;
}
@media screen and (min-width: 768px) and (max-width: 1179.9px) {
  .b-storelocator_result-actions {
    max-width: 400px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-storelocator_result-actions {
    flex-flow: column;
  }
}
@media screen and (min-width: 768px) {
  .b-storelocator_result-actions .b-button {
    flex: 1;
  }
  .b-storelocator_result-details_btn {
    margin-inline-end: 12px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-storelocator_result-details_btn {
    margin-bottom: 12px;
  }
}
@media not all and (pointer: coarse) {
  .b-storelocator_result-directions_btn:hover svg,
  .b-storelocator_result-directions_btn:hover path {
    fill: #ffffff;
  }
}
.b-storelocator_result-directions_btn:active svg,
.b-storelocator_result-directions_btn:active path {
  fill: #ffffff;
}
.b-storelocator_result-directions_btn svg {
  height: 24px;
  width: 24px;
}
.b-storelocator_result-directions_btn svg,
.b-storelocator_result-directions_btn path {
  transition: fill ease-out 150ms;
}
.b-storelocator_result-directions_icon {
  margin-inline-start: 12px;
  margin-top: -4px;
}

.l-storelocator-nearest_stores .b-storelocator_result {
  padding: 32px 0;
}
@media screen and (min-width: 1180px) {
  .l-storelocator-nearest_stores .b-storelocator_result {
    box-shadow: none;
    grid-column: span 4;
  }
}
@media screen and (max-width: 767.9px) {
  .l-storelocator-nearest_stores .b-storelocator_result {
    padding: 36px 0;
  }
}
.l-storelocator-nearest_stores .b-storelocator_result:last-of-type {
  box-shadow: none;
  padding-bottom: 0;
}
.l-storelocator-nearest_stores .b-storelocator_result-top {
  display: block;
}
.l-storelocator-nearest_stores .b-storelocator_result-distance {
  display: block;
  margin-top: 8px;
}
.l-storelocator-nearest_stores .b-storelocator_result-address {
  margin-top: 12px;
}
.l-storelocator-nearest_stores .b-storelocator_result-schedule {
  display: none;
}
@media screen and (min-width: 1180px) and (max-width: 1439.9px) {
  .l-storelocator-nearest_stores .b-storelocator_result-details_btn {
    margin-bottom: 12px;
    margin-inline-end: 0;
    width: 100%;
  }
  .l-storelocator-nearest_stores .b-storelocator_result-directions_btn {
    width: 100%;
  }
}

.b-storelocator_static_map {
  display: block;
}
.b-storelocator_static_map-picture {
  display: block;
}
.b-storelocator_static_map-img {
  display: block;
  width: 100%;
}

.b-storelocator_info_window {
  font-size: 14px;
}
.b-storelocator_info_window-title {
  font-family: var(--care-essentials-font, "DIN Next CYR", "Arial", "Helvetica", sans-serif);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.03;
  padding-inline-end: 16px;
}
html[dir=rtl] .b-storelocator_info_window-title {
  letter-spacing: 0;
}
.b-storelocator_info_window-distance {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  font-weight: 400;
  font-size: 14px;
  color: #60606a;
  line-height: 1;
  margin-top: 8px;
}
html[dir=rtl] .b-storelocator_info_window-distance {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_info_window-distance, .b-dialog.m-care_essentials-product .b-storelocator_info_window-distance {
  letter-spacing: normal;
}
.b-storelocator_info_window-address {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 14px;
  margin-top: 16px;
}
html[dir=rtl] .b-storelocator_info_window-address {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_info_window-address, .b-dialog.m-care_essentials-product .b-storelocator_info_window-address {
  letter-spacing: normal;
}
.b-storelocator_info_window-actions {
  align-items: center;
  display: flex;
  flex-flow: column;
  margin-top: 16px;
}
.b-storelocator_info_window-details {
  height: 48px;
  width: 100%;
}
.b-storelocator_info_window-directions {
  margin: 12px 0 14px;
}
@media not all and (pointer: coarse) {
  .b-storelocator_info_window-directions:hover svg,
  .b-storelocator_info_window-directions:hover path {
    fill: #ffffff;
  }
}
.b-storelocator_info_window-directions:active svg,
.b-storelocator_info_window-directions:active path {
  fill: #ffffff;
}
.b-storelocator_info_window-directions svg {
  height: 24px;
  width: 24px;
}
.b-storelocator_info_window-directions svg,
.b-storelocator_info_window-directions path {
  transition: fill ease-out 150ms;
}
.b-storelocator_info_window-directions_icon {
  margin-inline-start: 12px;
  margin-top: -4px;
}

.gm-style {
  font-family: inherit;
}

.gm-style-iw {
  max-width: 240px !important;
  padding: 16px 16px 0 !important;
  width: 240px;
}

.gm-style-iw-ch {
  padding: 0 !important;
}

.gm-style-iw-d {
  overflow: auto !important;
}

.gm-style-iw-t::after {
  display: none;
}

.gm-style .gm-style-iw-c {
  border-radius: 4px;
}

.gm-ui-hover-effect {
  height: 24px !important;
  inset-inline-end: 8px !important;
  position: absolute !important;
  top: 8px !important;
  width: 24px !important;
}
.gm-ui-hover-effect span {
  margin: 0 !important;
}
.gm-ui-hover-effect img {
  height: 24px !important;
  width: 24px !important;
}

@media screen and (min-width: 768px) and (max-width: 1179.9px) {
  .b-storelocator_conveniences {
    flex: 1;
    margin-inline-start: 24px;
    max-width: 50%;
  }
}
.l-storelocator-nearest_stores .b-storelocator_conveniences {
  display: none;
}
.b-storelocator_conveniences-title {
  font-family: var(--care-essentials-font, "DIN Next CYR", "Arial", "Helvetica", sans-serif);
  font-size: 48px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 0.92;
}
@media screen and (max-width: 1179.9px) {
  .b-storelocator_conveniences-title {
    font-size: 40px;
    line-height: 0.96;
  }
}
html[dir=rtl] .b-storelocator_conveniences-title {
  letter-spacing: 0;
}
.b-storelocator_conveniences-list {
  display: grid;
  grid-gap: 8px;
  grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  margin-top: 20px;
}
@media screen and (min-width: 768px) and (max-width: 1179.9px) {
  .b-storelocator_conveniences-list {
    margin-top: 0;
  }
}
.l-storelocator-details .b-storelocator_conveniences-list {
  display: block;
  margin-top: 28px;
}

.b-storelocator_convenience {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 14px;
  display: flex;
  grid-column: span 6;
}
html[dir=rtl] .b-storelocator_convenience {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_convenience, .b-dialog.m-care_essentials-product .b-storelocator_convenience {
  letter-spacing: normal;
}
.b-storelocator_convenience.m-show_full {
  grid-column: span 12;
  margin-top: 12px;
}
.b-storelocator_convenience svg {
  color: #001489;
  margin-inline-end: 12px;
}
.b-storelocator_convenience-content {
  display: flex;
  flex: 1;
  flex-flow: column;
}
.b-storelocator_convenience-title {
  flex: 1;
}
.b-storelocator_convenience-text {
  font-weight: 300;
}

.l-storelocator-details .b-storelocator_convenience {
  align-items: flex-start;
  margin-bottom: 20px;
}
.l-storelocator-details .b-storelocator_convenience-title {
  line-height: 1.4;
  margin-bottom: 4px;
}

.b-storelocator_about_store-title {
  font-family: var(--care-essentials-font, "DIN Next CYR", "Arial", "Helvetica", sans-serif);
  font-size: 48px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 0.92;
}
@media screen and (max-width: 1179.9px) {
  .b-storelocator_about_store-title {
    font-size: 40px;
    line-height: 0.96;
  }
}
html[dir=rtl] .b-storelocator_about_store-title {
  letter-spacing: 0;
}
.b-storelocator_about_store-description {
  margin-top: 28px;
}

.b-storelocator_nearest_stores-top {
  align-items: baseline;
  border-bottom: 1px solid #d2d1d4;
  display: flex;
  justify-content: space-between;
  padding-bottom: 28px;
}
@media screen and (max-width: 767.9px) {
  .b-storelocator_nearest_stores-top {
    display: block;
  }
}
.b-storelocator_nearest_stores-title {
  font-family: var(--care-essentials-font, "DIN Next CYR", "Arial", "Helvetica", sans-serif);
  font-size: 48px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 0.92;
}
@media screen and (max-width: 1179.9px) {
  .b-storelocator_nearest_stores-title {
    font-size: 40px;
    line-height: 0.96;
  }
}
html[dir=rtl] .b-storelocator_nearest_stores-title {
  letter-spacing: 0;
}
.b-storelocator_nearest_stores-link {
  position: relative;
  align-items: center;
  border-radius: 4px;
  cursor: pointer;
  display: inline-flex;
  text-decoration: none;
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
}
.b-storelocator_nearest_stores-link.m-disabled::after, .b-storelocator_nearest_stores-link:disabled::after, .b-storelocator_nearest_stores-link[disabled]::after {
  background: #898992;
}
.b-storelocator_nearest_stores-link::after {
  background: currentcolor;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  right: 0;
  transition: transform ease-out 150ms;
  width: 100%;
  transform: scaleX(1);
}
.b-storelocator_nearest_stores-link:hover::after, .b-storelocator_nearest_stores-link:active::after {
  transform: scaleX(0);
}
.b-storelocator_nearest_stores-link.m-disabled, .b-storelocator_nearest_stores-link:disabled, .b-storelocator_nearest_stores-link[disabled] {
  color: #898992;
  pointer-events: none;
}
html[dir=rtl] .b-storelocator_nearest_stores-link {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_nearest_stores-link, .b-dialog.m-care_essentials-product .b-storelocator_nearest_stores-link {
  letter-spacing: normal;
}
@media screen and (max-width: 767.9px) {
  .b-storelocator_nearest_stores-link {
    display: inline-block;
    margin-top: 12px;
  }
}
.b-storelocator_nearest_stores-list {
  display: grid;
}
@media screen and (min-width: 1440px) {
  .b-storelocator_nearest_stores-list {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 1180px) and (max-width: 1439.9px) {
  .b-storelocator_nearest_stores-list {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 768px) and (max-width: 1179.9px) {
  .b-storelocator_nearest_stores-list {
    grid-gap: 16px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (max-width: 767.9px) {
  .b-storelocator_nearest_stores-list {
    grid-gap: 10px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
  }
}
@media screen and (min-width: 768px) {
  .b-storelocator_nearest_stores-item {
    grid-column: span 4;
    margin-bottom: 0;
  }
}

.b-storelocator_alphabet {
  border-bottom: 1px solid #d2d1d4;
  border-top: 1px solid #d2d1d4;
  margin-top: 40px;
  padding: 8px 48px;
}
.b-storelocator_alphabet-ctrl.m-prev {
  left: auto;
  right: 100%;
}
.b-storelocator_alphabet-ctrl.m-next {
  left: 100%;
  right: auto;
}
@media screen and (max-width: 767.9px) {
  .b-carousel.m-inited .b-storelocator_alphabet-ctrl {
    display: block;
  }
}
.b-storelocator_alphabet-item {
  cursor: pointer;
  text-decoration: none;
  align-items: center;
  display: flex;
  font-size: 18px;
  font-weight: 600;
  height: 48px;
  justify-content: center;
  min-width: 48px;
  width: 48px;
}
@media not all and (pointer: coarse) {
  .b-storelocator_alphabet-item:hover {
    color: #001489;
  }
}
.b-storelocator_alphabet-item.m-disabled {
  color: rgba(73, 73, 84, 0.5);
  pointer-events: none;
}

.b-storelocator_locations {
  margin-top: 32px;
}
@media screen and (min-width: 1180px) {
  .b-storelocator_locations {
    margin-top: 48px;
  }
}
.b-storelocator_locations-item_location {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 14px;
  min-height: 43px;
  overflow: hidden;
  padding: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html[dir=rtl] .b-storelocator_locations-item_location {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_locations-item_location, .b-dialog.m-care_essentials-product .b-storelocator_locations-item_location {
  letter-spacing: normal;
}
.b-storelocator_locations-item_location:nth-child(odd) {
  background-color: #f3f3f6;
}
.b-storelocator_locations-item_location a {
  position: relative;
  align-items: center;
  border-radius: 4px;
  cursor: pointer;
  display: inline-flex;
  text-decoration: none;
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 14px;
}
.b-storelocator_locations-item_location a.m-disabled::after, .b-storelocator_locations-item_location a:disabled::after, .b-storelocator_locations-item_location a[disabled]::after {
  background: #898992;
}
.b-storelocator_locations-item_location a::after {
  background: currentcolor;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  right: 0;
  transition: transform ease-out 150ms;
  width: 100%;
  transform: scaleX(1);
}
.b-storelocator_locations-item_location a:hover::after, .b-storelocator_locations-item_location a:active::after {
  transform: scaleX(0);
}
.b-storelocator_locations-item_location a.m-disabled, .b-storelocator_locations-item_location a:disabled, .b-storelocator_locations-item_location a[disabled] {
  color: #898992;
  pointer-events: none;
}
html[dir=rtl] .b-storelocator_locations-item_location a {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_locations-item_location a, .b-dialog.m-care_essentials-product .b-storelocator_locations-item_location a {
  letter-spacing: normal;
}
.b-storelocator_locations-actions {
  align-items: center;
  display: flex;
  flex-direction: column;
}

.b-disallowed_cookie {
  align-items: center;
  background: #f3f1ef;
  color: #60606a;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  left: 0;
  position: absolute;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 1;
}
.b-storelocator_search-cookie_warning .b-disallowed_cookie, .b-store_panel-search_cookie_warning .b-disallowed_cookie {
  background: #ffffff;
  border: 1px solid #d2d1d4;
  border-radius: 4px;
  margin: 24px 0;
  padding: 24px;
  position: relative;
}
.l-page.m-care_essentials .b-storelocator_search-cookie_warning .b-disallowed_cookie, .l-page.m-care_essentials .b-store_panel-search_cookie_warning .b-disallowed_cookie {
  background-color: #f3f1ef;
}
.b-store_panel-search_cookie_warning .b-disallowed_cookie {
  margin-top: 16px;
  padding: 60px 0 44px;
}
.b-video_teaser-overlay .b-disallowed_cookie {
  min-height: 500px;
  position: relative;
}
.b-product_split_module .b-video_teaser-overlay .b-disallowed_cookie {
  height: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}
.b-disallowed_cookie-body {
  padding: 0 24px;
}
@media screen and (max-width: 1439.9px) {
  .b-disallowed_cookie-body {
    max-width: 330px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-product_split_module .b-disallowed_cookie-body {
    padding-inline: 8px;
  }
}
.b-disallowed_cookie-link {
  position: relative;
  align-items: center;
  border-radius: 4px;
  cursor: pointer;
  display: inline-flex;
  text-decoration: none;
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: #282727;
  margin-bottom: 16px;
}
html[dir=rtl] .b-disallowed_cookie-link {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-disallowed_cookie-link, .b-dialog.m-care_essentials-product .b-disallowed_cookie-link {
  letter-spacing: normal;
}
.b-disallowed_cookie-link.m-disabled::after, .b-disallowed_cookie-link:disabled::after, .b-disallowed_cookie-link[disabled]::after {
  background: #898992;
}
.b-disallowed_cookie-link::after {
  background: currentcolor;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  right: 0;
  transition: transform ease-out 150ms;
  width: 100%;
  transform: scaleX(1);
}
.b-disallowed_cookie-link:hover::after, .b-disallowed_cookie-link:active::after {
  transform: scaleX(0);
}
.b-disallowed_cookie-link.m-disabled, .b-disallowed_cookie-link:disabled, .b-disallowed_cookie-link[disabled] {
  color: #898992;
  pointer-events: none;
}
html[dir=rtl] .b-disallowed_cookie-link {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-disallowed_cookie-link, .b-dialog.m-care_essentials-product .b-disallowed_cookie-link {
  letter-spacing: normal;
}
.b-storelocator_search-cookie_warning .b-disallowed_cookie-link, .b-store_panel-search_cookie_warning .b-disallowed_cookie-link {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 14px;
}
html[dir=rtl] .b-storelocator_search-cookie_warning .b-disallowed_cookie-link, html[dir=rtl] .b-store_panel-search_cookie_warning .b-disallowed_cookie-link {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-storelocator_search-cookie_warning .b-disallowed_cookie-link, .b-dialog.m-care_essentials-product .b-storelocator_search-cookie_warning .b-disallowed_cookie-link, .l-page.m-care_essentials .b-store_panel-search_cookie_warning .b-disallowed_cookie-link, .b-dialog.m-care_essentials-product .b-store_panel-search_cookie_warning .b-disallowed_cookie-link {
  letter-spacing: normal;
}
@media screen and (max-width: 767.9px) {
  .b-product_split_module .b-disallowed_cookie-link {
    font-size: 12px;
  }
}
.b-disallowed_cookie-icon {
  margin-bottom: 16px;
}
@media screen and (max-width: 767.9px) {
  .b-product_split_module .b-disallowed_cookie-icon {
    margin-bottom: 10px;
  }
}
.b-disallowed_cookie-title {
  font-family: var(--care-essentials-font, "DIN Next CYR", "Arial", "Helvetica", sans-serif);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.02;
  margin-bottom: 16px;
}
html[dir=rtl] .b-disallowed_cookie-title {
  letter-spacing: 0;
}
.b-storelocator_search-cookie_warning .b-disallowed_cookie-title, .b-store_panel-search_cookie_warning .b-disallowed_cookie-title {
  font-family: var(--care-essentials-font, "DIN Next CYR", "Arial", "Helvetica", sans-serif);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.03;
}
html[dir=rtl] .b-storelocator_search-cookie_warning .b-disallowed_cookie-title, html[dir=rtl] .b-store_panel-search_cookie_warning .b-disallowed_cookie-title {
  letter-spacing: 0;
}
@media screen and (max-width: 767.9px) {
  .b-product_split_module .b-disallowed_cookie-title {
    font-size: 14px;
    margin-bottom: 12px;
  }
}
.b-disallowed_cookie-description {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 14px;
  margin-bottom: 24px;
}
html[dir=rtl] .b-disallowed_cookie-description {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-disallowed_cookie-description, .b-dialog.m-care_essentials-product .b-disallowed_cookie-description {
  letter-spacing: normal;
}
.b-storelocator_search-cookie_warning .b-disallowed_cookie-description {
  margin-bottom: 16px;
}
@media screen and (max-width: 767.9px) {
  .b-product_split_module .b-disallowed_cookie-description {
    font-size: 12px;
    margin-bottom: 12px;
    word-break: break-word;
  }
}
.b-disallowed_cookie-more_details {
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 12px;
}
html[dir=rtl] .b-disallowed_cookie-more_details {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-disallowed_cookie-more_details, .b-dialog.m-care_essentials-product .b-disallowed_cookie-more_details {
  letter-spacing: normal;
}
.b-disallowed_cookie-more_details a {
  position: relative;
  align-items: center;
  border-radius: 4px;
  cursor: pointer;
  display: inline-flex;
  text-decoration: none;
  font-family: var(--care-essentials-font), "Arial", "Helvetica", sans-serif;
  letter-spacing: 0.07em;
  line-height: 1.36;
  font-weight: 400;
  font-size: 12px;
}
.b-disallowed_cookie-more_details a.m-disabled::after, .b-disallowed_cookie-more_details a:disabled::after, .b-disallowed_cookie-more_details a[disabled]::after {
  background: #898992;
}
.b-disallowed_cookie-more_details a::after {
  background: currentcolor;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  right: 0;
  transition: transform ease-out 150ms;
  width: 100%;
  transform: scaleX(1);
}
.b-disallowed_cookie-more_details a:hover::after, .b-disallowed_cookie-more_details a:active::after {
  transform: scaleX(0);
}
.b-disallowed_cookie-more_details a.m-disabled, .b-disallowed_cookie-more_details a:disabled, .b-disallowed_cookie-more_details a[disabled] {
  color: #898992;
  pointer-events: none;
}
html[dir=rtl] .b-disallowed_cookie-more_details a {
  letter-spacing: 0;
}
.l-page.m-care_essentials .b-disallowed_cookie-more_details a, .b-dialog.m-care_essentials-product .b-disallowed_cookie-more_details a {
  letter-spacing: normal;
}

body {
  overflow: auto;
  overflow-y: scroll;
  pointer-events: all;
  visibility: var(--page_visibility, hidden);
}

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