/* basic box model */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* row / columns */
.row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}

.row > * {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding-left: 15px;
  padding-right: 15px;
}

/* gutter utility used on services row */
.gx-4 {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}
.gx-4 > * {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

/* display */
.d-flex {
  display: flex !important;
}

/* ordering */
.order-2 {
  order: 2 !important;
}

/* spacing */
.mb-3 {
  margin-bottom: 1rem !important;
}
.mt-2 {
  margin-top: 0.5rem !important;
}
.mt-3 {
  margin-top: 1rem !important;
}
.mt-5 {
  margin-top: 3rem !important;
}
.mt-20 {
  margin-top: 20px !important;
}

/* text / color */
.text-center {
  text-align: center !important;
}
.text-white {
  color: #fff !important;
}
.text-light {
  color: #f8f9fa !important;
}

/* font size */
.fs-6 {
  font-size: 1rem !important;
}

/* image */
.img-fluid {
  max-width: 100%;
  height: auto;
}

/* lg padding-end */
@media (min-width: 992px) {
  .pe-lg-5 {
    padding-right: 3rem !important;
  }
}

/* responsive grid */
.col-sm-12,
.col-md-6,
.col-md-12,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-12,
.col-xl-3,
.col-xl-5,
.col-xl-6,
.col-xl-7 {
  flex: 0 0 auto;
}

@media (min-width: 576px) {
  .col-sm-12 { width: 100%; }
}

@media (min-width: 768px) {
  .col-md-6  { width: 50%; }
  .col-md-12 { width: 100%; }
}

@media (min-width: 992px) {
  .col-lg-4  { width: 33.333333%; }
  .col-lg-5  { width: 41.666667%; }
  .col-lg-6  { width: 50%; }
  .col-lg-7  { width: 58.333333%; }
  .col-lg-12 { width: 100%; }
}

@media (min-width: 1200px) {
  .col-xl-3 { width: 25%; }
  .col-xl-5 { width: 41.666667%; }
  .col-xl-6 { width: 50%; }
  .col-xl-7 { width: 58.333333%; }
}

.justify-content-center {
    justify-content: center !important;
}

.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(var(--bs-gutter-y) * -1);
    margin-right: calc(var(--bs-gutter-x) * -.5);
    margin-left: calc(var(--bs-gutter-x) * -.5);
}