/* Display */
.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-grid {
  display: grid !important;
}

.d-inline-grid {
  display: inline-grid !important;
}

@media (max-width: 1140px) {
  .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-grid {
    display: grid !important;
  }

  .d-md-inline-grid {
    display: inline-grid !important;
  }
}

@media (max-width: 720px) {
  .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-grid {
    display: grid !important;
  }

  .d-sm-inline-grid {
    display: inline-grid !important;
  }
}

/* Order */
.order-sm-1,
.order-sm-2,
.order-sm-3,
.order-sm-4,
.order-sm-5,
.order-sm-6 {
  order: inherit;
}

@media (max-width: 1140px) {
  .order-md-1 {
    order: 1;
  }

  .order-md-2 {
    order: 2;
  }

  .order-md-3 {
    order: 3;
  }
}

@media (max-width: 720px) {
  .order-sm-1 {
    order: 1;
  }

  .order-sm-2 {
    order: 2;
  }

  .order-sm-3 {
    order: 3;
  }
}

/* Justify & align */
.justify-content-start {
  justify-content: start !important;
}

.justify-content-end {
  justify-content: end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-stretch {
  justify-content: stretch !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.justify-content-evenly {
  justify-content: space-evenly !important;
}

.justify-items-start {
  justify-items: start !important;
}

.justify-items-end {
  justify-items: end !important;
}

.justify-items-center {
  justify-items: center !important;
}

.justify-items-stretch {
  justify-items: stretch !important;
}

.justify-self-start {
  justify-self: start !important;
}

.justify-self-end {
  justify-self: end !important;
}

.justify-self-center {
  justify-self: center !important;
}

.justify-self-stretch {
  justify-self: stretch !important;
}

.align-content-start {
  align-content: start !important;
}

.align-content-end {
  align-content: end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-evenly {
  align-content: space-evenly !important;
}

.align-items-start {
  align-items: start !important;
}

.align-items-end {
  align-items: end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-self-start {
  align-self: start !important;
}

.align-self-end {
  align-self: end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

/* Padding */
.px {
  padding-left: var(--width-px) !important;
  padding-right: var(--width-px) !important;
}

.py-md {
  padding-top: var(--height-py-md) !important;
  padding-bottom: var(--height-py-md) !important;
}

.pt-md {
  padding-top: var(--height-py-md) !important;
}

.pb-md {
  padding-bottom: var(--height-py-md) !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0,
.py-0 {
  padding-top: 0 !important;
}

.pr-0,
.px-0 {
  padding-right: 0 !important;
}

.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
  padding-left: 0 !important;
}

.p-50 {
  padding: 50px !important;
}

.pt-50,
.py-50 {
  padding-top: 50px !important;
}

.pr-50,
.px-50 {
  padding-right: 50px !important;
}

.pb-50,
.py-50 {
  padding-bottom: 50px !important;
}

.pl-50,
.px-50 {
  padding-left: 50px !important;
}

.p-65 {
  padding: 65px !important;
}

.pt-65,
.py-65 {
  padding-top: 65px !important;
}

.pr-65,
.px-65 {
  padding-right: 65px !important;
}

.pb-65,
.py-65 {
  padding-bottom: 65px !important;
}

.pl-65,
.px-65 {
  padding-left: 65px !important;
}

@media (max-width: 1140px) {
  .pt-md-0 {
    padding-top: 0 !important;
  }

  .py-md-md {
    padding-top: var(--height-py-md) !important;
    padding-bottom: var(--height-py-md) !important;
  }

  .pt-md-md {
    padding-top: var(--height-py-md) !important;
  }

  .pb-md-md {
    padding-bottom: var(--height-py-md) !important;
  }
}

@media (max-width: 720px) {
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }

  .py-sm-md {
    padding-top: var(--height-py-md) !important;
    padding-bottom: var(--height-py-md) !important;
  }

  .pt-sm-md {
    padding-top: var(--height-py-md) !important;
  }

  .pb-sm-md {
    padding-bottom: var(--height-py-md) !important;
  }
}

/* Margin */
.m-0 {
  margin: 0 !important;
}

.mt-0,
.my-0 {
  margin-top: 0 !important;
}

.mr-0,
.mx-0 {
  margin-right: 0 !important;
}

.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
  margin-left: 0 !important;
}

.m-auto {
  margin: auto !important;
}

.mt-auto,
.my-auto {
  margin-top: auto !important;
}

.mr-auto,
.mx-auto {
  margin-right: auto !important;
}

.mb-auto,
.my-auto {
  margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
  margin-left: auto !important;
}

/* Position */
.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.position-fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

/* Text */
.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

.tt-up {
  text-transform: uppercase !important;
}

.tt-cap {
  text-transform: capitalize !important;
}

@media (max-width: 720px) {
  .text-sm-left {
    text-align: left !important;
  }

  .text-sm-right {
    text-align: right !important;
  }

  .text-sm-center {
    text-align: center !important;
  }
}

/* Background */
.bg-position-center {
  background-position: 50% 50% !important;
}

.bg-size-cover {
  background-size: cover !important;
}

.bg-attachment-fixed {
  background-attachment: fixed !important;
}

.bg-attachment-scroll {
  background-attachment: scroll !important;
}

@media (max-width: 720px) {
  .bg-sm-attachment-scroll {
    background-attachment: scroll !important;
  }
}

/* Sizing */
.w-100 {
  width: 100% !important;
}

.mw-100 {
  max-width: 100% !important;
}

.h-100 {
  height: 100% !important;
}

.mh-100 {
  max-height: 100% !important;
}