/* nobootstrap.css — 替代 Bootstrap 3 的精简实现（栅格 + 常用组件 + glyphicon + modal）。
 * 仅覆盖本站实际用到的类，去除对 Bootstrap CSS/JS 框架的依赖。 */

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

/* ========== 栅格 ========== */
.container { margin-left: auto; margin-right: auto; padding-left: 15px; padding-right: 15px; }
.container-fluid { margin-left: auto; margin-right: auto; padding-left: 15px; padding-right: 15px; }
@media (min-width: 768px)  { .container { width: 750px; } }
@media (min-width: 992px)  { .container { width: 970px; } }
@media (min-width: 1200px) { .container { width: 1170px; } }

.row { margin-left: -15px; margin-right: -15px; }
.row::before, .row::after { content: " "; display: table; }
.row::after { clear: both; }

[class*="col-xs-"], [class*="col-sm-"], [class*="col-md-"], [class*="col-lg-"] {
  position: relative; min-height: 1px; padding-left: 15px; padding-right: 15px;
}
/* xs：始终生效 */
.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12 { float: left; }
.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%}
@media (min-width: 768px) {
  .col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12 { float: left; }
  .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%}
}
@media (min-width: 992px) {
  .col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12 { float: left; }
  .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%}
}
@media (min-width: 1200px) {
  .col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12 { float: left; }
  .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%}
}

/* ========== 按钮 ========== */
.btn {
  display: inline-block; padding: 6px 12px; margin-bottom: 0; font-size: 14px; font-weight: 400;
  line-height: 1.42857143; text-align: center; white-space: nowrap; vertical-align: middle;
  cursor: pointer; border: 1px solid transparent; border-radius: 4px; user-select: none; text-decoration: none;
}
.btn:hover, .btn:focus { text-decoration: none; }
.btn-default { color: #333; background: #fff; border-color: #ccc; }
.btn-default:hover { background: #e6e6e6; border-color: #adadad; }
.btn-primary { color: #fff; background: #337ab7; border-color: #2e6da4; }
.btn-primary:hover { color:#fff; background: #286090; border-color: #204d74; }
.btn-block { display: block; width: 100%; }
.btn[disabled], .btn.disabled { opacity: .65; cursor: not-allowed; }

/* ========== 表单 ========== */
.form-group { margin-bottom: 15px; }
.form-control {
  display: block; width: 100%; height: 34px; padding: 6px 12px; font-size: 14px; line-height: 1.42857143;
  color: #555; background: #fff; border: 1px solid #ccc; border-radius: 4px; box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
}
.form-control:focus { border-color: #66afe9; outline: 0; box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102,175,233,.6); }

/* ========== 面板 ========== */
.panel { margin-bottom: 20px; background: #fff; border: 1px solid #ddd; border-radius: 4px; box-shadow: 0 1px 1px rgba(0,0,0,.05); }
.panel-body { padding: 15px; }
.panel-heading { padding: 10px 15px; border-bottom: 1px solid #ddd; border-radius: 3px 3px 0 0; }
.panel-title { margin: 0; font-size: 16px; }
.panel-footer { padding: 10px 15px; background: #f5f5f5; border-top: 1px solid #ddd; border-radius: 0 0 3px 3px; }

/* ========== 徽标 ========== */
.badge {
  display: inline-block; min-width: 10px; padding: 3px 7px; font-size: 12px; font-weight: 700; line-height: 1;
  color: #fff; text-align: center; white-space: nowrap; vertical-align: middle; background: #777; border-radius: 10px;
}

/* ========== 表格 ========== */
.table { width: 100%; max-width: 100%; margin-bottom: 20px; border-collapse: collapse; }
.table > thead > tr > th, .table > tbody > tr > td, .table > tbody > tr > th, .table > thead > tr > td {
  padding: 8px; line-height: 1.42857143; vertical-align: top; border-top: 1px solid #ddd;
}
.table-bordered, .table-bordered > thead > tr > th, .table-bordered > tbody > tr > td { border: 1px solid #ddd; }

/* ========== 分页 ========== */
.pagination { display: inline-block; padding-left: 0; margin: 20px 0; border-radius: 4px; }
.pagination > li { display: inline; }
.pagination > li > a, .pagination > li > span {
  position: relative; float: left; padding: 6px 12px; margin-left: -1px; line-height: 1.42857143;
  color: #337ab7; text-decoration: none; background: #fff; border: 1px solid #ddd;
}
.pagination > li:first-child > a, .pagination > li:first-child > span { margin-left: 0; border-radius: 4px 0 0 4px; }
.pagination > li:last-child > a, .pagination > li:last-child > span { border-radius: 0 4px 4px 0; }
.pagination > li > a:hover { background: #eee; }
.pagination > .active > a, .pagination > .active > span { z-index: 2; color: #fff; background: #337ab7; border-color: #337ab7; cursor: default; }

/* ========== 导航条（最小） ========== */
.navbar { position: relative; min-height: 50px; margin-bottom: 20px; border: 1px solid transparent; }

/* ========== 通用工具类 ========== */
.text-center { text-align: center; }
.text-right { text-align: right; }
.pull-right { float: right !important; }
.pull-left { float: left !important; }
.hidden { display: none !important; }
.clearfix::before, .clearfix::after { content: " "; display: table; }
.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; }

/* ========== Glyphicons（沿用本地字体，仅声明用到的图标） ========== */
@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('/libs/bootstrap.3.3.7/fonts/glyphicons-halflings-regular.woff2') format('woff2'),
       url('/libs/bootstrap.3.3.7/fonts/glyphicons-halflings-regular.woff') format('woff'),
       url('/libs/bootstrap.3.3.7/fonts/glyphicons-halflings-regular.ttf') format('truetype');
  font-weight: normal; font-style: normal;
}
.glyphicon {
  position: relative; top: 1px; display: inline-block; font-family: 'Glyphicons Halflings';
  font-style: normal; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased;
}
.glyphicon-bookmark::before { content: "\e044"; }
.glyphicon-bullhorn::before { content: "\e258"; }
.glyphicon-earphone::before { content: "\e145"; }
.glyphicon-eye-open::before { content: "\e105"; }
.glyphicon-log-out::before { content: "\e163"; }
.glyphicon-menu-down::before { content: "\e259"; }
.glyphicon-menu-up::before { content: "\e260"; }
.glyphicon-qrcode::before { content: "\e144"; }
.glyphicon-save::before { content: "\e166"; }
.glyphicon-send::before { content: "\e171"; }
.glyphicon-tag::before { content: "\e041"; }
.glyphicon-th::before { content: "\e012"; }
.glyphicon-thumbs-up::before { content: "\e125"; }
.glyphicon-transfer::before { content: "\e178"; }

/* ========== Modal（替代 bootstrap.js 的弹窗样式） ========== */
.modal {
  display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1050;
  overflow: hidden; -webkit-overflow-scrolling: touch; outline: 0; background: rgba(0,0,0,.45);
}
.modal.in { display: block; }
.modal-open { overflow: hidden; }
.modal-dialog { position: relative; width: auto; margin: 10px; }
@media (min-width: 768px) { .modal-dialog { width: 600px; margin: 30px auto; } }
.modal-content {
  position: relative; background: #fff; border: 1px solid rgba(0,0,0,.2); border-radius: 6px;
  box-shadow: 0 3px 9px rgba(0,0,0,.5); background-clip: padding-box;
}
.modal-header { padding: 15px; border-bottom: 1px solid #e5e5e5; }
.modal-header .close { float: right; font-size: 21px; font-weight: 700; line-height: 1; color: #000; opacity: .2; background: none; border: 0; cursor: pointer; }
.modal-header .close:hover { opacity: .5; }
.modal-title { margin: 0; line-height: 1.42857143; font-size: 18px; }
.modal-body { position: relative; padding: 15px; }
.modal-footer { padding: 15px; text-align: right; border-top: 1px solid #e5e5e5; }
.close { font-size: 21px; font-weight: 700; line-height: 1; color: #000; opacity: .2; background: none; border: 0; cursor: pointer; }
.close:hover { opacity: .5; }

/* ========== 其它常用类 ========== */
.text-muted { color: #777; }

/* media 对象 */
.media { display: flex; align-items: flex-start; margin-top: 15px; }
.media:first-child { margin-top: 0; }
.media-left { padding-right: 10px; }
.media-right { padding-left: 10px; }
.media-body { flex: 1; min-width: 0; }
.media-object { display: block; }
.media-heading { margin: 0 0 5px; }

/* input-group */
.input-group { display: flex; width: 100%; }
.input-group .form-control { flex: 1 1 auto; width: 1%; }
.input-group-addon { padding: 6px 12px; font-size: 14px; color: #555; text-align: center; background: #eee; border: 1px solid #ccc; }
.input-group-btn { display: flex; align-items: stretch; }

/* thumbnail */
.thumbnail { display: block; padding: 4px; background: #fff; border: 1px solid #ddd; border-radius: 4px; }
.thumbnail > img { display: block; max-width: 100%; height: auto; }

/* col 偏移 */
@media (min-width: 768px) {
  .col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-6{margin-left:50%}
}
@media (min-width: 992px) {
  .col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-6{margin-left:50%}
}

/* 响应式显隐 */
@media (max-width: 767px) { .hidden-xs { display: none !important; } }
@media (min-width: 768px) and (max-width: 991px) { .hidden-sm { display: none !important; } }
.visible-xs { display: none !important; }
@media (max-width: 767px) { .visible-xs { display: block !important; } }
