/* Contains display, alignment, flex, grid, width, height, margin, padding settings */

/*

            dddddddd
            d::::::d  iiii                                       lllllll
            d::::::d i::::i                                      l:::::l
            d::::::d  iiii                                       l:::::l
            d:::::d                                              l:::::l
    ddddddddd:::::d iiiiiii     ssssssssss   ppppp   ppppppppp    l::::l   aaaaaaaaaaaaayyyyyyy           yyyyyyy
  dd::::::::::::::d i:::::i   ss::::::::::s  p::::ppp:::::::::p   l::::l   a::::::::::::ay:::::y         y:::::y
 d::::::::::::::::d  i::::i ss:::::::::::::s p:::::::::::::::::p  l::::l   aaaaaaaaa:::::ay:::::y       y:::::y
d:::::::ddddd:::::d  i::::i s::::::ssss:::::spp::::::ppppp::::::p l::::l            a::::a y:::::y     y:::::y
d::::::d    d:::::d  i::::i  s:::::s  ssssss  p:::::p     p:::::p l::::l     aaaaaaa:::::a  y:::::y   y:::::y
d:::::d     d:::::d  i::::i    s::::::s       p:::::p     p:::::p l::::l   aa::::::::::::a   y:::::y y:::::y
d:::::d     d:::::d  i::::i       s::::::s    p:::::p     p:::::p l::::l  a::::aaaa::::::a    y:::::y:::::y
d:::::d     d:::::d  i::::i ssssss   s:::::s  p:::::p    p::::::p l::::l a::::a    a:::::a     y:::::::::y
d::::::ddddd::::::ddi::::::is:::::ssss::::::s p:::::ppppp:::::::pl::::::la::::a    a:::::a      y:::::::y
 d:::::::::::::::::di::::::is::::::::::::::s  p::::::::::::::::p l::::::la:::::aaaa::::::a       y:::::y
  d:::::::::ddd::::di::::::i s:::::::::::ss   p::::::::::::::pp  l::::::l a::::::::::aa:::a     y:::::y
   ddddddddd   dddddiiiiiiii  sssssssssss     p::::::pppppppp    llllllll  aaaaaaaaaa  aaaa    y:::::y
                                              p:::::p                                         y:::::y
                                              p:::::p                                        y:::::y
                                             p:::::::p                                      y:::::y
                                             p:::::::p                                     y:::::y
                                             p:::::::p                                    yyyyyyy
                                             ppppppppp

Display

*/

.d-grid {
  display: grid !important;
}

.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-flex {
  display: -ms-flexbox !important;
  display: flex !important;
}

.d-inline-flex {
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
}

@media (min-width: 576px) {
  .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-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

@media (min-width: 768px) {
  .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-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-md-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

@media print {
  .d-print-none {
    display: none !important;
  }
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-print-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

/*

                  lllllll   iiii                                                                                                               tttt
                  l:::::l  i::::i                                                                                                           ttt:::t
                  l:::::l   iiii                                                                                                            t:::::t
                  l:::::l                                                                                                                   t:::::t
  aaaaaaaaaaaaa    l::::l iiiiiii    ggggggggg   gggggnnnn  nnnnnnnn       mmmmmmm    mmmmmmm       eeeeeeeeeeee    nnnn  nnnnnnnn    ttttttt:::::ttttttt
  a::::::::::::a   l::::l i:::::i   g:::::::::ggg::::gn:::nn::::::::nn   mm:::::::m  m:::::::mm   ee::::::::::::ee  n:::nn::::::::nn  t:::::::::::::::::t
  aaaaaaaaa:::::a  l::::l  i::::i  g:::::::::::::::::gn::::::::::::::nn m::::::::::mm::::::::::m e::::::eeeee:::::een::::::::::::::nn t:::::::::::::::::t
           a::::a  l::::l  i::::i g::::::ggggg::::::ggnn:::::::::::::::nm::::::::::::::::::::::me::::::e     e:::::enn:::::::::::::::ntttttt:::::::tttttt
    aaaaaaa:::::a  l::::l  i::::i g:::::g     g:::::g   n:::::nnnn:::::nm:::::mmm::::::mmm:::::me:::::::eeeee::::::e  n:::::nnnn:::::n      t:::::t
  aa::::::::::::a  l::::l  i::::i g:::::g     g:::::g   n::::n    n::::nm::::m   m::::m   m::::me:::::::::::::::::e   n::::n    n::::n      t:::::t
 a::::aaaa::::::a  l::::l  i::::i g:::::g     g:::::g   n::::n    n::::nm::::m   m::::m   m::::me::::::eeeeeeeeeee    n::::n    n::::n      t:::::t
a::::a    a:::::a  l::::l  i::::i g::::::g    g:::::g   n::::n    n::::nm::::m   m::::m   m::::me:::::::e             n::::n    n::::n      t:::::t    tttttt
a::::a    a:::::a l::::::li::::::ig:::::::ggggg:::::g   n::::n    n::::nm::::m   m::::m   m::::me::::::::e            n::::n    n::::n      t::::::tttt:::::t
a:::::aaaa::::::a l::::::li::::::i g::::::::::::::::g   n::::n    n::::nm::::m   m::::m   m::::m e::::::::eeeeeeee    n::::n    n::::n      tt::::::::::::::t
 a::::::::::aa:::al::::::li::::::i  gg::::::::::::::g   n::::n    n::::nm::::m   m::::m   m::::m  ee:::::::::::::e    n::::n    n::::n        tt:::::::::::tt
  aaaaaaaaaa  aaaalllllllliiiiiiii    gggggggg::::::g   nnnnnn    nnnnnnmmmmmm   mmmmmm   mmmmmm    eeeeeeeeeeeeee    nnnnnn    nnnnnn          ttttttttttt
                                              g:::::g
                                  gggggg      g:::::g
                                  g:::::gg   gg:::::g
                                   g::::::ggg:::::::g
                                    gg:::::::::::::g
                                      ggg::::::ggg
                                         gggggg

Alignment

*/

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

@media (min-width: 576px) {
    .text-sm-left {
        text-align: left !important;
    }
    .text-sm-right {
        text-align: right !important;
    }
    .text-sm-center {
        text-align: center !important;
    }
}

@media (min-width: 768px) {
    .text-md-left {
      text-align: left !important;
    }
    .text-md-right {
      text-align: right !important;
    }
    .text-md-center {
      text-align: center !important;
    }
}

@media (min-width: 992px) {
    .text-lg-left {
      text-align: left !important;
    }
    .text-lg-right {
      text-align: right !important;
    }
    .text-lg-center {
      text-align: center !important;
    }
}

@media (min-width: 1200px) {
    .text-xl-left {
      text-align: left !important;
    }
    .text-xl-right {
      text-align: right !important;
    }
    .text-xl-center {
      text-align: center !important;
    }
}

/*

    ffffffffffffffff  lllllll
   f::::::::::::::::f l:::::l
  f::::::::::::::::::fl:::::l
  f::::::fffffff:::::fl:::::l
  f:::::f       ffffff l::::l     eeeeeeeeeeee  xxxxxxx      xxxxxxx
  f:::::f              l::::l   ee::::::::::::ee x:::::x    x:::::x
 f:::::::ffffff        l::::l  e::::::eeeee:::::eex:::::x  x:::::x
 f::::::::::::f        l::::l e::::::e     e:::::e x:::::xx:::::x
 f::::::::::::f        l::::l e:::::::eeeee::::::e  x::::::::::x
 f:::::::ffffff        l::::l e:::::::::::::::::e    x::::::::x
  f:::::f              l::::l e::::::eeeeeeeeeee     x::::::::x
  f:::::f              l::::l e:::::::e             x::::::::::x
 f:::::::f            l::::::le::::::::e           x:::::xx:::::x
 f:::::::f            l::::::l e::::::::eeeeeeee  x:::::x  x:::::x
 f:::::::f            l::::::l  ee:::::::::::::e x:::::x    x:::::x
 fffffffff            llllllll    eeeeeeeeeeeeeexxxxxxx      xxxxxxx

Flex

*/

.flex-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
}

.flex-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
}

.flex-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
}

.flex-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
}

.flex-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
}

.flex-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
}

.flex-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
}

.flex-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
}

.flex-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
}

.flex-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
}

.flex-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
}

.justify-content-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
}

.justify-content-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
}

.justify-content-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
}

.justify-content-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
}

.justify-content-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
}

.align-items-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
}

.align-items-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
}

.align-items-center {
    -ms-flex-align: center !important;
    align-items: center !important;
}

.align-items-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
}

.align-items-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
}

.align-content-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
}

.align-content-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
}

.align-content-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
}

.align-content-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
}

.align-content-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
}

.align-content-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
}

.align-self-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
}

.align-self-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
}

.align-self-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
}

.align-self-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
}

.align-self-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
}

.align-self-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
}

@media (min-width: 576px) {
    .flex-sm-row {
        -ms-flex-direction: row !important;
        flex-direction: row !important;
    }
    .flex-sm-column {
        -ms-flex-direction: column !important;
        flex-direction: column !important;
    }
    .flex-sm-row-reverse {
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important;
    }
    .flex-sm-column-reverse {
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important;
    }
    .flex-sm-wrap {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
    }
    .flex-sm-nowrap {
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
    }
    .flex-sm-wrap-reverse {
        -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
    }
    .flex-sm-fill {
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
    }
    .flex-sm-grow-0 {
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important;
    }
    .flex-sm-grow-1 {
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important;
    }
    .flex-sm-shrink-0 {
        -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
    }
    .flex-sm-shrink-1 {
        -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
    }
    .justify-content-sm-start {
        -ms-flex-pack: start !important;
        justify-content: flex-start !important;
    }
    .justify-content-sm-end {
        -ms-flex-pack: end !important;
        justify-content: flex-end !important;
    }
    .justify-content-sm-center {
        -ms-flex-pack: center !important;
        justify-content: center !important;
    }
    .justify-content-sm-between {
        -ms-flex-pack: justify !important;
        justify-content: space-between !important;
    }
    .justify-content-sm-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
    }
    .align-items-sm-start {
        -ms-flex-align: start !important;
        align-items: flex-start !important;
    }
    .align-items-sm-end {
        -ms-flex-align: end !important;
        align-items: flex-end !important;
    }
    .align-items-sm-center {
        -ms-flex-align: center !important;
        align-items: center !important;
    }
    .align-items-sm-baseline {
        -ms-flex-align: baseline !important;
        align-items: baseline !important;
    }
    .align-items-sm-stretch {
        -ms-flex-align: stretch !important;
        align-items: stretch !important;
    }
    .align-content-sm-start {
        -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
    }
    .align-content-sm-end {
        -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
    }
    .align-content-sm-center {
        -ms-flex-line-pack: center !important;
        align-content: center !important;
    }
    .align-content-sm-between {
        -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
    }
    .align-content-sm-around {
        -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
    }
    .align-content-sm-stretch {
        -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
    }
    .align-self-sm-auto {
        -ms-flex-item-align: auto !important;
        align-self: auto !important;
    }
    .align-self-sm-start {
        -ms-flex-item-align: start !important;
        align-self: flex-start !important;
    }
    .align-self-sm-end {
        -ms-flex-item-align: end !important;
        align-self: flex-end !important;
    }
    .align-self-sm-center {
        -ms-flex-item-align: center !important;
        align-self: center !important;
    }
    .align-self-sm-baseline {
        -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
    }
    .align-self-sm-stretch {
        -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
    }
}

@media (min-width: 768px) {
    .flex-md-row {
        -ms-flex-direction: row !important;
        flex-direction: row !important;
    }
    .flex-md-column {
        -ms-flex-direction: column !important;
        flex-direction: column !important;
    }
    .flex-md-row-reverse {
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important;
    }
    .flex-md-column-reverse {
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important;
    }
    .flex-md-wrap {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
    }
    .flex-md-nowrap {
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
    }
    .flex-md-wrap-reverse {
        -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
    }
    .flex-md-fill {
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
    }
    .flex-md-grow-0 {
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important;
    }
    .flex-md-grow-1 {
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important;
    }
    .flex-md-shrink-0 {
        -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
    }
    .flex-md-shrink-1 {
        -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
    }
    .justify-content-md-start {
        -ms-flex-pack: start !important;
        justify-content: flex-start !important;
    }
    .justify-content-md-end {
        -ms-flex-pack: end !important;
        justify-content: flex-end !important;
    }
    .justify-content-md-center {
        -ms-flex-pack: center !important;
        justify-content: center !important;
    }
    .justify-content-md-between {
        -ms-flex-pack: justify !important;
        justify-content: space-between !important;
    }
    .justify-content-md-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
    }
    .align-items-md-start {
        -ms-flex-align: start !important;
        align-items: flex-start !important;
    }
    .align-items-md-end {
        -ms-flex-align: end !important;
        align-items: flex-end !important;
    }
    .align-items-md-center {
        -ms-flex-align: center !important;
        align-items: center !important;
    }
    .align-items-md-baseline {
        -ms-flex-align: baseline !important;
        align-items: baseline !important;
    }
    .align-items-md-stretch {
        -ms-flex-align: stretch !important;
        align-items: stretch !important;
    }
    .align-content-md-start {
        -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
    }
    .align-content-md-end {
        -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
    }
    .align-content-md-center {
        -ms-flex-line-pack: center !important;
        align-content: center !important;
    }
    .align-content-md-between {
        -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
    }
    .align-content-md-around {
        -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
    }
    .align-content-md-stretch {
        -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
    }
    .align-self-md-auto {
        -ms-flex-item-align: auto !important;
        align-self: auto !important;
    }
    .align-self-md-start {
        -ms-flex-item-align: start !important;
        align-self: flex-start !important;
    }
    .align-self-md-end {
        -ms-flex-item-align: end !important;
        align-self: flex-end !important;
    }
    .align-self-md-center {
        -ms-flex-item-align: center !important;
        align-self: center !important;
    }
    .align-self-md-baseline {
        -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
    }
    .align-self-md-stretch {
        -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
    }
}

@media (min-width: 992px) {
    .flex-lg-row {
        -ms-flex-direction: row !important;
        flex-direction: row !important;
    }
    .flex-lg-column {
        -ms-flex-direction: column !important;
        flex-direction: column !important;
    }
    .flex-lg-row-reverse {
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important;
    }
    .flex-lg-column-reverse {
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important;
    }
    .flex-lg-wrap {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
    }
    .flex-lg-nowrap {
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
    }
    .flex-lg-wrap-reverse {
        -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
    }
    .flex-lg-fill {
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
    }
    .flex-lg-grow-0 {
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important;
    }
    .flex-lg-grow-1 {
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important;
    }
    .flex-lg-shrink-0 {
        -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
    }
    .flex-lg-shrink-1 {
        -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
    }
    .justify-content-lg-start {
        -ms-flex-pack: start !important;
        justify-content: flex-start !important;
    }
    .justify-content-lg-end {
        -ms-flex-pack: end !important;
        justify-content: flex-end !important;
    }
    .justify-content-lg-center {
        -ms-flex-pack: center !important;
        justify-content: center !important;
    }
    .justify-content-lg-between {
        -ms-flex-pack: justify !important;
        justify-content: space-between !important;
    }
    .justify-content-lg-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
    }
    .align-items-lg-start {
        -ms-flex-align: start !important;
        align-items: flex-start !important;
    }
    .align-items-lg-end {
        -ms-flex-align: end !important;
        align-items: flex-end !important;
    }
    .align-items-lg-center {
        -ms-flex-align: center !important;
        align-items: center !important;
    }
    .align-items-lg-baseline {
        -ms-flex-align: baseline !important;
        align-items: baseline !important;
    }
    .align-items-lg-stretch {
        -ms-flex-align: stretch !important;
        align-items: stretch !important;
    }
    .align-content-lg-start {
        -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
    }
    .align-content-lg-end {
        -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
    }
    .align-content-lg-center {
        -ms-flex-line-pack: center !important;
        align-content: center !important;
    }
    .align-content-lg-between {
        -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
    }
    .align-content-lg-around {
        -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
    }
    .align-content-lg-stretch {
        -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
    }
    .align-self-lg-auto {
        -ms-flex-item-align: auto !important;
        align-self: auto !important;
    }
    .align-self-lg-start {
        -ms-flex-item-align: start !important;
        align-self: flex-start !important;
    }
    .align-self-lg-end {
        -ms-flex-item-align: end !important;
        align-self: flex-end !important;
    }
    .align-self-lg-center {
        -ms-flex-item-align: center !important;
        align-self: center !important;
    }
    .align-self-lg-baseline {
        -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
    }
    .align-self-lg-stretch {
        -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
    }
}

@media (min-width: 1200px) {
    .flex-xl-row {
        -ms-flex-direction: row !important;
        flex-direction: row !important;
    }
    .flex-xl-column {
        -ms-flex-direction: column !important;
        flex-direction: column !important;
    }
    .flex-xl-row-reverse {
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important;
    }
    .flex-xl-column-reverse {
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important;
    }
    .flex-xl-wrap {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
    }
    .flex-xl-nowrap {
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
    }
    .flex-xl-wrap-reverse {
        -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
    }
    .flex-xl-fill {
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
    }
    .flex-xl-grow-0 {
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important;
    }
    .flex-xl-grow-1 {
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important;
    }
    .flex-xl-shrink-0 {
        -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
    }
    .flex-xl-shrink-1 {
        -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
    }
    .justify-content-xl-start {
        -ms-flex-pack: start !important;
        justify-content: flex-start !important;
    }
    .justify-content-xl-end {
        -ms-flex-pack: end !important;
        justify-content: flex-end !important;
    }
    .justify-content-xl-center {
        -ms-flex-pack: center !important;
        justify-content: center !important;
    }
    .justify-content-xl-between {
        -ms-flex-pack: justify !important;
        justify-content: space-between !important;
    }
    .justify-content-xl-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
    }
    .align-items-xl-start {
        -ms-flex-align: start !important;
        align-items: flex-start !important;
    }
    .align-items-xl-end {
        -ms-flex-align: end !important;
        align-items: flex-end !important;
    }
    .align-items-xl-center {
        -ms-flex-align: center !important;
        align-items: center !important;
    }
    .align-items-xl-baseline {
        -ms-flex-align: baseline !important;
        align-items: baseline !important;
    }
    .align-items-xl-stretch {
        -ms-flex-align: stretch !important;
        align-items: stretch !important;
    }
    .align-content-xl-start {
        -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
    }
    .align-content-xl-end {
        -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
    }
    .align-content-xl-center {
        -ms-flex-line-pack: center !important;
        align-content: center !important;
    }
    .align-content-xl-between {
        -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
    }
    .align-content-xl-around {
        -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
    }
    .align-content-xl-stretch {
        -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
    }
    .align-self-xl-auto {
        -ms-flex-item-align: auto !important;
        align-self: auto !important;
    }
    .align-self-xl-start {
        -ms-flex-item-align: start !important;
        align-self: flex-start !important;
    }
    .align-self-xl-end {
        -ms-flex-item-align: end !important;
        align-self: flex-end !important;
    }
    .align-self-xl-center {
        -ms-flex-item-align: center !important;
        align-self: center !important;
    }
    .align-self-xl-baseline {
        -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
    }
    .align-self-xl-stretch {
        -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
    }
}

/*
                                                           dddddddd
                                         iiii              d::::::d
                                        i::::i             d::::::d
                                         iiii              d::::::d
                                                           d:::::d
   ggggggggg   gggggrrrrr   rrrrrrrrr  iiiiiii     ddddddddd:::::d
  g:::::::::ggg::::gr::::rrr:::::::::r i:::::i   dd::::::::::::::d
 g:::::::::::::::::gr:::::::::::::::::r i::::i  d::::::::::::::::d
g::::::ggggg::::::ggrr::::::rrrrr::::::ri::::i d:::::::ddddd:::::d
g:::::g     g:::::g  r:::::r     r:::::ri::::i d::::::d    d:::::d
g:::::g     g:::::g  r:::::r     rrrrrrri::::i d:::::d     d:::::d
g:::::g     g:::::g  r:::::r            i::::i d:::::d     d:::::d
g::::::g    g:::::g  r:::::r            i::::i d:::::d     d:::::d
g:::::::ggggg:::::g  r:::::r           i::::::id::::::ddddd::::::dd
 g::::::::::::::::g  r:::::r           i::::::i d:::::::::::::::::d
  gg::::::::::::::g  r:::::r           i::::::i  d:::::::::ddd::::d
    gggggggg::::::g  rrrrrrr           iiiiiiii   ddddddddd   ddddd
            g:::::g
gggggg      g:::::g
g:::::gg   gg:::::g
 g::::::ggg:::::::g
  gg:::::::::::::g
    ggg::::::ggg
       gggggg
*/

.grid-cover {
    justify-content: flex-start !important;
    align-items: flex-end !important;
    height: 500px;
    margin-top: inherit;
    margin-bottom: inherit;
    display: flex;
    -webkit-transition: all 0.3s ease-in-out;
}

.grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-gap: var(--two-spacer);
}

.grid-no-gap {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-gap: 0rem;
}

.grid-justify-center {
    justify-items: center;
}

.grid-align-items-center {
    align-items: center;
}

.grid-place-self-center {
    place-self: center;
}

.grid-align-self-center {
    align-self: center;
}

.grid-split {
    grid-column: span 6;
}

.flowgrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    grid-gap: 2rem;
}

.blocks-gallery-grid, .wp-block-gallery {
    margin: 0 auto;
}

.short-row {
    grid-auto-rows: 240px;
}

.grid-cell {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
    width: 100%;
    overflow: hidden;
}

.grid-col-1 {
    grid-column: span 1;
}

.grid-col-2 {
    grid-column: span 2;
}

.grid-col-3 {
    grid-column: span 3;
}

.grid-col-4 {
    grid-column: span 4;
}

.grid-col-5 {
    grid-column: span 5;
}

.grid-col-6 {
    grid-column: span 6;
}

.grid-col-7 {
    grid-column: span 7;
}

.grid-col-8 {
    grid-column: span 8;
}

.grid-col-9 {
    grid-column: span 9;
}

.grid-col-10 {
    grid-column: span 10;
}

.grid-col-11 {
    grid-column: span 11;
}

.grid-col-12 {
    grid-column: span 12;
}

.offset-4 {
    grid-column-start: 5;
    grid-column-end: 9;
}

.offset-3 {
    grid-column-start: 4;
    grid-column-end: 10;
}

.offset-2 {
    grid-column-start: 3;
    grid-column-end: 11;
}

.offset-1 {
    grid-column-start: 2;
    grid-column-end: 12;
}

@media screen and (min-width: 576px) {
    .grid-sm-col-1 {
        grid-column: span 1;
    }
    
    .grid-sm-col-2 {
        grid-column: span 2;
    }
    
    .grid-sm-col-3 {
        grid-column: span 3;
    }
    
    .grid-sm-col-4 {
        grid-column: span 4;
    }
    
    .grid-sm-col-5 {
        grid-column: span 5;
    }
    
    .grid-sm-col-6 {
        grid-column: span 6;
    }
    
    .grid-sm-col-7 {
        grid-column: span 7;
    }
    
    .grid-sm-col-8 {
        grid-column: span 8;
    }
    
    .grid-sm-col-9 {
        grid-column: span 9;
    }
    
    .grid-sm-col-10 {
        grid-column: span 10;
    }
    
    .grid-sm-col-11 {
        grid-column: span 11;
    }
    
    .grid-sm-col-12 {
        grid-column: span 12;
    }
    
    .offset-sm-4 {
        grid-column-start: 5;
        grid-column-end: 9;
    }
    
    .offset-sm-3 {
        grid-column-start: 4;
        grid-column-end: 10;
    }
    
    .offset-sm-2 {
        grid-column-start: 3;
        grid-column-end: 11;
    }
    
    .offset-sm-1 {
        grid-column-start: 2;
        grid-column-end: 12;
    }
}

@media screen and (min-width: 768px) {
    .grid-md-col-1 {
        grid-column: span 1;
    }
    
    .grid-md-col-2 {
        grid-column: span 2;
    }
    
    .grid-md-col-3 {
        grid-column: span 3;
    }
    
    .grid-md-col-4 {
        grid-column: span 4;
    }
    
    .grid-md-col-5 {
        grid-column: span 5;
    }
    
    .grid-md-col-6 {
        grid-column: span 6;
    }
    
    .grid-md-col-7 {
        grid-column: span 7;
    }
    
    .grid-md-col-8 {
        grid-column: span 8;
    }
    
    .grid-md-col-9 {
        grid-column: span 9;
    }
    
    .grid-md-col-10 {
        grid-column: span 10;
    }
    
    .grid-md-col-11 {
        grid-column: span 11;
    }
    
    .grid-md-col-12 {
        grid-column: span 12;
    }
    
    .offset-md-4 {
        grid-column-start: 5;
        grid-column-end: 9;
    }
    
    .offset-md-3 {
        grid-column-start: 4;
        grid-column-end: 10;
    }
    
    .offset-md-2 {
        grid-column-start: 3;
        grid-column-end: 11;
    }
    
    .offset-md-1 {
        grid-column-start: 2;
        grid-column-end: 12;
    }
}

@media screen and (min-width: 992px) {
    .grid-lg-col-1 {
        grid-column: span 1;
    }
    
    .grid-lg-col-2 {
        grid-column: span 2;
    }
    
    .grid-lg-col-3 {
        grid-column: span 3;
    }
    
    .grid-lg-col-4 {
        grid-column: span 4;
    }
    
    .grid-lg-col-5 {
        grid-column: span 5;
    }
    
    .grid-lg-col-6 {
        grid-column: span 6;
    }
    
    .grid-lg-lg-col-7 {
        grid-column: span 7;
    }
    
    .grid-lg-col-8 {
        grid-column: span 8;
    }
    
    .grid-lg-col-9 {
        grid-column: span 9;
    }
    
    .grid-lg-col-10 {
        grid-column: span 10;
    }
    
    .grid-lg-col-11 {
        grid-column: span 11;
    }
    
    .grid-lg-col-12 {
        grid-column: span 12;
    }
    
    .offset-lg-4 {
        grid-column-start: 5;
        grid-column-end: 9;
    }
    
    .offset-lg-3 {
        grid-column-start: 4;
        grid-column-end: 10;
    }
    
    .offset-lg-2 {
        grid-column-start: 3;
        grid-column-end: 11;
    }
    
    .offset-lg-1 {
        grid-column-start: 2;
        grid-column-end: 12;
    }
}

@media screen and (min-width: 1200px) {
    .grid-xl-col-1 {
        grid-column: span 1;
    }
    
    .grid-xl-col-2 {
        grid-column: span 2;
    }
    
    .grid-xl-col-3 {
        grid-column: span 3;
    }
    
    .grid-xl-col-4 {
        grid-column: span 4;
    }
    
    .grid-xl-col-5 {
        grid-column: span 5;
    }
    
    .grid-xl-col-6 {
        grid-column: span 6;
    }
    
    .grid-xl-lg-col-7 {
        grid-column: span 7;
    }
    
    .grid-xl-col-8 {
        grid-column: span 8;
    }
    
    .grid-xl-col-9 {
        grid-column: span 9;
    }
    
    .grid-xl-col-10 {
        grid-column: span 10;
    }
    
    .grid-xl-col-11 {
        grid-column: span 11;
    }
    
    .grid-xl-col-12 {
        grid-column: span 12;
    }
    
    .offset-xl-4 {
        grid-column-start: 5;
        grid-column-end: 9;
    }
    
    .offset-xl-3 {
        grid-column-start: 4;
        grid-column-end: 10;
    }
    
    .offset-xl-2 {
        grid-column-start: 3;
        grid-column-end: 11;
    }
    
    .offset-xl-1 {
        grid-column-start: 2;
        grid-column-end: 12;
    }
}

/*

                                                             dddddddd
                                           iiii              d::::::d        tttt         hhhhhhh
                                          i::::i             d::::::d     ttt:::t         h:::::h
                                           iiii              d::::::d     t:::::t         h:::::h
                                                             d:::::d      t:::::t         h:::::h
wwwwwww           wwwww           wwwwwwwiiiiiii     ddddddddd:::::dttttttt:::::ttttttt    h::::h hhhhh
 w:::::w         w:::::w         w:::::w i:::::i   dd::::::::::::::dt:::::::::::::::::t    h::::hh:::::hhh
  w:::::w       w:::::::w       w:::::w   i::::i  d::::::::::::::::dt:::::::::::::::::t    h::::::::::::::hh
   w:::::w     w:::::::::w     w:::::w    i::::i d:::::::ddddd:::::dtttttt:::::::tttttt    h:::::::hhh::::::h
    w:::::w   w:::::w:::::w   w:::::w     i::::i d::::::d    d:::::d      t:::::t          h::::::h   h::::::h
     w:::::w w:::::w w:::::w w:::::w      i::::i d:::::d     d:::::d      t:::::t          h:::::h     h:::::h
      w:::::w:::::w   w:::::w:::::w       i::::i d:::::d     d:::::d      t:::::t          h:::::h     h:::::h
       w:::::::::w     w:::::::::w        i::::i d:::::d     d:::::d      t:::::t    tttttth:::::h     h:::::h
        w:::::::w       w:::::::w        i::::::id::::::ddddd::::::dd     t::::::tttt:::::th:::::h     h:::::h
         w:::::w         w:::::w         i::::::i d:::::::::::::::::d     tt::::::::::::::th:::::h     h:::::h
          w:::w           w:::w          i::::::i  d:::::::::ddd::::d       tt:::::::::::tth:::::h     h:::::h
           www             www           iiiiiiii   ddddddddd   ddddd         ttttttttttt  hhhhhhh     hhhhhhh

Width (Limits, etc.)

*/

.max-width-container {
    width: 100%;
    max-width: var(--max-width);
    margin-left: auto;
    margin-right: auto;
}

.w-25 {
    width: 25% !important;
}

.w-50 {
    width: 50% !important;
}

.w-75 {
    width: 75% !important;
}

.w-100 {
    width: 100% !important;
}

.w-auto {
    width: auto !important;
}

.w-fit-content {
    width: fit-content !important;
    width: -moz-fit-content !important;
}

.min-w-fit-content {
    min-width: fit-content !important;
    min-width: -moz-fit-content !important;
}

.min-w-100 {
    min-width: 100% !important;
}

.max-w-100 {
    max-width: 100% !important;
}

.min-vw-100 {
    min-width: 100vw !important;
}

.max-vw-100 {
    max-width: 100vw !important;
}

.vw-25 {
    width: 25vw !important;
}

.vw-50 {
    width: 50vw !important;
}

.vw-75 {
    width: 75vw !important;
}

.vw-100 {
    width: 100vw !important;
}

.w-200px {
    width: 200px !important;
}

@media (min-width: 576px) {
    .w-sm-25 {
        width: 25% !important;
    }

    .w-sm-50 {
        width: 50% !important;
    }

    .w-sm-75 {
        width: 75% !important;
    }

    .w-sm-100 {
        width: 100% !important;
    }

    .w-sm-auto {
        width: auto !important;
    }

    .w-sm-fit-content {
        width: fit-content !important;
        width: -moz-fit-content !important;
    }

    .min-w-sm-fit-content {
        min-width: fit-content !important;
        min-width: -moz-fit-content !important;
    }

    .min-w-sm-100 {
        min-width: 100% !important;
    }

    .max-w-sm-100 {
        max-width: 100% !important;
    }

    .min-vw-sm-100 {
        min-width: 100vw !important;
    }

    .max-vw-sm-100 {
        max-width: 100vw !important;
    }

    .vw-sm-25 {
        width: 25vw !important;
    }

    .vw-sm-50 {
        width: 50vw !important;
    }

    .vw-sm-75 {
        width: 75vw !important;
    }

    .vw-sm-100 {
        width: 100vw !important;
    }
}

@media (min-width: 768px) {
    .w-md-25 {
        width: 25% !important;
    }

    .w-md-50 {
        width: 50% !important;
    }

    .w-md-75 {
        width: 75% !important;
    }

    .w-md-100 {
        width: 100% !important;
    }

    .w-md-auto {
        width: auto !important;
    }

    .w-md-fit-content {
        width: fit-content !important;
        width: -moz-fit-content !important;
    }

    .min-w-md-fit-content {
        min-width: fit-content !important;
        min-width: -moz-fit-content !important;
    }

    .min-w-md-100 {
        min-width: 100% !important;
    }

    .max-w-md-100 {
        max-width: 100% !important;
    }

    .min-vw-md-100 {
        min-width: 100vw !important;
    }

    .max-vw-md-100 {
        max-width: 100vw !important;
    }

    .vw-md-25 {
        width: 25vw !important;
    }

    .vw-md-50 {
        width: 50vw !important;
    }

    .vw-md-75 {
        width: 75vw !important;
    }

    .vw-md-100 {
        width: 100vw !important;
    }
}

@media (min-width: 992px) {
    .w-lg-25 {
        width: 25% !important;
    }

    .w-lg-50 {
        width: 50% !important;
    }

    .w-lg-75 {
        width: 75% !important;
    }

    .w-lg-100 {
        width: 100% !important;
    }

    .w-lg-auto {
        width: auto !important;
    }

    .w-lg-fit-content {
        width: fit-content !important;
        width: -moz-fit-content !important;
    }

    .min-w-lg-fit-content {
        min-width: fit-content !important;
        min-width: -moz-fit-content !important;
    }

    .min-w-lg-100 {
        min-width: 100% !important;
    }

    .max-w-lg-100 {
        max-width: 100% !important;
    }

    .min-vw-lg-100 {
        min-width: 100vw !important;
    }

    .max-vw-lg-100 {
        max-width: 100vw !important;
    }

    .vw-lg-25 {
        width: 25vw !important;
    }

    .vw-lg-50 {
        width: 50vw !important;
    }

    .vw-lg-75 {
        width: 75vw !important;
    }

    .vw-lg-100 {
        width: 100vw !important;
    }
}

@media (min-width: 1200px) {
    .w-xl-25 {
        width: 25% !important;
    }

    .w-xl-50 {
        width: 50% !important;
    }

    .w-xl-75 {
        width: 75% !important;
    }

    .w-xl-100 {
        width: 100% !important;
    }

    .w-xl-auto {
        width: auto !important;
    }

    .w-xl-fit-content {
        width: fit-content !important;
        width: -moz-fit-content !important;
    }

    .min-w-xl-fit-content {
        min-width: fit-content !important;
        min-width: -moz-fit-content !important;
    }

    .min-w-xl-100 {
        min-width: 100% !important;
    }

    .max-w-xl-100 {
        max-width: 100% !important;
    }

    .min-vw-xl-100 {
        min-width: 100vw !important;
    }

    .max-vw-xl-100 {
        max-width: 100vw !important;
    }

    .vw-xl-25 {
        width: 25vw !important;
    }

    .vw-xl-50 {
        width: 50vw !important;
    }

    .vw-xl-75 {
        width: 75vw !important;
    }

    .vw-xl-100 {
        width: 100vw !important;
    }
}

/*                                                                                                          
                                                                                                 
hhhhhhh                                  iiii                     hhhhhhh                     tttt          
h:::::h                                 i::::i                    h:::::h                  ttt:::t          
h:::::h                                  iiii                     h:::::h                  t:::::t          
h:::::h                                                           h:::::h                  t:::::t          
 h::::h hhhhh           eeeeeeeeeeee   iiiiiii    ggggggggg   gggggh::::h hhhhh      ttttttt:::::ttttttt    
 h::::hh:::::hhh      ee::::::::::::ee i:::::i   g:::::::::ggg::::gh::::hh:::::hhh   t:::::::::::::::::t    
 h::::::::::::::hh   e::::::eeeee:::::eei::::i  g:::::::::::::::::gh::::::::::::::hh t:::::::::::::::::t    
 h:::::::hhh::::::h e::::::e     e:::::ei::::i g::::::ggggg::::::ggh:::::::hhh::::::htttttt:::::::tttttt    
 h::::::h   h::::::he:::::::eeeee::::::ei::::i g:::::g     g:::::g h::::::h   h::::::h     t:::::t          
 h:::::h     h:::::he:::::::::::::::::e i::::i g:::::g     g:::::g h:::::h     h:::::h     t:::::t          
 h:::::h     h:::::he::::::eeeeeeeeeee  i::::i g:::::g     g:::::g h:::::h     h:::::h     t:::::t          
 h:::::h     h:::::he:::::::e           i::::i g::::::g    g:::::g h:::::h     h:::::h     t:::::t    tttttt
 h:::::h     h:::::he::::::::e         i::::::ig:::::::ggggg:::::g h:::::h     h:::::h     t::::::tttt:::::t
 h:::::h     h:::::h e::::::::eeeeeeee i::::::i g::::::::::::::::g h:::::h     h:::::h     tt::::::::::::::t
 h:::::h     h:::::h  ee:::::::::::::e i::::::i  gg::::::::::::::g h:::::h     h:::::h       tt:::::::::::tt
 hhhhhhh     hhhhhhh    eeeeeeeeeeeeee iiiiiiii    gggggggg::::::g hhhhhhh     hhhhhhh         ttttttttttt  
                                                           g:::::g                                          
                                               gggggg      g:::::g                                          
                                               g:::::gg   gg:::::g                                          
                                                g::::::ggg:::::::g                                          
                                                 gg:::::::::::::g                                           
                                                   ggg::::::ggg                                             
                                                      gggggg                                                

Height (Limits, etc.)

*/

.h-25 {
    height: 25% !important;
}

.h-50 {
    height: 50% !important;
}

.h-75 {
    height: 75% !important;
}

.h-100 {
    height: 100% !important;
}

.h-auto {
    height: auto !important;
}

.h-fit-content {
    height: fit-content !important;
    height: -moz-fit-content !important;
}

.min-h-fit-content {
    min-height: fit-content !important;
    min-height: -moz-fit-content !important;
}

.min-h-100 {
    min-height: 100% !important;
}

.max-h-100 {
    max-height: 100% !important;
}

.min-vh-100 {
    min-height: 100vh !important;
}

.max-vh-100 {
    max-height: 100vh !important;
}

.vh-25 {
    height: 25vh !important;
}

.vh-50 {
    height: 50vh !important;
}

.vh-75 {
    height: 75vh !important;
}

.vh-100 {
    height: 100vh !important;
}

@media (min-width: 576px) {
    .h-sm-25 {
        height: 25% !important;
    }
    
    .h-sm-50 {
        height: 50% !important;
    }
    
    .h-sm-75 {
        height: 75% !important;
    }
    
    .h-sm-100 {
        height: 100% !important;
    }
    
    .h-sm-auto {
        height: auto !important;
    }
    
    .h-sm-fit-content {
        height: fit-content !important;
        height: -moz-fit-content !important;
    }
    
    .min-h-sm-fit-content {
        min-height: fit-content !important;
        min-height: -moz-fit-content !important;
    }
    
    .min-h-sm-100 {
        min-height: 100% !important;
    }
    
    .max-h-sm-100 {
        max-height: 100% !important;
    }
    
    .min-vh-sm-100 {
        min-height: 100vh !important;
    }
    
    .max-vh-sm-100 {
        max-height: 100vh !important;
    }
    
    .vh-sm-25 {
        height: 25vh !important;
    }
    
    .vh-sm-50 {
        height: 50vh !important;
    }
    
    .vh-sm-75 {
        height: 75vh !important;
    }
    
    .vh-sm-100 {
        height: 100vh !important;
    }
}

@media (min-width: 768px) {
    .h-md-25 {
        height: 25% !important;
    }
    
    .h-md-50 {
        height: 50% !important;
    }
    
    .h-md-75 {
        height: 75% !important;
    }
    
    .h-md-100 {
        height: 100% !important;
    }
    
    .h-md-auto {
        height: auto !important;
    }
    
    .h-md-fit-content {
        height: fit-content !important;
        height: -moz-fit-content !important;
    }
    
    .min-h-md-fit-content {
        min-height: fit-content !important;
        min-height: -moz-fit-content !important;
    }
    
    .min-h-md-100 {
        min-height: 100% !important;
    }
    
    .max-h-md-100 {
        max-height: 100% !important;
    }
    
    .min-vh-md-100 {
        min-height: 100vh !important;
    }
    
    .max-vh-md-100 {
        max-height: 100vh !important;
    }
    
    .vh-md-25 {
        height: 25vh !important;
    }
    
    .vh-md-50 {
        height: 50vh !important;
    }
    
    .vh-md-75 {
        height: 75vh !important;
    }
    
    .vh-md-100 {
        height: 100vh !important;
    }
}

@media (min-width: 992px) {
    .h-lg-25 {
        height: 25% !important;
    }
    
    .h-lg-50 {
        height: 50% !important;
    }
    
    .h-lg-75 {
        height: 75% !important;
    }
    
    .h-lg-100 {
        height: 100% !important;
    }
    
    .h-lg-auto {
        height: auto !important;
    }
    
    .h-lg-fit-content {
        height: fit-content !important;
        height: -moz-fit-content !important;
    }
    
    .min-h-lg-fit-content {
        min-height: fit-content !important;
        min-height: -moz-fit-content !important;
    }
    
    .min-h-lg-100 {
        min-height: 100% !important;
    }
    
    .max-h-lg-100 {
        max-height: 100% !important;
    }
    
    .min-vh-lg-100 {
        min-height: 100vh !important;
    }
    
    .max-vh-lg-100 {
        max-height: 100vh !important;
    }
    
    .vh-lg-25 {
        height: 25vh !important;
    }
    
    .vh-lg-50 {
        height: 50vh !important;
    }
    
    .vh-lg-75 {
        height: 75vh !important;
    }
    
    .vh-lg-100 {
        height: 100vh !important;
    }
}

@media (min-width: 1200px) {
    .h-xl-25 {
        height: 25% !important;
    }
    
    .h-xl-50 {
        height: 50% !important;
    }
    
    .h-xl-75 {
        height: 75% !important;
    }
    
    .h-xl-100 {
        height: 100% !important;
    }
    
    .h-xl-auto {
        height: auto !important;
    }
    
    .h-xl-fit-content {
        height: fit-content !important;
        height: -moz-fit-content !important;
    }
    
    .min-h-xl-fit-content {
        min-height: fit-content !important;
        min-height: -moz-fit-content !important;
    }
    
    .min-h-xl-100 {
        min-height: 100% !important;
    }
    
    .max-h-xl-100 {
        max-height: 100% !important;
    }
    
    .min-vh-xl-100 {
        min-height: 100vh !important;
    }
    
    .max-vh-xl-100 {
        max-height: 100vh !important;
    }
    
    .vh-xl-25 {
        height: 25vh !important;
    }
    
    .vh-xl-50 {
        height: 50vh !important;
    }
    
    .vh-xl-75 {
        height: 75vh !important;
    }
    
    .vh-xl-100 {
        height: 100vh !important;
    }
}

/*

                                                                                   iiii
                                                                                  i::::i
                                                                                   iiii

   mmmmmmm    mmmmmmm     aaaaaaaaaaaaa  rrrrr   rrrrrrrrr      ggggggggg   gggggiiiiiiinnnn  nnnnnnnn        ssssssssss
 mm:::::::m  m:::::::mm   a::::::::::::a r::::rrr:::::::::r    g:::::::::ggg::::gi:::::in:::nn::::::::nn    ss::::::::::s
m::::::::::mm::::::::::m  aaaaaaaaa:::::ar:::::::::::::::::r  g:::::::::::::::::g i::::in::::::::::::::nn ss:::::::::::::s
m::::::::::::::::::::::m           a::::arr::::::rrrrr::::::rg::::::ggggg::::::gg i::::inn:::::::::::::::ns::::::ssss:::::s
m:::::mmm::::::mmm:::::m    aaaaaaa:::::a r:::::r     r:::::rg:::::g     g:::::g  i::::i  n:::::nnnn:::::n s:::::s  ssssss
m::::m   m::::m   m::::m  aa::::::::::::a r:::::r     rrrrrrrg:::::g     g:::::g  i::::i  n::::n    n::::n   s::::::s
m::::m   m::::m   m::::m a::::aaaa::::::a r:::::r            g:::::g     g:::::g  i::::i  n::::n    n::::n      s::::::s
m::::m   m::::m   m::::ma::::a    a:::::a r:::::r            g::::::g    g:::::g  i::::i  n::::n    n::::nssssss   s:::::s
m::::m   m::::m   m::::ma::::a    a:::::a r:::::r            g:::::::ggggg:::::g i::::::i n::::n    n::::ns:::::ssss::::::s
m::::m   m::::m   m::::ma:::::aaaa::::::a r:::::r             g::::::::::::::::g i::::::i n::::n    n::::ns::::::::::::::s
m::::m   m::::m   m::::m a::::::::::aa:::ar:::::r              gg::::::::::::::g i::::::i n::::n    n::::n s:::::::::::ss
mmmmmm   mmmmmm   mmmmmm  aaaaaaaaaa  aaaarrrrrrr                gggggggg::::::g iiiiiiii nnnnnn    nnnnnn  sssssssssss
                                                                         g:::::g
                                                             gggggg      g:::::g
                                                             g:::::gg   gg:::::g
                                                              g::::::ggg:::::::g
                                                               gg:::::::::::::g
                                                                 ggg::::::ggg
                                                                    gggggg

Margins

*/

.m-0 {
    margin: var(--zero-spacer) !important;
}

.mt-0,
.my-0 {
    margin-top: var(--zero-spacer) !important;
}

.mr-0,
.mx-0 {
    margin-right: var(--zero-spacer) !important;
}

.mb-0,
.my-0 {
    margin-bottom: var(--zero-spacer) !important;
}

.ml-0,
.mx-0 {
    margin-left: var(--zero-spacer) !important;
}

.m-1 {
    margin: var(--one-spacer) !important;
}

.mt-1,
.my-1 {
    margin-top: var(--one-spacer) !important;
}

.mr-1,
.mx-1 {
    margin-right: var(--one-spacer) !important;
}

.mb-1,
.my-1 {
    margin-bottom: var(--one-spacer) !important;
}

.ml-1,
.mx-1 {
    margin-left: var(--one-spacer) !important;
}

.m-2 {
    margin: var(--two-spacer) !important;
}

.mt-2,
.my-2 {
    margin-top: var(--two-spacer) !important;
}

.mr-2,
.mx-2 {
    margin-right: var(--two-spacer) !important;
}

.mb-2,
.my-2 {
    margin-bottom: var(--two-spacer) !important;
}

.ml-2,
.mx-2 {
    margin-left: var(--two-spacer) !important;
}

.m-3 {
    margin: var(--three-spacer) !important;
}

.mt-3,
.my-3 {
    margin-top: var(--three-spacer) !important;
}

.mr-3,
.mx-3 {
    margin-right: var(--three-spacer) !important;
}

.mb-3,
.my-3 {
    margin-bottom: var(--three-spacer) !important;
}

.ml-3,
.mx-3 {
    margin-left: var(--three-spacer) !important;
}

.m-4 {
    margin: var(--four-spacer) !important;
}

.mt-4,
.my-4 {
    margin-top: var(--four-spacer) !important;
}

.mr-4,
.mx-4 {
    margin-right: var(--four-spacer) !important;
}

.mb-4,
.my-4 {
    margin-bottom: var(--four-spacer) !important;
}

.ml-4,
.mx-4 {
    margin-left: var(--four-spacer) !important;
}

.m-5 {
    margin: var(--five-spacer) !important;
}

.mt-5,
.my-5 {
    margin-top: var(--five-spacer) !important;
}

.mr-5,
.mx-5 {
    margin-right: var(--five-spacer) !important;
}

.mb-5,
.my-5 {
    margin-bottom: var(--five-spacer) !important;
}

.ml-5,
.mx-5 {
    margin-left: var(--five-spacer) !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;
}

@media screen and (min-width: 576px) {
    .m-sm-0 {
        margin: var(--zero-spacer) !important;
    }
    
    .mt-sm-0,
    .my-sm-0 {
        margin-top: var(--zero-spacer) !important;
    }

    .mr-sm-0,
    .mx-sm-0 {
        margin-right: var(--zero-spacer) !important;
    }

    .mb-sm-0,
    .my-sm-0 {
        margin-bottom: var(--zero-spacer) !important;
    }

    .ml-sm-0,
    .mx-sm-0 {
        margin-left: var(--zero-spacer) !important;
    }

    .m-sm-1 {
        margin: var(--one-spacer) !important;
    }

    .mt-sm-1,
    .my-sm-1 {
        margin-top: var(--one-spacer) !important;
    }

    .mr-sm-1,
    .mx-sm-1 {
        margin-right: var(--one-spacer) !important;
    }
    
    .mb-sm-1,
    .my-sm-1 {
        margin-bottom: var(--one-spacer) !important;
    }

    .ml-sm-1,
    .mx-sm-1 {
        margin-left: var(--one-spacer) !important;
    }

    .m-sm-2 {
        margin: var(--two-spacer) !important;
    }

    .mt-sm-2,
    .my-sm-2 {
        margin-top: var(--two-spacer) !important;
    }

    .mr-sm-2,
    .mx-sm-2 {
        margin-right: var(--two-spacer) !important;
    }

    .mb-sm-2,
    .my-sm-2 {
        margin-bottom: var(--two-spacer) !important;
    }

    .ml-sm-2,
    .mx-sm-2 {
        margin-left: var(--two-spacer) !important;
    }

    .m-sm-3 {
        margin: var(--three-spacer) !important;
    }

    .mt-sm-3,
    .my-sm-3 {
        margin-top: var(--three-spacer) !important;
    }

    .mr-sm-3,
    .mx-sm-3 {
        margin-right: var(--three-spacer) !important;
    }

    .mb-sm-3,
    .my-sm-3 {
        margin-bottom: var(--three-spacer) !important;
    }

    .ml-sm-3,
    .mx-sm-3 {
        margin-left: var(--three-spacer) !important;
    }

    .m-sm-4 {
        margin: var(--four-spacer) !important;
    }

    .mt-sm-4,
    .my-sm-4 {
        margin-top: var(--four-spacer) !important;
    }

    .mr-sm-4,
    .mx-sm-4 {
        margin-right: var(--four-spacer) !important;
    }

    .mb-sm-4,
    .my-sm-4 {
        margin-bottom: var(--four-spacer) !important;
    }

    .ml-sm-4,
    .mx-sm-4 {
        margin-left: var(--four-spacer) !important;
    }

    .m-sm-5 {
        margin: var(--five-spacer) !important;
    }

    .mt-sm-5,
    .my-sm-5 {
        margin-top: var(--five-spacer) !important;
    }

    .mr-sm-5,
    .mx-sm-5 {
        margin-right: var(--five-spacer) !important;
    }

    .mb-sm-5,
    .my-sm-5 {
        margin-bottom: var(--five-spacer) !important;
    }

    .ml-sm-5,
    .mx-sm-5 {
        margin-left: var(--five-spacer) !important;
    }

    .m-sm-auto {
        margin: auto !important;
    }

    .mt-sm-auto,
    .my-sm-auto {
        margin-top: auto !important;
    }

    .mr-sm-auto,
    .mx-sm-auto {
        margin-right: auto !important;
    }

    .mb-sm-auto,
    .my-sm-auto {
        margin-bottom: auto !important;
    }

    .ml-sm-auto,
    .mx-sm-auto {
        margin-left: auto !important;
    }
}

@media screen and (min-width: 768px) {
    .m-md-0 {
        margin: var(--zero-spacer) !important;
    }
    
    .mt-md-0,
    .my-md-0 {
        margin-top: var(--zero-spacer) !important;
    }

    .mr-md-0,
    .mx-md-0 {
        margin-right: var(--zero-spacer) !important;
    }

    .mb-md-0,
    .my-md-0 {
        margin-bottom: var(--zero-spacer) !important;
    }

    .ml-md-0,
    .mx-md-0 {
        margin-left: var(--zero-spacer) !important;
    }

    .m-md-1 {
        margin: var(--one-spacer) !important;
    }

    .mt-md-1,
    .my-md-1 {
        margin-top: var(--one-spacer) !important;
    }

    .mr-md-1,
    .mx-md-1 {
        margin-right: var(--one-spacer) !important;
    }
    
    .mb-md-1,
    .my-md-1 {
        margin-bottom: var(--one-spacer) !important;
    }

    .ml-md-1,
    .mx-md-1 {
        margin-left: var(--one-spacer) !important;
    }

    .m-md-2 {
        margin: var(--two-spacer) !important;
    }

    .mt-md-2,
    .my-md-2 {
        margin-top: var(--two-spacer) !important;
    }

    .mr-md-2,
    .mx-md-2 {
        margin-right: var(--two-spacer) !important;
    }

    .mb-md-2,
    .my-md-2 {
        margin-bottom: var(--two-spacer) !important;
    }

    .ml-md-2,
    .mx-md-2 {
        margin-left: var(--two-spacer) !important;
    }

    .m-md-3 {
        margin: var(--three-spacer) !important;
    }

    .mt-md-3,
    .my-md-3 {
        margin-top: var(--three-spacer) !important;
    }

    .mr-md-3,
    .mx-md-3 {
        margin-right: var(--three-spacer) !important;
    }

    .mb-md-3,
    .my-md-3 {
        margin-bottom: var(--three-spacer) !important;
    }

    .ml-md-3,
    .mx-md-3 {
        margin-left: var(--three-spacer) !important;
    }

    .m-md-4 {
        margin: var(--four-spacer) !important;
    }

    .mt-md-4,
    .my-md-4 {
        margin-top: var(--four-spacer) !important;
    }

    .mr-md-4,
    .mx-md-4 {
        margin-right: var(--four-spacer) !important;
    }

    .mb-md-4,
    .my-md-4 {
        margin-bottom: var(--four-spacer) !important;
    }

    .ml-md-4,
    .mx-md-4 {
        margin-left: var(--four-spacer) !important;
    }

    .m-md-5 {
        margin: var(--five-spacer) !important;
    }

    .mt-md-5,
    .my-md-5 {
        margin-top: var(--five-spacer) !important;
    }

    .mr-md-5,
    .mx-md-5 {
        margin-right: var(--five-spacer) !important;
    }

    .mb-md-5,
    .my-md-5 {
        margin-bottom: var(--five-spacer) !important;
    }

    .ml-md-5,
    .mx-md-5 {
        margin-left: var(--five-spacer) !important;
    }

    .m-md-auto {
        margin: auto !important;
    }

    .mt-md-auto,
    .my-md-auto {
        margin-top: auto !important;
    }

    .mr-md-auto,
    .mx-md-auto {
        margin-right: auto !important;
    }

    .mb-md-auto,
    .my-md-auto {
        margin-bottom: auto !important;
    }

    .ml-md-auto,
    .mx-md-auto {
        margin-left: auto !important;
    }
}

@media screen and (min-width: 992px) {
    .m-lg-0 {
        margin: var(--zero-spacer) !important;
    }

    .mt-lg-0,
    .my-lg-0 {
        margin-top: var(--zero-spacer) !important;
    }

    .mr-lg-0,
    .mx-lg-0 {
        margin-right: var(--zero-spacer) !important;
    }

    .mb-lg-0,
    .my-lg-0 {
        margin-bottom: var(--zero-spacer) !important;
    }

    .ml-lg-0,
    .mx-lg-0 {
        margin-left: var(--zero-spacer) !important;
    }

    .m-lg-1 {
        margin: var(--one-spacer) !important;
    }

    .mt-lg-1,
    .my-lg-1 {
        margin-top: var(--one-spacer) !important;
    }

    .mr-lg-1,
    .mx-lg-1 {
        margin-right: var(--one-spacer) !important;
    }
    
    .mb-lg-1,
    .my-lg-1 {
        margin-bottom: var(--one-spacer) !important;
    }

    .ml-lg-1,
    .mx-lg-1 {
        margin-left: var(--one-spacer) !important;
    }

    .m-lg-2 {
        margin: var(--two-spacer) !important;
    }

    .mt-lg-2,
    .my-lg-2 {
        margin-top: var(--two-spacer) !important;
    }

    .mr-lg-2,
    .mx-lg-2 {
        margin-right: var(--two-spacer) !important;
    }

    .mb-lg-2,
    .my-lg-2 {
        margin-bottom: var(--two-spacer) !important;
    }

    .ml-lg-2,
    .mx-lg-2 {
        margin-left: var(--two-spacer) !important;
    }

    .m-lg-3 {
        margin: var(--three-spacer) !important;
    }

    .mt-lg-3,
    .my-lg-3 {
        margin-top: var(--three-spacer) !important;
    }

    .mr-lg-3,
    .mx-lg-3 {
        margin-right: var(--three-spacer) !important;
    }

    .mb-lg-3,
    .my-lg-3 {
        margin-bottom: var(--three-spacer) !important;
    }

    .ml-lg-3,
    .mx-lg-3 {
        margin-left: var(--three-spacer) !important;
    }

    .m-lg-4 {
        margin: var(--four-spacer) !important;
    }

    .mt-lg-4,
    .my-lg-4 {
        margin-top: var(--four-spacer) !important;
    }

    .mr-lg-4,
    .mx-lg-4 {
        margin-right: var(--four-spacer) !important;
    }

    .mb-lg-4,
    .my-lg-4 {
        margin-bottom: var(--four-spacer) !important;
    }

    .ml-lg-4,
    .mx-lg-4 {
        margin-left: var(--four-spacer) !important;
    }

    .m-lg-5 {
        margin: var(--five-spacer) !important;
    }

    .mt-lg-5,
    .my-lg-5 {
        margin-top: var(--five-spacer) !important;
    }

    .mr-lg-5,
    .mx-lg-5 {
        margin-right: var(--five-spacer) !important;
    }

    .mb-lg-5,
    .my-lg-5 {
        margin-bottom: var(--five-spacer) !important;
    }

    .ml-lg-5,
    .mx-lg-5 {
        margin-left: var(--five-spacer) !important;
    }

    .m-lg-auto {
        margin: auto !important;
    }

    .mt-lg-auto,
    .my-lg-auto {
        margin-top: auto !important;
    }

    .mr-lg-auto,
    .mx-lg-auto {
        margin-right: auto !important;
    }

    .mb-lg-auto,
    .my-lg-auto {
        margin-bottom: auto !important;
    }

    .ml-lg-auto,
    .mx-lg-auto {
        margin-left: auto !important;
    }
}

@media screen and (min-width: 1200px) {
    .m-xl-0 {
        margin: var(--zero-spacer) !important;
    }

    .mt-xl-0,
    .my-xl-0 {
        margin-top: var(--zero-spacer) !important;
    }

    .mr-xl-0,
    .mx-xl-0 {
        margin-right: var(--zero-spacer) !important;
    }

    .mb-xl-0,
    .my-xl-0 {
        margin-bottom: var(--zero-spacer) !important;
    }

    .ml-xl-0,
    .mx-xl-0 {
        margin-left: var(--zero-spacer) !important;
    }

    .m-xl-1 {
        margin: var(--one-spacer) !important;
    }

    .mt-xl-1,
    .my-xl-1 {
        margin-top: var(--one-spacer) !important;
    }

    .mr-xl-1,
    .mx-xl-1 {
        margin-right: var(--one-spacer) !important;
    }
    
    .mb-xl-1,
    .my-xl-1 {
        margin-bottom: var(--one-spacer) !important;
    }

    .ml-xl-1,
    .mx-xl-1 {
        margin-left: var(--one-spacer) !important;
    }

    .m-xl-2 {
        margin: var(--two-spacer) !important;
    }

    .mt-xl-2,
    .my-xl-2 {
        margin-top: var(--two-spacer) !important;
    }

    .mr-xl-2,
    .mx-xl-2 {
        margin-right: var(--two-spacer) !important;
    }

    .mb-xl-2,
    .my-xl-2 {
        margin-bottom: var(--two-spacer) !important;
    }

    .ml-xl-2,
    .mx-xl-2 {
        margin-left: var(--two-spacer) !important;
    }

    .m-xl-3 {
        margin: var(--three-spacer) !important;
    }

    .mt-xl-3,
    .my-xl-3 {
        margin-top: var(--three-spacer) !important;
    }

    .mr-xl-3,
    .mx-xl-3 {
        margin-right: var(--three-spacer) !important;
    }

    .mb-xl-3,
    .my-xl-3 {
        margin-bottom: var(--three-spacer) !important;
    }

    .ml-xl-3,
    .mx-xl-3 {
        margin-left: var(--three-spacer) !important;
    }

    .m-xl-4 {
        margin: var(--four-spacer) !important;
    }

    .mt-xl-4,
    .my-xl-4 {
        margin-top: var(--four-spacer) !important;
    }

    .mr-xl-4,
    .mx-xl-4 {
        margin-right: var(--four-spacer) !important;
    }

    .mb-xl-4,
    .my-xl-4 {
        margin-bottom: var(--four-spacer) !important;
    }

    .ml-xl-4,
    .mx-xl-4 {
        margin-left: var(--four-spacer) !important;
    }

    .m-xl-5 {
        margin: var(--five-spacer) !important;
    }

    .mt-xl-5,
    .my-xl-5 {
        margin-top: var(--five-spacer) !important;
    }

    .mr-xl-5,
    .mx-xl-5 {
        margin-right: var(--five-spacer) !important;
    }

    .mb-xl-5,
    .my-xl-5 {
        margin-bottom: var(--five-spacer) !important;
    }

    .ml-xl-5,
    .mx-xl-5 {
        margin-left: var(--five-spacer) !important;
    }

    .m-xl-auto {
        margin: auto !important;
    }

    .mt-xl-auto,
    .my-xl-auto {
        margin-top: auto !important;
    }

    .mr-xl-auto,
    .mx-xl-auto {
        margin-right: auto !important;
    }

    .mb-xl-auto,
    .my-xl-auto {
        margin-bottom: auto !important;
    }

    .ml-xl-auto,
    .mx-xl-auto {
        margin-left: auto !important;
    }
}

/*

                                                dddddddd            dddddddd
                                                 d::::::d            d::::::d  iiii
                                                 d::::::d            d::::::d i::::i
                                                 d::::::d            d::::::d  iiii
                                                 d:::::d             d:::::d
ppppp   ppppppppp     aaaaaaaaaaaaa      ddddddddd:::::d     ddddddddd:::::d iiiiiiinnnn  nnnnnnnn       ggggggggg   ggggg
p::::ppp:::::::::p    a::::::::::::a   dd::::::::::::::d   dd::::::::::::::d i:::::in:::nn::::::::nn    g:::::::::ggg::::g
p:::::::::::::::::p   aaaaaaaaa:::::a d::::::::::::::::d  d::::::::::::::::d  i::::in::::::::::::::nn  g:::::::::::::::::g
pp::::::ppppp::::::p           a::::ad:::::::ddddd:::::d d:::::::ddddd:::::d  i::::inn:::::::::::::::ng::::::ggggg::::::gg
 p:::::p     p:::::p    aaaaaaa:::::ad::::::d    d:::::d d::::::d    d:::::d  i::::i  n:::::nnnn:::::ng:::::g     g:::::g
 p:::::p     p:::::p  aa::::::::::::ad:::::d     d:::::d d:::::d     d:::::d  i::::i  n::::n    n::::ng:::::g     g:::::g
 p:::::p     p:::::p a::::aaaa::::::ad:::::d     d:::::d d:::::d     d:::::d  i::::i  n::::n    n::::ng:::::g     g:::::g
 p:::::p    p::::::pa::::a    a:::::ad:::::d     d:::::d d:::::d     d:::::d  i::::i  n::::n    n::::ng::::::g    g:::::g
 p:::::ppppp:::::::pa::::a    a:::::ad::::::ddddd::::::ddd::::::ddddd::::::ddi::::::i n::::n    n::::ng:::::::ggggg:::::g
 p::::::::::::::::p a:::::aaaa::::::a d:::::::::::::::::d d:::::::::::::::::di::::::i n::::n    n::::n g::::::::::::::::g
 p::::::::::::::pp   a::::::::::aa:::a d:::::::::ddd::::d  d:::::::::ddd::::di::::::i n::::n    n::::n  gg::::::::::::::g
 p::::::pppppppp      aaaaaaaaaa  aaaa  ddddddddd   ddddd   ddddddddd   dddddiiiiiiii nnnnnn    nnnnnn    gggggggg::::::g
 p:::::p                                                                                                          g:::::g
 p:::::p                                                                                              gggggg      g:::::g
p:::::::p                                                                                             g:::::gg   gg:::::g
p:::::::p                                                                                              g::::::ggg:::::::g
p:::::::p                                                                                               gg:::::::::::::g
ppppppppp                                                                                                 ggg::::::ggg
                                                                                                             gggggg

Padding

*/

.p-0 {
    padding: var(--zero-spacer) !important;
}

.pt-0,
.py-0 {
    padding-top: var(--zero-spacer) !important;
}

.pr-0,
.px-0 {
    padding-right: var(--zero-spacer) !important;
}

.pb-0,
.py-0 {
    padding-bottom: var(--zero-spacer) !important;
}

.pl-0,
.px-0 {
    padding-left: var(--zero-spacer) !important;
}

.p-1 {
    padding: var(--one-spacer) !important;
}

.pt-1,
.py-1 {
    padding-top: var(--one-spacer) !important;
}

.pr-1,
.px-1 {
    padding-right: var(--one-spacer) !important;
}

.pb-1,
.py-1 {
    padding-bottom: var(--one-spacer) !important;
}

.pl-1,
.px-1 {
    padding-left: var(--one-spacer) !important;
}

.p-2 {
    padding: var(--two-spacer) !important;
}

.pt-2,
.py-2 {
    padding-top: var(--two-spacer) !important;
}

.pr-2,
.px-2 {
    padding-right: var(--two-spacer) !important;
}

.pb-2,
.py-2 {
    padding-bottom: var(--two-spacer) !important;
}

.pl-2,
.px-2 {
    padding-left: var(--two-spacer) !important;
}

.p-3 {
    padding: var(--three-spacer) !important;
}

.pt-3,
.py-3 {
    padding-top: var(--three-spacer) !important;
}

.pr-3,
.px-3 {
    padding-right: var(--three-spacer) !important;
}

.pb-3,
.py-3 {
    padding-bottom: var(--three-spacer) !important;
}

.pl-3,
.px-3 {
    padding-left: var(--three-spacer) !important;
}

.p-4 {
    padding: var(--four-spacer) !important;
}

.pt-4,
.py-4 {
    padding-top: var(--four-spacer) !important;
}

.pr-4,
.px-4 {
    padding-right: var(--four-spacer) !important;
}

.pb-4,
.py-4 {
    padding-bottom: var(--four-spacer) !important;
}

.pl-4,
.px-4 {
    padding-left: var(--four-spacer) !important;
}

.p-5 {
    padding: var(--five-spacer) !important;
}

.pt-5,
.py-5 {
    padding-top: var(--five-spacer) !important;
}

.pr-5,
.px-5 {
    padding-right: var(--five-spacer) !important;
}

.pb-5,
.py-5 {
    padding-bottom: var(--five-spacer) !important;
}

.pl-5,
.px-5 {
    padding-left: var(--five-spacer) !important;
}

@media screen and (min-width: 576px) {
    .p-sm-0 {
        padding: var(--zero-spacer) !important;
    }

    .pt-sm-0,
    .py-sm-0 {
        padding-top: var(--zero-spacer) !important;
    }

    .pr-sm-0,
    .px-sm-0 {
        padding-right: var(--zero-spacer) !important;
    }

    .pb-sm-0,
    .py-sm-0 {
        padding-bottom: var(--zero-spacer) !important;
    }

    .pl-sm-0,
    .px-sm-0 {
        padding-left: var(--zero-spacer) !important;
    }

    .p-sm-1 {
        padding: var(--one-spacer) !important;
    }

    .pt-sm-1,
    .py-sm-1 {
        padding-top: var(--one-spacer) !important;
    }

    .pr-sm-1,
    .px-sm-1 {
        padding-right: var(--one-spacer) !important;
    }

    .pb-sm-1,
    .py-sm-1 {
        padding-bottom: var(--one-spacer) !important;
    }

    .pl-sm-1,
    .px-sm-1 {
        padding-left: var(--one-spacer) !important;
    }

    .p-sm-2 {
        padding: var(--two-spacer) !important;
    }

    .pt-sm-2,
    .py-sm-2 {
        padding-top: var(--two-spacer) !important;
    }

    .pr-sm-2,
    .px-sm-2 {
        padding-right: var(--two-spacer) !important;
    }

    .pb-sm-2,
    .py-sm-2 {
        padding-bottom: var(--two-spacer) !important;
    }

    .pl-sm-2,
    .px-sm-2 {
        padding-left: var(--two-spacer) !important;
    }

    .p-sm-3 {
        padding: var(--three-spacer) !important;
    }

    .pt-sm-3,
    .py-sm-3 {
        padding-top: var(--three-spacer) !important;
    }

    .pr-sm-3,
    .px-sm-3 {
        padding-right: var(--three-spacer) !important;
    }

    .pb-sm-3,
    .py-sm-3 {
        padding-bottom: var(--three-spacer) !important;
    }

    .pl-sm-3,
    .px-sm-3 {
        padding-left: var(--three-spacer) !important;
    }

    .p-sm-4 {
        padding: var(--four-spacer) !important;
    }

    .pt-sm-4,
    .py-sm-4 {
        padding-top: var(--four-spacer) !important;
    }

    .pr-sm-4,
    .px-sm-4 {
        padding-right: var(--four-spacer) !important;
    }

    .pb-sm-4,
    .py-sm-4 {
        padding-bottom: var(--four-spacer) !important;
    }

    .pl-sm-4,
    .px-sm-4 {
        padding-left: var(--four-spacer) !important;
    }

    .p-sm-5 {
        padding: var(--five-spacer) !important;
    }

    .pt-sm-5,
    .py-sm-5 {
        padding-top: var(--five-spacer) !important;
    }

    .pr-sm-5,
    .px-sm-5 {
        padding-right: var(--five-spacer) !important;
    }

    .pb-sm-5,
    .py-sm-5 {
        padding-bottom: var(--five-spacer) !important;
    }

    .pl-sm-5,
    .px-sm-5 {
        padding-left: var(--five-spacer) !important;
    }
}

@media screen and (min-width: 768px) {
    .p-md-0 {
        padding: var(--zero-spacer) !important;
    }

    .pt-md-0,
    .py-md-0 {
        padding-top: var(--zero-spacer) !important;
    }

    .pr-md-0,
    .px-md-0 {
        padding-right: var(--zero-spacer) !important;
    }

    .pb-md-0,
    .py-md-0 {
        padding-bottom: var(--zero-spacer) !important;
    }

    .pl-md-0,
    .px-md-0 {
        padding-left: var(--zero-spacer) !important;
    }

    .p-md-1 {
        padding: var(--one-spacer) !important;
    }

    .pt-md-1,
    .py-md-1 {
        padding-top: var(--one-spacer) !important;
    }

    .pr-md-1,
    .px-md-1 {
        padding-right: var(--one-spacer) !important;
    }

    .pb-md-1,
    .py-md-1 {
        padding-bottom: var(--one-spacer) !important;
    }

    .pl-md-1,
    .px-md-1 {
        padding-left: var(--one-spacer) !important;
    }

    .p-md-2 {
        padding: var(--two-spacer) !important;
    }

    .pt-md-2,
    .py-md-2 {
        padding-top: var(--two-spacer) !important;
    }

    .pr-md-2,
    .px-md-2 {
        padding-right: var(--two-spacer) !important;
    }

    .pb-md-2,
    .py-md-2 {
        padding-bottom: var(--two-spacer) !important;
    }

    .pl-md-2,
    .px-md-2 {
        padding-left: var(--two-spacer) !important;
    }

    .p-md-3 {
        padding: var(--three-spacer) !important;
    }

    .pt-md-3,
    .py-md-3 {
        padding-top: var(--three-spacer) !important;
    }

    .pr-md-3,
    .px-md-3 {
        padding-right: var(--three-spacer) !important;
    }

    .pb-md-3,
    .py-md-3 {
        padding-bottom: var(--three-spacer) !important;
    }

    .pl-md-3,
    .px-md-3 {
        padding-left: var(--three-spacer) !important;
    }

    .p-md-4 {
        padding: var(--four-spacer) !important;
    }

    .pt-md-4,
    .py-md-4 {
        padding-top: var(--four-spacer) !important;
    }

    .pr-md-4,
    .px-md-4 {
        padding-right: var(--four-spacer) !important;
    }

    .pb-md-4,
    .py-md-4 {
        padding-bottom: var(--four-spacer) !important;
    }

    .pl-md-4,
    .px-md-4 {
        padding-left: var(--four-spacer) !important;
    }

    .p-md-5 {
        padding: var(--five-spacer) !important;
    }

    .pt-md-5,
    .py-md-5 {
        padding-top: var(--five-spacer) !important;
    }

    .pr-md-5,
    .px-md-5 {
        padding-right: var(--five-spacer) !important;
    }

    .pb-md-5,
    .py-md-5 {
        padding-bottom: var(--five-spacer) !important;
    }

    .pl-md-5,
    .px-md-5 {
        padding-left: var(--five-spacer) !important;
    }
}

@media screen and (min-width: 992px) {
    .p-lg-0 {
        padding: var(--zero-spacer) !important;
    }

    .pt-lg-0,
    .py-lg-0 {
        padding-top: var(--zero-spacer) !important;
    }

    .pr-lg-0,
    .px-lg-0 {
        padding-right: var(--zero-spacer) !important;
    }

    .pb-lg-0,
    .py-lg-0 {
        padding-bottom: var(--zero-spacer) !important;
    }

    .pl-lg-0,
    .px-lg-0 {
        padding-left: var(--zero-spacer) !important;
    }

    .p-lg-1 {
        padding: var(--one-spacer) !important;
    }

    .pt-lg-1,
    .py-lg-1 {
        padding-top: var(--one-spacer) !important;
    }

    .pr-lg-1,
    .px-lg-1 {
        padding-right: var(--one-spacer) !important;
    }

    .pb-lg-1,
    .py-lg-1 {
        padding-bottom: var(--one-spacer) !important;
    }

    .pl-lg-1,
    .px-lg-1 {
        padding-left: var(--one-spacer) !important;
    }

    .p-lg-2 {
        padding: var(--two-spacer) !important;
    }

    .pt-lg-2,
    .py-lg-2 {
        padding-top: var(--two-spacer) !important;
    }

    .pr-lg-2,
    .px-lg-2 {
        padding-right: var(--two-spacer) !important;
    }

    .pb-lg-2,
    .py-lg-2 {
        padding-bottom: var(--two-spacer) !important;
    }

    .pl-lg-2,
    .px-lg-2 {
        padding-left: var(--two-spacer) !important;
    }

    .p-lg-3 {
        padding: var(--three-spacer) !important;
    }

    .pt-lg-3,
    .py-lg-3 {
        padding-top: var(--three-spacer) !important;
    }

    .pr-lg-3,
    .px-lg-3 {
        padding-right: var(--three-spacer) !important;
    }

    .pb-lg-3,
    .py-lg-3 {
        padding-bottom: var(--three-spacer) !important;
    }

    .pl-lg-3,
    .px-lg-3 {
        padding-left: var(--three-spacer) !important;
    }

    .p-lg-4 {
        padding: var(--four-spacer) !important;
    }

    .pt-lg-4,
    .py-lg-4 {
        padding-top: var(--four-spacer) !important;
    }

    .pr-lg-4,
    .px-lg-4 {
        padding-right: var(--four-spacer) !important;
    }

    .pb-lg-4,
    .py-lg-4 {
        padding-bottom: var(--four-spacer) !important;
    }

    .pl-lg-4,
    .px-lg-4 {
        padding-left: var(--four-spacer) !important;
    }

    .p-lg-5 {
        padding: var(--five-spacer) !important;
    }

    .pt-lg-5,
    .py-lg-5 {
        padding-top: var(--five-spacer) !important;
    }

    .pr-lg-5,
    .px-lg-5 {
        padding-right: var(--five-spacer) !important;
    }

    .pb-lg-5,
    .py-lg-5 {
        padding-bottom: var(--five-spacer) !important;
    }

    .pl-lg-5,
    .px-lg-5 {
        padding-left: var(--five-spacer) !important;
    }
}

@media screen and (min-width: 1200px) {
    .p-xl-0 {
        padding: var(--zero-spacer) !important;
    }

    .pt-xl-0,
    .py-xl-0 {
        padding-top: var(--zero-spacer) !important;
    }

    .pr-xl-0,
    .px-xl-0 {
        padding-right: var(--zero-spacer) !important;
    }

    .pb-xl-0,
    .py-xl-0 {
        padding-bottom: var(--zero-spacer) !important;
    }

    .pl-xl-0,
    .px-xl-0 {
        padding-left: var(--zero-spacer) !important;
    }

    .p-xl-1 {
        padding: var(--one-spacer) !important;
    }

    .pt-xl-1,
    .py-xl-1 {
        padding-top: var(--one-spacer) !important;
    }

    .pr-xl-1,
    .px-xl-1 {
        padding-right: var(--one-spacer) !important;
    }

    .pb-xl-1,
    .py-xl-1 {
        padding-bottom: var(--one-spacer) !important;
    }

    .pl-xl-1,
    .px-xl-1 {
        padding-left: var(--one-spacer) !important;
    }

    .p-xl-2 {
        padding: var(--two-spacer) !important;
    }

    .pt-xl-2,
    .py-xl-2 {
        padding-top: var(--two-spacer) !important;
    }

    .pr-xl-2,
    .px-xl-2 {
        padding-right: var(--two-spacer) !important;
    }

    .pb-xl-2,
    .py-xl-2 {
        padding-bottom: var(--two-spacer) !important;
    }

    .pl-xl-2,
    .px-xl-2 {
        padding-left: var(--two-spacer) !important;
    }

    .p-xl-3 {
        padding: var(--three-spacer) !important;
    }

    .pt-xl-3,
    .py-xl-3 {
        padding-top: var(--three-spacer) !important;
    }

    .pr-xl-3,
    .px-xl-3 {
        padding-right: var(--three-spacer) !important;
    }

    .pb-xl-3,
    .py-xl-3 {
        padding-bottom: var(--three-spacer) !important;
    }

    .pl-xl-3,
    .px-xl-3 {
        padding-left: var(--three-spacer) !important;
    }

    .p-xl-4 {
        padding: var(--four-spacer) !important;
    }

    .pt-xl-4,
    .py-xl-4 {
        padding-top: var(--four-spacer) !important;
    }

    .pr-xl-4,
    .px-xl-4 {
        padding-right: var(--four-spacer) !important;
    }

    .pb-xl-4,
    .py-xl-4 {
        padding-bottom: var(--four-spacer) !important;
    }

    .pl-xl-4,
    .px-xl-4 {
        padding-left: var(--four-spacer) !important;
    }

    .p-xl-5 {
        padding: var(--five-spacer) !important;
    }

    .pt-xl-5,
    .py-xl-5 {
        padding-top: var(--five-spacer) !important;
    }

    .pr-xl-5,
    .px-xl-5 {
        padding-right: var(--five-spacer) !important;
    }

    .pb-xl-5,
    .py-xl-5 {
        padding-bottom: var(--five-spacer) !important;
    }

    .pl-xl-5,
    .px-xl-5 {
        padding-left: var(--five-spacer) !important;
    }
}