/*md
@no-stat

# Breakpoints

## Boilerplate breakpoints

Boilerplate has 4 main breakpoints that targeted to [supported devices](https://confluence.ontrq.com/display/RSB/SFRA+BP+-+Supported+Browsers+and+Devices)
 - iPhone X, iPad, MS Windows desktop / Macbook Pro retina

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

[See more info](https://confluence.ontrq.com/display/RSB/SFRA+-+Site+Layout+Conception)

## Supported screen resolutions

Boilerplate 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         |
| iPad Air 2         | 1024x768                      | XHDPI         |
| iPhone X           | 375x812                       | XHDPI         |
| Samsung Galaxy S9  | 360x740                       | XHDPI         |

*/
/*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: 1023px)',
	md-landscape:  'screen and (min-width: 1024) and (max-width: 1200)',
	lg: 'screen and (min-width: 1024px) and (max-width: 1366px)',
	xl: 'screen and (min-width: 1367px)',
	md-up: 'screen and (min-width: 768px)',
	md-down: 'screen and (max-width: 1023px)',
	lg-up: 'screen and (min-width: 1024px)',
	lg-down: 'screen and (max-width: 1366px)'
);
```

## Usage

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

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

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

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

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

*/
/*md
@no-stat

# Colors

## Palette

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

* Palette is general set of colors.
* Applied colors designed as layer of abstraction to have ability to overwritten on brand level.

## Naming convention

Pattern: `<component-name>__<property>--<state>`

`<component-name>` refers to the name of the component or element that
the custom property is associated with.

`<property>` refers to the CSS property being defined, such as
`color`, `background`, `border`, `outline`, `fill`, etc.
Please don't use short names for property such as `bg` etc.

`<state>` term refers to the different states or conditions that a component might be in,
such as `hover`, `active`, `disabled`, `focus`, `invalid`, `error`, `placeholder` etc.

For example, if we have a button component, we might define custom properties for its text color and background color,
like this:

```scss
{$}color-primary-button__color: $color-white;
{$}color-primary-button__background: $color-blue-900;
```

If we want to define a variation of the button that has a different background color when it's in a hovered state,
we can add the state to the custom property name:

```scss
{$}color-primary-button__background--hover: $color-grey-900;
```
*/
/*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

# Rh (Indents rhythm)

This function is designed to keep consistency of vertical and horizontal indents in the project.

Not all values are identical in design, sometimes 20px become 21px, 19px, 22px etc. It does not make
any sense to implement it as is. To keep indents consistent we need to round this values to 4px steps.

Ex: in design 22px / 19px -> rh(5) => 20px; in design 23px -> rh(6) => 24px etc.

This is alternate approach to `$space-md: 10px; $space-lg: 20px;`.

Designers should use the rhythm in his work.

## Usage

```scss
.component {
	@include rh(2); // => 8px
	@include rh(2 4 0); // => 8px 16px 0
}
```
*/
/*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; }
```

*/
/* stylelint-disable-next-line */
/*md
@no-stat

# Grids

## How to setup grids config for project

### Several grid configs for project

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

### 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),
	)
);
```

### Grid-span configuration

Please see details [grid-span](01-core-functions-grid-span.html)

## Work with grids

### Development approaches

#### 1. Using `g-grid` mixin

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

#### 2. Using `grid-span` function

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.

### Get gaps / margin / column span

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.

### Examples of usage

Please see [ready-made tools](05-blocks-guide-l-cols.html) details.

*/
/*md
@no-stat

# grid-* (grid config get functions)

This functions designed to get parameters 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);
	}
}
```
*/
/* stylelint-disable-next-line */
/*md
@no-stat

# Icons variables

This is auto generated file. Please do not edit `_icons.scss`.

List of all icons is [here](./iconsl360.html)

Please see [icons](./01-core-mixins-doc-_icons.html) documentation for details.

*/
/*md
@no-stat

# grid-span

`grid-span` function returns value which could be used as **width, max-witdth, flex-basis, etc.**

### 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);
	}
}
```

*/
/*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
@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 loosing 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
@no-stat

# Icons

List of all icons is [here](./iconsl360.html)

Please see [icons](./01-core-mixins-doc-_icons.html) documentation for details.

*/
/*md
@no-stat

# Carousel slide dimension

This mixin calculates the max-width and min-width for carousel items
based on the number of slides to show and the gap between them.
It is designed to help create responsive carousel layouts by ensuring that the items adjust their sizes appropriately,
taking into account the specified gaps.

## Usage

```scss
.b-carousel-item {
	@include calculate-carousel-item(4, 20px);
}
```
*/
/*md

# g-button

Designed to provide same styles of buttons across different components.
It is possible to use with `<button>` or `<a>` elements

*/
/*md

# g-button_iconed

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_iconed;
	}
}
```
*/
/*md

# g-radio

The component is generally used for choosing item which includes in the radio group.

## 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.

## Unchecked

```html_example
<div class="b-radio">
	<input type="radio" id="id-radio-2" class="b-radio-input"/>
	<div class="b-radio-icon"></div>
	<label class="b-radio-label" for="id-radio-2">Some text</label>
</div>
```

## Checked

```html_example
<div class="b-radio">
	<input type="radio" id="id-radio-3" class="b-radio-input" checked/>
	<div class="b-radio-icon"></div>
	<label class="b-radio-label" for="id-radio-3">Some text</label>
</div>
```

## Disabled unchecked

```html_example
<div class="b-radio">
	<input type="radio" id="id-radio-4" class="b-radio-input" disabled/>
	<div class="b-radio-icon"></div>
	<label class="b-radio-label" for="id-radio-4">Some text</label>
</div>
```

## Disabled checked

```html_example
<div class="b-radio">
	<input type="radio" id="id-radio-5" class="b-radio-input" checked disabled/>
	<div class="b-radio-icon"></div>
	<label class="b-radio-label" for="id-radio-5">Some text</label>
</div>
```

## Invalid unchecked

```html_example
<div class="b-radio">
	<input type="radio" id="id-radio-6" class="b-radio-input m-invalid"/>
	<div class="b-radio-icon"></div>
	<label class="b-radio-label" for="id-radio-6">Some text</label>
</div>
```

## Invalid checked

```html_example
<div class="b-radio">
	<input type="radio" id="id-radio-7" class="b-radio-input m-invalid" checked/>
	<div class="b-radio-icon"></div>
	<label class="b-radio-label" for="id-radio-7">Some text</label>
</div>
```

## Customization by SCSS

Radio button styles that used in several component.

Designed to use same style of radio in different components
ex: b-radio, b-payment_option, b-shipping_option, b-stores etc.

It provide styles only for icon element based on input node.

```scss
.b-option_switch {
	// ...
	&-input {
		@include g-radio(_input);
	}

	&-icon {
		@include g-radio(_icon);

		.b-option_switch-input:active + & {
			@include g-radio(_icon, m-active);
		}

		.b-option_switch-input:hover + & {
			@include g-radio(_icon, m-hover);
		}

		.b-option_switch-input:checked + & {
			@include g-radio(_icon, m-checked);
		}

		.b-option_switch-input[disabled] + & {
			@include g-radio(_icon, m-disabled);
		}
	}
}
```
*/
/*md

# g-checkbox

This component allows user to choose between two mutually exclusive state (checked or unchecked).

## 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).

## Unchecked
```html_example
<div class="b-checkbox">
	<input class="b-checkbox-input" type="checkbox" id="id-checkbox-1" />
	<svg xmlns="http://www.w3.org/2000/svg" focusable="false" role="presentation" width="16" height="16" viewBox="0 0 16 16">
		<path d="M15.5 3.5 5 14.1.5 9.5l1.1-1.1L5 11.9l9.5-9.5z"/>
	</svg>
	<label class="b-form_section-label" for="id-checkbox-1">Title</label>
</div>
```

## Checked
```html_example
<div class="b-checkbox">
	<input class="b-checkbox-input" type="checkbox" id="id-checkbox-2" checked/>
	<svg xmlns="http://www.w3.org/2000/svg" focusable="false" role="presentation" width="16" height="16" viewBox="0 0 16 16">
		<path d="M15.5 3.5 5 14.1.5 9.5l1.1-1.1L5 11.9l9.5-9.5z"/>
	</svg>
	<label class="b-form_section-label" for="id-checkbox-2">Title</label>
</div>
```

## Disabled unchecked
```html_example
<div class="b-checkbox">
	<input class="b-checkbox-input" type="checkbox" id="id-checkbox-3" disabled/>
	<svg xmlns="http://www.w3.org/2000/svg" focusable="false" role="presentation" width="16" height="16" viewBox="0 0 16 16">
		<path d="M15.5 3.5 5 14.1.5 9.5l1.1-1.1L5 11.9l9.5-9.5z"/>
	</svg>
	<label class="b-form_section-label" for="id-checkbox-3">Title</label>
</div>
```

## Disabled checked
```html_example
<div class="b-checkbox">
	<input class="b-checkbox-input" type="checkbox" id="id-checkbox-4" checked disabled/>
	<svg xmlns="http://www.w3.org/2000/svg" focusable="false" role="presentation" width="16" height="16" viewBox="0 0 16 16">
		<path d="M15.5 3.5 5 14.1.5 9.5l1.1-1.1L5 11.9l9.5-9.5z"/>
	</svg>
	<label class="b-form_section-label" for="id-checkbox-4">Title</label>
</div>
```

## Invalid unchecked
```html_example
<div class="b-checkbox">
	<input class="b-checkbox-input m-invalid" type="checkbox" id="id-checkbox-5"/>
	<svg xmlns="http://www.w3.org/2000/svg" focusable="false" role="presentation" width="16" height="16" viewBox="0 0 16 16">
		<path d="M15.5 3.5 5 14.1.5 9.5l1.1-1.1L5 11.9l9.5-9.5z"/>
	</svg>
	<label class="b-form_section-label" for="id-checkbox-5">Title</label>
</div>
```

## Invalid checked
```html_example
<div class="b-checkbox">
	<input class="b-checkbox-input m-invalid" type="checkbox" id="id-checkbox-6" checked/>
	<svg xmlns="http://www.w3.org/2000/svg" focusable="false" role="presentation" width="16" height="16" viewBox="0 0 16 16">
		<path d="M15.5 3.5 5 14.1.5 9.5l1.1-1.1L5 11.9l9.5-9.5z"/>
	</svg>
	<label class="b-form_section-label" for="id-checkbox-6">Title</label>
</div>

```

## Required checkbox
```html_example
<div class="b-checkbox">
	<input type="checkbox" class="b-checkbox-input" id="checkox1">
	<svg xmlns="http://www.w3.org/2000/svg" focusable="false" role="presentation" width="16" height="16" viewBox="0 0 16 16">
		<path stroke="currentColor" d="M15.5 3.5 5 14.1.5 9.5l1.1-1.1L5 11.9l9.5-9.5z"/>
	</svg>
	<span class="b-form_section-required">*</span>
	<label class="b-form_section-label" for="checkox1">
		By signing up, you agree to <a href="#" target="_blank" class="b-form_section-link">Privacy and Cookie Policies</a>
	</label>
</div>
```

## Customization by SCSS

Checkbox styles that used in several component.

Designed to use same style of checkbox in different components without additional CSS class.
ex: `b-checkbox`, `b-refinement_checkbox`, `b-account_preference` etc.

It provide styles only for icon element based on SVG.

```scss
.b-refinement_checkbox {
	// ...
	&-icon {
		@include g-checkbox(_icon);

		.b-refinement_checkbox:active & {
			@include g-checkbox(_icon, m-active);
		}

		.b-refinement_checkbox.m-checked & {
			@include g-checkbox(_icon, m-checked);
		}

		.b-refinement_checkbox.m-disabled & {
			@include g-checkbox(_icon, m-disabled);
		}
	}
}
```
*/
/*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::before {
		@include g-spinner();
	}
	// ...
}
```
*/
/*md

# g-link

Designed to provide same styles of text-type links across different components.
For g-button with arrow icon please use next .isml templates:
<isinclude template="/common/icons/standalone/arrow-right" />
<isinclude template="/common/icons/standalone/arrow-left" />

There are some predefined parameters:
	$_mode: default,   // link variations
	$_type: primary,   // type
	$_font_size: 14px  //font size ( by default 14px )

## Usage

## Default link type

```html_example
<!--
Classes:
:disabled - Disabled
:hover - Hover
:active - Active
:focus - Focus
-->
<a href="#" class="b-link [modifier class]">
	I am a link
</a>
```

##  Primary link 1

```html_example
<!--
Classes:
.m-type_regular_underline - Regular underline
.m-type_regular - Regular
.m-type_light - Light
.m-type_regular_underline.m-big - Regular underline, big
.m-type_regular.m-big - Regular, big
-->
<a href="#" class="b-link m-primary [modifier class]">
	I am a link
</a>
```


## Secondary link 1

```html_example
<!--
Classes:
.m-type_regular_medium - Medium
.m-type_light - Light
.m-type_regular_big - Big
.m-type_bold - Bold
-->
<a href="#" class="b-link m-secondary [modifier class]">
	I am a link
</a>
```

## Icon link type

```html_example
<a href="#" class="b-link m-primary m-type_regular m-big m-icon">
	I am a link
	<svg viewBox="0 0 15 9" fill="none" xmlns="http://www.w3.org/2000/svg">
		<path d="M-7.32137e-07 3.93182L-7.81809e-07 5.06818L12.861 5.06818L9.79724 8.19318L10.5882 9L15 4.5L10.5882 7.6083e-07L9.79724 0.806819L12.861 3.93182L-7.32137e-07 3.93182Z" fill="currentColor"/>
	</svg>
</a>
```
*/
/*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-suggestions-item_image {
	@include g-image_container(_container, 100%);

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

.b-suggestions-item_image {
	@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.

*/
/*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_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-dialog_backdrop

Dialog window backdrop styles that used in several component.

Designed to use same style of backdrop and logic in different components and on particular breakpoints.
Ex: b-dialog, b-menu_panel, b-refinements_panel, b-minicart_panel etc.

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

# g-section_holder

This is global component designed to hold some standalone section of the site
as it 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_fullbleed

Since header is differs from other container (g-section_holder)
we need special component the same as `section_holder` but with different
`max-width` and `margin`s.

This is global component designed to hold header of the site as it wrapped into
main container.

This common designs it could be removed and changed to `section_holder`.

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

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

# g-grid

Grid layout component based on CSS grid.

It is designed to easy use project defined grid into components where CSS grid is
applicable.

```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;
		}
	}
}
```
*/
/*md

# g-select

Designed to provide same styles of select across different components.

*/
.g-recaptcha {
  position: relative;
  z-index: 5;
}
.g-recaptcha .grecaptcha-badge {
  width: 70px !important;
  bottom: 20px !important;
  right: 0 !important;
  left: 0;
  transform: scale(0.7);
  transform-origin: 0 bottom;
  transition: width 0.3s ease 0s !important;
}
@media screen and (max-width: 1023px) {
  .g-recaptcha .grecaptcha-badge.grecaptcha-badge {
    overflow: hidden;
    box-shadow: grey 0px 0px 5px;
    visibility: visible !important;
  }
}
.g-recaptcha .grecaptcha-badge:hover {
  width: 256px !important;
}
.b-consent_tracking_visible .g-recaptcha .grecaptcha-badge {
  bottom: 155px !important;
}
@media screen and (min-width: 1024px) {
  .b-consent_tracking_visible .g-recaptcha .grecaptcha-badge {
    bottom: 90px !important;
  }
}

.ie-div-position-customer-chat .button-iframe-wrap {
  z-index: 5;
}
.ie-div-position-customer-chat .button-iframe-wrap .ie-chat-button-iframe-fixed-customer-chat {
  bottom: 20px;
  right: 10px;
}
@media screen and (min-width: 768px) {
  .ie-div-position-customer-chat .button-iframe-wrap .ie-chat-button-iframe-fixed-customer-chat {
    right: 30px;
  }
}
@media screen and (max-width: 1023px) {
  .b-buy_bar_float .ie-div-position-customer-chat .button-iframe-wrap .ie-chat-button-iframe-fixed-customer-chat {
    bottom: 90px;
  }
}
.b-consent_tracking_visible .ie-div-position-customer-chat .button-iframe-wrap .ie-chat-button-iframe-fixed-customer-chat, .b-buy_bar_stucks .ie-div-position-customer-chat .button-iframe-wrap .ie-chat-button-iframe-fixed-customer-chat {
  bottom: 90px;
}
.b-proceed_stucks .ie-div-position-customer-chat .button-iframe-wrap .ie-chat-button-iframe-fixed-customer-chat {
  bottom: 110px;
}
@media screen and (max-width: 1023px) {
  .b-proceed_stucks .ie-div-position-customer-chat .button-iframe-wrap .ie-chat-button-iframe-fixed-customer-chat {
    bottom: 130px;
  }
}
@media screen and (min-width: 1024px) {
  .b-consent_tracking_visible.b-buy_bar_stucks .ie-div-position-customer-chat .button-iframe-wrap .ie-chat-button-iframe-fixed-customer-chat {
    bottom: 165px;
  }
}
.b-consent_tracking_visible.b-proceed_stucks .ie-div-position-customer-chat .button-iframe-wrap .ie-chat-button-iframe-fixed-customer-chat {
  bottom: 265px;
}
@media screen and (min-width: 1024px) {
  .b-consent_tracking_visible.b-proceed_stucks .ie-div-position-customer-chat .button-iframe-wrap .ie-chat-button-iframe-fixed-customer-chat {
    bottom: 185px;
  }
}
@media screen and (max-width: 1023px) {
  .b-consent_tracking_visible .ie-div-position-customer-chat .button-iframe-wrap .ie-chat-button-iframe-fixed-customer-chat {
    bottom: 150px;
  }
}
@media screen and (max-width: 1023px) {
  .b-consent_tracking_visible.b-buy_bar_stucks .ie-div-position-customer-chat .button-iframe-wrap .ie-chat-button-iframe-fixed-customer-chat, .b-consent_tracking_visible.b-buy_bar_float .ie-div-position-customer-chat .button-iframe-wrap .ie-chat-button-iframe-fixed-customer-chat {
    bottom: 220px;
  }
}
@media screen and (min-width: 1024px) {
  .l-page-checkout .ie-div-position-customer-chat .button-iframe-wrap .ie-chat-button-iframe-fixed-customer-chat {
    bottom: 80px;
  }
}
.b-consent_tracking_visible.l-page-checkout .ie-div-position-customer-chat .button-iframe-wrap .ie-chat-button-iframe-fixed-customer-chat {
  bottom: 155px;
}
@media screen and (min-width: 1024px) {
  .b-consent_tracking_visible.l-page-checkout .ie-div-position-customer-chat .button-iframe-wrap .ie-chat-button-iframe-fixed-customer-chat {
    bottom: 165px;
  }
}
.ie-div-position-customer-chat .chat-iframe-wrap {
  bottom: 90px;
  height: calc(100% - 110px);
}
.b-consent_tracking_visible .ie-div-position-customer-chat .chat-iframe-wrap, .b-buy_bar_stucks .ie-div-position-customer-chat .chat-iframe-wrap {
  bottom: 160px;
  height: calc(100% - 185px);
}
.b-proceed_stucks .ie-div-position-customer-chat .chat-iframe-wrap {
  bottom: 180px;
  height: calc(100% - 200px);
}
.b-consent_tracking_visible.b-proceed_stucks .ie-div-position-customer-chat .chat-iframe-wrap {
  bottom: 255px;
  height: calc(100% - 270px);
}
.l-page-checkout .ie-div-position-customer-chat .chat-iframe-wrap {
  bottom: 150px;
  height: calc(100% - 170px);
}
.b-consent_tracking_visible.b-buy_bar_stucks .ie-div-position-customer-chat .chat-iframe-wrap, .b-consent_tracking_visible.l-page-checkout .ie-div-position-customer-chat .chat-iframe-wrap {
  bottom: 235px;
  height: calc(100% - 255px);
}

.g-header_privacy {
  color: #fff;
}
.b-header_stuck .g-header_privacy {
  display: none;
}
.l-header:hover .g-header_privacy {
  background-color: #000;
}
.g-header_privacy-outer {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding: 14px;
}
@media screen and (max-width: 1023px) {
  .g-header_privacy-outer {
    font-size: 14px;
    font-family: "Quattrocento Sans", "Helvetica Neue", "Helvetica", "Arial", "Nimbus Sans L", "Liberation Sans", sans-serif;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: normal;
    align-items: flex-start;
    padding: 8px 14px 6px;
  }
}
@media screen and (min-width: 768px) {
  .g-header_privacy-outer div {
    flex-grow: 1;
    text-align: center;
  }
}
.g-header_privacy-outer.onetimenotice-hide {
  display: none;
}
.g-header_privacy-close {
  color: #fff;
  display: table;
  height: 13px;
  width: 13px;
}
@media screen and (max-width: 1023px) {
  .g-header_privacy-close {
    height: 10px;
    width: 10px;
  }
}
.g-header_privacy-close:hover {
  opacity: 0.8;
}
.g-header_privacy-close svg {
  fill: currentColor;
  max-width: 100%;
}

body {
  overflow: hidden;
  pointer-events: none;
  visibility: hidden;
}

.b-header_utility,
.l-header,
.b-menu_panel {
  pointer-events: all;
  visibility: visible;
}

/* stylelint-disable selector-max-universal */
*,
*::before,
*::after {
  box-sizing: inherit;
}

/* stylelint-enable */
a {
  background-color: transparent;
}

ul,
ol,
p {
  list-style: none;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  margin: 0;
}

figure {
  margin: 0;
}

img {
  border: none;
  height: auto;
  max-width: 100%;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

button,
input,
select,
textarea {
  color: inherit;
  font: inherit;
}

[hidden] {
  display: none !important;
}

[data-hidden] {
  pointer-events: none;
  -webkit-user-select: none;
          user-select: none;
  opacity: 0;
  height: 0;
}

html {
  background: #f9f9f9;
  color: #000;
  direction: ltr;
  font-family: "Quattrocento Sans", "Helvetica Neue", "Helvetica", "Arial", "Nimbus Sans L", "Liberation Sans", sans-serif;
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-synthesis: none;
  line-height: 1.3;
  scroll-behavior: smooth;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  box-sizing: border-box;
  margin: 0;
  overflow-y: scroll;
  padding: 0.01px 0 0;
  /* stylelint-disable-next-line */
}
html[dir=rtl] body {
  direction: rtl;
  letter-spacing: 0;
}

strong,
b {
  font-weight: 700;
}

a {
  color: inherit;
  text-decoration: none;
}
@media not all and (pointer: coarse) {
  a:hover {
    text-decoration: underline;
  }
}

button {
  -webkit-appearance: none;
          appearance: none;
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
}

img {
  overflow: hidden;
}

sup {
  font-size: 0.5em;
  line-height: 1;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 500;
}

:target::before {
  content: "";
  display: block;
  height: 80px;
  margin-top: -80px;
  visibility: hidden;
}

.b-sr_only {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  left: 0;
  max-height: 1px;
  max-width: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  top: 0;
}

.m-has_dialog .l-page {
  overflow: hidden;
  height: 100dvh;
  max-height: 100dvh;
}
@supports (overflow: clip) {
  .m-has_dialog .l-page {
    overflow: clip;
  }
}
.m-has_dialog .l-page-content {
  overflow-y: scroll;
}
@media screen and (min-width: 1024px) {
  .m-has_dialog .m-zoomed-in .l-page-content {
    overflow-y: initial;
  }
}
.m-has_dialog .l-page-footer {
  overflow-y: scroll;
}

.l-header {
  z-index: 14;
  position: relative;
}
.m-zoomed-in .l-header {
  z-index: 0;
}
@media screen and (max-width: 1023px) {
  .m-zoomed-in .l-header {
    display: none;
  }
}
.b-header_stuck .l-header > .b-header_message {
  max-height: 0;
  overflow: hidden;
  padding: 0;
  transition: max-height cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.2s;
}
.l-header.m-simple {
  align-items: center;
  border-bottom: 1px solid #808080;
  background-color: #fff;
  display: flex;
  flex-wrap: wrap;
  position: sticky;
  top: 0;
  left: 0;
}
.l-header.m-simple .l-header-inner {
  background: none;
}
@media screen and (max-width: 1023px) {
  .l-header.m-simple .l-header-inner {
    justify-content: center;
  }
}
@media screen and (max-width: 1023px) {
  .l-header.m-simple .b-logo {
    color: #000;
  }
}
.l-header.m-static {
  position: static;
}
.l-header-inner_wrapper {
  display: flex;
  flex-wrap: wrap;
  background: radial-gradient(1412.55% 304.15% at 27.64% -147.55%, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 100%), #f9f9f9;
  border-bottom: 1px solid #e6e6e6;
}
.l-header-inner_wrapper .b-header_actions-item {
  cursor: pointer;
}
@media screen and (max-width: 1023px) {
  .l-header-inner_wrapper {
    min-height: 188px;
  }
}
.l-header-inner {
  margin: 0 auto;
  max-width: 1440px;
  padding-left: 60px;
  padding-right: 60px;
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding: 20px 24px 16px;
  width: 100%;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .l-header-inner {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media screen and (max-width: 767px) {
  .l-header-inner {
    padding-left: 25px;
    padding-right: 25px;
  }
}
.l-header-inner.m-full {
  padding: 0;
}
@media screen and (max-width: 1023px) {
  .l-header-inner {
    padding: 12px 16px;
    border-bottom: 1px solid #e6e6e6;
  }
  .b-header_stuck .l-header-inner {
    position: fixed;
    z-index: 14;
    top: 0;
    left: 0;
    background: radial-gradient(1412.55% 304.15% at 27.64% -147.55%, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 100%), #f9f9f9;
  }
}
.l-header-simplified_utility {
  width: 100%;
}
.b-header_stuck .l-header-simplified_utility {
  order: 2;
}
.l-header-left {
  width: 50%;
}
@media screen and (max-width: 1023px) {
  .l-header-left {
    width: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .l-header.m-simple .l-header-left {
    width: 50%;
  }
}
.l-header-left .b-input.m-search {
  min-width: 314px;
  padding-right: 40px;
}
.l-header-right {
  display: flex;
  justify-content: flex-end;
  width: 50%;
}
@media screen and (max-width: 1023px) {
  .l-header-right {
    width: auto;
  }
}
.l-header.m-simple .l-header-right {
  padding-top: 5px;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .l-header.m-simple .l-header-right {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .l-header.m-simple .l-header-right {
    display: none;
  }
}
.l-header-right .b-header_button {
  position: relative;
  padding: 12px 8px;
  box-sizing: content-box;
  color: #000;
}
.l-header-bottom {
  display: none;
  width: 100%;
  padding: 8px;
  background-color: #f3f3f3;
  border-bottom: 1px solid #e6e6e6;
}
@media screen and (max-width: 1023px) {
  .l-header-bottom {
    display: block;
  }
}
.l-header-bottom .b-input_icon,
.l-header-bottom .b-input {
  display: block;
  margin: auto;
  max-width: 335px;
}
.l-header-bottom .b-input {
  padding-right: 40px;
}

.b-header_utility {
  font-size: 16px;
  font-family: "Quattrocento Sans", "Helvetica Neue", "Helvetica", "Arial", "Nimbus Sans L", "Liberation Sans", sans-serif;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: normal;
  position: relative;
  color: #fff;
  background-color: #222f58;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 8px 60px;
  min-height: 40px;
  transition: max-height, padding 0.6s ease-out;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .b-header_utility {
    padding: 8px 0;
  }
}
.b-header_utility-inner {
  margin: 0 auto;
  max-width: 1440px;
  padding-left: 60px;
  padding-right: 60px;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .b-header_utility-inner {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media screen and (max-width: 767px) {
  .b-header_utility-inner {
    padding-left: 25px;
    padding-right: 25px;
  }
}
.b-header_utility-inner.m-full {
  padding: 0;
}
.b-header_utility-item.m-navigation {
  position: absolute;
  top: 50%;
  right: 60px;
  transform: translateY(-50%);
}
.b-header_utility-item.m-navigation > a {
  font-size: 14px;
  font-family: "Quattrocento Sans", "Helvetica Neue", "Helvetica", "Arial", "Nimbus Sans L", "Liberation Sans", sans-serif;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: normal;
}
.b-header_utility-item.m-navigation > a:not(:last-child)::after {
  content: "|";
  display: inline-block;
  margin: 0 8px;
  pointer-events: none;
}
.b-header_utility-item.m-navigation > a:hover {
  text-decoration: none;
}
@media screen and (max-width: 1023px) {
  .b-header_utility-item.m-navigation {
    display: none;
  }
}
.b-header_utility-element {
  display: flex;
  margin: 0 20px;
}
@media screen and (max-width: 1023px) {
  .b-header_utility-element {
    margin: 0;
  }
}
.b-header_utility-text {
  font-size: 16px;
  font-family: "Quattrocento Sans", "Helvetica Neue", "Helvetica", "Arial", "Nimbus Sans L", "Liberation Sans", sans-serif;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: normal;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .b-header_utility-text {
    font-size: 14px;
    font-family: "Quattrocento Sans", "Helvetica Neue", "Helvetica", "Arial", "Nimbus Sans L", "Liberation Sans", sans-serif;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: normal;
  }
}
.b-header_utility-link_details {
  color: #000;
  cursor: pointer;
  display: inline-block;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  transition-property: color;
  font-size: 16px;
  font-family: "Quattrocento Sans", "Helvetica Neue", "Helvetica", "Arial", "Nimbus Sans L", "Liberation Sans", sans-serif;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: normal;
  color: inherit;
  text-decoration: underline;
  font-size: 16px;
  font-family: "Quattrocento Sans", "Helvetica Neue", "Helvetica", "Arial", "Nimbus Sans L", "Liberation Sans", sans-serif;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: normal;
}
@media not all and (pointer: coarse) {
  .b-header_utility-link_details:hover {
    text-decoration: none;
  }
}
.b-header_utility-link_details > svg {
  height: 9px;
  width: 15px;
}
.b-header_utility-link_details.b-button svg {
  width: 15px;
}
.b-header_utility-link_details:disabled, .b-header_utility-link_details.m-disabled {
  color: rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
@media not all and (pointer: coarse) {
  .b-header_utility-link_details:hover {
    text-decoration: underline;
  }
}

.b-logo {
  color: #22387c;
  display: block;
  margin: auto;
  max-width: 235px;
  min-width: 235px;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .b-logo {
    max-width: 163px;
    min-width: 163px;
  }
}
.b-logo-absolute_logo {
  position: relative;
}
@media screen and (max-width: 1023px) {
  .b-logo-subtitle {
    display: none;
  }
}
.b-logo .m-large_logo {
  height: 61px;
}
@media screen and (max-width: 1023px) {
  .b-logo .m-large_logo {
    position: relative;
    top: 10px;
  }
}

@media screen and (min-width: 1024px) {
  .b-header_stuck .b-logo_sticky {
    animation: fade-in cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
    display: block;
  }
}

.b-header_actions {
  align-items: center;
  color: #fff;
  display: flex;
}
.l-header-right .b-header_actions {
  justify-content: flex-end;
  width: 100%;
}
.l-header.m-static .b-header_actions {
  color: #fff;
}
@media screen and (max-width: 1023px) {
  .b-header_actions-item.m-wishlist {
    display: none;
  }
}
.b-header_actions-item.m-left, .b-header_actions-item.m-middle, .b-header_actions-item.m-right {
  margin-inline-end: 30px;
}
@media screen and (max-width: 1023px) {
  .b-header_actions-item.m-left, .b-header_actions-item.m-middle, .b-header_actions-item.m-right {
    display: none;
  }
}
.b-header_actions-item.m-hamburger {
  display: none;
  padding: 12px 8px;
  color: #000;
}
@media screen and (max-width: 1023px) {
  .b-header_actions-item.m-hamburger {
    display: block;
  }
}
@media screen and (max-width: 1023px) {
  .b-header_actions-item.m-search {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  .b-header_actions-item.m-account {
    display: none;
  }
}
.b-header_stuck .b-header_actions_sticky {
  animation: fade-in cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  color: #000;
  top: 16px;
  z-index: 12;
}

.b-header_button {
  align-items: center;
  -webkit-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
  display: flex;
  flex-shrink: 0;
  height: 24px;
  justify-content: center;
  text-align: center;
  width: 24px;
  pointer-events: all;
  align-items: flex-end;
}
.b-header_button:hover {
  color: #808080;
}

.b-header_login {
  align-items: center;
  display: flex;
  position: relative;
  color: #000;
}
@media screen and (max-width: 1023px) {
  .b-header_login {
    align-items: center;
    box-shadow: none;
    justify-content: space-between;
    padding: 0 4px;
  }
}
@media not all and (pointer: coarse) {
  .b-header_login:focus-within .b-header_login-control, .b-header_login:hover .b-header_login-control {
    opacity: 1;
    visibility: visible;
  }
}
@media screen and (max-width: 1023px) {
  .b-header_login-icon:hover {
    color: currentColor;
  }
}
.b-header_login-icon > svg {
  width: 24px;
  height: 24px;
}
.b-header_login-icon_wrapper {
  align-items: flex-end;
  display: flex;
}
.b-header_login-caption {
  font-size: 16px;
  font-family: "Quattrocento Sans", "Helvetica Neue", "Helvetica", "Arial", "Nimbus Sans L", "Liberation Sans", sans-serif;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: normal;
  display: flex;
  padding-right: 12px;
}
@media screen and (min-width: 1024px) {
  .b-header_login-caption {
    display: none;
  }
  .b-header_login-caption.m-login {
    display: block;
    line-height: 1;
  }
}
@media screen and (max-width: 1023px) {
  .b-header_login-caption.m-login {
    display: none;
  }
}
.b-header_actions-item .b-header_login-caption:not(.m-login) {
  display: none;
}
.b-header_login-divider {
  margin: 0 4px;
}
.b-header_login-link {
  color: inherit;
  white-space: nowrap;
  padding: 12px 8px;
}
.b-header_login-link.m-name {
  display: inline-block;
  font-weight: 300;
  transform: translateY(2px);
}
.b-header_login-logout {
  display: none;
}
@media screen and (max-width: 1023px) {
  .b-header_login-logout {
    display: flex;
  }
}
.b-header_login-control {
  opacity: 0;
  position: absolute;
  top: calc(100% - 10px);
  right: 0;
  transition: opacity cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  visibility: hidden;
  z-index: 17;
}
@media screen and (max-width: 1023px) {
  .b-header_login-control {
    display: none;
  }
}
.b-header_login-list {
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  margin-top: 20px;
  padding: 18px 15px 15px;
  width: 130px;
}
.b-header_login-item {
  border-bottom: 1px solid #d9d9d9;
  padding: 10px 0 0;
}
.b-header_login-item:first-of-type {
  padding: 0 0 10px;
}
.b-header_login-item:last-of-type {
  border-bottom: none;
}
.b-header_login-user {
  font-size: 16px;
  font-family: "Quattrocento Sans", "Helvetica Neue", "Helvetica", "Arial", "Nimbus Sans L", "Liberation Sans", sans-serif;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: normal;
  align-items: center;
  display: flex;
  transform: translateY(4px);
}
.b-header_login-account_link {
  color: #000;
  cursor: pointer;
  display: inline-block;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  transition-property: color;
  font-weight: 700;
  text-decoration: underline;
  align-items: flex-end;
  display: flex;
}
@media not all and (pointer: coarse) {
  .b-header_login-account_link:hover {
    text-decoration: none;
  }
}
.b-header_login-account_link > svg {
  height: 9px;
  width: 15px;
}
.b-header_login-account_link.b-button svg {
  width: 15px;
}
.b-header_login-account_link:disabled, .b-header_login-account_link.m-disabled {
  color: rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
@media not all and (pointer: coarse) {
  .b-header_login-account_link:hover {
    text-decoration: none;
  }
}
.b-header_login-account_link.b-button {
  text-decoration: none;
}
@media not all and (pointer: coarse) {
  .b-header_login-account_link.b-button:hover .b-button-text {
    text-decoration: none;
  }
}
.b-header_login-account_link.b-button .b-button-text {
  text-decoration: underline;
}
.b-header_login-account_link > svg {
  height: auto;
  margin-right: 16px;
  width: 20px;
}
.b-header_login-account_link.m-user {
  color: #000;
  cursor: pointer;
  display: inline-block;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  transition-property: color;
  font-weight: 400;
}
@media not all and (pointer: coarse) {
  .b-header_login-account_link.m-user:hover {
    text-decoration: none;
  }
}
.b-header_login-account_link.m-user > svg {
  height: 9px;
  width: 15px;
}
.b-header_login-account_link.m-user.b-button svg {
  width: 15px;
}
.b-header_login-account_link.m-user:disabled, .b-header_login-account_link.m-user.m-disabled {
  color: rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
@media not all and (pointer: coarse) {
  .b-header_login-account_link.m-user:hover {
    text-decoration: underline;
  }
  .b-header_login-account_link.m-user:hover > .b-button-text {
    text-decoration: underline;
  }
}
@media not all and (pointer: coarse) {
  .b-header_login-account_link.m-user.b-button:hover {
    text-decoration: none;
  }
}
.b-header_login-account_link.m-user > svg {
  height: auto;
  margin-right: 16px;
  transform: translateY(-2px);
  width: 20px;
}

.b-minicart_icon-link {
  position: relative;
}
.b-minicart_icon-link > svg {
  width: 24px;
  height: 24px;
}
.b-minicart_icon-icon {
  margin: 8px 0;
}
.b-minicart_icon-qty {
  background-color: #a6e7e2;
  border-radius: 50%;
  color: #22387c;
  font-size: 13px;
  height: 20px;
  line-height: 20px;
  width: 20px;
  padding: 0 3px;
  position: absolute;
  top: 0;
  right: 0;
  text-align: center;
  box-sizing: border-box;
  /* stylelint-disable-next-line */
}
html[dir=rtl] .b-minicart_icon-qty {
  left: initial;
  right: 24px;
}

.b-search_toggle {
  align-items: center;
  cursor: pointer;
  display: flex;
  font-size: 16px;
  height: 25px;
  line-height: 25px;
  text-align: start;
}
@media screen and (max-width: 1023px) {
  .b-search_toggle {
    border: none;
    font-size: 0;
  }
}
.b-header_stuck .b-search_toggle {
  border: none;
  font-size: 0;
}
.b-search_toggle-icon {
  align-items: center;
  -webkit-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
  display: flex;
  flex-shrink: 0;
  height: 24px;
  justify-content: center;
  text-align: center;
  width: 24px;
  align-items: center;
  color: inherit;
  display: flex;
  height: 25px;
  justify-content: center;
  transition: color cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.2s;
  width: 25px;
}
.b-search_toggle-icon:hover {
  color: #808080;
}
.b-search_toggle-icon > svg {
  height: 15px;
  width: 15px;
}
@media screen and (min-width: 1024px) {
  .b-search_toggle-icon > svg {
    height: 20px;
    width: 20px;
  }
}
.b-header_stuck .b-search_toggle-icon {
  margin-inline-end: 0;
}
.b-header_stuck .b-search_toggle-icon:hover {
  background: none;
  color: #4d4d4d;
}

@media screen and (min-width: 1367px) {
  .b-menu_bar-flyout_promo {
    display: block;
    padding-bottom: 20px;
    width: 396px;
  }
  .b-menu_bar-flyout_promo picture {
    display: block;
    overflow: hidden;
    padding-bottom: 75%;
    position: relative;
    width: 100%;
  }
  .b-menu_bar-flyout_promo img {
    bottom: 0;
    color: #999;
    display: block;
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .b-menu_bar {
    background-color: #fff;
    color: #000;
    position: relative;
    transition: background-color cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
    z-index: 13;
  }
  .b-menu_bar-container {
    margin: 0 auto;
    max-width: 100vw;
    padding-left: 32px;
    padding-right: 32px;
  }
}
@media screen and (min-width: 1024px) and (min-width: 768px) and (max-width: 1023px) {
  .b-menu_bar-container {
    padding-left: 28px;
    padding-right: 28px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 767px) {
  .b-menu_bar-container {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media screen and (min-width: 1024px) {
  .b-menu_bar-inner {
    display: flex;
    justify-content: center;
    gap: 56px;
  }
  .b-menu_bar-link {
    font-size: 20px;
    font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
    font-weight: 600;
    line-height: 1;
    letter-spacing: normal;
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 8px;
    text-decoration: none;
    width: 100%;
    color: #222f58;
    padding: 22px 0;
  }
  .b-menu_bar-link:hover {
    text-decoration: none;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1023px) {
  .b-menu_bar-link {
    font-size: 18px;
    line-height: 26px;
  }
}
@media screen and (min-width: 1024px) {
  .b-menu_bar-link[aria-expanded=true] > .b-menu_item-link_icon {
    transform: rotate(180deg);
    transform-origin: 50% 60%;
  }
  .b-menu_bar-flyout {
    background-color: #fff;
    border-top: 1px solid #d9d9d9;
    box-shadow: 0 50vh 0 50vh rgba(0, 0, 0, 0.4);
    color: #000;
    display: none;
    left: 0;
    max-height: 70vh;
    min-height: 300px;
    overflow-y: auto;
    position: absolute;
    right: 0;
    top: 100%;
  }
  .b-menu_bar-flyout[aria-hidden=false] {
    display: block;
  }
  .b-menu_bar-flyout_inner {
    margin: 0 auto;
    max-width: 1440px;
    padding-left: 60px;
    padding-right: 60px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
    padding: 0;
    position: relative;
    min-height: 408px;
    padding-left: 12vw;
    max-width: none;
  }
}
@media screen and (min-width: 1024px) and (min-width: 768px) and (max-width: 1023px) {
  .b-menu_bar-flyout_inner {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 767px) {
  .b-menu_bar-flyout_inner {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media screen and (min-width: 1024px) {
  .b-menu_bar-flyout_inner.m-full {
    padding: 0;
  }
  .b-menu_bar-flyout_inner .b-content_asset {
    width: 100%;
  }
  .b-menu_bar-flyout_column {
    flex-basis: 16.6666666667%;
    padding-top: 56px;
    padding-bottom: 30px;
  }
  .b-menu_bar-flyout_close {
    align-items: center;
    -webkit-appearance: none;
            appearance: none;
    background: transparent;
    border: none;
    color: inherit;
    cursor: pointer;
    display: flex;
    flex-shrink: 0;
    height: 24px;
    justify-content: center;
    text-align: center;
    width: 24px;
    position: absolute;
    right: 40px;
    top: 20px;
    display: none;
    /* stylelint-disable-next-line */
  }
  .b-menu_bar-flyout_close:hover {
    color: #808080;
  }
  html[dir=rtl] .b-menu_bar-flyout_close {
    left: 40px;
    right: initial;
  }
  .b-menu_bar-flyout_slot {
    flex-basis: 16.6666666667%;
    flex-grow: 1;
    margin-left: auto;
  }
}
@media screen and (max-width: 1366px) {
  .b-menu_bar-flyout_promo {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  .b-menu_bar-flyout_inner,
  .b-menu_bar-inner {
    padding: 0 24px 24px;
  }
  .b-menu_bar-link {
    font-size: 20px;
    font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
    font-weight: 600;
    line-height: 1;
    letter-spacing: normal;
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 8px;
    text-decoration: none;
    width: 100%;
    color: #222f58;
    justify-content: space-between;
  }
  .b-menu_bar-link:hover {
    text-decoration: none;
  }
}
@media screen and (max-width: 1023px) and (max-width: 1023px) {
  .b-menu_bar-link {
    font-size: 18px;
    line-height: 26px;
  }
}
@media screen and (max-width: 1023px) {
  .b-menu_item,
  .b-menu_bar-item {
    font-size: 28px;
    font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: normal;
    padding: 22px 0;
    border-bottom: 1px solid #000;
  }
  .b-menu_bar-flyout_slot {
    margin-top: 24px;
    border-radius: 8px;
    overflow: hidden;
  }
}
@media screen and (max-width: 1023px) {
  .b-menu_item.m-view_all_bottom {
    display: none;
  }
}
.b-menu_item-link_icon {
  color: inherit;
}
.b-menu_item-link_icon.m-arrow-down {
  display: block;
}
@media screen and (max-width: 1023px) {
  .b-menu_item-link_icon.m-arrow-down {
    display: none;
  }
}
.b-menu_item-link_icon.m-arrow-forward {
  display: none;
}
@media screen and (max-width: 1023px) {
  .b-menu_item-link_icon.m-arrow-forward {
    display: block;
  }
}
.b-menu_item-link_icon.m-arrow-forward > svg {
  width: 16px;
  height: 16px;
}
.b-menu_item-link {
  color: #000;
  cursor: pointer;
  display: inline-block;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  transition-property: color;
  font-size: 18px;
  font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
  font-weight: 400;
  line-height: 2;
  letter-spacing: normal;
  display: inline-block;
  position: relative;
  text-decoration: none;
}
@media not all and (pointer: coarse) {
  .b-menu_item-link:hover {
    text-decoration: none;
  }
}
.b-menu_item-link > svg {
  height: 9px;
  width: 15px;
}
.b-menu_item-link.b-button svg {
  width: 15px;
}
.b-menu_item-link:disabled, .b-menu_item-link.m-disabled {
  color: rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .b-menu_item-link {
    font-size: 20px;
    font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
    font-weight: 600;
    line-height: 1;
    letter-spacing: normal;
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 8px;
    text-decoration: none;
    width: 100%;
    color: #222f58;
  }
  .b-menu_item-link:hover {
    text-decoration: none;
  }
}
@media screen and (max-width: 1023px) and (max-width: 1023px) {
  .b-menu_item-link {
    font-size: 18px;
    line-height: 26px;
  }
}
.b-menu_item-link.m-headline {
  cursor: default;
}
@media screen and (min-width: 1024px) {
  .b-menu_item-link.m-headline {
    font-size: 20px;
    font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
    font-weight: 600;
    line-height: 1;
    letter-spacing: normal;
    text-transform: capitalize;
    margin-bottom: 6px;
  }
}
@media screen and (max-width: 1023px) {
  .b-menu_item-link.m-headline {
    display: none;
  }
}
.b-menu_item-link.m-hamburger {
  display: block;
}
@media screen and (max-width: 1023px) {
  .b-menu_item-link.m-hamburger {
    display: flex;
    justify-content: space-between;
  }
}
.b-menu_item-link.m-hamburger .b-menu_item-link_icon {
  display: none;
}
@media screen and (max-width: 1023px) {
  .b-menu_item-link.m-hamburger .b-menu_item-link_icon {
    display: block;
  }
}
.b-menu_item-link.m-level2.m-active > .b-menu_item-link_icon {
  transform: rotate(180deg);
}
.b-menu_item-link.m-level2.m-active + .b-menu_item-submenu.m-level_3_content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}
.b-menu_item-link_text {
  margin: 0 12px;
}
.b-menu_item.m-level-3 {
  padding: 0;
  border: none;
}
.b-menu_item.m-level-3 .b-menu_item-link {
  font-size: 16px;
  font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
  font-weight: 400;
  line-height: 2;
  letter-spacing: normal;
}

@media screen and (min-width: 1024px) {
  .b-menu_panel {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 13;
    width: 100%;
  }
  .b-header_stuck .b-menu_panel {
    z-index: 14;
  }
}
@media screen and (max-width: 1023px) {
  .b-menu_panel-wrapper::before {
    background-color: rgba(0, 0, 0, 0.4);
    bottom: 0;
    content: "";
    left: 0;
    opacity: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.5s;
    transition-property: visibility, opacity;
    visibility: hidden;
    z-index: 17;
  }
  .b-menu_panel-wrapper.m-opened::before, .b-menu_panel-wrapper.m-active::before {
    opacity: var(--backdrop-opacity);
    transition: none;
    visibility: visible;
  }
}
@media screen and (max-width: 1023px) {
  .b-menu_panel-inner {
    background-color: #fff;
    bottom: 0;
    height: 100%;
    max-width: 100%;
    overflow: hidden;
    position: fixed;
    left: 0;
    top: 0;
    transform: translateX(-100%);
    transition-property: transform;
    visibility: hidden;
    width: 400px;
    z-index: 17;
    /* stylelint-disable-next-line */
  }
  html[dir=rtl] .b-menu_panel-inner {
    left: initial;
    right: 0;
    transform: translateX(100%);
  }
  .b-menu_panel-inner.m-closed {
    transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.5s;
  }
  .b-menu_panel-inner.m-opened {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
    transform: translateX(0);
    transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.5s;
    visibility: visible;
    /* stylelint-disable-next-line */
  }
  html[dir=rtl] .b-menu_panel-inner.m-opened {
    transform: translateX(0);
  }
}
.b-menu_panel-head {
  display: none;
}
@media screen and (max-width: 1023px) {
  .b-menu_panel-head {
    align-items: center;
    background-color: #222f58;
    display: flex;
    justify-content: space-between;
    min-height: 72px;
    padding: 28px 24px 25px;
  }
}
.b-menu_panel-title {
  font-size: 18px;
  font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
  font-weight: 600;
  line-height: 1;
  letter-spacing: normal;
  width: 100%;
  text-align: center;
  color: #fff;
}
.b-menu_panel-back {
  align-items: center;
  -webkit-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
  display: flex;
  flex-shrink: 0;
  height: 24px;
  justify-content: center;
  text-align: center;
  width: 24px;
  color: #fff;
  width: auto;
}
.b-menu_panel-back:hover {
  color: #808080;
}
.b-menu_panel-back_text {
  display: none;
}
.b-menu_panel-footer {
  display: none;
  padding-top: 32px;
}
@media screen and (max-width: 1023px) {
  .b-menu_panel-footer {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  .b-menu_panel-footer > .b-header_login {
    justify-content: flex-start;
    padding: 0;
    height: 16px;
  }
  .b-menu_panel-footer > .b-header_utility-link_details, .b-menu_panel-footer > .b-header_login .b-header_login-caption, .b-menu_panel-footer > .b-header_login {
    font-size: 18px;
    font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
    font-weight: 600;
    line-height: 100%;
    letter-spacing: normal;
    text-decoration: none;
    color: #000;
  }
  .b-menu_panel-footer > .b-header_login svg {
    height: 16px;
    width: 16px;
    margin-right: 16px;
  }
  .b-menu_panel-footer .b-header_utility-link_details::before {
    background-color: #000;
    content: "";
    display: inline-block;
    height: 16px;
    -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 version%3D%221%22 width%3D%2216%22 height%3D%2216%22 viewBox%3D%220 0 16 16%22%3E%3Cpath d%3D%22M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8m0 14.5c-3.6 0-6.5-2.9-6.5-6.5S4.4 1.5 8 1.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5M7.3 11h1.5v1.5H7.3zM11 6.5c0 1-.6 1.5-1.2 2-.5.5-1 .9-1 1.8H7.3c0-1.4.7-1.9 1.3-2.4.5-.4.9-.7.9-1.4C9.5 5.7 8.8 5 8 5s-1.5.7-1.5 1.5H5c0-1.7 1.3-3 3-3s3 1.3 3 3%22%2F%3E%3C%2Fsvg%3E");
            mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 version%3D%221%22 width%3D%2216%22 height%3D%2216%22 viewBox%3D%220 0 16 16%22%3E%3Cpath d%3D%22M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8m0 14.5c-3.6 0-6.5-2.9-6.5-6.5S4.4 1.5 8 1.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5M7.3 11h1.5v1.5H7.3zM11 6.5c0 1-.6 1.5-1.2 2-.5.5-1 .9-1 1.8H7.3c0-1.4.7-1.9 1.3-2.4.5-.4.9-.7.9-1.4C9.5 5.7 8.8 5 8 5s-1.5.7-1.5 1.5H5c0-1.7 1.3-3 3-3s3 1.3 3 3%22%2F%3E%3C%2Fsvg%3E");
    vertical-align: sub;
    width: 16px;
  }
  .b-menu_panel-footer .b-header_utility-link_details::before {
    height: 16px;
    width: 16px;
    margin-right: 16px;
    vertical-align: bottom;
  }
}
.b-menu_panel-close {
  align-items: center;
  -webkit-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
  display: flex;
  flex-shrink: 0;
  height: 24px;
  justify-content: center;
  text-align: center;
  width: 24px;
  width: 16px;
  color: #fff;
  margin-inline-start: auto;
}
.b-menu_panel-close:hover {
  color: #808080;
}
@media screen and (max-width: 1023px) {
  .b-menu_panel-link {
    font-size: 20px;
    font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
    font-weight: 600;
    line-height: 1;
    letter-spacing: normal;
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 8px;
    text-decoration: none;
    width: 100%;
    color: #222f58;
  }
  .b-menu_panel-link:hover {
    text-decoration: none;
  }
}
@media screen and (max-width: 1023px) and (max-width: 1023px) {
  .b-menu_panel-link {
    font-size: 18px;
    line-height: 26px;
  }
}

@media screen and (min-width: 1024px) {
  .b-menu_subpanel-container.m-level_2, .b-menu_subpanel-container.m-level_3 {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  .b-menu_subpanel {
    display: flex;
    height: 100%;
    transition: transform cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.5s;
  }
  .b-menu_subpanel.m-active_level_1 {
    transform: translateX(0);
  }
  .b-menu_subpanel.m-active_level_2 {
    transform: translateX(-100%);
    /* stylelint-disable-next-line */
  }
  html[dir=rtl] .b-menu_subpanel.m-active_level_2 {
    transform: translateX(100%);
  }
  .b-menu_subpanel.m-active_level_3 {
    transform: translateX(-200%);
    /* stylelint-disable-next-line */
  }
  html[dir=rtl] .b-menu_subpanel.m-active_level_3 {
    transform: translateX(200%);
  }
  .b-menu_subpanel-container {
    background-color: #fff;
    min-width: 100%;
    overflow-y: auto;
  }
  .b-menu_subpanel-container.m-level_1 .b-menu_subpanel-content.m-level_2_content, .b-menu_subpanel-container.m-level_2 .b-menu_subpanel-content.m-level_3_content {
    display: none;
  }
}
.b-skip_to {
  background-color: #d9d9d9;
  clip: rect(1px, 1px, 1px, 1px);
  color: #000;
  display: block;
  left: 0;
  margin: 0 auto;
  max-width: 320px;
  opacity: 0;
  overflow: hidden;
  padding: 12px 48px;
  position: absolute;
  right: 0;
  text-align: center;
  text-decoration: none;
  top: 8px;
  transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  transition-property: opacity, clip;
  z-index: 20;
}
.b-skip_to:focus {
  clip: auto;
  opacity: 1;
}

/*md

# b-header_message

```html_example
<!--
Classes:
.m-error - Error state
.m-error_compatibility - Compatibility state
-->
<div class="b-header_message [modifier class]" role="alert">
    <div class="b-header_message-inner">
        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. <a href="#" class="b-header_message-link">link</a>
    </div>
</div>
```

*/
.b-header_message {
  font-size: 16px;
  font-family: "Quattrocento Sans", "Helvetica Neue", "Helvetica", "Arial", "Nimbus Sans L", "Liberation Sans", sans-serif;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: normal;
  padding: 12px 0;
  text-align: center;
  visibility: visible;
}
.b-header_message.m-error {
  background-color: #fce6e6;
  color: #ed432c;
}
.b-header_message.m-error a {
  color: #ed432c;
}
.b-header_message.m-error_compatibility {
  background-color: #e7e7ff;
  color: #000;
}
.b-header_message-inner {
  margin: 0 auto;
  max-width: 1440px;
  padding-left: 60px;
  padding-right: 60px;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .b-header_message-inner {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media screen and (max-width: 767px) {
  .b-header_message-inner {
    padding-left: 25px;
    padding-right: 25px;
  }
}
.b-header_message-inner.m-full {
  padding: 0;
}
.b-header_message-link {
  color: #000;
  cursor: pointer;
  display: inline-block;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  transition-property: color;
  font-weight: 700;
  text-decoration: underline;
}
@media not all and (pointer: coarse) {
  .b-header_message-link:hover {
    text-decoration: none;
  }
}
.b-header_message-link > svg {
  height: 9px;
  width: 15px;
}
.b-header_message-link.b-button svg {
  width: 15px;
}
.b-header_message-link:disabled, .b-header_message-link.m-disabled {
  color: rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
@media not all and (pointer: coarse) {
  .b-header_message-link:hover {
    text-decoration: none;
  }
}
.b-header_message-link.b-button {
  text-decoration: none;
}
@media not all and (pointer: coarse) {
  .b-header_message-link.b-button:hover .b-button-text {
    text-decoration: none;
  }
}
.b-header_message-link.b-button .b-button-text {
  text-decoration: underline;
}

/*md

# Badges

```html_example
<!--
Classes:
.m-default - Default
.m-skeleton - Skeleton
.m-default .m-out_of_stock - Out of Stock
.m-icon-before - Icon before
-->
<div class="b-badges">
	<div class="b-badges-item [modifier class]">
		<span class="b-badges-name" style="">
			Badge Text
		</span>
	</div>
</div>
```

*/
.b-badges {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.b-badges.m-positioning {
  left: 12px;
  max-width: 100%;
  pointer-events: none;
  position: absolute;
  top: 12px;
  z-index: 1;
}
.m-zoomed-in .b-badges.m-positioning {
  z-index: 0;
}
.b-badges-item {
  display: inline-flex;
}
.b-badges-item svg {
  height: 25px;
  width: 25px;
}
.b-badges-item.m-default {
  text-align: center;
}
.b-badges-item.m-default .b-badges-name {
  background-color: #abddf9;
  border-radius: 20px;
  padding: 11px 16px;
}
.b-badges-item.m-skeleton .b-badges-name {
  font-size: 14px;
  font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
  font-weight: 700;
  line-height: 1;
  letter-spacing: normal;
}
.b-badges-item.m-out_of_stock .b-badges-name {
  background: #4d4d4d;
  color: #fff;
}
.b-badges-name {
  font-size: 14px;
  font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
  font-weight: 700;
  line-height: 1;
  letter-spacing: normal;
  text-transform: capitalize;
  color: #000;
}

/*md

# b-carousel (based on scroll)

## Carousel examples

### 1. Hero carousel

```html_example
<div data-widget="carousel" class="b-carousel m-hero">
	<button class="b-carousel-ctrl m-prev" tabindex="-1" aria-hidden="true" title="Previous" data-ref="elemPrevButton" data-event-click="scrollToPrevPage">
		<svg width="40" height="40" viewBox="2 1 40 40" aria-hidden="true" focusable="false">
			<path d="m26.541 8.3536-12.728 12.728 12.728 12.728" fill="none" stroke="currentColor" stroke-width="2"></path>
		</svg>
	</button>
	<button class="b-carousel-ctrl m-next" tabindex="-1" aria-hidden="true" title="Next" data-ref="elemNextButton" data-event-click="scrollToNextPage">
		<svg width="40" height="40" viewBox="-1 1 40 40" aria-hidden="true" focusable="false">
			<path d="m13.459 8.3536 12.728 12.728-12.728 12.728" fill="none" stroke="currentColor" stroke-width="2"></path>
		</svg>
	</button>
	<div class="b-carousel-track" data-ref="elemCarouselTrack" data-event-scroll.passive="onScroll" data-event-touchstart="onScroll" data-event-mousedown.prevent="onMouseDown" data-event-mouseup="onMouseUp">
		<div class="b-carousel-item">
			<figure class="b-promo_box m-full_bleed m-caption_offcenter">
				<picture class="b-promo_box-picture">
					<img src="../images/guide/examples/hero-carousel-banner-1.jpg" alt="Girl stand on the beach." loading="eager" width="1600" height="800">
				</picture>
				<figcaption class="b-promo_box-inner">
					<div class="b-promo_box-caption b-promo_caption">
						<h2 class="b-promo_caption-title">Carousel first slide</h2>
						<p class="b-promo_caption-subtitle">Everyone's fallen for boilerplate so we added to her games repertoire.</p>
						<div class="b-promo_caption-actions">
							<a class="b-button" href="#" aria-label="Shop new season at boilerplate">Shop New Season</a>
						</div>
					</div>
				</figcaption>
			</figure>
		</div>
		<div class="b-carousel-item">
			<figure class="b-promo_box m-full_bleed m-caption_offcenter">
				<picture class="b-promo_box-picture">
					<img src="../images/guide/examples/hero-carousel-banner-2.jpg" alt="Girl with khaki panama." loading="lazy" width="1600" height="800">
				</picture>
				<figcaption class="b-promo_box-inner">
					<div class="b-promo_box-caption b-promo_caption">
						<h2 class="b-promo_caption-title">Carousel second slide</h2>
						<p class="b-promo_caption-subtitle">New playful styles inspired by darts and that staple of a British pub - the fruit machine.</p>
						<div class="b-promo_caption-actions">
							<a class="b-button" href="#" aria-label="Shop new Collection at boilerplate">Shop New Collection</a>
						</div>
					</div>
				</figcaption>
			</figure>
		</div>
		<div class="b-carousel-item">
			<figure class="b-promo_box m-full_bleed m-caption_offcenter">
				<picture class="b-promo_box-picture">
					<img src="../images/guide/examples/hero-carousel-banner-3.jpg" alt="Girl stand in cloak." loading="lazy" width="1600" height="800">
				</picture>
				<figcaption class="b-promo_box-inner">
					<div class="b-promo_box-caption b-promo_caption">
						<h2 class="b-promo_caption-title">Carousel third slide</h2>
						<div class="b-promo_caption-actions">
							<a class="b-button" href="#" aria-label="Shop new Season at boilerplate">Shop New Season</a>
						</div>
					</div>
				</figcaption>
			</figure>
		</div>
	</div>
	<div aria-hidden="true" class="b-carousel-pagination" data-ref="pagination">
		<button class="b-carousel-page" data-page="0" tabindex="-1" data-event-click.prevent="handlePaginationClick"></button>
		<button class="b-carousel-page" data-page="1" tabindex="-1" data-event-click.prevent="handlePaginationClick"></button>
		<button class="b-carousel-page" data-page="2" tabindex="-1" data-event-click.prevent="handlePaginationClick"></button>
	</div>
</div>
```

### 2. Products carousel

```html_example
<section data-widget="carousel" class="b-carousel m-products">
	<h2 class="b-carousel-title">Look what's new</h2>
	<button class="b-carousel-ctrl m-prev" tabindex="-1" aria-hidden="true" title="Previous" data-ref="elemPrevButton" data-event-click="scrollToPrevPage">
		<svg width="40" height="40" viewBox="2 1 40 40" aria-hidden="true" focusable="false">
			<path d="m26.541 8.3536-12.728 12.728 12.728 12.728" fill="none" stroke="currentColor" stroke-width="2"></path>
		</svg>
	</button>
	<button class="b-carousel-ctrl m-next" tabindex="-1" aria-hidden="true" title="Next" data-ref="elemNextButton" data-event-click="scrollToNextPage">
		<svg width="40" height="40" viewBox="-1 1 40 40" aria-hidden="true" focusable="false">
			<path d="m13.459 8.3536 12.728 12.728-12.728 12.728" fill="none" stroke="currentColor" stroke-width="2"></path>
		</svg>
	</button>
	<div class="b-carousel-track" data-ref="elemCarouselTrack" data-event-scroll.passive="onScroll" data-event-touchstart="onScroll" data-event-mousedown.prevent="onMouseDown" data-event-mouseup="onMouseUp">
		<div class="b-carousel-item">
			<section class="b-product_tile">
				<img src="../images/guide/examples/product-carousel-image.png" alt="Image" width="260" height="346">
			</section>
		</div>
		<div class="b-carousel-item">
			<section class="b-product_tile">
				<img src="../images/guide/examples/product-carousel-image.png" alt="Image" width="260" height="346">
			</section>
		</div>
		<div class="b-carousel-item">
			<section class="b-product_tile">
				<img src="../images/guide/examples/product-carousel-image.png" alt="Image" width="260" height="346">
			</section>
		</div>
		<div class="b-carousel-item">
			<section class="b-product_tile">
				<img src="../images/guide/examples/product-carousel-image.png" alt="Image" width="260" height="346">
			</section>
		</div>
		<div class="b-carousel-item">
			<section class="b-product_tile">
				<img src="../images/guide/examples/product-carousel-image.png" alt="Image" width="260" height="346">
			</section>
		</div>
		<div class="b-carousel-item">
			<section class="b-product_tile">
				<img src="../images/guide/examples/product-carousel-image.png" alt="Image" width="260" height="346">
			</section>
		</div>
		<div class="b-carousel-item">
			<section class="b-product_tile">
				<img src="../images/guide/examples/product-carousel-image.png" alt="Image" width="260" height="346">
			</section>
		</div>
		<div class="b-carousel-item">
			<section class="b-product_tile">
				<img src="../images/guide/examples/product-carousel-image.png" alt="Image" width="260" height="346">
			</section>
		</div>
		<div class="b-carousel-item">
			<section class="b-product_tile">
				<img src="../images/guide/examples/product-carousel-image.png" alt="Image" width="260" height="346">
			</section>
		</div>
		<div class="b-carousel-item">
			<section class="b-product_tile">
				<img src="../images/guide/examples/product-carousel-image.png" alt="Image" width="260" height="346">
			</section>
		</div>
	</div>
</section>
<svg height="0" width="0" style="position:absolute" viewBox="0 0 0 0" xmlns="http://www.w3.org/2000/svg">
	<symbol id="star">
		<path d="m13.344 15.662-5.0953-2.6691-5.0873 2.6842 0.96393-5.6707-4.1249-4.0089 5.691-0.83558 2.538-5.1618 2.5533 5.1543 5.6935 0.81868-4.113 4.0211z"></path>
	</symbol>
</svg>
```
*/
.b-carousel {
  position: relative;
  width: 100%;
}
.b-carousel-title {
  font-size: 48px;
  font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -1px;
  color: #222f58;
  margin-bottom: 36px;
  text-align: left;
}
@media screen and (max-width: 1023px) {
  .b-carousel-title {
    font-size: 28px;
    font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.5px;
    margin-bottom: 22px;
    text-align: center;
  }
}
.b-carousel-track {
  display: flex;
  overflow: hidden;
  -ms-overflow-style: none;
  scroll-behavior: smooth;
  -ms-scroll-chaining: none;
  scrollbar-width: none;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
}
.b-carousel-track::-webkit-scrollbar {
  display: none;
}
@media print {
  .b-carousel-track {
    display: block;
  }
}
.b-carousel-track.m-mousemove_navigation {
  scroll-snap-type: unset;
}
.b-carousel-track.m-grabbing {
  cursor: grab;
  scroll-behavior: auto;
  -webkit-user-select: none;
          user-select: none;
}
.b-carousel-track.m-grabbing::before {
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 3;
}
.b-carousel-item {
  scroll-snap-align: start;
}
.b-carousel-track_wrapper {
  padding: 0 60px;
  position: relative;
}
.m-no_scroll .b-carousel-track_wrapper {
  padding: 0;
}
@media screen and (max-width: 767px) {
  .b-carousel-track_wrapper {
    padding: 0;
  }
}
.b-carousel-ctrl {
  -webkit-appearance: none;
          appearance: none;
  background-color: #fff;
  border: 1px solid #22387c;
  border-radius: 50%;
  cursor: pointer;
  display: none;
  height: 44px;
  margin-top: -22px;
  position: absolute;
  text-align: center;
  top: 50%;
  transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  transition-property: background-color, opacity;
  -webkit-user-select: none;
          user-select: none;
  width: 44px;
  z-index: 2;
}
@media not all and (pointer: coarse) {
  .b-carousel-ctrl:not(:disabled):hover {
    background-color: #f3f3f3;
  }
}
@media screen and (max-width: 767px) {
  .b-carousel:not(.m-ctrl-mobile) .b-carousel-ctrl {
    display: none;
  }
}
.b-carousel.m-inited .b-carousel-ctrl {
  display: block;
}
.b-carousel-ctrl[disabled] {
  opacity: 0.5;
}
.b-carousel.m-no_scroll .b-carousel-ctrl {
  opacity: 0;
  z-index: -1;
}
.b-carousel-ctrl.m-prev {
  left: 0;
}
.b-carousel-ctrl.m-next {
  right: 0;
}
.b-carousel-ctrl svg {
  height: 16px;
  width: 16px;
}
.b-carousel-pagination {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 15px;
  z-index: 2;
}
.b-carousel.m-inited .b-carousel-pagination {
  display: flex;
}
.b-carousel.m-no_scroll .b-carousel-pagination {
  display: none;
}
.b-carousel-tile_container:not(.m-ctrl-mobile) .b-carousel-tile_container {
  max-width: 306px;
}
.b-carousel-tile_picture {
  display: block;
  height: 100%;
  overflow: hidden;
  padding-bottom: 139%;
  position: relative;
  width: 100%;
}
.b-carousel-tile_picture img {
  bottom: 0;
  color: #999;
  display: block;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
  border-radius: 8px;
}
.b-carousel-tile_caption {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 12px;
}
.b-carousel-tile_title {
  font-size: 24px;
  font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -1px;
  color: #222f58;
}
@media screen and (max-width: 1023px) {
  .b-carousel-tile_title {
    font-size: 21px;
    font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -1px;
  }
}
.b-carousel-tile_description {
  font-size: 16px;
  font-family: "Quattrocento Sans", "Helvetica Neue", "Helvetica", "Arial", "Nimbus Sans L", "Liberation Sans", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.5px;
}
@media screen and (max-width: 1023px) {
  .b-carousel-tile_description {
    font-size: 14px;
    font-family: "Quattrocento Sans", "Helvetica Neue", "Helvetica", "Arial", "Nimbus Sans L", "Liberation Sans", sans-serif;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -0.5px;
  }
}
.b-carousel-page {
  background-color: transparent;
  border: none;
  cursor: pointer;
  display: block;
  height: 16px;
  line-height: 16px;
  position: relative;
  text-align: center;
  width: 16px;
}
.b-carousel-page::before {
  background-color: #b3b3b3;
  border-radius: 12px;
  content: "";
  display: inline-block;
  height: 12px;
  left: 50%;
  margin-left: -6px;
  margin-top: -6px;
  position: absolute;
  top: 50%;
  transition-property: width, height, margin;
  width: 12px;
}
.b-carousel-page.m-current::before {
  background-color: #222f58;
  content: "";
  height: 12px;
  margin-left: -6px;
  margin-top: -6px;
  width: 12px;
}

.b-carousel.m-products {
  margin: 74px -10px;
}
@media screen and (max-width: 1023px) {
  .b-carousel.m-products {
    margin: 56px -4px;
  }
}
.b-carousel.m-products .b-carousel-ctrl.m-prev {
  left: 0;
}
.b-carousel.m-products .b-carousel-ctrl.m-next {
  right: 0;
}
.b-carousel.m-products .b-carousel-item {
  max-width: 25%;
  min-width: 25%;
  padding: 0 10px;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .b-carousel.m-products .b-carousel-item {
    max-width: 33.3%;
    min-width: 33.3%;
    padding: 0 4px;
  }
}
@media screen and (max-width: 767px) {
  .b-carousel.m-products .b-carousel-item {
    max-width: 50%;
    min-width: 50%;
    padding: 0 4px;
  }
}
@media screen and (max-width: 1023px) {
  .b-carousel.m-products .b-carousel-item {
    margin: 0 auto;
  }
}

.b-carousel.m-products_view {
  margin: 72px -10px;
  width: auto;
}
.l-hp-recommendations .b-carousel.m-products_view {
  margin: 60px 0;
}
@media screen and (min-width: 1024px) {
  .l-hp-recommendations .b-carousel.m-products_view {
    margin: 100px 0 80px;
  }
}
.l-error_page .b-carousel.m-products_view {
  margin: 60px 0 70px;
}
@media screen and (min-width: 1024px) {
  .l-error_page .b-carousel.m-products_view {
    margin: 100px 0 16px;
  }
}
.b-carousel.m-products_view .b-carousel-title {
  font-size: 48px;
  font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -1px;
  text-transform: none;
  color: #222f58;
  margin-bottom: 39px;
  text-align: left;
  text-transform: capitalize;
}
@media screen and (max-width: 1023px) {
  .b-carousel.m-products_view .b-carousel-title {
    font-size: 28px;
    font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -1px;
    text-transform: none;
  }
}
@media screen and (max-width: 1023px) {
  .b-carousel.m-products_view .b-carousel-title {
    margin-bottom: 35px;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .b-carousel.m-products_view .b-carousel-ctrl {
    top: 30%;
  }
}
@media screen and (max-width: 767px) {
  .b-carousel.m-products_view .b-carousel-ctrl.m-prev {
    left: -10px;
  }
}
@media screen and (max-width: 767px) {
  .b-carousel.m-products_view .b-carousel-ctrl.m-next {
    right: -10px;
  }
}
@media screen and (min-width: 1024px) {
  .b-carousel.m-products_view .b-carousel-track {
    padding: 16px 0;
  }
}
.b-carousel.m-products_view .b-carousel-item {
  max-width: 25%;
  min-width: 25%;
  padding: 0 10px;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .b-carousel.m-products_view .b-carousel-item {
    max-width: 33.3%;
    min-width: 33.3%;
  }
}
@media screen and (max-width: 767px) {
  .b-carousel.m-products_view .b-carousel-item {
    max-width: 100%;
    min-width: 100%;
  }
}
.b-carousel.m-products_view.m-inited .b-carousel-ctrl {
  display: block;
}
.b-carousel.m-products_view .b-carousel-pagination {
  display: none;
}

.l-search .b-carousel.m-recommended_products {
  margin: 55px 0 0;
}
@media screen and (min-width: 1024px) {
  .l-search .b-carousel.m-recommended_products {
    margin: 60px 0 0;
  }
}

.l-search .b-carousel.m-recently_viewed_products {
  margin: 50px 0 0;
}
@media screen and (min-width: 1024px) {
  .l-search .b-carousel.m-recently_viewed_products {
    margin: 0 0 -30px;
  }
}

.b-hero_carousel {
  margin: 0 auto;
  max-width: 100vw;
  overflow: hidden;
  position: relative;
}
.b-hero_carousel-track {
  display: flex;
  overflow: hidden;
}
.b-hero_carousel-track.m-grabbing {
  cursor: grab;
  -webkit-user-select: none;
          user-select: none;
}
.b-hero_carousel-track.m-grabbing::before {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 3;
}
.b-hero_carousel-item {
  height: 100%;
  left: 0;
  min-width: 100%;
  top: 0;
  width: 100%;
  will-change: transform;
  z-index: 1;
}
.b-hero_carousel-item:not(:first-child) {
  visibility: hidden;
}
.b-hero_carousel.m-initialized .b-hero_carousel-item {
  overflow: hidden;
  position: absolute;
  transition: cubic-bezier(0.56, 0.03, 0.47, 0.98) 0.8s;
  transition-property: transform, visibility;
  visibility: hidden;
}
.b-hero_carousel.m-initialized .b-hero_carousel-item.m-prev {
  transform: translateX(-100%);
}
.b-hero_carousel.m-initialized .b-hero_carousel-item.m-next {
  transform: translateX(100%);
}
.b-hero_carousel.m-initialized .b-hero_carousel-item.m-current {
  position: static;
  transform: translateX(0);
  visibility: visible;
}
@media screen and (max-width: 1023px) {
  .b-hero_carousel-controls {
    display: flex;
    flex-flow: row nowrap;
    gap: 20px;
    justify-content: center;
    padding: 20px 0 0;
  }
}
.b-hero_carousel-ctrl {
  -webkit-appearance: none;
          appearance: none;
  background-color: #fff;
  border: 1px solid #22387c;
  border-radius: 50%;
  cursor: pointer;
  display: none;
  height: 44px;
  margin-top: -22px;
  position: absolute;
  text-align: center;
  top: 50%;
  transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  transition-property: background-color, opacity;
  -webkit-user-select: none;
          user-select: none;
  width: 44px;
  z-index: 2;
}
@media not all and (pointer: coarse) {
  .b-hero_carousel-ctrl:not(:disabled):hover {
    background-color: #f3f3f3;
  }
}
.b-hero_carousel-ctrl svg {
  height: 17px;
  left: 50%;
  margin: -8px 0 0 -8px;
  position: absolute;
  top: 50%;
  width: 17px;
}
.b-hero_carousel.m-initialized .b-hero_carousel-ctrl {
  display: block;
}
@media screen and (max-width: 1023px) {
  .b-hero_carousel.m-initialized .b-hero_carousel-ctrl {
    display: block;
    left: auto;
    margin: 0;
    position: relative;
    right: auto;
    top: auto;
  }
}
.b-hero_carousel-ctrl.m-prev {
  left: 40px;
}
.b-hero_carousel-ctrl.m-prev svg {
  margin-left: -10px;
}
.b-hero_carousel-ctrl.m-next {
  right: 40px;
}
.b-hero_carousel-pagination {
  bottom: 8px;
  display: flex;
  justify-content: center;
  left: 50%;
  opacity: 0;
  position: absolute;
  transform: translateX(-50%);
  transition: opacity cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  visibility: hidden;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .b-hero_carousel-pagination {
    left: 50%;
    transform: translateX(-50%);
  }
}
.b-hero_carousel-pagination.m-initialized {
  opacity: 1;
  visibility: visible;
}
.b-hero_carousel-pagination.m-disabled {
  display: none;
}
.b-hero_carousel-pagination_content {
  align-items: center;
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 27px;
  display: flex;
  padding: 8px;
}
.b-hero_carousel-pagination_dots {
  display: flex;
  margin: 0 4px 0 0;
}
.b-hero_carousel-pagination_dot {
  border: none;
  color: transparent;
  cursor: pointer;
  display: block;
  fill: rgba(255, 255, 255, 0.4);
  height: 34px;
  margin-inline-end: 6px;
  padding: 0;
  position: relative;
  width: 34px;
}
@media not all and (pointer: coarse) {
  .b-hero_carousel-pagination_dot:hover {
    fill: #fff;
  }
  .b-hero_carousel-pagination_dot:not(.m-current):hover .b-hero_carousel-pagination_svg_dot_outline {
    fill: #fff;
  }
}
.b-hero_carousel-pagination_dot.m-current {
  fill: #fff;
}
.b-hero_carousel-pagination_dot.m-current .b-hero_carousel-pagination_svg_dot_outline {
  fill: #fff;
  stroke-width: 3;
}
.b-hero_carousel-pagination_dot:last-child {
  margin-inline-end: 0;
}
.b-hero_carousel-pagination_dot[aria-disabled=true] {
  cursor: initial;
}
.b-hero_carousel-pagination_svg {
  height: 34px;
  width: 34px;
}
.b-hero_carousel-pagination_svg_dot_shadow {
  fill: rgba(255, 255, 255, 0.4);
  transition: 0.4s ease;
  transition-property: stroke-width;
}
@media not all and (pointer: coarse) {
  .b-hero_carousel-pagination_dot:not(.m-current):hover .b-hero_carousel-pagination_svg_dot_shadow {
    color: rgba(255, 255, 255, 0.4);
    stroke-width: 24;
  }
}
.b-hero_carousel-autoplay {
  background: transparent;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: none;
  margin-inline-end: 4px;
  padding: 0;
}
@media not all and (pointer: coarse) {
  .b-hero_carousel-autoplay:hover .b-hero_carousel-autoplay_pause, .b-hero_carousel-autoplay:hover .b-hero_carousel-autoplay_play {
    opacity: 0.4;
  }
}
.b-hero_carousel-autoplay.m-initialized {
  display: block;
}
.b-hero_carousel-autoplay.m-animated {
  animation: hero-carousel-progress linear;
}
.b-hero_carousel-autoplay_svg {
  fill: transparent;
  stroke-linecap: round;
  stroke-width: 1;
}
.b-hero_carousel-autoplay_progress {
  stroke: #fff;
  stroke-width: 2;
}
.b-hero_carousel-autoplay_progress_back {
  stroke: rgba(255, 255, 255, 0.4);
  stroke-width: 1;
}
.b-hero_carousel-autoplay_play, .b-hero_carousel-autoplay_pause {
  display: block;
  fill: #fff;
  opacity: 1;
  stroke: #fff;
  transition: opacity ease 0.2s;
}
.b-hero_carousel-autoplay[aria-pressed=false] .b-hero_carousel-autoplay_play {
  opacity: 0;
}
.b-hero_carousel-autoplay_pause {
  stroke-width: 3;
}
.b-hero_carousel-autoplay[aria-pressed=true] .b-hero_carousel-autoplay_pause {
  opacity: 0;
}

.b-hero_carousel_simple {
  align-items: center;
  display: flex;
  max-width: 100vw;
  overflow: hidden;
  position: relative;
}
.b-hero_carousel_simple-item {
  height: 100%;
  left: 0;
  min-width: 100%;
  top: 0;
  width: 100%;
  will-change: transform;
  z-index: 1;
}
.b-hero_carousel_simple-item:not(:first-child) {
  visibility: hidden;
}
.b-hero_carousel_simple.m-initialized .b-hero_carousel_simple-item {
  overflow: hidden;
  position: absolute;
  transition: cubic-bezier(0.56, 0.03, 0.47, 0.98) 0.8s;
  transition-property: transform, visibility;
  visibility: hidden;
}
.b-hero_carousel_simple.m-initialized .b-hero_carousel_simple-item.m-prev {
  transform: translateX(-100%);
}
.b-hero_carousel_simple.m-initialized .b-hero_carousel_simple-item.m-next {
  transform: translateX(100%);
}
.b-hero_carousel_simple.m-initialized .b-hero_carousel_simple-item.m-current {
  position: static;
  transform: translateX(0);
  visibility: visible;
}
.b-hero_carousel_simple-ctrl {
  -webkit-appearance: none;
          appearance: none;
  border: none;
  color: #fff;
  cursor: pointer;
  display: none;
  height: 16px;
  margin-top: -8px;
  text-align: center;
  top: 50%;
  transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  transition-property: background-color, opacity;
  -webkit-user-select: none;
          user-select: none;
  width: auto;
  z-index: 2;
}
@media not all and (pointer: coarse) {
  .b-hero_carousel_simple-ctrl:hover {
    opacity: 0.5;
  }
}
@media screen and (max-width: 1023px) {
  .b-header_utility .b-hero_carousel_simple-ctrl {
    margin-top: -12px;
    position: absolute;
  }
}
.b-hero_carousel_simple.m-initialized .b-hero_carousel_simple-ctrl {
  display: block;
}
.b-hero_carousel_simple-ctrl > svg {
  height: 11px;
  width: auto;
}
.b-hero_carousel_simple-ctrl.m-prev {
  left: 0;
}
.b-hero_carousel_simple-ctrl.m-next {
  right: 0;
}
@media screen and (max-width: 1023px) {
  .b-header_utility .b-hero_carousel_simple-track {
    max-width: 100%;
    padding: 0 10px;
  }
}

.b-dialog {
  visibility: hidden;
}

/*md

# b-breadcrumbs

Breadcrumbs navigation is represented as a list of links.

The last item of breadcrumbs list (e.g. "Level 4" link) is hidden. It links to the current page and is only needed for accessibility purposes.

```html_example
<!--
Classes:
.l-pdp-section - PDP version
.b-nav_aux.m-plp - PLP version
.b-account - My Account version
-->
<div class="[modifier class]">
	<nav class="b-breadcrumbs" aria-label="Breadcrumbs">
		<ul class="b-breadcrumbs-list">
			<li class="b-breadcrumbs-item">
				<a class="b-breadcrumbs-link" href="">Home</a>
			</li>
			<li class="b-breadcrumbs-item">
				<span class="b-breadcrumbs-icon" aria-hidden="true">
					<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
						<path fill="currentColor" d="M5.1 15.5 9.3.1l1.4.4-4.1 15.4z"></path>
					</svg>
				</span>
				<a class="b-breadcrumbs-link" href="">Category name 1</a>
			</li>
			<li class="b-breadcrumbs-item">
				<span class="b-breadcrumbs-icon" aria-hidden="true">
					<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
						<path fill="currentColor" d="M5.1 15.5 9.3.1l1.4.4-4.1 15.4z"></path>
					</svg>
				</span>
				<a class="b-breadcrumbs-link" href="">Category name 2</a>
			</li>
			<li class="b-breadcrumbs-item">
				<span class="b-breadcrumbs-icon" aria-hidden="true">
					<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
						<path fill="currentColor" d="M5.1 15.5 9.3.1l1.4.4-4.1 15.4z"></path>
					</svg>
				</span>
				<a class="b-breadcrumbs-link" href="">Category name 2</a>
			</li>
			<li class="b-breadcrumbs-item m-last">
				<span class="b-breadcrumbs-icon" aria-hidden="true">
					<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
						<path fill="currentColor" d="M5.1 15.5 9.3.1l1.4.4-4.1 15.4z"></path>
					</svg>
				</span>
				<a class="b-breadcrumbs-link" href="#" data-tau="breadcrumbs_link" aria-current="page">
					Product name
				</a>
			</li>
		</ul>
	</nav>
</div>
```
*/
.b-breadcrumbs-list {
  display: flex;
  flex-wrap: wrap;
  padding: 0 0 10px;
}
@media screen and (max-width: 1023px) {
  .b-breadcrumbs-list {
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
  }
}
.b-breadcrumbs-item {
  color: #22387c;
  margin-right: 5px;
}
.b-breadcrumbs-item:last-child {
  color: #4d4d4d;
}
.b-breadcrumbs-item.m-last, .b-account .b-breadcrumbs-item:last-child {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  left: 0;
  max-height: 1px;
  max-width: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  top: 0;
}
.b-breadcrumbs-item.m-last:focus-within, .b-account .b-breadcrumbs-item:last-child:focus-within {
  clip: unset;
  max-height: none;
  max-width: none;
  position: static;
}
.b-breadcrumbs-icon {
  color: #999;
  display: inline-block;
}
.b-breadcrumbs-icon svg {
  height: 16px;
}
.b-breadcrumbs-link {
  font-size: 14px;
  font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
  font-weight: 900;
  line-height: 1;
  letter-spacing: normal;
  display: inline-block;
  white-space: nowrap;
}
@media not all and (pointer: coarse) {
  .b-breadcrumbs-link:hover {
    text-decoration: underline;
  }
}
.b-breadcrumbs-link[aria-current=page] {
  cursor: default;
  pointer-events: none;
  text-decoration: none;
}

/*md

```html_example
<!--
Classes:
.m-plp - PLP
.skm-pd_skinmedica-method - pd_skinmedica-method
-->
<nav class="b-nav_aux">
    <a data-tau="continue_shopping" class="b-link m-primary m-type_regular_underline m-big m-icon b-continue_shopping" href="/us/home/">
        <svg role="presentation" focusable="false" fill="none" xmlns="http://www.w3.org/2000/svg">
            <path d="M15 3.932v1.136H2.139l3.064 3.125L4.412 9 0 4.5 4.412 0l.79.807L2.14 3.932H15z" fill="currentColor"></path>
        </svg>
        Continue Shopping
    </a>
</nav>
```

*/
.b-nav_aux {
  padding: 30px 0 20px;
}
.b-nav_aux.m-plp {
  margin: 24px 0 0;
  padding-top: 0;
  width: 100%;
}

/*md

# b-promo_line

Promo-line is classic text promo banner. It scratched to full viewport width and
placed right under the header.

It consist from several elements, but has only one to place text into it `b-promo_line-inner`.

It could consist inline images, rich formatting text (`strong`, `em`) or links.

## Example

```html_example
<div class="b-promo_line m-header">
	<p class="b-promo_line-inner">
		Get 20% off everything with code: <strong>ILOVE20</strong> <a href="$url('Product-Show', 'pid', 'product-1')$">Buy now</a>
	</p>
</div>
```

*/
.b-promo_line {
  font-size: 14px;
  font-family: "Quattrocento Sans", "Helvetica Neue", "Helvetica", "Arial", "Nimbus Sans L", "Liberation Sans", sans-serif;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: normal;
  border-bottom: 1px solid #fff;
  border-top: 1px solid #fff;
  color: #fff;
  line-height: 17px;
  padding: 14px 0 9px;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .b-promo_line {
    padding: 12px 0;
  }
}
.b-header_stuck .b-promo_line {
  display: none;
}
.b-header_stuck.m-gradient .b-promo_line {
  display: block;
  position: relative;
}
.b-promo_line.m-search_results {
  background-color: #2bb229;
  color: #808080;
}
@media screen and (max-width: 767px) {
  .b-promo_line.m-search_results {
    display: none;
  }
}
.b-promo_line-inner {
  margin: 0 auto;
  max-width: 1440px;
  padding-left: 60px;
  padding-right: 60px;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 50%;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .b-promo_line-inner {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media screen and (max-width: 767px) {
  .b-promo_line-inner {
    padding-left: 25px;
    padding-right: 25px;
  }
}
.b-promo_line-inner.m-full {
  padding: 0;
}
@media screen and (max-width: 1023px) {
  .b-promo_line-inner {
    width: 100%;
  }
}
.b-promo_line a {
  color: #000;
  cursor: pointer;
  display: inline-block;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  transition-property: color;
  font-weight: 400;
  color: inherit;
}
@media not all and (pointer: coarse) {
  .b-promo_line a:hover {
    text-decoration: none;
  }
}
.b-promo_line a > svg {
  height: 9px;
  width: 15px;
}
.b-promo_line a.b-button svg {
  width: 15px;
}
.b-promo_line a:disabled, .b-promo_line a.m-disabled {
  color: rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
@media not all and (pointer: coarse) {
  .b-promo_line a:hover {
    text-decoration: underline;
  }
  .b-promo_line a:hover > .b-button-text {
    text-decoration: underline;
  }
}
@media not all and (pointer: coarse) {
  .b-promo_line a.b-button:hover {
    text-decoration: none;
  }
}

/*md

# b-promo_tiles_grid

This is special type of banners that is provided as single component and mostly
used as set of tiles with links to categories or subcategories.

## Example

```html_example
<!--
Include: _b-promo_tile.html
-->
```

*/
.b-promo_tile {
  display: grid;
  height: 100%;
}
.b-promo_tile-picture {
  display: block;
  overflow: hidden;
  padding-bottom: 133.3333333333%;
  position: relative;
  width: 100%;
  grid-column: 1/2;
  grid-row: 1/2;
}
.b-promo_tile-picture img {
  bottom: 0;
  color: #999;
  display: block;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}
.b-promo_tile-caption {
  align-items: center;
  display: flex;
  flex-direction: column;
  grid-column: 1/2;
  grid-row: 1/2;
  justify-content: flex-end;
  padding: 48px 12px;
  text-align: center;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .b-promo_tile-caption {
    padding-bottom: 36px;
    padding-top: 36px;
  }
}
.b-promo_tile.m-caption_below .b-promo_tile-caption {
  grid-row: 2/2;
  padding-bottom: 20px;
  padding-top: 20px;
}
.b-promo_tile-caption .b-button {
  margin-top: 20px;
}
.b-promo_tile-title {
  font-size: 18px;
  font-family: "Quattrocento Sans", "Helvetica Neue", "Helvetica", "Arial", "Nimbus Sans L", "Liberation Sans", sans-serif;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: normal;
}

.b-promo_tiles_grid.m-custom_menu .b-promo_tile-title {
  font-size: 16px;
  font-family: "Quattrocento Sans", "Helvetica Neue", "Helvetica", "Arial", "Nimbus Sans L", "Liberation Sans", sans-serif;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: normal;
}

.b-promo_tiles_grid-title {
  font-size: 66px;
  font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin: 96px 0 40px;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .b-promo_tiles_grid-title {
    font-size: 36px;
    font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.5px;
    text-transform: uppercase;
  }
}
@media screen and (max-width: 767px) {
  .b-promo_tiles_grid-title {
    margin-top: 48px;
  }
}
.b-promo_tiles_grid-content {
  display: grid;
}
@media screen and (min-width: 1367px) {
  .b-promo_tiles_grid-content {
    grid-gap: 16px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
  .b-promo_tiles_grid-content {
    grid-gap: 16px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .b-promo_tiles_grid-content {
    grid-gap: 16px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (max-width: 767px) {
  .b-promo_tiles_grid-content {
    grid-gap: 9px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
  }
}
.b-promo_tiles_grid-item {
  display: block;
  grid-column: span 3;
}
@media screen and (min-width: 768px) {
  .b-promo_tiles_grid.m-lg_2 .b-promo_tiles_grid-item {
    grid-column: span 6;
  }
  .b-promo_tiles_grid.m-lg_3 .b-promo_tiles_grid-item {
    grid-column: span 4;
  }
}
@media screen and (max-width: 767px) {
  .b-promo_tiles_grid-item {
    grid-column: span 3;
  }
  .b-promo_tiles_grid.m-sm_1 .b-promo_tiles_grid-item {
    grid-column: span 6;
  }
  .b-promo_tiles_grid.m-sm_2_1 .b-promo_tiles_grid-item:nth-child(3n) {
    grid-column: span 6;
  }
}
.b-promo_tiles_grid-item_link {
  display: block;
  text-decoration: underline;
}
.b-promo_tiles_grid-item_link:hover {
  text-decoration: none;
}

.b-promo_tiles_grid.m-custom_menu {
  margin: 8px auto 40px;
  max-width: 66.6666666667%;
  width: 100%;
}

@media screen and (min-width: 1024px) {
  .b-header_wishlist {
    align-items: center;
    -webkit-appearance: none;
            appearance: none;
    background: transparent;
    border: none;
    color: inherit;
    cursor: pointer;
    display: flex;
    flex-shrink: 0;
    height: 24px;
    justify-content: center;
    text-align: center;
    width: 24px;
  }
  .b-header_wishlist:hover {
    color: #808080;
  }
}
@media screen and (max-width: 1023px) {
  .b-header_wishlist {
    font-size: 20px;
    font-family: "minerva-modern", "Georgia", "DejaVu Serif", serif;
    font-weight: 600;
    line-height: 1;
    letter-spacing: normal;
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 8px;
    text-decoration: none;
    width: 100%;
    color: #222f58;
    box-shadow: none;
    padding: 0 4px;
  }
  .b-header_wishlist:hover {
    text-decoration: none;
  }
}
@media screen and (max-width: 1023px) and (max-width: 1023px) {
  .b-header_wishlist {
    font-size: 18px;
    line-height: 26px;
  }
}
.b-header_wishlist-icon {
  align-items: center;
  -webkit-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
  display: flex;
  flex-shrink: 0;
  height: 24px;
  justify-content: center;
  text-align: center;
  width: 24px;
}
.b-header_wishlist-icon:hover {
  color: #808080;
}
.b-header_wishlist-icon > svg {
  height: 20px;
  width: 20px;
}
.b-header_wishlist.m-active .b-header_wishlist-icon {
  animation: heart-bit ease-out 1s;
  animation-delay: 2s;
  color: #ed432c;
  fill: #ed432c;
}
.b-header_wishlist-copy {
  display: none;
}
.b-menu_panel .b-header_wishlist-copy {
  display: block;
}

/*# sourceMappingURL=common-critical.css.map*/