/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./node_modules/string-replace-loader/index.js??ruleSet[1].rules[3]!./cartridges/plugin_page_designer_ext/cartridge/client/default/scss/page_designer.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*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         |

## Supported screen scaling

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

*/
/*md
@no-stat

# Media queries (breakpoints)

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

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

## Configuration

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

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

This is how `$media` map looks:

```scss
$media: (
	sm: 'screen and (max-width: 767px)',
	md: 'screen and (min-width: 768px) and (max-width: 1199px)',
	lg: 'screen and (min-width: 1024px) and (max-width: 1366px)',
	xl: 'screen and (min-width: 1201px)',
	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: 1367px)'
);
```

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

# Grids

## How to setup grids config for project

### Several grid configs for project

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

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

### Gaps / margin / column span configuration:

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

## Working with grids

### Development approaches

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

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

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

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

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

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

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

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

# grid-* (grid config get functions)

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

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

## Usage

```scss

// Configuration:

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

// Usage:

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

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

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

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

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

# Globals variables

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

It include:

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

*/
/*md
@no-stat

# Z-indexes

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

## Usage

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

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

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

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

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

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

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

*/
/*md
@no-stat

# adjust-color-to-bg

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

It is especially useful for crating flexible themes.

## Arguments

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

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

## Usage

```scss
.component {
	color: adjust-color-to-bg($color-white);

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

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

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

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

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

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

# grid-span

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

It returns value in percents.

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

### Parameters

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

## Examples

### Flex-basis example

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

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

### Floated items example

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

### Inline-block items example

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

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

*/
/*md
@no-stat

# aspect-ratio

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

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

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

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

## Arguments

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

=> percentage

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

## Usage

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

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

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

*/
/*md
@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

# g-text_overflow

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

## Usage

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

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

*/
/*md

# g-button component

Designed to provide the same styles for buttons across different components. It can be used with `<button>` or `<a>` elements.

## g-button

Create base completed button patterns using the g-button mixin.

Usage: `@include g-button`

By default, the mixin uses the `default_light` theme and `large` size. You can customize it using the following parameters.

Usage: `@include g-button(outline_dark, small)`

Usage: `@include g-button(outline_light)`

Usage: `@include g-button-constructor(__theme__, __size__)`

### Parameters

#### `$_theme`

Default value: `default_light`

Available values:
- `default_light`
- `default_dark`
- `outline_light`
- `outline_dark`

#### `$_size`

Default value: `large` (height: 44px)

Available values:
- `large` (height: 44px)
- `small` (height: 36px)
- `medium` (height: 30px)

## g-button-constructor

Describes button styles for each state, mode, and theme.

Usage: `@include g-button-constructor(outline, dark, small)`

Usage: `@include g-button-constructor(__mod__, __theme__, __size__)`

### Parameters

#### `$_mod`

Default value: `default`

Available values:
- `default`
- `outline`

#### `$_theme`

Default value: `light`

Available values:
- `light`
- `dark`

#### `$_size`

Default value: `large` (height: 44px)

Available values:
- `large` (height: 44px)
- `small` (height: 36px)
- `medium` (height: 30px)

## g-button-reset

Resets all button styles. Used when a button should have the same style as another component, such as a link.

Usage: `@include g-button-reset`

For a link: `@include g-button-reset` `@include g-link`

## g-button-size

Adds a custom height to a button.

Usage: `@include g-button-size`
Usage: `@include g-button-size(medium)`

### Parameters

#### `$_size`

Default value: `large` (height: 44px)

Available values:
- `large` (height: 44px)
- `small` (height: 36px)
- `medium` (height: 30px)

*/
/*md

# g-button_icon_only

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

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

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

# g-radio

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

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

The component is generally used for checkbox switch.

```scss_example
.b-switch {
	// ...
	&-input {
		@include g-switch(_input);
	}

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

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

		.b-switch-input:checked + & {
			@include g-switch(_icon, m-checked);
		}
	}
}
```
*/
/*md

# g-checkbox

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

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

## Usage

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

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

*/
/*md

# g-link_hamburger

Hamburger menu generic link that used in several component.

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

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

# g-image_container

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

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

```scss
.b-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_dialog

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

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

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

# g-backdrop_panel

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

Serve as regular overlay.

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

# g-section_holder

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

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

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

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

# g-section_holder_header

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

This is global component designed to hold header of the site.

On projects it could be removed and changed to `section_holder`.

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

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

# g-heading_*

Basic simple typography styles applied to different UI components.

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

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

	&-title {
		@include g-heading_1;

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

# g-accordion

Global accordion component

## Customization by SCSS

This implementation allow to use accordion for one vieport and any other component for rest viewports

```scss
.b-accordion {
	@include g-accordion;

	&-item {
		@include g-accordion(_item);
	}

	&-title {
		@include g-accordion(_control);
	}

	&-content {
		@include g-accordion(_content);

		&[aria-hidden='false'] {
			@include g-accordion(_content, expanded);
		}
	}

	&-content_inner {
		@include g-accordion(_content_inner);
	}
}
```
*/
/*md

# g-grid

g-grid is layout component based on CSS grid.

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

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

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

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

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

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

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

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

*/
/*md

# g-grid

g-grid is layout component based on CSS grid.

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

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

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

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

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

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

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

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

*/
/*md

# g-fullwidth

The component is generally used for fullwidth view (full viewport) and ignore main sitewidth margins and pddings.

## Usage

Add @include g-fullwidth() to the section in the main container to stretch block out of the main container

*/
/*md

# g-text_overflow

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

## Usage

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

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

*/
.l-grid_layout {
  margin: 0 auto;
  max-width: 1920px;
  padding-left: 88px;
  padding-right: 88px;
  background-color: var(--bg-layout-color);
  background-position: var(--bg-image-position);
  background-repeat: var(--bg-image-repeat);
  background-size: var(--bg-image-size);
}
@media screen and (min-width: 1024px) and (max-width: 1366.9px) {
  .l-grid_layout {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout {
    padding-left: 32px;
    padding-right: 32px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-padding_top-sm {
    padding-top: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-padding_top-sm {
    padding-top: 10px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout.m-padding_top-sm {
    padding-top: 10px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-padding_top-md {
    padding-top: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-padding_top-md {
    padding-top: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout.m-padding_top-md {
    padding-top: 20px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-padding_top-lg {
    padding-top: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-padding_top-lg {
    padding-top: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout.m-padding_top-lg {
    padding-top: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-padding_top-xl {
    padding-top: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-padding_top-xl {
    padding-top: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout.m-padding_top-xl {
    padding-top: 80px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-padding_bottom-sm {
    padding-bottom: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-padding_bottom-sm {
    padding-bottom: 10px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout.m-padding_bottom-sm {
    padding-bottom: 10px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-padding_bottom-md {
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-padding_bottom-md {
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout.m-padding_bottom-md {
    padding-bottom: 20px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-padding_bottom-lg {
    padding-bottom: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-padding_bottom-lg {
    padding-bottom: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout.m-padding_bottom-lg {
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-padding_bottom-xl {
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-padding_bottom-xl {
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout.m-padding_bottom-xl {
    padding-bottom: 80px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-margin_top-sm {
    margin-top: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-margin_top-sm {
    margin-top: 10px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout.m-margin_top-sm {
    margin-top: 10px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-margin_top-md {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-margin_top-md {
    margin-top: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout.m-margin_top-md {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-margin_top-lg {
    margin-top: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-margin_top-lg {
    margin-top: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout.m-margin_top-lg {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-margin_top-xl {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-margin_top-xl {
    margin-top: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout.m-margin_top-xl {
    margin-top: 80px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-margin_bottom-sm {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-margin_bottom-sm {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout.m-margin_bottom-sm {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-margin_bottom-md {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-margin_bottom-md {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout.m-margin_bottom-md {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-margin_bottom-lg {
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-margin_bottom-lg {
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout.m-margin_bottom-lg {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-margin_bottom-xl {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-margin_bottom-xl {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout.m-margin_bottom-xl {
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout {
    background-image: var(--bg-image-mobile);
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout {
    background-image: var(--bg-image-tablet);
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout {
    background-image: var(--bg-image-desktop);
  }
}
.l-grid_layout.m-full_bleed, .l-grid_layout.m-full_with_centered {
  max-width: 1920px;
  padding-left: 0;
  padding-right: 0;
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-tablet_wrap.m-4_8 .l-grid_layout-item, .l-grid_layout.m-tablet_wrap.m-8_4 .l-grid_layout-item, .l-grid_layout.m-tablet_wrap.m-2_up .l-grid_layout-item, .l-grid_layout.m-tablet_wrap.m-3_up .l-grid_layout-item, .l-grid_layout.m-tablet_wrap.m-3_9 .l-grid_layout-item, .l-grid_layout.m-tablet_wrap.m-9_3 .l-grid_layout-item {
    grid-column: span 12;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-tablet_wrap.m-6_3_3 .l-grid_layout-item.m-md_6, .l-grid_layout.m-tablet_wrap.m-3_3_6 .l-grid_layout-item.m-md_6 {
    grid-column: span 12;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-tablet_wrap.m-6_3_3 .l-grid_layout-item.m-md_3, .l-grid_layout.m-tablet_wrap.m-3_3_6 .l-grid_layout-item.m-md_3 {
    grid-column: span 6;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-tablet_wrap.m-4_pack_wide .l-grid_layout-item.m-md_3 {
    grid-column: span 6;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-tablet_wrap.m-6_pack_tall .l-grid_layout-item {
    grid-column: span 4;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-tablet_wrap.m-3_9 .l-grid_layout-item {
    grid-column: span 4;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-2_8_2 .l-grid_layout-item.m-lg_2 {
    display: none;
  }
}
.l-grid_layout-content {
  display: grid;
}
@media screen and (min-width: 1367px) {
  .l-grid_layout-content {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 1024px) and (max-width: 1366.9px) {
  .l-grid_layout-content {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout-content {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout-content {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
  }
}
.m-full_with_centered .l-grid_layout-content {
  margin: 0 auto;
  max-width: 1920px;
  padding-left: 88px;
  padding-right: 88px;
}
@media screen and (min-width: 1024px) and (max-width: 1366.9px) {
  .m-full_with_centered .l-grid_layout-content {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .m-full_with_centered .l-grid_layout-content {
    padding-left: 32px;
    padding-right: 32px;
  }
}
@media screen and (max-width: 767.9px) {
  .m-full_with_centered .l-grid_layout-content {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.l-grid_layout-content.m-hide_gutters {
  grid-gap: 0;
}
.l-grid_layout-item {
  max-width: 100%;
}
.l-grid_layout-item.m-horizontal_left, .l-grid_layout-item.m-horizontal_center, .l-grid_layout-item.m-horizontal_right {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.l-grid_layout-item.m-horizontal_left {
  justify-content: flex-start;
}
.l-grid_layout-item.m-horizontal_center {
  justify-content: center;
}
.l-grid_layout-item.m-horizontal_right {
  justify-content: flex-end;
}
.l-grid_layout-item.m-vertical_top {
  align-self: flex-start;
}
.l-grid_layout-item.m-vertical_middle {
  align-self: center;
}
.l-grid_layout-item.m-vertical_bottom {
  align-self: flex-end;
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout-item.m-margin_bottom-sm .l-grid_layout-item_in {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout-item.m-margin_bottom-sm .l-grid_layout-item_in {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout-item.m-margin_bottom-sm .l-grid_layout-item_in {
    margin-bottom: 10px;
  }
}
.l-grid_layout-item.m-margin_bottom-sm .l-grid_layout-item_in:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout-item.m-margin_bottom-md .l-grid_layout-item_in {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout-item.m-margin_bottom-md .l-grid_layout-item_in {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout-item.m-margin_bottom-md .l-grid_layout-item_in {
    margin-bottom: 20px;
  }
}
.l-grid_layout-item.m-margin_bottom-md .l-grid_layout-item_in:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout-item.m-margin_bottom-lg .l-grid_layout-item_in {
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout-item.m-margin_bottom-lg .l-grid_layout-item_in {
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout-item.m-margin_bottom-lg .l-grid_layout-item_in {
    margin-bottom: 40px;
  }
}
.l-grid_layout-item.m-margin_bottom-lg .l-grid_layout-item_in:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout-item.m-margin_bottom-xl .l-grid_layout-item_in {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout-item.m-margin_bottom-xl .l-grid_layout-item_in {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout-item.m-margin_bottom-xl .l-grid_layout-item_in {
    margin-bottom: 80px;
  }
}
.l-grid_layout-item.m-margin_bottom-xl .l-grid_layout-item_in:last-child {
  margin-bottom: 0;
}
.l-grid_layout-item_in {
  display: flex;
}
.l-grid_layout-item_in:only-child {
  height: 100%;
}
@media screen and (max-width: 1023.9px) {
  .l-grid_layout.m-8_4 .l-grid_layout-item_in {
    margin-bottom: 0;
  }
}
.l-grid_layout-item_in > div,
.l-grid_layout-item_in > section {
  width: 100%;
}
.l-grid_layout-item[data-items=one] {
  align-self: auto;
}
.l-grid_layout-item.m-title {
  grid-column: span 6;
  order: -2;
}
@media screen and (min-width: 768px) {
  .l-grid_layout-item.m-title {
    grid-column: span 12;
  }
}
.l-grid_layout-item.m-fade_in > div, .l-grid_layout-item.m-fade_in > section {
  opacity: 0;
  transform: translateY(10%);
  transition: 1.2s ease-out;
  transition-property: transform, opacity;
}
.l-grid_layout-item.m-bounce {
  overflow: hidden;
}
.l-grid_layout-item.m-bounce > div, .l-grid_layout-item.m-bounce > section {
  opacity: 0;
  transform: scale(0.8);
}
.l-grid_layout-item.m-fade_in.m-animated > div, .l-grid_layout-item.m-fade_in.m-animated > section {
  opacity: 1;
  transform: translateY(0);
}
.l-grid_layout-item.m-bounce.m-animated > div, .l-grid_layout-item.m-bounce.m-animated > section {
  animation-duration: 1.2s;
  animation-fill-mode: both;
  animation-name: growIn;
}
@media screen and (max-width: 1023.9px) {
  .l-grid_layout.m-8_4 .l-grid_layout-item:not([data-items=one]):last-child {
    display: grid;
    grid-gap: 20px;
    grid-template-columns: 1fr 1fr;
  }
}
.l-grid_layout-item.m-sm_6 {
  grid-column: span 6;
}
.l-grid_layout-item.m-sm_5 {
  grid-column: span 5;
}
.l-grid_layout-item.m-sm_4 {
  grid-column: span 4;
}
.l-grid_layout-item.m-sm_3 {
  grid-column: span 3;
}
.l-grid_layout-item.m-sm_2 {
  grid-column: span 2;
}
.l-grid_layout-item.m-sm_1 {
  grid-column: span 1;
}
@media screen and (min-width: 768px) {
  .l-grid_layout-item.m-md_12 {
    grid-column: span 12;
  }
}
@media screen and (min-width: 768px) {
  .l-grid_layout-item.m-md_11 {
    grid-column: span 11;
  }
}
@media screen and (min-width: 768px) {
  .l-grid_layout-item.m-md_10 {
    grid-column: span 10;
  }
}
@media screen and (min-width: 768px) {
  .l-grid_layout-item.m-md_9 {
    grid-column: span 9;
  }
}
@media screen and (min-width: 768px) {
  .l-grid_layout-item.m-md_8 {
    grid-column: span 8;
  }
}
@media screen and (min-width: 768px) {
  .l-grid_layout-item.m-md_7 {
    grid-column: span 7;
  }
}
@media screen and (min-width: 768px) {
  .l-grid_layout-item.m-md_6 {
    grid-column: span 6;
  }
}
@media screen and (min-width: 768px) {
  .l-grid_layout-item.m-md_5 {
    grid-column: span 5;
  }
}
@media screen and (min-width: 768px) {
  .l-grid_layout-item.m-md_4 {
    grid-column: span 4;
  }
}
@media screen and (min-width: 768px) {
  .l-grid_layout-item.m-md_3 {
    grid-column: span 3;
  }
}
@media screen and (min-width: 768px) {
  .l-grid_layout-item.m-md_2 {
    grid-column: span 2;
  }
}
@media screen and (min-width: 768px) {
  .l-grid_layout-item.m-md_1 {
    grid-column: span 1;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout-item.m-lg_12 {
    grid-column: span 12;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout-item.m-lg_11 {
    grid-column: span 11;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout-item.m-lg_10 {
    grid-column: span 10;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout-item.m-lg_9 {
    grid-column: span 9;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout-item.m-lg_8 {
    grid-column: span 8;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout-item.m-lg_7 {
    grid-column: span 7;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout-item.m-lg_6 {
    grid-column: span 6;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout-item.m-lg_5 {
    grid-column: span 5;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout-item.m-lg_4 {
    grid-column: span 4;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout-item.m-lg_3 {
    grid-column: span 3;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout-item.m-lg_2 {
    grid-column: span 2;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid_layout-item.m-lg_1 {
    grid-column: span 1;
  }
}
.l-grid_layout-item_title {
  padding-bottom: 20px;
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout-item_title {
    padding-bottom: 16px;
  }
}
.l-grid_layout.m-full_bleed .l-grid_layout-item_title {
  margin: 0 auto;
  max-width: 1920px;
  padding-left: 88px;
  padding-right: 88px;
}
@media screen and (min-width: 1024px) and (max-width: 1366.9px) {
  .l-grid_layout.m-full_bleed .l-grid_layout-item_title {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout.m-full_bleed .l-grid_layout-item_title {
    padding-left: 32px;
    padding-right: 32px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-full_bleed .l-grid_layout-item_title {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.l-static_page:not(.m-full_width) .l-grid_layout.m-full_bleed .l-grid_layout-item_title {
  padding-left: 0;
  padding-right: 0;
}
.l-grid_layout.m-custom .l-grid_layout-item {
  display: flex;
}
.l-grid_layout.m-custom .l-grid_layout-item > div {
  width: 100%;
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-mobile_reversed .l-grid_layout-item:last-child {
    order: -1;
  }
}
@media screen and (max-width: 767.9px) {
  .l-grid_layout.m-3_9 .l-grid_layout-item:last-child, .l-grid_layout.m-4_8 .l-grid_layout-item:last-child, .l-grid_layout.m-3_3_6 .l-grid_layout-item:last-child {
    order: -1;
  }
}
.l-grid_layout.m-3_9.m-mobile_reversed .l-grid_layout-item:last-child, .l-grid_layout.m-4_8.m-mobile_reversed .l-grid_layout-item:last-child, .l-grid_layout.m-3_3_6.m-mobile_reversed .l-grid_layout-item:last-child {
  order: 1;
}
@media screen and (min-width: 768px) {
  .l-grid_layout.m-5_up .l-grid_layout-content {
    grid-template-columns: repeat(5, calc(20% - 16px));
  }
}
@media screen and (min-width: 768px) {
  .l-grid_layout.m-5_up .l-grid_layout-item {
    grid-column: auto;
  }
}

.l-plp_grid-pd_preview {
  display: none;
}
.l-plp_grid-banner {
  display: flex;
}
.l-plp_grid-banner_content {
  display: flex;
  flex-grow: 1;
}
.l-page-container.m-edit_mode .l-plp_grid-pd_preview {
  align-items: center;
  background-color: #f3f4f3;
  display: flex;
  font-size: 16px;
  justify-content: center;
}

.l-static_page.m-full_width {
  margin-bottom: 0;
  max-width: 1920px;
  padding-left: 0;
  padding-right: 0;
}
.l-static_page-title {
  margin: 0 auto;
  max-width: 1920px;
  padding-left: 88px;
  padding-right: 88px;
  font-family: "Queens Hat", "Times", serif;
  font-size: 52px;
  font-weight: 350;
  line-height: 68px;
}
@media screen and (min-width: 1024px) and (max-width: 1366.9px) {
  .l-static_page-title {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-static_page-title {
    padding-left: 32px;
    padding-right: 32px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-static_page-title {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (max-width: 1023.9px) {
  .l-static_page-title {
    font-size: 42px;
    letter-spacing: -0.0075em;
    line-height: 58px;
  }
}
@media screen and (max-width: 767.9px) {
  .l-static_page-title {
    text-align: center;
  }
}

.l-page-review {
  position: absolute;
  top: 0;
  width: 100%;
}
.l-page.m-edit_mode {
  padding-top: 75px;
}
@media screen and (max-width: 1023.9px) {
  .l-page.m-edit_mode {
    padding-top: 116px;
  }
}
.l-page.m-transparent_header .l-page-content {
  margin-top: -178px;
}
@media screen and (max-width: 1023.9px) {
  .l-page.m-transparent_header .l-page-content {
    margin-top: -64px;
  }
}
.l-page.m-transparent_header .b-menu_bar,
.l-page.m-transparent_header .l-header {
  background-color: transparent;
  transition: background-color cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.2s;
}
@media screen and (min-width: 1024px) {
  .l-page.m-transparent_header .l-header-inner {
    position: relative;
    z-index: 16;
  }
}
@media screen and (min-width: 1024px) {
  .l-page.m-transparent_header.b-header_stuck .b-menu_bar {
    background-color: #ffffff;
  }
}
.l-page.m-transparent_header.b-header_stuck .l-header {
  background-color: #ffffff;
}
.l-page.m-transparent_header .l-header-bottom_promo,
.l-page.m-transparent_header .b-header_category {
  display: none;
}
@media screen and (min-width: 1024px) {
  .l-page.m-transparent_header .b-menu_bar-link[aria-expanded=true],
  .l-page.m-transparent_header .b-menu_bar-link:hover,
  .l-page.m-transparent_header .b-menu_bar-item:hover .b-menu_bar-link {
    background-color: transparent;
  }
}
@media screen and (min-width: 1024px) {
  .l-page.m-transparent_header .b-menu_bar-flyout {
    display: block;
    opacity: 0;
    transition: opacity cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
    visibility: hidden;
  }
}
@media screen and (min-width: 1024px) {
  .l-page.m-transparent_header .l-header.m-menu_bar-active {
    background-color: #ffffff;
    position: relative;
    transition: background-color cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
    z-index: 16;
  }
}
@media screen and (min-width: 1024px) {
  .l-page.m-transparent_header .l-header.m-menu_bar-active ~ .b-menu_panel {
    background-color: #ffffff;
    transition: background-color cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  }
}
@media screen and (min-width: 1024px) {
  .l-page.m-transparent_header .l-header.m-menu_bar-active ~ .b-menu_panel .b-menu_bar-flyout[aria-hidden=false] {
    opacity: 1;
    visibility: visible;
  }
}

/*md

# b-promo_caption

Promo caption is the content of promo components.

## Structure

`b-promo_caption` consist from 3 main elements:

* title
* subtitle
* actions container

All of this elements are optional.

## Variation

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

## Examples

### All elements

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

### Different order

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

### Only title and CTA

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

### 2 CTA

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

### 3 CTA

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

### Without CTA

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

## Example in component

### b-promo_info_box

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

### b-promo-box

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

*/
.b-promo_caption {
  align-self: center;
}
.b-promo_caption-title {
  font-family: "Queens Hat", "Times", serif;
  font-size: 46px;
  font-weight: 350;
  line-height: 48px;
  margin: 0 0 20px;
}
@media screen and (max-width: 1023.9px) {
  .b-promo_caption-title {
    font-size: 38px;
    line-height: 48px;
  }
}
.b-promo_caption-subtitle {
  font-weight: 136;
  margin: 0 0 20px;
}
.b-promo_caption-actions {
  align-items: baseline;
  display: inline-flex;
  flex-wrap: wrap;
  margin: 24px -16px 0;
}
.b-promo_caption-actions a {
  margin: 0 16px 12px;
}

/*md

# b-promo_info_box

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

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

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

## Big amount of text

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

## Small amount of text

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

*/
.b-promo_info_box {
  display: grid;
  background: #c3d6ee;
  color: #095c9c;
}
@media screen and (min-width: 1367px) {
  .b-promo_info_box {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 1024px) and (max-width: 1366.9px) {
  .b-promo_info_box {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-promo_info_box {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
  }
}
@media screen and (max-width: 767.9px) {
  .b-promo_info_box {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
  }
}
.b-promo_info_box-caption {
  grid-column: 1/grid-end;
  grid-row: 1/2;
  padding: 48px 16px;
  text-align: center;
}

/*md

# b-promo_box

`promo-box` is basic container for creating promo boxes and banners.
It designed to position description (`b-promo_caption`) over the image box.

This implementation could handle both image and text centric approaches.

## Example

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

## Overflow handling

This component is designed to handle any type of overlow without cutting text content.

### Very long text

```html_example
<figure class="b-promo_box m-caption_offcenter">
	<picture class="b-promo_box-picture">
		<img
			loading="lazy"
			src="../images/guide/examples/image-placeholder.svg"
			alt="Some dummy alternative text for image."
			width="1600"
			height="800"
		/>
	</picture>
	<figcaption class="b-promo_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Explore More Possibilities and other thing into long long title with some additional details
		</h2>
		<p class="b-promo_caption-subtitle">
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
		</p>
		<div class="b-promo_caption-actions">
			<a
				class="b-button"
				href="$url('Search-Show', 'cgid', 'category-2')$"
			>
				Shop Now
			</a>
		</div>
	</figcaption>
</figure>
```

### Different aspect ratio of image

```html_example
<figure class="b-promo_box">
	<picture class="b-promo_box-picture" style="padding-bottom:10%">
		<img
			loading="lazy"
			src="../images/guide/examples/image-placeholder.svg"
			alt="Some dummy alternative text for image."
			width="1600"
			height="800"
		/>
	</picture>
	<figcaption class="b-promo_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Explore More Possibilities
		</h2>
		<p class="b-promo_caption-subtitle">
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
		</p>
		<div class="b-promo_caption-actions">
			<a
				class="b-button"
				href="$url('Search-Show', 'cgid', 'category-2')$"
			>
				Shop Now
			</a>
		</div>
	</figcaption>
</figure>
```

## Horizontal alignment

### `m-caption_left`

```html_example
<figure class="b-promo_box m-caption_left">
	<picture class="b-promo_box-picture">
		<img
			loading="lazy"
			src="../images/guide/examples/image-placeholder.svg"
			alt="Some dummy alternative text for image."
			width="1600"
			height="800"
		/>
	</picture>
	<figcaption class="b-promo_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Explore More Possibilities
		</h2>
		<div class="b-promo_caption-actions">
			<a
				class="b-button"
				href="$url('Search-Show', 'cgid', 'category-2')$"
			>
				Shop Now
			</a>
		</div>
	</figcaption>
</figure>
```

### `m-caption_right`

```html_example
<figure class="b-promo_box m-caption_right">
	<picture class="b-promo_box-picture">
		<img
			loading="lazy"
			src="../images/guide/examples/image-placeholder.svg"
			alt="Some dummy alternative text for image."
			width="1600"
			height="800"
		/>
	</picture>
	<figcaption class="b-promo_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Explore More Possibilities
		</h2>
		<div class="b-promo_caption-actions">
			<a
				class="b-button"
				href="$url('Search-Show', 'cgid', 'category-2')$"
			>
				Shop Now
			</a>
		</div>
	</figcaption>
</figure>
```

### `m-caption_center`

```html_example
<figure class="b-promo_box m-caption_center">
	<picture class="b-promo_box-picture">
		<img
			loading="lazy"
			src="../images/guide/examples/image-placeholder.svg"
			alt="Some dummy alternative text for image."
			width="1600"
			height="800"
		/>
	</picture>
	<figcaption class="b-promo_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Explore More Possibilities
		</h2>
		<div class="b-promo_caption-actions">
			<a
				class="b-button"
				href="$url('Search-Show', 'cgid', 'category-2')$"
			>
				Shop Now
			</a>
		</div>
	</figcaption>
</figure>
```

### `m-caption_offcenter`

```html_example
<figure class="b-promo_box m-caption_offcenter">
	<picture class="b-promo_box-picture">
		<img
			loading="lazy"
			src="../images/guide/examples/image-placeholder.svg"
			alt="Some dummy alternative text for image."
			width="1600"
			height="800"
		/>
	</picture>
	<figcaption class="b-promo_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Explore More Possibilities
		</h2>
		<div class="b-promo_caption-actions">
			<a
				class="b-button"
				href="$url('Search-Show', 'cgid', 'category-2')$"
			>
				Shop Now
			</a>
		</div>
	</figcaption>
</figure>
```

## Vertical alignment

For sake of simpleness and robustness Boilerplate do not provide predefined vertical alignment
variations.

## Video as base

It is not limited what you could use as base for banner - it could be image or video.

What you need to do:

* `autoplay loop muted playsinline` is required to auto play video without user gesture in iOS

Please see [iOS manual](https://webkit.org/blog/6784/new-video-policies-for-ios/)

```html_example
<figure class="b-promo_box">
	<div class="b-promo_box-picture">
		<video autoplay loop muted playsinline width="1600" height="800">
			<source src="../../images/guide/examples/banner-video-16x9-lg.mp4" type="video/mp4" />
			<source src="../../images/guide/examples/banner-video-16x9-lg.mov" type="video/quicktime" />
		</video>
	</div>
	<figcaption class="b-promo_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Explore More Possibilities
		</h2>
		<div class="b-promo_caption-actions">
			<a
				class="b-button"
				href="$url('Search-Show', 'cgid', 'category-2')$"
			>
				Shop Now
			</a>
		</div>
	</figcaption>
</figure>
```

## Advanced: tiled background

```html_example
<style>
	.b-promo_box.m-image_3x4_right {
		.b-promo_box-picture {
			grid-column: 8 / span 4;
			padding-bottom: aspect-ratio(3, 4);
			padding-bottom: 133.3333333333%;
		}
	}
	.b-promo_box.m-image_3x4_left {
		.b-promo_box-picture {
			grid-column: 1 / span 4;
			padding-bottom: aspect-ratio(3, 4);
			padding-bottom: 133.3333333333%;
		}
	}
</style>
<figure class="b-promo_box m-caption_left m-image_3x4_right m-text_below">
	<picture class="b-promo_box-picture">
		<img
			loading="lazy"
			src="../images/guide/examples/banner-3x4-5.jpg?$staticlink$"
			alt="Some dummy alternative text for image."
			width="1600"
			height="800"
		/>
	</picture>
    <figcaption class="b-promo_box-caption b-promo_caption">
        <h2 class="b-promo_caption-title">
            New beauty neutrals color
        </h2>
        <p class="b-promo_caption-subtitle">
            Plunge into calm pastel colors, choose for yourself only the most sophisticated and beautiful attire in the new season
        </p>
        <div class="b-promo_caption-actions">
            <a
                class="b-button"
                href="$url('Search-Show', 'cgid', 'category')$"
            >
                Shop New Season
            </a>
        </div>
    </figcaption>
</figure>
```

## Advanced: Background stretched independent from container

```html_example
<figure class="b-promo_box m-full_bleed m-caption_offcenter">
	<picture class="b-promo_box-picture">
		<source type="image/jpeg" media="(max-width: 767px)"
				srcset="../images/guide/examples/banner-16x9-sm.jpg?$staticlink$, ../images/guide/examples/banner-16x9-sm@2x.jpg?$staticlink$ 2x" />
		<source type="image/jpeg" media="(min-width: 768px) and (max-width: 1024px)"
				srcset="../images/guide/examples/banner-16x9-md.jpg?$staticlink$, ../images/guide/examples/banner-16x9-md@2x.jpg?$staticlink$ 2x" />
		<source type="image/jpeg" media="(min-width: 1025px)"
				srcset="../images/guide/examples/banner-16x9-lg.jpg?$staticlink$, ../images/guide/examples/banner-16x9-lg@2x.jpg?$staticlink$2x" />
		<img
			loading="lazy"
			src="../images/guide/examples/banner-16x9-lg.jpg?$staticlink$"
			alt="Some dummy alternative text for image."
			width="1600"
			height="800"
		/>
	</picture>
    <figcaption class="b-promo_box-inner">
        <div class="b-promo_box-caption b-promo_caption">
            <h2 class="b-promo_caption-title">
                Make boilerplate better
            </h2>
            <p class="b-promo_caption-subtitle">
                Everyone's fallen for boilerplate so we added to her games repertoire for spring with 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="$url('Search-Show', 'cgid', 'category')$"
                >
                    Shop New Season
                </a>
            </div>
        </div>
    </figcaption>
</figure>
```
*/
.b-promo_box {
  display: grid;
}
@media screen and (min-width: 1367px) {
  .b-promo_box {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 1024px) and (max-width: 1366.9px) {
  .b-promo_box {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-promo_box {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
  }
}
@media screen and (max-width: 767.9px) {
  .b-promo_box {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
  }
}
.b-promo_box-picture {
  background: #f3f4f3;
  display: block;
  overflow: hidden;
  padding-bottom: 44.2477876106%;
  position: relative;
  width: 100%;
  grid-column: grid-start/grid-end;
  grid-row: 1/2;
  z-index: -1;
}
@media screen and (max-width: 767.9px) {
  .b-promo_box-picture {
    padding-bottom: 100%;
  }
}
.b-promo_box-picture img,
.b-promo_box-picture video {
  border: none;
  bottom: 0;
  color: #f3f4f3;
  display: block;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}
.b-promo_box-caption {
  grid-column: grid-start/grid-end;
  grid-row: 1/2;
  padding: 48px 0;
  text-align: center;
}
.b-promo_box.m-full_bleed {
  grid-template-columns: auto;
  height: 100%;
}
.b-promo_box.m-full_bleed .b-promo_box-picture {
  grid-column: 1/2;
  grid-row: 1/2;
  padding-bottom: 32.3162274619%;
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-promo_box.m-full_bleed .b-promo_box-picture {
    padding-bottom: 58.3333333333%;
  }
}
@media screen and (max-width: 767.9px) {
  .b-promo_box.m-full_bleed .b-promo_box-picture {
    padding-bottom: 115.2%;
  }
}
.b-promo_box.m-full_bleed .b-promo_box-inner {
  display: grid;
  margin: 0 auto;
  max-width: 1920px;
  padding-left: 88px;
  padding-right: 88px;
  grid-column: 1/2;
  grid-row: 1/2;
  margin-bottom: 16px;
  margin-top: 16px;
  width: 100%;
}
@media screen and (min-width: 1367px) {
  .b-promo_box.m-full_bleed .b-promo_box-inner {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 1024px) and (max-width: 1366.9px) {
  .b-promo_box.m-full_bleed .b-promo_box-inner {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-promo_box.m-full_bleed .b-promo_box-inner {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
  }
}
@media screen and (max-width: 767.9px) {
  .b-promo_box.m-full_bleed .b-promo_box-inner {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
  }
}
@media screen and (min-width: 1024px) and (max-width: 1366.9px) {
  .b-promo_box.m-full_bleed .b-promo_box-inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-promo_box.m-full_bleed .b-promo_box-inner {
    padding-left: 32px;
    padding-right: 32px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-promo_box.m-full_bleed .b-promo_box-inner {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-promo_box:not(.m-full_bleed) .b-promo_box-caption {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.b-promo_box.m-caption_left .b-promo_box-caption {
  text-align: start;
}
@media screen and (min-width: 768px) {
  .b-promo_box.m-caption_left .b-promo_box-caption {
    grid-column: 2/span 5;
  }
}
.b-promo_box.m-caption_right .b-promo_box-caption {
  text-align: start;
}
@media screen and (min-width: 768px) {
  .b-promo_box.m-caption_right .b-promo_box-caption {
    grid-column: 8/span 5;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_box.m-caption_center .b-promo_box-caption {
    grid-column: 3/span 8;
  }
}
.b-promo_box.m-caption_offcenter .b-promo_box-caption {
  text-align: start;
}
@media screen and (min-width: 768px) {
  .b-promo_box.m-caption_offcenter .b-promo_box-caption {
    grid-column: 7/span 5;
  }
}
@media screen and (max-width: 767.9px) {
  .b-promo_box.m-text_below:not(.m-full_bleed) .b-promo_box-picture {
    grid-column: grid-start/grid-end;
  }
}
@media screen and (max-width: 767.9px) {
  .b-promo_box.m-text_below:not(.m-full_bleed) .b-promo_box-caption {
    grid-column: grid-start/grid-end;
    grid-row: 2/3;
    padding: 16px 0;
  }
}
@media screen and (max-width: 767.9px) {
  .b-promo_box.m-text_below.m-full_bleed {
    display: block;
  }
  .b-promo_box.m-text_below.m-full_bleed .b-promo_box-picture {
    grid-column: grid-start/grid-end;
  }
  .b-promo_box.m-text_below.m-full_bleed .b-promo_box-inner {
    grid-column: grid-start/grid-end;
    grid-row: 2/3;
  }
  .b-promo_box.m-text_below.m-full_bleed .b-promo_box-caption {
    padding: 16px 0;
  }
}

@keyframes growIn {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.b-personalized_cards {
  display: grid;
}
@media screen and (min-width: 1367px) {
  .b-personalized_cards {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 1024px) and (max-width: 1366.9px) {
  .b-personalized_cards {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-personalized_cards {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
  }
}
@media screen and (max-width: 767.9px) {
  .b-personalized_cards {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
  }
}
.b-personalized_cards h1,
.b-personalized_cards .title-h1 {
  font-family: "Queens Hat", "Times", serif;
  font-size: 52px;
  font-weight: 350;
  line-height: 68px;
}
@media screen and (max-width: 1023.9px) {
  .b-personalized_cards h1,
  .b-personalized_cards .title-h1 {
    font-size: 42px;
    letter-spacing: -0.0075em;
    line-height: 58px;
  }
}
.b-personalized_cards h2 {
  font-family: "Queens Hat", "Times", serif;
  font-size: 46px;
  font-weight: 350;
  line-height: 48px;
}
@media screen and (max-width: 1023.9px) {
  .b-personalized_cards h2 {
    font-size: 38px;
    line-height: 48px;
  }
}
.b-personalized_cards h3 {
  font-family: "Queens Hat", "Times", serif;
  font-size: 36px;
  font-weight: 350;
  line-height: 40px;
}
@media screen and (max-width: 1023.9px) {
  .b-personalized_cards h3 {
    font-size: 30px;
    line-height: 40px;
  }
}
.b-personalized_cards h4 {
  font-size: 26px;
  font-weight: 136;
  letter-spacing: 0.01em;
  line-height: 32px;
}
@media screen and (max-width: 1023.9px) {
  .b-personalized_cards h4 {
    font-size: 24px;
    letter-spacing: 0.002em;
    line-height: 30px;
  }
}
.b-personalized_cards h5 {
  font-family: "Queens Hat", "Times", serif;
  font-size: 24px;
  font-weight: 350;
  line-height: 32px;
}
@media screen and (max-width: 1023.9px) {
  .b-personalized_cards h5 {
    font-size: 22px;
    line-height: 28px;
  }
}
.b-personalized_cards h6 {
  font-size: 18px;
  font-weight: 136;
  letter-spacing: -0.0055em;
  line-height: 24px;
}
@media screen and (max-width: 1023.9px) {
  .b-personalized_cards h6 {
    font-size: 18px;
    line-height: 24px;
  }
}
.b-personalized_cards-headline {
  grid-column: 1/13;
  grid-row: 1;
  text-align: center;
}
.b-personalized_cards-list_wrapper {
  grid-column: 1/13;
  grid-row: 2;
  margin: 0 -10px;
}
.b-personalized_cards-item {
  background: #ffffff;
  border: 1px solid #535353;
  display: flex;
  flex-wrap: wrap;
  margin: 0 10px;
  width: calc(33.3% - 20px);
}
@media screen and (max-width: 1023.9px) {
  .b-personalized_cards-item {
    flex: 0 0 360px;
    width: 360px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-personalized_cards-item {
    max-width: calc(100vw - 30px);
  }
}
.b-personalized_cards-image {
  flex: 1;
}
.b-personalized_cards-content {
  align-items: center;
  display: flex;
  flex: 1;
  justify-content: center;
  padding: 10px 8px 10px 20px;
}
.b-personalized_cards-pagination {
  display: none;
  justify-content: center;
  margin-top: 20px;
}
@media screen and (max-width: 1023.9px) {
  .b-personalized_cards-pagination {
    display: flex;
  }
}
.b-personalized_cards.m-inited .b-personalized_cards-pagination {
  display: flex;
}
.b-personalized_cards.m-has_dialog .b-personalized_cards-pagination {
  display: none;
}
.b-personalized_cards-page {
  background-color: transparent;
  border: none;
  cursor: pointer;
  display: block;
  height: 20px;
  line-height: 20px;
  position: relative;
  text-align: center;
  width: 20px;
}
.b-personalized_cards-page::before {
  background-color: #535353;
  border: 1px solid #ffffff;
  border-radius: 12px;
  content: "";
  display: inline-block;
  height: 12px;
  left: 50%;
  margin-inline-start: -6px;
  margin-top: -6px;
  position: absolute;
  top: 50%;
  transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  transition-property: width, height, margin;
  width: 12px;
}
.b-personalized_cards-page.m-current::before {
  background-color: #753bbd;
  content: "";
  height: 12px;
  margin-inline-start: -6px;
  margin-top: -6px;
  width: 12px;
}

.b-edit_mode {
  pointer-events: none;
}

.b-image_tile.m-horizontal_left, .b-image_tile.m-horizontal_center, .b-image_tile.m-horizontal_right {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.b-image_tile.m-horizontal_left {
  justify-content: flex-start;
}
.b-image_tile.m-horizontal_center {
  justify-content: center;
}
.b-image_tile.m-horizontal_right {
  justify-content: flex-end;
}
.b-image_tile.m-vertical_top {
  align-self: flex-start;
}
.b-image_tile.m-vertical_middle {
  align-self: center;
}
.b-image_tile.m-vertical_bottom {
  align-self: flex-end;
}
@media screen and (max-width: 767.9px) {
  .b-image_tile.m-vertical_fill {
    align-items: flex-start;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-image_tile.m-vertical_fill-md {
    align-self: stretch;
  }
}
@media screen and (max-width: 767.9px) {
  .b-image_tile.m-vertical_fill-sm {
    align-self: stretch;
  }
}
.b-image_tile-container {
  display: flex;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .b-image_tile-container {
    max-width: var(--max-width);
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-image_tile.m-vertical_fill-md .b-image_tile-container {
    height: 100%;
  }
}
@media screen and (max-width: 767.9px) {
  .b-image_tile.m-vertical_fill-sm .b-image_tile-container {
    height: 100%;
  }
}
.b-image_tile-picture {
  background: #f3f4f3;
  display: block;
  height: 0;
  overflow: hidden;
  padding-bottom: var(--bg-padding, 100%);
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-image_tile-picture {
    padding-bottom: var(--bg-padding-tablet);
  }
}
@media screen and (max-width: 767.9px) {
  .b-image_tile-picture {
    padding-bottom: var(--bg-padding-mobile);
  }
}
.b-image_tile-picture img {
  border: none;
  bottom: 0;
  color: #f3f4f3;
  display: block;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
  object-position: var(--img-obj-position);
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-image_tile-picture img {
    object-position: var(--img-md-obj-position, var(--img-obj-position));
  }
}
@media screen and (max-width: 767.9px) {
  .b-image_tile-picture img {
    object-position: var(--img-sm-obj-position, var(--img-obj-position));
  }
}
@media screen and (min-width: 1024px) {
  .b-image_tile-picture.m-fixed_height-lg_up {
    height: auto;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 1024px) {
  .b-image_tile-picture.m-fixed_height-lg_up img {
    position: initial;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-image_tile-picture.m-fixed_height-md {
    height: auto;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-image_tile-picture.m-fixed_height-md img {
    position: initial;
  }
}
@media screen and (max-width: 767.9px) {
  .b-image_tile-picture.m-fixed_height-sm {
    height: auto;
    padding-bottom: 0;
  }
}
@media screen and (max-width: 767.9px) {
  .b-image_tile-picture.m-fixed_height-sm img {
    position: initial;
  }
}

.b-text_block {
  background-color: var(--bg-text-block, transparent);
  width: 100%;
}
.b-text_block.m-vertical_top {
  align-items: flex-start;
}
.b-text_block.m-vertical_middle {
  align-items: center;
}
.b-text_block.m-vertical_bottom {
  align-items: flex-end;
}
.b-text_block.m-vertical_fill {
  align-self: stretch;
}
.b-text_block.m-horizontal_left, .b-text_block.m-horizontal_center, .b-text_block.m-horizontal_right {
  display: flex;
  flex-wrap: wrap;
}
.b-text_block.m-horizontal_left {
  justify-content: flex-start;
}
.b-text_block.m-horizontal_center {
  justify-content: center;
}
.b-text_block.m-horizontal_right {
  justify-content: flex-end;
}
.b-text_block h1,
.b-text_block .title-h1 {
  font-family: "Queens Hat", "Times", serif;
  font-size: 52px;
  font-weight: 350;
  line-height: 68px;
}
@media screen and (max-width: 1023.9px) {
  .b-text_block h1,
  .b-text_block .title-h1 {
    font-size: 42px;
    letter-spacing: -0.0075em;
    line-height: 58px;
  }
}
.b-text_block h2 {
  font-family: "Queens Hat", "Times", serif;
  font-size: 46px;
  font-weight: 350;
  line-height: 48px;
}
@media screen and (max-width: 1023.9px) {
  .b-text_block h2 {
    font-size: 38px;
    line-height: 48px;
  }
}
.b-text_block h3 {
  font-family: "Queens Hat", "Times", serif;
  font-size: 36px;
  font-weight: 350;
  line-height: 40px;
}
@media screen and (max-width: 1023.9px) {
  .b-text_block h3 {
    font-size: 30px;
    line-height: 40px;
  }
}
.b-text_block h4 {
  font-size: 26px;
  font-weight: 136;
  letter-spacing: 0.01em;
  line-height: 32px;
}
@media screen and (max-width: 1023.9px) {
  .b-text_block h4 {
    font-size: 24px;
    letter-spacing: 0.002em;
    line-height: 30px;
  }
}
.b-text_block h5 {
  font-family: "Queens Hat", "Times", serif;
  font-size: 24px;
  font-weight: 350;
  line-height: 32px;
}
@media screen and (max-width: 1023.9px) {
  .b-text_block h5 {
    font-size: 22px;
    line-height: 28px;
  }
}
.b-text_block h6 {
  font-size: 18px;
  font-weight: 136;
  letter-spacing: -0.0055em;
  line-height: 24px;
}
@media screen and (max-width: 1023.9px) {
  .b-text_block h6 {
    font-size: 18px;
    line-height: 24px;
  }
}
.b-text_block h1,
.b-text_block .title-h1,
.b-text_block h2,
.b-text_block h3,
.b-text_block h4,
.b-text_block h5,
.b-text_block h6 {
  margin-bottom: 8px;
}
.b-text_block ul,
.b-text_block ol {
  display: block;
  margin-bottom: 16px;
  padding-left: 20px;
}
.b-text_block li {
  display: list-item;
  margin-bottom: 4px;
}
.b-text_block ul {
  list-style: disc outside;
}
.b-text_block ol {
  list-style: decimal outside;
}
.b-text_block p {
  font-weight: 102;
  margin-bottom: 4px;
}
.b-text_block blockquote {
  border-left: 4px solid #535353;
  font-style: italic;
  margin: 0 0 16px;
  padding: 0 0 0 20px;
}
.b-text_block *:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767.9px) {
  .b-text_block.m-padding_top_sm .b-text_block-container {
    padding-top: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-text_block.m-padding_top_sm .b-text_block-container {
    padding-top: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .b-text_block.m-padding_top_sm .b-text_block-container {
    padding-top: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-text_block.m-padding_top_lg .b-text_block-container {
    padding-top: 60px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-text_block.m-padding_top_lg .b-text_block-container {
    padding-top: 60px;
  }
}
@media screen and (min-width: 1024px) {
  .b-text_block.m-padding_top_lg .b-text_block-container {
    padding-top: 60px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-text_block.m-padding_right_sm .b-text_block-container {
    padding-right: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-text_block.m-padding_right_sm .b-text_block-container {
    padding-right: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .b-text_block.m-padding_right_sm .b-text_block-container {
    padding-right: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-text_block.m-padding_right_lg .b-text_block-container {
    padding-right: 60px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-text_block.m-padding_right_lg .b-text_block-container {
    padding-right: 60px;
  }
}
@media screen and (min-width: 1024px) {
  .b-text_block.m-padding_right_lg .b-text_block-container {
    padding-right: 60px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-text_block.m-padding_bottom_sm .b-text_block-container {
    padding-bottom: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-text_block.m-padding_bottom_sm .b-text_block-container {
    padding-bottom: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .b-text_block.m-padding_bottom_sm .b-text_block-container {
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-text_block.m-padding_bottom_lg .b-text_block-container {
    padding-bottom: 60px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-text_block.m-padding_bottom_lg .b-text_block-container {
    padding-bottom: 60px;
  }
}
@media screen and (min-width: 1024px) {
  .b-text_block.m-padding_bottom_lg .b-text_block-container {
    padding-bottom: 60px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-text_block.m-padding_left_sm .b-text_block-container {
    padding-left: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-text_block.m-padding_left_sm .b-text_block-container {
    padding-left: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .b-text_block.m-padding_left_sm .b-text_block-container {
    padding-left: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-text_block.m-padding_left_lg .b-text_block-container {
    padding-left: 60px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-text_block.m-padding_left_lg .b-text_block-container {
    padding-left: 60px;
  }
}
@media screen and (min-width: 1024px) {
  .b-text_block.m-padding_left_lg .b-text_block-container {
    padding-left: 60px;
  }
}
.l-grid_layout.m-2_up .b-text_block {
  position: relative;
}
@media screen and (min-width: 1024px) {
  .l-grid_layout.m-2_up .b-text_block {
    margin: 0 -2px;
  }
}
@media screen and (max-width: 1023.9px) {
  .l-grid_layout.m-2_up .b-text_block {
    margin: -2px 0;
  }
}

.b-text_block-container {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .b-text_block-container {
    width: var(--width, auto);
  }
}
.b-text_block-container *:last-child {
  margin-bottom: 0;
}
.b-text_block pre {
  white-space: pre-line;
}
@media screen and (min-width: 1024px) {
  .b-text_block .hidden-lg {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-text_block .hidden-md {
    display: none;
  }
}
@media screen and (max-width: 767.9px) {
  .b-text_block .hidden-sm {
    display: none;
  }
}

.b-actions {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 12px;
  margin: 10px 0 0;
  padding: var(--cta-padding-top, 0) var(--cta-padding-right, 0) var(--cta-padding-bottom, 0) var(--cta-padding-left, 0);
  position: relative;
  width: 100%;
}
@media screen and (max-width: 767.9px) {
  .b-actions.m-padding_top_sm {
    padding-top: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-actions.m-padding_top_sm {
    padding-top: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .b-actions.m-padding_top_sm {
    padding-top: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-actions.m-padding_top_lg {
    padding-top: 60px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-actions.m-padding_top_lg {
    padding-top: 60px;
  }
}
@media screen and (min-width: 1024px) {
  .b-actions.m-padding_top_lg {
    padding-top: 60px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-actions.m-padding_right_sm {
    padding-right: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-actions.m-padding_right_sm {
    padding-right: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .b-actions.m-padding_right_sm {
    padding-right: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-actions.m-padding_right_lg {
    padding-right: 60px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-actions.m-padding_right_lg {
    padding-right: 60px;
  }
}
@media screen and (min-width: 1024px) {
  .b-actions.m-padding_right_lg {
    padding-right: 60px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-actions.m-padding_bottom_sm {
    padding-bottom: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-actions.m-padding_bottom_sm {
    padding-bottom: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .b-actions.m-padding_bottom_sm {
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-actions.m-padding_bottom_lg {
    padding-bottom: 60px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-actions.m-padding_bottom_lg {
    padding-bottom: 60px;
  }
}
@media screen and (min-width: 1024px) {
  .b-actions.m-padding_bottom_lg {
    padding-bottom: 60px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-actions.m-padding_left_sm {
    padding-left: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-actions.m-padding_left_sm {
    padding-left: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .b-actions.m-padding_left_sm {
    padding-left: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-actions.m-padding_left_lg {
    padding-left: 60px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-actions.m-padding_left_lg {
    padding-left: 60px;
  }
}
@media screen and (min-width: 1024px) {
  .b-actions.m-padding_left_lg {
    padding-left: 60px;
  }
}
.multi-linked .b-actions {
  width: -moz-fit-content;
  width: fit-content;
  z-index: 2;
  align-self: center;
}
.b-actions:last-child:first-child {
  margin-top: 0;
}
.b-actions-item {
  width: var(--button-width, auto);
}
.b-actions-container.m-horizontal_left, .b-actions-container.m-horizontal_center, .b-actions-container.m-horizontal_right {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.b-actions-container.m-horizontal_left {
  justify-content: flex-start;
}
.b-actions-container.m-horizontal_center {
  justify-content: center;
}
.b-actions-container.m-horizontal_right {
  justify-content: flex-end;
}
.b-actions-container.m-vertical_top {
  align-self: flex-start;
}
.b-actions-container.m-vertical_middle {
  align-self: center;
}
.b-actions-container.m-vertical_bottom {
  align-self: flex-end;
}
.b-actions-container .b-button {
  width: var(--button-width, auto);
}
.b-actions-container .b-button.m-primary:not(.m-small) .b-button-icon_left, .b-actions-container .b-button.m-primary_dark_mode:not(.m-small) .b-button-icon_left, .b-actions-container .b-button.m-secondary .b-button-icon_left, .b-actions-container .b-button.m-secondary_dark_mode .b-button-icon_left {
  height: 24px;
  margin-right: 8px;
  margin-left: 0;
  width: 24px;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  padding: 6px;
  margin-left: -8px;
}
.b-actions-container .b-button.m-primary:not(.m-small) .b-button-icon_left svg, .b-actions-container .b-button.m-primary_dark_mode:not(.m-small) .b-button-icon_left svg, .b-actions-container .b-button.m-secondary .b-button-icon_left svg, .b-actions-container .b-button.m-secondary_dark_mode .b-button-icon_left svg {
  height: 100%;
  width: 100%;
}
.b-actions-container .b-button.m-primary:not(.m-small) .b-button-icon_right, .b-actions-container .b-button.m-primary_dark_mode:not(.m-small) .b-button-icon_right, .b-actions-container .b-button.m-secondary .b-button-icon_right, .b-actions-container .b-button.m-secondary_dark_mode .b-button-icon_right {
  height: 24px;
  margin-left: 8px;
  margin-right: 0;
  width: 24px;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  padding: 6px;
  margin-right: -8px;
}
.b-actions-container .b-button.m-primary:not(.m-small) .b-button-icon_right svg, .b-actions-container .b-button.m-primary_dark_mode:not(.m-small) .b-button-icon_right svg, .b-actions-container .b-button.m-secondary .b-button-icon_right svg, .b-actions-container .b-button.m-secondary_dark_mode .b-button-icon_right svg {
  height: 100%;
  width: 100%;
}
.b-actions-container .b-button.m-small .b-button-icon_left, .b-actions-container .b-button.m-link .b-button-icon_left {
  height: 12px;
  margin-right: 10px;
  margin-left: 0;
  width: 12px;
  background: transparent;
  border-radius: 0;
  display: block;
  line-height: 12px;
  padding: 0;
}
.b-actions-container .b-button.m-small .b-button-icon_left svg, .b-actions-container .b-button.m-link .b-button-icon_left svg {
  height: 100%;
  width: 100%;
}
.b-actions-container .b-button.m-small .b-button-icon_right, .b-actions-container .b-button.m-link .b-button-icon_right {
  height: 12px;
  margin-left: 10px;
  margin-right: 0;
  width: 12px;
  background: transparent;
  border-radius: 0;
  display: block;
  line-height: 12px;
  padding: 0;
}
.b-actions-container .b-button.m-small .b-button-icon_right svg, .b-actions-container .b-button.m-link .b-button-icon_right svg {
  height: 100%;
  width: 100%;
}
.b-actions-items {
  display: flex;
  grid-gap: 12px;
}
.b-actions-items .b-actions-container .b-button {
  white-space: nowrap;
}
.b-actions.m-rows_1 {
  display: flex;
  overflow: hidden;
  overflow-behavior: contain;
  -ms-overflow-style: none;
  scroll-behavior: smooth;
  -ms-scroll-chaining: none;
  scrollbar-width: none;
  overflow-x: auto;
  overscroll-behavior-x: none;
  scroll-snap-type: x mandatory;
  flex-direction: column;
  margin-bottom: -10px;
  padding-bottom: 10px;
}
.b-actions.m-rows_1::-webkit-scrollbar {
  display: none;
}
.b-banner .b-actions.m-rows_1 {
  margin-left: calc(var(--outer-content-padding-left, 0px) * -1 + var(--inner-content-padding-left, 8px) * -1);
  width: calc(100% + var(--outer-content-padding-left, 0px) + var(--inner-content-padding-left, 8px) + var(--inner-content-padding-right, 8px));
}
.b-actions.m-rows_2 {
  display: flex;
  overflow: hidden;
  overflow-behavior: contain;
  -ms-overflow-style: none;
  scroll-behavior: smooth;
  -ms-scroll-chaining: none;
  scrollbar-width: none;
  overflow-x: auto;
  overscroll-behavior-x: none;
  scroll-snap-type: x mandatory;
  flex-direction: column;
  margin-bottom: -10px;
  padding-bottom: 10px;
}
.b-actions.m-rows_2::-webkit-scrollbar {
  display: none;
}
.b-banner .b-actions.m-rows_2 {
  margin-left: calc(var(--outer-content-padding-left, 0px) * -1 + var(--inner-content-padding-left, 8px) * -1);
  width: calc(100% + var(--outer-content-padding-left, 0px) + var(--inner-content-padding-left, 8px) + var(--inner-content-padding-right, 8px));
}
.b-actions.m-one-cta .b-actions-item {
  width: 100%;
}
.b-actions.m-one-cta .b-button {
  width: var(--button-width, auto);
}
.b-actions.m-column {
  flex-direction: column;
}
.b-actions.m-center {
  align-items: center;
  justify-content: center;
}
.b-actions.m-right {
  align-items: flex-end;
  justify-content: flex-end;
}

.b-banner {
  display: flex;
  width: 100%;
}
.b-banner.m-vertical_top {
  align-items: flex-start;
}
.b-banner.m-vertical_middle {
  align-items: center;
}
.b-banner.m-vertical_bottom {
  align-items: flex-end;
}
.b-banner.m-vertical_fill {
  align-self: stretch;
}
.b-banner.b-banner-link {
  display: block;
  position: relative;
}
.b-banner-link__outer {
  text-decoration: none;
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.b-banner-link__outer.static {
  position: static;
}
.b-banner-cta.b-button.m-link {
  color: var(--tectColor, "currentColor");
}
.b-banner-cta__container {
  padding: 20px 0 0;
  display: flex;
  align-self: var(--align-content, "center");
  z-index: 2;
}
@media screen and (max-width: 767.9px) {
  .b-banner.m-vertical_fill {
    align-items: flex-start;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner.m-vertical_fill-md {
    align-items: stretch;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner.m-vertical_fill-sm {
    align-items: stretch;
  }
}
.b-banner-inner {
  display: grid;
  width: 100%;
}
@media screen and (min-width: 1367px) {
  .b-banner-inner {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 1024px) and (max-width: 1366.9px) {
  .b-banner-inner {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-inner {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-inner {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
  }
}
.b-banner .b-banner-inner {
  grid-gap: 0;
}
.b-banner-inner.m-border {
  border: 1px solid var(--border-color, #535353);
}
.b-carousel .b-banner-inner {
  height: 100%;
}
@media screen and (max-width: 1023.9px) {
  .b-banner-inner.m-diagonal-sm .b-banner_content {
    padding: var(--inner-content-padding, 32px);
    width: 300px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-inner.m-diagonal_right, .b-banner-inner.m-diagonal_left {
    padding-bottom: 40px;
  }
  .b-banner-inner.m-diagonal_right .b-banner-picture, .b-banner-inner.m-diagonal_left .b-banner-picture {
    grid-column: 1/11;
  }
  .b-banner-inner.m-diagonal_right .b-banner_content, .b-banner-inner.m-diagonal_left .b-banner_content {
    padding: var(--inner-content-padding, 32px);
    width: 300px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-inner.m-diagonal_left .b-banner-picture {
    grid-column: 3/13;
  }
}
@media screen and (min-width: 768px) {
  .b-banner-inner.m-image_left, .b-banner-inner.m-image_right {
    background: var(--bg-content);
    display: flex;
  }
  .b-banner-inner.m-image_left .b-banner-picture, .b-banner-inner.m-image_right .b-banner-picture {
    flex: 1;
  }
  .b-banner-inner.m-image_left .b-banner-caption, .b-banner-inner.m-image_right .b-banner-caption {
    width: var(--content-width, auto);
  }
  .b-banner-inner.m-image_left .b-banner_content, .b-banner-inner.m-image_right .b-banner_content {
    padding: 20px;
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-inner.m-image_left-sm .b-banner-caption, .b-banner-inner.m-image_right-sm .b-banner-caption {
    width: var(--content-width-tablet, auto);
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-inner.m-image_left-sm, .b-banner-inner.m-image_right-sm {
    background: var(--bg-content);
    display: flex;
  }
  .b-banner-inner.m-image_left-sm .b-banner-picture, .b-banner-inner.m-image_right-sm .b-banner-picture {
    flex: 1;
  }
  .b-banner-inner.m-image_left-sm .b-banner-caption, .b-banner-inner.m-image_right-sm .b-banner-caption {
    width: var(--content-width-mobile, auto);
  }
  .b-banner-inner.m-image_left-sm .b-banner_content, .b-banner-inner.m-image_right-sm .b-banner_content {
    padding: 20px;
    width: 100%;
  }
}
.b-banner-inner.m-image_right .b-banner-picture {
  flex: 1;
  order: 2;
}
.b-banner-caption {
  grid-column: grid-start/grid-end;
  grid-row: 1/2;
  padding: var(--outer-content-padding-top, 0) var(--outer-content-padding-right, 0) var(--outer-content-padding-bottom, 0) var(--outer-content-padding-left, 0);
}
.b-banner-caption.m-horizontal_left, .b-banner-caption.m-horizontal_center, .b-banner-caption.m-horizontal_right {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.b-banner-caption.m-horizontal_left {
  justify-content: flex-start;
}
.b-banner-caption.m-horizontal_center {
  justify-content: center;
}
.b-banner-caption.m-horizontal_right {
  justify-content: flex-end;
}
.b-banner-caption.m-vertical_top {
  align-self: flex-start;
}
.b-banner-caption.m-vertical_middle {
  align-self: center;
}
.b-banner-caption.m-vertical_bottom {
  align-self: flex-end;
}
@media screen and (max-width: 767.9px) {
  .b-banner-caption.m-sm-vertical_top {
    align-self: flex-start;
  }
  .b-banner-caption.m-sm-vertical_middle {
    align-self: center;
  }
  .b-banner-caption.m-sm-vertical_bottom {
    align-self: flex-end;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1366.9px) {
  .b-banner-caption {
    padding: var(--outer-content-padding-top, 0) var(--outer-content-padding-right, 0) var(--outer-content-padding-bottom, 0) var(--outer-content-padding-left, 0);
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-caption {
    padding: var(--outer-content-padding-top, 0) var(--outer-content-padding-right, 0) var(--outer-content-padding-bottom, 0) var(--outer-content-padding-left, 0);
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-caption {
    padding: var(--outer-content-padding-top, 0) var(--outer-content-padding-right, 0) var(--outer-content-padding-bottom, 0) var(--outer-content-padding-left, 0);
  }
}
.b-banner-caption.m-beneath_image {
  display: flex;
}
@media screen and (min-width: 768px) {
  .b-banner-caption.m-beneath_image {
    height: 100%;
    padding: 0;
  }
}
.b-banner-caption.m-beneath_image .b-banner_content {
  align-items: center;
  display: flex;
  flex-direction: column;
}
.b-banner-caption.m-beneath_bottom {
  grid-row: 2;
  padding: 0;
}
.b-banner-caption.m-beneath_bottom .b-banner_content {
  width: 100%;
}
.b-banner-caption.m-beneath_right {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767.9px) {
  .b-banner-caption.m-sm-beneath_image {
    grid-row: 2;
    padding: 0;
  }
  .b-banner-caption.m-sm-beneath_image .b-banner_content {
    width: 100%;
  }
}
@media screen and (max-width: 1023.9px) {
  .b-banner-caption.m-diagonal-sm {
    grid-row: 2/3;
    margin-top: -24px;
    padding: var(--outer-content-padding, 0);
    place-self: end center;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-caption.m-diagonal_right, .b-banner-caption.m-diagonal_left {
    grid-column: 9/13;
    padding: var(--outer-content-padding, 0);
    place-self: end;
    position: relative;
    top: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-caption.m-diagonal_left {
    grid-column: 1/4;
  }
}
@media screen and (min-width: 768px) {
  .b-banner-caption.m-image_left, .b-banner-caption.m-image_right {
    align-items: center;
    display: flex;
    height: 100%;
    width: 50%;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-caption.m-image_left-sm, .b-banner-caption.m-image_right-sm {
    align-items: center;
    display: flex;
    height: 100%;
    width: 50%;
  }
}
.l-plp_grid-banner .b-banner-caption {
  padding: 44px 16px;
}
.l-plp_grid-banner:nth-of-type(2) .b-banner-caption {
  padding: 24px;
}
.l-grid_layout.m-centered .b-banner-caption.m-beneath_image {
  padding: 0;
}
.b-banner-caption img {
  object-position: var(--content-obj-position);
}
.b-banner-picture {
  background: #f3f4f3;
  display: block;
  overflow: hidden;
  padding-bottom: 44.2477876106%;
  position: relative;
  width: 100%;
  background-color: transparent;
  grid-column: grid-start/grid-end;
  grid-row: 1/2;
  padding-bottom: var(--bg-padding, 44.2477876106%);
  z-index: 0;
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_margin_top_sm {
    margin-top: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_margin_top_sm {
    margin-top: 10px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_margin_top_sm {
    margin-top: 10px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_margin_top_md {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_margin_top_md {
    margin-top: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_margin_top_md {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_margin_top_lg {
    margin-top: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_margin_top_lg {
    margin-top: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_margin_top_lg {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_margin_top_xl {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_margin_top_xl {
    margin-top: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_margin_top_xl {
    margin-top: 80px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_margin_right_sm {
    margin-right: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_margin_right_sm {
    margin-right: 10px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_margin_right_sm {
    margin-right: 10px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_margin_right_md {
    margin-right: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_margin_right_md {
    margin-right: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_margin_right_md {
    margin-right: 20px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_margin_right_lg {
    margin-right: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_margin_right_lg {
    margin-right: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_margin_right_lg {
    margin-right: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_margin_right_xl {
    margin-right: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_margin_right_xl {
    margin-right: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_margin_right_xl {
    margin-right: 80px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_margin_bottom_sm {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_margin_bottom_sm {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_margin_bottom_sm {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_margin_bottom_md {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_margin_bottom_md {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_margin_bottom_md {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_margin_bottom_lg {
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_margin_bottom_lg {
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_margin_bottom_lg {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_margin_bottom_xl {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_margin_bottom_xl {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_margin_bottom_xl {
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_margin_left_sm {
    margin-left: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_margin_left_sm {
    margin-left: 10px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_margin_left_sm {
    margin-left: 10px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_margin_left_md {
    margin-left: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_margin_left_md {
    margin-left: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_margin_left_md {
    margin-left: 20px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_margin_left_lg {
    margin-left: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_margin_left_lg {
    margin-left: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_margin_left_lg {
    margin-left: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_margin_left_xl {
    margin-left: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_margin_left_xl {
    margin-left: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_margin_left_xl {
    margin-left: 80px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_padding_top_sm img {
    padding-top: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_padding_top_sm img {
    padding-top: 10px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_padding_top_sm img {
    padding-top: 10px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_padding_top_md img {
    padding-top: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_padding_top_md img {
    padding-top: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_padding_top_md img {
    padding-top: 20px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_padding_top_lg img {
    padding-top: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_padding_top_lg img {
    padding-top: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_padding_top_lg img {
    padding-top: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_padding_top_xl img {
    padding-top: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_padding_top_xl img {
    padding-top: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_padding_top_xl img {
    padding-top: 80px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_padding_right_sm img {
    padding-right: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_padding_right_sm img {
    padding-right: 10px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_padding_right_sm img {
    padding-right: 10px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_padding_right_md img {
    padding-right: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_padding_right_md img {
    padding-right: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_padding_right_md img {
    padding-right: 20px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_padding_right_lg img {
    padding-right: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_padding_right_lg img {
    padding-right: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_padding_right_lg img {
    padding-right: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_padding_right_xl img {
    padding-right: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_padding_right_xl img {
    padding-right: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_padding_right_xl img {
    padding-right: 80px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_padding_bottom_sm img {
    padding-bottom: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_padding_bottom_sm img {
    padding-bottom: 10px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_padding_bottom_sm img {
    padding-bottom: 10px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_padding_bottom_md img {
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_padding_bottom_md img {
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_padding_bottom_md img {
    padding-bottom: 20px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_padding_bottom_lg img {
    padding-bottom: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_padding_bottom_lg img {
    padding-bottom: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_padding_bottom_lg img {
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_padding_bottom_xl img {
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_padding_bottom_xl img {
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_padding_bottom_xl img {
    padding-bottom: 80px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_padding_left_sm img {
    padding-left: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_padding_left_sm img {
    padding-left: 10px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_padding_left_sm img {
    padding-left: 10px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_padding_left_md img {
    padding-left: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_padding_left_md img {
    padding-left: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_padding_left_md img {
    padding-left: 20px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_padding_left_lg img {
    padding-left: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_padding_left_lg img {
    padding-left: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_padding_left_lg img {
    padding-left: 40px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-background_padding_left_xl img {
    padding-left: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-background_padding_left_xl img {
    padding-left: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-background_padding_left_xl img {
    padding-left: 80px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture {
    padding-bottom: var(--bg-padding-tablet, --bg-padding);
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture {
    padding-bottom: var(--bg-padding-mobile, --bg-padding);
  }
}
@media screen and (min-width: 1024px) {
  .b-banner-picture.m-fixed_height-lg_up {
    min-height: var(--min-height, auto);
    padding-bottom: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture.m-fixed_height-md {
    min-height: var(--min-height-tablet, auto);
    padding-bottom: 0;
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture.m-fixed_height-sm {
    min-height: var(--min-height-mobile, auto);
    padding-bottom: 0;
  }
}
.b-banner-picture.m-rounded_corner {
  border-radius: 16px;
  overflow: hidden;
}
.b-banner-picture.m-circle {
  border-radius: 50%;
  overflow: hidden;
  padding-bottom: 100%;
}
.b-banner-picture.m-square {
  overflow: hidden;
  padding-bottom: 100%;
}
@media screen and (max-width: 767.9px) {
  .m-over-sm .b-banner-picture {
    grid-row: 2;
  }
}
.b-banner-picture img,
.b-banner-picture video {
  border: none;
  bottom: 0;
  color: #f3f4f3;
  display: block;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}
.b-banner-picture img {
  object-position: var(--img-obj-position);
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner-picture img {
    object-position: var(--img-md-obj-position, var(--img-obj-position));
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-picture img {
    object-position: var(--img-sm-obj-position, var(--img-obj-position));
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner-disable_mobile {
    display: none;
  }
}
.b-banner .b-text_block {
  position: relative;
  width: 100%;
}
.b-banner .b-banner-inner.b-banner-link {
  height: 100%;
}

.b-banner_content {
  background-color: var(--bg-content, transparent);
  max-width: 100%;
  padding: var(--inner-content-padding-top, 8px) var(--inner-content-padding-right, 8px) var(--inner-content-padding-bottom, 8px) var(--inner-content-padding-left, 8px);
  position: relative;
  width: var(--content-width, auto);
}
.b-banner_content.multi-linked {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-banner_content {
    width: var(--content-width-tablet, auto);
  }
}
@media screen and (max-width: 767.9px) {
  .b-banner_content {
    width: var(--content-width-mobile, auto);
  }
}
.b-carousel-body .b-banner_content {
  padding: var(--inner-content-padding-top, 10px) var(--inner-content-padding-right, 10px) var(--inner-content-padding-bottom, 10px) var(--inner-content-padding-left, 10px);
}
.b-banner_content-image {
  width: 100%;
}
.b-banner_content-picture {
  background: #f3f4f3;
  bottom: 0;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
}
.b-banner_content-picture img {
  border: none;
  bottom: 0;
  color: #f3f4f3;
  display: block;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}

.b-product_ext {
  display: flex;
  width: 100%;
}
.b-product_ext.m-vertical_top {
  align-items: flex-start;
}
.b-product_ext.m-vertical_middle {
  align-items: center;
}
.b-product_ext.m-vertical_bottom {
  align-items: flex-end;
}
.b-product_ext.m-vertical_fill {
  align-self: stretch;
}
.b-product_ext .b-product_tile {
  height: auto;
  padding-bottom: 0;
  width: 100%;
}
.b-product_ext .b-product_tile img {
  object-position: var(--img-obj-position);
}
.b-product_ext .b-product_tile-description {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 13px;
}
.b-product_ext .b-product_tile-no_available {
  margin-bottom: 0;
}
@media screen and (max-width: 767.9px) {
  .b-product_ext .b-button {
    width: 100%;
  }
}
.b-product_ext .b-product_tile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 12px;
}
.b-carousel-item .b-product_ext .b-product_tile-actions {
  gap: 10px;
}

.b-category_tile.m-horizontal_left, .b-category_tile.m-horizontal_center, .b-category_tile.m-horizontal_right {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.b-category_tile.m-horizontal_left {
  justify-content: flex-start;
}
.b-category_tile.m-horizontal_center {
  justify-content: center;
}
.b-category_tile.m-horizontal_right {
  justify-content: flex-end;
}
.b-category_tile.m-vertical_top {
  align-self: flex-start;
}
.b-category_tile.m-vertical_middle {
  align-self: center;
}
.b-category_tile.m-vertical_bottom {
  align-self: flex-end;
}
.b-category_tile-inner {
  display: grid;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .b-category_tile-inner {
    max-width: var(--max-width, 100%);
  }
}
.b-category_tile-link, .b-category_tile-picture, .b-category_tile-content {
  grid-column: 1/2;
  grid-row: 1/2;
}
.b-category_tile-link, .b-category_tile-picture,
.b-category_tile img {
  border-radius: var(--aspect-radio-border, 0);
}
.b-category_tile-picture {
  display: block;
  height: 0;
  overflow: hidden;
  padding-bottom: var(--bg-padding, 100%);
  position: relative;
  width: 100%;
}
.b-category_tile-picture img {
  border: none;
  bottom: 0;
  color: #f3f4f3;
  display: block;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
  object-position: var(--img-obj-position);
}
.b-category_tile-link .b-category_tile-picture {
  transform: scale(1);
  transition: transform cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
}
.b-category_tile-link:hover .b-category_tile-picture {
  transform: scale(1.05);
}
.b-category_tile-picture.m-border {
  border: 3px solid var(--border-color, #535353);
}
.b-category_tile-content {
  display: flex;
  font-size: 18px;
  font-weight: 500;
  overflow: hidden;
  padding: 48px 12px;
  pointer-events: none;
  text-decoration: underline;
  z-index: 1;
}
.b-category_tile-content.m-vertical_top {
  align-items: flex-start;
}
.b-category_tile-content.m-vertical_middle {
  align-items: center;
}
.b-category_tile-content.m-vertical_bottom {
  align-items: flex-end;
}
.b-category_tile-content.m-vertical_fill {
  align-self: stretch;
}
.b-category_tile-content a {
  pointer-events: auto;
}
.b-category_tile-content.m-vertical_beneath-image {
  grid-row: 2/3;
  padding: 25px 12px;
}
.b-category_tile .b-text_block {
  width: 100%;
}

.b-header_ext.m-horizontal_left, .b-header_ext.m-horizontal_center, .b-header_ext.m-horizontal_right {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.b-header_ext.m-horizontal_left {
  justify-content: flex-start;
}
.b-header_ext.m-horizontal_center {
  justify-content: center;
}
.b-header_ext.m-horizontal_right {
  justify-content: flex-end;
}
.b-header_ext.m-vertical_top {
  align-self: flex-start;
}
.b-header_ext.m-vertical_middle {
  align-self: center;
}
.b-header_ext.m-vertical_bottom {
  align-self: flex-end;
}
.b-header_ext-wrapper {
  display: flex;
}
@media screen and (min-width: 768px) {
  .b-header_ext-wrapper {
    max-width: var(--max-width, none);
  }
}
.b-header_ext-wrapper.m-pictute_before .b-header_ext-img {
  margin-right: 20px;
}
.b-header_ext-wrapper.m-pictute_after {
  flex-direction: row-reverse;
}
.b-header_ext-wrapper.m-pictute_after .b-header_ext-img {
  margin-left: 20px;
}
.b-header_ext-wrapper.m-pictute_above {
  flex-direction: column;
}
.b-header_ext-wrapper.m-pictute_above .b-header_ext-img {
  align-self: center;
  margin-bottom: 20px;
}
.b-header_ext-picture {
  display: block;
  height: 48px;
  position: relative;
  width: 48px;
}
.b-header_ext-picture img {
  border: none;
  bottom: 0;
  color: #f3f4f3;
  display: block;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}
.b-header_ext .b-text_block {
  align-self: center;
}

.l-grid_layout .b-carousel.m-products {
  margin: 0;
}

.b-carousel_ext {
  /* multi-message ribbon styles */
}
.b-carousel_ext.m-vertical_top {
  align-items: flex-start;
}
.b-carousel_ext.m-vertical_middle {
  align-items: center;
}
.b-carousel_ext.m-vertical_bottom {
  align-items: flex-end;
}
.b-carousel_ext.m-vertical_fill {
  align-self: stretch;
}
@media screen and (min-width: 768px) {
  .b-carousel_ext .b-header_ext.m-horizontal_center {
    padding-left: 68px;
  }
}
.b-carousel_ext .b-carousel {
  display: flex;
  flex-direction: column;
  margin: 0 -10px;
  opacity: 0;
  position: initial;
}
@media screen and (max-width: 767.9px) {
  .b-carousel_ext .b-carousel {
    margin-top: 8px;
  }
}
.b-carousel_ext .b-carousel-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 36px;
  padding: 0 10px;
}
.b-carousel_ext .b-carousel-header_title {
  flex-grow: 1;
}
.b-carousel_ext .b-carousel-nav {
  display: flex;
  margin-right: -14px;
  opacity: 0;
  transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  transition-property: visibility, opacity;
  visibility: hidden;
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-carousel_ext .b-carousel-nav {
    display: none;
  }
}
.b-carousel_ext .b-carousel-nav.m-custom {
  display: flex;
  justify-content: space-between;
  left: 0;
  margin-left: 20px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
@media screen and (max-width: 1366.9px) {
  .b-carousel_ext .b-carousel-nav.m-custom {
    margin-right: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-carousel_ext .b-carousel-nav.m-custom {
    display: none;
  }
}
.b-carousel_ext .b-carousel-body {
  display: flex;
}
.b-carousel_ext .b-carousel-track {
  width: 100%;
}
.b-carousel_ext .b-carousel-item {
  display: flex;
  padding: 0 8px;
}
.b-carousel_ext .b-carousel-item.m-vertical_top {
  align-self: flex-start;
}
.b-carousel_ext .b-carousel-item.m-vertical_middle {
  align-self: center;
}
.b-carousel_ext .b-carousel-item.m-vertical_bottom {
  align-self: flex-end;
}
.b-carousel_ext .b-carousel-item.m-sm_6 {
  flex: 0 0 100%;
  max-width: 100%;
}
.b-carousel_ext .b-carousel-item.m-sm_5 {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}
.b-carousel_ext .b-carousel-item.m-sm_4 {
  flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
}
.b-carousel_ext .b-carousel-item.m-sm_3 {
  flex: 0 0 50%;
  max-width: 50%;
}
.b-carousel_ext .b-carousel-item.m-sm_2 {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}
.b-carousel_ext .b-carousel-item.m-sm_1 {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}
@media screen and (min-width: 768px) {
  .b-carousel_ext .b-carousel-item.m-md_6 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .b-carousel_ext .b-carousel-item.m-md_5 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
}
@media screen and (min-width: 768px) {
  .b-carousel_ext .b-carousel-item.m-md_4 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
}
@media screen and (min-width: 768px) {
  .b-carousel_ext .b-carousel-item.m-md_3 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media screen and (min-width: 768px) {
  .b-carousel_ext .b-carousel-item.m-md_2 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}
@media screen and (min-width: 768px) {
  .b-carousel_ext .b-carousel-item.m-md_1 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
}
@media screen and (min-width: 1024px) {
  .b-carousel_ext .b-carousel-item.m-lg_12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .b-carousel_ext .b-carousel-item.m-lg_11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
}
@media screen and (min-width: 1024px) {
  .b-carousel_ext .b-carousel-item.m-lg_10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
}
@media screen and (min-width: 1024px) {
  .b-carousel_ext .b-carousel-item.m-lg_9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
}
@media screen and (min-width: 1024px) {
  .b-carousel_ext .b-carousel-item.m-lg_8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
}
@media screen and (min-width: 1024px) {
  .b-carousel_ext .b-carousel-item.m-lg_7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
}
@media screen and (min-width: 1024px) {
  .b-carousel_ext .b-carousel-item.m-lg_6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media screen and (min-width: 1024px) {
  .b-carousel_ext .b-carousel-item.m-lg_5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
}
@media screen and (min-width: 1024px) {
  .b-carousel_ext .b-carousel-item.m-lg_4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}
@media screen and (min-width: 1024px) {
  .b-carousel_ext .b-carousel-item.m-lg_3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
}
@media screen and (min-width: 1024px) {
  .b-carousel_ext .b-carousel-item.m-lg_2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
}
@media screen and (min-width: 1024px) {
  .b-carousel_ext .b-carousel-item.m-lg_1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
}
.b-carousel_ext .b-carousel.m-inited {
  opacity: 1;
  position: relative;
}
@media screen and (min-width: 768px) {
  .b-carousel_ext .b-carousel.m-inited.m-next_visible .b-carousel-nav, .b-carousel_ext .b-carousel.m-inited.m-prev_visible .b-carousel-nav {
    opacity: 1;
    visibility: visible;
  }
}
.b-carousel_ext .b-carousel.m-has_dialog .b-carousel-track.m-grabbing {
  cursor: default;
  -webkit-user-select: auto;
          user-select: auto;
}
.b-carousel_ext.m-fullscreen_slider {
  margin-bottom: -10px;
  overflow: initial;
}
.b-carousel_ext.m-fullscreen_slider .b-carousel {
  height: 100%;
  position: relative;
}
.b-carousel_ext.m-fullscreen_slider .b-carousel-body {
  height: 100%;
  margin-right: calc(-88px + 10px);
}
@media screen and (min-width: 1024px) and (max-width: 1366.9px) {
  .b-carousel_ext.m-fullscreen_slider .b-carousel-body {
    margin-right: calc(-20px + 10px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-carousel_ext.m-fullscreen_slider .b-carousel-body {
    margin-right: calc(-32px + 10px);
  }
}
@media screen and (max-width: 767.9px) {
  .b-carousel_ext.m-fullscreen_slider .b-carousel-body {
    margin-right: calc(-15px + 10px);
  }
}
.b-carousel_ext.m-fullscreen_slider .b-carousel-track {
  padding-bottom: 10px;
}
.b-carousel_ext.m-fullscreen_slider .b-banner-inner {
  grid-template-rows: max-content;
}
.b-carousel_ext.m-hide_gutters .b-carousel {
  margin: 0;
}
.b-carousel_ext.m-hide_gutters .b-carousel-item {
  padding: 0;
}
.b-carousel_ext.mmr .b-carousel-pagination {
  position: absolute;
  height: 20px;
  bottom: -10px;
  left: 50%;
  margin-top: 0;
  transform: translate(-50%, 0);
}
.b-carousel_ext.mmr .b-carousel-nav.m-custom {
  position: relative;
  opacity: 1;
  visibility: visible;
}
.b-carousel_ext.mmr.m-fullscreen_slider .b-carousel-body {
  margin-right: 0;
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-carousel_ext .b-promo_box-picture.m-general {
    padding-bottom: 44.2477876106%;
  }
}
.b-carousel_ext .b-text_block {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .b-carousel.m-side-nav {
    flex-direction: row;
  }
  .b-carousel.m-side-nav .b-carousel-body {
    flex-grow: 1;
  }
  .b-carousel.m-side-nav .b-carousel-header_title {
    flex-grow: 0;
  }
  .b-carousel.m-side-nav .b-carousel-nav {
    display: flex;
    margin: 0 0 0 -14px;
  }
}
.b-carousel.m-side-nav .b-carousel-header {
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .b-carousel.m-side-nav .b-carousel-header {
    flex-shrink: 0;
    width: 25%;
  }
}
.b-carousel.m-side-nav .b-header_ext-wrapper {
  margin-bottom: 40px;
}
@media screen and (max-width: 767.9px) {
  .b-carousel.m-side-nav .b-header_ext-wrapper {
    margin-bottom: 0;
  }
}

.b-product_editorial {
  display: flex;
  width: 100%;
}
.b-product_editorial.m-vertical_top {
  align-items: flex-start;
}
.b-product_editorial.m-vertical_middle {
  align-items: center;
}
.b-product_editorial.m-vertical_bottom {
  align-items: flex-end;
}
.b-product_editorial.m-vertical_fill {
  align-self: stretch;
}
@media screen and (max-width: 767.9px) {
  .b-product_editorial .b-button {
    width: 100%;
  }
}
.b-product_editorial .b-product_tile {
  display: grid;
  grid-column-gap: 20px;
  grid-template: "image sold_out" "image title" "image description" "image price" "image promotion" "image swatches" "image rating" "image actions";
  grid-template-columns: 1fr minmax(auto, 50%);
  grid-template-rows: min-content;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 767.9px) {
  .b-product_editorial .b-product_tile {
    display: flex;
    flex-direction: column;
  }
}
.b-product_editorial .b-product_tile-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.b-product_editorial .b-product_tile-top {
  grid-area: image;
}
@media screen and (min-width: 768px) {
  .b-product_editorial .b-product_tile-top {
    margin-bottom: 0;
  }
}
.b-product_editorial .b-product_tile-price {
  grid-area: price;
}
.b-product_editorial .b-product_tile-title {
  grid-area: title;
}
.b-product_editorial .b-product_tile-description {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 13px;
  grid-area: description;
}
.b-product_editorial .b-product_tile_swatches {
  grid-area: swatches;
}
.b-product_editorial .b-product_tile .b-promotion {
  grid-area: promotion;
}
.b-product_editorial .b-product_tile .b-rating {
  grid-area: rating;
}
.b-product_editorial .b-product_tile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  grid-area: actions;
  margin-top: 12px;
}
.b-carousel-item .b-product_editorial .b-product_tile-actions {
  gap: 10px;
}
.b-product_editorial .b-product_tile-no_available {
  align-self: flex-end;
  grid-area: sold_out;
}
@media screen and (max-width: 767.9px) {
  .b-product_editorial .b-product_tile-no_available {
    align-self: flex-start;
  }
}
.b-product_editorial .b-product_tile img {
  object-position: var(--img-obj-position);
}

.b-carousel_simple {
  display: flex;
}
.b-carousel_simple.m-vertical_top {
  align-items: flex-start;
}
.b-carousel_simple.m-vertical_middle {
  align-items: center;
}
.b-carousel_simple.m-vertical_bottom {
  align-items: flex-end;
}
.b-carousel_simple.m-vertical_fill {
  align-self: stretch;
}
.b-carousel_simple .b-carousel {
  display: flex;
  flex-direction: column;
  margin: 0;
  max-width: 100%;
  width: 100%;
}
.b-carousel_simple .b-carousel-ctrl {
  background-color: transparent;
  top: 50%;
}
@media screen and (max-width: 767.9px) {
  .b-carousel_simple .b-carousel-ctrl {
    display: none;
  }
}
.b-carousel_simple .b-carousel-ctrl[disabled] {
  opacity: 0.5;
  z-index: 1;
}
.b-carousel_simple .b-carousel-pagination {
  justify-content: initial;
  margin: 0 auto;
  min-height: 34px;
  order: 1;
  overflow: hidden;
  position: initial;
  width: 114px;
}
.b-carousel_simple .b-carousel-pagination_content {
  display: inline-flex;
  left: 40px;
  position: relative;
  transition: left cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
}
.b-carousel_simple .b-carousel-pagination_dot {
  border: none;
  color: transparent;
  cursor: pointer;
  fill: #535353;
  height: 34px;
  margin-inline-end: 6px;
  padding: 0;
  width: 34px;
}
@media not all and (pointer: coarse) {
  .b-carousel_simple .b-carousel-pagination_dot:hover {
    fill: #095c9c;
  }
}
.b-carousel_simple .b-carousel-pagination_dot:last-child {
  margin-inline-end: 0;
}
.b-carousel_simple .b-carousel-pagination_dot[aria-disabled=true] {
  cursor: initial;
}
.b-carousel_simple .b-carousel-pagination_dot svg {
  transform: scale(0.6);
  transition: transform cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
}
.b-carousel_simple .b-carousel-pagination_dot.m-current {
  fill: #095c9c;
}
.b-carousel_simple .b-carousel-pagination_dot.m-current svg {
  transform: scale(1);
}
.b-carousel_simple .b-carousel-track.m-mousemove_navigation {
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
}
.b-carousel_simple .b-carousel-item {
  margin-inline-end: 1px;
  max-width: 100%;
  min-width: 100%;
}
.b-carousel_simple .b-carousel-item:last-child {
  margin-inline-end: 0;
}
.b-carousel_simple .b-carousel-item .b-text_block {
  height: 100%;
  position: relative;
}
.b-carousel_simple.m-type-numeric .b-carousel {
  display: flex;
  flex-direction: column;
}
.b-carousel_simple.m-type-numeric .b-carousel-actions {
  align-items: center;
  display: flex;
  order: 2;
  padding-top: 20px;
  position: relative;
}
@media screen and (max-width: 767.9px) {
  .b-carousel_simple.m-type-numeric .b-carousel-actions {
    padding-top: 12px;
  }
}
.b-carousel_simple.m-type-numeric .b-carousel-ctrl {
  display: inline-block;
  margin-top: 0;
  position: relative;
  transform: none;
}
.b-carousel_simple.m-type-numeric .b-carousel-ctrl svg {
  height: 19px;
  width: 19px;
}
.b-carousel_simple.m-type-numeric .b-carousel-ctrl.m-prev {
  margin-left: -16px;
}
.b-carousel_simple.m-type-numeric .b-carousel-pagination {
  display: none;
}
.b-carousel_simple.m-type-numeric .b-carousel-numeric_pagination {
  margin-top: 2px;
  text-align: center;
  width: 50px;
}
.b-carousel_simple.m-type-standard .b-carousel {
  padding: 0 60px;
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-carousel_simple.m-type-standard .b-carousel {
    padding: 0 44px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-carousel_simple.m-type-standard .b-carousel {
    padding: 0;
  }
}
.b-carousel_simple.m-type-standard .b-carousel-actions {
  display: block;
  left: 0;
  position: absolute;
  right: 0;
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-carousel_simple.m-type-standard .b-carousel-actions {
    left: 44px;
    right: 44px;
  }
}
@media screen and (min-width: 1024px) {
  .b-carousel_simple.m-type-standard .b-carousel-actions {
    left: 60px;
    right: 60px;
  }
}
.b-carousel_simple.m-type-standard .b-carousel-actions::before {
  content: "";
  display: block;
  padding-bottom: 133.3333333333%;
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-carousel_simple.m-type-standard .b-carousel-ctrl.m-prev {
    left: -44px;
  }
}
@media screen and (min-width: 1024px) {
  .b-carousel_simple.m-type-standard .b-carousel-ctrl.m-prev {
    left: -60px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-carousel_simple.m-type-standard .b-carousel-ctrl.m-next {
    right: -44px;
  }
}
@media screen and (min-width: 1024px) {
  .b-carousel_simple.m-type-standard .b-carousel-ctrl.m-next {
    right: -60px;
  }
}
.b-carousel_simple.m-hide_controls .b-carousel-actions, .b-carousel_simple.m-hide_controls .b-carousel-pagination {
  display: none;
}
.b-carousel_simple.m-hide_controls .b-carousel-track.m-grabbing {
  cursor: default;
  -webkit-user-select: auto;
          user-select: auto;
}
.l-grid_layout-item.m-lg_3 .b-carousel_simple.m-type-standard .b-carousel {
  padding: 0;
}
.l-grid_layout-item.m-lg_3 .b-carousel_simple.m-type-standard .b-carousel-actions {
  display: none;
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout-item.m-md_4 .b-carousel_simple.m-type-standard .b-carousel {
    padding: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .l-grid_layout-item.m-md_4 .b-carousel_simple.m-type-standard .b-carousel-actions {
    display: none;
  }
}

.b-hero_carousel_ext {
  display: flex;
}
.b-hero_carousel_ext.m-vertical_top {
  align-items: flex-start;
}
.b-hero_carousel_ext.m-vertical_middle {
  align-items: center;
}
.b-hero_carousel_ext.m-vertical_bottom {
  align-items: flex-end;
}
.b-hero_carousel_ext.m-vertical_fill {
  align-self: stretch;
}
.b-hero_carousel_ext.m-vertical_fill .b-hero_carousel-track,
.b-hero_carousel_ext.m-vertical_fill .b-banner.m-vertical_fill,
.b-hero_carousel_ext.m-vertical_fill .b-hero_carousel-item > .b-text_block {
  height: 100%;
}
.b-hero_carousel_ext.m-vertical_fill .b-hero_carousel-item {
  display: flex;
  flex-direction: column;
}
.b-hero_carousel_ext.m-fade .m-initialized .b-hero_carousel-item {
  opacity: 0;
  transform: none;
  transition: opacity cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s, visibility 0s 0.4s;
}
.b-hero_carousel_ext.m-fade .m-initialized .b-hero_carousel-item.m-current {
  opacity: 1;
  transition: opacity cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s, visibility 0s;
}
.b-hero_carousel_ext .b-hero_carousel {
  width: 100%;
}

.b-video_banner {
  width: 100%;
}
.b-video_banner.m-vertical_top {
  align-self: flex-start;
}
.b-video_banner.m-vertical_middle {
  align-self: center;
}
.b-video_banner.m-vertical_bottom {
  align-self: flex-end;
}
.b-video_banner-container {
  display: grid;
  grid-template-columns: auto;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}
.b-video_banner-container::after {
  background-color: var(--bg-videoBanner-overlay, transparent);
  content: "";
  height: 100%;
  left: 0;
  opacity: var(--opacity, 100%);
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
}
.b-video_banner-inner {
  grid-column: 1/2;
  grid-row: 1/2;
  padding-bottom: var(--bg-padding, 100%);
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-video_banner-inner {
    padding-bottom: var(--bg-padding-tablet, 100%);
  }
}
@media screen and (max-width: 767.9px) {
  .b-video_banner-inner {
    padding-bottom: var(--bg-padding-mobile, 100%);
  }
}
.b-video_banner-item {
  border: 0;
  height: 100%;
  left: 0;
  margin: 0 auto;
  position: absolute;
  top: 0;
  width: 100%;
}
.b-video_banner-item[aria-hidden=true] {
  visibility: hidden;
}
.b-video_banner-text_block {
  display: grid;
  grid-column: 1/2;
  grid-row: 1/2;
}
.b-video_banner-caption {
  align-items: center;
  display: flex;
  flex-direction: column;
  left: 50%;
  padding: 16px;
  position: absolute;
  text-align: center;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
.b-video_banner-title {
  font-family: "Queens Hat", "Times", serif;
  font-size: 36px;
  font-weight: 350;
  line-height: 40px;
  margin-bottom: 20px;
}
@media screen and (max-width: 1023.9px) {
  .b-video_banner-title {
    font-size: 30px;
    line-height: 40px;
  }
}
.b-video_banner-ctrl {
  background-color: #ffffff;
  border-radius: 50%;
  height: 50px;
  pointer-events: none;
  position: relative;
  width: 50px;
  z-index: 1;
}
.b-video_banner-ctrl::before {
  border-bottom: 9px solid transparent;
  border-left: 17px solid #000000;
  border-top: 9px solid transparent;
  content: "";
  left: 19px;
  position: absolute;
  top: 17px;
}
.b-video_banner-poster {
  bottom: 0;
  cursor: pointer;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: visibility cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.2s 0.3s;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .b-video_banner-poster.m-hidden_md-up {
    display: none;
  }
}
.b-video_banner .b-image_tile-picture {
  height: 100%;
}
@media screen and (max-width: 767.9px) {
  .b-video_banner .b-image_tile-picture {
    padding-bottom: var(--bg-padding-tablet, 100%);
  }
}
@media screen and (max-width: 767.9px) {
  .b-video_banner .b-image_tile-picture {
    padding-bottom: var(--bg-padding-mobile, 100%);
  }
}
.b-video_banner.m-vertical_fill {
  align-items: stretch;
}
.b-video_banner.m-vertical_fill .b-video_banner-item.m-external {
  object-fit: cover;
  object-position: center;
}
.b-video_banner.m-vertical_fill .b-image_tile-picture {
  padding-bottom: 0;
}
.b-video_banner.m-vertical_fill .b-video_banner-container {
  height: 100%;
}
.b-video_banner .b-text_block {
  background-color: transparent;
  height: 100%;
  left: 0;
  pointer-events: none;
  position: relative;
  top: 0;
  width: 100%;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .b-video_banner .b-text_block {
    padding: 60px 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-video_banner .b-text_block {
    padding: 60px 32px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-video_banner .b-text_block {
    padding: 40px 12px;
  }
}
.b-video_banner .b-text_block-container {
  background-color: var(--bg-text-block, transparent);
}
.b-video_banner .b-text_block .b-button {
  pointer-events: auto;
}

.b-action_banner {
  align-self: flex-start;
  overflow: hidden;
  position: relative;
}
.b-action_banner-spots {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.b-action_banner.m-edit_mode .b-action_banner-spot {
  height: 100%;
  pointer-events: none;
  position: absolute;
  width: 100%;
}

.b-hot_spot.m-edit_mode {
  pointer-events: all;
}
@media screen and (min-width: 768px) {
  .b-hot_spot.m-hidden-md_up {
    display: none;
  }
}
@media screen and (max-width: 767.9px) {
  .b-hot_spot.m-hidden-sm {
    display: none;
  }
}
.b-hot_spot-btn {
  cursor: pointer;
  height: 24px;
  left: var(--left-position, 0);
  position: absolute;
  top: var(--top-position, 0);
  transform: translate(-50%, -50%);
  width: 24px;
}
@media screen and (max-width: 767.9px) {
  .b-hot_spot-btn {
    left: var(--left-position-sm);
    top: var(--top-position-sm);
  }
}
@media screen and (min-width: 1024px) {
  .b-hot_spot-btn:hover::before {
    opacity: 1;
    padding: 16px;
  }
  .b-hot_spot-btn:hover::after {
    opacity: 0.4;
    padding: 24px;
  }
}
.b-hot_spot-btn::before, .b-hot_spot-btn::after {
  border: 1px solid var(--bg-color, #ffffff);
  border-radius: 50%;
  content: "";
  height: 100%;
  left: 50%;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: opacity cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s, padding cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  width: 100%;
}
.b-hot_spot-btn.m-active::before {
  opacity: 1;
  padding: 16px;
}
.b-hot_spot-btn.m-active::after {
  opacity: 0.4;
  padding: 24px;
}
.b-hot_spot-sign {
  background-color: var(--bg-color, #ffffff);
  border-radius: 50%;
  display: block;
  height: 100%;
  position: relative;
}
.b-hot_spot-sign::before, .b-hot_spot-sign::after {
  background-color: var(--bg-color, #ffffff);
  content: "";
  display: block;
  filter: grayscale(1) contrast(100) invert(1);
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}
.b-hot_spot-sign::after {
  height: 1px;
  width: 7px;
}
.b-hot_spot-sign::before {
  height: 7px;
  width: 1px;
}
.b-hot_spot-popup {
  background-color: var(--bg-color, #ffffff);
  bottom: 0;
  left: 0;
  position: absolute;
  top: 0;
  transform: translateX(-100%);
  transition: transform cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s, visibility cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  visibility: hidden;
  width: 488px;
  z-index: 2;
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-hot_spot-popup {
    width: 50%;
  }
}
@media screen and (max-width: 767.9px) {
  .b-hot_spot-popup {
    width: 80%;
  }
}
.b-hot_spot-popup[aria-hidden=false] {
  transform: translateX(0);
  transition: transform cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s, visibility 0s;
  visibility: visible;
}
.b-hot_spot-scrollbox {
  height: 100%;
  overflow-y: auto;
  padding: 44px 60px;
  width: 100%;
}
@media screen and (min-width: 1367px) {
  .b-hot_spot-scrollbox {
    padding: 92px 88px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-hot_spot-scrollbox {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.b-hot_spot-scrollbox::before {
  border-bottom: 44px solid var(--bg-color, #ffffff);
  border-top: 44px solid var(--bg-color, #ffffff);
  bottom: 0;
  content: "";
  left: 60px;
  pointer-events: none;
  position: absolute;
  right: 60px;
  top: 0;
  z-index: 1;
}
@media screen and (min-width: 1367px) {
  .b-hot_spot-scrollbox::before {
    border-width: 92px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-hot_spot-scrollbox::before {
    left: 16px;
    right: 16px;
  }
}
.b-hot_spot-scrollbox::-webkit-scrollbar {
  width: 2px;
}
.b-hot_spot-scrollbox::-webkit-scrollbar-thumb {
  background-color: #535353;
}
.b-hot_spot-content {
  display: flex;
  flex-direction: column;
  grid-gap: 16px;
  justify-content: center;
  min-height: 100%;
}
.b-hot_spot-content > :last-child {
  margin-bottom: 0;
}
.b-hot_spot-content .b-badges {
  z-index: 0;
}
.b-hot_spot-close {
  color: var(--bg-color, #ffffff);
  cursor: pointer;
  height: 48px;
  position: absolute;
  right: 0;
  top: 0;
  width: 48px;
  z-index: 2;
}
@media screen and (max-width: 767.9px) {
  .b-hot_spot-close {
    top: -8px;
  }
}
.b-hot_spot-close svg {
  filter: grayscale(1) contrast(100) invert(1);
}
.b-hot_spot-overlay {
  background-color: rgba(41, 48, 53, 0.4);
  bottom: 0;
  cursor: pointer;
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s, visibility cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  visibility: hidden;
  z-index: 1;
}
[aria-hidden=false] + .b-hot_spot-overlay {
  opacity: 1;
  transition: opacity cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s, visibility 0s;
  visibility: visible;
}
.l-grid_layout.m-3_3_6 .b-hot_spot-popup, .l-grid_layout.m-6_3_3 .b-hot_spot-popup, .l-grid_layout.m-2_up .b-hot_spot-popup {
  width: 80%;
}

.b-accordion {
  box-shadow: none;
}
.b-accordion-header {
  margin-bottom: 20px;
}

.b-progress_bar {
  background-color: #ffffff;
  display: block;
  margin: 0 auto;
  opacity: 0;
  padding-bottom: 38px;
  padding-top: 12px;
  position: sticky;
  transform: translateY(-2px);
  transition: opacity cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  visibility: hidden;
  z-index: 4;
}
.b-progress_bar.m-initialized {
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 767.9px) {
  .b-progress_bar.m-hide_sm {
    display: none;
  }
}
.b-progress_bar-inner {
  margin: 0 auto;
  max-width: 1920px;
  padding-left: 40px;
  padding-right: 40px;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1023.9px) {
  .b-progress_bar-inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-progress_bar-inner {
    padding-left: 24px;
    padding-right: 24px;
  }
}
.b-progress_bar-content {
  background-color: #f3f4f3;
  height: 2px;
  position: relative;
}
.b-progress_bar-line {
  background-color: #604099;
  display: block;
  height: 2px;
  position: absolute;
  top: 0;
  width: 0;
}
.b-progress_bar-dot {
  color: #f3f4f3;
  cursor: pointer;
  min-height: 24px;
  min-width: 24px;
  position: absolute;
  text-decoration: none;
  top: -12px;
  transform: translateX(-50%);
  transition: color cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.2s;
}
.b-progress_bar-dot::before {
  background-color: #f3f4f3;
  border-radius: 50%;
  content: "";
  height: 8px;
  left: 0;
  margin: auto;
  outline: 4px solid #ffffff;
  position: absolute;
  right: 0;
  top: 9px;
  transition: color cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.2s;
  width: 8px;
}
.b-progress_bar-dot.m-active {
  color: #000000;
}
.b-progress_bar-dot.m-active::before {
  background-color: #604099;
}
@media screen and (min-width: 1024px) {
  .b-progress_bar-dot:hover {
    color: #000000;
  }
  .b-progress_bar-dot:hover::before {
    background-color: #604099;
  }
}
.b-progress_bar-dot_name {
  display: inline-block;
  max-width: 140px;
  overflow: hidden;
  padding-top: 20px;
  text-overflow: ellipsis;
  transition: opacity cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  white-space: nowrap;
}
@media screen and (max-width: 767.9px) {
  .b-progress_bar-dot_name {
    opacity: 0;
  }
}
.b-progress_bar-dot.m-text_left .b-progress_bar-dot_name {
  margin-left: -8px;
  transform: translateX(50%);
}
@media screen and (max-width: 767.9px) {
  .b-progress_bar-dot:first-child .b-progress_bar-dot_name {
    opacity: 1;
  }
}
@media screen and (max-width: 767.9px) {
  .b-progress_bar-dot.m-active .b-progress_bar-dot_name {
    opacity: 0;
  }
}
@media screen and (max-width: 767.9px) {
  .b-progress_bar-dot.m-last_active .b-progress_bar-dot_name {
    opacity: 1;
  }
}
.b-progress_bar.m-hide_labels .b-progress_bar-dot_name {
  display: none;
}

.b-page_review-message {
  font-weight: 500;
  padding: 16px 20px;
  text-align: center;
}
.b-page_review-message svg {
  margin-right: 10px;
}
.b-page_review-link {
  text-decoration: underline;
}

.b-search_form.m-horizontal_left, .b-search_form.m-horizontal_center, .b-search_form.m-horizontal_right {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.b-search_form.m-horizontal_left {
  justify-content: flex-start;
}
.b-search_form.m-horizontal_center {
  justify-content: center;
}
.b-search_form.m-horizontal_right {
  justify-content: flex-end;
}
.b-search_form.m-vertical_top {
  align-self: flex-start;
}
.b-search_form.m-vertical_middle {
  align-self: center;
}
.b-search_form.m-vertical_bottom {
  align-self: flex-end;
}
.b-search_form-content {
  max-width: var(--max-width, 100%);
  width: 100%;
}
@media screen and (max-width: 767.9px) {
  .b-search_form-content {
    max-width: 100%;
  }
}
.b-search_form .b-header_search-wrap {
  margin-bottom: 36px;
}
.b-search_form .b-header_search-title_no_results {
  font-size: 26px;
  font-weight: 136;
  letter-spacing: 0.01em;
  line-height: 32px;
  text-align: start;
  word-break: break-word;
}
@media screen and (max-width: 1023.9px) {
  .b-search_form .b-header_search-title_no_results {
    font-size: 24px;
    letter-spacing: 0.002em;
    line-height: 30px;
  }
}
.b-search_form .b-header_search-suggestion {
  font-size: 16px;
  margin-top: 16px;
}
.b-search_form .b-header_search-keywords_wrap {
  display: inline-block;
}

.b-product_attributes-empty {
  background-color: #f3f4f3;
  font-size: 18px;
  font-weight: 600;
  line-height: 2;
  padding: 100px 0;
  text-align: center;
  text-transform: uppercase;
}
.b-product_attributes-empty .b-message {
  background-color: transparent;
  margin: 0;
  padding: 0;
  text-transform: initial;
}

.b-product_attribute_content {
  width: 100%;
}
.b-product_attribute_content-title {
  background-color: #535353;
  font-size: 12px;
  padding: 4px;
  text-align: center;
}
.b-carousel-item.m-duplicate_attribute .b-product_attribute_content-title, .b-product_attributes_gallery-item.m-duplicate_attribute .b-product_attribute_content-title {
  background-color: #ffdddc;
  color: #8c0043;
}

.b-product_attributes_gallery-title {
  margin-bottom: 40px;
}
@media screen and (max-width: 767.9px) {
  .b-product_attributes_gallery-title {
    margin-bottom: 20px;
  }
}
.b-product_attributes_gallery-main {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .b-product_attributes_gallery-main {
    margin: 0 -10px;
  }
}
@media screen and (min-width: 768px) {
  .b-product_attributes_gallery-item {
    padding: 0 10px;
  }
}
@media screen and (max-width: 767.9px) {
  .b-product_attributes_gallery-item {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .b-product_attributes_gallery-item.m-md_6 {
    flex: 0 0 100%;
    max-width: 100%;
    min-width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .b-product_attributes_gallery-item.m-md_5 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
    min-width: 83.3333333333%;
  }
}
@media screen and (min-width: 768px) {
  .b-product_attributes_gallery-item.m-md_4 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
    min-width: 66.6666666667%;
  }
}
@media screen and (min-width: 768px) {
  .b-product_attributes_gallery-item.m-md_3 {
    flex: 0 0 50%;
    max-width: 50%;
    min-width: 50%;
  }
}
@media screen and (min-width: 768px) {
  .b-product_attributes_gallery-item.m-md_2 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
    min-width: 33.3333333333%;
  }
}
@media screen and (min-width: 768px) {
  .b-product_attributes_gallery-item.m-md_1 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
    min-width: 16.6666666667%;
  }
}
@media screen and (min-width: 1024px) {
  .b-product_attributes_gallery-item.m-lg_12 {
    flex: 0 0 100%;
    max-width: 100%;
    min-width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .b-product_attributes_gallery-item.m-lg_11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
    min-width: 91.6666666667%;
  }
}
@media screen and (min-width: 1024px) {
  .b-product_attributes_gallery-item.m-lg_10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
    min-width: 83.3333333333%;
  }
}
@media screen and (min-width: 1024px) {
  .b-product_attributes_gallery-item.m-lg_9 {
    flex: 0 0 75%;
    max-width: 75%;
    min-width: 75%;
  }
}
@media screen and (min-width: 1024px) {
  .b-product_attributes_gallery-item.m-lg_8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
    min-width: 66.6666666667%;
  }
}
@media screen and (min-width: 1024px) {
  .b-product_attributes_gallery-item.m-lg_7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
    min-width: 58.3333333333%;
  }
}
@media screen and (min-width: 1024px) {
  .b-product_attributes_gallery-item.m-lg_6 {
    flex: 0 0 50%;
    max-width: 50%;
    min-width: 50%;
  }
}
@media screen and (min-width: 1024px) {
  .b-product_attributes_gallery-item.m-lg_5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
    min-width: 41.6666666667%;
  }
}
@media screen and (min-width: 1024px) {
  .b-product_attributes_gallery-item.m-lg_4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
    min-width: 33.3333333333%;
  }
}
@media screen and (min-width: 1024px) {
  .b-product_attributes_gallery-item.m-lg_3 {
    flex: 0 0 25%;
    max-width: 25%;
    min-width: 25%;
  }
}
@media screen and (min-width: 1024px) {
  .b-product_attributes_gallery-item.m-lg_2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
    min-width: 16.6666666667%;
  }
}
@media screen and (min-width: 1024px) {
  .b-product_attributes_gallery-item.m-lg_1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
    min-width: 8.3333333333%;
  }
}

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