/* rd-grid.css — Bootstrap 3 grid layout only. No typography, no resets.
   Drop-in replacement for bootstrap.min.css on pages that need grid columns
   but should inherit all type styling from rd-theme.css. */

/* Row clearfix */
.row::before,
.row::after { display: table; content: " "; }
.row::after { clear: both; }

/* Column base */
[class*="col-xs-"],
[class*="col-sm-"],
[class*="col-md-"],
[class*="col-lg-"] {
  position: relative;
  min-height: 1px;
  float: left;
  box-sizing: border-box;
}

/* ── XS columns (always active) ─────────────────────────────────────────── */
.col-xs-12 { width: 100%; }
.col-xs-11 { width: 91.66666667%; }
.col-xs-10 { width: 83.33333333%; }
.col-xs-9  { width: 75%; }
.col-xs-8  { width: 66.66666667%; }
.col-xs-7  { width: 58.33333333%; }
.col-xs-6  { width: 50%; }
.col-xs-5  { width: 41.66666667%; }
.col-xs-4  { width: 33.33333333%; }
.col-xs-3  { width: 25%; }
.col-xs-2  { width: 16.66666667%; }
.col-xs-1  { width: 8.33333333%; }
.col-xs-offset-12 { margin-left: 100%; }
.col-xs-offset-11 { margin-left: 91.66666667%; }
.col-xs-offset-10 { margin-left: 83.33333333%; }
.col-xs-offset-9  { margin-left: 75%; }
.col-xs-offset-8  { margin-left: 66.66666667%; }
.col-xs-offset-7  { margin-left: 58.33333333%; }
.col-xs-offset-6  { margin-left: 50%; }
.col-xs-offset-5  { margin-left: 41.66666667%; }
.col-xs-offset-4  { margin-left: 33.33333333%; }
.col-xs-offset-3  { margin-left: 25%; }
.col-xs-offset-2  { margin-left: 16.66666667%; }
.col-xs-offset-1  { margin-left: 8.33333333%; }
.col-xs-offset-0  { margin-left: 0; }

/* ── SM columns (≥768px) ─────────────────────────────────────────────────── */
@media (min-width: 768px) {
  .col-sm-12 { width: 100%; }
  .col-sm-11 { width: 91.66666667%; }
  .col-sm-10 { width: 83.33333333%; }
  .col-sm-9  { width: 75%; }
  .col-sm-8  { width: 66.66666667%; }
  .col-sm-7  { width: 58.33333333%; }
  .col-sm-6  { width: 50%; }
  .col-sm-5  { width: 41.66666667%; }
  .col-sm-4  { width: 33.33333333%; }
  .col-sm-3  { width: 25%; }
  .col-sm-2  { width: 16.66666667%; }
  .col-sm-1  { width: 8.33333333%; }
  .col-sm-offset-12 { margin-left: 100%; }
  .col-sm-offset-11 { margin-left: 91.66666667%; }
  .col-sm-offset-10 { margin-left: 83.33333333%; }
  .col-sm-offset-9  { margin-left: 75%; }
  .col-sm-offset-8  { margin-left: 66.66666667%; }
  .col-sm-offset-7  { margin-left: 58.33333333%; }
  .col-sm-offset-6  { margin-left: 50%; }
  .col-sm-offset-5  { margin-left: 41.66666667%; }
  .col-sm-offset-4  { margin-left: 33.33333333%; }
  .col-sm-offset-3  { margin-left: 25%; }
  .col-sm-offset-2  { margin-left: 16.66666667%; }
  .col-sm-offset-1  { margin-left: 8.33333333%; }
  .col-sm-offset-0  { margin-left: 0; }
}

/* ── MD columns (≥992px) ─────────────────────────────────────────────────── */
@media (min-width: 992px) {
  .col-md-12 { width: 100%; }
  .col-md-11 { width: 91.66666667%; }
  .col-md-10 { width: 83.33333333%; }
  .col-md-9  { width: 75%; }
  .col-md-8  { width: 66.66666667%; }
  .col-md-7  { width: 58.33333333%; }
  .col-md-6  { width: 50%; }
  .col-md-5  { width: 41.66666667%; }
  .col-md-4  { width: 33.33333333%; }
  .col-md-3  { width: 25%; }
  .col-md-2  { width: 16.66666667%; }
  .col-md-1  { width: 8.33333333%; }
  .col-md-offset-12 { margin-left: 100%; }
  .col-md-offset-11 { margin-left: 91.66666667%; }
  .col-md-offset-10 { margin-left: 83.33333333%; }
  .col-md-offset-9  { margin-left: 75%; }
  .col-md-offset-8  { margin-left: 66.66666667%; }
  .col-md-offset-7  { margin-left: 58.33333333%; }
  .col-md-offset-6  { margin-left: 50%; }
  .col-md-offset-5  { margin-left: 41.66666667%; }
  .col-md-offset-4  { margin-left: 33.33333333%; }
  .col-md-offset-3  { margin-left: 25%; }
  .col-md-offset-2  { margin-left: 16.66666667%; }
  .col-md-offset-1  { margin-left: 8.33333333%; }
  .col-md-offset-0  { margin-left: 0; }
}

/* ── LG columns (≥1200px) ────────────────────────────────────────────────── */
@media (min-width: 1200px) {
  .col-lg-12 { width: 100%; }
  .col-lg-11 { width: 91.66666667%; }
  .col-lg-10 { width: 83.33333333%; }
  .col-lg-9  { width: 75%; }
  .col-lg-8  { width: 66.66666667%; }
  .col-lg-7  { width: 58.33333333%; }
  .col-lg-6  { width: 50%; }
  .col-lg-5  { width: 41.66666667%; }
  .col-lg-4  { width: 33.33333333%; }
  .col-lg-3  { width: 25%; }
  .col-lg-2  { width: 16.66666667%; }
  .col-lg-1  { width: 8.33333333%; }
  .col-lg-offset-12 { margin-left: 100%; }
  .col-lg-offset-11 { margin-left: 91.66666667%; }
  .col-lg-offset-10 { margin-left: 83.33333333%; }
  .col-lg-offset-9  { margin-left: 75%; }
  .col-lg-offset-8  { margin-left: 66.66666667%; }
  .col-lg-offset-7  { margin-left: 58.33333333%; }
  .col-lg-offset-6  { margin-left: 50%; }
  .col-lg-offset-5  { margin-left: 41.66666667%; }
  .col-lg-offset-4  { margin-left: 33.33333333%; }
  .col-lg-offset-3  { margin-left: 25%; }
  .col-lg-offset-2  { margin-left: 16.66666667%; }
  .col-lg-offset-1  { margin-left: 8.33333333%; }
  .col-lg-offset-0  { margin-left: 0; }
}

/* ── Responsive visibility utilities ─────────────────────────────────────── */
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg { display: none !important; }

@media (max-width: 767px) {
  .visible-xs { display: block !important; }
  .hidden-xs  { display: none  !important; }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm { display: block !important; }
  .hidden-sm  { display: none  !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md { display: block !important; }
  .hidden-md  { display: none  !important; }
}
@media (min-width: 1200px) {
  .visible-lg { display: block !important; }
  .hidden-lg  { display: none  !important; }
}

.hidden { display: none !important; }

/* ── Text & layout utilities ─────────────────────────────────────────────── */
.text-center { text-align: center; }
.text-right  { text-align: right; }
.text-left   { text-align: left; }
.pull-left   { float: left  !important; }
.pull-right  { float: right !important; }
.clearfix::before,
.clearfix::after { display: table; content: " "; }
.clearfix::after { clear: both; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}
