#### Borders

Use border utilities to quickly style the border and border-radius of an element. Great for images, buttons, or any other element.

##### Add border

Add one of these to class to add border on the required side.

Classes | Description
--- | ---
`.border` | Add solid border of 1px on each side.
`.border-{top/bottom/left/right}` | Add solid border top/bottom/left/right of 1px.

##### Remove border

Add one of these to class to remove border on the required side.

Classes | Description
--- | ---
`.no-border` | Remove border from all side.
`.border-{top/bottom/left/right}-0` | Remove border from the top/bottom/left/right side.

##### Border widths

Add one of these to class to change border width on the required side.

Classes | Description
--- | ---
`.border-2` | Chande border width to 2px on each side.
`.border-{side}-{size}` | Chande border width of given size (2px, 3px, ...) on given side (top, bottom, left, right).

##### Border color

Change the border color using utilities built on our theme colors. For more border color related options please check color palette pages.

Classes | Description
--- | ---
`.border border-{colorName}` | Add colored border to all side. ColorName can be primary, success, danger, warning, info, secondary light, dark, white.

##### Border-radius

Add classes to an element to easily round its corners.

Classes | Description
--- | ---
`.rounded` | Add round corners border to all side.
`.rounded-{side}` | Add round corners border to the given side only (top, bottom, left, right).
`.rounded-circle` | Create round circle border.
`.rounded-0` | Remove border corder from the all side.

##### Remove border radius

Add one of these to class to remove border radius on the required side.

Classes | Description
--- | ---
`.no-border-{top/bottom}-radius` | Remove border radius from top / bottom side.
`.no-border-{top/bottom}-{left/right}-radius` | Remove top / bottom border radius from left / right side.

#### Clearfix

Quickly and easily clear floated content within a container by adding a clearfix utility.

Easily clear `float`s by adding `.clearfix` to the parent element. Can also be used as a mixin.

    				    <div class="clearfix">...</div>

    				    // Mixin itself
                        @mixin clearfix() {
                          &::after {
                            display: block;
                            content: "";
                            clear: both;
                          }
                        }

                        // Usage as a mixin
                        .element {
                          @include clearfix;
                        };

The following example shows how the clearfix can be used. Without the clearfix the wrapping div would not span around the buttons which would cause a broken layout.

                <div class="bg-info clearfix">
                  <button type="button" class="btn btn-danger float-left">Example Button floated left</button>
                  <button type="button" class="btn btn-warning float-right">Example Button floated right</button>
                </div>

#### Close icon

Use a generic close icon for dismissing content like modals and alerts.

Be sure to include text for screen readers, as we’ve done with `aria-label`.

    				    <button type="button" class="close" aria-label="Close">
                          <span aria-hidden="true">×</span>
                        </button>

#### Display property

Quickly and responsively toggle the display value of components and more with our display utilities. Includes support for some of the more common values, as well as some extras for controlling display when printing.

##### Common display values

The `display` property accepts a handful of values and we support many of them with utility classes. We purposefully don’t provide every value as a utility, so here’s what we support:

Classes | Description
--- | ---
`.d-none` | Forces the element to hide on all viewports.
`.d-inline` | Forces the element to behave like an inline element.
`.d-inline-block` | Forces the element to behave like an inline-block element.
`.d-block` | Forces the element to behave like an block element.
`.d-table` | Forces the element to behave like `<table>` element.
`.d-table-cell` | Forces the element to behave like `<td>` element.
`.d-flex` | Forces the element as a block-level flex container.
`.d-inline-flex` | Forces the element as an inline-level flex container.

Put them to use by applying any of the classes to an element of your choice. For example, here’s how you could use the inline, block, or inline-block utilities (the same applies to the other classes).

d-inline
d-inline

                    <div class="d-inline bg-success">d-inline</div>
                    <div class="d-inline bg-success">d-inline</div>

d-block

                    <span class="d-block bg-primary">d-block</span>

d-inline-block
d-inline-block

                    <div class="d-inline-block bg-warning">d-inline-block</div>
                    <div class="d-inline-block bg-warning">d-inline-block</div>

Responsive variations also exist for every single utility mentioned above.

- `.d-none`
- `.d-inline`
- `.d-inline-block`
- `.d-block`
- `.d-table`
- `.d-table-cell`
- `.d-flex`
- `.d-inline-flex`
- `.d-{breakPoint}-none`
- `.d-{breakPoint}-inline`
- `.d-{breakPoint}-inline-block`
- `.d-{breakPoint}-block`
- `.d-{breakPoint}-table`
- `.d-{breakPoint}-table-cell`
- `.d-{breakPoint}-flex`
- `.d-{breakPoint}-inline-flex`

##### Hiding Elements

For faster mobile-friendly development, use responsive display classes for showing and hiding elements by device. Avoid creating entirely different versions of the same site, instead hide element responsively for each screen size.

To hide elements simply use the `.d-none` class or one of the `.d-{sm,md,lg,xl}-none` classes for any responsive screen variation.

To show an element only on a given interval of screen sizes you can combine one `.d-*-none` class with a `.d-*-*` class, for example `.d-none.d-md-block.d-xl-none` will hide the element for all screen sizes except on medium and large devices.

Screen Size | Class
--- | ---
Hidden on all | `d-none`
Hidden only on breakpoint size. | `d-{breakPoint}-none d-{breakPoint}-block`
Visible on all | `d-block`
Visible only on breakpoint size | `d-{breakPoint}-none d-{breakPoint}-block`

##### Display in print

Change the `display` value of elements when printing with our print display utilities.

Class | Print style
--- | ---
`.d-print-block` | Applies `display: block` to the element when printing
`.d-print-inline` | Applies `display: inline` to the element when printing
`.d-print-inline-block` | Applies `display: inline-block` to the element when printing
`.d-print-none` | Applies `display: none` to the element when printing

#### Embeds

Create responsive video or slideshow embeds based on the width of the parent by creating an intrinsic ratio that scales on any device.

Rules are directly applied to `<iframe>`, `<embed>`, `<video>`, and `<object>` elements; optionally use an explicit descendant class `.embed-responsive-item` when you want to match the styling for other attributes.

Pro-Tip! You don’t need to include `frameborder="0"` in your `<iframe>`s as we override that for you.

##### Example

Wrap any embed like an `<iframe>` in a parent element with `.embed-responsive` and an aspect ratio. The `.embed-responsive-item` isn’t strictly required, but we encourage it.

                    <div class="embed-responsive embed-responsive-16by9">
                      <iframe class="embed-responsive-item" src="https://www.youtube.com/embed/zpOULjyy-n8?rel=0" allowfullscreen></iframe>
                    </div>

##### Aspect ratios

Aspect ratios can be customized with modifier classes.

                    <!-- 21:9 aspect ratio -->
                    <div class="embed-responsive embed-responsive-21by9">
                      <iframe class="embed-responsive-item" src="..."></iframe>
                    </div>

                    <!-- 16:9 aspect ratio -->
                    <div class="embed-responsive embed-responsive-16by9">
                      <iframe class="embed-responsive-item" src="..."></iframe>
                    </div>

                    <!-- 4:3 aspect ratio -->
                    <div class="embed-responsive embed-responsive-4by3">
                      <iframe class="embed-responsive-item" src="..."></iframe>
                    </div>

                    <!-- 1:1 aspect ratio -->
                    <div class="embed-responsive embed-responsive-1by1">
                      <iframe class="embed-responsive-item" src="..."></iframe>
                    </div>

#### Flex

Quickly manage the layout, alignment, and sizing of grid columns, navigation, components, and more with a full suite of responsive flexbox utilities. For more complex implementations, custom CSS may be necessary.

##### Enable flex behaviors

Apply `display` utilities to create a flexbox container and transform direct children elements into flex items. Flex containers and items are able to be modified further with additional flex properties.

I'm a flexbox container!

                    <div class="d-flex p-2">I'm a flexbox container!</div>

I'm an inline flexbox container!

                    <div class="d-inline-flex p-2">I'm an inline flexbox container!</div>

Responsive variations also exist for `.d-flex` and `.d-inline-flex`.

- `.d-flex`
- `.d-inline-flex`
- `.d-{breakpoint}-flex`
- `.d-{breakpoint}-inline-flex`

##### Direction

Set the direction of flex items in a flex container with direction utilities. In most cases you can omit the horizontal class here as the browser default is `row`. However, you may encounter situations where you needed to explicitly set this value (like responsive layouts).

Use `.flex-row` to set a horizontal direction (the browser default), or `.flex-row-reverse` to start the horizontal direction from the opposite side.

Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3

                    <div class="d-flex flex-row">
                      <div class="p-2">Flex item 1</div>
                      <div class="p-2">Flex item 2</div>
                      <div class="p-2">Flex item 3</div>
                    </div>
                    <div class="d-flex flex-row-reverse">
                      <div class="p-2">Flex item 1</div>
                      <div class="p-2">Flex item 2</div>
                      <div class="p-2">Flex item 3</div>
                    </div>

Use `.flex-column` to set a vertical direction, or `.flex-column-reverse` to start the vertical direction from the opposite side.

Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3

                    <div class="d-flex flex-column">
                      <div class="p-2">Flex item 1</div>
                      <div class="p-2">Flex item 2</div>
                      <div class="p-2">Flex item 3</div>
                    </div>
                    <div class="d-flex flex-column-reverse">
                      <div class="p-2">Flex item 1</div>
                      <div class="p-2">Flex item 2</div>
                      <div class="p-2">Flex item 3</div>
                    </div>

Responsive variations also exist for `flex-direction`.

- `.flex-{row/column}`
- `.flex-{row-reverse/column-reverse}`
- `.flex-{breakpoint}-{row/column}`
- `.flex-{breakpoint}-{row-reverse/column-reverse}`

##### Justify content

Use `justify-content` utilities on flexbox containers to change the alignment of flex items on the main axis (the x-axis to start, y-axis if `flex-direction: column`). Choose from `start` (browser default), `end`, `center`, `between`, or `around`.

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item

                    <div class="d-flex justify-content-start">...</div>
                    <div class="d-flex justify-content-end">...</div>
                    <div class="d-flex justify-content-center">...</div>
                    <div class="d-flex justify-content-between">...</div>
                    <div class="d-flex justify-content-around">...</div>

Responsive variations also exist for `justify-content`.

- `.justify-content-start`
- `.justify-content-end`
- `.justify-content-center`
- `.justify-content-between`
- `.justify-content-around`
- `.justify-content-{breakpoint}-{start/end/center/between/around}`

##### Align items

Use `align-items` utilities on flexbox containers to change the alignment of flex items on the cross axis (the y-axis to start, x-axis if `flex-direction: column`). Choose from `start`, `end`, `center`, `baseline`, or `stretch` (browser default).

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item

                    <div class="d-flex align-items-start">...</div>
                    <div class="d-flex align-items-end">...</div>
                    <div class="d-flex align-items-center">...</div>
                    <div class="d-flex align-items-baseline">...</div>
                    <div class="d-flex align-items-stretch">...</div>

Responsive variations also exist for `align-items`.

- `.align-items-start`
- `.align-items-end`
- `.align-items-center`
- `.align-items-baseline`
- `.align-items-stretch`
- `.align-items-{breakpoint}-{start/end/center/baseline/stretch}`

##### Align self

Use `align-self` utilities on flexbox items to individually change their alignment on the cross axis (the y-axis to start, x-axis if `flex-direction: column`). Choose from the same options as `align-items`: `start`, `end`, `center`, `baseline`, or `stretch` (browser default).

Flex item
Aligned flex item
Flex item
Flex item
Aligned flex item
Flex item
Flex item
Aligned flex item
Flex item
Flex item
Aligned flex item
Flex item
Flex item
Aligned flex item
Flex item

                    <div class="align-self-start">Aligned flex item</div>
                    <div class="align-self-end">Aligned flex item</div>
                    <div class="align-self-center">Aligned flex item</div>
                    <div class="align-self-baseline">Aligned flex item</div>
                    <div class="align-self-stretch">Aligned flex item</div>

Responsive variations also exist for `align-self`.

- `.align-self-start`
- `.align-self-end`
- `.align-self-center`
- `.align-self-baseline`
- `.align-self-stretch`
- `.align-self-{breakpoint}-{start/end/center/baseline/stretch}`

##### Auto margins

Flexbox can do some pretty awesome things when you mix flex alignments with auto margins. Shown below are three examples of controlling flex items via auto margins: default (no auto margin), pushing two items to the right (`.mr-auto`), and pushing two items to the left (`.ml-auto`).

Unfortunately, IE10 and IE11 do not properly support auto margins on flex items whose parent has a non-default `justify-content` value. See this StackOverflow answer for more details.

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item

                    <div class="d-flex">
                      <div class="p-2">Flex item</div>
                      <div class="p-2">Flex item</div>
                      <div class="p-2">Flex item</div>
                    </div>

                    <div class="d-flex">
                      <div class="mr-auto p-2">Flex item</div>
                      <div class="p-2">Flex item</div>
                      <div class="p-2">Flex item</div>
                    </div>

                    <div class="d-flex">
                      <div class="p-2">Flex item</div>
                      <div class="p-2">Flex item</div>
                      <div class="ml-auto p-2">Flex item</div>
                    </div>

##### With align-items

Vertically move one flex item to the top or bottom of a container by mixing `align-items`, `flex-direction: column`, and `margin-top: auto` or `margin-bottom: auto`.

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item

                    <div class="d-flex align-items-start flex-column" style="height: 200px;">
                      <div class="mb-auto p-2">Flex item</div>
                      <div class="p-2">Flex item</div>
                      <div class="p-2">Flex item</div>
                    </div>

                    <div class="d-flex align-items-end flex-column" style="height: 200px;">
                      <div class="p-2">Flex item</div>
                      <div class="p-2">Flex item</div>
                      <div class="mt-auto p-2">Flex item</div>
                    </div>

##### Wrap

Change how flex items wrap in a flex container. Choose from no wrapping at all (the browser default) with `.flex-nowrap`, wrapping with `.flex-wrap`, or reverse wrapping with `.flex-wrap-reverse`.

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item

                    <div class="d-flex flex-nowrap">
                      ...
                    </div>

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item

                    <div class="d-flex flex-wrap">
                      ...
                    </div>

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item

                    <div class="d-flex flex-wrap-reverse">
                      ...
                    </div>

Responsive variations also exist for `flex-wrap`.

- `.flex-nowrap`
- `.flex-wrap`
- `.flex-wrap-reverse`
- `.flex-{breakpoint}-{nowrap/wrap/wrap-reverse}`
- `.flex-sm-wrap`
- `.flex-sm-wrap-reverse`

##### Order

Change the visual order of specific flex items with a handful of `order` utilities. We only provide options for making an item first or last, as well as a reset to use the DOM order. As `order` takes any integer value (e.g., `5`), add custom CSS for any additional values needed.

First flex item
Second flex item
Third flex item

                    <div class="d-flex flex-nowrap">
                      <div class="order-3 p-2">First flex item</div>
                      <div class="order-2 p-2">Second flex item</div>
                      <div class="order-1 p-2">Third flex item</div>
                    </div>

Responsive variations also exist for `order`.

- `.order-{value}`
- `.order-{breakpoint}-{value}`

##### Align content

Use `align-content` utilities on flexbox containers to align flex items together on the cross axis. Choose from `start` (browser default), `end`, `center`, `between`, `around`, or `stretch`. To demonstrate these utilities, we’ve enforced `flex-wrap: wrap` and increased the number of flex items.

Heads up! This property has no effect on single rows of flex items.

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item

                    <div class="d-flex align-content-start flex-wrap">
                      ...
                    </div>

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item

                    <div class="d-flex align-content-end flex-wrap">
                      ...
                    </div>

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item

                    <div class="d-flex align-content-center flex-wrap">
                      ...
                    </div>

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item

                    <div class="d-flex align-content-between flex-wrap">
                      ...
                    </div>

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item

                    <div class="d-flex align-content-around flex-wrap">
                      ...
                    </div>

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item

                    <div class="d-flex align-content-stretch flex-wrap">
                      ...
                    </div>

Responsive variations also exist for `align-content`.

- `.align-content-start`
- `.align-content-end`
- `.align-content-center`
- `.align-content-around`
- `.align-content-stretch`
- `.align-content-{breakpoint}-{start/end/center/around/stretch}`

#### Float

Toggle floats on any element, across any breakpoint, using our responsive float utilities.

These utility classes float an element to the left or right, or disable floating, based on the current viewport size using the CSS `float` property. `!important` is included to avoid specificity issues. These use the same viewport breakpoints as our grid system.

Toggle a float with a class:

Float left on all viewport sizes
Float right on all viewport sizes
Don't float on all viewport sizes

                    <div class="float-left">Float left on all viewport sizes</div><br>
                    <div class="float-right">Float right on all viewport sizes</div><br>
                    <div class="float-none">Don't float on all viewport sizes</div>

##### Responsive

Responsive variations also exist for each `float` value.

Float left on viewports sized SM (small) or wider
Float left on viewports sized MD (medium) or wider
Float left on viewports sized LG (large) or wider
Float left on viewports sized XL (extra-large) or wider

                    <div class="float-sm-left">Float left on viewports sized SM (small) or wider</div><br>
                    <div class="float-md-left">Float left on viewports sized MD (medium) or wider</div><br>
                    <div class="float-lg-left">Float left on viewports sized LG (large) or wider</div><br>
                    <div class="float-xl-left">Float left on viewports sized XL (extra-large) or wider</div><br>

Here are all the support classes;

- `.float-{left/right/none}`
- `.float-{breakpoint}-{left/right/none}`

#### Image replacement

Swap text for background images with the image replacement class.

Utilize the `.text-hide` class or mixin to help replace an element’s text content with a background image.

                    <h1 class="text-hide">Custom heading</h1>

Use the `.text-hide` class to maintain the accessibility and SEO benefits of heading tags, but want to utilize a `background-image` instead of text.

# Bootstrap

                    <h1 class="text-hide my-2" style="background-image: url('../../../app-assets/images/logo/logo.png'); width: 30px; height: 26px;">Bootstrap</h1>

#### Position

Use these shorthand utilities for quickly configuring the position of an element.

Classes | Description
--- | ---
`.position-fixed` | Changes element's position to fixed.
`.position-relative` | Changes element's position to relative.
`.position-absolute` | Changes element's position to absolute.
`.position-static` | Changes element's position to static.
`.position-sticky` | Changes element's position to static.

##### Fixed top

Position an element at the top of the viewport, from edge to edge. Be sure you understand the ramifications of fixed position in your project; you may need to add aditional CSS.

                    <div class="fixed-top">...</div>

##### Fixed bottom

Position an element at the bottom of the viewport, from edge to edge. Be sure you understand the ramifications of fixed position in your project; you may need to add aditional CSS.

                    <div class="fixed-footer">...</div>

##### Sticky top

Position an element at the top of the viewport, from edge to edge, but only after you scroll past it. The `.sticky-top` utility uses CSS’s `position: sticky`, which isn’t fully supported in all browsers.

Microsoft Edge and IE11 will render `position: sticky` as `position: relative`. As such, we wrap the styles in a `@supports` query, limiting the stickiness to only browsers that properly can render it.

                    <div class="sticky-top">...</div>

#### Screenreaders

Use screenreader utilities to hide elements on all devices except screen readers.

Hide an element to all devices except screen readers with `.sr-only`. Combine `.sr-only` with `.sr-only-focusable` to show the element again when it’s focused (e.g. by a keyboard-only user). Can also be used as mixins.

                    <a class="sr-only sr-only-focusable" href="#content">Skip to main content</a>

#### Sizing

Easily make an element as wide or as tall (relative to its parent) with our width and height utilities.

Width and height utilities are generated from the `$sizes` Sass map in `_variables.scss`. Includes support for `25%`, `50%`, `75%`, and `100%` by default. Modify those values as you need to generate different utilities here.

Width 25%
Width 50%
Width 75%
Width 100%

                    <div class="w-25 p-3" style="background-color: #eee;">Width 25%</div>
                    <div class="w-50 p-3" style="background-color: #eee;">Width 50%</div>
                    <div class="w-75 p-3" style="background-color: #eee;">Width 75%</div>
                    <div class="w-100 p-3" style="background-color: #eee;">Width 100%</div>

Height 25%
Height 50%
Height 75%
Height 100%

                    <div style="height: 100px; background-color: rgba(255,0,0,0.1);">
                      <div class="h-25 d-inline-block" style="width: 120px; background-color: rgba(0,0,255,.1)">Height 25%</div>
                      <div class="h-50 d-inline-block" style="width: 120px; background-color: rgba(0,0,255,.1)">Height 50%</div>
                      <div class="h-75 d-inline-block" style="width: 120px; background-color: rgba(0,0,255,.1)">Height 75%</div>
                      <div class="h-100 d-inline-block" style="width: 120px; background-color: rgba(0,0,255,.1)">Height 100%</div>
                    </div>

You can also use `max-width: 100%;` and `max-height: 100%;` utilities as needed.

                        <img class="mw-100" src="..." alt="Max-width 100%">

Max-height 100%

                    <div style="height: 100px; background-color: rgba(255,0,0,0.1);">
                      <div class="mh-100" style="width: 100px; height: 200px; background-color: rgba(0,0,255,0.1);">Max-height 100%</div>
                    </div>

##### Width && Height

Add one of these to class to set width of the content.

Classes | Description
--- | ---
`.fit` | Set content maximum width 100%.
`.half-width` | Set content width 50%.
`.full-width` | Set content width 100%.
`.full-height` | Set content height 100%.

##### Fixed Width

Add one of these to class to set fixed width of the content.

Classes | Description
--- | ---
`.width-{size}` | Set content fixed width in pixel of selected size where size can be 50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750 and 800. i.e `.width-50`
`.width-{size}-per` | Set content fixed width in percentage of selected size where size can be 5%, 10%, 15%, 20%, 25%, 30%, 35%, 40%, 45%, 50%, 55%, 60%, 65%, 70%, 75% and 80%. i.e `.width-5-per`

##### Fixed Height

Add one of these to class to set fixed height of the content.

Classes | Description
--- | ---
`.height-{size}` | Set content fixed height in pixel of selected size where size can be 50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750 and 800. i.e `.height-50`
`.height-{size}-per` | Set content fixed height in percentage of selected size where size can be 5%, 10%, 15%, 20%, 25%, 30%, 35%, 40%, 45%, 50%, 55%, 60%, 65%, 70%, 75% and 80%. i.e `.height-5-per`

#### Spacing

Bootstrap includes a wide range of shorthand responsive margin and padding utility classes to modify an element's appearance.

##### How it works

Assign responsive-friendly `margin` or `padding` values to an element or a subset of its sides with shorthand classes. Includes support for individual properties, all properties, and vertical and horizontal properties. Classes are built from a default Sass map ranging from `.25rem` to `3rem`.

##### Notation

Spacing utilities that apply to all breakpoints, from `xs` to `xl`, have no breakpoint abbreviation in them. This is because those classes are applied from `min-width: 0` and up, and thus are not bound by a media query. The remaining breakpoints, however, do include a breakpoint abbreviation.

The classes are named using the format `{property}{sides}-{size}` for `xs` and `{property}{sides}-{breakpoint}-{size}` for `sm`, `md`, `lg`, and `xl`.

Where property is one of:

- `m` - for classes that set `margin`
- `p` - for classes that set `padding`

Where sides is one of:

- `t` - for classes that set `margin-top` or `padding-top`
- `b` - for classes that set `margin-bottom` or `padding-bottom`
- `l` - for classes that set `margin-left` or `padding-left`
- `r` - for classes that set `margin-right` or `padding-right`
- `x` - for classes that set both `*-left` and `*-right`
- `y` - for classes that set both `*-top` and `*-bottom`
- blank - for classes that set a `margin` or `padding` on all 4 sides of the element

Where size is one of:

- `0` - for classes that eliminate the `margin` or `padding` by setting it to `0`
- `1` - (by default) for classes that set the `margin` or `padding` to `$spacer * .25`
- `2` - (by default) for classes that set the `margin` or `padding` to `$spacer * .5`
- `3` - (by default) for classes that set the `margin` or `padding` to `$spacer`
- `4` - (by default) for classes that set the `margin` or `padding` to `$spacer * 1.5`
- `5` - (by default) for classes that set the `margin` or `padding` to `$spacer * 3`
- `auto` - for classes that set the `margin` to auto

(You can add more sizes by adding entries to the `$spacers` Sass map variable.)

##### Horizontal centering

Additionally, Bootstrap also includes an `.mx-auto` class for horizontally centering fixed-width block level content—that is, content that has `display: block` and a `width` set—by setting the horizontal margins to `auto`.

Centered element

                    <div class="mx-auto" style="width: 200px;">
                      Centered element
                    </div>

#### Vertical alignment

Easily change the vertical alignment of inline, inline-block, inline-table, and table cell elements.

Change the alignment of elements with the `vertical-alignment` utilities. Please note that vertical-align only affects inline, inline-block, inline-table, and table cell elements.

Choose from `.align-baseline`, `.align-top`, `.align-middle`, `.align-bottom`, `.align-text-bottom`, and `.align-text-top` as needed.

baseline top middle bottom text-top text-bottom

Classes | Description
--- | ---
`.align-{direction}` | Changes element's vertical alignment to mentioned direction (top, middle, bottom, baseline).
`.align-text-{top/bottom}` | Top of the element is aligned with the top / bottom of the parent element's font.

With table cells:

baseline | top | middle | bottom | text-top | text-bottom

                    <table style="height: 100px;">
                      <tbody>
                        <tr>
                          <td class="align-baseline">baseline</td>
                          <td class="align-top">top</td>
                          <td class="align-middle">middle</td>
                          <td class="align-bottom">bottom</td>
                          <td class="align-text-top">text-top</td>
                          <td class="align-text-bottom">text-bottom</td>
                        </tr>
                      </tbody>
                    </table>

#### Image

Add one of these to class to change image size and other property.

Classes | Description
--- | ---
`.bg-cover` | Scale the background image to be as large as possible so that the background area is completely covered by the background image.
`.background-repeat` | Repeat the background image.
`.background-no-repeat` | Do not repeat the background image.

#### Content helpers

##### z-index

Add one of these classes to change the elemets' z-index properties.

Classes | Description
--- | ---
`.zindex-minus-{1/2/3/4}` | Set element's z-index value minus 1/2/3/4.
`.zindex-{1/2/3/4}` | Set element's z-index value 1/2/3/4.

##### Edges

Add one of these to removes the slected edge of the elements, works with absolute, fixed and relative positioned elements.

Classes | Description
--- | ---
`.no-edge-{direction}` | Removes the edge of the element for given direction (top/bottom/left/right).

##### Cursors

Add one of these to class to change cursor style.

Classes | Description
--- | ---
`.cursor-pointer` | The cursor is a pointer and indicates a link. Useful for user interaction feedback.
`.cursor-move` | The cursor indicates something is to be moved. Used in shortable components
`.cursor-default` | Set cursor to browser default style.
`.cursor-progress` | The cursor indicates that the program is busy (in progress).
`.cursor-not-allowed` | The cursor indicates that the requested action will not be executed.

##### Overflow

Add one of these to class to change overflow of element.

Classes | Description
--- | ---
`.overflow-visible` | Default. The overflow is not clipped. It renders outside the element's box.
`.overflow-hidden` | The overflow is clipped, and the rest of the content will be invisible.
`.overflow-auto` | If overflow is clipped, a scrollbar should be added to see the rest of the content.
`.overflow-scroll` | The overflow is clipped, but a scrollbar is added to see the rest of the content.

##### List

Add one of these to class to change list style.

Classes | Description
--- | ---
`.list-unstyled` | No marker is shown in the list item.
`.bullets-inside` | Indents the marker and the text. The bullets appear inside the content flow
`.list-style-circle` | Set the list item marker to circle.
`.list-style-square` | Set the list item marker to square.
`.list-style-icons` | Set the list item marker with icons.

#### Visibility

Control the visibility, without modifying the display, of elements with visibility utilities.

Set the `visibility` of elements with our visibility utilities. These do not modify the `display` value at all and are helpful for hiding content from most users, but still keeping them for screen readers.

Apply `.visible` or `.invisible` as needed.

                    <div class="visible">...</div>
                    <div class="invisible">...</div>