/* bootstrap-lite.css
   Minimal subset to support Digex homepage markup when CDN Bootstrap is unavailable.
   Covers: grid (container-fluid/row/col-*), display utilities, spacing utilities used,
   offcanvas (basic), buttons close, and responsive breakpoints: sm (576), lg (992), xl (1200).
*/

:root{
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
}

/* containers */
.container-fluid{ width:100%; padding-right:0; padding-left:0; margin-right:auto; margin-left:auto; }

/* grid */
.row{
  display:flex;
  flex-wrap:wrap;
  margin-right: calc(var(--bs-gutter-x) * -0.5);
  margin-left:  calc(var(--bs-gutter-x) * -0.5);
  margin-top:   calc(var(--bs-gutter-y) * -1);
}
.row > *{
  box-sizing:border-box;
  flex-shrink:0;
  width:100%;
  max-width:100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left:  calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

/* col base */
.col-12{ flex: 0 0 auto; width:100%; }

/* responsive cols */
@media (min-width: 992px){
  .col-lg-3{ flex:0 0 auto; width:25%; }
  .col-lg-9{ flex:0 0 auto; width:75%; }
  .col-lg-5{ flex:0 0 auto; width:41.6666667%; }
  .col-lg-7{ flex:0 0 auto; width:58.3333333%; }
}
@media (min-width: 1200px){
  .col-xl-2{ flex:0 0 auto; width:16.6666667%; }
  .col-xl-10{ flex:0 0 auto; width:83.3333333%; }
}

/* gaps */
.g-0{ --bs-gutter-x:0; --bs-gutter-y:0; }
.g-4{ --bs-gutter-x:1.5rem; --bs-gutter-y:1.5rem; }

/* spacing (only what is used) */
.px-0{ padding-left:0!important; padding-right:0!important; }
.mt-3{ margin-top:1rem!important; }
.mb-0{ margin-bottom:0!important; }
.mb-2{ margin-bottom:.5rem!important; }
.mb-3{ margin-bottom:1rem!important; }

/* flex & alignment */
.d-flex{ display:flex!important; }
.d-none{ display:none!important; }
.align-items-center{ align-items:center!important; }
.justify-content-between{ justify-content:space-between!important; }
.gap-2{ gap:.5rem!important; }

@media (min-width: 576px){
  .d-sm-inline{ display:inline!important; }
}
@media (min-width: 992px){
  .d-lg-none{ display:none!important; }
  .d-lg-flex{ display:flex!important; }
}

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

/* btn-close (simple) */
.btn-close{
  box-sizing:content-box;
  width:1em;
  height:1em;
  padding:.25em .25em;
  color:#000;
  background:transparent;
  border:0;
  border-radius:.375rem;
  opacity:.5;
}
.btn-close:hover{ opacity:.75; cursor:pointer; }
.btn-close::before{
  content:"×";
  display:block;
  line-height:1;
  font-size:1.5rem;
  margin-top:-.2rem;
}

/* offcanvas */
.offcanvas{
  position:fixed;
  bottom:0;
  z-index:1045;
  display:flex;
  flex-direction:column;
  max-width:100%;
  visibility:hidden;
  background:#fff;
  outline:0;
  transition: transform .2s ease-in-out, visibility .2s ease-in-out;
}
.offcanvas-start{
  top:0;
  left:0;
  width: 320px;
  transform: translateX(-100%);
}
.offcanvas.show{
  visibility:visible;
  transform: translateX(0);
}
.offcanvas-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1rem 1rem .5rem 1rem;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.offcanvas-body{
  flex:1 1 auto;
  padding:1rem;
  overflow-y:auto;
}

/* backdrop */
.offcanvas-backdrop{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.45);
  z-index:1040;
  opacity:0;
  transition: opacity .2s ease-in-out;
}
.offcanvas-backdrop.show{ opacity:1; }

