/* Bootstrap Critical — only classes used in header + homepage above-the-fold */
/* Full bootstrap.min.css loads async after first paint */

*,::after,::before{box-sizing:border-box}

/* Container */
.container{width:100%;padding-right:.75rem;padding-left:.75rem;margin-right:auto;margin-left:auto}
@media(min-width:576px){.container{max-width:540px}}
@media(min-width:768px){.container{max-width:720px}}
@media(min-width:992px){.container{max-width:960px}}
@media(min-width:1200px){.container{max-width:1140px}}
@media(min-width:1400px){.container{max-width:1320px}}

/* Row & Grid */
.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1*var(--bs-gutter-y));margin-right:calc(-.5*var(--bs-gutter-x));margin-left:calc(-.5*var(--bs-gutter-x))}
.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-top:var(--bs-gutter-y)}
.g-0{--bs-gutter-x:0;--bs-gutter-y:0}
.g-4{--bs-gutter-x:1.5rem;--bs-gutter-y:1.5rem}
.gap-2{gap:.5rem!important}
.gap-3{gap:1rem!important}

/* Columns */
.col-12{flex:0 0 auto;width:100%}
@media(min-width:576px){.col-sm-12{flex:0 0 auto;width:100%}}
@media(min-width:768px){.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-12{flex:0 0 auto;width:100%}}
@media(min-width:992px){.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-8{flex:0 0 auto;width:66.66666667%}}
@media(min-width:1200px){.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-6{flex:0 0 auto;width:50%}}

/* Display */
.d-block{display:block!important}
.d-flex{display:flex!important}
.d-inline-flex{display:inline-flex!important}
.d-none{display:none!important}

/* Flex utilities */
.flex-column{flex-direction:column!important}
.flex-wrap{flex-wrap:wrap!important}
@media(min-width:768px){.flex-md-row{flex-direction:row!important}}

/* Alignment */
.align-items-center{align-items:center!important}
.align-items-start{align-items:flex-start!important}
@media(min-width:768px){.align-items-md-end{align-items:flex-end!important}}

/* Justify */
.justify-content-between{justify-content:space-between!important}
.justify-content-center{justify-content:center!important}

/* Spacing */
.mb-0{margin-bottom:0!important}
.mb-4{margin-bottom:1.5rem!important}
.mb-5{margin-bottom:3rem!important}
.w-100{width:100%!important}

/* Position */
.position-relative{position:relative!important}

/* Text */
.text-center{text-align:center!important}
.fw-bold{font-weight:700!important}
