/* $grid-slot-gap--mobile: 20px; */
.grid-slots-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.grid-container--vertically-centered .grid-slots-wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.grid-container.reverse .grid-slots-wrapper {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -ms-flex-flow: row-reverse wrap;
      flex-flow: row-reverse wrap;
}

.grid-slot {
  width: 100%;
}

.grid-box {
  clear: both;
  overflow: visible;
  position: relative;
  padding-right: 0;
}
.grid-box + .grid-box {
  margin-top: 44px;
}

/*custom styles*/
/*@mixin bg-color($bgcolor: $brand-primary, $textcolor: $default-color) {
  background-color: $bgcolor;
  $default-color:$textcolor;
  padding: 2.5rem;
}*/
.grid-container.shadow, .grid-container .shadow {
  -webkit-box-shadow: 0 0 2em rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 2em rgba(0, 0, 0, 0.3);
  padding: 2em;
}
.grid-container .grid-slot.shadow {
  background-color: #FFF;
}
.grid-container .grid-slot.shadow > .grid-boxes-wrapper {
  /*padding: 2em;*/
}
.grid-container .grid-slot.shadow > .grid-boxes-wrapper > .grid-box-image {
  margin: -2em;
}
.grid-container .grid-slot.shadow > .grid-boxes-wrapper > .grid-box-image:not(:last-child) {
  margin-bottom: 2em;
}
.grid-container .grid-box.shadow {
  background-color: #FFF;
  padding: 2em;
}

.grid-container {
  margin: 3rem auto;
}
.grid-container[class*=bg-] {
  background-color: var(--brand-primary);
  padding: 3rem;
  margin-left: -3rem;
  margin-right: -3rem;
  margin-top: 0;
  margin-bottom: 0;
  width: auto;
}
.grid-container.bg-gradient, .grid-container .bg-gradient {
  background: linear-gradient(108deg, var(--brand-accent) 70%, var(--brand-primary) 100%);
}
.grid-container.bg-white, .grid-container .bg-white {
  background-color: #FFFFFF;
}
.grid-container.bg-dark, .grid-container .bg-dark {
  background-color: var(--brand-secondary);
  color: #FFFFFF;
  /** {color: #FFFFFF}*/
}
.grid-container.bg-color, .grid-container .bg-color, .grid-container.bg-accent, .grid-container .bg-accent {
  background-color: var(--brand-accent);
}
.grid-container.bg-primary, .grid-container .bg-primary {
  background-color: var(--brand-primary);
}
.grid-container[class*=bg-] .shadow, .grid-container [class*=bg-] .shadow {
  color: initial;
}
.grid-container .grid-slot[class*=bg-], .grid-container .grid-slot.shadow {
  padding: 2rem;
}
@media (min-width: 600px) {
  .grid-slot.grid-slot-1d2 {
    margin-top: 0;
  }
  .grid-slot-1d2 {
    width: calc(50% - 10px);
  }
  .grid-slot-1d3 {
    width: calc(50% - 10px);
  }
  .grid-slot-1d4 {
    width: calc(50% - 10px);
  }
}
@media (min-width: 600px) and (max-width: 899px) {
  .grid-slot-1d3:not(:last-child) {
    margin-bottom: 44px;
  }
}
@media (min-width: 900px) {
  .grid-slot-1d3 {
    width: calc(33.3333333333% - 20px);
  }
  .grid-container-c-2d3-1d3 .grid-slot-1d3, .grid-container-c-1d3-2d3 .grid-slot-1d3 {
    width: calc(33.3333333333% - 15px);
  }
  .grid-slot-2d3 {
    width: calc(66.6666666667% - 15px);
  }
}
@media (min-width: 1200px) {
  .grid-slot-1d2 {
    width: calc(50% - 15px);
  }
  .grid-slot-1d4 {
    width: calc(25% - 22.5px);
  }
  .grid-container[class*=bg-] {
    padding: 3rem calc((100vw - 1200px + 5rem) / 2);
    margin-left: calc((1200px - 100vw - 5rem) / 2);
    margin-right: calc((1200px - 100vw - 5rem) / 2);
  }
}
@media (max-width: 599px) {
  .grid-slot:not(:first-child) {
    margin-top: 44px;
  }
}