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

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

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}

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

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

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

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

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.order-first {
  order: -1;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-5 {
  order: 5;
}

.order-6 {
  order: 6;
}

.order-7 {
  order: 7;
}

.order-8 {
  order: 8;
}

.order-9 {
  order: 9;
}

.order-10 {
  order: 10;
}

.order-11 {
  order: 11;
}

.order-12 {
  order: 12;
}

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  .col-sm-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-sm-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-sm-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-sm-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-sm-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-sm-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-sm-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-sm-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-sm-first {
    order: -1;
  }

  .order-sm-1 {
    order: 1;
  }

  .order-sm-2 {
    order: 2;
  }

  .order-sm-3 {
    order: 3;
  }

  .order-sm-4 {
    order: 4;
  }

  .order-sm-5 {
    order: 5;
  }

  .order-sm-6 {
    order: 6;
  }

  .order-sm-7 {
    order: 7;
  }

  .order-sm-8 {
    order: 8;
  }

  .order-sm-9 {
    order: 9;
  }

  .order-sm-10 {
    order: 10;
  }

  .order-sm-11 {
    order: 11;
  }

  .order-sm-12 {
    order: 12;
  }

  .offset-sm-0 {
    margin-left: 0;
  }

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

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

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

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

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

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

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

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

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

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

  .offset-sm-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  .col-md-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-md-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-md-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-md-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-md-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-md-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-md-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-md-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-md-first {
    order: -1;
  }

  .order-md-1 {
    order: 1;
  }

  .order-md-2 {
    order: 2;
  }

  .order-md-3 {
    order: 3;
  }

  .order-md-4 {
    order: 4;
  }

  .order-md-5 {
    order: 5;
  }

  .order-md-6 {
    order: 6;
  }

  .order-md-7 {
    order: 7;
  }

  .order-md-8 {
    order: 8;
  }

  .order-md-9 {
    order: 9;
  }

  .order-md-10 {
    order: 10;
  }

  .order-md-11 {
    order: 11;
  }

  .order-md-12 {
    order: 12;
  }

  .offset-md-0 {
    margin-left: 0;
  }

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

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

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

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

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

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

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

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

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

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

  .offset-md-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  .col-lg-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-lg-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-lg-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-lg-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-lg-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-lg-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-lg-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-lg-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-lg-first {
    order: -1;
  }

  .order-lg-1 {
    order: 1;
  }

  .order-lg-2 {
    order: 2;
  }

  .order-lg-3 {
    order: 3;
  }

  .order-lg-4 {
    order: 4;
  }

  .order-lg-5 {
    order: 5;
  }

  .order-lg-6 {
    order: 6;
  }

  .order-lg-7 {
    order: 7;
  }

  .order-lg-8 {
    order: 8;
  }

  .order-lg-9 {
    order: 9;
  }

  .order-lg-10 {
    order: 10;
  }

  .order-lg-11 {
    order: 11;
  }

  .order-lg-12 {
    order: 12;
  }

  .offset-lg-0 {
    margin-left: 0;
  }

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

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

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

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

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

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

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

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

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

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

  .offset-lg-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  .col-xl-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-xl-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-xl-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-xl-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-xl-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-xl-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-xl-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-xl-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-xl-first {
    order: -1;
  }

  .order-xl-1 {
    order: 1;
  }

  .order-xl-2 {
    order: 2;
  }

  .order-xl-3 {
    order: 3;
  }

  .order-xl-4 {
    order: 4;
  }

  .order-xl-5 {
    order: 5;
  }

  .order-xl-6 {
    order: 6;
  }

  .order-xl-7 {
    order: 7;
  }

  .order-xl-8 {
    order: 8;
  }

  .order-xl-9 {
    order: 9;
  }

  .order-xl-10 {
    order: 10;
  }

  .order-xl-11 {
    order: 11;
  }

  .order-xl-12 {
    order: 12;
  }

  .offset-xl-0 {
    margin-left: 0;
  }

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

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

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

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

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

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

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

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

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

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

  .offset-xl-11 {
    margin-left: 91.6666666667%;
  }
}
.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

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

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

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

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

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

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

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

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

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

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important;
  }

  .flex-sm-column {
    flex-direction: column !important;
  }

  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }

  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .justify-content-sm-start {
    justify-content: flex-start !important;
  }

  .justify-content-sm-end {
    justify-content: flex-end !important;
  }

  .justify-content-sm-center {
    justify-content: center !important;
  }

  .justify-content-sm-between {
    justify-content: space-between !important;
  }

  .justify-content-sm-around {
    justify-content: space-around !important;
  }

  .align-items-sm-start {
    align-items: flex-start !important;
  }

  .align-items-sm-end {
    align-items: flex-end !important;
  }

  .align-items-sm-center {
    align-items: center !important;
  }

  .align-items-sm-baseline {
    align-items: baseline !important;
  }

  .align-items-sm-stretch {
    align-items: stretch !important;
  }

  .align-content-sm-start {
    align-content: flex-start !important;
  }

  .align-content-sm-end {
    align-content: flex-end !important;
  }

  .align-content-sm-center {
    align-content: center !important;
  }

  .align-content-sm-between {
    align-content: space-between !important;
  }

  .align-content-sm-around {
    align-content: space-around !important;
  }

  .align-content-sm-stretch {
    align-content: stretch !important;
  }

  .align-self-sm-auto {
    align-self: auto !important;
  }

  .align-self-sm-start {
    align-self: flex-start !important;
  }

  .align-self-sm-end {
    align-self: flex-end !important;
  }

  .align-self-sm-center {
    align-self: center !important;
  }

  .align-self-sm-baseline {
    align-self: baseline !important;
  }

  .align-self-sm-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important;
  }

  .flex-md-column {
    flex-direction: column !important;
  }

  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-md-wrap {
    flex-wrap: wrap !important;
  }

  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .justify-content-md-start {
    justify-content: flex-start !important;
  }

  .justify-content-md-end {
    justify-content: flex-end !important;
  }

  .justify-content-md-center {
    justify-content: center !important;
  }

  .justify-content-md-between {
    justify-content: space-between !important;
  }

  .justify-content-md-around {
    justify-content: space-around !important;
  }

  .align-items-md-start {
    align-items: flex-start !important;
  }

  .align-items-md-end {
    align-items: flex-end !important;
  }

  .align-items-md-center {
    align-items: center !important;
  }

  .align-items-md-baseline {
    align-items: baseline !important;
  }

  .align-items-md-stretch {
    align-items: stretch !important;
  }

  .align-content-md-start {
    align-content: flex-start !important;
  }

  .align-content-md-end {
    align-content: flex-end !important;
  }

  .align-content-md-center {
    align-content: center !important;
  }

  .align-content-md-between {
    align-content: space-between !important;
  }

  .align-content-md-around {
    align-content: space-around !important;
  }

  .align-content-md-stretch {
    align-content: stretch !important;
  }

  .align-self-md-auto {
    align-self: auto !important;
  }

  .align-self-md-start {
    align-self: flex-start !important;
  }

  .align-self-md-end {
    align-self: flex-end !important;
  }

  .align-self-md-center {
    align-self: center !important;
  }

  .align-self-md-baseline {
    align-self: baseline !important;
  }

  .align-self-md-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important;
  }

  .flex-lg-column {
    flex-direction: column !important;
  }

  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }

  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .justify-content-lg-start {
    justify-content: flex-start !important;
  }

  .justify-content-lg-end {
    justify-content: flex-end !important;
  }

  .justify-content-lg-center {
    justify-content: center !important;
  }

  .justify-content-lg-between {
    justify-content: space-between !important;
  }

  .justify-content-lg-around {
    justify-content: space-around !important;
  }

  .align-items-lg-start {
    align-items: flex-start !important;
  }

  .align-items-lg-end {
    align-items: flex-end !important;
  }

  .align-items-lg-center {
    align-items: center !important;
  }

  .align-items-lg-baseline {
    align-items: baseline !important;
  }

  .align-items-lg-stretch {
    align-items: stretch !important;
  }

  .align-content-lg-start {
    align-content: flex-start !important;
  }

  .align-content-lg-end {
    align-content: flex-end !important;
  }

  .align-content-lg-center {
    align-content: center !important;
  }

  .align-content-lg-between {
    align-content: space-between !important;
  }

  .align-content-lg-around {
    align-content: space-around !important;
  }

  .align-content-lg-stretch {
    align-content: stretch !important;
  }

  .align-self-lg-auto {
    align-self: auto !important;
  }

  .align-self-lg-start {
    align-self: flex-start !important;
  }

  .align-self-lg-end {
    align-self: flex-end !important;
  }

  .align-self-lg-center {
    align-self: center !important;
  }

  .align-self-lg-baseline {
    align-self: baseline !important;
  }

  .align-self-lg-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important;
  }

  .flex-xl-column {
    flex-direction: column !important;
  }

  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }

  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .justify-content-xl-start {
    justify-content: flex-start !important;
  }

  .justify-content-xl-end {
    justify-content: flex-end !important;
  }

  .justify-content-xl-center {
    justify-content: center !important;
  }

  .justify-content-xl-between {
    justify-content: space-between !important;
  }

  .justify-content-xl-around {
    justify-content: space-around !important;
  }

  .align-items-xl-start {
    align-items: flex-start !important;
  }

  .align-items-xl-end {
    align-items: flex-end !important;
  }

  .align-items-xl-center {
    align-items: center !important;
  }

  .align-items-xl-baseline {
    align-items: baseline !important;
  }

  .align-items-xl-stretch {
    align-items: stretch !important;
  }

  .align-content-xl-start {
    align-content: flex-start !important;
  }

  .align-content-xl-end {
    align-content: flex-end !important;
  }

  .align-content-xl-center {
    align-content: center !important;
  }

  .align-content-xl-between {
    align-content: space-between !important;
  }

  .align-content-xl-around {
    align-content: space-around !important;
  }

  .align-content-xl-stretch {
    align-content: stretch !important;
  }

  .align-self-xl-auto {
    align-self: auto !important;
  }

  .align-self-xl-start {
    align-self: flex-start !important;
  }

  .align-self-xl-end {
    align-self: flex-end !important;
  }

  .align-self-xl-center {
    align-self: center !important;
  }

  .align-self-xl-baseline {
    align-self: baseline !important;
  }

  .align-self-xl-stretch {
    align-self: stretch !important;
  }
}
.modal-open {
  overflow: hidden;
}

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  display: none;
  overflow: hidden;
  outline: 0;
}
.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -25%);
}
.modal.show .modal-dialog {
  transform: translate(0, 0);
}

.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
  pointer-events: none;
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: 0.5;
}

.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 15px;
  border-bottom: 1px solid #e9ecef;
  border-top-left-radius: 0.3rem;
  border-top-right-radius: 0.3rem;
}
.modal-header .close {
  padding: 15px;
  margin: -15px -15px -15px auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: 1.5;
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 15px;
}

.modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 15px;
  border-top: 1px solid #e9ecef;
}
.modal-footer > :not(:first-child) {
  margin-left: 0.25rem;
}
.modal-footer > :not(:last-child) {
  margin-right: 0.25rem;
}

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 30px auto;
  }

  .modal-sm {
    max-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    max-width: 800px;
  }
}
.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.25rem;
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group:first-child .list-group-item:first-child {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
.card > .list-group:last-child .list-group-item:last-child {
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.card-body {
  flex: 1 1 auto;
  padding: 1.25rem;
}

.card-title {
  margin-bottom: 0.75rem;
}

.card-subtitle {
  margin-top: -0.375rem;
  margin-bottom: 0;
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link:hover {
  text-decoration: none;
}
.card-link + .card-link {
  margin-left: 1.25rem;
}

.card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}
.card-header:first-child {
  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}
.card-header + .list-group .list-group-item:first-child {
  border-top: 0;
}

.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid rgba(0, 0, 0, 0.125);
}
.card-footer:last-child {
  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
}

.card-header-tabs {
  margin-right: -0.625rem;
  margin-bottom: -0.75rem;
  margin-left: -0.625rem;
  border-bottom: 0;
}

.card-header-pills {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
}

.card-img {
  width: 100%;
  border-radius: calc(0.25rem - 1px);
}

.card-img-top {
  width: 100%;
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.card-img-bottom {
  width: 100%;
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}

.card-deck {
  display: flex;
  flex-direction: column;
}
.card-deck .card {
  margin-bottom: 15px;
}
@media (min-width: 576px) {
  .card-deck {
    flex-flow: row wrap;
    margin-right: -15px;
    margin-left: -15px;
  }
  .card-deck .card {
    display: flex;
    flex: 1 0 0%;
    flex-direction: column;
    margin-right: 15px;
    margin-bottom: 0;
    margin-left: 15px;
  }
}

.card-group {
  display: flex;
  flex-direction: column;
}
.card-group .card {
  margin-bottom: 15px;
}
@media (min-width: 576px) {
  .card-group {
    flex-flow: row wrap;
  }
  .card-group .card {
    flex: 1 0 0%;
    margin-bottom: 0;
  }
  .card-group .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group .card:first-child {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group .card:first-child .card-img-top {
    border-top-right-radius: 0;
  }
  .card-group .card:first-child .card-img-bottom {
    border-bottom-right-radius: 0;
  }
  .card-group .card:last-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group .card:last-child .card-img-top {
    border-top-left-radius: 0;
  }
  .card-group .card:last-child .card-img-bottom {
    border-bottom-left-radius: 0;
  }
  .card-group .card:only-child {
    border-radius: 0.25rem;
  }
  .card-group .card:only-child .card-img-top {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }
  .card-group .card:only-child .card-img-bottom {
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }
  .card-group .card:not(:first-child):not(:last-child):not(:only-child) {
    border-radius: 0;
  }
  .card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,
.card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom {
    border-radius: 0;
  }
}

.card-columns .card {
  margin-bottom: 0.75rem;
}
@media (min-width: 576px) {
  .card-columns {
    column-count: 3;
    column-gap: 1.25rem;
  }
  .card-columns .card {
    display: inline-block;
    width: 100%;
  }
}

.carousel {
  position: relative;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.carousel-item {
  position: relative;
  display: none;
  align-items: center;
  width: 100%;
  transition: transform 0.6s ease;
  backface-visibility: hidden;
  perspective: 1000px;
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next,
.carousel-item-prev {
  position: absolute;
  top: 0;
}

.carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
  transform: translateX(0);
}
@supports (transform-style: preserve-3d) {
  .carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
    transform: translate3d(0, 0, 0);
  }
}

.carousel-item-next,
.active.carousel-item-right {
  transform: translateX(100%);
}
@supports (transform-style: preserve-3d) {
  .carousel-item-next,
.active.carousel-item-right {
    transform: translate3d(100%, 0, 0);
  }
}

.carousel-item-prev,
.active.carousel-item-left {
  transform: translateX(-100%);
}
@supports (transform-style: preserve-3d) {
  .carousel-item-prev,
.active.carousel-item-left {
    transform: translate3d(-100%, 0, 0);
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: 0.5;
}
.carousel-control-prev:focus, .carousel-control-prev:hover,
.carousel-control-next:focus,
.carousel-control-next:hover {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: transparent no-repeat center center;
  background-size: 100% 100%;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E");
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 10px;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}
.carousel-indicators li {
  position: relative;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  background-color: rgba(255, 255, 255, 0.5);
}
.carousel-indicators li::before {
  position: absolute;
  top: -10px;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 10px;
  content: "";
}
.carousel-indicators li::after {
  position: absolute;
  bottom: -10px;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 10px;
  content: "";
}
.carousel-indicators .active {
  background-color: #fff;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-image: none;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}
.form-control:focus {
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: none;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.form-control::placeholder {
  color: #868e96;
  opacity: 1;
}
.form-control:disabled, .form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}

select.form-control:not([size]):not([multiple]) {
  height: calc(2.25rem + 2px);
}
select.form-control:focus::-ms-value {
  color: #495057;
  background-color: #fff;
}

.form-control-file,
.form-control-range {
  display: block;
}

.col-form-label {
  padding-top: calc(0.375rem + 1px);
  padding-bottom: calc(0.375rem + 1px);
  margin-bottom: 0;
  line-height: 1.5;
}

.col-form-label-lg {
  padding-top: calc(0.5rem + 1px);
  padding-bottom: calc(0.5rem + 1px);
  font-size: 1.25rem;
  line-height: 1.5;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + 1px);
  padding-bottom: calc(0.25rem + 1px);
  font-size: 0.875rem;
  line-height: 1.5;
}

.col-form-legend {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  margin-bottom: 0;
  font-size: 1rem;
}

.form-control-plaintext {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  margin-bottom: 0;
  line-height: 1.5;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

select.form-control-sm:not([size]):not([multiple]) {
  height: calc(1.8125rem + 2px);
}

.form-control-lg {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

select.form-control-lg:not([size]):not([multiple]) {
  height: calc(2.875rem + 2px);
}

.form-group {
  margin-bottom: 1rem;
}

.form-text {
  display: block;
  margin-top: 0.25rem;
}

.form-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -5px;
  margin-left: -5px;
}
.form-row > .col,
.form-row > [class*=col-] {
  padding-right: 5px;
  padding-left: 5px;
}

.form-check {
  position: relative;
  display: block;
  margin-bottom: 0.5rem;
}
.form-check.disabled .form-check-label {
  color: #868e96;
}

.form-check-label {
  padding-left: 1.25rem;
  margin-bottom: 0;
}

.form-check-input {
  position: absolute;
  margin-top: 0.25rem;
  margin-left: -1.25rem;
}

.form-check-inline {
  display: inline-block;
  margin-right: 0.75rem;
}
.form-check-inline .form-check-label {
  vertical-align: middle;
}

.valid-feedback {
  display: none;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #28a745;
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  width: 250px;
  padding: 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  line-height: 1;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.8);
  border-radius: 0.2rem;
}

.was-validated .form-control:valid, .form-control.is-valid,
.was-validated .custom-select:valid,
.custom-select.is-valid {
  border-color: #28a745;
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus,
.was-validated .custom-select:valid:focus,
.custom-select.is-valid:focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}
.was-validated .form-control:valid ~ .valid-feedback,
.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,
.form-control.is-valid ~ .valid-tooltip,
.was-validated .custom-select:valid ~ .valid-feedback,
.was-validated .custom-select:valid ~ .valid-tooltip,
.custom-select.is-valid ~ .valid-feedback,
.custom-select.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .form-check-input:valid + .form-check-label, .form-check-input.is-valid + .form-check-label {
  color: #28a745;
}

.was-validated .custom-control-input:valid ~ .custom-control-indicator, .custom-control-input.is-valid ~ .custom-control-indicator {
  background-color: rgba(40, 167, 69, 0.25);
}
.was-validated .custom-control-input:valid ~ .custom-control-description, .custom-control-input.is-valid ~ .custom-control-description {
  color: #28a745;
}

.was-validated .custom-file-input:valid ~ .custom-file-control, .custom-file-input.is-valid ~ .custom-file-control {
  border-color: #28a745;
}
.was-validated .custom-file-input:valid ~ .custom-file-control::before, .custom-file-input.is-valid ~ .custom-file-control::before {
  border-color: inherit;
}
.was-validated .custom-file-input:valid:focus, .custom-file-input.is-valid:focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.invalid-feedback {
  display: none;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #dc3545;
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  width: 250px;
  padding: 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  line-height: 1;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.8);
  border-radius: 0.2rem;
}

.was-validated .form-control:invalid, .form-control.is-invalid,
.was-validated .custom-select:invalid,
.custom-select.is-invalid {
  border-color: #dc3545;
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus,
.was-validated .custom-select:invalid:focus,
.custom-select.is-invalid:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}
.was-validated .form-control:invalid ~ .invalid-feedback,
.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,
.form-control.is-invalid ~ .invalid-tooltip,
.was-validated .custom-select:invalid ~ .invalid-feedback,
.was-validated .custom-select:invalid ~ .invalid-tooltip,
.custom-select.is-invalid ~ .invalid-feedback,
.custom-select.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .form-check-input:invalid + .form-check-label, .form-check-input.is-invalid + .form-check-label {
  color: #dc3545;
}

.was-validated .custom-control-input:invalid ~ .custom-control-indicator, .custom-control-input.is-invalid ~ .custom-control-indicator {
  background-color: rgba(220, 53, 69, 0.25);
}
.was-validated .custom-control-input:invalid ~ .custom-control-description, .custom-control-input.is-invalid ~ .custom-control-description {
  color: #dc3545;
}

.was-validated .custom-file-input:invalid ~ .custom-file-control, .custom-file-input.is-invalid ~ .custom-file-control {
  border-color: #dc3545;
}
.was-validated .custom-file-input:invalid ~ .custom-file-control::before, .custom-file-input.is-invalid ~ .custom-file-control::before {
  border-color: inherit;
}
.was-validated .custom-file-input:invalid:focus, .custom-file-input.is-invalid:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}
.form-inline .form-check {
  width: 100%;
}
@media (min-width: 576px) {
  .form-inline label {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
  }
  .form-inline .form-group {
    display: flex;
    flex: 0 0 auto;
    flex-flow: row wrap;
    align-items: center;
    margin-bottom: 0;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-plaintext {
    display: inline-block;
  }
  .form-inline .input-group {
    width: auto;
  }
  .form-inline .form-check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    margin-top: 0;
    margin-bottom: 0;
  }
  .form-inline .form-check-label {
    padding-left: 0;
  }
  .form-inline .form-check-input {
    position: relative;
    margin-top: 0;
    margin-right: 0.25rem;
    margin-left: 0;
  }
  .form-inline .custom-control {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 0;
  }
  .form-inline .custom-control-indicator {
    position: static;
    display: inline-block;
    margin-right: 0.25rem;
    vertical-align: text-bottom;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }

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

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

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

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

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

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

  .d-sm-flex {
    display: flex !important;
  }

  .d-sm-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }

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

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

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

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

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

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

  .d-md-flex {
    display: flex !important;
  }

  .d-md-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }

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

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

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

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

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

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

  .d-lg-flex {
    display: flex !important;
  }

  .d-lg-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }

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

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

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

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

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

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

  .d-xl-flex {
    display: flex !important;
  }

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

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

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

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

.fade {
  opacity: 0;
  transition: opacity 0.15s linear;
}
.fade.show {
  opacity: 1;
}

.collapse {
  display: none;
}
.collapse.show {
  display: block;
}

tr.collapse.show {
  display: table-row;
}

tbody.collapse.show {
  display: table-row-group;
}

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}

/* partials */
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

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

@font-face {
  font-family: "Facile Sans";
  src: url("../assets/fonts/FacileSans.eot");
  src: local("../assets/fonts"), url("../assets/fonts/FacileSans.woff") format("woff"), url("../assets/fonts/FacileSans.ttf") format("truetype");
}
@font-face {
  font-family: "Solomon Sans";
  font-weight: normal;
  font-style: normal;
  src: url("../assets/fonts/Solomon-Sans-Normal.eot");
  src: local("../assets/fonts"), url("../assets/fonts/Solomon-Sans-Normal.woff") format("woff"), url("../assets/fonts/Solomon-Sans-Normal.ttf") format("truetype");
}
@font-face {
  font-family: "Solomon Sans SemiBold";
  font-weight: bold;
  font-style: normal;
  src: url("../assets/fonts/Solomon-Sans-SemiBold.eot");
  src: local("../assets/fonts"), url("../assets/fonts/Solomon-Sans-SemiBold.woff") format("woff"), url("../assets/fonts/Solomon-Sans-SemiBold.ttf") format("truetype");
}
@font-face {
  font-family: "Solomon Sans";
  font-weight: normal;
  font-style: italic;
  src: url("../assets/fonts/Solomon-Sans-Normal-Italic.eot");
  src: local("../assets/fonts"), url("../assets/fonts/Solomon-Sans-Normal-Italic.woff") format("woff"), url("../assets/fonts/Solomon-Sans-Normal-Italic.ttf") format("truetype");
}
body {
  color: black;
  letter-spacing: 0px;
  font-family: "Solomon Sans", sans-serif;
  font-size: 16px;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, .hero-header {
  letter-spacing: 2px;
  color: #21372A;
}
h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a, .hero-header a {
  text-decoration: none;
  color: #21372A;
}
h1 a:hover, .h1 a:hover, h2 a:hover, .h2 a:hover, h3 a:hover, .h3 a:hover, h4 a:hover, .h4 a:hover, h5 a:hover, .h5 a:hover, .hero-header a:hover {
  text-decoration: underline;
}

.hero-header {
  color: white;
  font-family: "Facile Sans", sans-serif;
  font-size: 36px;
  line-height: 54px;
}

p, ul, ol, a {
  font-family: "Solomon Sans", sans-serif;
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 20px;
}

h1, .h1,
h1 a, .h1 a {
  font-family: "Facile Sans", sans-serif;
  font-size: 28px;
  line-height: 36px;
  margin-bottom: 20px;
  margin-top: 48px;
}

h2, .h2,
h2 a, .h2 a {
  font-family: "Facile Sans", sans-serif;
  font-size: 22px;
  line-height: 30px;
  margin-bottom: 20px;
  margin-top: 40px;
}

h3, .h3,
h3 a, .h3 a {
  font-family: "Facile Sans", sans-serif;
  font-size: 18px;
  line-height: 26px;
  margin-bottom: 20px;
  margin-top: 40px;
}

h4, .h4,
h4 a, .h4 a {
  font-family: "Solomon Sans SemiBold", sans-serif;
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 20px;
  margin-top: 32px;
}

h5, .h5,
h5 a, .h5 a {
  font-family: "Solomon Sans SemiBold", sans-serif;
  font-size: 16px;
  letter-spacing: 0px;
  line-height: 24px;
  margin-bottom: 20px;
  margin-top: 24px;
  text-transform: uppercase;
}

h6, .h6,
h6 a, .h6 a {
  font-family: "Solomon Sans SemiBold", sans-serif;
  color: #21372A;
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 20px;
}

.lead-copy {
  font-size: 18px;
  line-height: 27px;
  margin-bottom: 19.5px;
}

small, .small {
  font-size: 12px;
  line-height: 14.4px;
}

hr {
  color: #21372A;
}

.piped-list {
  text-transform: uppercase;
  font-weight: 400;
  padding-left: 0 !important;
}
.piped-list.content-white li {
  border-color: white;
}
.piped-list.content-white a {
  color: white;
}
.piped-list li {
  display: inline-block;
  padding: 0 16px;
  margin-bottom: 8px;
  text-align: center;
  border-right: 1px solid black;
}
.piped-list li:last-child {
  border-right: none;
}
.piped-list a {
  color: black;
  text-decoration: none;
}
.piped-list a:hover {
  text-decoration: underline;
}

.piped-list-compact {
  text-transform: none;
}
.piped-list-compact li {
  text-align: left;
  padding-left: 0;
  margin-right: 16px;
}

footer {
  background: #21372A;
  padding: 48px;
  display: flex;
  margin-top: 48px;
}
footer ul li a {
  font-size: 12px;
}

table {
  margin-bottom: 48px;
}
table th {
  font-weight: bold;
  text-align: left;
  padding-bottom: 16px;
}
table td {
  border-top: 1px solid #e7e7e7;
  padding-top: 16px;
}

em {
  font-style: italic;
}

.contentArea ul {
  list-style: disc;
  margin-left: 24px;
}
.contentArea ol {
  list-style: decimal;
  margin-left: 24px;
}

body {
  min-width: 320px;
}

.field {
  margin-bottom: 24px;
}

label, legend {
  display: inline-block;
  font-family: "Solomon Sans SemiBold", sans-serif;
  line-height: 20px;
  margin-bottom: 8px !important;
}

input,
select {
  border: 1px solid #21372A;
  box-shadow: none;
  font-size: 16px;
  line-height: 24px;
  padding-left: 16px;
  padding-right: 16px;
  min-height: 40px;
  font-family: "Solomon Sans", sans-serif;
}

select {
  height: 40px;
  margin-top: 2px;
}

input.file {
  border: none;
  background: none;
  padding: 0;
  line-height: normal;
  min-height: 0;
}

.optionset {
  margin-bottom: 12px;
}
.optionset label {
  font-family: "Solomon Sans", sans-serif;
  position: absolute;
  margin-top: -27px;
  margin-left: 32px;
}
.optionset legend {
  margin-bottom: 0 !important;
}

input.checkbox, input.radio {
  display: block;
  height: 32px;
  width: 100%;
}

.odd:hover, .even:hover {
  cursor: pointer;
}

button,
.button,
#CartForm_CartForm .Actions #CartForm_CartForm_action_updateCart,
input.action {
  border-radius: 0;
  background-color: #21372A;
  border: none;
  display: block;
  color: white;
  display: inline-block;
  font-family: "Solomon Sans SemiBold", sans-serif;
  font-size: 16px;
  letter-spacing: 2px;
  line-height: 24px;
  text-decoration: none;
  margin-bottom: 24px;
  padding-right: 24px;
  padding-left: 24px;
  padding-top: 11px;
  padding-bottom: 8px;
  text-transform: uppercase;
}
button:hover,
.button:hover,
#CartForm_CartForm .Actions #CartForm_CartForm_action_updateCart:hover,
input.action:hover {
  cursor: pointer;
  background: white;
  color: #21372A;
  box-shadow: inset 0 0 0 2px #21372A;
  transition: color 0.2s ease-out, background-color 0.2s ease-out;
}
button:active,
.button:active,
#CartForm_CartForm .Actions #CartForm_CartForm_action_updateCart:active,
input.action:active {
  background-color: #21372A;
  color: white;
  transition: color 0.05s ease-in, background-color 0.05s ease-in;
}

.button-small, #CartForm_CartForm .Actions #CartForm_CartForm_action_updateCart {
  font-size: 12px;
  padding: 8px 12px 6px 12px;
  line-height: 1;
}

.button-outline, #CartForm_CartForm .Actions #CartForm_CartForm_action_updateCart {
  background-color: transparent;
  color: #21372A;
  box-shadow: inset 0 0 0 2px #21372A;
}
.button-outline:hover, #CartForm_CartForm .Actions #CartForm_CartForm_action_updateCart:hover {
  background-color: #21372A;
  color: white;
  transition: color 0.2s ease-out, background-color 0.2s ease-out;
}
.button-outline:active, #CartForm_CartForm .Actions #CartForm_CartForm_action_updateCart:active {
  background-color: #21372A;
  color: white;
  transition: color 0.05s ease-in, background-color 0.05s ease-in;
}

.button-white {
  border-radius: 0;
  background-color: transparent;
  display: block;
  color: white;
  display: inline-block;
  font-family: "Solomon Sans SemiBold", sans-serif;
  font-size: 16px;
  letter-spacing: 2px;
  line-height: 24px;
  text-decoration: none;
  margin-bottom: 24px;
  padding-right: 24px;
  padding-left: 24px;
  padding-top: 11px;
  padding-bottom: 8px;
  text-transform: uppercase;
  box-shadow: inset 0 0 0 2px white;
  transition: color 0.2s ease-out, background-color 0.2s ease-out;
}
.button-white:hover {
  cursor: pointer;
  background-color: white;
  color: #21372A !important;
  box-shadow: none;
  transition: color 0.2s ease-out, background-color 0.2s ease-out;
}
.button-white:active {
  background-color: #21372A;
  box-shadow: none;
  color: white;
  transition: color 0.05s ease-in, background-color 0.05s ease-in;
}

.color-white,
.color-white h1, .color-white .h1,
.color-white h2, .color-white .h2,
.color-white h3, .color-white .h3,
.color-white li,
.color-white a {
  color: white !important;
  fill: white !important;
  border-color: white !important;
}

.background-primary {
  background-color: #21372A !important;
}

.margin-bottom-double {
  margin-bottom: 48px !important;
}

.margin-bottom-large {
  margin-bottom: 96px !important;
}

.margin-bottom-extra-large {
  margin-bottom: 192px !important;
}

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

.center {
  margin: auto;
}

.nav-stacked {
  text-transform: uppercase;
  font-size: 12px;
  line-height: 14.4px;
}
.nav-stacked li {
  padding: 0;
}
.nav-stacked li a {
  color: black;
  text-decoration: none;
  display: block;
  margin-bottom: 0;
  padding: 8px;
}
.nav-stacked li a:hover {
  text-decoration: underline;
}
.nav-stacked li.active a {
  font-weight: bold;
  text-decoration: underline;
}
.nav-stacked li.active ul {
  padding-left: 24px;
}
.nav-stacked li.active ul li {
  text-transform: none;
  padding: 0;
}
.nav-stacked li.active ul li a {
  font-weight: normal;
  text-decoration: none;
}
.nav-stacked li.active ul li.active a {
  font-weight: bold;
  text-decoration: underline;
}

nav {
  background: #21372A;
  text-align: center;
  padding: 16px;
}
nav ul li {
  display: inline-block;
  padding: 8px 7px 24px 7px;
}
nav ul li:first-child {
  display: none;
}
nav ul li.active {
  text-decoration: underline;
}
nav ul li a {
  letter-spacing: 2px;
  color: white;
  text-decoration: none;
  font-size: 14px;
  line-height: 20px;
}
nav ul li a:hover {
  color: white;
  text-decoration: underline;
}
nav #ShopMenu li:first-child {
  display: inline-block;
}
@media (min-width: 420px) {
  nav ul li {
    padding: 8px 16px 24px 16px;
  }
}
@media (min-width: 620px) {
  nav {
    display: flex;
  }
  nav ul {
    margin-left: auto;
    text-align: right;
  }
  nav ul li {
    padding: 16px;
  }
}
@media (min-width: 740px) {
  nav ul li:first-child {
    display: inline-block;
  }
}

/* COMPONENTS */
.share-affix {
  position: fixed;
  top: 50px;
  left: 0px;
}

.share-icon {
  background-repeat: no-repeat;
  background-image: url("images/social-icons.png");
  height: 40px;
  width: 40px;
  display: inline-block;
  text-indent: -99999px;
  margin: 2px;
  opacity: 0.9;
  filter: Alpha(Opacity=90);
}

.share-icon:hover {
  opacity: 1;
  filter: Alpha(Opacity=100);
}

.share-icon-digg {
  background-position: -526px 0;
}

.share-icon-email {
  background-position: -614px 0;
}

.share-icon-flickr {
  background-position: -261px 0;
}

.share-icon-foursquare {
  background-position: 0 0;
}

.share-icon-rss {
  background-position: -305px 0;
}

.share-icon-facebook {
  background-position: -131px 0;
}

.share-icon-twitter {
  background-position: -174px 0;
}

.share-icon-tumblr {
  background-position: -87px 0;
}

.share-icon-linkedin {
  background-position: -438px 0;
}

.share-icon-vimeo {
  background-position: -393px 0;
}

.share-icon-instagram {
  background-position: -44px 0;
}

.share-icon-pinterest {
  background-position: -349px 0;
}

.share-icon-googleplus {
  background-position: -218px 0;
}

.share-icon-in1 {
  background-position: -482px 0;
}

.share-icon-stumbleupon {
  background-position: -570px 0;
}

/**a.behance, a.delicious, a.deviantart, a.digg, a.dribbble, a.facebook, a.flickr, a.forrst, a.foursquare, a.googleplus, a.in1, a.instagram, a.lastfm, a.linkedin, a.pinterest, a.rss, a.skype, a.tumblr, a.twitter, a.vimeo, a.youtube {*/
.share-square {
  -moz-transition: all 0.2s linear 0s;
  background: url("images/social-icons.png") no-repeat scroll left top transparent;
  display: inline-block;
  height: 32px;
  line-height: 0;
  margin: 2px;
  width: 32px;
}

.share-square-behance {
  background-position: -544px -44px;
}

.share-square-behance:hover {
  background-position: -544px -77px;
}

.share-square-delicious {
  background-position: -512px -44px;
}

.share-square-delicious:hover {
  background-position: -512px -77px;
}

.share-square-deviantart {
  background-position: -480px -44px;
}

.share-square-deviantart:hover {
  background-position: -480px -77px;
}

.share-square-digg {
  background-position: -448px -44px;
}

.share-square-digg:hover {
  background-position: -448px -77px;
}

.share-square-dribbble {
  background-position: -416px -44px;
}

.share-square-dribbble:hover {
  background-position: -416px -77px;
}

.share-square-email {
  background-position: -674px -44px;
}

.share-square-email:hover {
  background-position: -674px -77px;
}

.share-square-facebook {
  background-position: -384px -44px;
}

.share-square-facebook:hover {
  background-position: -384px -77px;
}

.share-square-flickr {
  background-position: -352px -44px;
}

.share-square-flickr:hover {
  background-position: -352px -77px;
}

.share-square-forrst {
  background-position: -320px -44px;
}

.share-square-forrst:hover {
  background-position: -320px -77px;
}

.share-square-googleplus {
  background-position: -288px -44px;
}

.share-square-googleplus:hover {
  background-position: -288px -77px;
}

.share-square-in1 {
  background-position: -576px -44px;
}

.share-square-in1:hover {
  background-position: -576px -77px;
}

.share-square-instagram {
  background-position: -608px -44px;
}

.share-square-instagram:hover {
  background-position: -608px -77px;
}

.share-square-lastfm {
  background-position: -256px -44px;
}

.share-square-lastfm:hover {
  background-position: -256px -77px;
}

.share-square-linkedin {
  background-position: -224px -44px;
}

.share-square-linkedin:hover {
  background-position: -224px -77px;
}

.share-square-pinterest {
  background-position: -192px -44px;
}

.share-square-pinterest:hover {
  background-position: -192px -77px;
}

.share-square-rss {
  background-position: -160px -44px;
}

.share-square-rss:hover {
  background-position: -160px -77px;
}

.share-square-skype {
  background-position: -128px -44px;
}

.share-square-skype:hover {
  background-position: -128px -77px;
}

.share-square-stumbleupon {
  background-position: -640px -44px;
}

.share-square-stumbleupon:hover {
  background-position: -640px -77px;
}

.share-square-tumblr {
  background-position: -96px -44px;
}

.share-square-tumblr:hover {
  background-position: -96px -77px;
}

.share-square-twitter {
  background-position: -64px -44px;
}

.share-square-twitter:hover {
  background-position: -64px -77px;
}

.share-square-vimeo {
  background-position: -32px -44px;
}

.share-square-vimeo:hover {
  background-position: -32px -77px;
}

.share-square-youtube {
  background-position: 0 -44px;
}

.share-square-youtube:hover {
  background-position: 0 -77px;
}

/* Colour Variables */
/* Homepage Image Carousel */
.carousel.carousel-fade .item {
  -webkit-transition: opacity 1s ease-in-out;
  -moz-transition: opacity 1s ease-in-out;
  -ms-transition: opacity 1s ease-in-out;
  -o-transition: opacity 1s ease-in-out;
  transition: opacity 1s ease-in-out;
  opacity: 0;
}

.carousel.carousel-fade .active.item {
  opacity: 1;
  height: 200px;
}

.carousel.carousel-fade .active.left,
.carousel.carousel-fade .active.right {
  left: 0;
  z-index: 2;
  opacity: 0;
  filter: alpha(opacity=0);
}

.carousel.carousel-fade .next,
.carousel.carousel-fade .prev {
  left: 0;
  z-index: 1;
}

.carousel.carousel-fade .carousel-control {
  z-index: 3;
}

/* Featured Product Carousel */
.carousel {
  margin-bottom: 10px;
}

.carousel-item img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: auto;
  max-height: 300px;
}

@media (min-width: 576px) {
  .carousel-item img {
    max-height: 300px;
  }
}
.carousel-control-prev,
.carousel-control-next {
  width: 2.5%;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E");
}

.carousel-caption {
  text-shadow: 1px 1px 2px black;
}

.carousel-caption h3 {
  color: #ffffff;
}

.carousel .product-row {
  margin: 0 2%;
}

.carousel-product-col {
  position: relative;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
}

.carousel-product {
  margin: 0 30px;
  padding: 0 10px 0 10px;
  background-color: white;
  margin-left: auto;
  margin-right: auto;
  width: auto;
  height: auto;
  max-width: 160px;
}

.carousel-product .product-brief {
  margin: 0;
}

.carousel-product .product-brief h4.product-brief-title {
  font-size: 14px;
  line-height: 16px;
  height: 32px;
  overflow: hidden;
}

/* Basics:
	Body
	Typography
	Links
*/
body {
  background-color: white;
}

/* Override some forms */
nav.Actions {
  background: none;
}

/* Line up with JS for clicking */
.image-boxes .image-box-image {
  cursor: pointer;
}

/* Search & Header Stuff */
#SearchForm_SearchForm fieldset {
  display: flex;
}
#SearchForm_SearchForm #SearchForm_SearchForm_Search,
#SearchForm_SearchForm #SearchForm_SearchForm_action_results {
  margin: 0;
  height: 44px;
}
#SearchForm_SearchForm #SearchForm_SearchForm_Search {
  width: auto;
}

#Header {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  margin-bottom: 15px;
}

#MenuMenu {
  background-color: #21372A;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
#MenuMenu .navbar-brand {
  margin-bottom: 8px;
}
#MenuMenu .navbar-brand .logo {
  min-width: 160px;
  max-width: 540px;
  width: 30vw;
  fill: white;
}
#MenuMenu #SearchIcon {
  fill: white;
  height: 16px;
  margin-bottom: -3px;
}
#MenuMenu #SearchForm {
  margin-top: -45px;
  display: none;
  right: -30px;
  border: none;
  background: none;
}
#MenuMenu #SearchForm fieldset {
  width: 280px;
}
#MenuMenu .navbar-nav {
  width: 100%;
}
#MenuMenu .navbar-nav ul {
  margin-bottom: 0;
}
#MenuMenu .navbar-nav li a {
  text-transform: uppercase;
  font-weight: bold;
}
@media (min-width: 620px) {
  #MenuMenu .navbar-nav {
    position: relative;
  }
}
@media (min-width: 1280px) {
  #MenuMenu .navbar-nav ul {
    right: 16px;
  }
}
#MenuMenu #ShopMenu ul {
  margin-top: -7px;
}
@media (min-width: 1280px) {
  #MenuMenu #ShopMenu ul {
    margin-top: 0;
  }
}
#MenuMenu #ShopMenu li a {
  text-transform: none;
  font-weight: bold;
  letter-spacing: 0;
}

#MainMenu {
  padding-bottom: 0;
  margin-bottom: 48px;
  background: none;
}
@media (max-width: 620px) {
  #MainMenu {
    padding-left: 0px;
    padding-right: 0px;
  }
}

.has-main-image #MainMenu {
  min-height: 20vw;
}

#Footer {
  background: #21372A;
  padding-top: 24px;
  padding-bottom: 24px;
}
#Footer .pictogram {
  width: 48px;
  margin-bottom: 24px;
}

.social-links {
  margin-top: 24px;
}
.social-links li {
  border: none;
}
.social-links .social {
  width: 24px;
}

/* Generic dropdowns */
.dropdown-menu {
  padding: 10px 15px;
  display: none;
  position: absolute;
  background: white;
  border-radius: 5px;
  border: 2px solid #21372A;
  z-index: 10000;
  text-align: left;
  margin-left: -45px;
}
.dropdown-menu, .dropdown-menu a {
  color: black !important;
}

/* Main Content Areas */
.filterSubtitle {
  margin-top: -24px;
}
.filterSubtitle strong {
  font-weight: bold;
}

.clearFilterLink {
  font-size: inherit;
}

.content img.leftAlone,
.content .img-responsive {
  width: 100%;
  height: auto;
}
.content img.center {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.content table {
  width: 100% !important;
}
.content ul {
  padding-left: 20px;
}
.content ul li {
  list-style-type: disc;
}
.content ol {
  padding-left: 20px;
}
.content ol li {
  list-style-type: decimal;
}
.content p.caption {
  font-style: italic;
  font-size: 14px;
}

/* Home Page */
.HomePage h1 {
  margin-bottom: 48px;
}

/* Listing Pages
	e.g. Events/Resources/Blog
*/
.image-boxes {
  margin-bottom: 48px;
}
.image-boxes .image-box {
  height: 260px;
  height: 30vw;
}

.image-box {
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 200px;
  min-height: 25vw;
  padding: 24px 24px 0 24px;
}
.image-box .button, .image-box #CartForm_CartForm .Actions #CartForm_CartForm_action_updateCart, #CartForm_CartForm .Actions .image-box #CartForm_CartForm_action_updateCart {
  margin-right: auto;
}
.image-box a {
  text-decoration: none;
}
.image-box.center {
  padding: 0;
}
.image-box.center .button, .image-box.center #CartForm_CartForm .Actions #CartForm_CartForm_action_updateCart, #CartForm_CartForm .Actions .image-box.center #CartForm_CartForm_action_updateCart {
  margin-left: auto;
  margin-top: auto;
}
.image-box.center h1,
.image-box.center h2 {
  align-content: center;
  margin-top: 13vw;
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
  text-shadow: 0 0 6px #4f2f1c;
}
.image-box.fluid {
  height: auto;
  padding-top: 0;
  padding-bottom: 24px;
  min-height: auto;
}
.image-box.color-white {
  background-color: #21372A;
  padding-bottom: 24px;
}

.image-box-image {
  background: #21372A;
  background-size: cover;
  background-position: center center;
}
.image-box-image > a.fullLink {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
}

@media (max-width: 575px) {
  .col-sm-6.image-box {
    order: 2;
  }

  .col-sm-6.image-box-image {
    order: 1;
  }
}
.full-bleed {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Pagination */
.pagination {
  margin-top: 24px;
  margin-bottom: 24px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.pagination li.active a {
  font-weight: bold;
}
.pagination li.active a:hover {
  text-decoration: none;
}
.pagination li.disabled a {
  color: grey;
}
.pagination li.disabled a:hover {
  text-decoration: none;
}

/* Footer */
#Footer {
  margin-top: 96px;
}

/* Blog Pages, extend listing pages */
.authorDate {
  font-size: 12px;
  text-transform: uppercase;
  font-weight: bold;
  margin-top: -20px;
  margin-bottom: 0;
}

.EventsPage .authorDate, .EventsHolder .authorDate {
  font-size: 14px;
}

/* CTA */
.cta-button {
  margin-top: 15px;
  padding-top: 30px;
  border-top: 1px solid #edeed0;
}

/* Social Share */
.socialShare {
  display: block;
  height: 120px;
  margin-top: 15px;
  padding-top: 5px;
  border-top: 1px solid #edeed0;
}
.socialShare .socialite {
  display: block;
  float: left;
  width: 100px;
}
.socialShare .socialite.pinterest-pinit a {
  margin-top: 39px !important;
}

/* The Shop! */
.shopContent {
  margin-top: 48px;
}
.shopContent .image-boxes .image-box {
  height: 20vw;
}
.shopContent .image-boxes .image-box.center h1,
.shopContent .image-boxes .image-box.center h2 {
  margin-top: 9vw;
}

/* Product Search */
#SearchForm_ProductSearchForm fieldset > div {
  width: 33%;
  margin-bottom: 0;
  float: left;
}
@media (max-width: 620px) {
  #SearchForm_ProductSearchForm fieldset > div {
    width: 50%;
  }
}
#SearchForm_ProductSearchForm input,
#SearchForm_ProductSearchForm select {
  width: 100%;
}
@media (min-width: 620px) {
  #SearchForm_ProductSearchForm fieldset input.action {
    width: auto;
  }
}
@media (min-width: 1280px) {
  #SearchForm_ProductSearchForm fieldset {
    width: 80%;
  }
}
@media (max-width: 620px) {
  #SearchForm_ProductSearchForm fieldset {
    display: block;
  }
}

/* General Search */
.contentArea #SearchForm_SearchForm {
  padding-top: 15px;
}
.contentArea #SearchForm_SearchForm #Search {
  width: 60%;
  float: left;
  padding-bottom: 0;
}

.content #SearchForm_ProductSearchForm_Search {
  margin-top: 2px;
}

.content #SearchForm_ProductSearchForm_action_ProductResults {
  margin-top: 2px;
  padding-top: 9px;
  padding-bottom: 4px;
}

/* Categories / Lists */
.product-brief {
  margin-bottom: 24px;
  cursor: pointer;
  display: block;
  text-decoration: none;
}
.product-brief:hover .product-brief-image {
  border-color: #21372A;
}
.product-brief h4 {
  background: white;
  margin-top: 8px;
  margin-bottom: 4px;
  line-height: 0.9;
  letter-spacing: -0.01em;
}

.product-brief-image {
  height: 1px;
  width: auto;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  padding-bottom: 100%;
  border: 1px solid #d6e7dd;
}

.product-brief-price {
  padding: 0;
  line-height: 1;
  color: #4f2f1c;
  font-weight: bold;
  background: white;
  margin: 0;
  padding-bottom: 10px;
  height: 25px;
  font-size: 14px;
}
.product-brief-price small {
  font-weight: normal;
  font-size: 75%;
}

.quick-add-to-cart {
  width: 100%;
  height: auto;
  position: relative;
}

.quickAdd {
  position: absolute;
  right: 1px;
  top: 1px;
  z-index: 1000;
  padding-left: 10px;
  padding-top: 9px;
  font-size: 20px;
  line-height: 16px;
  width: 32px;
  height: 32px;
}

.quickAdded {
  display: none;
  position: absolute;
  padding-top: 11px;
  padding-left: 6px;
  right: 33px;
  top: 1px;
  background: white;
  height: 32px;
  padding-right: 6px;
  vertical-align: middle;
  font-size: 10px;
}

.quickAddedNumber {
  font-weight: bold;
}

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

.page-brief {
  padding: 10px 0 0;
  border: 1px solid #f3e5dd;
  background: white;
  margin-bottom: 15px;
  height: 90%;
}
.page-brief h4 {
  font-weight: bold;
  padding-left: 10px;
}
.page-brief p {
  padding-left: 10px;
  padding-right: 10px;
}
.page-brief .product-brief-price {
  background: none;
  height: auto;
}

/* Product Pages */
.Product .product-price-js {
  font-size: 18px;
}
.Product .main-image {
  margin-top: 26px;
  margin-bottom: 15px;
  width: 100%;
  border: 1px solid #d6e7dd;
}
.Product .add-to-cart {
  display: block;
  height: auto;
  min-height: 50px;
  padding-top: 7px;
}
.Product .add-to-cart fieldset,
.Product .add-to-cart #ProductForm_ProductForm_Quantity_Holdery,
.Product .add-to-cart #ProductForm_ProductForm_Quantity_Holder label,
.Product .add-to-cart .Actions,
.Product .add-to-cart .middleColumn {
  float: left;
}
.Product .add-to-cart #ProductForm_ProductForm_QuantitySelect {
  float: left;
  width: 60%;
  margin-right: 10px;
}
.Product .add-to-cart #ProductForm_ProductForm_QuantitySelect + #ProductForm_ProductForm #Quantity {
  display: none;
}
.Product .add-to-cart #ProductForm_ProductForm_Quantity_Holder label {
  padding-top: 12px;
  padding-right: 10px;
}
.Product .add-to-cart #ProductForm_ProductForm_Quantity_Holder input {
  float: left;
  width: 55px;
  margin-right: 10px;
  min-height: 44px;
}
.Product .add-to-cart .clear {
  clear: both;
}

.clearFix {
  clear: both;
  width: 100%;
}

.special {
  position: absolute;
  width: 100px;
  z-index: 1000;
  margin-top: 26px;
}

.product-row .special {
  width: 75px;
  margin-top: 0;
}

/* Cart, Checkout */
.cartLinkHidden {
  display: none;
}

#CartForm_CartForm {
  padding-bottom: 50px;
}
#CartForm_CartForm .Actions {
  width: 100%;
  text-align: right;
}
#CartForm_CartForm .Actions #CartForm_CartForm_action_updateCart {
  margin-right: 25px;
  min-height: auto;
}
#CartForm_CartForm .attribution {
  display: none;
}

.cartquantity {
  width: 66px;
}

#ApplyVoucherButton {
  float: left;
  margin-top: 10px;
}

#ApplyVoucherForm label {
  margin-top: 16px;
}
#ApplyVoucherForm .form-control {
  display: block;
}
#ApplyVoucherForm small {
  margin-top: 8px;
  display: block;
}
#ApplyVoucherForm .modal-image-barcode {
  float: right;
  max-width: 220px;
}

#OrderForm_OrderForm_BillToShippingAddress_Holder {
  display: flex;
  align-items: center;
  margin-top: 28px !important;
}
#OrderForm_OrderForm_BillToShippingAddress_Holder label {
  margin-bottom: 0 !important;
  padding-left: 8px;
}

#OrderForm_OrderForm_IsPickUp_Holder,
#OrderForm_OrderForm_IsStandingOrder_Holder,
#MemberLoginForm_LoginForm_Remember_Holder {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}
#OrderForm_OrderForm_IsPickUp_Holder input,
#OrderForm_OrderForm_IsStandingOrder_Holder input,
#MemberLoginForm_LoginForm_Remember_Holder input {
  width: 26px;
  height: 26px;
  margin: 0;
}
#OrderForm_OrderForm_IsPickUp_Holder label,
#OrderForm_OrderForm_IsStandingOrder_Holder label,
#MemberLoginForm_LoginForm_Remember_Holder label {
  margin-bottom: 0 !important;
  padding-left: 8px;
}

.flatfeeshippingmodifierfield_multiple {
  margin-bottom: 0;
}

#OrderForm_OrderForm_Modifiers_FlatFeeShippingModification {
  display: none;
}

.order-details > h3 {
  height: 15px;
}

#OrderForm_OrderForm {
  padding-bottom: 30px;
}
#OrderForm_OrderForm .payment-details {
  height: 1px;
  overflow: hidden;
}
#OrderForm_OrderForm .subsInputs {
  display: flex;
}
#OrderForm_OrderForm .subsLabel {
  margin-right: 30px;
  align-self: center;
}

.checkout .personal-details div .CompositeField:last-child {
  float: right;
  margin-right: 0;
  padding-right: 0;
}
.checkout .personal-details div .CompositeField:last-child p.alert {
  padding-right: 10px;
  margin-top: 0;
  max-width: 276px;
}

.subsCheckRadios input.radio {
  margin: 0 5px;
}

/* Form field validation states */
.requiredField .error {
  border-color: red;
}
.requiredField .error.message {
  color: red;
  font-weight: bold;
  padding-top: 5px;
  display: block;
}

a.ui-state-default {
  margin-bottom: 0;
}

.requiredField > label::after,
.requiredField > legend::after {
  content: " (required)";
  font-size: 0.75em;
}

.content input.text {
  width: 100%;
}

#CartForm_CartForm .table {
  margin-bottom: 20px;
}

.free-shipping-alert {
  min-height: 1em;
  margin-right: 10px;
  color: #21372A;
}

.field.pickupordermodification {
  margin: 0;
}

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

/* hide payment details dropdown */
.payment-details.hidden {
  display: none;
}

/* Voucher-related Styles */
form.order-form {
  padding-bottom: 0;
  margin-bottom: 0;
}

.voucher-fields {
  float: left;
}

.field.voucher_ {
  margin-bottom: 0;
}

.field.voucher_.loading-currently {
  opacity: 0.5;
  filter: alpha(opacity=50);
}

img.voucher-barcode-image {
  float: left;
  max-width: 220px;
}

#remove-voucher {
  margin: 10px 0 0 0;
  min-height: auto;
}

.remainingVoucherBalance {
  color: gray;
  margin: 10px 0 0 0;
}

button.accordion-button {
  margin: 8px 0;
  padding: 0;
  background-color: transparent;
  color: #21372A;
  font-size: 18px;
}

button.accordion-button:hover {
  box-shadow: none;
}

button.accordion-button:hover span {
  text-decoration: underline;
}

button.accordion-button .arrow {
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid black;
}

button.accordion-button.collapsed .arrow {
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid black;
  border-right: none;
}

#LoginMenu {
  width: 265px;
}
#LoginMenu #ForgotPassword {
  margin: 0;
}

.field.checkbox {
  padding: 0;
}

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