/* =========================================================
   Bootstrap 3 overrides + utilities + XL grid (>=1500px)
   ========================================================= */

/* Links (teal theme) */
a { color: #1ea2b1; text-decoration: none; }
a:hover, a:focus { color: #136670; text-decoration: underline; }

/* Text/bg (primary = teal) */
.text-primary { color: #1ea2b1; }
.bg-primary { color: #fff; background-color: #1ea2b1; }
a.bg-primary:hover, a.bg-primary:focus { background-color: #177a85; }

/* Buttons */
.btn-link { color: #1ea2b1; }
.btn-link:hover, .btn-link:focus { color: #136670; }

.btn-primary {
  color: #fff;
  background-color: #1ea2b1;
  border-color: #1a8e9b;
}
.btn-primary:hover {
  color: #fff;
  background-color: #177a85;
  border-color: #115e67;
}
.btn-primary:focus,
.btn-primary.focus {
  color: #fff;
  background-color: #177a85;
  border-color: #082a2e;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #177a85;
  border-color: #115e67;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
  color: #fff;
  background-color: #115e67;
  border-color: #082a2e;
}
.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary {
  background-color: #1ea2b1;
  border-color: #1a8e9b;
}
.btn-primary .badge { color: #1ea2b1; background-color: #fff; }

/* Labels */
.label-primary { background-color: #1ea2b1; }
.label-primary[href]:hover,
.label-primary[href]:focus { background-color: #177a85; }

/* Dropdowns */
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #fff;
  background-color: #1ea2b1;
}

/* Open nav items (teal border) */
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus { border-color: #1ea2b1; }

/* Thumbnails */
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active { border-color: #1ea2b1; }

/* Pagination */
.pagination > li > a,
.pagination > li > span { color: #1ea2b1; }
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus { color: #136670; }
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  color: #fff;
  background-color: #1ea2b1;
  border-color: #1ea2b1;
}

/* Progress */
.progress-bar { background-color: #1ea2b1; }

/* Tables: vertical align middle */
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  vertical-align: middle;
}

/* Inputs: do not darken disabled checkbox/radio */
input[type="checkbox"]:disabled,
input[type="radio"]:disabled {
  filter: brightness(1.0);
}

/* Range input spans full width */
input[type="range"] {
  display: block;
  width: 100%;
}

/* Bold label + tiny vertical tweak for checkbox and radio (inline) */
label.checkbox-inline,
label.radio-inline {
  font-weight: 700 !important;
}

label.checkbox-inline > input[type="checkbox"],
label.radio-inline    > input[type="radio"] {
  vertical-align: middle;
  position: relative;   /* keep in flow; only nudge with top */
  top: -1px;            /* adjust to taste (-2px if needed) */
  margin-top: 0;
}

/* ---------------------------------------------------------
   Custom breakpoint: enable sm grid from 728px (not 768px)
   --------------------------------------------------------- */
@media (min-width: 728px) {
  .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%; }

  .col-sm-pull-12 { right: 100%; }
  .col-sm-pull-11 { right: 91.66666667%; }
  .col-sm-pull-10 { right: 83.33333333%; }
  .col-sm-pull-9  { right: 75%; }
  .col-sm-pull-8  { right: 66.66666667%; }
  .col-sm-pull-7  { right: 58.33333333%; }
  .col-sm-pull-6  { right: 50%; }
  .col-sm-pull-5  { right: 41.66666667%; }
  .col-sm-pull-4  { right: 33.33333333%; }
  .col-sm-pull-3  { right: 25%; }
  .col-sm-pull-2  { right: 16.66666667%; }
  .col-sm-pull-1  { right: 8.33333333%; }
  .col-sm-pull-0  { right: auto; }

  .col-sm-push-12 { left: 100%; }
  .col-sm-push-11 { left: 91.66666667%; }
  .col-sm-push-10 { left: 83.33333333%; }
  .col-sm-push-9  { left: 75%; }
  .col-sm-push-8  { left: 66.66666667%; }
  .col-sm-push-7  { left: 58.33333333%; }
  .col-sm-push-6  { left: 50%; }
  .col-sm-push-5  { left: 41.66666667%; }
  .col-sm-push-4  { left: 33.33333333%; }
  .col-sm-push-3  { left: 25%; }
  .col-sm-push-2  { left: 16.66666667%; }
  .col-sm-push-1  { left: 8.33333333%; }
  .col-sm-push-0  { left: auto; }

  .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; }
}

/* Modal XL helper */
@media (min-width: 992px) {
  .modal-xl {
    width: 95%;
    max-width: 1050px;
  }
}

/* ---------------------------------------------------------
   XL Grid (>=1500px)  moved in from bootstrap_xl_grid.css
   --------------------------------------------------------- */

/* Hide .hidden-lg between 11001499px (kept from original helper) */
@media (min-width: 1100px) and (max-width: 1499px) {
  .hidden-lg { display: none !important; }
}

/* Default: XL visibility is hidden unless in >=1500px media */
.visible-xl-block,
.visible-xl-inline,
.visible-xl-inline-block,
.visible-xl {
  display: none !important;
}

/* Main XL grid */
@media (min-width: 1600px) {
  .container { width: 1570px; }

  .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6,
  .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12 { float: left; }

  .col-xl-12 { width: 100%; }
  .col-xl-11 { width: 91.66666667%; }
  .col-xl-10 { width: 83.33333333%; }
  .col-xl-9  { width: 75%; }
  .col-xl-8  { width: 66.66666667%; }
  .col-xl-7  { width: 58.33333333%; }
  .col-xl-6  { width: 50%; }
  .col-xl-5  { width: 41.66666667%; }
  .col-xl-4  { width: 33.33333333%; }
  .col-xl-3  { width: 25%; }
  .col-xl-2  { width: 16.66666667%; }
  .col-xl-1  { width: 8.33333333%; }

  .col-xl-pull-12 { right: 100%; }
  .col-xl-pull-11 { right: 91.66666667%; }
  .col-xl-pull-10 { right: 83.33333333%; }
  .col-xl-pull-9  { right: 75%; }
  .col-xl-pull-8  { right: 66.66666667%; }
  .col-xl-pull-7  { right: 58.33333333%; }
  .col-xl-pull-6  { right: 50%; }
  .col-xl-pull-5  { right: 41.66666667%; }
  .col-xl-pull-4  { right: 33.33333333%; }
  .col-xl-pull-3  { right: 25%; }
  .col-xl-pull-2  { right: 16.66666667%; }
  .col-xl-pull-1  { right: 8.33333333%; }
  .col-xl-pull-0  { right: auto; }

  .col-xl-push-12 { left: 100%; }
  .col-xl-push-11 { left: 91.66666667%; }
  .col-xl-push-10 { left: 83.33333333%; }
  .col-xl-push-9  { left: 75%; }
  .col-xl-push-8  { left: 66.66666667%; }
  .col-xl-push-7  { left: 58.33333333%; }
  .col-xl-push-6  { left: 50%; }
  .col-xl-push-5  { left: 41.66666667%; }
  .col-xl-push-4  { left: 33.33333333%; }
  .col-xl-push-3  { left: 25%; }
  .col-xl-push-2  { left: 16.66666667%; }
  .col-xl-push-1  { left: 8.33333333%; }
  .col-xl-push-0  { left: auto; }

  .col-xl-offset-12 { margin-left: 100%; }
  .col-xl-offset-11 { margin-left: 91.66666667%; }
  .col-xl-offset-10 { margin-left: 83.33333333%; }
  .col-xl-offset-9  { margin-left: 75%; }
  .col-xl-offset-8  { margin-left: 66.66666667%; }
  .col-xl-offset-7  { margin-left: 58.33333333%; }
  .col-xl-offset-6  { margin-left: 50%; }
  .col-xl-offset-5  { margin-left: 41.66666667%; }
  .col-xl-offset-4  { margin-left: 33.33333333%; }
  .col-xl-offset-3  { margin-left: 25%; }
  .col-xl-offset-2  { margin-left: 16.66666667%; }
  .col-xl-offset-1  { margin-left: 8.33333333%; }
  .col-xl-offset-0  { margin-left: 0; }

  .visible-xl { display: block !important; }
  table.visible-xl { display: table; }
  tr.visible-xl { display: table-row !important; }
  th.visible-xl, td.visible-xl { display: table-cell !important; }

  .visible-xl-block { display: block !important; }
  .visible-xl-inline { display: inline !important; }
  .visible-xl-inline-block { display: inline-block !important; }

  .hidden-xl { display: none !important; }
}

/* 1) Remove the pressed/inset shadow (keep your hover) */
.btn:active,
.btn.active,
.open > .dropdown-toggle.btn,
.btn-group[data-toggle="buttons"] label.btn:active,
.btn-group[data-toggle="buttons"] label.btn.active {
  box-shadow: none !important;
  background-image: none !important;
}

/* 2) Remove focus outline/shadow on buttons AND BS3's .focus class */
.btn:focus,
.btn.focus,
.open > .dropdown-toggle.btn:focus,
.open > .dropdown-toggle.btn.focus,
.btn-group[data-toggle="buttons"] label.btn:focus,
.btn-group[data-toggle="buttons"] label.btn.focus {
  outline: none !important;
  box-shadow: none !important;
}

/* Also kill focus ring on the inner inputs inside label buttons */
.btn-group[data-toggle="buttons"] label.btn input[type="radio"]:focus,
.btn-group[data-toggle="buttons"] label.btn input[type="checkbox"]:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* 3) Prevent "focus-only" darkening for btn-default (normal + label) */
.btn-default:focus:not(:hover),
.btn-default.focus:not(:hover),
.btn-group[data-toggle="buttons"] label.btn-default:focus:not(:hover),
.btn-group[data-toggle="buttons"] label.btn-default.focus:not(:hover) {
  background-color: #fff !important;
  border-color: #ccc !important;
}

/* If active + focused (not hovered), keep the active color */
.btn-default.active:focus:not(:hover),
.btn-default.active.focus:not(:hover),
.open > .dropdown-toggle.btn-default:focus:not(:hover),
.open > .dropdown-toggle.btn-default.focus:not(:hover),
.btn-group[data-toggle="buttons"] label.btn-default.active:focus:not(:hover),
.btn-group[data-toggle="buttons"] label.btn-default.active.focus:not(:hover) {
  background-color: #e6e6e6 !important;
  border-color: #adadad !important;
}



