/* Colours */
/* Fluid heading sizes - set your min/max sizes and you're done! */
/* Some device sizes to use with min-width */
/* adjusted breakpoints for above */
/* 100% widths look better than "Snapping" IMO */
/* Utility */
/* Additional Spacers -- don't think you'll need more than 7, but if you do -- maybe just use a custom class  :)  */
.card {
  --bs-card-spacer-y: 1em;
  --bs-card-spacer-x: 1em;
  --bs-card-title-spacer-y: 0.5em;
  --bs-card-border-width: 1px;
  --bs-card-border-color: var(--bs-border-color-translucent);
  --bs-card-border-radius: 0.375rem;
  --bs-card-box-shadow: ;
  --bs-card-inner-border-radius: calc(0.375rem - 1px);
  --bs-card-cap-padding-y: 0.5em;
  --bs-card-cap-padding-x: 1em;
  --bs-card-cap-bg: rgba(0, 0, 0, 0.03);
  --bs-card-cap-color: ;
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: #fff;
  --bs-card-img-overlay-padding: 1em;
  --bs-card-group-margin: 0.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-height);
  word-wrap: break-word;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius: var(--bs-card-border-radius); }
  .card > hr {
    margin-right: 0;
    margin-left: 0; }
  .card > .list-group {
    border-top: inherit;
    border-bottom: inherit; }
    .card > .list-group:first-child {
      border-top-width: 0;
      border-top-left-radius: var(--bs-card-inner-border-radius);
      border-top-right-radius: var(--bs-card-inner-border-radius); }
    .card > .list-group:last-child {
      border-bottom-width: 0;
      border-bottom-right-radius: var(--bs-card-inner-border-radius);
      border-bottom-left-radius: var(--bs-card-inner-border-radius); }
  .card > .card-header + .list-group,
  .card > .list-group + .card-footer {
    border-top: 0; }

.card-body {
  flex: 1 1 auto;
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
  color: var(--bs-card-color); }

.card-title {
  margin-bottom: var(--bs-card-title-spacer-y); }

.card-subtitle {
  margin-top: calc(-.5 * var(--bs-card-title-spacer-y));
  margin-bottom: 0; }

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

.card-link + .card-link {
  margin-left: var(--bs-card-spacer-x); }

.card-header {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  margin-bottom: 0;
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color); }
  .card-header:first-child {
    border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0; }

.card-footer {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); }
  .card-footer:last-child {
    border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius); }

.card-header-tabs {
  margin-right: calc(-.5 * var(--bs-card-cap-padding-x));
  margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
  margin-left: calc(-.5 * var(--bs-card-cap-padding-x));
  border-bottom: 0; }
  .card-header-tabs .nav-link.active {
    background-color: var(--bs-card-bg);
    border-bottom-color: var(--bs-card-bg); }

.card-header-pills {
  margin-right: calc(-.5 * var(--bs-card-cap-padding-x));
  margin-left: calc(-.5 * var(--bs-card-cap-padding-x)); }

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--bs-card-img-overlay-padding);
  border-radius: var(--bs-card-inner-border-radius); }

.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%; }

.card-img,
.card-img-top {
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius); }

.card-img,
.card-img-bottom {
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius); }

.card-group > .card {
  margin-bottom: var(--bs-card-group-margin); }

@media (min-width: 641px) {
  .card-group {
    display: flex;
    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:not(:last-child) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0; }
        .card-group > .card:not(:last-child) .card-img-top,
        .card-group > .card:not(:last-child) .card-header {
          border-top-right-radius: 0; }
        .card-group > .card:not(:last-child) .card-img-bottom,
        .card-group > .card:not(:last-child) .card-footer {
          border-bottom-right-radius: 0; }
      .card-group > .card:not(:first-child) {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0; }
        .card-group > .card:not(:first-child) .card-img-top,
        .card-group > .card:not(:first-child) .card-header {
          border-top-left-radius: 0; }
        .card-group > .card:not(:first-child) .card-img-bottom,
        .card-group > .card:not(:first-child) .card-footer {
          border-bottom-left-radius: 0; } }

.banner {
  position: relative;
  padding: 150px 0 150px 0; }
  @media (min-width: 770px) {
    .banner {
      padding: 100px 0 100px 0; } }
  .banner img,
  .banner picture {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover;
    object-position: bottom;
    z-index: -1;
    position: absolute; }
    @media (min-width: 770px) {
      .banner img,
      .banner picture {
        height: 600px !important;
        object-position: top right; } }
  .banner .banner-content {
    color: white;
    text-align: center; }
    @media (min-width: 770px) {
      .banner .banner-content {
        text-align: left; } }
    .banner .banner-content .h1,
    .banner .banner-content h1 {
      text-shadow: 0px 3px 6px #00000029;
      margin-bottom: 0;
      color: white; }
    .banner .banner-content .h3 {
      color: white;
      margin-bottom: 0; }

.promotions {
  padding: 100px 0; }
  .promotions .top {
    color: #000000; }
  .promotions .card {
    border: solid 1px #c3c3c3;
    border-radius: 5px;
    width: 100%; }
    .promotions .card .img-wrap {
      border-radius: 5px;
      height: 333px;
      overflow: hidden;
      position: relative; }
      .promotions .card .img-wrap span {
        position: absolute;
        top: 20px;
        left: 15px;
        background-color: #0e5ecc;
        color: white;
        font-size: 23px;
        font-weight: 700;
        padding: 2px 1.5rem; }
      .promotions .card .img-wrap picture,
      .promotions .card .img-wrap img {
        border-radius: 5px;
        object-fit: cover;
        object-position: center;
        width: 100%;
        height: 333px;
        max-width: 100% !important;
        transition: all 0.2s linear; }
      .promotions .card .img-wrap:hover picture,
      .promotions .card .img-wrap:hover img {
        transform: scale(1.05, 1.05);
        transition: all 0.2s linear; }
    .promotions .card .card-body {
      padding: 2rem 1.5rem 2rem 1.5rem;
      background-color: #f8f8f8;
      border-radius: 5px; }
      .promotions .card .card-body h5 {
        font-size: 20px;
        font-family: "Fira Sans", sans-serif;
        font-weight: 700;
        color: #000000;
        margin-bottom: 1rem; }
        .promotions .card .card-body h5 span {
          color: #0e5ecc; }
      .promotions .card .card-body .h5 {
        font-size: 20px;
        font-family: "Fira Sans", sans-serif;
        font-weight: 400;
        color: #000000;
        margin-bottom: 1rem; }
      .promotions .card .card-body .h6 {
        font-size: 16px;
        font-family: "Fira Sans", sans-serif;
        color: #333333;
        font-weight: 400;
        margin-bottom: 1rem; }
      .promotions .card .card-body a {
        color: #4b5557;
        font-size: 14px;
        font-family: "Fira Sans", sans-serif;
        font-weight: 700; }
        .promotions .card .card-body a:hover {
          color: #0e5ecc;
          text-decoration: underline; }
  .promotions .bottom {
    color: #000000; }
    .promotions .bottom .h4 {
      font-family: "Fira Sans", sans-serif;
      font-weight: 400; }
      .promotions .bottom .h4 a {
        color: #000000;
        text-decoration: underline; }
        .promotions .bottom .h4 a:hover {
          color: #0e5ecc; }
