/* borders */
@media (min-width: 576px) {
  .border-sm-top {
    border-top: 2px solid !important;
  }
  .border-sm-right {
    border-right: 2px solid !important;
  }
  .border-sm-bottom {
    border-bottom: 2px solid !important;
  }
  .border-sm-left {
    border-left: 2px solid !important;
  }
  .border-sm-top-0 {
    border-top: 0 !important;
  }
  .border-sm-right-0 {
    border-right: 0 !important;
  }
  .border-sm-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-sm-left-0 {
    border-left: 0 !important;
  }
  .border-sm-x {
    border-left: 2px solid !important;
    border-right: 2px solid !important;
  }
  .border-sm-y {
    border-top: 2px solid !important;
    border-bottom: 2px solid !important;
  }
  .border-sm {
    border-top: 2px solid !important;
    border-bottom: 2px solid !important;
    border-left: 2px solid!important;
    border-right: 2px solid !important;
  }
  .border-sm-0 {
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }
}

@media (min-width: 768px) {
  .border-md-top {
    border-top: 2px solid !important;
  }
  .border-md-right {
    border-right: 2px solid !important;
  }
  .border-md-bottom {
    border-bottom: 2px solid !important;
  }
  .border-md-left {
    border-left: 2px solid !important;
  }
  .border-md-top-0 {
    border-top: 0 !important;
  }
  .border-md-right-0 {
    border-right: 0 !important;
  }
  .border-md-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-md-left-0 {
    border-left: 0 !important;
  }
  .border-md-x {
    border-left: 2px solid !important;
    border-right: 2px solid !important;
  }
  .border-md-y {
    border-top: 2px solid !important;
    border-bottom: 2px solid !important;
  }
  .border-md {
    border-top: 2px solid !important;
    border-bottom: 2px solid !important;
    border-left: 2px solid !important;
    border-right: 2px solid !important;
  }
  .border-md-0 {
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }
}

@media (min-width: 992px) {
  .border-lg-top {
    border-top: 2px solid !important;
  }
  .border-lg-right {
    border-right: 2px solid !important;
  }
  .border-lg-bottom {
    border-bottom: 2px solid !important;
  }
  .border-lg-left {
    border-left: 2px solid !important;
  }
  .border-lg-top-0 {
    border-top: 0 !important;
  }
  .border-lg-right-0 {
    border-right: 0 !important;
  }
  .border-lg-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-lg-left-0 {
    border-left: 0 !important;
  }
  .border-lg-x {
    border-left: 2px solid !important;
    border-right: 2px solid !important;
  }
  .border-lg-y {
    border-top: 2px solid !important;
    border-bottom: 2px solid !important;
  }
  .border-lg {
    border-top: 2px solid !important;
    border-bottom: 2px solid !important;
    border-left: 2px solid !important;
    border-right: 2px solid !important;
  }
  .border-lg-0 {
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }
}

@media (min-width: 1200px) {
  .border-xl-top {
    border-top: 2px solid !important;
  }
  .border-xl-right {
    border-right: 2px solid !important;
  }
  .border-xl-bottom {
    border-bottom: 2px solid !important;
  }
  .border-xl-left {
    border-left: 2px solid !important;
  }
  .border-xl-top-0 {
    border-top: 0 !important;
  }
  .border-xl-right-0 {
    border-right: 0 !important;
  }
  .border-xl-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-xl-left-0 {
    border-left: 0 !important;
  }
  .border-xl-x {
    border-left: 2px solid !important;
    border-right: 2px solid !important;
  }
  .border-xl-y {
    border-top: 2px solid !important;
    border-bottom: 2px solid !important;
  }
  .border-xl {
    border-top: 2px solid !important;
    border-bottom: 2px solid !important;
    border-left: 2px solid !important;
    border-right: 2px solid !important;
  }
  .border-xl-0 {
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }
}

/* spacing */
@media (min-width: 576px) {
  .pe-sm-0 {
    padding-right: 0;
  }
  .pe-sm-8 {
    padding-right: 6rem;
  }
  .ps-sm-0 {
    padding-left: 0;
  }
  .ps-sm-8 {
    padding-left: 6rem;
  }
}
@media (min-width: 768px) {
  .pe-md-0 {
    padding-right: 0;
  }
  .pe-md-8 {
    padding-right: 6rem;
  }
  .ps-md-0 {
    padding-left: 0;
  }
  .ps-md-8 {
    padding-left: 6rem;
  }
}
@media (min-width: 992px) {
  .pe-lg-0 {
    padding-right: 0;
  }
  .pe-lg-8 {
    padding-right: 6rem;
  }
  .ps-lg-0 {
    padding-left: 0;
  }
  .ps-lg-8 {
    padding-left: 6rem;
  }
}
@media (min-width: 1200px) {
  .pe-xl-0 {
    padding-right: 0;
  }
  .pe-xl8 {
    padding-right: 6rem;
  }
  .ps-xl-0 {
    padding-left: 0;
  }
  .ps-xl-8 {
    padding-left: 6rem;
  }
}

.my-none {
  margin-top: 0;
  margin-bottom: 0;
}
.mt-none {
  margin-top: 0;
}
.mb-none {
  margin-bottom: 0;
}
.my-small {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.mt-small {
  margin-top: 3rem;
}
.mb-small {
  margin-bottom: 3rem;
}
.my-big {
  margin-top: 150px;
  margin-bottom: 150px;
}
.mt-big {
  margin-top: 150px;
}
.mb-big {
  margin-bottom: 150px;
}
.py-small {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.pt-small {
  padding-top: 3rem;
}
.py-small {
  padding-bottom: 3rem;
}
.py-big {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.pt-big {
  padding-top: 6rem;
}
.py-big {
  padding-bottom: 6rem;
}
.ps-8 {
  padding-left: 6rem;
}
.pe-8 {
  padding-right: 6rem;
}

@media (max-width: 992px) {
  .my-small {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  .mt-small {
    margin-top: 2rem;
  }
  .mb-small {
    margin-bottom: 2rem;
  }
  .my-big {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
  .mt-big {
    margin-top: 4rem;
  }
  .mb-big {
    margin-bottom: 4rem;
  }
  .py-small {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .pt-small {
    padding-top: 2rem;
  }
  .py-small {
    padding-bottom: 2rem;
  }
  .py-big {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .pt-big {
    padding-top: 4rem;
  }
  .py-big {
    padding-bottom: 4rem;
  }
  .ps-8 {
    padding-left: 4rem;
  }
  .pe-8 {
    padding-right: 4rem;
  }
}

/* grid */
.grid {
  display: grid;
}
.gap-30 {
  grid-gap: 30px;
}
@media (min-width: 768px) {
  .grid-md {
    display: grid;
  }
  .grid-md-col-2 {
    grid-template-columns: 1fr 1fr;
  }
  .grid-md-col-1 {
    grid-template-columns: 1fr;
  }
  .grid-md-gap-30 {
    gap: 30px;
  }
}
@media (min-width: 992px) {
  .grid-lg-col-2 {
    grid-template-columns: 1fr 1fr;
  }
  .grid-lg-col-4-6 {
    grid-template-columns: .75fr 1fr;
  }
  .grid-lg-col-6-4 {
    grid-template-columns: 1fr .75fr;
  }
  .grid-lg-col-3-7 {
    grid-template-columns: .25fr 1fr;
  }
  .grid-lg-col-7-3 {
    grid-template-columns: 1fr .25fr;
  }
  .grid-lg-gap-30 {
    gap: 30px;
  }
}
@media (max-width: 767px) {
  .grid-sm {
    display: grid;
  }
  .grid-sm-col-1 {
    grid-template-columns: 1fr;
  }
  .grid-sm-gap-30 {
    gap: 30px;
  }
}