/* --------------- Reset styles --------- */
.panel-grid .widget {
  overflow: initial; }

.labb-container, .labb-grid-container {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  .labb-container *, .labb-container *::after, .labb-container *::before, .labb-grid-container *, .labb-grid-container *::after, .labb-grid-container *::before {
    -webkit-box-sizing: inherit;
            box-sizing: inherit; }
  .labb-container ol, .labb-container ul, .labb-container ol > li, .labb-container ul > li, .labb-container ol:hover, .labb-container ul:hover, .labb-container ul > li:hover, .labb-container ol > li:hover, .labb-container ol > li > a, .labb-container ul > li > a, .labb-container ol > li > a:hover, .labb-container ul > li > a:hover, .labb-container img, .labb-grid-container ol, .labb-grid-container ul, .labb-grid-container ol > li, .labb-grid-container ul > li, .labb-grid-container ol:hover, .labb-grid-container ul:hover, .labb-grid-container ul > li:hover, .labb-grid-container ol > li:hover, .labb-grid-container ol > li > a, .labb-grid-container ul > li > a, .labb-grid-container ol > li > a:hover, .labb-grid-container ul > li > a:hover, .labb-grid-container img {
    padding: 0;
    margin: 0;
    border: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    list-style: none;
    background: none; }
    .labb-container ol:before, .labb-container ol:after, .labb-container ul:before, .labb-container ul:after, .labb-container ol > li:before, .labb-container ol > li:after, .labb-container ul > li:before, .labb-container ul > li:after, .labb-container ol:hover:before, .labb-container ol:hover:after, .labb-container ul:hover:before, .labb-container ul:hover:after, .labb-container ul > li:hover:before, .labb-container ul > li:hover:after, .labb-container ol > li:hover:before, .labb-container ol > li:hover:after, .labb-container ol > li > a:before, .labb-container ol > li > a:after, .labb-container ul > li > a:before, .labb-container ul > li > a:after, .labb-container ol > li > a:hover:before, .labb-container ol > li > a:hover:after, .labb-container ul > li > a:hover:before, .labb-container ul > li > a:hover:after, .labb-container img:before, .labb-container img:after, .labb-grid-container ol:before, .labb-grid-container ol:after, .labb-grid-container ul:before, .labb-grid-container ul:after, .labb-grid-container ol > li:before, .labb-grid-container ol > li:after, .labb-grid-container ul > li:before, .labb-grid-container ul > li:after, .labb-grid-container ol:hover:before, .labb-grid-container ol:hover:after, .labb-grid-container ul:hover:before, .labb-grid-container ul:hover:after, .labb-grid-container ul > li:hover:before, .labb-grid-container ul > li:hover:after, .labb-grid-container ol > li:hover:before, .labb-grid-container ol > li:hover:after, .labb-grid-container ol > li > a:before, .labb-grid-container ol > li > a:after, .labb-grid-container ul > li > a:before, .labb-grid-container ul > li > a:after, .labb-grid-container ol > li > a:hover:before, .labb-grid-container ol > li > a:hover:after, .labb-grid-container ul > li > a:hover:before, .labb-grid-container ul > li > a:hover:after, .labb-grid-container img:before, .labb-grid-container img:after {
      display: none; }
  .labb-container a, .labb-grid-container a {
    text-decoration: initial; }
  .labb-container img, .labb-grid-container img {
    max-width: 100%;
    width: auto;
    height: auto; }

/* ------- General styles ------------ */
.labb-container {
  margin-left: auto;
  margin-right: auto; }
  .labb-container::after {
    clear: both;
    content: "";
    display: block; }

.panel-grid .widget {
  border: 0; }

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

.labb-grid-container {
  margin-left: -20px;
  margin-right: -20px;
  width: calc(100% + 40px); }
  .labb-grid-container::after {
    clear: both;
    content: "";
    display: block; }
  .labb-grid-container .labb-grid-item {
    min-height: 1px;
    /* Prevents columns from collapsing when housing absolute elements or when lazy loading content */ }
  @media (max-width: 479px) {
    .labb-grid-container.labb-grid-mobile-2 .labb-grid-item:nth-child(2n+1) {
      clear: left; }
    .labb-grid-container.labb-grid-mobile-3 .labb-grid-item:nth-child(3n+1) {
      clear: left; }
    .labb-grid-container.labb-grid-mobile-4 .labb-grid-item:nth-child(4n+1) {
      clear: left; }
    .labb-grid-container.labb-grid-mobile-5 .labb-grid-item:nth-child(5n+1) {
      clear: left; }
    .labb-grid-container.labb-grid-mobile-6 .labb-grid-item:nth-child(6n+1) {
      clear: left; } }
  @media (min-width: 480px) and (max-width: 800px) {
    .labb-grid-container.labb-grid-tablet-2 .labb-grid-item:nth-child(2n+1) {
      clear: left; }
    .labb-grid-container.labb-grid-tablet-3 .labb-grid-item:nth-child(3n+1) {
      clear: left; }
    .labb-grid-container.labb-grid-tablet-4 .labb-grid-item:nth-child(4n+1) {
      clear: left; }
    .labb-grid-container.labb-grid-tablet-5 .labb-grid-item:nth-child(5n+1) {
      clear: left; }
    .labb-grid-container.labb-grid-tablet-6 .labb-grid-item:nth-child(6n+1) {
      clear: left; } }
  @media only screen and (min-width: 801px) {
    .labb-grid-container.labb-grid-desktop-2 .labb-grid-item:nth-child(2n+1) {
      clear: left; }
    .labb-grid-container.labb-grid-desktop-3 .labb-grid-item:nth-child(3n+1) {
      clear: left; }
    .labb-grid-container.labb-grid-desktop-4 .labb-grid-item:nth-child(4n+1) {
      clear: left; }
    .labb-grid-container.labb-grid-desktop-5 .labb-grid-item:nth-child(5n+1) {
      clear: left; }
    .labb-grid-container.labb-grid-desktop-6 .labb-grid-item:nth-child(6n+1) {
      clear: left; } }
  .labb-grid-container.labb-grid-mobile-1 .labb-grid-item {
    width: calc(100% - 40px);
    float: left;
    margin-left: 20px; }
  .labb-grid-container.labb-grid-mobile-2 .labb-grid-item {
    width: calc(50% - 30px);
    float: left;
    margin-left: 20px; }
  .labb-grid-container.labb-grid-mobile-3 .labb-grid-item {
    width: calc(33.33333% - 26.66667px);
    float: left;
    margin-left: 20px; }
  .labb-grid-container.labb-grid-mobile-4 .labb-grid-item {
    width: calc(25% - 25px);
    float: left;
    margin-left: 20px; }
  .labb-grid-container.labb-grid-mobile-5 .labb-grid-item {
    width: calc(20% - 24px);
    float: left;
    margin-left: 20px; }
  .labb-grid-container.labb-grid-mobile-6 .labb-grid-item {
    width: calc(16.66667% - 23.33333px);
    float: left;
    margin-left: 20px; }
  @media only screen and (min-width: 480px) {
    .labb-grid-container.labb-grid-tablet-1 .labb-grid-item {
      width: calc(100% - 40px);
      float: left;
      margin-left: 20px; }
    .labb-grid-container.labb-grid-tablet-2 .labb-grid-item {
      width: calc(50% - 30px);
      float: left;
      margin-left: 20px; }
    .labb-grid-container.labb-grid-tablet-3 .labb-grid-item {
      width: calc(33.33333% - 26.66667px);
      float: left;
      margin-left: 20px; }
    .labb-grid-container.labb-grid-tablet-4 .labb-grid-item {
      width: calc(25% - 25px);
      float: left;
      margin-left: 20px; }
    .labb-grid-container.labb-grid-tablet-5 .labb-grid-item {
      width: calc(20% - 24px);
      float: left;
      margin-left: 20px; }
    .labb-grid-container.labb-grid-tablet-6 .labb-grid-item {
      width: calc(16.66667% - 23.33333px);
      float: left;
      margin-left: 20px; } }
  @media only screen and (min-width: 801px) {
    .labb-grid-container.labb-grid-desktop-1 .labb-grid-item {
      width: calc(100% - 40px);
      float: left;
      margin-left: 20px; }
    .labb-grid-container.labb-grid-desktop-2 .labb-grid-item {
      width: calc(50% - 30px);
      float: left;
      margin-left: 20px; }
    .labb-grid-container.labb-grid-desktop-3 .labb-grid-item {
      width: calc(33.33333% - 26.66667px);
      float: left;
      margin-left: 20px; }
    .labb-grid-container.labb-grid-desktop-4 .labb-grid-item {
      width: calc(25% - 25px);
      float: left;
      margin-left: 20px; }
    .labb-grid-container.labb-grid-desktop-5 .labb-grid-item {
      width: calc(20% - 24px);
      float: left;
      margin-left: 20px; }
    .labb-grid-container.labb-grid-desktop-6 .labb-grid-item {
      width: calc(16.66667% - 23.33333px);
      float: left;
      margin-left: 20px; } }

/*--------- Gapless grid columns ----*/
.labb-gapless-grid .labb-grid-container {
  margin-left: 0;
  margin-right: 0;
  width: auto; }
  .labb-gapless-grid .labb-grid-container.labb-grid-mobile-1 .labb-grid-item {
    width: calc(100%);
    float: left;
    margin-left: 0px; }
  .labb-gapless-grid .labb-grid-container.labb-grid-mobile-2 .labb-grid-item {
    width: calc(50%);
    float: left;
    margin-left: 0px; }
  .labb-gapless-grid .labb-grid-container.labb-grid-mobile-3 .labb-grid-item {
    width: calc(33.33333%);
    float: left;
    margin-left: 0px; }
  .labb-gapless-grid .labb-grid-container.labb-grid-mobile-4 .labb-grid-item {
    width: calc(25%);
    float: left;
    margin-left: 0px; }
  .labb-gapless-grid .labb-grid-container.labb-grid-mobile-5 .labb-grid-item {
    width: calc(20%);
    float: left;
    margin-left: 0px; }
  .labb-gapless-grid .labb-grid-container.labb-grid-mobile-6 .labb-grid-item {
    width: calc(16.66667%);
    float: left;
    margin-left: 0px; }
  @media only screen and (min-width: 480px) {
    .labb-gapless-grid .labb-grid-container.labb-grid-tablet-1 .labb-grid-item {
      width: calc(100%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-grid-container.labb-grid-tablet-2 .labb-grid-item {
      width: calc(50%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-grid-container.labb-grid-tablet-3 .labb-grid-item {
      width: calc(33.33333%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-grid-container.labb-grid-tablet-4 .labb-grid-item {
      width: calc(25%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-grid-container.labb-grid-tablet-5 .labb-grid-item {
      width: calc(20%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-grid-container.labb-grid-tablet-6 .labb-grid-item {
      width: calc(16.66667%);
      float: left;
      margin-left: 0px; } }
  @media only screen and (min-width: 801px) {
    .labb-gapless-grid .labb-grid-container.labb-grid-desktop-1 .labb-grid-item {
      width: calc(100%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-grid-container.labb-grid-desktop-2 .labb-grid-item {
      width: calc(50%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-grid-container.labb-grid-desktop-3 .labb-grid-item {
      width: calc(33.33333%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-grid-container.labb-grid-desktop-4 .labb-grid-item {
      width: calc(25%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-grid-container.labb-grid-desktop-5 .labb-grid-item {
      width: calc(20%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-grid-container.labb-grid-desktop-6 .labb-grid-item {
      width: calc(16.66667%);
      float: left;
      margin-left: 0px; } }

/* ---------- Masonry Layout Grid columns -------------*/
.labb-gapless-grid .labb-masonry {
  /* Clear the omega for masonry layout */ }
  .labb-gapless-grid .labb-masonry .labb-grid-item {
    clear: none !important; }
  .labb-gapless-grid .labb-masonry .labb-grid-sizer {
    width: calc(8.33333%);
    float: left;
    margin-left: 0px; }
  .labb-gapless-grid .labb-masonry.labb-grid-mobile-1 .labb-grid-item.labb-wide {
    width: calc(100%);
    float: left;
    margin-left: 0px; }
  .labb-gapless-grid .labb-masonry.labb-grid-mobile-2 .labb-grid-item.labb-wide {
    width: calc(50%);
    float: left;
    margin-left: 0px; }
  .labb-gapless-grid .labb-masonry.labb-grid-mobile-3 .labb-grid-item.labb-wide {
    width: calc(66.66667%);
    float: left;
    margin-left: 0px; }
  .labb-gapless-grid .labb-masonry.labb-grid-mobile-4 .labb-grid-item.labb-wide {
    width: calc(50%);
    float: left;
    margin-left: 0px; }
  .labb-gapless-grid .labb-masonry.labb-grid-mobile-5 .labb-grid-item.labb-wide {
    width: calc(40%);
    float: left;
    margin-left: 0px; }
  .labb-gapless-grid .labb-masonry.labb-grid-mobile-6 .labb-grid-item.labb-wide {
    width: calc(33.33333%);
    float: left;
    margin-left: 0px; }
  @media only screen and (min-width: 480px) {
    .labb-gapless-grid .labb-masonry.labb-grid-tablet-1 .labb-grid-item.labb-wide {
      width: calc(100%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-masonry.labb-grid-tablet-2 .labb-grid-item.labb-wide {
      width: calc(50%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-masonry.labb-grid-tablet-3 .labb-grid-item.labb-wide {
      width: calc(66.66667%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-masonry.labb-grid-tablet-4 .labb-grid-item.labb-wide {
      width: calc(50%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-masonry.labb-grid-tablet-5 .labb-grid-item.labb-wide {
      width: calc(40%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-masonry.labb-grid-tablet-6 .labb-grid-item.labb-wide {
      width: calc(33.33333%);
      float: left;
      margin-left: 0px; } }
  @media only screen and (min-width: 801px) {
    .labb-gapless-grid .labb-masonry.labb-grid-desktop-1 .labb-grid-item.labb-wide {
      width: calc(100%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-masonry.labb-grid-desktop-2 .labb-grid-item.labb-wide {
      width: calc(50%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-masonry.labb-grid-desktop-3 .labb-grid-item.labb-wide {
      width: calc(66.66667%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-masonry.labb-grid-desktop-4 .labb-grid-item.labb-wide {
      width: calc(50%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-masonry.labb-grid-desktop-5 .labb-grid-item.labb-wide {
      width: calc(40%);
      float: left;
      margin-left: 0px; }
    .labb-gapless-grid .labb-masonry.labb-grid-desktop-6 .labb-grid-item.labb-wide {
      width: calc(33.33333%);
      float: left;
      margin-left: 0px; } }

/* --------------- Flexslider Styles -------------- */
.labb-container .labb-thumbnailslider.labb-flexslider {
  margin-top: 15px; }
  .labb-container .labb-thumbnailslider.labb-flexslider .labb-slide {
    margin: 0 5px 0 0; }
    .labb-container .labb-thumbnailslider.labb-flexslider .labb-slide img {
      display: block;
      opacity: .5;
      cursor: pointer; }
      .labb-container .labb-thumbnailslider.labb-flexslider .labb-slide img:hover {
        opacity: 1; }
    .labb-container .labb-thumbnailslider.labb-flexslider .labb-slide.labb-flex-active-slide img {
      opacity: 1;
      cursor: default; }
.labb-container .labb-flex-direction-nav {
  padding: 0 !important;
  margin: 0 !important; }
.labb-container .labb-flex-direction-nav li {
  position: initial; }
.labb-container .labb-flex-direction-nav a, .labb-container .labb-flex-direction-nav a:hover {
  opacity: 1;
  text-shadow: none;
  background: none;
  color: #888;
  font-family: 'labb-icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 24px;
  width: 28px;
  height: 28px;
  margin: -14px 0 0;
  bottom: initial;
  left: initial;
  right: initial;
  top: 50%;
  text-indent: 0;
  text-align: center;
  color: #aaa;
  -webkit-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
  outline: none; }
  .labb-container .labb-flex-direction-nav a:before, .labb-container .labb-flex-direction-nav a:hover:before {
    margin: 2px;
    vertical-align: middle;
    display: inline;
    font-family: inherit !important;
    opacity: 1; }
  .labb-dark-bg .labb-container .labb-flex-direction-nav a, .labb-dark-bg .labb-container .labb-flex-direction-nav a:hover {
    color: #888; }
    .labb-dark-bg .labb-container .labb-flex-direction-nav a:hover, .labb-dark-bg .labb-container .labb-flex-direction-nav a:hover:hover {
      color: #aaa; }
  @media only screen and (max-width: 960px) {
    .labb-container .labb-flex-direction-nav a, .labb-container .labb-flex-direction-nav a:hover {
      display: none;
      /* Let users navigate via touch */ } }
.labb-container .labb-flex-direction-nav a.labb-flex-prev {
  left: -30px; }
  .labb-container .labb-flex-direction-nav a.labb-flex-prev:before {
    content: "\e900"; }
.labb-container .labb-flex-direction-nav a.labb-flex-next {
  right: -30px; }
  .labb-container .labb-flex-direction-nav a.labb-flex-next:before {
    content: "\e901"; }
.labb-container .labb-flex-control-nav {
  width: 100%;
  position: absolute;
  bottom: -40px;
  text-align: center;
  padding: 0 !important;
  margin: 0 !important; }
  .labb-container .labb-flex-control-nav li, .labb-container .labb-flex-control-nav li:hover {
    margin: 0 8px 0 0;
    padding: 0;
    border: none;
    -webkit-box-shadow: none;
            box-shadow: none; }
  .labb-container .labb-flex-control-nav li a, .labb-container .labb-flex-control-nav li a:hover {
    background: #aaa;
    border: 1px solid #aaa;
    border-radius: 50%;
    width: 12px;
    height: 12px;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transition: all 0.2s ease-in 0s;
    transition: all 0.2s ease-in 0s;
    display: inline-block;
    vertical-align: middle;
    outline: none; }
    .labb-dark-bg .labb-container .labb-flex-control-nav li a, .labb-dark-bg .labb-container .labb-flex-control-nav li a:hover {
      background: #ccc;
      border-color: #ccc; }
  .labb-container .labb-flex-control-nav li a.labb-flex-active, .labb-container .labb-flex-control-nav li a:hover.labb-flex-active, .labb-container .labb-flex-control-nav li a:hover {
    background: none; }
  .labb-container .labb-flex-control-nav li a.labb-flex-active, .labb-container .labb-flex-control-nav li a:hover.labb-flex-active {
    width: 14px;
    height: 14px; }
.labb-container .labb-flex-control-thumbs {
  bottom: -120px; }
  @media only screen and (max-width: 600px) {
    .labb-container .labb-flex-control-thumbs {
      bottom: -80px; } }
  .labb-container .labb-flex-control-thumbs li {
    width: auto;
    float: none; }
    .labb-container .labb-flex-control-thumbs li img {
      max-width: 100%;
      width: 150px; }
      @media only screen and (max-width: 600px) {
        .labb-container .labb-flex-control-thumbs li img {
          width: 100px; } }

/* Sleek Carousel Styles */
.slick-loading .slick-list {
  background: #fff url("/wp-content/plugins/addons-for-beaver-builder/assets/css/ajax-loader.gif?x86406") center center no-repeat; }

@media only screen and (max-width: 1024px) {
  .slick-slider {
    padding: 0 10px; } }
.labb-container .slick-prev, .labb-container .slick-next {
  position: absolute;
  bottom: initial;
  left: initial;
  right: initial;
  top: 50%;
  width: 28px;
  height: 28px;
  margin: -14px 0 0; }
  .rtl .labb-container .slick-prev, .rtl .labb-container .slick-next {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
    direction: ltr; }
  .labb-container .slick-prev, .labb-container .slick-prev:before, .labb-container .slick-prev:after, .labb-container .slick-next, .labb-container .slick-next:before, .labb-container .slick-next:after {
    text-shadow: none;
    background: none;
    border: none;
    padding: 0;
    opacity: 1;
    font-family: 'labb-icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 24px;
    color: #aaa;
    overflow: hidden;
    -webkit-box-shadow: none;
            box-shadow: none;
    outline: none;
    text-indent: 0;
    text-align: center;
    -webkit-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s; }
  .labb-container .slick-prev:before, .labb-container .slick-next:before {
    margin: 2px;
    vertical-align: middle; }
  .labb-container .slick-prev:hover:before, .labb-container .slick-prev:hover:after, .labb-container .slick-next:hover:before, .labb-container .slick-next:hover:after {
    color: #888; }
  .labb-dark-bg .labb-container .slick-prev:before, .labb-dark-bg .labb-container .slick-prev:after, .labb-dark-bg .labb-container .slick-next:before, .labb-dark-bg .labb-container .slick-next:after {
    color: #888; }
  .labb-dark-bg .labb-container .slick-prev:hover:before, .labb-dark-bg .labb-container .slick-prev:hover:after, .labb-dark-bg .labb-container .slick-next:hover:before, .labb-dark-bg .labb-container .slick-next:hover:after {
    color: #aaa;
    background: none; }
.labb-container .slick-prev {
  left: -40px; }
  .labb-container .slick-prev:before {
    content: "\e900"; }
.labb-container .slick-next {
  right: -40px; }
  .labb-container .slick-next:before {
    content: "\e901"; }
.labb-container ul.slick-dots {
  width: 100%;
  position: absolute;
  bottom: -30px;
  text-align: center;
  padding: 0;
  margin: 0; }
  .labb-container ul.slick-dots li {
    margin: 0 8px 0 0;
    padding: 0;
    display: inline-block;
    font-size: 0; }
  .labb-container ul.slick-dots li button {
    padding: 0;
    background: #aaa;
    border: 1px solid #aaa;
    border-radius: 50%;
    width: 12px;
    height: 12px;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transition: background 0.3s ease-in-out 0s;
    transition: background 0.3s ease-in-out 0s;
    font-size: 0;
    outline: none; }
    .labb-container ul.slick-dots li button:before {
      display: none; }
    .labb-dark-bg .labb-container ul.slick-dots li button {
      background: #888;
      border-color: #888; }
  .labb-container ul.slick-dots li button:hover, .labb-container ul.slick-dots li.slick-active button {
    background: none;
    border-color: #aaa; }
  .labb-container ul.slick-dots li.slick-active button {
    width: 14px;
    height: 14px; }

/* -------- Widget separator headline ------------ */
.labb-widget-heading {
  font-size: 18px;
  line-height: 26px;
  letter-spacing: 1px;
  font-weight: bold;
  color: #333;
  text-transform: uppercase;
  clear: none;
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 40px;
  line-height: 52px;
  text-align: center; }
  @media only screen and (max-width: 767px) {
    .labb-widget-heading {
      font-size: 32px;
      line-height: 44px; } }

/* --------------- Button CSS -------------------- */
input.labb-button, button.labb-button, a.labb-button, .labb-button:active, .labb-button:visited {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 3px;
  padding: 16px 40px;
  margin: 0;
  font-size: 12px;
  font-weight: normal;
  text-transform: uppercase;
  letter-spacing: 2px;
  background-color: #f94213;
  color: #fefefe;
  outline: none;
  -webkit-transition: all 0.4s ease-in-out 0s;
  transition: all 0.4s ease-in-out 0s; }
  input.labb-button.labb-rounded, button.labb-button.labb-rounded, a.labb-button.labb-rounded, .labb-button:active.labb-rounded, .labb-button:visited.labb-rounded {
    border-radius: 999px; }
  input.labb-button.labb-large, button.labb-button.labb-large, a.labb-button.labb-large, .labb-button:active.labb-large, .labb-button:visited.labb-large {
    padding: 20px 60px; }
  input.labb-button.labb-small, button.labb-button.labb-small, a.labb-button.labb-small, .labb-button:active.labb-small, .labb-button:visited.labb-small {
    padding: 12px 25px;
    font-size: 11px; }
  input.labb-button:hover, button.labb-button:hover, a.labb-button:hover, .labb-button:active:hover, .labb-button:visited:hover {
    background-color: #f9633e;
    color: #fefefe; }

.labb-button.labb-black {
  background-color: #363636; }

.labb-button.labb-black:hover {
  background-color: #434343; }

.labb-button.labb-blue {
  background-color: #46a5d5; }

.labb-button.labb-blue:hover {
  background-color: #5bafda; }

.labb-button.labb-cyan {
  background-color: #57c0dc; }

.labb-button.labb-cyan:hover {
  background-color: #6cc8e0; }

.labb-button.labb-green {
  background-color: #00a57d; }

.labb-button.labb-green:hover {
  background-color: #00bf90; }

.labb-button.labb-orange {
  background-color: #e87151; }

.labb-button.labb-orange:hover {
  background-color: #eb8368; }

.labb-button.labb-pink {
  background-color: #dd5679; }

.labb-button.labb-pink:hover {
  background-color: #e16b8a; }

.labb-button.labb-red {
  background-color: #da4f49; }

.labb-button.labb-red:hover {
  background-color: #de635e; }

.labb-button.labb-teal {
  background-color: #28c2ba; }

.labb-button.labb-teal:hover {
  background-color: #2fd4cc; }

.labb-button.labb-trans {
  color: #333;
  background-color: transparent;
  /* IE */
  background-color: rgba(0, 0, 0, 0);
  border: 2px solid #a5a5a5; }
  .labb-button.labb-trans:hover {
    background-color: #fff;
    color: #333 !important;
    border-color: #fff; }

.labb-button.labb-semitrans {
  color: #fff;
  background-color: transparent;
  /* IE */
  background-color: rgba(125, 125, 125, 0.5); }
  .labb-button.labb-semitrans:hover {
    background-color: #fff;
    color: #333 !important; }

/* --------------------------------------------------------- General Styles -------------------------------------------------- */
.labb-post-link-overlay {
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  width: 100%;
  z-index: 1; }

.labb-terms a, .labb-post-title a {
  -webkit-transition: all 0.5s ease-out 0s;
  transition: all 0.5s ease-out 0s; }

.labb-read-more {
  position: relative;
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1;
  text-decoration: none;
  padding: 8px 15px;
  margin-top: 15px;
  -webkit-transition: all 0.5s ease-out 0s;
  transition: all 0.5s ease-out 0s;
  transition: all 0.5s ease-out 0s; }

.labb-post-featured-img-bg {
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  margin-bottom: 15px; }

/*# sourceMappingURL=labb-frontend.css.map */@font-face {
    font-family: 'labb-icomoon';
    src:    url('/wp-content/plugins/addons-for-beaver-builder/assets/css/fonts/icomoon/icomoon.eot?qq9b0v&x86406');
    src:    url('/wp-content/plugins/addons-for-beaver-builder/assets/css/fonts/icomoon/icomoon.eot?qq9b0v#iefix&x86406') format('embedded-opentype'),
        url('/wp-content/plugins/addons-for-beaver-builder/assets/css/fonts/icomoon/icomoon.ttf?qq9b0v&x86406') format('truetype'),
        url('/wp-content/plugins/addons-for-beaver-builder/assets/css/fonts/icomoon/icomoon.woff?qq9b0v&x86406') format('woff'),
        url('/wp-content/plugins/addons-for-beaver-builder/assets/css/fonts/icomoon/icomoon.svg?qq9b0v#icomoon&x86406') format('svg');
    font-weight: normal;
    font-style: normal;
}

[class^="labb-icon-"], [class*=" labb-icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'labb-icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.labb-icon-arrow-left:before {
    content: "\e900";
    }
.labb-icon-arrow-right:before {
    content: "\e901";
    }
.labb-icon-aim:before {
    content: "\e902";
    }
.labb-icon-behance:before {
    content: "\e903";
    }
.labb-icon-dribbble:before {
    content: "\e904";
    }
.labb-icon-facebook:before {
    content: "\e905";
    }
.labb-icon-flickr:before {
    content: "\e906";
    }
.labb-icon-googleplus:before {
    content: "\e907";
    }
.labb-icon-linkedin:before {
    content: "\e908";
    }
.labb-icon-pinterest:before {
    content: "\e909";
    }
.labb-icon-skype:before {
    content: "\e90a";
    }
.labb-icon-twitter:before {
    content: "\e90b";
    }
.labb-icon-vimeo:before {
    content: "\e90c";
    }
.labb-icon-zerply:before {
    content: "\e90d";
    }
.labb-icon-quote:before {
    content: "\e90e";
    }
.labb-icon-video-play:before {
    content: "\e90f";
    }
.labb-icon-email:before {
    content: "\e910";
    }
.labb-icon-close:before {
    content: "\e911";
    }
.labb-icon-plus:before {
    content: "\e912";
    }
.labb-icon-arrow-right-toggle:before {
    content: "\e913";
    }
.labb-icon-menu:before {
    content: "\e914";
    }
.labb-icon-menu-2:before {
    content: "\e915";
    }
.labb-icon-fit-to:before {
    content: "\e916";
    }
.labb-icon-full-screen:before {
    content: "\e917";
    }
.labb-icon-arrow-left2:before {
    content: "\e918";
    }
.labb-icon-arrow-left3:before {
    content: "\e919";
    }
.labb-icon-arrow-right2:before {
    content: "\e91a";
    }
.labb-icon-arrow-right3:before {
    content: "\e91b";
    }
.labb-icon-start:before {
    content: "\e91c";
    }
.labb-icon-instagram:before {
    content: "\ea92";
    }
.labb-icon-angle-left:before {
    content: "\f104";
    }
.labb-icon-angle-right:before {
    content: "\f105";
    }
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImljb21vb24uY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksNEJBQTRCO0lBQzVCLGdEQUFnRDtJQUNoRDs7O3NFQUdrRTtJQUNsRSxvQkFBb0I7SUFDcEIsbUJBQW1CO0NBQ3RCOztBQUVEO0lBQ0ksZ0ZBQWdGO0lBQ2hGLHVDQUF1QztJQUN2QyxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIscUJBQXFCO0lBQ3JCLGVBQWU7O0lBRWYsdUNBQXVDO0lBQ3ZDLG9DQUFvQztJQUNwQyxtQ0FBbUM7Q0FDdEM7QUFDRDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEI7QUFDTDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEI7QUFDTDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEI7QUFDTDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEI7QUFDTDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEI7QUFDTDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEI7QUFDTDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEI7QUFDTDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEI7QUFDTDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEI7QUFDTDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCO0FBQ0w7SUFDSSxpQkFBaUI7S0FDaEI7QUFDTDtJQUNJLGlCQUFpQjtLQUNoQjtBQUNMO0lBQ0ksaUJBQWlCO0tBQ2hCIiwiZmlsZSI6Imljb21vb24uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdsYWJiLWljb21vb24nO1xuICAgIHNyYzogICAgdXJsKCdmb250cy9pY29tb29uL2ljb21vb24uZW90P2JoNG9icycpO1xuICAgIHNyYzogICAgdXJsKCdmb250cy9pY29tb29uL2ljb21vb24uZW90P2JoNG9icyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCdmb250cy9pY29tb29uL2ljb21vb24udHRmP2JoNG9icycpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCdmb250cy9pY29tb29uL2ljb21vb24ud29mZj9iaDRvYnMnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCdmb250cy9pY29tb29uL2ljb21vb24uc3ZnP2JoNG9icyNpY29tb29uJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuW2NsYXNzXj1cImxhYmItaWNvbi1cIl0sIFtjbGFzcyo9XCIgbGFiYi1pY29uLVwiXSB7XG4gICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgICBmb250LWZhbWlseTogJ2xhYmItaWNvbW9vbicgIWltcG9ydGFudDtcbiAgICBzcGVhazogbm9uZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG4ubGFiYi1pY29uLWZpdC10bzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE2XCI7XG4gICAgfVxuLmxhYmItaWNvbi1mdWxsLXNjcmVlbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE3XCI7XG4gICAgfVxuLmxhYmItaWNvbi1hcnJvdy1sZWZ0MjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE4XCI7XG4gICAgfVxuLmxhYmItaWNvbi1hcnJvdy1sZWZ0MzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE5XCI7XG4gICAgfVxuLmxhYmItaWNvbi1hcnJvdy1yaWdodDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxYVwiO1xuICAgIH1cbi5sYWJiLWljb24tYXJyb3ctcmlnaHQzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWJcIjtcbiAgICB9XG4ubGFiYi1pY29uLXN0YXJ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWNcIjtcbiAgICB9XG4ubGFiYi1pY29uLWNsb3NlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTFcIjtcbiAgICB9XG4ubGFiYi1pY29uLW1lbnU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxNFwiO1xuICAgIH1cbi5sYWJiLWljb24tbWVudS0yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTVcIjtcbiAgICB9XG4ubGFiYi1pY29uLWVtYWlsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTBcIjtcbiAgICB9XG4ubGFiYi1pY29uLXBsdXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxMlwiO1xuICAgIH1cbi5sYWJiLWljb24tYXJyb3ctcmlnaHQtdG9nZ2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTNcIjtcbiAgICB9XG4ubGFiYi1pY29uLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMFwiO1xuICAgIH1cbi5sYWJiLWljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMVwiO1xuICAgIH1cbi5sYWJiLWljb24tYWltOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDJcIjtcbiAgICB9XG4ubGFiYi1pY29uLWJlaGFuY2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwM1wiO1xuICAgIH1cbi5sYWJiLWljb24tZHJpYmJibGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwNFwiO1xuICAgIH1cbi5sYWJiLWljb24tZmFjZWJvb2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwNVwiO1xuICAgIH1cbi5sYWJiLWljb24tZmxpY2tyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDZcIjtcbiAgICB9XG4ubGFiYi1pY29uLWdvb2dsZXBsdXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwN1wiO1xuICAgIH1cbi5sYWJiLWljb24tbGlua2VkaW46YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwOFwiO1xuICAgIH1cbi5sYWJiLWljb24tcGludGVyZXN0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDlcIjtcbiAgICB9XG4ubGFiYi1pY29uLXNreXBlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGFcIjtcbiAgICB9XG4ubGFiYi1pY29uLXR3aXR0ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwYlwiO1xuICAgIH1cbi5sYWJiLWljb24tdmltZW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwY1wiO1xuICAgIH1cbi5sYWJiLWljb24temVycGx5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGRcIjtcbiAgICB9XG4ubGFiYi1pY29uLXF1b3RlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGVcIjtcbiAgICB9XG4ubGFiYi1pY29uLXZpZGVvLXBsYXk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwZlwiO1xuICAgIH1cbi5sYWJiLWljb24taW5zdGFncmFtOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhOTJcIjtcbiAgICB9XG4iXX0= *//*
Theme Name: Blossom Spa
Theme URI: https://blossomthemes.com/wordpress-themes/blossom-spa/
Author: Blossom Themes
Author URI: https://blossomthemes.com/
Description: Blossom Spa is a clean and beautiful WordPress Theme focused on Spa and Salon business. You can use this theme to create a fully functional and professional website for your business without prior knowledge or experience of coding. This theme is best suited for businesses like spa, beauty salon, wellness center, massage parlor, yoga studio, meditation classes, and natural health care or beauty businesses. It is a fully responsive and mobile friendly theme which automatically adjusts itself according to the screen sizes and provides the user with the best user experience. This theme comes with a clean and minimal design and provides user-friendly navigation. Also, this theme is developed with speed optimized codes that enhance your website’s speed. Furthermore, the theme also has Schema.org markup inbuilt to help Google understand your website better and rank higher. This theme also features a built-in live customizer which helps you to customize your website with live preview. The social media integration feature helps you increase your social media followings and also connect with your visitors in an effective way. This theme features different sections which are Banner Section, Service Section, About Section, Service Two Section, CTA Section, Team Section, Testimonial Section, and Blog Section on the homepage which is helpful in providing detailed information about your business in a proper way. This theme comes with an extensive documentation to help you build your website from scratch without any prior technical or coding knowledge. If you get any issue or have any questions related to the theme, you can contact the friendly support team. Check theme details at https://blossomthemes.com/downloads/blossom-spa-free-wordpress-theme/, demo at https://blossomthemes.com/theme-demo/?theme=blossom-spa, read the documentation at https://docs.blossomthemes.com/docs/blossom-spa/, and get support at https://blossomthemes.com/support-ticket/.
Version: 1.3.9
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Tested up to: 6.9
Requires PHP: 5.6
Text Domain: blossom-spa
Tags: blog, one-column, two-columns, right-sidebar, left-sidebar, footer-widgets, custom-background, custom-header, custom-menu, custom-logo, featured-images, threaded-comments, full-width-template, rtl-language-support, translation-ready, theme-options, e-commerce, holiday

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

Blossom Spa is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
	--------------------------------------------------------------*/

:root {
	--primary-color: #9cbe9c;
	--primary-color-rgb: 156, 190, 156;
	--primary-font: 'Nunito Sans', sans-serif;
	--secondary-font: 'Marcellus', sans-serif;
}

/*--------------------------------------------------------------
# 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 `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` 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;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
optgroup,
textarea {
	color: #585656;
	font-family: var(--primary-font);
	font-size: 18px;
	line-height: 1.8;
	font-weight: 400;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-weight: 700;
	/*color: #1c1d1d;*/
	margin: 1em 0 0.6666em 0;
	line-height: 1.3;
}

h1 {
	font-size: 2.7223em;
}

h2 {
	font-size: 2.1665em;
}

h3 {
	font-size: 1.7223em;
}

h4 {
	font-size: 1.3888em;
}

h5 {
	font-size: 1.112em;
}

h6 {
	font-size: 0.8888em;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

q {
	border-left: 3px solid var(--primary-color);
	display: inline-block;
	padding-left: 25px;
	font-style: italic;
	color: #262525;
	margin-bottom: 0;
	margin-right: 20px;
	font-size: 1.2223em;
	font-weight: 700;
	float: left;
	width: 40%;
	line-height: 1.5;
}

blockquote {
	margin: 30px 4%;
	text-align: center;
	font-size: 1.2223em;
	font-weight: 700;
	font-style: italic;
	color: #262525;
	position: relative;
	line-height: 1.6;
	padding-top: 90px;
}

blockquote::before {
	content: "";
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 24"><path fill="%239cbe9c" d="M33.54,28.5a8,8,0,1,1-8.04,8,16,16,0,0,1,16-16A15.724,15.724,0,0,0,33.54,28.5Zm-12.04,8a8,8,0,0,1-16,0h0a16,16,0,0,1,16-16,15.724,15.724,0,0,0-7.96,8A7.989,7.989,0,0,1,21.5,36.5Z" transform="translate(-5.5 -20.5)"/></svg>');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px;
	width: 65px;
	height: 65px;
	border: 3px solid rgba(var(--primary-color-rgb), 0.5);
	position: absolute;
	border-radius: 100%;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}

blockquote p+span {
	font-size: 0.8182em;
	color: #999596;
	font-weight: 400;
	font-style: normal;
}

blockquote p,
q p {
	margin-top: 0;
	margin-bottom: 20px;
}

blockquote p:last-child,
q p:last-child {
	margin-bottom: 0;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/*--------------------------------------------------------------
# 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: #E6E6E6;
	border: 0;
	height: 1px;
	margin-bottom: 2em;
	width: 100%;
	clear: both;
	margin-top: 2em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

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. */
	vertical-align: top;
}

figure {
	margin: 1em 0;
	/* Extra wide images within figure tags don't overflow the content area. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
	border-radius: 0;
	font-size: 1em;
	text-align: left;
	border-collapse: collapse;
}

table tr th {
	font-weight: 700;
	color: #212127;
	padding: 10px 15px;
	border-bottom: 2px solid #EBEBEB;
}

table tr td {
	color: #262525;
	padding: 10px 15px;
}

.site-footer table tr td {
	color: #fff;
}

table tbody tr:nth-child(odd) {
	background: rgba(0, 0, 0, 0.035);
}

.site-footer table tbody tr:nth-child(odd) {
	background: rgba(255, 255, 255, 0.05);
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	display: inline-block;
	background: var(--primary-color);
	border: 1px solid var(--primary-color);
	color: #fff;
	font-weight: 700;
	font-size: 0.6666em;
	border-radius: 40px;
	padding: 12px 25px;
	cursor: pointer;
	text-transform: uppercase;
	letter-spacing: 1px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	background: none;
	color: var(--primary-color);
}

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: #000;
	border: 1px solid #E6E6E6;
	border-radius: 5px;
	padding: 5px 15px;
	width: 100%;
	height: 45px;
	font-size: 0.888em;
	font-weight: 400;
}

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: #000;
}

select {
	border: 1px solid #E6E6E6;
	height: 45px;
	padding: 5px 10px;
	width: 100%;
}

textarea {
	width: 100%;
	height: 100px;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
	color: var(--primary-color);
	text-decoration: none;
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

a:visited,
a:focus,
a:active {
	color: inherit;
}

a:hover,
a:active {
	outline: 0;
}

a:hover {
	color: var(--primary-color);
	text-decoration: underline;
}

@-moz-document url-prefix() {

	a:focus,
	button:focus,
	input[type="button"]:focus,
	input[type="reset"]:focus,
	input[type="submit"]:focus,
	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,
	select:focus {
		outline: thin dotted;
	}
}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5em;
	overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 50%;
	padding-left: 20px;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 50%;
	padding-right: 20px;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	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;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	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;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
	margin-top: 0;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
	margin-top: 0;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.container:before,
.container: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,
.container:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 0 60px 0;
	/* Make sure select elements fit in widgets. */
}

#secondary .widget:last-child {
	margin-bottom: 0;
}

.widget select {
	max-width: 100%;
	font-size: 14px;
	text-transform: uppercase;
	font-weight: 700;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.hentry {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
# 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;
}

/*--------------------------------------------------------------
# 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;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
	position: relative;
	border-radius: 5px;
	overflow: hidden;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
	line-height: initial;
	font-size: 0.7778em;
	color: #999999;
}

.alignright .wp-caption-text,
.alignleft .wp-caption-text {
	text-align: left;
	margin-bottom: 0;
}

.wp-caption-text {
	text-align: center;
}

/*--------------------------------------------------------------
## 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;
}

/*===========================
COMMON CSS
===========================*/
.skip-link,
.skip-link:hover,
.skip-link:visited {
	position: absolute;
	top: -999px;
	left: 20px;
	background: #f7f7f7;
	border: 1px solid rgba(0, 0, 0, 0.1);
	font-size: 0.8888em;
	font-weight: 600;
	padding: 10px 20px;
	color: #000;
	text-decoration: none;
	border-radius: 5px;
	box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
	z-index: 999;
	text-decoration: none;
	-webkit-transition: none;
	-moz-transition: none;
	transition: none;
}

.skip-link:focus,
.skip-link:active {
	top: 50px;
	color: #000;
	text-decoration: none;
}

.archive .site-main .woocommerce-products-header {
	display: none;
}

.portfolio-item-inner:focus-within .portfolio-text-holder {
	padding-top: 30px;
	padding-bottom: 30px;
	opacity: 1;
	filter: alpha(opacity=100);
	visibility: visible;
}

.blossomthemes-email-newsletter-wrapper form .subscribe-inner-wrap {
	position: relative;
	overflow: hidden;
}

.blossomthemes-email-newsletter-wrapper form .subscribe-inner-wrap input[type="checkbox"] {
	display: block;
	position: absolute;
	top: -20px;
	left: 0;
}

body.custom-background #page {
	max-width: 1300px;
	background: #fff;
	margin-left: auto;
	margin-right: auto;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.container {
	max-width: 1170px;
	margin: 0 auto;
}

.single-product .site-content {
	margin-top: 100px;
}

.mfp-wrap,
.mfp-bg {
	z-index: 999999;
}

.responsive-nav {
	display: none;
}

.page-template-default .site-main .entry-content {
	margin-top: 0;
}

a.btn-readmore,
a.btn-cta {
	font-size: 0.6666em;
	font-weight: 700;
	background: var(--primary-color);
	color: #fff;
	border-radius: 50px;
	padding: 12px 50px 12px 30px;
	display: inline-block;
	letter-spacing: 1px;
	text-decoration: none;
	position: relative;
	border: 2px solid var(--primary-color);
	text-align: center;
}

a.btn-readmore:before,
.btn-cta:before,
a.btn-readmore:after,
.btn-cta:after {
	content: "";
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><path fill="%23fff" d="M187.8 264.5L41 412.5c-4.7 4.7-12.3 4.7-17 0L4.2 392.7c-4.7-4.7-4.7-12.3 0-17L122.7 256 4.2 136.3c-4.7-4.7-4.7-12.3 0-17L24 99.5c4.7-4.7 12.3-4.7 17 0l146.8 148c4.7 4.7 4.7 12.3 0 17z" class=""></path></svg>');
	background-repeat: no-repeat;
	width: 13px;
	height: 20px;
	position: absolute;
	right: 30px;
	top: 13px;
	vertical-align: middle;
	background-position: center;
}

a.btn-readmore:hover:before,
.btn-cta:hover:before,
a.btn-readmore:hover:after,
.btn-cta:hover:after {
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><path fill="%239cbe9c" d="M187.8 264.5L41 412.5c-4.7 4.7-12.3 4.7-17 0L4.2 392.7c-4.7-4.7-4.7-12.3 0-17L122.7 256 4.2 136.3c-4.7-4.7-4.7-12.3 0-17L24 99.5c4.7-4.7 12.3-4.7 17 0l146.8 148c4.7 4.7 4.7 12.3 0 17z" class=""></path></svg>');
}

a.btn-readmore:hover,
.btn-cta:hover {
	background-color: transparent;
	color: var(--primary-color);
}

a.btn {
	display: inline-block;
	vertical-align: middle;
	font-size: 0.6666em;
	font-weight: 700;
	color: #fff;
	background: var(--primary-color);
	padding: 15px 30px;
	border: 2px solid var(--primary-color);
	border-radius: 50px;
	letter-spacing: 1px;
	text-decoration: none;
	text-align: center;
}

a.btn:hover {
	background: transparent;
	color: var(--primary-color);
}

a.btn.btn-transparent {
	background: transparent;
	color: var(--primary-color);
}

a.btn.btn-transparent:hover {
	background: var(--primary-color);
	color: #fff;
}

a.btn svg {
	margin-left: 10px;
	font-size: 1.112em;
}

a.btn+a.btn {
	margin-left: 20px;
}

.sub-title {
	display: block;
	font-size: 0.778em;
	font-weight: 600;
	color: var(--primary-color);
}

.page-header .sub-title {
	color: #fff;
	letter-spacing: 1px;
	margin-bottom: 15px;
}

.sub-title:empty,
.widget_text .textwidget:empty {
	display: none;
}

.section-title,
section[class*="-section"] .widget_text .widget-title {
	margin-top: 0;
	margin-bottom: 0;
	padding-bottom: 0;
	font-size: 2em;
	font-family: var(--secondary-font);
	font-weight: 400;
}

section[class*="-section"] .widget_text .widget-title:after {
	display: none;
}

section[class*="-section"] .section-desc,
section[class*="-section"] .widget_text .textwidget {
	font-size: 1.112em;
	max-width: 700px;
	margin: 20px auto 0 auto;
	color: #262525;
}

.entry-meta {
	font-size: 0.6666em;
	text-transform: uppercase;
	font-weight: 600;
	margin-top: 10px;
}

.entry-meta>span {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	margin-right: 35px;
}

.entry-meta>span:last-child {
	margin-right: 0;
}

.entry-meta>span::after {
	content: "";
	background: #F0F0F0;
	position: absolute;
	top: 6px;
	right: -22px;
	width: 6px;
	height: 6px;
	border-radius: 100%;
}

.entry-meta>span:last-child::after {
	display: none;
}

.entry-meta>span svg {
	width: 18px;
	height: 18px;
	vertical-align: middle;
	margin-right: 5px;
}

.entry-meta>span a {
	color: #999596;
	display: inline-block;
	vertical-align: middle;
}

.entry-meta>span a:hover {
	color: var(--primary-color);
}

.entry-content p {
	margin-top: 0;
	margin-bottom: 20px;
	/*display: table;
	clear: both;
	width: 100%;*/
}

.entry-content p:last-child {
	margin-bottom: 0;
}

.entry-content h1:first-child,
.entry-content h2:first-child,
.entry-content h3:first-child,
.entry-content h4:first-child,
.entry-content h5:first-child,
.entry-content h6:first-child {
	margin-top: 0;
}

header.page-header {
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	padding-top: 90px;
	padding-bottom: 60px;
	margin-bottom: 80px;
	z-index: 1;
	text-align: center;
}

header.page-header::after {
	content: "";
	background: rgba(0, 0, 0, 0.5);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.page-header .page-title {
	color: #fff;
	font-size: 2.6665em;
	font-family: var(--secondary-font);
	font-weight: 400;
	margin-top: 0;
	margin-bottom: 20px;
}

.archive .page-header .archive-description {
	color: rgba(255, 255, 255, 0.8);
	max-width: 768px;
	margin: 0 auto;
}

.archive .page-header .archive-description p {
	margin-bottom: 0;
	margin-top: 20px;
}

#crumbs {
	font-size: 0.7778em;
	color: #fff;
}

#crumbs a {
	color: #fff;
	margin-right: 5px;
	-webkit-transition: ease 0.2s;
	transition: ease 0.2s;
}

#crumbs a:hover {
	text-decoration: none;
	color: var(--primary-color);
}

#crumbs .separator {
	margin-right: 5px;
	line-height: 1;
	display: inline-block;
	vertical-align: middle;
}

#crumbs .current a {
	color: var(--primary-color);
	pointer-events: none;
}

.showing-result {
	font-size: 0.7778em;
	font-weight: 600;
	color: #999596;
	margin-bottom: 20px;
}

.cat-tags h5 {
	margin: 0 0 5px 0;
	font-size: 0.6666em;
	color: var(--primary-color);
	letter-spacing: 1px;
	font-weight: 600;
	text-transform: uppercase;
	display: inline-block;
	vertical-align: middle;
}

.cat-tags a {
	display: inline-block;
	vertical-align: middle;
	font-weight: 700;
	margin: 0 0 5px 3px;
	letter-spacing: 1px;
	font-size: 0.5556em;
	text-transform: uppercase;
	color: #fff;
	background: #262525;
	border-radius: 3px;
	padding: 2px 7px;
	text-decoration: none;
}

.cat-tags a:hover {
	background: var(--primary-color);
	color: #fff;
}

.entry-footer>span {
	display: inline-block;
	vertical-align: middle;
}

.entry-footer>span.edit-link {
	display: block;
}

.edit-link a {
	text-transform: uppercase;
	font-size: 0.6666em;
	font-weight: 700;
	letter-spacing: 1px;
	background: var(--primary-color);
	color: #fff;
	padding: 0px 10px;
	display: inline-block;
	vertical-align: middle;
	border-radius: 4px;
	border: 1px solid var(--primary-color);
	text-decoration: none;
}

.entry-footer span.cat-tags+.edit-link a {
	margin-bottom: 5px;
}

.edit-link a:hover {
	background: none;
	color: var(--primary-color);
}

.edit-link a:focus {
	outline-color: #000;
}

.widget .widget-title {
	margin-top: 0;
	font-size: 1em;
	font-family: var(--secondary-font);
	font-weight: 400;
	position: relative;
	margin-bottom: 20px;
	padding-bottom: 10px;
}

#secondary .widget .widget-title {
	text-align: left;
}

.widget .widget-title::after {
	content: "";
	background: -webkit-linear-gradient(to right, rgba(var(--primary-color-rgb), 0.5), transparent 50%);
	background: -moz-linear-gradient(to right, rgba(var(--primary-color-rgb), 0.5), transparent 50%);
	background: -ms-linear-gradient(to right, rgba(var(--primary-color-rgb), 0.5), transparent 50%);
	background: -o-linear-gradient(to right, rgba(var(--primary-color-rgb), 0.5), transparent 50%);
	background: linear-gradient(to right, rgba(var(--primary-color-rgb), 0.5), transparent 50%);
	height: 2px;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
}

.widget ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.widget ul ul {
	margin-top: 12px;
	margin-left: 15px;
}

.widget ul li a {
	color: #585656;
	text-decoration: none;
}

.widget ul li a:hover {
	color: var(--primary-color);
}

.widget_rss .widget-title a.rsswidget {
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}

.woocommerce .site-content .page-header .container {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.woocommerce .site-content .page-header .archive-description {
	order: 2;
	color: rgba(255, 255, 255, 0.75);
}

.woocommerce .site-content .page-header .archive-description p {
	margin-top: 0;
	margin-bottom: 20px;
}

.woocommerce .site-content .page-header .archive-description p:last-child {
	margin-bottom: 0;
}

.fallback-svg {
	vertical-align: top;
}

/*========================
COMMENTS AREA
========================*/
.comments-area {
	margin-top: 60px;
	padding-top: 60px;
	border-top: 1px solid #F0F0F0;
}

.comments-area .comments-title,
.comment-respond .comment-reply-title {
	margin-top: 0;
	margin-bottom: 30px;
	font-size: 1.112em;
	font-family: var(--secondary-font);
	font-weight: 400;
	text-transform: uppercase;
}

.comments-area .comments-title span,
.comment-respond .comment-reply-title span {
	display: inline-block;
	position: relative;
	padding-bottom: 10px;
}

.comments-area .comments-title span:after,
.comment-respond .comment-reply-title span::after {
	content: "";
	background: -webkit-linear-gradient(to right, rgba(var(--primary-color-rgb), 0.5), transparent);
	background: -moz-linear-gradient(to right, rgba(var(--primary-color-rgb), 0.5), transparent);
	background: -ms-linear-gradient(to right, rgba(var(--primary-color-rgb), 0.5), transparent);
	background: -o-linear-gradient(to right, rgba(var(--primary-color-rgb), 0.5), transparent);
	background: linear-gradient(to right, rgba(var(--primary-color-rgb), 0.5), transparent);
	width: 100%;
	height: 2px;
	position: absolute;
	top: 100%;
	left: 0;
}

.comments-area ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.comments-area ol li ol {
	margin-left: 30px;
}

.comment-list .comment {
	border-top: 1px solid #F0F0F0;
	margin-top: 20px;
	padding-top: 20px;
}

.comment-list>.comment:first-child {
	border-top: none;
	padding-top: 0;
	margin-top: 0;
}

.comments-area .comment-body {
	position: relative;
	padding-left: 70px;
}

.comments-area .comment-body .comment-author::before {
	content: "";
	border: 3px solid rgba(240, 240, 240, 0.75);
	top: 5px;
	left: 0;
	position: absolute;
	width: 50px;
	height: 50px;
	border-radius: 100%;
	z-index: 1;
}

.comments-area .bypostauthor>.comment-body .comment-author::after {
	content: "";
	background: url(/wp-content/themes/blossom-spa/images/check-mark.svg?x86406) no-repeat;
	position: absolute;
	top: 37px;
	left: 32px;
	width: 20px;
	height: 21px;
	z-index: 1;
}

.comment-body img.avatar {
	position: absolute;
	top: 5px;
	left: 0;
	width: 50px;
	height: 50px;
	border-radius: 100%;
}

.comment-body b.fn {
	font-weight: 700;
	font-size: 0.8888em;
	text-transform: capitalize;
	margin-bottom: 0;
	display: block;
}

.comment-author a {
	text-decoration: none;
	color: #262525;
}

.comment-author a:hover {
	color: var(--primary-color);
}

.comment-body b.fn span.says {
	display: none;
}

.comment-body .comment-metadata {
	font-size: 0.6666em;
	color: #999;
}

.comment-metadata a {
	color: #999596;
}

.comment-metadata a:hover {
	color: var(--primary-color);
}

.comment-body .comment-awaiting-moderation {
	font-size: 0.7778em;
	margin-top: 10px;
	margin-bottom: 0;
	color: red;
	letter-spacing: 0;
}

.comment-body .reply .comment-reply-link {
	display: inline-block;
	text-align: center;
	position: relative;
	vertical-align: top;
	color: #212127;
	font-size: 0.7778em;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.8px;
	padding-left: 25px;
}

.comment-body .reply .comment-reply-link:hover {
	color: var(--primary-color);
}

.comment-body .reply .comment-reply-link:before {
	content: "";
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23000" d="M8.309 189.836L184.313 37.851C199.719 24.546 224 35.347 224 56.015v80.053c160.629 1.839 288 34.032 288 186.258 0 61.441-39.581 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 45.344-145.012-21.507-183.51-176.59-185.742V360c0 20.7-24.3 31.453-39.687 18.164l-176.004-152c-11.071-9.562-11.086-26.753 0-36.328z"></path></svg>');
	background-repeat: no-repeat;
	width: 15px;
	height: 20px;
	position: absolute;
	top: 5px;
	left: 0;
}

.comment-body .comment-content {
	font-size: 0.8888em;
	font-weight: 400;
}

.comment-body .comment-content p {
	margin-top: 5px;
	margin-bottom: 20px;
}

.comments-area .comment-list+.comment-respond,
.comments-area .comment-body+.comment-respond {
	margin-top: 60px;
	padding-top: 60px;
	border-top: 1px solid #F0F0F0;
}

.comment-respond .comment-reply-title a {
	display: inline-block;
	font-size: 0.7778em;
	margin-left: 10px;
	color: #212127;
	vertical-align: middle;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 1px;
}

.comment-respond .comment-reply-title a:hover {
	color: var(--primary-color);
}

.comment-respond .comment-form p {
	margin-top: 0;
	margin-bottom: 20px;
}

.comment-form p.comment-notes {
	display: none;
}

.comment-respond .comment-form p:not(.comment-form-cookies-consent) label {
	display: none;
}

.comment-respond .comment-form p.comment-form-cookies-consent {
	position: relative;
}

.comment-respond .comment-form p.comment-form-cookies-consent label {
	font-size: 0.888em;
	color: #262525;
	padding-left: 25px;
	position: relative;
	cursor: pointer;
	display: block;
}

.comment-respond .comment-form p.comment-form-cookies-consent label:hover {
	text-decoration: underline;
}

.comment-respond .comment-form p.comment-form-cookies-consent label::before {
	content: "";
	width: 16px;
	height: 16px;
	border: 1px solid #F0F0F0;
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23fff" d="M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"></path></svg>');
	background-repeat: no-repeat;
	background-size: 0;
	background-position: center;
	position: absolute;
	top: 7px;
	left: 0;
	border-radius: 3px;
	font-weight: normal;
	text-align: center;
	line-height: 14px;
	font-size: 0;
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

.comment-respond .comment-form p.comment-form-cookies-consent input[type="checkbox"]:checked+label::before {
	content: "";
	border-color: var(--primary-color);
	background-color: var(--primary-color);
	background-size: 10px;
}

.comment-respond .comment-form p.comment-form-cookies-consent input[type="checkbox"] {
	position: absolute;
	top: 11px;
	left: 1px;
	opacity: 0;
	visibility: hidden;
}

.comment-form p.form-submit {
	margin-bottom: 0;
	margin-top: 30px;
}

/*==========================
PAGINATION 
==========================*/
.navigation.pagination .nav-links {
	text-align: center;
}

.navigation.pagination .page-numbers {
	display: inline-block;
	width: 48px;
	height: 48px;
	line-height: 44px;
	text-align: center;
	border: 2px solid #F0F0F0;
	border-radius: 100%;
	text-decoration: none;
	text-transform: uppercase;
	color: #000;
	font-size: 0.888em;
	font-weight: 600;
	margin: 5px 3px;
	vertical-align: middle;
	letter-spacing: 1px;
}

.navigation.pagination .page-numbers.dots {
	border: none;
}

.navigation.pagination .page-numbers.prev,
.navigation.pagination .page-numbers.next {
	width: auto;
	border-radius: 40px;
	padding-left: 30px;
	padding-right: 30px;
	font-size: 0.6666em;
	letter-spacing: 1px;
	float: left;
	position: relative;
}

.navigation.pagination .page-numbers.prev {
	padding-left: 55px;
}

.navigation.pagination .page-numbers.next {
	float: right;
	padding-right: 55px;
}

.navigation.pagination .page-numbers.prev::before,
.navigation.pagination .page-numbers.next::before {
	content: "";
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"></path></svg>');
	background-repeat: no-repeat;
	width: 15px;
	height: 15px;
	position: absolute;
	top: 14px;
	left: 30px;
}

.navigation.pagination .page-numbers.next::before {
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"></path></svg>');
	left: auto;
	right: 30px;
}

.navigation.pagination .page-numbers.prev:hover::before {
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="%23fff" d="M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"></path></svg>');
}

.navigation.pagination .page-numbers.next:hover::before {
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="%23fff" d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"></path></svg>');
}

.navigation.pagination .page-numbers:not(.dots):hover,
.navigation.pagination .page-numbers.current:not(.dots) {
	background: var(--primary-color);
	color: #fff;
	border-color: var(--primary-color);
}

.posts-navigation .nav-links a {
	display: inline-block;
	vertical-align: middle;
	border: 2px solid #f0f0f0;
	border-radius: 40px;
	padding: 12px 25px 12px 40px;
	font-size: 0.6666em;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 1px;
	color: #000;
	position: relative;
	text-decoration: none;
}

.posts-navigation .nav-links .nav-next a {
	padding-left: 25px;
	padding-right: 40px;
}

.posts-navigation .nav-links a:hover {
	background: var(--primary-color);
	color: #fff;
	border-color: var(--primary-color);
}

.posts-navigation .nav-links a svg {
	position: absolute;
	top: 14px;
	left: 20px;
	font-size: 1.333em;
}

.posts-navigation .nav-links .nav-next a svg {
	left: auto;
	right: 20px;
}

#load-posts {
	text-align: center;
}

#load-posts a {
	display: inline-block;
	font-size: 0.666em;
	text-transform: uppercase;
	color: #262525;
	text-decoration: none;
	font-weight: 700;
	letter-spacing: 1px;
	border: 2px solid #f0f0f0;
	border-radius: 40px;
	padding: 15px 30px;
	text-align: center;
}

#load-posts a.loading,
#load-posts a:hover {
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: #fff;
	text-decoration: none;
}

#load-posts a svg {
	vertical-align: middle;
	margin-right: 10px;
}

#load-posts a.disabled {
	background: var(--primary-color);
	color: #fff;
	border-color: var(--primary-color);
	opacity: 0.6;
	cursor: not-allowed;
}

.post-navigation {
	border-top: 1px solid #F0F0F0;
	padding-top: 60px;
	margin-top: 60px;
	margin-bottom: 0;
}

.post-navigation .nav-links:before,
.post-navigation .nav-links:after {
	content: "";
	display: table;
}

.post-navigation .nav-links:after {
	clear: both;
}

.post-navigation .nav-previous,
.post-navigation .nav-next {
	position: relative;
}

.post-navigation .nav-previous a {
	display: block;
	position: relative;
	padding-left: 30px;
	text-decoration: none;
	color: #262525;
	font-family: var(--secondary-font);
	font-size: 1em;
	font-weight: 400;
}

.post-navigation .nav-next a {
	position: relative;
	display: inline-block;
	padding-right: 30px;
	text-decoration: none;
	color: #262525;
	font-family: var(--secondary-font);
	font-size: 1em;
	font-weight: 400;
}

.post-navigation .nav-links .post-img {
	position: absolute;
	bottom: calc(100% - 20px);
	left: 30px;
	background: #fff;
	border-radius: 5px;
	padding: 15px;
	box-shadow: 0 1px 30px rgba(0, 0, 0, 0.1);
	width: 260px;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

.post-navigation .nav-links .nav-next .post-img {
	left: auto;
	right: 30px;
}

.post-navigation .nav-links a:hover+.post-img {
	bottom: 100%;
	opacity: 1;
	filter: alpha(opacity=100);
	visibility: visible;
}

.post-navigation a .meta-nav {
	display: block;
	font-size: 0.6666em;
	font-weight: 700;
	letter-spacing: 1px;
	color: #CCC6C8;
	font-family: var(--primary-font);
}

.post-navigation a .meta-nav svg {
	font-size: 1.333em;
	font-weight: 400;
	vertical-align: middle;
	margin-right: 10px;
	position: absolute;
	top: 7px;
	left: 0;
	width: 14px;
}

.post-navigation .nav-next a .meta-nav svg {
	margin-right: 0;
	margin-left: 10px;
	left: auto;
	right: 0;
}

.post-navigation a .post-title {
	font-size: 1em;
	font-weight: 400;
	margin-bottom: 0;
	/*width: 75%;*/
	display: block;
	line-height: 1.3;
	margin-top: 5px;
}

.post-navigation .nav-next a .post-title {
	float: right;
}

.post-navigation a:hover>.post-title {
	color: var(--primary-color);
}

/*=========================
SIDEBARS
=========================*/
#primary {
	margin-bottom: 80px;
}

.centered #primary {
	max-width: 768px;
	margin-left: auto;
	margin-right: auto;
}

.rightsidebar #primary {
	float: left;
	width: 71%;
	padding-right: 64px;
}

.leftsidebar #primary {
	float: right;
	width: 71%;
	padding-left: 64px;
}

#secondary {
	float: left;
	width: 29%;
	margin-bottom: 80px;
}

/*=============================
BACK TO TOP BTN
=============================*/
.back-to-top {
	padding: 0;
	font-size: 1em;
	position: fixed;
	bottom: 20px;
	right: 0;
	width: 50px;
	height: 50px;
	line-height: 44px;
	background: #fff;
	text-align: center;
	border-radius: 100%;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	z-index: 999;
	border: 3px solid rgba(var(--primary-color-rgb), 0.5);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	color: #000000;
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

.back-to-top.show {
	right: 20px;
	opacity: 1;
	filter: alpha(opacity=100);
	visibility: visible;
}

.back-to-top:hover {
	background: var(--primary-color);
	color: #fff;
	border-color: rgba(255, 255, 255, 0.5);
}


/*============================
Header main section
============================*/
.header-main {
	display: flex;
	flex: 1;
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-end;
	padding: 33px 0;
}

.header-main .site-branding {
	display: flex;
	flex: auto;
	flex-direction: column;
	align-items: flex-start;
}

.site-header .site-branding.has-logo-text {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
}

.site-header.header-six .site-branding.has-logo-text,
.site-header.header-six .site-branding.has-logo-text {
	flex-direction: column;
	align-items: flex-start;
	text-align: center;
}

.site-header.header-six .site-branding.has-logo-text .custom-logo-link,
.site-header.header-six .site-branding.has-logo-text .custom-logo-link {
	margin: 0 auto;
}

.site-header .site-branding.has-logo-text .site-title-wrap {
	padding-left: 15px;
}

.site-header.header-six .site-branding.has-logo-text .site-title-wrap,
.site-header.header-seven .site-branding.has-logo-text .site-title-wrap {
	padding-left: 0;
}

.site-branding .site-title {
	font-family: var(--secondary-font);
	font-weight: 400;
	font-size: 1.6667em;
	margin: 0;
}

.site-branding .site-title a {
	text-decoration: none;
}

.site-branding .site-description {
	margin: 0;
	font-size: 0.8888em;
}

.header-contact {
	display: flex;
	flex: auto;
	flex-direction: row;
	white-space: nowrap;
	align-items: center;
	justify-content: flex-end;
}

.header-contact .contact-block {
	position: relative;
	border-left: 1px solid rgba(0, 0, 0, 0.1);
	padding-left: 75px;
	margin-left: 30px;
}

.header-contact .contact-block:first-child {
	border-left: none;
	margin-left: 0;
	padding-left: 45px;
}

.header-contact .contact-block a {
	color: #585656;
}

.header-contact .contact-block>svg {
	width: 36px;
	position: absolute;
	top: 60%;
	left: 30px;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
}

.header-contact .contact-block:first-child>svg {
	left: 0;
}

.header-contact .contact-block .title {
	font-size: 0.6666em;
	font-weight: 600;
	color: #999596;
}

.header-contact .contact-block .content {
	margin: 0;
	font-size: 0.8888em;
	font-weight: 700;
	line-height: 1.3;
}


/*==============================
NAV WRAP SECTION
==============================*/
header.site-header>.container {
	position: relative;
	padding-bottom: 34px;
}

.nav-wrap {
	background: var(--primary-color);
	border-radius: 5px;
	padding: 10px;
	display: flex;
	flex: 1;
	flex-flow: row wrap;
	justify-content: flex-end;
	position: absolute;
	top: calc(100% - 34px);
	left: 0;
	right: 0;
	z-index: 999;
}

.nav-wrap .main-navigation {
	display: flex;
	flex: auto;
	align-items: center;
}

.main-navigation button.toggle-btn {
	display: none;
}

.nav-wrap ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.main-navigation ul li {
	display: inline-block;
	vertical-align: middle;
	font-size: 0.778em;
	text-transform: uppercase;
	font-weight: 600;
	position: relative;
	margin-right: 20px;
	margin-left: 20px;
}

.main-navigation ul li a {
	color: #fff;
	display: inline-block;
	border-bottom: 3px solid transparent;
	text-decoration: none;
}

.main-navigation ul li a:after {
	content: "";
	background: rgba(255, 255, 255, 0.5);
	width: 0%;
	height: 3px;
	position: absolute;
	top: 100%;
	left: 0;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

.main-navigation ul li:hover>a:after,
.main-navigation ul li.current-menu-item>a:after,
.main-navigation ul li.current_page_items a:after {
	width: 100%;
	opacity: 1;
	filter: alpha(opacity=100);
	visibility: visible;
}

.main-navigation ul li ul {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	background: #fff;
	width: 230px;
	opacity: 0;
	clip: rect(1px, 1px, 1px, 1px);
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
	z-index: 9999;
}

.main-navigation ul li ul ul {
	left: 100%;
	top: 10px;
}

.main-navigation ul li:hover>ul,
.main-navigation ul li.focused>ul {
	top: calc(100% + 3px);
	opacity: 1;
	filter: alpha(opacity=100);
	clip: unset;
}

.main-navigation ul ul li:hover>ul,
.main-navigation ul ul li.focused>ul {
	top: 0;
}

.main-navigation ul ul li {
	font-size: 1em;
	font-weight: 700;
	display: block;
	margin-right: 0;
	margin-left: 0;
}

.main-navigation ul ul li a {
	padding: 15px 20px;
	margin: 0;
	border-bottom: 1px solid #E0E0E0;
	width: 100%;
	color: #262525;
}

.main-navigation ul ul li:last-child>a {
	border-bottom: none;
}

.main-navigation ul ul li:hover>a,
.main-navigation ul ul li.current-menu-item>a,
.main-navigation ul ul li.current_page_items a {
	background: var(--primary-color);
	color: #fff;
}

.main-navigation ul ul li a:after {
	display: none;
}

.main-navigation ul li.menu-item-has-children {
	padding-right: 15px;
}

.main-navigation ul ul li.menu-item-has-children {
	padding-right: 0;
}

.main-navigation ul ul li.menu-item-has-children>a {
	padding-right: 30px;
}

.main-navigation ul li .submenu-toggle {
	position: absolute;
	top: 5px;
	right: 0;
	color: #fff;
	font-size: 0.6666em;
}

.main-navigation ul ul li .submenu-toggle {
	color: #262525;
	font-size: 0.888em;
	top: 19px;
	width: 20px;
	display: block;
	text-align: center;
	height: 20px;
	line-height: 20px;
	right: 5px;
	-webkit-transform: rotate(-90deg);
	-moz-transform: rotate(-90deg);
	transform: rotate(-90deg);
}

.main-navigation ul ul li:hover>.submenu-toggle,
.main-navigation ul ul li.current-menu-item>.submenu-toggle,
.main-navigation ul ul li.current_page_items .submenu-toggle {
	color: #fff;
}

.social-list li {
	display: inline-block;
	vertical-align: middle;
	font-size: 0.8888em;
}

.header-social .social-list li a {
	color: #585656;
	border-left: 1px solid rgba(255, 255, 255, 0.1);
	display: inline-block;
	width: 45px;
	height: 45px;
	line-height: 45px;
	text-align: center;
}

.nav-wrap .header-social .social-list li a {
	color: #fff;
}

.nav-wrap .header-social .social-list li a:hover,
.nav-wrap .header-search:hover {
	background: rgba(255, 255, 255, 0.1);
}

.header-search {
	display: inline-block;
	vertical-align: middle;
	line-height: 0;
	padding: 0;
	box-shadow: none;
	border-radius: 0;
	background: none;
	border: none;
}

.nav-wrap .nav-right {
	display: flex;
	flex: 1;
	white-space: nowrap;
	justify-content: flex-end;
	align-items: center;
}

.header-search>svg {
	width: 45px;
	height: 45px;
	text-align: center;
	line-height: 35px;
	border-left: 1px solid rgba(255, 255, 255, 0.2);
	padding: 0px 15px;
	cursor: pointer;
}

.admin-bar .site-header {
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

.showing-search-modal .site-header {
	margin-top: 55px;
}

.search-form-wrap {
	background: var(--primary-color);
	padding: 5px 0;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
}

.admin-bar.showing-search-modal .search-form-wrap {
	top: 32px;
}

.search-form-wrap .search-form-inner {
	max-width: 1170px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	padding-right: 40px;
}

.header-search-wrap .search-form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.header-search-wrap .search-form label {
	flex: 1;
}

.search-form-wrap .search-form input[type="search"] {
	background: none;
	border-radius: 0;
	border: none;
	color: #fff;
	text-transform: uppercase;
	font-size: 0.778em;
	font-weight: 700;
	letter-spacing: 1px;
}

.search-form-wrap .search-form input[type="search"]::-webkit-input-placeholder {
	/* Chrome/Opera/Safari */
	color: #fff;
}

.search-form-wrap .search-form input[type="search"]::-moz-placeholder {
	/* Firefox 19+ */
	color: #fff;
}

.search-form-wrap .search-form input[type="search"]:-ms-input-placeholder {
	/* IE 10+ */
	color: #fff;
}

.search-form-wrap .search-form input[type="search"]:-moz-placeholder {
	/* Firefox 18- */
	color: #fff;
}

.search-form-wrap .search-form input[type="submit"] {
	opacity: 0;
	background-color: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
	color: inherit;
	width: 20px;
	height: 20px;
	overflow: hidden;
	font-size: 0;
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="%23fff" d="M16,14.591,12.679,11.27a6.89,6.89,0,0,0,1.409-4.226A7,7,0,0,0,7.044,0,7,7,0,0,0,0,7.044a7,7,0,0,0,7.044,7.044,6.89,6.89,0,0,0,4.226-1.409L14.591,16ZM2.013,7.044A4.983,4.983,0,0,1,7.044,2.013a4.983,4.983,0,0,1,5.031,5.031,4.983,4.983,0,0,1-5.031,5.031A4.983,4.983,0,0,1,2.013,7.044Z"></path></svg>');
	background-position: center;
	background-repeat: no-repeat;
	background-size: 14px;
}

.search-form-wrap .search-form input[type="submit"]:focus {
	opacity: 1;
	filter: alpha(opacity=100);
}

.search-form-wrap .close {
	position: absolute;
	top: 15px;
	right: 0;
}

.close {
	display: inline-block;
	width: 15px;
	height: 15px;
	position: relative;
	cursor: pointer;
	background: none;
	border: none;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	overflow: hidden;
}

.close:before,
.close:after {
	content: "";
	background: #fff;
	width: 100%;
	height: 2px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

.close:after {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.close:hover:before,
.close:hover:after {
	background: #f00;
}

/*===========================
STICKY HEADER
===========================*/
.customize-partial-edit-shortcut button svg {
	margin: auto !important;
}

.sticky-header {
	background: var(--primary-color);
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	flex: 1;
	flex-flow: row wrap;
	padding: 10px 5%;
	z-index: 9999;
	border-bottom: 1px solid #fff;
	-webkit-transform: translateY(-100%);
	-moz-transform: translateY(-100%);
	transform: translateY(-100%);
	visibility: hidden;
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

.showing-search-modal .sticky-header {
	padding-top: 65px;
}

.custom-background .sticky-header {
	width: 1300px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 2%;
	padding-right: 2%;
}

.header-sticky .search-form-wrap.active+.site-header .sticky-header {
	top: 61px;
}

.admin-bar .sticky-header {
	top: 32px;
}

.header-sticky .sticky-header {
	-webkit-transform: translateY(0);
	-moz-transform: translateY(0);
	transform: translateY(0);
	visibility: visible;
}

.header-sticky .search-form-wrap {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99999;
	border-bottom: 1px solid #fff;
}

.admin-bar.header-sticky .search-form-wrap {
	top: 32px;
}

.sticky-header .site-branding {
	width: 20%;
}

.header-sticky .site-branding .site-title a {
	color: #fff;
}

.header-sticky .site-branding .site-description {
	color: rgba(255, 255, 255, 0.75);
}

.sticky-header .main-navigation {
	width: 60%;
	text-align: center;
}

.sticky-header .main-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sticky-header .main-navigation ul li {
	line-height: 1.2;
}

.sticky-header .main-navigation ul li a {
	padding-top: 15px;
	padding-bottom: 15px;
}

.sticky-header .main-navigation ul li span {
	line-height: 5;
	top: 0;
}

.sticky-header .main-navigation ul ul {
	text-align: left;
}

.sticky-header .main-navigation ul ul li {
	line-height: 1.8;
}

.sticky-header .main-navigation ul ul li span {
	line-height: 1.8;
	top: 19px;
}

.sticky-header .nav-right {
	width: 20%;
	text-align: right;
}

.sticky-header .header-social,
.sticky-header .header-search {
	display: inline-block;
	vertical-align: middle;
}

.sticky-header .header-social .social-list li a {
	color: #fff;
}

.sticky-header .header-social .social-list li a:hover,
.sticky-header .header-search:hover {
	background: rgba(0, 0, 0, 0.05);
}

/*============================
SITE BANNER SECTION
============================*/
.site-banner .item {
	position: relative;
}

.custom-background .site-banner .item img {
	height: 650px;
	object-fit: cover;
}

.site-banner .banner-caption {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.3);
	display: flex;
	flex: 1;
	align-items: center;
	flex-direction: column;
	justify-content: center;
}

.site-banner .banner-caption .container {
	max-width: 100%;
	width: 1170px;
}

.site-banner .banner-caption .banner-caption-inner {
	max-width: 570px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.site-banner .banner-caption .title {
	font-size: 3.554em;
	font-family: var(--secondary-font);
	color: #fff;
	font-weight: 400;
	margin-top: 0;
	margin-bottom: 0;
}

.site-banner .banner-caption .title a {
	color: #fff;
	text-decoration: none;
}

.site-banner .banner-caption .title a:hover {
	color: var(--primary-color);
}

.site-banner .banner-caption .description {
	font-size: 1.112em;
	color: #fff;
	margin-top: 20px;
	line-height: 1.8;
}

.site-banner .banner-caption .btn-wrap {
	margin-top: 30px;
}

.site-banner .banner-caption .btn-wrap a.btn.btn-transparent {
	border-color: #fff;
	color: #fff;
}

.site-banner .banner-caption .btn-wrap a.btn.btn-transparent:hover {
	background: #fff;
	color: var(--primary-color);
}

/*=============================
SITE BANNER SLIDER
=============================*/
.site-banner .owl-carousel .owl-nav .owl-prev {
	left: 80px;
}

.site-banner .owl-carousel .owl-nav .owl-next {
	right: 80px;
}

.site-banner .owl-carousel .owl-dots {
	margin-top: 0;
	position: absolute;
	bottom: 60px;
	left: 0;
	right: 0;
	text-align: center;
	line-height: 1;
}

.site-banner .owl-carousel .owl-dots .owl-dot span {
	border-color: #fff;
}

.site-banner .owl-carousel .owl-dots .owl-dot.active span,
.site-banner .owl-carousel .owl-dots .owl-dot:hover span {
	border-color: var(--primary-color);
}

/*=============================
BANNER CAPTION LEFT ALIGNMENT
=============================*/
.site-banner .banner-caption.left .banner-caption-inner {
	margin-left: 0;
	text-align: left;
}

/*=============================
BANNER CAPTION RIGHT ALIGNMENT
=============================*/
.site-banner .banner-caption.right .banner-caption-inner {
	margin-right: 0;
	text-align: left;
}

/*=======================
VIDEO BANNER
=======================*/
.video-banner #wp-custom-header {
	position: relative;
	height: 0;
	padding-top: 56.25%;
}

.video-banner #wp-custom-header iframe,
.video-banner #wp-custom-header video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.video-banner #wp-custom-header .wp-custom-header-video-button {
	position: absolute;
	bottom: 30px;
	right: 0;
	padding: 0;
	width: 90px;
	height: 90px;
	left: 0;
	margin: auto;
	background: none;
	border: none;
	border-radius: 100%;
	box-shadow: none;
	text-indent: 100px;
	overflow: hidden;
	z-index: 99;
}

.video-banner #wp-custom-header .wp-custom-header-video-button::before {
	content: "";
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23fff" d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-16 328c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160zm112 0c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160z"></path></svg>');
	background-repeat: no-repeat;
	position: absolute;
	width: 90px;
	height: 90px;
	top: 0;
	left: 0;
	opacity: 0.8;
	filter: alpha(opacity=80);
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

.video-banner #wp-custom-header .wp-custom-header-video-pause::before {
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" ><path fill="%23fff" d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm115.7 272l-176 101c-15.8 8.8-35.7-2.5-35.7-21V152c0-18.4 19.8-29.8 35.7-21l176 107c16.4 9.2 16.4 32.9 0 42z"></path></svg>');
}

.video-banner #wp-custom-header .wp-custom-header-video-button:hover::before {
	opacity: 1;
	filter: alpha(opacity=100);
}

.site-banner.video-banner .banner-caption {
	background: url('/wp-content/themes/blossom-spa/images/overlay.png?x86406');
}

.site-banner.video-banner .banner-caption .banner-caption-inner {
	max-width: 770px;
}

/*===============================
SITE BANNER WITH NEWSLETTER
===============================*/
.banner-caption .blossomthemes-email-newsletter-wrapper {
	max-width: 480px;
	float: right;
	border-radius: 5px;
	overflow: hidden;
	padding: 40px;
	background: rgba(0, 0, 0, 0.65) !important;
}

.banner-caption .blossomthemes-email-newsletter-wrapper:after {
	display: none;
}

.banner-caption .blossomthemes-email-newsletter-wrapper h3 {
	color: #fff;
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 1.6667em;
}

.banner-caption .blossomthemes-email-newsletter-wrapper span {
	color: rgba(255, 255, 255, 0.8);
	display: inline-block;
	margin-bottom: 30px;
}

.banner-caption .blossomthemes-email-newsletter-wrapper form input[type="text"],
.banner-caption .blossomthemes-email-newsletter-wrapper form input[type="email"] {
	background: rgba(255, 255, 255, 0.5);
	border-color: rgba(255, 255, 255, 0.5);
	height: 50px;
	margin-bottom: 15px;
}

.banner-caption .blossomthemes-email-newsletter-wrapper label {
	margin-bottom: 20px;
	display: block;
}

.banner-caption .blossomthemes-email-newsletter-wrapper label input[type="checkbox"] {
	vertical-align: middle;
}

.banner-caption .blossomthemes-email-newsletter-wrapper label span.check-mark {
	display: none;
}

.banner-caption .blossomthemes-email-newsletter-wrapper label span {
	margin-bottom: 0;
	font-size: 0.8888em;
	vertical-align: middle;
	padding-left: 5px;
}

.banner-caption .blossomthemes-email-newsletter-wrapper label:hover span {
	color: #fff;
}

.banner-caption .blossomthemes-email-newsletter-wrapper input[type="submit"] {
	border-radius: 5px;
}

/*=============================
SERVICE STYLE ONE SECTION
=============================*/
section.service-section.style-1 {
	background: rgba(var(--primary-color-rgb), 0.1);
	padding: 80px 0;
	text-align: center;
}

section[class*="-section"] .grid {
	margin-top: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 30px;
}

section[class*="-section"] .grid .widget {
	margin-bottom: 0;
}

section[class*="-section"] .grid .widget_text {
	grid-column: 1 / span 3;
}

section.service-section.style-1 .widget_bttk_icon_text_widget,
.recent-post-section .grid article {
	background: #fff;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
	border-radius: 5px;
	border-bottom: 3px solid transparent;
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
	margin-bottom: 25px;
	position: relative;
}

.service-section.style-1 .widget_bttk_icon_text_widget:hover,
.recent-post-section .grid article:hover {
	border-bottom-color: rgba(var(--primary-color-rgb), 0.5);
}

.service-section.style-1 .widget_bttk_icon_text_widget .widget-title {
	font-size: 1.333em;
	margin: 30px;
}

.service-section.style-1 .widget_bttk_icon_text_widget .content,
.recent-post-section .grid article .content-wrap {
	margin: 30px;
}

.service-section.style-1 .widget_bttk_icon_text_widget .rtc-itw-inner-holder {
	padding-bottom: 25px;
}

.service-section.style-1 .widget_bttk_icon_text_widget .rtc-itw-inner-holder a.btn-readmore,
.recent-post-section .grid article a.btn-readmore,
.page-template-service .site-main .widget_bttk_icon_text_widget a.btn-readmore,
.shop-popular .product-image a.btn-readmore {
	position: absolute;
	bottom: -25px;
	left: 50%;
	margin: 0 auto;
	overflow: hidden;
	padding-left: 25px;
	padding-right: 25px;
	white-space: nowrap;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	transform: translateX(-50%);
	text-indent: -100%;
	background: none;
	border-color: transparent;
	color: transparent;
}

.service-section.style-1 .widget_bttk_icon_text_widget .rtc-itw-inner-holder a.btn-readmore:hover,
.recent-post-section .grid article a.btn-readmore:hover,
.page-template-service .site-main .widget_bttk_icon_text_widget a.btn-readmore:hover,
.shop-popular .product-image a.btn-readmore:hover {
	padding-left: 30px;
	padding-right: 50px;
	background: var(--primary-color);
	color: #fff;
	text-indent: 0;
	border-color: var(--primary-color);
	color: #fff;
}

.service-section.style-1 .widget_bttk_icon_text_widget .rtc-itw-inner-holder a.btn-readmore:focus-within,
.recent-post-section .grid article a.btn-readmore:focus-within,
.page-template-service .site-main .widget_bttk_icon_text_widget a.btn-readmore:focus-within,
.shop-popular .product-image a.btn-readmore:focus-within {
	padding-left: 30px;
	padding-right: 50px;
	background: var(--primary-color);
	color: #fff;
	text-indent: 0;
	border-color: var(--primary-color);
	color: #fff;
}

.service-section.style-1 .widget_bttk_icon_text_widget .rtc-itw-inner-holder a.btn-readmore::before,
.recent-post-section .grid article a.btn-readmore::before,
.page-template-service .site-main .widget_bttk_icon_text_widget a.btn-readmore:before,
.shop-popular .product-image a.btn-readmore:before {
	width: 44px;
	height: 44px;
	line-height: 44px;
	background-color: var(--primary-color);
	background-size: 8px;
	background-position: center;
	border-radius: 100%;
	margin: 0 auto;
	left: 0;
	right: 0;
	top: 0;
	z-index: 1;
	text-indent: 0;
	color: #fff;
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

.service-section.style-1 .widget_bttk_icon_text_widget .rtc-itw-inner-holder a.btn-readmore:hover::before,
.recent-post-section .grid article a.btn-readmore:hover::before,
.page-template-service .site-main .widget_bttk_icon_text_widget a.btn-readmore:hover:before,
.shop-popular .product-image a.btn-readmore:hover:before {
	right: -50%;
	opacity: 0;
	visibility: hidden;
}

.service-section.style-1 .widget_bttk_icon_text_widget .rtc-itw-inner-holder a.btn-readmore:focus-within::before,
.recent-post-section .grid article a.btn-readmore:focus-within::before,
.page-template-service .site-main .widget_bttk_icon_text_widget a.btn-readmore:focus-within:before,
.shop-popular .product-image a.btn-readmore:focus-within:before {
	right: -50%;
	opacity: 0;
	visibility: hidden;
}

.service-section.style-1 .widget_bttk_icon_text_widget .rtc-itw-inner-holder a.btn-readmore::after,
.recent-post-section .grid article a.btn-readmore::after,
.page-template-service .site-main .widget_bttk_icon_text_widget a.btn-readmore:after,
.shop-popular .product-image a.btn-readmore:after {
	right: 0;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

.service-section.style-1 .widget_bttk_icon_text_widget .rtc-itw-inner-holder a.btn-readmore:hover::after,
.recent-post-section .grid article a.btn-readmore:hover::after,
.page-template-service .site-main .widget_bttk_icon_text_widget a.btn-readmore:hover:after,
.shop-popular .product-image a.btn-readmore:hover:after {
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><path fill="%23fff" d="M187.8 264.5L41 412.5c-4.7 4.7-12.3 4.7-17 0L4.2 392.7c-4.7-4.7-4.7-12.3 0-17L122.7 256 4.2 136.3c-4.7-4.7-4.7-12.3 0-17L24 99.5c4.7-4.7 12.3-4.7 17 0l146.8 148c4.7 4.7 4.7 12.3 0 17z" class=""></path></svg>');
	right: 30px;
	opacity: 1;
	filter: alpha(opacity=100);
	visibility: visible;
}

.service-section.style-1 .widget_bttk_icon_text_widget .rtc-itw-inner-holder a.btn-readmore:focus-within::after,
.recent-post-section .grid article a.btn-readmore:focus-within::after,
.page-template-service .site-main .widget_bttk_icon_text_widget a.btn-readmore:focus-within:after,
.shop-popular .product-image a.btn-readmore:focus-within:after {
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><path fill="%23fff" d="M187.8 264.5L41 412.5c-4.7 4.7-12.3 4.7-17 0L4.2 392.7c-4.7-4.7-4.7-12.3 0-17L122.7 256 4.2 136.3c-4.7-4.7-4.7-12.3 0-17L24 99.5c4.7-4.7 12.3-4.7 17 0l146.8 148c4.7 4.7 4.7 12.3 0 17z" class=""></path></svg>');
	right: 30px;
	opacity: 1;
	filter: alpha(opacity=100);
	visibility: visible;
}

/*===============================
SERVICE STYLE TWO SECTION
===============================*/
section.service-section.style-2 {
	background: rgba(var(--primary-color-rgb), 0.1);
	position: relative;
	overflow: hidden;
}

section.service-section.style-2 .grid {
	grid-template-columns: repeat(2, 1fr);
	padding-right: 44%;
	grid-gap: 0;
	margin-top: 0;
}

section.service-section.style-2 .widget_media_image {
	position: absolute;
	top: 0;
	right: 0;
	width: 44%;
	height: 100%;
}

.service-section.style-2 .widget_media_image figure.wp-caption {
	margin: 0;
}

section.service-section.style-2 .widget_media_image img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

.service-section.style-2 .widget_media_image .widget-title,
.service-section.style-2 .widget_media_image figcaption {
	display: none;
}

.service-section.style-2 .widget_bttk_icon_text_widget {
	border-bottom: 1px dashed rgba(var(--primary-color-rgb), 0.2);
	border-right: 1px dashed rgba(var(--primary-color-rgb), 0.2);
	padding: 50px 40px;
	text-align: center;
}

.service-section.style-2 .widget_bttk_icon_text_widget .icon-holder {
	font-size: 1.5em;
	width: 80px;
	height: 80px;
	border-radius: 100%;
	border: 3px solid rgba(var(--primary-color-rgb), 0.5);
	margin: 0 auto 20px auto;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.service-section.style-2 .widget_bttk_icon_text_widget .icon-holder img {
	display: inline-block;
	vertical-align: middle;
}


/*=================================
ABOUT SECTION
=================================*/
.about-section .widget_blossomtheme_featured_page_widget {
	margin-bottom: 0;
}

.about-section .widget_blossomtheme_featured_page_widget .widget-featured-holder {
	position: relative;
	padding-left: calc(50% - 40px);
	z-index: 1;
	min-height: 635px;
	display: flex;
	flex: 1;
	flex-flow: column wrap;
	justify-content: center;
	padding-top: 80px;
	padding-bottom: 80px;
}

.about-section .widget_blossomtheme_featured_page_widget .widget-featured-holder.right {
	padding-left: 0;
	padding-right: calc(50% - 40px);
}

.about-section .widget_blossomtheme_featured_page_widget .img-holder {
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	z-index: -1;
	height: 100%;
}

.about-section .widget_blossomtheme_featured_page_widget .right .img-holder {
	left: auto;
	right: 0;
}

.about-section .widget_blossomtheme_featured_page_widget .img-holder img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-section .widget_blossomtheme_featured_page_widget .featured-holder-wrap {
	background: #fff;
	padding: 50px;
	border-radius: 5px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

.about-section .widget_blossomtheme_featured_page_widget .widget-title {
	margin-top: 5px;
	margin-bottom: 20px;
	padding-bottom: 0;
	font-family: var(--secondary-font);
	font-weight: 400;
	font-size: 2em;
}

.about-section .widget_blossomtheme_featured_page_widget .widget-title:after {
	display: none;
}

.about-section .widget_blossomtheme_featured_page_widget a.btn-readmore:focus {
	outline-color: #000;
}


/*==============================
TEAM SECTION
==============================*/
section.team-section {
	background: rgba(var(--primary-color-rgb), 0.1);
	padding: 80px 0;
	text-align: center;
}

section.team-section .owl-carousel {
	margin-top: 30px;
	display: block;
}

section.team-section .owl-carousel .widget {
	margin: 0;
}

.team-section .owl-carousel .owl-stage-outer {
	padding: 30px 0;
}

.owl-carousel .owl-nav [class*="owl-"] {
	position: absolute;
	top: 50%;
	width: 50px;
	height: 50px;
	text-align: center;
	line-height: 50px;
	background: rgba(var(--primary-color-rgb), 0.3);
	border-radius: 100%;
	color: #fff;
	overflow: hidden;
	font-size: 1.112em;
	text-indent: 60px;
	left: -100px;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
	white-space: nowrap;
}

.team-section .owl-carousel .owl-nav .owl-prev,
.wc-product-section .owl-carousel .owl-nav .owl-prev {
	left: -60px;
}

.owl-carousel .owl-nav .owl-next {
	left: auto;
	right: -100px;
}

.team-section .owl-carousel .owl-nav .owl-next,
.wc-product-section .owl-carousel .owl-nav .owl-next {
	right: -60px;
}

.owl-carousel .owl-nav [class*="owl-"]:hover {
	background: rgba(var(--primary-color-rgb), 0.5);
}

.owl-carousel .owl-nav [class*="owl-"].disabled {
	cursor: not-allowed;
	background: rgba(var(--primary-color-rgb), 0.3);
}

.owl-carousel .owl-nav [class*="owl-"]::before {
	content: "";
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><path fill="%23fff" d="M4.2 247.5L151 99.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17L69.3 256l118.5 119.7c4.7 4.7 4.7 12.3 0 17L168 412.5c-4.7 4.7-12.3 4.7-17 0L4.2 264.5c-4.7-4.7-4.7-12.3 0-17z"></path></svg>');
	background-repeat: no-repeat;
	background-position: center;
	width: 20px;
	height: 25px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	text-indent: 0px;
	bottom: 0;
	margin: auto;
}

.owl-carousel .owl-nav .owl-next::before {
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><path fill="%23fff" d="M187.8 264.5L41 412.5c-4.7 4.7-12.3 4.7-17 0L4.2 392.7c-4.7-4.7-4.7-12.3 0-17L122.7 256 4.2 136.3c-4.7-4.7-4.7-12.3 0-17L24 99.5c4.7-4.7 12.3-4.7 17 0l146.8 148c4.7 4.7 4.7 12.3 0 17z" class=""></path></svg>');
}

.owl-carousel .owl-dots {
	margin-top: 20px;
}

.owl-carousel .owl-dots .owl-dot {
	display: inline-block;
	margin: 5px;
}

.owl-carousel .owl-dots .owl-dot span {
	display: inline-block;
	vertical-align: middle;
	width: 7px;
	height: 7px;
	border: 1px solid var(--primary-color);
	border-radius: 100%;
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

.owl-carousel .owl-dots .owl-dot:hover span {
	background: var(--primary-color);
}

.owl-carousel .owl-dots .owl-dot.active span {
	background: var(--primary-color);
	width: 11px;
	height: 11px;
}


/*==============================
RECENT POST SECTION
=============================*/
.recent-post-section {
	margin: 80px 0;
	text-align: center;
}

section.recent-post-section .grid {
	margin-top: 60px;
}

.post-thumbnail {
	position: relative;
	margin: 0;
	display: block;
	border-top-right-radius: 5px;
	border-top-left-radius: 5px;
	overflow: hidden
}

.post-thumbnail .category {
	position: absolute;
	top: 10px;
	left: 10px;
	font-size: 0.6666em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
}

span.category a {
	display: inline-block;
	padding: 3px 10px;
	background: #262525;
	border-radius: 3px;
	color: #fff;
	margin-right: 2px;
	margin-bottom: 5px;
	text-decoration: none;
}

span.category a:hover {
	background: var(--primary-color);
}

.recent-post-section .grid article .content-wrap {
	margin: 40px;
	text-align: left;
}

.recent-post-section .grid article .content-wrap .entry-title {
	margin: 0;
	font-family: var(--secondary-font);
	font-weight: 400;
	font-size: 1.333em;
}

.recent-post-section .grid article .content-wrap .entry-title a {
	color: #262525;
	text-decoration: none;
}

.recent-post-section .grid article .content-wrap .entry-title a:hover {
	color: var(--primary-color);
}

.recent-post-section .btn-wrap {
	margin-top: 60px;
}

.recent-post-section .grid article a.btn-readmore {
	text-align: center;
}


/*==============================
TESTIMONIAL SECTION
==============================*/
.testimonial-section {
	text-align: center;
	margin: 80px 0;
}

section.testimonial-section .owl-carousel {
	display: block;
	max-width: 770px;
	margin-top: 60px;
	margin-left: auto;
	margin-right: auto;
}


/*=============================
CONTACT SECTION
============================*/
.contact-section {
	display: flex;
	flex: 1;
	flex-flow: row wrap;
}

.contact-section .map-block {
	position: relative;
	width: 49.66%;
	line-height: 0;
}

.contact-section .form-block {
	padding-top: 70px;
	padding-bottom: 70px;
	padding-left: 110px;
	width: 50.33%;
}

iframe {
	border: 0;
	width: 100%;
}

.contact-section iframe {
	height: 100%;
}

.contact-details-wrap {
	background: #fff;
	border: 10px solid var(--primary-color);
	line-height: initial;
	box-shadow: 0 1px 30px rgba(0, 0, 0, 0.1);
	padding: 50px;
}

.contact-section .contact-details-wrap {
	max-width: 485px;
	position: absolute;
	top: 50%;
	right: -50px;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
}

.contact-section .contact-details-wrap::after {
	content: "";
	background: #fff;
	position: absolute;
	top: 50px;
	bottom: 50px;
	width: 10px;
	right: -10px;
	height: calc(100% - 100px);
}

.contact-details-wrap .widget {
	margin-bottom: 30px;
}

.contact-details-wrap .widget:last-child,
.contact-details-wrap .widget table {
	margin-bottom: 0;
}

.contact-details-wrap .widget .widget-title,
section.contact-section .contact-details-wrap .widget .widget-title {
	font-weight: 400;
	font-size: 1.112em;
	color: var(--primary-color);
	font-family: var(--secondary-font);
	position: relative;
	margin-top: 0;
	margin-bottom: 20px;
	display: inline-block;
	padding-bottom: 5px;
}

.contact-details-wrap .widget .widget-title:after,
section.contact-section .contact-details-wrap .widget .widget-title:after {
	content: "";
	background: -webkit-linear-gradient(to right, var(--primary-color), transparent);
	background: -moz-linear-gradient(to right, var(--primary-color), transparent);
	background: -ms-linear-gradient(to right, var(--primary-color), transparent);
	background: -o-linear-gradient(to right, var(--primary-color), transparent);
	background: linear-gradient(to right, var(--primary-color), transparent);
	width: 100%;
	height: 2px;
	position: absolute;
	top: 100%;
	left: 0;
	display: block;
}

.widget_bttk_contact_social_links p {
	font-size: 0.8888em;
	margin-top: 0;
	margin-bottom: 20px;
	line-height: 1.8;
}

.site-footer .widget_bttk_contact_social_links p {
	color: #fff;
}

.contact-info ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.contact-list+ul.social-networks {
	margin-top: 20px;
}

.contact-info ul.contact-list li {
	position: relative;
	margin-bottom: 15px;
	padding-left: 35px;
	font-size: 0.8888em;
}

.contact-info ul.contact-list li svg {
	width: 15px;
	position: absolute;
	top: 5px;
	left: 0;
	height: 15px;
	color: #999596;
}

.contact-info ul.contact-list li a {
	color: #585656;
}

.contact-info ul.contact-list li a:hover {
	color: var(--primary-color);
}

ul.social-networks li {
	float: none;
	margin: 5px 3px;
	display: inline-block;
	font-size: 0.8888em;
}

ul.social-networks li a {
	display: inline-block;
	width: 40px;
	text-align: center;
	height: 40px;
	line-height: 36px;
	border: 2px solid #F0F0F0;
	border-radius: 100%;
	color: #252626;
	background: none;
}

ul.social-networks li a:hover {
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: #fff !important;
}

section.contact-section .contact-details-wrap .widget .textwidget {
	margin-top: 0;
}

.contact-details-wrap table {
	border: none;
	border-collapse: collapse;
	border-radius: 0;
	margin-bottom: 0;
	font-size: 0.9em;
}

.contact-details-wrap table tbody tr:nth-child(2n+1) {
	background: none;
}

.contact-details-wrap table tr td {
	border-bottom: none;
	padding-left: 0;
	padding-top: 10px;
	padding-bottom: 10px;
}

.contact-details-wrap table tr td:nth-child(2n) {
	text-align: right;
	color: var(--primary-color);
	font-weight: 700;
	padding-right: 0;
}


/*=========================
INSTAGRAM SECTION
=========================*/
.instagram-section {
	margin-top: 80px;
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: center;
	position: relative;

}

body:not(.home) .instagram-section {
	margin-top: 0;
}

body.page-template-blossom-portfolio .instagram-section,
.single-blossom-portfolio .instagram-section {
	margin-top: 80px;
}

.instagram-section .popup-gallery {
	margin: 0;
	padding: 0;
	list-style: none;
	order: 2;
	display: flex;
	flex: 1;
	flex-direction: row;
	justify-content: center;
	align-items: flex-start;
}

.instagram-section .popup-gallery li {
	position: relative;
	display: inline-block;
}

.instagram-section .popup-gallery .instagram-meta {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.5));
	background: -moz-linear-gradient(transparent, rgba(0, 0, 0, 0.5));
	background: -ms-linear-gradient(transparent, rgba(0, 0, 0, 0.5));
	background: -o-linear-gradient(transparent, rgba(0, 0, 0, 0.5));
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.5));
	font-size: 0.8888em;
	text-align: center;
	padding: 60px 10px 10px 10px;
}

.instagram-section .popup-gallery .instagram-meta>span {
	display: inline-block;
	margin-right: 20px;
	color: rgba(255, 255, 255, 0.75);
}

.instagram-section .popup-gallery .instagram-meta>span:last-child {
	margin-right: 0;
}

.instagram-section .popup-gallery .instagram-meta>span svg {
	margin-right: 5px;
}

.instagram-section .profile-link {
	display: flex;
	align-self: center;
	margin-bottom: 20px;
	font-family: var(--secondary-font);
	font-size: 1.112em;
	position: absolute;
	top: 0;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 333;
	padding: 8px 28px;
	border: 1px solid;
	background: #ffffffc7;
	border-radius: 50px;
}

@media(max-width:768px) {
	.instagram-section .profile-link {
		left: 50%;
		top: unset;
		bottom: 0;
		transform: translate(-50%, 0);
		min-width: fit-content;


	}
}

.instagram-section .profile-link .insta-icon {
	margin-right: 10px;
	display: inline-block;
}


/*==========================
SITE FOOTER SECTION
==========================*/
.site-footer {
	background: #262525;
}

.site-footer .footer-block-wrap .container {
	background: #1e1e1e;
	display: flex;
	flex: 1;
	flex-flow: row wrap;
	align-items: center;
	padding: 25px 0;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}

.site-footer .footer-block-wrap .footer-contact-block {
	width: 32.33%;
	border-right: 2px solid rgba(255, 255, 255, 0.2);
	padding: 0 25px;
	position: relative;
	text-align: center;
}

.site-footer .footer-block-wrap .footer-contact-block:last-child {
	border-right: none;
}

.site-footer .widget_blossomtheme_featured_page_widget .featured_page_content {
	color: #fff;
}

.footer-contact-block-inner {
	display: inline-block;
	position: relative;
	text-align: left;
	padding-left: 65px;
}

.site-footer .footer-block-wrap .footer-contact-block-inner svg {
	width: 48px;
	height: 48px;
	position: absolute;
	top: 3px;
	left: 0;
}

.site-footer .footer-block-wrap .footer-contact-block .title {
	font-size: 0.7778em;
	color: #fff;
	font-weight: 600;
}

.site-footer .footer-block-wrap .footer-contact-block .description {
	margin: 0;
	color: #999596;
	font-size: 0.8888em;
	font-weight: 600;
}

.site-footer .footer-block-wrap .footer-contact-block .description a {
	color: #999596;
}

.site-footer .footer-t {
	padding-top: 80px;
	padding-bottom: 20px;
}

.site-footer .footer-block-wrap+.footer-t {
	padding-top: 60px;
	padding-bottom: 0;
}

.footer-t .grid:not(.column-1) {
	display: flex;
	flex: 1;
	flex-flow: row wrap;
}

.footer-t .grid.column-4 .col {
	width: 22.66%;
	margin-right: 3%;
}

.footer-t .grid.column-3 .col {
	width: 31.33%;
	margin-right: 3%;
}

.footer-t .grid.column-2 .col {
	width: 48.33%;
	margin-right: 3%;
}

.footer-t .grid .col:last-child {
	margin-right: 0 !important;
}

.site-footer .widget .widget-title {
	color: #fff;
}

.site-footer .widget .widget-title::after {
	background: -webkit-linear-gradient(to right, rgba(255, 255, 255, 0.5), transparent);
	background: -moz-linear-gradient(to right, rgba(255, 255, 255, 0.5), transparent);
	background: -ms-linear-gradient(to right, rgba(255, 255, 255, 0.5), transparent);
	background: -o-linear-gradient(to right, rgba(255, 255, 255, 0.5), transparent);
	background: linear-gradient(to right, rgba(255, 255, 255, 0.5), transparent);
}

.site-footer .widget_text .textwidget {
	color: #fff;
}

.site-footer .footer-b {
	background: #1E1E1E;
	padding: 25px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.footer-b .container {
	display: flex;
	flex: 1;
	flex-flow: row wrap;
	align-items: center;
}

.footer-b .copyright {
	width: 50%;
	font-size: 0.8888em;
	color: rgba(255, 255, 255, 0.7);
}

.footer-b .copyright a {
	color: rgba(255, 255, 255, 0.7);
}

.footer-b .copyright a:hover {
	color: var(--primary-color);
}

.footer-b .footer-social {
	width: 50%;
	text-align: right;
}

.footer-social ul.social-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-social ul.social-list li a {
	display: inline-block;
	vertical-align: middle;
	width: 36px;
	height: 36px;
	line-height: 36px;
	text-align: center;
	background: rgba(0, 0, 0, 0.1);
	border-radius: 5px;
	color: #fff;
}

.footer-social ul.social-list li a:hover {
	background: var(--primary-color);
}

.site-footer .widget ul li,
.site-footer .widget ul li a {
	color: #fff;
}

.widget ul li {
	margin-bottom: 15px;
}

.widget ul li:last-child {
	margin-bottom: 0;
}

.site-footer .widget ul li a:hover {
	color: var(--primary-color);
}

/*=================================
WIDGET COMMON CSS
=================================*/
.widget_archive ul li,
.widget_categories ul li,
.widget_pages ul li,
.widget_meta ul li,
.widget_recent_comments ul li {
	display: block;
	margin-bottom: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	font-size: 0.7778em;
	text-transform: uppercase;
	font-weight: 700;
}

.widget_recent_comments ul li {
	text-transform: none;
	font-weight: normal;
	font-size: 1em;
}

.site-footer .widget_archive ul li,
.site-footer .widget_categories ul li,
.site-footer .widget_pages ul li,
.site-footer .widget_meta ul li,
.site-footer .widget_recent_comments ul li {
	border-bottom-color: rgba(255, 255, 255, 0.1);
}

.widget_archive ul li:last-child,
.widget_categories ul li:last-child,
.widget_pages ul li:last-child,
.widget_meta ul li:last-child,
.widget_recent_comments ul li:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.widget_pages ul li.current_page_item>a,
.widget_pages ul li.current-menu-item>a {
	color: var(--primary-color);
}

/*========================
WIDGET RECENT POSTS
========================*/
.widget_recent_entries ul {
	counter-reset: my-counter;
}

.widget_recent_entries ul li {
	counter-increment: my-counter;
	position: relative;
	padding-left: 40px;
	font-size: 1em;
	font-family: var(--secondary-font);
}

.widget_recent_entries ul li::before {
	content: counter(my-counter)".";
	position: absolute;
	top: 0;
	left: 0;
	font-family: var(--secondary-font);
	color: var(--primary-color);
	font-size: 2em;
	line-height: 1;
}

.widget_recent_entries ul li a {
	color: #000;
}

.widget_recent_entries ul li a:hover {
	color: var(--primary-color);
}

/*=========================
WIDGET SEARCH
=========================*/
.widget_search .search-form:before,
.widget_search .search-form:after {
	content: "";
	display: table;
}

.widget_search .search-form:after {
	clear: both;
}

.widget_search .search-form label {
	float: left;
	width: calc(100% - 50px);
}

.widget_search .search-form .search-field {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	height: 50px;
}

.widget_search .search-form .search-submit {
	width: 50px;
	border-radius: 0 5px 5px 0px;
	padding: 0;
	height: 50px;
	background-color: #000;
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23fff" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"></path></svg>');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px;
	border: none;
	box-shadow: none;
	text-indent: 55px;
}

.widget_search .search-form .search-submit:hover {
	background-color: var(--primary-color);
}

/*==========================
WIDGET ARCHIVE
==========================*/
.widget_archive ul li {
	display: flex;
	flex: 1;
	flex-flow: row wrap;
	justify-content: flex-end;
}

.widget_archive ul li a {
	display: flex;
	flex: 1;
}

/*==========================
WIDGET CALENDAR
==========================*/
.widget_calendar table {
	margin-bottom: 0;
}

.widget_calendar table caption {
	background: var(--primary-color);
	color: #fff;
	padding: 10px;
}

.widget_calendar table th {
	color: var(--primary-color);
	padding-left: 0;
	padding-right: 0;
	text-align: center;
}

.widget_calendar .calendar_wrap .wp-calendar-nav .wp-calendar-nav-next {
	float: right;
}

.widget_calendar table tr td {
	padding-left: 0;
	padding-right: 0;
	text-align: center;
}

.site-footer .widget_calendar table tr td {
	color: #fff;
}

.widget_calendar table tr td a {
	color: var(--primary-color)
}

.widget_calendar table tr td#today {
	background: rgba(0, 0, 0, 0.15);
}

.widget_calendar .wp-calendar-nav-next {
	float: right;
}

/*===========================
WIDGET TAG CLOUD
===========================*/
.widget .tagcloud a {
	display: inline-block;
	font-size: 0.8888em !important;
	color: #fff;
	text-decoration: none;
	background: var(--primary-color);
	margin: 3px 1px;
	padding: 5px 15px;
	border-radius: 5px;
	font-weight: 600;
	border: 1px solid var(--primary-color);
	text-decoration: none;
}

.widget .tagcloud a:hover {
	background: none;
	color: var(--primary-color);
}

.widget-area .widget .tagcloud a:focus {
	outline-color: #000;
}


/*==============================
WIDGET TESTIMONIAL
==============================*/
.widget_bttk_testimonial_widget .bttk-testimonial-inner-holder {
	display: flex;
	flex: 1;
	flex-direction: column;
	position: relative;
	padding-top: 100px;
	padding-bottom: 0;
}

.widget_bttk_testimonial_widget .bttk-testimonial-inner-holder::before {
	content: "";
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 24"><path fill="%239cbe9c" d="M33.54,28.5a8,8,0,1,1-8.04,8,16,16,0,0,1,16-16A15.724,15.724,0,0,0,33.54,28.5Zm-12.04,8a8,8,0,0,1-16,0h0a16,16,0,0,1,16-16,15.724,15.724,0,0,0-7.96,8A7.989,7.989,0,0,1,21.5,36.5Z" transform="translate(-5.5 -20.5)"/></svg>');
	background-repeat: no-repeat;
	background-size: 36px;
	background-position: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 80px;
	height: 80px;
	border: 3px solid var(--primary-color);
	border-radius: 100%;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	margin: 0 auto;
}

.widget_bttk_testimonial_widget .bttk-testimonial-inner-holder img {
	width: auto;
}

.widget_bttk_testimonial_widget .bttk-testimonial-inner-holder .img-holder {
	order: 2;
	padding-right: 10px;
}

.widget_bttk_testimonial_widget .bttk-testimonial-inner-holder .img-holder img {
	width: 60px;
	height: 60px;
	border-radius: 100%;
	object-fit: cover;
}

.widget_bttk_testimonial_widget .text-holder {
	display: flex;
	flex: auto;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
}

#secondary .widget_bttk_testimonial_widget .text-holder,
.site-footer .widget_bttk_testimonial_widget .text-holder {
	text-align: center;
}

.widget_bttk_testimonial_widget .testimonial-meta {
	order: 2;
	text-align: left;
	font-size: 0.8888em;
	padding-left: 10px;
}

.widget_bttk_testimonial_widget .testimonial-meta .name {
	display: block;
	font-weight: 700;
	color: #262525;
	text-transform: capitalize;
}

.widget_bttk_testimonial_widget .testimonial-meta .designation {
	color: #999596;
}

.widget_bttk_testimonial_widget .testimonial-content {
	color: #262525;
	font-size: 1.333em;
	line-height: 1.8;
	margin-bottom: 25px;
	width: 100%;
}

#secondary .widget_bttk_testimonial_widget .testimonial-content,
.site-footer .widget_bttk_testimonial_widget .testimonial-content {
	font-size: 1.112em;
}

.widget_bttk_testimonial_widget .testimonial-content p {
	margin-top: 0;
	margin-bottom: 20px;
}

.site-footer .widget_bttk_testimonial_widget .testimonial-meta .name,
.site-footer .widget_bttk_testimonial_widget .testimonial-content {
	color: #fff;
}


/*===============================
WIDGET TEAM
===============================*/
.widget_bttk_description_widget {
	background: #fff;
	border-radius: 5px;
	overflow: hidden;
	box-shadow: 0 1px 30px rgba(0, 0, 0, 0.1);
	position: relative;
}

.widget_bttk_description_widget .image-holder img {
	width: 100%;
}

.widget_bttk_description_widget .bttk-team-holder .description,
.widget_bttk_description_widget .bttk-team-holder .social-profile,
.widget_bttk_description_widget .bttk-team-holder-modal .image-holder {
	display: none;
}

.widget_bttk_description_widget .bttk-team-holder .text-holder {
	padding: 20px;
}

.widget_bttk_description_widget .name {
	font-size: 1.112em;
	line-height: 1.4;
	font-family: var(--secondary-font);
	font-weight: 400;
	color: #262525;
	display: block;
}

.widget_bttk_description_widget .designation {
	display: block;
	font-size: 0.888em;
}

.widget_bttk_description_widget .bttk-team-holder-modal .designation {
	font-weight: 700;
}

.widget_bttk_description_widget .bttk-team-holder-modal {
	position: absolute;
	background: var(--primary-color);
	top: 0;
	left: 0;
	right: 0;
	display: flex;
	flex: 1;
	flex-flow: column wrap;
	align-items: center;
	justify-content: center;
	padding: 60px 30px 30px 30px;
	text-align: left;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

.widget_bttk_description_widget:hover .bttk-team-holder-modal {
	opacity: 1;
	filter: alpha(opacity=100);
	visibility: visible;
	padding-top: 30px;
}

.widget_bttk_description_widget:focus-within .bttk-team-holder-modal {
	opacity: 1;
	filter: alpha(opacity=100);
	visibility: visible;
	padding-top: 30px;
}

.widget_bttk_description_widget .bttk-team-holder-modal .name,
.widget_bttk_description_widget .bttk-team-holder-modal .designation,
.widget_bttk_description_widget .bttk-team-holder-modal .description {
	color: #fff;
}

.widget_bttk_description_widget .bttk-team-holder-modal .description {
	font-size: 0.8888em;
	font-weight: 300;
	line-height: 1.5;
	margin-top: 30px;
	margin-bottom: 0;
	height: 150px;
	overflow: hidden;
	position: relative;
}

.widget_bttk_description_widget .bttk-team-holder-modal .description.ps.ps--active-y {
	padding-right: 20px;
}

.ps .ps__rail-x:hover,
.ps .ps__rail-y:hover,
.ps .ps__rail-x:focus,
.ps .ps__rail-y:focus,
.ps .ps__rail-x.ps--clicking,
.ps .ps__rail-y.ps--clicking {
	background-color: transparent;
}

.ps__thumb-y,
.ps__thumb-x {
	background-color: rgba(255, 255, 255, 0.5);
}

.ps__rail-y:hover>.ps__thumb-y,
.ps__rail-y:focus>.ps__thumb-y,
.ps__rail-y.ps--clicking .ps__thumb-y {
	background-color: rgba(255, 255, 255, 0.7);
}

.ps--scrolling-x .ps__thumb-x,
.ps--scrolling-y .ps__thumb-y {
	width: 11px;
}

.widget_bttk_description_widget .bttk-team-holder-modal .description p {
	margin: 0;
}

.widget_bttk_description_widget .bttk-team-holder-modal .social-profile {
	margin: 30px 0 0 0;
	padding: 0;
	list-style: none;
}

.widget_bttk_description_widget .bttk-team-holder-modal .social-profile li {
	display: inline-block;
	vertical-align: middle;
	font-size: 0.778em;
	margin: 4px 2px;
}

.widget_bttk_description_widget .social-profile li a {
	width: 30px;
	height: 30px;
	background: #fff;
	color: var(--primary-color);
	display: inline-block;
	text-align: center;
	line-height: 30px;
	border-radius: 100%;
	box-shadow: 3px 1px 3px rgba(0, 0, 0, 0.1);
}

.widget_bttk_description_widget .social-profile li a:hover {
	background: #61C5EC;
	color: #fff;
}

.widget_bttk_description_widget .social-profile li a[href*="facebook.com"]:hover {
	background: #3b5998;
}

.widget_bttk_description_widget .social-profile li a[href*="twitter.com"]:hover {
	background: #00aced;
}

.widget_bttk_description_widget .social-profile li a[href*="instagram.com"]:hover {
	background: #3f729b;
}

.widget_bttk_description_widget .social-profile li a[href*="plus.google.com"]:hover {
	background: #dd4b39;
}

.widget_bttk_description_widget .social-profile li a[href*="pinterest.com"]:hover {
	background: #cb2128;
}

.widget_bttk_description_widget .social-profile li a[href*="linkedin.com"]:hover {
	background: #007fb1;
}

.widget_bttk_description_widget .social-profile li a[href*="youtube.com"]:hover {
	background: #ff3333;
}

.widget_bttk_description_widget .social-profile li a[href*="vimeo.com"]:hover {
	background: #1ab7ea;
}

.widget_bttk_description_widget .social-profile li a[href*="dribbble.com"]:hover {
	background: #ea4c89;
}

.widget_bttk_description_widget .social-profile li a[href*="foursquare.com"]:hover {
	background: #0072b1;
}

.widget_bttk_description_widget .social-profile li a[href*="flickr.com"]:hover {
	background: #0063db;
}

.widget_bttk_description_widget .social-profile li a[href*="reddit.com"]:hover {
	background: #000000;
}

.widget_bttk_description_widget .social-profile li a[href*="skype.com"]:hover {
	background: #26ade3;
}

.widget_bttk_description_widget .social-profile li a[href*="stumbleupon.com"]:hover {
	background: #ea4b24;
}

.widget_bttk_description_widget .social-profile li a[href*="tumblr.com"]:hover {
	background: #2c4762;
}

.widget_bttk_description_widget .social-profile li a[href*="ok.ru"]:hover {
	background: #f38231;
}

.widget_bttk_description_widget .social-profile li a[href*="vk.com"]:hover {
	background: #4e76a1;
}

.widget_bttk_description_widget .social-profile li a[href*="xing.com"]:hover {
	background: #006565;
}

.widget_bttk_description_widget .bttk-team-holder-modal a.close_popup {
	display: none;
}

/*================================
WIDGET INSTAGRAM
================================*/
.widget_btif_instagram_widget ul li {
	margin: 0;
	padding: 3px;
}

.widget_btif_instagram_widget .profile-link {
	margin-top: 10px;
	display: block;
	text-align: center;
	background: #222;
	color: #fff;
	font-size: 0.8888em;
	padding: 5px 10px;
	border: 1px solid #222;
	text-decoration: none;
}

.widget_btif_instagram_widget .profile-link:hover {
	background: none;
	color: #222;
}

.widget_btif_instagram_widget .profile-link .insta-icon {
	margin-right: 7px;
}

/*================================
WIDGET ICON TEXT
================================*/
.widget_bttk_icon_text_widget .rtc-itw-inner-holder {
	display: flex;
	flex: 1;
	flex-direction: column;
}

#secondary .widget_bttk_icon_text_widget .rtc-itw-inner-holder,
#secondary .widget_bttk_icon_text_widget .widget-title,
.site-footer .widget_bttk_icon_text_widget .rtc-itw-inner-holder,
.site-footer .widget_bttk_icon_text_widget .widget-title {
	text-align: center;
}

.widget_bttk_icon_text_widget .rtc-itw-inner-holder .text-holder {
	order: 2;
}

.widget_bttk_icon_text_widget .widget-title {
	margin-top: 0;
	margin-bottom: 10px;
	padding-bottom: 0;
	font-size: 1.112em;
	font-family: var(--secondary-font);
	font-weight: 400;
}

.widget_bttk_icon_text_widget .widget-title:after {
	display: none;
}

.widget_bttk_icon_text_widget .content {
	font-size: 0.888em;
	line-height: 1.8;
}

.site-footer .widget_bttk_icon_text_widget .content {
	color: #fff;
}

.widget_bttk_icon_text_widget .content p {
	margin: 0;
}

.widget_bttk_icon_text_widget .icon-holder {
	font-size: 3em;
	line-height: 1;
	color: var(--primary-color);
}

#secondary .widget_bttk_icon_text_widget .icon-holder,
.site-footer .widget_bttk_icon_text_widget .icon-holder {
	width: 80px;
	height: 80px;
	border: 3px solid var(--primary-color);
	border-radius: 100%;
	overflow: hidden;
	text-align: center;
	line-height: 80px;
	font-size: 2.5em;
	margin: 0 auto 30px auto;
}

#secondary .widget_bttk_icon_text_widget .icon-holder img,
.site-footer .widget_bttk_icon_text_widget .icon-holder img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.widget_bttk_icon_text_widget a.btn-readmore {
	margin-top: 20px;
}


/*==================================
WIDGET CALL TO ACTION
=================================*/
.widget_blossomtheme_companion_cta_widget .bttk-cta-bg,
.widget_blossomtheme_companion_cta_widget .text {
	padding: 80px 0;
	position: relative;
	z-index: 1;
}

#secondary .widget_blossomtheme_companion_cta_widget .bttk-cta-bg,
#secondary .widget_blossomtheme_companion_cta_widget .text,
.site-footer .widget_blossomtheme_companion_cta_widget .bttk-cta-bg,
.site-footer .widget_blossomtheme_companion_cta_widget .text {
	padding: 40px;
}

.widget_blossomtheme_companion_cta_widget .bttk-cta-bg:after {
	content: "";
	background: rgba(0, 0, 0, 0.5);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.cta-section .widget_blossomtheme_companion_cta_widget {
	margin-bottom: 0;
}

.widget_blossomtheme_companion_cta_widget .centered {
	text-align: center;
}

.widget_blossomtheme_companion_cta_widget .left .widget-title,
.widget_blossomtheme_companion_cta_widget .left .text-holder {
	max-width: 750px;
}

.widget_blossomtheme_companion_cta_widget .blossomtheme-cta-container {
	max-width: 1170px;
	margin-left: auto;
	margin-right: auto;
}

.widget_blossomtheme_companion_cta_widget .centered .blossomtheme-cta-container {
	max-width: 770px;
}

.widget_blossomtheme_companion_cta_widget .right .blossomtheme-cta-container {
	text-align: right;
}

.widget_blossomtheme_companion_cta_widget .blossomtheme-cta-container .widget-title {
	font-size: 2.223em;
	color: #fff;
	margin-top: 0;
	padding-bottom: 0;
	font-family: var(--secondary-font);
	font-weight: 400;
	margin-bottom: 20px;
	line-height: 1.3;
}

.widget_blossomtheme_companion_cta_widget .blossomtheme-cta-container .widget-title {
	font-size: 2em;
}

#secondary .widget_blossomtheme_companion_cta_widget .right .widget-title,
.site-footer .widget_blossomtheme_companion_cta_widget .right .widget-title {
	text-align: right;
}

.widget_blossomtheme_companion_cta_widget .blossomtheme-cta-container .widget-title:after {
	display: none;
}

.widget_blossomtheme_companion_cta_widget .left .blossomtheme-cta-container .widget-title,
.widget_blossomtheme_companion_cta_widget .left .text-holder {
	max-width: 768px;
}

.widget_blossomtheme_companion_cta_widget .right .blossomtheme-cta-container .widget-title,
.widget_blossomtheme_companion_cta_widget .right .text-holder {
	max-width: 768px;
	margin-left: auto;
}

.widget_blossomtheme_companion_cta_widget .text-holder p {
	font-size: 1.112em;
	font-weight: 400;
	color: #fff;
	margin-top: 0;
	margin-bottom: 0;
}

.widget_blossomtheme_companion_cta_widget .button-wrap {
	margin-top: 40px;
}

.widget_blossomtheme_companion_cta_widget .text a.btn-cta {
	background: #fff;
	color: var(--primary-color);
	border-color: #fff;
}

.widget_blossomtheme_companion_cta_widget .text a.btn-cta:hover {
	color: #fff;
	background: none;
}

.widget_blossomtheme_companion_cta_widget .text a.btn-cta:after {
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><path fill="%239cbe9c" d="M187.8 264.5L41 412.5c-4.7 4.7-12.3 4.7-17 0L4.2 392.7c-4.7-4.7-4.7-12.3 0-17L122.7 256 4.2 136.3c-4.7-4.7-4.7-12.3 0-17L24 99.5c4.7-4.7 12.3-4.7 17 0l146.8 148c4.7 4.7 4.7 12.3 0 17z" class=""></path></svg>');
}

.widget_blossomtheme_companion_cta_widget .text a.btn-cta:hover:after {
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><path fill="%23fff" d="M187.8 264.5L41 412.5c-4.7 4.7-12.3 4.7-17 0L4.2 392.7c-4.7-4.7-4.7-12.3 0-17L122.7 256 4.2 136.3c-4.7-4.7-4.7-12.3 0-17L24 99.5c4.7-4.7 12.3-4.7 17 0l146.8 148c4.7 4.7 4.7 12.3 0 17z" class=""></path></svg>');
}

.widget_blossomtheme_companion_cta_widget a.btn-cta+a.btn-cta {
	margin-left: 20px;
}

#secondary .widget_blossomtheme_companion_cta_widget .button-wrap .btn-cta,
.site-footer .widget_blossomtheme_companion_cta_widget .button-wrap .btn-cta {
	display: block;
	text-align: center;
	margin-bottom: 10px;
	padding-right: 30px;
}

#secondary .widget_blossomtheme_companion_cta_widget .button-wrap .btn-cta::before,
.site-footer .widget_blossomtheme_companion_cta_widget .button-wrap .btn-cta::before {
	display: none;
}

#secondary .widget_blossomtheme_companion_cta_widget .button-wrap .btn-cta::after,
.site-footer .widget_blossomtheme_companion_cta_widget .button-wrap .btn-cta::after {
	position: static;
	display: inline-block;
	vertical-align: middle;
	margin-left: 5px;
}

#secondary .widget_blossomtheme_companion_cta_widget .button-wrap .btn-cta+.btn-cta,
.site-footer .widget_blossomtheme_companion_cta_widget .button-wrap .btn-cta+.btn-cta {
	margin-left: 0;
	margin-bottom: 0;
}

/*=========================
WIDGET GALLERY
=========================*/
.widget_media_gallery .gallery-item {
	margin: 0;
	padding: 3px;
}

.widget_media_gallery .gallery-caption {
	display: none;
}

.widget_media_gallery .gallery-item a {
	display: inline-block;
	position: relative;
	z-index: 1;
}

.widget_media_gallery .gallery-item a::before {
	content: "";
	background: rgba(0, 0, 0, 0.2);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 5px;
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

.widget_media_gallery .gallery-item a:hover::before {
	background: transparent;
}

.widget_media_gallery .gallery-item img {
	border-radius: 5px;
	width: 100%;
	height: 80px;
	object-fit: cover;
}

/*=========================
CLASSIC LAYOUT
=========================*/
.site-main article {
	box-shadow: 0 1px 30px rgba(0, 0, 0, 0.1);
	margin-bottom: 80px;
	border-radius: 5px;
}

.page-template .site-main article,
body:not(.search) .site-main article.page {
	box-shadow: none;
	margin-bottom: 0;
	border-radius: 0;
}

.site-main article .category {
	top: 15px;
	left: 15px;
}

.author-like-wrap {
	display: flex;
	flex: 1;
	flex-flow: row wrap;
	justify-content: flex-end;
	align-items: center;
}

.post-thumbnail .author-like-wrap {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.6));
	background: -moz-linear-gradient(transparent, rgba(0, 0, 0, 0.6));
	background: -ms-linear-gradient(transparent, rgba(0, 0, 0, 0.6));
	background: -o-linear-gradient(transparent, rgba(0, 0, 0, 0.6));
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.6));
	padding: 0 20px;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

article:hover .post-thumbnail .author-like-wrap {
	padding-top: 10px;
	padding-bottom: 10px;
	opacity: 1;
	filter: alpha(opacity=100);
	visibility: visible;
}

article:focus-within .post-thumbnail .author-like-wrap {
	padding-top: 10px;
	padding-bottom: 10px;
	opacity: 1;
	filter: alpha(opacity=100);
	visibility: visible;
}

.byline svg {
	width: 18px;
	vertical-align: middle;
}

.byline svg .autb {
	fill: #fff;
}

.author-like-wrap>span,
.author-like-wrap .bsp_ajax_like {
	display: flex;
	flex: 1;
	align-items: center;
	font-size: 0.666em;
	letter-spacing: 1px;
	color: #fff;
}

.author-like-wrap>span a,
.author-like-wrap .bsp_ajax_like a {
	color: #fff;
}

.author-like-wrap>span a:hover,
.author-like-wrap .bsp_ajax_like a:hover {
	color: var(--primary-color);
}

span.byline a {
	text-transform: capitalize;
}

.author-like-wrap .bsp_ajax_like {
	justify-content: flex-end;
}

.author-like-wrap>span svg,
.author-like-wrap .bsp_ajax_like svg {
	margin-right: 7px;
}

.author-like-wrap>span svg,
.author-like-wrap .bsp_ajax_like svg {
	font-size: 1.1667em;
}

.site-main article .content-wrap {
	padding: 40px 50px 60px 50px;
	position: relative;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	border-bottom: 3px solid transparent;
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

.site-main article:hover .content-wrap {
	border-bottom-color: rgba(var(--primary-color-rgb), 0.5);
}

.site-main article .content-wrap .entry-title {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 1.6667em;
	line-height: 1.4;
	font-weight: 400;
	font-family: var(--secondary-font);
}

.entry-title a {
	color: #262525;
	text-decoration: none;
}

.entry-title a:hover {
	color: var(--primary-color);
}

.site-main article .content-wrap .entry-meta {
	margin-top: 20px;
}

.site-main article .content-wrap a.btn-readmore {
	position: absolute;
	bottom: -25px;
	left: 50%;
	margin: 0 auto;
	overflow: hidden;
	padding-left: 25px;
	padding-right: 25px;
	white-space: nowrap;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	transform: translateX(-50%);
	text-indent: -100%;
	background: none;
	border-color: transparent;
	color: transparent;
}

.site-main article .content-wrap a.btn-readmore:hover,
.site-main article .content-wrap a.btn-readmore:focus {
	padding-left: 30px;
	padding-right: 50px;
	background: var(--primary-color);
	color: #fff;
	text-indent: 0;
	border-color: var(--primary-color);
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.site-main article .content-wrap a.btn-readmore:focus {
	outline-color: #000;
}

.site-main article .content-wrap a.btn-readmore::before {
	width: 43px;
	height: 43px;
	line-height: 43px;
	background-color: var(--primary-color);
	background-size: 7px;
	border-radius: 100%;
	margin: 0 auto;
	left: 0;
	right: 0;
	top: 1px;
	z-index: 1;
	text-indent: 0;
	color: #fff;
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

.site-main article .content-wrap a.btn-readmore:hover::before,
.site-main article .content-wrap a.btn-readmore:focus::before {
	right: -50%;
	opacity: 0;
	visibility: hidden;
}

.site-main article .content-wrap a.btn-readmore::after {
	background-size: 0;
	right: 0;
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

.site-main article .content-wrap a.btn-readmore:hover::after,
.site-main article .content-wrap a.btn-readmore:focus::after {
	background-size: 7px;
	right: 30px;
}

.blog .site-main article a.btn-readmore:hover::after,
.search .site-main article a.btn-readmore:hover::after,
.archive .site-main article a.btn-readmore:hover::after,
.blog .site-main article a.btn-readmore:focus::after,
.search .site-main article a.btn-readmore:focus::after,
.archive .site-main article a.btn-readmore:focus::after {
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><path fill="%23fff" d="M187.8 264.5L41 412.5c-4.7 4.7-12.3 4.7-17 0L4.2 392.7c-4.7-4.7-4.7-12.3 0-17L122.7 256 4.2 136.3c-4.7-4.7-4.7-12.3 0-17L24 99.5c4.7-4.7 12.3-4.7 17 0l146.8 148c4.7 4.7 4.7 12.3 0 17z" class=""></path></svg>');
}

/*=======================
GRID LAYOUT
=======================*/
.grid-layout .site-main {
	display: flex;
	flex: 1;
	flex-flow: row wrap;
}

.grid-layout .site-main article {
	display: flex;
	/*flex: auto;*/
	flex-direction: column;
}

.grid-layout.rightsidebar .site-main article,
.grid-layout.leftsidebar .site-main article {
	width: 48%;
	margin-right: 4%;
}

.grid-layout.rightsidebar .site-main article:nth-child(2n),
.grid-layout.leftsidebar .site-main article:nth-child(2n) {
	margin-right: 0;
}

.grid-layout.full-width .site-main article {
	width: 31.33%;
	margin-right: 3%;
}

.grid-layout.full-width .site-main article:nth-child(3n) {
	margin-right: 0;
}

.grid-layout .site-main article .content-wrap {
	padding: 25px 40px 60px 40px;
	display: flex;
	flex: 1;
	flex-direction: column;
}

.grid-layout .site-main article .content-wrap .entry-title {
	font-size: 1.3333em;
}

/*=========================
MASONRY LAYOUT
=========================*/
.masonry-layout.full-width .site-main article {
	width: 31%;
	margin-right: 1%;
	margin-left: 1%;
}

.masonry-layout.rightsidebar .site-main article,
.masonry-layout.leftsidebar .site-main article {
	width: 47%;
	margin-right: 1.5%;
	margin-left: 1.5%;
}

.masonry-layout .site-main article .content-wrap {
	padding: 25px 40px 60px 40px;
}

.masonry-layout .site-main article .content-wrap .entry-title {
	font-size: 1.3333em;
}

/*=====================================
LIST and  LIST FEATURED POST LAYOUT
=====================================*/
.list-layout .site-main article,
.list-with-feat-post-layout .site-main article:not(.featured-post) {
	display: flex;
	flex: 1;
	flex-flow: row wrap;
}

.list-layout .site-main article .post-thumbnail,
.list-with-feat-post-layout .site-main article:not(.featured-post) .post-thumbnail {
	width: 45%;
	border-top-right-radius: 0;
	border-bottom-left-radius: 5px;
}

.list-layout .site-main article .post-thumbnail img,
.list-with-feat-post-layout .site-main article:not(.featured-post) .post-thumbnail img,
.list-layout .site-main article .post-thumbnail .svg-holder,
.list-with-feat-post-layout .site-main article:not(.featured-post) .post-thumbnail .svg-holder,
.list-layout .site-main article .post-thumbnail .fallback-svg,
.list-with-feat-post-layout .site-main article:not(.featured-post) .post-thumbnail .fallback-svg {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.list-layout .site-main article .content-wrap,
.list-with-feat-post-layout .site-main article:not(.featured-post) .content-wrap {
	width: 55%;
	padding: 30px 40px 50px 40px;
	border-bottom-left-radius: 0;
}

.archive.list-layout .site-main article .post-thumbnail,
.archive.list-layout .site-main article .content-wrap {
	width: 50%;
}

.list-layout .site-main article .entry-title,
.list-with-feat-post-layout .site-main article:not(.featured-post) .entry-title {
	font-size: 1.3333em;
}

.list-layout .site-main article .entry-meta,
.list-with-feat-post-layout .site-main article:not(.featured-post) .entry-meta {
	margin-top: 10px;
}

.list-layout .site-main article .entry-content,
.list-with-feat-post-layout .site-main article:not(.featured-post) .entry-content {
	margin-top: 15px;
}

/*===========================
PAGE TEMPLATE PORTFOLIO
===========================*/
.portfolio-holder .portfolio-sorting {
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
	display: table;
	border-radius: 40px;
	padding: 0 30px;
	margin: 0 auto 40px;
}

.portfolio-sorting .button {
	margin: 2px;
	box-shadow: none;
	padding: 15px 30px;
	font-size: 0.8888em;
	text-transform: none;
	font-weight: 700;
	letter-spacing: 0;
	border-radius: 0;
	color: #262525;
}

.portfolio-sorting .button.is-checked,
.portfolio-sorting .button:hover {
	background: var(--primary-color);
	color: #fff;
}

.portfolio-item .portfolio-text-holder {
	font-size: 1em;
	background: rgba(0, 0, 0, 0.75);
}

.portfolio-item a:hover,
.entry-header .portfolio-cat a:hover {
	color: var(--primary-color);
}

.portfolio-item .portfolio-cat a {
	font-size: 0.7778em;
	line-height: 1.2;
}

.portfolio-item .portfolio-cat a:after,
.entry-header .portfolio-cat a {
	content: ",";
}

.portfolio-item .portfolio-cat a:last-child:after,
.entry-header .portfolio-cat a:last-child:after {
	display: none;
}

.portfolio-text-holder .portfolio-img-title {
	font-family: var(--secondary-font);
	font-weight: 400;
	line-height: 1.3;
	font-size: 1.1112em;
}

.portfolio-holder .post-thumbnail {
	border-radius: 5px;
}

.portfolio-holder .entry-header .entry-title {
	font-size: 2.2223em;
	font-family: var(--secondary-font);
	font-weight: 400;
}

.related-portfolio-title {
	margin-top: 0;
	font-size: 1em;
	font-weight: 400;
	font-family: var(--secondary-font);
	text-transform: uppercase;
}

/*==============================
SEARCH PAGE
==============================*/
.search .page-header .container {
	max-width: 770px;
}

.search .page-header .page-title {
	font-size: 0.778em;
	text-transform: uppercase;
	font-weight: 700;
	text-align: left;
	font-family: var(--primary-font);
	letter-spacing: 1px;
	margin-bottom: 0;
}

.search .site-content .page-header .search-form {
	border-bottom: 2px solid rgba(255, 255, 255, 0.5);
	display: flex;
	flex: 1;
	align-items: center;
	margin-top: 15px;
}

.search .site-content .page-header .search-form label {
	width: calc(100% - 70px);
}

.search .site-content .page-header .search-form .search-field {
	height: 70px;
	border-radius: 0;
	background: none;
	border: none;
	color: #fff;
	padding-left: 0;
	font-size: 2.6665em;
	font-family: var(--secondary-font);
	font-weight: 400;
}

.search .site-content .page-header .search-form .search-submit {
	width: 70px;
	padding: 0;
	height: 70px;
	border-radius: 0;
	border: none;
	background: url(/wp-content/themes/blossom-spa/images/search-icon.svg?x86406) no-repeat;
	background-size: 20px;
	background-position: center right;
	text-indent: 80px;
	overflow: hidden;
	box-shadow: none;
}

.search-no-results .site-main .entry-title {
	font-size: 2.1665em;
	margin-top: 0;
	margin-bottom: 10px;
}

.search-no-results .site-main .page-content {
	margin-top: 0;
	font-size: 1.112em;
}

.search-no-results .site-main .page-content p {
	margin: 0;
}

/*=======================
ERROR 404 PAGE
=======================*/
.error404 .site-main {
	max-width: 776px;
	margin: 0 auto;
}

.error404 .error-404 {
	text-align: center;
}

.error404 .error-404 .page-content {
	margin: 0;
}

.error404 .error-404 .error-text {
	margin: 0 auto 30px auto;
	font-size: 1.3888em;
	max-width: 586px;
}

.error404 .error-404 .error-num {
	font-size: 22.2222em;
	font-weight: 700;
	line-height: 1.3;
	color: var(--primary-color);
	text-shadow: 0 -10px 0 rgba(0, 0, 0, 0.1);
}

.error404 .error-404 .bttn {
	display: inline-block;
	background: var(--primary-color);
	color: #fff;
	text-transform: uppercase;
	font-size: 0.6666em;
	font-weight: 700;
	letter-spacing: 1px;
	padding: 18px 60px;
	border-radius: 40px;
	text-decoration: none;
	margin-bottom: 80px;
	border: 1px solid var(--primary-color);
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.error404 .error-404 .bttn:hover {
	background: none;
	color: var(--primary-color);
}

.error404 .error-404 .search-form {
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 5px;
	display: flex;
	flex: 1;
	align-items: center;
	max-width: 630px;
	margin: 0 auto;
}

.error404 .error-404 .search-form label {
	width: calc(100% - 50px);
}

.error404 .error-404 .search-form .search-field {
	height: 50px;
	border: none;
}

.error404 .error-404 .search-form .search-submit {
	width: 50px;
	padding: 0;
	height: 50px;
	border-radius: 0 5px 5px 0px;
	background: #333 url(/wp-content/themes/blossom-spa/images/search-icon.svg?x86406) no-repeat;
	background-position: center;
	background-size: 20px;
	border: none;
	text-indent: 60px;
	font-size: 0;
}

.error404 .error-404 .search-form .search-submit:hover {
	background-color: var(--primary-color);
}

/*===========================
ADDITIONAL POST SECTION
===========================*/
.additional-post {
	margin-top: 80px;
	padding-top: 80px;
	border-top: 1px solid #EBEBEB;
}

.single .additional-post {
	margin-top: 60px;
	padding-top: 60px;
}

.additional-post .post-title {
	margin-top: 0;
	margin-bottom: 30px;
	font-family: var(--secondary-font);
	font-weight: 400;
	text-transform: uppercase;
	font-size: 1.112em;
}

.additional-post .post-title span {
	display: inline-block;
	position: relative;
	padding-bottom: 10px;
}

.additional-post .post-title span::after {
	content: "";
	background: -webkit-linear-gradient(to right, rgba(var(--primary-color-rgb), 0.5), transparent);
	background: -moz-linear-gradient(to right, rgba(var(--primary-color-rgb), 0.5), transparent);
	background: -ms-linear-gradient(to right, rgba(var(--primary-color-rgb), 0.5), transparent);
	background: -o-linear-gradient(to right, rgba(var(--primary-color-rgb), 0.5), transparent);
	background: linear-gradient(to right, rgba(var(--primary-color-rgb), 0.5), transparent);
	width: 100%;
	height: 2px;
	position: absolute;
	bottom: 0;
	left: 0;
}

.additional-post article {
	box-shadow: none;
	border-bottom: 1px solid #ebebeb;
	border-radius: 0;
	padding-bottom: 25px;
	margin-bottom: 25px;
	display: flex;
	flex: 1;
	justify-content: flex-end;
}

.additional-post article:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.additional-post article .post-thumbnail {
	order: 2;
	width: 110px;
	height: 83px;
	border-radius: 5px;
}

.additional-post article .entry-header {
	display: flex;
	flex: 1;
	padding-right: 20px;
	width: calc(100% - 110px);
}

.additional-post article .entry-meta {
	width: 200px;
	margin-top: 0;
}

.additional-post article .entry-title {
	margin-top: 0;
	font-size: 1em;
	font-weight: 400;
	font-family: var(--secondary-font);
	width: calc(100% - 200px);
}

/*============================
AUTHOR SECTION
============================*/
.author .page-header .author-section {
	max-width: 770px;
	margin: 0 auto;
}

.single .content-area .author-section {
	border-top: 1px solid #f0f0f0;
	padding-top: 60px;
	margin-top: 60px;
}

.author-section .author-img {
	width: 120px;
	height: 120px;
	overflow: hidden;
	border-radius: 100%;
	position: relative;
	display: inline-block;
	vertical-align: top;
	margin: 0;
}

.author-section .author-img::after {
	content: "";
	border: 5px solid rgba(255, 255, 255, 0.5);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 100%;
}

.author-section .author-content-wrap {
	display: inline-block;
	vertical-align: top;
	width: calc(100% - 130px);
	text-align: left;
	padding-left: 20px;
}

.author-section .author-content-wrap .author-name {
	margin-top: 0;
	color: #262525;
	font-size: 1.112em;
	font-weight: 400;
	font-family: var(--secondary-font);
	margin-bottom: 20px;
	text-transform: capitalize;
}

.page-header .author-section .author-content-wrap .author-name {
	color: #fff;
	text-transform: none;
}

.author-section .author-content-wrap .author-name span {
	position: relative;
	display: inline-block;
	padding-bottom: 10px;
}

.author-section .author-content-wrap .author-name span::after {
	content: "";
	background: -webkit-linear-gradient(to right, rgba(156, 192, 156, 0.5), transparent);
	background: -moz-linear-gradient(to right, rgba(156, 192, 156, 0.5), transparent);
	background: -ms-linear-gradient(to right, rgba(156, 192, 156, 0.5), transparent);
	background: -o-linear-gradient(to right, rgba(156, 192, 156, 0.5), transparent);
	background: linear-gradient(to right, rgba(156, 192, 156, 0.5), transparent);
	width: 100%;
	height: 2px;
	position: absolute;
	bottom: 0;
	left: 0;
}

.page-header .author-section .author-content-wrap .author-name span::after {
	background: -webkit-linear-gradient(to right, rgba(255, 255, 255, 0.5), transparent);
	background: -moz-linear-gradient(to right, rgba(255, 255, 255, 0.5), transparent);
	background: -ms-linear-gradient(to right, rgba(255, 255, 255, 0.5), transparent);
	background: -o-linear-gradient(to right, rgba(255, 255, 255, 0.5), transparent);
	background: linear-gradient(to right, rgba(255, 255, 255, 0.5), transparent);
}

.author-section .author-content {
	font-size: 0.888em;
}

.page-header .author-section .author-content {
	color: #fff;
}

.author-section .author-social {
	margin-top: 15px;
}

.author-section .author-social ul li {
	margin-right: 18px;
	font-size: 0.8888em;
	margin-bottom: 10px;
}

.author-section .author-social ul li:last-child {
	margin-right: 0;
}

.author-section .author-social ul li a {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	color: #999596;
	text-transform: capitalize;
	text-decoration: none;
}

.page-header .author-section .author-social ul li a {
	color: #fff;
}

.author-section .author-social ul li a::after {
	content: "" attr(title)"";
	margin-left: 5px;
	display: inline-block;
	vertical-align: middle;
}

.author-section .author-social ul li a span {
	display: inline-block;
	vertical-align: middle;
	width: 32px;
	height: 32px;
	text-align: center;
	line-height: 28px;
	background: #fff;
	border: 2px solid #F0F0F0;
	color: #262525;
	border-radius: 100%;
	font-size: 0.8888em;
	-webkit-transition: all ease 0.35s;
	-moz-transition: all ease 0.35s;
	transition: all ease 0.35s;
}

.page-header .author-section .author-social ul li a span {
	border: none;
	line-height: 32px;
}

.author-section .author-social ul li a:hover span {
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: #fff;
}

/*========================
SINGLE POST
========================*/
.single header.page-header {
	min-height: 600px;
	display: flex;
	flex: 1;
	justify-content: center;
	align-items: flex-end;
}

.single header.page-header .container {
	max-width: 770px;
}

.single .site-main article {
	box-shadow: none;
	border-radius: 0;
	margin-bottom: 0;
}

.single header.page-header .category {
	font-size: 0.6666em;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 1px;
}

.single .page-header .page-title {
	margin-bottom: 0;
}

.single .page-header .entry-meta,
.single .site-content .page-header .breadcrumb-wrapper {
	margin-top: 20px;
}

.single .page-header .byline svg .autb {
	fill: #ccc6c8;
}

.single .page-header .entry-meta>span a {
	color: #ccc6c8;
}

.single .page-header .entry-meta>span a:hover {
	color: var(--primary-color);
}

.single .page-header .entry-meta>span::after {
	opacity: 0.25;
	filter: alpha(opacity=25);
	top: 8px;
}

.sticky-social .article-meta {
	position: sticky;
	width: 100px;
	display: inline-block;
	vertical-align: top;
	top: 40px;
	text-align: center;
}

.single.style2 .content-area .article-meta>span {
	font-size: 0.6666em;
	line-height: 1;
	font-weight: 700;
	display: block;
}

.single.style2 .content-area .article-meta>span span.author-img {
	position: relative;
	display: block;
	width: 80px;
	height: 80px;
	overflow: hidden;
	border-radius: 100%;
	margin: 0 auto;
}

.single.style2 .content-area .article-meta>span span.author-img::before {
	content: "";
	border: 5px solid rgba(255, 255, 255, 0.5);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 100%;
}

.single.style2 .content-area .article-meta .byline img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.single.style2 .content-area .article-meta .byline .author {
	display: block;
	margin-top: 20px;
	color: #999596;
}

.single.style2 .content-area .article-meta .byline .author a {
	display: block;
	margin-top: 5px;
	margin-left: 5px;
	color: #262525;
}

.single.style2 .content-area .article-meta .byline .author a:hover {
	color: var(--primary-color);
}

.single.style2 .content-area .article-meta>span.posted-on {
	display: block;
	margin-top: 30px;
}

.single.style2 .content-area .article-meta>span.posted-on a {
	display: block;
	margin-top: 5px;
	color: #262525;
}

.single.style2 .content-area .article-meta>span.posted-on a:hover {
	color: var(--primary-color);
}

.single.style2 .content-area .article-meta span.comment-box {
	display: block;
	margin-top: 30px;
	margin-bottom: 50px;
	text-transform: uppercase;
	line-height: 1.3;
}

.single.style2 .content-area .article-meta span.comment-box a {
	color: #353535;
}

.single.style2 .content-area .article-meta span.comment-box a:hover {
	color: var(--primary-color);
}

.single .content-area .favourite .fav-count {
	display: block;
	font-size: 0.6666em;
	font-weight: 700;
	letter-spacing: 1px;
}

.single .content-area .favourite a,
.single .content-area .favourite .liked-icon {
	display: inline-block;
	margin-top: 5px;
	width: 60px;
	height: 60px;
	text-align: center;
	line-height: 60px;
	border: 3px solid rgba(var(--primary-color-rgb), 0.5);
	border-radius: 100%;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	font-size: 1.112em;
	color: #DA222E;
}

.single .content-area .favourite a:hover {
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: #fff;
}

.single .content-area .article-share ul li {
	margin-top: 8px;
	font-size: 0.8888em;
	display: block;
}

.single .content-area .article-share ul li a {
	display: block;
	width: 50px;
	height: 50px;
	line-height: 46px;
	border: 2px solid #f0f0f0;
	border-radius: 100%;
	margin: 0 auto;
	color: #262525;
}

.single .content-area .article-share ul li a:hover {
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: #fff;
}

.single .site-main .entry-content {
	margin-top: 0;
}

.sticky-social .entry-content {
	display: inline-block;
	vertical-align: top;
	width: calc(100% - 110px);
	padding-left: 40px;
}

.entry-content a,
.page-content a,
.comment-content a {
	text-decoration: underline;
}

.entry-content a:hover,
.page-content a:hover,
.comment-content a:hover {
	text-decoration: none;
}

.dropcap {
	display: inline-block;
	float: left;
	font-size: 3.5554em;
	line-height: 1;
	font-weight: 700;
	margin-right: 7px;
	color: #262525;
}

.single-post .site-main .entry-content figure img {
	border-radius: 5px;
}

.sticky-social .entry-footer {
	padding-left: 120px;
}

/*=============================
RARATHEME AUTHOR BIO WIDGET
=============================*/
.widget_bttk_author_bio .widget-title {
	text-align: left;
}

.widget_bttk_author_bio .image-holder {
	width: 270px;
	height: 270px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 100%;
	overflow: hidden;
	position: relative;
}

.widget_bttk_author_bio .image-holder::before {
	content: "";
	border: 10px solid rgba(255, 255, 255, 0.5);
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	position: absolute;
	border-radius: 100%;
}

.widget_bttk_author_bio .image-holder img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.widget_bttk_author_bio .title-holder {
	font-family: var(--secondary-font);
	font-weight: 400;
	font-size: 1.3333em;
	color: #262525;
}

.site-footer .widget_bttk_author_bio .title-holder,
.site-footer .widget_bttk_author_bio .author-bio-content {
	color: #fff;
}

.widget_bttk_author_bio .author-bio-content {
	font-size: 0.8888em;
}

.widget_bttk_author_bio .text-signature {
	margin-bottom: 30px;
	color: #777;
}

.widget_bttk_author_bio .readmore {
	font-size: 0.6666em;
	font-weight: 700;
	background: var(--primary-color);
	color: #fff;
	border-radius: 50px;
	padding: 12px 50px 12px 30px;
	display: inline-block;
	letter-spacing: 1px;
	text-decoration: none;
	position: relative;
	text-transform: uppercase;
	border: 2px solid var(--primary-color);
	text-align: center;
}

.widget_bttk_author_bio .readmore:hover {
	background-color: transparent;
	color: var(--primary-color);
}

.widget_bttk_author_bio .readmore::after {
	content: "";
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><path fill="%23fff" d="M187.8 264.5L41 412.5c-4.7 4.7-12.3 4.7-17 0L4.2 392.7c-4.7-4.7-4.7-12.3 0-17L122.7 256 4.2 136.3c-4.7-4.7-4.7-12.3 0-17L24 99.5c4.7-4.7 12.3-4.7 17 0l146.8 148c4.7 4.7 4.7 12.3 0 17z" class=""></path></svg>');
	background-repeat: no-repeat;
	width: 13px;
	height: 20px;
	position: absolute;
	right: 30px;
	top: 13px;
	vertical-align: middle;
	background-position: center;
}

.widget_bttk_author_bio .readmore:hover::after {
	background-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><path fill="%239cbe9c" d="M187.8 264.5L41 412.5c-4.7 4.7-12.3 4.7-17 0L4.2 392.7c-4.7-4.7-4.7-12.3 0-17L122.7 256 4.2 136.3c-4.7-4.7-4.7-12.3 0-17L24 99.5c4.7-4.7 12.3-4.7 17 0l146.8 148c4.7 4.7 4.7 12.3 0 17z" class=""></path></svg>');
}

.widget_bttk_author_bio ul li a {
	width: 40px;
	height: 40px;
	line-height: 36px;
	text-align: center;
	display: inline-block;
	border: 2px solid;
	border-radius: 100%;
}

.widget_bttk_author_bio ul li a:hover {
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: #fff !important;
}

/*=====================================
RARATHEME WIDGET CLIENT LOGO WIDGET
=====================================*/
.widget_blossom_client_logo_widget .blossom-inner-wrap {
	display: flex;
	flex: 1;
	flex-flow: row wrap;
	align-items: center;
	margin-left: -20px;
	margin-right: -20px;
}

.widget_blossom_client_logo_widget .blossom-inner-wrap .image-holder {
	padding: 10px;
	width: 50%;
}

.widget_blossom_client_logo_widget .blossom-inner-wrap .image-holder:not(.black-white) a:hover {
	opacity: 0.75;
	filter: alpha(opacity=75);
}

.widget_blossom_client_logo_widget .blossom-inner-wrap .image-holder.black-white a {
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
}

.widget_blossom_client_logo_widget .blossom-inner-wrap .image-holder.black-white:hover a {
	-webkit-filter: grayscale(0);
	filter: grayscale(0);
}

/*==================================
RARATHEME CUSTOM CATEGORY WIDGET
==================================*/
.widget_bttk_custom_categories ul li {
	border-radius: 5px;
	overflow: hidden;
	background-size: cover !important;
}

.widget_bttk_custom_categories ul li:last-child {
	margin-bottom: 0;
}

.widget_bttk_custom_categories ul li a {
	padding-left: 20px;
	display: flex;
	flex: 1;
	flex-direction: row;
}

.widget_bttk_custom_categories ul li .cat-title {
	color: #fff;
	font-weight: 700;
	letter-spacing: 1px;
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: center;
}

.widget_bttk_custom_categories ul li .post-count {
	font-size: 12px;
	text-transform: uppercase;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.5px;
	background: rgba(0, 0, 0, 0.5);
}

.widget_bttk_custom_categories ul li a:hover .post-count {
	background: var(--primary-color);
}

.widget_bttk_custom_categories ul li a:hover .post-count,
.widget_bttk_custom_categories ul li a:hover:focus .post-count {
	width: 115px;
}

/*================================
RARATHEME IMAGE TEXT WIDGET
================================*/
.widget_bttk_image_text_widget ul li img {
	width: 100%;
}

.widget_bttk_image_text_widget ul li .btn-readmore {
	width: 75%;
	border: none;
	background: rgba(0, 0, 0, 0.75);
	padding: 15px 20px;
}

.widget_bttk_image_text_widget ul li .btn-readmore:hover {
	background: var(--primary-color);
	color: #fff !important;
}

.widget_bttk_image_text_widget ul li .btn-readmore:before,
.widget_bttk_image_text_widget ul li .btn-readmore:after {
	display: none;
}

/*==============================================
RARATHEME RECENT AND POPULAR POST WIDGET
==============================================*/
.widget_bttk_popular_post ul li,
.widget_bttk_pro_recent_post ul li {
	margin-bottom: 30px;
}

.widget_bttk_popular_post ul li:last-child,
.widget_bttk_pro_recent_post ul li:last-child {
	margin-bottom: 0;
}

.widget_bttk_popular_post ul li .post-thumbnail,
.widget_bttk_pro_recent_post ul li .post-thumbnail {
	border-radius: 5px;
}

.widget_bttk_popular_post ul li .entry-header .entry-title,
.widget_bttk_pro_recent_post ul li .entry-header .entry-title {
	font-family: var(--secondary-font);
	font-weight: 400;
}

.widget_bttk_popular_post ul li .entry-header .entry-title a,
.widget_bttk_pro_recent_post ul li .entry-header .entry-title a {
	color: #000;
}

.site-footer .widget_bttk_popular_post ul li .entry-header .entry-title a,
.site-footer .widget_bttk_pro_recent_post ul li .entry-header .entry-title a {
	color: #fff;
}

.widget_bttk_popular_post ul li .entry-header .entry-title a:hover,
.widget_bttk_pro_recent_post ul li .entry-header .entry-title a:hover {
	color: var(--primary-color);
}

.widget_bttk_popular_post ul li .entry-header .entry-meta,
.widget_bttk_pro_recent_post ul li .entry-header .entry-meta {
	font-size: 12px;
	margin-top: 0;
}

.widget_bttk_popular_post ul li .entry-header .entry-meta a,
.widget_bttk_pro_recent_post ul li .entry-header .entry-meta a {
	color: #999596;
}

.widget_bttk_popular_post ul li .entry-header .entry-meta a:hover,
.widget_bttk_pro_recent_post ul li .entry-header .entry-meta a:hover {
	color: var(--primary-color);
}

/*==================================
RARATHEME CATEGORY SLIDER WIDGET
==================================*/
.widget_bttk_posts_category_slider_widget .item {
	position: relative;
}

.widget_bttk_posts_category_slider_widget .post-thumbnail {
	border-radius: 5px;
}

.widget_bttk_posts_category_slider_widget .carousel-title .cat-links {
	position: absolute;
	top: 10px;
	left: 10px;
	font-size: 12px;
	font-weight: 700;
}

.widget_bttk_posts_category_slider_widget .carousel-title .cat-links a {
	text-transform: uppercase;
	color: #fff;
	background: #262525;
	padding: 5px 10px;
	border-radius: 3px;
	letter-spacing: 0.5px;
	text-decoration: none;
}

.widget_bttk_posts_category_slider_widget .carousel-title .cat-links a:hover {
	background: var(--primary-color);
	color: #fff;
}

.widget_bttk_posts_category_slider_widget .carousel-title .title {
	font-size: 1em;
	font-family: var(--secondary-font);
	margin-bottom: 0;
	margin-top: 0;
}

.widget_bttk_posts_category_slider_widget .carousel-title .title a {
	color: #000;
}

.site-footer .widget_bttk_posts_category_slider_widget .carousel-title .title a {
	color: #fff;
}

.widget_bttk_posts_category_slider_widget .carousel-title .title a:hover {
	color: var(--primary-color);
}

.widget_bttk_posts_category_slider_widget .owl-theme .owl-dots .owl-dot {
	display: inline-block;
	vertical-align: middle;
	margin: 0 5px;
}

.widget_bttk_posts_category_slider_widget .owl-theme .owl-dots .owl-dot span {
	background: none;
	width: 7px;
	height: 7px;
}

.widget_bttk_posts_category_slider_widget .owl-theme .owl-dots .owl-dot span:hover,
.widget_bttk_posts_category_slider_widget .owl-theme .owl-dots .owl-dot.active span {
	background: var(--primary-color);
	width: 10px;
	height: 10px;
}

.widget_bttk_posts_category_slider_widget .owl-theme .owl-nav [class*="owl-"] {
	width: 30px;
	height: 30px;
	line-height: 30px;
	background: var(--primary-color);
	border-radius: 100%;
	top: 35%;
	opacity: 0.5;
	filter: alpha(opacity=50);
}

.widget_bttk_posts_category_slider_widget .owl-theme .owl-nav .owl-prev {
	left: 15px;
}

.widget_bttk_posts_category_slider_widget .owl-theme .owl-nav .owl-next {
	right: 15px;
}

.widget_bttk_posts_category_slider_widget .owl-theme .owl-nav [class*="owl-"]:hover {
	background: var(--primary-color);
	opacity: 1;
	filter: alpha(opacity=100);
}

.widget_bttk_posts_category_slider_widget .owl-theme .owl-nav [class*="owl-"]::before {
	width: 15px;
	height: 15px;
}

.widget_bttk_posts_category_slider_widget .owl-theme .owl-nav [class*="owl-"]:after {
	display: none;
}

/*================================
RARATHEME STAT COUNTER WIDGET
================================*/
.footer-t .grid .widget .col {
	width: 100%;
	margin-right: 0;
}

.widget_blossomthemes_stat_counter_widget .blossomthemes-sc-holder {
	display: flex;
	flex: 1;
	flex-direction: column;
	text-align: center;
	border: 1px solid #f0f0f0;
	padding: 30px;
}

.site-footer .widget_blossomthemes_stat_counter_widget .blossomthemes-sc-holder {
	border-color: rgba(255, 255, 255, 0.2);
}

.widget_blossomthemes_stat_counter_widget .blossomthemes-sc-holder .widget-title,
#secondary .widget_blossomthemes_stat_counter_widget .blossomthemes-sc-holder .widget-title {
	order: 2;
	text-align: center;
	padding-bottom: 0;
}

.widget_blossomthemes_stat_counter_widget .blossomthemes-sc-holder .widget-title:after {
	display: none;
}

.widget_blossomthemes_stat_counter_widget .blossomthemes-sc-holder .icon-holder {
	font-size: 3em;
	width: 80px;
	height: 80px;
	line-height: 80px;
	margin: 0 auto 10px auto;
}

.widget_blossomthemes_stat_counter_widget .blossomthemes-sc-holder .hs-counter {
	order: 3;
	font-size: 2.5em;
	line-height: 1;
	font-weight: 700;
}

.site-footer .widget_blossomthemes_stat_counter_widget .blossomthemes-sc-holder .hs-counter {
	color: #fff;
}

/*=================================
BLOSSOMTHEME NEWSLETTER WIDGET
=================================*/
.widget_blossomthemes_email_newsletter_widget .blossomthemes-email-newsletter-wrapper {
	padding: 40px 20px;
}

.widget_blossomthemes_email_newsletter_widget .img-holder {
	width: 80px;
	margin: 0 auto 20px auto;
}

.widget_blossomthemes_email_newsletter_widget .text-holder h3 {
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 1.3333em;
	font-family: var(--secondary-font);
	font-weight: 400;
	text-align: center;
}

.widget_blossomthemes_email_newsletter_widget .text-holder span {
	text-align: center;
	display: block;
	margin-bottom: 20px;
}

.widget_blossomthemes_email_newsletter_widget form input[type="text"],
.widget_blossomthemes_email_newsletter_widget form input[type="email"] {
	background: rgba(255, 255, 255, 0.5);
}

.widget_blossomthemes_email_newsletter_widget form label {
	margin-top: 10px;
	display: block;
	font-size: 0.8888em;
	position: relative;
	padding-left: 25px;
	margin-bottom: 20px;
	cursor: pointer;
}

.widget_blossomthemes_email_newsletter_widget form label input[type="checkbox"] {
	position: absolute;
	top: 9px;
	left: 0;
}

.blossomthemes-email-newsletter-wrapper form label .check-mark {
	margin-top: 6px;
}

.blossomthemes-email-newsletter-wrapper form label input[type="checkbox"]:checked+.check-mark {
	background-color: #fff;
}

.widget_blossomthemes_email_newsletter_widget form input[type="submit"]:hover {
	border-color: #fff;
	background: #fff;
}

/*=============================
RESPONSIVE STYLESHEET
=============================*/
@media screen and (max-width: 1640px) {

	/*========================
	STICKY HEADER
	========================*/
	.sticky-header {
		padding-left: 3%;
		padding-right: 3%;
	}

	.sticky-header .header-social .social-list li a {
		width: 39px;
		height: 40px;
		line-height: 40px;
	}

	.sticky-header .header-search>svg {
		width: 35px;
		height: 40px;
		padding-left: 10px;
		padding-right: 10px;
	}
}

@media screen and (max-width: 1370px) {
	.owl-carousel .owl-nav [class*="owl-"] {
		left: 0;
	}

	.owl-carousel .owl-nav .owl-next {
		right: 0;
		left: auto;
	}

	.back-to-top {
		bottom: 80px;
	}

	body.custom-background #page,
	.custom-background .sticky-header {
		max-width: 1200px;
	}

	/*========================
	STICKY HEADER
	========================*/
	.sticky-header {
		padding-left: 3%;
		padding-right: 3%;
	}

	.sticky-header .main-navigation ul li {
		margin-left: 15px;
		margin-right: 15px;
	}

	.sticky-header .main-navigation ul.nav-menu>li:last-child ul,
	.sticky-header .main-navigation ul.nav-menu>li:nth-last-of-type(2) ul,
	.sticky-header .main-navigation ul.nav-menu>li:nth-last-of-type(3) ul {
		left: auto;
		right: 0;
	}

	.sticky-header .main-navigation ul.nav-menu>li:last-child ul ul,
	.sticky-header .main-navigation ul.nav-menu>li:nth-last-of-type(2) ul ul,
	.sticky-header .main-navigation ul.nav-menu>li:nth-last-of-type(3) ul ul {
		left: auto;
		right: 100%;
	}

	.sticky-header .main-navigation ul ul li {
		margin-left: 0;
		margin-right: 0;
	}

	.sticky-header .header-social .social-list li a {
		width: 30px;
		height: 35px;
		line-height: 35px;
	}

	.sticky-header .header-search>svg {
		width: 30px;
		height: 35px;
		padding: 0 7px;
	}

	.site-banner .item img {
		height: 550px;
		object-fit: cover;
		width: 100%;
	}

	.team-section .owl-carousel .owl-nav .owl-prev {
		left: 0;
	}

	.team-section .owl-carousel .owl-nav .owl-next {
		right: 0;
	}

	.testimonial-section .widget_bttk_testimonial_widget {
		max-width: 80%;
		margin: 0 auto;
	}

}

@media screen and (max-width: 1199px) {

	body.custom-background #page,
	.custom-background .sticky-header {
		max-width: 95%;
	}

	.container,
	.widget_blossomtheme_companion_cta_widget .blossomtheme-cta-container {
		max-width: 1000px;
		padding-left: 15px;
		padding-right: 15px;
	}

	.site-banner .banner-caption .container {
		width: auto;
		max-width: 1000px;
	}

	.search-form-wrap .close {
		right: 15px;
	}

	.main-navigation ul li {
		margin-left: 15px;
		margin-right: 15px;
	}

	.service-section.style-2 .widget_bttk_icon_text_widget {
		padding: 30px 20px;
	}

	.header-contact .contact-block {
		margin-left: 20px;
		padding-left: 65px;
	}

	.header-contact .contact-block>svg {
		left: 20px;
	}

	/*=======================
	STICKY HEADER
	=======================*/
	.sticky-header {
		padding-left: 2%;
		padding-right: 2%;
	}

	.site-branding .site-title {
		font-size: 1.2223em;
	}

	.sticky-header .main-navigation ul li {
		margin-left: 10px;
		margin-right: 10px;
	}

	.sticky-header .header-social .social-list li a {
		width: 28px;
		height: 35px;
		line-height: 35px;
		border-left: none;
	}

	.sticky-header .header-search>svg {
		width: 28px;
		height: 35px;
		line-height: 35px;
		padding: 0 7px;
		border-left: none;
	}

	/*===========================
	SITE BANNER 
	===========================*/
	.site-banner .banner-caption .title {
		font-size: 2.5em;
	}

	/*===========================
	RECENT POST SECTION
	===========================*/
	.recent-post-section .grid article .content-wrap {
		margin: 20px;
	}

	/*=========================
	FOOTER B SECTION
	=========================*/
	.footer-b .copyright {
		display: inline-block;
		flex: inherit;
	}

	.footer-b .footer-social {
		display: inline-block;
	}

	/*========================
	ARCHIVE AUTHOR
	========================*/
	.list-layout .site-main .entry-meta>span {
		margin-right: 16px;
	}

	.list-layout .site-main .entry-meta>span:last-child {
		margin-right: 0;
	}

	.list-layout .site-main .entry-meta>span::after {
		display: none;
	}

	/*===============================
	BLOSSOMTHEME CTA WIDGET
	===============================*/
	#secondary .widget_blossomtheme_companion_cta_widget .bttk-cta-bg,
	#secondary .widget_blossomtheme_companion_cta_widget .text,
	.site-footer .widget_blossomtheme_companion_cta_widget .bttk-cta-bg,
	.site-footer .widget_blossomtheme_companion_cta_widget .text {
		padding: 30px;
	}

}

@media screen and (min-width: 1025px) {
	.main-navigation .close {
		display: none;
	}
}

@media screen and (max-width: 1024px) {

	.container,
	.widget_blossomtheme_companion_cta_widget .blossomtheme-cta-container {
		max-width: 768px;
	}

	.site-banner .banner-caption .container {
		max-width: 768px;
	}

	section[class*="-section"] .grid {
		grid-template-columns: repeat(2, 1fr);
		justify-items: center;
	}

	section[class*="-section"] .grid .widget_text {
		grid-column: 1 / span 2;
	}

	.single header.page-header {
		min-height: 350px;
	}

	.custom-background .site-banner .item img {
		height: 450px;
	}

	/*=========================
	SIDEBARS
	=========================*/
	.rightsidebar #primary,
	.leftsidebar #primary {
		float: none;
		width: 100%;
		padding-right: 0;
		padding-left: 0;
	}

	#secondary {
		float: none;
		width: 100%;
	}

	/*============================
	SITE HEADER SECTION
	============================*/
	.header-main .site-branding {
		justify-content: center;
		text-align: center;
	}

	.site-branding .site-title {
		font-size: 1.6667em;
	}

	.site-header .header-contact,
	.site-header .nav-wrap ul,
	.site-header .header-social {
		display: none;
	}

	.nav-wrap {
		padding: 5px 10px;
		left: 15px;
		right: 15px;
	}

	.main-navigation button.toggle-btn {
		display: inline-block;
		vertical-align: middle;
		position: relative;
		padding: 0 20px 0 50px;
		box-shadow: none;
		background: transparent;
		font-size: 0.7778em;
		height: 45px;
		border-radius: 0;
	}

	.main-navigation button.toggle-btn:hover {
		background: rgba(255, 255, 255, 0.1);
		color: #fff;
	}

	.nav-wrap .main-navigation button.toggle-btn::after {
		text-transform: uppercase;
	}

	.main-navigation button.toggle-btn .toggle-bar {
		background: #fff;
		width: 20px;
		height: 2px;
		position: absolute;
		top: 0;
		left: 20px;
		bottom: 0;
		margin: auto;
		-webkit-transition: all ease 0.35s;
		-moz-transition: all ease 0.35s;
		transition: all ease 0.35s;
	}

	.nav-wrap .main-navigation button.toggle-btn .toggle-bar:first-child {
		top: -10px;
	}

	.nav-wrap .main-navigation button.toggle-btn .toggle-bar:last-child {
		bottom: -10px;
	}

	.header-search>svg {
		border-left: none;
	}

	/*===========================
	STICKY HEADER
	===========================*/
	.sticky-header {
		display: none;
	}

	.header-sticky .nav-wrap {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		border-radius: 0;
		border-bottom: 1px solid #fff;
	}

	/*=========================
	RESPONSIVE NAV
	=========================*/
	.responsive-nav .close {
		color: inherit;
		margin-top: 25px;
		margin-bottom: 40px;
		margin-right: 20px;
		width: 25px;
		height: 25px;
	}

	.responsive-nav {
		position: fixed;
		display: block;
		width: 320px;
		height: 100%;
		top: 0;
		left: 0;
		background: var(--primary-color);
		z-index: 999999;
		overflow: auto;
		display: none;
	}


	.responsive-nav .main-navigation {
		text-align: right;
		width: 320px;
	}

	.responsive-nav .main-navigation button.toggle-btn {
		padding: 0;
		width: 40px;
		height: 40px;
		margin: 10px 10px 30px 0;
	}

	.responsive-nav .main-navigation button.toggle-btn .toggle-bar {
		right: 0;
		left: 0;
		width: 15px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.responsive-nav .main-navigation button.toggle-btn .toggle-bar:nth-child(2) {
		display: none;
	}

	.responsive-nav .main-navigation button.toggle-btn .toggle-bar:last-child {
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	.responsive-nav .main-navigation ul {
		margin: 0;
		padding: 0;
		list-style: none;
		text-align: left;
	}

	.responsive-nav .main-navigation ul li {
		display: block;
		margin: 0;
		padding-right: 0;
		font-weight: 600;
		letter-spacing: 1px;
	}

	.responsive-nav .main-navigation ul li .submenu-toggle {
		box-shadow: none;
		padding: 0;
		border-radius: 0;
		background: none;
		border: none;
		width: 20px;
		text-align: center;
		height: 56px;
		line-height: 20px;
		right: 10px;
		font-size: 0.7778em;
		top: 0;
		color: #fff;
		opacity: 0.7;
		filter: alpha(opacity=70);
		display: flex;
		flex: 1;
		justify-content: center;
		align-items: center;
		-webkit-transition: all ease 0.35s;
		-moz-transition: all ease 0.35s;
		transition: all ease 0.35s;
	}

	.responsive-nav .main-navigation ul .sub-menu li .submenu-toggle {
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	.responsive-nav .main-navigation ul li .submenu-toggle.active {
		-webkit-transform: rotate(18deg);
		-moz-transform: rotate(180deg);
		transform: rotate(180deg);
	}

	.responsive-nav .main-navigation ul li a {
		padding: 15px 20px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.15);
		width: 100%;
	}

	.responsive-nav .main-navigation ul li.menu-item-has-children>a {
		padding-right: 35px;
	}

	.responsive-nav .main-navigation ul .sub-menu li:last-child>a {
		border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	}

	.responsive-nav .main-navigation ul li:hover>a,
	.responsive-nav .main-navigation ul li.current-menu-item>a,
	.responsive-nav .main-navigation ul li.current_page_item>a {
		background: rgba(255, 255, 255, 0.1);
	}

	.responsive-nav .main-navigation ul li a::after {
		display: none;
	}

	.responsive-nav .main-navigation ul .sub-menu {
		position: static;
		width: 100%;
		opacity: 1;
		visibility: visible;
		background: none;
		box-shadow: none;
		-webkit-transition: none;
		-moz-transition: none;
		transition: none;
		display: none;
	}

	.responsive-nav .main-navigation ul .sub-menu li a {
		color: #fff;
	}

	.responsive-nav .header-social {
		margin-top: 40px;
		padding-left: 20px;
	}

	.responsive-nav .header-social ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.responsive-nav .header-social ul li {
		font-size: 0.8888em;
		margin-bottom: 7px;
		display: inline-block;
		letter-spacing: 0;
	}

	.responsive-nav .header-social ul li a {
		color: #fff;
		border-left: none;
		background: rgba(0, 0, 0, 0.05);
		width: 40px;
		height: 40px;
		line-height: 40px;
		padding: 0;
		border-bottom: none;
	}

	.responsive-nav .header-social ul li a:hover {
		background: rgba(0, 0, 0, 0.15);
	}

	.responsive-nav .header-contact {
		flex-direction: column;
		white-space: normal;
		align-items: normal;
		margin-top: 40px;
		padding: 0 20px;
		margin-bottom: 20px;
	}

	.responsive-nav .header-contact .contact-block {
		border-left: 0;
		margin-left: 0;
		padding-left: 45px;
		margin-bottom: 20px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		padding-bottom: 20px;
	}

	.responsive-nav .header-contact .contact-block:last-child {
		border-bottom: none;
	}

	.header-contact .contact-block a {
		color: #fff;
	}

	.responsive-nav .header-contact .contact-block svg {
		width: 30px;
		top: 45%;
		left: 0;
	}

	.responsive-nav .header-contact .contact-block svg .phb,
	.responsive-nav .header-contact .contact-block svg .emb,
	.responsive-nav .header-contact .contact-block svg .clkb {
		fill: #fff;
	}

	.responsive-nav .header-contact .contact-block .title {
		color: rgba(255, 255, 255, 0.7);
		font-weight: 700;
		letter-spacing: 1px;
	}

	.responsive-nav .header-contact .contact-block .content {
		color: #fff;
	}

	/*===========================
	ABOUT SECTION
	===========================*/
	.about-section .widget_blossomtheme_featured_page_widget .widget-featured-holder {
		padding-left: 15px;
		padding-right: 15px !important;
		min-height: auto;
	}

	.about-section .widget_blossomtheme_featured_page_widget .widget-featured-holder.right {
		padding-left: 15px !important;
		padding-right: 15px;
	}

	.about-section .widget_blossomtheme_featured_page_widget .featured-holder-wrap {
		padding: 30px;
		max-width: 768px;
		margin-left: auto;
		margin-right: auto;
	}

	.about-section .widget_blossomtheme_featured_page_widget .img-holder {
		width: 100%;
		height: 50%;
	}

	/*==============================
	SERVICE SECTION STYLE TWO
	==============================*/
	section.service-section.style-2 .grid {
		padding-right: 0;
		padding-left: 0 !important;
		margin-bottom: 30px;
	}

	section.service-section.style-2 .widget_media_image {
		position: static;
		width: 100%;
		grid-column: 1/ span 2;
	}

	.service-section.style-2 .widget_bttk_icon_text_widget {
		padding: 50px 40px;
	}

	/*=================================
	SERVICE SECTION STYLE THREE
	=================================*/
	section.service-section.style-3 .grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/*=============================
	RECENT POST SECTION
	=============================*/
	.recent-post-section .grid article .content-wrap {
		margin: 40px;
	}

	/*================================
	FOOTER BLOCK WRAP
	================================*/
	.footer-contact-block-inner {
		padding-left: 0;
		text-align: center;
	}

	.site-footer .footer-block-wrap .footer-contact-block-inner svg {
		position: static;
		display: block;
		margin: 0 auto 10px auto;
	}

	.instagram-section .popup-gallery {
		flex-wrap: wrap;
	}

	.footer-t .grid.column-4 .col {
		width: 48%;
	}

	.footer-t .grid.column-4 .col:nth-child(2n) {
		margin-right: 0;
	}

	/*==========================
	FOOTER B SECTION
	==========================*/
	.footer-b .container {
		flex-direction: column;
		justify-content: center;
	}

	.footer-b .copyright {
		display: block;
		order: 2;
		text-align: center;
		width: 100%;
	}

	.footer-b .footer-social {
		text-align: center;
		margin-bottom: 20px;
		width: 100%;
	}

	/*==========================
	ARCHIVE AUTHOR
	==========================*/
	.list-layout .site-main .entry-meta>span {
		margin-right: 36px;
	}

	.list-layout .site-main .entry-meta>span:last-child {
		margin-right: 0;
	}

	.list-layout .site-main .entry-meta>span::after {
		display: block;
		top: 9px;
	}

	.list-layout .site-main .entry-meta>span:last-child::after {
		display: none;
	}

	/*==========================
	GRID LAYOUT
	==========================*/
	.grid-layout.full-width .site-main article {
		width: 48%;
	}

	.grid-layout.full-width .site-main article:nth-child(2n) {
		margin-right: 0;
	}

	.grid-layout.full-width .site-main article:nth-child(3n) {
		margin-right: 3%;
	}

	/*===========================
	MASONRY LAYOUT
	===========================*/
	.masonry-layout.full-width .site-main article {
		width: 47%;
		margin-left: 1.5%;
		margin-right: 1.5%;
	}

	/*============================
	PAGE TEMPLATE PORTFOLIO
	============================*/
	.portfolio-img-holder .portfolio-item {
		width: 50%;
	}

	/*===================================
	BLOSSOMTHEME CLIENT LOGO WIDGET
	===================================*/
	.widget_blossom_client_logo_widget .blossom-inner-wrap {
		margin-left: -15px;
		margin-right: -15px;
	}
}

@media screen and (max-width: 899px) {
	.video-banner #wp-custom-header {
		height: auto;
		padding-top: 0;
	}
}

@media screen and (max-width: 767px) {

	.container,
	.widget_blossomtheme_companion_cta_widget .blossomtheme-cta-container,
	.widget_blossomtheme_companion_cta_widget .centered .blossomtheme-cta-container {
		max-width: 420px;
	}

	.site-banner .banner-caption .container,
	.header-six .header-main .nav-wrap,
	.about-section .widget_blossomtheme_featured_page_widget .featured-holder-wrap {
		max-width: 420px;
	}

	section[class*="-section"] .grid {
		grid-template-columns: repeat(1, 1fr);
	}

	section[class*="-section"] .grid .widget_text {
		grid-column: 1;
	}

	.single header.page-header {
		min-height: auto;
	}

	.page-header .page-title {
		font-size: 2em;
	}

	q {
		float: none;
		width: 100%;
		margin-right: 0;
		margin-bottom: 30px;
		font-size: 1em;
	}

	blockquote {
		font-size: 1em;
		padding-top: 65px;
	}

	blockquote::before {
		width: 50px;
		height: 50px;
		background-size: 20px;
	}

	.comments-area ol li ol {
		margin-left: 15px;
	}

	.widget_blossomtheme_companion_cta_widget .btn-cta {
		display: block;
		margin: 10px;
	}

	.widget_blossomtheme_companion_cta_widget a.btn-cta+a.btn-cta {
		margin-left: 10px;
	}

	/*==========================
	SITE BANNER
	==========================*/
	.site-banner .item img {
		height: auto;
	}

	.custom-background .site-banner .item img {
		height: auto;
	}

	.site-banner .banner-caption {
		position: static;
		padding-top: 30px;
		padding-bottom: 30px;
		background: rgba(var(--primary-color-rgb), 0.3);
	}

	.site-banner.video-banner .banner-caption {
		background: rgba(var(--primary-color-rgb), 0.3);
	}

	.site-banner .banner-caption .title {
		font-size: 1.5em;
		color: #333
	}

	.site-banner .banner-caption .description {
		font-size: 1em;
		color: #666
	}

	.site-banner .banner-caption .btn-wrap a.btn.btn-transparent {
		border-color: var(--primary-color);
		color: var(--primary-color);
	}

	.site-banner .banner-caption .btn-wrap a.btn.btn-transparent:hover {
		background: var(--primary-color);
		color: #fff !important;
	}

	.site-banner .owl-carousel .owl-nav .owl-prev {
		left: 10px;
	}

	.site-banner .owl-carousel .owl-nav .owl-next {
		right: 10px;
	}

	.site-banner .owl-carousel .owl-dots {
		bottom: 0;
	}

	/*==============================
	SERVICE SECTION STYLE TWO
	==============================*/
	section.service-section.style-2 .grid {
		grid-template-columns: repeat(1, 1fr);
	}

	section.service-section.style-2 .widget_media_image {
		grid-column: 1;
	}

	.service-section.style-2 .widget_bttk_icon_text_widget {
		border-right: none;
		max-width: 420px;
		padding-left: 15px;
		padding-right: 15px;
	}

	.service-section.style-2 .widget_bttk_icon_text_widget:last-child {
		border-bottom: none;
	}

	/*=================================
	SERVICE SECTION STYLE THREE
	=================================*/
	section.service-section.style-3 .grid {
		grid-template-columns: repeat(1, 1fr);
	}

	/*==============================
	RECENT POST SECTION
	==============================*/
	.recent-post-section .grid article .content-wrap {
		padding: 20px 20px 40px 20px;
		margin: 0;
	}

	/*============================
	TESTIMONIAL SECTION
	============================*/
	.testimonial-section .widget_bttk_testimonial_widget {
		max-width: 100%;
	}

	.widget_bttk_testimonial_widget .bttk-testimonial-inner-holder {
		padding-top: 80px;
	}

	.widget_bttk_testimonial_widget .bttk-testimonial-inner-holder::before {
		background-size: 25px;
		width: 60px;
		height: 60px;
	}

	.widget_bttk_testimonial_widget .testimonial-content {
		font-size: 1.112em;
	}

	/*===========================
	CONTACT SECTION
	===========================*/
	.contact-section .contact-details-wrap {
		max-width: 420px;
		margin: 30px auto 0 auto;
	}

	.contact-details-wrap {
		padding-left: 20px;
		padding-right: 20px;
	}

	section.contact-section .contact-details-wrap .widget .textwidget {
		font-size: 1em;
	}

	.form-block .wpcf7-form {
		margin-left: 0;
		margin-right: 0;
	}

	.form-block .wpcf7-form p {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	.instagram-section .popup-gallery {
		flex-wrap: wrap;
	}

	.contact-section .form-block {
		max-width: 420px;
		padding-right: 15px !important;
		margin: 0 auto;
	}

	/*================================
	FOOTER BLOCK WRAP
	================================*/
	.footer-block-wrap {
		padding: 0 15px;
	}

	.site-footer .footer-block-wrap .container {
		flex-direction: column;
	}

	.site-footer .footer-block-wrap .footer-contact-block {
		width: 100%;
		padding-left: 0;
		padding-right: 0;
		border-right: none;
		border-bottom: 2px solid rgba(255, 255, 255, 0.1);
		margin-bottom: 25px;
		padding-bottom: 25px;
	}

	.site-footer .footer-block-wrap .footer-contact-block:last-child {
		border-bottom: none;
		margin-bottom: 0;
		padding-bottom: 0;
	}

	.footer-contact-block-inner {
		text-align: left;
		padding-left: 65px;
	}

	.site-footer .footer-block-wrap .footer-contact-block-inner svg {
		position: absolute;
		margin: 0;
	}

	.footer-t .grid:not(.column-1) {
		flex-direction: column;
	}

	.footer-t .grid.column-4 .col,
	.footer-t .grid.column-3 .col,
	.footer-t .grid.column-2 .col {
		width: 100%;
		margin-right: 0;
	}

	/*==========================
	AUTHOR ARCHIVE
	==========================*/
	.author-section .author-img {
		display: block;
		margin: 0 auto 30px auto;
	}

	.author-section .author-content-wrap {
		width: 100%;
		text-align: center;
		padding-left: 0;
	}

	/*=======================
	LIST LAYOUT
	=======================*/
	.list-layout .site-main article,
	.list-with-feat-post-layout .site-main article:not(.featured-post) {
		flex-direction: column;
	}

	.list-layout .site-main article .post-thumbnail,
	.list-with-feat-post-layout .site-main article:not(.featured-post) .post-thumbnail,
	.archive.list-layout .site-main article .post-thumbnail,
	.archive.list-layout .site-main article .content-wrap,
	.list-layout .site-main article .content-wrap,
	.list-with-feat-post-layout .site-main article:not(.featured-post) .content-wrap {
		width: 100%;
	}

	.list-layout .site-main article .content-wrap {
		padding-left: 20px;
		padding-right: 20px;
	}

	.list-layout .site-main article .post-thumbnail,
	.list-with-feat-post-layout .site-main article:not(.featured-post) .post-thumbnail {
		border-bottom-left-radius: 0;
		border-top-right-radius: 5px;
	}

	.list-layout .site-main article .content-wrap,
	.list-with-feat-post-layout .site-main article:not(.featured-post) .content-wrap {
		border-bottom-left-radius: 5px;
	}

	/*===========================
	CLASSIC LAYOUT
	===========================*/
	.site-main article .content-wrap {
		padding: 20px 20px 40px 20px;
	}

	/*=========================
	PAGINATION
	=========================*/
	.navigation.pagination .page-numbers {
		width: 40px;
		height: 40px;
		line-height: 36px;
	}

	.navigation.pagination .page-numbers.prev,
	.navigation.pagination .page-numbers.next {
		width: auto;
	}

	.navigation.pagination .page-numbers.prev {
		padding-left: 35px;
		padding-right: 20px;
	}

	.navigation.pagination .page-numbers.next {
		padding-right: 35px;
		padding-left: 20px;
	}

	.navigation.pagination .page-numbers.prev::before,
	.navigation.pagination .page-numbers.next::before {
		top: 10px;
	}

	.navigation.pagination .page-numbers.next::before {
		right: 15px;
	}

	.navigation.pagination .page-numbers.prev::before {
		left: 20px;
	}

	.comment-navigation .nav-previous,
	.posts-navigation .nav-previous,
	.post-navigation .nav-previous {
		width: 100%;
		float: none;
	}

	.comment-navigation .nav-next,
	.posts-navigation .nav-next,
	.post-navigation .nav-next {
		float: none;
		width: 100%;
		margin-top: 40px;
	}

	.post-navigation .nav-next {
		display: table;
		clear: both;
	}

	.post-navigation .nav-links .post-img {
		display: none;
	}

	/*=========================
	GRID LAYOUT
	=========================*/
	.grid-layout.rightsidebar .site-main article,
	.grid-layout.leftsidebar .site-main article,
	.grid-layout.full-width .site-main article {
		width: 100%;
		margin-right: 0;
	}

	.grid-layout .site-main article .content-wrap,
	.list-layout .site-main article .content-wrap,
	.list-with-feat-post-layout .site-main article:not(.featured-post) .content-wrap {
		padding: 20px 20px 40px 20px;
	}

	.grid-layout.full-width .site-main article:nth-child(3n) {
		margin-right: 0;
	}

	/*==========================
	MASONRY LAYOUT
	==========================*/
	.masonry-layout.rightsidebar .site-main article,
	.masonry-layout.leftsidebar .site-main article,
	.masonry-layout.full-width .site-main article {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	.masonry-layout .site-main article .content-wrap {
		padding: 20px 20px 40px 20px;
	}

	/*==========================
	ERROR 404 PAGE
	==========================*/
	.error404 .error-404 .error-num {
		font-size: 9em;
	}

	.error404 .error-404 .bttn {
		padding-left: 40px;
		padding-right: 40px;
	}

	/*==========================
	ADDITIONAL POST BLOCK
	==========================*/
	.additional-post article .entry-header {
		flex-direction: column;
	}

	.additional-post article .entry-meta {
		width: 100%;
		margin-bottom: 10px;
	}

	.additional-post article .entry-title {
		width: 100%;
		margin-bottom: 0;
		line-height: 1.5;
	}

	/*============================
	PAGE TEMPLATE PORTFOLIO
	============================*/
	.portfolio-item-inner:hover .portfolio-text-holder {
		padding-top: 20px;
		padding-bottom: 20px;
	}

	.portfolio-img-holder .portfolio-item {
		float: none;
		width: 100%;
		padding-left: 0;
		padding-right: 0;
	}

	/*=========================
	SEARCH PAGE
	=========================*/
	.search .page-header .container {
		max-width: 420px;
	}

	.search .site-content .search-form label {
		width: calc(100% - 50px);
	}

	.search .site-content .search-form .search-field {
		height: 50px;
		font-size: 1.5em;
	}

	.search .site-content .search-form .search-submit {
		height: 50px;
		width: 50px;
	}

	/*=========================
	SINGLE POST
	=========================*/
	.single header.page-header .container {
		max-width: 420px;
	}

	.single .content-area .article-meta {
		position: static;
		display: flex;
		flex: 1;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		width: 100%;
		margin-bottom: 30px;
	}

	.single.style2 .content-area .article-meta>span {
		margin-right: 20px;
		margin-bottom: 20px;
	}

	.single.style2 .content-area .article-meta>span.posted-on {
		margin-bottom: 20px;
		margin-top: 0;
	}

	.single.style2 .content-area .article-meta>span span.author-img {
		display: none;
	}

	.single.style2 .content-area .article-meta .byline .author {
		display: inline-block;
		margin-top: 0;
		margin-left: 0;
	}

	.single.style2 .content-area .article-meta .byline .author a,
	.single.style2 .content-area .article-meta>span.posted-on a {
		display: inline-block;
		margin-top: 0;
	}


	.single .site-main .article-meta .favourite {
		display: flex;
		flex-direction: row;
		align-items: center;
		margin-right: 10px;
	}

	.single .content-area .favourite .fav-count {
		display: inline-block;
		order: 2;
		margin-left: 10px;
	}

	.single .content-area .article-share ul li {
		display: inline-block;
		margin-top: 0;
		margin-left: 5px;
	}

	.single .content-area .favourite a {
		width: 40px;
		height: 40px;
		line-height: 36px;
		font-size: 0.778em;
		margin-top: 0;
	}

	.single .content-area .article-share ul li a {
		width: 40px;
		height: 40px;
		line-height: 36px;
		font-size: 0.8888em;
	}

	.sticky-social .entry-content {
		width: 100%;
		padding-left: 0;
	}

	.sticky-social .entry-footer {
		padding-left: 0;
	}

}

@media screen and (max-width: 640px) {

	/*==========================
	SITE BANNER
	==========================*/
	.site-banner .banner-caption .btn-wrap a.btn {
		display: block;
	}

	.site-banner .banner-caption .btn-wrap a.btn+a.btn {
		margin-left: 0;
		margin-top: 10px;
	}
}

/* Single post and single page underline fixes */
.underline .entry-content a {
	color: #585656;
	text-decoration: underline;
}

.underline .entry-content a:hover {
	color: var(--primary-color);
}

.entry-content a,
.entry-summary a,
.page-content a,
.comment-content a,
.widget .textwidget a {
	color: #585656;
	text-decoration: underline;
}

.entry-content a:hover,
.entry-summary a:hover,
.page-content a:hover,
.comment-content a:hover,
.widget .textwidget a:hover {
	color: var(--primary-color);
}

.site-banner .wp-custom-header img {
	width: 100%;
}

.site-main article .content-wrap .entry-content+.entry-footer {
	margin-top: 10px;
}@charset "UTF-8";

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.1
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2016 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;
}

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
  animation-duration: .75s;
}

@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -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.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -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;
  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(.95, 1.05, 1);
    transform: scale3d(.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, .95, 1);
    transform: scale3d(1.05, .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(.95, 1.05, 1);
    transform: scale3d(.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, .95, 1);
    transform: scale3d(1.05, .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;
  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(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(.9, .9, .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(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(.9, .9, .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: none;
    transform: none;
  }

  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: none;
    transform: none;
  }
}

@keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }

  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: none;
    transform: none;
  }
}

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

@-webkit-keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none;
  }

  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: none;
    transform: none;
  }

  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;
  transform-origin: center;
}

@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .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(.97, .97, .97);
    transform: scale3d(.97, .97, .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.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .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(.97, .97, .97);
    transform: scale3d(.97, .97, .97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

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

@-webkit-keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  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: none;
    transform: none;
  }
}

@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  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: none;
    transform: none;
  }
}

.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.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  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: none;
    transform: none;
  }
}

@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  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: none;
    transform: none;
  }
}

.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.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  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: none;
    transform: none;
  }
}

@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  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: none;
    transform: none;
  }
}

.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.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  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.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  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(.9, .9, .9);
    transform: scale3d(.9, .9, .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(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }
}

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .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(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }
}

.bounceOut {
  -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: none;
    transform: none;
  }
}

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

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.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: none;
    transform: none;
  }
}

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

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.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: none;
    transform: none;
  }
}

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

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.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: none;
    transform: none;
  }
}

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

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.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: none;
    transform: none;
  }
}

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

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.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: none;
    transform: none;
  }
}

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

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.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: none;
    transform: none;
  }
}

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

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.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: none;
    transform: none;
  }
}

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

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.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(.95, .95, .95);
    transform: perspective(400px) scale3d(.95, .95, .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(.95, .95, .95);
    transform: perspective(400px) scale3d(.95, .95, .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-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-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: none;
    transform: none;
    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: none;
    transform: none;
    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: none;
    transform: none;
    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: none;
    transform: none;
    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: none;
    transform: none;
    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: none;
    transform: none;
    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: none;
    transform: none;
    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: none;
    transform: none;
    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: none;
    transform: none;
    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: none;
    transform: none;
    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: none;
    transform: none;
    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: none;
    transform: none;
    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-name: hinge;
  animation-name: hinge;
}

/* 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: none;
    transform: none;
  }
}

@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: none;
    transform: none;
  }
}

.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(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

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

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

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

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

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

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

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

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

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

@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  to {
    opacity: 0;
  }
}

@keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  to {
    opacity: 0;
  }
}

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

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    transform: scale3d(.1, .1, .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.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    transform: scale3d(.1, .1, .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.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

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

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
    transform: scale(.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
    transform: scale(.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(.475, .475, .475) translate3d(-42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
    transform: scale(.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
    transform: scale(.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(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    transform: scale3d(.1, .1, .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.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    transform: scale3d(.1, .1, .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.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 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;
}
/*# sourceMappingURL=data:application/json;base64,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bUNBQW1DO0dBQ3BDO0NBQ0Y7O0FBRUQ7RUFDRSxzQ0FBc0M7RUFDdEMsOEJBQThCO0NBQy9COztBQUVEO0VBQ0U7SUFDRSx3Q0FBd0M7SUFDeEMsZ0NBQWdDO0dBQ2pDOztFQUVEO0lBQ0UsbUJBQW1CO0lBQ25CLDRDQUE0QztJQUM1QyxvQ0FBb0M7R0FDckM7Q0FDRjs7QUFFRDtFQUNFO0lBQ0Usd0NBQXdDO0lBQ3hDLGdDQUFnQztHQUNqQzs7RUFFRDtJQUNFLG1CQUFtQjtJQUNuQiw0Q0FBNEM7SUFDNUMsb0NBQW9DO0dBQ3JDO0NBQ0Y7O0FBRUQ7RUFDRSxtQ0FBbUM7RUFDbkMsMkJBQTJCO0NBQzVCIiwiZmlsZSI6ImFuaW1hdGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vKiFcbiAqIGFuaW1hdGUuY3NzIC1odHRwOi8vZGFuZWRlbi5tZS9hbmltYXRlXG4gKiBWZXJzaW9uIC0gMy41LjFcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYgRGFuaWVsIEVkZW5cbiAqL1xuXG4uYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmFuaW1hdGVkLmluZmluaXRlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG5cbi5hbmltYXRlZC5oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbn1cblxuLmFuaW1hdGVkLmZsaXBPdXRYLFxuLmFuaW1hdGVkLmZsaXBPdXRZLFxuLmFuaW1hdGVkLmJvdW5jZUluLFxuLmFuaW1hdGVkLmJvdW5jZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xuICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tLCAyMCUsIDUzJSwgODAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuXG4gIDQwJSwgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSwgMjAlLCA1MyUsIDgwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cblxuICA0MCUsIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgfVxufVxuXG4uYm91bmNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sIDUwJSwgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyNSUsIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSwgNTAlLCB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDI1JSwgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGFzaCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xuICBhbmltYXRpb24tbmFtZTogZmxhc2g7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4ucHVsc2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuXG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBydWJiZXJCYW5kIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICB9XG5cbiAgNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4ucnViYmVyQmFuZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2Uge1xuICBmcm9tLCB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG4gIGZyb20sIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgMjAlLCA0MCUsIDYwJSwgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uc2hha2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDYuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgfVxuXG4gIDE4LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgfVxuXG4gIDMxLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gIH1cblxuICA0My41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICA2LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gIH1cblxuICAxOC41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gIH1cblxuICAzMS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICB9XG5cbiAgNDMuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLmhlYWRTaGFrZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG5cbi5zd2luZyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAxMCUsIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAxMCUsIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4udGFkYSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4ud29iYmxlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlO1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tLCAxMS4xJSwgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIDIyLjIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gIH1cblxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gIH1cblxuICA0NC40JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgfVxuXG4gIDU1LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG5cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgfVxuXG4gIDc3LjclIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gIH1cblxuICA4OC44JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sIDExLjElLCB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgfVxuXG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuXG4gIDQ0LjQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICB9XG5cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gIH1cblxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG5cbiAgNzcuNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgfVxuXG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgfVxufVxuXG4uamVsbG8ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tLCAyMCUsIDQwJSwgNjAlLCA4MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sIDIwJSwgNDAlLCA2MCUsIDgwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4uYm91bmNlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYm91bmNlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYm91bmNlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYm91bmNlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICB9XG5cbiAgNTAlLCA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cblxuICA1MCUsIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbn1cblxuLmJvdW5jZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgNDAlLCA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgNDAlLCA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmZhZGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluUmlnaHRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluVXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZhZGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dERvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRSaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuLmFuaW1hdGVkLmZsaXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbi5mbGlwSW5YIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuLmZsaXBJblkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxpcE91dFgge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGlwT3V0WSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluRG93bkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbkRvd25SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJblVwUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dERvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0RG93blJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0VXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0VXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgMjAlLCA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgNDAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgMjAlLCA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgNDAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuICBhbmltYXRpb24tbmFtZTogaGluZ2U7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5yb2xsSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgfVxufVxuXG4ucm9sbE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uem9vbUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21JblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnpvb21PdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuLnpvb21PdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG4uem9vbU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbn1cbiJdfQ== *//**
 * Owl Carousel v2.2.1
 * Copyright 2013-2017 David Deutsch
 * Licensed under  ()
 */
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;-moz-backface-visibility:hidden}.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;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-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{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.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{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.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(/wp-content/themes/blossom-spa/css/owl.video.play.png?x86406) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}.ps__rail-x,.ps__rail-y{display:none;opacity:0;position:absolute}.ps{overflow:hidden!important;overflow-anchor:none;-ms-overflow-style:none;touch-action:auto;-ms-touch-action:auto}.ps__rail-x{transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;height:15px;bottom:0}.ps__rail-y{transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;width:15px;right:0}.ps--active-x>.ps__rail-x,.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y,.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y{opacity:.6}.ps .ps__rail-x.ps--clicking,.ps .ps__rail-x:focus,.ps .ps__rail-x:hover,.ps .ps__rail-y.ps--clicking,.ps .ps__rail-y:focus,.ps .ps__rail-y:hover{background-color:#eee;opacity:.9}.ps__thumb-x,.ps__thumb-y{background-color:#aaa;border-radius:6px;position:absolute}.ps__thumb-x{transition:background-color .2s linear,height .2s ease-in-out;-webkit-transition:background-color .2s linear,height .2s ease-in-out;height:6px;bottom:2px}.ps__thumb-y{transition:background-color .2s linear,width .2s ease-in-out;-webkit-transition:background-color .2s linear,width .2s ease-in-out;width:6px;right:2px}.ps__rail-x.ps--clicking .ps__thumb-x,.ps__rail-x:focus>.ps__thumb-x,.ps__rail-x:hover>.ps__thumb-x{background-color:#999;height:11px}.ps__rail-y.ps--clicking .ps__thumb-y,.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y:hover>.ps__thumb-y{background-color:#999;width:11px}@supports (-ms-overflow-style:none){.ps{overflow:auto!important}}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.ps{overflow:auto!important}}