*, ::before, ::after { box-sizing: border-box }
body { margin: 0 }
button, input, select, textarea { font: inherit }
button { cursor: pointer }
img { vertical-align: middle; max-width: 100% }
a { text-decoration: none }
.container, .container-fluid { width: 100%; padding-inline: 15px; margin-inline: auto }
.row { display: flex; flex-wrap: wrap; margin-inline: -15px }
:where(.row > [class*="col-"]) { min-width: 0; width: 100%; padding-inline: 15px }
.d-flex { display: flex }
.d-block { display: block }
.d-none, [hidden] { display: none !important }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap }
.align-items-center { align-items: center }
.align-items-end { align-items: flex-end }
.justify-content-between { justify-content: space-between }
.justify-content-center { justify-content: center }
.text-center { text-align: center }
.w-100 { width: 100% }
.mb-2 { margin-bottom: .5rem }
.mb-3 { margin-bottom: 1rem }
.mb-5 { margin-bottom: 3rem }
.mt-3 { margin-top: 1rem }
.pb-4 { padding-bottom: 1.5rem }
.form-group { margin-bottom: 1rem }
.input-group { display: flex; width: 100%; align-items: stretch }
.input-group > .form-control { min-width: 0; flex: 1 }
.input-group-text { display: flex; align-items: center; padding: .5rem .75rem; margin: 0; color: #343a40; background: #e9ecef; border: 1px solid #ced4da }
.form-control { display: block; width: 100%; background: #fff; color: #343a40; padding: .375rem .75rem; border: 1px solid #ced4da }
textarea.form-control { height: auto }
.custom-file { display: grid; gap: .25rem }
.custom-file-label { grid-row: 1 }
.custom-file-input { max-width: 100% }
@media (min-width: 576px) {
  .container { max-width: 540px }
  .d-sm-block { display: block !important }
  .col-sm-4 { width: 33.333% }
  .col-sm-5 { width: 41.667% }
  .col-sm-6 { width: 50% }
  .col-sm-7 { width: 58.333% }
  .col-sm-8 { width: 66.667% }
}
@media (min-width: 768px) {
  .container { max-width: 720px }
  .col-md-1 { width: 8.333% }
  .col-md-3 { width: 25% }
  .col-md-4 { width: 33.333% }
  .col-md-6 { width: 50% }
  .col-md-8 { width: 66.667% }
  .col-md-10 { width: 83.333% }
}
@media (min-width: 992px) {
  .container { max-width: 960px }
  .d-lg-block { display: block !important }
  .d-lg-none { display: none !important }
  .col-lg-2 { width: 16.667% }
  .col-lg-3 { width: 25% }
  .col-lg-4 { width: 33.333% }
  .col-lg-6 { width: 50% }
  .col-lg-8 { width: 66.667% }
  .col-lg-9 { width: 75% }
  .col-lg-11 { width: 91.667% }
  .offset-lg-1 { margin-inline-start: 8.333% }
}
@media (min-width: 1200px) {
  .container { max-width: 1140px }
  .col-xl-2 { width: 16.667% }
  .col-xl-4 { width: 33.333% }
  .col-xl-6 { width: 50% }
  .col-xl-8 { width: 66.667% }
  .col-xl-10 { width: 83.333% }
  .offset-xl-1 { margin-inline-start: 8.333% }
}
