/*
Theme Name: Finedine
Theme URI: https://www.sampression.com/themes/finedine/
Author: Sampression
Author URI: https://www.sampression.com/
Description: Finedine is the perfect theme for hospitality and food websites. If you are building websites for restaurants, barbecues, grill houses, fast food, pizzerias, resorts, hotels and more, this will be the perfect theme for you. Finedine is compatible with the latest version of WooCommerce and also features full-width featured slider, call for action block, reviews and awards slider and much more. (Live Theme Demo: https://www.demo.sampression.com/finedine)
Version: 1.0.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: finedine
Tags: one-column, two-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-logo, custom-menu, editor-style, featured-image-header, featured-images, footer-widgets, post-formats, sticky-post, theme-options, threaded-comments, translation-ready, blog, e-commerce, food-and-drink
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
1.0 Normalize
2.0 Typography
3.0 Bootstrap v4 Grid
4.0 Elements
5.0 Forms
6.0 Navigation
	6.1 Links
	6.2 Menus
7.0 Accessibility
8.0 Alignments
9.0 Clearings
10.0 Header
11.0 Footer
12.0 Template Layout
13.0 Widgets
14.0 Content
	14.1 Posts and pages
	14.2 Comments
15.0 Infinite scroll
16.0 Media
	16.1 Captions
	16.2 Galleries
17.0 bbPress Support
18.0 Home Template
19.0 Media Queries
--------------------------------------------------------------*/
/**
 * Owl Carousel v2.3.2
 * Copyright 2013-2018 David Deutsch
 * Licensed under  ()
 */
/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1;
}

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y;
  touch-action: manipulation;
  -moz-backface-visibility: hidden;
  /* fix firefox animation glitch */
}

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  /* fix for flashing background */
  -webkit-transform: translate3d(0px, 0px, 0px);
}

.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
}

.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.owl-carousel .owl-item img {
  display: block;
  width: 100%;
}

.owl-carousel .owl-nav.disabled,
.owl-carousel .owl-dots.disabled {
  display: none;
}

.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-dot {
  cursor: pointer;
  cursor: hand;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next,
.owl-carousel button.owl-dot {
  background: none;
  color: inherit;
  border: none;
  padding: 0 !important;
  font: inherit;
}

.owl-carousel.owl-loaded {
  display: block;
}

.owl-carousel.owl-loading {
  opacity: 0;
  display: block;
}

.owl-carousel.owl-hidden {
  opacity: 0;
}

.owl-carousel.owl-refresh .owl-item {
  visibility: hidden;
}

.owl-carousel.owl-drag .owl-item {
  -ms-touch-action: none;
  touch-action: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel.owl-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.owl-carousel.owl-rtl {
  direction: rtl;
}

.owl-carousel.owl-rtl .owl-item {
  float: right;
}

/* No Js */
.no-js .owl-carousel {
  display: block;
}

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  -webkit-animation-duration: 1000ms;
          animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.owl-carousel .owl-animated-in {
  z-index: 0;
}

.owl-carousel .owl-animated-out {
  z-index: 1;
}

.owl-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  -webkit-transition: height 500ms ease-in-out;
  transition: height 500ms ease-in-out;
}

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  -webkit-transition: opacity 400ms ease;
  transition: opacity 400ms ease;
}

.owl-carousel .owl-item img.owl-lazy {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000;
}

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  -webkit-transition: -webkit-transform 100ms ease;
  transition: -webkit-transform 100ms ease;
  transition: transform 100ms ease;
  transition: transform 100ms ease, -webkit-transform 100ms ease;
}

.owl-carousel .owl-video-play-icon:hover {
  -ms-transform: scale(1.3, 1.3);
  -webkit-transform: scale(1.3, 1.3);
          transform: scale(1.3, 1.3);
}

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none;
}

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: opacity 400ms ease;
  transition: opacity 400ms ease;
}

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%;
}

/*************** SCROLLBAR BASE CSS ***************/
.scroll-wrapper {
  overflow: hidden !important;
  padding: 0 !important;
  position: relative;
}

.scroll-wrapper > .scroll-content {
  border: none !important;
  box-sizing: content-box !important;
  height: auto;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none !important;
  overflow: scroll !important;
  padding: 0;
  position: relative !important;
  top: 0;
  width: auto !important;
}

.scroll-wrapper > .scroll-content::-webkit-scrollbar {
  height: 0;
  width: 0;
}

.scroll-wrapper.scroll--rtl {
  direction: rtl;
}

.scroll-element {
  box-sizing: content-box;
  display: none;
}

.scroll-element div {
  box-sizing: content-box;
}

.scroll-element .scroll-bar,
.scroll-element .scroll-arrow {
  cursor: default;
}

.scroll-element.scroll-x.scroll-scrollx_visible, .scroll-element.scroll-y.scroll-scrolly_visible {
  display: block;
}

.scroll-textarea {
  border: 1px solid #cccccc;
  border-top-color: #999999;
}

.scroll-textarea > .scroll-content {
  overflow: hidden !important;
}

.scroll-textarea > .scroll-content > textarea {
  border: none !important;
  box-sizing: border-box;
  height: 100% !important;
  margin: 0;
  max-height: none !important;
  max-width: none !important;
  overflow: scroll !important;
  outline: none;
  padding: 2px;
  position: relative !important;
  top: 0;
  width: 100% !important;
}

.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar {
  height: 0;
  width: 0;
}

/*************** SIMPLE INNER SCROLLBAR ***************/
.scrollbar-inner > .scroll-element,
.scrollbar-inner > .scroll-element div {
  border: none;
  margin: 0;
  padding: 0;
  position: absolute;
  z-index: 10;
}

.scrollbar-inner > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}

.scrollbar-inner > .scroll-element.scroll-x {
  bottom: 2px;
  height: 8px;
  left: 0;
  width: 100%;
}

.scrollbar-inner > .scroll-element.scroll-y {
  height: 100%;
  right: 2px;
  top: 0;
  width: 8px;
}

.scrollbar-inner > .scroll-element .scroll-element_outer {
  overflow: hidden;
}

.scrollbar-inner > .scroll-element .scroll-element_outer,
.scrollbar-inner > .scroll-element .scroll-element_track,
.scrollbar-inner > .scroll-element .scroll-bar {
  border-radius: 8px;
}

.scrollbar-inner > .scroll-element .scroll-element_track,
.scrollbar-inner > .scroll-element .scroll-bar {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
  filter: alpha(opacity=40);
  opacity: 0.4;
}

.scrollbar-inner > .scroll-element .scroll-element_track {
  background-color: #e0e0e0;
}

.scrollbar-inner > .scroll-element .scroll-bar {
  background-color: #c2c2c2;
}

.scrollbar-inner > .scroll-element:hover .scroll-bar {
  background-color: #919191;
}

.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar {
  background-color: #919191;
}

/* update scrollbar offset if both scrolls are visible */
.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
  left: -12px;
}

.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
  top: -12px;
}

.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -12px;
}

.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -12px;
}

/*************** SIMPLE OUTER SCROLLBAR ***************/
.scrollbar-outer > .scroll-element,
.scrollbar-outer > .scroll-element div {
  border: none;
  margin: 0;
  padding: 0;
  position: absolute;
  z-index: 10;
}

.scrollbar-outer > .scroll-element {
  background-color: #ffffff;
}

.scrollbar-outer > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}

.scrollbar-outer > .scroll-element.scroll-x {
  bottom: 0;
  height: 12px;
  left: 0;
  width: 100%;
}

.scrollbar-outer > .scroll-element.scroll-y {
  height: 100%;
  right: 0;
  top: 0;
  width: 12px;
}

.scrollbar-outer > .scroll-element.scroll-x .scroll-element_outer {
  height: 8px;
  top: 2px;
}

.scrollbar-outer > .scroll-element.scroll-y .scroll-element_outer {
  left: 2px;
  width: 8px;
}

.scrollbar-outer > .scroll-element .scroll-element_outer {
  overflow: hidden;
}

.scrollbar-outer > .scroll-element .scroll-element_track {
  background-color: #eeeeee;
}

.scrollbar-outer > .scroll-element .scroll-element_outer,
.scrollbar-outer > .scroll-element .scroll-element_track,
.scrollbar-outer > .scroll-element .scroll-bar {
  border-radius: 8px;
}

.scrollbar-outer > .scroll-element .scroll-bar {
  background-color: #d9d9d9;
}

.scrollbar-outer > .scroll-element .scroll-bar:hover {
  background-color: #c2c2c2;
}

.scrollbar-outer > .scroll-element.scroll-draggable .scroll-bar {
  background-color: #919191;
}

/* scrollbar height/width & offset from container borders */
.scrollbar-outer > .scroll-content.scroll-scrolly_visible {
  left: -12px;
  margin-left: 12px;
}

.scrollbar-outer > .scroll-content.scroll-scrollx_visible {
  top: -12px;
  margin-top: 12px;
}

.scrollbar-outer > .scroll-element.scroll-x .scroll-bar {
  min-width: 10px;
}

.scrollbar-outer > .scroll-element.scroll-y .scroll-bar {
  min-height: 10px;
}

/* update scrollbar offset if both scrolls are visible */
.scrollbar-outer > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
  left: -14px;
}

.scrollbar-outer > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
  top: -14px;
}

.scrollbar-outer > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -14px;
}

.scrollbar-outer > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -14px;
}

/*************** SCROLLBAR MAC OS X ***************/
.scrollbar-macosx > .scroll-element,
.scrollbar-macosx > .scroll-element div {
  background: none;
  border: none;
  margin: 0;
  padding: 0;
  position: absolute;
  z-index: 10;
}

.scrollbar-macosx > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}

.scrollbar-macosx > .scroll-element .scroll-element_track {
  display: none;
}

.scrollbar-macosx > .scroll-element .scroll-bar {
  background-color: #6C6E71;
  display: block;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  opacity: 0;
  border-radius: 7px;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}

.scrollbar-macosx:hover > .scroll-element .scroll-bar,
.scrollbar-macosx > .scroll-element.scroll-draggable .scroll-bar {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
  filter: alpha(opacity=70);
  opacity: 0.7;
}

.scrollbar-macosx > .scroll-element.scroll-x {
  bottom: 0px;
  height: 0px;
  left: 0;
  min-width: 100%;
  overflow: visible;
  width: 100%;
}

.scrollbar-macosx > .scroll-element.scroll-y {
  height: 100%;
  min-height: 100%;
  right: 0px;
  top: 0;
  width: 0px;
}

/* scrollbar height/width & offset from container borders */
.scrollbar-macosx > .scroll-element.scroll-x .scroll-bar {
  height: 7px;
  min-width: 10px;
  top: -9px;
}

.scrollbar-macosx > .scroll-element.scroll-y .scroll-bar {
  left: -9px;
  min-height: 10px;
  width: 7px;
}

.scrollbar-macosx > .scroll-element.scroll-x .scroll-element_outer {
  left: 2px;
}

.scrollbar-macosx > .scroll-element.scroll-x .scroll-element_size {
  left: -4px;
}

.scrollbar-macosx > .scroll-element.scroll-y .scroll-element_outer {
  top: 2px;
}

.scrollbar-macosx > .scroll-element.scroll-y .scroll-element_size {
  top: -4px;
}

/* update scrollbar offset if both scrolls are visible */
.scrollbar-macosx > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -11px;
}

.scrollbar-macosx > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -11px;
}

/*************** SCROLLBAR LIGHT ***************/
.scrollbar-light > .scroll-element,
.scrollbar-light > .scroll-element div {
  border: none;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  z-index: 10;
}

.scrollbar-light > .scroll-element {
  background-color: #ffffff;
}

.scrollbar-light > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}

.scrollbar-light > .scroll-element .scroll-element_outer {
  border-radius: 10px;
}

.scrollbar-light > .scroll-element .scroll-element_size {
  background: #dbdbdb;
  background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2RiZGJkYiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlOGU4ZTgiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+");
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, #dbdbdb), color-stop(100%, #e8e8e8));
  background: -webkit-linear-gradient(left, #dbdbdb 0%, #e8e8e8 100%);
  background: linear-gradient(to right, #dbdbdb 0%, #e8e8e8 100%);
  border-radius: 10px;
}

.scrollbar-light > .scroll-element.scroll-x {
  bottom: 0;
  height: 17px;
  left: 0;
  min-width: 100%;
  width: 100%;
}

.scrollbar-light > .scroll-element.scroll-y {
  height: 100%;
  min-height: 100%;
  right: 0;
  top: 0;
  width: 17px;
}

.scrollbar-light > .scroll-element .scroll-bar {
  background: #fefefe;
  background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZlZmVmZSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmNWY1ZjUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+");
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, #fefefe), color-stop(100%, #f5f5f5));
  background: -webkit-linear-gradient(left, #fefefe 0%, #f5f5f5 100%);
  background: linear-gradient(to right, #fefefe 0%, #f5f5f5 100%);
  border: 1px solid #dbdbdb;
  border-radius: 10px;
}

/* scrollbar height/width & offset from container borders */
.scrollbar-light > .scroll-content.scroll-scrolly_visible {
  left: -17px;
  margin-left: 17px;
}

.scrollbar-light > .scroll-content.scroll-scrollx_visible {
  top: -17px;
  margin-top: 17px;
}

.scrollbar-light > .scroll-element.scroll-x .scroll-bar {
  height: 10px;
  min-width: 10px;
  top: 0px;
}

.scrollbar-light > .scroll-element.scroll-y .scroll-bar {
  left: 0px;
  min-height: 10px;
  width: 10px;
}

.scrollbar-light > .scroll-element.scroll-x .scroll-element_outer {
  height: 12px;
  left: 2px;
  top: 2px;
}

.scrollbar-light > .scroll-element.scroll-x .scroll-element_size {
  left: -4px;
}

.scrollbar-light > .scroll-element.scroll-y .scroll-element_outer {
  left: 2px;
  top: 2px;
  width: 12px;
}

.scrollbar-light > .scroll-element.scroll-y .scroll-element_size {
  top: -4px;
}

/* update scrollbar offset if both scrolls are visible */
.scrollbar-light > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -19px;
}

.scrollbar-light > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -19px;
}

.scrollbar-light > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
  left: -19px;
}

.scrollbar-light > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
  top: -19px;
}

/*************** SCROLLBAR RAIL ***************/
.scrollbar-rail > .scroll-element,
.scrollbar-rail > .scroll-element div {
  border: none;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  z-index: 10;
}

.scrollbar-rail > .scroll-element {
  background-color: #ffffff;
}

.scrollbar-rail > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}

.scrollbar-rail > .scroll-element .scroll-element_size {
  background-color: #999;
  background-color: rgba(0, 0, 0, 0.3);
}

.scrollbar-rail > .scroll-element .scroll-element_outer:hover .scroll-element_size {
  background-color: #666;
  background-color: rgba(0, 0, 0, 0.5);
}

.scrollbar-rail > .scroll-element.scroll-x {
  bottom: 0;
  height: 12px;
  left: 0;
  min-width: 100%;
  padding: 3px 0 2px;
  width: 100%;
}

.scrollbar-rail > .scroll-element.scroll-y {
  height: 100%;
  min-height: 100%;
  padding: 0 2px 0 3px;
  right: 0;
  top: 0;
  width: 12px;
}

.scrollbar-rail > .scroll-element .scroll-bar {
  background-color: #d0b9a0;
  border-radius: 2px;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}

.scrollbar-rail > .scroll-element .scroll-element_outer:hover .scroll-bar {
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

/* scrollbar height/width & offset from container borders */
.scrollbar-rail > .scroll-content.scroll-scrolly_visible {
  left: -17px;
  margin-left: 17px;
}

.scrollbar-rail > .scroll-content.scroll-scrollx_visible {
  margin-top: 17px;
  top: -17px;
}

.scrollbar-rail > .scroll-element.scroll-x .scroll-bar {
  height: 10px;
  min-width: 10px;
  top: 1px;
}

.scrollbar-rail > .scroll-element.scroll-y .scroll-bar {
  left: 1px;
  min-height: 10px;
  width: 10px;
}

.scrollbar-rail > .scroll-element.scroll-x .scroll-element_outer {
  height: 15px;
  left: 5px;
}

.scrollbar-rail > .scroll-element.scroll-x .scroll-element_size {
  height: 2px;
  left: -10px;
  top: 5px;
}

.scrollbar-rail > .scroll-element.scroll-y .scroll-element_outer {
  top: 5px;
  width: 15px;
}

.scrollbar-rail > .scroll-element.scroll-y .scroll-element_size {
  left: 5px;
  top: -10px;
  width: 2px;
}

/* update scrollbar offset if both scrolls are visible */
.scrollbar-rail > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -25px;
}

.scrollbar-rail > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -25px;
}

.scrollbar-rail > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
  left: -25px;
}

.scrollbar-rail > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
  top: -25px;
}

/*************** SCROLLBAR DYNAMIC ***************/
.scrollbar-dynamic > .scroll-element,
.scrollbar-dynamic > .scroll-element div {
  background: none;
  border: none;
  margin: 0;
  padding: 0;
  position: absolute;
  z-index: 10;
}

.scrollbar-dynamic > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}

.scrollbar-dynamic > .scroll-element.scroll-x {
  bottom: 2px;
  height: 7px;
  left: 0;
  min-width: 100%;
  width: 100%;
}

.scrollbar-dynamic > .scroll-element.scroll-y {
  height: 100%;
  min-height: 100%;
  right: 2px;
  top: 0;
  width: 7px;
}

.scrollbar-dynamic > .scroll-element .scroll-element_outer {
  opacity: 0.3;
  border-radius: 12px;
}

.scrollbar-dynamic > .scroll-element .scroll-element_size {
  background-color: #cccccc;
  opacity: 0;
  border-radius: 12px;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.scrollbar-dynamic > .scroll-element .scroll-bar {
  background-color: #6c6e71;
  border-radius: 7px;
}

/* scrollbar height/width & offset from container borders */
.scrollbar-dynamic > .scroll-element.scroll-x .scroll-bar {
  bottom: 0;
  height: 7px;
  min-width: 24px;
  top: auto;
}

.scrollbar-dynamic > .scroll-element.scroll-y .scroll-bar {
  left: auto;
  min-height: 24px;
  right: 0;
  width: 7px;
}

.scrollbar-dynamic > .scroll-element.scroll-x .scroll-element_outer {
  bottom: 0;
  top: auto;
  left: 2px;
  -webkit-transition: height 0.2s;
  transition: height 0.2s;
}

.scrollbar-dynamic > .scroll-element.scroll-y .scroll-element_outer {
  left: auto;
  right: 0;
  top: 2px;
  -webkit-transition: width 0.2s;
  transition: width 0.2s;
}

.scrollbar-dynamic > .scroll-element.scroll-x .scroll-element_size {
  left: -4px;
}

.scrollbar-dynamic > .scroll-element.scroll-y .scroll-element_size {
  top: -4px;
}

/* update scrollbar offset if both scrolls are visible */
.scrollbar-dynamic > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -11px;
}

.scrollbar-dynamic > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -11px;
}

/* hover & drag */
.scrollbar-dynamic > .scroll-element:hover .scroll-element_outer,
.scrollbar-dynamic > .scroll-element.scroll-draggable .scroll-element_outer {
  overflow: hidden;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
  filter: alpha(opacity=70);
  opacity: 0.7;
}

.scrollbar-dynamic > .scroll-element:hover .scroll-element_outer .scroll-element_size,
.scrollbar-dynamic > .scroll-element.scroll-draggable .scroll-element_outer .scroll-element_size {
  opacity: 1;
}

.scrollbar-dynamic > .scroll-element:hover .scroll-element_outer .scroll-bar,
.scrollbar-dynamic > .scroll-element.scroll-draggable .scroll-element_outer .scroll-bar {
  height: 100%;
  width: 100%;
  border-radius: 12px;
}

.scrollbar-dynamic > .scroll-element.scroll-x:hover .scroll-element_outer,
.scrollbar-dynamic > .scroll-element.scroll-x.scroll-draggable .scroll-element_outer {
  height: 20px;
  min-height: 7px;
}

.scrollbar-dynamic > .scroll-element.scroll-y:hover .scroll-element_outer,
.scrollbar-dynamic > .scroll-element.scroll-y.scroll-draggable .scroll-element_outer {
  min-width: 7px;
  width: 20px;
}

/*************** SCROLLBAR GOOGLE CHROME ***************/
.scrollbar-chrome > .scroll-element,
.scrollbar-chrome > .scroll-element div {
  border: none;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  z-index: 10;
}

.scrollbar-chrome > .scroll-element {
  background-color: #ffffff;
}

.scrollbar-chrome > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}

.scrollbar-chrome > .scroll-element .scroll-element_track {
  background: #f1f1f1;
  border: 1px solid #dbdbdb;
}

.scrollbar-chrome > .scroll-element.scroll-x {
  bottom: 0;
  height: 16px;
  left: 0;
  min-width: 100%;
  width: 100%;
}

.scrollbar-chrome > .scroll-element.scroll-y {
  height: 100%;
  min-height: 100%;
  right: 0;
  top: 0;
  width: 16px;
}

.scrollbar-chrome > .scroll-element .scroll-bar {
  background-color: #d9d9d9;
  border: 1px solid #bdbdbd;
  cursor: default;
  border-radius: 2px;
}

.scrollbar-chrome > .scroll-element .scroll-bar:hover {
  background-color: #c2c2c2;
  border-color: #a9a9a9;
}

.scrollbar-chrome > .scroll-element.scroll-draggable .scroll-bar {
  background-color: #919191;
  border-color: #7e7e7e;
}

/* scrollbar height/width & offset from container borders */
.scrollbar-chrome > .scroll-content.scroll-scrolly_visible {
  left: -16px;
  margin-left: 16px;
}

.scrollbar-chrome > .scroll-content.scroll-scrollx_visible {
  top: -16px;
  margin-top: 16px;
}

.scrollbar-chrome > .scroll-element.scroll-x .scroll-bar {
  height: 8px;
  min-width: 10px;
  top: 3px;
}

.scrollbar-chrome > .scroll-element.scroll-y .scroll-bar {
  left: 3px;
  min-height: 10px;
  width: 8px;
}

.scrollbar-chrome > .scroll-element.scroll-x .scroll-element_outer {
  border-left: 1px solid #dbdbdb;
}

.scrollbar-chrome > .scroll-element.scroll-x .scroll-element_track {
  height: 14px;
  left: -3px;
}

.scrollbar-chrome > .scroll-element.scroll-x .scroll-element_size {
  height: 14px;
  left: -4px;
}

.scrollbar-chrome > .scroll-element.scroll-y .scroll-element_outer {
  border-top: 1px solid #dbdbdb;
}

.scrollbar-chrome > .scroll-element.scroll-y .scroll-element_track {
  top: -3px;
  width: 14px;
}

.scrollbar-chrome > .scroll-element.scroll-y .scroll-element_size {
  top: -4px;
  width: 14px;
}

/* update scrollbar offset if both scrolls are visible */
.scrollbar-chrome > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -19px;
}

.scrollbar-chrome > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -19px;
}

.scrollbar-chrome > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
  left: -19px;
}

.scrollbar-chrome > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
  top: -19px;
}

/*--------------------------------------------------------------
1.0 Normalize
--------------------------------------------------------------*/
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fiefinedineet` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fiefinedineet` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/*--------------------------------------------------------------
2.0 Typography
--------------------------------------------------------------*/
html {
  /* Smoothing */
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
}

body,
button,
input,
select,
optgroup,
textarea {
  color: #171C12;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.7;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Great Vibes", cursive;
  line-height: 1.1;
  font-weight: normal;
  margin: 0 0 20px 0;
}

h1 {
  font-size: 60px;
  font-size: 3.75rem;
  margin-bottom: 32px;
}

h2 {
  font-size: 50px;
  font-size: 3.125rem;
}

h3 {
  font-size: 40px;
  font-size: 2.5rem;
}

h4 {
  font-size: 34px;
  font-size: 2.125rem;
}

h5 {
  font-size: 28px;
  font-size: 1.75rem;
}

h6 {
  font-size: 24px;
  font-size: 1.5rem;
}

p {
  margin: 0 0 30px 0;
}

dfn, cite, em, i {
  font-style: italic;
}

blockquote {
  padding: 0 0 0 55px;
  background: url(assets/images/quote-open.svg) no-repeat 0 0;
  margin: 0;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: rgba(158, 146, 110, 0.2);
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 30px;
}

code, kbd, tt, var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 14px;
  font-size: 0.875rem;
}

abbr, acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark, ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/*--------------------------------------------------------------
3.0 Bootstrap v4 Grid
--------------------------------------------------------------*/
/*!
 * Bootstrap Grid v4.0.0-beta.3 (https://getbootstrap.com)
 * Copyright 2011-2017 The Bootstrap Authors
 * Copyright 2011-2017 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
@-ms-viewport {
  width: device-width;
}

html {
  box-sizing: border-box;
  -ms-overflow-style: scrollbar;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}

@media (min-width: 1230px) {
  .container {
    max-width: 1200px;
  }
}

.container-fluid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.no-gutters > .col,
.no-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

.col {
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  max-width: 100%;
}

.col-auto {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: auto;
  max-width: none;
}

.col-1 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 8.3333333333%;
      -ms-flex: 0 0 8.3333333333%;
          flex: 0 0 8.3333333333%;
  max-width: 8.3333333333%;
}

.col-2 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 16.6666666667%;
      -ms-flex: 0 0 16.6666666667%;
          flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.col-3 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 25%;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 33.3333333333%;
      -ms-flex: 0 0 33.3333333333%;
          flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.col-5 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 41.6666666667%;
      -ms-flex: 0 0 41.6666666667%;
          flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%;
}

.col-6 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 50%;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%;
}

.col-7 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 58.3333333333%;
      -ms-flex: 0 0 58.3333333333%;
          flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%;
}

.col-8 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 66.6666666667%;
      -ms-flex: 0 0 66.6666666667%;
          flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
}

.col-9 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 75%;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  max-width: 75%;
}

.col-10 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 83.3333333333%;
      -ms-flex: 0 0 83.3333333333%;
          flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}

.col-11 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 91.6666666667%;
      -ms-flex: 0 0 91.6666666667%;
          flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%;
}

.col-12 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
}

.order-first {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}

.order-1 {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}

.order-2 {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}

.order-3 {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
}

.order-4 {
  -webkit-box-ordinal-group: 5;
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4;
}

.order-5 {
  -webkit-box-ordinal-group: 6;
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5;
}

.order-6 {
  -webkit-box-ordinal-group: 7;
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6;
}

.order-7 {
  -webkit-box-ordinal-group: 8;
  -webkit-order: 7;
      -ms-flex-order: 7;
          order: 7;
}

.order-8 {
  -webkit-box-ordinal-group: 9;
  -webkit-order: 8;
      -ms-flex-order: 8;
          order: 8;
}

.order-9 {
  -webkit-box-ordinal-group: 10;
  -webkit-order: 9;
      -ms-flex-order: 9;
          order: 9;
}

.order-10 {
  -webkit-box-ordinal-group: 11;
  -webkit-order: 10;
      -ms-flex-order: 10;
          order: 10;
}

.order-11 {
  -webkit-box-ordinal-group: 12;
  -webkit-order: 11;
      -ms-flex-order: 11;
          order: 11;
}

.order-12 {
  -webkit-box-ordinal-group: 13;
  -webkit-order: 12;
      -ms-flex-order: 12;
          order: 12;
}

.offset-1 {
  margin-left: 8.3333333333%;
}

.offset-2 {
  margin-left: 16.6666666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.3333333333%;
}

.offset-5 {
  margin-left: 41.6666666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.3333333333%;
}

.offset-8 {
  margin-left: 66.6666666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.3333333333%;
}

.offset-11 {
  margin-left: 91.6666666667%;
}

@media (min-width: 576px) {
  .col-sm {
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    max-width: 100%;
  }
  .col-sm-auto {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-sm-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.3333333333%;
        -ms-flex: 0 0 8.3333333333%;
            flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-sm-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.6666666667%;
        -ms-flex: 0 0 16.6666666667%;
            flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-sm-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.3333333333%;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-sm-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.6666666667%;
        -ms-flex: 0 0 41.6666666667%;
            flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-sm-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.3333333333%;
        -ms-flex: 0 0 58.3333333333%;
            flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-sm-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.6666666667%;
        -ms-flex: 0 0 66.6666666667%;
            flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-sm-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.3333333333%;
        -ms-flex: 0 0 83.3333333333%;
            flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-sm-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.6666666667%;
        -ms-flex: 0 0 91.6666666667%;
            flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-sm-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .order-sm-first {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
  }
  .order-sm-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .order-sm-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .order-sm-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .order-sm-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
  }
  .order-sm-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5;
  }
  .order-sm-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6;
  }
  .order-sm-7 {
    -webkit-box-ordinal-group: 8;
    -webkit-order: 7;
        -ms-flex-order: 7;
            order: 7;
  }
  .order-sm-8 {
    -webkit-box-ordinal-group: 9;
    -webkit-order: 8;
        -ms-flex-order: 8;
            order: 8;
  }
  .order-sm-9 {
    -webkit-box-ordinal-group: 10;
    -webkit-order: 9;
        -ms-flex-order: 9;
            order: 9;
  }
  .order-sm-10 {
    -webkit-box-ordinal-group: 11;
    -webkit-order: 10;
        -ms-flex-order: 10;
            order: 10;
  }
  .order-sm-11 {
    -webkit-box-ordinal-group: 12;
    -webkit-order: 11;
        -ms-flex-order: 11;
            order: 11;
  }
  .order-sm-12 {
    -webkit-box-ordinal-group: 13;
    -webkit-order: 12;
        -ms-flex-order: 12;
            order: 12;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.3333333333%;
  }
  .offset-sm-2 {
    margin-left: 16.6666666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.3333333333%;
  }
  .offset-sm-5 {
    margin-left: 41.6666666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.3333333333%;
  }
  .offset-sm-8 {
    margin-left: 66.6666666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.3333333333%;
  }
  .offset-sm-11 {
    margin-left: 91.6666666667%;
  }
}

@media (min-width: 768px) {
  .col-md {
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    max-width: 100%;
  }
  .col-md-auto {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-md-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.3333333333%;
        -ms-flex: 0 0 8.3333333333%;
            flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-md-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.6666666667%;
        -ms-flex: 0 0 16.6666666667%;
            flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-md-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.3333333333%;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-md-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.6666666667%;
        -ms-flex: 0 0 41.6666666667%;
            flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-md-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.3333333333%;
        -ms-flex: 0 0 58.3333333333%;
            flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-md-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.6666666667%;
        -ms-flex: 0 0 66.6666666667%;
            flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-md-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.3333333333%;
        -ms-flex: 0 0 83.3333333333%;
            flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-md-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.6666666667%;
        -ms-flex: 0 0 91.6666666667%;
            flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-md-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .order-md-first {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
  }
  .order-md-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .order-md-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .order-md-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .order-md-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
  }
  .order-md-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5;
  }
  .order-md-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6;
  }
  .order-md-7 {
    -webkit-box-ordinal-group: 8;
    -webkit-order: 7;
        -ms-flex-order: 7;
            order: 7;
  }
  .order-md-8 {
    -webkit-box-ordinal-group: 9;
    -webkit-order: 8;
        -ms-flex-order: 8;
            order: 8;
  }
  .order-md-9 {
    -webkit-box-ordinal-group: 10;
    -webkit-order: 9;
        -ms-flex-order: 9;
            order: 9;
  }
  .order-md-10 {
    -webkit-box-ordinal-group: 11;
    -webkit-order: 10;
        -ms-flex-order: 10;
            order: 10;
  }
  .order-md-11 {
    -webkit-box-ordinal-group: 12;
    -webkit-order: 11;
        -ms-flex-order: 11;
            order: 11;
  }
  .order-md-12 {
    -webkit-box-ordinal-group: 13;
    -webkit-order: 12;
        -ms-flex-order: 12;
            order: 12;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.3333333333%;
  }
  .offset-md-2 {
    margin-left: 16.6666666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.3333333333%;
  }
  .offset-md-5 {
    margin-left: 41.6666666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.3333333333%;
  }
  .offset-md-8 {
    margin-left: 66.6666666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.3333333333%;
  }
  .offset-md-11 {
    margin-left: 91.6666666667%;
  }
}

@media (min-width: 992px) {
  .col-lg {
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    max-width: 100%;
  }
  .col-lg-auto {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-lg-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.3333333333%;
        -ms-flex: 0 0 8.3333333333%;
            flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-lg-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.6666666667%;
        -ms-flex: 0 0 16.6666666667%;
            flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-lg-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.3333333333%;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-lg-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.6666666667%;
        -ms-flex: 0 0 41.6666666667%;
            flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-lg-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.3333333333%;
        -ms-flex: 0 0 58.3333333333%;
            flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-lg-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.6666666667%;
        -ms-flex: 0 0 66.6666666667%;
            flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-lg-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.3333333333%;
        -ms-flex: 0 0 83.3333333333%;
            flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-lg-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.6666666667%;
        -ms-flex: 0 0 91.6666666667%;
            flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-lg-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .order-lg-first {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
  }
  .order-lg-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .order-lg-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .order-lg-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .order-lg-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
  }
  .order-lg-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5;
  }
  .order-lg-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6;
  }
  .order-lg-7 {
    -webkit-box-ordinal-group: 8;
    -webkit-order: 7;
        -ms-flex-order: 7;
            order: 7;
  }
  .order-lg-8 {
    -webkit-box-ordinal-group: 9;
    -webkit-order: 8;
        -ms-flex-order: 8;
            order: 8;
  }
  .order-lg-9 {
    -webkit-box-ordinal-group: 10;
    -webkit-order: 9;
        -ms-flex-order: 9;
            order: 9;
  }
  .order-lg-10 {
    -webkit-box-ordinal-group: 11;
    -webkit-order: 10;
        -ms-flex-order: 10;
            order: 10;
  }
  .order-lg-11 {
    -webkit-box-ordinal-group: 12;
    -webkit-order: 11;
        -ms-flex-order: 11;
            order: 11;
  }
  .order-lg-12 {
    -webkit-box-ordinal-group: 13;
    -webkit-order: 12;
        -ms-flex-order: 12;
            order: 12;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.3333333333%;
  }
  .offset-lg-2 {
    margin-left: 16.6666666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.3333333333%;
  }
  .offset-lg-5 {
    margin-left: 41.6666666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.3333333333%;
  }
  .offset-lg-8 {
    margin-left: 66.6666666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.3333333333%;
  }
  .offset-lg-11 {
    margin-left: 91.6666666667%;
  }
}

@media (min-width: 1230px) {
  .col-xl {
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    max-width: 100%;
  }
  .col-xl-auto {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-xl-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.3333333333%;
        -ms-flex: 0 0 8.3333333333%;
            flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-xl-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.6666666667%;
        -ms-flex: 0 0 16.6666666667%;
            flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-xl-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xl-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.3333333333%;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-xl-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.6666666667%;
        -ms-flex: 0 0 41.6666666667%;
            flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-xl-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xl-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.3333333333%;
        -ms-flex: 0 0 58.3333333333%;
            flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-xl-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.6666666667%;
        -ms-flex: 0 0 66.6666666667%;
            flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-xl-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xl-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.3333333333%;
        -ms-flex: 0 0 83.3333333333%;
            flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-xl-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.6666666667%;
        -ms-flex: 0 0 91.6666666667%;
            flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-xl-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .order-xl-first {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
  }
  .order-xl-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .order-xl-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .order-xl-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .order-xl-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
  }
  .order-xl-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5;
  }
  .order-xl-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6;
  }
  .order-xl-7 {
    -webkit-box-ordinal-group: 8;
    -webkit-order: 7;
        -ms-flex-order: 7;
            order: 7;
  }
  .order-xl-8 {
    -webkit-box-ordinal-group: 9;
    -webkit-order: 8;
        -ms-flex-order: 8;
            order: 8;
  }
  .order-xl-9 {
    -webkit-box-ordinal-group: 10;
    -webkit-order: 9;
        -ms-flex-order: 9;
            order: 9;
  }
  .order-xl-10 {
    -webkit-box-ordinal-group: 11;
    -webkit-order: 10;
        -ms-flex-order: 10;
            order: 10;
  }
  .order-xl-11 {
    -webkit-box-ordinal-group: 12;
    -webkit-order: 11;
        -ms-flex-order: 11;
            order: 11;
  }
  .order-xl-12 {
    -webkit-box-ordinal-group: 13;
    -webkit-order: 12;
        -ms-flex-order: 12;
            order: 12;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.3333333333%;
  }
  .offset-xl-2 {
    margin-left: 16.6666666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.3333333333%;
  }
  .offset-xl-5 {
    margin-left: 41.6666666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.3333333333%;
  }
  .offset-xl-8 {
    margin-left: 66.6666666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.3333333333%;
  }
  .offset-xl-11 {
    margin-left: 91.6666666667%;
  }
}

.flex-row {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
  -webkit-flex-direction: row !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
}

.flex-column {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
  -webkit-flex-direction: column !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
}

.flex-row-reverse {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: reverse !important;
  -webkit-flex-direction: row-reverse !important;
      -ms-flex-direction: row-reverse !important;
          flex-direction: row-reverse !important;
}

.flex-column-reverse {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: reverse !important;
  -webkit-flex-direction: column-reverse !important;
      -ms-flex-direction: column-reverse !important;
          flex-direction: column-reverse !important;
}

.flex-wrap {
  -webkit-flex-wrap: wrap !important;
      -ms-flex-wrap: wrap !important;
          flex-wrap: wrap !important;
}

.flex-nowrap {
  -webkit-flex-wrap: nowrap !important;
      -ms-flex-wrap: nowrap !important;
          flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  -webkit-flex-wrap: wrap-reverse !important;
      -ms-flex-wrap: wrap-reverse !important;
          flex-wrap: wrap-reverse !important;
}

.justify-content-start {
  -webkit-box-pack: start !important;
  -webkit-justify-content: flex-start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important;
}

.justify-content-end {
  -webkit-box-pack: end !important;
  -webkit-justify-content: flex-end !important;
      -ms-flex-pack: end !important;
          justify-content: flex-end !important;
}

.justify-content-center {
  -webkit-box-pack: center !important;
  -webkit-justify-content: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
}

.justify-content-between {
  -webkit-box-pack: justify !important;
  -webkit-justify-content: space-between !important;
      -ms-flex-pack: justify !important;
          justify-content: space-between !important;
}

.justify-content-around {
  -webkit-justify-content: space-around !important;
      -ms-flex-pack: distribute !important;
          justify-content: space-around !important;
}

.align-items-start {
  -webkit-box-align: start !important;
  -webkit-align-items: flex-start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
}

.align-items-end {
  -webkit-box-align: end !important;
  -webkit-align-items: flex-end !important;
      -ms-flex-align: end !important;
          align-items: flex-end !important;
}

.align-items-center {
  -webkit-box-align: center !important;
  -webkit-align-items: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
}

.align-items-baseline {
  -webkit-box-align: baseline !important;
  -webkit-align-items: baseline !important;
      -ms-flex-align: baseline !important;
          align-items: baseline !important;
}

.align-items-stretch {
  -webkit-box-align: stretch !important;
  -webkit-align-items: stretch !important;
      -ms-flex-align: stretch !important;
          align-items: stretch !important;
}

.align-content-start {
  -webkit-align-content: flex-start !important;
      -ms-flex-line-pack: start !important;
          align-content: flex-start !important;
}

.align-content-end {
  -webkit-align-content: flex-end !important;
      -ms-flex-line-pack: end !important;
          align-content: flex-end !important;
}

.align-content-center {
  -webkit-align-content: center !important;
      -ms-flex-line-pack: center !important;
          align-content: center !important;
}

.align-content-between {
  -webkit-align-content: space-between !important;
      -ms-flex-line-pack: justify !important;
          align-content: space-between !important;
}

.align-content-around {
  -webkit-align-content: space-around !important;
      -ms-flex-line-pack: distribute !important;
          align-content: space-around !important;
}

.align-content-stretch {
  -webkit-align-content: stretch !important;
      -ms-flex-line-pack: stretch !important;
          align-content: stretch !important;
}

.align-self-auto {
  -webkit-align-self: auto !important;
      -ms-flex-item-align: auto !important;
              -ms-grid-row-align: auto !important;
          align-self: auto !important;
}

.align-self-start {
  -webkit-align-self: flex-start !important;
      -ms-flex-item-align: start !important;
          align-self: flex-start !important;
}

.align-self-end {
  -webkit-align-self: flex-end !important;
      -ms-flex-item-align: end !important;
          align-self: flex-end !important;
}

.align-self-center {
  -webkit-align-self: center !important;
      -ms-flex-item-align: center !important;
              -ms-grid-row-align: center !important;
          align-self: center !important;
}

.align-self-baseline {
  -webkit-align-self: baseline !important;
      -ms-flex-item-align: baseline !important;
          align-self: baseline !important;
}

.align-self-stretch {
  -webkit-align-self: stretch !important;
      -ms-flex-item-align: stretch !important;
              -ms-grid-row-align: stretch !important;
          align-self: stretch !important;
}

@media (min-width: 576px) {
  .flex-sm-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: row !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .flex-sm-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: column !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: row-reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: column-reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-sm-wrap {
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
            flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    -webkit-flex-wrap: wrap-reverse !important;
        -ms-flex-wrap: wrap-reverse !important;
            flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    -webkit-box-pack: start !important;
    -webkit-justify-content: flex-start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    -webkit-box-pack: end !important;
    -webkit-justify-content: flex-end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-sm-between {
    -webkit-box-pack: justify !important;
    -webkit-justify-content: space-between !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-sm-around {
    -webkit-justify-content: space-around !important;
        -ms-flex-pack: distribute !important;
            justify-content: space-around !important;
  }
  .align-items-sm-start {
    -webkit-box-align: start !important;
    -webkit-align-items: flex-start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-sm-end {
    -webkit-box-align: end !important;
    -webkit-align-items: flex-end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-sm-center {
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .align-items-sm-baseline {
    -webkit-box-align: baseline !important;
    -webkit-align-items: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-sm-stretch {
    -webkit-box-align: stretch !important;
    -webkit-align-items: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-sm-start {
    -webkit-align-content: flex-start !important;
        -ms-flex-line-pack: start !important;
            align-content: flex-start !important;
  }
  .align-content-sm-end {
    -webkit-align-content: flex-end !important;
        -ms-flex-line-pack: end !important;
            align-content: flex-end !important;
  }
  .align-content-sm-center {
    -webkit-align-content: center !important;
        -ms-flex-line-pack: center !important;
            align-content: center !important;
  }
  .align-content-sm-between {
    -webkit-align-content: space-between !important;
        -ms-flex-line-pack: justify !important;
            align-content: space-between !important;
  }
  .align-content-sm-around {
    -webkit-align-content: space-around !important;
        -ms-flex-line-pack: distribute !important;
            align-content: space-around !important;
  }
  .align-content-sm-stretch {
    -webkit-align-content: stretch !important;
        -ms-flex-line-pack: stretch !important;
            align-content: stretch !important;
  }
  .align-self-sm-auto {
    -webkit-align-self: auto !important;
        -ms-flex-item-align: auto !important;
                -ms-grid-row-align: auto !important;
            align-self: auto !important;
  }
  .align-self-sm-start {
    -webkit-align-self: flex-start !important;
        -ms-flex-item-align: start !important;
            align-self: flex-start !important;
  }
  .align-self-sm-end {
    -webkit-align-self: flex-end !important;
        -ms-flex-item-align: end !important;
            align-self: flex-end !important;
  }
  .align-self-sm-center {
    -webkit-align-self: center !important;
        -ms-flex-item-align: center !important;
                -ms-grid-row-align: center !important;
            align-self: center !important;
  }
  .align-self-sm-baseline {
    -webkit-align-self: baseline !important;
        -ms-flex-item-align: baseline !important;
            align-self: baseline !important;
  }
  .align-self-sm-stretch {
    -webkit-align-self: stretch !important;
        -ms-flex-item-align: stretch !important;
                -ms-grid-row-align: stretch !important;
            align-self: stretch !important;
  }
}

@media (min-width: 768px) {
  .flex-md-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: row !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .flex-md-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: column !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .flex-md-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: row-reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: column-reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-md-wrap {
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
            flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    -webkit-flex-wrap: wrap-reverse !important;
        -ms-flex-wrap: wrap-reverse !important;
            flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    -webkit-box-pack: start !important;
    -webkit-justify-content: flex-start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-md-end {
    -webkit-box-pack: end !important;
    -webkit-justify-content: flex-end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-md-center {
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-md-between {
    -webkit-box-pack: justify !important;
    -webkit-justify-content: space-between !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-md-around {
    -webkit-justify-content: space-around !important;
        -ms-flex-pack: distribute !important;
            justify-content: space-around !important;
  }
  .align-items-md-start {
    -webkit-box-align: start !important;
    -webkit-align-items: flex-start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-md-end {
    -webkit-box-align: end !important;
    -webkit-align-items: flex-end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-md-center {
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .align-items-md-baseline {
    -webkit-box-align: baseline !important;
    -webkit-align-items: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-md-stretch {
    -webkit-box-align: stretch !important;
    -webkit-align-items: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-md-start {
    -webkit-align-content: flex-start !important;
        -ms-flex-line-pack: start !important;
            align-content: flex-start !important;
  }
  .align-content-md-end {
    -webkit-align-content: flex-end !important;
        -ms-flex-line-pack: end !important;
            align-content: flex-end !important;
  }
  .align-content-md-center {
    -webkit-align-content: center !important;
        -ms-flex-line-pack: center !important;
            align-content: center !important;
  }
  .align-content-md-between {
    -webkit-align-content: space-between !important;
        -ms-flex-line-pack: justify !important;
            align-content: space-between !important;
  }
  .align-content-md-around {
    -webkit-align-content: space-around !important;
        -ms-flex-line-pack: distribute !important;
            align-content: space-around !important;
  }
  .align-content-md-stretch {
    -webkit-align-content: stretch !important;
        -ms-flex-line-pack: stretch !important;
            align-content: stretch !important;
  }
  .align-self-md-auto {
    -webkit-align-self: auto !important;
        -ms-flex-item-align: auto !important;
                -ms-grid-row-align: auto !important;
            align-self: auto !important;
  }
  .align-self-md-start {
    -webkit-align-self: flex-start !important;
        -ms-flex-item-align: start !important;
            align-self: flex-start !important;
  }
  .align-self-md-end {
    -webkit-align-self: flex-end !important;
        -ms-flex-item-align: end !important;
            align-self: flex-end !important;
  }
  .align-self-md-center {
    -webkit-align-self: center !important;
        -ms-flex-item-align: center !important;
                -ms-grid-row-align: center !important;
            align-self: center !important;
  }
  .align-self-md-baseline {
    -webkit-align-self: baseline !important;
        -ms-flex-item-align: baseline !important;
            align-self: baseline !important;
  }
  .align-self-md-stretch {
    -webkit-align-self: stretch !important;
        -ms-flex-item-align: stretch !important;
                -ms-grid-row-align: stretch !important;
            align-self: stretch !important;
  }
}

@media (min-width: 992px) {
  .flex-lg-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: row !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .flex-lg-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: column !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: row-reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: column-reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-lg-wrap {
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
            flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    -webkit-flex-wrap: wrap-reverse !important;
        -ms-flex-wrap: wrap-reverse !important;
            flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    -webkit-box-pack: start !important;
    -webkit-justify-content: flex-start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    -webkit-box-pack: end !important;
    -webkit-justify-content: flex-end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-lg-between {
    -webkit-box-pack: justify !important;
    -webkit-justify-content: space-between !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-lg-around {
    -webkit-justify-content: space-around !important;
        -ms-flex-pack: distribute !important;
            justify-content: space-around !important;
  }
  .align-items-lg-start {
    -webkit-box-align: start !important;
    -webkit-align-items: flex-start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-lg-end {
    -webkit-box-align: end !important;
    -webkit-align-items: flex-end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-lg-center {
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .align-items-lg-baseline {
    -webkit-box-align: baseline !important;
    -webkit-align-items: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-lg-stretch {
    -webkit-box-align: stretch !important;
    -webkit-align-items: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-lg-start {
    -webkit-align-content: flex-start !important;
        -ms-flex-line-pack: start !important;
            align-content: flex-start !important;
  }
  .align-content-lg-end {
    -webkit-align-content: flex-end !important;
        -ms-flex-line-pack: end !important;
            align-content: flex-end !important;
  }
  .align-content-lg-center {
    -webkit-align-content: center !important;
        -ms-flex-line-pack: center !important;
            align-content: center !important;
  }
  .align-content-lg-between {
    -webkit-align-content: space-between !important;
        -ms-flex-line-pack: justify !important;
            align-content: space-between !important;
  }
  .align-content-lg-around {
    -webkit-align-content: space-around !important;
        -ms-flex-line-pack: distribute !important;
            align-content: space-around !important;
  }
  .align-content-lg-stretch {
    -webkit-align-content: stretch !important;
        -ms-flex-line-pack: stretch !important;
            align-content: stretch !important;
  }
  .align-self-lg-auto {
    -webkit-align-self: auto !important;
        -ms-flex-item-align: auto !important;
                -ms-grid-row-align: auto !important;
            align-self: auto !important;
  }
  .align-self-lg-start {
    -webkit-align-self: flex-start !important;
        -ms-flex-item-align: start !important;
            align-self: flex-start !important;
  }
  .align-self-lg-end {
    -webkit-align-self: flex-end !important;
        -ms-flex-item-align: end !important;
            align-self: flex-end !important;
  }
  .align-self-lg-center {
    -webkit-align-self: center !important;
        -ms-flex-item-align: center !important;
                -ms-grid-row-align: center !important;
            align-self: center !important;
  }
  .align-self-lg-baseline {
    -webkit-align-self: baseline !important;
        -ms-flex-item-align: baseline !important;
            align-self: baseline !important;
  }
  .align-self-lg-stretch {
    -webkit-align-self: stretch !important;
        -ms-flex-item-align: stretch !important;
                -ms-grid-row-align: stretch !important;
            align-self: stretch !important;
  }
}

@media (min-width: 1230px) {
  .flex-xl-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: row !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .flex-xl-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: column !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: row-reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: column-reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-xl-wrap {
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
            flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    -webkit-flex-wrap: wrap-reverse !important;
        -ms-flex-wrap: wrap-reverse !important;
            flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    -webkit-box-pack: start !important;
    -webkit-justify-content: flex-start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    -webkit-box-pack: end !important;
    -webkit-justify-content: flex-end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-xl-between {
    -webkit-box-pack: justify !important;
    -webkit-justify-content: space-between !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-xl-around {
    -webkit-justify-content: space-around !important;
        -ms-flex-pack: distribute !important;
            justify-content: space-around !important;
  }
  .align-items-xl-start {
    -webkit-box-align: start !important;
    -webkit-align-items: flex-start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-xl-end {
    -webkit-box-align: end !important;
    -webkit-align-items: flex-end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-xl-center {
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .align-items-xl-baseline {
    -webkit-box-align: baseline !important;
    -webkit-align-items: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-xl-stretch {
    -webkit-box-align: stretch !important;
    -webkit-align-items: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-xl-start {
    -webkit-align-content: flex-start !important;
        -ms-flex-line-pack: start !important;
            align-content: flex-start !important;
  }
  .align-content-xl-end {
    -webkit-align-content: flex-end !important;
        -ms-flex-line-pack: end !important;
            align-content: flex-end !important;
  }
  .align-content-xl-center {
    -webkit-align-content: center !important;
        -ms-flex-line-pack: center !important;
            align-content: center !important;
  }
  .align-content-xl-between {
    -webkit-align-content: space-between !important;
        -ms-flex-line-pack: justify !important;
            align-content: space-between !important;
  }
  .align-content-xl-around {
    -webkit-align-content: space-around !important;
        -ms-flex-line-pack: distribute !important;
            align-content: space-around !important;
  }
  .align-content-xl-stretch {
    -webkit-align-content: stretch !important;
        -ms-flex-line-pack: stretch !important;
            align-content: stretch !important;
  }
  .align-self-xl-auto {
    -webkit-align-self: auto !important;
        -ms-flex-item-align: auto !important;
                -ms-grid-row-align: auto !important;
            align-self: auto !important;
  }
  .align-self-xl-start {
    -webkit-align-self: flex-start !important;
        -ms-flex-item-align: start !important;
            align-self: flex-start !important;
  }
  .align-self-xl-end {
    -webkit-align-self: flex-end !important;
        -ms-flex-item-align: end !important;
            align-self: flex-end !important;
  }
  .align-self-xl-center {
    -webkit-align-self: center !important;
        -ms-flex-item-align: center !important;
                -ms-grid-row-align: center !important;
            align-self: center !important;
  }
  .align-self-xl-baseline {
    -webkit-align-self: baseline !important;
        -ms-flex-item-align: baseline !important;
            align-self: baseline !important;
  }
  .align-self-xl-stretch {
    -webkit-align-self: stretch !important;
        -ms-flex-item-align: stretch !important;
                -ms-grid-row-align: stretch !important;
            align-self: stretch !important;
  }
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.mw-100 {
  max-width: 100% !important;
}

.mh-100 {
  max-height: 100% !important;
}

.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: -webkit-box !important;
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.d-inline-flex {
  display: -webkit-inline-box !important;
  display: -webkit-inline-flex !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: -webkit-inline-box !important;
    display: -webkit-inline-flex !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-md-inline-flex {
    display: -webkit-inline-box !important;
    display: -webkit-inline-flex !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: -webkit-inline-box !important;
    display: -webkit-inline-flex !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

@media (min-width: 1230px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: -webkit-inline-box !important;
    display: -webkit-inline-flex !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

.d-print-block {
  display: none !important;
}

@media print {
  .d-print-block {
    display: block !important;
  }
}

.d-print-inline {
  display: none !important;
}

@media print {
  .d-print-inline {
    display: inline !important;
  }
}

.d-print-inline-block {
  display: none !important;
}

@media print {
  .d-print-inline-block {
    display: inline-block !important;
  }
}

@media print {
  .d-print-none {
    display: none !important;
  }
}

.m-0 {
  margin: 0 !important;
}

.mt-0,
.my-0 {
  margin-top: 0 !important;
}

.mr-0,
.mx-0 {
  margin-right: 0 !important;
}

.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
  margin-left: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.mt-1,
.my-1 {
  margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
  margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
  margin-left: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.mt-2,
.my-2 {
  margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
  margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
  margin-left: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.mt-3,
.my-3 {
  margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
  margin-right: 1rem !important;
}

.mb-3,
.my-3 {
  margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
  margin-left: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.mt-4,
.my-4 {
  margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
  margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
  margin-left: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.mt-5,
.my-5 {
  margin-top: 3rem !important;
}

.mr-5,
.mx-5 {
  margin-right: 3rem !important;
}

.mb-5,
.my-5 {
  margin-bottom: 3rem !important;
}

.ml-5,
.mx-5 {
  margin-left: 3rem !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0,
.py-0 {
  padding-top: 0 !important;
}

.pr-0,
.px-0 {
  padding-right: 0 !important;
}

.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
  padding-left: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.pt-1,
.py-1 {
  padding-top: 0.25rem !important;
}

.pr-1,
.px-1 {
  padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1 {
  padding-left: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.pt-2,
.py-2 {
  padding-top: 0.5rem !important;
}

.pr-2,
.px-2 {
  padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2 {
  padding-left: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.pt-3,
.py-3 {
  padding-top: 1rem !important;
}

.pr-3,
.px-3 {
  padding-right: 1rem !important;
}

.pb-3,
.py-3 {
  padding-bottom: 1rem !important;
}

.pl-3,
.px-3 {
  padding-left: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.pt-4,
.py-4 {
  padding-top: 1.5rem !important;
}

.pr-4,
.px-4 {
  padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important;
}

.pl-4,
.px-4 {
  padding-left: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.pt-5,
.py-5 {
  padding-top: 3rem !important;
}

.pr-5,
.px-5 {
  padding-right: 3rem !important;
}

.pb-5,
.py-5 {
  padding-bottom: 3rem !important;
}

.pl-5,
.px-5 {
  padding-left: 3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mt-auto,
.my-auto {
  margin-top: auto !important;
}

.mr-auto,
.mx-auto {
  margin-right: auto !important;
}

.mb-auto,
.my-auto {
  margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
  margin-left: auto !important;
}

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important;
  }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important;
  }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important;
  }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.25rem !important;
  }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 0.5rem !important;
  }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 1rem !important;
  }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 1rem !important;
  }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 1rem !important;
  }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 1.5rem !important;
  }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 3rem !important;
  }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 3rem !important;
  }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 3rem !important;
  }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 3rem !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important;
  }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important;
  }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important;
  }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 1rem !important;
  }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 1rem !important;
  }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 3rem !important;
  }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 3rem !important;
  }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important;
  }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important;
  }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important;
  }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important;
  }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important;
  }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .mt-md-1,
  .my-md-1 {
    margin-top: 0.25rem !important;
  }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.25rem !important;
  }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .mt-md-2,
  .my-md-2 {
    margin-top: 0.5rem !important;
  }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 0.5rem !important;
  }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .mt-md-3,
  .my-md-3 {
    margin-top: 1rem !important;
  }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 1rem !important;
  }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 1rem !important;
  }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .mt-md-4,
  .my-md-4 {
    margin-top: 1.5rem !important;
  }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 1.5rem !important;
  }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .mt-md-5,
  .my-md-5 {
    margin-top: 3rem !important;
  }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 3rem !important;
  }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 3rem !important;
  }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 3rem !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important;
  }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important;
  }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important;
  }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .pt-md-1,
  .py-md-1 {
    padding-top: 0.25rem !important;
  }
  .pr-md-1,
  .px-md-1 {
    padding-right: 0.25rem !important;
  }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-md-1,
  .px-md-1 {
    padding-left: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .pt-md-2,
  .py-md-2 {
    padding-top: 0.5rem !important;
  }
  .pr-md-2,
  .px-md-2 {
    padding-right: 0.5rem !important;
  }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-md-2,
  .px-md-2 {
    padding-left: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .pt-md-3,
  .py-md-3 {
    padding-top: 1rem !important;
  }
  .pr-md-3,
  .px-md-3 {
    padding-right: 1rem !important;
  }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 1rem !important;
  }
  .pl-md-3,
  .px-md-3 {
    padding-left: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .pt-md-4,
  .py-md-4 {
    padding-top: 1.5rem !important;
  }
  .pr-md-4,
  .px-md-4 {
    padding-right: 1.5rem !important;
  }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-md-4,
  .px-md-4 {
    padding-left: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .pt-md-5,
  .py-md-5 {
    padding-top: 3rem !important;
  }
  .pr-md-5,
  .px-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 3rem !important;
  }
  .pl-md-5,
  .px-md-5 {
    padding-left: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important;
  }
  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important;
  }
  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important;
  }
  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important;
  }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important;
  }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important;
  }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .mt-lg-1,
  .my-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 0.25rem !important;
  }
  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .mt-lg-2,
  .my-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 0.5rem !important;
  }
  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .mt-lg-3,
  .my-lg-3 {
    margin-top: 1rem !important;
  }
  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 1rem !important;
  }
  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 1rem !important;
  }
  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .mt-lg-4,
  .my-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 1.5rem !important;
  }
  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .mt-lg-5,
  .my-lg-5 {
    margin-top: 3rem !important;
  }
  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 3rem !important;
  }
  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 3rem !important;
  }
  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 3rem !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important;
  }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important;
  }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important;
  }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .pt-lg-1,
  .py-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pr-lg-1,
  .px-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-lg-1,
  .px-lg-1 {
    padding-left: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .pt-lg-2,
  .py-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pr-lg-2,
  .px-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-lg-2,
  .px-lg-2 {
    padding-left: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .pt-lg-3,
  .py-lg-3 {
    padding-top: 1rem !important;
  }
  .pr-lg-3,
  .px-lg-3 {
    padding-right: 1rem !important;
  }
  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pl-lg-3,
  .px-lg-3 {
    padding-left: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .pt-lg-4,
  .py-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pr-lg-4,
  .px-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-lg-4,
  .px-lg-4 {
    padding-left: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .pt-lg-5,
  .py-lg-5 {
    padding-top: 3rem !important;
  }
  .pr-lg-5,
  .px-lg-5 {
    padding-right: 3rem !important;
  }
  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 3rem !important;
  }
  .pl-lg-5,
  .px-lg-5 {
    padding-left: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important;
  }
  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important;
  }
  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 1230px) {
  .m-xl-0 {
    margin: 0 !important;
  }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important;
  }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important;
  }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .mt-xl-1,
  .my-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 0.25rem !important;
  }
  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .mt-xl-2,
  .my-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 0.5rem !important;
  }
  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .mt-xl-3,
  .my-xl-3 {
    margin-top: 1rem !important;
  }
  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 1rem !important;
  }
  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 1rem !important;
  }
  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .mt-xl-4,
  .my-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 1.5rem !important;
  }
  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .mt-xl-5,
  .my-xl-5 {
    margin-top: 3rem !important;
  }
  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 3rem !important;
  }
  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 3rem !important;
  }
  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 3rem !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important;
  }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important;
  }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .pt-xl-1,
  .py-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pr-xl-1,
  .px-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-xl-1,
  .px-xl-1 {
    padding-left: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .pt-xl-2,
  .py-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pr-xl-2,
  .px-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-xl-2,
  .px-xl-2 {
    padding-left: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .pt-xl-3,
  .py-xl-3 {
    padding-top: 1rem !important;
  }
  .pr-xl-3,
  .px-xl-3 {
    padding-right: 1rem !important;
  }
  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pl-xl-3,
  .px-xl-3 {
    padding-left: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .pt-xl-4,
  .py-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pr-xl-4,
  .px-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-xl-4,
  .px-xl-4 {
    padding-left: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .pt-xl-5,
  .py-xl-5 {
    padding-top: 3rem !important;
  }
  .pr-xl-5,
  .px-xl-5 {
    padding-right: 3rem !important;
  }
  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 3rem !important;
  }
  .pl-xl-5,
  .px-xl-5 {
    padding-left: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important;
  }
  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important;
  }
  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important;
  }
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

/*--------------------------------------------------------------
4.0 Elements
--------------------------------------------------------------*/
html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  box-sizing: inherit;
}

body {
  background: #fff;
  /* Fallback for when there is no custom background color defined. */
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul, ol {
  margin: 0 0 1.5em 1.3em;
  padding: 0;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: bold;
}

dd {
  margin: 0 1.5em 1.5em;
}

img {
  height: auto;
  /* Make sure images are scaled correctly. */
  max-width: 100%;
  /* Adhere to container width. */
}

figure {
  margin: 1em 0;
  /* Extra wide images within figure tags don't overflow the content area. */
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

table, th, td {
  border: 1px solid rgba(23, 28, 18, 0.5);
  border-collapse: collapse;
  padding: 6px 20px;
  font-size: 14px;
  font-size: 0.875rem;
}

th {
  padding: 11px 15px;
}

td {
  padding: 6px 15px;
  border: none;
  border-right: 1px solid rgba(23, 28, 18, 0.5);
}

tr:nth-child(odd) td {
  background-color: rgba(158, 146, 110, 0.2);
}

/*--------------------------------------------------------------
5.0 Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  padding: 14px 30px;
  cursor: pointer;
  letter-spacing: 2px;
  border: none;
  border-radius: 0;
  background-color: #9E926E;
  color: #fff;
  line-height: 1.4;
  text-transform: uppercase;
  display: inline-block;
  margin-top: 10px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  background-color: #171C12;
}

button:active, button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
  background-color: #171C12;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  color: #171C12;
  border: 1px solid rgba(23, 28, 18, 0.5);
  border-radius: 0;
  padding: 10px 17px;
  font-size: 14px;
  font-size: 0.875rem;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: #111;
}

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
6.0 Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
6.1 Links
--------------------------------------------------------------*/
a {
  color: #9E926E;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

a:visited {
  color: #9E926E;
}

a:hover, a:focus, a:active {
  color: #9E926E;
  text-decoration: underline;
}

a:focus {
  outline: thin dotted;
}

a:hover, a:active {
  outline: 0;
}

/*--------------------------------------------------------------
6.2 Menus
--------------------------------------------------------------*/
.main-navigation {
  height: 42vh;
  margin-top: 30px;
}

.main-navigation:after {
  content: "";
  display: table;
  clear: both;
}

.main-navigation ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.main-navigation .menu{
  padding: 1px;
}

.main-navigation ul ul {
  float: left;
  position: absolute;
  top: 0;
  left: -999em;
  z-index: 99999;
  width: 217px;
}

.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
  left: 217px;
}

.main-navigation ul ul li:hover > ul:before {
  position: fixed;
  left: 467px;
  content: "";
  width: 217px;
  top: 0;
  height: 100%;
  background: rgba(23, 28, 18, 0.9);
}

.main-navigation ul ul li:hover > ul:after {
  content: "";
  display: block;
  height: 1px;
  width: 160px;
  background-color: rgba(255, 255, 255, 0.2);
  position: absolute;
  top: -20px;
  left: 18px;
}

.main-navigation ul ul li:hover {
  background-color: #9E926E;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
  left: 250px;
}

.main-navigation ul li:hover > ul:before {
  position: fixed;
  left: 250px;
  content: "";
  width: 217px;
  top: 0;
  height: 100%;
  background: rgba(23, 28, 18, 0.9);
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.main-navigation ul li:hover > ul:after {
  content: "";
  display: block;
  height: 1px;
  width: 160px;
  background-color: rgba(255, 255, 255, 0.2);
  position: absolute;
  top: -20px;
  left: 18px;
}

.main-navigation li {
  display: block;
  position: relative;
  line-height: 1;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
  clear: both;
}

.main-navigation li:hover {
  background-color: #9E926E;
}

.main-navigation a {
  text-decoration: none;
  font-size: 14px;
  font-size: 0.875rem;
  color: #fff;
  letter-spacing: 1px;
  text-transform: uppercase;
  display: block;
  line-height: 1.3;
  padding: 10px 30px 8px 30px;
  margin-right: 40px;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
  display: block;
}

.site-main .comment-navigation, .site-main
.posts-navigation, .site-main
.post-navigation, .site-main
.image-navigation {
  margin: 0 0 1.5em;
  overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous,
.image-navigation .nav-previous {
  float: left;
  width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next,
.image-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%;
}

.sub-menu-toggle {
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  right: 6px;
  top: 4px;
  z-index: 2;
  background: url(assets/images/menu-right-arrow.svg) no-repeat center center;
  cursor: pointer;
  padding: 0;
  margin-top: 0;
}
.sub-menu-toggle:focus,
.sub-menu-toggle:hover{
  background-color: transparent;
}
.sub-menu-toggle.menu-open {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}

.main-navigation ul ul {
  position: static;
  width: 98%;
  margin-left: 2%;
}

.main-navigation ul li:hover > ul:after,
.main-navigation ul ul li:hover > ul:after,
.main-navigation ul li:hover > ul:before,
.main-navigation ul ul li:hover > ul:before {
  display: none;
}

.sub-menu {
  display: none;
}

/*--------------------------------------------------------------
7.0 Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  -webkit-clip-path: none;
          clip-path: none;
  color: #21759b;
  display: block;
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0;
}

/*--------------------------------------------------------------
8.0 Alignments
--------------------------------------------------------------*/
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.text-center {
  text-align: center;
}

/*--------------------------------------------------------------
9.0 Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table;
  table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both;
}

/*--------------------------------------------------------------
10.0 Header
--------------------------------------------------------------*/
.slide-out {
  position: fixed;
  top: 0;
  left: -250px;
  width: 250px;
  height: 100%;
  background-color: rgba(23, 28, 18, 0.9);
  z-index: 11;
  color: #fff;
  padding: 110px 0 185px;
  min-height: 620px;
}

.contact-details-mobile {
  display: none;
}

.logged-in .slide-out {
  padding: 140px 0 185px;
}

.slide-out.open {
  left: 0;
}

.site-header > .slideout-menu-toggle {
  cursor: pointer;
  position: fixed;
  top: 10px;
  left: 8px;
  z-index: 12;
  width: 40px;
  height: 35px;
  padding: 5px;
  background: none;
  margin-top: 0;
}

.logged-in .site-header > .slideout-menu-toggle {
  top: 40px;
}

.customize-partial-edit-shortcuts-shown .site-header > .slideout-menu-toggle {
  top: 8px;
}

.site-header > .slideout-menu-toggle.hide-on {
  left: 208px;
}

/* Icon 1 */
#lines {
  width: 30px;
  height: 20px;
  position: relative;
  margin: 0;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
      transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
}

#lines span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: #fff;
  border-radius: 9px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
      transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

#lines span:nth-child(1) {
  top: 0px;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
      transform-origin: left center;
}

#lines span:nth-child(2) {
  top: 7px;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
      transform-origin: left center;
}

#lines span:nth-child(3) {
  top: 14px;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
      transform-origin: left center;
}

.hide-on #lines span:nth-child(1) {
  -webkit-transform: rotate(42deg);
  -ms-transform: rotate(42deg);
      transform: rotate(42deg);
  top: -1px;
  left: 4px;
}

.hide-on #lines span:nth-child(2) {
  width: 0%;
  opacity: 0;
}

.hide-on #lines span:nth-child(3) {
  -webkit-transform: rotate(-42deg);
  -ms-transform: rotate(-42deg);
      transform: rotate(-42deg);
  top: 19px;
  left: 4px;
}

.slide-out .slideout-menu-toggle {
  width: 22px;
  height: 21px;
  top: -3px;
  position: absolute;
  right: 3px;
  display: none;
  cursor: pointer;
}

.site-branding {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  position: relative;
  text-align: center;
  padding-bottom: 25px;
  margin: 0 15px;
}

.site-branding a {
  display: inline-block;
}

.site-title {
  font-size: 46px;
  font-size: 2.875rem;
  margin-bottom: 10px;
  margin-top: 0;
}

.site-title a {
  color: #fff;
  text-decoration: none;
  position: relative;
}

.site-title a:after {
  content: "";
  display: block;
  width: 80px;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.2);
  position: absolute;
  left: 50%;
  margin-left: -40px;
}

.site-title a:hover,
.site-title a:focus,
.site-title a:active {
  color: #9E926E;
}

.wp-custom-logo .site-title {
  margin-top: 5px;
}

.site-description {
  font-size: 8px;
  font-family: Arial, sans-serif;
  font-weight: bold;
  margin-bottom: 0;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 4px;
}

.copyright {
  font-size: 12px;
  font-size: 0.75rem;
  position: absolute;
  padding: 12px 15px 0;
  display: block;
  left: 0;
  bottom: 20px;
  width: calc(100% - 30px);
  margin: 0 15px;
}

.social-connect {
  border-top: 1px solid #fff;
  border-top: 1px solid rgba(255, 255, 255, 0.39);
  padding: 15px 10px 15px 15px;
}

.slide-out .social-connect {
  position: absolute;
  bottom: 100px;
  left: 0;
  margin-left: 15px;
  margin-right: 15px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.39);
  width: calc(100% - 30px);
}

.social-connect > span {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-right: 10px;
  float: left;
  line-height: 28px;
}

.social-connect.four-media > span {
  display: block;
  margin-bottom: 8px;
}

.social-connect.four-media a {
  float: left;
}

.social-connect a {
  float: left;
  color: #fff;
  width: 20px;
  height: 25px;
  text-align: center;
  margin-right: 9px;
  padding-top: 1px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.social-connect a .fa {
  position: relative;
  top: -2px;
}

.social-connect a:hover {
  text-decoration: none;
  color: #9E926E;
}

.header-bar {
  font-size: 15px;
  font-size: 0.9375rem;
  color: #fff;
  padding: 9px 0 9px 23%;
  background-color: #9E926E;
  position: relative;
  z-index: 11;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  min-height: 52px;
}

.logged-in .header-bar {
  top: 32px;
}

.customize-partial-edit-shortcuts-shown .header-bar {
  top: 0;
}

.header-bar .row {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.header-bar .left-text-block {
  display: block;
  padding-top: 3px;
}

.header-bar .middle-text-block {
  display: block;
  padding-top: 3px;
}

.header-bar .left-text-block a,
.header-bar .middle-text-block a,
.header-bar .right-text-block a {
  color: #fff;
}

.header-bar .left-text-block a:hover .header-bar .middle-text-block a:hover,
.header-bar .right-text-block a:hover {
  text-decoration: none;
  color: #CECBCB;
}

.header-bar .right-text-block {
  float: left;
  padding-top: 3px;
}

.btn.border-btn {
  display: inline-block;
  border: 1px solid #fff;
  color: #fff;
  padding: 3px 22px;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.btn.border-btn:hover {
  color: #4D4D4D;
  border: 1px solid #fff;
  background-color: #fff;
}

.header-bar .btn.border-btn {
  margin-left: 0;
  position: absolute;
  right: 15px;
  top: 0;
}

/* Interior Header */
.interior-hero, .featured-thumbnail {
  position: relative;
  padding-top: 50px;
  max-height: 400px;
  overflow: hidden;
}

.interior-hero .page-title, .featured-thumbnail .page-title {
  color: #fff;
  margin: 20px 0 20px 0;
}

.interior-hero img, .featured-thumbnail img {
  width: 100%;
  display: block;
}

.interior-hero .title-wrap, .featured-thumbnail .title-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  max-width: 1200px;
  padding: 50px 15px 0;
  color: #fff;
  text-align: center;
}

.interior-hero .title-wrap .archive-description p, .featured-thumbnail .title-wrap .archive-description p {
  margin-bottom: 0;
}

/*--------------------------------------------------------------
11.0 Footer
--------------------------------------------------------------*/
.site-footer {
  background-color: #171C12;
  color: #fff;
  font-size: 12px;
  font-size: 0.75rem;
  padding: 32px 0;
}

.site-info__copyright {
  float: left;
}

.site-info__credit {
  float: right;
}

.site-info a {
  color: #fff;
  text-decoration: none;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}

.site-info a:hover {
  color: #9E926E;
}

/*--------------------------------------------------------------
12.0 Template Layout
--------------------------------------------------------------*/
.site-content {
  padding: 60px 0;
}

.restaurant-template .site-content {
  padding: 0;
}

.content-area {
  float: left;
  width: 57.3%;
}

.site-content .widget-area {
  float: right;
  width: 31.62%;
}

/* Left Sidebar Layout */
.left-sidebar-layout .content-area {
  float: right;
}

.left-sidebar-layout .site-content .widget-area {
  float: left;
}

/* No Sidebar Layout */
.no-sidebar-layout .content-area,
.search .content-area,
.archive .content-area,
.blog .content-area,
.error404 .content-area {
  width: 100%;
  margin: 0 auto;
  float: none;
}

/* Full Width Layout */
.full-width-layout .content-area,
.page-template-default .content-area,
.home.page-template .content-area {
  width: 100%;
  float: none;
}

/*--------------------------------------------------------------
13.0 Widgets
--------------------------------------------------------------*/
.widget {
  margin-bottom: 40px;
  /* Make sure select elements fit in widgets. */
}

.widget select {
  max-width: 100%;
  width: 100%;
  background: url(assets/images/dropdown-arrow.png) no-repeat 96% center;
  background: url(assets/images/dropdown-arrow.svg) no-repeat 96% center, -webkit-linear-gradient(transparent, transparent);
  background: url(assets/images/dropdown-arrow.svg) no-repeat 96% center, linear-gradient(transparent, transparent);
  background-color: #fff;
  padding: 8px 32px 8px 15px;
  margin: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
}

.widget-title {
  font-size: 28px;
  font-size: 1.75rem;
  margin-bottom: 15px;
}

.widget-title a {
  color: inherit;
}

/* Search Widget */
.search-form {
  position: relative;
}

.search-form input[type="search"].search-field {
  width: 100%;
  padding-right: 70px;
  -webkit-appearance: none;
}

.search-form .search-submit {
  background: url("assets/images/icon_search.png") no-repeat center center;
  background: url(assets/images/icon_search.svg) no-repeat center center, -webkit-linear-gradient(transparent, transparent);
  background: url(assets/images/icon_search.svg) no-repeat center center, linear-gradient(transparent, transparent);
  background-color: #9E926E;
  border-radius: 0;
  bottom: 0;
  overflow: hidden;
  padding: 0;
  width: 56px;
  position: absolute;
  right: 0;
  top: 0;
  font-size: 0;
  margin-top: 0;
}

/* Widget Gallery */
.widget_media_gallery .gallery-item {
  display: inline-block;
  text-align: left;
  vertical-align: top;
  margin: 0 0 1em;
  padding: 0 1em 0 0;
  width: 50%;
}

.widget_media_gallery .gallery-item img {
  display: block;
  width: 100%;
}

/* Widget Recent Post */
.widget_recent_entries .post-date {
  opacity: 0.5;
}

/* Widget Calendar */
.calendar_wrap caption {
  font-size: 26px;
  font-size: 1.625rem;
  font-family: "Great Vibes", cursive;
  margin-bottom: 20px;
}

.calendar_wrap table, .calendar_wrap th, .calendar_wrap td {
  border: none;
}

.calendar_wrap tr:nth-child(odd) td {
  background-color: transparent;
}

.calendar_wrap td {
  padding: 4px 7px;
  text-align: center;
}

.calendar_wrap tbody tr:first-child td {
  padding: 15px 7px 4px;
}

.calendar_wrap tbody tr:last-child td {
  padding: 4px 7px 15px;
}

.calendar_wrap th {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 1px 7px;
  font-size: 16px;
  font-size: 1rem;
}

.calendar_wrap a {
  color: #9E926E;
  text-decoration: none;
}

.calendar_wrap a:hover {
  opacity: 0.5;
}

.calendar_wrap tfoot a {
  color: #171C12;
  font-size: 16px;
  font-size: 1rem;
}

.calendar_wrap tfoot a:hover {
  color: #9E926E;
  text-decoration: none;
}

.calendar_wrap tfoot td {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  text-align: right;
  padding: 1px 7px;
}

.calendar_wrap tfoot td:first-child {
  text-align: left;
}

/* widget lists */
.widget ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.widget ul li,
.widget ol li {
  border-bottom: 1px solid rgba(158, 146, 110, 0.2);
  padding: 11px 0;
  line-height: 1.2;
}

.widget ul li a,
.widget ol li a {
  color: #171C12;
  text-decoration: none;
}

.widget ul li a:hover,
.widget ol li a:hover {
  text-decoration: underline;
}

.widget ul li ul {
  margin: 0 0 -1px;
  padding: 0;
  position: relative;
}

.widget ul li li {
  border: 0;
  padding-left: 24px;
}

/* Widget - Featured Block */
.container-fullwidth {
  padding: 0 15px;
}

.widget.widget-featured-block {
  margin: 0;
  background-color: #fff;
}

.intro-inner {
  padding: 12% 7% 5% 13%;
}

.btn-group {
  margin: 50px 0 70px;
}

.btn-group .btn {
  margin-right: 25px;
  margin-bottom: 20px;
}

.btn-group .btn:last-child {
  margin-right: 0;
}

.btn.btn-primary {
  display: inline-block;
  padding: 11px 30px;
  text-align: center;
  background-color: #9E926E;
  min-width: 250px;
  color: #fff;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  letter-spacing: 2px;
}

.btn.btn-primary:hover, .btn.btn-primary:focus {
  background-color: #171C12;
}

.btn.btn-secondary {
  display: inline-block;
  padding: 11px 30px;
  text-align: center;
  background-color: rgba(158, 146, 110, 0.2);
  min-width: 250px;
  color: #171C12;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  letter-spacing: 2px;
}

.btn.btn-secondary:hover, .btn.btn-secondary:focus {
  background-color: #171C12;
  color: #fff;
}

.btn.btn-tertiary {
  display: inline-block;
  padding: 11px 30px;
  text-align: center;
  background-color: #fff;
  min-width: 250px;
  text-transform: uppercase;
  color: #171C12;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  letter-spacing: 2px;
}

.btn.btn-tertiary:hover {
  background-color: #171C12;
  color: #fff;
}

/* Review Section */
.widget.widget-review {
  padding: 50px 0 60px;
  background-color: #ECE9E2;
  margin: 0;
}

.review-slider {
  clear: left;
  padding: 0 100px 0 110px;
  margin-bottom: 20px;
}

.table-layout {
  display: table;
  width: 100%;
  padding-top: 50px;
}

.table-layout .table-cell {
  display: table-cell;
  width: 50%;
  vertical-align: middle;
  padding: 0 0 0 130px;
}

.table-layout .table-cell:first-child {
  width: 18%;
  padding: 0;
}

.table-layout .table-cell.no-image:first-child {
  width: 100%;
  text-align: center;
}

.review-slider.owl-carousel .owl-nav button.owl-prev {
  background: url(assets/images/dark-arrow-left.svg) no-repeat 0 0;
  left: 15px;
}

.review-slider.owl-carousel .owl-nav button.owl-next {
  background: url(assets/images/dark-arrow-right.svg) no-repeat 0 0;
  right: 15px;
}

.review-slider.owl-carousel .owl-item img {
  width: auto;
}

.block-title {
  margin-bottom: 0;
}

/* Widget - Call For Action */
.widget.widget-cfa {
  color: #fff;
  margin: 0;
}

.widget.widget-cfa .layout-style2 {
  padding: 70px 0;
}

.section-heading {
  font-family: Georgia, "Times New Roman", Times, serif;
  letter-spacing: 32px;
  margin: 165px 0 130px;
}

/*--------------------------------------------------------------
14.0 Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
11.1 Posts and pages
--------------------------------------------------------------*/
/*--------------------------------------------------------------
14.1 Posts and pages
--------------------------------------------------------------*/
.sticky {
  display: block;
}

.hentry {
  margin: 0 0 1.5em;
}

.updated:not(.published) {
  display: none;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

.entry-meta {
  font-size: 12px;
  font-size: 0.75rem;
  margin-bottom: 20px;
}

.entry-meta span.posted-on {
  font-size: 0;
}

.entry-meta span.posted-on a {
  font-size: 12px;
  font-size: 0.75rem;
}

.site-main .posts-navigation,
.site-main .post-navigation,
.site-main .image-navigation {
  margin: 60px 0;
  width: 100%;
}

.nav-previous,
.nav-next {
  position: relative;
  line-height: 1.2;
}

.nav-previous a,
.nav-next a {
  font-size: 20px;
  font-size: 1.25rem;
  color: #171C12;
  font-weight: 700;
  display: inline-block;
}

.nav-previous a:hover,
.nav-next a:hover {
  opacity: 0.7;
}

.image-navigation .nav-previous,
.image-navigation .nav-next {
  font-size: 20px;
  font-size: 1.25rem;
  color: #171C12;
  font-weight: 700;
  display: inline-block;
}

.image-navigation .nav-previous:hover,
.image-navigation .nav-next:hover {
  opacity: 0.7;
}

.nav-previous a:before,
.image-navigation .nav-previous:before {
  content: "";
  background: url(assets/images/nav-arrow-left.svg) no-repeat 0 0;
  display: block;
  padding-bottom: 35px;
  width: 30px;
  height: 10px;
}

.nav-previous a:after,
.image-navigation .nav-previous:after {
  content: "PREVIOUS";
  display: block;
  top: 20px;
  left: 0;
  position: absolute;
  color: rgba(23, 28, 18, 0.5);
  font-size: 10px;
  font-size: 0.625rem;
}

.image-navigation .nav-previous:after {
  content: "PREVIOUS IMAGE";
}

.nav-next a:before,
.image-navigation .nav-next:before {
  content: "";
  background: url(assets/images/nav-arrow-right.svg) no-repeat 100% 0;
  display: block;
  padding-bottom: 35px;
}

.nav-next a:after,
.image-navigation .nav-next:after {
  content: "NEXT";
  display: block;
  top: 20px;
  right: 0;
  position: absolute;
  color: rgba(23, 28, 18, 0.5);
  font-size: 10px;
  font-size: 0.625rem;
}

.image-navigation .nav-next:after {
  content: "NEXT IMAGE";
}

.entry-title {
  font-size: 30px;
  font-size: 1.875rem;
  color: #171C12;
  margin-bottom: 10px;
  line-height: 1.2;
  word-break: break-word;
}

.entry-title a {
  color: inherit;
}

.post-thumbnail {
  display: block;
  margin-bottom: 8px;
}

.post-thumbnail img {
  display: block;
}

.cat-links, .tags-links {
  font-size: 14px;
  font-size: 0.875rem;
  display: block;
  margin-bottom: 15px;
  line-height: 1.3;
}

.entry-summary p {
  margin-bottom: 15px;
}

.blog .site-content,
.archive .site-content,
.search .site-content {
  padding: 60px 0 20px;
}

.blog .site-main .col-md-4 > article,
.archive .site-main .col-md-4 > article,
.search .site-main .col-md-4 > article {
  margin-bottom: 60px;
}

.error-404 {
  text-align: center;
  margin-bottom: 40px;
}

.error-404 .search-form {
  width: 290px;
  display: inline-block;
}

.mejs-container {
  margin-bottom: 30px;
}

.post-password-required input[type="submit"] {
  padding: 11px 30px;
}

.no-results {
  text-align: center;
  margin-bottom: 40px;
}

.no-results .search-form {
  width: 290px;
  display: inline-block;
}

.edit-link {
  font-size: 14px;
  font-size: 0.875rem;
}

/*--------------------------------------------------------------
11.2 Comments
--------------------------------------------------------------*/
/*--------------------------------------------------------------
14.2 Comments
--------------------------------------------------------------*/
.comments-title {
  font-size: 40px;
  font-size: 2.5rem;
}

.comment-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.comment-list .children {
  list-style: none;
}

.comment-list .pingback {
  margin-bottom: 15px;
}

.comment-meta:after {
  content: "";
  display: table;
  clear: both;
}

.comment-content {
  margin-left: 100px;
  padding: 20px 20px 0;
  background: rgba(158, 146, 110, 0.2);
}

.comment-content a {
  word-wrap: break-word;
}

.comment-content p {
  margin: 0 0 20px 0;
}

.comment-content + .reply {
  margin-left: 100px;
  margin-bottom: 30px;
}

.bypostauthor {
  display: block;
}

.comment-author img {
  width: 100%;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  float: left;
  margin-right: 30px;
}

.comment-author .fn {
  display: block;
  overflow: hidden;
  font-size: 24px;
  font-size: 1.5rem;
}

.comment-author .fn a {
  color: #171C12;
  text-decoration: none;
}

.comment-author .says {
  display: none;
}

.comment-metadata {
  font-size: 14px;
  font-size: 0.875rem;
  color: #9E926E;
  line-height: 1;
}

.comment-metadata a {
  text-decoration: none;
}

.comment-metadata .edit-link {
  margin-left: 10px;
}

.comment-reply-title {
  font-size: 32px;
  font-size: 2rem;
}

.comment-form {
  max-width: 430px;
  margin-bottom: 35px;
}

.comment-form label {
  display: block;
}

.comment-form > p {
  margin-bottom: 15px;
}

.comment-form input {
  width: 100%;
}

.comment-form-comment textarea {
  height: 150px;
}

.form-submit input {
  width: auto;
}

#cancel-comment-reply-link {
  margin-left: 30px;
  font-size: 16px;
  font-family: Georgia, "Times New Roman", Times, serif;
}

.comment-body + .comment-respond,
.comment-list + .comment-respond {
  margin-left: 100px;
}

.no-comments {
  margin-top: 20px;
}

.comment-list .children .children .children .children li {
  margin-bottom: 10px;
}

/*--------------------------------------------------------------
15.0 Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  /* Theme Footer (when set to scrolling) */
  display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
16.0 Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/*--------------------------------------------------------------
16.1 Captions
--------------------------------------------------------------*/
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 8px 0;
  color: rgba(23, 28, 18, 0.5);
  font-size: 14px;
  font-size: 0.875rem;
}

.wp-caption-text {
  text-align: center;
}

/*--------------------------------------------------------------
16.2 Galleries
--------------------------------------------------------------*/
.gallery {
  margin-bottom: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}

.gallery-columns-2 .gallery-item {
  max-width: 50%;
}

.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
  max-width: 25%;
}

.gallery-columns-5 .gallery-item {
  max-width: 20%;
}

.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
17.0 bbPress Support
--------------------------------------------------------------*/
#bbpress-forums,
#bbpress-forums button,
#bbpress-forums ul.bbp-lead-topic,
#bbpress-forums ul.bbp-topics,
#bbpress-forums ul.bbp-forums,
#bbpress-forums ul.bbp-replies,
#bbpress-forums ul.bbp-search-results,
div.bbp-search-form input,
div.bbp-search-form button,
div.bbp-breadcrumb,
div.bbp-topic-tags {
  font-size: 14px;
}

#bbpress-forums div.bbp-search-form {
  float: none;
}

#bbpress-forums #bbp-search-form #bbp_search {
  width: 70%;
  border-radius: 0px;
  border-right: 0 none;
}

#bbpress-forums #bbp-search-form #bbp_search_submit {
  height: 46px;
  margin-left: -4px;
  border-radius: 0px;
  display: inline-block;
  margin-bottom: 0;
  width: 30%;
}

#bbpress-forums div.bbp-topic-author a.bbp-author-name,
#bbpress-forums div.bbp-reply-author a.bbp-author-name {
  display: inline-block;
}

div.bbp-submit-wrapper button {
  border: 0 none;
  cursor: pointer;
  margin-bottom: 10px;
  color: #fff;
  text-transform: uppercase;
  display: block;
  text-align: center;
  height: 40px;
  padding: 0px 20px;
  border-radius: 3px;
  background-color: #91C444;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  font-family: inherit;
}

#bbpress-forums button:hover {
  background-color: #333;
}

#bbpress-forums fieldset.bbp-form select {
  height: 40px;
}

#bbpress-forums div.bbp-the-content-wrapper input {
  text-transform: none;
}

/*--------------------------------------------------------------
18.0 Restaurant Template
--------------------------------------------------------------*/
/* Full Screen Slider */
html,
body {
  height: 100%;
  min-height: 100%;
}

.site,
.hero-slider,
.hero-slider .owl-stage-outer,
.hero-slider .owl-stage,
.hero-slider .owl-item,
.hero-slider .slide {
  height: 100%;
}

.hero-slider .owl-item {
  position: relative;
}

.hero-content {
  width: 770px;
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
}

.hero-title {
  color: #fff;
  line-height: 1.2;
  font-size: 60px;
  font-size: 3.75rem;
  margin-bottom: 0;
  letter-spacing: 6px;
}

.hero-title a {
  color: inherit;
}

.hero-title a:hover {
  text-decoration: none;
  color: #9E926E;
}

.hero-sub-title {
  font-style: italic;
  font-size: 24px;
  font-size: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.51);
  padding: 20px 0;
  font-family: Georgia, "Times New Roman", Times, serif;
  color: #fff;
  letter-spacing: 3px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  margin-top: 8px;
}

.owl-carousel .owl-dots {
  text-align: center;
  position: absolute;
  bottom: 27px;
  left: 0;
  width: 100%;
}

.owl-carousel .owl-dots .owl-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin: 0 4px;
  padding: 0;
  background-color: rgba(255, 255, 255, 0.5);
  outline: none;
  background-clip: content-box;
  border: 2px solid transparent;
  display: inline-block;
  vertical-align: middle;
}

.owl-carousel .owl-dots .owl-dot.active {
  background-color: #fff;
  margin: 0 4px;
  border: none;
}

.owl-carousel .owl-prev {
  position: absolute;
  top: 48%;
  left: 8%;
}

.owl-carousel .owl-next {
  position: absolute;
  top: 48%;
  right: 8%;
}

.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next {
  width: 20px;
  height: 65px;
  font-size: 0;
  outline: none;
}

.owl-carousel .owl-nav button.owl-prev {
  background: url(assets/images/light-arrow-left.svg) no-repeat 0 0;
}

.owl-carousel .owl-nav button.owl-next {
  background: url(assets/images/light-arrow-right.svg) no-repeat 0 0;
}

/* Reservation Section */
.reservation-section {
  padding: 85px 0 60px;
  background-color: #171C12;
  color: #fff;
}

.reservation-section .block-heading {
  margin-bottom: 42px;
}

.reservation-section .site-branding {
  border-bottom: none;
  margin: 140px 0 0;
  padding: 20px 0;
  width: 100%;
}

.reservation-section .social-connect {
  text-align: center;
  border-top: none;
  padding: 0;
}

.reservation-section .social-connect a {
  float: none;
  height: 25px;
  width: 22px;
  display: inline-block;
}

.reservation-section .social-connect a .fa {
  font-size: 16px;
}

.footer-contact {
  font-size: 14px;
  font-size: 0.875rem;
}

.footer-contact .phone-fax,
.footer-contact .footer-address,
.footer-contact .footer-email {
  padding-left: 60px;
  padding-bottom: 40px;
  background-position: 0 6px;
  line-height: 1.4;
}

.footer-contact .footer-address {
  background-image: url(assets/images/pointer.png);
  background-image: url(assets/images/pointer.svg), -webkit-linear-gradient(transparent, transparent);
  background-image: url(assets/images/pointer.svg), linear-gradient(transparent, transparent);
  background-repeat: no-repeat;
  display: block;
  margin-top: 130px;
}

.footer-contact .footer-address p {
  margin-bottom: 20px;
}

.footer-contact .phone-fax {
  background-image: url(assets/images/bell.png);
  background-image: url(assets/images/bell.svg), -webkit-linear-gradient(transparent, transparent);
  background-image: url(assets/images/bell.svg), linear-gradient(transparent, transparent);
  background-repeat: no-repeat;
}

.footer-contact .footer-email {
  background-image: url(assets/images/spoons.png);
  background-image: url(assets/images/spoons.svg), -webkit-linear-gradient(transparent, transparent);
  background-image: url(assets/images/spoons.svg), linear-gradient(transparent, transparent);
  background-repeat: no-repeat;
  display: block;
}

.phone-fax span {
  display: block;
}

.footer-email a {
  display: inline-block;
}

.catering-details a,
.footer-phone a,
.footer-fax a,
.footer-email a {
  color: #fff;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.catering-details a:hover,
.footer-phone a:hover,
.footer-fax a:hover,
.footer-email a:hover {
  color: #9E926E;
}

/* Contact Form 7 Support */
.wpcf7-form {
  padding: 50px 50px 20px;
  margin: 0 20px;
  background: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.wpcf7-form label {
  color: #171C12;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.7;
  display: block;
  font-weight: bold;
}

.wpcf7-form p {
  margin: 0 0 15px 0;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="date"],
.wpcf7-form input[type="number"],
.wpcf7-form textarea {
  background-color: #fff;
  width: 100%;
}

.wpcf7-form textarea {
  height: 150px;
}

.wpcf7-form p.half-col {
  width: 48%;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 48%;
      -ms-flex: 0 0 48%;
          flex: 0 0 48%;
}

.wpcf7-form p.one-third-col {
  width: 31%;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 31%;
      -ms-flex: 0 0 31%;
          flex: 0 0 31%;
}

.wpcf7-form .wpcf7-select {
  border: 1px solid rgba(23, 28, 18, 0.5);
  max-width: 100%;
  width: 100%;
  background: url(assets/images/dropdown-arrow.png) no-repeat 95% center;
  background: url(assets/images/dropdown-arrow.svg) no-repeat 95% center, -webkit-linear-gradient(transparent, transparent);
  background: url(assets/images/dropdown-arrow.svg) no-repeat 95% center, linear-gradient(transparent, transparent);
  background-color: #fff;
  padding: 8px 32px 8px 15px;
  margin: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
}

.wpcf7-form p.one-third-col .wpcf7-select {
  background-position: 92% center;
}

.wpcf7-form span.wpcf7-not-valid-tip {
  color: #da1414;
  font-size: 12px;
  font-size: 0.75rem;
  display: block;
  margin-top: 6px;
}

.wpcf7-form div.wpcf7-validation-errors, .wpcf7-form div.wpcf7-acceptance-missing {
  border-color: #da1414;
  color: #da1414;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.3;
  padding: 10px 20px;
  margin-top: 10px;
}

.wpcf7-form div.wpcf7-mail-sent-ok {
  color: green;
  line-height: 1.2;
  padding: 10px 20px;
}

/* Placeholder text color -- selectors need to be separate to work. */
::-webkit-input-placeholder {
  color: #171C12;
}

:-moz-placeholder {
  color: #171C12;
}

::-moz-placeholder {
  color: #171C12;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #171C12;
}

/* Bottom Widget Area */
.bottom-widget-area {
  padding: 60px 0 40px;
  background-color: #ECE9E2;
}

/*--------------------------------------------------------------
19.0 Media Queries
--------------------------------------------------------------*/
@media only screen and (min-width: 1367px) {
  .header-bar .right-text-block {
    float: none;
    display: block;
  }
  .intro-inner {
    padding: 12% 12% 5% 13%;
  }
}

@media only screen and (max-width: 1200px) {
  .slide-out .site-title a:hover,
  .slide-out .site-title a:focus,
  .slide-out .site-title a:active {
    color: rgba(23, 28, 18, 0.8);
  }
  body.mobile-menu-active {
    overflow: hidden;
    position: relative;
  }
  .slide-out {
    position: fixed;
    height: 100%;
    overflow-y: scroll;
    left: -250px !important;
    width: 250px !important;
    background-color: #9E926E;
    display: none;
  }
  .slide-out.open {
    width: 100% !important;
    left: 0 !important;
    z-index: 12;
    padding: 25px 0;
    display: block;
  }
  .slide-out .main-navigation {
    height: auto !important;
    margin: 30px auto;
    width: 50%;
  }
  .slide-out .social-connect,
  .slide-out .copyright {
    position: static;
    margin: 0 auto;
    width: 50%;
  }
  .slide-out .copyright {
    line-height: 1.3;
  }
  .slide-out .copyright a {
    color: #fff;
    text-decoration: underline;
  }
  .slide-out .copyright a:hover {
    text-decoration: none;
  }
  .site-branding {
    margin: 0 auto;
    width: 50%;
  }
  .social-connect > span {
    line-height: 26px;
  }
  .contact-details-mobile {
    display: block;
    margin: 25px auto 35px;
    width: 50%;
  }
  .contact-details-mobile span {
    display: block;
    text-align: center;
    font-size: 12px;
    font-size: 0.75rem;
  }
  .contact-details-mobile a {
    color: #fff;
    border-bottom: 1px solid #fff;
  }
  .social-connect {
    padding: 15px 10px 15px 15px;
  }
  .social-connect:after {
    content: "";
    display: table;
    clear: both;
  }
  .header-bar .row > div {
    display: none;
  }
  .header-bar .row > div:last-child {
    display: block;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .header-bar .row > div:last-child .business-hours {
    display: none;
  }
  .main-navigation ul ul {
    position: static;
    width: 98%;
    margin-left: 2%;
  }
  .main-navigation ul li:hover > ul:after,
  .main-navigation ul ul li:hover > ul:after,
  .main-navigation ul li:hover > ul:before,
  .main-navigation ul ul li:hover > ul:before {
    display: none;
  }
  .sub-menu {
    display: none;
  }
  .site-header > .slideout-menu-toggle.hide-on {
    left:8px !important;
    z-index: 13;
  }
  .header-bar {
    padding: 9px 0 9px 60px;
  }
  .main-navigation a {
    margin-right: 40px;
    display: block;
  }
  .main-navigation li {
    clear: both;
  }
  .main-navigation ul ul li:hover {
    background-color: #9E926E;
  }
  .review-slider {
    padding: 0 50px;
  }
  .table-layout .table-cell {
    padding: 0 0 0 50px;
  }
  .slide-out .social-connect a:hover {
    color: #171C12;
  }
}

@media only screen and (max-width: 992px) {
  div.wpcf7 {
    margin: 50px 0;
  }
  h1 {
    font-size: 50px;
    font-size: 3.125rem;
  }
  h2 {
    font-size: 40px;
    font-size: 2.5rem;
  }
  h3 {
    font-size: 32px;
    font-size: 2rem;
  }
  h4 {
    font-size: 24px;
    font-size: 1.5rem;
  }
  h5 {
    font-size: 20px;
    font-size: 1.25rem;
  }
  h6 {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .hero-content {
    width: 90%;
    padding: 0 20px;
  }
  .intro-inner,
  .widget_services .intro-inner {
    padding: 40px 10%;
  }
  .table-layout,
  .table-cell {
    display: block;
  }
  .table-layout .table-cell {
    display: block;
    width: auto;
    padding: 30px 0 0 0;
    text-align: center;
  }
  .table-layout .table-cell:first-child {
    width: auto;
    padding: 0;
  }
  .widget.widget_review {
    padding: 40px 0;
  }
  .review-slider {
    margin-bottom: 0;
  }
  .reservation-section .site-branding {
    margin: 0 auto;
  }
  .reservation-section .social-connect {
    margin-bottom: 40px;
  }
  .reservation-section .block-heading {
    margin-bottom: 42px;
  }
  .footer-contact .footer-address {
    margin-top: 30px;
  }
  .comment-meta {
    margin-bottom: 20px;
  }
  .comment-author .fn {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.2;
  }
  .comment-author img {
    width: 40px;
    height: 40px;
    margin-right: 20px;
  }
  .comment-content {
    margin-left: 60px;
  }
  .comment-content + .reply {
    margin-left: 60px;
  }
  .comment-metadata {
    margin-left: 60px;
  }
}

@media screen and (max-width: 782px) {
  .logged-in .header-bar {
    top: 46px;
  }
  .logged-in .site-header > .slideout-menu-toggle {
    top: 57px;
  }
}

@media only screen and (max-width: 768px) {
  body {
    font-size: 14px;
    font-size: 0.875rem;
  }
  h1 {
    font-size: 40px;
    font-size: 2.5rem;
    margin-bottom: 32px;
  }
  h2 {
    font-size: 34px;
    font-size: 2.125rem;
  }
  h3 {
    font-size: 28px;
    font-size: 1.75rem;
  }
  h4 {
    font-size: 24px;
    font-size: 1.5rem;
  }
  h5 {
    font-size: 20px;
    font-size: 1.25rem;
  }
  h6 {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .hero-title {
    font-size: 40px;
    font-size: 2.5rem;
  }
  .hero-sub-title {
    font-size: 20px;
    font-size: 1.25rem;
    padding: 15px 0;
  }
  .hero-content {
    width: 100%;
    padding: 0 20px;
  }
  .owl-carousel .owl-dots {
    bottom: 7px;
  }
  .interior-hero .title-wrap, .featured-thumbnail .title-wrap {
    width: 100%;
  }
  .equal-col {
    height: auto !important;
  }
  .btn-group {
    margin: 30px 0 10px;
  }
  .layout-style1 .background-holder {
    min-height: 400px;
  }
  .site-info {
    text-align: center;
  }
  .site-info__copyright, .site-info__credit {
    float: none;
  }
  .slide-out .site-branding,
  .slide-out .contact-details-mobile,
  .slide-out .main-navigation,
  .slide-out .social-connect,
  .slide-out .copyright {
    width: 80%;
  }
  .section-heading {
    margin: 60px 0;
  }
  .reservation-section {
    padding: 40px 0 0;
  }
  .reservation-section .block-heading {
    margin-bottom: 20px;
  }
  .wpcf7-form {
    padding: 30px 30px 20px;
    margin: 0;
  }
  div.wpcf7 {
    margin: 30px 0;
  }
  .content-area,
  .site-content .widget-area {
    width: 100%;
  }
  .site-content {
    padding: 40px 0;
  }
  .blog .site-main .col-md-4 > article,
  .archive .site-main .col-md-4 > article,
  .search .site-main .col-md-4 > article {
    margin-bottom: 40px;
  }
  .wp-custom-header .title-wrap,
  .featured-thumbnail .title-wrap {
    width: 100%;
    text-align: center;
    top: 60%;
  }
  .wp-custom-header .title-wrap .page-title,
  .featured-thumbnail .title-wrap .page-title {
    font-size: 30px;
    font-size: 1.875rem;
    margin: 10px 0 5px 0;
  }
  .comments-title {
    font-size: 30px;
    font-size: 1.875rem;
  }
  .comment-meta {
    margin-bottom: 10px;
  }
  table th, table td {
    padding: 5px 3px;
    font-size: 13px;
    font-size: 0.8125rem;
  }
  .section-heading {
    letter-spacing: 5px;
  }
}

@media screen and (max-width: 460px) {
  .intro-inner,
  .widget_services .intro-inner {
    padding: 40px 0;
  }
  li > ul,
  li > ol {
    margin-left: 1em;
  }
  .interior-hero .page-title, .featured-thumbnail .page-title {
    font-size: 28px;
    font-size: 1.75rem;
  }
  .comment-author img {
    width: 30px;
    height: 30px;
    margin-right: 10px;
  }
  .comment-metadata {
    margin-top: 5px;
    font-size: 12px;
    font-size: 0.75rem;
  }
  .comment-metadata .edit-link {
    font-size: 12px;
    font-size: 0.75rem;
  }
  .comment-metadata,
  .comment-content {
    margin-left: 40px;
  }
}

/*--------------------------------------------------------------
20.0 Animate CSS
--------------------------------------------------------------*/
/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.6.0
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2018 Daniel Eden
 */
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

@-webkit-keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}

@keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  -ms-transform-origin: center bottom;
      transform-origin: center bottom;
}

@-webkit-keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}

@keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}

.flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
}

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand;
}

@-webkit-keyframes shake {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

@keyframes shake {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

.shake {
  -webkit-animation-name: shake;
  animation-name: shake;
}

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

.headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake;
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

.swing {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
      transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}

@-webkit-keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

@keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

.jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
      transform-origin: center;
}

@-webkit-keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.bounceIn {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}

.bounceOut {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

.flipOutX {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

.flipOutY {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-name: hinge;
  animation-name: hinge;
}

@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.jackInTheBox {
  -webkit-animation-name: jackInTheBox;
  animation-name: jackInTheBox;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

@keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown;
}

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft;
}

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight;
}

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp;
}

@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}

@keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}

.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
}

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
}

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
}

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
}

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
}

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown;
}

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}

/*--------------------------------------------------------------
21.0 WooCommerce
--------------------------------------------------------------*/
/*
Theme Name: finedine

WooCommerce styles override
*/
/**
 * WooCommerce color variables
 */
/**
 * Shop tables
 */
/**
 * Shop tables
 */
table.shop_table_responsive thead {
  display: none;
}

table.shop_table_responsive tbody th {
  display: none;
}

table.shop_table_responsive tr td {
  display: block;
  text-align: right;
  clear: both;
}

table.shop_table_responsive tr td:before {
  content: attr(data-title) ": ";
  float: left;
}

table.shop_table_responsive tr td.product-remove a {
  text-align: left;
  font-size: 30px;
  line-height: 1;
  text-decoration: none;
}

table.shop_table_responsive tr td.product-remove a:hover {
  opacity: 0.6;
}

table.shop_table_responsive tr td.product-remove:before {
  display: none;
}

table.shop_table_responsive tr td.actions:before, table.shop_table_responsive tr td.download-actions:before {
  display: none;
}

table.shop_table_responsive tr td.download-actions .button {
  display: block;
  text-align: center;
}

@media screen and (min-width: 48em) {
  table.shop_table_responsive thead {
    display: table-header-group;
  }
  table.shop_table_responsive tbody th {
    display: table-cell;
  }
  table.shop_table_responsive tr th, table.shop_table_responsive tr td {
    text-align: left;
  }
  table.shop_table_responsive tr td {
    display: table-cell;
  }
  table.shop_table_responsive tr td:before {
    display: none;
  }
}

/**
 * Products
 */
/**
 * Products
 */
ul.products {
  content: "";
  display: table;
  table-layout: fixed;
  margin: 0;
  padding: 0;
}

ul.products li.product {
  list-style: none;
  position: relative;
  margin-bottom: 2em;
}

ul.products li.product .woocommerce-loop-product__title {
  font-size: 1rem;
}

ul.products li.product img {
  display: block;
}

ul.products li.product .button {
  display: block;
}

@media screen and (min-width: 48em) {
  ul.products li.product {
    width: 30.7966666667%;
    float: left;
    margin-right: 3.8%;
  }
  ul.products li.product.first {
    clear: both;
  }
  ul.products li.product.last {
    margin-right: 0;
  }
  .columns-1 ul.products li.product {
    float: none;
    width: 100%;
  }
  .columns-2 ul.products li.product {
    width: 48.1%;
  }
  .columns-3 ul.products li.product {
    width: 30.7966666667%;
  }
  .columns-4 ul.products li.product {
    width: 22.15%;
  }
  .columns-5 ul.products li.product {
    width: 16.96%;
  }
  .columns-6 ul.products li.product {
    width: 13.4933333333%;
  }
}

/**
 * Single product
 */
/**
 * Single Product
 */
.single-product div.product {
  content: "";
  display: table;
  table-layout: fixed;
  position: relative;
}

.single-product div.product .woocommerce-product-gallery {
  position: relative;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 1em;
  right: 1em;
  display: block;
  z-index: 99;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport {
  margin-bottom: 1em;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
  content: "";
  display: table;
  table-layout: fixed;
  margin: 0;
  padding: 0;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
  list-style: none;
  cursor: pointer;
  float: left;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
  opacity: .5;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
  opacity: 1;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:hover img {
  opacity: 1;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li {
  width: 48.1%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n) {
  margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n+1) {
  clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li {
  width: 30.7966666667%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n) {
  margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n+1) {
  clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
  width: 22.15%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n) {
  margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n+1) {
  clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li {
  width: 16.96%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n) {
  margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n+1) {
  clear: both;
}

.stock:empty:before {
  display: none;
}

.stock.in-stock {
  color: rgba(15, 131, 77, 0.07);
}

.stock.out-of-stock {
  color: #e2401c;
}

/**
 * Checkout
 */
/**
 * Checkout
 */
@media screen and (min-width: 768px) {
  .col2-set .form-row-first {
    float: left;
    margin-right: 3.8%;
  }
  .col2-set .form-row-last {
    float: right;
    margin-right: 0;
  }
  .col2-set .form-row-first,
  .col2-set .form-row-last {
    width: 48.1%;
  }
}

/**
 * General WooCommerce components
 */
/**
 * Header cart
 */
.site-header-cart {
  position: relative;
  margin: 0;
  padding: 0;
  content: "";
  display: table;
  table-layout: fixed;
}

.site-header-cart .cart-contents {
  text-decoration: none;
}

.site-header-cart .widget_shopping_cart {
  display: none;
}

.site-header-cart .product_list_widget {
  margin: 0;
  padding: 0;
}

/**
 * Star rating
 */
.star-rating {
  overflow: hidden;
  position: relative;
  height: 1.618em;
  line-height: 1.618;
  font-size: 1em;
  width: 5.3em;
  font-family: 'star';
  font-weight: 400;
}

.star-rating:before {
  content: "\53\53\53\53\53";
  opacity: .25;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
}

.star-rating span {
  overflow: hidden;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  padding-top: 1.5em;
}

.star-rating span:before {
  content: "\53\53\53\53\53";
  top: 0;
  position: absolute;
  left: 0;
  color: royalblue;
}

p.stars a {
  position: relative;
  height: 1em;
  width: 1em;
  text-indent: -999em;
  display: inline-block;
  text-decoration: none;
  margin-right: 1px;
  font-weight: 400;
}

p.stars a:before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  line-height: 1;
  font-family: "star";
  content: "\53";
  color: #171C12;
  text-indent: 0;
  opacity: .25;
}

p.stars a:hover ~ a:before {
  content: "\53";
  color: #171C12;
  opacity: .25;
}

p.stars:hover a:before {
  content: "\53";
  color: royalblue;
  opacity: 1;
}

p.stars.selected a.active:before {
  content: "\53";
  color: royalblue;
  opacity: 1;
}

p.stars.selected a.active ~ a:before {
  content: "\53";
  color: #171C12;
  opacity: .25;
}

p.stars.selected a:not(.active):before {
  content: "\53";
  color: royalblue;
  opacity: 1;
}

/**
 * Tabs
 */
.woocommerce-tabs ul.tabs {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
}

.woocommerce-tabs ul.tabs li {
  display: block;
  margin: 0;
  position: relative;
}

.woocommerce-tabs ul.tabs li a {
  padding: 1em 0;
  display: block;
}

.woocommerce-tabs .panel h2:first-of-type {
  margin-bottom: 1em;
}

/**
 * Password strength meter
 */
.woocommerce-password-strength {
  text-align: right;
}

.woocommerce-password-strength.strong {
  color: rgba(15, 131, 77, 0.07);
}

.woocommerce-password-strength.short {
  color: #e2401c;
}

.woocommerce-password-strength.bad {
  color: #e2401c;
}

.woocommerce-password-strength.good {
  color: #3D9CD2;
}

/**
 * Forms
 */
.form-row.woocommerce-validated input.input-text {
  box-shadow: inset 2px 0 0 rgba(15, 131, 77, 0.07);
}

.form-row.woocommerce-invalid input.input-text {
  box-shadow: inset 2px 0 0 #e2401c;
}

.required {
  color: red;
}

/**
 * Notices
 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
  content: "";
  display: table;
  table-layout: fixed;
  background-color: rgba(15, 131, 77, 0.07);
  clear: both;
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
  background-color: #3D9CD2;
}

.woocommerce-error {
  background-color: #e2401c;
}

.demo_store {
  position: fixed;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 0;
  padding: 1em;
  background-color: #3D9CD2;
  z-index: 9999;
}

@media screen and (min-width: 48em) {
  /**
	 * Header cart
	 */
  .site-header-cart .widget_shopping_cart {
    position: absolute;
    top: 100%;
    width: 100%;
    z-index: 999999;
    left: -999em;
    display: block;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  }
  .site-header-cart:hover .widget_shopping_cart, .site-header-cart.focus .widget_shopping_cart {
    left: 0;
    display: block;
  }
}

/**
 * WooCommerce widgets
 */
/**
 * WooCommerce Price Filter
 */
.widget_price_filter .price_slider {
  margin-bottom: 1.5em;
}

.widget_price_filter .price_slider_amount {
  text-align: right;
  line-height: 2.4em;
}

.widget_price_filter .price_slider_amount .button {
  float: left;
}

.widget_price_filter .ui-slider {
  position: relative;
  text-align: left;
}

.widget_price_filter .ui-slider .ui-slider-handle {
  position: absolute;
  z-index: 2;
  width: 1em;
  height: 1em;
  cursor: ew-resize;
  outline: none;
  background: royalblue;
  box-sizing: border-box;
  margin-top: -.25em;
  opacity: 1;
}

.widget_price_filter .ui-slider .ui-slider-handle:last-child {
  margin-left: -1em;
}

.widget_price_filter .ui-slider .ui-slider-handle:hover, .widget_price_filter .ui-slider .ui-slider-handle.ui-state-active {
  box-shadow: 0 0 0 0.25em rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider .ui-slider-range {
  position: absolute;
  z-index: 1;
  display: block;
  border: 0;
  background: royalblue;
}

.widget_price_filter .price_slider_wrapper .ui-widget-content {
  background: rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider-horizontal {
  height: .5em;
}

.widget_price_filter .ui-slider-horizontal .ui-slider-range {
  height: 100%;
}

.woocommerce-breadcrumb {
  margin: 20px 0;
}

.woocommerce-result-count {
  float: left;
  width: 50%;
}

.woocommerce-ordering {
  float: right;
  width: 50%;
  text-align: right;
}

.woocommerce .columns-3 {
  clear: both;
}

.woocommerce-ordering .orderby {
  height: 33px;
}

ul.products {
  width: 100%;
}

.onsale {
  position: absolute;
  top: -10px;
  left: -10px;
  background-color: #9E926E;
  color: #fff;
  padding: 14px 0;
  font-size: 14px;
  font-size: 0.875rem;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  text-align: center;
  font-weight: bold;
  z-index: 1;
}

ul.products li.product {
  padding-bottom: 20px;
}

ul.products li.product > a {
  text-decoration: none;
  color: #171C12;
}

ul.products li.product img {
  box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.1);
  border: 5px solid #fff;
}

ul.products li.product .star-rating {
  margin: 5px 20px;
}

ul.products li.product .woocommerce-loop-product__title {
  font-size: 30px;
  font-size: 1.875rem;
  padding: 20px 20px 5px 20px;
  margin-bottom: 0;
  line-height: 1.2;
}

ul.products li.product span.price {
  padding: 0 20px 10px 20px;
}

ul.products li.product .button {
  display: block;
  text-align: center;
  padding: 5px 11px;
  margin: 10px 20px;
  background-color: #9E926E;
  color: #fff;
  text-decoration: none;
}

ul.products li.product .button:hover {
  background-color: #171C12;
}

.woocommerce-pagination {
  text-align: center;
}

.page-numbers {
  list-style: none;
}

.page-numbers li {
  display: inline;
  margin: 0 7px;
  font-size: 20px;
}

/* Product Single */
.single-product .content-area {
  width: 100%;
}

.single-product div.product .woocommerce-product-gallery {
  float: left;
  width: 48%;
}

.single-product div.product .woocommerce-product-gallery + .entry-summary {
  float: right;
  width: 48%;
}

.woocommerce-tabs {
  clear: both;
  padding-top: 40px;
}

.woocommerce-tabs ul.tabs {
  border-bottom: 1px solid #9E926E;
  padding-left: 30px;
}

.woocommerce-tabs ul.tabs li {
  display: inline-block;
  margin-bottom: -1px;
}

.woocommerce-tabs ul.tabs li a {
  background-color: #9E926E;
  padding: 5px 20px;
  color: #fff;
  text-decoration: none;
  outline: none;
  border: 1px solid #9E926E;
}

.woocommerce-tabs ul.tabs li.active a {
  display: block;
  background-color: #fff;
  color: #9E926E;
  border-bottom-color: transparent;
}

.woocommerce-Tabs-panel {
  padding: 20px;
}

.woocommerce-Tabs-panel.panel h2:first-of-type {
  font-size: 40px;
  margin-bottom: 10px;
}

.comment-text p.meta {
  margin-bottom: 10px;
}

.entry-summary .product_title {
  font-size: 50px;
  font-size: 3.125rem;
}

.entry-summary .quantity {
  float: left;
  margin-right: 20px;
  width: 100px;
}

.entry-summary .quantity input {
  width: 100%;
}

.single_add_to_cart_button {
  margin-top: 0;
  padding: 11px 30px;
}

.product_meta {
  clear: both;
  margin-top: 10px;
}

.product_meta .sku_wrapper {
  display: block;
}

table.shop_attributes {
  width: auto;
}

table.shop_attributes p {
  margin-bottom: 0;
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
  background-color: rgba(158, 146, 110, 0.1);
  padding: 0 10px;
}

.added_to_cart {
  text-align: center;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.woocommerce-page .entry-title {
  font-size: 50px;
  font-size: 3.125rem;
}

td.product-thumbnail img {
  width: 150px;
  min-width: 60px;
}

table.shop_table_responsive tr:nth-child(odd) td {
  background-color: rgba(158, 146, 110, 0.1);
}

.woocommerce-cart-form__contents .button {
  padding: 11px 30px;
}

.cart-collaterals {
  padding-top: 40px;
}

.coupon {
  float: left;
  width: calc(100% - 200px);
}

.coupon .button {
  padding: 11px 30px;
}

.wc-proceed-to-checkout .button {
  padding: 14px 30px;
  cursor: pointer;
  letter-spacing: 2px;
  border: none;
  border-radius: 0;
  background-color: #9E926E;
  color: #fff;
  line-height: 1.4;
  text-transform: uppercase;
  display: inline-block;
  margin-top: 10px;
  outline: none;
  text-decoration: none;
}

.wc-proceed-to-checkout .button:hover {
  background-color: #171C12;
}

.woocommerce-cart-form__contents .coupon {
  padding-bottom: 10px;
}

.woocommerce-cart-form__contents .coupon label {
  display: none;
}

.woocommerce-cart-form__contents #coupon_code {
  margin-top: 10px;
}

.quantity .qty {
  width: 110px;
}

.woocommerce-cart-form__cart-item td {
  padding: 5px 10px;
}

/* Checkout */
.col-1,
.col-2 {
  width: 100%;
  max-width: 100%;
  padding: 0;
}

.checkout_coupon p.form-row {
  display: inline-block;
  margin-bottom: 0;
}

.checkout_coupon .button {
  padding: 11px 30px;
}

form.checkout {
  margin-top: 40px;
}

.woocommerce-billing-fields label,
.woocommerce-shipping-fields label {
  display: block;
}

.woocommerce-billing-fields .input-text,
.woocommerce-shipping-fields .input-text {
  width: 100%;
}

.select2-container .select2-selection--single {
  border: 1px solid rgba(23, 28, 18, 0.5);
}

.select2-container .select2-selection--single,
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 45px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 44px;
}

.select2-container--default .select2-selection--single {
  border-radius: 0;
}

.form-row.woocommerce-validated input.input-text {
  box-shadow: none;
}

ul.woocommerce-error {
  margin-left: 0;
  padding: 20px;
}

ul.woocommerce-error > li {
  list-style: none;
}

.wc_payment_methods {
  margin-left: 0;
}

.wc_payment_methods > li {
  list-style: none;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews {
  margin-bottom: 20px;
  padding: 5px 20px;
}

.woocommerce-shipping-calculator > p,
.shipping-calculator-form > .form-row-wide {
  margin-bottom: 15px;
}

.woocommerce-checkout .woocommerce-form-login > p:first-child {
  font-size: 13px;
  margin-bottom: 20px;
}

/* My Account Page */
.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 25%;
  float: left;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  margin-left: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  list-style: none;
}

.woocommerce-MyAccount-content {
  width: 70%;
  float: left;
  margin-left: 5%;
}

.woocommerce-form-row label {
  display: block;
}

.woocommerce-form-row .input-text {
  width: 100%;
}

.woocommerce-form-row fieldset {
  border: 1px solid #ccc;
}

.woocommerce-form-row .woocommerce-form__label-for-checkbox {
  margin-left: 20px;
}

.woocommerce-form-login .form-row-first label,
.woocommerce-form-login .form-row-last label {
  display: block;
}

.woocommerce-form-login .input-text {
  width: 100%;
}

.woocommerce-form-login .woocommerce-form__label-for-checkbox {
  margin-left: 20px;
}

.woocommerce-form-login,
.woocommerce-ResetPassword {
  width: 100%;
  max-width: 350px;
}

#customer_login .col-1,
#customer_login .col-2 {
  width: 100%;
  max-width: 47%;
  padding: 0;
  float: left;
  margin-right: 5%;
}

#customer_login .col-2 {
  margin-right: 0;
}

.woocommerce-account .entry-title {
  margin-bottom: 50px;
}

@media screen and (min-width: 48em) {
  .related ul.columns-4 li.product {
    width: 22.15%;
  }
}

@media screen and (max-width: 992px) {
  .woocommerce-form-login,
  .woocommerce-ResetPassword {
    width: 100%;
    max-width: 100%;
  }
  #customer_login .col-1,
  #customer_login .col-2 {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }
}

@media screen and (max-width: 768px) {
  table.shop_table_responsive tr td {
    border-right: none;
  }
  .woocommerce-cart-form__contents .coupon input {
    width: 98%;
  }
  form.checkout_coupon {
    margin-top: 20px;
  }
  .checkout_coupon p.form-row {
    display: block;
  }
  .checkout_coupon p.form-row button, .checkout_coupon p.form-row input {
    width: 100%;
  }
  .single-product div.product .woocommerce-product-gallery {
    margin-bottom: 30px;
  }
  .single-product div.product,
  .single-product div.product .woocommerce-product-gallery,
  .single-product div.product .woocommerce-product-gallery + .entry-summary,
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-MyAccount-content,
  ul.products li.product img {
    width: 100%;
  }
  .woocommerce-MyAccount-content {
    margin-left: 0;
  }
  .woocommerce-tabs ul.tabs {
    padding-left: 0;
  }
  .woocommerce-tabs ul.tabs li a {
    padding: 5px 6px;
  }
  table.shop_table_responsive tr td.product-thumbnail {
    text-align: center;
  }
  table.shop_table_responsive tr td.product-thumbnail:before {
    display: none;
  }
  table.shop_table_responsive tr td.product-remove a {
    font-size: 20px;
    line-height: 1;
  }
}

@media screen and (max-width: 500px) {
  .entry-summary .quantity {
    margin-bottom: 10px;
  }
  .woocommerce-Tabs-panel.panel h2:first-of-type {
    font-size: 30px;
  }
  .woocommerce-cart-form__contents .coupon {
    width: 100%;
  }
  .woocommerce-cart-form__contents .coupon input {
    width: 100%;
  }
  table.shop_table_responsive tr:last-child td {
    padding: 5px 10px 10px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwidmFyaWFibGVzLXNpdGUvX3ZhcmlhYmxlcy1zaXRlLnNjc3MiLCJ2YXJpYWJsZXMtc2l0ZS9fY29sb3JzLnNjc3MiLCJ2YXJpYWJsZXMtc2l0ZS9fdHlwb2dyYXBoeS5zY3NzIiwidmFyaWFibGVzLXNpdGUvX3N0cnVjdHVyZS5zY3NzIiwidmFyaWFibGVzLXNpdGUvX2NvbHVtbnMuc2NzcyIsIm1peGlucy9fbWl4aW5zLW1hc3Rlci5zY3NzIiwidmVuZG9yL19vd2wtY2Fyb3VzZWwuc2NzcyIsInZlbmRvci9fanF1ZXJ5U2Nyb2xsYmFyLnNjc3MiLCJ2ZW5kb3IvX25vcm1hbGl6ZS5zY3NzIiwidHlwb2dyYXBoeS9fdHlwb2dyYXBoeS5zY3NzIiwidHlwb2dyYXBoeS9faGVhZGluZ3Muc2NzcyIsInR5cG9ncmFwaHkvX2NvcHkuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC1ncmlkL2dyaWQuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC1ncmlkL2JyZWFrcG9pbnRzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC1ncmlkL2dyaWQvYm9vdHN0cmFwLWdyaWQuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC1ncmlkL2dyaWQvX2Z1bmN0aW9ucy5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LWdyaWQvZ3JpZC9fdmFyaWFibGVzLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQtZ3JpZC9ncmlkL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC1ncmlkL2dyaWQvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LWdyaWQvZ3JpZC9taXhpbnMvX2dyaWQuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC1ncmlkL2dyaWQvX2dyaWQuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC1ncmlkL2dyaWQvdXRpbGl0aWVzL19mbGV4LnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQtZ3JpZC9zaXppbmcvdXRpbGl0aWVzL19zaXppbmcuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC1ncmlkL2xheW91dC91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC1ncmlkL2xheW91dC91dGlsaXRpZXMvX3NwYWNpbmcuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC1ncmlkL2xheW91dC9taXhpbnMvX3Zpc2liaWxpdHkuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC1ncmlkL2xheW91dC91dGlsaXRpZXMvX3Zpc2liaWxpdHkuc2NzcyIsImVsZW1lbnRzL19lbGVtZW50cy5zY3NzIiwiZWxlbWVudHMvX2xpc3RzLnNjc3MiLCJlbGVtZW50cy9fdGFibGVzLnNjc3MiLCJmb3Jtcy9fZm9ybXMuc2NzcyIsImZvcm1zL19idXR0b25zLnNjc3MiLCJmb3Jtcy9fZmllbGRzLnNjc3MiLCJuYXZpZ2F0aW9uL19uYXZpZ2F0aW9uLnNjc3MiLCJuYXZpZ2F0aW9uL19saW5rcy5zY3NzIiwibmF2aWdhdGlvbi9fbWVudXMuc2NzcyIsIm1vZHVsZXMvX2FjY2Vzc2liaWxpdHkuc2NzcyIsIm1vZHVsZXMvX2FsaWdubWVudHMuc2NzcyIsIm1vZHVsZXMvX2NsZWFyaW5ncy5zY3NzIiwibGF5b3V0L2hlYWRlci5zY3NzIiwibGF5b3V0L2Zvb3Rlci5zY3NzIiwibGF5b3V0L3RlbXBsYXRlLWxheW91dC5zY3NzIiwic2l0ZS9zZWNvbmRhcnkvX3dpZGdldHMuc2NzcyIsInNpdGUvX3NpdGUuc2NzcyIsInNpdGUvcHJpbWFyeS9fcG9zdHMtYW5kLXBhZ2VzLnNjc3MiLCJzaXRlL3ByaW1hcnkvX2NvbW1lbnRzLnNjc3MiLCJtb2R1bGVzL19pbmZpbml0ZS1zY3JvbGwuc2NzcyIsIm1lZGlhL19tZWRpYS5zY3NzIiwibWVkaWEvX2NhcHRpb25zLnNjc3MiLCJtZWRpYS9fZ2FsbGVyaWVzLnNjc3MiLCJ2ZW5kb3IvX2JicHJlc3Muc2NzcyIsInNpdGUvcmVzdGF1cmFudC10ZW1wbGF0ZS5zY3NzIiwibGF5b3V0L21lZGlhLXF1ZXJpZXMuc2NzcyIsInZlbmRvci9fYW5pbWF0ZS5zY3NzIiwiX3dvb2NvbW1lcmNlLnNjc3MiLCJzaG9wL190YWJsZXMuc2NzcyIsInNob3AvX3Byb2R1Y3RzLnNjc3MiLCJzaG9wL19zaW5nbGUtcHJvZHVjdC5zY3NzIiwic2hvcC9fY2hlY2tvdXQuc2NzcyIsInNob3AvX2NvbXBvbmVudHMuc2NzcyIsInNob3AvX3dpZGdldHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7RUFXRTtBQUdGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2dFQTRCZ0U7QU8xQ2hFOzs7O0dBSUc7QUFDSDs7R0FFRztBQUNILEFBQUEsYUFBYSxDQUFDO0VBQ1osT0FBTyxFQUFFLElBQUk7RUFDYixLQUFLLEVBQUUsSUFBSTtFQUNYLDJCQUEyQixFQUFFLFdBQVc7RUFDeEMsb0VBQW9FO0VBQ3BFLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxDQUFDO0NBQUc7O0FBQ2YsQUFBQSxhQUFhLENBQUMsVUFBVSxDQUFDO0VBQ3ZCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsWUFBWSxFQUFFLFlBQVk7RUFDMUIsd0JBQXdCLEVBQUUsTUFBTTtFQUNoQyxrQ0FBa0M7Q0FBRTs7QUFDdEMsQUFBQSxhQUFhLENBQUMsVUFBVSxBQUFBLE1BQU0sQ0FBQztFQUM3QixPQUFPLEVBQUUsR0FBRztFQUNaLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsQ0FBQztFQUNkLE1BQU0sRUFBRSxDQUFDO0NBQUc7O0FBQ2QsQUFBQSxhQUFhLENBQUMsZ0JBQWdCLENBQUM7RUFDN0IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsUUFBUSxFQUFFLE1BQU07RUFDaEIsaUNBQWlD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QUUsUUFBUTtJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFQUFFLElBQUk7R0FDaEI7RUFHQyxBQUFBLFNBQVMsQ0FBVztJQ0YxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUE0QjtJQUl0QyxTQUFTLEVBQUUsYUFBNEI7R0RBaEM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ0YxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUE0QjtJQUl0QyxTQUFTLEVBQUUsY0FBNEI7R0RBaEM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ0YxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtJQUl0QyxTQUFTLEVBQUUsR0FBNEI7R0RBaEM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ0YxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUE0QjtJQUl0QyxTQUFTLEVBQUUsY0FBNEI7R0RBaEM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ0YxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUE0QjtJQUl0QyxTQUFTLEVBQUUsY0FBNEI7R0RBaEM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ0YxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtJQUl0QyxTQUFTLEVBQUUsR0FBNEI7R0RBaEM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ0YxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUE0QjtJQUl0QyxTQUFTLEVBQUUsY0FBNEI7R0RBaEM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ0YxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUE0QjtJQUl0QyxTQUFTLEVBQUUsY0FBNEI7R0RBaEM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ0YxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtJQUl0QyxTQUFTLEVBQUUsR0FBNEI7R0RBaEM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ0YxQixJQUFJLEVBQUUs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R0RBaEM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ0YxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtJQUl0QyxTQUFTLEVBQUUsR0FBNEI7R0RBaEM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ0YxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUE0QjtJQUl0QyxTQUFTLEVBQUUsY0FBNEI7R0RBaEM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ0YxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUE0QjtJQUl0QyxTQUFTLEVBQUUsY0FBNEI7R0RBaEM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ0YxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtJQUl0QyxTQUFTLEVBQUUsR0FBNEI7R0RBaEM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ0YxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUE0QjtJQUl0QyxTQUFTLEVBQUUsY0FBNEI7R0RBaEM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ0YxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUE0QjtJQUl0QyxTQUFTLEVBQUUsY0FBNEI7R0RBaEM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ0YxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtJQUl0QyxTQUFTLEVBQUUsR0FBNEI7R0RBaEM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ0YxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUE0QjtJQUl0QyxTQUFTLEVBQUUsY0FBNEI7R0RBaEM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ0YxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUE0QjtJQUl0QyxTQUFTLEVBQUUsY0FBNEI7R0RBaEM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ0YxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUE0QjtJQUl0QyxTQUFTLEVBQUUsSUFBNEI7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 */

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